diff --git a/packages/i18n/dist-node/main_node.cjs b/packages/i18n/dist-node/main_node.cjs new file mode 100644 index 00000000..2d7e631e --- /dev/null +++ b/packages/i18n/dist-node/main_node.cjs @@ -0,0 +1,293081 @@ +#!/usr/bin/env node +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ 9788 +(module) { + +// given an input that may or may not be an object, return an object that has +// a copy of every defined property listed in 'copy'. if the input is not an +// object, assign it to the property named by 'wrap' +const getOptions = (input, { copy, wrap }) => { + const result = {} + + if (input && typeof input === 'object') { + for (const prop of copy) { + if (input[prop] !== undefined) { + result[prop] = input[prop] + } + } + } else { + result[wrap] = input + } + + return result +} + +module.exports = getOptions + + +/***/ }, + +/***/ 28403 +(module, __unused_webpack_exports, __webpack_require__) { + +const semver = __webpack_require__(95248) + +const satisfies = (range) => { + return semver.satisfies(process.version, range, { includePrerelease: true }) +} + +module.exports = { + satisfies, +} + + +/***/ }, + +/***/ 96386 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +const { inspect } = __webpack_require__(39023) + +// adapted from node's internal/errors +// https://github.com/nodejs/node/blob/c8a04049/lib/internal/errors.js + +// close copy of node's internal SystemError class. +class SystemError { + constructor (code, prefix, context) { + // XXX context.code is undefined in all constructors used in cp/polyfill + // that may be a bug copied from node, maybe the constructor should use + // `code` not `errno`? nodejs/node#41104 + let message = `${prefix}: ${context.syscall} returned ` + + `${context.code} (${context.message})` + + if (context.path !== undefined) { + message += ` ${context.path}` + } + if (context.dest !== undefined) { + message += ` => ${context.dest}` + } + + this.code = code + Object.defineProperties(this, { + name: { + value: 'SystemError', + enumerable: false, + writable: true, + configurable: true, + }, + message: { + value: message, + enumerable: false, + writable: true, + configurable: true, + }, + info: { + value: context, + enumerable: true, + configurable: true, + writable: false, + }, + errno: { + get () { + return context.errno + }, + set (value) { + context.errno = value + }, + enumerable: true, + configurable: true, + }, + syscall: { + get () { + return context.syscall + }, + set (value) { + context.syscall = value + }, + enumerable: true, + configurable: true, + }, + }) + + if (context.path !== undefined) { + Object.defineProperty(this, 'path', { + get () { + return context.path + }, + set (value) { + context.path = value + }, + enumerable: true, + configurable: true, + }) + } + + if (context.dest !== undefined) { + Object.defineProperty(this, 'dest', { + get () { + return context.dest + }, + set (value) { + context.dest = value + }, + enumerable: true, + configurable: true, + }) + } + } + + toString () { + return `${this.name} [${this.code}]: ${this.message}` + } + + [Symbol.for('nodejs.util.inspect.custom')] (_recurseTimes, ctx) { + return inspect(this, { + ...ctx, + getters: true, + customInspect: false, + }) + } +} + +function E (code, message) { + module.exports[code] = class NodeError extends SystemError { + constructor (ctx) { + super(code, message, ctx) + } + } +} + +E('ERR_FS_CP_DIR_TO_NON_DIR', 'Cannot overwrite directory with non-directory') +E('ERR_FS_CP_EEXIST', 'Target already exists') +E('ERR_FS_CP_EINVAL', 'Invalid src or dest') +E('ERR_FS_CP_FIFO_PIPE', 'Cannot copy a FIFO pipe') +E('ERR_FS_CP_NON_DIR_TO_DIR', 'Cannot overwrite non-directory with directory') +E('ERR_FS_CP_SOCKET', 'Cannot copy a socket file') +E('ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY', 'Cannot overwrite symlink in subdirectory of self') +E('ERR_FS_CP_UNKNOWN', 'Cannot copy an unknown file type') +E('ERR_FS_EISDIR', 'Path is a directory') + +module.exports.ERR_INVALID_ARG_TYPE = class ERR_INVALID_ARG_TYPE extends Error { + constructor (name, expected, actual) { + super() + this.code = 'ERR_INVALID_ARG_TYPE' + this.message = `The ${name} argument must be ${expected}. Received ${typeof actual}` + } +} + + +/***/ }, + +/***/ 14829 +(module, __unused_webpack_exports, __webpack_require__) { + +const fs = __webpack_require__(91943) +const getOptions = __webpack_require__(9788) +const node = __webpack_require__(28403) +const polyfill = __webpack_require__(74346) + +// node 16.7.0 added fs.cp +const useNative = node.satisfies('>=16.7.0') + +const cp = async (src, dest, opts) => { + const options = getOptions(opts, { + copy: ['dereference', 'errorOnExist', 'filter', 'force', 'preserveTimestamps', 'recursive'], + }) + + // the polyfill is tested separately from this module, no need to hack + // process.version to try to trigger it just for coverage + // istanbul ignore next + return useNative + ? fs.cp(src, dest, options) + : polyfill(src, dest, options) +} + +module.exports = cp + + +/***/ }, + +/***/ 74346 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +// this file is a modified version of the code in node 17.2.0 +// which is, in turn, a modified version of the fs-extra module on npm +// node core changes: +// - Use of the assert module has been replaced with core's error system. +// - All code related to the glob dependency has been removed. +// - Bring your own custom fs module is not currently supported. +// - Some basic code cleanup. +// changes here: +// - remove all callback related code +// - drop sync support +// - change assertions back to non-internal methods (see options.js) +// - throws ENOTDIR when rmdir gets an ENOENT for a path that exists in Windows + + +const { + ERR_FS_CP_DIR_TO_NON_DIR, + ERR_FS_CP_EEXIST, + ERR_FS_CP_EINVAL, + ERR_FS_CP_FIFO_PIPE, + ERR_FS_CP_NON_DIR_TO_DIR, + ERR_FS_CP_SOCKET, + ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY, + ERR_FS_CP_UNKNOWN, + ERR_FS_EISDIR, + ERR_INVALID_ARG_TYPE, +} = __webpack_require__(96386) +const { + constants: { + errno: { + EEXIST, + EISDIR, + EINVAL, + ENOTDIR, + }, + }, +} = __webpack_require__(70857) +const { + chmod, + copyFile, + lstat, + mkdir, + readdir, + readlink, + stat, + symlink, + unlink, + utimes, +} = __webpack_require__(91943) +const { + dirname, + isAbsolute, + join, + parse, + resolve, + sep, + toNamespacedPath, +} = __webpack_require__(16928) +const { fileURLToPath } = __webpack_require__(87016) + +const defaultOptions = { + dereference: false, + errorOnExist: false, + filter: undefined, + force: true, + preserveTimestamps: false, + recursive: false, +} + +async function cp (src, dest, opts) { + if (opts != null && typeof opts !== 'object') { + throw new ERR_INVALID_ARG_TYPE('options', ['Object'], opts) + } + return cpFn( + toNamespacedPath(getValidatedPath(src)), + toNamespacedPath(getValidatedPath(dest)), + { ...defaultOptions, ...opts }) +} + +function getValidatedPath (fileURLOrPath) { + const path = fileURLOrPath != null && fileURLOrPath.href + && fileURLOrPath.origin + ? fileURLToPath(fileURLOrPath) + : fileURLOrPath + return path +} + +async function cpFn (src, dest, opts) { + // Warn about using preserveTimestamps on 32-bit node + // istanbul ignore next + if (opts.preserveTimestamps && process.arch === 'ia32') { + const warning = 'Using the preserveTimestamps option in 32-bit ' + + 'node is not recommended' + process.emitWarning(warning, 'TimestampPrecisionWarning') + } + const stats = await checkPaths(src, dest, opts) + const { srcStat, destStat } = stats + await checkParentPaths(src, srcStat, dest) + if (opts.filter) { + return handleFilter(checkParentDir, destStat, src, dest, opts) + } + return checkParentDir(destStat, src, dest, opts) +} + +async function checkPaths (src, dest, opts) { + const { 0: srcStat, 1: destStat } = await getStats(src, dest, opts) + if (destStat) { + if (areIdentical(srcStat, destStat)) { + throw new ERR_FS_CP_EINVAL({ + message: 'src and dest cannot be the same', + path: dest, + syscall: 'cp', + errno: EINVAL, + }) + } + if (srcStat.isDirectory() && !destStat.isDirectory()) { + throw new ERR_FS_CP_DIR_TO_NON_DIR({ + message: `cannot overwrite directory ${src} ` + + `with non-directory ${dest}`, + path: dest, + syscall: 'cp', + errno: EISDIR, + }) + } + if (!srcStat.isDirectory() && destStat.isDirectory()) { + throw new ERR_FS_CP_NON_DIR_TO_DIR({ + message: `cannot overwrite non-directory ${src} ` + + `with directory ${dest}`, + path: dest, + syscall: 'cp', + errno: ENOTDIR, + }) + } + } + + if (srcStat.isDirectory() && isSrcSubdir(src, dest)) { + throw new ERR_FS_CP_EINVAL({ + message: `cannot copy ${src} to a subdirectory of self ${dest}`, + path: dest, + syscall: 'cp', + errno: EINVAL, + }) + } + return { srcStat, destStat } +} + +function areIdentical (srcStat, destStat) { + return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && + destStat.dev === srcStat.dev +} + +function getStats (src, dest, opts) { + const statFunc = opts.dereference ? + (file) => stat(file, { bigint: true }) : + (file) => lstat(file, { bigint: true }) + return Promise.all([ + statFunc(src), + statFunc(dest).catch((err) => { + // istanbul ignore next: unsure how to cover. + if (err.code === 'ENOENT') { + return null + } + // istanbul ignore next: unsure how to cover. + throw err + }), + ]) +} + +async function checkParentDir (destStat, src, dest, opts) { + const destParent = dirname(dest) + const dirExists = await pathExists(destParent) + if (dirExists) { + return getStatsForCopy(destStat, src, dest, opts) + } + await mkdir(destParent, { recursive: true }) + return getStatsForCopy(destStat, src, dest, opts) +} + +function pathExists (dest) { + return stat(dest).then( + () => true, + // istanbul ignore next: not sure when this would occur + (err) => (err.code === 'ENOENT' ? false : Promise.reject(err))) +} + +// Recursively check if dest parent is a subdirectory of src. +// It works for all file types including symlinks since it +// checks the src and dest inodes. It starts from the deepest +// parent and stops once it reaches the src parent or the root path. +async function checkParentPaths (src, srcStat, dest) { + const srcParent = resolve(dirname(src)) + const destParent = resolve(dirname(dest)) + if (destParent === srcParent || destParent === parse(destParent).root) { + return + } + let destStat + try { + destStat = await stat(destParent, { bigint: true }) + } catch (err) { + // istanbul ignore else: not sure when this would occur + if (err.code === 'ENOENT') { + return + } + // istanbul ignore next: not sure when this would occur + throw err + } + if (areIdentical(srcStat, destStat)) { + throw new ERR_FS_CP_EINVAL({ + message: `cannot copy ${src} to a subdirectory of self ${dest}`, + path: dest, + syscall: 'cp', + errno: EINVAL, + }) + } + return checkParentPaths(src, srcStat, destParent) +} + +const normalizePathToArray = (path) => + resolve(path).split(sep).filter(Boolean) + +// Return true if dest is a subdir of src, otherwise false. +// It only checks the path strings. +function isSrcSubdir (src, dest) { + const srcArr = normalizePathToArray(src) + const destArr = normalizePathToArray(dest) + return srcArr.every((cur, i) => destArr[i] === cur) +} + +async function handleFilter (onInclude, destStat, src, dest, opts, cb) { + const include = await opts.filter(src, dest) + if (include) { + return onInclude(destStat, src, dest, opts, cb) + } +} + +function startCopy (destStat, src, dest, opts) { + if (opts.filter) { + return handleFilter(getStatsForCopy, destStat, src, dest, opts) + } + return getStatsForCopy(destStat, src, dest, opts) +} + +async function getStatsForCopy (destStat, src, dest, opts) { + const statFn = opts.dereference ? stat : lstat + const srcStat = await statFn(src) + // istanbul ignore else: can't portably test FIFO + if (srcStat.isDirectory() && opts.recursive) { + return onDir(srcStat, destStat, src, dest, opts) + } else if (srcStat.isDirectory()) { + throw new ERR_FS_EISDIR({ + message: `${src} is a directory (not copied)`, + path: src, + syscall: 'cp', + errno: EINVAL, + }) + } else if (srcStat.isFile() || + srcStat.isCharacterDevice() || + srcStat.isBlockDevice()) { + return onFile(srcStat, destStat, src, dest, opts) + } else if (srcStat.isSymbolicLink()) { + return onLink(destStat, src, dest) + } else if (srcStat.isSocket()) { + throw new ERR_FS_CP_SOCKET({ + message: `cannot copy a socket file: ${dest}`, + path: dest, + syscall: 'cp', + errno: EINVAL, + }) + } else if (srcStat.isFIFO()) { + throw new ERR_FS_CP_FIFO_PIPE({ + message: `cannot copy a FIFO pipe: ${dest}`, + path: dest, + syscall: 'cp', + errno: EINVAL, + }) + } + // istanbul ignore next: should be unreachable + throw new ERR_FS_CP_UNKNOWN({ + message: `cannot copy an unknown file type: ${dest}`, + path: dest, + syscall: 'cp', + errno: EINVAL, + }) +} + +function onFile (srcStat, destStat, src, dest, opts) { + if (!destStat) { + return _copyFile(srcStat, src, dest, opts) + } + return mayCopyFile(srcStat, src, dest, opts) +} + +async function mayCopyFile (srcStat, src, dest, opts) { + if (opts.force) { + await unlink(dest) + return _copyFile(srcStat, src, dest, opts) + } else if (opts.errorOnExist) { + throw new ERR_FS_CP_EEXIST({ + message: `${dest} already exists`, + path: dest, + syscall: 'cp', + errno: EEXIST, + }) + } +} + +async function _copyFile (srcStat, src, dest, opts) { + await copyFile(src, dest) + if (opts.preserveTimestamps) { + return handleTimestampsAndMode(srcStat.mode, src, dest) + } + return setDestMode(dest, srcStat.mode) +} + +async function handleTimestampsAndMode (srcMode, src, dest) { + // Make sure the file is writable before setting the timestamp + // otherwise open fails with EPERM when invoked with 'r+' + // (through utimes call) + if (fileIsNotWritable(srcMode)) { + await makeFileWritable(dest, srcMode) + return setDestTimestampsAndMode(srcMode, src, dest) + } + return setDestTimestampsAndMode(srcMode, src, dest) +} + +function fileIsNotWritable (srcMode) { + return (srcMode & 0o200) === 0 +} + +function makeFileWritable (dest, srcMode) { + return setDestMode(dest, srcMode | 0o200) +} + +async function setDestTimestampsAndMode (srcMode, src, dest) { + await setDestTimestamps(src, dest) + return setDestMode(dest, srcMode) +} + +function setDestMode (dest, srcMode) { + return chmod(dest, srcMode) +} + +async function setDestTimestamps (src, dest) { + // The initial srcStat.atime cannot be trusted + // because it is modified by the read(2) system call + // (See https://nodejs.org/api/fs.html#fs_stat_time_values) + const updatedSrcStat = await stat(src) + return utimes(dest, updatedSrcStat.atime, updatedSrcStat.mtime) +} + +function onDir (srcStat, destStat, src, dest, opts) { + if (!destStat) { + return mkDirAndCopy(srcStat.mode, src, dest, opts) + } + return copyDir(src, dest, opts) +} + +async function mkDirAndCopy (srcMode, src, dest, opts) { + await mkdir(dest) + await copyDir(src, dest, opts) + return setDestMode(dest, srcMode) +} + +async function copyDir (src, dest, opts) { + const dir = await readdir(src) + for (let i = 0; i < dir.length; i++) { + const item = dir[i] + const srcItem = join(src, item) + const destItem = join(dest, item) + const { destStat } = await checkPaths(srcItem, destItem, opts) + await startCopy(destStat, srcItem, destItem, opts) + } +} + +async function onLink (destStat, src, dest) { + let resolvedSrc = await readlink(src) + if (!isAbsolute(resolvedSrc)) { + resolvedSrc = resolve(dirname(src), resolvedSrc) + } + if (!destStat) { + return symlink(resolvedSrc, dest) + } + let resolvedDest + try { + resolvedDest = await readlink(dest) + } catch (err) { + // Dest exists and is a regular file or directory, + // Windows may throw UNKNOWN error. If dest already exists, + // fs throws error anyway, so no need to guard against it here. + // istanbul ignore next: can only test on windows + if (err.code === 'EINVAL' || err.code === 'UNKNOWN') { + return symlink(resolvedSrc, dest) + } + // istanbul ignore next: should not be possible + throw err + } + if (!isAbsolute(resolvedDest)) { + resolvedDest = resolve(dirname(dest), resolvedDest) + } + if (isSrcSubdir(resolvedSrc, resolvedDest)) { + throw new ERR_FS_CP_EINVAL({ + message: `cannot copy ${resolvedSrc} to a subdirectory of self ` + + `${resolvedDest}`, + path: dest, + syscall: 'cp', + errno: EINVAL, + }) + } + // Do not copy if src is a subdir of dest since unlinking + // dest in this case would result in removing src contents + // and therefore a broken symlink would be created. + const srcStat = await stat(src) + if (srcStat.isDirectory() && isSrcSubdir(resolvedDest, resolvedSrc)) { + throw new ERR_FS_CP_SYMLINK_TO_SUBDIRECTORY({ + message: `cannot overwrite ${resolvedDest} with ${resolvedSrc}`, + path: dest, + syscall: 'cp', + errno: EINVAL, + }) + } + return copyLink(resolvedSrc, dest) +} + +async function copyLink (resolvedSrc, dest) { + await unlink(dest) + return symlink(resolvedSrc, dest) +} + +module.exports = cp + + +/***/ }, + +/***/ 51693 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const cp = __webpack_require__(14829) +const withTempDir = __webpack_require__(48566) +const readdirScoped = __webpack_require__(22671) +const moveFile = __webpack_require__(23723) + +module.exports = { + cp, + withTempDir, + readdirScoped, + moveFile, +} + + +/***/ }, + +/***/ 23723 +(module, __unused_webpack_exports, __webpack_require__) { + +const { dirname, join, resolve, relative, isAbsolute } = __webpack_require__(16928) +const fs = __webpack_require__(91943) + +const pathExists = async path => { + try { + await fs.access(path) + return true + } catch (er) { + return er.code !== 'ENOENT' + } +} + +const moveFile = async (source, destination, options = {}, root = true, symlinks = []) => { + if (!source || !destination) { + throw new TypeError('`source` and `destination` file required') + } + + options = { + overwrite: true, + ...options, + } + + if (!options.overwrite && await pathExists(destination)) { + throw new Error(`The destination file exists: ${destination}`) + } + + await fs.mkdir(dirname(destination), { recursive: true }) + + try { + await fs.rename(source, destination) + } catch (error) { + if (error.code === 'EXDEV' || error.code === 'EPERM') { + const sourceStat = await fs.lstat(source) + if (sourceStat.isDirectory()) { + const files = await fs.readdir(source) + await Promise.all(files.map((file) => + moveFile(join(source, file), join(destination, file), options, false, symlinks) + )) + } else if (sourceStat.isSymbolicLink()) { + symlinks.push({ source, destination }) + } else { + await fs.copyFile(source, destination) + } + } else { + throw error + } + } + + if (root) { + await Promise.all(symlinks.map(async ({ source: symSource, destination: symDestination }) => { + let target = await fs.readlink(symSource) + // junction symlinks in windows will be absolute paths, so we need to + // make sure they point to the symlink destination + if (isAbsolute(target)) { + target = resolve(symDestination, relative(symSource, target)) + } + // try to determine what the actual file is so we can create the correct + // type of symlink in windows + let targetStat = 'file' + try { + targetStat = await fs.stat(resolve(dirname(symSource), target)) + if (targetStat.isDirectory()) { + targetStat = 'junction' + } + } catch { + // targetStat remains 'file' + } + await fs.symlink( + target, + symDestination, + targetStat + ) + })) + await fs.rm(source, { recursive: true, force: true }) + } +} + +module.exports = moveFile + + +/***/ }, + +/***/ 22671 +(module, __unused_webpack_exports, __webpack_require__) { + +const { readdir } = __webpack_require__(91943) +const { join } = __webpack_require__(16928) + +const readdirScoped = async (dir) => { + const results = [] + + for (const item of await readdir(dir)) { + if (item.startsWith('@')) { + for (const scopedItem of await readdir(join(dir, item))) { + results.push(join(item, scopedItem)) + } + } else { + results.push(item) + } + } + + return results +} + +module.exports = readdirScoped + + +/***/ }, + +/***/ 48566 +(module, __unused_webpack_exports, __webpack_require__) { + +const { join, sep } = __webpack_require__(16928) + +const getOptions = __webpack_require__(9788) +const { mkdir, mkdtemp, rm } = __webpack_require__(91943) + +// create a temp directory, ensure its permissions match its parent, then call +// the supplied function passing it the path to the directory. clean up after +// the function finishes, whether it throws or not +const withTempDir = async (root, fn, opts) => { + const options = getOptions(opts, { + copy: ['tmpPrefix'], + }) + // create the directory + await mkdir(root, { recursive: true }) + + const target = await mkdtemp(join(`${root}${sep}`, options.tmpPrefix || '')) + let err + let result + + try { + result = await fn(target) + } catch (_err) { + err = _err + } + + try { + await rm(target, { force: true, recursive: true }) + } catch { + // ignore errors + } + + if (err) { + throw err + } + + return result +} + +module.exports = withTempDir + + +/***/ }, + +/***/ 16860 +(module) { + +"use strict"; + +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + if(a===b) { + return [ai, bi]; + } + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + + +/***/ }, + +/***/ 37579 +(module, __unused_webpack_exports, __webpack_require__) { + +var balanced = __webpack_require__(16860); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m) return [str]; + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + if (/\$$/.test(m.pre)) { + for (var k = 0; k < post.length; k++) { + var expansion = pre+ '{' + m.body + '}' + post[k]; + expansions.push(expansion); + } + } else { + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = []; + + for (var j = 0; j < n.length; j++) { + N.push.apply(N, expand(n[j], false)); + } + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + } + + return expansions; +} + + + +/***/ }, + +/***/ 16257 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const contentVer = (__webpack_require__(89269)/* ["cache-version"].content */ .MH.Q) +const hashToSegments = __webpack_require__(60464) +const path = __webpack_require__(16928) +const ssri = __webpack_require__(75433) + +// Current format of content file path: +// +// sha512-BaSE64Hex= -> +// ~/.my-cache/content-v2/sha512/ba/da/55deadbeefc0ffee +// +module.exports = contentPath + +function contentPath (cache, integrity) { + const sri = ssri.parse(integrity, { single: true }) + // contentPath is the *strongest* algo given + return path.join( + contentDir(cache), + sri.algorithm, + ...hashToSegments(sri.hexDigest()) + ) +} + +module.exports.contentDir = contentDir + +function contentDir (cache) { + return path.join(cache, `content-v${contentVer}`) +} + + +/***/ }, + +/***/ 13070 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const fs = __webpack_require__(91943) +const fsm = __webpack_require__(18150) +const ssri = __webpack_require__(75433) +const contentPath = __webpack_require__(16257) +const Pipeline = __webpack_require__(16155) + +module.exports = read + +const MAX_SINGLE_READ_SIZE = 64 * 1024 * 1024 +async function read (cache, integrity, opts = {}) { + const { size } = opts + const { stat, cpath, sri } = await withContentSri(cache, integrity, async (cpath, sri) => { + // get size + const stat = size ? { size } : await fs.stat(cpath) + return { stat, cpath, sri } + }) + + if (stat.size > MAX_SINGLE_READ_SIZE) { + return readPipeline(cpath, stat.size, sri, new Pipeline()).concat() + } + + const data = await fs.readFile(cpath, { encoding: null }) + + if (stat.size !== data.length) { + throw sizeError(stat.size, data.length) + } + + if (!ssri.checkData(data, sri)) { + throw integrityError(sri, cpath) + } + + return data +} + +const readPipeline = (cpath, size, sri, stream) => { + stream.push( + new fsm.ReadStream(cpath, { + size, + readSize: MAX_SINGLE_READ_SIZE, + }), + ssri.integrityStream({ + integrity: sri, + size, + }) + ) + return stream +} + +module.exports.stream = readStream +module.exports.readStream = readStream + +function readStream (cache, integrity, opts = {}) { + const { size } = opts + const stream = new Pipeline() + // Set all this up to run on the stream and then just return the stream + Promise.resolve().then(async () => { + const { stat, cpath, sri } = await withContentSri(cache, integrity, async (cpath, sri) => { + // get size + const stat = size ? { size } : await fs.stat(cpath) + return { stat, cpath, sri } + }) + + return readPipeline(cpath, stat.size, sri, stream) + }).catch(err => stream.emit('error', err)) + + return stream +} + +module.exports.copy = copy + +function copy (cache, integrity, dest) { + return withContentSri(cache, integrity, (cpath) => { + return fs.copyFile(cpath, dest) + }) +} + +module.exports.hasContent = hasContent + +async function hasContent (cache, integrity) { + if (!integrity) { + return false + } + + try { + return await withContentSri(cache, integrity, async (cpath, sri) => { + const stat = await fs.stat(cpath) + return { size: stat.size, sri, stat } + }) + } catch (err) { + if (err.code === 'ENOENT') { + return false + } + + if (err.code === 'EPERM') { + /* istanbul ignore else */ + if (process.platform !== 'win32') { + throw err + } else { + return false + } + } + } +} + +async function withContentSri (cache, integrity, fn) { + const sri = ssri.parse(integrity) + // If `integrity` has multiple entries, pick the first digest + // with available local data. + const algo = sri.pickAlgorithm() + const digests = sri[algo] + + if (digests.length <= 1) { + const cpath = contentPath(cache, digests[0]) + return fn(cpath, digests[0]) + } else { + // Can't use race here because a generic error can happen before + // a ENOENT error, and can happen before a valid result + const results = await Promise.all(digests.map(async (meta) => { + try { + return await withContentSri(cache, meta, fn) + } catch (err) { + if (err.code === 'ENOENT') { + return Object.assign( + new Error('No matching content found for ' + sri.toString()), + { code: 'ENOENT' } + ) + } + return err + } + })) + // Return the first non error if it is found + const result = results.find((r) => !(r instanceof Error)) + if (result) { + return result + } + + // Throw the No matching content found error + const enoentError = results.find((r) => r.code === 'ENOENT') + if (enoentError) { + throw enoentError + } + + // Throw generic error + throw results.find((r) => r instanceof Error) + } +} + +function sizeError (expected, found) { + /* eslint-disable-next-line max-len */ + const err = new Error(`Bad data size: expected inserted data to be ${expected} bytes, but got ${found} instead`) + err.expected = expected + err.found = found + err.code = 'EBADSIZE' + return err +} + +function integrityError (sri, path) { + const err = new Error(`Integrity verification failed for ${sri} (${path})`) + err.code = 'EINTEGRITY' + err.sri = sri + err.path = path + return err +} + + +/***/ }, + +/***/ 11287 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const fs = __webpack_require__(91943) +const contentPath = __webpack_require__(16257) +const { hasContent } = __webpack_require__(13070) + +module.exports = rm + +async function rm (cache, integrity) { + const content = await hasContent(cache, integrity) + // ~pretty~ sure we can't end up with a content lacking sri, but be safe + if (content && content.sri) { + await fs.rm(contentPath(cache, content.sri), { recursive: true, force: true }) + return true + } else { + return false + } +} + + +/***/ }, + +/***/ 63083 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const events = __webpack_require__(24434) + +const contentPath = __webpack_require__(16257) +const fs = __webpack_require__(91943) +const { moveFile } = __webpack_require__(51693) +const { Minipass } = __webpack_require__(14383) +const Pipeline = __webpack_require__(16155) +const Flush = __webpack_require__(84233) +const path = __webpack_require__(16928) +const ssri = __webpack_require__(75433) +const uniqueFilename = __webpack_require__(35787) +const fsm = __webpack_require__(18150) + +module.exports = write + +// Cache of move operations in process so we don't duplicate +const moveOperations = new Map() + +async function write (cache, data, opts = {}) { + const { algorithms, size, integrity } = opts + + if (typeof size === 'number' && data.length !== size) { + throw sizeError(size, data.length) + } + + const sri = ssri.fromData(data, algorithms ? { algorithms } : {}) + if (integrity && !ssri.checkData(data, integrity, opts)) { + throw checksumError(integrity, sri) + } + + for (const algo in sri) { + const tmp = await makeTmp(cache, opts) + const hash = sri[algo].toString() + try { + await fs.writeFile(tmp.target, data, { flag: 'wx' }) + await moveToDestination(tmp, cache, hash, opts) + } finally { + if (!tmp.moved) { + await fs.rm(tmp.target, { recursive: true, force: true }) + } + } + } + return { integrity: sri, size: data.length } +} + +module.exports.stream = writeStream + +// writes proxied to the 'inputStream' that is passed to the Promise +// 'end' is deferred until content is handled. +class CacacheWriteStream extends Flush { + constructor (cache, opts) { + super() + this.opts = opts + this.cache = cache + this.inputStream = new Minipass() + this.inputStream.on('error', er => this.emit('error', er)) + this.inputStream.on('drain', () => this.emit('drain')) + this.handleContentP = null + } + + write (chunk, encoding, cb) { + if (!this.handleContentP) { + this.handleContentP = handleContent( + this.inputStream, + this.cache, + this.opts + ) + this.handleContentP.catch(error => this.emit('error', error)) + } + return this.inputStream.write(chunk, encoding, cb) + } + + flush (cb) { + this.inputStream.end(() => { + if (!this.handleContentP) { + const e = new Error('Cache input stream was empty') + e.code = 'ENODATA' + // empty streams are probably emitting end right away. + // defer this one tick by rejecting a promise on it. + return Promise.reject(e).catch(cb) + } + // eslint-disable-next-line promise/catch-or-return + this.handleContentP.then( + (res) => { + res.integrity && this.emit('integrity', res.integrity) + // eslint-disable-next-line promise/always-return + res.size !== null && this.emit('size', res.size) + cb() + }, + (er) => cb(er) + ) + }) + } +} + +function writeStream (cache, opts = {}) { + return new CacacheWriteStream(cache, opts) +} + +async function handleContent (inputStream, cache, opts) { + const tmp = await makeTmp(cache, opts) + try { + const res = await pipeToTmp(inputStream, cache, tmp.target, opts) + await moveToDestination( + tmp, + cache, + res.integrity, + opts + ) + return res + } finally { + if (!tmp.moved) { + await fs.rm(tmp.target, { recursive: true, force: true }) + } + } +} + +async function pipeToTmp (inputStream, cache, tmpTarget, opts) { + const outStream = new fsm.WriteStream(tmpTarget, { + flags: 'wx', + }) + + if (opts.integrityEmitter) { + // we need to create these all simultaneously since they can fire in any order + const [integrity, size] = await Promise.all([ + events.once(opts.integrityEmitter, 'integrity').then(res => res[0]), + events.once(opts.integrityEmitter, 'size').then(res => res[0]), + new Pipeline(inputStream, outStream).promise(), + ]) + return { integrity, size } + } + + let integrity + let size + const hashStream = ssri.integrityStream({ + integrity: opts.integrity, + algorithms: opts.algorithms, + size: opts.size, + }) + hashStream.on('integrity', i => { + integrity = i + }) + hashStream.on('size', s => { + size = s + }) + + const pipeline = new Pipeline(inputStream, hashStream, outStream) + await pipeline.promise() + return { integrity, size } +} + +async function makeTmp (cache, opts) { + const tmpTarget = uniqueFilename(path.join(cache, 'tmp'), opts.tmpPrefix) + await fs.mkdir(path.dirname(tmpTarget), { recursive: true }) + return { + target: tmpTarget, + moved: false, + } +} + +async function moveToDestination (tmp, cache, sri) { + const destination = contentPath(cache, sri) + const destDir = path.dirname(destination) + if (moveOperations.has(destination)) { + return moveOperations.get(destination) + } + moveOperations.set( + destination, + fs.mkdir(destDir, { recursive: true }) + .then(async () => { + await moveFile(tmp.target, destination, { overwrite: false }) + tmp.moved = true + return tmp.moved + }) + .catch(err => { + if (!err.message.startsWith('The destination file exists')) { + throw Object.assign(err, { code: 'EEXIST' }) + } + }).finally(() => { + moveOperations.delete(destination) + }) + + ) + return moveOperations.get(destination) +} + +function sizeError (expected, found) { + /* eslint-disable-next-line max-len */ + const err = new Error(`Bad data size: expected inserted data to be ${expected} bytes, but got ${found} instead`) + err.expected = expected + err.found = found + err.code = 'EBADSIZE' + return err +} + +function checksumError (expected, found) { + const err = new Error(`Integrity check failed: + Wanted: ${expected} + Found: ${found}`) + err.code = 'EINTEGRITY' + err.expected = expected + err.found = found + return err +} + + +/***/ }, + +/***/ 52903 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const crypto = __webpack_require__(76982) +const { + appendFile, + mkdir, + readFile, + readdir, + rm, + writeFile, +} = __webpack_require__(91943) +const { Minipass } = __webpack_require__(14383) +const path = __webpack_require__(16928) +const ssri = __webpack_require__(75433) +const uniqueFilename = __webpack_require__(35787) + +const contentPath = __webpack_require__(16257) +const hashToSegments = __webpack_require__(60464) +const indexV = (__webpack_require__(89269)/* ["cache-version"].index */ .MH.P) +const { moveFile } = __webpack_require__(51693) + +const lsStreamConcurrency = 5 + +module.exports.NotFoundError = class NotFoundError extends Error { + constructor (cache, key) { + super(`No cache entry for ${key} found in ${cache}`) + this.code = 'ENOENT' + this.cache = cache + this.key = key + } +} + +module.exports.compact = compact + +async function compact (cache, key, matchFn, opts = {}) { + const bucket = bucketPath(cache, key) + const entries = await bucketEntries(bucket) + const newEntries = [] + // we loop backwards because the bottom-most result is the newest + // since we add new entries with appendFile + for (let i = entries.length - 1; i >= 0; --i) { + const entry = entries[i] + // a null integrity could mean either a delete was appended + // or the user has simply stored an index that does not map + // to any content. we determine if the user wants to keep the + // null integrity based on the validateEntry function passed in options. + // if the integrity is null and no validateEntry is provided, we break + // as we consider the null integrity to be a deletion of everything + // that came before it. + if (entry.integrity === null && !opts.validateEntry) { + break + } + + // if this entry is valid, and it is either the first entry or + // the newEntries array doesn't already include an entry that + // matches this one based on the provided matchFn, then we add + // it to the beginning of our list + if ((!opts.validateEntry || opts.validateEntry(entry) === true) && + (newEntries.length === 0 || + !newEntries.find((oldEntry) => matchFn(oldEntry, entry)))) { + newEntries.unshift(entry) + } + } + + const newIndex = '\n' + newEntries.map((entry) => { + const stringified = JSON.stringify(entry) + const hash = hashEntry(stringified) + return `${hash}\t${stringified}` + }).join('\n') + + const setup = async () => { + const target = uniqueFilename(path.join(cache, 'tmp'), opts.tmpPrefix) + await mkdir(path.dirname(target), { recursive: true }) + return { + target, + moved: false, + } + } + + const teardown = async (tmp) => { + if (!tmp.moved) { + return rm(tmp.target, { recursive: true, force: true }) + } + } + + const write = async (tmp) => { + await writeFile(tmp.target, newIndex, { flag: 'wx' }) + await mkdir(path.dirname(bucket), { recursive: true }) + // we use @npmcli/move-file directly here because we + // want to overwrite the existing file + await moveFile(tmp.target, bucket) + tmp.moved = true + } + + // write the file atomically + const tmp = await setup() + try { + await write(tmp) + } finally { + await teardown(tmp) + } + + // we reverse the list we generated such that the newest + // entries come first in order to make looping through them easier + // the true passed to formatEntry tells it to keep null + // integrity values, if they made it this far it's because + // validateEntry returned true, and as such we should return it + return newEntries.reverse().map((entry) => formatEntry(cache, entry, true)) +} + +module.exports.insert = insert + +async function insert (cache, key, integrity, opts = {}) { + const { metadata, size, time } = opts + const bucket = bucketPath(cache, key) + const entry = { + key, + integrity: integrity && ssri.stringify(integrity), + time: time || Date.now(), + size, + metadata, + } + try { + await mkdir(path.dirname(bucket), { recursive: true }) + const stringified = JSON.stringify(entry) + // NOTE - Cleverness ahoy! + // + // This works because it's tremendously unlikely for an entry to corrupt + // another while still preserving the string length of the JSON in + // question. So, we just slap the length in there and verify it on read. + // + // Thanks to @isaacs for the whiteboarding session that ended up with + // this. + await appendFile(bucket, `\n${hashEntry(stringified)}\t${stringified}`) + } catch (err) { + if (err.code === 'ENOENT') { + return undefined + } + + throw err + } + return formatEntry(cache, entry) +} + +module.exports.find = find + +async function find (cache, key) { + const bucket = bucketPath(cache, key) + try { + const entries = await bucketEntries(bucket) + return entries.reduce((latest, next) => { + if (next && next.key === key) { + return formatEntry(cache, next) + } else { + return latest + } + }, null) + } catch (err) { + if (err.code === 'ENOENT') { + return null + } else { + throw err + } + } +} + +module.exports["delete"] = del + +function del (cache, key, opts = {}) { + if (!opts.removeFully) { + return insert(cache, key, null, opts) + } + + const bucket = bucketPath(cache, key) + return rm(bucket, { recursive: true, force: true }) +} + +module.exports.lsStream = lsStream + +function lsStream (cache) { + const indexDir = bucketDir(cache) + const stream = new Minipass({ objectMode: true }) + + // Set all this up to run on the stream and then just return the stream + Promise.resolve().then(async () => { + const { default: pMap } = await __webpack_require__.e(/* import() */ 350).then(__webpack_require__.bind(__webpack_require__, 43350)) + const buckets = await readdirOrEmpty(indexDir) + await pMap(buckets, async (bucket) => { + const bucketPath = path.join(indexDir, bucket) + const subbuckets = await readdirOrEmpty(bucketPath) + await pMap(subbuckets, async (subbucket) => { + const subbucketPath = path.join(bucketPath, subbucket) + + // "/cachename//./*" + const subbucketEntries = await readdirOrEmpty(subbucketPath) + await pMap(subbucketEntries, async (entry) => { + const entryPath = path.join(subbucketPath, entry) + try { + const entries = await bucketEntries(entryPath) + // using a Map here prevents duplicate keys from showing up + // twice, I guess? + const reduced = entries.reduce((acc, entry) => { + acc.set(entry.key, entry) + return acc + }, new Map()) + // reduced is a map of key => entry + for (const entry of reduced.values()) { + const formatted = formatEntry(cache, entry) + if (formatted) { + stream.write(formatted) + } + } + } catch (err) { + if (err.code === 'ENOENT') { + return undefined + } + throw err + } + }, + { concurrency: lsStreamConcurrency }) + }, + { concurrency: lsStreamConcurrency }) + }, + { concurrency: lsStreamConcurrency }) + stream.end() + return stream + }).catch(err => stream.emit('error', err)) + + return stream +} + +module.exports.ls = ls + +async function ls (cache) { + const entries = await lsStream(cache).collect() + return entries.reduce((acc, xs) => { + acc[xs.key] = xs + return acc + }, {}) +} + +module.exports.bucketEntries = bucketEntries + +async function bucketEntries (bucket, filter) { + const data = await readFile(bucket, 'utf8') + return _bucketEntries(data, filter) +} + +function _bucketEntries (data) { + const entries = [] + data.split('\n').forEach((entry) => { + if (!entry) { + return + } + + const pieces = entry.split('\t') + if (!pieces[1] || hashEntry(pieces[1]) !== pieces[0]) { + // Hash is no good! Corruption or malice? Doesn't matter! + // EJECT EJECT + return + } + let obj + try { + obj = JSON.parse(pieces[1]) + } catch (_) { + // eslint-ignore-next-line no-empty-block + } + // coverage disabled here, no need to test with an entry that parses to something falsey + // istanbul ignore else + if (obj) { + entries.push(obj) + } + }) + return entries +} + +module.exports.bucketDir = bucketDir + +function bucketDir (cache) { + return path.join(cache, `index-v${indexV}`) +} + +module.exports.bucketPath = bucketPath + +function bucketPath (cache, key) { + const hashed = hashKey(key) + return path.join.apply( + path, + [bucketDir(cache)].concat(hashToSegments(hashed)) + ) +} + +module.exports.hashKey = hashKey + +function hashKey (key) { + return hash(key, 'sha256') +} + +module.exports.hashEntry = hashEntry + +function hashEntry (str) { + return hash(str, 'sha1') +} + +function hash (str, digest) { + return crypto + .createHash(digest) + .update(str) + .digest('hex') +} + +function formatEntry (cache, entry, keepAll) { + // Treat null digests as deletions. They'll shadow any previous entries. + if (!entry.integrity && !keepAll) { + return null + } + + return { + key: entry.key, + integrity: entry.integrity, + path: entry.integrity ? contentPath(cache, entry.integrity) : undefined, + size: entry.size, + time: entry.time, + metadata: entry.metadata, + } +} + +function readdirOrEmpty (dir) { + return readdir(dir).catch((err) => { + if (err.code === 'ENOENT' || err.code === 'ENOTDIR') { + return [] + } + + throw err + }) +} + + +/***/ }, + +/***/ 6306 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const Collect = __webpack_require__(86067) +const { Minipass } = __webpack_require__(14383) +const Pipeline = __webpack_require__(16155) + +const index = __webpack_require__(52903) +const memo = __webpack_require__(66716) +const read = __webpack_require__(13070) + +async function getData (cache, key, opts = {}) { + const { integrity, memoize, size } = opts + const memoized = memo.get(cache, key, opts) + if (memoized && memoize !== false) { + return { + metadata: memoized.entry.metadata, + data: memoized.data, + integrity: memoized.entry.integrity, + size: memoized.entry.size, + } + } + + const entry = await index.find(cache, key, opts) + if (!entry) { + throw new index.NotFoundError(cache, key) + } + const data = await read(cache, entry.integrity, { integrity, size }) + if (memoize) { + memo.put(cache, entry, data, opts) + } + + return { + data, + metadata: entry.metadata, + size: entry.size, + integrity: entry.integrity, + } +} +module.exports = getData + +async function getDataByDigest (cache, key, opts = {}) { + const { integrity, memoize, size } = opts + const memoized = memo.get.byDigest(cache, key, opts) + if (memoized && memoize !== false) { + return memoized + } + + const res = await read(cache, key, { integrity, size }) + if (memoize) { + memo.put.byDigest(cache, key, res, opts) + } + return res +} +module.exports.byDigest = getDataByDigest + +const getMemoizedStream = (memoized) => { + const stream = new Minipass() + stream.on('newListener', function (ev, cb) { + ev === 'metadata' && cb(memoized.entry.metadata) + ev === 'integrity' && cb(memoized.entry.integrity) + ev === 'size' && cb(memoized.entry.size) + }) + stream.end(memoized.data) + return stream +} + +function getStream (cache, key, opts = {}) { + const { memoize, size } = opts + const memoized = memo.get(cache, key, opts) + if (memoized && memoize !== false) { + return getMemoizedStream(memoized) + } + + const stream = new Pipeline() + // Set all this up to run on the stream and then just return the stream + Promise.resolve().then(async () => { + const entry = await index.find(cache, key) + if (!entry) { + throw new index.NotFoundError(cache, key) + } + + stream.emit('metadata', entry.metadata) + stream.emit('integrity', entry.integrity) + stream.emit('size', entry.size) + stream.on('newListener', function (ev, cb) { + ev === 'metadata' && cb(entry.metadata) + ev === 'integrity' && cb(entry.integrity) + ev === 'size' && cb(entry.size) + }) + + const src = read.readStream( + cache, + entry.integrity, + { ...opts, size: typeof size !== 'number' ? entry.size : size } + ) + + if (memoize) { + const memoStream = new Collect.PassThrough() + memoStream.on('collect', data => memo.put(cache, entry, data, opts)) + stream.unshift(memoStream) + } + stream.unshift(src) + return stream + }).catch((err) => stream.emit('error', err)) + + return stream +} + +module.exports.stream = getStream + +function getStreamDigest (cache, integrity, opts = {}) { + const { memoize } = opts + const memoized = memo.get.byDigest(cache, integrity, opts) + if (memoized && memoize !== false) { + const stream = new Minipass() + stream.end(memoized) + return stream + } else { + const stream = read.readStream(cache, integrity, opts) + if (!memoize) { + return stream + } + + const memoStream = new Collect.PassThrough() + memoStream.on('collect', data => memo.put.byDigest( + cache, + integrity, + data, + opts + )) + return new Pipeline(stream, memoStream) + } +} + +module.exports.stream.byDigest = getStreamDigest + +function info (cache, key, opts = {}) { + const { memoize } = opts + const memoized = memo.get(cache, key, opts) + if (memoized && memoize !== false) { + return Promise.resolve(memoized.entry) + } else { + return index.find(cache, key) + } +} +module.exports.info = info + +async function copy (cache, key, dest, opts = {}) { + const entry = await index.find(cache, key, opts) + if (!entry) { + throw new index.NotFoundError(cache, key) + } + await read.copy(cache, entry.integrity, dest, opts) + return { + metadata: entry.metadata, + size: entry.size, + integrity: entry.integrity, + } +} + +module.exports.copy = copy + +async function copyByDigest (cache, key, dest, opts = {}) { + await read.copy(cache, key, dest, opts) + return key +} + +module.exports.copy.byDigest = copyByDigest + +module.exports.hasContent = read.hasContent + + +/***/ }, + +/***/ 52822 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +var __webpack_unused_export__; + + +const get = __webpack_require__(6306) +const put = __webpack_require__(26691) +const rm = __webpack_require__(8481) +const verify = __webpack_require__(77661) +const { clearMemoized } = __webpack_require__(66716) +const tmp = __webpack_require__(32638) +const index = __webpack_require__(52903) + +__webpack_unused_export__ = {} +__webpack_unused_export__ = index.compact +__webpack_unused_export__ = index.insert + +__webpack_unused_export__ = index.ls +__webpack_unused_export__ = index.lsStream + +module.exports.Jt = get +module.exports.Jt.byDigest = get.byDigest +module.exports.Jt.stream = get.stream +module.exports.Jt.stream.byDigest = get.stream.byDigest +module.exports.Jt.copy = get.copy +module.exports.Jt.copy.byDigest = get.copy.byDigest +module.exports.Jt.info = get.info +module.exports.Jt.hasContent = get.hasContent + +module.exports.yJ = put +module.exports.yJ.stream = put.stream + +module.exports.rm = rm.entry +module.exports.rm.all = rm.all +module.exports.rm.entry = module.exports.rm +module.exports.rm.content = rm.content + +__webpack_unused_export__ = clearMemoized + +__webpack_unused_export__ = {} +__webpack_unused_export__ = tmp.mkdir +__webpack_unused_export__ = tmp.withTmp + +__webpack_unused_export__ = verify +__webpack_unused_export__ = verify.lastRun + + +/***/ }, + +/***/ 66716 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const { LRUCache } = __webpack_require__(17457) + +const MEMOIZED = new LRUCache({ + max: 500, + maxSize: 50 * 1024 * 1024, // 50MB + ttl: 3 * 60 * 1000, // 3 minutes + sizeCalculation: (entry, key) => key.startsWith('key:') ? entry.data.length : entry.length, +}) + +module.exports.clearMemoized = clearMemoized + +function clearMemoized () { + const old = {} + MEMOIZED.forEach((v, k) => { + old[k] = v + }) + MEMOIZED.clear() + return old +} + +module.exports.put = put + +function put (cache, entry, data, opts) { + pickMem(opts).set(`key:${cache}:${entry.key}`, { entry, data }) + putDigest(cache, entry.integrity, data, opts) +} + +module.exports.put.byDigest = putDigest + +function putDigest (cache, integrity, data, opts) { + pickMem(opts).set(`digest:${cache}:${integrity}`, data) +} + +module.exports.get = get + +function get (cache, key, opts) { + return pickMem(opts).get(`key:${cache}:${key}`) +} + +module.exports.get.byDigest = getDigest + +function getDigest (cache, integrity, opts) { + return pickMem(opts).get(`digest:${cache}:${integrity}`) +} + +class ObjProxy { + constructor (obj) { + this.obj = obj + } + + get (key) { + return this.obj[key] + } + + set (key, val) { + this.obj[key] = val + } +} + +function pickMem (opts) { + if (!opts || !opts.memoize) { + return MEMOIZED + } else if (opts.memoize.get && opts.memoize.set) { + return opts.memoize + } else if (typeof opts.memoize === 'object') { + return new ObjProxy(opts.memoize) + } else { + return MEMOIZED + } +} + + +/***/ }, + +/***/ 26691 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const index = __webpack_require__(52903) +const memo = __webpack_require__(66716) +const write = __webpack_require__(63083) +const Flush = __webpack_require__(84233) +const { PassThrough } = __webpack_require__(86067) +const Pipeline = __webpack_require__(16155) + +const putOpts = (opts) => ({ + algorithms: ['sha512'], + ...opts, +}) + +module.exports = putData + +async function putData (cache, key, data, opts = {}) { + const { memoize } = opts + opts = putOpts(opts) + const res = await write(cache, data, opts) + const entry = await index.insert(cache, key, res.integrity, { ...opts, size: res.size }) + if (memoize) { + memo.put(cache, entry, data, opts) + } + + return res.integrity +} + +module.exports.stream = putStream + +function putStream (cache, key, opts = {}) { + const { memoize } = opts + opts = putOpts(opts) + let integrity + let size + let error + + let memoData + const pipeline = new Pipeline() + // first item in the pipeline is the memoizer, because we need + // that to end first and get the collected data. + if (memoize) { + const memoizer = new PassThrough().on('collect', data => { + memoData = data + }) + pipeline.push(memoizer) + } + + // contentStream is a write-only, not a passthrough + // no data comes out of it. + const contentStream = write.stream(cache, opts) + .on('integrity', (int) => { + integrity = int + }) + .on('size', (s) => { + size = s + }) + .on('error', (err) => { + error = err + }) + + pipeline.push(contentStream) + + // last but not least, we write the index and emit hash and size, + // and memoize if we're doing that + pipeline.push(new Flush({ + async flush () { + if (!error) { + const entry = await index.insert(cache, key, integrity, { ...opts, size }) + if (memoize && memoData) { + memo.put(cache, entry, memoData, opts) + } + pipeline.emit('integrity', integrity) + pipeline.emit('size', size) + } + }, + })) + + return pipeline +} + + +/***/ }, + +/***/ 8481 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const { rm } = __webpack_require__(91943) +const glob = __webpack_require__(10121) +const index = __webpack_require__(52903) +const memo = __webpack_require__(66716) +const path = __webpack_require__(16928) +const rmContent = __webpack_require__(11287) + +module.exports = entry +module.exports.entry = entry + +function entry (cache, key, opts) { + memo.clearMemoized() + return index.delete(cache, key, opts) +} + +module.exports.content = content + +function content (cache, integrity) { + memo.clearMemoized() + return rmContent(cache, integrity) +} + +module.exports.all = all + +async function all (cache) { + memo.clearMemoized() + const paths = await glob(path.join(cache, '*(content-*|index-*)'), { silent: true, nosort: true }) + return Promise.all(paths.map((p) => rm(p, { recursive: true, force: true }))) +} + + +/***/ }, + +/***/ 10121 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const { glob } = __webpack_require__(52171) +const path = __webpack_require__(16928) + +const globify = (pattern) => pattern.split(path.win32.sep).join(path.posix.sep) +module.exports = (path, options) => glob(globify(path), options) + + +/***/ }, + +/***/ 60464 +(module) { + +"use strict"; + + +module.exports = hashToSegments + +function hashToSegments (hash) { + return [hash.slice(0, 2), hash.slice(2, 4), hash.slice(4)] +} + + +/***/ }, + +/***/ 32638 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const { withTempDir } = __webpack_require__(51693) +const fs = __webpack_require__(91943) +const path = __webpack_require__(16928) + +module.exports.mkdir = mktmpdir + +async function mktmpdir (cache, opts = {}) { + const { tmpPrefix } = opts + const tmpDir = path.join(cache, 'tmp') + await fs.mkdir(tmpDir, { recursive: true, owner: 'inherit' }) + // do not use path.join(), it drops the trailing / if tmpPrefix is unset + const target = `${tmpDir}${path.sep}${tmpPrefix || ''}` + return fs.mkdtemp(target, { owner: 'inherit' }) +} + +module.exports.withTmp = withTmp + +function withTmp (cache, opts, cb) { + if (!cb) { + cb = opts + opts = {} + } + return withTempDir(path.join(cache, 'tmp'), cb, opts) +} + + +/***/ }, + +/***/ 77661 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const { + mkdir, + readFile, + rm, + stat, + truncate, + writeFile, +} = __webpack_require__(91943) +const contentPath = __webpack_require__(16257) +const fsm = __webpack_require__(18150) +const glob = __webpack_require__(10121) +const index = __webpack_require__(52903) +const path = __webpack_require__(16928) +const ssri = __webpack_require__(75433) + +const hasOwnProperty = (obj, key) => + Object.prototype.hasOwnProperty.call(obj, key) + +const verifyOpts = (opts) => ({ + concurrency: 20, + log: { silly () {} }, + ...opts, +}) + +module.exports = verify + +async function verify (cache, opts) { + opts = verifyOpts(opts) + opts.log.silly('verify', 'verifying cache at', cache) + + const steps = [ + markStartTime, + fixPerms, + garbageCollect, + rebuildIndex, + cleanTmp, + writeVerifile, + markEndTime, + ] + + const stats = {} + for (const step of steps) { + const label = step.name + const start = new Date() + const s = await step(cache, opts) + if (s) { + Object.keys(s).forEach((k) => { + stats[k] = s[k] + }) + } + const end = new Date() + if (!stats.runTime) { + stats.runTime = {} + } + stats.runTime[label] = end - start + } + stats.runTime.total = stats.endTime - stats.startTime + opts.log.silly( + 'verify', + 'verification finished for', + cache, + 'in', + `${stats.runTime.total}ms` + ) + return stats +} + +async function markStartTime () { + return { startTime: new Date() } +} + +async function markEndTime () { + return { endTime: new Date() } +} + +async function fixPerms (cache, opts) { + opts.log.silly('verify', 'fixing cache permissions') + await mkdir(cache, { recursive: true }) + return null +} + +// Implements a naive mark-and-sweep tracing garbage collector. +// +// The algorithm is basically as follows: +// 1. Read (and filter) all index entries ("pointers") +// 2. Mark each integrity value as "live" +// 3. Read entire filesystem tree in `content-vX/` dir +// 4. If content is live, verify its checksum and delete it if it fails +// 5. If content is not marked as live, rm it. +// +async function garbageCollect (cache, opts) { + opts.log.silly('verify', 'garbage collecting content') + const { default: pMap } = await __webpack_require__.e(/* import() */ 350).then(__webpack_require__.bind(__webpack_require__, 43350)) + const indexStream = index.lsStream(cache) + const liveContent = new Set() + indexStream.on('data', (entry) => { + if (opts.filter && !opts.filter(entry)) { + return + } + + // integrity is stringified, re-parse it so we can get each hash + const integrity = ssri.parse(entry.integrity) + for (const algo in integrity) { + liveContent.add(integrity[algo].toString()) + } + }) + await new Promise((resolve, reject) => { + indexStream.on('end', resolve).on('error', reject) + }) + const contentDir = contentPath.contentDir(cache) + const files = await glob(path.join(contentDir, '**'), { + follow: false, + nodir: true, + nosort: true, + }) + const stats = { + verifiedContent: 0, + reclaimedCount: 0, + reclaimedSize: 0, + badContentCount: 0, + keptSize: 0, + } + await pMap( + files, + async (f) => { + const split = f.split(/[/\\]/) + const digest = split.slice(split.length - 3).join('') + const algo = split[split.length - 4] + const integrity = ssri.fromHex(digest, algo) + if (liveContent.has(integrity.toString())) { + const info = await verifyContent(f, integrity) + if (!info.valid) { + stats.reclaimedCount++ + stats.badContentCount++ + stats.reclaimedSize += info.size + } else { + stats.verifiedContent++ + stats.keptSize += info.size + } + } else { + // No entries refer to this content. We can delete. + stats.reclaimedCount++ + const s = await stat(f) + await rm(f, { recursive: true, force: true }) + stats.reclaimedSize += s.size + } + return stats + }, + { concurrency: opts.concurrency } + ) + return stats +} + +async function verifyContent (filepath, sri) { + const contentInfo = {} + try { + const { size } = await stat(filepath) + contentInfo.size = size + contentInfo.valid = true + await ssri.checkStream(new fsm.ReadStream(filepath), sri) + } catch (err) { + if (err.code === 'ENOENT') { + return { size: 0, valid: false } + } + if (err.code !== 'EINTEGRITY') { + throw err + } + + await rm(filepath, { recursive: true, force: true }) + contentInfo.valid = false + } + return contentInfo +} + +async function rebuildIndex (cache, opts) { + opts.log.silly('verify', 'rebuilding index') + const { default: pMap } = await __webpack_require__.e(/* import() */ 350).then(__webpack_require__.bind(__webpack_require__, 43350)) + const entries = await index.ls(cache) + const stats = { + missingContent: 0, + rejectedEntries: 0, + totalEntries: 0, + } + const buckets = {} + for (const k in entries) { + /* istanbul ignore else */ + if (hasOwnProperty(entries, k)) { + const hashed = index.hashKey(k) + const entry = entries[k] + const excluded = opts.filter && !opts.filter(entry) + excluded && stats.rejectedEntries++ + if (buckets[hashed] && !excluded) { + buckets[hashed].push(entry) + } else if (buckets[hashed] && excluded) { + // skip + } else if (excluded) { + buckets[hashed] = [] + buckets[hashed]._path = index.bucketPath(cache, k) + } else { + buckets[hashed] = [entry] + buckets[hashed]._path = index.bucketPath(cache, k) + } + } + } + await pMap( + Object.keys(buckets), + (key) => { + return rebuildBucket(cache, buckets[key], stats, opts) + }, + { concurrency: opts.concurrency } + ) + return stats +} + +async function rebuildBucket (cache, bucket, stats) { + await truncate(bucket._path) + // This needs to be serialized because cacache explicitly + // lets very racy bucket conflicts clobber each other. + for (const entry of bucket) { + const content = contentPath(cache, entry.integrity) + try { + await stat(content) + await index.insert(cache, entry.key, entry.integrity, { + metadata: entry.metadata, + size: entry.size, + time: entry.time, + }) + stats.totalEntries++ + } catch (err) { + if (err.code === 'ENOENT') { + stats.rejectedEntries++ + stats.missingContent++ + } else { + throw err + } + } + } +} + +function cleanTmp (cache, opts) { + opts.log.silly('verify', 'cleaning tmp directory') + return rm(path.join(cache, 'tmp'), { recursive: true, force: true }) +} + +async function writeVerifile (cache, opts) { + const verifile = path.join(cache, '_lastverified') + opts.log.silly('verify', 'writing verifile to ' + verifile) + return writeFile(verifile, `${Date.now()}`) +} + +module.exports.lastRun = lastRun + +async function lastRun (cache) { + const data = await readFile(path.join(cache, '_lastverified'), { encoding: 'utf8' }) + return new Date(+data) +} + + +/***/ }, + +/***/ 18150 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +const { Minipass } = __webpack_require__(14383) +const EE = (__webpack_require__(24434).EventEmitter) +const fs = __webpack_require__(79896) + +const writev = fs.writev + +const _autoClose = Symbol('_autoClose') +const _close = Symbol('_close') +const _ended = Symbol('_ended') +const _fd = Symbol('_fd') +const _finished = Symbol('_finished') +const _flags = Symbol('_flags') +const _flush = Symbol('_flush') +const _handleChunk = Symbol('_handleChunk') +const _makeBuf = Symbol('_makeBuf') +const _mode = Symbol('_mode') +const _needDrain = Symbol('_needDrain') +const _onerror = Symbol('_onerror') +const _onopen = Symbol('_onopen') +const _onread = Symbol('_onread') +const _onwrite = Symbol('_onwrite') +const _open = Symbol('_open') +const _path = Symbol('_path') +const _pos = Symbol('_pos') +const _queue = Symbol('_queue') +const _read = Symbol('_read') +const _readSize = Symbol('_readSize') +const _reading = Symbol('_reading') +const _remain = Symbol('_remain') +const _size = Symbol('_size') +const _write = Symbol('_write') +const _writing = Symbol('_writing') +const _defaultFlag = Symbol('_defaultFlag') +const _errored = Symbol('_errored') + +class ReadStream extends Minipass { + constructor (path, opt) { + opt = opt || {} + super(opt) + + this.readable = true + this.writable = false + + if (typeof path !== 'string') { + throw new TypeError('path must be a string') + } + + this[_errored] = false + this[_fd] = typeof opt.fd === 'number' ? opt.fd : null + this[_path] = path + this[_readSize] = opt.readSize || 16 * 1024 * 1024 + this[_reading] = false + this[_size] = typeof opt.size === 'number' ? opt.size : Infinity + this[_remain] = this[_size] + this[_autoClose] = typeof opt.autoClose === 'boolean' ? + opt.autoClose : true + + if (typeof this[_fd] === 'number') { + this[_read]() + } else { + this[_open]() + } + } + + get fd () { + return this[_fd] + } + + get path () { + return this[_path] + } + + write () { + throw new TypeError('this is a readable stream') + } + + end () { + throw new TypeError('this is a readable stream') + } + + [_open] () { + fs.open(this[_path], 'r', (er, fd) => this[_onopen](er, fd)) + } + + [_onopen] (er, fd) { + if (er) { + this[_onerror](er) + } else { + this[_fd] = fd + this.emit('open', fd) + this[_read]() + } + } + + [_makeBuf] () { + return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain])) + } + + [_read] () { + if (!this[_reading]) { + this[_reading] = true + const buf = this[_makeBuf]() + /* istanbul ignore if */ + if (buf.length === 0) { + return process.nextTick(() => this[_onread](null, 0, buf)) + } + fs.read(this[_fd], buf, 0, buf.length, null, (er, br, b) => + this[_onread](er, br, b)) + } + } + + [_onread] (er, br, buf) { + this[_reading] = false + if (er) { + this[_onerror](er) + } else if (this[_handleChunk](br, buf)) { + this[_read]() + } + } + + [_close] () { + if (this[_autoClose] && typeof this[_fd] === 'number') { + const fd = this[_fd] + this[_fd] = null + fs.close(fd, er => er ? this.emit('error', er) : this.emit('close')) + } + } + + [_onerror] (er) { + this[_reading] = true + this[_close]() + this.emit('error', er) + } + + [_handleChunk] (br, buf) { + let ret = false + // no effect if infinite + this[_remain] -= br + if (br > 0) { + ret = super.write(br < buf.length ? buf.slice(0, br) : buf) + } + + if (br === 0 || this[_remain] <= 0) { + ret = false + this[_close]() + super.end() + } + + return ret + } + + emit (ev, data) { + switch (ev) { + case 'prefinish': + case 'finish': + break + + case 'drain': + if (typeof this[_fd] === 'number') { + this[_read]() + } + break + + case 'error': + if (this[_errored]) { + return + } + this[_errored] = true + return super.emit(ev, data) + + default: + return super.emit(ev, data) + } + } +} + +class ReadStreamSync extends ReadStream { + [_open] () { + let threw = true + try { + this[_onopen](null, fs.openSync(this[_path], 'r')) + threw = false + } finally { + if (threw) { + this[_close]() + } + } + } + + [_read] () { + let threw = true + try { + if (!this[_reading]) { + this[_reading] = true + do { + const buf = this[_makeBuf]() + /* istanbul ignore next */ + const br = buf.length === 0 ? 0 + : fs.readSync(this[_fd], buf, 0, buf.length, null) + if (!this[_handleChunk](br, buf)) { + break + } + } while (true) + this[_reading] = false + } + threw = false + } finally { + if (threw) { + this[_close]() + } + } + } + + [_close] () { + if (this[_autoClose] && typeof this[_fd] === 'number') { + const fd = this[_fd] + this[_fd] = null + fs.closeSync(fd) + this.emit('close') + } + } +} + +class WriteStream extends EE { + constructor (path, opt) { + opt = opt || {} + super(opt) + this.readable = false + this.writable = true + this[_errored] = false + this[_writing] = false + this[_ended] = false + this[_needDrain] = false + this[_queue] = [] + this[_path] = path + this[_fd] = typeof opt.fd === 'number' ? opt.fd : null + this[_mode] = opt.mode === undefined ? 0o666 : opt.mode + this[_pos] = typeof opt.start === 'number' ? opt.start : null + this[_autoClose] = typeof opt.autoClose === 'boolean' ? + opt.autoClose : true + + // truncating makes no sense when writing into the middle + const defaultFlag = this[_pos] !== null ? 'r+' : 'w' + this[_defaultFlag] = opt.flags === undefined + this[_flags] = this[_defaultFlag] ? defaultFlag : opt.flags + + if (this[_fd] === null) { + this[_open]() + } + } + + emit (ev, data) { + if (ev === 'error') { + if (this[_errored]) { + return + } + this[_errored] = true + } + return super.emit(ev, data) + } + + get fd () { + return this[_fd] + } + + get path () { + return this[_path] + } + + [_onerror] (er) { + this[_close]() + this[_writing] = true + this.emit('error', er) + } + + [_open] () { + fs.open(this[_path], this[_flags], this[_mode], + (er, fd) => this[_onopen](er, fd)) + } + + [_onopen] (er, fd) { + if (this[_defaultFlag] && + this[_flags] === 'r+' && + er && er.code === 'ENOENT') { + this[_flags] = 'w' + this[_open]() + } else if (er) { + this[_onerror](er) + } else { + this[_fd] = fd + this.emit('open', fd) + if (!this[_writing]) { + this[_flush]() + } + } + } + + end (buf, enc) { + if (buf) { + this.write(buf, enc) + } + + this[_ended] = true + + // synthetic after-write logic, where drain/finish live + if (!this[_writing] && !this[_queue].length && + typeof this[_fd] === 'number') { + this[_onwrite](null, 0) + } + return this + } + + write (buf, enc) { + if (typeof buf === 'string') { + buf = Buffer.from(buf, enc) + } + + if (this[_ended]) { + this.emit('error', new Error('write() after end()')) + return false + } + + if (this[_fd] === null || this[_writing] || this[_queue].length) { + this[_queue].push(buf) + this[_needDrain] = true + return false + } + + this[_writing] = true + this[_write](buf) + return true + } + + [_write] (buf) { + fs.write(this[_fd], buf, 0, buf.length, this[_pos], (er, bw) => + this[_onwrite](er, bw)) + } + + [_onwrite] (er, bw) { + if (er) { + this[_onerror](er) + } else { + if (this[_pos] !== null) { + this[_pos] += bw + } + if (this[_queue].length) { + this[_flush]() + } else { + this[_writing] = false + + if (this[_ended] && !this[_finished]) { + this[_finished] = true + this[_close]() + this.emit('finish') + } else if (this[_needDrain]) { + this[_needDrain] = false + this.emit('drain') + } + } + } + } + + [_flush] () { + if (this[_queue].length === 0) { + if (this[_ended]) { + this[_onwrite](null, 0) + } + } else if (this[_queue].length === 1) { + this[_write](this[_queue].pop()) + } else { + const iovec = this[_queue] + this[_queue] = [] + writev(this[_fd], iovec, this[_pos], + (er, bw) => this[_onwrite](er, bw)) + } + } + + [_close] () { + if (this[_autoClose] && typeof this[_fd] === 'number') { + const fd = this[_fd] + this[_fd] = null + fs.close(fd, er => er ? this.emit('error', er) : this.emit('close')) + } + } +} + +class WriteStreamSync extends WriteStream { + [_open] () { + let fd + // only wrap in a try{} block if we know we'll retry, to avoid + // the rethrow obscuring the error's source frame in most cases. + if (this[_defaultFlag] && this[_flags] === 'r+') { + try { + fd = fs.openSync(this[_path], this[_flags], this[_mode]) + } catch (er) { + if (er.code === 'ENOENT') { + this[_flags] = 'w' + return this[_open]() + } else { + throw er + } + } + } else { + fd = fs.openSync(this[_path], this[_flags], this[_mode]) + } + + this[_onopen](null, fd) + } + + [_close] () { + if (this[_autoClose] && typeof this[_fd] === 'number') { + const fd = this[_fd] + this[_fd] = null + fs.closeSync(fd) + this.emit('close') + } + } + + [_write] (buf) { + // throw the original, but try to close if it fails + let threw = true + try { + this[_onwrite](null, + fs.writeSync(this[_fd], buf, 0, buf.length, this[_pos])) + threw = false + } finally { + if (threw) { + try { + this[_close]() + } catch { + // ok error + } + } + } + } +} + +exports.ReadStream = ReadStream +exports.ReadStreamSync = ReadStreamSync + +exports.WriteStream = WriteStream +exports.WriteStreamSync = WriteStreamSync + + +/***/ }, + +/***/ 86067 +(module, __unused_webpack_exports, __webpack_require__) { + +const { Minipass } = __webpack_require__(14383) +const _data = Symbol('_data') +const _length = Symbol('_length') +class Collect extends Minipass { + constructor (options) { + super(options) + this[_data] = [] + this[_length] = 0 + } + write (chunk, encoding, cb) { + if (typeof encoding === 'function') + cb = encoding, encoding = 'utf8' + + if (!encoding) + encoding = 'utf8' + + const c = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding) + this[_data].push(c) + this[_length] += c.length + if (cb) + cb() + return true + } + end (chunk, encoding, cb) { + if (typeof chunk === 'function') + cb = chunk, chunk = null + if (typeof encoding === 'function') + cb = encoding, encoding = 'utf8' + if (chunk) + this.write(chunk, encoding) + const result = Buffer.concat(this[_data], this[_length]) + super.write(result) + return super.end(cb) + } +} +module.exports = Collect + +// it would be possible to DRY this a bit by doing something like +// this.collector = new Collect() and listening on its data event, +// but it's not much code, and we may as well save the extra obj +class CollectPassThrough extends Minipass { + constructor (options) { + super(options) + this[_data] = [] + this[_length] = 0 + } + write (chunk, encoding, cb) { + if (typeof encoding === 'function') + cb = encoding, encoding = 'utf8' + + if (!encoding) + encoding = 'utf8' + + const c = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding) + this[_data].push(c) + this[_length] += c.length + return super.write(chunk, encoding, cb) + } + end (chunk, encoding, cb) { + if (typeof chunk === 'function') + cb = chunk, chunk = null + if (typeof encoding === 'function') + cb = encoding, encoding = 'utf8' + if (chunk) + this.write(chunk, encoding) + const result = Buffer.concat(this[_data], this[_length]) + this.emit('collect', result) + return super.end(cb) + } +} +module.exports.PassThrough = CollectPassThrough + + +/***/ }, + +/***/ 75433 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const crypto = __webpack_require__(76982) +const { Minipass } = __webpack_require__(14383) + +const SPEC_ALGORITHMS = ['sha512', 'sha384', 'sha256'] +const DEFAULT_ALGORITHMS = ['sha512'] + +// TODO: this should really be a hardcoded list of algorithms we support, +// rather than [a-z0-9]. +const BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i +const SRI_REGEX = /^([a-z0-9]+)-([^?]+)([?\S*]*)$/ +const STRICT_SRI_REGEX = /^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/ +const VCHAR_REGEX = /^[\x21-\x7E]+$/ + +const getOptString = options => options?.length ? `?${options.join('?')}` : '' + +class IntegrityStream extends Minipass { + #emittedIntegrity + #emittedSize + #emittedVerified + + constructor (opts) { + super() + this.size = 0 + this.opts = opts + + // may be overridden later, but set now for class consistency + this.#getOptions() + + // options used for calculating stream. can't be changed. + if (opts?.algorithms) { + this.algorithms = [...opts.algorithms] + } else { + this.algorithms = [...DEFAULT_ALGORITHMS] + } + if (this.algorithm !== null && !this.algorithms.includes(this.algorithm)) { + this.algorithms.push(this.algorithm) + } + + this.hashes = this.algorithms.map(crypto.createHash) + } + + #getOptions () { + // For verification + this.sri = this.opts?.integrity ? parse(this.opts?.integrity, this.opts) : null + this.expectedSize = this.opts?.size + + if (!this.sri) { + this.algorithm = null + } else if (this.sri.isHash) { + this.goodSri = true + this.algorithm = this.sri.algorithm + } else { + this.goodSri = !this.sri.isEmpty() + this.algorithm = this.sri.pickAlgorithm(this.opts) + } + + this.digests = this.goodSri ? this.sri[this.algorithm] : null + this.optString = getOptString(this.opts?.options) + } + + on (ev, handler) { + if (ev === 'size' && this.#emittedSize) { + return handler(this.#emittedSize) + } + + if (ev === 'integrity' && this.#emittedIntegrity) { + return handler(this.#emittedIntegrity) + } + + if (ev === 'verified' && this.#emittedVerified) { + return handler(this.#emittedVerified) + } + + return super.on(ev, handler) + } + + emit (ev, data) { + if (ev === 'end') { + this.#onEnd() + } + return super.emit(ev, data) + } + + write (data) { + this.size += data.length + this.hashes.forEach(h => h.update(data)) + return super.write(data) + } + + #onEnd () { + if (!this.goodSri) { + this.#getOptions() + } + const newSri = parse(this.hashes.map((h, i) => { + return `${this.algorithms[i]}-${h.digest('base64')}${this.optString}` + }).join(' '), this.opts) + // Integrity verification mode + const match = this.goodSri && newSri.match(this.sri, this.opts) + if (typeof this.expectedSize === 'number' && this.size !== this.expectedSize) { + /* eslint-disable-next-line max-len */ + const err = new Error(`stream size mismatch when checking ${this.sri}.\n Wanted: ${this.expectedSize}\n Found: ${this.size}`) + err.code = 'EBADSIZE' + err.found = this.size + err.expected = this.expectedSize + err.sri = this.sri + this.emit('error', err) + } else if (this.sri && !match) { + /* eslint-disable-next-line max-len */ + const err = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`) + err.code = 'EINTEGRITY' + err.found = newSri + err.expected = this.digests + err.algorithm = this.algorithm + err.sri = this.sri + this.emit('error', err) + } else { + this.#emittedSize = this.size + this.emit('size', this.size) + this.#emittedIntegrity = newSri + this.emit('integrity', newSri) + if (match) { + this.#emittedVerified = match + this.emit('verified', match) + } + } + } +} + +class Hash { + get isHash () { + return true + } + + constructor (hash, opts) { + const strict = opts?.strict + this.source = hash.trim() + + // set default values so that we make V8 happy to + // always see a familiar object template. + this.digest = '' + this.algorithm = '' + this.options = [] + + // 3.1. Integrity metadata (called "Hash" by ssri) + // https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description + const match = this.source.match( + strict + ? STRICT_SRI_REGEX + : SRI_REGEX + ) + if (!match) { + return + } + if (strict && !SPEC_ALGORITHMS.includes(match[1])) { + return + } + this.algorithm = match[1] + this.digest = match[2] + + const rawOpts = match[3] + if (rawOpts) { + this.options = rawOpts.slice(1).split('?') + } + } + + hexDigest () { + return this.digest && Buffer.from(this.digest, 'base64').toString('hex') + } + + toJSON () { + return this.toString() + } + + match (integrity, opts) { + const other = parse(integrity, opts) + if (!other) { + return false + } + if (other.isIntegrity) { + const algo = other.pickAlgorithm(opts, [this.algorithm]) + + if (!algo) { + return false + } + + const foundHash = other[algo].find(hash => hash.digest === this.digest) + + if (foundHash) { + return foundHash + } + + return false + } + return other.digest === this.digest ? other : false + } + + toString (opts) { + if (opts?.strict) { + // Strict mode enforces the standard as close to the foot of the + // letter as it can. + if (!( + // The spec has very restricted productions for algorithms. + // https://www.w3.org/TR/CSP2/#source-list-syntax + SPEC_ALGORITHMS.includes(this.algorithm) && + // Usually, if someone insists on using a "different" base64, we + // leave it as-is, since there's multiple standards, and the + // specified is not a URL-safe variant. + // https://www.w3.org/TR/CSP2/#base64_value + this.digest.match(BASE64_REGEX) && + // Option syntax is strictly visual chars. + // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression + // https://tools.ietf.org/html/rfc5234#appendix-B.1 + this.options.every(opt => opt.match(VCHAR_REGEX)) + )) { + return '' + } + } + return `${this.algorithm}-${this.digest}${getOptString(this.options)}` + } +} + +function integrityHashToString (toString, sep, opts, hashes) { + const toStringIsNotEmpty = toString !== '' + + let shouldAddFirstSep = false + let complement = '' + + const lastIndex = hashes.length - 1 + + for (let i = 0; i < lastIndex; i++) { + const hashString = Hash.prototype.toString.call(hashes[i], opts) + + if (hashString) { + shouldAddFirstSep = true + + complement += hashString + complement += sep + } + } + + const finalHashString = Hash.prototype.toString.call(hashes[lastIndex], opts) + + if (finalHashString) { + shouldAddFirstSep = true + complement += finalHashString + } + + if (toStringIsNotEmpty && shouldAddFirstSep) { + return toString + sep + complement + } + + return toString + complement +} + +class Integrity { + get isIntegrity () { + return true + } + + toJSON () { + return this.toString() + } + + isEmpty () { + return Object.keys(this).length === 0 + } + + toString (opts) { + let sep = opts?.sep || ' ' + let toString = '' + + if (opts?.strict) { + // Entries must be separated by whitespace, according to spec. + sep = sep.replace(/\S+/g, ' ') + + for (const hash of SPEC_ALGORITHMS) { + if (this[hash]) { + toString = integrityHashToString(toString, sep, opts, this[hash]) + } + } + } else { + for (const hash of Object.keys(this)) { + toString = integrityHashToString(toString, sep, opts, this[hash]) + } + } + + return toString + } + + concat (integrity, opts) { + const other = typeof integrity === 'string' + ? integrity + : stringify(integrity, opts) + return parse(`${this.toString(opts)} ${other}`, opts) + } + + hexDigest () { + return parse(this, { single: true }).hexDigest() + } + + // add additional hashes to an integrity value, but prevent + // *changing* an existing integrity hash. + merge (integrity, opts) { + const other = parse(integrity, opts) + for (const algo in other) { + if (this[algo]) { + if (!this[algo].find(hash => + other[algo].find(otherhash => + hash.digest === otherhash.digest))) { + throw new Error('hashes do not match, cannot update integrity') + } + } else { + this[algo] = other[algo] + } + } + } + + match (integrity, opts) { + const other = parse(integrity, opts) + if (!other) { + return false + } + const algo = other.pickAlgorithm(opts, Object.keys(this)) + return ( + !!algo && + this[algo] && + other[algo] && + this[algo].find(hash => + other[algo].find(otherhash => + hash.digest === otherhash.digest + ) + ) + ) || false + } + + // Pick the highest priority algorithm present, optionally also limited to a + // set of hashes found in another integrity. When limiting it may return + // nothing. + pickAlgorithm (opts, hashes) { + const pickAlgorithm = opts?.pickAlgorithm || getPrioritizedHash + const keys = Object.keys(this).filter(k => { + if (hashes?.length) { + return hashes.includes(k) + } + return true + }) + if (keys.length) { + return keys.reduce((acc, algo) => pickAlgorithm(acc, algo) || acc) + } + // no intersection between this and hashes, + return null + } +} + +module.exports.parse = parse +function parse (sri, opts) { + if (!sri) { + return null + } + if (typeof sri === 'string') { + return _parse(sri, opts) + } else if (sri.algorithm && sri.digest) { + const fullSri = new Integrity() + fullSri[sri.algorithm] = [sri] + return _parse(stringify(fullSri, opts), opts) + } else { + return _parse(stringify(sri, opts), opts) + } +} + +function _parse (integrity, opts) { + // 3.4.3. Parse metadata + // https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata + if (opts?.single) { + return new Hash(integrity, opts) + } + const hashes = integrity.trim().split(/\s+/).reduce((acc, string) => { + const hash = new Hash(string, opts) + if (hash.algorithm && hash.digest) { + const algo = hash.algorithm + if (!acc[algo]) { + acc[algo] = [] + } + acc[algo].push(hash) + } + return acc + }, new Integrity()) + return hashes.isEmpty() ? null : hashes +} + +module.exports.stringify = stringify +function stringify (obj, opts) { + if (obj.algorithm && obj.digest) { + return Hash.prototype.toString.call(obj, opts) + } else if (typeof obj === 'string') { + return stringify(parse(obj, opts), opts) + } else { + return Integrity.prototype.toString.call(obj, opts) + } +} + +module.exports.fromHex = fromHex +function fromHex (hexDigest, algorithm, opts) { + const optString = getOptString(opts?.options) + return parse( + `${algorithm}-${ + Buffer.from(hexDigest, 'hex').toString('base64') + }${optString}`, opts + ) +} + +module.exports.fromData = fromData +function fromData (data, opts) { + const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS] + const optString = getOptString(opts?.options) + return algorithms.reduce((acc, algo) => { + const digest = crypto.createHash(algo).update(data).digest('base64') + const hash = new Hash( + `${algo}-${digest}${optString}`, + opts + ) + /* istanbul ignore else - it would be VERY strange if the string we + * just calculated with an algo did not have an algo or digest. + */ + if (hash.algorithm && hash.digest) { + const hashAlgo = hash.algorithm + if (!acc[hashAlgo]) { + acc[hashAlgo] = [] + } + acc[hashAlgo].push(hash) + } + return acc + }, new Integrity()) +} + +module.exports.fromStream = fromStream +function fromStream (stream, opts) { + const istream = integrityStream(opts) + return new Promise((resolve, reject) => { + stream.pipe(istream) + stream.on('error', reject) + istream.on('error', reject) + let sri + istream.on('integrity', s => { + sri = s + }) + istream.on('end', () => resolve(sri)) + istream.resume() + }) +} + +module.exports.checkData = checkData +function checkData (data, sri, opts) { + sri = parse(sri, opts) + if (!sri || !Object.keys(sri).length) { + if (opts?.error) { + throw Object.assign( + new Error('No valid integrity hashes to check against'), { + code: 'EINTEGRITY', + } + ) + } else { + return false + } + } + const algorithm = sri.pickAlgorithm(opts) + const digest = crypto.createHash(algorithm).update(data).digest('base64') + const newSri = parse({ algorithm, digest }) + const match = newSri.match(sri, opts) + opts = opts || {} + if (match || !(opts.error)) { + return match + } else if (typeof opts.size === 'number' && (data.length !== opts.size)) { + /* eslint-disable-next-line max-len */ + const err = new Error(`data size mismatch when checking ${sri}.\n Wanted: ${opts.size}\n Found: ${data.length}`) + err.code = 'EBADSIZE' + err.found = data.length + err.expected = opts.size + err.sri = sri + throw err + } else { + /* eslint-disable-next-line max-len */ + const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`) + err.code = 'EINTEGRITY' + err.found = newSri + err.expected = sri + err.algorithm = algorithm + err.sri = sri + throw err + } +} + +module.exports.checkStream = checkStream +function checkStream (stream, sri, opts) { + opts = opts || Object.create(null) + opts.integrity = sri + sri = parse(sri, opts) + if (!sri || !Object.keys(sri).length) { + return Promise.reject(Object.assign( + new Error('No valid integrity hashes to check against'), { + code: 'EINTEGRITY', + } + )) + } + const checker = integrityStream(opts) + return new Promise((resolve, reject) => { + stream.pipe(checker) + stream.on('error', reject) + checker.on('error', reject) + let verified + checker.on('verified', s => { + verified = s + }) + checker.on('end', () => resolve(verified)) + checker.resume() + }) +} + +module.exports.integrityStream = integrityStream +function integrityStream (opts = Object.create(null)) { + return new IntegrityStream(opts) +} + +module.exports.create = createIntegrity +function createIntegrity (opts) { + const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS] + const optString = getOptString(opts?.options) + + const hashes = algorithms.map(crypto.createHash) + + return { + update: function (chunk, enc) { + hashes.forEach(h => h.update(chunk, enc)) + return this + }, + digest: function () { + const integrity = algorithms.reduce((acc, algo) => { + const digest = hashes.shift().digest('base64') + const hash = new Hash( + `${algo}-${digest}${optString}`, + opts + ) + /* istanbul ignore else - it would be VERY strange if the hash we + * just calculated with an algo did not have an algo or digest. + */ + if (hash.algorithm && hash.digest) { + const hashAlgo = hash.algorithm + if (!acc[hashAlgo]) { + acc[hashAlgo] = [] + } + acc[hashAlgo].push(hash) + } + return acc + }, new Integrity()) + + return integrity + }, + } +} + +const NODE_HASHES = crypto.getHashes() + +// This is a Best Effort™ at a reasonable priority for hash algos +const DEFAULT_PRIORITY = [ + 'md5', 'whirlpool', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', + // TODO - it's unclear _which_ of these Node will actually use as its name + // for the algorithm, so we guesswork it based on the OpenSSL names. + 'sha3', + 'sha3-256', 'sha3-384', 'sha3-512', + 'sha3_256', 'sha3_384', 'sha3_512', +].filter(algo => NODE_HASHES.includes(algo)) + +function getPrioritizedHash (algo1, algo2) { + /* eslint-disable-next-line max-len */ + return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) + ? algo1 + : algo2 +} + + +/***/ }, + +/***/ 51952 +(module) { + +/** + * @preserve + * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013) + * + * @author Jens Taylor + * @see http://github.com/homebrewing/brauhaus-diff + * @author Gary Court + * @see http://github.com/garycourt/murmurhash-js + * @author Austin Appleby + * @see http://sites.google.com/site/murmurhash/ + */ +(function(){ + var cache; + + // Call this function without `new` to use the cached object (good for + // single-threaded environments), or with `new` to create a new object. + // + // @param {string} key A UTF-16 or ASCII string + // @param {number} seed An optional positive integer + // @return {object} A MurmurHash3 object for incremental hashing + function MurmurHash3(key, seed) { + var m = this instanceof MurmurHash3 ? this : cache; + m.reset(seed) + if (typeof key === 'string' && key.length > 0) { + m.hash(key); + } + + if (m !== this) { + return m; + } + }; + + // Incrementally add a string to this hash + // + // @param {string} key A UTF-16 or ASCII string + // @return {object} this + MurmurHash3.prototype.hash = function(key) { + var h1, k1, i, top, len; + + len = key.length; + this.len += len; + + k1 = this.k1; + i = 0; + switch (this.rem) { + case 0: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) : 0; + case 1: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 8 : 0; + case 2: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 16 : 0; + case 3: + k1 ^= len > i ? (key.charCodeAt(i) & 0xff) << 24 : 0; + k1 ^= len > i ? (key.charCodeAt(i++) & 0xff00) >> 8 : 0; + } + + this.rem = (len + this.rem) & 3; // & 3 is same as % 4 + len -= this.rem; + if (len > 0) { + h1 = this.h1; + while (1) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; + + h1 ^= k1; + h1 = (h1 << 13) | (h1 >>> 19); + h1 = (h1 * 5 + 0xe6546b64) & 0xffffffff; + + if (i >= len) { + break; + } + + k1 = ((key.charCodeAt(i++) & 0xffff)) ^ + ((key.charCodeAt(i++) & 0xffff) << 8) ^ + ((key.charCodeAt(i++) & 0xffff) << 16); + top = key.charCodeAt(i++); + k1 ^= ((top & 0xff) << 24) ^ + ((top & 0xff00) >> 8); + } + + k1 = 0; + switch (this.rem) { + case 3: k1 ^= (key.charCodeAt(i + 2) & 0xffff) << 16; + case 2: k1 ^= (key.charCodeAt(i + 1) & 0xffff) << 8; + case 1: k1 ^= (key.charCodeAt(i) & 0xffff); + } + + this.h1 = h1; + } + + this.k1 = k1; + return this; + }; + + // Get the result of this hash + // + // @return {number} The 32-bit hash + MurmurHash3.prototype.result = function() { + var k1, h1; + + k1 = this.k1; + h1 = this.h1; + + if (k1 > 0) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; + h1 ^= k1; + } + + h1 ^= this.len; + + h1 ^= h1 >>> 16; + h1 = (h1 * 0xca6b + (h1 & 0xffff) * 0x85eb0000) & 0xffffffff; + h1 ^= h1 >>> 13; + h1 = (h1 * 0xae35 + (h1 & 0xffff) * 0xc2b20000) & 0xffffffff; + h1 ^= h1 >>> 16; + + return h1 >>> 0; + }; + + // Reset the hash object for reuse + // + // @param {number} seed An optional positive integer + MurmurHash3.prototype.reset = function(seed) { + this.h1 = typeof seed === 'number' ? seed : 0; + this.rem = this.k1 = this.len = 0; + return this; + }; + + // A cached object to use. This can be safely used if you're in a single- + // threaded environment, otherwise you need to create new hashes to use. + cache = new MurmurHash3(); + + if (true) { + module.exports = MurmurHash3; + } else // removed by dead control flow +{} +}()); + + +/***/ }, + +/***/ 84233 +(module, __unused_webpack_exports, __webpack_require__) { + +const Minipass = __webpack_require__(89394) +const _flush = Symbol('_flush') +const _flushed = Symbol('_flushed') +const _flushing = Symbol('_flushing') +class Flush extends Minipass { + constructor (opt = {}) { + if (typeof opt === 'function') + opt = { flush: opt } + + super(opt) + + // or extend this class and provide a 'flush' method in your subclass + if (typeof opt.flush !== 'function' && typeof this.flush !== 'function') + throw new TypeError('must provide flush function in options') + + this[_flush] = opt.flush || this.flush + } + + emit (ev, ...data) { + if ((ev !== 'end' && ev !== 'finish') || this[_flushed]) + return super.emit(ev, ...data) + + if (this[_flushing]) + return + + this[_flushing] = true + + const afterFlush = er => { + this[_flushed] = true + er ? super.emit('error', er) : super.emit('end') + } + + const ret = this[_flush](afterFlush) + if (ret && ret.then) + ret.then(() => afterFlush(), er => afterFlush(er)) + } +} + +module.exports = Flush + + +/***/ }, + +/***/ 16155 +(module, __unused_webpack_exports, __webpack_require__) { + +const Minipass = __webpack_require__(89394) +const EE = __webpack_require__(24434) +const isStream = s => s && s instanceof EE && ( + typeof s.pipe === 'function' || // readable + (typeof s.write === 'function' && typeof s.end === 'function') // writable +) + +const _head = Symbol('_head') +const _tail = Symbol('_tail') +const _linkStreams = Symbol('_linkStreams') +const _setHead = Symbol('_setHead') +const _setTail = Symbol('_setTail') +const _onError = Symbol('_onError') +const _onData = Symbol('_onData') +const _onEnd = Symbol('_onEnd') +const _onDrain = Symbol('_onDrain') +const _streams = Symbol('_streams') +class Pipeline extends Minipass { + constructor (opts, ...streams) { + if (isStream(opts)) { + streams.unshift(opts) + opts = {} + } + + super(opts) + this[_streams] = [] + if (streams.length) + this.push(...streams) + } + + [_linkStreams] (streams) { + // reduce takes (left,right), and we return right to make it the + // new left value. + return streams.reduce((src, dest) => { + src.on('error', er => dest.emit('error', er)) + src.pipe(dest) + return dest + }) + } + + push (...streams) { + this[_streams].push(...streams) + if (this[_tail]) + streams.unshift(this[_tail]) + + const linkRet = this[_linkStreams](streams) + + this[_setTail](linkRet) + if (!this[_head]) + this[_setHead](streams[0]) + } + + unshift (...streams) { + this[_streams].unshift(...streams) + if (this[_head]) + streams.push(this[_head]) + + const linkRet = this[_linkStreams](streams) + this[_setHead](streams[0]) + if (!this[_tail]) + this[_setTail](linkRet) + } + + destroy (er) { + // set fire to the whole thing. + this[_streams].forEach(s => + typeof s.destroy === 'function' && s.destroy()) + return super.destroy(er) + } + + // readable interface -> tail + [_setTail] (stream) { + this[_tail] = stream + stream.on('error', er => this[_onError](stream, er)) + stream.on('data', chunk => this[_onData](stream, chunk)) + stream.on('end', () => this[_onEnd](stream)) + stream.on('finish', () => this[_onEnd](stream)) + } + + // errors proxied down the pipeline + // they're considered part of the "read" interface + [_onError] (stream, er) { + if (stream === this[_tail]) + this.emit('error', er) + } + [_onData] (stream, chunk) { + if (stream === this[_tail]) + super.write(chunk) + } + [_onEnd] (stream) { + if (stream === this[_tail]) + super.end() + } + pause () { + super.pause() + return this[_tail] && this[_tail].pause && this[_tail].pause() + } + + // NB: Minipass calls its internal private [RESUME] method during + // pipe drains, to avoid hazards where stream.resume() is overridden. + // Thus, we need to listen to the resume *event*, not override the + // resume() method, and proxy *that* to the tail. + emit (ev, ...args) { + if (ev === 'resume' && this[_tail] && this[_tail].resume) + this[_tail].resume() + return super.emit(ev, ...args) + } + + // writable interface -> head + [_setHead] (stream) { + this[_head] = stream + stream.on('drain', () => this[_onDrain](stream)) + } + [_onDrain] (stream) { + if (stream === this[_head]) + this.emit('drain') + } + write (chunk, enc, cb) { + return this[_head].write(chunk, enc, cb) && + (this.flowing || this.buffer.length === 0) + } + end (chunk, enc, cb) { + this[_head].end(chunk, enc, cb) + return this + } +} + +module.exports = Pipeline + + +/***/ }, + +/***/ 89394 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +const proc = typeof process === 'object' && process ? process : { + stdout: null, + stderr: null, +} +const EE = __webpack_require__(24434) +const Stream = __webpack_require__(2203) +const SD = (__webpack_require__(13193).StringDecoder) + +const EOF = Symbol('EOF') +const MAYBE_EMIT_END = Symbol('maybeEmitEnd') +const EMITTED_END = Symbol('emittedEnd') +const EMITTING_END = Symbol('emittingEnd') +const EMITTED_ERROR = Symbol('emittedError') +const CLOSED = Symbol('closed') +const READ = Symbol('read') +const FLUSH = Symbol('flush') +const FLUSHCHUNK = Symbol('flushChunk') +const ENCODING = Symbol('encoding') +const DECODER = Symbol('decoder') +const FLOWING = Symbol('flowing') +const PAUSED = Symbol('paused') +const RESUME = Symbol('resume') +const BUFFERLENGTH = Symbol('bufferLength') +const BUFFERPUSH = Symbol('bufferPush') +const BUFFERSHIFT = Symbol('bufferShift') +const OBJECTMODE = Symbol('objectMode') +const DESTROYED = Symbol('destroyed') +const EMITDATA = Symbol('emitData') +const EMITEND = Symbol('emitEnd') +const EMITEND2 = Symbol('emitEnd2') +const ASYNC = Symbol('async') + +const defer = fn => Promise.resolve().then(fn) + +// TODO remove when Node v8 support drops +const doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== '1' +const ASYNCITERATOR = doIter && Symbol.asyncIterator + || Symbol('asyncIterator not implemented') +const ITERATOR = doIter && Symbol.iterator + || Symbol('iterator not implemented') + +// events that mean 'the stream is over' +// these are treated specially, and re-emitted +// if they are listened for after emitting. +const isEndish = ev => + ev === 'end' || + ev === 'finish' || + ev === 'prefinish' + +const isArrayBuffer = b => b instanceof ArrayBuffer || + typeof b === 'object' && + b.constructor && + b.constructor.name === 'ArrayBuffer' && + b.byteLength >= 0 + +const isArrayBufferView = b => !Buffer.isBuffer(b) && ArrayBuffer.isView(b) + +class Pipe { + constructor (src, dest, opts) { + this.src = src + this.dest = dest + this.opts = opts + this.ondrain = () => src[RESUME]() + dest.on('drain', this.ondrain) + } + unpipe () { + this.dest.removeListener('drain', this.ondrain) + } + // istanbul ignore next - only here for the prototype + proxyErrors () {} + end () { + this.unpipe() + if (this.opts.end) + this.dest.end() + } +} + +class PipeProxyErrors extends Pipe { + unpipe () { + this.src.removeListener('error', this.proxyErrors) + super.unpipe() + } + constructor (src, dest, opts) { + super(src, dest, opts) + this.proxyErrors = er => dest.emit('error', er) + src.on('error', this.proxyErrors) + } +} + +module.exports = class Minipass extends Stream { + constructor (options) { + super() + this[FLOWING] = false + // whether we're explicitly paused + this[PAUSED] = false + this.pipes = [] + this.buffer = [] + this[OBJECTMODE] = options && options.objectMode || false + if (this[OBJECTMODE]) + this[ENCODING] = null + else + this[ENCODING] = options && options.encoding || null + if (this[ENCODING] === 'buffer') + this[ENCODING] = null + this[ASYNC] = options && !!options.async || false + this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null + this[EOF] = false + this[EMITTED_END] = false + this[EMITTING_END] = false + this[CLOSED] = false + this[EMITTED_ERROR] = null + this.writable = true + this.readable = true + this[BUFFERLENGTH] = 0 + this[DESTROYED] = false + } + + get bufferLength () { return this[BUFFERLENGTH] } + + get encoding () { return this[ENCODING] } + set encoding (enc) { + if (this[OBJECTMODE]) + throw new Error('cannot set encoding in objectMode') + + if (this[ENCODING] && enc !== this[ENCODING] && + (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH])) + throw new Error('cannot change encoding') + + if (this[ENCODING] !== enc) { + this[DECODER] = enc ? new SD(enc) : null + if (this.buffer.length) + this.buffer = this.buffer.map(chunk => this[DECODER].write(chunk)) + } + + this[ENCODING] = enc + } + + setEncoding (enc) { + this.encoding = enc + } + + get objectMode () { return this[OBJECTMODE] } + set objectMode (om) { this[OBJECTMODE] = this[OBJECTMODE] || !!om } + + get ['async'] () { return this[ASYNC] } + set ['async'] (a) { this[ASYNC] = this[ASYNC] || !!a } + + write (chunk, encoding, cb) { + if (this[EOF]) + throw new Error('write after end') + + if (this[DESTROYED]) { + this.emit('error', Object.assign( + new Error('Cannot call write after a stream was destroyed'), + { code: 'ERR_STREAM_DESTROYED' } + )) + return true + } + + if (typeof encoding === 'function') + cb = encoding, encoding = 'utf8' + + if (!encoding) + encoding = 'utf8' + + const fn = this[ASYNC] ? defer : f => f() + + // convert array buffers and typed array views into buffers + // at some point in the future, we may want to do the opposite! + // leave strings and buffers as-is + // anything else switches us into object mode + if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) { + if (isArrayBufferView(chunk)) + chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength) + else if (isArrayBuffer(chunk)) + chunk = Buffer.from(chunk) + else if (typeof chunk !== 'string') + // use the setter so we throw if we have encoding set + this.objectMode = true + } + + // handle object mode up front, since it's simpler + // this yields better performance, fewer checks later. + if (this[OBJECTMODE]) { + /* istanbul ignore if - maybe impossible? */ + if (this.flowing && this[BUFFERLENGTH] !== 0) + this[FLUSH](true) + + if (this.flowing) + this.emit('data', chunk) + else + this[BUFFERPUSH](chunk) + + if (this[BUFFERLENGTH] !== 0) + this.emit('readable') + + if (cb) + fn(cb) + + return this.flowing + } + + // at this point the chunk is a buffer or string + // don't buffer it up or send it to the decoder + if (!chunk.length) { + if (this[BUFFERLENGTH] !== 0) + this.emit('readable') + if (cb) + fn(cb) + return this.flowing + } + + // fast-path writing strings of same encoding to a stream with + // an empty buffer, skipping the buffer/decoder dance + if (typeof chunk === 'string' && + // unless it is a string already ready for us to use + !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) { + chunk = Buffer.from(chunk, encoding) + } + + if (Buffer.isBuffer(chunk) && this[ENCODING]) + chunk = this[DECODER].write(chunk) + + // Note: flushing CAN potentially switch us into not-flowing mode + if (this.flowing && this[BUFFERLENGTH] !== 0) + this[FLUSH](true) + + if (this.flowing) + this.emit('data', chunk) + else + this[BUFFERPUSH](chunk) + + if (this[BUFFERLENGTH] !== 0) + this.emit('readable') + + if (cb) + fn(cb) + + return this.flowing + } + + read (n) { + if (this[DESTROYED]) + return null + + if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) { + this[MAYBE_EMIT_END]() + return null + } + + if (this[OBJECTMODE]) + n = null + + if (this.buffer.length > 1 && !this[OBJECTMODE]) { + if (this.encoding) + this.buffer = [this.buffer.join('')] + else + this.buffer = [Buffer.concat(this.buffer, this[BUFFERLENGTH])] + } + + const ret = this[READ](n || null, this.buffer[0]) + this[MAYBE_EMIT_END]() + return ret + } + + [READ] (n, chunk) { + if (n === chunk.length || n === null) + this[BUFFERSHIFT]() + else { + this.buffer[0] = chunk.slice(n) + chunk = chunk.slice(0, n) + this[BUFFERLENGTH] -= n + } + + this.emit('data', chunk) + + if (!this.buffer.length && !this[EOF]) + this.emit('drain') + + return chunk + } + + end (chunk, encoding, cb) { + if (typeof chunk === 'function') + cb = chunk, chunk = null + if (typeof encoding === 'function') + cb = encoding, encoding = 'utf8' + if (chunk) + this.write(chunk, encoding) + if (cb) + this.once('end', cb) + this[EOF] = true + this.writable = false + + // if we haven't written anything, then go ahead and emit, + // even if we're not reading. + // we'll re-emit if a new 'end' listener is added anyway. + // This makes MP more suitable to write-only use cases. + if (this.flowing || !this[PAUSED]) + this[MAYBE_EMIT_END]() + return this + } + + // don't let the internal resume be overwritten + [RESUME] () { + if (this[DESTROYED]) + return + + this[PAUSED] = false + this[FLOWING] = true + this.emit('resume') + if (this.buffer.length) + this[FLUSH]() + else if (this[EOF]) + this[MAYBE_EMIT_END]() + else + this.emit('drain') + } + + resume () { + return this[RESUME]() + } + + pause () { + this[FLOWING] = false + this[PAUSED] = true + } + + get destroyed () { + return this[DESTROYED] + } + + get flowing () { + return this[FLOWING] + } + + get paused () { + return this[PAUSED] + } + + [BUFFERPUSH] (chunk) { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] += 1 + else + this[BUFFERLENGTH] += chunk.length + this.buffer.push(chunk) + } + + [BUFFERSHIFT] () { + if (this.buffer.length) { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] -= 1 + else + this[BUFFERLENGTH] -= this.buffer[0].length + } + return this.buffer.shift() + } + + [FLUSH] (noDrain) { + do {} while (this[FLUSHCHUNK](this[BUFFERSHIFT]())) + + if (!noDrain && !this.buffer.length && !this[EOF]) + this.emit('drain') + } + + [FLUSHCHUNK] (chunk) { + return chunk ? (this.emit('data', chunk), this.flowing) : false + } + + pipe (dest, opts) { + if (this[DESTROYED]) + return + + const ended = this[EMITTED_END] + opts = opts || {} + if (dest === proc.stdout || dest === proc.stderr) + opts.end = false + else + opts.end = opts.end !== false + opts.proxyErrors = !!opts.proxyErrors + + // piping an ended stream ends immediately + if (ended) { + if (opts.end) + dest.end() + } else { + this.pipes.push(!opts.proxyErrors ? new Pipe(this, dest, opts) + : new PipeProxyErrors(this, dest, opts)) + if (this[ASYNC]) + defer(() => this[RESUME]()) + else + this[RESUME]() + } + + return dest + } + + unpipe (dest) { + const p = this.pipes.find(p => p.dest === dest) + if (p) { + this.pipes.splice(this.pipes.indexOf(p), 1) + p.unpipe() + } + } + + addListener (ev, fn) { + return this.on(ev, fn) + } + + on (ev, fn) { + const ret = super.on(ev, fn) + if (ev === 'data' && !this.pipes.length && !this.flowing) + this[RESUME]() + else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) + super.emit('readable') + else if (isEndish(ev) && this[EMITTED_END]) { + super.emit(ev) + this.removeAllListeners(ev) + } else if (ev === 'error' && this[EMITTED_ERROR]) { + if (this[ASYNC]) + defer(() => fn.call(this, this[EMITTED_ERROR])) + else + fn.call(this, this[EMITTED_ERROR]) + } + return ret + } + + get emittedEnd () { + return this[EMITTED_END] + } + + [MAYBE_EMIT_END] () { + if (!this[EMITTING_END] && + !this[EMITTED_END] && + !this[DESTROYED] && + this.buffer.length === 0 && + this[EOF]) { + this[EMITTING_END] = true + this.emit('end') + this.emit('prefinish') + this.emit('finish') + if (this[CLOSED]) + this.emit('close') + this[EMITTING_END] = false + } + } + + emit (ev, data, ...extra) { + // error and close are only events allowed after calling destroy() + if (ev !== 'error' && ev !== 'close' && ev !== DESTROYED && this[DESTROYED]) + return + else if (ev === 'data') { + return !data ? false + : this[ASYNC] ? defer(() => this[EMITDATA](data)) + : this[EMITDATA](data) + } else if (ev === 'end') { + return this[EMITEND]() + } else if (ev === 'close') { + this[CLOSED] = true + // don't emit close before 'end' and 'finish' + if (!this[EMITTED_END] && !this[DESTROYED]) + return + const ret = super.emit('close') + this.removeAllListeners('close') + return ret + } else if (ev === 'error') { + this[EMITTED_ERROR] = data + const ret = super.emit('error', data) + this[MAYBE_EMIT_END]() + return ret + } else if (ev === 'resume') { + const ret = super.emit('resume') + this[MAYBE_EMIT_END]() + return ret + } else if (ev === 'finish' || ev === 'prefinish') { + const ret = super.emit(ev) + this.removeAllListeners(ev) + return ret + } + + // Some other unknown event + const ret = super.emit(ev, data, ...extra) + this[MAYBE_EMIT_END]() + return ret + } + + [EMITDATA] (data) { + for (const p of this.pipes) { + if (p.dest.write(data) === false) + this.pause() + } + const ret = super.emit('data', data) + this[MAYBE_EMIT_END]() + return ret + } + + [EMITEND] () { + if (this[EMITTED_END]) + return + + this[EMITTED_END] = true + this.readable = false + if (this[ASYNC]) + defer(() => this[EMITEND2]()) + else + this[EMITEND2]() + } + + [EMITEND2] () { + if (this[DECODER]) { + const data = this[DECODER].end() + if (data) { + for (const p of this.pipes) { + p.dest.write(data) + } + super.emit('data', data) + } + } + + for (const p of this.pipes) { + p.end() + } + const ret = super.emit('end') + this.removeAllListeners('end') + return ret + } + + // const all = await stream.collect() + collect () { + const buf = [] + if (!this[OBJECTMODE]) + buf.dataLength = 0 + // set the promise first, in case an error is raised + // by triggering the flow here. + const p = this.promise() + this.on('data', c => { + buf.push(c) + if (!this[OBJECTMODE]) + buf.dataLength += c.length + }) + return p.then(() => buf) + } + + // const data = await stream.concat() + concat () { + return this[OBJECTMODE] + ? Promise.reject(new Error('cannot concat in objectMode')) + : this.collect().then(buf => + this[OBJECTMODE] + ? Promise.reject(new Error('cannot concat in objectMode')) + : this[ENCODING] ? buf.join('') : Buffer.concat(buf, buf.dataLength)) + } + + // stream.promise().then(() => done, er => emitted error) + promise () { + return new Promise((resolve, reject) => { + this.on(DESTROYED, () => reject(new Error('stream destroyed'))) + this.on('error', er => reject(er)) + this.on('end', () => resolve()) + }) + } + + // for await (let chunk of stream) + [ASYNCITERATOR] () { + const next = () => { + const res = this.read() + if (res !== null) + return Promise.resolve({ done: false, value: res }) + + if (this[EOF]) + return Promise.resolve({ done: true }) + + let resolve = null + let reject = null + const onerr = er => { + this.removeListener('data', ondata) + this.removeListener('end', onend) + reject(er) + } + const ondata = value => { + this.removeListener('error', onerr) + this.removeListener('end', onend) + this.pause() + resolve({ value: value, done: !!this[EOF] }) + } + const onend = () => { + this.removeListener('error', onerr) + this.removeListener('data', ondata) + resolve({ done: true }) + } + const ondestroy = () => onerr(new Error('stream destroyed')) + return new Promise((res, rej) => { + reject = rej + resolve = res + this.once(DESTROYED, ondestroy) + this.once('error', onerr) + this.once('end', onend) + this.once('data', ondata) + }) + } + + return { next } + } + + // for (let chunk of stream) + [ITERATOR] () { + const next = () => { + const value = this.read() + const done = value === null + return { value, done } + } + return { next } + } + + destroy (er) { + if (this[DESTROYED]) { + if (er) + this.emit('error', er) + else + this.emit(DESTROYED) + return this + } + + this[DESTROYED] = true + + // throw away all buffered data, it's never coming out + this.buffer.length = 0 + this[BUFFERLENGTH] = 0 + + if (typeof this.close === 'function' && !this[CLOSED]) + this.close() + + if (er) + this.emit('error', er) + else // if no error to emit, still reject pending promises + this.emit(DESTROYED) + + return this + } + + static isStream (s) { + return !!s && (s instanceof Minipass || s instanceof Stream || + s instanceof EE && ( + typeof s.pipe === 'function' || // readable + (typeof s.write === 'function' && typeof s.end === 'function') // writable + )) + } +} + + +/***/ }, + +/***/ 13595 +(module, __unused_webpack_exports, __webpack_require__) { + +const ANY = Symbol('SemVer ANY') +// hoisted class for cyclic dependency +class Comparator { + static get ANY () { + return ANY + } + + constructor (comp, options) { + options = parseOptions(options) + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + comp = comp.trim().split(/\s+/).join(' ') + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) + } + + parse (comp) { + const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] + const m = comp.match(r) + + if (!m) { + throw new TypeError(`Invalid comparator: ${comp}`) + } + + this.operator = m[1] !== undefined ? m[1] : '' + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } + } + + toString () { + return this.value + } + + test (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY || version === ANY) { + return true + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + return cmp(version, this.operator, this.semver, this.options) + } + + intersects (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (this.operator === '') { + if (this.value === '') { + return true + } + return new Range(comp.value, options).test(this.value) + } else if (comp.operator === '') { + if (comp.value === '') { + return true + } + return new Range(this.value, options).test(comp.semver) + } + + options = parseOptions(options) + + // Special cases where nothing can possibly be lower + if (options.includePrerelease && + (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) { + return false + } + if (!options.includePrerelease && + (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) { + return false + } + + // Same direction increasing (> or >=) + if (this.operator.startsWith('>') && comp.operator.startsWith('>')) { + return true + } + // Same direction decreasing (< or <=) + if (this.operator.startsWith('<') && comp.operator.startsWith('<')) { + return true + } + // same SemVer and both sides are inclusive (<= or >=) + if ( + (this.semver.version === comp.semver.version) && + this.operator.includes('=') && comp.operator.includes('=')) { + return true + } + // opposite directions less than + if (cmp(this.semver, '<', comp.semver, options) && + this.operator.startsWith('>') && comp.operator.startsWith('<')) { + return true + } + // opposite directions greater than + if (cmp(this.semver, '>', comp.semver, options) && + this.operator.startsWith('<') && comp.operator.startsWith('>')) { + return true + } + return false + } +} + +module.exports = Comparator + +const parseOptions = __webpack_require__(9148) +const { safeRe: re, t } = __webpack_require__(20439) +const cmp = __webpack_require__(97950) +const debug = __webpack_require__(31967) +const SemVer = __webpack_require__(30579) +const Range = __webpack_require__(50358) + + +/***/ }, + +/***/ 50358 +(module, __unused_webpack_exports, __webpack_require__) { + +const SPACE_CHARACTERS = /\s+/g + +// hoisted class for cyclic dependency +class Range { + constructor (range, options) { + options = parseOptions(options) + + if (range instanceof Range) { + if ( + range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease + ) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + // just put it in the set and return + this.raw = range.value + this.set = [[range]] + this.formatted = undefined + return this + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First reduce all whitespace as much as possible so we do not have to rely + // on potentially slow regexes like \s*. This is then stored and used for + // future error messages as well. + this.raw = range.trim().replace(SPACE_CHARACTERS, ' ') + + // First, split on || + this.set = this.raw + .split('||') + // map the range to a 2d array of comparators + .map(r => this.parseRange(r.trim())) + // throw out any comparator lists that are empty + // this generally means that it was not a valid range, which is allowed + // in loose mode, but will still throw if the WHOLE range is invalid. + .filter(c => c.length) + + if (!this.set.length) { + throw new TypeError(`Invalid SemVer Range: ${this.raw}`) + } + + // if we have any that are not the null set, throw out null sets. + if (this.set.length > 1) { + // keep the first one, in case they're all null sets + const first = this.set[0] + this.set = this.set.filter(c => !isNullSet(c[0])) + if (this.set.length === 0) { + this.set = [first] + } else if (this.set.length > 1) { + // if we have any that are *, then the range is just * + for (const c of this.set) { + if (c.length === 1 && isAny(c[0])) { + this.set = [c] + break + } + } + } + } + + this.formatted = undefined + } + + get range () { + if (this.formatted === undefined) { + this.formatted = '' + for (let i = 0; i < this.set.length; i++) { + if (i > 0) { + this.formatted += '||' + } + const comps = this.set[i] + for (let k = 0; k < comps.length; k++) { + if (k > 0) { + this.formatted += ' ' + } + this.formatted += comps[k].toString().trim() + } + } + } + return this.formatted + } + + format () { + return this.range + } + + toString () { + return this.range + } + + parseRange (range) { + // memoize range parsing for performance. + // this is a very hot path, and fully deterministic. + const memoOpts = + (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | + (this.options.loose && FLAG_LOOSE) + const memoKey = memoOpts + ':' + range + const cached = cache.get(memoKey) + if (cached) { + return cached + } + + const loose = this.options.loose + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] + range = range.replace(hr, hyphenReplace(this.options.includePrerelease)) + debug('hyphen replace', range) + + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[t.TILDETRIM], tildeTrimReplace) + debug('tilde trim', range) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[t.CARETTRIM], caretTrimReplace) + debug('caret trim', range) + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + let rangeList = range + .split(' ') + .map(comp => parseComparator(comp, this.options)) + .join(' ') + .split(/\s+/) + // >=0.0.0 is equivalent to * + .map(comp => replaceGTE0(comp, this.options)) + + if (loose) { + // in loose mode, throw out any that are not valid comparators + rangeList = rangeList.filter(comp => { + debug('loose invalid filter', comp, this.options) + return !!comp.match(re[t.COMPARATORLOOSE]) + }) + } + debug('range list', rangeList) + + // if any comparators are the null set, then replace with JUST null set + // if more than one comparator, remove any * comparators + // also, don't include the same comparator more than once + const rangeMap = new Map() + const comparators = rangeList.map(comp => new Comparator(comp, this.options)) + for (const comp of comparators) { + if (isNullSet(comp)) { + return [comp] + } + rangeMap.set(comp.value, comp) + } + if (rangeMap.size > 1 && rangeMap.has('')) { + rangeMap.delete('') + } + + const result = [...rangeMap.values()] + cache.set(memoKey, result) + return result + } + + intersects (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some((thisComparators) => { + return ( + isSatisfiable(thisComparators, options) && + range.set.some((rangeComparators) => { + return ( + isSatisfiable(rangeComparators, options) && + thisComparators.every((thisComparator) => { + return rangeComparators.every((rangeComparator) => { + return thisComparator.intersects(rangeComparator, options) + }) + }) + ) + }) + ) + }) + } + + // if ANY of the sets match ALL of its comparators, then pass + test (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options) + } catch (er) { + return false + } + } + + for (let i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false + } +} + +module.exports = Range + +const LRU = __webpack_require__(62351) +const cache = new LRU() + +const parseOptions = __webpack_require__(9148) +const Comparator = __webpack_require__(13595) +const debug = __webpack_require__(31967) +const SemVer = __webpack_require__(30579) +const { + safeRe: re, + t, + comparatorTrimReplace, + tildeTrimReplace, + caretTrimReplace, +} = __webpack_require__(20439) +const { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = __webpack_require__(44821) + +const isNullSet = c => c.value === '<0.0.0-0' +const isAny = c => c.value === '' + +// take a set of comparators and determine whether there +// exists a version which can satisfy it +const isSatisfiable = (comparators, options) => { + let result = true + const remainingComparators = comparators.slice() + let testComparator = remainingComparators.pop() + + while (result && remainingComparators.length) { + result = remainingComparators.every((otherComparator) => { + return testComparator.intersects(otherComparator, options) + }) + + testComparator = remainingComparators.pop() + } + + return result +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +const parseComparator = (comp, options) => { + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +const isX = id => !id || id.toLowerCase() === 'x' || id === '*' + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 +// ~0.0.1 --> >=0.0.1 <0.1.0-0 +const replaceTildes = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceTilde(c, options)) + .join(' ') +} + +const replaceTilde = (comp, options) => { + const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] + return comp.replace(r, (_, M, m, p, pr) => { + debug('tilde', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0 <${+M + 1}.0.0-0` + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0-0 + ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0` + } else if (pr) { + debug('replaceTilde pr', pr) + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } else { + // ~1.2.3 == >=1.2.3 <1.3.0-0 + ret = `>=${M}.${m}.${p + } <${M}.${+m + 1}.0-0` + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 +// ^1.2.3 --> >=1.2.3 <2.0.0-0 +// ^1.2.0 --> >=1.2.0 <2.0.0-0 +// ^0.0.1 --> >=0.0.1 <0.0.2-0 +// ^0.1.0 --> >=0.1.0 <0.2.0-0 +const replaceCarets = (comp, options) => { + return comp + .trim() + .split(/\s+/) + .map((c) => replaceCaret(c, options)) + .join(' ') +} + +const replaceCaret = (comp, options) => { + debug('caret', comp, options) + const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] + const z = options.includePrerelease ? '-0' : '' + return comp.replace(r, (_, M, m, p, pr) => { + debug('caret', comp, _, M, m, p, pr) + let ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0` + } else if (isX(p)) { + if (M === '0') { + ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` + } else { + ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0` + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p}-${pr + } <${+M + 1}.0.0-0` + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = `>=${M}.${m}.${p + }${z} <${M}.${m}.${+p + 1}-0` + } else { + ret = `>=${M}.${m}.${p + }${z} <${M}.${+m + 1}.0-0` + } + } else { + ret = `>=${M}.${m}.${p + } <${+M + 1}.0.0-0` + } + } + + debug('caret return', ret) + return ret + }) +} + +const replaceXRanges = (comp, options) => { + debug('replaceXRanges', comp, options) + return comp + .split(/\s+/) + .map((c) => replaceXRange(c, options)) + .join(' ') +} + +const replaceXRange = (comp, options) => { + comp = comp.trim() + const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] + return comp.replace(r, (ret, gtlt, M, m, p, pr) => { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + const xM = isX(M) + const xm = xM || isX(m) + const xp = xm || isX(p) + const anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + pr = options.includePrerelease ? '-0' : '' + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + if (gtlt === '<') { + pr = '-0' + } + + ret = `${gtlt + M}.${m}.${p}${pr}` + } else if (xm) { + ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0` + } else if (xp) { + ret = `>=${M}.${m}.0${pr + } <${M}.${+m + 1}.0-0` + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +const replaceStars = (comp, options) => { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp + .trim() + .replace(re[t.STAR], '') +} + +const replaceGTE0 = (comp, options) => { + debug('replaceGTE0', comp, options) + return comp + .trim() + .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '') +} + +// This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0-0 +// TODO build? +const hyphenReplace = incPr => ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr) => { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = `>=${fM}.0.0${incPr ? '-0' : ''}` + } else if (isX(fp)) { + from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}` + } else if (fpr) { + from = `>=${from}` + } else { + from = `>=${from}${incPr ? '-0' : ''}` + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = `<${+tM + 1}.0.0-0` + } else if (isX(tp)) { + to = `<${tM}.${+tm + 1}.0-0` + } else if (tpr) { + to = `<=${tM}.${tm}.${tp}-${tpr}` + } else if (incPr) { + to = `<${tM}.${tm}.${+tp + 1}-0` + } else { + to = `<=${to}` + } + + return `${from} ${to}`.trim() +} + +const testSet = (set, version, options) => { + for (let i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (let i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === Comparator.ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + const allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} + + +/***/ }, + +/***/ 30579 +(module, __unused_webpack_exports, __webpack_require__) { + +const debug = __webpack_require__(31967) +const { MAX_LENGTH, MAX_SAFE_INTEGER } = __webpack_require__(44821) +const { safeRe: re, safeSrc: src, t } = __webpack_require__(20439) + +const parseOptions = __webpack_require__(9148) +const { compareIdentifiers } = __webpack_require__(7996) +class SemVer { + constructor (version, options) { + options = parseOptions(options) + + if (version instanceof SemVer) { + if (version.loose === !!options.loose && + version.includePrerelease === !!options.includePrerelease) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError( + `version is longer than ${MAX_LENGTH} characters` + ) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + // this isn't actually relevant for versions, but keep it so that we + // don't run into trouble passing this.options around. + this.includePrerelease = !!options.includePrerelease + + const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) + + if (!m) { + throw new TypeError(`Invalid Version: ${version}`) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map((id) => { + if (/^[0-9]+$/.test(id)) { + const num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() + } + + format () { + this.version = `${this.major}.${this.minor}.${this.patch}` + if (this.prerelease.length) { + this.version += `-${this.prerelease.join('.')}` + } + return this.version + } + + toString () { + return this.version + } + + compare (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + if (typeof other === 'string' && other === this.version) { + return 0 + } + other = new SemVer(other, this.options) + } + + if (other.version === this.version) { + return 0 + } + + return this.compareMain(other) || this.comparePre(other) + } + + compareMain (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return ( + compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) + ) + } + + comparePre (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + let i = 0 + do { + const a = this.prerelease[i] + const b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + compareBuild (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + let i = 0 + do { + const a = this.build[i] + const b = other.build[i] + debug('build compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) + } + + // preminor will bump the version up to the next minor release, and immediately + // down to pre-release. premajor and prepatch work the same way. + inc (release, identifier, identifierBase) { + if (release.startsWith('pre')) { + if (!identifier && identifierBase === false) { + throw new Error('invalid increment argument: identifier is empty') + } + // Avoid an invalid semver results + if (identifier) { + const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`) + const match = `-${identifier}`.match(r) + if (!match || match[1] !== identifier) { + throw new Error(`invalid identifier: ${identifier}`) + } + } + } + + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier, identifierBase) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier, identifierBase) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier, identifierBase) + this.inc('pre', identifier, identifierBase) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier, identifierBase) + } + this.inc('pre', identifier, identifierBase) + break + case 'release': + if (this.prerelease.length === 0) { + throw new Error(`version ${this.raw} is not a prerelease`) + } + this.prerelease.length = 0 + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if ( + this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0 + ) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. + case 'pre': { + const base = Number(identifierBase) ? 1 : 0 + + if (this.prerelease.length === 0) { + this.prerelease = [base] + } else { + let i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + if (identifier === this.prerelease.join('.') && identifierBase === false) { + throw new Error('invalid increment argument: identifier already exists') + } + this.prerelease.push(base) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + let prerelease = [identifier, base] + if (identifierBase === false) { + prerelease = [identifier] + } + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { + if (isNaN(this.prerelease[1])) { + this.prerelease = prerelease + } + } else { + this.prerelease = prerelease + } + } + break + } + default: + throw new Error(`invalid increment argument: ${release}`) + } + this.raw = this.format() + if (this.build.length) { + this.raw += `+${this.build.join('.')}` + } + return this + } +} + +module.exports = SemVer + + +/***/ }, + +/***/ 9871 +(module, __unused_webpack_exports, __webpack_require__) { + +const parse = __webpack_require__(57609) +const clean = (version, options) => { + const s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} +module.exports = clean + + +/***/ }, + +/***/ 97950 +(module, __unused_webpack_exports, __webpack_require__) { + +const eq = __webpack_require__(73858) +const neq = __webpack_require__(35270) +const gt = __webpack_require__(90287) +const gte = __webpack_require__(74620) +const lt = __webpack_require__(60744) +const lte = __webpack_require__(21797) + +const cmp = (a, op, b, loose) => { + switch (op) { + case '===': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a === b + + case '!==': + if (typeof a === 'object') { + a = a.version + } + if (typeof b === 'object') { + b = b.version + } + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError(`Invalid operator: ${op}`) + } +} +module.exports = cmp + + +/***/ }, + +/***/ 86433 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const parse = __webpack_require__(57609) +const { safeRe: re, t } = __webpack_require__(20439) + +const coerce = (version, options) => { + if (version instanceof SemVer) { + return version + } + + if (typeof version === 'number') { + version = String(version) + } + + if (typeof version !== 'string') { + return null + } + + options = options || {} + + let match = null + if (!options.rtl) { + match = version.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]) + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // With includePrerelease option set, '1.2.3.4-rc' wants to coerce '2.3.4-rc', not '2.3.4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL] + let next + while ((next = coerceRtlRegex.exec(version)) && + (!match || match.index + match[0].length !== version.length) + ) { + if (!match || + next.index + next[0].length !== match.index + match[0].length) { + match = next + } + coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length + } + // leave it in a clean state + coerceRtlRegex.lastIndex = -1 + } + + if (match === null) { + return null + } + + const major = match[2] + const minor = match[3] || '0' + const patch = match[4] || '0' + const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : '' + const build = options.includePrerelease && match[6] ? `+${match[6]}` : '' + + return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options) +} +module.exports = coerce + + +/***/ }, + +/***/ 104 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const compareBuild = (a, b, loose) => { + const versionA = new SemVer(a, loose) + const versionB = new SemVer(b, loose) + return versionA.compare(versionB) || versionA.compareBuild(versionB) +} +module.exports = compareBuild + + +/***/ }, + +/***/ 85650 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const compareLoose = (a, b) => compare(a, b, true) +module.exports = compareLoose + + +/***/ }, + +/***/ 35469 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const compare = (a, b, loose) => + new SemVer(a, loose).compare(new SemVer(b, loose)) + +module.exports = compare + + +/***/ }, + +/***/ 60031 +(module, __unused_webpack_exports, __webpack_require__) { + +const parse = __webpack_require__(57609) + +const diff = (version1, version2) => { + const v1 = parse(version1, null, true) + const v2 = parse(version2, null, true) + const comparison = v1.compare(v2) + + if (comparison === 0) { + return null + } + + const v1Higher = comparison > 0 + const highVersion = v1Higher ? v1 : v2 + const lowVersion = v1Higher ? v2 : v1 + const highHasPre = !!highVersion.prerelease.length + const lowHasPre = !!lowVersion.prerelease.length + + if (lowHasPre && !highHasPre) { + // Going from prerelease -> no prerelease requires some special casing + + // If the low version has only a major, then it will always be a major + // Some examples: + // 1.0.0-1 -> 1.0.0 + // 1.0.0-1 -> 1.1.1 + // 1.0.0-1 -> 2.0.0 + if (!lowVersion.patch && !lowVersion.minor) { + return 'major' + } + + // If the main part has no difference + if (lowVersion.compareMain(highVersion) === 0) { + if (lowVersion.minor && !lowVersion.patch) { + return 'minor' + } + return 'patch' + } + } + + // add the `pre` prefix if we are going to a prerelease version + const prefix = highHasPre ? 'pre' : '' + + if (v1.major !== v2.major) { + return prefix + 'major' + } + + if (v1.minor !== v2.minor) { + return prefix + 'minor' + } + + if (v1.patch !== v2.patch) { + return prefix + 'patch' + } + + // high and low are preleases + return 'prerelease' +} + +module.exports = diff + + +/***/ }, + +/***/ 73858 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const eq = (a, b, loose) => compare(a, b, loose) === 0 +module.exports = eq + + +/***/ }, + +/***/ 90287 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const gt = (a, b, loose) => compare(a, b, loose) > 0 +module.exports = gt + + +/***/ }, + +/***/ 74620 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const gte = (a, b, loose) => compare(a, b, loose) >= 0 +module.exports = gte + + +/***/ }, + +/***/ 15210 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) + +const inc = (version, release, options, identifier, identifierBase) => { + if (typeof (options) === 'string') { + identifierBase = identifier + identifier = options + options = undefined + } + + try { + return new SemVer( + version instanceof SemVer ? version.version : version, + options + ).inc(release, identifier, identifierBase).version + } catch (er) { + return null + } +} +module.exports = inc + + +/***/ }, + +/***/ 60744 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const lt = (a, b, loose) => compare(a, b, loose) < 0 +module.exports = lt + + +/***/ }, + +/***/ 21797 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const lte = (a, b, loose) => compare(a, b, loose) <= 0 +module.exports = lte + + +/***/ }, + +/***/ 20567 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const major = (a, loose) => new SemVer(a, loose).major +module.exports = major + + +/***/ }, + +/***/ 35331 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const minor = (a, loose) => new SemVer(a, loose).minor +module.exports = minor + + +/***/ }, + +/***/ 35270 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const neq = (a, b, loose) => compare(a, b, loose) !== 0 +module.exports = neq + + +/***/ }, + +/***/ 57609 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const parse = (version, options, throwErrors = false) => { + if (version instanceof SemVer) { + return version + } + try { + return new SemVer(version, options) + } catch (er) { + if (!throwErrors) { + return null + } + throw er + } +} + +module.exports = parse + + +/***/ }, + +/***/ 23468 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const patch = (a, loose) => new SemVer(a, loose).patch +module.exports = patch + + +/***/ }, + +/***/ 97866 +(module, __unused_webpack_exports, __webpack_require__) { + +const parse = __webpack_require__(57609) +const prerelease = (version, options) => { + const parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} +module.exports = prerelease + + +/***/ }, + +/***/ 92805 +(module, __unused_webpack_exports, __webpack_require__) { + +const compare = __webpack_require__(35469) +const rcompare = (a, b, loose) => compare(b, a, loose) +module.exports = rcompare + + +/***/ }, + +/***/ 60560 +(module, __unused_webpack_exports, __webpack_require__) { + +const compareBuild = __webpack_require__(104) +const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) +module.exports = rsort + + +/***/ }, + +/***/ 20211 +(module, __unused_webpack_exports, __webpack_require__) { + +const Range = __webpack_require__(50358) +const satisfies = (version, range, options) => { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} +module.exports = satisfies + + +/***/ }, + +/***/ 95064 +(module, __unused_webpack_exports, __webpack_require__) { + +const compareBuild = __webpack_require__(104) +const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) +module.exports = sort + + +/***/ }, + +/***/ 15460 +(module, __unused_webpack_exports, __webpack_require__) { + +const parse = __webpack_require__(57609) +const valid = (version, options) => { + const v = parse(version, options) + return v ? v.version : null +} +module.exports = valid + + +/***/ }, + +/***/ 95248 +(module, __unused_webpack_exports, __webpack_require__) { + +// just pre-load all the stuff that index.js lazily exports +const internalRe = __webpack_require__(20439) +const constants = __webpack_require__(44821) +const SemVer = __webpack_require__(30579) +const identifiers = __webpack_require__(7996) +const parse = __webpack_require__(57609) +const valid = __webpack_require__(15460) +const clean = __webpack_require__(9871) +const inc = __webpack_require__(15210) +const diff = __webpack_require__(60031) +const major = __webpack_require__(20567) +const minor = __webpack_require__(35331) +const patch = __webpack_require__(23468) +const prerelease = __webpack_require__(97866) +const compare = __webpack_require__(35469) +const rcompare = __webpack_require__(92805) +const compareLoose = __webpack_require__(85650) +const compareBuild = __webpack_require__(104) +const sort = __webpack_require__(95064) +const rsort = __webpack_require__(60560) +const gt = __webpack_require__(90287) +const lt = __webpack_require__(60744) +const eq = __webpack_require__(73858) +const neq = __webpack_require__(35270) +const gte = __webpack_require__(74620) +const lte = __webpack_require__(21797) +const cmp = __webpack_require__(97950) +const coerce = __webpack_require__(86433) +const Comparator = __webpack_require__(13595) +const Range = __webpack_require__(50358) +const satisfies = __webpack_require__(20211) +const toComparators = __webpack_require__(89478) +const maxSatisfying = __webpack_require__(4113) +const minSatisfying = __webpack_require__(18635) +const minVersion = __webpack_require__(1842) +const validRange = __webpack_require__(24457) +const outside = __webpack_require__(74448) +const gtr = __webpack_require__(64284) +const ltr = __webpack_require__(23045) +const intersects = __webpack_require__(67713) +const simplifyRange = __webpack_require__(8788) +const subset = __webpack_require__(40841) +module.exports = { + parse, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, + re: internalRe.re, + src: internalRe.src, + tokens: internalRe.t, + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + RELEASE_TYPES: constants.RELEASE_TYPES, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers, +} + + +/***/ }, + +/***/ 44821 +(module) { + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +const SEMVER_SPEC_VERSION = '2.0.0' + +const MAX_LENGTH = 256 +const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +const MAX_SAFE_COMPONENT_LENGTH = 16 + +// Max safe length for a build identifier. The max length minus 6 characters for +// the shortest version with a build 0.0.0+BUILD. +const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6 + +const RELEASE_TYPES = [ + 'major', + 'premajor', + 'minor', + 'preminor', + 'patch', + 'prepatch', + 'prerelease', +] + +module.exports = { + MAX_LENGTH, + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_SAFE_INTEGER, + RELEASE_TYPES, + SEMVER_SPEC_VERSION, + FLAG_INCLUDE_PRERELEASE: 0b001, + FLAG_LOOSE: 0b010, +} + + +/***/ }, + +/***/ 31967 +(module) { + +const debug = ( + typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG) +) ? (...args) => console.error('SEMVER', ...args) + : () => {} + +module.exports = debug + + +/***/ }, + +/***/ 7996 +(module) { + +const numeric = /^[0-9]+$/ +const compareIdentifiers = (a, b) => { + const anum = numeric.test(a) + const bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) + +module.exports = { + compareIdentifiers, + rcompareIdentifiers, +} + + +/***/ }, + +/***/ 62351 +(module) { + +class LRUCache { + constructor () { + this.max = 1000 + this.map = new Map() + } + + get (key) { + const value = this.map.get(key) + if (value === undefined) { + return undefined + } else { + // Remove the key from the map and add it to the end + this.map.delete(key) + this.map.set(key, value) + return value + } + } + + delete (key) { + return this.map.delete(key) + } + + set (key, value) { + const deleted = this.delete(key) + + if (!deleted && value !== undefined) { + // If cache is full, delete the least recently used item + if (this.map.size >= this.max) { + const firstKey = this.map.keys().next().value + this.delete(firstKey) + } + + this.map.set(key, value) + } + + return this + } +} + +module.exports = LRUCache + + +/***/ }, + +/***/ 9148 +(module) { + +// parse out just the options we care about +const looseOption = Object.freeze({ loose: true }) +const emptyOpts = Object.freeze({ }) +const parseOptions = options => { + if (!options) { + return emptyOpts + } + + if (typeof options !== 'object') { + return looseOption + } + + return options +} +module.exports = parseOptions + + +/***/ }, + +/***/ 20439 +(module, exports, __webpack_require__) { + +const { + MAX_SAFE_COMPONENT_LENGTH, + MAX_SAFE_BUILD_LENGTH, + MAX_LENGTH, +} = __webpack_require__(44821) +const debug = __webpack_require__(31967) +exports = module.exports = {} + +// The actual regexps go on exports.re +const re = exports.re = [] +const safeRe = exports.safeRe = [] +const src = exports.src = [] +const safeSrc = exports.safeSrc = [] +const t = exports.t = {} +let R = 0 + +const LETTERDASHNUMBER = '[a-zA-Z0-9-]' + +// Replace some greedy regex tokens to prevent regex dos issues. These regex are +// used internally via the safeRe object since all inputs in this library get +// normalized first to trim and collapse all extra whitespace. The original +// regexes are exported for userland consumption and lower level usage. A +// future breaking change could export the safer regex only with a note that +// all input should have extra whitespace removed. +const safeRegexReplacements = [ + ['\\s', 1], + ['\\d', MAX_LENGTH], + [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH], +] + +const makeSafeRegex = (value) => { + for (const [token, max] of safeRegexReplacements) { + value = value + .split(`${token}*`).join(`${token}{0,${max}}`) + .split(`${token}+`).join(`${token}{1,${max}}`) + } + return value +} + +const createToken = (name, value, isGlobal) => { + const safe = makeSafeRegex(value) + const index = R++ + debug(name, index, value) + t[name] = index + src[index] = value + safeSrc[index] = safe + re[index] = new RegExp(value, isGlobal ? 'g' : undefined) + safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) +} + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') +createToken('NUMERICIDENTIFIERLOOSE', '\\d+') + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`) + +// ## Main Version +// Three dot-separated numeric identifiers. + +createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})\\.` + + `(${src[t.NUMERICIDENTIFIER]})`) + +createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + + `(${src[t.NUMERICIDENTIFIERLOOSE]})`) + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] +}|${src[t.NONNUMERICIDENTIFIER]})`) + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] +}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) + +createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] +}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`) + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] +}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +createToken('FULLPLAIN', `v?${src[t.MAINVERSION] +}${src[t.PRERELEASE]}?${ + src[t.BUILD]}?`) + +createToken('FULL', `^${src[t.FULLPLAIN]}$`) + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] +}${src[t.PRERELEASELOOSE]}?${ + src[t.BUILD]}?`) + +createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) + +createToken('GTLT', '((?:<|>)?=?)') + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) +createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) + +createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + + `(?:${src[t.PRERELEASE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + + `(?:${src[t.PRERELEASELOOSE]})?${ + src[t.BUILD]}?` + + `)?)?`) + +createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) +createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +createToken('COERCEPLAIN', `${'(^|[^\\d])' + + '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + + `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`) +createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`) +createToken('COERCEFULL', src[t.COERCEPLAIN] + + `(?:${src[t.PRERELEASE]})?` + + `(?:${src[t.BUILD]})?` + + `(?:$|[^\\d])`) +createToken('COERCERTL', src[t.COERCE], true) +createToken('COERCERTLFULL', src[t.COERCEFULL], true) + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +createToken('LONETILDE', '(?:~>?)') + +createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) +exports.tildeTrimReplace = '$1~' + +createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) +createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +createToken('LONECARET', '(?:\\^)') + +createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) +exports.caretTrimReplace = '$1^' + +createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) +createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) +createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] +}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) +exports.comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAIN]})` + + `\\s*$`) + +createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + + `\\s+-\\s+` + + `(${src[t.XRANGEPLAINLOOSE]})` + + `\\s*$`) + +// Star ranges basically just allow anything at all. +createToken('STAR', '(<|>)?=?\\s*\\*') +// >=0.0.0 is like a star +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') + + +/***/ }, + +/***/ 64284 +(module, __unused_webpack_exports, __webpack_require__) { + +// Determine if version is greater than all the versions possible in the range. +const outside = __webpack_require__(74448) +const gtr = (version, range, options) => outside(version, range, '>', options) +module.exports = gtr + + +/***/ }, + +/***/ 67713 +(module, __unused_webpack_exports, __webpack_require__) { + +const Range = __webpack_require__(50358) +const intersects = (r1, r2, options) => { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2, options) +} +module.exports = intersects + + +/***/ }, + +/***/ 23045 +(module, __unused_webpack_exports, __webpack_require__) { + +const outside = __webpack_require__(74448) +// Determine if version is less than all the versions possible in the range +const ltr = (version, range, options) => outside(version, range, '<', options) +module.exports = ltr + + +/***/ }, + +/***/ 4113 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const Range = __webpack_require__(50358) + +const maxSatisfying = (versions, range, options) => { + let max = null + let maxSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} +module.exports = maxSatisfying + + +/***/ }, + +/***/ 18635 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const Range = __webpack_require__(50358) +const minSatisfying = (versions, range, options) => { + let min = null + let minSV = null + let rangeObj = null + try { + rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach((v) => { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} +module.exports = minSatisfying + + +/***/ }, + +/***/ 1842 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const Range = __webpack_require__(50358) +const gt = __webpack_require__(90287) + +const minVersion = (range, loose) => { + range = new Range(range, loose) + + let minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let setMin = null + comparators.forEach((comparator) => { + // Clone to avoid manipulating the comparator's semver object. + const compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!setMin || gt(compver, setMin)) { + setMin = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error(`Unexpected operation: ${comparator.operator}`) + } + }) + if (setMin && (!minver || gt(minver, setMin))) { + minver = setMin + } + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} +module.exports = minVersion + + +/***/ }, + +/***/ 74448 +(module, __unused_webpack_exports, __webpack_require__) { + +const SemVer = __webpack_require__(30579) +const Comparator = __webpack_require__(13595) +const { ANY } = Comparator +const Range = __webpack_require__(50358) +const satisfies = __webpack_require__(20211) +const gt = __webpack_require__(90287) +const lt = __webpack_require__(60744) +const lte = __webpack_require__(21797) +const gte = __webpack_require__(74620) + +const outside = (version, range, hilo, options) => { + version = new SemVer(version, options) + range = new Range(range, options) + + let gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisfies the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (let i = 0; i < range.set.length; ++i) { + const comparators = range.set[i] + + let high = null + let low = null + + comparators.forEach((comparator) => { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +module.exports = outside + + +/***/ }, + +/***/ 8788 +(module, __unused_webpack_exports, __webpack_require__) { + +// given a set of versions and a range, create a "simplified" range +// that includes the same versions that the original range does +// If the original range is shorter than the simplified one, return that. +const satisfies = __webpack_require__(20211) +const compare = __webpack_require__(35469) +module.exports = (versions, range, options) => { + const set = [] + let first = null + let prev = null + const v = versions.sort((a, b) => compare(a, b, options)) + for (const version of v) { + const included = satisfies(version, range, options) + if (included) { + prev = version + if (!first) { + first = version + } + } else { + if (prev) { + set.push([first, prev]) + } + prev = null + first = null + } + } + if (first) { + set.push([first, null]) + } + + const ranges = [] + for (const [min, max] of set) { + if (min === max) { + ranges.push(min) + } else if (!max && min === v[0]) { + ranges.push('*') + } else if (!max) { + ranges.push(`>=${min}`) + } else if (min === v[0]) { + ranges.push(`<=${max}`) + } else { + ranges.push(`${min} - ${max}`) + } + } + const simplified = ranges.join(' || ') + const original = typeof range.raw === 'string' ? range.raw : String(range) + return simplified.length < original.length ? simplified : range +} + + +/***/ }, + +/***/ 40841 +(module, __unused_webpack_exports, __webpack_require__) { + +const Range = __webpack_require__(50358) +const Comparator = __webpack_require__(13595) +const { ANY } = Comparator +const satisfies = __webpack_require__(20211) +const compare = __webpack_require__(35469) + +// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff: +// - Every simple range `r1, r2, ...` is a null set, OR +// - Every simple range `r1, r2, ...` which is not a null set is a subset of +// some `R1, R2, ...` +// +// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff: +// - If c is only the ANY comparator +// - If C is only the ANY comparator, return true +// - Else if in prerelease mode, return false +// - else replace c with `[>=0.0.0]` +// - If C is only the ANY comparator +// - if in prerelease mode, return true +// - else replace C with `[>=0.0.0]` +// - Let EQ be the set of = comparators in c +// - If EQ is more than one, return true (null set) +// - Let GT be the highest > or >= comparator in c +// - Let LT be the lowest < or <= comparator in c +// - If GT and LT, and GT.semver > LT.semver, return true (null set) +// - If any C is a = range, and GT or LT are set, return false +// - If EQ +// - If GT, and EQ does not satisfy GT, return true (null set) +// - If LT, and EQ does not satisfy LT, return true (null set) +// - If EQ satisfies every C, return true +// - Else return false +// - If GT +// - If GT.semver is lower than any > or >= comp in C, return false +// - If GT is >=, and GT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the GT.semver tuple, return false +// - If LT +// - If LT.semver is greater than any < or <= comp in C, return false +// - If LT is <=, and LT.semver does not satisfy every C, return false +// - If GT.semver has a prerelease, and not in prerelease mode +// - If no C has a prerelease and the LT.semver tuple, return false +// - Else return true + +const subset = (sub, dom, options = {}) => { + if (sub === dom) { + return true + } + + sub = new Range(sub, options) + dom = new Range(dom, options) + let sawNonNull = false + + OUTER: for (const simpleSub of sub.set) { + for (const simpleDom of dom.set) { + const isSub = simpleSubset(simpleSub, simpleDom, options) + sawNonNull = sawNonNull || isSub !== null + if (isSub) { + continue OUTER + } + } + // the null set is a subset of everything, but null simple ranges in + // a complex range should be ignored. so if we saw a non-null range, + // then we know this isn't a subset, but if EVERY simple range was null, + // then it is a subset. + if (sawNonNull) { + return false + } + } + return true +} + +const minimumVersionWithPreRelease = [new Comparator('>=0.0.0-0')] +const minimumVersion = [new Comparator('>=0.0.0')] + +const simpleSubset = (sub, dom, options) => { + if (sub === dom) { + return true + } + + if (sub.length === 1 && sub[0].semver === ANY) { + if (dom.length === 1 && dom[0].semver === ANY) { + return true + } else if (options.includePrerelease) { + sub = minimumVersionWithPreRelease + } else { + sub = minimumVersion + } + } + + if (dom.length === 1 && dom[0].semver === ANY) { + if (options.includePrerelease) { + return true + } else { + dom = minimumVersion + } + } + + const eqSet = new Set() + let gt, lt + for (const c of sub) { + if (c.operator === '>' || c.operator === '>=') { + gt = higherGT(gt, c, options) + } else if (c.operator === '<' || c.operator === '<=') { + lt = lowerLT(lt, c, options) + } else { + eqSet.add(c.semver) + } + } + + if (eqSet.size > 1) { + return null + } + + let gtltComp + if (gt && lt) { + gtltComp = compare(gt.semver, lt.semver, options) + if (gtltComp > 0) { + return null + } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { + return null + } + } + + // will iterate one or zero times + for (const eq of eqSet) { + if (gt && !satisfies(eq, String(gt), options)) { + return null + } + + if (lt && !satisfies(eq, String(lt), options)) { + return null + } + + for (const c of dom) { + if (!satisfies(eq, String(c), options)) { + return false + } + } + + return true + } + + let higher, lower + let hasDomLT, hasDomGT + // if the subset has a prerelease, we need a comparator in the superset + // with the same tuple and a prerelease, or it's not a subset + let needDomLTPre = lt && + !options.includePrerelease && + lt.semver.prerelease.length ? lt.semver : false + let needDomGTPre = gt && + !options.includePrerelease && + gt.semver.prerelease.length ? gt.semver : false + // exception: <1.2.3-0 is the same as <1.2.3 + if (needDomLTPre && needDomLTPre.prerelease.length === 1 && + lt.operator === '<' && needDomLTPre.prerelease[0] === 0) { + needDomLTPre = false + } + + for (const c of dom) { + hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>=' + hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<=' + if (gt) { + if (needDomGTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomGTPre.major && + c.semver.minor === needDomGTPre.minor && + c.semver.patch === needDomGTPre.patch) { + needDomGTPre = false + } + } + if (c.operator === '>' || c.operator === '>=') { + higher = higherGT(gt, c, options) + if (higher === c && higher !== gt) { + return false + } + } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { + return false + } + } + if (lt) { + if (needDomLTPre) { + if (c.semver.prerelease && c.semver.prerelease.length && + c.semver.major === needDomLTPre.major && + c.semver.minor === needDomLTPre.minor && + c.semver.patch === needDomLTPre.patch) { + needDomLTPre = false + } + } + if (c.operator === '<' || c.operator === '<=') { + lower = lowerLT(lt, c, options) + if (lower === c && lower !== lt) { + return false + } + } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { + return false + } + } + if (!c.operator && (lt || gt) && gtltComp !== 0) { + return false + } + } + + // if there was a < or >, and nothing in the dom, then must be false + // UNLESS it was limited by another range in the other direction. + // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 + if (gt && hasDomLT && !lt && gtltComp !== 0) { + return false + } + + if (lt && hasDomGT && !gt && gtltComp !== 0) { + return false + } + + // we needed a prerelease range in a specific tuple, but didn't get one + // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0, + // because it includes prereleases in the 1.2.3 tuple + if (needDomGTPre || needDomLTPre) { + return false + } + + return true +} + +// >=1.2.3 is lower than >1.2.3 +const higherGT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp > 0 ? a + : comp < 0 ? b + : b.operator === '>' && a.operator === '>=' ? b + : a +} + +// <=1.2.3 is higher than <1.2.3 +const lowerLT = (a, b, options) => { + if (!a) { + return b + } + const comp = compare(a.semver, b.semver, options) + return comp < 0 ? a + : comp > 0 ? b + : b.operator === '<' && a.operator === '<=' ? b + : a +} + +module.exports = subset + + +/***/ }, + +/***/ 89478 +(module, __unused_webpack_exports, __webpack_require__) { + +const Range = __webpack_require__(50358) + +// Mostly just for testing and legacy API reasons +const toComparators = (range, options) => + new Range(range, options).set + .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) + +module.exports = toComparators + + +/***/ }, + +/***/ 24457 +(module, __unused_webpack_exports, __webpack_require__) { + +const Range = __webpack_require__(50358) +const validRange = (range, options) => { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} +module.exports = validRange + + +/***/ }, + +/***/ 18735 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; +var __webpack_unused_export__; + + +const crypto = __webpack_require__(76982) +const { Minipass } = __webpack_require__(28300) + +const SPEC_ALGORITHMS = ['sha512', 'sha384', 'sha256'] +const DEFAULT_ALGORITHMS = ['sha512'] + +// TODO: this should really be a hardcoded list of algorithms we support, +// rather than [a-z0-9]. +const BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i +const SRI_REGEX = /^([a-z0-9]+)-([^?]+)([?\S*]*)$/ +const STRICT_SRI_REGEX = /^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/ +const VCHAR_REGEX = /^[\x21-\x7E]+$/ + +const getOptString = options => options?.length ? `?${options.join('?')}` : '' + +class IntegrityStream extends Minipass { + #emittedIntegrity + #emittedSize + #emittedVerified + + constructor (opts) { + super() + this.size = 0 + this.opts = opts + + // may be overridden later, but set now for class consistency + this.#getOptions() + + // options used for calculating stream. can't be changed. + if (opts?.algorithms) { + this.algorithms = [...opts.algorithms] + } else { + this.algorithms = [...DEFAULT_ALGORITHMS] + } + if (this.algorithm !== null && !this.algorithms.includes(this.algorithm)) { + this.algorithms.push(this.algorithm) + } + + this.hashes = this.algorithms.map(crypto.createHash) + } + + #getOptions () { + // For verification + this.sri = this.opts?.integrity ? parse(this.opts?.integrity, this.opts) : null + this.expectedSize = this.opts?.size + + if (!this.sri) { + this.algorithm = null + } else if (this.sri.isHash) { + this.goodSri = true + this.algorithm = this.sri.algorithm + } else { + this.goodSri = !this.sri.isEmpty() + this.algorithm = this.sri.pickAlgorithm(this.opts) + } + + this.digests = this.goodSri ? this.sri[this.algorithm] : null + this.optString = getOptString(this.opts?.options) + } + + on (ev, handler) { + if (ev === 'size' && this.#emittedSize) { + return handler(this.#emittedSize) + } + + if (ev === 'integrity' && this.#emittedIntegrity) { + return handler(this.#emittedIntegrity) + } + + if (ev === 'verified' && this.#emittedVerified) { + return handler(this.#emittedVerified) + } + + return super.on(ev, handler) + } + + emit (ev, data) { + if (ev === 'end') { + this.#onEnd() + } + return super.emit(ev, data) + } + + write (data) { + this.size += data.length + this.hashes.forEach(h => h.update(data)) + return super.write(data) + } + + #onEnd () { + if (!this.goodSri) { + this.#getOptions() + } + const newSri = parse(this.hashes.map((h, i) => { + return `${this.algorithms[i]}-${h.digest('base64')}${this.optString}` + }).join(' '), this.opts) + // Integrity verification mode + const match = this.goodSri && newSri.match(this.sri, this.opts) + if (typeof this.expectedSize === 'number' && this.size !== this.expectedSize) { + /* eslint-disable-next-line max-len */ + const err = new Error(`stream size mismatch when checking ${this.sri}.\n Wanted: ${this.expectedSize}\n Found: ${this.size}`) + err.code = 'EBADSIZE' + err.found = this.size + err.expected = this.expectedSize + err.sri = this.sri + this.emit('error', err) + } else if (this.sri && !match) { + /* eslint-disable-next-line max-len */ + const err = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`) + err.code = 'EINTEGRITY' + err.found = newSri + err.expected = this.digests + err.algorithm = this.algorithm + err.sri = this.sri + this.emit('error', err) + } else { + this.#emittedSize = this.size + this.emit('size', this.size) + this.#emittedIntegrity = newSri + this.emit('integrity', newSri) + if (match) { + this.#emittedVerified = match + this.emit('verified', match) + } + } + } +} + +class Hash { + get isHash () { + return true + } + + constructor (hash, opts) { + const strict = opts?.strict + this.source = hash.trim() + + // set default values so that we make V8 happy to + // always see a familiar object template. + this.digest = '' + this.algorithm = '' + this.options = [] + + // 3.1. Integrity metadata (called "Hash" by ssri) + // https://w3c.github.io/webappsec-subresource-integrity/#integrity-metadata-description + const match = this.source.match( + strict + ? STRICT_SRI_REGEX + : SRI_REGEX + ) + if (!match) { + return + } + if (strict && !SPEC_ALGORITHMS.includes(match[1])) { + return + } + this.algorithm = match[1] + this.digest = match[2] + + const rawOpts = match[3] + if (rawOpts) { + this.options = rawOpts.slice(1).split('?') + } + } + + hexDigest () { + return this.digest && Buffer.from(this.digest, 'base64').toString('hex') + } + + toJSON () { + return this.toString() + } + + match (integrity, opts) { + const other = parse(integrity, opts) + if (!other) { + return false + } + if (other.isIntegrity) { + const algo = other.pickAlgorithm(opts, [this.algorithm]) + + if (!algo) { + return false + } + + const foundHash = other[algo].find(hash => hash.digest === this.digest) + + if (foundHash) { + return foundHash + } + + return false + } + return other.digest === this.digest ? other : false + } + + toString (opts) { + if (opts?.strict) { + // Strict mode enforces the standard as close to the foot of the + // letter as it can. + if (!( + // The spec has very restricted productions for algorithms. + // https://www.w3.org/TR/CSP2/#source-list-syntax + SPEC_ALGORITHMS.includes(this.algorithm) && + // Usually, if someone insists on using a "different" base64, we + // leave it as-is, since there's multiple standards, and the + // specified is not a URL-safe variant. + // https://www.w3.org/TR/CSP2/#base64_value + this.digest.match(BASE64_REGEX) && + // Option syntax is strictly visual chars. + // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression + // https://tools.ietf.org/html/rfc5234#appendix-B.1 + this.options.every(opt => opt.match(VCHAR_REGEX)) + )) { + return '' + } + } + return `${this.algorithm}-${this.digest}${getOptString(this.options)}` + } +} + +function integrityHashToString (toString, sep, opts, hashes) { + const toStringIsNotEmpty = toString !== '' + + let shouldAddFirstSep = false + let complement = '' + + const lastIndex = hashes.length - 1 + + for (let i = 0; i < lastIndex; i++) { + const hashString = Hash.prototype.toString.call(hashes[i], opts) + + if (hashString) { + shouldAddFirstSep = true + + complement += hashString + complement += sep + } + } + + const finalHashString = Hash.prototype.toString.call(hashes[lastIndex], opts) + + if (finalHashString) { + shouldAddFirstSep = true + complement += finalHashString + } + + if (toStringIsNotEmpty && shouldAddFirstSep) { + return toString + sep + complement + } + + return toString + complement +} + +class Integrity { + get isIntegrity () { + return true + } + + toJSON () { + return this.toString() + } + + isEmpty () { + return Object.keys(this).length === 0 + } + + toString (opts) { + let sep = opts?.sep || ' ' + let toString = '' + + if (opts?.strict) { + // Entries must be separated by whitespace, according to spec. + sep = sep.replace(/\S+/g, ' ') + + for (const hash of SPEC_ALGORITHMS) { + if (this[hash]) { + toString = integrityHashToString(toString, sep, opts, this[hash]) + } + } + } else { + for (const hash of Object.keys(this)) { + toString = integrityHashToString(toString, sep, opts, this[hash]) + } + } + + return toString + } + + concat (integrity, opts) { + const other = typeof integrity === 'string' + ? integrity + : stringify(integrity, opts) + return parse(`${this.toString(opts)} ${other}`, opts) + } + + hexDigest () { + return parse(this, { single: true }).hexDigest() + } + + // add additional hashes to an integrity value, but prevent + // *changing* an existing integrity hash. + merge (integrity, opts) { + const other = parse(integrity, opts) + for (const algo in other) { + if (this[algo]) { + if (!this[algo].find(hash => + other[algo].find(otherhash => + hash.digest === otherhash.digest))) { + throw new Error('hashes do not match, cannot update integrity') + } + } else { + this[algo] = other[algo] + } + } + } + + match (integrity, opts) { + const other = parse(integrity, opts) + if (!other) { + return false + } + const algo = other.pickAlgorithm(opts, Object.keys(this)) + return ( + !!algo && + this[algo] && + other[algo] && + this[algo].find(hash => + other[algo].find(otherhash => + hash.digest === otherhash.digest + ) + ) + ) || false + } + + // Pick the highest priority algorithm present, optionally also limited to a + // set of hashes found in another integrity. When limiting it may return + // nothing. + pickAlgorithm (opts, hashes) { + const pickAlgorithm = opts?.pickAlgorithm || getPrioritizedHash + const keys = Object.keys(this).filter(k => { + if (hashes?.length) { + return hashes.includes(k) + } + return true + }) + if (keys.length) { + return keys.reduce((acc, algo) => pickAlgorithm(acc, algo) || acc) + } + // no intersection between this and hashes, + return null + } +} + +__webpack_unused_export__ = parse +function parse (sri, opts) { + if (!sri) { + return null + } + if (typeof sri === 'string') { + return _parse(sri, opts) + } else if (sri.algorithm && sri.digest) { + const fullSri = new Integrity() + fullSri[sri.algorithm] = [sri] + return _parse(stringify(fullSri, opts), opts) + } else { + return _parse(stringify(sri, opts), opts) + } +} + +function _parse (integrity, opts) { + // 3.4.3. Parse metadata + // https://w3c.github.io/webappsec-subresource-integrity/#parse-metadata + if (opts?.single) { + return new Hash(integrity, opts) + } + const hashes = integrity.trim().split(/\s+/).reduce((acc, string) => { + const hash = new Hash(string, opts) + if (hash.algorithm && hash.digest) { + const algo = hash.algorithm + if (!acc[algo]) { + acc[algo] = [] + } + acc[algo].push(hash) + } + return acc + }, new Integrity()) + return hashes.isEmpty() ? null : hashes +} + +__webpack_unused_export__ = stringify +function stringify (obj, opts) { + if (obj.algorithm && obj.digest) { + return Hash.prototype.toString.call(obj, opts) + } else if (typeof obj === 'string') { + return stringify(parse(obj, opts), opts) + } else { + return Integrity.prototype.toString.call(obj, opts) + } +} + +__webpack_unused_export__ = fromHex +function fromHex (hexDigest, algorithm, opts) { + const optString = getOptString(opts?.options) + return parse( + `${algorithm}-${ + Buffer.from(hexDigest, 'hex').toString('base64') + }${optString}`, opts + ) +} + +module.exports.Bw = fromData +function fromData (data, opts) { + const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS] + const optString = getOptString(opts?.options) + return algorithms.reduce((acc, algo) => { + const digest = crypto.createHash(algo).update(data).digest('base64') + const hash = new Hash( + `${algo}-${digest}${optString}`, + opts + ) + /* istanbul ignore else - it would be VERY strange if the string we + * just calculated with an algo did not have an algo or digest. + */ + if (hash.algorithm && hash.digest) { + const hashAlgo = hash.algorithm + if (!acc[hashAlgo]) { + acc[hashAlgo] = [] + } + acc[hashAlgo].push(hash) + } + return acc + }, new Integrity()) +} + +__webpack_unused_export__ = fromStream +function fromStream (stream, opts) { + const istream = integrityStream(opts) + return new Promise((resolve, reject) => { + stream.pipe(istream) + stream.on('error', reject) + istream.on('error', reject) + let sri + istream.on('integrity', s => { + sri = s + }) + istream.on('end', () => resolve(sri)) + istream.resume() + }) +} + +__webpack_unused_export__ = checkData +function checkData (data, sri, opts) { + sri = parse(sri, opts) + if (!sri || !Object.keys(sri).length) { + if (opts?.error) { + throw Object.assign( + new Error('No valid integrity hashes to check against'), { + code: 'EINTEGRITY', + } + ) + } else { + return false + } + } + const algorithm = sri.pickAlgorithm(opts) + const digest = crypto.createHash(algorithm).update(data).digest('base64') + const newSri = parse({ algorithm, digest }) + const match = newSri.match(sri, opts) + opts = opts || {} + if (match || !(opts.error)) { + return match + } else if (typeof opts.size === 'number' && (data.length !== opts.size)) { + /* eslint-disable-next-line max-len */ + const err = new Error(`data size mismatch when checking ${sri}.\n Wanted: ${opts.size}\n Found: ${data.length}`) + err.code = 'EBADSIZE' + err.found = data.length + err.expected = opts.size + err.sri = sri + throw err + } else { + /* eslint-disable-next-line max-len */ + const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`) + err.code = 'EINTEGRITY' + err.found = newSri + err.expected = sri + err.algorithm = algorithm + err.sri = sri + throw err + } +} + +__webpack_unused_export__ = checkStream +function checkStream (stream, sri, opts) { + opts = opts || Object.create(null) + opts.integrity = sri + sri = parse(sri, opts) + if (!sri || !Object.keys(sri).length) { + return Promise.reject(Object.assign( + new Error('No valid integrity hashes to check against'), { + code: 'EINTEGRITY', + } + )) + } + const checker = integrityStream(opts) + return new Promise((resolve, reject) => { + stream.pipe(checker) + stream.on('error', reject) + checker.on('error', reject) + let verified + checker.on('verified', s => { + verified = s + }) + checker.on('end', () => resolve(verified)) + checker.resume() + }) +} + +__webpack_unused_export__ = integrityStream +function integrityStream (opts = Object.create(null)) { + return new IntegrityStream(opts) +} + +__webpack_unused_export__ = createIntegrity +function createIntegrity (opts) { + const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS] + const optString = getOptString(opts?.options) + + const hashes = algorithms.map(crypto.createHash) + + return { + update: function (chunk, enc) { + hashes.forEach(h => h.update(chunk, enc)) + return this + }, + digest: function () { + const integrity = algorithms.reduce((acc, algo) => { + const digest = hashes.shift().digest('base64') + const hash = new Hash( + `${algo}-${digest}${optString}`, + opts + ) + /* istanbul ignore else - it would be VERY strange if the hash we + * just calculated with an algo did not have an algo or digest. + */ + if (hash.algorithm && hash.digest) { + const hashAlgo = hash.algorithm + if (!acc[hashAlgo]) { + acc[hashAlgo] = [] + } + acc[hashAlgo].push(hash) + } + return acc + }, new Integrity()) + + return integrity + }, + } +} + +const NODE_HASHES = crypto.getHashes() + +// This is a Best Effort™ at a reasonable priority for hash algos +const DEFAULT_PRIORITY = [ + 'md5', 'whirlpool', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512', + // TODO - it's unclear _which_ of these Node will actually use as its name + // for the algorithm, so we guesswork it based on the OpenSSL names. + 'sha3', + 'sha3-256', 'sha3-384', 'sha3-512', + 'sha3_256', 'sha3_384', 'sha3_512', +].filter(algo => NODE_HASHES.includes(algo)) + +function getPrioritizedHash (algo1, algo2) { + /* eslint-disable-next-line max-len */ + return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) + ? algo1 + : algo2 +} + + +/***/ }, + +/***/ 35787 +(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(16928) + +var uniqueSlug = __webpack_require__(36309) + +module.exports = function (filepath, prefix, uniq) { + return path.join(filepath, (prefix ? prefix + '-' : '') + uniqueSlug(uniq)) +} + + +/***/ }, + +/***/ 36309 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +var MurmurHash3 = __webpack_require__(51952) + +module.exports = function (uniq) { + if (uniq) { + var hash = new MurmurHash3(uniq) + return ('00000000' + hash.result().toString(16)).slice(-8) + } else { + return (Math.random().toString(16) + '0000000').slice(2, 10) + } +} + + +/***/ }, + +/***/ 35956 +(module) { + +"use strict"; + +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + if(a===b) { + return [ai, bi]; + } + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + + +/***/ }, + +/***/ 13987 +(module, __unused_webpack_exports, __webpack_require__) { + +var balanced = __webpack_require__(35956); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m) return [str]; + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + if (/\$$/.test(m.pre)) { + for (var k = 0; k < post.length; k++) { + var expansion = pre+ '{' + m.body + '}' + post[k]; + expansions.push(expansion); + } + } else { + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,(?!,).*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = []; + + for (var j = 0; j < n.length; j++) { + N.push.apply(N, expand(n[j], false)); + } + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + } + + return expansions; +} + + + +/***/ }, + +/***/ 67825 +(module) { + +/* eslint-disable node/no-deprecated-api */ + +var toString = Object.prototype.toString + +var isModern = ( + typeof Buffer !== 'undefined' && + typeof Buffer.alloc === 'function' && + typeof Buffer.allocUnsafe === 'function' && + typeof Buffer.from === 'function' +) + +function isArrayBuffer (input) { + return toString.call(input).slice(8, -1) === 'ArrayBuffer' +} + +function fromArrayBuffer (obj, byteOffset, length) { + byteOffset >>>= 0 + + var maxLength = obj.byteLength - byteOffset + + if (maxLength < 0) { + throw new RangeError("'offset' is out of bounds") + } + + if (length === undefined) { + length = maxLength + } else { + length >>>= 0 + + if (length > maxLength) { + throw new RangeError("'length' is out of bounds") + } + } + + return isModern + ? Buffer.from(obj.slice(byteOffset, byteOffset + length)) + : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length))) +} + +function fromString (string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + return isModern + ? Buffer.from(string, encoding) + : new Buffer(string, encoding) +} + +function bufferFrom (value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (isArrayBuffer(value)) { + return fromArrayBuffer(value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(value, encodingOrOffset) + } + + return isModern + ? Buffer.from(value) + : new Buffer(value) +} + +module.exports = bufferFrom + + +/***/ }, + +/***/ 14128 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const variable = __webpack_require__(35167) +const EnvVarError = __webpack_require__(86415) + +/** + * Returns an "env-var" instance that reads from the given container of values. + * By default, we export an instance that reads from process.env + * @param {Object} container target container to read values from + * @param {Object} extraAccessors additional accessors to attach to the + * resulting object + * @return {Object} a new module instance + */ +const from = (container, extraAccessors, logger) => { + return { + from: from, + + /** + * This is the Error class used to generate exceptions. Can be used to identify + * exceptions and handle them appropriately. + */ + EnvVarError: __webpack_require__(86415), + + /** + * Returns a variable instance with helper functions, or process.env + * @param {String} variableName Name of the environment variable requested + * @return {Object} + */ + get: function (variableName) { + if (!variableName) { + return container + } + + if (arguments.length > 1) { + throw new EnvVarError('It looks like you passed more than one argument to env.get(). Since env-var@6.0.0 this is no longer supported. To set a default value use env.get(TARGET).default(DEFAULT)') + } + + return variable(container, variableName, extraAccessors || {}, logger || function noopLogger () {}) + }, + + /** + * Provides access to the functions that env-var uses to parse + * process.env strings into valid types requested by the API + */ + accessors: __webpack_require__(55172), + + /** + * Provides a default logger that can be used to print logs. + * This will not print logs in a production environment (checks process.env.NODE_ENV) + */ + logger: __webpack_require__(69291)(console.log, container.NODE_ENV) + } +} + +/** + * Makes a best-effort attempt to load environment variables in + * different environments, e.g create-react-app, vite, Node.js + * @returns Object + */ +function getProcessEnv () { + /* istanbul ignore next */ + try { + return process.env + } catch (e) { + return {} + } +} + +/* istanbul ignore next */ +module.exports = from(getProcessEnv()) + + +/***/ }, + +/***/ 2901 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asString = __webpack_require__(26411) + +module.exports = function asArray (value, delimiter) { + delimiter = delimiter || ',' + + if (!value.length) { + return [] + } else { + return asString(value).split(delimiter).filter(Boolean) + } +} + + +/***/ }, + +/***/ 14314 +(module) { + +"use strict"; + + +module.exports = function asBoolStrict (value) { + const val = value.toLowerCase() + + if ((val !== 'false') && (val !== 'true')) { + throw new Error('should be either "true", "false", "TRUE", or "FALSE"') + } + + return val !== 'false' +} + + +/***/ }, + +/***/ 14450 +(module) { + +"use strict"; + + +module.exports = function asBool (value) { + const val = value.toLowerCase() + + const allowedValues = [ + 'false', + '0', + 'true', + '1' + ] + + if (allowedValues.indexOf(val) === -1) { + throw new Error('should be either "true", "false", "TRUE", "FALSE", 1, or 0') + } + + return !(((val === '0') || (val === 'false'))) +} + + +/***/ }, + +/***/ 30096 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asString = __webpack_require__(26411) + +// eslint-disable-next-line no-control-regex +const EMAIL_REGEX = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021\u0023-\u005b\u005d-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021-\u005a\u0053-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])+)\])$/ + +module.exports = function asEmailString (value) { + const strValue = asString(value) + + if (!EMAIL_REGEX.test(strValue)) { + throw new Error('should be a valid email address') + } + + return strValue +} + + +/***/ }, + +/***/ 83859 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asString = __webpack_require__(26411) + +module.exports = function asEnum (value, validValues) { + const valueString = asString(value) + + if (validValues.indexOf(valueString) < 0) { + throw new Error(`should be one of [${validValues.join(', ')}]`) + } + + return valueString +} + + +/***/ }, + +/***/ 6680 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asFloat = __webpack_require__(63706) + +module.exports = function asFloatNegative (value) { + const ret = asFloat(value) + + if (ret > 0) { + throw new Error('should be a negative float') + } + + return ret +} + + +/***/ }, + +/***/ 78436 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asFloat = __webpack_require__(63706) + +module.exports = function asFloatPositive (value) { + const ret = asFloat(value) + + if (ret < 0) { + throw new Error('should be a positive float') + } + + return ret +} + + +/***/ }, + +/***/ 63706 +(module) { + +"use strict"; + + +module.exports = function asFloat (value) { + const n = parseFloat(value) + + // Some values are parsed as valid floats despite being obviously invalid, e.g. "1.o" or "192.168.1.1". + // In these cases we would want to throw an error. + if (isNaN(n) || isNaN(value)) { + throw new Error('should be a valid float') + } + + return n +} + + +/***/ }, + +/***/ 55172 +(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = { + asArray: __webpack_require__(2901), + asSet: __webpack_require__(12076), + + asBoolStrict: __webpack_require__(14314), + asBool: __webpack_require__(14450), + + asPortNumber: __webpack_require__(92901), + asEnum: __webpack_require__(83859), + + asFloatNegative: __webpack_require__(6680), + asFloatPositive: __webpack_require__(78436), + asFloat: __webpack_require__(63706), + + asIntNegative: __webpack_require__(85325), + asIntPositive: __webpack_require__(86477), + asInt: __webpack_require__(24541), + + asJsonArray: __webpack_require__(90036), + asJsonObject: __webpack_require__(2862), + asJson: __webpack_require__(51884), + + asRegExp: __webpack_require__(72315), + + asString: __webpack_require__(26411), + + asUrlObject: __webpack_require__(84693), + asUrlString: __webpack_require__(89455), + + asEmailString: __webpack_require__(30096) +} + + +/***/ }, + +/***/ 85325 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asInt = __webpack_require__(24541) + +module.exports = function asIntNegative (value) { + const ret = asInt(value) + + if (ret > 0) { + throw new Error('should be a negative integer') + } + + return ret +} + + +/***/ }, + +/***/ 86477 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asInt = __webpack_require__(24541) + +module.exports = function asIntPositive (value) { + const ret = asInt(value) + + if (ret < 0) { + throw new Error('should be a positive integer') + } + + return ret +} + + +/***/ }, + +/***/ 24541 +(module) { + +"use strict"; + + +module.exports = function asInt (value) { + const n = parseInt(value, 10) + + if (isNaN(n) || n.toString(10) !== value) { + throw new Error('should be a valid integer') + } + + return n +} + + +/***/ }, + +/***/ 90036 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asJson = __webpack_require__(51884) + +module.exports = function asJsonArray (value) { + var ret = asJson(value) + + if (!Array.isArray(ret)) { + throw new Error('should be a parseable JSON Array') + } + + return ret +} + + +/***/ }, + +/***/ 2862 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asJson = __webpack_require__(51884) + +module.exports = function asJsonObject (value) { + var ret = asJson(value) + + if (Array.isArray(ret)) { + throw new Error('should be a parseable JSON Object') + } + + return ret +} + + +/***/ }, + +/***/ 51884 +(module) { + +"use strict"; + + +module.exports = function asJson (value) { + try { + return JSON.parse(value) + } catch (e) { + throw new Error('should be valid (parseable) JSON') + } +} + + +/***/ }, + +/***/ 92901 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asIntPositive = __webpack_require__(86477) + +module.exports = function asPortNumber (value) { + var ret = asIntPositive(value) + + if (ret > 65535) { + throw new Error('cannot assign a port number greater than 65535') + } + + return ret +} + + +/***/ }, + +/***/ 72315 +(module) { + +"use strict"; + + +module.exports = function asRegExp (value, flags) { + // We have to test the value and flags indivudally if we want to write our + // own error messages,as there is no way to differentiate between the two + // errors except by using string comparisons. + + // Test the flags + try { + RegExp(undefined, flags) + } catch (err) { + throw new Error('invalid regexp flags') + } + + try { + return new RegExp(value, flags) + } catch (err) { + // We know that the regexp is the issue because we tested the flags earlier + throw new Error('should be a valid regexp') + } +} + + +/***/ }, + +/***/ 12076 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asArray = __webpack_require__(2901) + +module.exports = function asSet (value, delimiter) { + if (!value.length) { + return new Set() + } else { + return new Set(asArray(value, delimiter)) + } +} + + +/***/ }, + +/***/ 26411 +(module) { + +"use strict"; + + +module.exports = function asString (value) { + return value +} + + +/***/ }, + +/***/ 84693 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const asString = __webpack_require__(26411) + +module.exports = function asUrlObject (value) { + const ret = asString(value) + + try { + return new URL(ret) + } catch (e) { + throw new Error('should be a valid URL') + } +} + + +/***/ }, + +/***/ 89455 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const urlObject = __webpack_require__(84693) + +module.exports = function asUrlString (value) { + return urlObject(value).toString() +} + + +/***/ }, + +/***/ 86415 +(module) { + +"use strict"; + + +/** + * Custom error class that can be used to identify errors generated + * by the module + * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error} + */ +class EnvVarError extends Error { + constructor (message, ...params) { + super(`env-var: ${message}`, ...params) + /* istanbul ignore else */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, EnvVarError) + } + + this.name = 'EnvVarError' + } +} + +module.exports = EnvVarError + + +/***/ }, + +/***/ 69291 +(module) { + +"use strict"; + + +/** + * Default logger included with env-var. + * Will not log anything if NODE_ENV is set to production + */ +module.exports = function genLogger (out, prodFlag) { + return function envVarLogger (varname, str) { + if (!prodFlag || !prodFlag.match(/prod|production/)) { + out(`env-var (${varname}): ${str}`) + } + } +} + + +/***/ }, + +/***/ 35167 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const EnvVarError = __webpack_require__(86415) +const base64Regex = /^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/ + +/** + * Returns an Object that contains functions to read and specify the format of + * the variable you wish to have returned + * @param {Object} container Encapsulated container (e.g., `process.env`). + * @param {String} varName Name of the requested property from `container`. + * @param {*} defValue Default value to return if `varName` is invalid. + * @param {Object} extraAccessors Extra accessors to install. + * @return {Object} + */ +module.exports = function getVariableAccessors (container, varName, extraAccessors, logger) { + let isBase64 = false + let isRequired = false + let defValue + let example + + const builtInAccessors = __webpack_require__(55172) + + /** + * Logs the given string using the provided logger + * @param {String} str + * @param {String} str + */ + function log (str) { + logger(varName, str) + } + + /** + * Throw an error with a consistent type/format. + * @param {String} value + */ + function raiseError (value, msg) { + let errMsg = `"${varName}" ${msg}` + + if (value) { + errMsg = `${errMsg}` + } + + if (example) { + errMsg = `${errMsg}. An example of a valid value would be: ${example}` + } + + throw new EnvVarError(errMsg) + } + + /** + * Returns an accessor wrapped by error handling and args passing logic + * @param {Function} accessor + */ + function generateAccessor (accessor) { + return function () { + let value = container[varName] + + log(`will be read from the environment using "${accessor.name}" accessor`) + + if (typeof value === 'undefined') { + if (typeof defValue === 'undefined' && isRequired) { + log('was not found in the environment, but is required to be set') + // Var is not set, nor is a default. Throw an error + raiseError(undefined, 'is a required variable, but it was not set') + } else if (typeof defValue !== 'undefined') { + log(`was not found in the environment, parsing default value "${defValue}" instead`) + value = defValue + } else { + log('was not found in the environment, but is not required. returning undefined') + // return undefined since variable is not required and + // there's no default value provided + return undefined + } + } + + if (isRequired) { + log('verifying variable value is not an empty string') + // Need to verify that required variables aren't just whitespace + if (value.trim().length === 0) { + raiseError(undefined, 'is a required variable, but its value was empty') + } + } + + if (isBase64) { + log('verifying variable is a valid base64 string') + if (!value.match(base64Regex)) { + raiseError(value, 'should be a valid base64 string if using convertFromBase64') + } + log('converting from base64 to utf8 string') + value = Buffer.from(value, 'base64').toString() + } + + const args = [value].concat(Array.prototype.slice.call(arguments)) + + try { + log(`passing value "${value}" to "${accessor.name}" accessor`) + + const result = accessor.apply( + accessor, + args + ) + + log(`parsed successfully, returning ${result}`) + return result + } catch (error) { + raiseError(value, error.message) + } + } + } + + const accessors = { + /** + * Instructs env-var to first convert the value of the variable from base64 + * when reading it using a function such as asString() + */ + convertFromBase64: function () { + log('marking for base64 conversion') + isBase64 = true + + return accessors + }, + + /** + * Set a default value for the variable + * @param {String} value + */ + default: function (value) { + if (typeof value === 'number') { + defValue = value.toString() + } else if (Array.isArray(value) || (typeof value === 'object' && value !== null)) { + defValue = JSON.stringify(value) + } else if (typeof value !== 'string') { + throw new EnvVarError('values passed to default() must be of Number, String, Array, or Object type') + } else { + defValue = value + } + + log(`setting default value to "${defValue}"`) + + return accessors + }, + + /** + * Ensures a variable is set in the given environment container. Throws an + * EnvVarError if the variable is not set or a default is not provided + * @param {Boolean} required + */ + required: function (required) { + if (typeof required === 'undefined') { + log('marked as required') + // If no value is passed assume that developer means "true" + // This is to retain support legacy usage (and intuitive) + isRequired = true + } else { + log(`setting required flag to ${required}`) + isRequired = required + } + + return accessors + }, + + /** + * Set an example value for this variable. If the variable value is not set + * or is set to an invalid value this example will be show in error output. + * @param {String} example + */ + example: function (ex) { + example = ex + + return accessors + } + } + + // Attach accessors, and extra accessors if provided. + Object.entries({ + ...builtInAccessors, + ...extraAccessors + }).forEach(([name, accessor]) => { + accessors[name] = generateAccessor(accessor) + }) + + return accessors +} + + +/***/ }, + +/***/ 16966 +(module, exports, __webpack_require__) { + +/* module decorator */ module = __webpack_require__.nmd(module); +var SourceMapConsumer = (__webpack_require__(81914).SourceMapConsumer); +var path = __webpack_require__(16928); + +var fs; +try { + fs = __webpack_require__(79896); + if (!fs.existsSync || !fs.readFileSync) { + // fs doesn't have all methods we need + fs = null; + } +} catch (err) { + /* nop */ +} + +var bufferFrom = __webpack_require__(67825); + +/** + * Requires a module which is protected against bundler minification. + * + * @param {NodeModule} mod + * @param {string} request + */ +function dynamicRequire(mod, request) { + return mod.require(request); +} + +// Only install once if called multiple times +var errorFormatterInstalled = false; +var uncaughtShimInstalled = false; + +// If true, the caches are reset before a stack trace formatting operation +var emptyCacheBetweenOperations = false; + +// Supports {browser, node, auto} +var environment = "auto"; + +// Maps a file path to a string containing the file contents +var fileContentsCache = {}; + +// Maps a file path to a source map for that file +var sourceMapCache = {}; + +// Regex for detecting source maps +var reSourceMap = /^data:application\/json[^,]+base64,/; + +// Priority list of retrieve handlers +var retrieveFileHandlers = []; +var retrieveMapHandlers = []; + +function isInBrowser() { + if (environment === "browser") + return true; + if (environment === "node") + return false; + return ((typeof window !== 'undefined') && (typeof XMLHttpRequest === 'function') && !(window.require && window.module && window.process && window.process.type === "renderer")); +} + +function hasGlobalProcessEventEmitter() { + return ((typeof process === 'object') && (process !== null) && (typeof process.on === 'function')); +} + +function globalProcessVersion() { + if ((typeof process === 'object') && (process !== null)) { + return process.version; + } else { + return ''; + } +} + +function globalProcessStderr() { + if ((typeof process === 'object') && (process !== null)) { + return process.stderr; + } +} + +function globalProcessExit(code) { + if ((typeof process === 'object') && (process !== null) && (typeof process.exit === 'function')) { + return process.exit(code); + } +} + +function handlerExec(list) { + return function(arg) { + for (var i = 0; i < list.length; i++) { + var ret = list[i](arg); + if (ret) { + return ret; + } + } + return null; + }; +} + +var retrieveFile = handlerExec(retrieveFileHandlers); + +retrieveFileHandlers.push(function(path) { + // Trim the path to make sure there is no extra whitespace. + path = path.trim(); + if (/^file:/.test(path)) { + // existsSync/readFileSync can't handle file protocol, but once stripped, it works + path = path.replace(/file:\/\/\/(\w:)?/, function(protocol, drive) { + return drive ? + '' : // file:///C:/dir/file -> C:/dir/file + '/'; // file:///root-dir/file -> /root-dir/file + }); + } + if (path in fileContentsCache) { + return fileContentsCache[path]; + } + + var contents = ''; + try { + if (!fs) { + // Use SJAX if we are in the browser + var xhr = new XMLHttpRequest(); + xhr.open('GET', path, /** async */ false); + xhr.send(null); + if (xhr.readyState === 4 && xhr.status === 200) { + contents = xhr.responseText; + } + } else if (fs.existsSync(path)) { + // Otherwise, use the filesystem + contents = fs.readFileSync(path, 'utf8'); + } + } catch (er) { + /* ignore any errors */ + } + + return fileContentsCache[path] = contents; +}); + +// Support URLs relative to a directory, but be careful about a protocol prefix +// in case we are in the browser (i.e. directories may start with "http://" or "file:///") +function supportRelativeURL(file, url) { + if (!file) return url; + var dir = path.dirname(file); + var match = /^\w+:\/\/[^\/]*/.exec(dir); + var protocol = match ? match[0] : ''; + var startPath = dir.slice(protocol.length); + if (protocol && /^\/\w\:/.test(startPath)) { + // handle file:///C:/ paths + protocol += '/'; + return protocol + path.resolve(dir.slice(protocol.length), url).replace(/\\/g, '/'); + } + return protocol + path.resolve(dir.slice(protocol.length), url); +} + +function retrieveSourceMapURL(source) { + var fileData; + + if (isInBrowser()) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', source, false); + xhr.send(null); + fileData = xhr.readyState === 4 ? xhr.responseText : null; + + // Support providing a sourceMappingURL via the SourceMap header + var sourceMapHeader = xhr.getResponseHeader("SourceMap") || + xhr.getResponseHeader("X-SourceMap"); + if (sourceMapHeader) { + return sourceMapHeader; + } + } catch (e) { + } + } + + // Get the URL of the source map + fileData = retrieveFile(source); + var re = /(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/mg; + // Keep executing the search to find the *last* sourceMappingURL to avoid + // picking up sourceMappingURLs from comments, strings, etc. + var lastMatch, match; + while (match = re.exec(fileData)) lastMatch = match; + if (!lastMatch) return null; + return lastMatch[1]; +}; + +// Can be overridden by the retrieveSourceMap option to install. Takes a +// generated source filename; returns a {map, optional url} object, or null if +// there is no source map. The map field may be either a string or the parsed +// JSON object (ie, it must be a valid argument to the SourceMapConsumer +// constructor). +var retrieveSourceMap = handlerExec(retrieveMapHandlers); +retrieveMapHandlers.push(function(source) { + var sourceMappingURL = retrieveSourceMapURL(source); + if (!sourceMappingURL) return null; + + // Read the contents of the source map + var sourceMapData; + if (reSourceMap.test(sourceMappingURL)) { + // Support source map URL as a data url + var rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(',') + 1); + sourceMapData = bufferFrom(rawData, "base64").toString(); + sourceMappingURL = source; + } else { + // Support source map URLs relative to the source URL + sourceMappingURL = supportRelativeURL(source, sourceMappingURL); + sourceMapData = retrieveFile(sourceMappingURL); + } + + if (!sourceMapData) { + return null; + } + + return { + url: sourceMappingURL, + map: sourceMapData + }; +}); + +function mapSourcePosition(position) { + var sourceMap = sourceMapCache[position.source]; + if (!sourceMap) { + // Call the (overrideable) retrieveSourceMap function to get the source map. + var urlAndMap = retrieveSourceMap(position.source); + if (urlAndMap) { + sourceMap = sourceMapCache[position.source] = { + url: urlAndMap.url, + map: new SourceMapConsumer(urlAndMap.map) + }; + + // Load all sources stored inline with the source map into the file cache + // to pretend like they are already loaded. They may not exist on disk. + if (sourceMap.map.sourcesContent) { + sourceMap.map.sources.forEach(function(source, i) { + var contents = sourceMap.map.sourcesContent[i]; + if (contents) { + var url = supportRelativeURL(sourceMap.url, source); + fileContentsCache[url] = contents; + } + }); + } + } else { + sourceMap = sourceMapCache[position.source] = { + url: null, + map: null + }; + } + } + + // Resolve the source URL relative to the URL of the source map + if (sourceMap && sourceMap.map && typeof sourceMap.map.originalPositionFor === 'function') { + var originalPosition = sourceMap.map.originalPositionFor(position); + + // Only return the original position if a matching line was found. If no + // matching line is found then we return position instead, which will cause + // the stack trace to print the path and line for the compiled file. It is + // better to give a precise location in the compiled file than a vague + // location in the original file. + if (originalPosition.source !== null) { + originalPosition.source = supportRelativeURL( + sourceMap.url, originalPosition.source); + return originalPosition; + } + } + + return position; +} + +// Parses code generated by FormatEvalOrigin(), a function inside V8: +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js +function mapEvalOrigin(origin) { + // Most eval() calls are in this format + var match = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin); + if (match) { + var position = mapSourcePosition({ + source: match[2], + line: +match[3], + column: match[4] - 1 + }); + return 'eval at ' + match[1] + ' (' + position.source + ':' + + position.line + ':' + (position.column + 1) + ')'; + } + + // Parse nested eval() calls using recursion + match = /^eval at ([^(]+) \((.+)\)$/.exec(origin); + if (match) { + return 'eval at ' + match[1] + ' (' + mapEvalOrigin(match[2]) + ')'; + } + + // Make sure we still return useful information if we didn't find anything + return origin; +} + +// This is copied almost verbatim from the V8 source code at +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js. The +// implementation of wrapCallSite() used to just forward to the actual source +// code of CallSite.prototype.toString but unfortunately a new release of V8 +// did something to the prototype chain and broke the shim. The only fix I +// could find was copy/paste. +function CallSiteToString() { + var fileName; + var fileLocation = ""; + if (this.isNative()) { + fileLocation = "native"; + } else { + fileName = this.getScriptNameOrSourceURL(); + if (!fileName && this.isEval()) { + fileLocation = this.getEvalOrigin(); + fileLocation += ", "; // Expecting source position to follow. + } + + if (fileName) { + fileLocation += fileName; + } else { + // Source code does not originate from a file and is not native, but we + // can still get the source position inside the source string, e.g. in + // an eval string. + fileLocation += ""; + } + var lineNumber = this.getLineNumber(); + if (lineNumber != null) { + fileLocation += ":" + lineNumber; + var columnNumber = this.getColumnNumber(); + if (columnNumber) { + fileLocation += ":" + columnNumber; + } + } + } + + var line = ""; + var functionName = this.getFunctionName(); + var addSuffix = true; + var isConstructor = this.isConstructor(); + var isMethodCall = !(this.isToplevel() || isConstructor); + if (isMethodCall) { + var typeName = this.getTypeName(); + // Fixes shim to be backward compatable with Node v0 to v4 + if (typeName === "[object Object]") { + typeName = "null"; + } + var methodName = this.getMethodName(); + if (functionName) { + if (typeName && functionName.indexOf(typeName) != 0) { + line += typeName + "."; + } + line += functionName; + if (methodName && functionName.indexOf("." + methodName) != functionName.length - methodName.length - 1) { + line += " [as " + methodName + "]"; + } + } else { + line += typeName + "." + (methodName || ""); + } + } else if (isConstructor) { + line += "new " + (functionName || ""); + } else if (functionName) { + line += functionName; + } else { + line += fileLocation; + addSuffix = false; + } + if (addSuffix) { + line += " (" + fileLocation + ")"; + } + return line; +} + +function cloneCallSite(frame) { + var object = {}; + Object.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach(function(name) { + object[name] = /^(?:is|get)/.test(name) ? function() { return frame[name].call(frame); } : frame[name]; + }); + object.toString = CallSiteToString; + return object; +} + +function wrapCallSite(frame, state) { + // provides interface backward compatibility + if (state === undefined) { + state = { nextPosition: null, curPosition: null } + } + if(frame.isNative()) { + state.curPosition = null; + return frame; + } + + // Most call sites will return the source file from getFileName(), but code + // passed to eval() ending in "//# sourceURL=..." will return the source file + // from getScriptNameOrSourceURL() instead + var source = frame.getFileName() || frame.getScriptNameOrSourceURL(); + if (source) { + var line = frame.getLineNumber(); + var column = frame.getColumnNumber() - 1; + + // Fix position in Node where some (internal) code is prepended. + // See https://github.com/evanw/node-source-map-support/issues/36 + // Header removed in node at ^10.16 || >=11.11.0 + // v11 is not an LTS candidate, we can just test the one version with it. + // Test node versions for: 10.16-19, 10.20+, 12-19, 20-99, 100+, or 11.11 + var noHeader = /^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/; + var headerLength = noHeader.test(globalProcessVersion()) ? 0 : 62; + if (line === 1 && column > headerLength && !isInBrowser() && !frame.isEval()) { + column -= headerLength; + } + + var position = mapSourcePosition({ + source: source, + line: line, + column: column + }); + state.curPosition = position; + frame = cloneCallSite(frame); + var originalFunctionName = frame.getFunctionName; + frame.getFunctionName = function() { + if (state.nextPosition == null) { + return originalFunctionName(); + } + return state.nextPosition.name || originalFunctionName(); + }; + frame.getFileName = function() { return position.source; }; + frame.getLineNumber = function() { return position.line; }; + frame.getColumnNumber = function() { return position.column + 1; }; + frame.getScriptNameOrSourceURL = function() { return position.source; }; + return frame; + } + + // Code called using eval() needs special handling + var origin = frame.isEval() && frame.getEvalOrigin(); + if (origin) { + origin = mapEvalOrigin(origin); + frame = cloneCallSite(frame); + frame.getEvalOrigin = function() { return origin; }; + return frame; + } + + // If we get here then we were unable to change the source position + return frame; +} + +// This function is part of the V8 stack trace API, for more info see: +// https://v8.dev/docs/stack-trace-api +function prepareStackTrace(error, stack) { + if (emptyCacheBetweenOperations) { + fileContentsCache = {}; + sourceMapCache = {}; + } + + var name = error.name || 'Error'; + var message = error.message || ''; + var errorString = name + ": " + message; + + var state = { nextPosition: null, curPosition: null }; + var processedStack = []; + for (var i = stack.length - 1; i >= 0; i--) { + processedStack.push('\n at ' + wrapCallSite(stack[i], state)); + state.nextPosition = state.curPosition; + } + state.curPosition = state.nextPosition = null; + return errorString + processedStack.reverse().join(''); +} + +// Generate position and snippet of original source with pointer +function getErrorSource(error) { + var match = /\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(error.stack); + if (match) { + var source = match[1]; + var line = +match[2]; + var column = +match[3]; + + // Support the inline sourceContents inside the source map + var contents = fileContentsCache[source]; + + // Support files on disk + if (!contents && fs && fs.existsSync(source)) { + try { + contents = fs.readFileSync(source, 'utf8'); + } catch (er) { + contents = ''; + } + } + + // Format the line from the original source code like node does + if (contents) { + var code = contents.split(/(?:\r\n|\r|\n)/)[line - 1]; + if (code) { + return source + ':' + line + '\n' + code + '\n' + + new Array(column).join(' ') + '^'; + } + } + } + return null; +} + +function printErrorAndExit (error) { + var source = getErrorSource(error); + + // Ensure error is printed synchronously and not truncated + var stderr = globalProcessStderr(); + if (stderr && stderr._handle && stderr._handle.setBlocking) { + stderr._handle.setBlocking(true); + } + + if (source) { + console.error(); + console.error(source); + } + + console.error(error.stack); + globalProcessExit(1); +} + +function shimEmitUncaughtException () { + var origEmit = process.emit; + + process.emit = function (type) { + if (type === 'uncaughtException') { + var hasStack = (arguments[1] && arguments[1].stack); + var hasListeners = (this.listeners(type).length > 0); + + if (hasStack && !hasListeners) { + return printErrorAndExit(arguments[1]); + } + } + + return origEmit.apply(this, arguments); + }; +} + +var originalRetrieveFileHandlers = retrieveFileHandlers.slice(0); +var originalRetrieveMapHandlers = retrieveMapHandlers.slice(0); + +exports.wrapCallSite = wrapCallSite; +exports.getErrorSource = getErrorSource; +exports.mapSourcePosition = mapSourcePosition; +exports.retrieveSourceMap = retrieveSourceMap; + +exports.install = function(options) { + options = options || {}; + + if (options.environment) { + environment = options.environment; + if (["node", "browser", "auto"].indexOf(environment) === -1) { + throw new Error("environment " + environment + " was unknown. Available options are {auto, browser, node}") + } + } + + // Allow sources to be found by methods other than reading the files + // directly from disk. + if (options.retrieveFile) { + if (options.overrideRetrieveFile) { + retrieveFileHandlers.length = 0; + } + + retrieveFileHandlers.unshift(options.retrieveFile); + } + + // Allow source maps to be found by methods other than reading the files + // directly from disk. + if (options.retrieveSourceMap) { + if (options.overrideRetrieveSourceMap) { + retrieveMapHandlers.length = 0; + } + + retrieveMapHandlers.unshift(options.retrieveSourceMap); + } + + // Support runtime transpilers that include inline source maps + if (options.hookRequire && !isInBrowser()) { + // Use dynamicRequire to avoid including in browser bundles + var Module = dynamicRequire(module, 'module'); + var $compile = Module.prototype._compile; + + if (!$compile.__sourceMapSupport) { + Module.prototype._compile = function(content, filename) { + fileContentsCache[filename] = content; + sourceMapCache[filename] = undefined; + return $compile.call(this, content, filename); + }; + + Module.prototype._compile.__sourceMapSupport = true; + } + } + + // Configure options + if (!emptyCacheBetweenOperations) { + emptyCacheBetweenOperations = 'emptyCacheBetweenOperations' in options ? + options.emptyCacheBetweenOperations : false; + } + + // Install the error reformatter + if (!errorFormatterInstalled) { + errorFormatterInstalled = true; + Error.prepareStackTrace = prepareStackTrace; + } + + if (!uncaughtShimInstalled) { + var installHandler = 'handleUncaughtExceptions' in options ? + options.handleUncaughtExceptions : true; + + // Do not override 'uncaughtException' with our own handler in Node.js + // Worker threads. Workers pass the error to the main thread as an event, + // rather than printing something to stderr and exiting. + try { + // We need to use `dynamicRequire` because `require` on it's own will be optimized by WebPack/Browserify. + var worker_threads = dynamicRequire(module, 'worker_threads'); + if (worker_threads.isMainThread === false) { + installHandler = false; + } + } catch(e) {} + + // Provide the option to not install the uncaught exception handler. This is + // to support other uncaught exception handlers (in test frameworks, for + // example). If this handler is not installed and there are no other uncaught + // exception handlers, uncaught exceptions will be caught by node's built-in + // exception handler and the process will still be terminated. However, the + // generated JavaScript code will be shown above the stack trace instead of + // the original source code. + if (installHandler && hasGlobalProcessEventEmitter()) { + uncaughtShimInstalled = true; + shimEmitUncaughtException(); + } + } +}; + +exports.resetRetrieveHandlers = function() { + retrieveFileHandlers.length = 0; + retrieveMapHandlers.length = 0; + + retrieveFileHandlers = originalRetrieveFileHandlers.slice(0); + retrieveMapHandlers = originalRetrieveMapHandlers.slice(0); + + retrieveSourceMap = handlerExec(retrieveMapHandlers); + retrieveFile = handlerExec(retrieveFileHandlers); +} + + +/***/ }, + +/***/ 38886 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(84540); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.C = ArraySet; + + +/***/ }, + +/***/ 17887 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = __webpack_require__(19987); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + + +/***/ }, + +/***/ 19987 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; + + +/***/ }, + +/***/ 40198 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; + + +/***/ }, + +/***/ 8285 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(84540); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.P = MappingList; + + +/***/ }, + +/***/ 99550 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.g = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + + +/***/ }, + +/***/ 10339 +(__unused_webpack_module, exports, __webpack_require__) { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(84540); +var binarySearch = __webpack_require__(40198); +var ArraySet = (__webpack_require__(38886)/* .ArraySet */ .C); +var base64VLQ = __webpack_require__(17887); +var quickSort = (__webpack_require__(99550)/* .quickSort */ .g); + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +__webpack_unused_export__ = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +__webpack_unused_export__ = IndexedSourceMapConsumer; + + +/***/ }, + +/***/ 90190 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = __webpack_require__(17887); +var util = __webpack_require__(84540); +var ArraySet = (__webpack_require__(38886)/* .ArraySet */ .C); +var MappingList = (__webpack_require__(8285)/* .MappingList */ .P); + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.x = SourceMapGenerator; + + +/***/ }, + +/***/ 16714 +(__unused_webpack_module, exports, __webpack_require__) { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = (__webpack_require__(90190)/* .SourceMapGenerator */ .x); +var util = __webpack_require__(84540); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +__webpack_unused_export__ = SourceNode; + + +/***/ }, + +/***/ 84540 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; + + +/***/ }, + +/***/ 81914 +(__unused_webpack_module, exports, __webpack_require__) { + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +/* unused reexport */ __webpack_require__(90190)/* .SourceMapGenerator */ .x; +exports.SourceMapConsumer = __webpack_require__(10339).SourceMapConsumer; +/* unused reexport */ __webpack_require__(16714); + + +/***/ }, + +/***/ 33215 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +const XHTMLEntities = __webpack_require__(93114); + +const hexNumber = /^[\da-fA-F]+$/; +const decimalNumber = /^\d+$/; + +// The map to `acorn-jsx` tokens from `acorn` namespace objects. +const acornJsxMap = new WeakMap(); + +// Get the original tokens for the given `acorn` namespace object. +function getJsxTokens(acorn) { + acorn = acorn.Parser.acorn || acorn; + let acornJsx = acornJsxMap.get(acorn); + if (!acornJsx) { + const tt = acorn.tokTypes; + const TokContext = acorn.TokContext; + const TokenType = acorn.TokenType; + const tc_oTag = new TokContext('...', true, true); + const tokContexts = { + tc_oTag: tc_oTag, + tc_cTag: tc_cTag, + tc_expr: tc_expr + }; + const tokTypes = { + jsxName: new TokenType('jsxName'), + jsxText: new TokenType('jsxText', {beforeExpr: true}), + jsxTagStart: new TokenType('jsxTagStart', {startsExpr: true}), + jsxTagEnd: new TokenType('jsxTagEnd') + }; + + tokTypes.jsxTagStart.updateContext = function() { + this.context.push(tc_expr); // treat as beginning of JSX expression + this.context.push(tc_oTag); // start opening tag context + this.exprAllowed = false; + }; + tokTypes.jsxTagEnd.updateContext = function(prevType) { + let out = this.context.pop(); + if (out === tc_oTag && prevType === tt.slash || out === tc_cTag) { + this.context.pop(); + this.exprAllowed = this.curContext() === tc_expr; + } else { + this.exprAllowed = true; + } + }; + + acornJsx = { tokContexts: tokContexts, tokTypes: tokTypes }; + acornJsxMap.set(acorn, acornJsx); + } + + return acornJsx; +} + +// Transforms JSX element name to string. + +function getQualifiedJSXName(object) { + if (!object) + return object; + + if (object.type === 'JSXIdentifier') + return object.name; + + if (object.type === 'JSXNamespacedName') + return object.namespace.name + ':' + object.name.name; + + if (object.type === 'JSXMemberExpression') + return getQualifiedJSXName(object.object) + '.' + + getQualifiedJSXName(object.property); +} + +module.exports = function(options) { + options = options || {}; + return function(Parser) { + return plugin({ + allowNamespaces: options.allowNamespaces !== false, + allowNamespacedObjects: !!options.allowNamespacedObjects + }, Parser); + }; +}; + +// This is `tokTypes` of the peer dep. +// This can be different instances from the actual `tokTypes` this plugin uses. +Object.defineProperty(module.exports, "tokTypes", ({ + get: function get_tokTypes() { + return getJsxTokens(__webpack_require__(60909)).tokTypes; + }, + configurable: true, + enumerable: true +})); + +function plugin(options, Parser) { + const acorn = Parser.acorn || __webpack_require__(60909); + const acornJsx = getJsxTokens(acorn); + const tt = acorn.tokTypes; + const tok = acornJsx.tokTypes; + const tokContexts = acorn.tokContexts; + const tc_oTag = acornJsx.tokContexts.tc_oTag; + const tc_cTag = acornJsx.tokContexts.tc_cTag; + const tc_expr = acornJsx.tokContexts.tc_expr; + const isNewLine = acorn.isNewLine; + const isIdentifierStart = acorn.isIdentifierStart; + const isIdentifierChar = acorn.isIdentifierChar; + + return class extends Parser { + // Expose actual `tokTypes` and `tokContexts` to other plugins. + static get acornJsx() { + return acornJsx; + } + + // Reads inline JSX contents token. + jsx_readToken() { + let out = '', chunkStart = this.pos; + for (;;) { + if (this.pos >= this.input.length) + this.raise(this.start, 'Unterminated JSX contents'); + let ch = this.input.charCodeAt(this.pos); + + switch (ch) { + case 60: // '<' + case 123: // '{' + if (this.pos === this.start) { + if (ch === 60 && this.exprAllowed) { + ++this.pos; + return this.finishToken(tok.jsxTagStart); + } + return this.getTokenFromCode(ch); + } + out += this.input.slice(chunkStart, this.pos); + return this.finishToken(tok.jsxText, out); + + case 38: // '&' + out += this.input.slice(chunkStart, this.pos); + out += this.jsx_readEntity(); + chunkStart = this.pos; + break; + + case 62: // '>' + case 125: // '}' + this.raise( + this.pos, + "Unexpected token `" + this.input[this.pos] + "`. Did you mean `" + + (ch === 62 ? ">" : "}") + "` or " + "`{\"" + this.input[this.pos] + "\"}" + "`?" + ); + + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.pos); + out += this.jsx_readNewLine(true); + chunkStart = this.pos; + } else { + ++this.pos; + } + } + } + } + + jsx_readNewLine(normalizeCRLF) { + let ch = this.input.charCodeAt(this.pos); + let out; + ++this.pos; + if (ch === 13 && this.input.charCodeAt(this.pos) === 10) { + ++this.pos; + out = normalizeCRLF ? '\n' : '\r\n'; + } else { + out = String.fromCharCode(ch); + } + if (this.options.locations) { + ++this.curLine; + this.lineStart = this.pos; + } + + return out; + } + + jsx_readString(quote) { + let out = '', chunkStart = ++this.pos; + for (;;) { + if (this.pos >= this.input.length) + this.raise(this.start, 'Unterminated string constant'); + let ch = this.input.charCodeAt(this.pos); + if (ch === quote) break; + if (ch === 38) { // '&' + out += this.input.slice(chunkStart, this.pos); + out += this.jsx_readEntity(); + chunkStart = this.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.pos); + out += this.jsx_readNewLine(false); + chunkStart = this.pos; + } else { + ++this.pos; + } + } + out += this.input.slice(chunkStart, this.pos++); + return this.finishToken(tt.string, out); + } + + jsx_readEntity() { + let str = '', count = 0, entity; + let ch = this.input[this.pos]; + if (ch !== '&') + this.raise(this.pos, 'Entity must start with an ampersand'); + let startPos = ++this.pos; + while (this.pos < this.input.length && count++ < 10) { + ch = this.input[this.pos++]; + if (ch === ';') { + if (str[0] === '#') { + if (str[1] === 'x') { + str = str.substr(2); + if (hexNumber.test(str)) + entity = String.fromCharCode(parseInt(str, 16)); + } else { + str = str.substr(1); + if (decimalNumber.test(str)) + entity = String.fromCharCode(parseInt(str, 10)); + } + } else { + entity = XHTMLEntities[str]; + } + break; + } + str += ch; + } + if (!entity) { + this.pos = startPos; + return '&'; + } + return entity; + } + + // Read a JSX identifier (valid tag or attribute name). + // + // Optimized version since JSX identifiers can't contain + // escape characters and so can be read as single slice. + // Also assumes that first character was already checked + // by isIdentifierStart in readToken. + + jsx_readWord() { + let ch, start = this.pos; + do { + ch = this.input.charCodeAt(++this.pos); + } while (isIdentifierChar(ch) || ch === 45); // '-' + return this.finishToken(tok.jsxName, this.input.slice(start, this.pos)); + } + + // Parse next token as JSX identifier + + jsx_parseIdentifier() { + let node = this.startNode(); + if (this.type === tok.jsxName) + node.name = this.value; + else if (this.type.keyword) + node.name = this.type.keyword; + else + this.unexpected(); + this.next(); + return this.finishNode(node, 'JSXIdentifier'); + } + + // Parse namespaced identifier. + + jsx_parseNamespacedName() { + let startPos = this.start, startLoc = this.startLoc; + let name = this.jsx_parseIdentifier(); + if (!options.allowNamespaces || !this.eat(tt.colon)) return name; + var node = this.startNodeAt(startPos, startLoc); + node.namespace = name; + node.name = this.jsx_parseIdentifier(); + return this.finishNode(node, 'JSXNamespacedName'); + } + + // Parses element name in any form - namespaced, member + // or single identifier. + + jsx_parseElementName() { + if (this.type === tok.jsxTagEnd) return ''; + let startPos = this.start, startLoc = this.startLoc; + let node = this.jsx_parseNamespacedName(); + if (this.type === tt.dot && node.type === 'JSXNamespacedName' && !options.allowNamespacedObjects) { + this.unexpected(); + } + while (this.eat(tt.dot)) { + let newNode = this.startNodeAt(startPos, startLoc); + newNode.object = node; + newNode.property = this.jsx_parseIdentifier(); + node = this.finishNode(newNode, 'JSXMemberExpression'); + } + return node; + } + + // Parses any type of JSX attribute value. + + jsx_parseAttributeValue() { + switch (this.type) { + case tt.braceL: + let node = this.jsx_parseExpressionContainer(); + if (node.expression.type === 'JSXEmptyExpression') + this.raise(node.start, 'JSX attributes must only be assigned a non-empty expression'); + return node; + + case tok.jsxTagStart: + case tt.string: + return this.parseExprAtom(); + + default: + this.raise(this.start, 'JSX value should be either an expression or a quoted JSX text'); + } + } + + // JSXEmptyExpression is unique type since it doesn't actually parse anything, + // and so it should start at the end of last read token (left brace) and finish + // at the beginning of the next one (right brace). + + jsx_parseEmptyExpression() { + let node = this.startNodeAt(this.lastTokEnd, this.lastTokEndLoc); + return this.finishNodeAt(node, 'JSXEmptyExpression', this.start, this.startLoc); + } + + // Parses JSX expression enclosed into curly brackets. + + jsx_parseExpressionContainer() { + let node = this.startNode(); + this.next(); + node.expression = this.type === tt.braceR + ? this.jsx_parseEmptyExpression() + : this.parseExpression(); + this.expect(tt.braceR); + return this.finishNode(node, 'JSXExpressionContainer'); + } + + // Parses following JSX attribute name-value pair. + + jsx_parseAttribute() { + let node = this.startNode(); + if (this.eat(tt.braceL)) { + this.expect(tt.ellipsis); + node.argument = this.parseMaybeAssign(); + this.expect(tt.braceR); + return this.finishNode(node, 'JSXSpreadAttribute'); + } + node.name = this.jsx_parseNamespacedName(); + node.value = this.eat(tt.eq) ? this.jsx_parseAttributeValue() : null; + return this.finishNode(node, 'JSXAttribute'); + } + + // Parses JSX opening tag starting after '<'. + + jsx_parseOpeningElementAt(startPos, startLoc) { + let node = this.startNodeAt(startPos, startLoc); + node.attributes = []; + let nodeName = this.jsx_parseElementName(); + if (nodeName) node.name = nodeName; + while (this.type !== tt.slash && this.type !== tok.jsxTagEnd) + node.attributes.push(this.jsx_parseAttribute()); + node.selfClosing = this.eat(tt.slash); + this.expect(tok.jsxTagEnd); + return this.finishNode(node, nodeName ? 'JSXOpeningElement' : 'JSXOpeningFragment'); + } + + // Parses JSX closing tag starting after ''); + } + } + let fragmentOrElement = openingElement.name ? 'Element' : 'Fragment'; + + node['opening' + fragmentOrElement] = openingElement; + node['closing' + fragmentOrElement] = closingElement; + node.children = children; + if (this.type === tt.relational && this.value === "<") { + this.raise(this.start, "Adjacent JSX elements must be wrapped in an enclosing tag"); + } + return this.finishNode(node, 'JSX' + fragmentOrElement); + } + + // Parse JSX text + + jsx_parseText() { + let node = this.parseLiteral(this.value); + node.type = "JSXText"; + return node; + } + + // Parses entire JSX element from current position. + + jsx_parseElement() { + let startPos = this.start, startLoc = this.startLoc; + this.next(); + return this.jsx_parseElementAt(startPos, startLoc); + } + + parseExprAtom(refShortHandDefaultPos) { + if (this.type === tok.jsxText) + return this.jsx_parseText(); + else if (this.type === tok.jsxTagStart) + return this.jsx_parseElement(); + else + return super.parseExprAtom(refShortHandDefaultPos); + } + + readToken(code) { + let context = this.curContext(); + + if (context === tc_expr) return this.jsx_readToken(); + + if (context === tc_oTag || context === tc_cTag) { + if (isIdentifierStart(code)) return this.jsx_readWord(); + + if (code == 62) { + ++this.pos; + return this.finishToken(tok.jsxTagEnd); + } + + if ((code === 34 || code === 39) && context == tc_oTag) + return this.jsx_readString(code); + } + + if (code === 60 && this.exprAllowed && this.input.charCodeAt(this.pos + 1) !== 33) { + ++this.pos; + return this.finishToken(tok.jsxTagStart); + } + return super.readToken(code); + } + + updateContext(prevType) { + if (this.type == tt.braceL) { + var curContext = this.curContext(); + if (curContext == tc_oTag) this.context.push(tokContexts.b_expr); + else if (curContext == tc_expr) this.context.push(tokContexts.b_tmpl); + else super.updateContext(prevType); + this.exprAllowed = true; + } else if (this.type === tt.slash && prevType === tok.jsxTagStart) { + this.context.length -= 2; // do not consider JSX expr -> JSX open tag -> ... anymore + this.context.push(tc_cTag); // reconsider as closing tag context + this.exprAllowed = false; + } else { + return super.updateContext(prevType); + } + } + }; +} + + +/***/ }, + +/***/ 93114 +(module) { + +module.exports = { + quot: '\u0022', + amp: '&', + apos: '\u0027', + lt: '<', + gt: '>', + nbsp: '\u00A0', + iexcl: '\u00A1', + cent: '\u00A2', + pound: '\u00A3', + curren: '\u00A4', + yen: '\u00A5', + brvbar: '\u00A6', + sect: '\u00A7', + uml: '\u00A8', + copy: '\u00A9', + ordf: '\u00AA', + laquo: '\u00AB', + not: '\u00AC', + shy: '\u00AD', + reg: '\u00AE', + macr: '\u00AF', + deg: '\u00B0', + plusmn: '\u00B1', + sup2: '\u00B2', + sup3: '\u00B3', + acute: '\u00B4', + micro: '\u00B5', + para: '\u00B6', + middot: '\u00B7', + cedil: '\u00B8', + sup1: '\u00B9', + ordm: '\u00BA', + raquo: '\u00BB', + frac14: '\u00BC', + frac12: '\u00BD', + frac34: '\u00BE', + iquest: '\u00BF', + Agrave: '\u00C0', + Aacute: '\u00C1', + Acirc: '\u00C2', + Atilde: '\u00C3', + Auml: '\u00C4', + Aring: '\u00C5', + AElig: '\u00C6', + Ccedil: '\u00C7', + Egrave: '\u00C8', + Eacute: '\u00C9', + Ecirc: '\u00CA', + Euml: '\u00CB', + Igrave: '\u00CC', + Iacute: '\u00CD', + Icirc: '\u00CE', + Iuml: '\u00CF', + ETH: '\u00D0', + Ntilde: '\u00D1', + Ograve: '\u00D2', + Oacute: '\u00D3', + Ocirc: '\u00D4', + Otilde: '\u00D5', + Ouml: '\u00D6', + times: '\u00D7', + Oslash: '\u00D8', + Ugrave: '\u00D9', + Uacute: '\u00DA', + Ucirc: '\u00DB', + Uuml: '\u00DC', + Yacute: '\u00DD', + THORN: '\u00DE', + szlig: '\u00DF', + agrave: '\u00E0', + aacute: '\u00E1', + acirc: '\u00E2', + atilde: '\u00E3', + auml: '\u00E4', + aring: '\u00E5', + aelig: '\u00E6', + ccedil: '\u00E7', + egrave: '\u00E8', + eacute: '\u00E9', + ecirc: '\u00EA', + euml: '\u00EB', + igrave: '\u00EC', + iacute: '\u00ED', + icirc: '\u00EE', + iuml: '\u00EF', + eth: '\u00F0', + ntilde: '\u00F1', + ograve: '\u00F2', + oacute: '\u00F3', + ocirc: '\u00F4', + otilde: '\u00F5', + ouml: '\u00F6', + divide: '\u00F7', + oslash: '\u00F8', + ugrave: '\u00F9', + uacute: '\u00FA', + ucirc: '\u00FB', + uuml: '\u00FC', + yacute: '\u00FD', + thorn: '\u00FE', + yuml: '\u00FF', + OElig: '\u0152', + oelig: '\u0153', + Scaron: '\u0160', + scaron: '\u0161', + Yuml: '\u0178', + fnof: '\u0192', + circ: '\u02C6', + tilde: '\u02DC', + Alpha: '\u0391', + Beta: '\u0392', + Gamma: '\u0393', + Delta: '\u0394', + Epsilon: '\u0395', + Zeta: '\u0396', + Eta: '\u0397', + Theta: '\u0398', + Iota: '\u0399', + Kappa: '\u039A', + Lambda: '\u039B', + Mu: '\u039C', + Nu: '\u039D', + Xi: '\u039E', + Omicron: '\u039F', + Pi: '\u03A0', + Rho: '\u03A1', + Sigma: '\u03A3', + Tau: '\u03A4', + Upsilon: '\u03A5', + Phi: '\u03A6', + Chi: '\u03A7', + Psi: '\u03A8', + Omega: '\u03A9', + alpha: '\u03B1', + beta: '\u03B2', + gamma: '\u03B3', + delta: '\u03B4', + epsilon: '\u03B5', + zeta: '\u03B6', + eta: '\u03B7', + theta: '\u03B8', + iota: '\u03B9', + kappa: '\u03BA', + lambda: '\u03BB', + mu: '\u03BC', + nu: '\u03BD', + xi: '\u03BE', + omicron: '\u03BF', + pi: '\u03C0', + rho: '\u03C1', + sigmaf: '\u03C2', + sigma: '\u03C3', + tau: '\u03C4', + upsilon: '\u03C5', + phi: '\u03C6', + chi: '\u03C7', + psi: '\u03C8', + omega: '\u03C9', + thetasym: '\u03D1', + upsih: '\u03D2', + piv: '\u03D6', + ensp: '\u2002', + emsp: '\u2003', + thinsp: '\u2009', + zwnj: '\u200C', + zwj: '\u200D', + lrm: '\u200E', + rlm: '\u200F', + ndash: '\u2013', + mdash: '\u2014', + lsquo: '\u2018', + rsquo: '\u2019', + sbquo: '\u201A', + ldquo: '\u201C', + rdquo: '\u201D', + bdquo: '\u201E', + dagger: '\u2020', + Dagger: '\u2021', + bull: '\u2022', + hellip: '\u2026', + permil: '\u2030', + prime: '\u2032', + Prime: '\u2033', + lsaquo: '\u2039', + rsaquo: '\u203A', + oline: '\u203E', + frasl: '\u2044', + euro: '\u20AC', + image: '\u2111', + weierp: '\u2118', + real: '\u211C', + trade: '\u2122', + alefsym: '\u2135', + larr: '\u2190', + uarr: '\u2191', + rarr: '\u2192', + darr: '\u2193', + harr: '\u2194', + crarr: '\u21B5', + lArr: '\u21D0', + uArr: '\u21D1', + rArr: '\u21D2', + dArr: '\u21D3', + hArr: '\u21D4', + forall: '\u2200', + part: '\u2202', + exist: '\u2203', + empty: '\u2205', + nabla: '\u2207', + isin: '\u2208', + notin: '\u2209', + ni: '\u220B', + prod: '\u220F', + sum: '\u2211', + minus: '\u2212', + lowast: '\u2217', + radic: '\u221A', + prop: '\u221D', + infin: '\u221E', + ang: '\u2220', + and: '\u2227', + or: '\u2228', + cap: '\u2229', + cup: '\u222A', + 'int': '\u222B', + there4: '\u2234', + sim: '\u223C', + cong: '\u2245', + asymp: '\u2248', + ne: '\u2260', + equiv: '\u2261', + le: '\u2264', + ge: '\u2265', + sub: '\u2282', + sup: '\u2283', + nsub: '\u2284', + sube: '\u2286', + supe: '\u2287', + oplus: '\u2295', + otimes: '\u2297', + perp: '\u22A5', + sdot: '\u22C5', + lceil: '\u2308', + rceil: '\u2309', + lfloor: '\u230A', + rfloor: '\u230B', + lang: '\u2329', + rang: '\u232A', + loz: '\u25CA', + spades: '\u2660', + clubs: '\u2663', + hearts: '\u2665', + diams: '\u2666' +}; + + +/***/ }, + +/***/ 60909 +(__unused_webpack_module, exports) { + +(function (global, factory) { + true ? factory(exports) : + 0; +})(this, (function (exports) { 'use strict'; + + // This file was generated. Do not modify manually! + var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + + // This file was generated. Do not modify manually! + var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489]; + + // This file was generated. Do not modify manually! + var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65"; + + // This file was generated. Do not modify manually! + var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5c\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdc-\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7dc\ua7f1-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"; + + // These are a run-length and offset encoded representation of the + // >0xffff code points that are a valid part of identifiers. The + // offset starts at 0x10000, and each pair of numbers represents an + // offset to the next range, and then a size of the range. + + // Reserved word lists for various dialects of the language + + var reservedWords = { + 3: "abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile", + 5: "class enum extends super const export import", + 6: "enum", + strict: "implements interface let package private protected public static yield", + strictBind: "eval arguments" + }; + + // And the keywords + + var ecma5AndLessKeywords = "break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this"; + + var keywords$1 = { + 5: ecma5AndLessKeywords, + "5module": ecma5AndLessKeywords + " export import", + 6: ecma5AndLessKeywords + " const class extends export import super" + }; + + var keywordRelationalOperator = /^in(stanceof)?$/; + + // ## Character categories + + var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); + var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + + // This has a complexity linear to the value of the code. The + // assumption is that looking up astral identifier characters is + // rare. + function isInAstralSet(code, set) { + var pos = 0x10000; + for (var i = 0; i < set.length; i += 2) { + pos += set[i]; + if (pos > code) { return false } + pos += set[i + 1]; + if (pos >= code) { return true } + } + return false + } + + // Test whether a given character code starts an identifier. + + function isIdentifierStart(code, astral) { + if (code < 65) { return code === 36 } + if (code < 91) { return true } + if (code < 97) { return code === 95 } + if (code < 123) { return true } + if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)) } + if (astral === false) { return false } + return isInAstralSet(code, astralIdentifierStartCodes) + } + + // Test whether a given character is part of an identifier. + + function isIdentifierChar(code, astral) { + if (code < 48) { return code === 36 } + if (code < 58) { return true } + if (code < 65) { return false } + if (code < 91) { return true } + if (code < 97) { return code === 95 } + if (code < 123) { return true } + if (code <= 0xffff) { return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)) } + if (astral === false) { return false } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes) + } + + // ## Token types + + // The assignment of fine-grained, information-carrying type objects + // allows the tokenizer to store the information it has about a + // token in a way that is very cheap for the parser to look up. + + // All token type variables start with an underscore, to make them + // easy to recognize. + + // The `beforeExpr` property is used to disambiguate between regular + // expressions and divisions. It is set on all token types that can + // be followed by an expression (thus, a slash after them would be a + // regular expression). + // + // The `startsExpr` property is used to check if the token ends a + // `yield` expression. It is set on all token types that either can + // directly start an expression (like a quotation mark) or can + // continue an expression (like the body of a string). + // + // `isLoop` marks a keyword as starting a loop, which is important + // to know when parsing a label, in order to allow or disallow + // continue jumps to that label. + + var TokenType = function TokenType(label, conf) { + if ( conf === void 0 ) conf = {}; + + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop || null; + this.updateContext = null; + }; + + function binop(name, prec) { + return new TokenType(name, {beforeExpr: true, binop: prec}) + } + var beforeExpr = {beforeExpr: true}, startsExpr = {startsExpr: true}; + + // Map keyword names to token types. + + var keywords = {}; + + // Succinct definitions of keyword token types + function kw(name, options) { + if ( options === void 0 ) options = {}; + + options.keyword = name; + return keywords[name] = new TokenType(name, options) + } + + var types$1 = { + num: new TokenType("num", startsExpr), + regexp: new TokenType("regexp", startsExpr), + string: new TokenType("string", startsExpr), + name: new TokenType("name", startsExpr), + privateId: new TokenType("privateId", startsExpr), + eof: new TokenType("eof"), + + // Punctuation token types. + bracketL: new TokenType("[", {beforeExpr: true, startsExpr: true}), + bracketR: new TokenType("]"), + braceL: new TokenType("{", {beforeExpr: true, startsExpr: true}), + braceR: new TokenType("}"), + parenL: new TokenType("(", {beforeExpr: true, startsExpr: true}), + parenR: new TokenType(")"), + comma: new TokenType(",", beforeExpr), + semi: new TokenType(";", beforeExpr), + colon: new TokenType(":", beforeExpr), + dot: new TokenType("."), + question: new TokenType("?", beforeExpr), + questionDot: new TokenType("?."), + arrow: new TokenType("=>", beforeExpr), + template: new TokenType("template"), + invalidTemplate: new TokenType("invalidTemplate"), + ellipsis: new TokenType("...", beforeExpr), + backQuote: new TokenType("`", startsExpr), + dollarBraceL: new TokenType("${", {beforeExpr: true, startsExpr: true}), + + // Operators. These carry several kinds of properties to help the + // parser use them properly (the presence of these properties is + // what categorizes them as operators). + // + // `binop`, when present, specifies that this operator is a binary + // operator, and will refer to its precedence. + // + // `prefix` and `postfix` mark the operator as a prefix or postfix + // unary operator. + // + // `isAssign` marks all of `=`, `+=`, `-=` etcetera, which act as + // binary operators with a very low precedence, that should result + // in AssignmentExpression nodes. + + eq: new TokenType("=", {beforeExpr: true, isAssign: true}), + assign: new TokenType("_=", {beforeExpr: true, isAssign: true}), + incDec: new TokenType("++/--", {prefix: true, postfix: true, startsExpr: true}), + prefix: new TokenType("!/~", {beforeExpr: true, prefix: true, startsExpr: true}), + logicalOR: binop("||", 1), + logicalAND: binop("&&", 2), + bitwiseOR: binop("|", 3), + bitwiseXOR: binop("^", 4), + bitwiseAND: binop("&", 5), + equality: binop("==/!=/===/!==", 6), + relational: binop("/<=/>=", 7), + bitShift: binop("<>/>>>", 8), + plusMin: new TokenType("+/-", {beforeExpr: true, binop: 9, prefix: true, startsExpr: true}), + modulo: binop("%", 10), + star: binop("*", 10), + slash: binop("/", 10), + starstar: new TokenType("**", {beforeExpr: true}), + coalesce: binop("??", 1), + + // Keyword token types. + _break: kw("break"), + _case: kw("case", beforeExpr), + _catch: kw("catch"), + _continue: kw("continue"), + _debugger: kw("debugger"), + _default: kw("default", beforeExpr), + _do: kw("do", {isLoop: true, beforeExpr: true}), + _else: kw("else", beforeExpr), + _finally: kw("finally"), + _for: kw("for", {isLoop: true}), + _function: kw("function", startsExpr), + _if: kw("if"), + _return: kw("return", beforeExpr), + _switch: kw("switch"), + _throw: kw("throw", beforeExpr), + _try: kw("try"), + _var: kw("var"), + _const: kw("const"), + _while: kw("while", {isLoop: true}), + _with: kw("with"), + _new: kw("new", {beforeExpr: true, startsExpr: true}), + _this: kw("this", startsExpr), + _super: kw("super", startsExpr), + _class: kw("class", startsExpr), + _extends: kw("extends", beforeExpr), + _export: kw("export"), + _import: kw("import", startsExpr), + _null: kw("null", startsExpr), + _true: kw("true", startsExpr), + _false: kw("false", startsExpr), + _in: kw("in", {beforeExpr: true, binop: 7}), + _instanceof: kw("instanceof", {beforeExpr: true, binop: 7}), + _typeof: kw("typeof", {beforeExpr: true, prefix: true, startsExpr: true}), + _void: kw("void", {beforeExpr: true, prefix: true, startsExpr: true}), + _delete: kw("delete", {beforeExpr: true, prefix: true, startsExpr: true}) + }; + + // Matches a whole line break (where CRLF is considered a single + // line break). Used to count lines. + + var lineBreak = /\r\n?|\n|\u2028|\u2029/; + var lineBreakG = new RegExp(lineBreak.source, "g"); + + function isNewLine(code) { + return code === 10 || code === 13 || code === 0x2028 || code === 0x2029 + } + + function nextLineBreak(code, from, end) { + if ( end === void 0 ) end = code.length; + + for (var i = from; i < end; i++) { + var next = code.charCodeAt(i); + if (isNewLine(next)) + { return i < end - 1 && next === 13 && code.charCodeAt(i + 1) === 10 ? i + 2 : i + 1 } + } + return -1 + } + + var nonASCIIwhitespace = /[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/; + + var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; + + var ref = Object.prototype; + var hasOwnProperty = ref.hasOwnProperty; + var toString = ref.toString; + + var hasOwn = Object.hasOwn || (function (obj, propName) { return ( + hasOwnProperty.call(obj, propName) + ); }); + + var isArray = Array.isArray || (function (obj) { return ( + toString.call(obj) === "[object Array]" + ); }); + + var regexpCache = Object.create(null); + + function wordsRegexp(words) { + return regexpCache[words] || (regexpCache[words] = new RegExp("^(?:" + words.replace(/ /g, "|") + ")$")) + } + + function codePointToString(code) { + // UTF-16 Decoding + if (code <= 0xFFFF) { return String.fromCharCode(code) } + code -= 0x10000; + return String.fromCharCode((code >> 10) + 0xD800, (code & 1023) + 0xDC00) + } + + var loneSurrogate = /(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/; + + // These are used when `options.locations` is on, for the + // `startLoc` and `endLoc` properties. + + var Position = function Position(line, col) { + this.line = line; + this.column = col; + }; + + Position.prototype.offset = function offset (n) { + return new Position(this.line, this.column + n) + }; + + var SourceLocation = function SourceLocation(p, start, end) { + this.start = start; + this.end = end; + if (p.sourceFile !== null) { this.source = p.sourceFile; } + }; + + // The `getLineInfo` function is mostly useful when the + // `locations` option is off (for performance reasons) and you + // want to find the line/column position for a given character + // offset. `input` should be the code string that the offset refers + // into. + + function getLineInfo(input, offset) { + for (var line = 1, cur = 0;;) { + var nextBreak = nextLineBreak(input, cur, offset); + if (nextBreak < 0) { return new Position(line, offset - cur) } + ++line; + cur = nextBreak; + } + } + + // A second argument must be given to configure the parser process. + // These options are recognized (only `ecmaVersion` is required): + + var defaultOptions = { + // `ecmaVersion` indicates the ECMAScript version to parse. Must be + // either 3, 5, 6 (or 2015), 7 (2016), 8 (2017), 9 (2018), 10 + // (2019), 11 (2020), 12 (2021), 13 (2022), 14 (2023), or `"latest"` + // (the latest version the library supports). This influences + // support for strict mode, the set of reserved words, and support + // for new syntax features. + ecmaVersion: null, + // `sourceType` indicates the mode the code should be parsed in. + // Can be either `"script"`, `"module"` or `"commonjs"`. This influences global + // strict mode and parsing of `import` and `export` declarations. + sourceType: "script", + // `onInsertedSemicolon` can be a callback that will be called when + // a semicolon is automatically inserted. It will be passed the + // position of the inserted semicolon as an offset, and if + // `locations` is enabled, it is given the location as a `{line, + // column}` object as second argument. + onInsertedSemicolon: null, + // `onTrailingComma` is similar to `onInsertedSemicolon`, but for + // trailing commas. + onTrailingComma: null, + // By default, reserved words are only enforced if ecmaVersion >= 5. + // Set `allowReserved` to a boolean value to explicitly turn this on + // an off. When this option has the value "never", reserved words + // and keywords can also not be used as property names. + allowReserved: null, + // When enabled, a return at the top level is not considered an + // error. + allowReturnOutsideFunction: false, + // When enabled, import/export statements are not constrained to + // appearing at the top of the program, and an import.meta expression + // in a script isn't considered an error. + allowImportExportEverywhere: false, + // By default, await identifiers are allowed to appear at the top-level scope only if ecmaVersion >= 2022. + // When enabled, await identifiers are allowed to appear at the top-level scope, + // but they are still not allowed in non-async functions. + allowAwaitOutsideFunction: null, + // When enabled, super identifiers are not constrained to + // appearing in methods and do not raise an error when they appear elsewhere. + allowSuperOutsideMethod: null, + // When enabled, hashbang directive in the beginning of file is + // allowed and treated as a line comment. Enabled by default when + // `ecmaVersion` >= 2023. + allowHashBang: false, + // By default, the parser will verify that private properties are + // only used in places where they are valid and have been declared. + // Set this to false to turn such checks off. + checkPrivateFields: true, + // When `locations` is on, `loc` properties holding objects with + // `start` and `end` properties in `{line, column}` form (with + // line being 1-based and column 0-based) will be attached to the + // nodes. + locations: false, + // A function can be passed as `onToken` option, which will + // cause Acorn to call that function with object in the same + // format as tokens returned from `tokenizer().getToken()`. Note + // that you are not allowed to call the parser from the + // callback—that will corrupt its internal state. + onToken: null, + // A function can be passed as `onComment` option, which will + // cause Acorn to call that function with `(block, text, start, + // end)` parameters whenever a comment is skipped. `block` is a + // boolean indicating whether this is a block (`/* */`) comment, + // `text` is the content of the comment, and `start` and `end` are + // character offsets that denote the start and end of the comment. + // When the `locations` option is on, two more parameters are + // passed, the full `{line, column}` locations of the start and + // end of the comments. Note that you are not allowed to call the + // parser from the callback—that will corrupt its internal state. + // When this option has an array as value, objects representing the + // comments are pushed to it. + onComment: null, + // Nodes have their start and end characters offsets recorded in + // `start` and `end` properties (directly on the node, rather than + // the `loc` object, which holds line/column data. To also add a + // [semi-standardized][range] `range` property holding a `[start, + // end]` array with the same numbers, set the `ranges` option to + // `true`. + // + // [range]: https://bugzilla.mozilla.org/show_bug.cgi?id=745678 + ranges: false, + // It is possible to parse multiple files into a single AST by + // passing the tree produced by parsing the first file as + // `program` option in subsequent parses. This will add the + // toplevel forms of the parsed file to the `Program` (top) node + // of an existing parse tree. + program: null, + // When `locations` is on, you can pass this to record the source + // file in every node's `loc` object. + sourceFile: null, + // This value, if given, is stored in every node, whether + // `locations` is on or off. + directSourceFile: null, + // When enabled, parenthesized expressions are represented by + // (non-standard) ParenthesizedExpression nodes + preserveParens: false + }; + + // Interpret and default an options object + + var warnedAboutEcmaVersion = false; + + function getOptions(opts) { + var options = {}; + + for (var opt in defaultOptions) + { options[opt] = opts && hasOwn(opts, opt) ? opts[opt] : defaultOptions[opt]; } + + if (options.ecmaVersion === "latest") { + options.ecmaVersion = 1e8; + } else if (options.ecmaVersion == null) { + if (!warnedAboutEcmaVersion && typeof console === "object" && console.warn) { + warnedAboutEcmaVersion = true; + console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future."); + } + options.ecmaVersion = 11; + } else if (options.ecmaVersion >= 2015) { + options.ecmaVersion -= 2009; + } + + if (options.allowReserved == null) + { options.allowReserved = options.ecmaVersion < 5; } + + if (!opts || opts.allowHashBang == null) + { options.allowHashBang = options.ecmaVersion >= 14; } + + if (isArray(options.onToken)) { + var tokens = options.onToken; + options.onToken = function (token) { return tokens.push(token); }; + } + if (isArray(options.onComment)) + { options.onComment = pushComment(options, options.onComment); } + + if (options.sourceType === "commonjs" && options.allowAwaitOutsideFunction) + { throw new Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs") } + + return options + } + + function pushComment(options, array) { + return function(block, text, start, end, startLoc, endLoc) { + var comment = { + type: block ? "Block" : "Line", + value: text, + start: start, + end: end + }; + if (options.locations) + { comment.loc = new SourceLocation(this, startLoc, endLoc); } + if (options.ranges) + { comment.range = [start, end]; } + array.push(comment); + } + } + + // Each scope gets a bitset that may contain these flags + var + SCOPE_TOP = 1, + SCOPE_FUNCTION = 2, + SCOPE_ASYNC = 4, + SCOPE_GENERATOR = 8, + SCOPE_ARROW = 16, + SCOPE_SIMPLE_CATCH = 32, + SCOPE_SUPER = 64, + SCOPE_DIRECT_SUPER = 128, + SCOPE_CLASS_STATIC_BLOCK = 256, + SCOPE_CLASS_FIELD_INIT = 512, + SCOPE_SWITCH = 1024, + SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK; + + function functionFlags(async, generator) { + return SCOPE_FUNCTION | (async ? SCOPE_ASYNC : 0) | (generator ? SCOPE_GENERATOR : 0) + } + + // Used in checkLVal* and declareName to determine the type of a binding + var + BIND_NONE = 0, // Not a binding + BIND_VAR = 1, // Var-style binding + BIND_LEXICAL = 2, // Let- or const-style binding + BIND_FUNCTION = 3, // Function declaration + BIND_SIMPLE_CATCH = 4, // Simple (identifier pattern) catch binding + BIND_OUTSIDE = 5; // Special case for function names as bound inside the function + + var Parser = function Parser(options, input, startPos) { + this.options = options = getOptions(options); + this.sourceFile = options.sourceFile; + this.keywords = wordsRegexp(keywords$1[options.ecmaVersion >= 6 ? 6 : options.sourceType === "module" ? "5module" : 5]); + var reserved = ""; + if (options.allowReserved !== true) { + reserved = reservedWords[options.ecmaVersion >= 6 ? 6 : options.ecmaVersion === 5 ? 5 : 3]; + if (options.sourceType === "module") { reserved += " await"; } + } + this.reservedWords = wordsRegexp(reserved); + var reservedStrict = (reserved ? reserved + " " : "") + reservedWords.strict; + this.reservedWordsStrict = wordsRegexp(reservedStrict); + this.reservedWordsStrictBind = wordsRegexp(reservedStrict + " " + reservedWords.strictBind); + this.input = String(input); + + // Used to signal to callers of `readWord1` whether the word + // contained any escape sequences. This is needed because words with + // escape sequences must not be interpreted as keywords. + this.containsEsc = false; + + // Set up token state + + // The current position of the tokenizer in the input. + if (startPos) { + this.pos = startPos; + this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1; + this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length; + } else { + this.pos = this.lineStart = 0; + this.curLine = 1; + } + + // Properties of the current token: + // Its type + this.type = types$1.eof; + // For tokens that include more information than their type, the value + this.value = null; + // Its start and end offset + this.start = this.end = this.pos; + // And, if locations are used, the {line, column} object + // corresponding to those offsets + this.startLoc = this.endLoc = this.curPosition(); + + // Position information for the previous token + this.lastTokEndLoc = this.lastTokStartLoc = null; + this.lastTokStart = this.lastTokEnd = this.pos; + + // The context stack is used to superficially track syntactic + // context to predict whether a regular expression is allowed in a + // given position. + this.context = this.initialContext(); + this.exprAllowed = true; + + // Figure out if it's a module code. + this.inModule = options.sourceType === "module"; + this.strict = this.inModule || this.strictDirective(this.pos); + + // Used to signify the start of a potential arrow function + this.potentialArrowAt = -1; + this.potentialArrowInForAwait = false; + + // Positions to delayed-check that yield/await does not exist in default parameters. + this.yieldPos = this.awaitPos = this.awaitIdentPos = 0; + // Labels in scope. + this.labels = []; + // Thus-far undefined exports. + this.undefinedExports = Object.create(null); + + // If enabled, skip leading hashbang line. + if (this.pos === 0 && options.allowHashBang && this.input.slice(0, 2) === "#!") + { this.skipLineComment(2); } + + // Scope tracking for duplicate variable names (see scope.js) + this.scopeStack = []; + this.enterScope( + this.options.sourceType === "commonjs" + // In commonjs, the top-level scope behaves like a function scope + ? SCOPE_FUNCTION + : SCOPE_TOP + ); + + // For RegExp validation + this.regexpState = null; + + // The stack of private names. + // Each element has two properties: 'declared' and 'used'. + // When it exited from the outermost class definition, all used private names must be declared. + this.privateNameStack = []; + }; + + var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowReturn: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },allowUsing: { configurable: true },inClassStaticBlock: { configurable: true } }; + + Parser.prototype.parse = function parse () { + var node = this.options.program || this.startNode(); + this.nextToken(); + return this.parseTopLevel(node) + }; + + prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 }; + + prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 }; + + prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 }; + + prototypeAccessors.canAwait.get = function () { + for (var i = this.scopeStack.length - 1; i >= 0; i--) { + var ref = this.scopeStack[i]; + var flags = ref.flags; + if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false } + if (flags & SCOPE_FUNCTION) { return (flags & SCOPE_ASYNC) > 0 } + } + return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction + }; + + prototypeAccessors.allowReturn.get = function () { + if (this.inFunction) { return true } + if (this.options.allowReturnOutsideFunction && this.currentVarScope().flags & SCOPE_TOP) { return true } + return false + }; + + prototypeAccessors.allowSuper.get = function () { + var ref = this.currentThisScope(); + var flags = ref.flags; + return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod + }; + + prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 }; + + prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) }; + + prototypeAccessors.allowNewDotTarget.get = function () { + for (var i = this.scopeStack.length - 1; i >= 0; i--) { + var ref = this.scopeStack[i]; + var flags = ref.flags; + if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) || + ((flags & SCOPE_FUNCTION) && !(flags & SCOPE_ARROW))) { return true } + } + return false + }; + + prototypeAccessors.allowUsing.get = function () { + var ref = this.currentScope(); + var flags = ref.flags; + if (flags & SCOPE_SWITCH) { return false } + if (!this.inModule && flags & SCOPE_TOP) { return false } + return true + }; + + prototypeAccessors.inClassStaticBlock.get = function () { + return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0 + }; + + Parser.extend = function extend () { + var plugins = [], len = arguments.length; + while ( len-- ) plugins[ len ] = arguments[ len ]; + + var cls = this; + for (var i = 0; i < plugins.length; i++) { cls = plugins[i](cls); } + return cls + }; + + Parser.parse = function parse (input, options) { + return new this(options, input).parse() + }; + + Parser.parseExpressionAt = function parseExpressionAt (input, pos, options) { + var parser = new this(options, input, pos); + parser.nextToken(); + return parser.parseExpression() + }; + + Parser.tokenizer = function tokenizer (input, options) { + return new this(options, input) + }; + + Object.defineProperties( Parser.prototype, prototypeAccessors ); + + var pp$9 = Parser.prototype; + + // ## Parser utilities + + var literal = /^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/; + pp$9.strictDirective = function(start) { + if (this.options.ecmaVersion < 5) { return false } + for (;;) { + // Try to find string literal. + skipWhiteSpace.lastIndex = start; + start += skipWhiteSpace.exec(this.input)[0].length; + var match = literal.exec(this.input.slice(start)); + if (!match) { return false } + if ((match[1] || match[2]) === "use strict") { + skipWhiteSpace.lastIndex = start + match[0].length; + var spaceAfter = skipWhiteSpace.exec(this.input), end = spaceAfter.index + spaceAfter[0].length; + var next = this.input.charAt(end); + return next === ";" || next === "}" || + (lineBreak.test(spaceAfter[0]) && + !(/[(`.[+\-/*%<>=,?^&]/.test(next) || next === "!" && this.input.charAt(end + 1) === "=")) + } + start += match[0].length; + + // Skip semicolon, if any. + skipWhiteSpace.lastIndex = start; + start += skipWhiteSpace.exec(this.input)[0].length; + if (this.input[start] === ";") + { start++; } + } + }; + + // Predicate that tests whether the next token is of the given + // type, and if yes, consumes it as a side effect. + + pp$9.eat = function(type) { + if (this.type === type) { + this.next(); + return true + } else { + return false + } + }; + + // Tests whether parsed token is a contextual keyword. + + pp$9.isContextual = function(name) { + return this.type === types$1.name && this.value === name && !this.containsEsc + }; + + // Consumes contextual keyword if possible. + + pp$9.eatContextual = function(name) { + if (!this.isContextual(name)) { return false } + this.next(); + return true + }; + + // Asserts that following token is given contextual keyword. + + pp$9.expectContextual = function(name) { + if (!this.eatContextual(name)) { this.unexpected(); } + }; + + // Test whether a semicolon can be inserted at the current position. + + pp$9.canInsertSemicolon = function() { + return this.type === types$1.eof || + this.type === types$1.braceR || + lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) + }; + + pp$9.insertSemicolon = function() { + if (this.canInsertSemicolon()) { + if (this.options.onInsertedSemicolon) + { this.options.onInsertedSemicolon(this.lastTokEnd, this.lastTokEndLoc); } + return true + } + }; + + // Consume a semicolon, or, failing that, see if we are allowed to + // pretend that there is a semicolon at this position. + + pp$9.semicolon = function() { + if (!this.eat(types$1.semi) && !this.insertSemicolon()) { this.unexpected(); } + }; + + pp$9.afterTrailingComma = function(tokType, notNext) { + if (this.type === tokType) { + if (this.options.onTrailingComma) + { this.options.onTrailingComma(this.lastTokStart, this.lastTokStartLoc); } + if (!notNext) + { this.next(); } + return true + } + }; + + // Expect a token of a given type. If found, consume it, otherwise, + // raise an unexpected token error. + + pp$9.expect = function(type) { + this.eat(type) || this.unexpected(); + }; + + // Raise an unexpected token error. + + pp$9.unexpected = function(pos) { + this.raise(pos != null ? pos : this.start, "Unexpected token"); + }; + + var DestructuringErrors = function DestructuringErrors() { + this.shorthandAssign = + this.trailingComma = + this.parenthesizedAssign = + this.parenthesizedBind = + this.doubleProto = + -1; + }; + + pp$9.checkPatternErrors = function(refDestructuringErrors, isAssign) { + if (!refDestructuringErrors) { return } + if (refDestructuringErrors.trailingComma > -1) + { this.raiseRecoverable(refDestructuringErrors.trailingComma, "Comma is not permitted after the rest element"); } + var parens = isAssign ? refDestructuringErrors.parenthesizedAssign : refDestructuringErrors.parenthesizedBind; + if (parens > -1) { this.raiseRecoverable(parens, isAssign ? "Assigning to rvalue" : "Parenthesized pattern"); } + }; + + pp$9.checkExpressionErrors = function(refDestructuringErrors, andThrow) { + if (!refDestructuringErrors) { return false } + var shorthandAssign = refDestructuringErrors.shorthandAssign; + var doubleProto = refDestructuringErrors.doubleProto; + if (!andThrow) { return shorthandAssign >= 0 || doubleProto >= 0 } + if (shorthandAssign >= 0) + { this.raise(shorthandAssign, "Shorthand property assignments are valid only in destructuring patterns"); } + if (doubleProto >= 0) + { this.raiseRecoverable(doubleProto, "Redefinition of __proto__ property"); } + }; + + pp$9.checkYieldAwaitInDefaultParams = function() { + if (this.yieldPos && (!this.awaitPos || this.yieldPos < this.awaitPos)) + { this.raise(this.yieldPos, "Yield expression cannot be a default value"); } + if (this.awaitPos) + { this.raise(this.awaitPos, "Await expression cannot be a default value"); } + }; + + pp$9.isSimpleAssignTarget = function(expr) { + if (expr.type === "ParenthesizedExpression") + { return this.isSimpleAssignTarget(expr.expression) } + return expr.type === "Identifier" || expr.type === "MemberExpression" + }; + + var pp$8 = Parser.prototype; + + // ### Statement parsing + + // Parse a program. Initializes the parser, reads any number of + // statements, and wraps them in a Program node. Optionally takes a + // `program` argument. If present, the statements will be appended + // to its body instead of creating a new node. + + pp$8.parseTopLevel = function(node) { + var exports = Object.create(null); + if (!node.body) { node.body = []; } + while (this.type !== types$1.eof) { + var stmt = this.parseStatement(null, true, exports); + node.body.push(stmt); + } + if (this.inModule) + { for (var i = 0, list = Object.keys(this.undefinedExports); i < list.length; i += 1) + { + var name = list[i]; + + this.raiseRecoverable(this.undefinedExports[name].start, ("Export '" + name + "' is not defined")); + } } + this.adaptDirectivePrologue(node.body); + this.next(); + node.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType; + return this.finishNode(node, "Program") + }; + + var loopLabel = {kind: "loop"}, switchLabel = {kind: "switch"}; + + pp$8.isLet = function(context) { + if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false } + skipWhiteSpace.lastIndex = this.pos; + var skip = skipWhiteSpace.exec(this.input); + var next = this.pos + skip[0].length, nextCh = this.fullCharCodeAt(next); + // For ambiguous cases, determine if a LexicalDeclaration (or only a + // Statement) is allowed here. If context is not empty then only a Statement + // is allowed. However, `let [` is an explicit negative lookahead for + // ExpressionStatement, so special-case it first. + if (nextCh === 91 || nextCh === 92) { return true } // '[', '\' + if (context) { return false } + + if (nextCh === 123) { return true } // '{' + if (isIdentifierStart(nextCh)) { + var start = next; + do { next += nextCh <= 0xffff ? 1 : 2; } + while (isIdentifierChar(nextCh = this.fullCharCodeAt(next))) + if (nextCh === 92) { return true } + var ident = this.input.slice(start, next); + if (!keywordRelationalOperator.test(ident)) { return true } + } + return false + }; + + // check 'async [no LineTerminator here] function' + // - 'async /*foo*/ function' is OK. + // - 'async /*\n*/ function' is invalid. + pp$8.isAsyncFunction = function() { + if (this.options.ecmaVersion < 8 || !this.isContextual("async")) + { return false } + + skipWhiteSpace.lastIndex = this.pos; + var skip = skipWhiteSpace.exec(this.input); + var next = this.pos + skip[0].length, after; + return !lineBreak.test(this.input.slice(this.pos, next)) && + this.input.slice(next, next + 8) === "function" && + (next + 8 === this.input.length || + !(isIdentifierChar(after = this.fullCharCodeAt(next + 8)) || after === 92 /* '\' */)) + }; + + pp$8.isUsingKeyword = function(isAwaitUsing, isFor) { + if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using")) + { return false } + + skipWhiteSpace.lastIndex = this.pos; + var skip = skipWhiteSpace.exec(this.input); + var next = this.pos + skip[0].length; + + if (lineBreak.test(this.input.slice(this.pos, next))) { return false } + + if (isAwaitUsing) { + var usingEndPos = next + 5 /* using */, after; + if (this.input.slice(next, usingEndPos) !== "using" || + usingEndPos === this.input.length || + isIdentifierChar(after = this.fullCharCodeAt(usingEndPos)) || + after === 92 /* '\' */ + ) { return false } + + skipWhiteSpace.lastIndex = usingEndPos; + var skipAfterUsing = skipWhiteSpace.exec(this.input); + next = usingEndPos + skipAfterUsing[0].length; + if (skipAfterUsing && lineBreak.test(this.input.slice(usingEndPos, next))) { return false } + } + + var ch = this.fullCharCodeAt(next); + if (!isIdentifierStart(ch) && ch !== 92 /* '\' */) { return false } + var idStart = next; + do { next += ch <= 0xffff ? 1 : 2; } + while (isIdentifierChar(ch = this.fullCharCodeAt(next))) + if (ch === 92) { return true } + var id = this.input.slice(idStart, next); + if (keywordRelationalOperator.test(id) || isFor && id === "of") { return false } + return true + }; + + pp$8.isAwaitUsing = function(isFor) { + return this.isUsingKeyword(true, isFor) + }; + + pp$8.isUsing = function(isFor) { + return this.isUsingKeyword(false, isFor) + }; + + // Parse a single statement. + // + // If expecting a statement and finding a slash operator, parse a + // regular expression literal. This is to handle cases like + // `if (foo) /blah/.exec(foo)`, where looking at the previous token + // does not help. + + pp$8.parseStatement = function(context, topLevel, exports) { + var starttype = this.type, node = this.startNode(), kind; + + if (this.isLet(context)) { + starttype = types$1._var; + kind = "let"; + } + + // Most types of statements are recognized by the keyword they + // start with. Many are trivial to parse, some require a bit of + // complexity. + + switch (starttype) { + case types$1._break: case types$1._continue: return this.parseBreakContinueStatement(node, starttype.keyword) + case types$1._debugger: return this.parseDebuggerStatement(node) + case types$1._do: return this.parseDoStatement(node) + case types$1._for: return this.parseForStatement(node) + case types$1._function: + // Function as sole body of either an if statement or a labeled statement + // works, but not when it is part of a labeled statement that is the sole + // body of an if statement. + if ((context && (this.strict || context !== "if" && context !== "label")) && this.options.ecmaVersion >= 6) { this.unexpected(); } + return this.parseFunctionStatement(node, false, !context) + case types$1._class: + if (context) { this.unexpected(); } + return this.parseClass(node, true) + case types$1._if: return this.parseIfStatement(node) + case types$1._return: return this.parseReturnStatement(node) + case types$1._switch: return this.parseSwitchStatement(node) + case types$1._throw: return this.parseThrowStatement(node) + case types$1._try: return this.parseTryStatement(node) + case types$1._const: case types$1._var: + kind = kind || this.value; + if (context && kind !== "var") { this.unexpected(); } + return this.parseVarStatement(node, kind) + case types$1._while: return this.parseWhileStatement(node) + case types$1._with: return this.parseWithStatement(node) + case types$1.braceL: return this.parseBlock(true, node) + case types$1.semi: return this.parseEmptyStatement(node) + case types$1._export: + case types$1._import: + if (this.options.ecmaVersion > 10 && starttype === types$1._import) { + skipWhiteSpace.lastIndex = this.pos; + var skip = skipWhiteSpace.exec(this.input); + var next = this.pos + skip[0].length, nextCh = this.input.charCodeAt(next); + if (nextCh === 40 || nextCh === 46) // '(' or '.' + { return this.parseExpressionStatement(node, this.parseExpression()) } + } + + if (!this.options.allowImportExportEverywhere) { + if (!topLevel) + { this.raise(this.start, "'import' and 'export' may only appear at the top level"); } + if (!this.inModule) + { this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); } + } + return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports) + + // If the statement does not start with a statement keyword or a + // brace, it's an ExpressionStatement or LabeledStatement. We + // simply start parsing an expression, and afterwards, if the + // next token is a colon and the expression was a simple + // Identifier node, we switch to interpreting it as a label. + default: + if (this.isAsyncFunction()) { + if (context) { this.unexpected(); } + this.next(); + return this.parseFunctionStatement(node, true, !context) + } + + var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null; + if (usingKind) { + if (!this.allowUsing) { + this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement"); + } + if (usingKind === "await using") { + if (!this.canAwait) { + this.raise(this.start, "Await using cannot appear outside of async function"); + } + this.next(); + } + this.next(); + this.parseVar(node, false, usingKind); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration") + } + + var maybeName = this.value, expr = this.parseExpression(); + if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon)) + { return this.parseLabeledStatement(node, maybeName, expr, context) } + else { return this.parseExpressionStatement(node, expr) } + } + }; + + pp$8.parseBreakContinueStatement = function(node, keyword) { + var isBreak = keyword === "break"; + this.next(); + if (this.eat(types$1.semi) || this.insertSemicolon()) { node.label = null; } + else if (this.type !== types$1.name) { this.unexpected(); } + else { + node.label = this.parseIdent(); + this.semicolon(); + } + + // Verify that there is an actual destination to break or + // continue to. + var i = 0; + for (; i < this.labels.length; ++i) { + var lab = this.labels[i]; + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) { break } + if (node.label && isBreak) { break } + } + } + if (i === this.labels.length) { this.raise(node.start, "Unsyntactic " + keyword); } + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement") + }; + + pp$8.parseDebuggerStatement = function(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement") + }; + + pp$8.parseDoStatement = function(node) { + this.next(); + this.labels.push(loopLabel); + node.body = this.parseStatement("do"); + this.labels.pop(); + this.expect(types$1._while); + node.test = this.parseParenExpression(); + if (this.options.ecmaVersion >= 6) + { this.eat(types$1.semi); } + else + { this.semicolon(); } + return this.finishNode(node, "DoWhileStatement") + }; + + // Disambiguating between a `for` and a `for`/`in` or `for`/`of` + // loop is non-trivial. Basically, we have to parse the init `var` + // statement or expression, disallowing the `in` operator (see + // the second parameter to `parseExpression`), and then check + // whether the next token is `in` or `of`. When there is no init + // part (semicolon immediately after the opening parenthesis), it + // is a regular `for` loop. + + pp$8.parseForStatement = function(node) { + this.next(); + var awaitAt = (this.options.ecmaVersion >= 9 && this.canAwait && this.eatContextual("await")) ? this.lastTokStart : -1; + this.labels.push(loopLabel); + this.enterScope(0); + this.expect(types$1.parenL); + if (this.type === types$1.semi) { + if (awaitAt > -1) { this.unexpected(awaitAt); } + return this.parseFor(node, null) + } + var isLet = this.isLet(); + if (this.type === types$1._var || this.type === types$1._const || isLet) { + var init$1 = this.startNode(), kind = isLet ? "let" : this.value; + this.next(); + this.parseVar(init$1, true, kind); + this.finishNode(init$1, "VariableDeclaration"); + return this.parseForAfterInit(node, init$1, awaitAt) + } + var startsWithLet = this.isContextual("let"), isForOf = false; + + var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null; + if (usingKind) { + var init$2 = this.startNode(); + this.next(); + if (usingKind === "await using") { + if (!this.canAwait) { + this.raise(this.start, "Await using cannot appear outside of async function"); + } + this.next(); + } + this.parseVar(init$2, true, usingKind); + this.finishNode(init$2, "VariableDeclaration"); + return this.parseForAfterInit(node, init$2, awaitAt) + } + var containsEsc = this.containsEsc; + var refDestructuringErrors = new DestructuringErrors; + var initPos = this.start; + var init = awaitAt > -1 + ? this.parseExprSubscripts(refDestructuringErrors, "await") + : this.parseExpression(true, refDestructuringErrors); + if (this.type === types$1._in || (isForOf = this.options.ecmaVersion >= 6 && this.isContextual("of"))) { + if (awaitAt > -1) { // implies `ecmaVersion >= 9` (see declaration of awaitAt) + if (this.type === types$1._in) { this.unexpected(awaitAt); } + node.await = true; + } else if (isForOf && this.options.ecmaVersion >= 8) { + if (init.start === initPos && !containsEsc && init.type === "Identifier" && init.name === "async") { this.unexpected(); } + else if (this.options.ecmaVersion >= 9) { node.await = false; } + } + if (startsWithLet && isForOf) { this.raise(init.start, "The left-hand side of a for-of loop may not start with 'let'."); } + this.toAssignable(init, false, refDestructuringErrors); + this.checkLValPattern(init); + return this.parseForIn(node, init) + } else { + this.checkExpressionErrors(refDestructuringErrors, true); + } + if (awaitAt > -1) { this.unexpected(awaitAt); } + return this.parseFor(node, init) + }; + + // Helper method to parse for loop after variable initialization + pp$8.parseForAfterInit = function(node, init, awaitAt) { + if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) { + if (this.options.ecmaVersion >= 9) { + if (this.type === types$1._in) { + if (awaitAt > -1) { this.unexpected(awaitAt); } + } else { node.await = awaitAt > -1; } + } + return this.parseForIn(node, init) + } + if (awaitAt > -1) { this.unexpected(awaitAt); } + return this.parseFor(node, init) + }; + + pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) { + this.next(); + return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync) + }; + + pp$8.parseIfStatement = function(node) { + this.next(); + node.test = this.parseParenExpression(); + // allow function declarations in branches, but only in non-strict mode + node.consequent = this.parseStatement("if"); + node.alternate = this.eat(types$1._else) ? this.parseStatement("if") : null; + return this.finishNode(node, "IfStatement") + }; + + pp$8.parseReturnStatement = function(node) { + if (!this.allowReturn) + { this.raise(this.start, "'return' outside of function"); } + this.next(); + + // In `return` (and `break`/`continue`), the keywords with + // optional arguments, we eagerly look for a semicolon or the + // possibility to insert one. + + if (this.eat(types$1.semi) || this.insertSemicolon()) { node.argument = null; } + else { node.argument = this.parseExpression(); this.semicolon(); } + return this.finishNode(node, "ReturnStatement") + }; + + pp$8.parseSwitchStatement = function(node) { + this.next(); + node.discriminant = this.parseParenExpression(); + node.cases = []; + this.expect(types$1.braceL); + this.labels.push(switchLabel); + this.enterScope(SCOPE_SWITCH); + + // Statements under must be grouped (by label) in SwitchCase + // nodes. `cur` is used to keep the node that we are currently + // adding statements to. + + var cur; + for (var sawDefault = false; this.type !== types$1.braceR;) { + if (this.type === types$1._case || this.type === types$1._default) { + var isCase = this.type === types$1._case; + if (cur) { this.finishNode(cur, "SwitchCase"); } + node.cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { this.raiseRecoverable(this.lastTokStart, "Multiple default clauses"); } + sawDefault = true; + cur.test = null; + } + this.expect(types$1.colon); + } else { + if (!cur) { this.unexpected(); } + cur.consequent.push(this.parseStatement(null)); + } + } + this.exitScope(); + if (cur) { this.finishNode(cur, "SwitchCase"); } + this.next(); // Closing brace + this.labels.pop(); + return this.finishNode(node, "SwitchStatement") + }; + + pp$8.parseThrowStatement = function(node) { + this.next(); + if (lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) + { this.raise(this.lastTokEnd, "Illegal newline after throw"); } + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement") + }; + + // Reused empty array added for node fields that are always empty. + + var empty$1 = []; + + pp$8.parseCatchClauseParam = function() { + var param = this.parseBindingAtom(); + var simple = param.type === "Identifier"; + this.enterScope(simple ? SCOPE_SIMPLE_CATCH : 0); + this.checkLValPattern(param, simple ? BIND_SIMPLE_CATCH : BIND_LEXICAL); + this.expect(types$1.parenR); + + return param + }; + + pp$8.parseTryStatement = function(node) { + this.next(); + node.block = this.parseBlock(); + node.handler = null; + if (this.type === types$1._catch) { + var clause = this.startNode(); + this.next(); + if (this.eat(types$1.parenL)) { + clause.param = this.parseCatchClauseParam(); + } else { + if (this.options.ecmaVersion < 10) { this.unexpected(); } + clause.param = null; + this.enterScope(0); + } + clause.body = this.parseBlock(false); + this.exitScope(); + node.handler = this.finishNode(clause, "CatchClause"); + } + node.finalizer = this.eat(types$1._finally) ? this.parseBlock() : null; + if (!node.handler && !node.finalizer) + { this.raise(node.start, "Missing catch or finally clause"); } + return this.finishNode(node, "TryStatement") + }; + + pp$8.parseVarStatement = function(node, kind, allowMissingInitializer) { + this.next(); + this.parseVar(node, false, kind, allowMissingInitializer); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration") + }; + + pp$8.parseWhileStatement = function(node) { + this.next(); + node.test = this.parseParenExpression(); + this.labels.push(loopLabel); + node.body = this.parseStatement("while"); + this.labels.pop(); + return this.finishNode(node, "WhileStatement") + }; + + pp$8.parseWithStatement = function(node) { + if (this.strict) { this.raise(this.start, "'with' in strict mode"); } + this.next(); + node.object = this.parseParenExpression(); + node.body = this.parseStatement("with"); + return this.finishNode(node, "WithStatement") + }; + + pp$8.parseEmptyStatement = function(node) { + this.next(); + return this.finishNode(node, "EmptyStatement") + }; + + pp$8.parseLabeledStatement = function(node, maybeName, expr, context) { + for (var i$1 = 0, list = this.labels; i$1 < list.length; i$1 += 1) + { + var label = list[i$1]; + + if (label.name === maybeName) + { this.raise(expr.start, "Label '" + maybeName + "' is already declared"); + } } + var kind = this.type.isLoop ? "loop" : this.type === types$1._switch ? "switch" : null; + for (var i = this.labels.length - 1; i >= 0; i--) { + var label$1 = this.labels[i]; + if (label$1.statementStart === node.start) { + // Update information about previous labels on this node + label$1.statementStart = this.start; + label$1.kind = kind; + } else { break } + } + this.labels.push({name: maybeName, kind: kind, statementStart: this.start}); + node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label"); + this.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement") + }; + + pp$8.parseExpressionStatement = function(node, expr) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement") + }; + + // Parse a semicolon-enclosed block of statements, handling `"use + // strict"` declarations when `allowStrict` is true (used for + // function bodies). + + pp$8.parseBlock = function(createNewLexicalScope, node, exitStrict) { + if ( createNewLexicalScope === void 0 ) createNewLexicalScope = true; + if ( node === void 0 ) node = this.startNode(); + + node.body = []; + this.expect(types$1.braceL); + if (createNewLexicalScope) { this.enterScope(0); } + while (this.type !== types$1.braceR) { + var stmt = this.parseStatement(null); + node.body.push(stmt); + } + if (exitStrict) { this.strict = false; } + this.next(); + if (createNewLexicalScope) { this.exitScope(); } + return this.finishNode(node, "BlockStatement") + }; + + // Parse a regular `for` loop. The disambiguation code in + // `parseStatement` will already have parsed the init statement or + // expression. + + pp$8.parseFor = function(node, init) { + node.init = init; + this.expect(types$1.semi); + node.test = this.type === types$1.semi ? null : this.parseExpression(); + this.expect(types$1.semi); + node.update = this.type === types$1.parenR ? null : this.parseExpression(); + this.expect(types$1.parenR); + node.body = this.parseStatement("for"); + this.exitScope(); + this.labels.pop(); + return this.finishNode(node, "ForStatement") + }; + + // Parse a `for`/`in` and `for`/`of` loop, which are almost + // same from parser's perspective. + + pp$8.parseForIn = function(node, init) { + var isForIn = this.type === types$1._in; + this.next(); + + if ( + init.type === "VariableDeclaration" && + init.declarations[0].init != null && + ( + !isForIn || + this.options.ecmaVersion < 8 || + this.strict || + init.kind !== "var" || + init.declarations[0].id.type !== "Identifier" + ) + ) { + this.raise( + init.start, + ((isForIn ? "for-in" : "for-of") + " loop variable declaration may not have an initializer") + ); + } + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign(); + this.expect(types$1.parenR); + node.body = this.parseStatement("for"); + this.exitScope(); + this.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement") + }; + + // Parse a list of variable declarations. + + pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) { + node.declarations = []; + node.kind = kind; + for (;;) { + var decl = this.startNode(); + this.parseVarId(decl, kind); + if (this.eat(types$1.eq)) { + decl.init = this.parseMaybeAssign(isFor); + } else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) { + this.unexpected(); + } else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) { + this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration")); + } else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) { + this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value"); + } else { + decl.init = null; + } + node.declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(types$1.comma)) { break } + } + return node + }; + + pp$8.parseVarId = function(decl, kind) { + decl.id = kind === "using" || kind === "await using" + ? this.parseIdent() + : this.parseBindingAtom(); + + this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false); + }; + + var FUNC_STATEMENT = 1, FUNC_HANGING_STATEMENT = 2, FUNC_NULLABLE_ID = 4; + + // Parse a function declaration or literal (depending on the + // `statement & FUNC_STATEMENT`). + + // Remove `allowExpressionBody` for 7.0.0, as it is only called with false + pp$8.parseFunction = function(node, statement, allowExpressionBody, isAsync, forInit) { + this.initFunction(node); + if (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !isAsync) { + if (this.type === types$1.star && (statement & FUNC_HANGING_STATEMENT)) + { this.unexpected(); } + node.generator = this.eat(types$1.star); + } + if (this.options.ecmaVersion >= 8) + { node.async = !!isAsync; } + + if (statement & FUNC_STATEMENT) { + node.id = (statement & FUNC_NULLABLE_ID) && this.type !== types$1.name ? null : this.parseIdent(); + if (node.id && !(statement & FUNC_HANGING_STATEMENT)) + // If it is a regular function declaration in sloppy mode, then it is + // subject to Annex B semantics (BIND_FUNCTION). Otherwise, the binding + // mode depends on properties of the current scope (see + // treatFunctionsAsVar). + { this.checkLValSimple(node.id, (this.strict || node.generator || node.async) ? this.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION); } + } + + var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; + this.yieldPos = 0; + this.awaitPos = 0; + this.awaitIdentPos = 0; + this.enterScope(functionFlags(node.async, node.generator)); + + if (!(statement & FUNC_STATEMENT)) + { node.id = this.type === types$1.name ? this.parseIdent() : null; } + + this.parseFunctionParams(node); + this.parseFunctionBody(node, allowExpressionBody, false, forInit); + + this.yieldPos = oldYieldPos; + this.awaitPos = oldAwaitPos; + this.awaitIdentPos = oldAwaitIdentPos; + return this.finishNode(node, (statement & FUNC_STATEMENT) ? "FunctionDeclaration" : "FunctionExpression") + }; + + pp$8.parseFunctionParams = function(node) { + this.expect(types$1.parenL); + node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8); + this.checkYieldAwaitInDefaultParams(); + }; + + // Parse a class declaration or literal (depending on the + // `isStatement` parameter). + + pp$8.parseClass = function(node, isStatement) { + this.next(); + + // ecma-262 14.6 Class Definitions + // A class definition is always strict mode code. + var oldStrict = this.strict; + this.strict = true; + + this.parseClassId(node, isStatement); + this.parseClassSuper(node); + var privateNameMap = this.enterClassBody(); + var classBody = this.startNode(); + var hadConstructor = false; + classBody.body = []; + this.expect(types$1.braceL); + while (this.type !== types$1.braceR) { + var element = this.parseClassElement(node.superClass !== null); + if (element) { + classBody.body.push(element); + if (element.type === "MethodDefinition" && element.kind === "constructor") { + if (hadConstructor) { this.raiseRecoverable(element.start, "Duplicate constructor in the same class"); } + hadConstructor = true; + } else if (element.key && element.key.type === "PrivateIdentifier" && isPrivateNameConflicted(privateNameMap, element)) { + this.raiseRecoverable(element.key.start, ("Identifier '#" + (element.key.name) + "' has already been declared")); + } + } + } + this.strict = oldStrict; + this.next(); + node.body = this.finishNode(classBody, "ClassBody"); + this.exitClassBody(); + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression") + }; + + pp$8.parseClassElement = function(constructorAllowsSuper) { + if (this.eat(types$1.semi)) { return null } + + var ecmaVersion = this.options.ecmaVersion; + var node = this.startNode(); + var keyName = ""; + var isGenerator = false; + var isAsync = false; + var kind = "method"; + var isStatic = false; + + if (this.eatContextual("static")) { + // Parse static init block + if (ecmaVersion >= 13 && this.eat(types$1.braceL)) { + this.parseClassStaticBlock(node); + return node + } + if (this.isClassElementNameStart() || this.type === types$1.star) { + isStatic = true; + } else { + keyName = "static"; + } + } + node.static = isStatic; + if (!keyName && ecmaVersion >= 8 && this.eatContextual("async")) { + if ((this.isClassElementNameStart() || this.type === types$1.star) && !this.canInsertSemicolon()) { + isAsync = true; + } else { + keyName = "async"; + } + } + if (!keyName && (ecmaVersion >= 9 || !isAsync) && this.eat(types$1.star)) { + isGenerator = true; + } + if (!keyName && !isAsync && !isGenerator) { + var lastValue = this.value; + if (this.eatContextual("get") || this.eatContextual("set")) { + if (this.isClassElementNameStart()) { + kind = lastValue; + } else { + keyName = lastValue; + } + } + } + + // Parse element name + if (keyName) { + // 'async', 'get', 'set', or 'static' were not a keyword contextually. + // The last token is any of those. Make it the element name. + node.computed = false; + node.key = this.startNodeAt(this.lastTokStart, this.lastTokStartLoc); + node.key.name = keyName; + this.finishNode(node.key, "Identifier"); + } else { + this.parseClassElementName(node); + } + + // Parse element value + if (ecmaVersion < 13 || this.type === types$1.parenL || kind !== "method" || isGenerator || isAsync) { + var isConstructor = !node.static && checkKeyName(node, "constructor"); + var allowsDirectSuper = isConstructor && constructorAllowsSuper; + // Couldn't move this check into the 'parseClassMethod' method for backward compatibility. + if (isConstructor && kind !== "method") { this.raise(node.key.start, "Constructor can't have get/set modifier"); } + node.kind = isConstructor ? "constructor" : kind; + this.parseClassMethod(node, isGenerator, isAsync, allowsDirectSuper); + } else { + this.parseClassField(node); + } + + return node + }; + + pp$8.isClassElementNameStart = function() { + return ( + this.type === types$1.name || + this.type === types$1.privateId || + this.type === types$1.num || + this.type === types$1.string || + this.type === types$1.bracketL || + this.type.keyword + ) + }; + + pp$8.parseClassElementName = function(element) { + if (this.type === types$1.privateId) { + if (this.value === "constructor") { + this.raise(this.start, "Classes can't have an element named '#constructor'"); + } + element.computed = false; + element.key = this.parsePrivateIdent(); + } else { + this.parsePropertyName(element); + } + }; + + pp$8.parseClassMethod = function(method, isGenerator, isAsync, allowsDirectSuper) { + // Check key and flags + var key = method.key; + if (method.kind === "constructor") { + if (isGenerator) { this.raise(key.start, "Constructor can't be a generator"); } + if (isAsync) { this.raise(key.start, "Constructor can't be an async method"); } + } else if (method.static && checkKeyName(method, "prototype")) { + this.raise(key.start, "Classes may not have a static property named prototype"); + } + + // Parse value + var value = method.value = this.parseMethod(isGenerator, isAsync, allowsDirectSuper); + + // Check value + if (method.kind === "get" && value.params.length !== 0) + { this.raiseRecoverable(value.start, "getter should have no params"); } + if (method.kind === "set" && value.params.length !== 1) + { this.raiseRecoverable(value.start, "setter should have exactly one param"); } + if (method.kind === "set" && value.params[0].type === "RestElement") + { this.raiseRecoverable(value.params[0].start, "Setter cannot use rest params"); } + + return this.finishNode(method, "MethodDefinition") + }; + + pp$8.parseClassField = function(field) { + if (checkKeyName(field, "constructor")) { + this.raise(field.key.start, "Classes can't have a field named 'constructor'"); + } else if (field.static && checkKeyName(field, "prototype")) { + this.raise(field.key.start, "Classes can't have a static field named 'prototype'"); + } + + if (this.eat(types$1.eq)) { + // To raise SyntaxError if 'arguments' exists in the initializer. + this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER); + field.value = this.parseMaybeAssign(); + this.exitScope(); + } else { + field.value = null; + } + this.semicolon(); + + return this.finishNode(field, "PropertyDefinition") + }; + + pp$8.parseClassStaticBlock = function(node) { + node.body = []; + + var oldLabels = this.labels; + this.labels = []; + this.enterScope(SCOPE_CLASS_STATIC_BLOCK | SCOPE_SUPER); + while (this.type !== types$1.braceR) { + var stmt = this.parseStatement(null); + node.body.push(stmt); + } + this.next(); + this.exitScope(); + this.labels = oldLabels; + + return this.finishNode(node, "StaticBlock") + }; + + pp$8.parseClassId = function(node, isStatement) { + if (this.type === types$1.name) { + node.id = this.parseIdent(); + if (isStatement) + { this.checkLValSimple(node.id, BIND_LEXICAL, false); } + } else { + if (isStatement === true) + { this.unexpected(); } + node.id = null; + } + }; + + pp$8.parseClassSuper = function(node) { + node.superClass = this.eat(types$1._extends) ? this.parseExprSubscripts(null, false) : null; + }; + + pp$8.enterClassBody = function() { + var element = {declared: Object.create(null), used: []}; + this.privateNameStack.push(element); + return element.declared + }; + + pp$8.exitClassBody = function() { + var ref = this.privateNameStack.pop(); + var declared = ref.declared; + var used = ref.used; + if (!this.options.checkPrivateFields) { return } + var len = this.privateNameStack.length; + var parent = len === 0 ? null : this.privateNameStack[len - 1]; + for (var i = 0; i < used.length; ++i) { + var id = used[i]; + if (!hasOwn(declared, id.name)) { + if (parent) { + parent.used.push(id); + } else { + this.raiseRecoverable(id.start, ("Private field '#" + (id.name) + "' must be declared in an enclosing class")); + } + } + } + }; + + function isPrivateNameConflicted(privateNameMap, element) { + var name = element.key.name; + var curr = privateNameMap[name]; + + var next = "true"; + if (element.type === "MethodDefinition" && (element.kind === "get" || element.kind === "set")) { + next = (element.static ? "s" : "i") + element.kind; + } + + // `class { get #a(){}; static set #a(_){} }` is also conflict. + if ( + curr === "iget" && next === "iset" || + curr === "iset" && next === "iget" || + curr === "sget" && next === "sset" || + curr === "sset" && next === "sget" + ) { + privateNameMap[name] = "true"; + return false + } else if (!curr) { + privateNameMap[name] = next; + return false + } else { + return true + } + } + + function checkKeyName(node, name) { + var computed = node.computed; + var key = node.key; + return !computed && ( + key.type === "Identifier" && key.name === name || + key.type === "Literal" && key.value === name + ) + } + + // Parses module export declaration. + + pp$8.parseExportAllDeclaration = function(node, exports) { + if (this.options.ecmaVersion >= 11) { + if (this.eatContextual("as")) { + node.exported = this.parseModuleExportName(); + this.checkExport(exports, node.exported, this.lastTokStart); + } else { + node.exported = null; + } + } + this.expectContextual("from"); + if (this.type !== types$1.string) { this.unexpected(); } + node.source = this.parseExprAtom(); + if (this.options.ecmaVersion >= 16) + { node.attributes = this.parseWithClause(); } + this.semicolon(); + return this.finishNode(node, "ExportAllDeclaration") + }; + + pp$8.parseExport = function(node, exports) { + this.next(); + // export * from '...' + if (this.eat(types$1.star)) { + return this.parseExportAllDeclaration(node, exports) + } + if (this.eat(types$1._default)) { // export default ... + this.checkExport(exports, "default", this.lastTokStart); + node.declaration = this.parseExportDefaultDeclaration(); + return this.finishNode(node, "ExportDefaultDeclaration") + } + // export var|const|let|function|class ... + if (this.shouldParseExportStatement()) { + node.declaration = this.parseExportDeclaration(node); + if (node.declaration.type === "VariableDeclaration") + { this.checkVariableExport(exports, node.declaration.declarations); } + else + { this.checkExport(exports, node.declaration.id, node.declaration.id.start); } + node.specifiers = []; + node.source = null; + if (this.options.ecmaVersion >= 16) + { node.attributes = []; } + } else { // export { x, y as z } [from '...'] + node.declaration = null; + node.specifiers = this.parseExportSpecifiers(exports); + if (this.eatContextual("from")) { + if (this.type !== types$1.string) { this.unexpected(); } + node.source = this.parseExprAtom(); + if (this.options.ecmaVersion >= 16) + { node.attributes = this.parseWithClause(); } + } else { + for (var i = 0, list = node.specifiers; i < list.length; i += 1) { + // check for keywords used as local names + var spec = list[i]; + + this.checkUnreserved(spec.local); + // check if export is defined + this.checkLocalExport(spec.local); + + if (spec.local.type === "Literal") { + this.raise(spec.local.start, "A string literal cannot be used as an exported binding without `from`."); + } + } + + node.source = null; + if (this.options.ecmaVersion >= 16) + { node.attributes = []; } + } + this.semicolon(); + } + return this.finishNode(node, "ExportNamedDeclaration") + }; + + pp$8.parseExportDeclaration = function(node) { + return this.parseStatement(null) + }; + + pp$8.parseExportDefaultDeclaration = function() { + var isAsync; + if (this.type === types$1._function || (isAsync = this.isAsyncFunction())) { + var fNode = this.startNode(); + this.next(); + if (isAsync) { this.next(); } + return this.parseFunction(fNode, FUNC_STATEMENT | FUNC_NULLABLE_ID, false, isAsync) + } else if (this.type === types$1._class) { + var cNode = this.startNode(); + return this.parseClass(cNode, "nullableID") + } else { + var declaration = this.parseMaybeAssign(); + this.semicolon(); + return declaration + } + }; + + pp$8.checkExport = function(exports, name, pos) { + if (!exports) { return } + if (typeof name !== "string") + { name = name.type === "Identifier" ? name.name : name.value; } + if (hasOwn(exports, name)) + { this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); } + exports[name] = true; + }; + + pp$8.checkPatternExport = function(exports, pat) { + var type = pat.type; + if (type === "Identifier") + { this.checkExport(exports, pat, pat.start); } + else if (type === "ObjectPattern") + { for (var i = 0, list = pat.properties; i < list.length; i += 1) + { + var prop = list[i]; + + this.checkPatternExport(exports, prop); + } } + else if (type === "ArrayPattern") + { for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) { + var elt = list$1[i$1]; + + if (elt) { this.checkPatternExport(exports, elt); } + } } + else if (type === "Property") + { this.checkPatternExport(exports, pat.value); } + else if (type === "AssignmentPattern") + { this.checkPatternExport(exports, pat.left); } + else if (type === "RestElement") + { this.checkPatternExport(exports, pat.argument); } + }; + + pp$8.checkVariableExport = function(exports, decls) { + if (!exports) { return } + for (var i = 0, list = decls; i < list.length; i += 1) + { + var decl = list[i]; + + this.checkPatternExport(exports, decl.id); + } + }; + + pp$8.shouldParseExportStatement = function() { + return this.type.keyword === "var" || + this.type.keyword === "const" || + this.type.keyword === "class" || + this.type.keyword === "function" || + this.isLet() || + this.isAsyncFunction() + }; + + // Parses a comma-separated list of module exports. + + pp$8.parseExportSpecifier = function(exports) { + var node = this.startNode(); + node.local = this.parseModuleExportName(); + + node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local; + this.checkExport( + exports, + node.exported, + node.exported.start + ); + + return this.finishNode(node, "ExportSpecifier") + }; + + pp$8.parseExportSpecifiers = function(exports) { + var nodes = [], first = true; + // export { x, y as z } [from '...'] + this.expect(types$1.braceL); + while (!this.eat(types$1.braceR)) { + if (!first) { + this.expect(types$1.comma); + if (this.afterTrailingComma(types$1.braceR)) { break } + } else { first = false; } + + nodes.push(this.parseExportSpecifier(exports)); + } + return nodes + }; + + // Parses import declaration. + + pp$8.parseImport = function(node) { + this.next(); + + // import '...' + if (this.type === types$1.string) { + node.specifiers = empty$1; + node.source = this.parseExprAtom(); + } else { + node.specifiers = this.parseImportSpecifiers(); + this.expectContextual("from"); + node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected(); + } + if (this.options.ecmaVersion >= 16) + { node.attributes = this.parseWithClause(); } + this.semicolon(); + return this.finishNode(node, "ImportDeclaration") + }; + + // Parses a comma-separated list of module imports. + + pp$8.parseImportSpecifier = function() { + var node = this.startNode(); + node.imported = this.parseModuleExportName(); + + if (this.eatContextual("as")) { + node.local = this.parseIdent(); + } else { + this.checkUnreserved(node.imported); + node.local = node.imported; + } + this.checkLValSimple(node.local, BIND_LEXICAL); + + return this.finishNode(node, "ImportSpecifier") + }; + + pp$8.parseImportDefaultSpecifier = function() { + // import defaultObj, { x, y as z } from '...' + var node = this.startNode(); + node.local = this.parseIdent(); + this.checkLValSimple(node.local, BIND_LEXICAL); + return this.finishNode(node, "ImportDefaultSpecifier") + }; + + pp$8.parseImportNamespaceSpecifier = function() { + var node = this.startNode(); + this.next(); + this.expectContextual("as"); + node.local = this.parseIdent(); + this.checkLValSimple(node.local, BIND_LEXICAL); + return this.finishNode(node, "ImportNamespaceSpecifier") + }; + + pp$8.parseImportSpecifiers = function() { + var nodes = [], first = true; + if (this.type === types$1.name) { + nodes.push(this.parseImportDefaultSpecifier()); + if (!this.eat(types$1.comma)) { return nodes } + } + if (this.type === types$1.star) { + nodes.push(this.parseImportNamespaceSpecifier()); + return nodes + } + this.expect(types$1.braceL); + while (!this.eat(types$1.braceR)) { + if (!first) { + this.expect(types$1.comma); + if (this.afterTrailingComma(types$1.braceR)) { break } + } else { first = false; } + + nodes.push(this.parseImportSpecifier()); + } + return nodes + }; + + pp$8.parseWithClause = function() { + var nodes = []; + if (!this.eat(types$1._with)) { + return nodes + } + this.expect(types$1.braceL); + var attributeKeys = {}; + var first = true; + while (!this.eat(types$1.braceR)) { + if (!first) { + this.expect(types$1.comma); + if (this.afterTrailingComma(types$1.braceR)) { break } + } else { first = false; } + + var attr = this.parseImportAttribute(); + var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value; + if (hasOwn(attributeKeys, keyName)) + { this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); } + attributeKeys[keyName] = true; + nodes.push(attr); + } + return nodes + }; + + pp$8.parseImportAttribute = function() { + var node = this.startNode(); + node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never"); + this.expect(types$1.colon); + if (this.type !== types$1.string) { + this.unexpected(); + } + node.value = this.parseExprAtom(); + return this.finishNode(node, "ImportAttribute") + }; + + pp$8.parseModuleExportName = function() { + if (this.options.ecmaVersion >= 13 && this.type === types$1.string) { + var stringLiteral = this.parseLiteral(this.value); + if (loneSurrogate.test(stringLiteral.value)) { + this.raise(stringLiteral.start, "An export name cannot include a lone surrogate."); + } + return stringLiteral + } + return this.parseIdent(true) + }; + + // Set `ExpressionStatement#directive` property for directive prologues. + pp$8.adaptDirectivePrologue = function(statements) { + for (var i = 0; i < statements.length && this.isDirectiveCandidate(statements[i]); ++i) { + statements[i].directive = statements[i].expression.raw.slice(1, -1); + } + }; + pp$8.isDirectiveCandidate = function(statement) { + return ( + this.options.ecmaVersion >= 5 && + statement.type === "ExpressionStatement" && + statement.expression.type === "Literal" && + typeof statement.expression.value === "string" && + // Reject parenthesized strings. + (this.input[statement.start] === "\"" || this.input[statement.start] === "'") + ) + }; + + var pp$7 = Parser.prototype; + + // Convert existing expression atom to assignable pattern + // if possible. + + pp$7.toAssignable = function(node, isBinding, refDestructuringErrors) { + if (this.options.ecmaVersion >= 6 && node) { + switch (node.type) { + case "Identifier": + if (this.inAsync && node.name === "await") + { this.raise(node.start, "Cannot use 'await' as identifier inside an async function"); } + break + + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + case "RestElement": + break + + case "ObjectExpression": + node.type = "ObjectPattern"; + if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } + for (var i = 0, list = node.properties; i < list.length; i += 1) { + var prop = list[i]; + + this.toAssignable(prop, isBinding); + // Early error: + // AssignmentRestProperty[Yield, Await] : + // `...` DestructuringAssignmentTarget[Yield, Await] + // + // It is a Syntax Error if |DestructuringAssignmentTarget| is an |ArrayLiteral| or an |ObjectLiteral|. + if ( + prop.type === "RestElement" && + (prop.argument.type === "ArrayPattern" || prop.argument.type === "ObjectPattern") + ) { + this.raise(prop.argument.start, "Unexpected token"); + } + } + break + + case "Property": + // AssignmentProperty has type === "Property" + if (node.kind !== "init") { this.raise(node.key.start, "Object pattern can't contain getter or setter"); } + this.toAssignable(node.value, isBinding); + break + + case "ArrayExpression": + node.type = "ArrayPattern"; + if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } + this.toAssignableList(node.elements, isBinding); + break + + case "SpreadElement": + node.type = "RestElement"; + this.toAssignable(node.argument, isBinding); + if (node.argument.type === "AssignmentPattern") + { this.raise(node.argument.start, "Rest elements cannot have a default value"); } + break + + case "AssignmentExpression": + if (node.operator !== "=") { this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); } + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isBinding); + break + + case "ParenthesizedExpression": + this.toAssignable(node.expression, isBinding, refDestructuringErrors); + break + + case "ChainExpression": + this.raiseRecoverable(node.start, "Optional chaining cannot appear in left-hand side"); + break + + case "MemberExpression": + if (!isBinding) { break } + + default: + this.raise(node.start, "Assigning to rvalue"); + } + } else if (refDestructuringErrors) { this.checkPatternErrors(refDestructuringErrors, true); } + return node + }; + + // Convert list of expression atoms to binding list. + + pp$7.toAssignableList = function(exprList, isBinding) { + var end = exprList.length; + for (var i = 0; i < end; i++) { + var elt = exprList[i]; + if (elt) { this.toAssignable(elt, isBinding); } + } + if (end) { + var last = exprList[end - 1]; + if (this.options.ecmaVersion === 6 && isBinding && last && last.type === "RestElement" && last.argument.type !== "Identifier") + { this.unexpected(last.argument.start); } + } + return exprList + }; + + // Parses spread element. + + pp$7.parseSpread = function(refDestructuringErrors) { + var node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssign(false, refDestructuringErrors); + return this.finishNode(node, "SpreadElement") + }; + + pp$7.parseRestBinding = function() { + var node = this.startNode(); + this.next(); + + // RestElement inside of a function parameter must be an identifier + if (this.options.ecmaVersion === 6 && this.type !== types$1.name) + { this.unexpected(); } + + node.argument = this.parseBindingAtom(); + + return this.finishNode(node, "RestElement") + }; + + // Parses lvalue (assignable) atom. + + pp$7.parseBindingAtom = function() { + if (this.options.ecmaVersion >= 6) { + switch (this.type) { + case types$1.bracketL: + var node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(types$1.bracketR, true, true); + return this.finishNode(node, "ArrayPattern") + + case types$1.braceL: + return this.parseObj(true) + } + } + return this.parseIdent() + }; + + pp$7.parseBindingList = function(close, allowEmpty, allowTrailingComma, allowModifiers) { + var elts = [], first = true; + while (!this.eat(close)) { + if (first) { first = false; } + else { this.expect(types$1.comma); } + if (allowEmpty && this.type === types$1.comma) { + elts.push(null); + } else if (allowTrailingComma && this.afterTrailingComma(close)) { + break + } else if (this.type === types$1.ellipsis) { + var rest = this.parseRestBinding(); + this.parseBindingListItem(rest); + elts.push(rest); + if (this.type === types$1.comma) { this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"); } + this.expect(close); + break + } else { + elts.push(this.parseAssignableListItem(allowModifiers)); + } + } + return elts + }; + + pp$7.parseAssignableListItem = function(allowModifiers) { + var elem = this.parseMaybeDefault(this.start, this.startLoc); + this.parseBindingListItem(elem); + return elem + }; + + pp$7.parseBindingListItem = function(param) { + return param + }; + + // Parses assignment pattern around given atom if possible. + + pp$7.parseMaybeDefault = function(startPos, startLoc, left) { + left = left || this.parseBindingAtom(); + if (this.options.ecmaVersion < 6 || !this.eat(types$1.eq)) { return left } + var node = this.startNodeAt(startPos, startLoc); + node.left = left; + node.right = this.parseMaybeAssign(); + return this.finishNode(node, "AssignmentPattern") + }; + + // The following three functions all verify that a node is an lvalue — + // something that can be bound, or assigned to. In order to do so, they perform + // a variety of checks: + // + // - Check that none of the bound/assigned-to identifiers are reserved words. + // - Record name declarations for bindings in the appropriate scope. + // - Check duplicate argument names, if checkClashes is set. + // + // If a complex binding pattern is encountered (e.g., object and array + // destructuring), the entire pattern is recursively checked. + // + // There are three versions of checkLVal*() appropriate for different + // circumstances: + // + // - checkLValSimple() shall be used if the syntactic construct supports + // nothing other than identifiers and member expressions. Parenthesized + // expressions are also correctly handled. This is generally appropriate for + // constructs for which the spec says + // + // > It is a Syntax Error if AssignmentTargetType of [the production] is not + // > simple. + // + // It is also appropriate for checking if an identifier is valid and not + // defined elsewhere, like import declarations or function/class identifiers. + // + // Examples where this is used include: + // a += …; + // import a from '…'; + // where a is the node to be checked. + // + // - checkLValPattern() shall be used if the syntactic construct supports + // anything checkLValSimple() supports, as well as object and array + // destructuring patterns. This is generally appropriate for constructs for + // which the spec says + // + // > It is a Syntax Error if [the production] is neither an ObjectLiteral nor + // > an ArrayLiteral and AssignmentTargetType of [the production] is not + // > simple. + // + // Examples where this is used include: + // (a = …); + // const a = …; + // try { … } catch (a) { … } + // where a is the node to be checked. + // + // - checkLValInnerPattern() shall be used if the syntactic construct supports + // anything checkLValPattern() supports, as well as default assignment + // patterns, rest elements, and other constructs that may appear within an + // object or array destructuring pattern. + // + // As a special case, function parameters also use checkLValInnerPattern(), + // as they also support defaults and rest constructs. + // + // These functions deliberately support both assignment and binding constructs, + // as the logic for both is exceedingly similar. If the node is the target of + // an assignment, then bindingType should be set to BIND_NONE. Otherwise, it + // should be set to the appropriate BIND_* constant, like BIND_VAR or + // BIND_LEXICAL. + // + // If the function is called with a non-BIND_NONE bindingType, then + // additionally a checkClashes object may be specified to allow checking for + // duplicate argument names. checkClashes is ignored if the provided construct + // is an assignment (i.e., bindingType is BIND_NONE). + + pp$7.checkLValSimple = function(expr, bindingType, checkClashes) { + if ( bindingType === void 0 ) bindingType = BIND_NONE; + + var isBind = bindingType !== BIND_NONE; + + switch (expr.type) { + case "Identifier": + if (this.strict && this.reservedWordsStrictBind.test(expr.name)) + { this.raiseRecoverable(expr.start, (isBind ? "Binding " : "Assigning to ") + expr.name + " in strict mode"); } + if (isBind) { + if (bindingType === BIND_LEXICAL && expr.name === "let") + { this.raiseRecoverable(expr.start, "let is disallowed as a lexically bound name"); } + if (checkClashes) { + if (hasOwn(checkClashes, expr.name)) + { this.raiseRecoverable(expr.start, "Argument name clash"); } + checkClashes[expr.name] = true; + } + if (bindingType !== BIND_OUTSIDE) { this.declareName(expr.name, bindingType, expr.start); } + } + break + + case "ChainExpression": + this.raiseRecoverable(expr.start, "Optional chaining cannot appear in left-hand side"); + break + + case "MemberExpression": + if (isBind) { this.raiseRecoverable(expr.start, "Binding member expression"); } + break + + case "ParenthesizedExpression": + if (isBind) { this.raiseRecoverable(expr.start, "Binding parenthesized expression"); } + return this.checkLValSimple(expr.expression, bindingType, checkClashes) + + default: + this.raise(expr.start, (isBind ? "Binding" : "Assigning to") + " rvalue"); + } + }; + + pp$7.checkLValPattern = function(expr, bindingType, checkClashes) { + if ( bindingType === void 0 ) bindingType = BIND_NONE; + + switch (expr.type) { + case "ObjectPattern": + for (var i = 0, list = expr.properties; i < list.length; i += 1) { + var prop = list[i]; + + this.checkLValInnerPattern(prop, bindingType, checkClashes); + } + break + + case "ArrayPattern": + for (var i$1 = 0, list$1 = expr.elements; i$1 < list$1.length; i$1 += 1) { + var elem = list$1[i$1]; + + if (elem) { this.checkLValInnerPattern(elem, bindingType, checkClashes); } + } + break + + default: + this.checkLValSimple(expr, bindingType, checkClashes); + } + }; + + pp$7.checkLValInnerPattern = function(expr, bindingType, checkClashes) { + if ( bindingType === void 0 ) bindingType = BIND_NONE; + + switch (expr.type) { + case "Property": + // AssignmentProperty has type === "Property" + this.checkLValInnerPattern(expr.value, bindingType, checkClashes); + break + + case "AssignmentPattern": + this.checkLValPattern(expr.left, bindingType, checkClashes); + break + + case "RestElement": + this.checkLValPattern(expr.argument, bindingType, checkClashes); + break + + default: + this.checkLValPattern(expr, bindingType, checkClashes); + } + }; + + // The algorithm used to determine whether a regexp can appear at a + // given point in the program is loosely based on sweet.js' approach. + // See https://github.com/mozilla/sweet.js/wiki/design + + + var TokContext = function TokContext(token, isExpr, preserveSpace, override, generator) { + this.token = token; + this.isExpr = !!isExpr; + this.preserveSpace = !!preserveSpace; + this.override = override; + this.generator = !!generator; + }; + + var types = { + b_stat: new TokContext("{", false), + b_expr: new TokContext("{", true), + b_tmpl: new TokContext("${", false), + p_stat: new TokContext("(", false), + p_expr: new TokContext("(", true), + q_tmpl: new TokContext("`", true, true, function (p) { return p.tryReadTemplateToken(); }), + f_stat: new TokContext("function", false), + f_expr: new TokContext("function", true), + f_expr_gen: new TokContext("function", true, false, null, true), + f_gen: new TokContext("function", false, false, null, true) + }; + + var pp$6 = Parser.prototype; + + pp$6.initialContext = function() { + return [types.b_stat] + }; + + pp$6.curContext = function() { + return this.context[this.context.length - 1] + }; + + pp$6.braceIsBlock = function(prevType) { + var parent = this.curContext(); + if (parent === types.f_expr || parent === types.f_stat) + { return true } + if (prevType === types$1.colon && (parent === types.b_stat || parent === types.b_expr)) + { return !parent.isExpr } + + // The check for `tt.name && exprAllowed` detects whether we are + // after a `yield` or `of` construct. See the `updateContext` for + // `tt.name`. + if (prevType === types$1._return || prevType === types$1.name && this.exprAllowed) + { return lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) } + if (prevType === types$1._else || prevType === types$1.semi || prevType === types$1.eof || prevType === types$1.parenR || prevType === types$1.arrow) + { return true } + if (prevType === types$1.braceL) + { return parent === types.b_stat } + if (prevType === types$1._var || prevType === types$1._const || prevType === types$1.name) + { return false } + return !this.exprAllowed + }; + + pp$6.inGeneratorContext = function() { + for (var i = this.context.length - 1; i >= 1; i--) { + var context = this.context[i]; + if (context.token === "function") + { return context.generator } + } + return false + }; + + pp$6.updateContext = function(prevType) { + var update, type = this.type; + if (type.keyword && prevType === types$1.dot) + { this.exprAllowed = false; } + else if (update = type.updateContext) + { update.call(this, prevType); } + else + { this.exprAllowed = type.beforeExpr; } + }; + + // Used to handle edge cases when token context could not be inferred correctly during tokenization phase + + pp$6.overrideContext = function(tokenCtx) { + if (this.curContext() !== tokenCtx) { + this.context[this.context.length - 1] = tokenCtx; + } + }; + + // Token-specific context update code + + types$1.parenR.updateContext = types$1.braceR.updateContext = function() { + if (this.context.length === 1) { + this.exprAllowed = true; + return + } + var out = this.context.pop(); + if (out === types.b_stat && this.curContext().token === "function") { + out = this.context.pop(); + } + this.exprAllowed = !out.isExpr; + }; + + types$1.braceL.updateContext = function(prevType) { + this.context.push(this.braceIsBlock(prevType) ? types.b_stat : types.b_expr); + this.exprAllowed = true; + }; + + types$1.dollarBraceL.updateContext = function() { + this.context.push(types.b_tmpl); + this.exprAllowed = true; + }; + + types$1.parenL.updateContext = function(prevType) { + var statementParens = prevType === types$1._if || prevType === types$1._for || prevType === types$1._with || prevType === types$1._while; + this.context.push(statementParens ? types.p_stat : types.p_expr); + this.exprAllowed = true; + }; + + types$1.incDec.updateContext = function() { + // tokExprAllowed stays unchanged + }; + + types$1._function.updateContext = types$1._class.updateContext = function(prevType) { + if (prevType.beforeExpr && prevType !== types$1._else && + !(prevType === types$1.semi && this.curContext() !== types.p_stat) && + !(prevType === types$1._return && lineBreak.test(this.input.slice(this.lastTokEnd, this.start))) && + !((prevType === types$1.colon || prevType === types$1.braceL) && this.curContext() === types.b_stat)) + { this.context.push(types.f_expr); } + else + { this.context.push(types.f_stat); } + this.exprAllowed = false; + }; + + types$1.colon.updateContext = function() { + if (this.curContext().token === "function") { this.context.pop(); } + this.exprAllowed = true; + }; + + types$1.backQuote.updateContext = function() { + if (this.curContext() === types.q_tmpl) + { this.context.pop(); } + else + { this.context.push(types.q_tmpl); } + this.exprAllowed = false; + }; + + types$1.star.updateContext = function(prevType) { + if (prevType === types$1._function) { + var index = this.context.length - 1; + if (this.context[index] === types.f_expr) + { this.context[index] = types.f_expr_gen; } + else + { this.context[index] = types.f_gen; } + } + this.exprAllowed = true; + }; + + types$1.name.updateContext = function(prevType) { + var allowed = false; + if (this.options.ecmaVersion >= 6 && prevType !== types$1.dot) { + if (this.value === "of" && !this.exprAllowed || + this.value === "yield" && this.inGeneratorContext()) + { allowed = true; } + } + this.exprAllowed = allowed; + }; + + // A recursive descent parser operates by defining functions for all + // syntactic elements, and recursively calling those, each function + // advancing the input stream and returning an AST node. Precedence + // of constructs (for example, the fact that `!x[1]` means `!(x[1])` + // instead of `(!x)[1]` is handled by the fact that the parser + // function that parses unary prefix operators is called first, and + // in turn calls the function that parses `[]` subscripts — that + // way, it'll receive the node for `x[1]` already parsed, and wraps + // *that* in the unary operator node. + // + // Acorn uses an [operator precedence parser][opp] to handle binary + // operator precedence, because it is much more compact than using + // the technique outlined above, which uses different, nesting + // functions to specify precedence, for all of the ten binary + // precedence levels that JavaScript defines. + // + // [opp]: http://en.wikipedia.org/wiki/Operator-precedence_parser + + + var pp$5 = Parser.prototype; + + // Check if property name clashes with already added. + // Object/class getters and setters are not allowed to clash — + // either with each other or with an init property — and in + // strict mode, init properties are also not allowed to be repeated. + + pp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) { + if (this.options.ecmaVersion >= 9 && prop.type === "SpreadElement") + { return } + if (this.options.ecmaVersion >= 6 && (prop.computed || prop.method || prop.shorthand)) + { return } + var key = prop.key; + var name; + switch (key.type) { + case "Identifier": name = key.name; break + case "Literal": name = String(key.value); break + default: return + } + var kind = prop.kind; + if (this.options.ecmaVersion >= 6) { + if (name === "__proto__" && kind === "init") { + if (propHash.proto) { + if (refDestructuringErrors) { + if (refDestructuringErrors.doubleProto < 0) { + refDestructuringErrors.doubleProto = key.start; + } + } else { + this.raiseRecoverable(key.start, "Redefinition of __proto__ property"); + } + } + propHash.proto = true; + } + return + } + name = "$" + name; + var other = propHash[name]; + if (other) { + var redefinition; + if (kind === "init") { + redefinition = this.strict && other.init || other.get || other.set; + } else { + redefinition = other.init || other[kind]; + } + if (redefinition) + { this.raiseRecoverable(key.start, "Redefinition of property"); } + } else { + other = propHash[name] = { + init: false, + get: false, + set: false + }; + } + other[kind] = true; + }; + + // ### Expression parsing + + // These nest, from the most general expression type at the top to + // 'atomic', nondivisible expression types at the bottom. Most of + // the functions will simply let the function(s) below them parse, + // and, *if* the syntactic construct they handle is present, wrap + // the AST node that the inner parser gave them in another node. + + // Parse a full expression. The optional arguments are used to + // forbid the `in` operator (in for loops initalization expressions) + // and provide reference for storing '=' operator inside shorthand + // property assignment in contexts where both object expression + // and object pattern might appear (so it's possible to raise + // delayed syntax error at correct position). + + pp$5.parseExpression = function(forInit, refDestructuringErrors) { + var startPos = this.start, startLoc = this.startLoc; + var expr = this.parseMaybeAssign(forInit, refDestructuringErrors); + if (this.type === types$1.comma) { + var node = this.startNodeAt(startPos, startLoc); + node.expressions = [expr]; + while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); } + return this.finishNode(node, "SequenceExpression") + } + return expr + }; + + // Parse an assignment expression. This includes applications of + // operators like `+=`. + + pp$5.parseMaybeAssign = function(forInit, refDestructuringErrors, afterLeftParse) { + if (this.isContextual("yield")) { + if (this.inGenerator) { return this.parseYield(forInit) } + // The tokenizer will assume an expression is allowed after + // `yield`, but this isn't that kind of yield + else { this.exprAllowed = false; } + } + + var ownDestructuringErrors = false, oldParenAssign = -1, oldTrailingComma = -1, oldDoubleProto = -1; + if (refDestructuringErrors) { + oldParenAssign = refDestructuringErrors.parenthesizedAssign; + oldTrailingComma = refDestructuringErrors.trailingComma; + oldDoubleProto = refDestructuringErrors.doubleProto; + refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = -1; + } else { + refDestructuringErrors = new DestructuringErrors; + ownDestructuringErrors = true; + } + + var startPos = this.start, startLoc = this.startLoc; + if (this.type === types$1.parenL || this.type === types$1.name) { + this.potentialArrowAt = this.start; + this.potentialArrowInForAwait = forInit === "await"; + } + var left = this.parseMaybeConditional(forInit, refDestructuringErrors); + if (afterLeftParse) { left = afterLeftParse.call(this, left, startPos, startLoc); } + if (this.type.isAssign) { + var node = this.startNodeAt(startPos, startLoc); + node.operator = this.value; + if (this.type === types$1.eq) + { left = this.toAssignable(left, false, refDestructuringErrors); } + if (!ownDestructuringErrors) { + refDestructuringErrors.parenthesizedAssign = refDestructuringErrors.trailingComma = refDestructuringErrors.doubleProto = -1; + } + if (refDestructuringErrors.shorthandAssign >= left.start) + { refDestructuringErrors.shorthandAssign = -1; } // reset because shorthand default was used correctly + if (this.type === types$1.eq) + { this.checkLValPattern(left); } + else + { this.checkLValSimple(left); } + node.left = left; + this.next(); + node.right = this.parseMaybeAssign(forInit); + if (oldDoubleProto > -1) { refDestructuringErrors.doubleProto = oldDoubleProto; } + return this.finishNode(node, "AssignmentExpression") + } else { + if (ownDestructuringErrors) { this.checkExpressionErrors(refDestructuringErrors, true); } + } + if (oldParenAssign > -1) { refDestructuringErrors.parenthesizedAssign = oldParenAssign; } + if (oldTrailingComma > -1) { refDestructuringErrors.trailingComma = oldTrailingComma; } + return left + }; + + // Parse a ternary conditional (`?:`) operator. + + pp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) { + var startPos = this.start, startLoc = this.startLoc; + var expr = this.parseExprOps(forInit, refDestructuringErrors); + if (this.checkExpressionErrors(refDestructuringErrors)) { return expr } + if (this.eat(types$1.question)) { + var node = this.startNodeAt(startPos, startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssign(); + this.expect(types$1.colon); + node.alternate = this.parseMaybeAssign(forInit); + return this.finishNode(node, "ConditionalExpression") + } + return expr + }; + + // Start the precedence parser. + + pp$5.parseExprOps = function(forInit, refDestructuringErrors) { + var startPos = this.start, startLoc = this.startLoc; + var expr = this.parseMaybeUnary(refDestructuringErrors, false, false, forInit); + if (this.checkExpressionErrors(refDestructuringErrors)) { return expr } + return expr.start === startPos && expr.type === "ArrowFunctionExpression" ? expr : this.parseExprOp(expr, startPos, startLoc, -1, forInit) + }; + + // Parse binary operators with the operator precedence parsing + // algorithm. `left` is the left-hand side of the operator. + // `minPrec` provides context that allows the function to stop and + // defer further parser to one of its callers when it encounters an + // operator that has a lower precedence than the set it is parsing. + + pp$5.parseExprOp = function(left, leftStartPos, leftStartLoc, minPrec, forInit) { + var prec = this.type.binop; + if (prec != null && (!forInit || this.type !== types$1._in)) { + if (prec > minPrec) { + var logical = this.type === types$1.logicalOR || this.type === types$1.logicalAND; + var coalesce = this.type === types$1.coalesce; + if (coalesce) { + // Handle the precedence of `tt.coalesce` as equal to the range of logical expressions. + // In other words, `node.right` shouldn't contain logical expressions in order to check the mixed error. + prec = types$1.logicalAND.binop; + } + var op = this.value; + this.next(); + var startPos = this.start, startLoc = this.startLoc; + var right = this.parseExprOp(this.parseMaybeUnary(null, false, false, forInit), startPos, startLoc, prec, forInit); + var node = this.buildBinary(leftStartPos, leftStartLoc, left, right, op, logical || coalesce); + if ((logical && this.type === types$1.coalesce) || (coalesce && (this.type === types$1.logicalOR || this.type === types$1.logicalAND))) { + this.raiseRecoverable(this.start, "Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"); + } + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, forInit) + } + } + return left + }; + + pp$5.buildBinary = function(startPos, startLoc, left, right, op, logical) { + if (right.type === "PrivateIdentifier") { this.raise(right.start, "Private identifier can only be left side of binary expression"); } + var node = this.startNodeAt(startPos, startLoc); + node.left = left; + node.operator = op; + node.right = right; + return this.finishNode(node, logical ? "LogicalExpression" : "BinaryExpression") + }; + + // Parse unary operators, both prefix and postfix. + + pp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forInit) { + var startPos = this.start, startLoc = this.startLoc, expr; + if (this.isContextual("await") && this.canAwait) { + expr = this.parseAwait(forInit); + sawUnary = true; + } else if (this.type.prefix) { + var node = this.startNode(), update = this.type === types$1.incDec; + node.operator = this.value; + node.prefix = true; + this.next(); + node.argument = this.parseMaybeUnary(null, true, update, forInit); + this.checkExpressionErrors(refDestructuringErrors, true); + if (update) { this.checkLValSimple(node.argument); } + else if (this.strict && node.operator === "delete" && isLocalVariableAccess(node.argument)) + { this.raiseRecoverable(node.start, "Deleting local variable in strict mode"); } + else if (node.operator === "delete" && isPrivateFieldAccess(node.argument)) + { this.raiseRecoverable(node.start, "Private fields can not be deleted"); } + else { sawUnary = true; } + expr = this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression"); + } else if (!sawUnary && this.type === types$1.privateId) { + if ((forInit || this.privateNameStack.length === 0) && this.options.checkPrivateFields) { this.unexpected(); } + expr = this.parsePrivateIdent(); + // only could be private fields in 'in', such as #x in obj + if (this.type !== types$1._in) { this.unexpected(); } + } else { + expr = this.parseExprSubscripts(refDestructuringErrors, forInit); + if (this.checkExpressionErrors(refDestructuringErrors)) { return expr } + while (this.type.postfix && !this.canInsertSemicolon()) { + var node$1 = this.startNodeAt(startPos, startLoc); + node$1.operator = this.value; + node$1.prefix = false; + node$1.argument = expr; + this.checkLValSimple(expr); + this.next(); + expr = this.finishNode(node$1, "UpdateExpression"); + } + } + + if (!incDec && this.eat(types$1.starstar)) { + if (sawUnary) + { this.unexpected(this.lastTokStart); } + else + { return this.buildBinary(startPos, startLoc, expr, this.parseMaybeUnary(null, false, false, forInit), "**", false) } + } else { + return expr + } + }; + + function isLocalVariableAccess(node) { + return ( + node.type === "Identifier" || + node.type === "ParenthesizedExpression" && isLocalVariableAccess(node.expression) + ) + } + + function isPrivateFieldAccess(node) { + return ( + node.type === "MemberExpression" && node.property.type === "PrivateIdentifier" || + node.type === "ChainExpression" && isPrivateFieldAccess(node.expression) || + node.type === "ParenthesizedExpression" && isPrivateFieldAccess(node.expression) + ) + } + + // Parse call, dot, and `[]`-subscript expressions. + + pp$5.parseExprSubscripts = function(refDestructuringErrors, forInit) { + var startPos = this.start, startLoc = this.startLoc; + var expr = this.parseExprAtom(refDestructuringErrors, forInit); + if (expr.type === "ArrowFunctionExpression" && this.input.slice(this.lastTokStart, this.lastTokEnd) !== ")") + { return expr } + var result = this.parseSubscripts(expr, startPos, startLoc, false, forInit); + if (refDestructuringErrors && result.type === "MemberExpression") { + if (refDestructuringErrors.parenthesizedAssign >= result.start) { refDestructuringErrors.parenthesizedAssign = -1; } + if (refDestructuringErrors.parenthesizedBind >= result.start) { refDestructuringErrors.parenthesizedBind = -1; } + if (refDestructuringErrors.trailingComma >= result.start) { refDestructuringErrors.trailingComma = -1; } + } + return result + }; + + pp$5.parseSubscripts = function(base, startPos, startLoc, noCalls, forInit) { + var maybeAsyncArrow = this.options.ecmaVersion >= 8 && base.type === "Identifier" && base.name === "async" && + this.lastTokEnd === base.end && !this.canInsertSemicolon() && base.end - base.start === 5 && + this.potentialArrowAt === base.start; + var optionalChained = false; + + while (true) { + var element = this.parseSubscript(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit); + + if (element.optional) { optionalChained = true; } + if (element === base || element.type === "ArrowFunctionExpression") { + if (optionalChained) { + var chainNode = this.startNodeAt(startPos, startLoc); + chainNode.expression = element; + element = this.finishNode(chainNode, "ChainExpression"); + } + return element + } + + base = element; + } + }; + + pp$5.shouldParseAsyncArrow = function() { + return !this.canInsertSemicolon() && this.eat(types$1.arrow) + }; + + pp$5.parseSubscriptAsyncArrow = function(startPos, startLoc, exprList, forInit) { + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, true, forInit) + }; + + pp$5.parseSubscript = function(base, startPos, startLoc, noCalls, maybeAsyncArrow, optionalChained, forInit) { + var optionalSupported = this.options.ecmaVersion >= 11; + var optional = optionalSupported && this.eat(types$1.questionDot); + if (noCalls && optional) { this.raise(this.lastTokStart, "Optional chaining cannot appear in the callee of new expressions"); } + + var computed = this.eat(types$1.bracketL); + if (computed || (optional && this.type !== types$1.parenL && this.type !== types$1.backQuote) || this.eat(types$1.dot)) { + var node = this.startNodeAt(startPos, startLoc); + node.object = base; + if (computed) { + node.property = this.parseExpression(); + this.expect(types$1.bracketR); + } else if (this.type === types$1.privateId && base.type !== "Super") { + node.property = this.parsePrivateIdent(); + } else { + node.property = this.parseIdent(this.options.allowReserved !== "never"); + } + node.computed = !!computed; + if (optionalSupported) { + node.optional = optional; + } + base = this.finishNode(node, "MemberExpression"); + } else if (!noCalls && this.eat(types$1.parenL)) { + var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; + this.yieldPos = 0; + this.awaitPos = 0; + this.awaitIdentPos = 0; + var exprList = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false, refDestructuringErrors); + if (maybeAsyncArrow && !optional && this.shouldParseAsyncArrow()) { + this.checkPatternErrors(refDestructuringErrors, false); + this.checkYieldAwaitInDefaultParams(); + if (this.awaitIdentPos > 0) + { this.raise(this.awaitIdentPos, "Cannot use 'await' as identifier inside an async function"); } + this.yieldPos = oldYieldPos; + this.awaitPos = oldAwaitPos; + this.awaitIdentPos = oldAwaitIdentPos; + return this.parseSubscriptAsyncArrow(startPos, startLoc, exprList, forInit) + } + this.checkExpressionErrors(refDestructuringErrors, true); + this.yieldPos = oldYieldPos || this.yieldPos; + this.awaitPos = oldAwaitPos || this.awaitPos; + this.awaitIdentPos = oldAwaitIdentPos || this.awaitIdentPos; + var node$1 = this.startNodeAt(startPos, startLoc); + node$1.callee = base; + node$1.arguments = exprList; + if (optionalSupported) { + node$1.optional = optional; + } + base = this.finishNode(node$1, "CallExpression"); + } else if (this.type === types$1.backQuote) { + if (optional || optionalChained) { + this.raise(this.start, "Optional chaining cannot appear in the tag of tagged template expressions"); + } + var node$2 = this.startNodeAt(startPos, startLoc); + node$2.tag = base; + node$2.quasi = this.parseTemplate({isTagged: true}); + base = this.finishNode(node$2, "TaggedTemplateExpression"); + } + return base + }; + + // Parse an atomic expression — either a single token that is an + // expression, an expression started by a keyword like `function` or + // `new`, or an expression wrapped in punctuation like `()`, `[]`, + // or `{}`. + + pp$5.parseExprAtom = function(refDestructuringErrors, forInit, forNew) { + // If a division operator appears in an expression position, the + // tokenizer got confused, and we force it to read a regexp instead. + if (this.type === types$1.slash) { this.readRegexp(); } + + var node, canBeArrow = this.potentialArrowAt === this.start; + switch (this.type) { + case types$1._super: + if (!this.allowSuper) + { this.raise(this.start, "'super' keyword outside a method"); } + node = this.startNode(); + this.next(); + if (this.type === types$1.parenL && !this.allowDirectSuper) + { this.raise(node.start, "super() call outside constructor of a subclass"); } + // The `super` keyword can appear at below: + // SuperProperty: + // super [ Expression ] + // super . IdentifierName + // SuperCall: + // super ( Arguments ) + if (this.type !== types$1.dot && this.type !== types$1.bracketL && this.type !== types$1.parenL) + { this.unexpected(); } + return this.finishNode(node, "Super") + + case types$1._this: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression") + + case types$1.name: + var startPos = this.start, startLoc = this.startLoc, containsEsc = this.containsEsc; + var id = this.parseIdent(false); + if (this.options.ecmaVersion >= 8 && !containsEsc && id.name === "async" && !this.canInsertSemicolon() && this.eat(types$1._function)) { + this.overrideContext(types.f_expr); + return this.parseFunction(this.startNodeAt(startPos, startLoc), 0, false, true, forInit) + } + if (canBeArrow && !this.canInsertSemicolon()) { + if (this.eat(types$1.arrow)) + { return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], false, forInit) } + if (this.options.ecmaVersion >= 8 && id.name === "async" && this.type === types$1.name && !containsEsc && + (!this.potentialArrowInForAwait || this.value !== "of" || this.containsEsc)) { + id = this.parseIdent(false); + if (this.canInsertSemicolon() || !this.eat(types$1.arrow)) + { this.unexpected(); } + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), [id], true, forInit) + } + } + return id + + case types$1.regexp: + var value = this.value; + node = this.parseLiteral(value.value); + node.regex = {pattern: value.pattern, flags: value.flags}; + return node + + case types$1.num: case types$1.string: + return this.parseLiteral(this.value) + + case types$1._null: case types$1._true: case types$1._false: + node = this.startNode(); + node.value = this.type === types$1._null ? null : this.type === types$1._true; + node.raw = this.type.keyword; + this.next(); + return this.finishNode(node, "Literal") + + case types$1.parenL: + var start = this.start, expr = this.parseParenAndDistinguishExpression(canBeArrow, forInit); + if (refDestructuringErrors) { + if (refDestructuringErrors.parenthesizedAssign < 0 && !this.isSimpleAssignTarget(expr)) + { refDestructuringErrors.parenthesizedAssign = start; } + if (refDestructuringErrors.parenthesizedBind < 0) + { refDestructuringErrors.parenthesizedBind = start; } + } + return expr + + case types$1.bracketL: + node = this.startNode(); + this.next(); + node.elements = this.parseExprList(types$1.bracketR, true, true, refDestructuringErrors); + return this.finishNode(node, "ArrayExpression") + + case types$1.braceL: + this.overrideContext(types.b_expr); + return this.parseObj(false, refDestructuringErrors) + + case types$1._function: + node = this.startNode(); + this.next(); + return this.parseFunction(node, 0) + + case types$1._class: + return this.parseClass(this.startNode(), false) + + case types$1._new: + return this.parseNew() + + case types$1.backQuote: + return this.parseTemplate() + + case types$1._import: + if (this.options.ecmaVersion >= 11) { + return this.parseExprImport(forNew) + } else { + return this.unexpected() + } + + default: + return this.parseExprAtomDefault() + } + }; + + pp$5.parseExprAtomDefault = function() { + this.unexpected(); + }; + + pp$5.parseExprImport = function(forNew) { + var node = this.startNode(); + + // Consume `import` as an identifier for `import.meta`. + // Because `this.parseIdent(true)` doesn't check escape sequences, it needs the check of `this.containsEsc`. + if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword import"); } + this.next(); + + if (this.type === types$1.parenL && !forNew) { + return this.parseDynamicImport(node) + } else if (this.type === types$1.dot) { + var meta = this.startNodeAt(node.start, node.loc && node.loc.start); + meta.name = "import"; + node.meta = this.finishNode(meta, "Identifier"); + return this.parseImportMeta(node) + } else { + this.unexpected(); + } + }; + + pp$5.parseDynamicImport = function(node) { + this.next(); // skip `(` + + // Parse node.source. + node.source = this.parseMaybeAssign(); + + if (this.options.ecmaVersion >= 16) { + if (!this.eat(types$1.parenR)) { + this.expect(types$1.comma); + if (!this.afterTrailingComma(types$1.parenR)) { + node.options = this.parseMaybeAssign(); + if (!this.eat(types$1.parenR)) { + this.expect(types$1.comma); + if (!this.afterTrailingComma(types$1.parenR)) { + this.unexpected(); + } + } + } else { + node.options = null; + } + } else { + node.options = null; + } + } else { + // Verify ending. + if (!this.eat(types$1.parenR)) { + var errorPos = this.start; + if (this.eat(types$1.comma) && this.eat(types$1.parenR)) { + this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()"); + } else { + this.unexpected(errorPos); + } + } + } + + return this.finishNode(node, "ImportExpression") + }; + + pp$5.parseImportMeta = function(node) { + this.next(); // skip `.` + + var containsEsc = this.containsEsc; + node.property = this.parseIdent(true); + + if (node.property.name !== "meta") + { this.raiseRecoverable(node.property.start, "The only valid meta property for import is 'import.meta'"); } + if (containsEsc) + { this.raiseRecoverable(node.start, "'import.meta' must not contain escaped characters"); } + if (this.options.sourceType !== "module" && !this.options.allowImportExportEverywhere) + { this.raiseRecoverable(node.start, "Cannot use 'import.meta' outside a module"); } + + return this.finishNode(node, "MetaProperty") + }; + + pp$5.parseLiteral = function(value) { + var node = this.startNode(); + node.value = value; + node.raw = this.input.slice(this.start, this.end); + if (node.raw.charCodeAt(node.raw.length - 1) === 110) + { node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); } + this.next(); + return this.finishNode(node, "Literal") + }; + + pp$5.parseParenExpression = function() { + this.expect(types$1.parenL); + var val = this.parseExpression(); + this.expect(types$1.parenR); + return val + }; + + pp$5.shouldParseArrow = function(exprList) { + return !this.canInsertSemicolon() + }; + + pp$5.parseParenAndDistinguishExpression = function(canBeArrow, forInit) { + var startPos = this.start, startLoc = this.startLoc, val, allowTrailingComma = this.options.ecmaVersion >= 8; + if (this.options.ecmaVersion >= 6) { + this.next(); + + var innerStartPos = this.start, innerStartLoc = this.startLoc; + var exprList = [], first = true, lastIsComma = false; + var refDestructuringErrors = new DestructuringErrors, oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, spreadStart; + this.yieldPos = 0; + this.awaitPos = 0; + // Do not save awaitIdentPos to allow checking awaits nested in parameters + while (this.type !== types$1.parenR) { + first ? first = false : this.expect(types$1.comma); + if (allowTrailingComma && this.afterTrailingComma(types$1.parenR, true)) { + lastIsComma = true; + break + } else if (this.type === types$1.ellipsis) { + spreadStart = this.start; + exprList.push(this.parseParenItem(this.parseRestBinding())); + if (this.type === types$1.comma) { + this.raiseRecoverable( + this.start, + "Comma is not permitted after the rest element" + ); + } + break + } else { + exprList.push(this.parseMaybeAssign(false, refDestructuringErrors, this.parseParenItem)); + } + } + var innerEndPos = this.lastTokEnd, innerEndLoc = this.lastTokEndLoc; + this.expect(types$1.parenR); + + if (canBeArrow && this.shouldParseArrow(exprList) && this.eat(types$1.arrow)) { + this.checkPatternErrors(refDestructuringErrors, false); + this.checkYieldAwaitInDefaultParams(); + this.yieldPos = oldYieldPos; + this.awaitPos = oldAwaitPos; + return this.parseParenArrowList(startPos, startLoc, exprList, forInit) + } + + if (!exprList.length || lastIsComma) { this.unexpected(this.lastTokStart); } + if (spreadStart) { this.unexpected(spreadStart); } + this.checkExpressionErrors(refDestructuringErrors, true); + this.yieldPos = oldYieldPos || this.yieldPos; + this.awaitPos = oldAwaitPos || this.awaitPos; + + if (exprList.length > 1) { + val = this.startNodeAt(innerStartPos, innerStartLoc); + val.expressions = exprList; + this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc); + } else { + val = exprList[0]; + } + } else { + val = this.parseParenExpression(); + } + + if (this.options.preserveParens) { + var par = this.startNodeAt(startPos, startLoc); + par.expression = val; + return this.finishNode(par, "ParenthesizedExpression") + } else { + return val + } + }; + + pp$5.parseParenItem = function(item) { + return item + }; + + pp$5.parseParenArrowList = function(startPos, startLoc, exprList, forInit) { + return this.parseArrowExpression(this.startNodeAt(startPos, startLoc), exprList, false, forInit) + }; + + // New's precedence is slightly tricky. It must allow its argument to + // be a `[]` or dot subscript expression, but not a call — at least, + // not without wrapping it in parentheses. Thus, it uses the noCalls + // argument to parseSubscripts to prevent it from consuming the + // argument list. + + var empty = []; + + pp$5.parseNew = function() { + if (this.containsEsc) { this.raiseRecoverable(this.start, "Escape sequence in keyword new"); } + var node = this.startNode(); + this.next(); + if (this.options.ecmaVersion >= 6 && this.type === types$1.dot) { + var meta = this.startNodeAt(node.start, node.loc && node.loc.start); + meta.name = "new"; + node.meta = this.finishNode(meta, "Identifier"); + this.next(); + var containsEsc = this.containsEsc; + node.property = this.parseIdent(true); + if (node.property.name !== "target") + { this.raiseRecoverable(node.property.start, "The only valid meta property for new is 'new.target'"); } + if (containsEsc) + { this.raiseRecoverable(node.start, "'new.target' must not contain escaped characters"); } + if (!this.allowNewDotTarget) + { this.raiseRecoverable(node.start, "'new.target' can only be used in functions and class static block"); } + return this.finishNode(node, "MetaProperty") + } + var startPos = this.start, startLoc = this.startLoc; + node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false); + if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); } + else { node.arguments = empty; } + return this.finishNode(node, "NewExpression") + }; + + // Parse template expression. + + pp$5.parseTemplateElement = function(ref) { + var isTagged = ref.isTagged; + + var elem = this.startNode(); + if (this.type === types$1.invalidTemplate) { + if (!isTagged) { + this.raiseRecoverable(this.start, "Bad escape sequence in untagged template literal"); + } + elem.value = { + raw: this.value.replace(/\r\n?/g, "\n"), + cooked: null + }; + } else { + elem.value = { + raw: this.input.slice(this.start, this.end).replace(/\r\n?/g, "\n"), + cooked: this.value + }; + } + this.next(); + elem.tail = this.type === types$1.backQuote; + return this.finishNode(elem, "TemplateElement") + }; + + pp$5.parseTemplate = function(ref) { + if ( ref === void 0 ) ref = {}; + var isTagged = ref.isTagged; if ( isTagged === void 0 ) isTagged = false; + + var node = this.startNode(); + this.next(); + node.expressions = []; + var curElt = this.parseTemplateElement({isTagged: isTagged}); + node.quasis = [curElt]; + while (!curElt.tail) { + if (this.type === types$1.eof) { this.raise(this.pos, "Unterminated template literal"); } + this.expect(types$1.dollarBraceL); + node.expressions.push(this.parseExpression()); + this.expect(types$1.braceR); + node.quasis.push(curElt = this.parseTemplateElement({isTagged: isTagged})); + } + this.next(); + return this.finishNode(node, "TemplateLiteral") + }; + + pp$5.isAsyncProp = function(prop) { + return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" && + (this.type === types$1.name || this.type === types$1.num || this.type === types$1.string || this.type === types$1.bracketL || this.type.keyword || (this.options.ecmaVersion >= 9 && this.type === types$1.star)) && + !lineBreak.test(this.input.slice(this.lastTokEnd, this.start)) + }; + + // Parse an object literal or binding pattern. + + pp$5.parseObj = function(isPattern, refDestructuringErrors) { + var node = this.startNode(), first = true, propHash = {}; + node.properties = []; + this.next(); + while (!this.eat(types$1.braceR)) { + if (!first) { + this.expect(types$1.comma); + if (this.options.ecmaVersion >= 5 && this.afterTrailingComma(types$1.braceR)) { break } + } else { first = false; } + + var prop = this.parseProperty(isPattern, refDestructuringErrors); + if (!isPattern) { this.checkPropClash(prop, propHash, refDestructuringErrors); } + node.properties.push(prop); + } + return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression") + }; + + pp$5.parseProperty = function(isPattern, refDestructuringErrors) { + var prop = this.startNode(), isGenerator, isAsync, startPos, startLoc; + if (this.options.ecmaVersion >= 9 && this.eat(types$1.ellipsis)) { + if (isPattern) { + prop.argument = this.parseIdent(false); + if (this.type === types$1.comma) { + this.raiseRecoverable(this.start, "Comma is not permitted after the rest element"); + } + return this.finishNode(prop, "RestElement") + } + // Parse argument. + prop.argument = this.parseMaybeAssign(false, refDestructuringErrors); + // To disallow trailing comma via `this.toAssignable()`. + if (this.type === types$1.comma && refDestructuringErrors && refDestructuringErrors.trailingComma < 0) { + refDestructuringErrors.trailingComma = this.start; + } + // Finish + return this.finishNode(prop, "SpreadElement") + } + if (this.options.ecmaVersion >= 6) { + prop.method = false; + prop.shorthand = false; + if (isPattern || refDestructuringErrors) { + startPos = this.start; + startLoc = this.startLoc; + } + if (!isPattern) + { isGenerator = this.eat(types$1.star); } + } + var containsEsc = this.containsEsc; + this.parsePropertyName(prop); + if (!isPattern && !containsEsc && this.options.ecmaVersion >= 8 && !isGenerator && this.isAsyncProp(prop)) { + isAsync = true; + isGenerator = this.options.ecmaVersion >= 9 && this.eat(types$1.star); + this.parsePropertyName(prop); + } else { + isAsync = false; + } + this.parsePropertyValue(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc); + return this.finishNode(prop, "Property") + }; + + pp$5.parseGetterSetter = function(prop) { + var kind = prop.key.name; + this.parsePropertyName(prop); + prop.value = this.parseMethod(false); + prop.kind = kind; + var paramCount = prop.kind === "get" ? 0 : 1; + if (prop.value.params.length !== paramCount) { + var start = prop.value.start; + if (prop.kind === "get") + { this.raiseRecoverable(start, "getter should have no params"); } + else + { this.raiseRecoverable(start, "setter should have exactly one param"); } + } else { + if (prop.kind === "set" && prop.value.params[0].type === "RestElement") + { this.raiseRecoverable(prop.value.params[0].start, "Setter cannot use rest params"); } + } + }; + + pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startPos, startLoc, refDestructuringErrors, containsEsc) { + if ((isGenerator || isAsync) && this.type === types$1.colon) + { this.unexpected(); } + + if (this.eat(types$1.colon)) { + prop.value = isPattern ? this.parseMaybeDefault(this.start, this.startLoc) : this.parseMaybeAssign(false, refDestructuringErrors); + prop.kind = "init"; + } else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) { + if (isPattern) { this.unexpected(); } + prop.method = true; + prop.value = this.parseMethod(isGenerator, isAsync); + prop.kind = "init"; + } else if (!isPattern && !containsEsc && + this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" && + (prop.key.name === "get" || prop.key.name === "set") && + (this.type !== types$1.comma && this.type !== types$1.braceR && this.type !== types$1.eq)) { + if (isGenerator || isAsync) { this.unexpected(); } + this.parseGetterSetter(prop); + } else if (this.options.ecmaVersion >= 6 && !prop.computed && prop.key.type === "Identifier") { + if (isGenerator || isAsync) { this.unexpected(); } + this.checkUnreserved(prop.key); + if (prop.key.name === "await" && !this.awaitIdentPos) + { this.awaitIdentPos = startPos; } + if (isPattern) { + prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key)); + } else if (this.type === types$1.eq && refDestructuringErrors) { + if (refDestructuringErrors.shorthandAssign < 0) + { refDestructuringErrors.shorthandAssign = this.start; } + prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key)); + } else { + prop.value = this.copyNode(prop.key); + } + prop.kind = "init"; + prop.shorthand = true; + } else { this.unexpected(); } + }; + + pp$5.parsePropertyName = function(prop) { + if (this.options.ecmaVersion >= 6) { + if (this.eat(types$1.bracketL)) { + prop.computed = true; + prop.key = this.parseMaybeAssign(); + this.expect(types$1.bracketR); + return prop.key + } else { + prop.computed = false; + } + } + return prop.key = this.type === types$1.num || this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never") + }; + + // Initialize empty function node. + + pp$5.initFunction = function(node) { + node.id = null; + if (this.options.ecmaVersion >= 6) { node.generator = node.expression = false; } + if (this.options.ecmaVersion >= 8) { node.async = false; } + }; + + // Parse object or class method. + + pp$5.parseMethod = function(isGenerator, isAsync, allowDirectSuper) { + var node = this.startNode(), oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; + + this.initFunction(node); + if (this.options.ecmaVersion >= 6) + { node.generator = isGenerator; } + if (this.options.ecmaVersion >= 8) + { node.async = !!isAsync; } + + this.yieldPos = 0; + this.awaitPos = 0; + this.awaitIdentPos = 0; + this.enterScope(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0)); + + this.expect(types$1.parenL); + node.params = this.parseBindingList(types$1.parenR, false, this.options.ecmaVersion >= 8); + this.checkYieldAwaitInDefaultParams(); + this.parseFunctionBody(node, false, true, false); + + this.yieldPos = oldYieldPos; + this.awaitPos = oldAwaitPos; + this.awaitIdentPos = oldAwaitIdentPos; + return this.finishNode(node, "FunctionExpression") + }; + + // Parse arrow function expression with given parameters. + + pp$5.parseArrowExpression = function(node, params, isAsync, forInit) { + var oldYieldPos = this.yieldPos, oldAwaitPos = this.awaitPos, oldAwaitIdentPos = this.awaitIdentPos; + + this.enterScope(functionFlags(isAsync, false) | SCOPE_ARROW); + this.initFunction(node); + if (this.options.ecmaVersion >= 8) { node.async = !!isAsync; } + + this.yieldPos = 0; + this.awaitPos = 0; + this.awaitIdentPos = 0; + + node.params = this.toAssignableList(params, true); + this.parseFunctionBody(node, true, false, forInit); + + this.yieldPos = oldYieldPos; + this.awaitPos = oldAwaitPos; + this.awaitIdentPos = oldAwaitIdentPos; + return this.finishNode(node, "ArrowFunctionExpression") + }; + + // Parse function body and check parameters. + + pp$5.parseFunctionBody = function(node, isArrowFunction, isMethod, forInit) { + var isExpression = isArrowFunction && this.type !== types$1.braceL; + var oldStrict = this.strict, useStrict = false; + + if (isExpression) { + node.body = this.parseMaybeAssign(forInit); + node.expression = true; + this.checkParams(node, false); + } else { + var nonSimple = this.options.ecmaVersion >= 7 && !this.isSimpleParamList(node.params); + if (!oldStrict || nonSimple) { + useStrict = this.strictDirective(this.end); + // If this is a strict mode function, verify that argument names + // are not repeated, and it does not try to bind the words `eval` + // or `arguments`. + if (useStrict && nonSimple) + { this.raiseRecoverable(node.start, "Illegal 'use strict' directive in function with non-simple parameter list"); } + } + // Start a new scope with regard to labels and the `inFunction` + // flag (restore them to their old value afterwards). + var oldLabels = this.labels; + this.labels = []; + if (useStrict) { this.strict = true; } + + // Add the params to varDeclaredNames to ensure that an error is thrown + // if a let/const declaration in the function clashes with one of the params. + this.checkParams(node, !oldStrict && !useStrict && !isArrowFunction && !isMethod && this.isSimpleParamList(node.params)); + // Ensure the function name isn't a forbidden identifier in strict mode, e.g. 'eval' + if (this.strict && node.id) { this.checkLValSimple(node.id, BIND_OUTSIDE); } + node.body = this.parseBlock(false, undefined, useStrict && !oldStrict); + node.expression = false; + this.adaptDirectivePrologue(node.body.body); + this.labels = oldLabels; + } + this.exitScope(); + }; + + pp$5.isSimpleParamList = function(params) { + for (var i = 0, list = params; i < list.length; i += 1) + { + var param = list[i]; + + if (param.type !== "Identifier") { return false + } } + return true + }; + + // Checks function params for various disallowed patterns such as using "eval" + // or "arguments" and duplicate parameters. + + pp$5.checkParams = function(node, allowDuplicates) { + var nameHash = Object.create(null); + for (var i = 0, list = node.params; i < list.length; i += 1) + { + var param = list[i]; + + this.checkLValInnerPattern(param, BIND_VAR, allowDuplicates ? null : nameHash); + } + }; + + // Parses a comma-separated list of expressions, and returns them as + // an array. `close` is the token type that ends the list, and + // `allowEmpty` can be turned on to allow subsequent commas with + // nothing in between them to be parsed as `null` (which is needed + // for array literals). + + pp$5.parseExprList = function(close, allowTrailingComma, allowEmpty, refDestructuringErrors) { + var elts = [], first = true; + while (!this.eat(close)) { + if (!first) { + this.expect(types$1.comma); + if (allowTrailingComma && this.afterTrailingComma(close)) { break } + } else { first = false; } + + var elt = (void 0); + if (allowEmpty && this.type === types$1.comma) + { elt = null; } + else if (this.type === types$1.ellipsis) { + elt = this.parseSpread(refDestructuringErrors); + if (refDestructuringErrors && this.type === types$1.comma && refDestructuringErrors.trailingComma < 0) + { refDestructuringErrors.trailingComma = this.start; } + } else { + elt = this.parseMaybeAssign(false, refDestructuringErrors); + } + elts.push(elt); + } + return elts + }; + + pp$5.checkUnreserved = function(ref) { + var start = ref.start; + var end = ref.end; + var name = ref.name; + + if (this.inGenerator && name === "yield") + { this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); } + if (this.inAsync && name === "await") + { this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); } + if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments") + { this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); } + if (this.inClassStaticBlock && (name === "arguments" || name === "await")) + { this.raise(start, ("Cannot use " + name + " in class static initialization block")); } + if (this.keywords.test(name)) + { this.raise(start, ("Unexpected keyword '" + name + "'")); } + if (this.options.ecmaVersion < 6 && + this.input.slice(start, end).indexOf("\\") !== -1) { return } + var re = this.strict ? this.reservedWordsStrict : this.reservedWords; + if (re.test(name)) { + if (!this.inAsync && name === "await") + { this.raiseRecoverable(start, "Cannot use keyword 'await' outside an async function"); } + this.raiseRecoverable(start, ("The keyword '" + name + "' is reserved")); + } + }; + + // Parse the next token as an identifier. If `liberal` is true (used + // when parsing properties), it will also convert keywords into + // identifiers. + + pp$5.parseIdent = function(liberal) { + var node = this.parseIdentNode(); + this.next(!!liberal); + this.finishNode(node, "Identifier"); + if (!liberal) { + this.checkUnreserved(node); + if (node.name === "await" && !this.awaitIdentPos) + { this.awaitIdentPos = node.start; } + } + return node + }; + + pp$5.parseIdentNode = function() { + var node = this.startNode(); + if (this.type === types$1.name) { + node.name = this.value; + } else if (this.type.keyword) { + node.name = this.type.keyword; + + // To fix https://github.com/acornjs/acorn/issues/575 + // `class` and `function` keywords push new context into this.context. + // But there is no chance to pop the context if the keyword is consumed as an identifier such as a property name. + // If the previous token is a dot, this does not apply because the context-managing code already ignored the keyword + if ((node.name === "class" || node.name === "function") && + (this.lastTokEnd !== this.lastTokStart + 1 || this.input.charCodeAt(this.lastTokStart) !== 46)) { + this.context.pop(); + } + this.type = types$1.name; + } else { + this.unexpected(); + } + return node + }; + + pp$5.parsePrivateIdent = function() { + var node = this.startNode(); + if (this.type === types$1.privateId) { + node.name = this.value; + } else { + this.unexpected(); + } + this.next(); + this.finishNode(node, "PrivateIdentifier"); + + // For validating existence + if (this.options.checkPrivateFields) { + if (this.privateNameStack.length === 0) { + this.raise(node.start, ("Private field '#" + (node.name) + "' must be declared in an enclosing class")); + } else { + this.privateNameStack[this.privateNameStack.length - 1].used.push(node); + } + } + + return node + }; + + // Parses yield expression inside generator. + + pp$5.parseYield = function(forInit) { + if (!this.yieldPos) { this.yieldPos = this.start; } + + var node = this.startNode(); + this.next(); + if (this.type === types$1.semi || this.canInsertSemicolon() || (this.type !== types$1.star && !this.type.startsExpr)) { + node.delegate = false; + node.argument = null; + } else { + node.delegate = this.eat(types$1.star); + node.argument = this.parseMaybeAssign(forInit); + } + return this.finishNode(node, "YieldExpression") + }; + + pp$5.parseAwait = function(forInit) { + if (!this.awaitPos) { this.awaitPos = this.start; } + + var node = this.startNode(); + this.next(); + node.argument = this.parseMaybeUnary(null, true, false, forInit); + return this.finishNode(node, "AwaitExpression") + }; + + var pp$4 = Parser.prototype; + + // This function is used to raise exceptions on parse errors. It + // takes an offset integer (into the current `input`) to indicate + // the location of the error, attaches the position to the end + // of the error message, and then raises a `SyntaxError` with that + // message. + + pp$4.raise = function(pos, message) { + var loc = getLineInfo(this.input, pos); + message += " (" + loc.line + ":" + loc.column + ")"; + if (this.sourceFile) { + message += " in " + this.sourceFile; + } + var err = new SyntaxError(message); + err.pos = pos; err.loc = loc; err.raisedAt = this.pos; + throw err + }; + + pp$4.raiseRecoverable = pp$4.raise; + + pp$4.curPosition = function() { + if (this.options.locations) { + return new Position(this.curLine, this.pos - this.lineStart) + } + }; + + var pp$3 = Parser.prototype; + + var Scope = function Scope(flags) { + this.flags = flags; + // A list of var-declared names in the current lexical scope + this.var = []; + // A list of lexically-declared names in the current lexical scope + this.lexical = []; + // A list of lexically-declared FunctionDeclaration names in the current lexical scope + this.functions = []; + }; + + // The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names. + + pp$3.enterScope = function(flags) { + this.scopeStack.push(new Scope(flags)); + }; + + pp$3.exitScope = function() { + this.scopeStack.pop(); + }; + + // The spec says: + // > At the top level of a function, or script, function declarations are + // > treated like var declarations rather than like lexical declarations. + pp$3.treatFunctionsAsVarInScope = function(scope) { + return (scope.flags & SCOPE_FUNCTION) || !this.inModule && (scope.flags & SCOPE_TOP) + }; + + pp$3.declareName = function(name, bindingType, pos) { + var redeclared = false; + if (bindingType === BIND_LEXICAL) { + var scope = this.currentScope(); + redeclared = scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1; + scope.lexical.push(name); + if (this.inModule && (scope.flags & SCOPE_TOP)) + { delete this.undefinedExports[name]; } + } else if (bindingType === BIND_SIMPLE_CATCH) { + var scope$1 = this.currentScope(); + scope$1.lexical.push(name); + } else if (bindingType === BIND_FUNCTION) { + var scope$2 = this.currentScope(); + if (this.treatFunctionsAsVar) + { redeclared = scope$2.lexical.indexOf(name) > -1; } + else + { redeclared = scope$2.lexical.indexOf(name) > -1 || scope$2.var.indexOf(name) > -1; } + scope$2.functions.push(name); + } else { + for (var i = this.scopeStack.length - 1; i >= 0; --i) { + var scope$3 = this.scopeStack[i]; + if (scope$3.lexical.indexOf(name) > -1 && !((scope$3.flags & SCOPE_SIMPLE_CATCH) && scope$3.lexical[0] === name) || + !this.treatFunctionsAsVarInScope(scope$3) && scope$3.functions.indexOf(name) > -1) { + redeclared = true; + break + } + scope$3.var.push(name); + if (this.inModule && (scope$3.flags & SCOPE_TOP)) + { delete this.undefinedExports[name]; } + if (scope$3.flags & SCOPE_VAR) { break } + } + } + if (redeclared) { this.raiseRecoverable(pos, ("Identifier '" + name + "' has already been declared")); } + }; + + pp$3.checkLocalExport = function(id) { + // scope.functions must be empty as Module code is always strict. + if (this.scopeStack[0].lexical.indexOf(id.name) === -1 && + this.scopeStack[0].var.indexOf(id.name) === -1) { + this.undefinedExports[id.name] = id; + } + }; + + pp$3.currentScope = function() { + return this.scopeStack[this.scopeStack.length - 1] + }; + + pp$3.currentVarScope = function() { + for (var i = this.scopeStack.length - 1;; i--) { + var scope = this.scopeStack[i]; + if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope } + } + }; + + // Could be useful for `this`, `new.target`, `super()`, `super.property`, and `super[property]`. + pp$3.currentThisScope = function() { + for (var i = this.scopeStack.length - 1;; i--) { + var scope = this.scopeStack[i]; + if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) && + !(scope.flags & SCOPE_ARROW)) { return scope } + } + }; + + var Node = function Node(parser, pos, loc) { + this.type = ""; + this.start = pos; + this.end = 0; + if (parser.options.locations) + { this.loc = new SourceLocation(parser, loc); } + if (parser.options.directSourceFile) + { this.sourceFile = parser.options.directSourceFile; } + if (parser.options.ranges) + { this.range = [pos, 0]; } + }; + + // Start an AST node, attaching a start offset. + + var pp$2 = Parser.prototype; + + pp$2.startNode = function() { + return new Node(this, this.start, this.startLoc) + }; + + pp$2.startNodeAt = function(pos, loc) { + return new Node(this, pos, loc) + }; + + // Finish an AST node, adding `type` and `end` properties. + + function finishNodeAt(node, type, pos, loc) { + node.type = type; + node.end = pos; + if (this.options.locations) + { node.loc.end = loc; } + if (this.options.ranges) + { node.range[1] = pos; } + return node + } + + pp$2.finishNode = function(node, type) { + return finishNodeAt.call(this, node, type, this.lastTokEnd, this.lastTokEndLoc) + }; + + // Finish node at given position + + pp$2.finishNodeAt = function(node, type, pos, loc) { + return finishNodeAt.call(this, node, type, pos, loc) + }; + + pp$2.copyNode = function(node) { + var newNode = new Node(this, node.start, this.startLoc); + for (var prop in node) { newNode[prop] = node[prop]; } + return newNode + }; + + // This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually! + var scriptValuesAddedInUnicode = "Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz"; + + // This file contains Unicode properties extracted from the ECMAScript specification. + // The lists are extracted like so: + // $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText) + + // #table-binary-unicode-properties + var ecma9BinaryProperties = "ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS"; + var ecma10BinaryProperties = ecma9BinaryProperties + " Extended_Pictographic"; + var ecma11BinaryProperties = ecma10BinaryProperties; + var ecma12BinaryProperties = ecma11BinaryProperties + " EBase EComp EMod EPres ExtPict"; + var ecma13BinaryProperties = ecma12BinaryProperties; + var ecma14BinaryProperties = ecma13BinaryProperties; + + var unicodeBinaryProperties = { + 9: ecma9BinaryProperties, + 10: ecma10BinaryProperties, + 11: ecma11BinaryProperties, + 12: ecma12BinaryProperties, + 13: ecma13BinaryProperties, + 14: ecma14BinaryProperties + }; + + // #table-binary-unicode-properties-of-strings + var ecma14BinaryPropertiesOfStrings = "Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"; + + var unicodeBinaryPropertiesOfStrings = { + 9: "", + 10: "", + 11: "", + 12: "", + 13: "", + 14: ecma14BinaryPropertiesOfStrings + }; + + // #table-unicode-general-category-values + var unicodeGeneralCategoryValues = "Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu"; + + // #table-unicode-script-values + var ecma9ScriptValues = "Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb"; + var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd"; + var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"; + var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi"; + var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith"; + var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode; + + var unicodeScriptValues = { + 9: ecma9ScriptValues, + 10: ecma10ScriptValues, + 11: ecma11ScriptValues, + 12: ecma12ScriptValues, + 13: ecma13ScriptValues, + 14: ecma14ScriptValues + }; + + var data = {}; + function buildUnicodeData(ecmaVersion) { + var d = data[ecmaVersion] = { + binary: wordsRegexp(unicodeBinaryProperties[ecmaVersion] + " " + unicodeGeneralCategoryValues), + binaryOfStrings: wordsRegexp(unicodeBinaryPropertiesOfStrings[ecmaVersion]), + nonBinary: { + General_Category: wordsRegexp(unicodeGeneralCategoryValues), + Script: wordsRegexp(unicodeScriptValues[ecmaVersion]) + } + }; + d.nonBinary.Script_Extensions = d.nonBinary.Script; + + d.nonBinary.gc = d.nonBinary.General_Category; + d.nonBinary.sc = d.nonBinary.Script; + d.nonBinary.scx = d.nonBinary.Script_Extensions; + } + + for (var i = 0, list = [9, 10, 11, 12, 13, 14]; i < list.length; i += 1) { + var ecmaVersion = list[i]; + + buildUnicodeData(ecmaVersion); + } + + var pp$1 = Parser.prototype; + + // Track disjunction structure to determine whether a duplicate + // capture group name is allowed because it is in a separate branch. + var BranchID = function BranchID(parent, base) { + // Parent disjunction branch + this.parent = parent; + // Identifies this set of sibling branches + this.base = base || this; + }; + + BranchID.prototype.separatedFrom = function separatedFrom (alt) { + // A branch is separate from another branch if they or any of + // their parents are siblings in a given disjunction + for (var self = this; self; self = self.parent) { + for (var other = alt; other; other = other.parent) { + if (self.base === other.base && self !== other) { return true } + } + } + return false + }; + + BranchID.prototype.sibling = function sibling () { + return new BranchID(this.parent, this.base) + }; + + var RegExpValidationState = function RegExpValidationState(parser) { + this.parser = parser; + this.validFlags = "gim" + (parser.options.ecmaVersion >= 6 ? "uy" : "") + (parser.options.ecmaVersion >= 9 ? "s" : "") + (parser.options.ecmaVersion >= 13 ? "d" : "") + (parser.options.ecmaVersion >= 15 ? "v" : ""); + this.unicodeProperties = data[parser.options.ecmaVersion >= 14 ? 14 : parser.options.ecmaVersion]; + this.source = ""; + this.flags = ""; + this.start = 0; + this.switchU = false; + this.switchV = false; + this.switchN = false; + this.pos = 0; + this.lastIntValue = 0; + this.lastStringValue = ""; + this.lastAssertionIsQuantifiable = false; + this.numCapturingParens = 0; + this.maxBackReference = 0; + this.groupNames = Object.create(null); + this.backReferenceNames = []; + this.branchID = null; + }; + + RegExpValidationState.prototype.reset = function reset (start, pattern, flags) { + var unicodeSets = flags.indexOf("v") !== -1; + var unicode = flags.indexOf("u") !== -1; + this.start = start | 0; + this.source = pattern + ""; + this.flags = flags; + if (unicodeSets && this.parser.options.ecmaVersion >= 15) { + this.switchU = true; + this.switchV = true; + this.switchN = true; + } else { + this.switchU = unicode && this.parser.options.ecmaVersion >= 6; + this.switchV = false; + this.switchN = unicode && this.parser.options.ecmaVersion >= 9; + } + }; + + RegExpValidationState.prototype.raise = function raise (message) { + this.parser.raiseRecoverable(this.start, ("Invalid regular expression: /" + (this.source) + "/: " + message)); + }; + + // If u flag is given, this returns the code point at the index (it combines a surrogate pair). + // Otherwise, this returns the code unit of the index (can be a part of a surrogate pair). + RegExpValidationState.prototype.at = function at (i, forceU) { + if ( forceU === void 0 ) forceU = false; + + var s = this.source; + var l = s.length; + if (i >= l) { + return -1 + } + var c = s.charCodeAt(i); + if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l) { + return c + } + var next = s.charCodeAt(i + 1); + return next >= 0xDC00 && next <= 0xDFFF ? (c << 10) + next - 0x35FDC00 : c + }; + + RegExpValidationState.prototype.nextIndex = function nextIndex (i, forceU) { + if ( forceU === void 0 ) forceU = false; + + var s = this.source; + var l = s.length; + if (i >= l) { + return l + } + var c = s.charCodeAt(i), next; + if (!(forceU || this.switchU) || c <= 0xD7FF || c >= 0xE000 || i + 1 >= l || + (next = s.charCodeAt(i + 1)) < 0xDC00 || next > 0xDFFF) { + return i + 1 + } + return i + 2 + }; + + RegExpValidationState.prototype.current = function current (forceU) { + if ( forceU === void 0 ) forceU = false; + + return this.at(this.pos, forceU) + }; + + RegExpValidationState.prototype.lookahead = function lookahead (forceU) { + if ( forceU === void 0 ) forceU = false; + + return this.at(this.nextIndex(this.pos, forceU), forceU) + }; + + RegExpValidationState.prototype.advance = function advance (forceU) { + if ( forceU === void 0 ) forceU = false; + + this.pos = this.nextIndex(this.pos, forceU); + }; + + RegExpValidationState.prototype.eat = function eat (ch, forceU) { + if ( forceU === void 0 ) forceU = false; + + if (this.current(forceU) === ch) { + this.advance(forceU); + return true + } + return false + }; + + RegExpValidationState.prototype.eatChars = function eatChars (chs, forceU) { + if ( forceU === void 0 ) forceU = false; + + var pos = this.pos; + for (var i = 0, list = chs; i < list.length; i += 1) { + var ch = list[i]; + + var current = this.at(pos, forceU); + if (current === -1 || current !== ch) { + return false + } + pos = this.nextIndex(pos, forceU); + } + this.pos = pos; + return true + }; + + /** + * Validate the flags part of a given RegExpLiteral. + * + * @param {RegExpValidationState} state The state to validate RegExp. + * @returns {void} + */ + pp$1.validateRegExpFlags = function(state) { + var validFlags = state.validFlags; + var flags = state.flags; + + var u = false; + var v = false; + + for (var i = 0; i < flags.length; i++) { + var flag = flags.charAt(i); + if (validFlags.indexOf(flag) === -1) { + this.raise(state.start, "Invalid regular expression flag"); + } + if (flags.indexOf(flag, i + 1) > -1) { + this.raise(state.start, "Duplicate regular expression flag"); + } + if (flag === "u") { u = true; } + if (flag === "v") { v = true; } + } + if (this.options.ecmaVersion >= 15 && u && v) { + this.raise(state.start, "Invalid regular expression flag"); + } + }; + + function hasProp(obj) { + for (var _ in obj) { return true } + return false + } + + /** + * Validate the pattern part of a given RegExpLiteral. + * + * @param {RegExpValidationState} state The state to validate RegExp. + * @returns {void} + */ + pp$1.validateRegExpPattern = function(state) { + this.regexp_pattern(state); + + // The goal symbol for the parse is |Pattern[~U, ~N]|. If the result of + // parsing contains a |GroupName|, reparse with the goal symbol + // |Pattern[~U, +N]| and use this result instead. Throw a *SyntaxError* + // exception if _P_ did not conform to the grammar, if any elements of _P_ + // were not matched by the parse, or if any Early Error conditions exist. + if (!state.switchN && this.options.ecmaVersion >= 9 && hasProp(state.groupNames)) { + state.switchN = true; + this.regexp_pattern(state); + } + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-Pattern + pp$1.regexp_pattern = function(state) { + state.pos = 0; + state.lastIntValue = 0; + state.lastStringValue = ""; + state.lastAssertionIsQuantifiable = false; + state.numCapturingParens = 0; + state.maxBackReference = 0; + state.groupNames = Object.create(null); + state.backReferenceNames.length = 0; + state.branchID = null; + + this.regexp_disjunction(state); + + if (state.pos !== state.source.length) { + // Make the same messages as V8. + if (state.eat(0x29 /* ) */)) { + state.raise("Unmatched ')'"); + } + if (state.eat(0x5D /* ] */) || state.eat(0x7D /* } */)) { + state.raise("Lone quantifier brackets"); + } + } + if (state.maxBackReference > state.numCapturingParens) { + state.raise("Invalid escape"); + } + for (var i = 0, list = state.backReferenceNames; i < list.length; i += 1) { + var name = list[i]; + + if (!state.groupNames[name]) { + state.raise("Invalid named capture referenced"); + } + } + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-Disjunction + pp$1.regexp_disjunction = function(state) { + var trackDisjunction = this.options.ecmaVersion >= 16; + if (trackDisjunction) { state.branchID = new BranchID(state.branchID, null); } + this.regexp_alternative(state); + while (state.eat(0x7C /* | */)) { + if (trackDisjunction) { state.branchID = state.branchID.sibling(); } + this.regexp_alternative(state); + } + if (trackDisjunction) { state.branchID = state.branchID.parent; } + + // Make the same message as V8. + if (this.regexp_eatQuantifier(state, true)) { + state.raise("Nothing to repeat"); + } + if (state.eat(0x7B /* { */)) { + state.raise("Lone quantifier brackets"); + } + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-Alternative + pp$1.regexp_alternative = function(state) { + while (state.pos < state.source.length && this.regexp_eatTerm(state)) {} + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Term + pp$1.regexp_eatTerm = function(state) { + if (this.regexp_eatAssertion(state)) { + // Handle `QuantifiableAssertion Quantifier` alternative. + // `state.lastAssertionIsQuantifiable` is true if the last eaten Assertion + // is a QuantifiableAssertion. + if (state.lastAssertionIsQuantifiable && this.regexp_eatQuantifier(state)) { + // Make the same message as V8. + if (state.switchU) { + state.raise("Invalid quantifier"); + } + } + return true + } + + if (state.switchU ? this.regexp_eatAtom(state) : this.regexp_eatExtendedAtom(state)) { + this.regexp_eatQuantifier(state); + return true + } + + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-Assertion + pp$1.regexp_eatAssertion = function(state) { + var start = state.pos; + state.lastAssertionIsQuantifiable = false; + + // ^, $ + if (state.eat(0x5E /* ^ */) || state.eat(0x24 /* $ */)) { + return true + } + + // \b \B + if (state.eat(0x5C /* \ */)) { + if (state.eat(0x42 /* B */) || state.eat(0x62 /* b */)) { + return true + } + state.pos = start; + } + + // Lookahead / Lookbehind + if (state.eat(0x28 /* ( */) && state.eat(0x3F /* ? */)) { + var lookbehind = false; + if (this.options.ecmaVersion >= 9) { + lookbehind = state.eat(0x3C /* < */); + } + if (state.eat(0x3D /* = */) || state.eat(0x21 /* ! */)) { + this.regexp_disjunction(state); + if (!state.eat(0x29 /* ) */)) { + state.raise("Unterminated group"); + } + state.lastAssertionIsQuantifiable = !lookbehind; + return true + } + } + + state.pos = start; + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-Quantifier + pp$1.regexp_eatQuantifier = function(state, noError) { + if ( noError === void 0 ) noError = false; + + if (this.regexp_eatQuantifierPrefix(state, noError)) { + state.eat(0x3F /* ? */); + return true + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-QuantifierPrefix + pp$1.regexp_eatQuantifierPrefix = function(state, noError) { + return ( + state.eat(0x2A /* * */) || + state.eat(0x2B /* + */) || + state.eat(0x3F /* ? */) || + this.regexp_eatBracedQuantifier(state, noError) + ) + }; + pp$1.regexp_eatBracedQuantifier = function(state, noError) { + var start = state.pos; + if (state.eat(0x7B /* { */)) { + var min = 0, max = -1; + if (this.regexp_eatDecimalDigits(state)) { + min = state.lastIntValue; + if (state.eat(0x2C /* , */) && this.regexp_eatDecimalDigits(state)) { + max = state.lastIntValue; + } + if (state.eat(0x7D /* } */)) { + // SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-term + if (max !== -1 && max < min && !noError) { + state.raise("numbers out of order in {} quantifier"); + } + return true + } + } + if (state.switchU && !noError) { + state.raise("Incomplete quantifier"); + } + state.pos = start; + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-Atom + pp$1.regexp_eatAtom = function(state) { + return ( + this.regexp_eatPatternCharacters(state) || + state.eat(0x2E /* . */) || + this.regexp_eatReverseSolidusAtomEscape(state) || + this.regexp_eatCharacterClass(state) || + this.regexp_eatUncapturingGroup(state) || + this.regexp_eatCapturingGroup(state) + ) + }; + pp$1.regexp_eatReverseSolidusAtomEscape = function(state) { + var start = state.pos; + if (state.eat(0x5C /* \ */)) { + if (this.regexp_eatAtomEscape(state)) { + return true + } + state.pos = start; + } + return false + }; + pp$1.regexp_eatUncapturingGroup = function(state) { + var start = state.pos; + if (state.eat(0x28 /* ( */)) { + if (state.eat(0x3F /* ? */)) { + if (this.options.ecmaVersion >= 16) { + var addModifiers = this.regexp_eatModifiers(state); + var hasHyphen = state.eat(0x2D /* - */); + if (addModifiers || hasHyphen) { + for (var i = 0; i < addModifiers.length; i++) { + var modifier = addModifiers.charAt(i); + if (addModifiers.indexOf(modifier, i + 1) > -1) { + state.raise("Duplicate regular expression modifiers"); + } + } + if (hasHyphen) { + var removeModifiers = this.regexp_eatModifiers(state); + if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) { + state.raise("Invalid regular expression modifiers"); + } + for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) { + var modifier$1 = removeModifiers.charAt(i$1); + if ( + removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 || + addModifiers.indexOf(modifier$1) > -1 + ) { + state.raise("Duplicate regular expression modifiers"); + } + } + } + } + } + if (state.eat(0x3A /* : */)) { + this.regexp_disjunction(state); + if (state.eat(0x29 /* ) */)) { + return true + } + state.raise("Unterminated group"); + } + } + state.pos = start; + } + return false + }; + pp$1.regexp_eatCapturingGroup = function(state) { + if (state.eat(0x28 /* ( */)) { + if (this.options.ecmaVersion >= 9) { + this.regexp_groupSpecifier(state); + } else if (state.current() === 0x3F /* ? */) { + state.raise("Invalid group"); + } + this.regexp_disjunction(state); + if (state.eat(0x29 /* ) */)) { + state.numCapturingParens += 1; + return true + } + state.raise("Unterminated group"); + } + return false + }; + // RegularExpressionModifiers :: + // [empty] + // RegularExpressionModifiers RegularExpressionModifier + pp$1.regexp_eatModifiers = function(state) { + var modifiers = ""; + var ch = 0; + while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) { + modifiers += codePointToString(ch); + state.advance(); + } + return modifiers + }; + // RegularExpressionModifier :: one of + // `i` `m` `s` + function isRegularExpressionModifier(ch) { + return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */ + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom + pp$1.regexp_eatExtendedAtom = function(state) { + return ( + state.eat(0x2E /* . */) || + this.regexp_eatReverseSolidusAtomEscape(state) || + this.regexp_eatCharacterClass(state) || + this.regexp_eatUncapturingGroup(state) || + this.regexp_eatCapturingGroup(state) || + this.regexp_eatInvalidBracedQuantifier(state) || + this.regexp_eatExtendedPatternCharacter(state) + ) + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-InvalidBracedQuantifier + pp$1.regexp_eatInvalidBracedQuantifier = function(state) { + if (this.regexp_eatBracedQuantifier(state, true)) { + state.raise("Nothing to repeat"); + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-SyntaxCharacter + pp$1.regexp_eatSyntaxCharacter = function(state) { + var ch = state.current(); + if (isSyntaxCharacter(ch)) { + state.lastIntValue = ch; + state.advance(); + return true + } + return false + }; + function isSyntaxCharacter(ch) { + return ( + ch === 0x24 /* $ */ || + ch >= 0x28 /* ( */ && ch <= 0x2B /* + */ || + ch === 0x2E /* . */ || + ch === 0x3F /* ? */ || + ch >= 0x5B /* [ */ && ch <= 0x5E /* ^ */ || + ch >= 0x7B /* { */ && ch <= 0x7D /* } */ + ) + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-PatternCharacter + // But eat eager. + pp$1.regexp_eatPatternCharacters = function(state) { + var start = state.pos; + var ch = 0; + while ((ch = state.current()) !== -1 && !isSyntaxCharacter(ch)) { + state.advance(); + } + return state.pos !== start + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedPatternCharacter + pp$1.regexp_eatExtendedPatternCharacter = function(state) { + var ch = state.current(); + if ( + ch !== -1 && + ch !== 0x24 /* $ */ && + !(ch >= 0x28 /* ( */ && ch <= 0x2B /* + */) && + ch !== 0x2E /* . */ && + ch !== 0x3F /* ? */ && + ch !== 0x5B /* [ */ && + ch !== 0x5E /* ^ */ && + ch !== 0x7C /* | */ + ) { + state.advance(); + return true + } + return false + }; + + // GroupSpecifier :: + // [empty] + // `?` GroupName + pp$1.regexp_groupSpecifier = function(state) { + if (state.eat(0x3F /* ? */)) { + if (!this.regexp_eatGroupName(state)) { state.raise("Invalid group"); } + var trackDisjunction = this.options.ecmaVersion >= 16; + var known = state.groupNames[state.lastStringValue]; + if (known) { + if (trackDisjunction) { + for (var i = 0, list = known; i < list.length; i += 1) { + var altID = list[i]; + + if (!altID.separatedFrom(state.branchID)) + { state.raise("Duplicate capture group name"); } + } + } else { + state.raise("Duplicate capture group name"); + } + } + if (trackDisjunction) { + (known || (state.groupNames[state.lastStringValue] = [])).push(state.branchID); + } else { + state.groupNames[state.lastStringValue] = true; + } + } + }; + + // GroupName :: + // `<` RegExpIdentifierName `>` + // Note: this updates `state.lastStringValue` property with the eaten name. + pp$1.regexp_eatGroupName = function(state) { + state.lastStringValue = ""; + if (state.eat(0x3C /* < */)) { + if (this.regexp_eatRegExpIdentifierName(state) && state.eat(0x3E /* > */)) { + return true + } + state.raise("Invalid capture group name"); + } + return false + }; + + // RegExpIdentifierName :: + // RegExpIdentifierStart + // RegExpIdentifierName RegExpIdentifierPart + // Note: this updates `state.lastStringValue` property with the eaten name. + pp$1.regexp_eatRegExpIdentifierName = function(state) { + state.lastStringValue = ""; + if (this.regexp_eatRegExpIdentifierStart(state)) { + state.lastStringValue += codePointToString(state.lastIntValue); + while (this.regexp_eatRegExpIdentifierPart(state)) { + state.lastStringValue += codePointToString(state.lastIntValue); + } + return true + } + return false + }; + + // RegExpIdentifierStart :: + // UnicodeIDStart + // `$` + // `_` + // `\` RegExpUnicodeEscapeSequence[+U] + pp$1.regexp_eatRegExpIdentifierStart = function(state) { + var start = state.pos; + var forceU = this.options.ecmaVersion >= 11; + var ch = state.current(forceU); + state.advance(forceU); + + if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { + ch = state.lastIntValue; + } + if (isRegExpIdentifierStart(ch)) { + state.lastIntValue = ch; + return true + } + + state.pos = start; + return false + }; + function isRegExpIdentifierStart(ch) { + return isIdentifierStart(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ + } + + // RegExpIdentifierPart :: + // UnicodeIDContinue + // `$` + // `_` + // `\` RegExpUnicodeEscapeSequence[+U] + // + // + pp$1.regexp_eatRegExpIdentifierPart = function(state) { + var start = state.pos; + var forceU = this.options.ecmaVersion >= 11; + var ch = state.current(forceU); + state.advance(forceU); + + if (ch === 0x5C /* \ */ && this.regexp_eatRegExpUnicodeEscapeSequence(state, forceU)) { + ch = state.lastIntValue; + } + if (isRegExpIdentifierPart(ch)) { + state.lastIntValue = ch; + return true + } + + state.pos = start; + return false + }; + function isRegExpIdentifierPart(ch) { + return isIdentifierChar(ch, true) || ch === 0x24 /* $ */ || ch === 0x5F /* _ */ || ch === 0x200C /* */ || ch === 0x200D /* */ + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-AtomEscape + pp$1.regexp_eatAtomEscape = function(state) { + if ( + this.regexp_eatBackReference(state) || + this.regexp_eatCharacterClassEscape(state) || + this.regexp_eatCharacterEscape(state) || + (state.switchN && this.regexp_eatKGroupName(state)) + ) { + return true + } + if (state.switchU) { + // Make the same message as V8. + if (state.current() === 0x63 /* c */) { + state.raise("Invalid unicode escape"); + } + state.raise("Invalid escape"); + } + return false + }; + pp$1.regexp_eatBackReference = function(state) { + var start = state.pos; + if (this.regexp_eatDecimalEscape(state)) { + var n = state.lastIntValue; + if (state.switchU) { + // For SyntaxError in https://www.ecma-international.org/ecma-262/8.0/#sec-atomescape + if (n > state.maxBackReference) { + state.maxBackReference = n; + } + return true + } + if (n <= state.numCapturingParens) { + return true + } + state.pos = start; + } + return false + }; + pp$1.regexp_eatKGroupName = function(state) { + if (state.eat(0x6B /* k */)) { + if (this.regexp_eatGroupName(state)) { + state.backReferenceNames.push(state.lastStringValue); + return true + } + state.raise("Invalid named reference"); + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-CharacterEscape + pp$1.regexp_eatCharacterEscape = function(state) { + return ( + this.regexp_eatControlEscape(state) || + this.regexp_eatCControlLetter(state) || + this.regexp_eatZero(state) || + this.regexp_eatHexEscapeSequence(state) || + this.regexp_eatRegExpUnicodeEscapeSequence(state, false) || + (!state.switchU && this.regexp_eatLegacyOctalEscapeSequence(state)) || + this.regexp_eatIdentityEscape(state) + ) + }; + pp$1.regexp_eatCControlLetter = function(state) { + var start = state.pos; + if (state.eat(0x63 /* c */)) { + if (this.regexp_eatControlLetter(state)) { + return true + } + state.pos = start; + } + return false + }; + pp$1.regexp_eatZero = function(state) { + if (state.current() === 0x30 /* 0 */ && !isDecimalDigit(state.lookahead())) { + state.lastIntValue = 0; + state.advance(); + return true + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlEscape + pp$1.regexp_eatControlEscape = function(state) { + var ch = state.current(); + if (ch === 0x74 /* t */) { + state.lastIntValue = 0x09; /* \t */ + state.advance(); + return true + } + if (ch === 0x6E /* n */) { + state.lastIntValue = 0x0A; /* \n */ + state.advance(); + return true + } + if (ch === 0x76 /* v */) { + state.lastIntValue = 0x0B; /* \v */ + state.advance(); + return true + } + if (ch === 0x66 /* f */) { + state.lastIntValue = 0x0C; /* \f */ + state.advance(); + return true + } + if (ch === 0x72 /* r */) { + state.lastIntValue = 0x0D; /* \r */ + state.advance(); + return true + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-ControlLetter + pp$1.regexp_eatControlLetter = function(state) { + var ch = state.current(); + if (isControlLetter(ch)) { + state.lastIntValue = ch % 0x20; + state.advance(); + return true + } + return false + }; + function isControlLetter(ch) { + return ( + (ch >= 0x41 /* A */ && ch <= 0x5A /* Z */) || + (ch >= 0x61 /* a */ && ch <= 0x7A /* z */) + ) + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-RegExpUnicodeEscapeSequence + pp$1.regexp_eatRegExpUnicodeEscapeSequence = function(state, forceU) { + if ( forceU === void 0 ) forceU = false; + + var start = state.pos; + var switchU = forceU || state.switchU; + + if (state.eat(0x75 /* u */)) { + if (this.regexp_eatFixedHexDigits(state, 4)) { + var lead = state.lastIntValue; + if (switchU && lead >= 0xD800 && lead <= 0xDBFF) { + var leadSurrogateEnd = state.pos; + if (state.eat(0x5C /* \ */) && state.eat(0x75 /* u */) && this.regexp_eatFixedHexDigits(state, 4)) { + var trail = state.lastIntValue; + if (trail >= 0xDC00 && trail <= 0xDFFF) { + state.lastIntValue = (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000; + return true + } + } + state.pos = leadSurrogateEnd; + state.lastIntValue = lead; + } + return true + } + if ( + switchU && + state.eat(0x7B /* { */) && + this.regexp_eatHexDigits(state) && + state.eat(0x7D /* } */) && + isValidUnicode(state.lastIntValue) + ) { + return true + } + if (switchU) { + state.raise("Invalid unicode escape"); + } + state.pos = start; + } + + return false + }; + function isValidUnicode(ch) { + return ch >= 0 && ch <= 0x10FFFF + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-IdentityEscape + pp$1.regexp_eatIdentityEscape = function(state) { + if (state.switchU) { + if (this.regexp_eatSyntaxCharacter(state)) { + return true + } + if (state.eat(0x2F /* / */)) { + state.lastIntValue = 0x2F; /* / */ + return true + } + return false + } + + var ch = state.current(); + if (ch !== 0x63 /* c */ && (!state.switchN || ch !== 0x6B /* k */)) { + state.lastIntValue = ch; + state.advance(); + return true + } + + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalEscape + pp$1.regexp_eatDecimalEscape = function(state) { + state.lastIntValue = 0; + var ch = state.current(); + if (ch >= 0x31 /* 1 */ && ch <= 0x39 /* 9 */) { + do { + state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */); + state.advance(); + } while ((ch = state.current()) >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) + return true + } + return false + }; + + // Return values used by character set parsing methods, needed to + // forbid negation of sets that can match strings. + var CharSetNone = 0; // Nothing parsed + var CharSetOk = 1; // Construct parsed, cannot contain strings + var CharSetString = 2; // Construct parsed, can contain strings + + // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClassEscape + pp$1.regexp_eatCharacterClassEscape = function(state) { + var ch = state.current(); + + if (isCharacterClassEscape(ch)) { + state.lastIntValue = -1; + state.advance(); + return CharSetOk + } + + var negate = false; + if ( + state.switchU && + this.options.ecmaVersion >= 9 && + ((negate = ch === 0x50 /* P */) || ch === 0x70 /* p */) + ) { + state.lastIntValue = -1; + state.advance(); + var result; + if ( + state.eat(0x7B /* { */) && + (result = this.regexp_eatUnicodePropertyValueExpression(state)) && + state.eat(0x7D /* } */) + ) { + if (negate && result === CharSetString) { state.raise("Invalid property name"); } + return result + } + state.raise("Invalid property name"); + } + + return CharSetNone + }; + + function isCharacterClassEscape(ch) { + return ( + ch === 0x64 /* d */ || + ch === 0x44 /* D */ || + ch === 0x73 /* s */ || + ch === 0x53 /* S */ || + ch === 0x77 /* w */ || + ch === 0x57 /* W */ + ) + } + + // UnicodePropertyValueExpression :: + // UnicodePropertyName `=` UnicodePropertyValue + // LoneUnicodePropertyNameOrValue + pp$1.regexp_eatUnicodePropertyValueExpression = function(state) { + var start = state.pos; + + // UnicodePropertyName `=` UnicodePropertyValue + if (this.regexp_eatUnicodePropertyName(state) && state.eat(0x3D /* = */)) { + var name = state.lastStringValue; + if (this.regexp_eatUnicodePropertyValue(state)) { + var value = state.lastStringValue; + this.regexp_validateUnicodePropertyNameAndValue(state, name, value); + return CharSetOk + } + } + state.pos = start; + + // LoneUnicodePropertyNameOrValue + if (this.regexp_eatLoneUnicodePropertyNameOrValue(state)) { + var nameOrValue = state.lastStringValue; + return this.regexp_validateUnicodePropertyNameOrValue(state, nameOrValue) + } + return CharSetNone + }; + + pp$1.regexp_validateUnicodePropertyNameAndValue = function(state, name, value) { + if (!hasOwn(state.unicodeProperties.nonBinary, name)) + { state.raise("Invalid property name"); } + if (!state.unicodeProperties.nonBinary[name].test(value)) + { state.raise("Invalid property value"); } + }; + + pp$1.regexp_validateUnicodePropertyNameOrValue = function(state, nameOrValue) { + if (state.unicodeProperties.binary.test(nameOrValue)) { return CharSetOk } + if (state.switchV && state.unicodeProperties.binaryOfStrings.test(nameOrValue)) { return CharSetString } + state.raise("Invalid property name"); + }; + + // UnicodePropertyName :: + // UnicodePropertyNameCharacters + pp$1.regexp_eatUnicodePropertyName = function(state) { + var ch = 0; + state.lastStringValue = ""; + while (isUnicodePropertyNameCharacter(ch = state.current())) { + state.lastStringValue += codePointToString(ch); + state.advance(); + } + return state.lastStringValue !== "" + }; + + function isUnicodePropertyNameCharacter(ch) { + return isControlLetter(ch) || ch === 0x5F /* _ */ + } + + // UnicodePropertyValue :: + // UnicodePropertyValueCharacters + pp$1.regexp_eatUnicodePropertyValue = function(state) { + var ch = 0; + state.lastStringValue = ""; + while (isUnicodePropertyValueCharacter(ch = state.current())) { + state.lastStringValue += codePointToString(ch); + state.advance(); + } + return state.lastStringValue !== "" + }; + function isUnicodePropertyValueCharacter(ch) { + return isUnicodePropertyNameCharacter(ch) || isDecimalDigit(ch) + } + + // LoneUnicodePropertyNameOrValue :: + // UnicodePropertyValueCharacters + pp$1.regexp_eatLoneUnicodePropertyNameOrValue = function(state) { + return this.regexp_eatUnicodePropertyValue(state) + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-CharacterClass + pp$1.regexp_eatCharacterClass = function(state) { + if (state.eat(0x5B /* [ */)) { + var negate = state.eat(0x5E /* ^ */); + var result = this.regexp_classContents(state); + if (!state.eat(0x5D /* ] */)) + { state.raise("Unterminated character class"); } + if (negate && result === CharSetString) + { state.raise("Negated character class may contain strings"); } + return true + } + return false + }; + + // https://tc39.es/ecma262/#prod-ClassContents + // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassRanges + pp$1.regexp_classContents = function(state) { + if (state.current() === 0x5D /* ] */) { return CharSetOk } + if (state.switchV) { return this.regexp_classSetExpression(state) } + this.regexp_nonEmptyClassRanges(state); + return CharSetOk + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRanges + // https://www.ecma-international.org/ecma-262/8.0/#prod-NonemptyClassRangesNoDash + pp$1.regexp_nonEmptyClassRanges = function(state) { + while (this.regexp_eatClassAtom(state)) { + var left = state.lastIntValue; + if (state.eat(0x2D /* - */) && this.regexp_eatClassAtom(state)) { + var right = state.lastIntValue; + if (state.switchU && (left === -1 || right === -1)) { + state.raise("Invalid character class"); + } + if (left !== -1 && right !== -1 && left > right) { + state.raise("Range out of order in character class"); + } + } + } + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtom + // https://www.ecma-international.org/ecma-262/8.0/#prod-ClassAtomNoDash + pp$1.regexp_eatClassAtom = function(state) { + var start = state.pos; + + if (state.eat(0x5C /* \ */)) { + if (this.regexp_eatClassEscape(state)) { + return true + } + if (state.switchU) { + // Make the same message as V8. + var ch$1 = state.current(); + if (ch$1 === 0x63 /* c */ || isOctalDigit(ch$1)) { + state.raise("Invalid class escape"); + } + state.raise("Invalid escape"); + } + state.pos = start; + } + + var ch = state.current(); + if (ch !== 0x5D /* ] */) { + state.lastIntValue = ch; + state.advance(); + return true + } + + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassEscape + pp$1.regexp_eatClassEscape = function(state) { + var start = state.pos; + + if (state.eat(0x62 /* b */)) { + state.lastIntValue = 0x08; /* */ + return true + } + + if (state.switchU && state.eat(0x2D /* - */)) { + state.lastIntValue = 0x2D; /* - */ + return true + } + + if (!state.switchU && state.eat(0x63 /* c */)) { + if (this.regexp_eatClassControlLetter(state)) { + return true + } + state.pos = start; + } + + return ( + this.regexp_eatCharacterClassEscape(state) || + this.regexp_eatCharacterEscape(state) + ) + }; + + // https://tc39.es/ecma262/#prod-ClassSetExpression + // https://tc39.es/ecma262/#prod-ClassUnion + // https://tc39.es/ecma262/#prod-ClassIntersection + // https://tc39.es/ecma262/#prod-ClassSubtraction + pp$1.regexp_classSetExpression = function(state) { + var result = CharSetOk, subResult; + if (this.regexp_eatClassSetRange(state)) ; else if (subResult = this.regexp_eatClassSetOperand(state)) { + if (subResult === CharSetString) { result = CharSetString; } + // https://tc39.es/ecma262/#prod-ClassIntersection + var start = state.pos; + while (state.eatChars([0x26, 0x26] /* && */)) { + if ( + state.current() !== 0x26 /* & */ && + (subResult = this.regexp_eatClassSetOperand(state)) + ) { + if (subResult !== CharSetString) { result = CharSetOk; } + continue + } + state.raise("Invalid character in character class"); + } + if (start !== state.pos) { return result } + // https://tc39.es/ecma262/#prod-ClassSubtraction + while (state.eatChars([0x2D, 0x2D] /* -- */)) { + if (this.regexp_eatClassSetOperand(state)) { continue } + state.raise("Invalid character in character class"); + } + if (start !== state.pos) { return result } + } else { + state.raise("Invalid character in character class"); + } + // https://tc39.es/ecma262/#prod-ClassUnion + for (;;) { + if (this.regexp_eatClassSetRange(state)) { continue } + subResult = this.regexp_eatClassSetOperand(state); + if (!subResult) { return result } + if (subResult === CharSetString) { result = CharSetString; } + } + }; + + // https://tc39.es/ecma262/#prod-ClassSetRange + pp$1.regexp_eatClassSetRange = function(state) { + var start = state.pos; + if (this.regexp_eatClassSetCharacter(state)) { + var left = state.lastIntValue; + if (state.eat(0x2D /* - */) && this.regexp_eatClassSetCharacter(state)) { + var right = state.lastIntValue; + if (left !== -1 && right !== -1 && left > right) { + state.raise("Range out of order in character class"); + } + return true + } + state.pos = start; + } + return false + }; + + // https://tc39.es/ecma262/#prod-ClassSetOperand + pp$1.regexp_eatClassSetOperand = function(state) { + if (this.regexp_eatClassSetCharacter(state)) { return CharSetOk } + return this.regexp_eatClassStringDisjunction(state) || this.regexp_eatNestedClass(state) + }; + + // https://tc39.es/ecma262/#prod-NestedClass + pp$1.regexp_eatNestedClass = function(state) { + var start = state.pos; + if (state.eat(0x5B /* [ */)) { + var negate = state.eat(0x5E /* ^ */); + var result = this.regexp_classContents(state); + if (state.eat(0x5D /* ] */)) { + if (negate && result === CharSetString) { + state.raise("Negated character class may contain strings"); + } + return result + } + state.pos = start; + } + if (state.eat(0x5C /* \ */)) { + var result$1 = this.regexp_eatCharacterClassEscape(state); + if (result$1) { + return result$1 + } + state.pos = start; + } + return null + }; + + // https://tc39.es/ecma262/#prod-ClassStringDisjunction + pp$1.regexp_eatClassStringDisjunction = function(state) { + var start = state.pos; + if (state.eatChars([0x5C, 0x71] /* \q */)) { + if (state.eat(0x7B /* { */)) { + var result = this.regexp_classStringDisjunctionContents(state); + if (state.eat(0x7D /* } */)) { + return result + } + } else { + // Make the same message as V8. + state.raise("Invalid escape"); + } + state.pos = start; + } + return null + }; + + // https://tc39.es/ecma262/#prod-ClassStringDisjunctionContents + pp$1.regexp_classStringDisjunctionContents = function(state) { + var result = this.regexp_classString(state); + while (state.eat(0x7C /* | */)) { + if (this.regexp_classString(state) === CharSetString) { result = CharSetString; } + } + return result + }; + + // https://tc39.es/ecma262/#prod-ClassString + // https://tc39.es/ecma262/#prod-NonEmptyClassString + pp$1.regexp_classString = function(state) { + var count = 0; + while (this.regexp_eatClassSetCharacter(state)) { count++; } + return count === 1 ? CharSetOk : CharSetString + }; + + // https://tc39.es/ecma262/#prod-ClassSetCharacter + pp$1.regexp_eatClassSetCharacter = function(state) { + var start = state.pos; + if (state.eat(0x5C /* \ */)) { + if ( + this.regexp_eatCharacterEscape(state) || + this.regexp_eatClassSetReservedPunctuator(state) + ) { + return true + } + if (state.eat(0x62 /* b */)) { + state.lastIntValue = 0x08; /* */ + return true + } + state.pos = start; + return false + } + var ch = state.current(); + if (ch < 0 || ch === state.lookahead() && isClassSetReservedDoublePunctuatorCharacter(ch)) { return false } + if (isClassSetSyntaxCharacter(ch)) { return false } + state.advance(); + state.lastIntValue = ch; + return true + }; + + // https://tc39.es/ecma262/#prod-ClassSetReservedDoublePunctuator + function isClassSetReservedDoublePunctuatorCharacter(ch) { + return ( + ch === 0x21 /* ! */ || + ch >= 0x23 /* # */ && ch <= 0x26 /* & */ || + ch >= 0x2A /* * */ && ch <= 0x2C /* , */ || + ch === 0x2E /* . */ || + ch >= 0x3A /* : */ && ch <= 0x40 /* @ */ || + ch === 0x5E /* ^ */ || + ch === 0x60 /* ` */ || + ch === 0x7E /* ~ */ + ) + } + + // https://tc39.es/ecma262/#prod-ClassSetSyntaxCharacter + function isClassSetSyntaxCharacter(ch) { + return ( + ch === 0x28 /* ( */ || + ch === 0x29 /* ) */ || + ch === 0x2D /* - */ || + ch === 0x2F /* / */ || + ch >= 0x5B /* [ */ && ch <= 0x5D /* ] */ || + ch >= 0x7B /* { */ && ch <= 0x7D /* } */ + ) + } + + // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator + pp$1.regexp_eatClassSetReservedPunctuator = function(state) { + var ch = state.current(); + if (isClassSetReservedPunctuator(ch)) { + state.lastIntValue = ch; + state.advance(); + return true + } + return false + }; + + // https://tc39.es/ecma262/#prod-ClassSetReservedPunctuator + function isClassSetReservedPunctuator(ch) { + return ( + ch === 0x21 /* ! */ || + ch === 0x23 /* # */ || + ch === 0x25 /* % */ || + ch === 0x26 /* & */ || + ch === 0x2C /* , */ || + ch === 0x2D /* - */ || + ch >= 0x3A /* : */ && ch <= 0x3E /* > */ || + ch === 0x40 /* @ */ || + ch === 0x60 /* ` */ || + ch === 0x7E /* ~ */ + ) + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ClassControlLetter + pp$1.regexp_eatClassControlLetter = function(state) { + var ch = state.current(); + if (isDecimalDigit(ch) || ch === 0x5F /* _ */) { + state.lastIntValue = ch % 0x20; + state.advance(); + return true + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence + pp$1.regexp_eatHexEscapeSequence = function(state) { + var start = state.pos; + if (state.eat(0x78 /* x */)) { + if (this.regexp_eatFixedHexDigits(state, 2)) { + return true + } + if (state.switchU) { + state.raise("Invalid escape"); + } + state.pos = start; + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-DecimalDigits + pp$1.regexp_eatDecimalDigits = function(state) { + var start = state.pos; + var ch = 0; + state.lastIntValue = 0; + while (isDecimalDigit(ch = state.current())) { + state.lastIntValue = 10 * state.lastIntValue + (ch - 0x30 /* 0 */); + state.advance(); + } + return state.pos !== start + }; + function isDecimalDigit(ch) { + return ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */ + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigits + pp$1.regexp_eatHexDigits = function(state) { + var start = state.pos; + var ch = 0; + state.lastIntValue = 0; + while (isHexDigit(ch = state.current())) { + state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch); + state.advance(); + } + return state.pos !== start + }; + function isHexDigit(ch) { + return ( + (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) || + (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) || + (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) + ) + } + function hexToInt(ch) { + if (ch >= 0x41 /* A */ && ch <= 0x46 /* F */) { + return 10 + (ch - 0x41 /* A */) + } + if (ch >= 0x61 /* a */ && ch <= 0x66 /* f */) { + return 10 + (ch - 0x61 /* a */) + } + return ch - 0x30 /* 0 */ + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-LegacyOctalEscapeSequence + // Allows only 0-377(octal) i.e. 0-255(decimal). + pp$1.regexp_eatLegacyOctalEscapeSequence = function(state) { + if (this.regexp_eatOctalDigit(state)) { + var n1 = state.lastIntValue; + if (this.regexp_eatOctalDigit(state)) { + var n2 = state.lastIntValue; + if (n1 <= 3 && this.regexp_eatOctalDigit(state)) { + state.lastIntValue = n1 * 64 + n2 * 8 + state.lastIntValue; + } else { + state.lastIntValue = n1 * 8 + n2; + } + } else { + state.lastIntValue = n1; + } + return true + } + return false + }; + + // https://www.ecma-international.org/ecma-262/8.0/#prod-OctalDigit + pp$1.regexp_eatOctalDigit = function(state) { + var ch = state.current(); + if (isOctalDigit(ch)) { + state.lastIntValue = ch - 0x30; /* 0 */ + state.advance(); + return true + } + state.lastIntValue = 0; + return false + }; + function isOctalDigit(ch) { + return ch >= 0x30 /* 0 */ && ch <= 0x37 /* 7 */ + } + + // https://www.ecma-international.org/ecma-262/8.0/#prod-Hex4Digits + // https://www.ecma-international.org/ecma-262/8.0/#prod-HexDigit + // And HexDigit HexDigit in https://www.ecma-international.org/ecma-262/8.0/#prod-HexEscapeSequence + pp$1.regexp_eatFixedHexDigits = function(state, length) { + var start = state.pos; + state.lastIntValue = 0; + for (var i = 0; i < length; ++i) { + var ch = state.current(); + if (!isHexDigit(ch)) { + state.pos = start; + return false + } + state.lastIntValue = 16 * state.lastIntValue + hexToInt(ch); + state.advance(); + } + return true + }; + + // Object type used to represent tokens. Note that normally, tokens + // simply exist as properties on the parser object. This is only + // used for the onToken callback and the external tokenizer. + + var Token = function Token(p) { + this.type = p.type; + this.value = p.value; + this.start = p.start; + this.end = p.end; + if (p.options.locations) + { this.loc = new SourceLocation(p, p.startLoc, p.endLoc); } + if (p.options.ranges) + { this.range = [p.start, p.end]; } + }; + + // ## Tokenizer + + var pp = Parser.prototype; + + // Move to the next token + + pp.next = function(ignoreEscapeSequenceInKeyword) { + if (!ignoreEscapeSequenceInKeyword && this.type.keyword && this.containsEsc) + { this.raiseRecoverable(this.start, "Escape sequence in keyword " + this.type.keyword); } + if (this.options.onToken) + { this.options.onToken(new Token(this)); } + + this.lastTokEnd = this.end; + this.lastTokStart = this.start; + this.lastTokEndLoc = this.endLoc; + this.lastTokStartLoc = this.startLoc; + this.nextToken(); + }; + + pp.getToken = function() { + this.next(); + return new Token(this) + }; + + // If we're in an ES6 environment, make parsers iterable + if (typeof Symbol !== "undefined") + { pp[Symbol.iterator] = function() { + var this$1$1 = this; + + return { + next: function () { + var token = this$1$1.getToken(); + return { + done: token.type === types$1.eof, + value: token + } + } + } + }; } + + // Toggle strict mode. Re-reads the next number or string to please + // pedantic tests (`"use strict"; 010;` should fail). + + // Read a single token, updating the parser object's token-related + // properties. + + pp.nextToken = function() { + var curContext = this.curContext(); + if (!curContext || !curContext.preserveSpace) { this.skipSpace(); } + + this.start = this.pos; + if (this.options.locations) { this.startLoc = this.curPosition(); } + if (this.pos >= this.input.length) { return this.finishToken(types$1.eof) } + + if (curContext.override) { return curContext.override(this) } + else { this.readToken(this.fullCharCodeAtPos()); } + }; + + pp.readToken = function(code) { + // Identifier or keyword. '\uXXXX' sequences are allowed in + // identifiers, so '\' also dispatches to that. + if (isIdentifierStart(code, this.options.ecmaVersion >= 6) || code === 92 /* '\' */) + { return this.readWord() } + + return this.getTokenFromCode(code) + }; + + pp.fullCharCodeAt = function(pos) { + var code = this.input.charCodeAt(pos); + if (code <= 0xd7ff || code >= 0xdc00) { return code } + var next = this.input.charCodeAt(pos + 1); + return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00 + }; + + pp.fullCharCodeAtPos = function() { + return this.fullCharCodeAt(this.pos) + }; + + pp.skipBlockComment = function() { + var startLoc = this.options.onComment && this.curPosition(); + var start = this.pos, end = this.input.indexOf("*/", this.pos += 2); + if (end === -1) { this.raise(this.pos - 2, "Unterminated comment"); } + this.pos = end + 2; + if (this.options.locations) { + for (var nextBreak = (void 0), pos = start; (nextBreak = nextLineBreak(this.input, pos, this.pos)) > -1;) { + ++this.curLine; + pos = this.lineStart = nextBreak; + } + } + if (this.options.onComment) + { this.options.onComment(true, this.input.slice(start + 2, end), start, this.pos, + startLoc, this.curPosition()); } + }; + + pp.skipLineComment = function(startSkip) { + var start = this.pos; + var startLoc = this.options.onComment && this.curPosition(); + var ch = this.input.charCodeAt(this.pos += startSkip); + while (this.pos < this.input.length && !isNewLine(ch)) { + ch = this.input.charCodeAt(++this.pos); + } + if (this.options.onComment) + { this.options.onComment(false, this.input.slice(start + startSkip, this.pos), start, this.pos, + startLoc, this.curPosition()); } + }; + + // Called at the start of the parse and after every token. Skips + // whitespace and comments, and. + + pp.skipSpace = function() { + loop: while (this.pos < this.input.length) { + var ch = this.input.charCodeAt(this.pos); + switch (ch) { + case 32: case 160: // ' ' + ++this.pos; + break + case 13: + if (this.input.charCodeAt(this.pos + 1) === 10) { + ++this.pos; + } + case 10: case 8232: case 8233: + ++this.pos; + if (this.options.locations) { + ++this.curLine; + this.lineStart = this.pos; + } + break + case 47: // '/' + switch (this.input.charCodeAt(this.pos + 1)) { + case 42: // '*' + this.skipBlockComment(); + break + case 47: + this.skipLineComment(2); + break + default: + break loop + } + break + default: + if (ch > 8 && ch < 14 || ch >= 5760 && nonASCIIwhitespace.test(String.fromCharCode(ch))) { + ++this.pos; + } else { + break loop + } + } + } + }; + + // Called at the end of every token. Sets `end`, `val`, and + // maintains `context` and `exprAllowed`, and skips the space after + // the token, so that the next one's `start` will point at the + // right position. + + pp.finishToken = function(type, val) { + this.end = this.pos; + if (this.options.locations) { this.endLoc = this.curPosition(); } + var prevType = this.type; + this.type = type; + this.value = val; + + this.updateContext(prevType); + }; + + // ### Token reading + + // This is the function that is called to fetch the next token. It + // is somewhat obscure, because it works in character codes rather + // than characters, and because operator parsing has been inlined + // into it. + // + // All in the name of speed. + // + pp.readToken_dot = function() { + var next = this.input.charCodeAt(this.pos + 1); + if (next >= 48 && next <= 57) { return this.readNumber(true) } + var next2 = this.input.charCodeAt(this.pos + 2); + if (this.options.ecmaVersion >= 6 && next === 46 && next2 === 46) { // 46 = dot '.' + this.pos += 3; + return this.finishToken(types$1.ellipsis) + } else { + ++this.pos; + return this.finishToken(types$1.dot) + } + }; + + pp.readToken_slash = function() { // '/' + var next = this.input.charCodeAt(this.pos + 1); + if (this.exprAllowed) { ++this.pos; return this.readRegexp() } + if (next === 61) { return this.finishOp(types$1.assign, 2) } + return this.finishOp(types$1.slash, 1) + }; + + pp.readToken_mult_modulo_exp = function(code) { // '%*' + var next = this.input.charCodeAt(this.pos + 1); + var size = 1; + var tokentype = code === 42 ? types$1.star : types$1.modulo; + + // exponentiation operator ** and **= + if (this.options.ecmaVersion >= 7 && code === 42 && next === 42) { + ++size; + tokentype = types$1.starstar; + next = this.input.charCodeAt(this.pos + 2); + } + + if (next === 61) { return this.finishOp(types$1.assign, size + 1) } + return this.finishOp(tokentype, size) + }; + + pp.readToken_pipe_amp = function(code) { // '|&' + var next = this.input.charCodeAt(this.pos + 1); + if (next === code) { + if (this.options.ecmaVersion >= 12) { + var next2 = this.input.charCodeAt(this.pos + 2); + if (next2 === 61) { return this.finishOp(types$1.assign, 3) } + } + return this.finishOp(code === 124 ? types$1.logicalOR : types$1.logicalAND, 2) + } + if (next === 61) { return this.finishOp(types$1.assign, 2) } + return this.finishOp(code === 124 ? types$1.bitwiseOR : types$1.bitwiseAND, 1) + }; + + pp.readToken_caret = function() { // '^' + var next = this.input.charCodeAt(this.pos + 1); + if (next === 61) { return this.finishOp(types$1.assign, 2) } + return this.finishOp(types$1.bitwiseXOR, 1) + }; + + pp.readToken_plus_min = function(code) { // '+-' + var next = this.input.charCodeAt(this.pos + 1); + if (next === code) { + if (next === 45 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 62 && + (this.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.lastTokEnd, this.pos)))) { + // A `-->` line comment + this.skipLineComment(3); + this.skipSpace(); + return this.nextToken() + } + return this.finishOp(types$1.incDec, 2) + } + if (next === 61) { return this.finishOp(types$1.assign, 2) } + return this.finishOp(types$1.plusMin, 1) + }; + + pp.readToken_lt_gt = function(code) { // '<>' + var next = this.input.charCodeAt(this.pos + 1); + var size = 1; + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.pos + 2) === 62 ? 3 : 2; + if (this.input.charCodeAt(this.pos + size) === 61) { return this.finishOp(types$1.assign, size + 1) } + return this.finishOp(types$1.bitShift, size) + } + if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.pos + 2) === 45 && + this.input.charCodeAt(this.pos + 3) === 45) { + // `"]; + } + case "StringLiteral": { + if (needsOppositeQuote(path)) { + const printFavoriteQuote = !options.singleQuote ? "'" : '"'; + return printStringLiteral(node.value, printFavoriteQuote); + } + return printStringLiteral(node.value, favoriteQuote); + } + case "NumberLiteral": { + return String(node.value); + } + case "UndefinedLiteral": { + return "undefined"; + } + case "NullLiteral": { + return "null"; + } + default: + throw new Error("unknown glimmer type: " + JSON.stringify(node.type)); + } + } + function sortByLoc(a, b) { + return locStart(a) - locStart(b); + } + function printStartingTag(path, print2) { + const node = path.getValue(); + const types = ["attributes", "modifiers", "comments"].filter((property) => isNonEmptyArray(node[property])); + const attributes = types.flatMap((type) => node[type]).sort(sortByLoc); + for (const attributeType of types) { + path.each((attributePath) => { + const index = attributes.indexOf(attributePath.getValue()); + attributes.splice(index, 1, [line, print2()]); + }, attributeType); + } + if (isNonEmptyArray(node.blockParams)) { + attributes.push(line, printBlockParams(node)); + } + return ["<", node.tag, indent(attributes), printStartingTagEndMarker(node)]; + } + function printChildren(path, options, print2) { + const node = path.getValue(); + const isEmpty = node.children.every((node2) => isWhitespaceNode(node2)); + if (options.htmlWhitespaceSensitivity === "ignore" && isEmpty) { + return ""; + } + return path.map((childPath, childIndex) => { + const printedChild = print2(); + if (childIndex === 0 && options.htmlWhitespaceSensitivity === "ignore") { + return [softline, printedChild]; + } + return printedChild; + }, "children"); + } + function printStartingTagEndMarker(node) { + if (isVoid(node)) { + return ifBreak([softline, "/>"], [" />", softline]); + } + return ifBreak([softline, ">"], ">"); + } + function printOpeningMustache(node) { + const mustache = node.escaped === false ? "{{{" : "{{"; + const strip = node.strip && node.strip.open ? "~" : ""; + return [mustache, strip]; + } + function printClosingMustache(node) { + const mustache = node.escaped === false ? "}}}" : "}}"; + const strip = node.strip && node.strip.close ? "~" : ""; + return [strip, mustache]; + } + function printOpeningBlockOpeningMustache(node) { + const opening = printOpeningMustache(node); + const strip = node.openStrip.open ? "~" : ""; + return [opening, strip, "#"]; + } + function printOpeningBlockClosingMustache(node) { + const closing = printClosingMustache(node); + const strip = node.openStrip.close ? "~" : ""; + return [strip, closing]; + } + function printClosingBlockOpeningMustache(node) { + const opening = printOpeningMustache(node); + const strip = node.closeStrip.open ? "~" : ""; + return [opening, strip, "/"]; + } + function printClosingBlockClosingMustache(node) { + const closing = printClosingMustache(node); + const strip = node.closeStrip.close ? "~" : ""; + return [strip, closing]; + } + function printInverseBlockOpeningMustache(node) { + const opening = printOpeningMustache(node); + const strip = node.inverseStrip.open ? "~" : ""; + return [opening, strip]; + } + function printInverseBlockClosingMustache(node) { + const closing = printClosingMustache(node); + const strip = node.inverseStrip.close ? "~" : ""; + return [strip, closing]; + } + function printOpenBlock(path, print2) { + const node = path.getValue(); + const parts = []; + const paramsDoc = printParams(path, print2); + if (paramsDoc) { + parts.push(group(paramsDoc)); + } + if (isNonEmptyArray(node.program.blockParams)) { + parts.push(printBlockParams(node.program)); + } + return group([printOpeningBlockOpeningMustache(node), printPath(path, print2), parts.length > 0 ? indent([line, join(line, parts)]) : "", softline, printOpeningBlockClosingMustache(node)]); + } + function printElseBlock(node, options) { + return [options.htmlWhitespaceSensitivity === "ignore" ? hardline : "", printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)]; + } + function printElseIfLikeBlock(path, print2, ifLikeKeyword) { + const node = path.getValue(); + const parentNode = path.getParentNode(1); + return group([printInverseBlockOpeningMustache(parentNode), ["else", " ", ifLikeKeyword], indent([line, group(printParams(path, print2)), ...isNonEmptyArray(node.program.blockParams) ? [line, printBlockParams(node.program)] : []]), softline, printInverseBlockClosingMustache(parentNode)]); + } + function printCloseBlock(path, print2, options) { + const node = path.getValue(); + if (options.htmlWhitespaceSensitivity === "ignore") { + const escape = blockStatementHasOnlyWhitespaceInProgram(node) ? softline : hardline; + return [escape, printClosingBlockOpeningMustache(node), print2("path"), printClosingBlockClosingMustache(node)]; + } + return [printClosingBlockOpeningMustache(node), print2("path"), printClosingBlockClosingMustache(node)]; + } + function blockStatementHasOnlyWhitespaceInProgram(node) { + return isNodeOfSomeType(node, ["BlockStatement"]) && node.program.body.every((node2) => isWhitespaceNode(node2)); + } + function blockStatementHasElseIfLike(node) { + return blockStatementHasElse(node) && node.inverse.body.length === 1 && isNodeOfSomeType(node.inverse.body[0], ["BlockStatement"]) && node.inverse.body[0].path.parts[0] === node.path.parts[0]; + } + function blockStatementHasElse(node) { + return isNodeOfSomeType(node, ["BlockStatement"]) && node.inverse; + } + function printProgram(path, print2, options) { + const node = path.getValue(); + if (blockStatementHasOnlyWhitespaceInProgram(node)) { + return ""; + } + const program = print2("program"); + if (options.htmlWhitespaceSensitivity === "ignore") { + return indent([hardline, program]); + } + return indent(program); + } + function printInverse(path, print2, options) { + const node = path.getValue(); + const inverse = print2("inverse"); + const printed = options.htmlWhitespaceSensitivity === "ignore" ? [hardline, inverse] : inverse; + if (blockStatementHasElseIfLike(node)) { + return printed; + } + if (blockStatementHasElse(node)) { + return [printElseBlock(node, options), indent(printed)]; + } + return ""; + } + function getTextValueParts(value) { + return getDocParts(join(line, splitByHtmlWhitespace(value))); + } + function splitByHtmlWhitespace(string) { + return string.split(/[\t\n\f\r ]+/); + } + function getCurrentAttributeName(path) { + for (let depth = 0; depth < 2; depth++) { + const parentNode = path.getParentNode(depth); + if (parentNode && parentNode.type === "AttrNode") { + return parentNode.name.toLowerCase(); + } + } + } + function countNewLines(string) { + string = typeof string === "string" ? string : ""; + return string.split("\n").length - 1; + } + function countLeadingNewLines(string) { + string = typeof string === "string" ? string : ""; + const newLines = (string.match(/^([^\S\n\r]*[\n\r])+/g) || [])[0] || ""; + return countNewLines(newLines); + } + function countTrailingNewLines(string) { + string = typeof string === "string" ? string : ""; + const newLines = (string.match(/([\n\r][^\S\n\r]*)+$/g) || [])[0] || ""; + return countNewLines(newLines); + } + function generateHardlines(number = 0) { + return Array.from({ + length: Math.min(number, NEWLINES_TO_PRESERVE_MAX) + }).fill(hardline); + } + function printStringLiteral(stringLiteral, favoriteQuote) { + const { + quote, + regex + } = getPreferredQuote(stringLiteral, favoriteQuote); + return [quote, stringLiteral.replace(regex, `\\${quote}`), quote]; + } + function needsOppositeQuote(path) { + let index = 0; + let parentNode = path.getParentNode(index); + while (parentNode && isNodeOfSomeType(parentNode, ["SubExpression"])) { + index++; + parentNode = path.getParentNode(index); + } + if (parentNode && isNodeOfSomeType(path.getParentNode(index + 1), ["ConcatStatement"]) && isNodeOfSomeType(path.getParentNode(index + 2), ["AttrNode"])) { + return true; + } + return false; + } + function printSubExpressionPathAndParams(path, print2) { + const printed = printPath(path, print2); + const params = printParams(path, print2); + if (!params) { + return printed; + } + return indent([printed, line, group(params)]); + } + function printPathAndParams(path, print2) { + const p = printPath(path, print2); + const params = printParams(path, print2); + if (!params) { + return p; + } + return [indent([p, line, params]), softline]; + } + function printPath(path, print2) { + return print2("path"); + } + function printParams(path, print2) { + const node = path.getValue(); + const parts = []; + if (node.params.length > 0) { + const params = path.map(print2, "params"); + parts.push(...params); + } + if (node.hash && node.hash.pairs.length > 0) { + const hash = print2("hash"); + parts.push(hash); + } + if (parts.length === 0) { + return ""; + } + return join(line, parts); + } + function printBlockParams(node) { + return ["as |", node.blockParams.join(" "), "|"]; + } + module2.exports = { + print, + massageAstNode: clean + }; + } +}); +var require_parsers3 = __commonJS2({ + "src/language-handlebars/parsers.js"(exports2, module2) { + "use strict"; + module2.exports = { + get glimmer() { + return (__webpack_require__(97556).parsers).glimmer; + } + }; + } +}); +var require_Handlebars = __commonJS2({ + "node_modules/linguist-languages/data/Handlebars.json"(exports2, module2) { + module2.exports = { + name: "Handlebars", + type: "markup", + color: "#f7931e", + aliases: ["hbs", "htmlbars"], + extensions: [".handlebars", ".hbs"], + tmScope: "text.html.handlebars", + aceMode: "handlebars", + languageId: 155 + }; + } +}); +var require_language_handlebars = __commonJS2({ + "src/language-handlebars/index.js"(exports2, module2) { + "use strict"; + var createLanguage = require_create_language(); + var printer = require_printer_glimmer(); + var parsers = require_parsers3(); + var languages = [createLanguage(require_Handlebars(), () => ({ + since: "2.3.0", + parsers: ["glimmer"], + vscodeLanguageIds: ["handlebars"] + }))]; + var printers = { + glimmer: printer + }; + module2.exports = { + languages, + printers, + parsers + }; + } +}); +var require_pragma3 = __commonJS2({ + "src/language-graphql/pragma.js"(exports2, module2) { + "use strict"; + function hasPragma(text) { + return /^\s*#[^\S\n]*@(?:format|prettier)\s*(?:\n|$)/.test(text); + } + function insertPragma(text) { + return "# @format\n\n" + text; + } + module2.exports = { + hasPragma, + insertPragma + }; + } +}); +var require_loc4 = __commonJS2({ + "src/language-graphql/loc.js"(exports2, module2) { + "use strict"; + function locStart(node) { + if (typeof node.start === "number") { + return node.start; + } + return node.loc && node.loc.start; + } + function locEnd(node) { + if (typeof node.end === "number") { + return node.end; + } + return node.loc && node.loc.end; + } + module2.exports = { + locStart, + locEnd + }; + } +}); +var require_printer_graphql = __commonJS2({ + "src/language-graphql/printer-graphql.js"(exports2, module2) { + "use strict"; + var { + builders: { + join, + hardline, + line, + softline, + group, + indent, + ifBreak + } + } = __webpack_require__(36327); + var { + isNextLineEmpty, + isNonEmptyArray + } = require_util(); + var { + insertPragma + } = require_pragma3(); + var { + locStart, + locEnd + } = require_loc4(); + function genericPrint(path, options, print) { + const node = path.getValue(); + if (!node) { + return ""; + } + if (typeof node === "string") { + return node; + } + switch (node.kind) { + case "Document": { + const parts = []; + path.each((pathChild, index, definitions) => { + parts.push(print()); + if (index !== definitions.length - 1) { + parts.push(hardline); + if (isNextLineEmpty(options.originalText, pathChild.getValue(), locEnd)) { + parts.push(hardline); + } + } + }, "definitions"); + return [...parts, hardline]; + } + case "OperationDefinition": { + const hasOperation = options.originalText[locStart(node)] !== "{"; + const hasName = Boolean(node.name); + return [hasOperation ? node.operation : "", hasOperation && hasName ? [" ", print("name")] : "", hasOperation && !hasName && isNonEmptyArray(node.variableDefinitions) ? " " : "", isNonEmptyArray(node.variableDefinitions) ? group(["(", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "variableDefinitions"))]), softline, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? !hasOperation && !hasName ? "" : " " : "", print("selectionSet")]; + } + case "FragmentDefinition": { + return ["fragment ", print("name"), isNonEmptyArray(node.variableDefinitions) ? group(["(", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "variableDefinitions"))]), softline, ")"]) : "", " on ", print("typeCondition"), printDirectives(path, print, node), " ", print("selectionSet")]; + } + case "SelectionSet": { + return ["{", indent([hardline, join(hardline, printSequence(path, options, print, "selections"))]), hardline, "}"]; + } + case "Field": { + return group([node.alias ? [print("alias"), ": "] : "", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : "", printDirectives(path, print, node), node.selectionSet ? " " : "", print("selectionSet")]); + } + case "Name": { + return node.value; + } + case "StringValue": { + if (node.block) { + const lines = node.value.replace(/"""/g, "\\$&").split("\n"); + if (lines.length === 1) { + lines[0] = lines[0].trim(); + } + if (lines.every((line2) => line2 === "")) { + lines.length = 0; + } + return join(hardline, ['"""', ...lines, '"""']); + } + return ['"', node.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"']; + } + case "IntValue": + case "FloatValue": + case "EnumValue": { + return node.value; + } + case "BooleanValue": { + return node.value ? "true" : "false"; + } + case "NullValue": { + return "null"; + } + case "Variable": { + return ["$", print("name")]; + } + case "ListValue": { + return group(["[", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "values"))]), softline, "]"]); + } + case "ObjectValue": { + return group(["{", options.bracketSpacing && node.fields.length > 0 ? " " : "", indent([softline, join([ifBreak("", ", "), softline], path.map(print, "fields"))]), softline, ifBreak("", options.bracketSpacing && node.fields.length > 0 ? " " : ""), "}"]); + } + case "ObjectField": + case "Argument": { + return [print("name"), ": ", print("value")]; + } + case "Directive": { + return ["@", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : ""]; + } + case "NamedType": { + return print("name"); + } + case "VariableDefinition": { + return [print("variable"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; + } + case "ObjectTypeExtension": + case "ObjectTypeDefinition": { + return [print("description"), node.description ? hardline : "", node.kind === "ObjectTypeExtension" ? "extend " : "", "type ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "fields"))]), hardline, "}"] : ""]; + } + case "FieldDefinition": { + return [print("description"), node.description ? hardline : "", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : "", ": ", print("type"), printDirectives(path, print, node)]; + } + case "DirectiveDefinition": { + return [print("description"), node.description ? hardline : "", "directive ", "@", print("name"), node.arguments.length > 0 ? group(["(", indent([softline, join([ifBreak("", ", "), softline], printSequence(path, options, print, "arguments"))]), softline, ")"]) : "", node.repeatable ? " repeatable" : "", " on ", join(" | ", path.map(print, "locations"))]; + } + case "EnumTypeExtension": + case "EnumTypeDefinition": { + return [print("description"), node.description ? hardline : "", node.kind === "EnumTypeExtension" ? "extend " : "", "enum ", print("name"), printDirectives(path, print, node), node.values.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "values"))]), hardline, "}"] : ""]; + } + case "EnumValueDefinition": { + return [print("description"), node.description ? hardline : "", print("name"), printDirectives(path, print, node)]; + } + case "InputValueDefinition": { + return [print("description"), node.description ? node.description.block ? hardline : line : "", print("name"), ": ", print("type"), node.defaultValue ? [" = ", print("defaultValue")] : "", printDirectives(path, print, node)]; + } + case "InputObjectTypeExtension": + case "InputObjectTypeDefinition": { + return [print("description"), node.description ? hardline : "", node.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", print("name"), printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "fields"))]), hardline, "}"] : ""]; + } + case "SchemaExtension": { + return ["extend schema", printDirectives(path, print, node), ...node.operationTypes.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "operationTypes"))]), hardline, "}"] : []]; + } + case "SchemaDefinition": { + return [print("description"), node.description ? hardline : "", "schema", printDirectives(path, print, node), " {", node.operationTypes.length > 0 ? indent([hardline, join(hardline, printSequence(path, options, print, "operationTypes"))]) : "", hardline, "}"]; + } + case "OperationTypeDefinition": { + return [print("operation"), ": ", print("type")]; + } + case "InterfaceTypeExtension": + case "InterfaceTypeDefinition": { + return [print("description"), node.description ? hardline : "", node.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", print("name"), node.interfaces.length > 0 ? [" implements ", ...printInterfaces(path, options, print)] : "", printDirectives(path, print, node), node.fields.length > 0 ? [" {", indent([hardline, join(hardline, printSequence(path, options, print, "fields"))]), hardline, "}"] : ""]; + } + case "FragmentSpread": { + return ["...", print("name"), printDirectives(path, print, node)]; + } + case "InlineFragment": { + return ["...", node.typeCondition ? [" on ", print("typeCondition")] : "", printDirectives(path, print, node), " ", print("selectionSet")]; + } + case "UnionTypeExtension": + case "UnionTypeDefinition": { + return group([print("description"), node.description ? hardline : "", group([node.kind === "UnionTypeExtension" ? "extend " : "", "union ", print("name"), printDirectives(path, print, node), node.types.length > 0 ? [" =", ifBreak("", " "), indent([ifBreak([line, " "]), join([line, "| "], path.map(print, "types"))])] : ""])]); + } + case "ScalarTypeExtension": + case "ScalarTypeDefinition": { + return [print("description"), node.description ? hardline : "", node.kind === "ScalarTypeExtension" ? "extend " : "", "scalar ", print("name"), printDirectives(path, print, node)]; + } + case "NonNullType": { + return [print("type"), "!"]; + } + case "ListType": { + return ["[", print("type"), "]"]; + } + default: + throw new Error("unknown graphql type: " + JSON.stringify(node.kind)); + } + } + function printDirectives(path, print, node) { + if (node.directives.length === 0) { + return ""; + } + const printed = join(line, path.map(print, "directives")); + if (node.kind === "FragmentDefinition" || node.kind === "OperationDefinition") { + return group([line, printed]); + } + return [" ", group(indent([softline, printed]))]; + } + function printSequence(path, options, print, property) { + return path.map((path2, index, sequence) => { + const printed = print(); + if (index < sequence.length - 1 && isNextLineEmpty(options.originalText, path2.getValue(), locEnd)) { + return [printed, hardline]; + } + return printed; + }, property); + } + function canAttachComment(node) { + return node.kind && node.kind !== "Comment"; + } + function printComment(commentPath) { + const comment = commentPath.getValue(); + if (comment.kind === "Comment") { + return "#" + comment.value.trimEnd(); + } + throw new Error("Not a comment: " + JSON.stringify(comment)); + } + function printInterfaces(path, options, print) { + const node = path.getNode(); + const parts = []; + const { + interfaces + } = node; + const printed = path.map((node2) => print(node2), "interfaces"); + for (let index = 0; index < interfaces.length; index++) { + const interfaceNode = interfaces[index]; + parts.push(printed[index]); + const nextInterfaceNode = interfaces[index + 1]; + if (nextInterfaceNode) { + const textBetween = options.originalText.slice(interfaceNode.loc.end, nextInterfaceNode.loc.start); + const hasComment = textBetween.includes("#"); + const separator = textBetween.replace(/#.*/g, "").trim(); + parts.push(separator === "," ? "," : " &", hasComment ? line : " "); + } + } + return parts; + } + function clean(node, newNode) { + if (node.kind === "StringValue" && node.block && !node.value.includes("\n")) { + newNode.value = newNode.value.trim(); + } + } + clean.ignoredProperties = /* @__PURE__ */ new Set(["loc", "comments"]); + function hasPrettierIgnore(path) { + var _node$comments; + const node = path.getValue(); + return node === null || node === void 0 ? void 0 : (_node$comments = node.comments) === null || _node$comments === void 0 ? void 0 : _node$comments.some((comment) => comment.value.trim() === "prettier-ignore"); + } + module2.exports = { + print: genericPrint, + massageAstNode: clean, + hasPrettierIgnore, + insertPragma, + printComment, + canAttachComment + }; + } +}); +var require_options4 = __commonJS2({ + "src/language-graphql/options.js"(exports2, module2) { + "use strict"; + var commonOptions = require_common_options(); + module2.exports = { + bracketSpacing: commonOptions.bracketSpacing + }; + } +}); +var require_parsers4 = __commonJS2({ + "src/language-graphql/parsers.js"(exports2, module2) { + "use strict"; + module2.exports = { + get graphql() { + return (__webpack_require__(55054).parsers).graphql; + } + }; + } +}); +var require_GraphQL = __commonJS2({ + "node_modules/linguist-languages/data/GraphQL.json"(exports2, module2) { + module2.exports = { + name: "GraphQL", + type: "data", + color: "#e10098", + extensions: [".graphql", ".gql", ".graphqls"], + tmScope: "source.graphql", + aceMode: "text", + languageId: 139 + }; + } +}); +var require_language_graphql = __commonJS2({ + "src/language-graphql/index.js"(exports2, module2) { + "use strict"; + var createLanguage = require_create_language(); + var printer = require_printer_graphql(); + var options = require_options4(); + var parsers = require_parsers4(); + var languages = [createLanguage(require_GraphQL(), () => ({ + since: "1.5.0", + parsers: ["graphql"], + vscodeLanguageIds: ["graphql"] + }))]; + var printers = { + graphql: printer + }; + module2.exports = { + languages, + options, + printers, + parsers + }; + } +}); +var require_collapse_white_space = __commonJS2({ + "node_modules/collapse-white-space/index.js"(exports2, module2) { + "use strict"; + module2.exports = collapse; + function collapse(value) { + return String(value).replace(/\s+/g, " "); + } + } +}); +var require_loc5 = __commonJS2({ + "src/language-markdown/loc.js"(exports2, module2) { + "use strict"; + function locStart(node) { + return node.position.start.offset; + } + function locEnd(node) { + return node.position.end.offset; + } + module2.exports = { + locStart, + locEnd + }; + } +}); +var require_constants_evaluate = __commonJS2({ + "src/language-markdown/constants.evaluate.js"(exports2, module2) { + module2.exports = { + cjkPattern: "(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?", + kPattern: "[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]", + punctuationPattern: "[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]" + }; + } +}); +var require_utils10 = __commonJS2({ + "src/language-markdown/utils.js"(exports2, module2) { + "use strict"; + var { + getLast + } = require_util(); + var { + locStart, + locEnd + } = require_loc5(); + var { + cjkPattern, + kPattern, + punctuationPattern + } = require_constants_evaluate(); + var INLINE_NODE_TYPES = ["liquidNode", "inlineCode", "emphasis", "esComment", "strong", "delete", "wikiLink", "link", "linkReference", "image", "imageReference", "footnote", "footnoteReference", "sentence", "whitespace", "word", "break", "inlineMath"]; + var INLINE_NODE_WRAPPER_TYPES = [...INLINE_NODE_TYPES, "tableCell", "paragraph", "heading"]; + var kRegex = new RegExp(kPattern); + var punctuationRegex = new RegExp(punctuationPattern); + function splitText(text, options) { + const KIND_NON_CJK = "non-cjk"; + const KIND_CJ_LETTER = "cj-letter"; + const KIND_K_LETTER = "k-letter"; + const KIND_CJK_PUNCTUATION = "cjk-punctuation"; + const nodes = []; + const tokens = (options.proseWrap === "preserve" ? text : text.replace(new RegExp(`(${cjkPattern}) +(${cjkPattern})`, "g"), "$1$2")).split(/([\t\n ]+)/); + for (const [index, token] of tokens.entries()) { + if (index % 2 === 1) { + nodes.push({ + type: "whitespace", + value: /\n/.test(token) ? "\n" : " " + }); + continue; + } + if ((index === 0 || index === tokens.length - 1) && token === "") { + continue; + } + const innerTokens = token.split(new RegExp(`(${cjkPattern})`)); + for (const [innerIndex, innerToken] of innerTokens.entries()) { + if ((innerIndex === 0 || innerIndex === innerTokens.length - 1) && innerToken === "") { + continue; + } + if (innerIndex % 2 === 0) { + if (innerToken !== "") { + appendNode({ + type: "word", + value: innerToken, + kind: KIND_NON_CJK, + hasLeadingPunctuation: punctuationRegex.test(innerToken[0]), + hasTrailingPunctuation: punctuationRegex.test(getLast(innerToken)) + }); + } + continue; + } + appendNode(punctuationRegex.test(innerToken) ? { + type: "word", + value: innerToken, + kind: KIND_CJK_PUNCTUATION, + hasLeadingPunctuation: true, + hasTrailingPunctuation: true + } : { + type: "word", + value: innerToken, + kind: kRegex.test(innerToken) ? KIND_K_LETTER : KIND_CJ_LETTER, + hasLeadingPunctuation: false, + hasTrailingPunctuation: false + }); + } + } + return nodes; + function appendNode(node) { + const lastNode = getLast(nodes); + if (lastNode && lastNode.type === "word") { + if (lastNode.kind === KIND_NON_CJK && node.kind === KIND_CJ_LETTER && !lastNode.hasTrailingPunctuation || lastNode.kind === KIND_CJ_LETTER && node.kind === KIND_NON_CJK && !node.hasLeadingPunctuation) { + nodes.push({ + type: "whitespace", + value: " " + }); + } else if (!isBetween(KIND_NON_CJK, KIND_CJK_PUNCTUATION) && ![lastNode.value, node.value].some((value) => /\u3000/.test(value))) { + nodes.push({ + type: "whitespace", + value: "" + }); + } + } + nodes.push(node); + function isBetween(kind1, kind2) { + return lastNode.kind === kind1 && node.kind === kind2 || lastNode.kind === kind2 && node.kind === kind1; + } + } + } + function getOrderedListItemInfo(orderListItem, originalText) { + const [, numberText, marker, leadingSpaces] = originalText.slice(orderListItem.position.start.offset, orderListItem.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/); + return { + numberText, + marker, + leadingSpaces + }; + } + function hasGitDiffFriendlyOrderedList(node, options) { + if (!node.ordered) { + return false; + } + if (node.children.length < 2) { + return false; + } + const firstNumber = Number(getOrderedListItemInfo(node.children[0], options.originalText).numberText); + const secondNumber = Number(getOrderedListItemInfo(node.children[1], options.originalText).numberText); + if (firstNumber === 0 && node.children.length > 2) { + const thirdNumber = Number(getOrderedListItemInfo(node.children[2], options.originalText).numberText); + return secondNumber === 1 && thirdNumber === 1; + } + return secondNumber === 1; + } + function getFencedCodeBlockValue(node, originalText) { + const { + value + } = node; + if (node.position.end.offset === originalText.length && value.endsWith("\n") && originalText.endsWith("\n")) { + return value.slice(0, -1); + } + return value; + } + function mapAst(ast, handler) { + return function preorder(node, index, parentStack) { + const newNode = Object.assign({}, handler(node, index, parentStack)); + if (newNode.children) { + newNode.children = newNode.children.map((child, index2) => preorder(child, index2, [newNode, ...parentStack])); + } + return newNode; + }(ast, null, []); + } + function isAutolink(node) { + if ((node === null || node === void 0 ? void 0 : node.type) !== "link" || node.children.length !== 1) { + return false; + } + const [child] = node.children; + return locStart(node) === locStart(child) && locEnd(node) === locEnd(child); + } + module2.exports = { + mapAst, + splitText, + punctuationPattern, + getFencedCodeBlockValue, + getOrderedListItemInfo, + hasGitDiffFriendlyOrderedList, + INLINE_NODE_TYPES, + INLINE_NODE_WRAPPER_TYPES, + isAutolink + }; + } +}); +var require_embed3 = __commonJS2({ + "src/language-markdown/embed.js"(exports2, module2) { + "use strict"; + var { + inferParserByLanguage, + getMaxContinuousCount + } = require_util(); + var { + builders: { + hardline, + markAsRoot + }, + utils: { + replaceEndOfLine + } + } = __webpack_require__(36327); + var printFrontMatter = require_print(); + var { + getFencedCodeBlockValue + } = require_utils10(); + function embed(path, print, textToDoc, options) { + const node = path.getValue(); + if (node.type === "code" && node.lang !== null) { + const parser = inferParserByLanguage(node.lang, options); + if (parser) { + const styleUnit = options.__inJsTemplate ? "~" : "`"; + const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount(node.value, styleUnit) + 1)); + const newOptions = { + parser + }; + if (node.lang === "tsx") { + newOptions.filepath = "dummy.tsx"; + } + const doc2 = textToDoc(getFencedCodeBlockValue(node, options.originalText), newOptions, { + stripTrailingHardline: true + }); + return markAsRoot([style, node.lang, node.meta ? " " + node.meta : "", hardline, replaceEndOfLine(doc2), hardline, style]); + } + } + switch (node.type) { + case "front-matter": + return printFrontMatter(node, textToDoc); + case "importExport": + return [textToDoc(node.value, { + parser: "babel" + }, { + stripTrailingHardline: true + }), hardline]; + case "jsx": + return textToDoc(`<$>${node.value}`, { + parser: "__js_expression", + rootMarker: "mdx" + }, { + stripTrailingHardline: true + }); + } + return null; + } + module2.exports = embed; + } +}); +var require_pragma4 = __commonJS2({ + "src/language-markdown/pragma.js"(exports2, module2) { + "use strict"; + var parseFrontMatter = require_parse4(); + var pragmas = ["format", "prettier"]; + function startWithPragma(text) { + const pragma = `@(${pragmas.join("|")})`; + const regex = new RegExp([``, `{\\s*\\/\\*\\s*${pragma}\\s*\\*\\/\\s*}`, ``].join("|"), "m"); + const matched = text.match(regex); + return (matched === null || matched === void 0 ? void 0 : matched.index) === 0; + } + module2.exports = { + startWithPragma, + hasPragma: (text) => startWithPragma(parseFrontMatter(text).content.trimStart()), + insertPragma: (text) => { + const extracted = parseFrontMatter(text); + const pragma = ``; + return extracted.frontMatter ? `${extracted.frontMatter.raw} + +${pragma} + +${extracted.content}` : `${pragma} + +${extracted.content}`; + } + }; + } +}); +var require_print_preprocess2 = __commonJS2({ + "src/language-markdown/print-preprocess.js"(exports2, module2) { + "use strict"; + var getLast = require_get_last(); + var { + getOrderedListItemInfo, + mapAst, + splitText + } = require_utils10(); + var isSingleCharRegex = /^.$/su; + function preprocess(ast, options) { + ast = restoreUnescapedCharacter(ast, options); + ast = mergeContinuousTexts(ast); + ast = transformInlineCode(ast, options); + ast = transformIndentedCodeblockAndMarkItsParentList(ast, options); + ast = markAlignedList(ast, options); + ast = splitTextIntoSentences(ast, options); + ast = transformImportExport(ast); + ast = mergeContinuousImportExport(ast); + return ast; + } + function transformImportExport(ast) { + return mapAst(ast, (node) => { + if (node.type !== "import" && node.type !== "export") { + return node; + } + return Object.assign(Object.assign({}, node), {}, { + type: "importExport" + }); + }); + } + function transformInlineCode(ast, options) { + return mapAst(ast, (node) => { + if (node.type !== "inlineCode" || options.proseWrap === "preserve") { + return node; + } + return Object.assign(Object.assign({}, node), {}, { + value: node.value.replace(/\s+/g, " ") + }); + }); + } + function restoreUnescapedCharacter(ast, options) { + return mapAst(ast, (node) => node.type !== "text" || node.value === "*" || node.value === "_" || !isSingleCharRegex.test(node.value) || node.position.end.offset - node.position.start.offset === node.value.length ? node : Object.assign(Object.assign({}, node), {}, { + value: options.originalText.slice(node.position.start.offset, node.position.end.offset) + })); + } + function mergeContinuousImportExport(ast) { + return mergeChildren(ast, (prevNode, node) => prevNode.type === "importExport" && node.type === "importExport", (prevNode, node) => ({ + type: "importExport", + value: prevNode.value + "\n\n" + node.value, + position: { + start: prevNode.position.start, + end: node.position.end + } + })); + } + function mergeChildren(ast, shouldMerge, mergeNode) { + return mapAst(ast, (node) => { + if (!node.children) { + return node; + } + const children = node.children.reduce((current, child) => { + const lastChild = getLast(current); + if (lastChild && shouldMerge(lastChild, child)) { + current.splice(-1, 1, mergeNode(lastChild, child)); + } else { + current.push(child); + } + return current; + }, []); + return Object.assign(Object.assign({}, node), {}, { + children + }); + }); + } + function mergeContinuousTexts(ast) { + return mergeChildren(ast, (prevNode, node) => prevNode.type === "text" && node.type === "text", (prevNode, node) => ({ + type: "text", + value: prevNode.value + node.value, + position: { + start: prevNode.position.start, + end: node.position.end + } + })); + } + function splitTextIntoSentences(ast, options) { + return mapAst(ast, (node, index, [parentNode]) => { + if (node.type !== "text") { + return node; + } + let { + value + } = node; + if (parentNode.type === "paragraph") { + if (index === 0) { + value = value.trimStart(); + } + if (index === parentNode.children.length - 1) { + value = value.trimEnd(); + } + } + return { + type: "sentence", + position: node.position, + children: splitText(value, options) + }; + }); + } + function transformIndentedCodeblockAndMarkItsParentList(ast, options) { + return mapAst(ast, (node, index, parentStack) => { + if (node.type === "code") { + const isIndented = /^\n?(?: {4,}|\t)/.test(options.originalText.slice(node.position.start.offset, node.position.end.offset)); + node.isIndented = isIndented; + if (isIndented) { + for (let i = 0; i < parentStack.length; i++) { + const parent = parentStack[i]; + if (parent.hasIndentedCodeblock) { + break; + } + if (parent.type === "list") { + parent.hasIndentedCodeblock = true; + } + } + } + } + return node; + }); + } + function markAlignedList(ast, options) { + return mapAst(ast, (node, index, parentStack) => { + if (node.type === "list" && node.children.length > 0) { + for (let i = 0; i < parentStack.length; i++) { + const parent = parentStack[i]; + if (parent.type === "list" && !parent.isAligned) { + node.isAligned = false; + return node; + } + } + node.isAligned = isAligned(node); + } + return node; + }); + function getListItemStart(listItem) { + return listItem.children.length === 0 ? -1 : listItem.children[0].position.start.column - 1; + } + function isAligned(list) { + if (!list.ordered) { + return true; + } + const [firstItem, secondItem] = list.children; + const firstInfo = getOrderedListItemInfo(firstItem, options.originalText); + if (firstInfo.leadingSpaces.length > 1) { + return true; + } + const firstStart = getListItemStart(firstItem); + if (firstStart === -1) { + return false; + } + if (list.children.length === 1) { + return firstStart % options.tabWidth === 0; + } + const secondStart = getListItemStart(secondItem); + if (firstStart !== secondStart) { + return false; + } + if (firstStart % options.tabWidth === 0) { + return true; + } + const secondInfo = getOrderedListItemInfo(secondItem, options.originalText); + return secondInfo.leadingSpaces.length > 1; + } + } + module2.exports = preprocess; + } +}); +var require_clean4 = __commonJS2({ + "src/language-markdown/clean.js"(exports2, module2) { + "use strict"; + var collapseWhiteSpace = require_collapse_white_space(); + var { + isFrontMatterNode + } = require_util(); + var { + startWithPragma + } = require_pragma4(); + var ignoredProperties = /* @__PURE__ */ new Set(["position", "raw"]); + function clean(ast, newObj, parent) { + if (ast.type === "front-matter" || ast.type === "code" || ast.type === "yaml" || ast.type === "import" || ast.type === "export" || ast.type === "jsx") { + delete newObj.value; + } + if (ast.type === "list") { + delete newObj.isAligned; + } + if (ast.type === "list" || ast.type === "listItem") { + delete newObj.spread; + delete newObj.loose; + } + if (ast.type === "text") { + return null; + } + if (ast.type === "inlineCode") { + newObj.value = ast.value.replace(/[\t\n ]+/g, " "); + } + if (ast.type === "wikiLink") { + newObj.value = ast.value.trim().replace(/[\t\n]+/g, " "); + } + if (ast.type === "definition" || ast.type === "linkReference" || ast.type === "imageReference") { + newObj.label = collapseWhiteSpace(ast.label); + } + if ((ast.type === "definition" || ast.type === "link" || ast.type === "image") && ast.title) { + newObj.title = ast.title.replace(/\\(["')])/g, "$1"); + } + if (parent && parent.type === "root" && parent.children.length > 0 && (parent.children[0] === ast || isFrontMatterNode(parent.children[0]) && parent.children[1] === ast) && ast.type === "html" && startWithPragma(ast.value)) { + return null; + } + } + clean.ignoredProperties = ignoredProperties; + module2.exports = clean; + } +}); +var require_printer_markdown = __commonJS2({ + "src/language-markdown/printer-markdown.js"(exports2, module2) { + "use strict"; + var collapseWhiteSpace = require_collapse_white_space(); + var { + getLast, + getMinNotPresentContinuousCount, + getMaxContinuousCount, + getStringWidth, + isNonEmptyArray + } = require_util(); + var { + builders: { + breakParent, + join, + line, + literalline, + markAsRoot, + hardline, + softline, + ifBreak, + fill, + align, + indent, + group, + hardlineWithoutBreakParent + }, + utils: { + normalizeDoc, + replaceTextEndOfLine + }, + printer: { + printDocToString + } + } = __webpack_require__(36327); + var embed = require_embed3(); + var { + insertPragma + } = require_pragma4(); + var { + locStart, + locEnd + } = require_loc5(); + var preprocess = require_print_preprocess2(); + var clean = require_clean4(); + var { + getFencedCodeBlockValue, + hasGitDiffFriendlyOrderedList, + splitText, + punctuationPattern, + INLINE_NODE_TYPES, + INLINE_NODE_WRAPPER_TYPES, + isAutolink + } = require_utils10(); + var TRAILING_HARDLINE_NODES = /* @__PURE__ */ new Set(["importExport"]); + var SINGLE_LINE_NODE_TYPES = ["heading", "tableCell", "link", "wikiLink"]; + var SIBLING_NODE_TYPES = /* @__PURE__ */ new Set(["listItem", "definition", "footnoteDefinition"]); + function genericPrint(path, options, print) { + const node = path.getValue(); + if (shouldRemainTheSameContent(path)) { + return splitText(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map((node2) => node2.type === "word" ? node2.value : node2.value === "" ? "" : printLine(path, node2.value, options)); + } + switch (node.type) { + case "front-matter": + return options.originalText.slice(node.position.start.offset, node.position.end.offset); + case "root": + if (node.children.length === 0) { + return ""; + } + return [normalizeDoc(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.has(getLastDescendantNode(node).type) ? hardline : ""]; + case "paragraph": + return printChildren(path, options, print, { + postprocessor: fill + }); + case "sentence": + return printChildren(path, options, print); + case "word": { + let escapedValue = node.value.replace(/\*/g, "\\$&").replace(new RegExp([`(^|${punctuationPattern})(_+)`, `(_+)(${punctuationPattern}|$)`].join("|"), "g"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? `${text1}${underscore1}` : `${underscore2}${text2}`).replace(/_/g, "\\_")); + const isFirstSentence = (node2, name, index) => node2.type === "sentence" && index === 0; + const isLastChildAutolink = (node2, name, index) => isAutolink(node2.children[index - 1]); + if (escapedValue !== node.value && (path.match(void 0, isFirstSentence, isLastChildAutolink) || path.match(void 0, isFirstSentence, (node2, name, index) => node2.type === "emphasis" && index === 0, isLastChildAutolink))) { + escapedValue = escapedValue.replace(/^(\\?[*_])+/, (prefix) => prefix.replace(/\\/g, "")); + } + return escapedValue; + } + case "whitespace": { + const parentNode = path.getParentNode(); + const index = parentNode.children.indexOf(node); + const nextNode = parentNode.children[index + 1]; + const proseWrap = nextNode && /^>|^(?:[*+-]|#{1,6}|\d+[).])$/.test(nextNode.value) ? "never" : options.proseWrap; + return printLine(path, node.value, { + proseWrap + }); + } + case "emphasis": { + let style; + if (isAutolink(node.children[0])) { + style = options.originalText[node.position.start.offset]; + } else { + const parentNode = path.getParentNode(); + const index = parentNode.children.indexOf(node); + const prevNode = parentNode.children[index - 1]; + const nextNode = parentNode.children[index + 1]; + const hasPrevOrNextWord = prevNode && prevNode.type === "sentence" && prevNode.children.length > 0 && getLast(prevNode.children).type === "word" && !getLast(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === "sentence" && nextNode.children.length > 0 && nextNode.children[0].type === "word" && !nextNode.children[0].hasLeadingPunctuation; + style = hasPrevOrNextWord || getAncestorNode(path, "emphasis") ? "*" : "_"; + } + return [style, printChildren(path, options, print), style]; + } + case "strong": + return ["**", printChildren(path, options, print), "**"]; + case "delete": + return ["~~", printChildren(path, options, print), "~~"]; + case "inlineCode": { + const backtickCount = getMinNotPresentContinuousCount(node.value, "`"); + const style = "`".repeat(backtickCount || 1); + const gap = backtickCount && !/^\s/.test(node.value) ? " " : ""; + return [style, gap, node.value, gap, style]; + } + case "wikiLink": { + let contents = ""; + if (options.proseWrap === "preserve") { + contents = node.value; + } else { + contents = node.value.replace(/[\t\n]+/g, " "); + } + return ["[[", contents, "]]"]; + } + case "link": + switch (options.originalText[node.position.start.offset]) { + case "<": { + const mailto = "mailto:"; + const url = node.url.startsWith(mailto) && options.originalText.slice(node.position.start.offset + 1, node.position.start.offset + 1 + mailto.length) !== mailto ? node.url.slice(mailto.length) : node.url; + return ["<", url, ">"]; + } + case "[": + return ["[", printChildren(path, options, print), "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; + default: + return options.originalText.slice(node.position.start.offset, node.position.end.offset); + } + case "image": + return ["![", node.alt || "", "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]; + case "blockquote": + return ["> ", align("> ", printChildren(path, options, print))]; + case "heading": + return ["#".repeat(node.depth) + " ", printChildren(path, options, print)]; + case "code": { + if (node.isIndented) { + const alignment = " ".repeat(4); + return align(alignment, [alignment, ...replaceTextEndOfLine(node.value, hardline)]); + } + const styleUnit = options.__inJsTemplate ? "~" : "`"; + const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount(node.value, styleUnit) + 1)); + return [style, node.lang || "", node.meta ? " " + node.meta : "", hardline, ...replaceTextEndOfLine(getFencedCodeBlockValue(node, options.originalText), hardline), hardline, style]; + } + case "html": { + const parentNode = path.getParentNode(); + const value = parentNode.type === "root" && getLast(parentNode.children) === node ? node.value.trimEnd() : node.value; + const isHtmlComment = /^$/s.test(value); + return replaceTextEndOfLine(value, isHtmlComment ? hardline : markAsRoot(literalline)); + } + case "list": { + const nthSiblingIndex = getNthListSiblingIndex(node, path.getParentNode()); + const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList(node, options); + return printChildren(path, options, print, { + processor: (childPath, index) => { + const prefix = getPrefix(); + const childNode = childPath.getValue(); + if (childNode.children.length === 2 && childNode.children[1].type === "html" && childNode.children[0].position.start.column !== childNode.children[1].position.start.column) { + return [prefix, printListItem(childPath, options, print, prefix)]; + } + return [prefix, align(" ".repeat(prefix.length), printListItem(childPath, options, print, prefix))]; + function getPrefix() { + const rawPrefix = node.ordered ? (index === 0 ? node.start : isGitDiffFriendlyOrderedList ? 1 : node.start + index) + (nthSiblingIndex % 2 === 0 ? ". " : ") ") : nthSiblingIndex % 2 === 0 ? "- " : "* "; + return node.isAligned || node.hasIndentedCodeblock ? alignListPrefix(rawPrefix, options) : rawPrefix; + } + } + }); + } + case "thematicBreak": { + const counter = getAncestorCounter(path, "list"); + if (counter === -1) { + return "---"; + } + const nthSiblingIndex = getNthListSiblingIndex(path.getParentNode(counter), path.getParentNode(counter + 1)); + return nthSiblingIndex % 2 === 0 ? "***" : "---"; + } + case "linkReference": + return ["[", printChildren(path, options, print), "]", node.referenceType === "full" ? printLinkReference(node) : node.referenceType === "collapsed" ? "[]" : ""]; + case "imageReference": + switch (node.referenceType) { + case "full": + return ["![", node.alt || "", "]", printLinkReference(node)]; + default: + return ["![", node.alt, "]", node.referenceType === "collapsed" ? "[]" : ""]; + } + case "definition": { + const lineOrSpace = options.proseWrap === "always" ? line : " "; + return group([printLinkReference(node), ":", indent([lineOrSpace, printUrl(node.url), node.title === null ? "" : [lineOrSpace, printTitle(node.title, options, false)]])]); + } + case "footnote": + return ["[^", printChildren(path, options, print), "]"]; + case "footnoteReference": + return printFootnoteReference(node); + case "footnoteDefinition": { + const nextNode = path.getParentNode().children[path.getName() + 1]; + const shouldInlineFootnote = node.children.length === 1 && node.children[0].type === "paragraph" && (options.proseWrap === "never" || options.proseWrap === "preserve" && node.children[0].position.start.line === node.children[0].position.end.line); + return [printFootnoteReference(node), ": ", shouldInlineFootnote ? printChildren(path, options, print) : group([align(" ".repeat(4), printChildren(path, options, print, { + processor: (childPath, index) => index === 0 ? group([softline, print()]) : print() + })), nextNode && nextNode.type === "footnoteDefinition" ? softline : ""])]; + } + case "table": + return printTable(path, options, print); + case "tableCell": + return printChildren(path, options, print); + case "break": + return /\s/.test(options.originalText[node.position.start.offset]) ? [" ", markAsRoot(literalline)] : ["\\", hardline]; + case "liquidNode": + return replaceTextEndOfLine(node.value, hardline); + case "importExport": + return [node.value, hardline]; + case "esComment": + return ["{/* ", node.value, " */}"]; + case "jsx": + return node.value; + case "math": + return ["$$", hardline, node.value ? [...replaceTextEndOfLine(node.value, hardline), hardline] : "", "$$"]; + case "inlineMath": { + return options.originalText.slice(locStart(node), locEnd(node)); + } + case "tableRow": + case "listItem": + default: + throw new Error(`Unknown markdown type ${JSON.stringify(node.type)}`); + } + } + function printListItem(path, options, print, listPrefix) { + const node = path.getValue(); + const prefix = node.checked === null ? "" : node.checked ? "[x] " : "[ ] "; + return [prefix, printChildren(path, options, print, { + processor: (childPath, index) => { + if (index === 0 && childPath.getValue().type !== "list") { + return align(" ".repeat(prefix.length), print()); + } + const alignment = " ".repeat(clamp(options.tabWidth - listPrefix.length, 0, 3)); + return [alignment, align(alignment, print())]; + } + })]; + } + function alignListPrefix(prefix, options) { + const additionalSpaces = getAdditionalSpaces(); + return prefix + " ".repeat(additionalSpaces >= 4 ? 0 : additionalSpaces); + function getAdditionalSpaces() { + const restSpaces = prefix.length % options.tabWidth; + return restSpaces === 0 ? 0 : options.tabWidth - restSpaces; + } + } + function getNthListSiblingIndex(node, parentNode) { + return getNthSiblingIndex(node, parentNode, (siblingNode) => siblingNode.ordered === node.ordered); + } + function getNthSiblingIndex(node, parentNode, condition) { + let index = -1; + for (const childNode of parentNode.children) { + if (childNode.type === node.type && condition(childNode)) { + index++; + } else { + index = -1; + } + if (childNode === node) { + return index; + } + } + } + function getAncestorCounter(path, typeOrTypes) { + const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes]; + let counter = -1; + let ancestorNode; + while (ancestorNode = path.getParentNode(++counter)) { + if (types.includes(ancestorNode.type)) { + return counter; + } + } + return -1; + } + function getAncestorNode(path, typeOrTypes) { + const counter = getAncestorCounter(path, typeOrTypes); + return counter === -1 ? null : path.getParentNode(counter); + } + function printLine(path, value, options) { + if (options.proseWrap === "preserve" && value === "\n") { + return hardline; + } + const isBreakable = options.proseWrap === "always" && !getAncestorNode(path, SINGLE_LINE_NODE_TYPES); + return value !== "" ? isBreakable ? line : " " : isBreakable ? softline : ""; + } + function printTable(path, options, print) { + const node = path.getValue(); + const columnMaxWidths = []; + const contents = path.map((rowPath) => rowPath.map((cellPath, columnIndex) => { + const text = printDocToString(print(), options).formatted; + const width = getStringWidth(text); + columnMaxWidths[columnIndex] = Math.max(columnMaxWidths[columnIndex] || 3, width); + return { + text, + width + }; + }, "children"), "children"); + const alignedTable = printTableContents(false); + if (options.proseWrap !== "never") { + return [breakParent, alignedTable]; + } + const compactTable = printTableContents(true); + return [breakParent, group(ifBreak(compactTable, alignedTable))]; + function printTableContents(isCompact) { + const parts = [printRow(contents[0], isCompact), printAlign(isCompact)]; + if (contents.length > 1) { + parts.push(join(hardlineWithoutBreakParent, contents.slice(1).map((rowContents) => printRow(rowContents, isCompact)))); + } + return join(hardlineWithoutBreakParent, parts); + } + function printAlign(isCompact) { + const align2 = columnMaxWidths.map((width, index) => { + const align3 = node.align[index]; + const first = align3 === "center" || align3 === "left" ? ":" : "-"; + const last = align3 === "center" || align3 === "right" ? ":" : "-"; + const middle = isCompact ? "-" : "-".repeat(width - 2); + return `${first}${middle}${last}`; + }); + return `| ${align2.join(" | ")} |`; + } + function printRow(rowContents, isCompact) { + const columns = rowContents.map(({ + text, + width + }, columnIndex) => { + if (isCompact) { + return text; + } + const spaces = columnMaxWidths[columnIndex] - width; + const align2 = node.align[columnIndex]; + let before = 0; + if (align2 === "right") { + before = spaces; + } else if (align2 === "center") { + before = Math.floor(spaces / 2); + } + const after = spaces - before; + return `${" ".repeat(before)}${text}${" ".repeat(after)}`; + }); + return `| ${columns.join(" | ")} |`; + } + } + function printRoot(path, options, print) { + const ignoreRanges = []; + let ignoreStart = null; + const { + children + } = path.getValue(); + for (const [index, childNode] of children.entries()) { + switch (isPrettierIgnore(childNode)) { + case "start": + if (ignoreStart === null) { + ignoreStart = { + index, + offset: childNode.position.end.offset + }; + } + break; + case "end": + if (ignoreStart !== null) { + ignoreRanges.push({ + start: ignoreStart, + end: { + index, + offset: childNode.position.start.offset + } + }); + ignoreStart = null; + } + break; + default: + break; + } + } + return printChildren(path, options, print, { + processor: (childPath, index) => { + if (ignoreRanges.length > 0) { + const ignoreRange = ignoreRanges[0]; + if (index === ignoreRange.start.index) { + return [printIgnoreComment(children[ignoreRange.start.index]), options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), printIgnoreComment(children[ignoreRange.end.index])]; + } + if (ignoreRange.start.index < index && index < ignoreRange.end.index) { + return false; + } + if (index === ignoreRange.end.index) { + ignoreRanges.shift(); + return false; + } + } + return print(); + } + }); + } + function printChildren(path, options, print, events = {}) { + const { + postprocessor + } = events; + const processor = events.processor || (() => print()); + const node = path.getValue(); + const parts = []; + let lastChildNode; + path.each((childPath, index) => { + const childNode = childPath.getValue(); + const result = processor(childPath, index); + if (result !== false) { + const data = { + parts, + prevNode: lastChildNode, + parentNode: node, + options + }; + if (shouldPrePrintHardline(childNode, data)) { + parts.push(hardline); + if (lastChildNode && TRAILING_HARDLINE_NODES.has(lastChildNode.type)) { + if (shouldPrePrintTripleHardline(childNode, data)) { + parts.push(hardline); + } + } else { + if (shouldPrePrintDoubleHardline(childNode, data) || shouldPrePrintTripleHardline(childNode, data)) { + parts.push(hardline); + } + if (shouldPrePrintTripleHardline(childNode, data)) { + parts.push(hardline); + } + } + } + parts.push(result); + lastChildNode = childNode; + } + }, "children"); + return postprocessor ? postprocessor(parts) : parts; + } + function printIgnoreComment(node) { + if (node.type === "html") { + return node.value; + } + if (node.type === "paragraph" && Array.isArray(node.children) && node.children.length === 1 && node.children[0].type === "esComment") { + return ["{/* ", node.children[0].value, " */}"]; + } + } + function getLastDescendantNode(node) { + let current = node; + while (isNonEmptyArray(current.children)) { + current = getLast(current.children); + } + return current; + } + function isPrettierIgnore(node) { + let match; + if (node.type === "html") { + match = node.value.match(/^$/); + } else { + let comment; + if (node.type === "esComment") { + comment = node; + } else if (node.type === "paragraph" && node.children.length === 1 && node.children[0].type === "esComment") { + comment = node.children[0]; + } + if (comment) { + match = comment.value.match(/^prettier-ignore(?:-(start|end))?$/); + } + } + return match ? match[1] || "next" : false; + } + function shouldPrePrintHardline(node, data) { + const isFirstNode = data.parts.length === 0; + const isInlineNode = INLINE_NODE_TYPES.includes(node.type); + const isInlineHTML = node.type === "html" && INLINE_NODE_WRAPPER_TYPES.includes(data.parentNode.type); + return !isFirstNode && !isInlineNode && !isInlineHTML; + } + function shouldPrePrintDoubleHardline(node, data) { + var _data$prevNode, _data$prevNode2, _data$prevNode3; + const isSequence = (data.prevNode && data.prevNode.type) === node.type; + const isSiblingNode = isSequence && SIBLING_NODE_TYPES.has(node.type); + const isInTightListItem = data.parentNode.type === "listItem" && !data.parentNode.loose; + const isPrevNodeLooseListItem = ((_data$prevNode = data.prevNode) === null || _data$prevNode === void 0 ? void 0 : _data$prevNode.type) === "listItem" && data.prevNode.loose; + const isPrevNodePrettierIgnore = isPrettierIgnore(data.prevNode) === "next"; + const isBlockHtmlWithoutBlankLineBetweenPrevHtml = node.type === "html" && ((_data$prevNode2 = data.prevNode) === null || _data$prevNode2 === void 0 ? void 0 : _data$prevNode2.type) === "html" && data.prevNode.position.end.line + 1 === node.position.start.line; + const isHtmlDirectAfterListItem = node.type === "html" && data.parentNode.type === "listItem" && ((_data$prevNode3 = data.prevNode) === null || _data$prevNode3 === void 0 ? void 0 : _data$prevNode3.type) === "paragraph" && data.prevNode.position.end.line + 1 === node.position.start.line; + return isPrevNodeLooseListItem || !(isSiblingNode || isInTightListItem || isPrevNodePrettierIgnore || isBlockHtmlWithoutBlankLineBetweenPrevHtml || isHtmlDirectAfterListItem); + } + function shouldPrePrintTripleHardline(node, data) { + const isPrevNodeList = data.prevNode && data.prevNode.type === "list"; + const isIndentedCode = node.type === "code" && node.isIndented; + return isPrevNodeList && isIndentedCode; + } + function shouldRemainTheSameContent(path) { + const ancestorNode = getAncestorNode(path, ["linkReference", "imageReference"]); + return ancestorNode && (ancestorNode.type !== "linkReference" || ancestorNode.referenceType !== "full"); + } + function printUrl(url, dangerousCharOrChars = []) { + const dangerousChars = [" ", ...Array.isArray(dangerousCharOrChars) ? dangerousCharOrChars : [dangerousCharOrChars]]; + return new RegExp(dangerousChars.map((x) => `\\${x}`).join("|")).test(url) ? `<${url}>` : url; + } + function printTitle(title, options, printSpace = true) { + if (!title) { + return ""; + } + if (printSpace) { + return " " + printTitle(title, options, false); + } + title = title.replace(/\\(["')])/g, "$1"); + if (title.includes('"') && title.includes("'") && !title.includes(")")) { + return `(${title})`; + } + const singleCount = title.split("'").length - 1; + const doubleCount = title.split('"').length - 1; + const quote = singleCount > doubleCount ? '"' : doubleCount > singleCount ? "'" : options.singleQuote ? "'" : '"'; + title = title.replace(/\\/, "\\\\"); + title = title.replace(new RegExp(`(${quote})`, "g"), "\\$1"); + return `${quote}${title}${quote}`; + } + function clamp(value, min, max) { + return value < min ? min : value > max ? max : value; + } + function hasPrettierIgnore(path) { + const index = Number(path.getName()); + if (index === 0) { + return false; + } + const prevNode = path.getParentNode().children[index - 1]; + return isPrettierIgnore(prevNode) === "next"; + } + function printLinkReference(node) { + return `[${collapseWhiteSpace(node.label)}]`; + } + function printFootnoteReference(node) { + return `[^${node.label}]`; + } + module2.exports = { + preprocess, + print: genericPrint, + embed, + massageAstNode: clean, + hasPrettierIgnore, + insertPragma + }; + } +}); +var require_options5 = __commonJS2({ + "src/language-markdown/options.js"(exports2, module2) { + "use strict"; + var commonOptions = require_common_options(); + module2.exports = { + proseWrap: commonOptions.proseWrap, + singleQuote: commonOptions.singleQuote + }; + } +}); +var require_parsers5 = __commonJS2({ + "src/language-markdown/parsers.js"(exports2, module2) { + "use strict"; + module2.exports = { + get remark() { + return (__webpack_require__(79238).parsers).remark; + }, + get markdown() { + return (__webpack_require__(79238).parsers).remark; + }, + get mdx() { + return (__webpack_require__(79238).parsers).mdx; + } + }; + } +}); +var require_Markdown = __commonJS2({ + "node_modules/linguist-languages/data/Markdown.json"(exports2, module2) { + module2.exports = { + name: "Markdown", + type: "prose", + color: "#083fa1", + aliases: ["pandoc"], + aceMode: "markdown", + codemirrorMode: "gfm", + codemirrorMimeType: "text/x-gfm", + wrap: true, + extensions: [".md", ".livemd", ".markdown", ".mdown", ".mdwn", ".mdx", ".mkd", ".mkdn", ".mkdown", ".ronn", ".scd", ".workbook"], + filenames: ["contents.lr"], + tmScope: "source.gfm", + languageId: 222 + }; + } +}); +var require_language_markdown = __commonJS2({ + "src/language-markdown/index.js"(exports2, module2) { + "use strict"; + var createLanguage = require_create_language(); + var printer = require_printer_markdown(); + var options = require_options5(); + var parsers = require_parsers5(); + var languages = [createLanguage(require_Markdown(), (data) => ({ + since: "1.8.0", + parsers: ["markdown"], + vscodeLanguageIds: ["markdown"], + filenames: [...data.filenames, "README"], + extensions: data.extensions.filter((extension) => extension !== ".mdx") + })), createLanguage(require_Markdown(), () => ({ + name: "MDX", + since: "1.15.0", + parsers: ["mdx"], + vscodeLanguageIds: ["mdx"], + filenames: [], + extensions: [".mdx"] + }))]; + var printers = { + mdast: printer + }; + module2.exports = { + languages, + options, + printers, + parsers + }; + } +}); +var require_clean5 = __commonJS2({ + "src/language-html/clean.js"(exports2, module2) { + "use strict"; + var { + isFrontMatterNode + } = require_util(); + var ignoredProperties = /* @__PURE__ */ new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan"]); + function clean(ast, newNode) { + if (ast.type === "text" || ast.type === "comment") { + return null; + } + if (isFrontMatterNode(ast) || ast.type === "yaml" || ast.type === "toml") { + return null; + } + if (ast.type === "attribute") { + delete newNode.value; + } + if (ast.type === "docType") { + delete newNode.value; + } + } + clean.ignoredProperties = ignoredProperties; + module2.exports = clean; + } +}); +var require_constants_evaluate2 = __commonJS2({ + "src/language-html/constants.evaluate.js"(exports2, module2) { + module2.exports = { + CSS_DISPLAY_TAGS: { + area: "none", + base: "none", + basefont: "none", + datalist: "none", + head: "none", + link: "none", + meta: "none", + noembed: "none", + noframes: "none", + param: "block", + rp: "none", + script: "block", + source: "block", + style: "none", + template: "inline", + track: "block", + title: "none", + html: "block", + body: "block", + address: "block", + blockquote: "block", + center: "block", + div: "block", + figure: "block", + figcaption: "block", + footer: "block", + form: "block", + header: "block", + hr: "block", + legend: "block", + listing: "block", + main: "block", + p: "block", + plaintext: "block", + pre: "block", + xmp: "block", + slot: "contents", + ruby: "ruby", + rt: "ruby-text", + article: "block", + aside: "block", + h1: "block", + h2: "block", + h3: "block", + h4: "block", + h5: "block", + h6: "block", + hgroup: "block", + nav: "block", + section: "block", + dir: "block", + dd: "block", + dl: "block", + dt: "block", + ol: "block", + ul: "block", + li: "list-item", + table: "table", + caption: "table-caption", + colgroup: "table-column-group", + col: "table-column", + thead: "table-header-group", + tbody: "table-row-group", + tfoot: "table-footer-group", + tr: "table-row", + td: "table-cell", + th: "table-cell", + fieldset: "block", + button: "inline-block", + details: "block", + summary: "block", + dialog: "block", + meter: "inline-block", + progress: "inline-block", + object: "inline-block", + video: "inline-block", + audio: "inline-block", + select: "inline-block", + option: "block", + optgroup: "block" + }, + CSS_DISPLAY_DEFAULT: "inline", + CSS_WHITE_SPACE_TAGS: { + listing: "pre", + plaintext: "pre", + pre: "pre", + xmp: "pre", + nobr: "nowrap", + table: "initial", + textarea: "pre-wrap" + }, + CSS_WHITE_SPACE_DEFAULT: "normal" + }; + } +}); +var require_is_unknown_namespace = __commonJS2({ + "src/language-html/utils/is-unknown-namespace.js"(exports2, module2) { + "use strict"; + function isUnknownNamespace(node) { + return node.type === "element" && !node.hasExplicitNamespace && !["html", "svg"].includes(node.namespace); + } + module2.exports = isUnknownNamespace; + } +}); +var require_utils11 = __commonJS2({ + "src/language-html/utils/index.js"(exports2, module2) { + "use strict"; + var { + inferParserByLanguage, + isFrontMatterNode + } = require_util(); + var { + builders: { + line, + hardline, + join + }, + utils: { + getDocParts, + replaceTextEndOfLine + } + } = __webpack_require__(36327); + var { + CSS_DISPLAY_TAGS, + CSS_DISPLAY_DEFAULT, + CSS_WHITE_SPACE_TAGS, + CSS_WHITE_SPACE_DEFAULT + } = require_constants_evaluate2(); + var isUnknownNamespace = require_is_unknown_namespace(); + var HTML_WHITESPACE = /* @__PURE__ */ new Set([" ", "\n", "\f", "\r", " "]); + var htmlTrimStart = (string) => string.replace(/^[\t\n\f\r ]+/, ""); + var htmlTrimEnd = (string) => string.replace(/[\t\n\f\r ]+$/, ""); + var htmlTrim = (string) => htmlTrimStart(htmlTrimEnd(string)); + var htmlTrimLeadingBlankLines = (string) => string.replace(/^[\t\f\r ]*\n/g, ""); + var htmlTrimPreserveIndentation = (string) => htmlTrimLeadingBlankLines(htmlTrimEnd(string)); + var splitByHtmlWhitespace = (string) => string.split(/[\t\n\f\r ]+/); + var getLeadingHtmlWhitespace = (string) => string.match(/^[\t\n\f\r ]*/)[0]; + var getLeadingAndTrailingHtmlWhitespace = (string) => { + const [, leadingWhitespace, text, trailingWhitespace] = string.match(/^([\t\n\f\r ]*)(.*?)([\t\n\f\r ]*)$/s); + return { + leadingWhitespace, + trailingWhitespace, + text + }; + }; + var hasHtmlWhitespace = (string) => /[\t\n\f\r ]/.test(string); + function shouldPreserveContent(node, options) { + if (node.type === "ieConditionalComment" && node.lastChild && !node.lastChild.isSelfClosing && !node.lastChild.endSourceSpan) { + return true; + } + if (node.type === "ieConditionalComment" && !node.complete) { + return true; + } + if (isPreLikeNode(node) && node.children.some((child) => child.type !== "text" && child.type !== "interpolation")) { + return true; + } + if (isVueNonHtmlBlock(node, options) && !isScriptLikeTag(node) && node.type !== "interpolation") { + return true; + } + return false; + } + function hasPrettierIgnore(node) { + if (node.type === "attribute") { + return false; + } + if (!node.parent) { + return false; + } + if (!node.prev) { + return false; + } + return isPrettierIgnore(node.prev); + } + function isPrettierIgnore(node) { + return node.type === "comment" && node.value.trim() === "prettier-ignore"; + } + function isTextLikeNode(node) { + return node.type === "text" || node.type === "comment"; + } + function isScriptLikeTag(node) { + return node.type === "element" && (node.fullName === "script" || node.fullName === "style" || node.fullName === "svg:style" || isUnknownNamespace(node) && (node.name === "script" || node.name === "style")); + } + function canHaveInterpolation(node) { + return node.children && !isScriptLikeTag(node); + } + function isWhitespaceSensitiveNode(node) { + return isScriptLikeTag(node) || node.type === "interpolation" || isIndentationSensitiveNode(node); + } + function isIndentationSensitiveNode(node) { + return getNodeCssStyleWhiteSpace(node).startsWith("pre"); + } + function isLeadingSpaceSensitiveNode(node, options) { + const isLeadingSpaceSensitive = _isLeadingSpaceSensitiveNode(); + if (isLeadingSpaceSensitive && !node.prev && node.parent && node.parent.tagDefinition && node.parent.tagDefinition.ignoreFirstLf) { + return node.type === "interpolation"; + } + return isLeadingSpaceSensitive; + function _isLeadingSpaceSensitiveNode() { + if (isFrontMatterNode(node)) { + return false; + } + if ((node.type === "text" || node.type === "interpolation") && node.prev && (node.prev.type === "text" || node.prev.type === "interpolation")) { + return true; + } + if (!node.parent || node.parent.cssDisplay === "none") { + return false; + } + if (isPreLikeNode(node.parent)) { + return true; + } + if (!node.prev && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isFirstChildLeadingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) { + return false; + } + if (node.prev && !isNextLeadingSpaceSensitiveCssDisplay(node.prev.cssDisplay)) { + return false; + } + return true; + } + } + function isTrailingSpaceSensitiveNode(node, options) { + if (isFrontMatterNode(node)) { + return false; + } + if ((node.type === "text" || node.type === "interpolation") && node.next && (node.next.type === "text" || node.next.type === "interpolation")) { + return true; + } + if (!node.parent || node.parent.cssDisplay === "none") { + return false; + } + if (isPreLikeNode(node.parent)) { + return true; + } + if (!node.next && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isLastChildTrailingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) { + return false; + } + if (node.next && !isPrevTrailingSpaceSensitiveCssDisplay(node.next.cssDisplay)) { + return false; + } + return true; + } + function isDanglingSpaceSensitiveNode(node) { + return isDanglingSpaceSensitiveCssDisplay(node.cssDisplay) && !isScriptLikeTag(node); + } + function forceNextEmptyLine(node) { + return isFrontMatterNode(node) || node.next && node.sourceSpan.end && node.sourceSpan.end.line + 1 < node.next.sourceSpan.start.line; + } + function forceBreakContent(node) { + return forceBreakChildren(node) || node.type === "element" && node.children.length > 0 && (["body", "script", "style"].includes(node.name) || node.children.some((child) => hasNonTextChild(child))) || node.firstChild && node.firstChild === node.lastChild && node.firstChild.type !== "text" && hasLeadingLineBreak(node.firstChild) && (!node.lastChild.isTrailingSpaceSensitive || hasTrailingLineBreak(node.lastChild)); + } + function forceBreakChildren(node) { + return node.type === "element" && node.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(node.name) || node.cssDisplay.startsWith("table") && node.cssDisplay !== "table-cell"); + } + function preferHardlineAsLeadingSpaces(node) { + return preferHardlineAsSurroundingSpaces(node) || node.prev && preferHardlineAsTrailingSpaces(node.prev) || hasSurroundingLineBreak(node); + } + function preferHardlineAsTrailingSpaces(node) { + return preferHardlineAsSurroundingSpaces(node) || node.type === "element" && node.fullName === "br" || hasSurroundingLineBreak(node); + } + function hasSurroundingLineBreak(node) { + return hasLeadingLineBreak(node) && hasTrailingLineBreak(node); + } + function hasLeadingLineBreak(node) { + return node.hasLeadingSpaces && (node.prev ? node.prev.sourceSpan.end.line < node.sourceSpan.start.line : node.parent.type === "root" || node.parent.startSourceSpan.end.line < node.sourceSpan.start.line); + } + function hasTrailingLineBreak(node) { + return node.hasTrailingSpaces && (node.next ? node.next.sourceSpan.start.line > node.sourceSpan.end.line : node.parent.type === "root" || node.parent.endSourceSpan && node.parent.endSourceSpan.start.line > node.sourceSpan.end.line); + } + function preferHardlineAsSurroundingSpaces(node) { + switch (node.type) { + case "ieConditionalComment": + case "comment": + case "directive": + return true; + case "element": + return ["script", "select"].includes(node.name); + } + return false; + } + function getLastDescendant(node) { + return node.lastChild ? getLastDescendant(node.lastChild) : node; + } + function hasNonTextChild(node) { + return node.children && node.children.some((child) => child.type !== "text"); + } + function _inferScriptParser(node) { + const { + type, + lang + } = node.attrMap; + if (type === "module" || type === "text/javascript" || type === "text/babel" || type === "application/javascript" || lang === "jsx") { + return "babel"; + } + if (type === "application/x-typescript" || lang === "ts" || lang === "tsx") { + return "typescript"; + } + if (type === "text/markdown") { + return "markdown"; + } + if (type === "text/html") { + return "html"; + } + if (type && (type.endsWith("json") || type.endsWith("importmap")) || type === "speculationrules") { + return "json"; + } + if (type === "text/x-handlebars-template") { + return "glimmer"; + } + } + function inferStyleParser(node, options) { + const { + lang + } = node.attrMap; + if (!lang || lang === "postcss" || lang === "css") { + return "css"; + } + if (lang === "scss") { + return "scss"; + } + if (lang === "less") { + return "less"; + } + if (lang === "stylus") { + return inferParserByLanguage("stylus", options); + } + } + function inferScriptParser(node, options) { + if (node.name === "script" && !node.attrMap.src) { + if (!node.attrMap.lang && !node.attrMap.type) { + return "babel"; + } + return _inferScriptParser(node); + } + if (node.name === "style") { + return inferStyleParser(node, options); + } + if (options && isVueNonHtmlBlock(node, options)) { + return _inferScriptParser(node) || !("src" in node.attrMap) && inferParserByLanguage(node.attrMap.lang, options); + } + } + function isBlockLikeCssDisplay(cssDisplay) { + return cssDisplay === "block" || cssDisplay === "list-item" || cssDisplay.startsWith("table"); + } + function isFirstChildLeadingSpaceSensitiveCssDisplay(cssDisplay) { + return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block"; + } + function isLastChildTrailingSpaceSensitiveCssDisplay(cssDisplay) { + return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block"; + } + function isPrevTrailingSpaceSensitiveCssDisplay(cssDisplay) { + return !isBlockLikeCssDisplay(cssDisplay); + } + function isNextLeadingSpaceSensitiveCssDisplay(cssDisplay) { + return !isBlockLikeCssDisplay(cssDisplay); + } + function isDanglingSpaceSensitiveCssDisplay(cssDisplay) { + return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block"; + } + function isPreLikeNode(node) { + return getNodeCssStyleWhiteSpace(node).startsWith("pre"); + } + function countParents(path, predicate) { + let counter = 0; + for (let i = path.stack.length - 1; i >= 0; i--) { + const value = path.stack[i]; + if (value && typeof value === "object" && !Array.isArray(value) && predicate(value)) { + counter++; + } + } + return counter; + } + function hasParent(node, fn) { + let current = node; + while (current) { + if (fn(current)) { + return true; + } + current = current.parent; + } + return false; + } + function getNodeCssStyleDisplay(node, options) { + if (node.prev && node.prev.type === "comment") { + const match = node.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/); + if (match) { + return match[1]; + } + } + let isInSvgForeignObject = false; + if (node.type === "element" && node.namespace === "svg") { + if (hasParent(node, (parent) => parent.fullName === "svg:foreignObject")) { + isInSvgForeignObject = true; + } else { + return node.name === "svg" ? "inline-block" : "block"; + } + } + switch (options.htmlWhitespaceSensitivity) { + case "strict": + return "inline"; + case "ignore": + return "block"; + default: { + if (options.parser === "vue" && node.parent && node.parent.type === "root") { + return "block"; + } + return node.type === "element" && (!node.namespace || isInSvgForeignObject || isUnknownNamespace(node)) && CSS_DISPLAY_TAGS[node.name] || CSS_DISPLAY_DEFAULT; + } + } + } + function getNodeCssStyleWhiteSpace(node) { + return node.type === "element" && (!node.namespace || isUnknownNamespace(node)) && CSS_WHITE_SPACE_TAGS[node.name] || CSS_WHITE_SPACE_DEFAULT; + } + function getMinIndentation(text) { + let minIndentation = Number.POSITIVE_INFINITY; + for (const lineText of text.split("\n")) { + if (lineText.length === 0) { + continue; + } + if (!HTML_WHITESPACE.has(lineText[0])) { + return 0; + } + const indentation = getLeadingHtmlWhitespace(lineText).length; + if (lineText.length === indentation) { + continue; + } + if (indentation < minIndentation) { + minIndentation = indentation; + } + } + return minIndentation === Number.POSITIVE_INFINITY ? 0 : minIndentation; + } + function dedentString(text, minIndent = getMinIndentation(text)) { + return minIndent === 0 ? text : text.split("\n").map((lineText) => lineText.slice(minIndent)).join("\n"); + } + function countChars(text, char) { + let counter = 0; + for (let i = 0; i < text.length; i++) { + if (text[i] === char) { + counter++; + } + } + return counter; + } + function unescapeQuoteEntities(text) { + return text.replace(/'/g, "'").replace(/"/g, '"'); + } + var vueRootElementsSet = /* @__PURE__ */ new Set(["template", "style", "script"]); + function isVueCustomBlock(node, options) { + return isVueSfcBlock(node, options) && !vueRootElementsSet.has(node.fullName); + } + function isVueSfcBlock(node, options) { + return options.parser === "vue" && node.type === "element" && node.parent.type === "root" && node.fullName.toLowerCase() !== "html"; + } + function isVueNonHtmlBlock(node, options) { + return isVueSfcBlock(node, options) && (isVueCustomBlock(node, options) || node.attrMap.lang && node.attrMap.lang !== "html"); + } + function isVueSlotAttribute(attribute) { + const attributeName = attribute.fullName; + return attributeName.charAt(0) === "#" || attributeName === "slot-scope" || attributeName === "v-slot" || attributeName.startsWith("v-slot:"); + } + function isVueSfcBindingsAttribute(attribute, options) { + const element = attribute.parent; + if (!isVueSfcBlock(element, options)) { + return false; + } + const tagName = element.fullName; + const attributeName = attribute.fullName; + return tagName === "script" && attributeName === "setup" || tagName === "style" && attributeName === "vars"; + } + function getTextValueParts(node, value = node.value) { + return node.parent.isWhitespaceSensitive ? node.parent.isIndentationSensitive ? replaceTextEndOfLine(value) : replaceTextEndOfLine(dedentString(htmlTrimPreserveIndentation(value)), hardline) : getDocParts(join(line, splitByHtmlWhitespace(value))); + } + function isVueScriptTag(node, options) { + return isVueSfcBlock(node, options) && node.name === "script"; + } + module2.exports = { + htmlTrim, + htmlTrimPreserveIndentation, + hasHtmlWhitespace, + getLeadingAndTrailingHtmlWhitespace, + canHaveInterpolation, + countChars, + countParents, + dedentString, + forceBreakChildren, + forceBreakContent, + forceNextEmptyLine, + getLastDescendant, + getNodeCssStyleDisplay, + getNodeCssStyleWhiteSpace, + hasPrettierIgnore, + inferScriptParser, + isVueCustomBlock, + isVueNonHtmlBlock, + isVueScriptTag, + isVueSlotAttribute, + isVueSfcBindingsAttribute, + isVueSfcBlock, + isDanglingSpaceSensitiveNode, + isIndentationSensitiveNode, + isLeadingSpaceSensitiveNode, + isPreLikeNode, + isScriptLikeTag, + isTextLikeNode, + isTrailingSpaceSensitiveNode, + isWhitespaceSensitiveNode, + isUnknownNamespace, + preferHardlineAsLeadingSpaces, + preferHardlineAsTrailingSpaces, + shouldPreserveContent, + unescapeQuoteEntities, + getTextValueParts + }; + } +}); +var require_chars = __commonJS2({ + "node_modules/angular-html-parser/lib/compiler/src/chars.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.$EOF = 0; + exports2.$BSPACE = 8; + exports2.$TAB = 9; + exports2.$LF = 10; + exports2.$VTAB = 11; + exports2.$FF = 12; + exports2.$CR = 13; + exports2.$SPACE = 32; + exports2.$BANG = 33; + exports2.$DQ = 34; + exports2.$HASH = 35; + exports2.$$ = 36; + exports2.$PERCENT = 37; + exports2.$AMPERSAND = 38; + exports2.$SQ = 39; + exports2.$LPAREN = 40; + exports2.$RPAREN = 41; + exports2.$STAR = 42; + exports2.$PLUS = 43; + exports2.$COMMA = 44; + exports2.$MINUS = 45; + exports2.$PERIOD = 46; + exports2.$SLASH = 47; + exports2.$COLON = 58; + exports2.$SEMICOLON = 59; + exports2.$LT = 60; + exports2.$EQ = 61; + exports2.$GT = 62; + exports2.$QUESTION = 63; + exports2.$0 = 48; + exports2.$7 = 55; + exports2.$9 = 57; + exports2.$A = 65; + exports2.$E = 69; + exports2.$F = 70; + exports2.$X = 88; + exports2.$Z = 90; + exports2.$LBRACKET = 91; + exports2.$BACKSLASH = 92; + exports2.$RBRACKET = 93; + exports2.$CARET = 94; + exports2.$_ = 95; + exports2.$a = 97; + exports2.$b = 98; + exports2.$e = 101; + exports2.$f = 102; + exports2.$n = 110; + exports2.$r = 114; + exports2.$t = 116; + exports2.$u = 117; + exports2.$v = 118; + exports2.$x = 120; + exports2.$z = 122; + exports2.$LBRACE = 123; + exports2.$BAR = 124; + exports2.$RBRACE = 125; + exports2.$NBSP = 160; + exports2.$PIPE = 124; + exports2.$TILDA = 126; + exports2.$AT = 64; + exports2.$BT = 96; + function isWhitespace(code) { + return code >= exports2.$TAB && code <= exports2.$SPACE || code == exports2.$NBSP; + } + exports2.isWhitespace = isWhitespace; + function isDigit(code) { + return exports2.$0 <= code && code <= exports2.$9; + } + exports2.isDigit = isDigit; + function isAsciiLetter(code) { + return code >= exports2.$a && code <= exports2.$z || code >= exports2.$A && code <= exports2.$Z; + } + exports2.isAsciiLetter = isAsciiLetter; + function isAsciiHexDigit(code) { + return code >= exports2.$a && code <= exports2.$f || code >= exports2.$A && code <= exports2.$F || isDigit(code); + } + exports2.isAsciiHexDigit = isAsciiHexDigit; + function isNewLine(code) { + return code === exports2.$LF || code === exports2.$CR; + } + exports2.isNewLine = isNewLine; + function isOctalDigit(code) { + return exports2.$0 <= code && code <= exports2.$7; + } + exports2.isOctalDigit = isOctalDigit; + } +}); +var require_static_symbol = __commonJS2({ + "node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var StaticSymbol = class { + constructor(filePath, name, members) { + this.filePath = filePath; + this.name = name; + this.members = members; + } + assertNoMembers() { + if (this.members.length) { + throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`); + } + } + }; + exports2.StaticSymbol = StaticSymbol; + var StaticSymbolCache = class { + constructor() { + this.cache = /* @__PURE__ */ new Map(); + } + get(declarationFile, name, members) { + members = members || []; + const memberSuffix = members.length ? `.${members.join(".")}` : ""; + const key = `"${declarationFile}".${name}${memberSuffix}`; + let result = this.cache.get(key); + if (!result) { + result = new StaticSymbol(declarationFile, name, members); + this.cache.set(key, result); + } + return result; + } + }; + exports2.StaticSymbolCache = StaticSymbolCache; + } +}); +var require_util3 = __commonJS2({ + "node_modules/angular-html-parser/lib/compiler/src/util.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var DASH_CASE_REGEXP = /-+([a-z0-9])/g; + function dashCaseToCamelCase(input) { + return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase()); + } + exports2.dashCaseToCamelCase = dashCaseToCamelCase; + function splitAtColon(input, defaultValues) { + return _splitAt(input, ":", defaultValues); + } + exports2.splitAtColon = splitAtColon; + function splitAtPeriod(input, defaultValues) { + return _splitAt(input, ".", defaultValues); + } + exports2.splitAtPeriod = splitAtPeriod; + function _splitAt(input, character, defaultValues) { + const characterIndex = input.indexOf(character); + if (characterIndex == -1) + return defaultValues; + return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()]; + } + function visitValue(value, visitor, context) { + if (Array.isArray(value)) { + return visitor.visitArray(value, context); + } + if (isStrictStringMap(value)) { + return visitor.visitStringMap(value, context); + } + if (value == null || typeof value == "string" || typeof value == "number" || typeof value == "boolean") { + return visitor.visitPrimitive(value, context); + } + return visitor.visitOther(value, context); + } + exports2.visitValue = visitValue; + function isDefined(val) { + return val !== null && val !== void 0; + } + exports2.isDefined = isDefined; + function noUndefined(val) { + return val === void 0 ? null : val; + } + exports2.noUndefined = noUndefined; + var ValueTransformer = class { + visitArray(arr, context) { + return arr.map((value) => visitValue(value, this, context)); + } + visitStringMap(map, context) { + const result = {}; + Object.keys(map).forEach((key) => { + result[key] = visitValue(map[key], this, context); + }); + return result; + } + visitPrimitive(value, context) { + return value; + } + visitOther(value, context) { + return value; + } + }; + exports2.ValueTransformer = ValueTransformer; + exports2.SyncAsync = { + assertSync: (value) => { + if (isPromise(value)) { + throw new Error(`Illegal state: value cannot be a promise`); + } + return value; + }, + then: (value, cb) => { + return isPromise(value) ? value.then(cb) : cb(value); + }, + all: (syncAsyncValues) => { + return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues; + } + }; + function error(msg) { + throw new Error(`Internal Error: ${msg}`); + } + exports2.error = error; + function syntaxError(msg, parseErrors) { + const error2 = Error(msg); + error2[ERROR_SYNTAX_ERROR] = true; + if (parseErrors) + error2[ERROR_PARSE_ERRORS] = parseErrors; + return error2; + } + exports2.syntaxError = syntaxError; + var ERROR_SYNTAX_ERROR = "ngSyntaxError"; + var ERROR_PARSE_ERRORS = "ngParseErrors"; + function isSyntaxError(error2) { + return error2[ERROR_SYNTAX_ERROR]; + } + exports2.isSyntaxError = isSyntaxError; + function getParseErrors(error2) { + return error2[ERROR_PARSE_ERRORS] || []; + } + exports2.getParseErrors = getParseErrors; + function escapeRegExp(s) { + return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1"); + } + exports2.escapeRegExp = escapeRegExp; + var STRING_MAP_PROTO = Object.getPrototypeOf({}); + function isStrictStringMap(obj) { + return typeof obj === "object" && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO; + } + function utf8Encode(str) { + let encoded = ""; + for (let index = 0; index < str.length; index++) { + let codePoint = str.charCodeAt(index); + if (codePoint >= 55296 && codePoint <= 56319 && str.length > index + 1) { + const low = str.charCodeAt(index + 1); + if (low >= 56320 && low <= 57343) { + index++; + codePoint = (codePoint - 55296 << 10) + low - 56320 + 65536; + } + } + if (codePoint <= 127) { + encoded += String.fromCharCode(codePoint); + } else if (codePoint <= 2047) { + encoded += String.fromCharCode(codePoint >> 6 & 31 | 192, codePoint & 63 | 128); + } else if (codePoint <= 65535) { + encoded += String.fromCharCode(codePoint >> 12 | 224, codePoint >> 6 & 63 | 128, codePoint & 63 | 128); + } else if (codePoint <= 2097151) { + encoded += String.fromCharCode(codePoint >> 18 & 7 | 240, codePoint >> 12 & 63 | 128, codePoint >> 6 & 63 | 128, codePoint & 63 | 128); + } + } + return encoded; + } + exports2.utf8Encode = utf8Encode; + function stringify(token) { + if (typeof token === "string") { + return token; + } + if (token instanceof Array) { + return "[" + token.map(stringify).join(", ") + "]"; + } + if (token == null) { + return "" + token; + } + if (token.overriddenName) { + return `${token.overriddenName}`; + } + if (token.name) { + return `${token.name}`; + } + if (!token.toString) { + return "object"; + } + const res = token.toString(); + if (res == null) { + return "" + res; + } + const newLineIndex = res.indexOf("\n"); + return newLineIndex === -1 ? res : res.substring(0, newLineIndex); + } + exports2.stringify = stringify; + function resolveForwardRef(type) { + if (typeof type === "function" && type.hasOwnProperty("__forward_ref__")) { + return type(); + } else { + return type; + } + } + exports2.resolveForwardRef = resolveForwardRef; + function isPromise(obj) { + return !!obj && typeof obj.then === "function"; + } + exports2.isPromise = isPromise; + var Version = class { + constructor(full) { + this.full = full; + const splits = full.split("."); + this.major = splits[0]; + this.minor = splits[1]; + this.patch = splits.slice(2).join("."); + } + }; + exports2.Version = Version; + var __window = typeof window !== "undefined" && window; + var __self = typeof self !== "undefined" && typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope && self; + var __global = typeof global !== "undefined" && global; + var _global = __global || __window || __self; + exports2.global = _global; + } +}); +var require_compile_metadata = __commonJS2({ + "node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var static_symbol_1 = require_static_symbol(); + var util_1 = require_util3(); + var HOST_REG_EXP = /^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/; + function sanitizeIdentifier(name) { + return name.replace(/\W/g, "_"); + } + exports2.sanitizeIdentifier = sanitizeIdentifier; + var _anonymousTypeIndex = 0; + function identifierName(compileIdentifier) { + if (!compileIdentifier || !compileIdentifier.reference) { + return null; + } + const ref = compileIdentifier.reference; + if (ref instanceof static_symbol_1.StaticSymbol) { + return ref.name; + } + if (ref["__anonymousType"]) { + return ref["__anonymousType"]; + } + let identifier = util_1.stringify(ref); + if (identifier.indexOf("(") >= 0) { + identifier = `anonymous_${_anonymousTypeIndex++}`; + ref["__anonymousType"] = identifier; + } else { + identifier = sanitizeIdentifier(identifier); + } + return identifier; + } + exports2.identifierName = identifierName; + function identifierModuleUrl(compileIdentifier) { + const ref = compileIdentifier.reference; + if (ref instanceof static_symbol_1.StaticSymbol) { + return ref.filePath; + } + return `./${util_1.stringify(ref)}`; + } + exports2.identifierModuleUrl = identifierModuleUrl; + function viewClassName(compType, embeddedTemplateIndex) { + return `View_${identifierName({ + reference: compType + })}_${embeddedTemplateIndex}`; + } + exports2.viewClassName = viewClassName; + function rendererTypeName(compType) { + return `RenderType_${identifierName({ + reference: compType + })}`; + } + exports2.rendererTypeName = rendererTypeName; + function hostViewClassName(compType) { + return `HostView_${identifierName({ + reference: compType + })}`; + } + exports2.hostViewClassName = hostViewClassName; + function componentFactoryName(compType) { + return `${identifierName({ + reference: compType + })}NgFactory`; + } + exports2.componentFactoryName = componentFactoryName; + var CompileSummaryKind; + (function(CompileSummaryKind2) { + CompileSummaryKind2[CompileSummaryKind2["Pipe"] = 0] = "Pipe"; + CompileSummaryKind2[CompileSummaryKind2["Directive"] = 1] = "Directive"; + CompileSummaryKind2[CompileSummaryKind2["NgModule"] = 2] = "NgModule"; + CompileSummaryKind2[CompileSummaryKind2["Injectable"] = 3] = "Injectable"; + })(CompileSummaryKind = exports2.CompileSummaryKind || (exports2.CompileSummaryKind = {})); + function tokenName(token) { + return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier); + } + exports2.tokenName = tokenName; + function tokenReference(token) { + if (token.identifier != null) { + return token.identifier.reference; + } else { + return token.value; + } + } + exports2.tokenReference = tokenReference; + var CompileStylesheetMetadata = class { + constructor({ + moduleUrl, + styles, + styleUrls + } = {}) { + this.moduleUrl = moduleUrl || null; + this.styles = _normalizeArray(styles); + this.styleUrls = _normalizeArray(styleUrls); + } + }; + exports2.CompileStylesheetMetadata = CompileStylesheetMetadata; + var CompileTemplateMetadata = class { + constructor({ + encapsulation, + template, + templateUrl, + htmlAst, + styles, + styleUrls, + externalStylesheets, + animations, + ngContentSelectors, + interpolation, + isInline, + preserveWhitespaces + }) { + this.encapsulation = encapsulation; + this.template = template; + this.templateUrl = templateUrl; + this.htmlAst = htmlAst; + this.styles = _normalizeArray(styles); + this.styleUrls = _normalizeArray(styleUrls); + this.externalStylesheets = _normalizeArray(externalStylesheets); + this.animations = animations ? flatten(animations) : []; + this.ngContentSelectors = ngContentSelectors || []; + if (interpolation && interpolation.length != 2) { + throw new Error(`'interpolation' should have a start and an end symbol.`); + } + this.interpolation = interpolation; + this.isInline = isInline; + this.preserveWhitespaces = preserveWhitespaces; + } + toSummary() { + return { + ngContentSelectors: this.ngContentSelectors, + encapsulation: this.encapsulation, + styles: this.styles, + animations: this.animations + }; + } + }; + exports2.CompileTemplateMetadata = CompileTemplateMetadata; + var CompileDirectiveMetadata = class { + static create({ + isHost, + type, + isComponent, + selector, + exportAs, + changeDetection, + inputs, + outputs, + host, + providers, + viewProviders, + queries, + guards, + viewQueries, + entryComponents, + template, + componentViewType, + rendererType, + componentFactory + }) { + const hostListeners = {}; + const hostProperties = {}; + const hostAttributes = {}; + if (host != null) { + Object.keys(host).forEach((key) => { + const value = host[key]; + const matches = key.match(HOST_REG_EXP); + if (matches === null) { + hostAttributes[key] = value; + } else if (matches[1] != null) { + hostProperties[matches[1]] = value; + } else if (matches[2] != null) { + hostListeners[matches[2]] = value; + } + }); + } + const inputsMap = {}; + if (inputs != null) { + inputs.forEach((bindConfig) => { + const parts = util_1.splitAtColon(bindConfig, [bindConfig, bindConfig]); + inputsMap[parts[0]] = parts[1]; + }); + } + const outputsMap = {}; + if (outputs != null) { + outputs.forEach((bindConfig) => { + const parts = util_1.splitAtColon(bindConfig, [bindConfig, bindConfig]); + outputsMap[parts[0]] = parts[1]; + }); + } + return new CompileDirectiveMetadata({ + isHost, + type, + isComponent: !!isComponent, + selector, + exportAs, + changeDetection, + inputs: inputsMap, + outputs: outputsMap, + hostListeners, + hostProperties, + hostAttributes, + providers, + viewProviders, + queries, + guards, + viewQueries, + entryComponents, + template, + componentViewType, + rendererType, + componentFactory + }); + } + constructor({ + isHost, + type, + isComponent, + selector, + exportAs, + changeDetection, + inputs, + outputs, + hostListeners, + hostProperties, + hostAttributes, + providers, + viewProviders, + queries, + guards, + viewQueries, + entryComponents, + template, + componentViewType, + rendererType, + componentFactory + }) { + this.isHost = !!isHost; + this.type = type; + this.isComponent = isComponent; + this.selector = selector; + this.exportAs = exportAs; + this.changeDetection = changeDetection; + this.inputs = inputs; + this.outputs = outputs; + this.hostListeners = hostListeners; + this.hostProperties = hostProperties; + this.hostAttributes = hostAttributes; + this.providers = _normalizeArray(providers); + this.viewProviders = _normalizeArray(viewProviders); + this.queries = _normalizeArray(queries); + this.guards = guards; + this.viewQueries = _normalizeArray(viewQueries); + this.entryComponents = _normalizeArray(entryComponents); + this.template = template; + this.componentViewType = componentViewType; + this.rendererType = rendererType; + this.componentFactory = componentFactory; + } + toSummary() { + return { + summaryKind: CompileSummaryKind.Directive, + type: this.type, + isComponent: this.isComponent, + selector: this.selector, + exportAs: this.exportAs, + inputs: this.inputs, + outputs: this.outputs, + hostListeners: this.hostListeners, + hostProperties: this.hostProperties, + hostAttributes: this.hostAttributes, + providers: this.providers, + viewProviders: this.viewProviders, + queries: this.queries, + guards: this.guards, + viewQueries: this.viewQueries, + entryComponents: this.entryComponents, + changeDetection: this.changeDetection, + template: this.template && this.template.toSummary(), + componentViewType: this.componentViewType, + rendererType: this.rendererType, + componentFactory: this.componentFactory + }; + } + }; + exports2.CompileDirectiveMetadata = CompileDirectiveMetadata; + var CompilePipeMetadata = class { + constructor({ + type, + name, + pure + }) { + this.type = type; + this.name = name; + this.pure = !!pure; + } + toSummary() { + return { + summaryKind: CompileSummaryKind.Pipe, + type: this.type, + name: this.name, + pure: this.pure + }; + } + }; + exports2.CompilePipeMetadata = CompilePipeMetadata; + var CompileShallowModuleMetadata = class { + }; + exports2.CompileShallowModuleMetadata = CompileShallowModuleMetadata; + var CompileNgModuleMetadata = class { + constructor({ + type, + providers, + declaredDirectives, + exportedDirectives, + declaredPipes, + exportedPipes, + entryComponents, + bootstrapComponents, + importedModules, + exportedModules, + schemas, + transitiveModule, + id + }) { + this.type = type || null; + this.declaredDirectives = _normalizeArray(declaredDirectives); + this.exportedDirectives = _normalizeArray(exportedDirectives); + this.declaredPipes = _normalizeArray(declaredPipes); + this.exportedPipes = _normalizeArray(exportedPipes); + this.providers = _normalizeArray(providers); + this.entryComponents = _normalizeArray(entryComponents); + this.bootstrapComponents = _normalizeArray(bootstrapComponents); + this.importedModules = _normalizeArray(importedModules); + this.exportedModules = _normalizeArray(exportedModules); + this.schemas = _normalizeArray(schemas); + this.id = id || null; + this.transitiveModule = transitiveModule || null; + } + toSummary() { + const module3 = this.transitiveModule; + return { + summaryKind: CompileSummaryKind.NgModule, + type: this.type, + entryComponents: module3.entryComponents, + providers: module3.providers, + modules: module3.modules, + exportedDirectives: module3.exportedDirectives, + exportedPipes: module3.exportedPipes + }; + } + }; + exports2.CompileNgModuleMetadata = CompileNgModuleMetadata; + var TransitiveCompileNgModuleMetadata = class { + constructor() { + this.directivesSet = /* @__PURE__ */ new Set(); + this.directives = []; + this.exportedDirectivesSet = /* @__PURE__ */ new Set(); + this.exportedDirectives = []; + this.pipesSet = /* @__PURE__ */ new Set(); + this.pipes = []; + this.exportedPipesSet = /* @__PURE__ */ new Set(); + this.exportedPipes = []; + this.modulesSet = /* @__PURE__ */ new Set(); + this.modules = []; + this.entryComponentsSet = /* @__PURE__ */ new Set(); + this.entryComponents = []; + this.providers = []; + } + addProvider(provider, module3) { + this.providers.push({ + provider, + module: module3 + }); + } + addDirective(id) { + if (!this.directivesSet.has(id.reference)) { + this.directivesSet.add(id.reference); + this.directives.push(id); + } + } + addExportedDirective(id) { + if (!this.exportedDirectivesSet.has(id.reference)) { + this.exportedDirectivesSet.add(id.reference); + this.exportedDirectives.push(id); + } + } + addPipe(id) { + if (!this.pipesSet.has(id.reference)) { + this.pipesSet.add(id.reference); + this.pipes.push(id); + } + } + addExportedPipe(id) { + if (!this.exportedPipesSet.has(id.reference)) { + this.exportedPipesSet.add(id.reference); + this.exportedPipes.push(id); + } + } + addModule(id) { + if (!this.modulesSet.has(id.reference)) { + this.modulesSet.add(id.reference); + this.modules.push(id); + } + } + addEntryComponent(ec) { + if (!this.entryComponentsSet.has(ec.componentType)) { + this.entryComponentsSet.add(ec.componentType); + this.entryComponents.push(ec); + } + } + }; + exports2.TransitiveCompileNgModuleMetadata = TransitiveCompileNgModuleMetadata; + function _normalizeArray(obj) { + return obj || []; + } + var ProviderMeta = class { + constructor(token, { + useClass, + useValue, + useExisting, + useFactory, + deps, + multi + }) { + this.token = token; + this.useClass = useClass || null; + this.useValue = useValue; + this.useExisting = useExisting; + this.useFactory = useFactory || null; + this.dependencies = deps || null; + this.multi = !!multi; + } + }; + exports2.ProviderMeta = ProviderMeta; + function flatten(list) { + return list.reduce((flat, item) => { + const flatItem = Array.isArray(item) ? flatten(item) : item; + return flat.concat(flatItem); + }, []); + } + exports2.flatten = flatten; + function jitSourceUrl(url) { + return url.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/, "ng:///"); + } + function templateSourceUrl(ngModuleType, compMeta, templateMeta) { + let url; + if (templateMeta.isInline) { + if (compMeta.type.reference instanceof static_symbol_1.StaticSymbol) { + url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`; + } else { + url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`; + } + } else { + url = templateMeta.templateUrl; + } + return compMeta.type.reference instanceof static_symbol_1.StaticSymbol ? url : jitSourceUrl(url); + } + exports2.templateSourceUrl = templateSourceUrl; + function sharedStylesheetJitUrl(meta, id) { + const pathParts = meta.moduleUrl.split(/\/\\/g); + const baseName = pathParts[pathParts.length - 1]; + return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`); + } + exports2.sharedStylesheetJitUrl = sharedStylesheetJitUrl; + function ngModuleJitUrl(moduleMeta) { + return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`); + } + exports2.ngModuleJitUrl = ngModuleJitUrl; + function templateJitUrl(ngModuleType, compMeta) { + return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`); + } + exports2.templateJitUrl = templateJitUrl; + } +}); +var require_parse_util = __commonJS2({ + "node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + var chars = require_chars(); + var compile_metadata_1 = require_compile_metadata(); + var ParseLocation = class { + constructor(file, offset, line, col) { + this.file = file; + this.offset = offset; + this.line = line; + this.col = col; + } + toString() { + return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url; + } + moveBy(delta) { + const source = this.file.content; + const len = source.length; + let offset = this.offset; + let line = this.line; + let col = this.col; + while (offset > 0 && delta < 0) { + offset--; + delta++; + const ch = source.charCodeAt(offset); + if (ch == chars.$LF) { + line--; + const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode(chars.$LF)); + col = priorLine > 0 ? offset - priorLine : offset; + } else { + col--; + } + } + while (offset < len && delta > 0) { + const ch = source.charCodeAt(offset); + offset++; + delta--; + if (ch == chars.$LF) { + line++; + col = 0; + } else { + col++; + } + } + return new ParseLocation(this.file, offset, line, col); + } + getContext(maxChars, maxLines) { + const content = this.file.content; + let startOffset = this.offset; + if (startOffset != null) { + if (startOffset > content.length - 1) { + startOffset = content.length - 1; + } + let endOffset = startOffset; + let ctxChars = 0; + let ctxLines = 0; + while (ctxChars < maxChars && startOffset > 0) { + startOffset--; + ctxChars++; + if (content[startOffset] == "\n") { + if (++ctxLines == maxLines) { + break; + } + } + } + ctxChars = 0; + ctxLines = 0; + while (ctxChars < maxChars && endOffset < content.length - 1) { + endOffset++; + ctxChars++; + if (content[endOffset] == "\n") { + if (++ctxLines == maxLines) { + break; + } + } + } + return { + before: content.substring(startOffset, this.offset), + after: content.substring(this.offset, endOffset + 1) + }; + } + return null; + } + }; + exports2.ParseLocation = ParseLocation; + var ParseSourceFile = class { + constructor(content, url) { + this.content = content; + this.url = url; + } + }; + exports2.ParseSourceFile = ParseSourceFile; + var ParseSourceSpan = class { + constructor(start, end, details = null) { + this.start = start; + this.end = end; + this.details = details; + } + toString() { + return this.start.file.content.substring(this.start.offset, this.end.offset); + } + }; + exports2.ParseSourceSpan = ParseSourceSpan; + exports2.EMPTY_PARSE_LOCATION = new ParseLocation(new ParseSourceFile("", ""), 0, 0, 0); + exports2.EMPTY_SOURCE_SPAN = new ParseSourceSpan(exports2.EMPTY_PARSE_LOCATION, exports2.EMPTY_PARSE_LOCATION); + var ParseErrorLevel; + (function(ParseErrorLevel2) { + ParseErrorLevel2[ParseErrorLevel2["WARNING"] = 0] = "WARNING"; + ParseErrorLevel2[ParseErrorLevel2["ERROR"] = 1] = "ERROR"; + })(ParseErrorLevel = exports2.ParseErrorLevel || (exports2.ParseErrorLevel = {})); + var ParseError = class { + constructor(span, msg, level = ParseErrorLevel.ERROR) { + this.span = span; + this.msg = msg; + this.level = level; + } + contextualMessage() { + const ctx = this.span.start.getContext(100, 3); + return ctx ? `${this.msg} ("${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}")` : this.msg; + } + toString() { + const details = this.span.details ? `, ${this.span.details}` : ""; + return `${this.contextualMessage()}: ${this.span.start}${details}`; + } + }; + exports2.ParseError = ParseError; + function typeSourceSpan(kind, type) { + const moduleUrl = compile_metadata_1.identifierModuleUrl(type); + const sourceFileName = moduleUrl != null ? `in ${kind} ${compile_metadata_1.identifierName(type)} in ${moduleUrl}` : `in ${kind} ${compile_metadata_1.identifierName(type)}`; + const sourceFile = new ParseSourceFile("", sourceFileName); + return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1)); + } + exports2.typeSourceSpan = typeSourceSpan; + function r3JitTypeSourceSpan(kind, typeName, sourceUrl) { + const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`; + const sourceFile = new ParseSourceFile("", sourceFileName); + return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1)); + } + exports2.r3JitTypeSourceSpan = r3JitTypeSourceSpan; + } +}); +var require_print_preprocess3 = __commonJS2({ + "src/language-html/print-preprocess.js"(exports2, module2) { + "use strict"; + var { + ParseSourceSpan + } = require_parse_util(); + var { + htmlTrim, + getLeadingAndTrailingHtmlWhitespace, + hasHtmlWhitespace, + canHaveInterpolation, + getNodeCssStyleDisplay, + isDanglingSpaceSensitiveNode, + isIndentationSensitiveNode, + isLeadingSpaceSensitiveNode, + isTrailingSpaceSensitiveNode, + isWhitespaceSensitiveNode, + isVueScriptTag + } = require_utils11(); + var PREPROCESS_PIPELINE = [removeIgnorableFirstLf, mergeIfConditionalStartEndCommentIntoElementOpeningTag, mergeCdataIntoText, extractInterpolation, extractWhitespaces, addCssDisplay, addIsSelfClosing, addHasHtmComponentClosingTag, addIsSpaceSensitive, mergeSimpleElementIntoText, markTsScript]; + function preprocess(ast, options) { + for (const fn of PREPROCESS_PIPELINE) { + fn(ast, options); + } + return ast; + } + function removeIgnorableFirstLf(ast) { + ast.walk((node) => { + if (node.type === "element" && node.tagDefinition.ignoreFirstLf && node.children.length > 0 && node.children[0].type === "text" && node.children[0].value[0] === "\n") { + const text = node.children[0]; + if (text.value.length === 1) { + node.removeChild(text); + } else { + text.value = text.value.slice(1); + } + } + }); + } + function mergeIfConditionalStartEndCommentIntoElementOpeningTag(ast) { + const isTarget = (node) => node.type === "element" && node.prev && node.prev.type === "ieConditionalStartComment" && node.prev.sourceSpan.end.offset === node.startSourceSpan.start.offset && node.firstChild && node.firstChild.type === "ieConditionalEndComment" && node.firstChild.sourceSpan.start.offset === node.startSourceSpan.end.offset; + ast.walk((node) => { + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (!isTarget(child)) { + continue; + } + const ieConditionalStartComment = child.prev; + const ieConditionalEndComment = child.firstChild; + node.removeChild(ieConditionalStartComment); + i--; + const startSourceSpan = new ParseSourceSpan(ieConditionalStartComment.sourceSpan.start, ieConditionalEndComment.sourceSpan.end); + const sourceSpan = new ParseSourceSpan(startSourceSpan.start, child.sourceSpan.end); + child.condition = ieConditionalStartComment.condition; + child.sourceSpan = sourceSpan; + child.startSourceSpan = startSourceSpan; + child.removeChild(ieConditionalEndComment); + } + } + }); + } + function mergeNodeIntoText(ast, shouldMerge, getValue) { + ast.walk((node) => { + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (child.type !== "text" && !shouldMerge(child)) { + continue; + } + if (child.type !== "text") { + child.type = "text"; + child.value = getValue(child); + } + const prevChild = child.prev; + if (!prevChild || prevChild.type !== "text") { + continue; + } + prevChild.value += child.value; + prevChild.sourceSpan = new ParseSourceSpan(prevChild.sourceSpan.start, child.sourceSpan.end); + node.removeChild(child); + i--; + } + } + }); + } + function mergeCdataIntoText(ast) { + return mergeNodeIntoText(ast, (node) => node.type === "cdata", (node) => ``); + } + function mergeSimpleElementIntoText(ast) { + const isSimpleElement = (node) => node.type === "element" && node.attrs.length === 0 && node.children.length === 1 && node.firstChild.type === "text" && !hasHtmlWhitespace(node.children[0].value) && !node.firstChild.hasLeadingSpaces && !node.firstChild.hasTrailingSpaces && node.isLeadingSpaceSensitive && !node.hasLeadingSpaces && node.isTrailingSpaceSensitive && !node.hasTrailingSpaces && node.prev && node.prev.type === "text" && node.next && node.next.type === "text"; + ast.walk((node) => { + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (!isSimpleElement(child)) { + continue; + } + const prevChild = child.prev; + const nextChild = child.next; + prevChild.value += `<${child.rawName}>` + child.firstChild.value + `` + nextChild.value; + prevChild.sourceSpan = new ParseSourceSpan(prevChild.sourceSpan.start, nextChild.sourceSpan.end); + prevChild.isTrailingSpaceSensitive = nextChild.isTrailingSpaceSensitive; + prevChild.hasTrailingSpaces = nextChild.hasTrailingSpaces; + node.removeChild(child); + i--; + node.removeChild(nextChild); + } + } + }); + } + function extractInterpolation(ast, options) { + if (options.parser === "html") { + return; + } + const interpolationRegex = /{{(.+?)}}/s; + ast.walk((node) => { + if (!canHaveInterpolation(node)) { + return; + } + for (const child of node.children) { + if (child.type !== "text") { + continue; + } + let startSourceSpan = child.sourceSpan.start; + let endSourceSpan = null; + const components = child.value.split(interpolationRegex); + for (let i = 0; i < components.length; i++, startSourceSpan = endSourceSpan) { + const value = components[i]; + if (i % 2 === 0) { + endSourceSpan = startSourceSpan.moveBy(value.length); + if (value.length > 0) { + node.insertChildBefore(child, { + type: "text", + value, + sourceSpan: new ParseSourceSpan(startSourceSpan, endSourceSpan) + }); + } + continue; + } + endSourceSpan = startSourceSpan.moveBy(value.length + 4); + node.insertChildBefore(child, { + type: "interpolation", + sourceSpan: new ParseSourceSpan(startSourceSpan, endSourceSpan), + children: value.length === 0 ? [] : [{ + type: "text", + value, + sourceSpan: new ParseSourceSpan(startSourceSpan.moveBy(2), endSourceSpan.moveBy(-2)) + }] + }); + } + node.removeChild(child); + } + }); + } + function extractWhitespaces(ast) { + ast.walk((node) => { + if (!node.children) { + return; + } + if (node.children.length === 0 || node.children.length === 1 && node.children[0].type === "text" && htmlTrim(node.children[0].value).length === 0) { + node.hasDanglingSpaces = node.children.length > 0; + node.children = []; + return; + } + const isWhitespaceSensitive = isWhitespaceSensitiveNode(node); + const isIndentationSensitive = isIndentationSensitiveNode(node); + if (!isWhitespaceSensitive) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if (child.type !== "text") { + continue; + } + const { + leadingWhitespace, + text, + trailingWhitespace + } = getLeadingAndTrailingHtmlWhitespace(child.value); + const prevChild = child.prev; + const nextChild = child.next; + if (!text) { + node.removeChild(child); + i--; + if (leadingWhitespace || trailingWhitespace) { + if (prevChild) { + prevChild.hasTrailingSpaces = true; + } + if (nextChild) { + nextChild.hasLeadingSpaces = true; + } + } + } else { + child.value = text; + child.sourceSpan = new ParseSourceSpan(child.sourceSpan.start.moveBy(leadingWhitespace.length), child.sourceSpan.end.moveBy(-trailingWhitespace.length)); + if (leadingWhitespace) { + if (prevChild) { + prevChild.hasTrailingSpaces = true; + } + child.hasLeadingSpaces = true; + } + if (trailingWhitespace) { + child.hasTrailingSpaces = true; + if (nextChild) { + nextChild.hasLeadingSpaces = true; + } + } + } + } + } + node.isWhitespaceSensitive = isWhitespaceSensitive; + node.isIndentationSensitive = isIndentationSensitive; + }); + } + function addIsSelfClosing(ast) { + ast.walk((node) => { + node.isSelfClosing = !node.children || node.type === "element" && (node.tagDefinition.isVoid || node.startSourceSpan === node.endSourceSpan); + }); + } + function addHasHtmComponentClosingTag(ast, options) { + ast.walk((node) => { + if (node.type !== "element") { + return; + } + node.hasHtmComponentClosingTag = node.endSourceSpan && /^<\s*\/\s*\/\s*>$/.test(options.originalText.slice(node.endSourceSpan.start.offset, node.endSourceSpan.end.offset)); + }); + } + function addCssDisplay(ast, options) { + ast.walk((node) => { + node.cssDisplay = getNodeCssStyleDisplay(node, options); + }); + } + function addIsSpaceSensitive(ast, options) { + ast.walk((node) => { + const { + children + } = node; + if (!children) { + return; + } + if (children.length === 0) { + node.isDanglingSpaceSensitive = isDanglingSpaceSensitiveNode(node); + return; + } + for (const child of children) { + child.isLeadingSpaceSensitive = isLeadingSpaceSensitiveNode(child, options); + child.isTrailingSpaceSensitive = isTrailingSpaceSensitiveNode(child, options); + } + for (let index = 0; index < children.length; index++) { + const child = children[index]; + child.isLeadingSpaceSensitive = index === 0 ? child.isLeadingSpaceSensitive : child.prev.isTrailingSpaceSensitive && child.isLeadingSpaceSensitive; + child.isTrailingSpaceSensitive = index === children.length - 1 ? child.isTrailingSpaceSensitive : child.next.isLeadingSpaceSensitive && child.isTrailingSpaceSensitive; + } + }); + } + function markTsScript(ast, options) { + if (options.parser === "vue") { + const vueScriptTag = ast.children.find((child) => isVueScriptTag(child, options)); + if (!vueScriptTag) { + return; + } + const { + lang + } = vueScriptTag.attrMap; + if (lang === "ts" || lang === "typescript") { + options.__should_parse_vue_template_with_ts = true; + } + } + } + module2.exports = preprocess; + } +}); +var require_pragma5 = __commonJS2({ + "src/language-html/pragma.js"(exports2, module2) { + "use strict"; + function hasPragma(text) { + return /^\s*/.test(text); + } + function insertPragma(text) { + return "\n\n" + text.replace(/^\s*\n/, ""); + } + module2.exports = { + hasPragma, + insertPragma + }; + } +}); +var require_loc6 = __commonJS2({ + "src/language-html/loc.js"(exports2, module2) { + "use strict"; + function locStart(node) { + return node.sourceSpan.start.offset; + } + function locEnd(node) { + return node.sourceSpan.end.offset; + } + module2.exports = { + locStart, + locEnd + }; + } +}); +var require_tag = __commonJS2({ + "src/language-html/print/tag.js"(exports2, module2) { + "use strict"; + var assert = __webpack_require__(42613); + var { + isNonEmptyArray + } = require_util(); + var { + builders: { + indent, + join, + line, + softline, + hardline + }, + utils: { + replaceTextEndOfLine + } + } = __webpack_require__(36327); + var { + locStart, + locEnd + } = require_loc6(); + var { + isTextLikeNode, + getLastDescendant, + isPreLikeNode, + hasPrettierIgnore, + shouldPreserveContent, + isVueSfcBlock + } = require_utils11(); + function printClosingTag(node, options) { + return [node.isSelfClosing ? "" : printClosingTagStart(node, options), printClosingTagEnd(node, options)]; + } + function printClosingTagStart(node, options) { + return node.lastChild && needsToBorrowParentClosingTagStartMarker(node.lastChild) ? "" : [printClosingTagPrefix(node, options), printClosingTagStartMarker(node, options)]; + } + function printClosingTagEnd(node, options) { + return (node.next ? needsToBorrowPrevClosingTagEndMarker(node.next) : needsToBorrowLastChildClosingTagEndMarker(node.parent)) ? "" : [printClosingTagEndMarker(node, options), printClosingTagSuffix(node, options)]; + } + function printClosingTagPrefix(node, options) { + return needsToBorrowLastChildClosingTagEndMarker(node) ? printClosingTagEndMarker(node.lastChild, options) : ""; + } + function printClosingTagSuffix(node, options) { + return needsToBorrowParentClosingTagStartMarker(node) ? printClosingTagStartMarker(node.parent, options) : needsToBorrowNextOpeningTagStartMarker(node) ? printOpeningTagStartMarker(node.next) : ""; + } + function printClosingTagStartMarker(node, options) { + assert(!node.isSelfClosing); + if (shouldNotPrintClosingTag(node, options)) { + return ""; + } + switch (node.type) { + case "ieConditionalComment": + return ""; + case "ieConditionalStartComment": + return "]>"; + case "interpolation": + return "}}"; + case "element": + if (node.isSelfClosing) { + return "/>"; + } + default: + return ">"; + } + } + function shouldNotPrintClosingTag(node, options) { + return !node.isSelfClosing && !node.endSourceSpan && (hasPrettierIgnore(node) || shouldPreserveContent(node.parent, options)); + } + function needsToBorrowPrevClosingTagEndMarker(node) { + return node.prev && node.prev.type !== "docType" && !isTextLikeNode(node.prev) && node.isLeadingSpaceSensitive && !node.hasLeadingSpaces; + } + function needsToBorrowLastChildClosingTagEndMarker(node) { + return node.lastChild && node.lastChild.isTrailingSpaceSensitive && !node.lastChild.hasTrailingSpaces && !isTextLikeNode(getLastDescendant(node.lastChild)) && !isPreLikeNode(node); + } + function needsToBorrowParentClosingTagStartMarker(node) { + return !node.next && !node.hasTrailingSpaces && node.isTrailingSpaceSensitive && isTextLikeNode(getLastDescendant(node)); + } + function needsToBorrowNextOpeningTagStartMarker(node) { + return node.next && !isTextLikeNode(node.next) && isTextLikeNode(node) && node.isTrailingSpaceSensitive && !node.hasTrailingSpaces; + } + function getPrettierIgnoreAttributeCommentData(value) { + const match = value.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s); + if (!match) { + return false; + } + if (!match[1]) { + return true; + } + return match[1].split(/\s+/); + } + function needsToBorrowParentOpeningTagEndMarker(node) { + return !node.prev && node.isLeadingSpaceSensitive && !node.hasLeadingSpaces; + } + function printAttributes(path, options, print) { + const node = path.getValue(); + if (!isNonEmptyArray(node.attrs)) { + return node.isSelfClosing ? " " : ""; + } + const ignoreAttributeData = node.prev && node.prev.type === "comment" && getPrettierIgnoreAttributeCommentData(node.prev.value); + const hasPrettierIgnoreAttribute = typeof ignoreAttributeData === "boolean" ? () => ignoreAttributeData : Array.isArray(ignoreAttributeData) ? (attribute) => ignoreAttributeData.includes(attribute.rawName) : () => false; + const printedAttributes = path.map((attributePath) => { + const attribute = attributePath.getValue(); + return hasPrettierIgnoreAttribute(attribute) ? replaceTextEndOfLine(options.originalText.slice(locStart(attribute), locEnd(attribute))) : print(); + }, "attrs"); + const forceNotToBreakAttrContent = node.type === "element" && node.fullName === "script" && node.attrs.length === 1 && node.attrs[0].fullName === "src" && node.children.length === 0; + const shouldPrintAttributePerLine = options.singleAttributePerLine && node.attrs.length > 1 && !isVueSfcBlock(node, options); + const attributeLine = shouldPrintAttributePerLine ? hardline : line; + const parts = [indent([forceNotToBreakAttrContent ? " " : line, join(attributeLine, printedAttributes)])]; + if (node.firstChild && needsToBorrowParentOpeningTagEndMarker(node.firstChild) || node.isSelfClosing && needsToBorrowLastChildClosingTagEndMarker(node.parent) || forceNotToBreakAttrContent) { + parts.push(node.isSelfClosing ? " " : ""); + } else { + parts.push(options.bracketSameLine ? node.isSelfClosing ? " " : "" : node.isSelfClosing ? line : softline); + } + return parts; + } + function printOpeningTagEnd(node) { + return node.firstChild && needsToBorrowParentOpeningTagEndMarker(node.firstChild) ? "" : printOpeningTagEndMarker(node); + } + function printOpeningTag(path, options, print) { + const node = path.getValue(); + return [printOpeningTagStart(node, options), printAttributes(path, options, print), node.isSelfClosing ? "" : printOpeningTagEnd(node)]; + } + function printOpeningTagStart(node, options) { + return node.prev && needsToBorrowNextOpeningTagStartMarker(node.prev) ? "" : [printOpeningTagPrefix(node, options), printOpeningTagStartMarker(node)]; + } + function printOpeningTagPrefix(node, options) { + return needsToBorrowParentOpeningTagEndMarker(node) ? printOpeningTagEndMarker(node.parent) : needsToBorrowPrevClosingTagEndMarker(node) ? printClosingTagEndMarker(node.prev, options) : ""; + } + function printOpeningTagStartMarker(node) { + switch (node.type) { + case "ieConditionalComment": + case "ieConditionalStartComment": + return `<${node.rawName}`; + } + default: + return `<${node.rawName}`; + } + } + function printOpeningTagEndMarker(node) { + assert(!node.isSelfClosing); + switch (node.type) { + case "ieConditionalComment": + return "]>"; + case "element": + if (node.condition) { + return ">"; + } + default: + return ">"; + } + } + module2.exports = { + printClosingTag, + printClosingTagStart, + printClosingTagStartMarker, + printClosingTagEndMarker, + printClosingTagSuffix, + printClosingTagEnd, + needsToBorrowLastChildClosingTagEndMarker, + needsToBorrowParentClosingTagStartMarker, + needsToBorrowPrevClosingTagEndMarker, + printOpeningTag, + printOpeningTagStart, + printOpeningTagPrefix, + printOpeningTagStartMarker, + printOpeningTagEndMarker, + needsToBorrowNextOpeningTagStartMarker, + needsToBorrowParentOpeningTagEndMarker + }; + } +}); +var require_parse_srcset = __commonJS2({ + "node_modules/parse-srcset/src/parse-srcset.js"(exports2, module2) { + (function(root, factory) { + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else // removed by dead control flow +{} + })(exports2, function() { + return function(input, options) { + var logger = options && options.logger || console; + function isSpace(c2) { + return c2 === " " || c2 === " " || c2 === "\n" || c2 === "\f" || c2 === "\r"; + } + function collectCharacters(regEx) { + var chars, match = regEx.exec(input.substring(pos)); + if (match) { + chars = match[0]; + pos += chars.length; + return chars; + } + } + var inputLength = input.length, regexLeadingSpaces = /^[ \t\n\r\u000c]+/, regexLeadingCommasOrSpaces = /^[, \t\n\r\u000c]+/, regexLeadingNotSpaces = /^[^ \t\n\r\u000c]+/, regexTrailingCommas = /[,]+$/, regexNonNegativeInteger = /^\d+$/, regexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/, url, descriptors, currentDescriptor, state, c, pos = 0, candidates = []; + while (true) { + collectCharacters(regexLeadingCommasOrSpaces); + if (pos >= inputLength) { + return candidates; + } + url = collectCharacters(regexLeadingNotSpaces); + descriptors = []; + if (url.slice(-1) === ",") { + url = url.replace(regexTrailingCommas, ""); + parseDescriptors(); + } else { + tokenize(); + } + } + function tokenize() { + collectCharacters(regexLeadingSpaces); + currentDescriptor = ""; + state = "in descriptor"; + while (true) { + c = input.charAt(pos); + if (state === "in descriptor") { + if (isSpace(c)) { + if (currentDescriptor) { + descriptors.push(currentDescriptor); + currentDescriptor = ""; + state = "after descriptor"; + } + } else if (c === ",") { + pos += 1; + if (currentDescriptor) { + descriptors.push(currentDescriptor); + } + parseDescriptors(); + return; + } else if (c === "(") { + currentDescriptor = currentDescriptor + c; + state = "in parens"; + } else if (c === "") { + if (currentDescriptor) { + descriptors.push(currentDescriptor); + } + parseDescriptors(); + return; + } else { + currentDescriptor = currentDescriptor + c; + } + } else if (state === "in parens") { + if (c === ")") { + currentDescriptor = currentDescriptor + c; + state = "in descriptor"; + } else if (c === "") { + descriptors.push(currentDescriptor); + parseDescriptors(); + return; + } else { + currentDescriptor = currentDescriptor + c; + } + } else if (state === "after descriptor") { + if (isSpace(c)) { + } else if (c === "") { + parseDescriptors(); + return; + } else { + state = "in descriptor"; + pos -= 1; + } + } + pos += 1; + } + } + function parseDescriptors() { + var pError = false, w, d, h, i, candidate = {}, desc, lastChar, value, intVal, floatVal; + for (i = 0; i < descriptors.length; i++) { + desc = descriptors[i]; + lastChar = desc[desc.length - 1]; + value = desc.substring(0, desc.length - 1); + intVal = parseInt(value, 10); + floatVal = parseFloat(value); + if (regexNonNegativeInteger.test(value) && lastChar === "w") { + if (w || d) { + pError = true; + } + if (intVal === 0) { + pError = true; + } else { + w = intVal; + } + } else if (regexFloatingPoint.test(value) && lastChar === "x") { + if (w || d || h) { + pError = true; + } + if (floatVal < 0) { + pError = true; + } else { + d = floatVal; + } + } else if (regexNonNegativeInteger.test(value) && lastChar === "h") { + if (h || d) { + pError = true; + } + if (intVal === 0) { + pError = true; + } else { + h = intVal; + } + } else { + pError = true; + } + } + if (!pError) { + candidate.url = url; + if (w) { + candidate.w = w; + } + if (d) { + candidate.d = d; + } + if (h) { + candidate.h = h; + } + candidates.push(candidate); + } else if (logger && logger.error) { + logger.error("Invalid srcset descriptor found in '" + input + "' at '" + desc + "'."); + } + } + }; + }); + } +}); +var require_syntax_attribute = __commonJS2({ + "src/language-html/syntax-attribute.js"(exports2, module2) { + "use strict"; + var parseSrcset = require_parse_srcset(); + var { + builders: { + ifBreak, + join, + line + } + } = __webpack_require__(36327); + function printImgSrcset(value) { + const srcset = parseSrcset(value, { + logger: { + error(message) { + throw new Error(message); + } + } + }); + const hasW = srcset.some(({ + w + }) => w); + const hasH = srcset.some(({ + h + }) => h); + const hasX = srcset.some(({ + d + }) => d); + if (hasW + hasH + hasX > 1) { + throw new Error("Mixed descriptor in srcset is not supported"); + } + const key = hasW ? "w" : hasH ? "h" : "d"; + const unit = hasW ? "w" : hasH ? "h" : "x"; + const getMax = (values) => Math.max(...values); + const urls = srcset.map((src) => src.url); + const maxUrlLength = getMax(urls.map((url) => url.length)); + const descriptors = srcset.map((src) => src[key]).map((descriptor) => descriptor ? descriptor.toString() : ""); + const descriptorLeftLengths = descriptors.map((descriptor) => { + const index = descriptor.indexOf("."); + return index === -1 ? descriptor.length : index; + }); + const maxDescriptorLeftLength = getMax(descriptorLeftLengths); + return join([",", line], urls.map((url, index) => { + const parts = [url]; + const descriptor = descriptors[index]; + if (descriptor) { + const urlPadding = maxUrlLength - url.length + 1; + const descriptorPadding = maxDescriptorLeftLength - descriptorLeftLengths[index]; + const alignment = " ".repeat(urlPadding + descriptorPadding); + parts.push(ifBreak(alignment, " "), descriptor + unit); + } + return parts; + })); + } + function printClassNames(value) { + return value.trim().split(/\s+/).join(" "); + } + module2.exports = { + printImgSrcset, + printClassNames + }; + } +}); +var require_syntax_vue = __commonJS2({ + "src/language-html/syntax-vue.js"(exports2, module2) { + "use strict"; + var { + builders: { + group + } + } = __webpack_require__(36327); + function printVueFor(value, textToDoc) { + const { + left, + operator, + right + } = parseVueFor(value); + return [group(textToDoc(`function _(${left}) {}`, { + parser: "babel", + __isVueForBindingLeft: true + })), " ", operator, " ", textToDoc(right, { + parser: "__js_expression" + }, { + stripTrailingHardline: true + })]; + } + function parseVueFor(value) { + const forAliasRE = /(.*?)\s+(in|of)\s+(.*)/s; + const forIteratorRE = /,([^,\]}]*)(?:,([^,\]}]*))?$/; + const stripParensRE = /^\(|\)$/g; + const inMatch = value.match(forAliasRE); + if (!inMatch) { + return; + } + const res = {}; + res.for = inMatch[3].trim(); + if (!res.for) { + return; + } + const alias = inMatch[1].trim().replace(stripParensRE, ""); + const iteratorMatch = alias.match(forIteratorRE); + if (iteratorMatch) { + res.alias = alias.replace(forIteratorRE, ""); + res.iterator1 = iteratorMatch[1].trim(); + if (iteratorMatch[2]) { + res.iterator2 = iteratorMatch[2].trim(); + } + } else { + res.alias = alias; + } + const left = [res.alias, res.iterator1, res.iterator2]; + if (left.some((part, index) => !part && (index === 0 || left.slice(index + 1).some(Boolean)))) { + return; + } + return { + left: left.filter(Boolean).join(","), + operator: inMatch[2], + right: res.for + }; + } + function printVueBindings(value, textToDoc) { + return textToDoc(`function _(${value}) {}`, { + parser: "babel", + __isVueBindings: true + }); + } + function isVueEventBindingExpression(eventBindingValue) { + const fnExpRE = /^(?:[\w$]+|\([^)]*\))\s*=>|^function\s*\(/; + const simplePathRE = /^[$A-Z_a-z][\w$]*(?:\.[$A-Z_a-z][\w$]*|\['[^']*']|\["[^"]*"]|\[\d+]|\[[$A-Z_a-z][\w$]*])*$/; + const value = eventBindingValue.trim(); + return fnExpRE.test(value) || simplePathRE.test(value); + } + module2.exports = { + isVueEventBindingExpression, + printVueFor, + printVueBindings + }; + } +}); +var require_get_node_content = __commonJS2({ + "src/language-html/get-node-content.js"(exports2, module2) { + "use strict"; + var { + needsToBorrowParentClosingTagStartMarker, + printClosingTagStartMarker, + needsToBorrowLastChildClosingTagEndMarker, + printClosingTagEndMarker, + needsToBorrowParentOpeningTagEndMarker, + printOpeningTagEndMarker + } = require_tag(); + function getNodeContent(node, options) { + let start = node.startSourceSpan.end.offset; + if (node.firstChild && needsToBorrowParentOpeningTagEndMarker(node.firstChild)) { + start -= printOpeningTagEndMarker(node).length; + } + let end = node.endSourceSpan.start.offset; + if (node.lastChild && needsToBorrowParentClosingTagStartMarker(node.lastChild)) { + end += printClosingTagStartMarker(node, options).length; + } else if (needsToBorrowLastChildClosingTagEndMarker(node)) { + end -= printClosingTagEndMarker(node.lastChild, options).length; + } + return options.originalText.slice(start, end); + } + module2.exports = getNodeContent; + } +}); +var require_embed4 = __commonJS2({ + "src/language-html/embed.js"(exports2, module2) { + "use strict"; + var { + builders: { + breakParent, + group, + hardline, + indent, + line, + fill, + softline + }, + utils: { + mapDoc, + replaceTextEndOfLine + } + } = __webpack_require__(36327); + var printFrontMatter = require_print(); + var { + printClosingTag, + printClosingTagSuffix, + needsToBorrowPrevClosingTagEndMarker, + printOpeningTagPrefix, + printOpeningTag + } = require_tag(); + var { + printImgSrcset, + printClassNames + } = require_syntax_attribute(); + var { + printVueFor, + printVueBindings, + isVueEventBindingExpression + } = require_syntax_vue(); + var { + isScriptLikeTag, + isVueNonHtmlBlock, + inferScriptParser, + htmlTrimPreserveIndentation, + dedentString, + unescapeQuoteEntities, + isVueSlotAttribute, + isVueSfcBindingsAttribute, + getTextValueParts + } = require_utils11(); + var getNodeContent = require_get_node_content(); + function printEmbeddedAttributeValue(node, htmlTextToDoc, options) { + const isKeyMatched = (patterns) => new RegExp(patterns.join("|")).test(node.fullName); + const getValue = () => unescapeQuoteEntities(node.value); + let shouldHug = false; + const __onHtmlBindingRoot = (root, options2) => { + const rootNode = root.type === "NGRoot" ? root.node.type === "NGMicrosyntax" && root.node.body.length === 1 && root.node.body[0].type === "NGMicrosyntaxExpression" ? root.node.body[0].expression : root.node : root.type === "JsExpressionRoot" ? root.node : root; + if (rootNode && (rootNode.type === "ObjectExpression" || rootNode.type === "ArrayExpression" || options2.parser === "__vue_expression" && (rootNode.type === "TemplateLiteral" || rootNode.type === "StringLiteral"))) { + shouldHug = true; + } + }; + const printHug = (doc2) => group(doc2); + const printExpand = (doc2, canHaveTrailingWhitespace = true) => group([indent([softline, doc2]), canHaveTrailingWhitespace ? softline : ""]); + const printMaybeHug = (doc2) => shouldHug ? printHug(doc2) : printExpand(doc2); + const attributeTextToDoc = (code, opts) => htmlTextToDoc(code, Object.assign({ + __onHtmlBindingRoot, + __embeddedInHtml: true + }, opts)); + if (node.fullName === "srcset" && (node.parent.fullName === "img" || node.parent.fullName === "source")) { + return printExpand(printImgSrcset(getValue())); + } + if (node.fullName === "class" && !options.parentParser) { + const value = getValue(); + if (!value.includes("{{")) { + return printClassNames(value); + } + } + if (node.fullName === "style" && !options.parentParser) { + const value = getValue(); + if (!value.includes("{{")) { + return printExpand(attributeTextToDoc(value, { + parser: "css", + __isHTMLStyleAttribute: true + })); + } + } + if (options.parser === "vue") { + if (node.fullName === "v-for") { + return printVueFor(getValue(), attributeTextToDoc); + } + if (isVueSlotAttribute(node) || isVueSfcBindingsAttribute(node, options)) { + return printVueBindings(getValue(), attributeTextToDoc); + } + const vueEventBindingPatterns = ["^@", "^v-on:"]; + const vueExpressionBindingPatterns = ["^:", "^v-bind:"]; + const jsExpressionBindingPatterns = ["^v-"]; + if (isKeyMatched(vueEventBindingPatterns)) { + const value = getValue(); + const parser = isVueEventBindingExpression(value) ? "__js_expression" : options.__should_parse_vue_template_with_ts ? "__vue_ts_event_binding" : "__vue_event_binding"; + return printMaybeHug(attributeTextToDoc(value, { + parser + })); + } + if (isKeyMatched(vueExpressionBindingPatterns)) { + return printMaybeHug(attributeTextToDoc(getValue(), { + parser: "__vue_expression" + })); + } + if (isKeyMatched(jsExpressionBindingPatterns)) { + return printMaybeHug(attributeTextToDoc(getValue(), { + parser: "__js_expression" + })); + } + } + if (options.parser === "angular") { + const ngTextToDoc = (code, opts) => attributeTextToDoc(code, Object.assign(Object.assign({}, opts), {}, { + trailingComma: "none" + })); + const ngDirectiveBindingPatterns = ["^\\*"]; + const ngStatementBindingPatterns = ["^\\(.+\\)$", "^on-"]; + const ngExpressionBindingPatterns = ["^\\[.+\\]$", "^bind(on)?-", "^ng-(if|show|hide|class|style)$"]; + const ngI18nPatterns = ["^i18n(-.+)?$"]; + if (isKeyMatched(ngStatementBindingPatterns)) { + return printMaybeHug(ngTextToDoc(getValue(), { + parser: "__ng_action" + })); + } + if (isKeyMatched(ngExpressionBindingPatterns)) { + return printMaybeHug(ngTextToDoc(getValue(), { + parser: "__ng_binding" + })); + } + if (isKeyMatched(ngI18nPatterns)) { + const value2 = getValue().trim(); + return printExpand(fill(getTextValueParts(node, value2)), !value2.includes("@@")); + } + if (isKeyMatched(ngDirectiveBindingPatterns)) { + return printMaybeHug(ngTextToDoc(getValue(), { + parser: "__ng_directive" + })); + } + const interpolationRegex = /{{(.+?)}}/s; + const value = getValue(); + if (interpolationRegex.test(value)) { + const parts = []; + for (const [index, part] of value.split(interpolationRegex).entries()) { + if (index % 2 === 0) { + parts.push(replaceTextEndOfLine(part)); + } else { + try { + parts.push(group(["{{", indent([line, ngTextToDoc(part, { + parser: "__ng_interpolation", + __isInHtmlInterpolation: true + })]), line, "}}"])); + } catch { + parts.push("{{", replaceTextEndOfLine(part), "}}"); + } + } + } + return group(parts); + } + } + return null; + } + function embed(path, print, textToDoc, options) { + const node = path.getValue(); + switch (node.type) { + case "element": { + if (isScriptLikeTag(node) || node.type === "interpolation") { + return; + } + if (!node.isSelfClosing && isVueNonHtmlBlock(node, options)) { + const parser = inferScriptParser(node, options); + if (!parser) { + return; + } + const content = getNodeContent(node, options); + let isEmpty = /^\s*$/.test(content); + let doc2 = ""; + if (!isEmpty) { + doc2 = textToDoc(htmlTrimPreserveIndentation(content), { + parser, + __embeddedInHtml: true + }, { + stripTrailingHardline: true + }); + isEmpty = doc2 === ""; + } + return [printOpeningTagPrefix(node, options), group(printOpeningTag(path, options, print)), isEmpty ? "" : hardline, doc2, isEmpty ? "" : hardline, printClosingTag(node, options), printClosingTagSuffix(node, options)]; + } + break; + } + case "text": { + if (isScriptLikeTag(node.parent)) { + const parser = inferScriptParser(node.parent, options); + if (parser) { + const value = parser === "markdown" ? dedentString(node.value.replace(/^[^\S\n]*\n/, "")) : node.value; + const textToDocOptions = { + parser, + __embeddedInHtml: true + }; + if (options.parser === "html" && parser === "babel") { + let sourceType = "script"; + const { + attrMap + } = node.parent; + if (attrMap && (attrMap.type === "module" || attrMap.type === "text/babel" && attrMap["data-type"] === "module")) { + sourceType = "module"; + } + textToDocOptions.__babelSourceType = sourceType; + } + return [breakParent, printOpeningTagPrefix(node, options), textToDoc(value, textToDocOptions, { + stripTrailingHardline: true + }), printClosingTagSuffix(node, options)]; + } + } else if (node.parent.type === "interpolation") { + const textToDocOptions = { + __isInHtmlInterpolation: true, + __embeddedInHtml: true + }; + if (options.parser === "angular") { + textToDocOptions.parser = "__ng_interpolation"; + textToDocOptions.trailingComma = "none"; + } else if (options.parser === "vue") { + textToDocOptions.parser = options.__should_parse_vue_template_with_ts ? "__vue_ts_expression" : "__vue_expression"; + } else { + textToDocOptions.parser = "__js_expression"; + } + return [indent([line, textToDoc(node.value, textToDocOptions, { + stripTrailingHardline: true + })]), node.parent.next && needsToBorrowPrevClosingTagEndMarker(node.parent.next) ? " " : line]; + } + break; + } + case "attribute": { + if (!node.value) { + break; + } + if (/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(options.originalText.slice(node.valueSpan.start.offset, node.valueSpan.end.offset))) { + return [node.rawName, "=", node.value]; + } + if (options.parser === "lwc") { + const interpolationRegex = /^{.*}$/s; + if (interpolationRegex.test(options.originalText.slice(node.valueSpan.start.offset, node.valueSpan.end.offset))) { + return [node.rawName, "=", node.value]; + } + } + const embeddedAttributeValueDoc = printEmbeddedAttributeValue(node, (code, opts) => textToDoc(code, Object.assign({ + __isInHtmlAttribute: true, + __embeddedInHtml: true + }, opts), { + stripTrailingHardline: true + }), options); + if (embeddedAttributeValueDoc) { + return [node.rawName, '="', group(mapDoc(embeddedAttributeValueDoc, (doc2) => typeof doc2 === "string" ? doc2.replace(/"/g, """) : doc2)), '"']; + } + break; + } + case "front-matter": + return printFrontMatter(node, textToDoc); + } + } + module2.exports = embed; + } +}); +var require_children = __commonJS2({ + "src/language-html/print/children.js"(exports2, module2) { + "use strict"; + var { + builders: { + breakParent, + group, + ifBreak, + line, + softline, + hardline + }, + utils: { + replaceTextEndOfLine + } + } = __webpack_require__(36327); + var { + locStart, + locEnd + } = require_loc6(); + var { + forceBreakChildren, + forceNextEmptyLine, + isTextLikeNode, + hasPrettierIgnore, + preferHardlineAsLeadingSpaces + } = require_utils11(); + var { + printOpeningTagPrefix, + needsToBorrowNextOpeningTagStartMarker, + printOpeningTagStartMarker, + needsToBorrowPrevClosingTagEndMarker, + printClosingTagEndMarker, + printClosingTagSuffix, + needsToBorrowParentClosingTagStartMarker + } = require_tag(); + function printChild(childPath, options, print) { + const child = childPath.getValue(); + if (hasPrettierIgnore(child)) { + return [printOpeningTagPrefix(child, options), ...replaceTextEndOfLine(options.originalText.slice(locStart(child) + (child.prev && needsToBorrowNextOpeningTagStartMarker(child.prev) ? printOpeningTagStartMarker(child).length : 0), locEnd(child) - (child.next && needsToBorrowPrevClosingTagEndMarker(child.next) ? printClosingTagEndMarker(child, options).length : 0))), printClosingTagSuffix(child, options)]; + } + return print(); + } + function printBetweenLine(prevNode, nextNode) { + return isTextLikeNode(prevNode) && isTextLikeNode(nextNode) ? prevNode.isTrailingSpaceSensitive ? prevNode.hasTrailingSpaces ? preferHardlineAsLeadingSpaces(nextNode) ? hardline : line : "" : preferHardlineAsLeadingSpaces(nextNode) ? hardline : softline : needsToBorrowNextOpeningTagStartMarker(prevNode) && (hasPrettierIgnore(nextNode) || nextNode.firstChild || nextNode.isSelfClosing || nextNode.type === "element" && nextNode.attrs.length > 0) || prevNode.type === "element" && prevNode.isSelfClosing && needsToBorrowPrevClosingTagEndMarker(nextNode) ? "" : !nextNode.isLeadingSpaceSensitive || preferHardlineAsLeadingSpaces(nextNode) || needsToBorrowPrevClosingTagEndMarker(nextNode) && prevNode.lastChild && needsToBorrowParentClosingTagStartMarker(prevNode.lastChild) && prevNode.lastChild.lastChild && needsToBorrowParentClosingTagStartMarker(prevNode.lastChild.lastChild) ? hardline : nextNode.hasLeadingSpaces ? line : softline; + } + function printChildren(path, options, print) { + const node = path.getValue(); + if (forceBreakChildren(node)) { + return [breakParent, ...path.map((childPath) => { + const childNode = childPath.getValue(); + const prevBetweenLine = !childNode.prev ? "" : printBetweenLine(childNode.prev, childNode); + return [!prevBetweenLine ? "" : [prevBetweenLine, forceNextEmptyLine(childNode.prev) ? hardline : ""], printChild(childPath, options, print)]; + }, "children")]; + } + const groupIds = node.children.map(() => Symbol("")); + return path.map((childPath, childIndex) => { + const childNode = childPath.getValue(); + if (isTextLikeNode(childNode)) { + if (childNode.prev && isTextLikeNode(childNode.prev)) { + const prevBetweenLine2 = printBetweenLine(childNode.prev, childNode); + if (prevBetweenLine2) { + if (forceNextEmptyLine(childNode.prev)) { + return [hardline, hardline, printChild(childPath, options, print)]; + } + return [prevBetweenLine2, printChild(childPath, options, print)]; + } + } + return printChild(childPath, options, print); + } + const prevParts = []; + const leadingParts = []; + const trailingParts = []; + const nextParts = []; + const prevBetweenLine = childNode.prev ? printBetweenLine(childNode.prev, childNode) : ""; + const nextBetweenLine = childNode.next ? printBetweenLine(childNode, childNode.next) : ""; + if (prevBetweenLine) { + if (forceNextEmptyLine(childNode.prev)) { + prevParts.push(hardline, hardline); + } else if (prevBetweenLine === hardline) { + prevParts.push(hardline); + } else { + if (isTextLikeNode(childNode.prev)) { + leadingParts.push(prevBetweenLine); + } else { + leadingParts.push(ifBreak("", softline, { + groupId: groupIds[childIndex - 1] + })); + } + } + } + if (nextBetweenLine) { + if (forceNextEmptyLine(childNode)) { + if (isTextLikeNode(childNode.next)) { + nextParts.push(hardline, hardline); + } + } else if (nextBetweenLine === hardline) { + if (isTextLikeNode(childNode.next)) { + nextParts.push(hardline); + } + } else { + trailingParts.push(nextBetweenLine); + } + } + return [...prevParts, group([...leadingParts, group([printChild(childPath, options, print), ...trailingParts], { + id: groupIds[childIndex] + })]), ...nextParts]; + }, "children"); + } + module2.exports = { + printChildren + }; + } +}); +var require_element = __commonJS2({ + "src/language-html/print/element.js"(exports2, module2) { + "use strict"; + var { + builders: { + breakParent, + dedentToRoot, + group, + ifBreak, + indentIfBreak, + indent, + line, + softline + }, + utils: { + replaceTextEndOfLine + } + } = __webpack_require__(36327); + var getNodeContent = require_get_node_content(); + var { + shouldPreserveContent, + isScriptLikeTag, + isVueCustomBlock, + countParents, + forceBreakContent + } = require_utils11(); + var { + printOpeningTagPrefix, + printOpeningTag, + printClosingTagSuffix, + printClosingTag, + needsToBorrowPrevClosingTagEndMarker, + needsToBorrowLastChildClosingTagEndMarker + } = require_tag(); + var { + printChildren + } = require_children(); + function printElement(path, options, print) { + const node = path.getValue(); + if (shouldPreserveContent(node, options)) { + return [printOpeningTagPrefix(node, options), group(printOpeningTag(path, options, print)), ...replaceTextEndOfLine(getNodeContent(node, options)), ...printClosingTag(node, options), printClosingTagSuffix(node, options)]; + } + const shouldHugContent = node.children.length === 1 && node.firstChild.type === "interpolation" && node.firstChild.isLeadingSpaceSensitive && !node.firstChild.hasLeadingSpaces && node.lastChild.isTrailingSpaceSensitive && !node.lastChild.hasTrailingSpaces; + const attrGroupId = Symbol("element-attr-group-id"); + const printTag = (doc2) => group([group(printOpeningTag(path, options, print), { + id: attrGroupId + }), doc2, printClosingTag(node, options)]); + const printChildrenDoc = (childrenDoc) => { + if (shouldHugContent) { + return indentIfBreak(childrenDoc, { + groupId: attrGroupId + }); + } + if ((isScriptLikeTag(node) || isVueCustomBlock(node, options)) && node.parent.type === "root" && options.parser === "vue" && !options.vueIndentScriptAndStyle) { + return childrenDoc; + } + return indent(childrenDoc); + }; + const printLineBeforeChildren = () => { + if (shouldHugContent) { + return ifBreak(softline, "", { + groupId: attrGroupId + }); + } + if (node.firstChild.hasLeadingSpaces && node.firstChild.isLeadingSpaceSensitive) { + return line; + } + if (node.firstChild.type === "text" && node.isWhitespaceSensitive && node.isIndentationSensitive) { + return dedentToRoot(softline); + } + return softline; + }; + const printLineAfterChildren = () => { + const needsToBorrow = node.next ? needsToBorrowPrevClosingTagEndMarker(node.next) : needsToBorrowLastChildClosingTagEndMarker(node.parent); + if (needsToBorrow) { + if (node.lastChild.hasTrailingSpaces && node.lastChild.isTrailingSpaceSensitive) { + return " "; + } + return ""; + } + if (shouldHugContent) { + return ifBreak(softline, "", { + groupId: attrGroupId + }); + } + if (node.lastChild.hasTrailingSpaces && node.lastChild.isTrailingSpaceSensitive) { + return line; + } + if ((node.lastChild.type === "comment" || node.lastChild.type === "text" && node.isWhitespaceSensitive && node.isIndentationSensitive) && new RegExp(`\\n[\\t ]{${options.tabWidth * countParents(path, (node2) => node2.parent && node2.parent.type !== "root")}}$`).test(node.lastChild.value)) { + return ""; + } + return softline; + }; + if (node.children.length === 0) { + return printTag(node.hasDanglingSpaces && node.isDanglingSpaceSensitive ? line : ""); + } + return printTag([forceBreakContent(node) ? breakParent : "", printChildrenDoc([printLineBeforeChildren(), printChildren(path, options, print)]), printLineAfterChildren()]); + } + module2.exports = { + printElement + }; + } +}); +var require_printer_html = __commonJS2({ + "src/language-html/printer-html.js"(exports2, module2) { + "use strict"; + var { + builders: { + fill, + group, + hardline, + literalline + }, + utils: { + cleanDoc, + getDocParts, + isConcat, + replaceTextEndOfLine + } + } = __webpack_require__(36327); + var clean = require_clean5(); + var { + countChars, + unescapeQuoteEntities, + getTextValueParts + } = require_utils11(); + var preprocess = require_print_preprocess3(); + var { + insertPragma + } = require_pragma5(); + var { + locStart, + locEnd + } = require_loc6(); + var embed = require_embed4(); + var { + printClosingTagSuffix, + printClosingTagEnd, + printOpeningTagPrefix, + printOpeningTagStart + } = require_tag(); + var { + printElement + } = require_element(); + var { + printChildren + } = require_children(); + function genericPrint(path, options, print) { + const node = path.getValue(); + switch (node.type) { + case "front-matter": + return replaceTextEndOfLine(node.raw); + case "root": + if (options.__onHtmlRoot) { + options.__onHtmlRoot(node); + } + return [group(printChildren(path, options, print)), hardline]; + case "element": + case "ieConditionalComment": { + return printElement(path, options, print); + } + case "ieConditionalStartComment": + case "ieConditionalEndComment": + return [printOpeningTagStart(node), printClosingTagEnd(node)]; + case "interpolation": + return [printOpeningTagStart(node, options), ...path.map(print, "children"), printClosingTagEnd(node, options)]; + case "text": { + if (node.parent.type === "interpolation") { + const trailingNewlineRegex = /\n[^\S\n]*$/; + const hasTrailingNewline = trailingNewlineRegex.test(node.value); + const value = hasTrailingNewline ? node.value.replace(trailingNewlineRegex, "") : node.value; + return [...replaceTextEndOfLine(value), hasTrailingNewline ? hardline : ""]; + } + const printed = cleanDoc([printOpeningTagPrefix(node, options), ...getTextValueParts(node), printClosingTagSuffix(node, options)]); + if (isConcat(printed) || printed.type === "fill") { + return fill(getDocParts(printed)); + } + return printed; + } + case "docType": + return [group([printOpeningTagStart(node, options), " ", node.value.replace(/^html\b/i, "html").replace(/\s+/g, " ")]), printClosingTagEnd(node, options)]; + case "comment": { + return [printOpeningTagPrefix(node, options), ...replaceTextEndOfLine(options.originalText.slice(locStart(node), locEnd(node)), literalline), printClosingTagSuffix(node, options)]; + } + case "attribute": { + if (node.value === null) { + return node.rawName; + } + const value = unescapeQuoteEntities(node.value); + const singleQuoteCount = countChars(value, "'"); + const doubleQuoteCount = countChars(value, '"'); + const quote = singleQuoteCount < doubleQuoteCount ? "'" : '"'; + return [node.rawName, "=", quote, ...replaceTextEndOfLine(quote === '"' ? value.replace(/"/g, """) : value.replace(/'/g, "'")), quote]; + } + default: + throw new Error(`Unexpected node type ${node.type}`); + } + } + module2.exports = { + preprocess, + print: genericPrint, + insertPragma, + massageAstNode: clean, + embed + }; + } +}); +var require_options6 = __commonJS2({ + "src/language-html/options.js"(exports2, module2) { + "use strict"; + var commonOptions = require_common_options(); + var CATEGORY_HTML = "HTML"; + module2.exports = { + bracketSameLine: commonOptions.bracketSameLine, + htmlWhitespaceSensitivity: { + since: "1.15.0", + category: CATEGORY_HTML, + type: "choice", + default: "css", + description: "How to handle whitespaces in HTML.", + choices: [{ + value: "css", + description: "Respect the default value of CSS display property." + }, { + value: "strict", + description: "Whitespaces are considered sensitive." + }, { + value: "ignore", + description: "Whitespaces are considered insensitive." + }] + }, + singleAttributePerLine: commonOptions.singleAttributePerLine, + vueIndentScriptAndStyle: { + since: "1.19.0", + category: CATEGORY_HTML, + type: "boolean", + default: false, + description: "Indent script and style tags in Vue files." + } + }; + } +}); +var require_parsers6 = __commonJS2({ + "src/language-html/parsers.js"(exports2, module2) { + "use strict"; + module2.exports = { + get html() { + return (__webpack_require__(62434).parsers).html; + }, + get vue() { + return (__webpack_require__(62434).parsers).vue; + }, + get angular() { + return (__webpack_require__(62434).parsers).angular; + }, + get lwc() { + return (__webpack_require__(62434).parsers).lwc; + } + }; + } +}); +var require_HTML = __commonJS2({ + "node_modules/linguist-languages/data/HTML.json"(exports2, module2) { + module2.exports = { + name: "HTML", + type: "markup", + tmScope: "text.html.basic", + aceMode: "html", + codemirrorMode: "htmlmixed", + codemirrorMimeType: "text/html", + color: "#e34c26", + aliases: ["xhtml"], + extensions: [".html", ".hta", ".htm", ".html.hl", ".inc", ".xht", ".xhtml"], + languageId: 146 + }; + } +}); +var require_Vue = __commonJS2({ + "node_modules/linguist-languages/data/Vue.json"(exports2, module2) { + module2.exports = { + name: "Vue", + type: "markup", + color: "#41b883", + extensions: [".vue"], + tmScope: "text.html.vue", + aceMode: "html", + languageId: 391 + }; + } +}); +var require_language_html = __commonJS2({ + "src/language-html/index.js"(exports2, module2) { + "use strict"; + var createLanguage = require_create_language(); + var printer = require_printer_html(); + var options = require_options6(); + var parsers = require_parsers6(); + var languages = [createLanguage(require_HTML(), () => ({ + name: "Angular", + since: "1.15.0", + parsers: ["angular"], + vscodeLanguageIds: ["html"], + extensions: [".component.html"], + filenames: [] + })), createLanguage(require_HTML(), (data) => ({ + since: "1.15.0", + parsers: ["html"], + vscodeLanguageIds: ["html"], + extensions: [...data.extensions, ".mjml"] + })), createLanguage(require_HTML(), () => ({ + name: "Lightning Web Components", + since: "1.17.0", + parsers: ["lwc"], + vscodeLanguageIds: ["html"], + extensions: [], + filenames: [] + })), createLanguage(require_Vue(), () => ({ + since: "1.10.0", + parsers: ["vue"], + vscodeLanguageIds: ["vue"] + }))]; + var printers = { + html: printer + }; + module2.exports = { + languages, + printers, + options, + parsers + }; + } +}); +var require_pragma6 = __commonJS2({ + "src/language-yaml/pragma.js"(exports2, module2) { + "use strict"; + function isPragma(text) { + return /^\s*@(?:prettier|format)\s*$/.test(text); + } + function hasPragma(text) { + return /^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(text); + } + function insertPragma(text) { + return `# @format + +${text}`; + } + module2.exports = { + isPragma, + hasPragma, + insertPragma + }; + } +}); +var require_loc7 = __commonJS2({ + "src/language-yaml/loc.js"(exports2, module2) { + "use strict"; + function locStart(node) { + return node.position.start.offset; + } + function locEnd(node) { + return node.position.end.offset; + } + module2.exports = { + locStart, + locEnd + }; + } +}); +var require_embed5 = __commonJS2({ + "src/language-yaml/embed.js"(exports2, module2) { + "use strict"; + function embed(path, print, textToDoc, options) { + const node = path.getValue(); + if (node.type === "root" && options.filepath && /(?:[/\\]|^)\.(?:prettier|stylelint|lintstaged)rc$/.test(options.filepath)) { + return textToDoc(options.originalText, Object.assign(Object.assign({}, options), {}, { + parser: "json" + })); + } + } + module2.exports = embed; + } +}); +var require_utils12 = __commonJS2({ + "src/language-yaml/utils.js"(exports2, module2) { + "use strict"; + var { + getLast, + isNonEmptyArray + } = require_util(); + function getAncestorCount(path, filter) { + let counter = 0; + const pathStackLength = path.stack.length - 1; + for (let i = 0; i < pathStackLength; i++) { + const value = path.stack[i]; + if (isNode(value) && filter(value)) { + counter++; + } + } + return counter; + } + function isNode(value, types) { + return value && typeof value.type === "string" && (!types || types.includes(value.type)); + } + function mapNode(node, callback, parent) { + return callback("children" in node ? Object.assign(Object.assign({}, node), {}, { + children: node.children.map((childNode) => mapNode(childNode, callback, node)) + }) : node, parent); + } + function defineShortcut(x, key, getter) { + Object.defineProperty(x, key, { + get: getter, + enumerable: false + }); + } + function isNextLineEmpty(node, text) { + let newlineCount = 0; + const textLength = text.length; + for (let i = node.position.end.offset - 1; i < textLength; i++) { + const char = text[i]; + if (char === "\n") { + newlineCount++; + } + if (newlineCount === 1 && /\S/.test(char)) { + return false; + } + if (newlineCount === 2) { + return true; + } + } + return false; + } + function isLastDescendantNode(path) { + const node = path.getValue(); + switch (node.type) { + case "tag": + case "anchor": + case "comment": + return false; + } + const pathStackLength = path.stack.length; + for (let i = 1; i < pathStackLength; i++) { + const item = path.stack[i]; + const parentItem = path.stack[i - 1]; + if (Array.isArray(parentItem) && typeof item === "number" && item !== parentItem.length - 1) { + return false; + } + } + return true; + } + function getLastDescendantNode(node) { + return isNonEmptyArray(node.children) ? getLastDescendantNode(getLast(node.children)) : node; + } + function isPrettierIgnore(comment) { + return comment.value.trim() === "prettier-ignore"; + } + function hasPrettierIgnore(path) { + const node = path.getValue(); + if (node.type === "documentBody") { + const document2 = path.getParentNode(); + return hasEndComments(document2.head) && isPrettierIgnore(getLast(document2.head.endComments)); + } + return hasLeadingComments(node) && isPrettierIgnore(getLast(node.leadingComments)); + } + function isEmptyNode(node) { + return !isNonEmptyArray(node.children) && !hasComments(node); + } + function hasComments(node) { + return hasLeadingComments(node) || hasMiddleComments(node) || hasIndicatorComment(node) || hasTrailingComment(node) || hasEndComments(node); + } + function hasLeadingComments(node) { + return isNonEmptyArray(node === null || node === void 0 ? void 0 : node.leadingComments); + } + function hasMiddleComments(node) { + return isNonEmptyArray(node === null || node === void 0 ? void 0 : node.middleComments); + } + function hasIndicatorComment(node) { + return node === null || node === void 0 ? void 0 : node.indicatorComment; + } + function hasTrailingComment(node) { + return node === null || node === void 0 ? void 0 : node.trailingComment; + } + function hasEndComments(node) { + return isNonEmptyArray(node === null || node === void 0 ? void 0 : node.endComments); + } + function splitWithSingleSpace(text) { + const parts = []; + let lastPart; + for (const part of text.split(/( +)/)) { + if (part !== " ") { + if (lastPart === " ") { + parts.push(part); + } else { + parts.push((parts.pop() || "") + part); + } + } else if (lastPart === void 0) { + parts.unshift(""); + } + lastPart = part; + } + if (lastPart === " ") { + parts.push((parts.pop() || "") + " "); + } + if (parts[0] === "") { + parts.shift(); + parts.unshift(" " + (parts.shift() || "")); + } + return parts; + } + function getFlowScalarLineContents(nodeType, content, options) { + const rawLineContents = content.split("\n").map((lineContent, index, lineContents) => index === 0 && index === lineContents.length - 1 ? lineContent : index !== 0 && index !== lineContents.length - 1 ? lineContent.trim() : index === 0 ? lineContent.trimEnd() : lineContent.trimStart()); + if (options.proseWrap === "preserve") { + return rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : [lineContent]); + } + return rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : splitWithSingleSpace(lineContent)).reduce((reduced, lineContentWords, index) => index !== 0 && rawLineContents[index - 1].length > 0 && lineContentWords.length > 0 && !(nodeType === "quoteDouble" && getLast(getLast(reduced)).endsWith("\\")) ? [...reduced.slice(0, -1), [...getLast(reduced), ...lineContentWords]] : [...reduced, lineContentWords], []).map((lineContentWords) => options.proseWrap === "never" ? [lineContentWords.join(" ")] : lineContentWords); + } + function getBlockValueLineContents(node, { + parentIndent, + isLastDescendant, + options + }) { + const content = node.position.start.line === node.position.end.line ? "" : options.originalText.slice(node.position.start.offset, node.position.end.offset).match(/^[^\n]*\n(.*)$/s)[1]; + let leadingSpaceCount; + if (node.indent === null) { + const matches = content.match(/^(? *)[^\n\r ]/m); + leadingSpaceCount = matches ? matches.groups.leadingSpace.length : Number.POSITIVE_INFINITY; + } else { + leadingSpaceCount = node.indent - 1 + parentIndent; + } + const rawLineContents = content.split("\n").map((lineContent) => lineContent.slice(leadingSpaceCount)); + if (options.proseWrap === "preserve" || node.type === "blockLiteral") { + return removeUnnecessaryTrailingNewlines(rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : [lineContent])); + } + return removeUnnecessaryTrailingNewlines(rawLineContents.map((lineContent) => lineContent.length === 0 ? [] : splitWithSingleSpace(lineContent)).reduce((reduced, lineContentWords, index) => index !== 0 && rawLineContents[index - 1].length > 0 && lineContentWords.length > 0 && !/^\s/.test(lineContentWords[0]) && !/^\s|\s$/.test(getLast(reduced)) ? [...reduced.slice(0, -1), [...getLast(reduced), ...lineContentWords]] : [...reduced, lineContentWords], []).map((lineContentWords) => lineContentWords.reduce((reduced, word) => reduced.length > 0 && /\s$/.test(getLast(reduced)) ? [...reduced.slice(0, -1), getLast(reduced) + " " + word] : [...reduced, word], [])).map((lineContentWords) => options.proseWrap === "never" ? [lineContentWords.join(" ")] : lineContentWords)); + function removeUnnecessaryTrailingNewlines(lineContents) { + if (node.chomping === "keep") { + return getLast(lineContents).length === 0 ? lineContents.slice(0, -1) : lineContents; + } + let trailingNewlineCount = 0; + for (let i = lineContents.length - 1; i >= 0; i--) { + if (lineContents[i].length === 0) { + trailingNewlineCount++; + } else { + break; + } + } + return trailingNewlineCount === 0 ? lineContents : trailingNewlineCount >= 2 && !isLastDescendant ? lineContents.slice(0, -(trailingNewlineCount - 1)) : lineContents.slice(0, -trailingNewlineCount); + } + } + function isInlineNode(node) { + if (!node) { + return true; + } + switch (node.type) { + case "plain": + case "quoteDouble": + case "quoteSingle": + case "alias": + case "flowMapping": + case "flowSequence": + return true; + default: + return false; + } + } + module2.exports = { + getLast, + getAncestorCount, + isNode, + isEmptyNode, + isInlineNode, + mapNode, + defineShortcut, + isNextLineEmpty, + isLastDescendantNode, + getBlockValueLineContents, + getFlowScalarLineContents, + getLastDescendantNode, + hasPrettierIgnore, + hasLeadingComments, + hasMiddleComments, + hasIndicatorComment, + hasTrailingComment, + hasEndComments + }; + } +}); +var require_print_preprocess4 = __commonJS2({ + "src/language-yaml/print-preprocess.js"(exports2, module2) { + "use strict"; + var { + defineShortcut, + mapNode + } = require_utils12(); + function preprocess(ast) { + return mapNode(ast, defineShortcuts); + } + function defineShortcuts(node) { + switch (node.type) { + case "document": + defineShortcut(node, "head", () => node.children[0]); + defineShortcut(node, "body", () => node.children[1]); + break; + case "documentBody": + case "sequenceItem": + case "flowSequenceItem": + case "mappingKey": + case "mappingValue": + defineShortcut(node, "content", () => node.children[0]); + break; + case "mappingItem": + case "flowMappingItem": + defineShortcut(node, "key", () => node.children[0]); + defineShortcut(node, "value", () => node.children[1]); + break; + } + return node; + } + module2.exports = preprocess; + } +}); +var require_misc2 = __commonJS2({ + "src/language-yaml/print/misc.js"(exports2, module2) { + "use strict"; + var { + builders: { + softline, + align + } + } = __webpack_require__(36327); + var { + hasEndComments, + isNextLineEmpty, + isNode + } = require_utils12(); + var printedEmptyLineCache = /* @__PURE__ */ new WeakMap(); + function printNextEmptyLine(path, originalText) { + const node = path.getValue(); + const root = path.stack[0]; + let isNextEmptyLinePrintedSet; + if (printedEmptyLineCache.has(root)) { + isNextEmptyLinePrintedSet = printedEmptyLineCache.get(root); + } else { + isNextEmptyLinePrintedSet = /* @__PURE__ */ new Set(); + printedEmptyLineCache.set(root, isNextEmptyLinePrintedSet); + } + if (!isNextEmptyLinePrintedSet.has(node.position.end.line)) { + isNextEmptyLinePrintedSet.add(node.position.end.line); + if (isNextLineEmpty(node, originalText) && !shouldPrintEndComments(path.getParentNode())) { + return softline; + } + } + return ""; + } + function shouldPrintEndComments(node) { + return hasEndComments(node) && !isNode(node, ["documentHead", "documentBody", "flowMapping", "flowSequence"]); + } + function alignWithSpaces(width, doc2) { + return align(" ".repeat(width), doc2); + } + module2.exports = { + alignWithSpaces, + shouldPrintEndComments, + printNextEmptyLine + }; + } +}); +var require_flow_mapping_sequence = __commonJS2({ + "src/language-yaml/print/flow-mapping-sequence.js"(exports2, module2) { + "use strict"; + var { + builders: { + ifBreak, + line, + softline, + hardline, + join + } + } = __webpack_require__(36327); + var { + isEmptyNode, + getLast, + hasEndComments + } = require_utils12(); + var { + printNextEmptyLine, + alignWithSpaces + } = require_misc2(); + function printFlowMapping(path, print, options) { + const node = path.getValue(); + const isMapping = node.type === "flowMapping"; + const openMarker = isMapping ? "{" : "["; + const closeMarker = isMapping ? "}" : "]"; + let bracketSpacing = softline; + if (isMapping && node.children.length > 0 && options.bracketSpacing) { + bracketSpacing = line; + } + const lastItem = getLast(node.children); + const isLastItemEmptyMappingItem = lastItem && lastItem.type === "flowMappingItem" && isEmptyNode(lastItem.key) && isEmptyNode(lastItem.value); + return [openMarker, alignWithSpaces(options.tabWidth, [bracketSpacing, printChildren(path, print, options), options.trailingComma === "none" ? "" : ifBreak(","), hasEndComments(node) ? [hardline, join(hardline, path.map(print, "endComments"))] : ""]), isLastItemEmptyMappingItem ? "" : bracketSpacing, closeMarker]; + } + function printChildren(path, print, options) { + const node = path.getValue(); + const parts = path.map((childPath, index) => [print(), index === node.children.length - 1 ? "" : [",", line, node.children[index].position.start.line !== node.children[index + 1].position.start.line ? printNextEmptyLine(childPath, options.originalText) : ""]], "children"); + return parts; + } + module2.exports = { + printFlowMapping, + printFlowSequence: printFlowMapping + }; + } +}); +var require_mapping_item = __commonJS2({ + "src/language-yaml/print/mapping-item.js"(exports2, module2) { + "use strict"; + var { + builders: { + conditionalGroup, + group, + hardline, + ifBreak, + join, + line + } + } = __webpack_require__(36327); + var { + hasLeadingComments, + hasMiddleComments, + hasTrailingComment, + hasEndComments, + isNode, + isEmptyNode, + isInlineNode + } = require_utils12(); + var { + alignWithSpaces + } = require_misc2(); + function printMappingItem(node, parentNode, path, print, options) { + const { + key, + value + } = node; + const isEmptyMappingKey = isEmptyNode(key); + const isEmptyMappingValue = isEmptyNode(value); + if (isEmptyMappingKey && isEmptyMappingValue) { + return ": "; + } + const printedKey = print("key"); + const spaceBeforeColon = needsSpaceInFrontOfMappingValue(node) ? " " : ""; + if (isEmptyMappingValue) { + if (node.type === "flowMappingItem" && parentNode.type === "flowMapping") { + return printedKey; + } + if (node.type === "mappingItem" && isAbsolutelyPrintedAsSingleLineNode(key.content, options) && !hasTrailingComment(key.content) && (!parentNode.tag || parentNode.tag.value !== "tag:yaml.org,2002:set")) { + return [printedKey, spaceBeforeColon, ":"]; + } + return ["? ", alignWithSpaces(2, printedKey)]; + } + const printedValue = print("value"); + if (isEmptyMappingKey) { + return [": ", alignWithSpaces(2, printedValue)]; + } + if (hasLeadingComments(value) || !isInlineNode(key.content)) { + return ["? ", alignWithSpaces(2, printedKey), hardline, join("", path.map(print, "value", "leadingComments").map((comment) => [comment, hardline])), ": ", alignWithSpaces(2, printedValue)]; + } + if (isSingleLineNode(key.content) && !hasLeadingComments(key.content) && !hasMiddleComments(key.content) && !hasTrailingComment(key.content) && !hasEndComments(key) && !hasLeadingComments(value.content) && !hasMiddleComments(value.content) && !hasEndComments(value) && isAbsolutelyPrintedAsSingleLineNode(value.content, options)) { + return [printedKey, spaceBeforeColon, ": ", printedValue]; + } + const groupId = Symbol("mappingKey"); + const groupedKey = group([ifBreak("? "), group(alignWithSpaces(2, printedKey), { + id: groupId + })]); + const explicitMappingValue = [hardline, ": ", alignWithSpaces(2, printedValue)]; + const implicitMappingValueParts = [spaceBeforeColon, ":"]; + if (hasLeadingComments(value.content) || hasEndComments(value) && value.content && !isNode(value.content, ["mapping", "sequence"]) || parentNode.type === "mapping" && hasTrailingComment(key.content) && isInlineNode(value.content) || isNode(value.content, ["mapping", "sequence"]) && value.content.tag === null && value.content.anchor === null) { + implicitMappingValueParts.push(hardline); + } else if (value.content) { + implicitMappingValueParts.push(line); + } + implicitMappingValueParts.push(printedValue); + const implicitMappingValue = alignWithSpaces(options.tabWidth, implicitMappingValueParts); + if (isAbsolutelyPrintedAsSingleLineNode(key.content, options) && !hasLeadingComments(key.content) && !hasMiddleComments(key.content) && !hasEndComments(key)) { + return conditionalGroup([[printedKey, implicitMappingValue]]); + } + return conditionalGroup([[groupedKey, ifBreak(explicitMappingValue, implicitMappingValue, { + groupId + })]]); + } + function isAbsolutelyPrintedAsSingleLineNode(node, options) { + if (!node) { + return true; + } + switch (node.type) { + case "plain": + case "quoteSingle": + case "quoteDouble": + break; + case "alias": + return true; + default: + return false; + } + if (options.proseWrap === "preserve") { + return node.position.start.line === node.position.end.line; + } + if (/\\$/m.test(options.originalText.slice(node.position.start.offset, node.position.end.offset))) { + return false; + } + switch (options.proseWrap) { + case "never": + return !node.value.includes("\n"); + case "always": + return !/[\n ]/.test(node.value); + default: + return false; + } + } + function needsSpaceInFrontOfMappingValue(node) { + return node.key.content && node.key.content.type === "alias"; + } + function isSingleLineNode(node) { + if (!node) { + return true; + } + switch (node.type) { + case "plain": + case "quoteDouble": + case "quoteSingle": + return node.position.start.line === node.position.end.line; + case "alias": + return true; + default: + return false; + } + } + module2.exports = printMappingItem; + } +}); +var require_block2 = __commonJS2({ + "src/language-yaml/print/block.js"(exports2, module2) { + "use strict"; + var { + builders: { + dedent, + dedentToRoot, + fill, + hardline, + join, + line, + literalline, + markAsRoot + }, + utils: { + getDocParts + } + } = __webpack_require__(36327); + var { + getAncestorCount, + getBlockValueLineContents, + hasIndicatorComment, + isLastDescendantNode, + isNode + } = require_utils12(); + var { + alignWithSpaces + } = require_misc2(); + function printBlock(path, print, options) { + const node = path.getValue(); + const parentIndent = getAncestorCount(path, (ancestorNode) => isNode(ancestorNode, ["sequence", "mapping"])); + const isLastDescendant = isLastDescendantNode(path); + const parts = [node.type === "blockFolded" ? ">" : "|"]; + if (node.indent !== null) { + parts.push(node.indent.toString()); + } + if (node.chomping !== "clip") { + parts.push(node.chomping === "keep" ? "+" : "-"); + } + if (hasIndicatorComment(node)) { + parts.push(" ", print("indicatorComment")); + } + const lineContents = getBlockValueLineContents(node, { + parentIndent, + isLastDescendant, + options + }); + const contentsParts = []; + for (const [index, lineWords] of lineContents.entries()) { + if (index === 0) { + contentsParts.push(hardline); + } + contentsParts.push(fill(getDocParts(join(line, lineWords)))); + if (index !== lineContents.length - 1) { + contentsParts.push(lineWords.length === 0 ? hardline : markAsRoot(literalline)); + } else if (node.chomping === "keep" && isLastDescendant) { + contentsParts.push(dedentToRoot(lineWords.length === 0 ? hardline : literalline)); + } + } + if (node.indent === null) { + parts.push(dedent(alignWithSpaces(options.tabWidth, contentsParts))); + } else { + parts.push(dedentToRoot(alignWithSpaces(node.indent - 1 + parentIndent, contentsParts))); + } + return parts; + } + module2.exports = printBlock; + } +}); +var require_printer_yaml = __commonJS2({ + "src/language-yaml/printer-yaml.js"(exports2, module2) { + "use strict"; + var { + builders: { + breakParent, + fill, + group, + hardline, + join, + line, + lineSuffix, + literalline + }, + utils: { + getDocParts, + replaceTextEndOfLine + } + } = __webpack_require__(36327); + var { + isPreviousLineEmpty + } = require_util(); + var { + insertPragma, + isPragma + } = require_pragma6(); + var { + locStart + } = require_loc7(); + var embed = require_embed5(); + var { + getFlowScalarLineContents, + getLastDescendantNode, + hasLeadingComments, + hasMiddleComments, + hasTrailingComment, + hasEndComments, + hasPrettierIgnore, + isLastDescendantNode, + isNode, + isInlineNode + } = require_utils12(); + var preprocess = require_print_preprocess4(); + var { + alignWithSpaces, + printNextEmptyLine, + shouldPrintEndComments + } = require_misc2(); + var { + printFlowMapping, + printFlowSequence + } = require_flow_mapping_sequence(); + var printMappingItem = require_mapping_item(); + var printBlock = require_block2(); + function genericPrint(path, options, print) { + const node = path.getValue(); + const parts = []; + if (node.type !== "mappingValue" && hasLeadingComments(node)) { + parts.push([join(hardline, path.map(print, "leadingComments")), hardline]); + } + const { + tag, + anchor + } = node; + if (tag) { + parts.push(print("tag")); + } + if (tag && anchor) { + parts.push(" "); + } + if (anchor) { + parts.push(print("anchor")); + } + let nextEmptyLine = ""; + if (isNode(node, ["mapping", "sequence", "comment", "directive", "mappingItem", "sequenceItem"]) && !isLastDescendantNode(path)) { + nextEmptyLine = printNextEmptyLine(path, options.originalText); + } + if (tag || anchor) { + if (isNode(node, ["sequence", "mapping"]) && !hasMiddleComments(node)) { + parts.push(hardline); + } else { + parts.push(" "); + } + } + if (hasMiddleComments(node)) { + parts.push([node.middleComments.length === 1 ? "" : hardline, join(hardline, path.map(print, "middleComments")), hardline]); + } + const parentNode = path.getParentNode(); + if (hasPrettierIgnore(path)) { + parts.push(replaceTextEndOfLine(options.originalText.slice(node.position.start.offset, node.position.end.offset).trimEnd(), literalline)); + } else { + parts.push(group(printNode(node, parentNode, path, options, print))); + } + if (hasTrailingComment(node) && !isNode(node, ["document", "documentHead"])) { + parts.push(lineSuffix([node.type === "mappingValue" && !node.content ? "" : " ", parentNode.type === "mappingKey" && path.getParentNode(2).type === "mapping" && isInlineNode(node) ? "" : breakParent, print("trailingComment")])); + } + if (shouldPrintEndComments(node)) { + parts.push(alignWithSpaces(node.type === "sequenceItem" ? 2 : 0, [hardline, join(hardline, path.map((path2) => [isPreviousLineEmpty(options.originalText, path2.getValue(), locStart) ? hardline : "", print()], "endComments"))])); + } + parts.push(nextEmptyLine); + return parts; + } + function printNode(node, parentNode, path, options, print) { + switch (node.type) { + case "root": { + const { + children + } = node; + const parts = []; + path.each((childPath, index) => { + const document2 = children[index]; + const nextDocument = children[index + 1]; + if (index !== 0) { + parts.push(hardline); + } + parts.push(print()); + if (shouldPrintDocumentEndMarker(document2, nextDocument)) { + parts.push(hardline, "..."); + if (hasTrailingComment(document2)) { + parts.push(" ", print("trailingComment")); + } + } else if (nextDocument && !hasTrailingComment(nextDocument.head)) { + parts.push(hardline, "---"); + } + }, "children"); + const lastDescendantNode = getLastDescendantNode(node); + if (!isNode(lastDescendantNode, ["blockLiteral", "blockFolded"]) || lastDescendantNode.chomping !== "keep") { + parts.push(hardline); + } + return parts; + } + case "document": { + const nextDocument = parentNode.children[path.getName() + 1]; + const parts = []; + if (shouldPrintDocumentHeadEndMarker(node, nextDocument, parentNode, options) === "head") { + if (node.head.children.length > 0 || node.head.endComments.length > 0) { + parts.push(print("head")); + } + if (hasTrailingComment(node.head)) { + parts.push(["---", " ", print(["head", "trailingComment"])]); + } else { + parts.push("---"); + } + } + if (shouldPrintDocumentBody(node)) { + parts.push(print("body")); + } + return join(hardline, parts); + } + case "documentHead": + return join(hardline, [...path.map(print, "children"), ...path.map(print, "endComments")]); + case "documentBody": { + const { + children, + endComments + } = node; + let separator = ""; + if (children.length > 0 && endComments.length > 0) { + const lastDescendantNode = getLastDescendantNode(node); + if (isNode(lastDescendantNode, ["blockFolded", "blockLiteral"])) { + if (lastDescendantNode.chomping !== "keep") { + separator = [hardline, hardline]; + } + } else { + separator = hardline; + } + } + return [join(hardline, path.map(print, "children")), separator, join(hardline, path.map(print, "endComments"))]; + } + case "directive": + return ["%", join(" ", [node.name, ...node.parameters])]; + case "comment": + return ["#", node.value]; + case "alias": + return ["*", node.value]; + case "tag": + return options.originalText.slice(node.position.start.offset, node.position.end.offset); + case "anchor": + return ["&", node.value]; + case "plain": + return printFlowScalarContent(node.type, options.originalText.slice(node.position.start.offset, node.position.end.offset), options); + case "quoteDouble": + case "quoteSingle": { + const singleQuote = "'"; + const doubleQuote = '"'; + const raw = options.originalText.slice(node.position.start.offset + 1, node.position.end.offset - 1); + if (node.type === "quoteSingle" && raw.includes("\\") || node.type === "quoteDouble" && /\\[^"]/.test(raw)) { + const originalQuote = node.type === "quoteDouble" ? doubleQuote : singleQuote; + return [originalQuote, printFlowScalarContent(node.type, raw, options), originalQuote]; + } + if (raw.includes(doubleQuote)) { + return [singleQuote, printFlowScalarContent(node.type, node.type === "quoteDouble" ? raw.replace(/\\"/g, doubleQuote).replace(/'/g, singleQuote.repeat(2)) : raw, options), singleQuote]; + } + if (raw.includes(singleQuote)) { + return [doubleQuote, printFlowScalarContent(node.type, node.type === "quoteSingle" ? raw.replace(/''/g, singleQuote) : raw, options), doubleQuote]; + } + const quote = options.singleQuote ? singleQuote : doubleQuote; + return [quote, printFlowScalarContent(node.type, raw, options), quote]; + } + case "blockFolded": + case "blockLiteral": { + return printBlock(path, print, options); + } + case "mapping": + case "sequence": + return join(hardline, path.map(print, "children")); + case "sequenceItem": + return ["- ", alignWithSpaces(2, node.content ? print("content") : "")]; + case "mappingKey": + case "mappingValue": + return !node.content ? "" : print("content"); + case "mappingItem": + case "flowMappingItem": { + return printMappingItem(node, parentNode, path, print, options); + } + case "flowMapping": + return printFlowMapping(path, print, options); + case "flowSequence": + return printFlowSequence(path, print, options); + case "flowSequenceItem": + return print("content"); + default: + throw new Error(`Unexpected node type ${node.type}`); + } + } + function shouldPrintDocumentBody(document2) { + return document2.body.children.length > 0 || hasEndComments(document2.body); + } + function shouldPrintDocumentEndMarker(document2, nextDocument) { + return hasTrailingComment(document2) || nextDocument && (nextDocument.head.children.length > 0 || hasEndComments(nextDocument.head)); + } + function shouldPrintDocumentHeadEndMarker(document2, nextDocument, root, options) { + if (root.children[0] === document2 && /---(?:\s|$)/.test(options.originalText.slice(locStart(document2), locStart(document2) + 4)) || document2.head.children.length > 0 || hasEndComments(document2.head) || hasTrailingComment(document2.head)) { + return "head"; + } + if (shouldPrintDocumentEndMarker(document2, nextDocument)) { + return false; + } + return nextDocument ? "root" : false; + } + function printFlowScalarContent(nodeType, content, options) { + const lineContents = getFlowScalarLineContents(nodeType, content, options); + return join(hardline, lineContents.map((lineContentWords) => fill(getDocParts(join(line, lineContentWords))))); + } + function clean(node, newNode) { + if (isNode(newNode)) { + delete newNode.position; + switch (newNode.type) { + case "comment": + if (isPragma(newNode.value)) { + return null; + } + break; + case "quoteDouble": + case "quoteSingle": + newNode.type = "quote"; + break; + } + } + } + module2.exports = { + preprocess, + embed, + print: genericPrint, + massageAstNode: clean, + insertPragma + }; + } +}); +var require_options7 = __commonJS2({ + "src/language-yaml/options.js"(exports2, module2) { + "use strict"; + var commonOptions = require_common_options(); + module2.exports = { + bracketSpacing: commonOptions.bracketSpacing, + singleQuote: commonOptions.singleQuote, + proseWrap: commonOptions.proseWrap + }; + } +}); +var require_parsers7 = __commonJS2({ + "src/language-yaml/parsers.js"(exports2, module2) { + "use strict"; + module2.exports = { + get yaml() { + return (__webpack_require__(44168).parsers).yaml; + } + }; + } +}); +var require_YAML = __commonJS2({ + "node_modules/linguist-languages/data/YAML.json"(exports2, module2) { + module2.exports = { + name: "YAML", + type: "data", + color: "#cb171e", + tmScope: "source.yaml", + aliases: ["yml"], + extensions: [".yml", ".mir", ".reek", ".rviz", ".sublime-syntax", ".syntax", ".yaml", ".yaml-tmlanguage", ".yaml.sed", ".yml.mysql"], + filenames: [".clang-format", ".clang-tidy", ".gemrc", "CITATION.cff", "glide.lock", "yarn.lock"], + aceMode: "yaml", + codemirrorMode: "yaml", + codemirrorMimeType: "text/x-yaml", + languageId: 407 + }; + } +}); +var require_language_yaml = __commonJS2({ + "src/language-yaml/index.js"(exports2, module2) { + "use strict"; + var createLanguage = require_create_language(); + var printer = require_printer_yaml(); + var options = require_options7(); + var parsers = require_parsers7(); + var languages = [createLanguage(require_YAML(), (data) => ({ + since: "1.14.0", + parsers: ["yaml"], + vscodeLanguageIds: ["yaml", "ansible", "home-assistant"], + filenames: [...data.filenames.filter((filename) => filename !== "yarn.lock"), ".prettierrc", ".stylelintrc", ".lintstagedrc"] + }))]; + module2.exports = { + languages, + printers: { + yaml: printer + }, + options, + parsers + }; + } +}); +var require_languages = __commonJS2({ + "src/languages.js"(exports2, module2) { + "use strict"; + module2.exports = [require_language_js(), require_language_css(), require_language_handlebars(), require_language_graphql(), require_language_markdown(), require_language_html(), require_language_yaml()]; + } +}); +var require_load_plugins = __commonJS2({ + "src/common/load-plugins.js"(exports2, module2) { + "use strict"; + var fs = __webpack_require__(79896); + var path = __webpack_require__(16928); + var fastGlob = require_out4(); + var partition = require_partition(); + var uniqByKey = require_uniq_by_key(); + var internalPlugins = require_languages(); + var { + default: mem2, + memClear: memClear2 + } = (init_dist(), __toCommonJS(dist_exports)); + var thirdParty = __webpack_require__(98709); + var resolve = require_resolve2(); + var memoizedLoad = mem2(load, { + cacheKey: JSON.stringify + }); + var memoizedSearch = mem2(findPluginsInNodeModules); + var clearCache = () => { + memClear2(memoizedLoad); + memClear2(memoizedSearch); + }; + function load(plugins2, pluginSearchDirs) { + if (!plugins2) { + plugins2 = []; + } + if (pluginSearchDirs === false) { + pluginSearchDirs = []; + } else { + pluginSearchDirs = pluginSearchDirs || []; + if (pluginSearchDirs.length === 0) { + const autoLoadDir = thirdParty.findParentDir(__dirname, "node_modules"); + if (autoLoadDir) { + pluginSearchDirs = [autoLoadDir]; + } + } + } + const [externalPluginNames, externalPluginInstances] = partition(plugins2, (plugin) => typeof plugin === "string"); + const externalManualLoadPluginInfos = externalPluginNames.map((pluginName) => { + let requirePath; + try { + requirePath = resolve(path.resolve(process.cwd(), pluginName)); + } catch { + requirePath = resolve(pluginName, { + paths: [process.cwd()] + }); + } + return { + name: pluginName, + requirePath + }; + }); + const externalAutoLoadPluginInfos = pluginSearchDirs.flatMap((pluginSearchDir) => { + const resolvedPluginSearchDir = path.resolve(process.cwd(), pluginSearchDir); + const nodeModulesDir = path.resolve(resolvedPluginSearchDir, "node_modules"); + if (!isDirectory(nodeModulesDir) && !isDirectory(resolvedPluginSearchDir)) { + throw new Error(`${pluginSearchDir} does not exist or is not a directory`); + } + return memoizedSearch(nodeModulesDir).map((pluginName) => ({ + name: pluginName, + requirePath: resolve(pluginName, { + paths: [resolvedPluginSearchDir] + }) + })); + }); + const externalPlugins = [...uniqByKey([...externalManualLoadPluginInfos, ...externalAutoLoadPluginInfos], "requirePath").map((externalPluginInfo) => Object.assign({ + name: externalPluginInfo.name + }, __webpack_require__(55536)(externalPluginInfo.requirePath))), ...externalPluginInstances]; + return [...internalPlugins, ...externalPlugins]; + } + function findPluginsInNodeModules(nodeModulesDir) { + const pluginPackageJsonPaths = fastGlob.sync(["prettier-plugin-*/package.json", "@*/prettier-plugin-*/package.json", "@prettier/plugin-*/package.json"], { + cwd: nodeModulesDir + }); + return pluginPackageJsonPaths.map(path.dirname); + } + function isDirectory(dir) { + try { + return fs.statSync(dir).isDirectory(); + } catch { + return false; + } + } + module2.exports = { + loadPlugins: memoizedLoad, + clearCache + }; + } +}); +var { + version +} = __webpack_require__(26186); +var core = require_core(); +var { + getSupportInfo +} = require_support(); +var getFileInfo = require_get_file_info(); +var sharedUtil = require_util_shared(); +var plugins = require_load_plugins(); +var config = require_resolve_config(); +var doc = __webpack_require__(36327); +function _withPlugins(fn, optsArgIdx = 1) { + return (...args) => { + const opts = args[optsArgIdx] || {}; + args[optsArgIdx] = Object.assign(Object.assign({}, opts), {}, { + plugins: plugins.loadPlugins(opts.plugins, opts.pluginSearchDirs) + }); + return fn(...args); + }; +} +function withPlugins(fn, optsArgIdx) { + const resultingFn = _withPlugins(fn, optsArgIdx); + if (fn.sync) { + resultingFn.sync = _withPlugins(fn.sync, optsArgIdx); + } + return resultingFn; +} +var formatWithCursor = withPlugins(core.formatWithCursor); +module.exports = { + formatWithCursor, + format(text, opts) { + return formatWithCursor(text, opts).formatted; + }, + check(text, opts) { + const { + formatted + } = formatWithCursor(text, opts); + return formatted === text; + }, + doc, + resolveConfig: config.resolveConfig, + resolveConfigFile: config.resolveConfigFile, + clearConfigCache() { + config.clearCache(); + plugins.clearCache(); + }, + getFileInfo: withPlugins(getFileInfo), + getSupportInfo: withPlugins(getSupportInfo, 0), + version, + util: sharedUtil, + __internal: { + errors: require_errors(), + coreOptions: require_core_options(), + createIgnorer: require_create_ignorer(), + optionsModule: require_options(), + optionsNormalizer: require_options_normalizer(), + utils: { + arrayify: require_arrayify(), + getLast: require_get_last(), + partition: require_partition(), + isNonEmptyArray: require_util().isNonEmptyArray + } + }, + __debug: { + parse: withPlugins(core.parse), + formatAST: withPlugins(core.formatAST), + formatDoc: withPlugins(core.formatDoc), + printToDoc: withPlugins(core.printToDoc), + printDocToString: withPlugins(core.printDocToString) + } +}; + + +/***/ }, + +/***/ 9173 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Br=cr((Mr,ar)=>{var ze=Object.defineProperty,ur=Object.getOwnPropertyDescriptor,He=Object.getOwnPropertyNames,lr=Object.prototype.hasOwnProperty,Y=(e,t)=>function(){return e&&(t=(0,e[He(e)[0]])(e=0)),t},q=(e,t)=>function(){return t||(0,e[He(e)[0]])((t={exports:{}}).exports,t),t.exports},Xe=(e,t)=>{for(var r in t)ze(e,r,{get:t[r],enumerable:!0})},hr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of He(t))!lr.call(e,s)&&s!==r&&ze(e,s,{get:()=>t[s],enumerable:!(n=ur(t,s))||n.enumerable});return e},be=e=>hr(ze({},"__esModule",{value:!0}),e),L=Y({""(){}}),pr=q({"src/utils/is-non-empty-array.js"(e,t){"use strict";L();function r(n){return Array.isArray(n)&&n.length>0}t.exports=r}}),dr=q({"src/language-js/loc.js"(e,t){"use strict";L();var r=pr();function n(l){var P,p;let x=l.range?l.range[0]:l.start,C=(P=(p=l.declaration)===null||p===void 0?void 0:p.decorators)!==null&&P!==void 0?P:l.decorators;return r(C)?Math.min(n(C[0]),x):x}function s(l){return l.range?l.range[1]:l.end}function a(l,P){let p=n(l);return Number.isInteger(p)&&p===n(P)}function i(l,P){let p=s(l);return Number.isInteger(p)&&p===s(P)}function h(l,P){return a(l,P)&&i(l,P)}t.exports={locStart:n,locEnd:s,hasSameLocStart:a,hasSameLoc:h}}}),fr=q({"node_modules/angular-estree-parser/node_modules/lines-and-columns/build/index.js"(e){"use strict";L(),e.__esModule=!0,e.LinesAndColumns=void 0;var t=` +`,r="\r",n=function(){function s(a){this.string=a;for(var i=[0],h=0;hthis.string.length)return null;for(var i=0,h=this.offsets;h[i+1]<=a;)i++;var l=a-h[i];return{line:i,column:l}},s.prototype.indexForLocation=function(a){var i=a.line,h=a.column;return i<0||i>=this.offsets.length||h<0||h>this.lengthOfLine(i)?null:this.offsets[i]+h},s.prototype.lengthOfLine=function(a){var i=this.offsets[a],h=a===this.offsets.length-1?this.string.length:this.offsets[a+1];return h-i},s}();e.LinesAndColumns=n,e.default=n}}),gr=q({"node_modules/angular-estree-parser/lib/context.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.Context=void 0;var t=fr(),r=class{constructor(s){this.text=s,this.locator=new n(this.text)}};e.Context=r;var n=class{constructor(s){this._lineAndColumn=new t.default(s)}locationForIndex(s){let{line:a,column:i}=this._lineAndColumn.locationForIndex(s);return{line:a+1,column:i}}}}}),Je={};Xe(Je,{AST:()=>k,ASTWithName:()=>W,ASTWithSource:()=>G,AbsoluteSourceSpan:()=>U,AstMemoryEfficientTransformer:()=>Ct,AstTransformer:()=>Pt,Binary:()=>B,BindingPipe:()=>fe,BoundElementProperty:()=>It,Chain:()=>oe,Conditional:()=>ce,EmptyExpr:()=>K,ExpressionBinding:()=>Ze,FunctionCall:()=>Pe,ImplicitReceiver:()=>Oe,Interpolation:()=>me,KeyedRead:()=>he,KeyedWrite:()=>de,LiteralArray:()=>ge,LiteralMap:()=>ve,LiteralPrimitive:()=>$,MethodCall:()=>ye,NonNullAssert:()=>Se,ParseSpan:()=>V,ParsedEvent:()=>At,ParsedProperty:()=>Et,ParsedPropertyType:()=>se,ParsedVariable:()=>_t,ParserError:()=>ae,PrefixNot:()=>xe,PropertyRead:()=>ne,PropertyWrite:()=>ue,Quote:()=>Le,RecursiveAstVisitor:()=>et,SafeKeyedRead:()=>pe,SafeMethodCall:()=>we,SafePropertyRead:()=>le,ThisReceiver:()=>Ye,Unary:()=>F,VariableBinding:()=>Re});var ae,V,k,W,Le,K,Oe,Ye,oe,ce,ne,ue,le,he,pe,de,fe,$,ge,ve,me,B,F,xe,Se,ye,we,Pe,U,G,Re,Ze,et,Pt,Ct,Et,se,At,_t,It,tt=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/ast.js"(){L(),ae=class{constructor(e,t,r,n){this.input=t,this.errLocation=r,this.ctxLocation=n,this.message=`Parser Error: ${e} ${r} [${t}] in ${n}`}},V=class{constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new U(e+this.start,e+this.end)}},k=class{constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},W=class extends k{constructor(e,t,r){super(e,t),this.nameSpan=r}},Le=class extends k{constructor(e,t,r,n,s){super(e,t),this.prefix=r,this.uninterpretedExpression=n,this.location=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitQuote(this,t)}toString(){return"Quote"}},K=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null}},Oe=class extends k{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitImplicitReceiver(this,t)}},Ye=class extends Oe{visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;var r;return(r=e.visitThisReceiver)===null||r===void 0?void 0:r.call(e,this,t)}},oe=class extends k{constructor(e,t,r){super(e,t),this.expressions=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitChain(this,t)}},ce=class extends k{constructor(e,t,r,n,s){super(e,t),this.condition=r,this.trueExp=n,this.falseExp=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitConditional(this,t)}},ne=class extends W{constructor(e,t,r,n,s){super(e,t,r),this.receiver=n,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyRead(this,t)}},ue=class extends W{constructor(e,t,r,n,s,a){super(e,t,r),this.receiver=n,this.name=s,this.value=a}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPropertyWrite(this,t)}},le=class extends W{constructor(e,t,r,n,s){super(e,t,r),this.receiver=n,this.name=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafePropertyRead(this,t)}},he=class extends k{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedRead(this,t)}},pe=class extends k{constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeKeyedRead(this,t)}},de=class extends k{constructor(e,t,r,n,s){super(e,t),this.receiver=r,this.key=n,this.value=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitKeyedWrite(this,t)}},fe=class extends W{constructor(e,t,r,n,s,a){super(e,t,a),this.exp=r,this.name=n,this.args=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPipe(this,t)}},$=class extends k{constructor(e,t,r){super(e,t),this.value=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralPrimitive(this,t)}},ge=class extends k{constructor(e,t,r){super(e,t),this.expressions=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralArray(this,t)}},ve=class extends k{constructor(e,t,r,n){super(e,t),this.keys=r,this.values=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitLiteralMap(this,t)}},me=class extends k{constructor(e,t,r,n){super(e,t),this.strings=r,this.expressions=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitInterpolation(this,t)}},B=class extends k{constructor(e,t,r,n,s){super(e,t),this.operation=r,this.left=n,this.right=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitBinary(this,t)}},F=class extends B{constructor(e,t,r,n,s,a,i){super(e,t,s,a,i),this.operator=r,this.expr=n}static createMinus(e,t,r){return new F(e,t,"-",r,"-",new $(e,t,0),r)}static createPlus(e,t,r){return new F(e,t,"+",r,"-",r,new $(e,t,0))}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitUnary!==void 0?e.visitUnary(this,t):e.visitBinary(this,t)}},xe=class extends k{constructor(e,t,r){super(e,t),this.expression=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitPrefixNot(this,t)}},Se=class extends k{constructor(e,t,r){super(e,t),this.expression=r}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitNonNullAssert(this,t)}},ye=class extends W{constructor(e,t,r,n,s,a,i){super(e,t,r),this.receiver=n,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitMethodCall(this,t)}},we=class extends W{constructor(e,t,r,n,s,a,i){super(e,t,r),this.receiver=n,this.name=s,this.args=a,this.argumentSpan=i}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitSafeMethodCall(this,t)}},Pe=class extends k{constructor(e,t,r,n){super(e,t),this.target=r,this.args=n}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitFunctionCall(this,t)}},U=class{constructor(e,t){this.start=e,this.end=t}},G=class extends k{constructor(e,t,r,n,s){super(new V(0,t===null?0:t.length),new U(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=r,this.errors=s}visit(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},Re=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},Ze=class{constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},et=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitFunctionCall(e,t){e.target&&this.visit(e.target,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitPrefixNot(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeMethodCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitQuote(e,t){}visitAll(e,t){for(let r of e)this.visit(r,t)}},Pt=class{visitImplicitReceiver(e,t){return e}visitThisReceiver(e,t){return e}visitInterpolation(e,t){return new me(e.span,e.sourceSpan,e.strings,this.visitAll(e.expressions))}visitLiteralPrimitive(e,t){return new $(e.span,e.sourceSpan,e.value)}visitPropertyRead(e,t){return new ne(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitPropertyWrite(e,t){return new ue(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,e.value.visit(this))}visitSafePropertyRead(e,t){return new le(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name)}visitMethodCall(e,t){return new ye(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitSafeMethodCall(e,t){return new we(e.span,e.sourceSpan,e.nameSpan,e.receiver.visit(this),e.name,this.visitAll(e.args),e.argumentSpan)}visitFunctionCall(e,t){return new Pe(e.span,e.sourceSpan,e.target.visit(this),this.visitAll(e.args))}visitLiteralArray(e,t){return new ge(e.span,e.sourceSpan,this.visitAll(e.expressions))}visitLiteralMap(e,t){return new ve(e.span,e.sourceSpan,e.keys,this.visitAll(e.values))}visitUnary(e,t){switch(e.operator){case"+":return F.createPlus(e.span,e.sourceSpan,e.expr.visit(this));case"-":return F.createMinus(e.span,e.sourceSpan,e.expr.visit(this));default:throw new Error(`Unknown unary operator ${e.operator}`)}}visitBinary(e,t){return new B(e.span,e.sourceSpan,e.operation,e.left.visit(this),e.right.visit(this))}visitPrefixNot(e,t){return new xe(e.span,e.sourceSpan,e.expression.visit(this))}visitNonNullAssert(e,t){return new Se(e.span,e.sourceSpan,e.expression.visit(this))}visitConditional(e,t){return new ce(e.span,e.sourceSpan,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}visitPipe(e,t){return new fe(e.span,e.sourceSpan,e.exp.visit(this),e.name,this.visitAll(e.args),e.nameSpan)}visitKeyedRead(e,t){return new he(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this))}visitKeyedWrite(e,t){return new de(e.span,e.sourceSpan,e.receiver.visit(this),e.key.visit(this),e.value.visit(this))}visitAll(e){let t=[];for(let r=0;r=rt&&e<=nt||e==dt}function Q(e){return Mt<=e&&e<=jt}function mr(e){return e>=ht&&e<=pt||e>=ut&&e<=lt}function mt(e){return e===at||e===st||e===Xt}var Ce,rt,Ot,kt,Nt,bt,nt,Lt,st,Rt,it,Tt,je,at,Ee,z,$t,ot,ee,ct,H,Te,X,te,Bt,ie,Kt,Fe,Mt,jt,ut,Ft,lt,Ae,Ut,re,Wt,Be,ht,Gt,Vt,qt,Qt,Dt,zt,Ht,pt,$e,Ue,_e,dt,Xt,Jt=Y({"node_modules/@angular/compiler/esm2015/src/chars.js"(){L(),Ce=0,rt=9,Ot=10,kt=11,Nt=12,bt=13,nt=32,Lt=33,st=34,Rt=35,it=36,Tt=37,je=38,at=39,Ee=40,z=41,$t=42,ot=43,ee=44,ct=45,H=46,Te=47,X=58,te=59,Bt=60,ie=61,Kt=62,Fe=63,Mt=48,jt=57,ut=65,Ft=69,lt=90,Ae=91,Ut=92,re=93,Wt=94,Be=95,ht=97,Gt=101,Vt=102,qt=110,Qt=114,Dt=116,zt=117,Ht=118,pt=122,$e=123,Ue=124,_e=125,dt=160,Xt=96}}),Yt={};Xe(Yt,{EOF:()=>Ie,Lexer:()=>er,Token:()=>M,TokenType:()=>S,isIdentifier:()=>Zt});function xt(e,t,r){return new M(e,t,S.Character,r,String.fromCharCode(r))}function xr(e,t,r){return new M(e,t,S.Identifier,0,r)}function Sr(e,t,r){return new M(e,t,S.PrivateIdentifier,0,r)}function yr(e,t,r){return new M(e,t,S.Keyword,0,r)}function Ke(e,t,r){return new M(e,t,S.Operator,0,r)}function wr(e,t,r){return new M(e,t,S.String,0,r)}function Pr(e,t,r){return new M(e,t,S.Number,r,"")}function Cr(e,t,r){return new M(e,t,S.Error,0,r)}function We(e){return ht<=e&&e<=pt||ut<=e&&e<=lt||e==Be||e==it}function Zt(e){if(e.length==0)return!1;let t=new Ve(e);if(!We(t.peek))return!1;for(t.advance();t.peek!==Ce;){if(!Ge(t.peek))return!1;t.advance()}return!0}function Ge(e){return mr(e)||Q(e)||e==Be||e==it}function Er(e){return e==Gt||e==Ft}function Ar(e){return e==ct||e==ot}function _r(e){switch(e){case qt:return Ot;case Vt:return Nt;case Qt:return bt;case Dt:return rt;case Ht:return kt;default:return e}}function Ir(e){let t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}var S,St,er,M,Ie,Ve,tr=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/lexer.js"(){L(),Jt(),function(e){e[e.Character=0]="Character",e[e.Identifier=1]="Identifier",e[e.PrivateIdentifier=2]="PrivateIdentifier",e[e.Keyword=3]="Keyword",e[e.String=4]="String",e[e.Operator=5]="Operator",e[e.Number=6]="Number",e[e.Error=7]="Error"}(S||(S={})),St=["var","let","as","null","undefined","true","false","if","else","this"],er=class{tokenize(e){let t=new Ve(e),r=[],n=t.scanToken();for(;n!=null;)r.push(n),n=t.scanToken();return r}},M=class{constructor(e,t,r,n,s){this.index=e,this.end=t,this.type=r,this.numValue=n,this.strValue=s}isCharacter(e){return this.type==S.Character&&this.numValue==e}isNumber(){return this.type==S.Number}isString(){return this.type==S.String}isOperator(e){return this.type==S.Operator&&this.strValue==e}isIdentifier(){return this.type==S.Identifier}isPrivateIdentifier(){return this.type==S.PrivateIdentifier}isKeyword(){return this.type==S.Keyword}isKeywordLet(){return this.type==S.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==S.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==S.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==S.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==S.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==S.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==S.Keyword&&this.strValue=="this"}isError(){return this.type==S.Error}toNumber(){return this.type==S.Number?this.numValue:-1}toString(){switch(this.type){case S.Character:case S.Identifier:case S.Keyword:case S.Operator:case S.PrivateIdentifier:case S.String:case S.Error:return this.strValue;case S.Number:return this.numValue.toString();default:return null}}},Ie=new M(-1,-1,S.Character,0,""),Ve=class{constructor(e){this.input=e,this.peek=0,this.index=-1,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?Ce:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,r=this.peek,n=this.index;for(;r<=nt;)if(++n>=t){r=Ce;break}else r=e.charCodeAt(n);if(this.peek=r,this.index=n,n>=t)return null;if(We(r))return this.scanIdentifier();if(Q(r))return this.scanNumber(n);let s=n;switch(r){case H:return this.advance(),Q(this.peek)?this.scanNumber(s):xt(s,this.index,H);case Ee:case z:case $e:case _e:case Ae:case re:case ee:case X:case te:return this.scanCharacter(s,r);case at:case st:return this.scanString();case Rt:return this.scanPrivateIdentifier();case ot:case ct:case $t:case Te:case Tt:case Wt:return this.scanOperator(s,String.fromCharCode(r));case Fe:return this.scanQuestion(s);case Bt:case Kt:return this.scanComplexOperator(s,String.fromCharCode(r),ie,"=");case Lt:case ie:return this.scanComplexOperator(s,String.fromCharCode(r),ie,"=",ie,"=");case je:return this.scanComplexOperator(s,"&",je,"&");case Ue:return this.scanComplexOperator(s,"|",Ue,"|");case dt:for(;vr(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(r)}]`,0)}scanCharacter(e,t){return this.advance(),xt(e,this.index,t)}scanOperator(e,t){return this.advance(),Ke(e,this.index,t)}scanComplexOperator(e,t,r,n,s,a){this.advance();let i=t;return this.peek==r&&(this.advance(),i+=n),s!=null&&this.peek==s&&(this.advance(),i+=a),Ke(e,this.index,i)}scanIdentifier(){let e=this.index;for(this.advance();Ge(this.peek);)this.advance();let t=this.input.substring(e,this.index);return St.indexOf(t)>-1?yr(e,this.index,t):xr(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!We(this.peek))return this.error("Invalid character [#]",-1);for(;Ge(this.peek);)this.advance();let t=this.input.substring(e,this.index);return Sr(e,this.index,t)}scanNumber(e){let t=this.index===e,r=!1;for(this.advance();;){if(!Q(this.peek))if(this.peek===Be){if(!Q(this.input.charCodeAt(this.index-1))||!Q(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);r=!0}else if(this.peek===H)t=!1;else if(Er(this.peek)){if(this.advance(),Ar(this.peek)&&this.advance(),!Q(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);r&&(n=n.replace(/_/g,""));let s=t?Ir(n):parseFloat(n);return Pr(e,this.index,s)}scanString(){let e=this.index,t=this.peek;this.advance();let r="",n=this.index,s=this.input;for(;this.peek!=t;)if(this.peek==Ut){r+=s.substring(n,this.index),this.advance();let i;if(this.peek=this.peek,this.peek==zt){let h=s.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(h))i=parseInt(h,16);else return this.error(`Invalid unicode escape [\\u${h}]`,0);for(let l=0;l<5;l++)this.advance()}else i=_r(this.peek),this.advance();r+=String.fromCharCode(i),n=this.index}else{if(this.peek==Ce)return this.error("Unterminated quote",0);this.advance()}let a=s.substring(n,this.index);return this.advance(),wr(e,this.index,r+a)}scanQuestion(e){this.advance();let t="?";return(this.peek===Fe||this.peek===H)&&(t+=this.peek===H?".":"?",this.advance()),Ke(e,this.index,t)}error(e,t){let r=this.index+t;return Cr(r,this.index,`Lexer Error: ${e} at column ${r} in expression [${this.input}]`)}}}});function Or(e,t){if(t!=null&&!(Array.isArray(t)&&t.length==2))throw new Error(`Expected '${e}' to be an array, [start, end].`);if(t!=null){let r=t[0],n=t[1];rr.forEach(s=>{if(s.test(r)||s.test(n))throw new Error(`['${r}', '${n}'] contains unusable interpolation symbol.`)})}}var rr,kr=Y({"node_modules/@angular/compiler/esm2015/src/assertions.js"(){L(),rr=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//]}}),Me,J,Nr=Y({"node_modules/@angular/compiler/esm2015/src/ml_parser/interpolation_config.js"(){L(),kr(),Me=class{constructor(e,t){this.start=e,this.end=t}static fromArray(e){return e?(Or("interpolation",e),new Me(e[0],e[1])):J}},J=new Me("{{","}}")}}),nr={};Xe(nr,{IvyParser:()=>sr,Parser:()=>De,SplitInterpolation:()=>qe,TemplateBindingParseResult:()=>Qe,_ParseAST:()=>D});var qe,Qe,De,sr,Z,D,yt,wt,br=Y({"node_modules/@angular/compiler/esm2015/src/expression_parser/parser.js"(){L(),Jt(),Nr(),tt(),tr(),qe=class{constructor(e,t,r){this.strings=e,this.expressions=t,this.offsets=r}},Qe=class{constructor(e,t,r){this.templateBindings=e,this.warnings=t,this.errors=r}},De=class{constructor(e){this._lexer=e,this.errors=[],this.simpleExpressionChecker=yt}parseAction(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J;this._checkNoInterpolation(e,t,n);let s=this._stripComments(e),a=this._lexer.tokenize(this._stripComments(e)),i=new D(e,t,r,a,s.length,!0,this.errors,e.length-s.length).parseChain();return new G(i,e,t,r,this.errors)}parseBinding(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,r,n);return new G(s,e,t,r,this.errors)}checkSimpleExpression(e){let t=new this.simpleExpressionChecker;return e.visit(t),t.errors}parseSimpleBinding(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,s=this._parseBindingAst(e,t,r,n),a=this.checkSimpleExpression(s);return a.length>0&&this._reportError(`Host binding expression cannot contain ${a.join(" ")}`,e,t),new G(s,e,t,r,this.errors)}_reportError(e,t,r,n){this.errors.push(new ae(e,t,r,n))}_parseBindingAst(e,t,r,n){let s=this._parseQuote(e,t,r);if(s!=null)return s;this._checkNoInterpolation(e,t,n);let a=this._stripComments(e),i=this._lexer.tokenize(a);return new D(e,t,r,i,a.length,!1,this.errors,e.length-a.length).parseChain()}_parseQuote(e,t,r){if(e==null)return null;let n=e.indexOf(":");if(n==-1)return null;let s=e.substring(0,n).trim();if(!Zt(s))return null;let a=e.substring(n+1),i=new V(0,e.length);return new Le(i,i.toAbsolute(r),s,a,t)}parseTemplateBindings(e,t,r,n,s){let a=this._lexer.tokenize(t);return new D(t,r,s,a,t.length,!1,this.errors,0).parseTemplateBindings({source:e,span:new U(n,n+e.length)})}parseInterpolation(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:J,{strings:s,expressions:a,offsets:i}=this.splitInterpolation(e,t,n);if(a.length===0)return null;let h=[];for(let l=0;ll.text),h,e,t,r)}parseInterpolationExpression(e,t,r){let n=this._stripComments(e),s=this._lexer.tokenize(n),a=new D(e,t,r,s,n.length,!1,this.errors,0).parseChain(),i=["",""];return this.createInterpolationAst(i,[a],e,t,r)}createInterpolationAst(e,t,r,n,s){let a=new V(0,r.length),i=new me(a,a.toAbsolute(s),e,t);return new G(i,r,n,s,this.errors)}splitInterpolation(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:J,n=[],s=[],a=[],i=0,h=!1,l=!1,{start:P,end:p}=r;for(;i-1)break;a>-1&&i>-1&&this._reportError(`Got interpolation (${n}${s}) where expression was expected`,e,`at column ${a} in`,t)}_getInterpolationEndIndex(e,t,r){for(let n of this._forEachUnquotedChar(e,r)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let r=null,n=0;for(let s=t;s=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.inputLength+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let r=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(r=t),e>r){let n=r;r=e,e=n}return new V(e,r)}sourceSpan(e,t){let r=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(r)||this.sourceSpanCache.set(r,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(r)}advance(){this.index++}withContext(e,t){this.context|=e;let r=t();return this.context^=e,r}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===Ie?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==S.Operator;){let r=this.next.strValue;switch(r){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==S.Operator;){let r=this.next.strValue;switch(r){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new B(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parsePrefix(){if(this.next.type==S.Operator){let e=this.inputIndex,t=this.next.strValue,r;switch(t){case"+":return this.advance(),r=this.parsePrefix(),F.createPlus(this.span(e),this.sourceSpan(e),r);case"-":return this.advance(),r=this.parsePrefix(),F.createMinus(this.span(e),this.sourceSpan(e),r);case"!":return this.advance(),r=this.parsePrefix(),new xe(this.span(e),this.sourceSpan(e),r)}}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(H))t=this.parseAccessMemberOrMethodCall(t,e,!1);else if(this.consumeOptionalOperator("?."))t=this.consumeOptionalCharacter(Ae)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMemberOrMethodCall(t,e,!0);else if(this.consumeOptionalCharacter(Ae))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(z),t=new Pe(this.span(e),this.sourceSpan(e),t,r)}else if(this.consumeOptionalOperator("!"))t=new Se(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(Ee)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(z),t}else{if(this.next.isKeywordNull())return this.advance(),new $(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new $(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new $(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new $(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Ye(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(Ae)){this.rbracketsExpected++;let t=this.parseExpressionList(re);return this.rbracketsExpected--,this.expectCharacter(re),new ge(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter($e))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Oe(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new $(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new $(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new K(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new K(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new K(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(ee));return t}parseLiteralMap(){let e=[],t=[],r=this.inputIndex;if(this.expectCharacter($e),!this.consumeOptionalCharacter(_e)){this.rbracesExpected++;do{let n=this.inputIndex,s=this.next.isString(),a=this.expectIdentifierOrKeywordOrString();if(e.push({key:a,quoted:s}),s)this.expectCharacter(X),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(X))t.push(this.parsePipe());else{let i=this.span(n),h=this.sourceSpan(n);t.push(new ne(i,h,h,new Oe(i,h),a))}}while(this.consumeOptionalCharacter(ee));this.rbracesExpected--,this.expectCharacter(_e)}return new ve(this.span(r),this.sourceSpan(r),e,t)}parseAccessMemberOrMethodCall(e,t,r){let n=this.inputIndex,s=this.withContext(Z.Writable,()=>{var i;let h=(i=this.expectIdentifierOrKeyword())!==null&&i!==void 0?i:"";return h.length===0&&this.error("Expected identifier for property access",e.span.end),h}),a=this.sourceSpan(n);if(this.consumeOptionalCharacter(Ee)){let i=this.inputIndex;this.rparensExpected++;let h=this.parseCallArguments(),l=this.span(i,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(z),this.rparensExpected--;let P=this.span(t),p=this.sourceSpan(t);return r?new we(P,p,a,e,s,h,l):new ye(P,p,a,e,s,h,l)}else{if(r)return this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new K(this.span(t),this.sourceSpan(t))):new le(this.span(t),this.sourceSpan(t),a,e,s);if(this.consumeOptionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new K(this.span(t),this.sourceSpan(t));let i=this.parseConditional();return new ue(this.span(t),this.sourceSpan(t),a,e,s,i)}else return new ne(this.span(t),this.sourceSpan(t),a,e,s)}}parseCallArguments(){if(this.next.isCharacter(z))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(ee));return e}expectTemplateBindingKey(){let e="",t=!1,r=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new U(r,r+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof K&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(re),this.consumeOptionalOperator("="))if(r)this.error("The '?.' operator cannot be used in the assignment");else{let s=this.parseConditional();return new de(this.span(t),this.sourceSpan(t),e,n,s)}else return r?new pe(this.span(t),this.sourceSpan(t),e,n):new he(this.span(t),this.sourceSpan(t),e,n);return new K(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(X);let r=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,s=this.parseAsBinding(e);s||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let a=new U(e.span.start,n);return t.push(new Ze(a,e,r)),s&&t.push(s),t}getDirectiveBoundTarget(){if(this.next===Ie||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:r}=e.span,n=this.input.substring(t,r);return new G(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let r=new U(e.span.start,this.currentAbsoluteOffset);return new Re(r,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),r=null;this.consumeOptionalOperator("=")&&(r=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new U(e,this.currentAbsoluteOffset);return new Re(n,t,r)}consumeStatementTerminator(){this.consumeOptionalCharacter(te)||this.consumeOptionalCharacter(ee)}error(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.errors.push(new ae(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return e==null&&(e=this.index),er.visit(this,t))}visitChain(e,t){}visitQuote(e,t){}visitSafeKeyedRead(e,t){}},wt=class extends et{constructor(){super(...arguments),this.errors=[]}visitPipe(){this.errors.push("pipes")}}}}),ft=q({"node_modules/angular-estree-parser/lib/utils.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.getLast=e.toLowerCamelCase=e.findBackChar=e.findFrontChar=e.fitSpans=e.getNgType=e.parseNgInterpolation=e.parseNgTemplateBindings=e.parseNgAction=e.parseNgSimpleBinding=e.parseNgBinding=e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX=void 0;var t=(tt(),be(Je)),r=(tr(),be(Yt)),n=(br(),be(nr)),s="angular-estree-parser";e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX="NgEstreeParser";var a=0,i=[s,a];function h(){return new n.Parser(new r.Lexer)}function l(o,d){let y=h(),{astInput:E,comments:A}=T(o,y),{ast:I,errors:j}=d(E,y);return R(j),{ast:I,comments:A}}function P(o){return l(o,(d,y)=>y.parseBinding(d,...i))}e.parseNgBinding=P;function p(o){return l(o,(d,y)=>y.parseSimpleBinding(d,...i))}e.parseNgSimpleBinding=p;function x(o){return l(o,(d,y)=>y.parseAction(d,...i))}e.parseNgAction=x;function C(o){let d=h(),{templateBindings:y,errors:E}=d.parseTemplateBindings(e.NG_PARSE_TEMPLATE_BINDINGS_FAKE_PREFIX,o,s,a,a);return R(E),y}e.parseNgTemplateBindings=C;function b(o){let d=h(),{astInput:y,comments:E}=T(o,d),A="{{",I="}}",{ast:j,errors:or}=d.parseInterpolation(A+y+I,...i);R(or);let gt=j.expressions[0],vt=new Set;return _(gt,ke=>{vt.has(ke)||(ke.start-=A.length,ke.end-=A.length,vt.add(ke))}),{ast:gt,comments:E}}e.parseNgInterpolation=b;function _(o,d){if(!(!o||typeof o!="object")){if(Array.isArray(o))return o.forEach(y=>_(y,d));for(let y of Object.keys(o)){let E=o[y];y==="span"?d(E):_(E,d)}}}function R(o){if(o.length!==0){let[{message:d}]=o;throw new SyntaxError(d.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}function T(o,d){let y=d._commentStart(o);return y===null?{astInput:o,comments:[]}:{astInput:o.slice(0,y),comments:[{type:"Comment",value:o.slice(y+2),span:{start:y,end:o.length}}]}}function O(o){return t.Unary&&o instanceof t.Unary?"Unary":o instanceof t.Binary?"Binary":o instanceof t.BindingPipe?"BindingPipe":o instanceof t.Chain?"Chain":o instanceof t.Conditional?"Conditional":o instanceof t.EmptyExpr?"EmptyExpr":o instanceof t.FunctionCall?"FunctionCall":o instanceof t.ImplicitReceiver?"ImplicitReceiver":o instanceof t.KeyedRead?"KeyedRead":o instanceof t.KeyedWrite?"KeyedWrite":o instanceof t.LiteralArray?"LiteralArray":o instanceof t.LiteralMap?"LiteralMap":o instanceof t.LiteralPrimitive?"LiteralPrimitive":o instanceof t.MethodCall?"MethodCall":o instanceof t.NonNullAssert?"NonNullAssert":o instanceof t.PrefixNot?"PrefixNot":o instanceof t.PropertyRead?"PropertyRead":o instanceof t.PropertyWrite?"PropertyWrite":o instanceof t.Quote?"Quote":o instanceof t.SafeMethodCall?"SafeMethodCall":o instanceof t.SafePropertyRead?"SafePropertyRead":o.type}e.getNgType=O;function N(o,d){let{start:y,end:E}=o,A=y,I=E;for(;I!==A&&/\s/.test(d[I-1]);)I--;for(;A!==I&&/\s/.test(d[A]);)A++;return{start:A,end:I}}function c(o,d){let{start:y,end:E}=o,A=y,I=E;for(;I!==d.length&&/\s/.test(d[I]);)I++;for(;A!==0&&/\s/.test(d[A-1]);)A--;return{start:A,end:I}}function g(o,d){return d[o.start-1]==="("&&d[o.end]===")"?{start:o.start-1,end:o.end+1}:o}function u(o,d,y){let E=0,A={start:o.start,end:o.end};for(;;){let I=c(A,d),j=g(I,d);if(I.start===j.start&&I.end===j.end)break;A.start=j.start,A.end=j.end,E++}return{hasParens:(y?E-1:E)!==0,outerSpan:N(y?{start:A.start+1,end:A.end-1}:A,d),innerSpan:N(o,d)}}e.fitSpans=u;function v(o,d,y){let E=d;for(;!o.test(y[E]);)if(--E<0)throw new Error(`Cannot find front char ${o} from index ${d} in ${JSON.stringify(y)}`);return E}e.findFrontChar=v;function m(o,d,y){let E=d;for(;!o.test(y[E]);)if(++E>=y.length)throw new Error(`Cannot find back char ${o} from index ${d} in ${JSON.stringify(y)}`);return E}e.findBackChar=m;function f(o){return o.slice(0,1).toLowerCase()+o.slice(1)}e.toLowerCamelCase=f;function w(o){return o.length===0?void 0:o[o.length-1]}e.getLast=w}}),ir=q({"node_modules/angular-estree-parser/lib/transform.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformSpan=e.transform=void 0;var t=ft(),r=function(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=t.getNgType(s);switch(h){case"Unary":{let{operator:c,expr:g}=s,u=l(g);return p("UnaryExpression",{prefix:!0,argument:u,operator:c},s.span,{hasParentParens:i})}case"Binary":{let{left:c,operation:g,right:u}=s,v=u.span.start===u.span.end,m=c.span.start===c.span.end;if(v||m){let o=c.span.start===c.span.end?l(u):l(c);return p("UnaryExpression",{prefix:!0,argument:o,operator:v?"+":"-"},{start:s.span.start,end:N(o)},{hasParentParens:i})}let f=l(c),w=l(u);return p(g==="&&"||g==="||"?"LogicalExpression":"BinaryExpression",{left:f,right:w,operator:g},{start:O(f),end:N(w)},{hasParentParens:i})}case"BindingPipe":{let{exp:c,name:g,args:u}=s,v=l(c),m=b(/\S/,b(/\|/,N(v))+1),f=p("Identifier",{name:g},{start:m,end:m+g.length}),w=u.map(l);return p("NGPipeExpression",{left:v,right:f,arguments:w},{start:O(v),end:N(w.length===0?f:t.getLast(w))},{hasParentParens:i})}case"Chain":{let{expressions:c}=s;return p("NGChainedExpression",{expressions:c.map(l)},s.span,{hasParentParens:i})}case"Comment":{let{value:c}=s;return p("CommentLine",{value:c},s.span,{processSpan:!1})}case"Conditional":{let{condition:c,trueExp:g,falseExp:u}=s,v=l(c),m=l(g),f=l(u);return p("ConditionalExpression",{test:v,consequent:m,alternate:f},{start:O(v),end:N(f)},{hasParentParens:i})}case"EmptyExpr":return p("NGEmptyExpression",{},s.span,{hasParentParens:i});case"FunctionCall":{let{target:c,args:g}=s,u=g.length===1?[P(g[0])]:g.map(l),v=l(c);return p("CallExpression",{callee:v,arguments:u},{start:O(v),end:s.span.end},{hasParentParens:i})}case"ImplicitReceiver":return p("ThisExpression",{},s.span,{hasParentParens:i});case"KeyedRead":{let{key:c}=s,g=Object.prototype.hasOwnProperty.call(s,"receiver")?s.receiver:s.obj,u=l(c);return x(g,u,{computed:!0,optional:!1},{end:s.span.end,hasParentParens:i})}case"LiteralArray":{let{expressions:c}=s;return p("ArrayExpression",{elements:c.map(l)},s.span,{hasParentParens:i})}case"LiteralMap":{let{keys:c,values:g}=s,u=g.map(m=>l(m)),v=c.map((m,f)=>{let{key:w,quoted:o}=m,d=u[f],y=b(/\S/,f===0?s.span.start+1:b(/,/,N(u[f-1]))+1),E=C(/\S/,C(/:/,O(d)-1)-1)+1,A={start:y,end:E},I=o?p("StringLiteral",{value:w},A):p("Identifier",{name:w},A),j=I.end3&&arguments[3]!==void 0?arguments[3]:{},f=Object.assign(Object.assign({type:c},n(u,a,v,m)),g);switch(c){case"Identifier":{let w=f;w.loc.identifierName=w.name;break}case"NumericLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}case"StringLiteral":{let w=f;w.extra=Object.assign(Object.assign({},w.extra),{raw:a.text.slice(w.start,w.end),rawValue:w.value});break}}return f}function x(c,g,u){let{end:v=N(g),hasParentParens:m=!1}=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(_(c)||c.span.start===g.start)return g;let f=l(c),w=R(f);return p(u.optional||w?"OptionalMemberExpression":"MemberExpression",Object.assign({object:f,property:g,computed:u.computed},u.optional?{optional:!0}:w?{optional:!1}:null),{start:O(f),end:v},{hasParentParens:m})}function C(c,g){return t.findFrontChar(c,g,a.text)}function b(c,g){return t.findBackChar(c,g,a.text)}function _(c){return c.span.start>=c.span.end||/^\s+$/.test(a.text.slice(c.span.start,c.span.end))}function R(c){return(c.type==="OptionalCallExpression"||c.type==="OptionalMemberExpression")&&!T(c)}function T(c){return c.extra&&c.extra.parenthesized}function O(c){return T(c)?c.extra.parenStart:c.start}function N(c){return T(c)?c.extra.parenEnd:c.end}};e.transform=r;function n(s,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!i){let{start:x,end:C}=s;return{start:x,end:C,loc:{start:a.locator.locationForIndex(x),end:a.locator.locationForIndex(C)}}}let{outerSpan:l,innerSpan:P,hasParens:p}=t.fitSpans(s,a.text,h);return Object.assign({start:P.start,end:P.end,loc:{start:a.locator.locationForIndex(P.start),end:a.locator.locationForIndex(P.end)}},p&&{extra:{parenthesized:!0,parenStart:l.start,parenEnd:l.end}})}e.transformSpan=n}}),Lr=q({"node_modules/angular-estree-parser/lib/transform-microsyntax.js"(e){"use strict";L(),Object.defineProperty(e,"__esModule",{value:!0}),e.transformTemplateBindings=void 0;var t=(tt(),be(Je)),r=ir(),n=ft();function s(a,i){a.forEach(N);let[h]=a,{key:l}=h,P=i.text.slice(h.sourceSpan.start,h.sourceSpan.end).trim().length===0?a.slice(1):a,p=[],x=null;for(let u=0;uObject.assign(Object.assign({},d),r.transformSpan({start:d.start,end:y},i)),w=d=>Object.assign(Object.assign({},f(d,m.end)),{alias:m}),o=p.pop();if(o.type==="NGMicrosyntaxExpression")p.push(w(o));else if(o.type==="NGMicrosyntaxKeyedExpression"){let d=w(o.expression);p.push(f(Object.assign(Object.assign({},o),{expression:d}),d.end))}else throw new Error(`Unexpected type ${o.type}`)}else p.push(C(v,u));x=v}return _("NGMicrosyntax",{body:p},p.length===0?a[0].sourceSpan:{start:p[0].start,end:p[p.length-1].end});function C(u,v){if(T(u)){let{key:m,value:f}=u;return f?v===0?_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan):_("NGMicrosyntaxKeyedExpression",{key:_("NGMicrosyntaxKey",{name:R(m.source)},m.span),expression:_("NGMicrosyntaxExpression",{expression:b(f.ast),alias:null},f.sourceSpan)},{start:m.span.start,end:f.sourceSpan.end}):_("NGMicrosyntaxKey",{name:R(m.source)},m.span)}else{let{key:m,sourceSpan:f}=u;if(/^let\s$/.test(i.text.slice(f.start,f.start+4))){let{value:o}=u;return _("NGMicrosyntaxLet",{key:_("NGMicrosyntaxKey",{name:m.source},m.span),value:o?_("NGMicrosyntaxKey",{name:o.source},o.span):null},{start:f.start,end:o?o.span.end:m.span.end})}else{let o=g(u);return _("NGMicrosyntaxAs",{key:_("NGMicrosyntaxKey",{name:o.source},o.span),alias:_("NGMicrosyntaxKey",{name:m.source},m.span)},{start:o.span.start,end:m.span.end})}}}function b(u){return r.transform(u,i)}function _(u,v,m){let f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;return Object.assign(Object.assign({type:u},r.transformSpan(m,i,f)),v)}function R(u){return n.toLowerCamelCase(u.slice(l.source.length))}function T(u){return u instanceof t.ExpressionBinding}function O(u){return u instanceof t.VariableBinding}function N(u){c(u.key.span),O(u)&&u.value&&c(u.value.span)}function c(u){if(i.text[u.start]!=='"'&&i.text[u.start]!=="'")return;let v=i.text[u.start],m=!1;for(let f=u.start+1;fr.transform(N,R),O=T(b);return O.comments=_.map(T),O}function i(x){return a(x,s.parseNgBinding)}e.parseBinding=i;function h(x){return a(x,s.parseNgSimpleBinding)}e.parseSimpleBinding=h;function l(x){return a(x,s.parseNgInterpolation)}e.parseInterpolation=l;function P(x){return a(x,s.parseNgAction)}e.parseAction=P;function p(x){return n.transformTemplateBindings(s.parseNgTemplateBindings(x),new t.Context(x))}e.parseTemplateBindings=p}});L();var{locStart:Tr,locEnd:$r}=dr();function Ne(e){return{astFormat:"estree",parse:(r,n,s)=>{let a=Rr(),i=e(r,a);return{type:"NGRoot",node:s.parser==="__ng_action"&&i.type!=="NGChainedExpression"?Object.assign(Object.assign({},i),{},{type:"NGChainedExpression",expressions:[i]}):i}},locStart:Tr,locEnd:$r}}ar.exports={parsers:{__ng_action:Ne((e,t)=>t.parseAction(e)),__ng_binding:Ne((e,t)=>t.parseBinding(e)),__ng_interpolation:Ne((e,t)=>t.parseInterpolation(e)),__ng_directive:Ne((e,t)=>t.parseTemplateBindings(e))}}});return Br();}); + +/***/ }, + +/***/ 84455 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var E=(l,h)=>()=>(h||l((h={exports:{}}).exports,h),h.exports);var re=E((xd,Zr)=>{var Ct=function(l){return l&&l.Math==Math&&l};Zr.exports=Ct(typeof globalThis=="object"&&globalThis)||Ct(typeof window=="object"&&window)||Ct(typeof self=="object"&&self)||Ct(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var ie=E((gd,ei)=>{ei.exports=function(l){try{return!!l()}catch{return!0}}});var ye=E((Pd,ti)=>{var kh=ie();ti.exports=!kh(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var bt=E((Ad,si)=>{var Dh=ie();si.exports=!Dh(function(){var l=function(){}.bind();return typeof l!="function"||l.hasOwnProperty("prototype")})});var wt=E((Td,ri)=>{var Fh=bt(),St=Function.prototype.call;ri.exports=Fh?St.bind(St):function(){return St.apply(St,arguments)}});var oi=E(ni=>{"use strict";var ii={}.propertyIsEnumerable,ai=Object.getOwnPropertyDescriptor,Lh=ai&&!ii.call({1:2},1);ni.f=Lh?function(h){var p=ai(this,h);return!!p&&p.enumerable}:ii});var fs=E((Ed,li)=>{li.exports=function(l,h){return{enumerable:!(l&1),configurable:!(l&2),writable:!(l&4),value:h}}});var ae=E((Cd,ci)=>{var hi=bt(),ui=Function.prototype,ds=ui.call,Oh=hi&&ui.bind.bind(ds,ds);ci.exports=hi?Oh:function(l){return function(){return ds.apply(l,arguments)}}});var Ye=E((bd,fi)=>{var pi=ae(),Bh=pi({}.toString),Mh=pi("".slice);fi.exports=function(l){return Mh(Bh(l),8,-1)}});var mi=E((Sd,di)=>{var _h=ae(),Rh=ie(),jh=Ye(),ms=Object,qh=_h("".split);di.exports=Rh(function(){return!ms("z").propertyIsEnumerable(0)})?function(l){return jh(l)=="String"?qh(l,""):ms(l)}:ms});var ys=E((wd,yi)=>{yi.exports=function(l){return l==null}});var xs=E((Id,xi)=>{var Uh=ys(),$h=TypeError;xi.exports=function(l){if(Uh(l))throw $h("Can't call method on "+l);return l}});var It=E((Nd,gi)=>{var Hh=mi(),zh=xs();gi.exports=function(l){return Hh(zh(l))}});var Ps=E((kd,Pi)=>{var gs=typeof document=="object"&&document.all,Vh=typeof gs>"u"&&gs!==void 0;Pi.exports={all:gs,IS_HTMLDDA:Vh}});var ee=E((Dd,Ti)=>{var Ai=Ps(),Kh=Ai.all;Ti.exports=Ai.IS_HTMLDDA?function(l){return typeof l=="function"||l===Kh}:function(l){return typeof l=="function"}});var Ie=E((Fd,Ci)=>{var vi=ee(),Ei=Ps(),Wh=Ei.all;Ci.exports=Ei.IS_HTMLDDA?function(l){return typeof l=="object"?l!==null:vi(l)||l===Wh}:function(l){return typeof l=="object"?l!==null:vi(l)}});var Qe=E((Ld,bi)=>{var As=re(),Gh=ee(),Jh=function(l){return Gh(l)?l:void 0};bi.exports=function(l,h){return arguments.length<2?Jh(As[l]):As[l]&&As[l][h]}});var wi=E((Od,Si)=>{var Xh=ae();Si.exports=Xh({}.isPrototypeOf)});var Ni=E((Bd,Ii)=>{var Yh=Qe();Ii.exports=Yh("navigator","userAgent")||""});var Mi=E((Md,Bi)=>{var Oi=re(),Ts=Ni(),ki=Oi.process,Di=Oi.Deno,Fi=ki&&ki.versions||Di&&Di.version,Li=Fi&&Fi.v8,ne,Nt;Li&&(ne=Li.split("."),Nt=ne[0]>0&&ne[0]<4?1:+(ne[0]+ne[1]));!Nt&&Ts&&(ne=Ts.match(/Edge\/(\d+)/),(!ne||ne[1]>=74)&&(ne=Ts.match(/Chrome\/(\d+)/),ne&&(Nt=+ne[1])));Bi.exports=Nt});var vs=E((_d,Ri)=>{var _i=Mi(),Qh=ie();Ri.exports=!!Object.getOwnPropertySymbols&&!Qh(function(){var l=Symbol();return!String(l)||!(Object(l)instanceof Symbol)||!Symbol.sham&&_i&&_i<41})});var Es=E((Rd,ji)=>{var Zh=vs();ji.exports=Zh&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Cs=E((jd,qi)=>{var eu=Qe(),tu=ee(),su=wi(),ru=Es(),iu=Object;qi.exports=ru?function(l){return typeof l=="symbol"}:function(l){var h=eu("Symbol");return tu(h)&&su(h.prototype,iu(l))}});var $i=E((qd,Ui)=>{var au=String;Ui.exports=function(l){try{return au(l)}catch{return"Object"}}});var kt=E((Ud,Hi)=>{var nu=ee(),ou=$i(),lu=TypeError;Hi.exports=function(l){if(nu(l))return l;throw lu(ou(l)+" is not a function")}});var Vi=E(($d,zi)=>{var hu=kt(),uu=ys();zi.exports=function(l,h){var p=l[h];return uu(p)?void 0:hu(p)}});var Wi=E((Hd,Ki)=>{var bs=wt(),Ss=ee(),ws=Ie(),cu=TypeError;Ki.exports=function(l,h){var p,d;if(h==="string"&&Ss(p=l.toString)&&!ws(d=bs(p,l))||Ss(p=l.valueOf)&&!ws(d=bs(p,l))||h!=="string"&&Ss(p=l.toString)&&!ws(d=bs(p,l)))return d;throw cu("Can't convert object to primitive value")}});var Ji=E((zd,Gi)=>{Gi.exports=!1});var Dt=E((Vd,Yi)=>{var Xi=re(),pu=Object.defineProperty;Yi.exports=function(l,h){try{pu(Xi,l,{value:h,configurable:!0,writable:!0})}catch{Xi[l]=h}return h}});var Ft=E((Kd,Zi)=>{var fu=re(),du=Dt(),Qi="__core-js_shared__",mu=fu[Qi]||du(Qi,{});Zi.exports=mu});var Is=E((Wd,ta)=>{var yu=Ji(),ea=Ft();(ta.exports=function(l,h){return ea[l]||(ea[l]=h!==void 0?h:{})})("versions",[]).push({version:"3.26.1",mode:yu?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ns=E((Gd,sa)=>{var xu=xs(),gu=Object;sa.exports=function(l){return gu(xu(l))}});var ve=E((Jd,ra)=>{var Pu=ae(),Au=Ns(),Tu=Pu({}.hasOwnProperty);ra.exports=Object.hasOwn||function(h,p){return Tu(Au(h),p)}});var ks=E((Xd,ia)=>{var vu=ae(),Eu=0,Cu=Math.random(),bu=vu(1 .toString);ia.exports=function(l){return"Symbol("+(l===void 0?"":l)+")_"+bu(++Eu+Cu,36)}});var Ze=E((Yd,ha)=>{var Su=re(),wu=Is(),aa=ve(),Iu=ks(),na=vs(),la=Es(),qe=wu("wks"),Ne=Su.Symbol,oa=Ne&&Ne.for,Nu=la?Ne:Ne&&Ne.withoutSetter||Iu;ha.exports=function(l){if(!aa(qe,l)||!(na||typeof qe[l]=="string")){var h="Symbol."+l;na&&aa(Ne,l)?qe[l]=Ne[l]:la&&oa?qe[l]=oa(h):qe[l]=Nu(h)}return qe[l]}});var fa=E((Qd,pa)=>{var ku=wt(),ua=Ie(),ca=Cs(),Du=Vi(),Fu=Wi(),Lu=Ze(),Ou=TypeError,Bu=Lu("toPrimitive");pa.exports=function(l,h){if(!ua(l)||ca(l))return l;var p=Du(l,Bu),d;if(p){if(h===void 0&&(h="default"),d=ku(p,l,h),!ua(d)||ca(d))return d;throw Ou("Can't convert object to primitive value")}return h===void 0&&(h="number"),Fu(l,h)}});var Ds=E((Zd,da)=>{var Mu=fa(),_u=Cs();da.exports=function(l){var h=Mu(l,"string");return _u(h)?h:h+""}});var xa=E((em,ya)=>{var Ru=re(),ma=Ie(),Fs=Ru.document,ju=ma(Fs)&&ma(Fs.createElement);ya.exports=function(l){return ju?Fs.createElement(l):{}}});var Ls=E((tm,ga)=>{var qu=ye(),Uu=ie(),$u=xa();ga.exports=!qu&&!Uu(function(){return Object.defineProperty($u("div"),"a",{get:function(){return 7}}).a!=7})});var Os=E(Aa=>{var Hu=ye(),zu=wt(),Vu=oi(),Ku=fs(),Wu=It(),Gu=Ds(),Ju=ve(),Xu=Ls(),Pa=Object.getOwnPropertyDescriptor;Aa.f=Hu?Pa:function(h,p){if(h=Wu(h),p=Gu(p),Xu)try{return Pa(h,p)}catch{}if(Ju(h,p))return Ku(!zu(Vu.f,h,p),h[p])}});var va=E((rm,Ta)=>{var Yu=ye(),Qu=ie();Ta.exports=Yu&&Qu(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Lt=E((im,Ea)=>{var Zu=Ie(),ec=String,tc=TypeError;Ea.exports=function(l){if(Zu(l))return l;throw tc(ec(l)+" is not an object")}});var et=E(ba=>{var sc=ye(),rc=Ls(),ic=va(),Ot=Lt(),Ca=Ds(),ac=TypeError,Bs=Object.defineProperty,nc=Object.getOwnPropertyDescriptor,Ms="enumerable",_s="configurable",Rs="writable";ba.f=sc?ic?function(h,p,d){if(Ot(h),p=Ca(p),Ot(d),typeof h=="function"&&p==="prototype"&&"value"in d&&Rs in d&&!d[Rs]){var x=nc(h,p);x&&x[Rs]&&(h[p]=d.value,d={configurable:_s in d?d[_s]:x[_s],enumerable:Ms in d?d[Ms]:x[Ms],writable:!1})}return Bs(h,p,d)}:Bs:function(h,p,d){if(Ot(h),p=Ca(p),Ot(d),rc)try{return Bs(h,p,d)}catch{}if("get"in d||"set"in d)throw ac("Accessors not supported");return"value"in d&&(h[p]=d.value),h}});var js=E((nm,Sa)=>{var oc=ye(),lc=et(),hc=fs();Sa.exports=oc?function(l,h,p){return lc.f(l,h,hc(1,p))}:function(l,h,p){return l[h]=p,l}});var Na=E((om,Ia)=>{var qs=ye(),uc=ve(),wa=Function.prototype,cc=qs&&Object.getOwnPropertyDescriptor,Us=uc(wa,"name"),pc=Us&&function(){}.name==="something",fc=Us&&(!qs||qs&&cc(wa,"name").configurable);Ia.exports={EXISTS:Us,PROPER:pc,CONFIGURABLE:fc}});var Hs=E((lm,ka)=>{var dc=ae(),mc=ee(),$s=Ft(),yc=dc(Function.toString);mc($s.inspectSource)||($s.inspectSource=function(l){return yc(l)});ka.exports=$s.inspectSource});var La=E((hm,Fa)=>{var xc=re(),gc=ee(),Da=xc.WeakMap;Fa.exports=gc(Da)&&/native code/.test(String(Da))});var Ma=E((um,Ba)=>{var Pc=Is(),Ac=ks(),Oa=Pc("keys");Ba.exports=function(l){return Oa[l]||(Oa[l]=Ac(l))}});var zs=E((cm,_a)=>{_a.exports={}});var Ua=E((pm,qa)=>{var Tc=La(),ja=re(),vc=Ie(),Ec=js(),Vs=ve(),Ks=Ft(),Cc=Ma(),bc=zs(),Ra="Object already initialized",Ws=ja.TypeError,Sc=ja.WeakMap,Bt,tt,Mt,wc=function(l){return Mt(l)?tt(l):Bt(l,{})},Ic=function(l){return function(h){var p;if(!vc(h)||(p=tt(h)).type!==l)throw Ws("Incompatible receiver, "+l+" required");return p}};Tc||Ks.state?(oe=Ks.state||(Ks.state=new Sc),oe.get=oe.get,oe.has=oe.has,oe.set=oe.set,Bt=function(l,h){if(oe.has(l))throw Ws(Ra);return h.facade=l,oe.set(l,h),h},tt=function(l){return oe.get(l)||{}},Mt=function(l){return oe.has(l)}):(ke=Cc("state"),bc[ke]=!0,Bt=function(l,h){if(Vs(l,ke))throw Ws(Ra);return h.facade=l,Ec(l,ke,h),h},tt=function(l){return Vs(l,ke)?l[ke]:{}},Mt=function(l){return Vs(l,ke)});var oe,ke;qa.exports={set:Bt,get:tt,has:Mt,enforce:wc,getterFor:Ic}});var Js=E((fm,Ha)=>{var Nc=ie(),kc=ee(),_t=ve(),Gs=ye(),Dc=Na().CONFIGURABLE,Fc=Hs(),$a=Ua(),Lc=$a.enforce,Oc=$a.get,Rt=Object.defineProperty,Bc=Gs&&!Nc(function(){return Rt(function(){},"length",{value:8}).length!==8}),Mc=String(String).split("String"),_c=Ha.exports=function(l,h,p){String(h).slice(0,7)==="Symbol("&&(h="["+String(h).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),p&&p.getter&&(h="get "+h),p&&p.setter&&(h="set "+h),(!_t(l,"name")||Dc&&l.name!==h)&&(Gs?Rt(l,"name",{value:h,configurable:!0}):l.name=h),Bc&&p&&_t(p,"arity")&&l.length!==p.arity&&Rt(l,"length",{value:p.arity});try{p&&_t(p,"constructor")&&p.constructor?Gs&&Rt(l,"prototype",{writable:!1}):l.prototype&&(l.prototype=void 0)}catch{}var d=Lc(l);return _t(d,"source")||(d.source=Mc.join(typeof h=="string"?h:"")),l};Function.prototype.toString=_c(function(){return kc(this)&&Oc(this).source||Fc(this)},"toString")});var Va=E((dm,za)=>{var Rc=ee(),jc=et(),qc=Js(),Uc=Dt();za.exports=function(l,h,p,d){d||(d={});var x=d.enumerable,P=d.name!==void 0?d.name:h;if(Rc(p)&&qc(p,P,d),d.global)x?l[h]=p:Uc(h,p);else{try{d.unsafe?l[h]&&(x=!0):delete l[h]}catch{}x?l[h]=p:jc.f(l,h,{value:p,enumerable:!1,configurable:!d.nonConfigurable,writable:!d.nonWritable})}return l}});var Wa=E((mm,Ka)=>{var $c=Math.ceil,Hc=Math.floor;Ka.exports=Math.trunc||function(h){var p=+h;return(p>0?Hc:$c)(p)}});var Xs=E((ym,Ga)=>{var zc=Wa();Ga.exports=function(l){var h=+l;return h!==h||h===0?0:zc(h)}});var Xa=E((xm,Ja)=>{var Vc=Xs(),Kc=Math.max,Wc=Math.min;Ja.exports=function(l,h){var p=Vc(l);return p<0?Kc(p+h,0):Wc(p,h)}});var Qa=E((gm,Ya)=>{var Gc=Xs(),Jc=Math.min;Ya.exports=function(l){return l>0?Jc(Gc(l),9007199254740991):0}});var jt=E((Pm,Za)=>{var Xc=Qa();Za.exports=function(l){return Xc(l.length)}});var sn=E((Am,tn)=>{var Yc=It(),Qc=Xa(),Zc=jt(),en=function(l){return function(h,p,d){var x=Yc(h),P=Zc(x),m=Qc(d,P),v;if(l&&p!=p){for(;P>m;)if(v=x[m++],v!=v)return!0}else for(;P>m;m++)if((l||m in x)&&x[m]===p)return l||m||0;return!l&&-1}};tn.exports={includes:en(!0),indexOf:en(!1)}});var nn=E((Tm,an)=>{var ep=ae(),Ys=ve(),tp=It(),sp=sn().indexOf,rp=zs(),rn=ep([].push);an.exports=function(l,h){var p=tp(l),d=0,x=[],P;for(P in p)!Ys(rp,P)&&Ys(p,P)&&rn(x,P);for(;h.length>d;)Ys(p,P=h[d++])&&(~sp(x,P)||rn(x,P));return x}});var ln=E((vm,on)=>{on.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var un=E(hn=>{var ip=nn(),ap=ln(),np=ap.concat("length","prototype");hn.f=Object.getOwnPropertyNames||function(h){return ip(h,np)}});var pn=E(cn=>{cn.f=Object.getOwnPropertySymbols});var dn=E((bm,fn)=>{var op=Qe(),lp=ae(),hp=un(),up=pn(),cp=Lt(),pp=lp([].concat);fn.exports=op("Reflect","ownKeys")||function(h){var p=hp.f(cp(h)),d=up.f;return d?pp(p,d(h)):p}});var xn=E((Sm,yn)=>{var mn=ve(),fp=dn(),dp=Os(),mp=et();yn.exports=function(l,h,p){for(var d=fp(h),x=mp.f,P=dp.f,m=0;m{var yp=ie(),xp=ee(),gp=/#|\.prototype\./,st=function(l,h){var p=Ap[Pp(l)];return p==vp?!0:p==Tp?!1:xp(h)?yp(h):!!h},Pp=st.normalize=function(l){return String(l).replace(gp,".").toLowerCase()},Ap=st.data={},Tp=st.NATIVE="N",vp=st.POLYFILL="P";gn.exports=st});var Zs=E((Im,An)=>{var Qs=re(),Ep=Os().f,Cp=js(),bp=Va(),Sp=Dt(),wp=xn(),Ip=Pn();An.exports=function(l,h){var p=l.target,d=l.global,x=l.stat,P,m,v,S,k,F;if(d?m=Qs:x?m=Qs[p]||Sp(p,{}):m=(Qs[p]||{}).prototype,m)for(v in h){if(k=h[v],l.dontCallGetSet?(F=Ep(m,v),S=F&&F.value):S=m[v],P=Ip(d?v:p+(x?".":"#")+v,l.forced),!P&&S!==void 0){if(typeof k==typeof S)continue;wp(k,S)}(l.sham||S&&S.sham)&&Cp(k,"sham",!0),bp(m,v,k,l)}}});var Tn=E(()=>{var Np=Zs(),er=re();Np({global:!0,forced:er.globalThis!==er},{globalThis:er})});var vn=E(()=>{Tn()});var bn=E((Lm,Cn)=>{var En=Js(),kp=et();Cn.exports=function(l,h,p){return p.get&&En(p.get,h,{getter:!0}),p.set&&En(p.set,h,{setter:!0}),kp.f(l,h,p)}});var wn=E((Om,Sn)=>{"use strict";var Dp=Lt();Sn.exports=function(){var l=Dp(this),h="";return l.hasIndices&&(h+="d"),l.global&&(h+="g"),l.ignoreCase&&(h+="i"),l.multiline&&(h+="m"),l.dotAll&&(h+="s"),l.unicode&&(h+="u"),l.unicodeSets&&(h+="v"),l.sticky&&(h+="y"),h}});var kn=E(()=>{var Fp=re(),Lp=ye(),Op=bn(),Bp=wn(),Mp=ie(),In=Fp.RegExp,Nn=In.prototype,_p=Lp&&Mp(function(){var l=!0;try{In(".","d")}catch{l=!1}var h={},p="",d=l?"dgimsy":"gimsy",x=function(S,k){Object.defineProperty(h,S,{get:function(){return p+=k,!0}})},P={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};l&&(P.hasIndices="d");for(var m in P)x(m,P[m]);var v=Object.getOwnPropertyDescriptor(Nn,"flags").get.call(h);return v!==d||p!==d});_p&&Op(Nn,"flags",{configurable:!0,get:Bp})});var tr=E((_m,Dn)=>{var Rp=Ye();Dn.exports=Array.isArray||function(h){return Rp(h)=="Array"}});var Ln=E((Rm,Fn)=>{var jp=TypeError,qp=9007199254740991;Fn.exports=function(l){if(l>qp)throw jp("Maximum allowed index exceeded");return l}});var Bn=E((jm,On)=>{var Up=Ye(),$p=ae();On.exports=function(l){if(Up(l)==="Function")return $p(l)}});var Rn=E((qm,_n)=>{var Mn=Bn(),Hp=kt(),zp=bt(),Vp=Mn(Mn.bind);_n.exports=function(l,h){return Hp(l),h===void 0?l:zp?Vp(l,h):function(){return l.apply(h,arguments)}}});var Un=E((Um,qn)=>{"use strict";var Kp=tr(),Wp=jt(),Gp=Ln(),Jp=Rn(),jn=function(l,h,p,d,x,P,m,v){for(var S=x,k=0,F=m?Jp(m,v):!1,w,L;k0&&Kp(w)?(L=Wp(w),S=jn(l,h,w,L,S,P-1)-1):(Gp(S+1),l[S]=w),S++),k++;return S};qn.exports=jn});var zn=E(($m,Hn)=>{var Xp=Ze(),Yp=Xp("toStringTag"),$n={};$n[Yp]="z";Hn.exports=String($n)==="[object z]"});var Kn=E((Hm,Vn)=>{var Qp=zn(),Zp=ee(),qt=Ye(),ef=Ze(),tf=ef("toStringTag"),sf=Object,rf=qt(function(){return arguments}())=="Arguments",af=function(l,h){try{return l[h]}catch{}};Vn.exports=Qp?qt:function(l){var h,p,d;return l===void 0?"Undefined":l===null?"Null":typeof(p=af(h=sf(l),tf))=="string"?p:rf?qt(h):(d=qt(h))=="Object"&&Zp(h.callee)?"Arguments":d}});var Qn=E((zm,Yn)=>{var nf=ae(),of=ie(),Wn=ee(),lf=Kn(),hf=Qe(),uf=Hs(),Gn=function(){},cf=[],Jn=hf("Reflect","construct"),sr=/^\s*(?:class|function)\b/,pf=nf(sr.exec),ff=!sr.exec(Gn),rt=function(h){if(!Wn(h))return!1;try{return Jn(Gn,cf,h),!0}catch{return!1}},Xn=function(h){if(!Wn(h))return!1;switch(lf(h)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return ff||!!pf(sr,uf(h))}catch{return!0}};Xn.sham=!0;Yn.exports=!Jn||of(function(){var l;return rt(rt.call)||!rt(Object)||!rt(function(){l=!0})||l})?Xn:rt});var so=E((Vm,to)=>{var Zn=tr(),df=Qn(),mf=Ie(),yf=Ze(),xf=yf("species"),eo=Array;to.exports=function(l){var h;return Zn(l)&&(h=l.constructor,df(h)&&(h===eo||Zn(h.prototype))?h=void 0:mf(h)&&(h=h[xf],h===null&&(h=void 0))),h===void 0?eo:h}});var io=E((Km,ro)=>{var gf=so();ro.exports=function(l,h){return new(gf(l))(h===0?0:h)}});var ao=E(()=>{"use strict";var Pf=Zs(),Af=Un(),Tf=kt(),vf=Ns(),Ef=jt(),Cf=io();Pf({target:"Array",proto:!0},{flatMap:function(h){var p=vf(this),d=Ef(p),x;return Tf(h),x=Cf(p,0),x.length=Af(x,p,p,d,0,1,h,arguments.length>1?arguments[1]:void 0),x}})});var md=E((ty,Oo)=>{vn();kn();ao();var nr=Object.defineProperty,bf=Object.getOwnPropertyDescriptor,or=Object.getOwnPropertyNames,Sf=Object.prototype.hasOwnProperty,co=(l,h)=>function(){return l&&(h=(0,l[or(l)[0]])(l=0)),h},$=(l,h)=>function(){return h||(0,l[or(l)[0]])((h={exports:{}}).exports,h),h.exports},wf=(l,h)=>{for(var p in h)nr(l,p,{get:h[p],enumerable:!0})},If=(l,h,p,d)=>{if(h&&typeof h=="object"||typeof h=="function")for(let x of or(h))!Sf.call(l,x)&&x!==p&&nr(l,x,{get:()=>h[x],enumerable:!(d=bf(h,x))||d.enumerable});return l},Nf=l=>If(nr({},"__esModule",{value:!0}),l),U=co({""(){}}),kf=$({"src/utils/try-combinations.js"(l,h){"use strict";U();function p(){let d;for(var x=arguments.length,P=new Array(x),m=0;m{let w=F&&F.backwards;if(k===!1)return!1;let{length:L}=S,A=k;for(;A>=0&&Aar,arch:()=>Bf,cpus:()=>vo,default:()=>wo,endianness:()=>yo,freemem:()=>Ao,getNetworkInterfaces:()=>So,hostname:()=>xo,loadavg:()=>go,networkInterfaces:()=>bo,platform:()=>Mf,release:()=>Co,tmpDir:()=>rr,tmpdir:()=>ir,totalmem:()=>To,type:()=>Eo,uptime:()=>Po});function yo(){if(typeof Ut>"u"){var l=new ArrayBuffer(2),h=new Uint8Array(l),p=new Uint16Array(l);if(h[0]=1,h[1]=2,p[0]===258)Ut="BE";else if(p[0]===513)Ut="LE";else throw new Error("unable to figure out endianess")}return Ut}function xo(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function go(){return[]}function Po(){return 0}function Ao(){return Number.MAX_VALUE}function To(){return Number.MAX_VALUE}function vo(){return[]}function Eo(){return"Browser"}function Co(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function bo(){}function So(){}function Bf(){return"javascript"}function Mf(){return"browser"}function rr(){return"/tmp"}var Ut,ir,ar,wo,_f=co({"node-modules-polyfills:os"(){U(),ir=rr,ar=` +`,wo={EOL:ar,tmpdir:ir,tmpDir:rr,networkInterfaces:bo,getNetworkInterfaces:So,release:Co,type:Eo,cpus:vo,totalmem:To,freemem:Ao,uptime:Po,loadavg:go,hostname:xo,endianness:yo}}}),Rf=$({"node-modules-polyfills-commonjs:os"(l,h){U();var p=(_f(),Nf(mo));if(p&&p.default){h.exports=p.default;for(let d in p)h.exports[d]=p[d]}else p&&(h.exports=p)}}),jf=$({"node_modules/detect-newline/index.js"(l,h){"use strict";U();var p=d=>{if(typeof d!="string")throw new TypeError("Expected a string");let x=d.match(/(?:\r?\n)/g)||[];if(x.length===0)return;let P=x.filter(v=>v===`\r +`).length,m=x.length-P;return P>m?`\r +`:` +`};h.exports=p,h.exports.graceful=d=>typeof d=="string"&&p(d)||` +`}}),qf=$({"node_modules/jest-docblock/build/index.js"(l){"use strict";U(),Object.defineProperty(l,"__esModule",{value:!0}),l.extract=A,l.parse=G,l.parseWithComments=N,l.print=O,l.strip=_;function h(){let R=Rf();return h=function(){return R},R}function p(){let R=d(jf());return p=function(){return R},R}function d(R){return R&&R.__esModule?R:{default:R}}var x=/\*\/$/,P=/^\/\*\*?/,m=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,v=/(^|\s+)\/\/([^\r\n]*)/g,S=/^(\r?\n)+/,k=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,F=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,w=/(\r?\n|^) *\* ?/g,L=[];function A(R){let z=R.match(m);return z?z[0].trimLeft():""}function _(R){let z=R.match(m);return z&&z[0]?R.substring(z[0].length):R}function G(R){return N(R).pragmas}function N(R){let z=(0,p().default)(R)||h().EOL;R=R.replace(P,"").replace(x,"").replace(w,"$1");let Q="";for(;Q!==R;)Q=R,R=R.replace(k,`${z}$1 $2${z}`);R=R.replace(S,"").trimRight();let b=Object.create(null),B=R.replace(F,"").replace(S,"").trimRight(),Z;for(;Z=F.exec(R);){let q=Z[2].replace(v,"");typeof b[Z[1]]=="string"||Array.isArray(b[Z[1]])?b[Z[1]]=L.concat(b[Z[1]],q):b[Z[1]]=q}return{comments:B,pragmas:b}}function O(R){let{comments:z="",pragmas:Q={}}=R,b=(0,p().default)(z)||h().EOL,B="/**",Z=" *",q=" */",ue=Object.keys(Q),te=ue.map(se=>H(se,Q[se])).reduce((se,He)=>se.concat(He),[]).map(se=>`${Z} ${se}${b}`).join("");if(!z){if(ue.length===0)return"";if(ue.length===1&&!Array.isArray(Q[ue[0]])){let se=Q[ue[0]];return`${B} ${H(ue[0],se)[0]}${q}`}}let it=z.split(b).map(se=>`${Z} ${se}`).join(b)+b;return B+b+(z?it:"")+(z&&ue.length?Z+b:"")+te+q}function H(R,z){return L.concat(z).map(Q=>`@${R} ${Q}`.trim())}}}),Uf=$({"src/common/end-of-line.js"(l,h){"use strict";U();function p(m){let v=m.indexOf("\r");return v>=0?m.charAt(v+1)===` +`?"crlf":"cr":"lf"}function d(m){switch(m){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function x(m,v){let S;switch(v){case` +`:S=/\n/g;break;case"\r":S=/\r/g;break;case`\r +`:S=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(v)}.`)}let k=m.match(S);return k?k.length:0}function P(m){return m.replace(/\r\n?/g,` +`)}h.exports={guessEndOfLine:p,convertEndOfLineToChars:d,countEndOfLineChars:x,normalizeEndOfLine:P}}}),$f=$({"src/language-js/pragma.js"(l,h){"use strict";U();var{parseWithComments:p,strip:d,extract:x,print:P}=qf(),{normalizeEndOfLine:m}=Uf(),v=po();function S(w){let L=v(w);L&&(w=w.slice(L.length+1));let A=x(w),{pragmas:_,comments:G}=p(A);return{shebang:L,text:w,pragmas:_,comments:G}}function k(w){let L=Object.keys(S(w).pragmas);return L.includes("prettier")||L.includes("format")}function F(w){let{shebang:L,text:A,pragmas:_,comments:G}=S(w),N=d(A),O=P({pragmas:Object.assign({format:""},_),comments:G.trimStart()});return(L?`${L} +`:"")+m(O)+(N.startsWith(` +`)?` +`:` + +`)+N}h.exports={hasPragma:k,insertPragma:F}}}),Io=$({"src/utils/is-non-empty-array.js"(l,h){"use strict";U();function p(d){return Array.isArray(d)&&d.length>0}h.exports=p}}),No=$({"src/language-js/loc.js"(l,h){"use strict";U();var p=Io();function d(S){var k,F;let w=S.range?S.range[0]:S.start,L=(k=(F=S.declaration)===null||F===void 0?void 0:F.decorators)!==null&&k!==void 0?k:S.decorators;return p(L)?Math.min(d(L[0]),w):w}function x(S){return S.range?S.range[1]:S.end}function P(S,k){let F=d(S);return Number.isInteger(F)&&F===d(k)}function m(S,k){let F=x(S);return Number.isInteger(F)&&F===x(k)}function v(S,k){return P(S,k)&&m(S,k)}h.exports={locStart:d,locEnd:x,hasSameLocStart:P,hasSameLoc:v}}}),ko=$({"src/language-js/parse/utils/create-parser.js"(l,h){"use strict";U();var{hasPragma:p}=$f(),{locStart:d,locEnd:x}=No();function P(m){return m=typeof m=="function"?{parse:m}:m,Object.assign({astFormat:"estree",hasPragma:p,locStart:d,locEnd:x},m)}h.exports=P}}),lr=$({"src/common/parser-create-error.js"(l,h){"use strict";U();function p(d,x){let P=new SyntaxError(d+" ("+x.start.line+":"+x.start.column+")");return P.loc=x,P}h.exports=p}}),Do=$({"src/language-js/parse/utils/create-babel-parse-error.js"(l,h){"use strict";U();var p=lr();function d(x){let{message:P,loc:m}=x;return p(P.replace(/ \(.*\)/,""),{start:{line:m?m.line:0,column:m?m.column+1:0}})}h.exports=d}}),Hf=$({"src/language-js/utils/is-ts-keyword-type.js"(l,h){"use strict";U();function p(d){let{type:x}=d;return x.startsWith("TS")&&x.endsWith("Keyword")}h.exports=p}}),zf=$({"src/language-js/utils/is-block-comment.js"(l,h){"use strict";U();var p=new Set(["Block","CommentBlock","MultiLine"]),d=x=>p.has(x==null?void 0:x.type);h.exports=d}}),Vf=$({"src/language-js/utils/is-type-cast-comment.js"(l,h){"use strict";U();var p=zf();function d(x){return p(x)&&x.value[0]==="*"&&/@(?:type|satisfies)\b/.test(x.value)}h.exports=d}}),Kf=$({"src/utils/get-last.js"(l,h){"use strict";U();var p=d=>d[d.length-1];h.exports=p}}),Wf=$({"src/language-js/parse/postprocess/visit-node.js"(l,h){"use strict";U();function p(d,x){if(Array.isArray(d)){for(let P=0;P{O.leadingComments&&O.leadingComments.some(P)&&N.add(p(O))}),A=v(A,O=>{if(O.type==="ParenthesizedExpression"){let{expression:H}=O;if(H.type==="TypeCastExpression")return H.range=O.range,H;let R=p(O);if(!N.has(R))return H.extra=Object.assign(Object.assign({},H.extra),{},{parenthesized:!0}),H}})}return A=v(A,N=>{switch(N.type){case"ChainExpression":return F(N.expression);case"LogicalExpression":{if(w(N))return L(N);break}case"VariableDeclaration":{let O=m(N.declarations);O&&O.init&&G(N,O);break}case"TSParenthesizedType":return x(N.typeAnnotation)||N.typeAnnotation.type==="TSThisType"||(N.typeAnnotation.range=[p(N),d(N)]),N.typeAnnotation;case"TSTypeParameter":if(typeof N.name=="string"){let O=p(N);N.name={type:"Identifier",name:N.name,range:[O,O+N.name.length]}}break;case"ObjectExpression":if(_.parser==="typescript"){let O=N.properties.find(H=>H.type==="Property"&&H.value.type==="TSEmptyBodyFunctionExpression");O&&S(O.value,"Unexpected token.")}break;case"SequenceExpression":{let O=m(N.expressions);N.range=[p(N),Math.min(d(O),d(N))];break}case"TopicReference":_.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:O}=N;if(_.parser==="meriyah"&&O&&O.type==="Identifier"){let H=_.originalText.slice(p(O),d(O));(H.startsWith('"')||H.startsWith("'"))&&(N.exported=Object.assign(Object.assign({},N.exported),{},{type:"Literal",value:N.exported.name,raw:H}))}break}case"PropertyDefinition":if(_.parser==="meriyah"&&N.static&&!N.computed&&!N.key){let O="static",H=p(N);Object.assign(N,{static:!1,key:{type:"Identifier",name:O,range:[H,H+O.length]}})}break}}),A;function G(N,O){_.originalText[d(O)]!==";"&&(N.range=[p(N),d(O)])}}function F(A){switch(A.type){case"CallExpression":A.type="OptionalCallExpression",A.callee=F(A.callee);break;case"MemberExpression":A.type="OptionalMemberExpression",A.object=F(A.object);break;case"TSNonNullExpression":A.expression=F(A.expression);break}return A}function w(A){return A.type==="LogicalExpression"&&A.right.type==="LogicalExpression"&&A.operator===A.right.operator}function L(A){return w(A)?L({type:"LogicalExpression",operator:A.operator,left:L({type:"LogicalExpression",operator:A.operator,left:A.left,right:A.right.left,range:[p(A.left),d(A.right.left)]}),right:A.right.right,range:[p(A),d(A)]}):A}h.exports=k}}),Fo=$({"node_modules/@babel/parser/lib/index.js"(l){"use strict";U(),Object.defineProperty(l,"__esModule",{value:!0});var h={sourceType:"script",sourceFilename:void 0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0};function p(t){if(t&&t.annexB!=null&&t.annexB!==!1)throw new Error("The `annexB` option can only be set to `false`.");let r={};for(let e of Object.keys(h))r[e]=t&&t[e]!=null?t[e]:h[e];return r}var d=class{constructor(t,r){this.token=void 0,this.preserveSpace=void 0,this.token=t,this.preserveSpace=!!r}},x={brace:new d("{"),j_oTag:new d("...",!0)};x.template=new d("`",!0);var P=!0,m=!0,v=!0,S=!0,k=!0,F=!0,w=class{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop!=null?r.binop:null,this.updateContext=null}},L=new Map;function A(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};r.keyword=t;let e=b(t,r);return L.set(t,e),e}function _(t,r){return b(t,{beforeExpr:P,binop:r})}var G=-1,N=[],O=[],H=[],R=[],z=[],Q=[];function b(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var e,s,i,a;return++G,O.push(t),H.push((e=r.binop)!=null?e:-1),R.push((s=r.beforeExpr)!=null?s:!1),z.push((i=r.startsExpr)!=null?i:!1),Q.push((a=r.prefix)!=null?a:!1),N.push(new w(t,r)),G}function B(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var e,s,i,a;return++G,L.set(t,G),O.push(t),H.push((e=r.binop)!=null?e:-1),R.push((s=r.beforeExpr)!=null?s:!1),z.push((i=r.startsExpr)!=null?i:!1),Q.push((a=r.prefix)!=null?a:!1),N.push(new w("name",r)),G}var Z={bracketL:b("[",{beforeExpr:P,startsExpr:m}),bracketHashL:b("#[",{beforeExpr:P,startsExpr:m}),bracketBarL:b("[|",{beforeExpr:P,startsExpr:m}),bracketR:b("]"),bracketBarR:b("|]"),braceL:b("{",{beforeExpr:P,startsExpr:m}),braceBarL:b("{|",{beforeExpr:P,startsExpr:m}),braceHashL:b("#{",{beforeExpr:P,startsExpr:m}),braceR:b("}"),braceBarR:b("|}"),parenL:b("(",{beforeExpr:P,startsExpr:m}),parenR:b(")"),comma:b(",",{beforeExpr:P}),semi:b(";",{beforeExpr:P}),colon:b(":",{beforeExpr:P}),doubleColon:b("::",{beforeExpr:P}),dot:b("."),question:b("?",{beforeExpr:P}),questionDot:b("?."),arrow:b("=>",{beforeExpr:P}),template:b("template"),ellipsis:b("...",{beforeExpr:P}),backQuote:b("`",{startsExpr:m}),dollarBraceL:b("${",{beforeExpr:P,startsExpr:m}),templateTail:b("...`",{startsExpr:m}),templateNonTail:b("...${",{beforeExpr:P,startsExpr:m}),at:b("@"),hash:b("#",{startsExpr:m}),interpreterDirective:b("#!..."),eq:b("=",{beforeExpr:P,isAssign:S}),assign:b("_=",{beforeExpr:P,isAssign:S}),slashAssign:b("_=",{beforeExpr:P,isAssign:S}),xorAssign:b("_=",{beforeExpr:P,isAssign:S}),moduloAssign:b("_=",{beforeExpr:P,isAssign:S}),incDec:b("++/--",{prefix:k,postfix:F,startsExpr:m}),bang:b("!",{beforeExpr:P,prefix:k,startsExpr:m}),tilde:b("~",{beforeExpr:P,prefix:k,startsExpr:m}),doubleCaret:b("^^",{startsExpr:m}),doubleAt:b("@@",{startsExpr:m}),pipeline:_("|>",0),nullishCoalescing:_("??",1),logicalOR:_("||",1),logicalAND:_("&&",2),bitwiseOR:_("|",3),bitwiseXOR:_("^",4),bitwiseAND:_("&",5),equality:_("==/!=/===/!==",6),lt:_("/<=/>=",7),gt:_("/<=/>=",7),relational:_("/<=/>=",7),bitShift:_("<>/>>>",8),bitShiftL:_("<>/>>>",8),bitShiftR:_("<>/>>>",8),plusMin:b("+/-",{beforeExpr:P,binop:9,prefix:k,startsExpr:m}),modulo:b("%",{binop:10,startsExpr:m}),star:b("*",{binop:10}),slash:_("/",10),exponent:b("**",{beforeExpr:P,binop:11,rightAssociative:!0}),_in:A("in",{beforeExpr:P,binop:7}),_instanceof:A("instanceof",{beforeExpr:P,binop:7}),_break:A("break"),_case:A("case",{beforeExpr:P}),_catch:A("catch"),_continue:A("continue"),_debugger:A("debugger"),_default:A("default",{beforeExpr:P}),_else:A("else",{beforeExpr:P}),_finally:A("finally"),_function:A("function",{startsExpr:m}),_if:A("if"),_return:A("return",{beforeExpr:P}),_switch:A("switch"),_throw:A("throw",{beforeExpr:P,prefix:k,startsExpr:m}),_try:A("try"),_var:A("var"),_const:A("const"),_with:A("with"),_new:A("new",{beforeExpr:P,startsExpr:m}),_this:A("this",{startsExpr:m}),_super:A("super",{startsExpr:m}),_class:A("class",{startsExpr:m}),_extends:A("extends",{beforeExpr:P}),_export:A("export"),_import:A("import",{startsExpr:m}),_null:A("null",{startsExpr:m}),_true:A("true",{startsExpr:m}),_false:A("false",{startsExpr:m}),_typeof:A("typeof",{beforeExpr:P,prefix:k,startsExpr:m}),_void:A("void",{beforeExpr:P,prefix:k,startsExpr:m}),_delete:A("delete",{beforeExpr:P,prefix:k,startsExpr:m}),_do:A("do",{isLoop:v,beforeExpr:P}),_for:A("for",{isLoop:v}),_while:A("while",{isLoop:v}),_as:B("as",{startsExpr:m}),_assert:B("assert",{startsExpr:m}),_async:B("async",{startsExpr:m}),_await:B("await",{startsExpr:m}),_from:B("from",{startsExpr:m}),_get:B("get",{startsExpr:m}),_let:B("let",{startsExpr:m}),_meta:B("meta",{startsExpr:m}),_of:B("of",{startsExpr:m}),_sent:B("sent",{startsExpr:m}),_set:B("set",{startsExpr:m}),_static:B("static",{startsExpr:m}),_using:B("using",{startsExpr:m}),_yield:B("yield",{startsExpr:m}),_asserts:B("asserts",{startsExpr:m}),_checks:B("checks",{startsExpr:m}),_exports:B("exports",{startsExpr:m}),_global:B("global",{startsExpr:m}),_implements:B("implements",{startsExpr:m}),_intrinsic:B("intrinsic",{startsExpr:m}),_infer:B("infer",{startsExpr:m}),_is:B("is",{startsExpr:m}),_mixins:B("mixins",{startsExpr:m}),_proto:B("proto",{startsExpr:m}),_require:B("require",{startsExpr:m}),_satisfies:B("satisfies",{startsExpr:m}),_keyof:B("keyof",{startsExpr:m}),_readonly:B("readonly",{startsExpr:m}),_unique:B("unique",{startsExpr:m}),_abstract:B("abstract",{startsExpr:m}),_declare:B("declare",{startsExpr:m}),_enum:B("enum",{startsExpr:m}),_module:B("module",{startsExpr:m}),_namespace:B("namespace",{startsExpr:m}),_interface:B("interface",{startsExpr:m}),_type:B("type",{startsExpr:m}),_opaque:B("opaque",{startsExpr:m}),name:b("name",{startsExpr:m}),string:b("string",{startsExpr:m}),num:b("num",{startsExpr:m}),bigint:b("bigint",{startsExpr:m}),decimal:b("decimal",{startsExpr:m}),regexp:b("regexp",{startsExpr:m}),privateName:b("#name",{startsExpr:m}),eof:b("eof"),jsxName:b("jsxName"),jsxText:b("jsxText",{beforeExpr:!0}),jsxTagStart:b("jsxTagStart",{startsExpr:!0}),jsxTagEnd:b("jsxTagEnd"),placeholder:b("%%",{startsExpr:!0})};function q(t){return t>=93&&t<=130}function ue(t){return t<=92}function te(t){return t>=58&&t<=130}function it(t){return t>=58&&t<=134}function se(t){return R[t]}function He(t){return z[t]}function Bo(t){return t>=29&&t<=33}function hr(t){return t>=127&&t<=129}function Mo(t){return t>=90&&t<=92}function $t(t){return t>=58&&t<=92}function _o(t){return t>=39&&t<=59}function Ro(t){return t===34}function jo(t){return Q[t]}function qo(t){return t>=119&&t<=121}function Uo(t){return t>=122&&t<=128}function xe(t){return O[t]}function at(t){return H[t]}function $o(t){return t===57}function nt(t){return t>=24&&t<=25}function ce(t){return N[t]}N[8].updateContext=t=>{t.pop()},N[5].updateContext=N[7].updateContext=N[23].updateContext=t=>{t.push(x.brace)},N[22].updateContext=t=>{t[t.length-1]===x.template?t.pop():t.push(x.template)},N[140].updateContext=t=>{t.push(x.j_expr,x.j_oTag)};function ot(t,r){if(t==null)return{};var e={},s=Object.keys(t),i,a;for(a=0;a=0)&&(e[i]=t[i]);return e}var ge=class{constructor(t,r,e){this.line=void 0,this.column=void 0,this.index=void 0,this.line=t,this.column=r,this.index=e}},lt=class{constructor(t,r){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=r}};function Y(t,r){let{line:e,column:s,index:i}=t;return new ge(e,s+r,i+r)}var Ht={SyntaxError:"BABEL_PARSER_SYNTAX_ERROR",SourceTypeModuleError:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},Ho=function(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t.length-1;return{get(){return t.reduce((e,s)=>e[s],this)},set(e){t.reduce((s,i,a)=>a===r?s[i]=e:s[i],this)}}},zo=(t,r,e)=>Object.keys(e).map(s=>[s,e[s]]).filter(s=>{let[,i]=s;return!!i}).map(s=>{let[i,a]=s;return[i,typeof a=="function"?{value:a,enumerable:!1}:typeof a.reflect=="string"?Object.assign({},a,Ho(a.reflect.split("."))):a]}).reduce((s,i)=>{let[a,n]=i;return Object.defineProperty(s,a,Object.assign({configurable:!0},n))},Object.assign(new t,r)),Vo={ImportMetaOutsideModule:{message:`import.meta may appear only with 'sourceType: "module"'`,code:Ht.SourceTypeModuleError},ImportOutsideModule:{message:`'import' and 'export' may appear only with 'sourceType: "module"'`,code:Ht.SourceTypeModuleError}},ur={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},zt=t=>{let{type:r,prefix:e}=t;return r==="UpdateExpression"?ur.UpdateExpression[String(e)]:ur[r]},Ko={AccessorIsGenerator:t=>{let{kind:r}=t;return`A ${r}ter cannot be a generator.`},ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitInUsingBinding:"'await' is not allowed to be used as a name in 'using' declarations.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:t=>{let{kind:r}=t;return`Missing initializer in ${r} declaration.`},DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:t=>{let{exportName:r}=t;return`\`${r}\` has already been exported. Exported identifiers must be unique.`},DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:t=>{let{localName:r,exportName:e}=t;return`A string literal cannot be used as an exported binding without \`from\`. +- Did you mean \`export { '${r}' as '${e}' } from 'some-module'\`?`},ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:t=>{let{type:r}=t;return`'${r==="ForInStatement"?"for-in":"for-of"}' loop variable declaration may not have an initializer.`},ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:t=>{let{type:r}=t;return`Unsyntactic ${r==="BreakStatement"?"break":"continue"}.`},IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportBindingIsString:t=>{let{importName:r}=t;return`A string literal cannot be used as an imported binding. +- Did you mean \`import { "${r}" as foo }\`?`},ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments.",ImportCallArity:t=>{let{maxArgumentCount:r}=t;return`\`import()\` requires exactly ${r===1?"one argument":"one or two arguments"}.`},ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:t=>{let{radix:r}=t;return`Expected number in radix ${r}.`},InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:t=>{let{reservedWord:r}=t;return`Escape sequence in keyword ${r}.`},InvalidIdentifier:t=>{let{identifierName:r}=t;return`Invalid identifier ${r}.`},InvalidLhs:t=>{let{ancestor:r}=t;return`Invalid left-hand side in ${zt(r)}.`},InvalidLhsBinding:t=>{let{ancestor:r}=t;return`Binding invalid left-hand side in ${zt(r)}.`},InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:t=>{let{unexpected:r}=t;return`Unexpected character '${r}'.`},InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:t=>{let{identifierName:r}=t;return`Private name #${r} is not defined.`},InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:t=>{let{labelName:r}=t;return`Label '${r}' is already declared.`},LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:t=>{let{missingPlugin:r}=t;return`This experimental syntax requires enabling the parser plugin: ${r.map(e=>JSON.stringify(e)).join(", ")}.`},MissingOneOfPlugins:t=>{let{missingPlugin:r}=t;return`This experimental syntax requires enabling one of the following parser plugin(s): ${r.map(e=>JSON.stringify(e)).join(", ")}.`},MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:t=>{let{key:r}=t;return`Duplicate key "${r}" is not allowed in module attributes.`},ModuleExportNameHasLoneSurrogate:t=>{let{surrogateCharCode:r}=t;return`An export name cannot include a lone surrogate, found '\\u${r.toString(16)}'.`},ModuleExportUndefined:t=>{let{localName:r}=t;return`Export '${r}' is not defined.`},MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:t=>{let{identifierName:r}=t;return`Private names are only allowed in property accesses (\`obj.#${r}\`) or in \`in\` expressions (\`#${r} in obj\`).`},PrivateNameRedeclaration:t=>{let{identifierName:r}=t;return`Duplicate private name #${r}.`},RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:t=>{let{keyword:r}=t;return`Unexpected keyword '${r}'.`},UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:t=>{let{reservedWord:r}=t;return`Unexpected reserved word '${r}'.`},UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:t=>{let{expected:r,unexpected:e}=t;return`Unexpected token${e?` '${e}'.`:""}${r?`, expected "${r}"`:""}`},UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script`.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:t=>{let{target:r,onlyValidPropertyName:e}=t;return`The only valid meta property for ${r} is ${r}.${e}.`},UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:t=>{let{identifierName:r}=t;return`Identifier '${r}' has already been declared.`},YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},Wo={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:t=>{let{referenceName:r}=t;return`Assigning to '${r}' in strict mode.`},StrictEvalArgumentsBinding:t=>{let{bindingName:r}=t;return`Binding '${r}' in strict mode.`},StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},Go=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),Jo={PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:t=>{let{token:r}=t;return`Invalid topic token ${r}. In order to use ${r} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${r}" }.`},PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:t=>{let{type:r}=t;return`Hack-style pipe body cannot be an unparenthesized ${zt({type:r})}; please wrap it in parentheses.`},PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'},Xo=["toMessage"],Yo=["message"];function Qo(t){let{toMessage:r}=t,e=ot(t,Xo);return function s(i){let{loc:a,details:n}=i;return zo(SyntaxError,Object.assign({},e,{loc:a}),{clone(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=o.loc||{};return s({loc:new ge("line"in u?u.line:this.loc.line,"column"in u?u.column:this.loc.column,"index"in u?u.index:this.loc.index),details:Object.assign({},this.details,o.details)})},details:{value:n,enumerable:!1},message:{get(){return`${r(this.details)} (${this.loc.line}:${this.loc.column})`},set(o){Object.defineProperty(this,"message",{value:o})}},pos:{reflect:"loc.index",enumerable:!0},missingPlugin:"missingPlugin"in n&&{reflect:"details.missingPlugin",enumerable:!0}})}}function pe(t,r){if(Array.isArray(t))return s=>pe(s,t[0]);let e={};for(let s of Object.keys(t)){let i=t[s],a=typeof i=="string"?{message:()=>i}:typeof i=="function"?{message:i}:i,{message:n}=a,o=ot(a,Yo),u=typeof n=="string"?()=>n:n;e[s]=Qo(Object.assign({code:Ht.SyntaxError,reasonCode:s,toMessage:u},r?{syntaxPlugin:r}:{},o))}return e}var f=Object.assign({},pe(Vo),pe(Ko),pe(Wo),pe`pipelineOperator`(Jo)),{defineProperty:Zo}=Object,cr=(t,r)=>Zo(t,r,{enumerable:!1,value:t[r]});function ze(t){return t.loc.start&&cr(t.loc.start,"index"),t.loc.end&&cr(t.loc.end,"index"),t}var el=t=>class extends t{parse(){let e=ze(super.parse());return this.options.tokens&&(e.tokens=e.tokens.map(ze)),e}parseRegExpLiteral(e){let{pattern:s,flags:i}=e,a=null;try{a=new RegExp(s,i)}catch{}let n=this.estreeParseLiteral(a);return n.regex={pattern:s,flags:i},n}parseBigIntLiteral(e){let s;try{s=BigInt(e)}catch{s=null}let i=this.estreeParseLiteral(s);return i.bigint=String(i.value||e),i}parseDecimalLiteral(e){let i=this.estreeParseLiteral(null);return i.decimal=String(i.value||e),i}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}directiveToStmt(e){let s=e.value;delete e.value,s.type="Literal",s.raw=s.extra.raw,s.value=s.extra.expressionValue;let i=e;return i.type="ExpressionStatement",i.expression=s,i.directive=s.extra.rawValue,delete s.extra,i}initFunction(e,s){super.initFunction(e,s),e.expression=!1}checkDeclaration(e){e!=null&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){var s;return e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&!((s=e.expression.extra)!=null&&s.parenthesized)}parseBlockBody(e,s,i,a,n){super.parseBlockBody(e,s,i,a,n);let o=e.directives.map(u=>this.directiveToStmt(u));e.body=o.concat(e.body),delete e.directives}pushClassMethod(e,s,i,a,n,o){this.parseMethod(s,i,a,n,o,"ClassMethod",!0),s.typeParameters&&(s.value.typeParameters=s.typeParameters,delete s.typeParameters),e.body.push(s)}parsePrivateName(){let e=super.parsePrivateName();return this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(e):e}convertPrivateNameToPrivateIdentifier(e){let s=super.getPrivateNameSV(e);return e=e,delete e.id,e.name=s,e.type="PrivateIdentifier",e}isPrivateName(e){return this.getPluginOption("estree","classFeatures")?e.type==="PrivateIdentifier":super.isPrivateName(e)}getPrivateNameSV(e){return this.getPluginOption("estree","classFeatures")?e.name:super.getPrivateNameSV(e)}parseLiteral(e,s){let i=super.parseLiteral(e,s);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;super.parseFunctionBody(e,s,i),e.expression=e.body.type!=="BlockStatement"}parseMethod(e,s,i,a,n,o){let u=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,c=this.startNode();return c.kind=e.kind,c=super.parseMethod(c,s,i,a,n,o,u),c.type="FunctionExpression",delete c.kind,e.value=c,o==="ClassPrivateMethod"&&(e.computed=!1),this.finishNode(e,"MethodDefinition")}parseClassProperty(){let e=super.parseClassProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition"),e}parseClassPrivateProperty(){let e=super.parseClassPrivateProperty(...arguments);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition",e.computed=!1),e}parseObjectMethod(e,s,i,a,n){let o=super.parseObjectMethod(e,s,i,a,n);return o&&(o.type="Property",o.kind==="method"&&(o.kind="init"),o.shorthand=!1),o}parseObjectProperty(e,s,i,a){let n=super.parseObjectProperty(e,s,i,a);return n&&(n.kind="init",n.type="Property"),n}isValidLVal(e,s,i){return e==="Property"?"value":super.isValidLVal(e,s,i)}isAssignable(e,s){return e!=null&&this.isObjectProperty(e)?this.isAssignable(e.value,s):super.isAssignable(e,s)}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e!=null&&this.isObjectProperty(e)){let{key:i,value:a}=e;this.isPrivateName(i)&&this.classScope.usePrivateName(this.getPrivateNameSV(i),i.loc.start),this.toAssignable(a,s)}else super.toAssignable(e,s)}toAssignableObjectExpressionProp(e,s,i){e.kind==="get"||e.kind==="set"?this.raise(f.PatternHasAccessor,{at:e.key}):e.method?this.raise(f.PatternHasMethod,{at:e.key}):super.toAssignableObjectExpressionProp(e,s,i)}finishCallExpression(e,s){let i=super.finishCallExpression(e,s);if(i.callee.type==="Import"){if(i.type="ImportExpression",i.source=i.arguments[0],this.hasPlugin("importAssertions")){var a;i.attributes=(a=i.arguments[1])!=null?a:null}delete i.arguments,delete i.callee}return i}toReferencedArguments(e){e.type!=="ImportExpression"&&super.toReferencedArguments(e)}parseExport(e,s){let i=this.state.lastTokStartLoc,a=super.parseExport(e,s);switch(a.type){case"ExportAllDeclaration":a.exported=null;break;case"ExportNamedDeclaration":a.specifiers.length===1&&a.specifiers[0].type==="ExportNamespaceSpecifier"&&(a.type="ExportAllDeclaration",a.exported=a.specifiers[0].exported,delete a.specifiers);case"ExportDefaultDeclaration":{var n;let{declaration:o}=a;(o==null?void 0:o.type)==="ClassDeclaration"&&((n=o.decorators)==null?void 0:n.length)>0&&o.start===a.start&&this.resetStartLocation(a,i)}break}return a}parseSubscript(e,s,i,a){let n=super.parseSubscript(e,s,i,a);if(a.optionalChainMember){if((n.type==="OptionalMemberExpression"||n.type==="OptionalCallExpression")&&(n.type=n.type.substring(8)),a.stop){let o=this.startNodeAtNode(n);return o.expression=n,this.finishNode(o,"ChainExpression")}}else(n.type==="MemberExpression"||n.type==="CallExpression")&&(n.optional=!1);return n}hasPropertyAsPrivateName(e){return e.type==="ChainExpression"&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return e.type==="Property"&&e.kind==="init"&&!e.method}isObjectMethod(e){return e.method||e.kind==="get"||e.kind==="set"}finishNodeAt(e,s,i){return ze(super.finishNodeAt(e,s,i))}resetStartLocation(e,s){super.resetStartLocation(e,s),ze(e)}resetEndLocation(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;super.resetEndLocation(e,s),ze(e)}},Vt="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",pr="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",tl=new RegExp("["+Vt+"]"),sl=new RegExp("["+Vt+pr+"]");Vt=pr=null;var fr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191],rl=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239];function Kt(t,r){let e=65536;for(let s=0,i=r.length;st)return!1;if(e+=r[s+1],e>=t)return!0}return!1}function fe(t){return t<65?t===36:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&tl.test(String.fromCharCode(t)):Kt(t,fr)}function De(t){return t<48?t===36:t<58?!0:t<65?!1:t<=90?!0:t<97?t===95:t<=122?!0:t<=65535?t>=170&&sl.test(String.fromCharCode(t)):Kt(t,fr)||Kt(t,rl)}var Wt={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},il=new Set(Wt.keyword),al=new Set(Wt.strict),nl=new Set(Wt.strictBind);function dr(t,r){return r&&t==="await"||t==="enum"}function mr(t,r){return dr(t,r)||al.has(t)}function yr(t){return nl.has(t)}function xr(t,r){return mr(t,r)||yr(t)}function ol(t){return il.has(t)}function ll(t,r,e){return t===64&&r===64&&fe(e)}var hl=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function ul(t){return hl.has(t)}var Fe=0,Le=1,de=2,Gt=4,gr=8,ht=16,Pr=32,Ee=64,ut=128,Oe=256,ct=Le|de|ut|Oe,le=1,Ce=2,Ar=4,be=8,pt=16,Tr=64,ft=128,Jt=256,Xt=512,Yt=1024,Qt=2048,Ve=4096,dt=8192,vr=le|Ce|be|ft|dt,Be=le|0|be|dt,cl=le|0|be|0,mt=le|0|Ar|0,Er=le|0|pt|0,pl=0|Ce|0|ft,fl=0|Ce|0|0,Cr=le|Ce|be|Jt|dt,br=0|Yt,Pe=0|Tr,dl=le|0|0|Tr,ml=Cr|Xt,yl=0|Yt,Sr=0|Ce|0|Ve,xl=Qt,yt=4,Zt=2,es=1,ts=Zt|es,gl=Zt|yt,Pl=es|yt,Al=Zt,Tl=es,ss=0,rs=class{constructor(t){this.var=new Set,this.lexical=new Set,this.functions=new Set,this.flags=t}},is=class{constructor(t,r){this.parser=void 0,this.scopeStack=[],this.inModule=void 0,this.undefinedExports=new Map,this.parser=t,this.inModule=r}get inTopLevel(){return(this.currentScope().flags&Le)>0}get inFunction(){return(this.currentVarScopeFlags()&de)>0}get allowSuper(){return(this.currentThisScopeFlags()&ht)>0}get allowDirectSuper(){return(this.currentThisScopeFlags()&Pr)>0}get inClass(){return(this.currentThisScopeFlags()&Ee)>0}get inClassAndNotInNonArrowFunction(){let t=this.currentThisScopeFlags();return(t&Ee)>0&&(t&de)===0}get inStaticBlock(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&ut)return!0;if(r&(ct|Ee))return!1}}get inNonArrowFunction(){return(this.currentThisScopeFlags()&de)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new rs(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(t){return!!(t.flags&(de|ut)||!this.parser.inModule&&t.flags&Le)}declareName(t,r,e){let s=this.currentScope();if(r&be||r&pt)this.checkRedeclarationInScope(s,t,r,e),r&pt?s.functions.add(t):s.lexical.add(t),r&be&&this.maybeExportDefined(s,t);else if(r&Ar)for(let i=this.scopeStack.length-1;i>=0&&(s=this.scopeStack[i],this.checkRedeclarationInScope(s,t,r,e),s.var.add(t),this.maybeExportDefined(s,t),!(s.flags&ct));--i);this.parser.inModule&&s.flags&Le&&this.undefinedExports.delete(t)}maybeExportDefined(t,r){this.parser.inModule&&t.flags&Le&&this.undefinedExports.delete(r)}checkRedeclarationInScope(t,r,e,s){this.isRedeclaredInScope(t,r,e)&&this.parser.raise(f.VarRedeclaration,{at:s,identifierName:r})}isRedeclaredInScope(t,r,e){return e&le?e&be?t.lexical.has(r)||t.functions.has(r)||t.var.has(r):e&pt?t.lexical.has(r)||!this.treatFunctionsAsVarInScope(t)&&t.var.has(r):t.lexical.has(r)&&!(t.flags&gr&&t.lexical.values().next().value===r)||!this.treatFunctionsAsVarInScope(t)&&t.functions.has(r):!1}checkLocalExport(t){let{name:r}=t,e=this.scopeStack[0];!e.lexical.has(r)&&!e.var.has(r)&&!e.functions.has(r)&&this.undefinedExports.set(r,t.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&ct)return r}}currentThisScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&(ct|Ee)&&!(r&Gt))return r}}},vl=class extends rs{constructor(){super(...arguments),this.declareFunctions=new Set}},El=class extends is{createScope(t){return new vl(t)}declareName(t,r,e){let s=this.currentScope();if(r&Qt){this.checkRedeclarationInScope(s,t,r,e),this.maybeExportDefined(s,t),s.declareFunctions.add(t);return}super.declareName(t,r,e)}isRedeclaredInScope(t,r,e){return super.isRedeclaredInScope(t,r,e)?!0:e&Qt?!t.declareFunctions.has(r)&&(t.lexical.has(r)||t.functions.has(r)):!1}checkLocalExport(t){this.scopeStack[0].declareFunctions.has(t.name)||super.checkLocalExport(t)}},Cl=class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(t){if(typeof t=="string")return this.plugins.has(t);{let[r,e]=t;if(!this.hasPlugin(r))return!1;let s=this.plugins.get(r);for(let i of Object.keys(e))if((s==null?void 0:s[i])!==e[i])return!1;return!0}}getPluginOption(t,r){var e;return(e=this.plugins.get(t))==null?void 0:e[r]}};function wr(t,r){t.trailingComments===void 0?t.trailingComments=r:t.trailingComments.unshift(...r)}function bl(t,r){t.leadingComments===void 0?t.leadingComments=r:t.leadingComments.unshift(...r)}function Ke(t,r){t.innerComments===void 0?t.innerComments=r:t.innerComments.unshift(...r)}function We(t,r,e){let s=null,i=r.length;for(;s===null&&i>0;)s=r[--i];s===null||s.start>e.start?Ke(t,e.comments):wr(s,e.comments)}var Sl=class extends Cl{addComment(t){this.filename&&(t.loc.filename=this.filename),this.state.comments.push(t)}processComment(t){let{commentStack:r}=this.state,e=r.length;if(e===0)return;let s=e-1,i=r[s];i.start===t.end&&(i.leadingNode=t,s--);let{start:a}=t;for(;s>=0;s--){let n=r[s],o=n.end;if(o>a)n.containingNode=t,this.finalizeComment(n),r.splice(s,1);else{o===a&&(n.trailingNode=t);break}}}finalizeComment(t){let{comments:r}=t;if(t.leadingNode!==null||t.trailingNode!==null)t.leadingNode!==null&&wr(t.leadingNode,r),t.trailingNode!==null&&bl(t.trailingNode,r);else{let{containingNode:e,start:s}=t;if(this.input.charCodeAt(s-1)===44)switch(e.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":We(e,e.properties,t);break;case"CallExpression":case"OptionalCallExpression":We(e,e.arguments,t);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":We(e,e.params,t);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":We(e,e.elements,t);break;case"ExportNamedDeclaration":case"ImportDeclaration":We(e,e.specifiers,t);break;default:Ke(e,r)}else Ke(e,r)}}finalizeRemainingComments(){let{commentStack:t}=this.state;for(let r=t.length-1;r>=0;r--)this.finalizeComment(t[r]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(t){let{commentStack:r}=this.state,{length:e}=r;if(e===0)return;let s=r[e-1];s.leadingNode===t&&(s.leadingNode=null)}takeSurroundingComments(t,r,e){let{commentStack:s}=this.state,i=s.length;if(i===0)return;let a=i-1;for(;a>=0;a--){let n=s[a],o=n.end;if(n.start===e)n.leadingNode=t;else if(o===r)n.trailingNode=t;else if(o=48&&r<=57},kr={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},gt={bin:t=>t===48||t===49,oct:t=>t>=48&&t<=55,dec:t=>t>=48&&t<=57,hex:t=>t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102};function Dr(t,r,e,s,i,a){let n=e,o=s,u=i,c="",y=null,g=e,{length:T}=r;for(;;){if(e>=T){a.unterminated(n,o,u),c+=r.slice(g,e);break}let C=r.charCodeAt(e);if(kl(t,C,r,e)){c+=r.slice(g,e);break}if(C===92){c+=r.slice(g,e);let M=Dl(r,e,s,i,t==="template",a);M.ch===null&&!y?y={pos:e,lineStart:s,curLine:i}:c+=M.ch,{pos:e,lineStart:s,curLine:i}=M,g=e}else C===8232||C===8233?(++e,++i,s=e):C===10||C===13?t==="template"?(c+=r.slice(g,e)+` +`,++e,C===13&&r.charCodeAt(e)===10&&++e,++i,g=s=e):a.unterminated(n,o,u):++e}return{pos:e,str:c,firstInvalidLoc:y,lineStart:s,curLine:i,containsInvalid:!!y}}function kl(t,r,e,s){return t==="template"?r===96||r===36&&e.charCodeAt(s+1)===123:r===(t==="double"?34:39)}function Dl(t,r,e,s,i,a){let n=!i;r++;let o=c=>({pos:r,ch:c,lineStart:e,curLine:s}),u=t.charCodeAt(r++);switch(u){case 110:return o(` +`);case 114:return o("\r");case 120:{let c;return{code:c,pos:r}=os(t,r,e,s,2,!1,n,a),o(c===null?null:String.fromCharCode(c))}case 117:{let c;return{code:c,pos:r}=Lr(t,r,e,s,n,a),o(c===null?null:String.fromCodePoint(c))}case 116:return o(" ");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:t.charCodeAt(r)===10&&++r;case 10:e=r,++s;case 8232:case 8233:return o("");case 56:case 57:if(i)return o(null);a.strictNumericEscape(r-1,e,s);default:if(u>=48&&u<=55){let c=r-1,g=t.slice(c,r+2).match(/^[0-7]+/)[0],T=parseInt(g,8);T>255&&(g=g.slice(0,-1),T=parseInt(g,8)),r+=g.length-1;let C=t.charCodeAt(r);if(g!=="0"||C===56||C===57){if(i)return o(null);a.strictNumericEscape(c,e,s)}return o(String.fromCharCode(T))}return o(String.fromCharCode(u))}}function os(t,r,e,s,i,a,n,o){let u=r,c;return{n:c,pos:r}=Fr(t,r,e,s,16,i,a,!1,o,!n),c===null&&(n?o.invalidEscapeSequence(u,e,s):r=u-1),{code:c,pos:r}}function Fr(t,r,e,s,i,a,n,o,u,c){let y=r,g=i===16?kr.hex:kr.decBinOct,T=i===16?gt.hex:i===10?gt.dec:i===8?gt.oct:gt.bin,C=!1,M=0;for(let j=0,K=a==null?1/0:a;j=97?V=W-97+10:W>=65?V=W-65+10:Nl(W)?V=W-48:V=1/0,V>=i){if(V<=9&&c)return{n:null,pos:r};if(V<=9&&u.invalidDigit(r,e,s,i))V=0;else if(n)V=0,C=!0;else break}++r,M=M*i+V}return r===y||a!=null&&r-y!==a||C?{n:null,pos:r}:{n:M,pos:r}}function Lr(t,r,e,s,i,a){let n=t.charCodeAt(r),o;if(n===123){if(++r,{code:o,pos:r}=os(t,r,e,s,t.indexOf("}",r)-r,!0,i,a),++r,o!==null&&o>1114111)if(i)a.invalidCodePoint(r,e,s);else return{code:null,pos:r}}else({code:o,pos:r}=os(t,r,e,s,4,!1,i,a));return{code:o,pos:r}}var Fl=["at"],Ll=["at"];function Je(t,r,e){return new ge(e,t-r,t)}var Ol=new Set([103,109,115,105,121,117,100,118]),Ae=class{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new lt(t.startLoc,t.endLoc)}},Bl=class extends Sl{constructor(t,r){super(),this.isLookahead=void 0,this.tokens=[],this.errorHandlers_readInt={invalidDigit:(e,s,i,a)=>this.options.errorRecovery?(this.raise(f.InvalidDigit,{at:Je(e,s,i),radix:a}),!0):!1,numericSeparatorInEscapeSequence:this.errorBuilder(f.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(f.UnexpectedNumericSeparator)},this.errorHandlers_readCodePoint=Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(f.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(f.InvalidCodePoint)}),this.errorHandlers_readStringContents_string=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,s,i)=>{this.recordStrictModeErrors(f.StrictNumericEscape,{at:Je(e,s,i)})},unterminated:(e,s,i)=>{throw this.raise(f.UnterminatedString,{at:Je(e-1,s,i)})}}),this.errorHandlers_readStringContents_template=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(f.StrictNumericEscape),unterminated:(e,s,i)=>{throw this.raise(f.UnterminatedTemplate,{at:Je(e,s,i)})}}),this.state=new Nr,this.state.init(t),this.input=r,this.length=r.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Ae(this.state)),this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return this.match(t)?(this.next(),!0):!1}match(t){return this.state.type===t}createLookaheadState(t){return{pos:t.pos,value:null,type:t.type,start:t.start,end:t.end,context:[this.curContext()],inType:t.inType,startLoc:t.startLoc,lastTokEndLoc:t.lastTokEndLoc,curLine:t.curLine,lineStart:t.lineStart,curPosition:t.curPosition}}lookahead(){let t=this.state;this.state=this.createLookaheadState(t),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let r=this.state;return this.state=t,r}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){return ns.lastIndex=t,ns.test(this.input)?ns.lastIndex:t}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}codePointAtPos(t){let r=this.input.charCodeAt(t);if((r&64512)===55296&&++t{let[e,s]=r;return this.raise(e,{at:s})}),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(137);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(t){let r;this.isLookahead||(r=this.state.curPosition());let e=this.state.pos,s=this.input.indexOf(t,e+2);if(s===-1)throw this.raise(f.UnterminatedComment,{at:this.state.curPosition()});for(this.state.pos=s+t.length,xt.lastIndex=e+2;xt.test(this.input)&&xt.lastIndex<=s;)++this.state.curLine,this.state.lineStart=xt.lastIndex;if(this.isLookahead)return;let i={type:"CommentBlock",value:this.input.slice(e+2,s),start:e,end:s+t.length,loc:new lt(r,this.state.curPosition())};return this.options.tokens&&this.pushToken(i),i}skipLineComment(t){let r=this.state.pos,e;this.isLookahead||(e=this.state.curPosition());let s=this.input.charCodeAt(this.state.pos+=t);if(this.state.post)){let i=this.skipLineComment(3);i!==void 0&&(this.addComment(i),this.options.attachComment&&r.push(i))}else break e}else if(e===60&&!this.inModule&&this.options.annexB){let s=this.state.pos;if(this.input.charCodeAt(s+1)===33&&this.input.charCodeAt(s+2)===45&&this.input.charCodeAt(s+3)===45){let i=this.skipLineComment(4);i!==void 0&&(this.addComment(i),this.options.attachComment&&r.push(i))}else break e}else break e}}if(r.length>0){let e=this.state.pos,s={start:t,end:e,comments:r,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(s)}}finishToken(t,r){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let e=this.state.type;this.state.type=t,this.state.value=r,this.isLookahead||this.updateContext(e)}replaceToken(t){this.state.type=t,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let t=this.state.pos+1,r=this.codePointAtPos(t);if(r>=48&&r<=57)throw this.raise(f.UnexpectedDigitAfterHash,{at:this.state.curPosition()});if(r===123||r===91&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),this.getPluginOption("recordAndTuple","syntaxType")==="bar")throw this.raise(r===123?f.RecordExpressionHashIncorrectStartSyntaxType:f.TupleExpressionHashIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,r===123?this.finishToken(7):this.finishToken(1)}else fe(r)?(++this.state.pos,this.finishToken(136,this.readWord1(r))):r===92?(++this.state.pos,this.finishToken(136,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let t=this.input.charCodeAt(this.state.pos+1);if(t>=48&&t<=57){this.readNumber(!0);return}t===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(t!==33)return!1;let r=this.state.pos;for(this.state.pos+=1;!Ge(t)&&++this.state.pos=48&&r<=57)?(this.state.pos+=2,this.finishToken(18)):(++this.state.pos,this.finishToken(17))}getTokenFromCode(t){switch(t){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(10);return;case 41:++this.state.pos,this.finishToken(11);return;case 59:++this.state.pos,this.finishToken(13);return;case 44:++this.state.pos,this.finishToken(12);return;case 91:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(f.TupleExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(3);return;case 123:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(f.RecordExpressionBarIncorrectStartSyntaxType,{at:this.state.curPosition()});this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:++this.state.pos,this.finishToken(8);return;case 58:this.hasPlugin("functionBind")&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(15,2):(++this.state.pos,this.finishToken(14));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let r=this.input.charCodeAt(this.state.pos+1);if(r===120||r===88){this.readRadixNumber(16);return}if(r===111||r===79){this.readRadixNumber(8);return}if(r===98||r===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(t);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(t);return;case 124:case 38:this.readToken_pipe_amp(t);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(t);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(t);return;case 126:this.finishOp(36,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(fe(t)){this.readWord(t);return}}throw this.raise(f.InvalidOrUnexpectedToken,{at:this.state.curPosition(),unexpected:String.fromCodePoint(t)})}finishOp(t,r){let e=this.input.slice(this.state.pos,this.state.pos+r);this.state.pos+=r,this.finishToken(t,e)}readRegexp(){let t=this.state.startLoc,r=this.state.start+1,e,s,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(f.UnterminatedRegExp,{at:Y(t,1)});let u=this.input.charCodeAt(i);if(Ge(u))throw this.raise(f.UnterminatedRegExp,{at:Y(t,1)});if(e)e=!1;else{if(u===91)s=!0;else if(u===93&&s)s=!1;else if(u===47&&!s)break;e=u===92}}let a=this.input.slice(r,i);++i;let n="",o=()=>Y(t,i+2-r);for(;i2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{n:i,pos:a}=Fr(this.input,this.state.pos,this.state.lineStart,this.state.curLine,t,r,e,s,this.errorHandlers_readInt,!1);return this.state.pos=a,i}readRadixNumber(t){let r=this.state.curPosition(),e=!1;this.state.pos+=2;let s=this.readInt(t);s==null&&this.raise(f.InvalidDigit,{at:Y(r,2),radix:t});let i=this.input.charCodeAt(this.state.pos);if(i===110)++this.state.pos,e=!0;else if(i===109)throw this.raise(f.InvalidDecimal,{at:r});if(fe(this.codePointAtPos(this.state.pos)))throw this.raise(f.NumberIdentifier,{at:this.state.curPosition()});if(e){let a=this.input.slice(r.index,this.state.pos).replace(/[_n]/g,"");this.finishToken(133,a);return}this.finishToken(132,s)}readNumber(t){let r=this.state.pos,e=this.state.curPosition(),s=!1,i=!1,a=!1,n=!1,o=!1;!t&&this.readInt(10)===null&&this.raise(f.InvalidNumber,{at:this.state.curPosition()});let u=this.state.pos-r>=2&&this.input.charCodeAt(r)===48;if(u){let T=this.input.slice(r,this.state.pos);if(this.recordStrictModeErrors(f.StrictOctalLiteral,{at:e}),!this.state.strict){let C=T.indexOf("_");C>0&&this.raise(f.ZeroDigitNumericSeparator,{at:Y(e,C)})}o=u&&!/[89]/.test(T)}let c=this.input.charCodeAt(this.state.pos);if(c===46&&!o&&(++this.state.pos,this.readInt(10),s=!0,c=this.input.charCodeAt(this.state.pos)),(c===69||c===101)&&!o&&(c=this.input.charCodeAt(++this.state.pos),(c===43||c===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(f.InvalidOrMissingExponent,{at:e}),s=!0,n=!0,c=this.input.charCodeAt(this.state.pos)),c===110&&((s||u)&&this.raise(f.InvalidBigIntLiteral,{at:e}),++this.state.pos,i=!0),c===109&&(this.expectPlugin("decimal",this.state.curPosition()),(n||u)&&this.raise(f.InvalidDecimal,{at:e}),++this.state.pos,a=!0),fe(this.codePointAtPos(this.state.pos)))throw this.raise(f.NumberIdentifier,{at:this.state.curPosition()});let y=this.input.slice(r,this.state.pos).replace(/[_mn]/g,"");if(i){this.finishToken(133,y);return}if(a){this.finishToken(134,y);return}let g=o?parseInt(y,8):parseFloat(y);this.finishToken(132,g)}readCodePoint(t){let{code:r,pos:e}=Lr(this.input,this.state.pos,this.state.lineStart,this.state.curLine,t,this.errorHandlers_readCodePoint);return this.state.pos=e,r}readString(t){let{str:r,pos:e,curLine:s,lineStart:i}=Dr(t===34?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=e+1,this.state.lineStart=i,this.state.curLine=s,this.finishToken(131,r)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let t=this.input[this.state.pos],{str:r,firstInvalidLoc:e,pos:s,curLine:i,lineStart:a}=Dr("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=s+1,this.state.lineStart=a,this.state.curLine=i,e&&(this.state.firstInvalidTemplateEscapePos=new ge(e.curLine,e.pos-e.lineStart,e.pos)),this.input.codePointAt(s)===96?this.finishToken(24,e?null:t+r+"`"):(this.state.pos++,this.finishToken(25,e?null:t+r+"${"))}recordStrictModeErrors(t,r){let{at:e}=r,s=e.index;this.state.strict&&!this.state.strictErrors.has(s)?this.raise(t,{at:e}):this.state.strictErrors.set(s,[t,e])}readWord1(t){this.state.containsEsc=!1;let r="",e=this.state.pos,s=this.state.pos;for(t!==void 0&&(this.state.pos+=t<=65535?1:2);this.state.pos=0;o--){let u=n[o];if(u.loc.index===a)return n[o]=t({loc:i,details:s});if(u.loc.indexthis.hasPlugin(r)))throw this.raise(f.MissingOneOfPlugins,{at:this.state.startLoc,missingPlugin:t})}errorBuilder(t){return(r,e,s)=>{this.raise(t,{at:Je(r,e,s)})}}},Ml=class{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}},_l=class{constructor(t){this.parser=void 0,this.stack=[],this.undefinedPrivateNames=new Map,this.parser=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ml)}exit(){let t=this.stack.pop(),r=this.current();for(let[e,s]of Array.from(t.undefinedPrivateNames))r?r.undefinedPrivateNames.has(e)||r.undefinedPrivateNames.set(e,s):this.parser.raise(f.InvalidPrivateFieldResolution,{at:s,identifierName:e})}declarePrivateName(t,r,e){let{privateNames:s,loneAccessors:i,undefinedPrivateNames:a}=this.current(),n=s.has(t);if(r&ts){let o=n&&i.get(t);if(o){let u=o&yt,c=r&yt,y=o&ts,g=r&ts;n=y===g||u!==c,n||i.delete(t)}else n||i.set(t,r)}n&&this.parser.raise(f.PrivateNameRedeclaration,{at:e,identifierName:t}),s.add(t),a.delete(t)}usePrivateName(t,r){let e;for(e of this.stack)if(e.privateNames.has(t))return;e?e.undefinedPrivateNames.set(t,r):this.parser.raise(f.InvalidPrivateFieldResolution,{at:r,identifierName:t})}},Rl=0,Or=1,ls=2,Br=3,Pt=class{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Rl;this.type=void 0,this.type=t}canBeArrowParameterDeclaration(){return this.type===ls||this.type===Or}isCertainlyParameterDeclaration(){return this.type===Br}},Mr=class extends Pt{constructor(t){super(t),this.declarationErrors=new Map}recordDeclarationError(t,r){let{at:e}=r,s=e.index;this.declarationErrors.set(s,[t,e])}clearDeclarationError(t){this.declarationErrors.delete(t)}iterateErrors(t){this.declarationErrors.forEach(t)}},jl=class{constructor(t){this.parser=void 0,this.stack=[new Pt],this.parser=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,r){let{at:e}=r,s={at:e.loc.start},{stack:i}=this,a=i.length-1,n=i[a];for(;!n.isCertainlyParameterDeclaration();){if(n.canBeArrowParameterDeclaration())n.recordDeclarationError(t,s);else return;n=i[--a]}this.parser.raise(t,s)}recordArrowParameterBindingError(t,r){let{at:e}=r,{stack:s}=this,i=s[s.length-1],a={at:e.loc.start};if(i.isCertainlyParameterDeclaration())this.parser.raise(t,a);else if(i.canBeArrowParameterDeclaration())i.recordDeclarationError(t,a);else return}recordAsyncArrowParametersError(t){let{at:r}=t,{stack:e}=this,s=e.length-1,i=e[s];for(;i.canBeArrowParameterDeclaration();)i.type===ls&&i.recordDeclarationError(f.AwaitBindingIdentifier,{at:r}),i=e[--s]}validateAsPattern(){let{stack:t}=this,r=t[t.length-1];r.canBeArrowParameterDeclaration()&&r.iterateErrors(e=>{let[s,i]=e;this.parser.raise(s,{at:i});let a=t.length-2,n=t[a];for(;n.canBeArrowParameterDeclaration();)n.clearDeclarationError(i.index),n=t[--a]})}};function ql(){return new Pt(Br)}function Ul(){return new Mr(Or)}function $l(){return new Mr(ls)}function _r(){return new Pt}var Me=0,Rr=1,At=2,jr=4,_e=8,Hl=class{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&At)>0}get hasYield(){return(this.currentFlags()&Rr)>0}get hasReturn(){return(this.currentFlags()&jr)>0}get hasIn(){return(this.currentFlags()&_e)>0}};function Tt(t,r){return(t?At:0)|(r?Rr:0)}var zl=class extends Bl{addExtra(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;if(!t)return;let i=t.extra=t.extra||{};s?i[r]=e:Object.defineProperty(i,r,{enumerable:s,value:e})}isContextual(t){return this.state.type===t&&!this.state.containsEsc}isUnparsedContextual(t,r){let e=t+r.length;if(this.input.slice(t,e)===r){let s=this.input.charCodeAt(e);return!(De(s)||(s&64512)===55296)}return!1}isLookaheadContextual(t){let r=this.nextTokenStart();return this.isUnparsedContextual(r,t)}eatContextual(t){return this.isContextual(t)?(this.next(),!0):!1}expectContextual(t,r){if(!this.eatContextual(t)){if(r!=null)throw this.raise(r,{at:this.state.startLoc});this.unexpected(null,t)}}canInsertSemicolon(){return this.match(137)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return as.test(this.input.slice(this.state.lastTokEndLoc.index,this.state.start))}hasFollowingLineBreak(){return Ir.lastIndex=this.state.end,Ir.test(this.input)}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(){((arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0)?this.isLineTerminator():this.eat(13))||this.raise(f.MissingSemicolon,{at:this.state.lastTokEndLoc})}expect(t,r){this.eat(t)||this.unexpected(r,t)}tryParse(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.state.clone(),e={node:null};try{let s=t(function(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;throw e.node=i,e});if(this.state.errors.length>r.errors.length){let i=this.state;return this.state=r,this.state.tokensLength=i.tokensLength,{node:s,error:i.errors[r.errors.length],thrown:!1,aborted:!1,failState:i}}return{node:s,error:null,thrown:!1,aborted:!1,failState:null}}catch(s){let i=this.state;if(this.state=r,s instanceof SyntaxError)return{node:null,error:s,thrown:!0,aborted:!1,failState:i};if(s===e)return{node:e.node,error:null,thrown:!1,aborted:!0,failState:i};throw s}}checkExpressionErrors(t,r){if(!t)return!1;let{shorthandAssignLoc:e,doubleProtoLoc:s,privateKeyLoc:i,optionalParametersLoc:a}=t,n=!!e||!!s||!!a||!!i;if(!r)return n;e!=null&&this.raise(f.InvalidCoverInitializedName,{at:e}),s!=null&&this.raise(f.DuplicateProto,{at:s}),i!=null&&this.raise(f.UnexpectedPrivateField,{at:i}),a!=null&&this.unexpected(a)}isLiteralPropertyName(){return it(this.state.type)}isPrivateName(t){return t.type==="PrivateName"}getPrivateNameSV(t){return t.id.name}hasPropertyAsPrivateName(t){return(t.type==="MemberExpression"||t.type==="OptionalMemberExpression")&&this.isPrivateName(t.property)}isObjectProperty(t){return t.type==="ObjectProperty"}isObjectMethod(t){return t.type==="ObjectMethod"}initializeScopes(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.sourceType==="module",r=this.state.labels;this.state.labels=[];let e=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let s=this.inModule;this.inModule=t;let i=this.scope,a=this.getScopeHandler();this.scope=new a(this,t);let n=this.prodParam;this.prodParam=new Hl;let o=this.classScope;this.classScope=new _l(this);let u=this.expressionScope;return this.expressionScope=new jl(this),()=>{this.state.labels=r,this.exportedIdentifiers=e,this.inModule=s,this.scope=i,this.prodParam=n,this.classScope=o,this.expressionScope=u}}enterInitialScopes(){let t=Me;this.inModule&&(t|=At),this.scope.enter(Le),this.prodParam.enter(t)}checkDestructuringPrivate(t){let{privateKeyLoc:r}=t;r!==null&&this.expectPlugin("destructuringPrivate",r)}},vt=class{constructor(){this.shorthandAssignLoc=null,this.doubleProtoLoc=null,this.privateKeyLoc=null,this.optionalParametersLoc=null}},Et=class{constructor(t,r,e){this.type="",this.start=r,this.end=0,this.loc=new lt(e),t!=null&&t.options.ranges&&(this.range=[r,0]),t!=null&&t.filename&&(this.loc.filename=t.filename)}},hs=Et.prototype;hs.__clone=function(){let t=new Et(void 0,this.start,this.loc.start),r=Object.keys(this);for(let e=0,s=r.length;e1&&arguments[1]!==void 0?arguments[1]:this.state.lastTokEndLoc;t.end=r.index,t.loc.end=r,this.options.ranges&&(t.range[1]=r.index)}resetStartLocationFromNode(t,r){this.resetStartLocation(t,r.loc.start)}},Gl=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),D=pe`flow`({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:t=>{let{reservedType:r}=t;return`Cannot overwrite reserved type ${r}.`},DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:t=>{let{memberName:r,enumName:e}=t;return`Boolean enum members need to be initialized. Use either \`${r} = true,\` or \`${r} = false,\` in enum \`${e}\`.`},EnumDuplicateMemberName:t=>{let{memberName:r,enumName:e}=t;return`Enum member names need to be unique, but the name \`${r}\` has already been used before in enum \`${e}\`.`},EnumInconsistentMemberValues:t=>{let{enumName:r}=t;return`Enum \`${r}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`},EnumInvalidExplicitType:t=>{let{invalidEnumType:r,enumName:e}=t;return`Enum type \`${r}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`},EnumInvalidExplicitTypeUnknownSupplied:t=>{let{enumName:r}=t;return`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${r}\`.`},EnumInvalidMemberInitializerPrimaryType:t=>{let{enumName:r,memberName:e,explicitType:s}=t;return`Enum \`${r}\` has type \`${s}\`, so the initializer of \`${e}\` needs to be a ${s} literal.`},EnumInvalidMemberInitializerSymbolType:t=>{let{enumName:r,memberName:e}=t;return`Symbol enum members cannot be initialized. Use \`${e},\` in enum \`${r}\`.`},EnumInvalidMemberInitializerUnknownType:t=>{let{enumName:r,memberName:e}=t;return`The enum member initializer for \`${e}\` needs to be a literal (either a boolean, number, or string) in enum \`${r}\`.`},EnumInvalidMemberName:t=>{let{enumName:r,memberName:e,suggestion:s}=t;return`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${e}\`, consider using \`${s}\`, in enum \`${r}\`.`},EnumNumberMemberNotInitialized:t=>{let{enumName:r,memberName:e}=t;return`Number enum members need to be initialized, e.g. \`${e} = 1\` in enum \`${r}\`.`},EnumStringMemberInconsistentlyInitailized:t=>{let{enumName:r}=t;return`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${r}\`.`},GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{reasonCode:"OptionalBindingPattern"}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:t=>{let{reservedType:r}=t;return`Unexpected reserved type ${r}.`},UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:t=>{let{unsupportedExportKind:r,suggestion:e}=t;return`\`declare export ${r}\` is not supported. Use \`${e}\` instead.`},UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function Jl(t){return t.type==="DeclareExportAllDeclaration"||t.type==="DeclareExportDeclaration"&&(!t.declaration||t.declaration.type!=="TypeAlias"&&t.declaration.type!=="InterfaceDeclaration")}function us(t){return t.importKind==="type"||t.importKind==="typeof"}function qr(t){return te(t)&&t!==97}var Xl={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Yl(t,r){let e=[],s=[];for(let i=0;iclass extends t{constructor(){super(...arguments),this.flowPragma=void 0}getScopeHandler(){return El}shouldParseTypes(){return this.getPluginOption("flow","all")||this.flowPragma==="flow"}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,s){e!==131&&e!==13&&e!==28&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(e,s)}addComment(e){if(this.flowPragma===void 0){let s=Ql.exec(e.value);if(s)if(s[1]==="flow")this.flowPragma="flow";else if(s[1]==="noflow")this.flowPragma="noflow";else throw new Error("Unexpected flow pragma")}super.addComment(e)}flowParseTypeInitialiser(e){let s=this.state.inType;this.state.inType=!0,this.expect(e||14);let i=this.flowParseType();return this.state.inType=s,i}flowParsePredicate(){let e=this.startNode(),s=this.state.startLoc;return this.next(),this.expectContextual(108),this.state.lastTokStart>s.index+1&&this.raise(D.UnexpectedSpaceBetweenModuloChecks,{at:s}),this.eat(10)?(e.value=super.parseExpression(),this.expect(11),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let e=this.state.inType;this.state.inType=!0,this.expect(14);let s=null,i=null;return this.match(54)?(this.state.inType=e,i=this.flowParsePredicate()):(s=this.flowParseType(),this.state.inType=e,this.match(54)&&(i=this.flowParsePredicate())),[s,i]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();let s=e.id=this.parseIdentifier(),i=this.startNode(),a=this.startNode();this.match(47)?i.typeParameters=this.flowParseTypeParameterDeclaration():i.typeParameters=null,this.expect(10);let n=this.flowParseFunctionTypeParams();return i.params=n.params,i.rest=n.rest,i.this=n._this,this.expect(11),[i.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),a.typeAnnotation=this.finishNode(i,"FunctionTypeAnnotation"),s.typeAnnotation=this.finishNode(a,"TypeAnnotation"),this.resetEndLocation(s),this.semicolon(),this.scope.declareName(e.id.name,xl,e.id.loc.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,s){if(this.match(80))return this.flowParseDeclareClass(e);if(this.match(68))return this.flowParseDeclareFunction(e);if(this.match(74))return this.flowParseDeclareVariable(e);if(this.eatContextual(125))return this.match(16)?this.flowParseDeclareModuleExports(e):(s&&this.raise(D.NestedDeclareModule,{at:this.state.lastTokStartLoc}),this.flowParseDeclareModule(e));if(this.isContextual(128))return this.flowParseDeclareTypeAlias(e);if(this.isContextual(129))return this.flowParseDeclareOpaqueType(e);if(this.isContextual(127))return this.flowParseDeclareInterface(e);if(this.match(82))return this.flowParseDeclareExportDeclaration(e,s);this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,mt,e.id.loc.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(Fe),this.match(131)?e.id=super.parseExprAtom():e.id=this.parseIdentifier();let s=e.body=this.startNode(),i=s.body=[];for(this.expect(5);!this.match(8);){let o=this.startNode();this.match(83)?(this.next(),!this.isContextual(128)&&!this.match(87)&&this.raise(D.InvalidNonTypeImportInDeclareModule,{at:this.state.lastTokStartLoc}),super.parseImport(o)):(this.expectContextual(123,D.UnsupportedStatementInDeclareModule),o=this.flowParseDeclare(o,!0)),i.push(o)}this.scope.exit(),this.expect(8),this.finishNode(s,"BlockStatement");let a=null,n=!1;return i.forEach(o=>{Jl(o)?(a==="CommonJS"&&this.raise(D.AmbiguousDeclareModuleKind,{at:o}),a="ES"):o.type==="DeclareModuleExports"&&(n&&this.raise(D.DuplicateDeclareModuleExports,{at:o}),a==="ES"&&this.raise(D.AmbiguousDeclareModuleKind,{at:o}),a="CommonJS",n=!0)}),e.kind=a||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,s){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(128)||this.isContextual(127))&&!s){let i=this.state.value;throw this.raise(D.UnsupportedDeclareExportKind,{at:this.state.startLoc,unsupportedExportKind:i,suggestion:Xl[i]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(129))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(127)||this.isContextual(128)||this.isContextual(129))return e=this.parseExport(e,null),e.type==="ExportNamedDeclaration"&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(109),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){this.next();let s=this.flowParseTypeAlias(e);return s.type="DeclareTypeAlias",s}flowParseDeclareOpaqueType(e){this.next();let s=this.flowParseOpaqueType(e,!0);return s.type="DeclareOpaqueType",s}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,s){if(e.id=this.flowParseRestrictedIdentifier(!s,!0),this.scope.declareName(e.id.name,s?Er:Be,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(!s&&this.eat(12));if(s){if(this.eatContextual(115))do e.mixins.push(this.flowParseInterfaceExtends());while(this.eat(12));if(this.eatContextual(111))do e.implements.push(this.flowParseInterfaceExtends());while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:s,allowExact:!1,allowSpread:!1,allowProto:s,allowInexact:!1})}flowParseInterfaceExtends(){let e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){e==="_"&&this.raise(D.UnexpectedReservedUnderscore,{at:this.state.startLoc})}checkReservedType(e,s,i){Gl.has(e)&&this.raise(i?D.AssignReservedType:D.UnexpectedReservedType,{at:s,reservedType:e})}flowParseRestrictedIdentifier(e,s){return this.checkReservedType(this.state.value,this.state.startLoc,s),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,Be,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,s){return this.expectContextual(128),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,Be,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,s||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,s=this.state.startLoc,i=this.startNode(),a=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return i.name=n.name,i.variance=a,i.bound=n.typeAnnotation,this.match(29)?(this.eat(29),i.default=this.flowParseType()):e&&this.raise(D.MissingTypeParamDefault,{at:s}),this.finishNode(i,"TypeParameter")}flowParseTypeParameterDeclaration(){let e=this.state.inType,s=this.startNode();s.params=[],this.state.inType=!0,this.match(47)||this.match(140)?this.next():this.unexpected();let i=!1;do{let a=this.flowParseTypeParameter(i);s.params.push(a),a.default&&(i=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(s,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){let e=this.startNode(),s=this.state.inType;e.params=[],this.state.inType=!0,this.expect(47);let i=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=i,this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){let e=this.startNode(),s=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=s,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){let e=this.startNode();if(this.expectContextual(127),e.extends=[],this.eat(81))do e.extends.push(this.flowParseInterfaceExtends());while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(132)||this.match(131)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,s,i){return e.static=s,this.lookahead().type===14?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=i,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,s){return e.static=s,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,s){let i=this.startNode();return e.static=s,e.value=this.flowParseObjectTypeMethodish(i),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType(e){let{allowStatic:s,allowExact:i,allowSpread:a,allowProto:n,allowInexact:o}=e,u=this.state.inType;this.state.inType=!0;let c=this.startNode();c.callProperties=[],c.properties=[],c.indexers=[],c.internalSlots=[];let y,g,T=!1;for(i&&this.match(6)?(this.expect(6),y=9,g=!0):(this.expect(5),y=8,g=!1),c.exact=g;!this.match(y);){let M=!1,j=null,K=null,W=this.startNode();if(n&&this.isContextual(116)){let X=this.lookahead();X.type!==14&&X.type!==17&&(this.next(),j=this.state.startLoc,s=!1)}if(s&&this.isContextual(104)){let X=this.lookahead();X.type!==14&&X.type!==17&&(this.next(),M=!0)}let V=this.flowParseVariance();if(this.eat(0))j!=null&&this.unexpected(j),this.eat(0)?(V&&this.unexpected(V.loc.start),c.internalSlots.push(this.flowParseObjectTypeInternalSlot(W,M))):c.indexers.push(this.flowParseObjectTypeIndexer(W,M,V));else if(this.match(10)||this.match(47))j!=null&&this.unexpected(j),V&&this.unexpected(V.loc.start),c.callProperties.push(this.flowParseObjectTypeCallProperty(W,M));else{let X="init";if(this.isContextual(98)||this.isContextual(103)){let Nh=this.lookahead();it(Nh.type)&&(X=this.state.value,this.next())}let je=this.flowParseObjectTypeProperty(W,M,j,V,X,a,o!=null?o:!g);je===null?(T=!0,K=this.state.lastTokStartLoc):c.properties.push(je)}this.flowObjectTypeSemicolon(),K&&!this.match(8)&&!this.match(9)&&this.raise(D.UnexpectedExplicitInexactInObject,{at:K})}this.expect(y),a&&(c.inexact=T);let C=this.finishNode(c,"ObjectTypeAnnotation");return this.state.inType=u,C}flowParseObjectTypeProperty(e,s,i,a,n,o,u){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(o?u||this.raise(D.InexactInsideExact,{at:this.state.lastTokStartLoc}):this.raise(D.InexactInsideNonObject,{at:this.state.lastTokStartLoc}),a&&this.raise(D.InexactVariance,{at:a}),null):(o||this.raise(D.UnexpectedSpreadType,{at:this.state.lastTokStartLoc}),i!=null&&this.unexpected(i),a&&this.raise(D.SpreadVariance,{at:a}),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=s,e.proto=i!=null,e.kind=n;let c=!1;return this.match(47)||this.match(10)?(e.method=!0,i!=null&&this.unexpected(i),a&&this.unexpected(a.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start)),(n==="get"||n==="set")&&this.flowCheckGetterSetterParams(e),!o&&e.key.name==="constructor"&&e.value.this&&this.raise(D.ThisParamBannedInConstructor,{at:e.value.this})):(n!=="init"&&this.unexpected(),e.method=!1,this.eat(17)&&(c=!0),e.value=this.flowParseTypeInitialiser(),e.variance=a),e.optional=c,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){let s=e.kind==="get"?0:1,i=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise(e.kind==="get"?D.GetterMayNotHaveThisParam:D.SetterMayNotHaveThisParam,{at:e.value.this}),i!==s&&this.raise(e.kind==="get"?f.BadGetterArity:f.BadSetterArity,{at:e}),e.kind==="set"&&e.value.rest&&this.raise(f.BadSetterRestParameter,{at:e})}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(e,s){var i;(i=e)!=null||(e=this.state.startLoc);let a=s||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let n=this.startNodeAt(e);n.qualification=a,n.id=this.flowParseRestrictedIdentifier(!0),a=this.finishNode(n,"QualifiedTypeIdentifier")}return a}flowParseGenericType(e,s){let i=this.startNodeAt(e);return i.typeParameters=null,i.id=this.flowParseQualifiedTypeIdentifier(e,s),this.match(47)&&(i.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(i,"GenericTypeAnnotation")}flowParseTypeofType(){let e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){let e=this.startNode();for(e.types=[],this.expect(0);this.state.pos0&&arguments[0]!==void 0?arguments[0]:[],s=null,i=null;for(this.match(78)&&(i=this.flowParseFunctionTypeParam(!0),i.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(s=this.flowParseFunctionTypeParam(!1)),{params:e,rest:s,_this:i}}flowIdentToTypeAnnotation(e,s,i){switch(i.name){case"any":return this.finishNode(s,"AnyTypeAnnotation");case"bool":case"boolean":return this.finishNode(s,"BooleanTypeAnnotation");case"mixed":return this.finishNode(s,"MixedTypeAnnotation");case"empty":return this.finishNode(s,"EmptyTypeAnnotation");case"number":return this.finishNode(s,"NumberTypeAnnotation");case"string":return this.finishNode(s,"StringTypeAnnotation");case"symbol":return this.finishNode(s,"SymbolTypeAnnotation");default:return this.checkNotUnderscore(i.name),this.flowParseGenericType(e,i)}}flowParsePrimaryType(){let e=this.state.startLoc,s=this.startNode(),i,a,n=!1,o=this.state.noAnonFunctionType;switch(this.state.type){case 5:return this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!0,allowProto:!1,allowInexact:!0});case 6:return this.flowParseObjectType({allowStatic:!1,allowExact:!0,allowSpread:!0,allowProto:!1,allowInexact:!1});case 0:return this.state.noAnonFunctionType=!1,a=this.flowParseTupleType(),this.state.noAnonFunctionType=o,a;case 47:return s.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(10),i=this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),this.finishNode(s,"FunctionTypeAnnotation");case 10:if(this.next(),!this.match(11)&&!this.match(21))if(q(this.state.type)||this.match(78)){let u=this.lookahead().type;n=u!==17&&u!==14}else n=!0;if(n){if(this.state.noAnonFunctionType=!1,a=this.flowParseType(),this.state.noAnonFunctionType=o,this.state.noAnonFunctionType||!(this.match(12)||this.match(11)&&this.lookahead().type===19))return this.expect(11),a;this.eat(12)}return a?i=this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(a)]):i=this.flowParseFunctionTypeParams(),s.params=i.params,s.rest=i.rest,s.this=i._this,this.expect(11),this.expect(19),s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation");case 131:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case 85:case 86:return s.value=this.match(85),this.next(),this.finishNode(s,"BooleanLiteralTypeAnnotation");case 53:if(this.state.value==="-"){if(this.next(),this.match(132))return this.parseLiteralAtNode(-this.state.value,"NumberLiteralTypeAnnotation",s);if(this.match(133))return this.parseLiteralAtNode(-this.state.value,"BigIntLiteralTypeAnnotation",s);throw this.raise(D.UnexpectedSubtractionOperand,{at:this.state.startLoc})}this.unexpected();return;case 132:return this.parseLiteral(this.state.value,"NumberLiteralTypeAnnotation");case 133:return this.parseLiteral(this.state.value,"BigIntLiteralTypeAnnotation");case 88:return this.next(),this.finishNode(s,"VoidTypeAnnotation");case 84:return this.next(),this.finishNode(s,"NullLiteralTypeAnnotation");case 78:return this.next(),this.finishNode(s,"ThisTypeAnnotation");case 55:return this.next(),this.finishNode(s,"ExistsTypeAnnotation");case 87:return this.flowParseTypeofType();default:if($t(this.state.type)){let u=xe(this.state.type);return this.next(),super.createIdentifier(s,u)}else if(q(this.state.type))return this.isContextual(127)?this.flowParseInterfaceType():this.flowIdentToTypeAnnotation(e,s,this.parseIdentifier())}this.unexpected()}flowParsePostfixType(){let e=this.state.startLoc,s=this.flowParsePrimaryType(),i=!1;for(;(this.match(0)||this.match(18))&&!this.canInsertSemicolon();){let a=this.startNodeAt(e),n=this.eat(18);i=i||n,this.expect(0),!n&&this.match(3)?(a.elementType=s,this.next(),s=this.finishNode(a,"ArrayTypeAnnotation")):(a.objectType=s,a.indexType=this.flowParseType(),this.expect(3),i?(a.optional=n,s=this.finishNode(a,"OptionalIndexedAccessType")):s=this.finishNode(a,"IndexedAccessType"))}return s}flowParsePrefixType(){let e=this.startNode();return this.eat(17)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()}flowParseAnonFunctionWithoutParens(){let e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(19)){let s=this.startNodeAt(e.loc.start);return s.params=[this.reinterpretTypeAsFunctionTypeParam(e)],s.rest=null,s.this=null,s.returnType=this.flowParseType(),s.typeParameters=null,this.finishNode(s,"FunctionTypeAnnotation")}return e}flowParseIntersectionType(){let e=this.startNode();this.eat(45);let s=this.flowParseAnonFunctionWithoutParens();for(e.types=[s];this.eat(45);)e.types.push(this.flowParseAnonFunctionWithoutParens());return e.types.length===1?s:this.finishNode(e,"IntersectionTypeAnnotation")}flowParseUnionType(){let e=this.startNode();this.eat(43);let s=this.flowParseIntersectionType();for(e.types=[s];this.eat(43);)e.types.push(this.flowParseIntersectionType());return e.types.length===1?s:this.finishNode(e,"UnionTypeAnnotation")}flowParseType(){let e=this.state.inType;this.state.inType=!0;let s=this.flowParseUnionType();return this.state.inType=e,s}flowParseTypeOrImplicitInstantiation(){if(this.state.type===130&&this.state.value==="_"){let e=this.state.startLoc,s=this.parseIdentifier();return this.flowParseGenericType(e,s)}else return this.flowParseType()}flowParseTypeAnnotation(){let e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")}flowParseTypeAnnotatableIdentifier(e){let s=e?this.parseIdentifier():this.flowParseRestrictedIdentifier();return this.match(14)&&(s.typeAnnotation=this.flowParseTypeAnnotation(),this.resetEndLocation(s)),s}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocation(e.expression,e.typeAnnotation.loc.end),e.expression}flowParseVariance(){let e=null;return this.match(53)?(e=this.startNode(),this.state.value==="+"?e.kind="plus":e.kind="minus",this.next(),this.finishNode(e,"Variance")):e}parseFunctionBody(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(s){this.forwardNoArrowParamsConversionAt(e,()=>super.parseFunctionBody(e,!0,i));return}super.parseFunctionBody(e,!1,i)}parseFunctionBodyAndFinish(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(this.match(14)){let a=this.startNode();[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=a.typeAnnotation?this.finishNode(a,"TypeAnnotation"):null}return super.parseFunctionBodyAndFinish(e,s,i)}parseStatementLike(e){if(this.state.strict&&this.isContextual(127)){let i=this.lookahead();if(te(i.type)){let a=this.startNode();return this.next(),this.flowParseInterface(a)}}else if(this.shouldParseEnums()&&this.isContextual(124)){let i=this.startNode();return this.next(),this.flowParseEnumDeclaration(i)}let s=super.parseStatementLike(e);return this.flowPragma===void 0&&!this.isValidDirective(s)&&(this.flowPragma=null),s}parseExpressionStatement(e,s,i){if(s.type==="Identifier"){if(s.name==="declare"){if(this.match(80)||q(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(q(this.state.type)){if(s.name==="interface")return this.flowParseInterface(e);if(s.name==="type")return this.flowParseTypeAlias(e);if(s.name==="opaque")return this.flowParseOpaqueType(e,!1)}}return super.parseExpressionStatement(e,s,i)}shouldParseExportDeclaration(){let{type:e}=this.state;return hr(e)||this.shouldParseEnums()&&e===124?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:e}=this.state;return hr(e)||this.shouldParseEnums()&&e===124?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual(124)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,s,i){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let T=this.lookaheadCharCode();if(T===44||T===61||T===58||T===41)return this.setOptionalParametersError(i),e}this.expect(17);let a=this.state.clone(),n=this.state.noArrowAt,o=this.startNodeAt(s),{consequent:u,failed:c}=this.tryParseConditionalConsequent(),[y,g]=this.getArrowLikeExpressions(u);if(c||g.length>0){let T=[...n];if(g.length>0){this.state=a,this.state.noArrowAt=T;for(let C=0;C1&&this.raise(D.AmbiguousConditionalArrow,{at:a.startLoc}),c&&y.length===1&&(this.state=a,T.push(y[0].start),this.state.noArrowAt=T,{consequent:u,failed:c}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions(u,!0),this.state.noArrowAt=n,this.expect(14),o.test=e,o.consequent=u,o.alternate=this.forwardNoArrowParamsConversionAt(o,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(o,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let e=this.parseMaybeAssignAllowIn(),s=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:s}}getArrowLikeExpressions(e,s){let i=[e],a=[];for(;i.length!==0;){let n=i.pop();n.type==="ArrowFunctionExpression"?(n.typeParameters||!n.returnType?this.finishArrowValidation(n):a.push(n),i.push(n.body)):n.type==="ConditionalExpression"&&(i.push(n.consequent),i.push(n.alternate))}return s?(a.forEach(n=>this.finishArrowValidation(n)),[a,[]]):Yl(a,n=>n.params.every(o=>this.isAssignable(o,!0)))}finishArrowValidation(e){var s;this.toAssignableList(e.params,(s=e.extra)==null?void 0:s.trailingCommaLoc,!1),this.scope.enter(de|Gt),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,s){let i;return this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?(this.state.noArrowParamsConversionAt.push(this.state.start),i=s(),this.state.noArrowParamsConversionAt.pop()):i=s(),i}parseParenItem(e,s){if(e=super.parseParenItem(e,s),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){let i=this.startNodeAt(s);return i.expression=e,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){e.type==="ImportDeclaration"&&(e.importKind==="type"||e.importKind==="typeof")||e.type==="ExportNamedDeclaration"&&e.exportKind==="type"||e.type==="ExportAllDeclaration"&&e.exportKind==="type"||super.assertModuleNodeAllowed(e)}parseExport(e,s){let i=super.parseExport(e,s);return(i.type==="ExportNamedDeclaration"||i.type==="ExportAllDeclaration")&&(i.exportKind=i.exportKind||"value"),i}parseExportDeclaration(e){if(this.isContextual(128)){e.exportKind="type";let s=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(e),null):this.flowParseTypeAlias(s)}else if(this.isContextual(129)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseOpaqueType(s,!1)}else if(this.isContextual(127)){e.exportKind="type";let s=this.startNode();return this.next(),this.flowParseInterface(s)}else if(this.shouldParseEnums()&&this.isContextual(124)){e.exportKind="value";let s=this.startNode();return this.next(),this.flowParseEnumDeclaration(s)}else return super.parseExportDeclaration(e)}eatExportStar(e){return super.eatExportStar(e)?!0:this.isContextual(128)&&this.lookahead().type===55?(e.exportKind="type",this.next(),this.next(),!0):!1}maybeParseExportNamespaceSpecifier(e){let{startLoc:s}=this.state,i=super.maybeParseExportNamespaceSpecifier(e);return i&&e.exportKind==="type"&&this.unexpected(s),i}parseClassId(e,s,i){super.parseClassId(e,s,i),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,s,i){let{startLoc:a}=this.state;if(this.isContextual(123)){if(super.parseClassMemberFromModifier(e,s))return;s.declare=!0}super.parseClassMember(e,s,i),s.declare&&(s.type!=="ClassProperty"&&s.type!=="ClassPrivateProperty"&&s.type!=="PropertyDefinition"?this.raise(D.DeclareClassElement,{at:a}):s.value&&this.raise(D.DeclareClassFieldInitializer,{at:s.value}))}isIterator(e){return e==="iterator"||e==="asyncIterator"}readIterator(){let e=super.readWord1(),s="@@"+e;(!this.isIterator(e)||!this.state.inType)&&this.raise(f.InvalidIdentifier,{at:this.state.curPosition(),identifierName:s}),this.finishToken(130,s)}getTokenFromCode(e){let s=this.input.charCodeAt(this.state.pos+1);e===123&&s===124?this.finishOp(6,2):this.state.inType&&(e===62||e===60)?this.finishOp(e===62?48:47,1):this.state.inType&&e===63?s===46?this.finishOp(18,2):this.finishOp(17,1):ll(e,s,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e)}isAssignable(e,s){return e.type==="TypeCastExpression"?this.isAssignable(e.expression,s):super.isAssignable(e,s)}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;!s&&e.type==="AssignmentExpression"&&e.left.type==="TypeCastExpression"&&(e.left=this.typeCastToParameter(e.left)),super.toAssignable(e,s)}toAssignableList(e,s,i){for(let a=0;a1||!s)&&this.raise(D.TypeCastInPattern,{at:n.typeAnnotation})}return e}parseArrayLike(e,s,i,a){let n=super.parseArrayLike(e,s,i,a);return s&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}isValidLVal(e,s,i){return e==="TypeCastExpression"||super.isValidLVal(e,s,i)}parseClassProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(14)&&super.isNonstaticConstructor(e)}pushClassMethod(e,s,i,a,n,o){if(s.variance&&this.unexpected(s.variance.loc.start),delete s.variance,this.match(47)&&(s.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,s,i,a,n,o),s.params&&n){let u=s.params;u.length>0&&this.isThisParam(u[0])&&this.raise(D.ThisParamBannedInConstructor,{at:s})}else if(s.type==="MethodDefinition"&&n&&s.value.params){let u=s.value.params;u.length>0&&this.isThisParam(u[0])&&this.raise(D.ThisParamBannedInConstructor,{at:s})}}pushClassPrivateMethod(e,s,i,a){s.variance&&this.unexpected(s.variance.loc.start),delete s.variance,this.match(47)&&(s.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,s,i,a)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.match(47)&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(111)){this.next();let s=e.implements=[];do{let i=this.startNode();i.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?i.typeParameters=this.flowParseTypeParameterInstantiation():i.typeParameters=null,s.push(this.finishNode(i,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);let s=this.getObjectOrClassMethodParams(e);if(s.length>0){let i=s[0];this.isThisParam(i)&&e.kind==="get"?this.raise(D.GetterMayNotHaveThisParam,{at:i}):this.isThisParam(i)&&this.raise(D.SetterMayNotHaveThisParam,{at:i})}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,s,i,a,n,o,u){e.variance&&this.unexpected(e.variance.loc.start),delete e.variance;let c;this.match(47)&&!o&&(c=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());let y=super.parseObjPropValue(e,s,i,a,n,o,u);return c&&((y.value||y).typeParameters=c),y}parseAssignableListItemTypes(e){return this.eat(17)&&(e.type!=="Identifier"&&this.raise(D.PatternIsOptional,{at:e}),this.isThisParam(e)&&this.raise(D.ThisParamMayNotBeOptional,{at:e}),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(D.ThisParamAnnotationRequired,{at:e}),this.match(29)&&this.isThisParam(e)&&this.raise(D.ThisParamNoDefault,{at:e}),this.resetEndLocation(e),e}parseMaybeDefault(e,s){let i=super.parseMaybeDefault(e,s);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startsuper.parseMaybeAssign(e,s),a),!n.error)return n.node;let{context:c}=this.state,y=c[c.length-1];(y===x.j_oTag||y===x.j_expr)&&c.pop()}if((i=n)!=null&&i.error||this.match(47)){var o,u;a=a||this.state.clone();let c,y=this.tryParse(T=>{var C;c=this.flowParseTypeParameterDeclaration();let M=this.forwardNoArrowParamsConversionAt(c,()=>{let K=super.parseMaybeAssign(e,s);return this.resetStartLocationFromNode(K,c),K});(C=M.extra)!=null&&C.parenthesized&&T();let j=this.maybeUnwrapTypeCastExpression(M);return j.type!=="ArrowFunctionExpression"&&T(),j.typeParameters=c,this.resetStartLocationFromNode(j,c),M},a),g=null;if(y.node&&this.maybeUnwrapTypeCastExpression(y.node).type==="ArrowFunctionExpression"){if(!y.error&&!y.aborted)return y.node.async&&this.raise(D.UnexpectedTypeParameterBeforeAsyncArrowFunction,{at:c}),y.node;g=y.node}if((o=n)!=null&&o.node)return this.state=n.failState,n.node;if(g)return this.state=y.failState,g;throw(u=n)!=null&&u.thrown?n.error:y.thrown?y.error:this.raise(D.UnexpectedTokenAfterTypeParameter,{at:c})}return super.parseMaybeAssign(e,s)}parseArrow(e){if(this.match(14)){let s=this.tryParse(()=>{let i=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let a=this.startNode();return[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=i,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),a});if(s.thrown)return null;s.error&&(this.state=s.failState),e.returnType=s.node.typeAnnotation?this.finishNode(s.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(14)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,s){this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1?e.params=s:super.setArrowFunctionParameters(e,s)}checkParams(e,s,i){let a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0;if(!(i&&this.state.noArrowParamsConversionAt.indexOf(e.start)!==-1)){for(let n=0;n0&&this.raise(D.ThisParamMustBeFirst,{at:e.params[n]});super.checkParams(e,s,i,a)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&this.state.noArrowAt.indexOf(this.state.start)===-1)}parseSubscripts(e,s,i){if(e.type==="Identifier"&&e.name==="async"&&this.state.noArrowAt.indexOf(s.index)!==-1){this.next();let a=this.startNodeAt(s);a.callee=e,a.arguments=super.parseCallExpressionArguments(11,!1),e=this.finishNode(a,"CallExpression")}else if(e.type==="Identifier"&&e.name==="async"&&this.match(47)){let a=this.state.clone(),n=this.tryParse(u=>this.parseAsyncArrowWithTypeParameters(s)||u(),a);if(!n.error&&!n.aborted)return n.node;let o=this.tryParse(()=>super.parseSubscripts(e,s,i),a);if(o.node&&!o.error)return o.node;if(n.node)return this.state=n.failState,n.node;if(o.node)return this.state=o.failState,o.node;throw n.error||o.error}return super.parseSubscripts(e,s,i)}parseSubscript(e,s,i,a){if(this.match(18)&&this.isLookaheadToken_lt()){if(a.optionalChainMember=!0,i)return a.stop=!0,e;this.next();let n=this.startNodeAt(s);return n.callee=e,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),n.arguments=this.parseCallExpressionArguments(11,!1),n.optional=!0,this.finishCallExpression(n,!0)}else if(!i&&this.shouldParseTypes()&&this.match(47)){let n=this.startNodeAt(s);n.callee=e;let o=this.tryParse(()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),n.arguments=super.parseCallExpressionArguments(11,!1),a.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,a.optionalChainMember)));if(o.node)return o.error&&(this.state=o.failState),o.node}return super.parseSubscript(e,s,i,a)}parseNewCallee(e){super.parseNewCallee(e);let s=null;this.shouldParseTypes()&&this.match(47)&&(s=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=s}parseAsyncArrowWithTypeParameters(e){let s=this.startNodeAt(e);if(this.parseFunctionParams(s,!1),!!this.parseArrow(s))return super.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(e){let s=this.input.charCodeAt(this.state.pos+1);if(e===42&&s===47&&this.state.hasFlowComment){this.state.hasFlowComment=!1,this.state.pos+=2,this.nextToken();return}super.readToken_mult_modulo(e)}readToken_pipe_amp(e){let s=this.input.charCodeAt(this.state.pos+1);if(e===124&&s===125){this.finishOp(9,2);return}super.readToken_pipe_amp(e)}parseTopLevel(e,s){let i=super.parseTopLevel(e,s);return this.state.hasFlowComment&&this.raise(D.UnterminatedFlowComment,{at:this.state.curPosition()}),i}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(D.NestedFlowComment,{at:this.state.startLoc});this.hasFlowCommentCompletion();let e=this.skipFlowComment();e&&(this.state.pos+=e,this.state.hasFlowComment=!0);return}return super.skipBlockComment(this.state.hasFlowComment?"*-/":"*/")}skipFlowComment(){let{pos:e}=this.state,s=2;for(;[32,9].includes(this.input.charCodeAt(e+s));)s++;let i=this.input.charCodeAt(s+e),a=this.input.charCodeAt(s+e+1);return i===58&&a===58?s+2:this.input.slice(s+e,s+e+12)==="flow-include"?s+12:i===58&&a!==58?s:!1}hasFlowCommentCompletion(){if(this.input.indexOf("*/",this.state.pos)===-1)throw this.raise(f.UnterminatedComment,{at:this.state.curPosition()})}flowEnumErrorBooleanMemberNotInitialized(e,s){let{enumName:i,memberName:a}=s;this.raise(D.EnumBooleanMemberNotInitialized,{at:e,memberName:a,enumName:i})}flowEnumErrorInvalidMemberInitializer(e,s){return this.raise(s.explicitType?s.explicitType==="symbol"?D.EnumInvalidMemberInitializerSymbolType:D.EnumInvalidMemberInitializerPrimaryType:D.EnumInvalidMemberInitializerUnknownType,Object.assign({at:e},s))}flowEnumErrorNumberMemberNotInitialized(e,s){let{enumName:i,memberName:a}=s;this.raise(D.EnumNumberMemberNotInitialized,{at:e,enumName:i,memberName:a})}flowEnumErrorStringMemberInconsistentlyInitailized(e,s){let{enumName:i}=s;this.raise(D.EnumStringMemberInconsistentlyInitailized,{at:e,enumName:i})}flowEnumMemberInit(){let e=this.state.startLoc,s=()=>this.match(12)||this.match(8);switch(this.state.type){case 132:{let i=this.parseNumericLiteral(this.state.value);return s()?{type:"number",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}case 131:{let i=this.parseStringLiteral(this.state.value);return s()?{type:"string",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}case 85:case 86:{let i=this.parseBooleanLiteral(this.match(85));return s()?{type:"boolean",loc:i.loc.start,value:i}:{type:"invalid",loc:e}}default:return{type:"invalid",loc:e}}}flowEnumMemberRaw(){let e=this.state.startLoc,s=this.parseIdentifier(!0),i=this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:e};return{id:s,init:i}}flowEnumCheckExplicitTypeMismatch(e,s,i){let{explicitType:a}=s;a!==null&&a!==i&&this.flowEnumErrorInvalidMemberInitializer(e,s)}flowEnumMembers(e){let{enumName:s,explicitType:i}=e,a=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},o=!1;for(;!this.match(8);){if(this.eat(21)){o=!0;break}let u=this.startNode(),{id:c,init:y}=this.flowEnumMemberRaw(),g=c.name;if(g==="")continue;/^[a-z]/.test(g)&&this.raise(D.EnumInvalidMemberName,{at:c,memberName:g,suggestion:g[0].toUpperCase()+g.slice(1),enumName:s}),a.has(g)&&this.raise(D.EnumDuplicateMemberName,{at:c,memberName:g,enumName:s}),a.add(g);let T={enumName:s,explicitType:i,memberName:g};switch(u.id=c,y.type){case"boolean":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"boolean"),u.init=y.value,n.booleanMembers.push(this.finishNode(u,"EnumBooleanMember"));break}case"number":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"number"),u.init=y.value,n.numberMembers.push(this.finishNode(u,"EnumNumberMember"));break}case"string":{this.flowEnumCheckExplicitTypeMismatch(y.loc,T,"string"),u.init=y.value,n.stringMembers.push(this.finishNode(u,"EnumStringMember"));break}case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(y.loc,T);case"none":switch(i){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(y.loc,T);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(y.loc,T);break;default:n.defaultedMembers.push(this.finishNode(u,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:n,hasUnknownMembers:o}}flowEnumStringMembers(e,s,i){let{enumName:a}=i;if(e.length===0)return s;if(s.length===0)return e;if(s.length>e.length){for(let n of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(n,{enumName:a});return s}else{for(let n of s)this.flowEnumErrorStringMemberInconsistentlyInitailized(n,{enumName:a});return e}}flowEnumParseExplicitType(e){let{enumName:s}=e;if(!this.eatContextual(101))return null;if(!q(this.state.type))throw this.raise(D.EnumInvalidExplicitTypeUnknownSupplied,{at:this.state.startLoc,enumName:s});let{value:i}=this.state;return this.next(),i!=="boolean"&&i!=="number"&&i!=="string"&&i!=="symbol"&&this.raise(D.EnumInvalidExplicitType,{at:this.state.startLoc,enumName:s,invalidEnumType:i}),i}flowEnumBody(e,s){let i=s.name,a=s.loc.start,n=this.flowEnumParseExplicitType({enumName:i});this.expect(5);let{members:o,hasUnknownMembers:u}=this.flowEnumMembers({enumName:i,explicitType:n});switch(e.hasUnknownMembers=u,n){case"boolean":return e.explicitType=!0,e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=o.defaultedMembers,this.expect(8),this.finishNode(e,"EnumSymbolBody");default:{let c=()=>(e.members=[],this.expect(8),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;let y=o.booleanMembers.length,g=o.numberMembers.length,T=o.stringMembers.length,C=o.defaultedMembers.length;if(!y&&!g&&!T&&!C)return c();if(!y&&!g)return e.members=this.flowEnumStringMembers(o.stringMembers,o.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(e,"EnumStringBody");if(!g&&!T&&y>=C){for(let M of o.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(M.loc.start,{enumName:i,memberName:M.id.name});return e.members=o.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody")}else if(!y&&!T&&g>=C){for(let M of o.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(M.loc.start,{enumName:i,memberName:M.id.name});return e.members=o.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody")}else return this.raise(D.EnumInconsistentMemberValues,{at:a,enumName:i}),c()}}}flowParseEnumDeclaration(e){let s=this.parseIdentifier();return e.id=s,e.body=this.flowEnumBody(this.startNode(),s),this.finishNode(e,"EnumDeclaration")}isLookaheadToken_lt(){let e=this.nextTokenStart();if(this.input.charCodeAt(e)===60){let s=this.input.charCodeAt(e+1);return s!==60&&s!==61}return!1}maybeUnwrapTypeCastExpression(e){return e.type==="TypeCastExpression"?e.expression:e}},eh={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},Se=pe`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:t=>{let{openingTagName:r}=t;return`Expected corresponding JSX closing tag for <${r}>.`},MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:t=>{let{unexpected:r,HTMLEntity:e}=t;return`Unexpected token \`${r}\`. Did you mean \`${e}\` or \`{'${r}'}\`?`},UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function Te(t){return t?t.type==="JSXOpeningFragment"||t.type==="JSXClosingFragment":!1}function Re(t){if(t.type==="JSXIdentifier")return t.name;if(t.type==="JSXNamespacedName")return t.namespace.name+":"+t.name.name;if(t.type==="JSXMemberExpression")return Re(t.object)+"."+Re(t.property);throw new Error("Node had unexpected type: "+t.type)}var th=t=>class extends t{jsxReadToken(){let e="",s=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(Se.UnterminatedJsxContent,{at:this.state.startLoc});let i=this.input.charCodeAt(this.state.pos);switch(i){case 60:case 123:if(this.state.pos===this.state.start){i===60&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(140)):super.getTokenFromCode(i);return}e+=this.input.slice(s,this.state.pos),this.finishToken(139,e);return;case 38:e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos;break;case 62:case 125:default:Ge(i)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!0),s=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){let s=this.input.charCodeAt(this.state.pos),i;return++this.state.pos,s===13&&this.input.charCodeAt(this.state.pos)===10?(++this.state.pos,i=e?` +`:`\r +`):i=String.fromCharCode(s),++this.state.curLine,this.state.lineStart=this.state.pos,i}jsxReadString(e){let s="",i=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(f.UnterminatedString,{at:this.state.startLoc});let a=this.input.charCodeAt(this.state.pos);if(a===e)break;a===38?(s+=this.input.slice(i,this.state.pos),s+=this.jsxReadEntity(),i=this.state.pos):Ge(a)?(s+=this.input.slice(i,this.state.pos),s+=this.jsxReadNewLine(!1),i=this.state.pos):++this.state.pos}s+=this.input.slice(i,this.state.pos++),this.finishToken(131,s)}jsxReadEntity(){let e=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;let s=10;this.codePointAtPos(this.state.pos)===120&&(s=16,++this.state.pos);let i=this.readInt(s,void 0,!1,"bail");if(i!==null&&this.codePointAtPos(this.state.pos)===59)return++this.state.pos,String.fromCodePoint(i)}else{let s=0,i=!1;for(;s++<10&&this.state.pos1){for(let s=0;s=0;s--){let i=this.scopeStack[s];if(i.types.has(r)||i.exportOnlyBindings.has(r))return}super.checkLocalExport(t)}},ih=(t,r)=>Object.hasOwnProperty.call(t,r)&&t[r],Ur=t=>t.type==="ParenthesizedExpression"?Ur(t.expression):t,ah=class extends Wl{toAssignable(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;var e,s;let i;switch((t.type==="ParenthesizedExpression"||(e=t.extra)!=null&&e.parenthesized)&&(i=Ur(t),r?i.type==="Identifier"?this.expressionScope.recordArrowParameterBindingError(f.InvalidParenthesizedAssignment,{at:t}):i.type!=="MemberExpression"&&this.raise(f.InvalidParenthesizedAssignment,{at:t}):this.raise(f.InvalidParenthesizedAssignment,{at:t})),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern";for(let n=0,o=t.properties.length,u=o-1;ns.type!=="ObjectMethod"&&(i===e||s.type!=="SpreadElement")&&this.isAssignable(s))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every(e=>e===null||this.isAssignable(e));case"AssignmentExpression":return t.operator==="=";case"ParenthesizedExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!r;default:return!1}}toReferencedList(t,r){return t}toReferencedListDeep(t,r){this.toReferencedList(t,r);for(let e of t)(e==null?void 0:e.type)==="ArrayExpression"&&this.toReferencedListDeep(e.elements)}parseSpread(t){let r=this.startNode();return this.next(),r.argument=this.parseMaybeAssignAllowIn(t,void 0),this.finishNode(r,"SpreadElement")}parseRestBinding(){let t=this.startNode();return this.next(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{let t=this.startNode();return this.next(),t.elements=this.parseBindingList(3,93,1),this.finishNode(t,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}parseBindingList(t,r,e){let s=e&1,i=[],a=!0;for(;!this.eat(t);)if(a?a=!1:this.expect(12),s&&this.match(12))i.push(null);else{if(this.eat(t))break;if(this.match(21)){if(i.push(this.parseAssignableListItemTypes(this.parseRestBinding(),e)),!this.checkCommaAfterRest(r)){this.expect(t);break}}else{let n=[];for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(f.UnsupportedParameterDecorator,{at:this.state.startLoc});this.match(26);)n.push(this.parseDecorator());i.push(this.parseAssignableListItem(e,n))}}return i}parseBindingRestProperty(t){return this.next(),t.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(t,"RestElement")}parseBindingProperty(){let t=this.startNode(),{type:r,startLoc:e}=this.state;return r===21?this.parseBindingRestProperty(t):(r===136?(this.expectPlugin("destructuringPrivate",e),this.classScope.usePrivateName(this.state.value,e),t.key=this.parsePrivateName()):this.parsePropertyName(t),t.method=!1,this.parseObjPropValue(t,e,!1,!1,!0,!1))}parseAssignableListItem(t,r){let e=this.parseMaybeDefault();this.parseAssignableListItemTypes(e,t);let s=this.parseMaybeDefault(e.loc.start,e);return r.length&&(e.decorators=r),s}parseAssignableListItemTypes(t,r){return t}parseMaybeDefault(t,r){var e,s;if((e=t)!=null||(t=this.state.startLoc),r=(s=r)!=null?s:this.parseBindingAtom(),!this.eat(29))return r;let i=this.startNodeAt(t);return i.left=r,i.right=this.parseMaybeAssignAllowIn(),this.finishNode(i,"AssignmentPattern")}isValidLVal(t,r,e){return ih({AssignmentPattern:"left",RestElement:"argument",ObjectProperty:"value",ParenthesizedExpression:"expression",ArrayPattern:"elements",ObjectPattern:"properties"},t)}checkLVal(t,r){let{in:e,binding:s=Pe,checkClashes:i=!1,strictModeChanged:a=!1,hasParenthesizedAncestor:n=!1}=r;var o;let u=t.type;if(this.isObjectMethod(t))return;if(u==="MemberExpression"){s!==Pe&&this.raise(f.InvalidPropertyBindingPattern,{at:t});return}if(u==="Identifier"){this.checkIdentifier(t,s,a);let{name:C}=t;i&&(i.has(C)?this.raise(f.ParamDupe,{at:t}):i.add(C));return}let c=this.isValidLVal(u,!(n||(o=t.extra)!=null&&o.parenthesized)&&e.type==="AssignmentExpression",s);if(c===!0)return;if(c===!1){let C=s===Pe?f.InvalidLhs:f.InvalidLhsBinding;this.raise(C,{at:t,ancestor:e});return}let[y,g]=Array.isArray(c)?c:[c,u==="ParenthesizedExpression"],T=u==="ArrayPattern"||u==="ObjectPattern"||u==="ParenthesizedExpression"?{type:u}:e;for(let C of[].concat(t[y]))C&&this.checkLVal(C,{in:T,binding:s,checkClashes:i,strictModeChanged:a,hasParenthesizedAncestor:g})}checkIdentifier(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.state.strict&&(e?xr(t.name,this.inModule):yr(t.name))&&(r===Pe?this.raise(f.StrictEvalArguments,{at:t,referenceName:t.name}):this.raise(f.StrictEvalArgumentsBinding,{at:t,bindingName:t.name})),r&dt&&t.name==="let"&&this.raise(f.LetInLexicalBinding,{at:t}),r&Pe||this.declareNameFromIdentifier(t,r)}declareNameFromIdentifier(t,r){this.scope.declareName(t.name,r,t.loc.start)}checkToRestConversion(t,r){switch(t.type){case"ParenthesizedExpression":this.checkToRestConversion(t.expression,r);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(r)break;default:this.raise(f.InvalidRestAssignmentPattern,{at:t})}}checkCommaAfterRest(t){return this.match(12)?(this.raise(this.lookaheadCharCode()===t?f.RestTrailingComma:f.ElementAfterRest,{at:this.state.startLoc}),!0):!1}},nh=(t,r)=>Object.hasOwnProperty.call(t,r)&&t[r];function oh(t){if(t==null)throw new Error(`Unexpected ${t} value.`);return t}function $r(t){if(!t)throw new Error("Assert fail")}var I=pe`typescript`({AbstractMethodHasImplementation:t=>{let{methodName:r}=t;return`Method '${r}' cannot have an implementation because it is marked abstract.`},AbstractPropertyHasInitializer:t=>{let{propertyName:r}=t;return`Property '${r}' cannot have an initializer because it is marked abstract.`},AccesorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccesorCannotHaveTypeParameters:"An accessor cannot have type parameters.",AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:t=>{let{kind:r}=t;return`'declare' is not allowed in ${r}ters.`},DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:t=>{let{modifier:r}=t;return"Accessibility modifier already seen."},DuplicateModifier:t=>{let{modifier:r}=t;return`Duplicate modifier: '${r}'.`},EmptyHeritageClauseType:t=>{let{token:r}=t;return`'${r}' list cannot be empty.`},EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:t=>{let{modifiers:r}=t;return`'${r[0]}' modifier cannot be used with '${r[1]}' modifier.`},IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:t=>{let{modifier:r}=t;return`Index signatures cannot have an accessibility modifier ('${r}').`},IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidModifierOnTypeMember:t=>{let{modifier:r}=t;return`'${r}' modifier cannot appear on a type member.`},InvalidModifierOnTypeParameter:t=>{let{modifier:r}=t;return`'${r}' modifier cannot appear on a type parameter.`},InvalidModifierOnTypeParameterPositions:t=>{let{modifier:r}=t;return`'${r}' modifier can only appear on a type parameter of a class, interface or type alias.`},InvalidModifiersOrder:t=>{let{orderedModifiers:r}=t;return`'${r[0]}' modifier must precede '${r[1]}' modifier.`},InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:t=>{let{modifier:r}=t;return`Private elements cannot have an accessibility modifier ('${r}').`},ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccesorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccesorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccesorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:t=>{let{typeParameterName:r}=t;return`Single type parameter ${r} should have a trailing comma. Example usage: <${r},>.`},StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:t=>{let{type:r}=t;return`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${r}.`}});function lh(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function Hr(t){return t==="private"||t==="public"||t==="protected"}function hh(t){return t==="in"||t==="out"}var uh=t=>class extends t{constructor(){super(...arguments),this.tsParseInOutModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:I.InvalidModifierOnTypeParameter}),this.tsParseConstModifier=this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:I.InvalidModifierOnTypeParameterPositions}),this.tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:I.InvalidModifierOnTypeParameter})}getScopeHandler(){return rh}tsIsIdentifier(){return q(this.state.type)}tsTokenCanFollowModifier(){return(this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(136)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsNextTokenCanFollowModifier(){return this.next(),this.tsTokenCanFollowModifier()}tsParseModifier(e,s){if(!q(this.state.type)&&this.state.type!==58&&this.state.type!==75)return;let i=this.state.value;if(e.indexOf(i)!==-1){if(s&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return i}}tsParseModifiers(e,s){let{allowedModifiers:i,disallowedModifiers:a,stopOnStartOfClassStaticBlock:n,errorTemplate:o=I.InvalidModifierOnTypeMember}=e,u=(y,g,T,C)=>{g===T&&s[C]&&this.raise(I.InvalidModifiersOrder,{at:y,orderedModifiers:[T,C]})},c=(y,g,T,C)=>{(s[T]&&g===C||s[C]&&g===T)&&this.raise(I.IncompatibleModifiers,{at:y,modifiers:[T,C]})};for(;;){let{startLoc:y}=this.state,g=this.tsParseModifier(i.concat(a!=null?a:[]),n);if(!g)break;Hr(g)?s.accessibility?this.raise(I.DuplicateAccessibilityModifier,{at:y,modifier:g}):(u(y,g,g,"override"),u(y,g,g,"static"),u(y,g,g,"readonly"),s.accessibility=g):hh(g)?(s[g]&&this.raise(I.DuplicateModifier,{at:y,modifier:g}),s[g]=!0,u(y,g,"in","out")):(Object.hasOwnProperty.call(s,g)?this.raise(I.DuplicateModifier,{at:y,modifier:g}):(u(y,g,"static","readonly"),u(y,g,"static","override"),u(y,g,"override","readonly"),u(y,g,"abstract","override"),c(y,g,"declare","override"),c(y,g,"static","abstract")),s[g]=!0),a!=null&&a.includes(g)&&this.raise(o,{at:y,modifier:g})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,s){let i=[];for(;!this.tsIsListTerminator(e);)i.push(s());return i}tsParseDelimitedList(e,s,i){return oh(this.tsParseDelimitedListWorker(e,s,!0,i))}tsParseDelimitedListWorker(e,s,i,a){let n=[],o=-1;for(;!this.tsIsListTerminator(e);){o=-1;let u=s();if(u==null)return;if(n.push(u),this.eat(12)){o=this.state.lastTokStart;continue}if(this.tsIsListTerminator(e))break;i&&this.expect(12);return}return a&&(a.value=o),n}tsParseBracketedList(e,s,i,a,n){a||(i?this.expect(0):this.expect(47));let o=this.tsParseDelimitedList(e,s,n);return i?this.expect(3):this.expect(48),o}tsParseImportType(){let e=this.startNode();return this.expect(83),this.expect(10),this.match(131)||this.raise(I.UnsupportedImportTypeArgument,{at:this.state.startLoc}),e.argument=super.parseExprAtom(),this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName()),this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,s=this.parseIdentifier(e);for(;this.eat(16);){let i=this.startNodeAtNode(s);i.left=s,i.right=this.parseIdentifier(e),s=this.finishNode(i,"TSQualifiedName")}return s}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();let s=this.startNodeAtNode(e);return s.parameterName=e,s.typeAnnotation=this.tsParseTypeAnnotation(!1),s.asserts=!1,this.finishNode(s,"TSTypePredicate")}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){let e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){let s=this.startNode();return e(s),s.name=this.tsParseTypeParameterName(),s.constraint=this.tsEatThenParseType(81),s.default=this.tsEatThenParseType(29),this.finishNode(s,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let s=this.startNode();this.match(47)||this.match(140)?this.next():this.unexpected();let i={value:-1};return s.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,i),s.params.length===0&&this.raise(I.EmptyTypeParameters,{at:s}),i.value!==-1&&this.addExtra(s,"trailingComma",i.value),this.finishNode(s,"TSTypeParameterDeclaration")}tsFillSignature(e,s){let i=e===19,a="parameters",n="typeAnnotation";s.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),s[a]=this.tsParseBindingListForSignature(),i?s[n]=this.tsParseTypeOrTypePredicateAnnotation(e):this.match(e)&&(s[n]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return super.parseBindingList(11,41,2).map(e=>(e.type!=="Identifier"&&e.type!=="RestElement"&&e.type!=="ObjectPattern"&&e.type!=="ArrayPattern"&&this.raise(I.UnsupportedSignatureParameterKind,{at:e,type:e.type}),e))}tsParseTypeMemberSemicolon(){!this.eat(12)&&!this.isLineTerminator()&&this.expect(13)}tsParseSignatureMember(e,s){return this.tsFillSignature(14,s),this.tsParseTypeMemberSemicolon(),this.finishNode(s,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),q(this.state.type)?(this.next(),this.match(14)):!1}tsTryParseIndexSignature(e){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let s=this.parseIdentifier();s.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(s),this.expect(3),e.parameters=[s];let i=this.tsTryParseTypeAnnotation();return i&&(e.typeAnnotation=i),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,s){this.eat(17)&&(e.optional=!0);let i=e;if(this.match(10)||this.match(47)){s&&this.raise(I.ReadonlyForMethodSignature,{at:e});let a=i;a.kind&&this.match(47)&&this.raise(I.AccesorCannotHaveTypeParameters,{at:this.state.curPosition()}),this.tsFillSignature(14,a),this.tsParseTypeMemberSemicolon();let n="parameters",o="typeAnnotation";if(a.kind==="get")a[n].length>0&&(this.raise(f.BadGetterArity,{at:this.state.curPosition()}),this.isThisParam(a[n][0])&&this.raise(I.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}));else if(a.kind==="set"){if(a[n].length!==1)this.raise(f.BadSetterArity,{at:this.state.curPosition()});else{let u=a[n][0];this.isThisParam(u)&&this.raise(I.AccesorCannotDeclareThisParameter,{at:this.state.curPosition()}),u.type==="Identifier"&&u.optional&&this.raise(I.SetAccesorCannotHaveOptionalParameter,{at:this.state.curPosition()}),u.type==="RestElement"&&this.raise(I.SetAccesorCannotHaveRestParameter,{at:this.state.curPosition()})}a[o]&&this.raise(I.SetAccesorCannotHaveReturnType,{at:a[o]})}else a.kind="method";return this.finishNode(a,"TSMethodSignature")}else{let a=i;s&&(a.readonly=!0);let n=this.tsTryParseTypeAnnotation();return n&&(a.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(a,"TSPropertySignature")}}tsParseTypeMember(){let e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){let i=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(i,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e);let s=this.tsTryParseIndexSignature(e);return s||(super.parsePropertyName(e),!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);let e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(120):(this.isContextual(120)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(58)))}tsParseMappedTypeParameter(){let e=this.startNode();return e.name=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){let e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(120)):this.eatContextual(120)&&(e.readonly=!0),this.expect(0),e.typeParameter=this.tsParseMappedTypeParameter(),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let s=!1,i=null;return e.elementTypes.forEach(a=>{var n;let{type:o}=a;s&&o!=="TSRestType"&&o!=="TSOptionalType"&&!(o==="TSNamedTupleMember"&&a.optional)&&this.raise(I.OptionalTypeBeforeRequired,{at:a}),s||(s=o==="TSNamedTupleMember"&&a.optional||o==="TSOptionalType");let u=o;o==="TSRestType"&&(a=a.typeAnnotation,u=a.type);let c=u==="TSNamedTupleMember";(n=i)!=null||(i=c),i!==c&&this.raise(I.MixedLabeledAndUnlabeledElements,{at:a})}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){let{startLoc:e}=this.state,s=this.eat(21),i,a,n,o,c=te(this.state.type)?this.lookaheadCharCode():null;if(c===58)i=!0,n=!1,a=this.parseIdentifier(!0),this.expect(14),o=this.tsParseType();else if(c===63){n=!0;let y=this.state.startLoc,g=this.state.value,T=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(i=!0,a=this.createIdentifier(this.startNodeAt(y),g),this.expect(17),this.expect(14),o=this.tsParseType()):(i=!1,o=T,this.expect(17))}else o=this.tsParseType(),n=this.eat(17),i=this.eat(14);if(i){let y;a?(y=this.startNodeAtNode(a),y.optional=n,y.label=a,y.elementType=o,this.eat(17)&&(y.optional=!0,this.raise(I.TupleOptionalAfterType,{at:this.state.lastTokStartLoc}))):(y=this.startNodeAtNode(o),y.optional=n,this.raise(I.InvalidTupleMemberLabel,{at:o}),y.label=o,y.elementType=this.tsParseType()),o=this.finishNode(y,"TSNamedTupleMember")}else if(n){let y=this.startNodeAtNode(o);y.typeAnnotation=o,o=this.finishNode(y,"TSOptionalType")}if(s){let y=this.startNodeAt(e);y.typeAnnotation=o,o=this.finishNode(y,"TSRestType")}return o}tsParseParenthesizedType(){let e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,s){let i=this.startNode();return e==="TSConstructorType"&&(i.abstract=!!s,s&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,i)),this.finishNode(i,e)}tsParseLiteralTypeNode(){let e=this.startNode();return e.literal=(()=>{switch(this.state.type){case 132:case 133:case 131:case 85:case 86:return super.parseExprAtom();default:this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){let e=this.startNode();return e.literal=super.parseTemplate(!1),this.finishNode(e,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(114)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 131:case 132:case 133:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if(this.state.value==="-"){let e=this.startNode(),s=this.lookahead();return s.type!==132&&s.type!==133&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(q(e)||e===88||e===84){let s=e===88?"TSVoidKeyword":e===84?"TSNullKeyword":lh(this.state.value);if(s!==void 0&&this.lookaheadCharCode()!==46){let i=this.startNode();return this.next(),this.finishNode(i,s)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){let s=this.startNodeAtNode(e);s.elementType=e,this.expect(3),e=this.finishNode(s,"TSArrayType")}else{let s=this.startNodeAtNode(e);s.objectType=e,s.indexType=this.tsParseType(),this.expect(3),e=this.finishNode(s,"TSIndexedAccessType")}return e}tsParseTypeOperator(){let e=this.startNode(),s=this.state.value;return this.next(),e.operator=s,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),s==="readonly"&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(I.UnexpectedReadonly,{at:e})}}tsParseInferType(){let e=this.startNode();this.expectContextual(113);let s=this.startNode();return s.name=this.tsParseTypeParameterName(),s.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(s,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){return qo(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(113)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,s,i){let a=this.startNode(),n=this.eat(i),o=[];do o.push(s());while(this.eat(i));return o.length===1&&!n?o[0]:(a.types=o,this.finishNode(a,e))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return this.match(47)?!0:this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(q(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){let{errors:e}=this.state,s=e.length;try{return this.parseObjectLike(8,!0),e.length===s}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,s=e.length;try{return super.parseBindingList(3,93,1),e.length===s}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(11)||this.match(21)||this.tsSkipParameterStart()&&(this.match(14)||this.match(12)||this.match(17)||this.match(29)||this.match(11)&&(this.next(),this.match(19))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let s=this.startNode();this.expect(e);let i=this.startNode(),a=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(a&&this.match(78)){let u=this.tsParseThisTypeOrThisTypePredicate();return u.type==="TSThisType"?(i.parameterName=u,i.asserts=!0,i.typeAnnotation=null,u=this.finishNode(i,"TSTypePredicate")):(this.resetStartLocationFromNode(u,i),u.asserts=!0),s.typeAnnotation=u,this.finishNode(s,"TSTypeAnnotation")}let n=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!n)return a?(i.parameterName=this.parseIdentifier(),i.asserts=a,i.typeAnnotation=null,s.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(s,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,s);let o=this.tsParseTypeAnnotation(!1);return i.parameterName=n,i.typeAnnotation=o,i.asserts=a,s.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(s,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(14)?this.tsParseTypeOrTypePredicateAnnotation(14):void 0}tsTryParseTypeAnnotation(){return this.match(14)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(114)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(this.state.type!==107)return!1;let e=this.state.containsEsc;return this.next(),!q(this.state.type)&&!this.match(78)?!1:(e&&this.raise(f.InvalidEscapedReservedWord,{at:this.state.lastTokStartLoc,reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.startNode();return this.tsInType(()=>{e&&this.expect(14),s.typeAnnotation=this.tsParseType()}),this.finishNode(s,"TSTypeAnnotation")}tsParseType(){$r(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;let s=this.startNodeAtNode(e);return s.checkType=e,s.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),s.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),s.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(s,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(122)&&this.lookahead().type===77}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(I.ReservedTypeAssertion,{at:this.state.startLoc});let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){let s=this.state.startLoc,i=this.tsParseDelimitedList("HeritageClauseElement",()=>{let a=this.startNode();return a.expression=this.tsParseEntityName(),this.match(47)&&(a.typeParameters=this.tsParseTypeArguments()),this.finishNode(a,"TSExpressionWithTypeArguments")});return i.length||this.raise(I.EmptyHeritageClauseType,{at:s,token:e}),i}tsParseInterfaceDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.hasFollowingLineBreak())return null;this.expectContextual(127),s.declare&&(e.declare=!0),q(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,pl)):(e.id=null,this.raise(I.MissingInterfaceName,{at:this.state.startLoc})),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));let i=this.startNode();return i.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(i,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,fl),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(112)&&this.lookahead().type!==16){let s=this.startNode();return this.next(),this.finishNode(s,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(e){let s=this.state.context;this.state.context=[s[0]];try{return e()}finally{this.state.context=s}}tsInType(e){let s=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=s}}tsInDisallowConditionalTypesContext(e){let s=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=s}}tsInAllowConditionalTypesContext(e){let s=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=s}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType(()=>this.expect(e))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(e){return this.tsInType(()=>(e(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(131)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return s.const&&(e.const=!0),s.declare&&(e.declare=!0),this.expectContextual(124),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?ml:Cr),this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){let e=this.startNode();return this.scope.enter(Fe),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.id=this.parseIdentifier(),s||this.checkIdentifier(e.id,yl),this.eat(16)){let i=this.startNode();this.tsParseModuleOrNamespaceDeclaration(i,!0),e.body=i}else this.scope.enter(Oe),this.prodParam.enter(Me),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(110)?(e.global=!0,e.id=this.parseIdentifier()):this.match(131)?e.id=super.parseStringLiteral(this.state.value):this.unexpected(),this.match(5)?(this.scope.enter(Oe),this.prodParam.enter(Me),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,s){e.isExport=s||!1,e.id=this.parseIdentifier(),this.checkIdentifier(e.id,Ve),this.expect(29);let i=this.tsParseModuleReference();return e.importKind==="type"&&i.type!=="TSExternalModuleReference"&&this.raise(I.ImportAliasHasImportType,{at:i}),e.moduleReference=i,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(117)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(117),this.expect(10),this.match(131)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){let s=this.state.clone(),i=e();return this.state=s,i}tsTryParseAndCatch(e){let s=this.tryParse(i=>e()||i());if(!(s.aborted||!s.node))return s.error&&(this.state=s.failState),s.node}tsTryParse(e){let s=this.state.clone(),i=e();if(i!==void 0&&i!==!1)return i;this.state=s}tsTryParseDeclare(e){if(this.isLineTerminator())return;let s=this.state.type,i;return this.isContextual(99)&&(s=74,i="let"),this.tsInAmbientContext(()=>{if(s===68)return e.declare=!0,super.parseFunctionStatement(e,!1,!1);if(s===80)return e.declare=!0,this.parseClass(e,!0,!1);if(s===124)return this.tsParseEnumDeclaration(e,{declare:!0});if(s===110)return this.tsParseAmbientExternalModuleDeclaration(e);if(s===75||s===74)return!this.match(75)||!this.isLookaheadContextual("enum")?(e.declare=!0,this.parseVarStatement(e,i||this.state.value,!0)):(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0}));if(s===127){let a=this.tsParseInterfaceDeclaration(e,{declare:!0});if(a)return a}if(q(s))return this.tsParseDeclaration(e,this.state.value,!0,null)})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(e,s,i){switch(s.name){case"declare":{let a=this.tsTryParseDeclare(e);if(a)return a.declare=!0,a;break}case"global":if(this.match(5)){this.scope.enter(Oe),this.prodParam.enter(Me);let a=e;return a.global=!0,a.id=s,a.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(a,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,s.name,!1,i)}}tsParseDeclaration(e,s,i,a){switch(s){case"abstract":if(this.tsCheckLineTerminator(i)&&(this.match(80)||q(this.state.type)))return this.tsParseAbstractDeclaration(e,a);break;case"module":if(this.tsCheckLineTerminator(i)){if(this.match(131))return this.tsParseAmbientExternalModuleDeclaration(e);if(q(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e)}break;case"namespace":if(this.tsCheckLineTerminator(i)&&q(this.state.type))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminator(i)&&q(this.state.type))return this.tsParseTypeAliasDeclaration(e);break}}tsCheckLineTerminator(e){return e?this.hasFollowingLineBreak()?!1:(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;let s=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;let i=this.tsTryParseAndCatch(()=>{let a=this.startNodeAt(e);return a.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(a),a.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),a});if(this.state.maybeInArrowParameters=s,!!i)return super.parseArrowExpression(i,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===47)return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),e.params.length===0&&this.raise(I.EmptyTypeArguments,{at:e}),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return Uo(this.state.type)}isExportDefaultSpecifier(){return this.tsIsDeclarationStart()?!1:super.isExportDefaultSpecifier()}parseAssignableListItem(e,s){let i=this.state.startLoc,a={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},a);let n=a.accessibility,o=a.override,u=a.readonly;!(e&4)&&(n||u||o)&&this.raise(I.UnexpectedParameterModifier,{at:i});let c=this.parseMaybeDefault();this.parseAssignableListItemTypes(c,e);let y=this.parseMaybeDefault(c.loc.start,c);if(n||u||o){let g=this.startNodeAt(i);return s.length&&(g.decorators=s),n&&(g.accessibility=n),u&&(g.readonly=u),o&&(g.override=o),y.type!=="Identifier"&&y.type!=="AssignmentPattern"&&this.raise(I.UnsupportedParameterPropertyKind,{at:g}),g.parameter=y,this.finishNode(g,"TSParameterProperty")}return s.length&&(c.decorators=s),y}isSimpleParameter(e){return e.type==="TSParameterProperty"&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let s of e.params)s.type!=="Identifier"&&s.optional&&!this.state.isAmbientContext&&this.raise(I.PatternIsOptional,{at:s})}setArrowFunctionParameters(e,s,i){super.setArrowFunctionParameters(e,s,i),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));let a=s==="FunctionDeclaration"?"TSDeclareFunction":s==="ClassMethod"||s==="ClassPrivateMethod"?"TSDeclareMethod":void 0;return a&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,a):a==="TSDeclareFunction"&&this.state.isAmbientContext&&(this.raise(I.DeclareFunctionHasImplementation,{at:e}),e.declare)?super.parseFunctionBodyAndFinish(e,a,i):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,s,i))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,br):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(s=>{(s==null?void 0:s.type)==="TSTypeCastExpression"&&this.raise(I.UnexpectedTypeAnnotation,{at:s.typeAnnotation})})}toReferencedList(e,s){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,s,i,a){let n=super.parseArrayLike(e,s,i,a);return n.type==="ArrayExpression"&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,s,i,a){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();let o=this.startNodeAt(s);return o.expression=e,this.finishNode(o,"TSNonNullExpression")}let n=!1;if(this.match(18)&&this.lookaheadCharCode()===60){if(i)return a.stop=!0,e;a.optionalChainMember=n=!0,this.next()}if(this.match(47)||this.match(51)){let o,u=this.tsTryParseAndCatch(()=>{if(!i&&this.atPossibleAsyncArrow(e)){let T=this.tsTryParseGenericAsyncArrowFunction(s);if(T)return T}let c=this.tsParseTypeArgumentsInExpression();if(!c)return;if(n&&!this.match(10)){o=this.state.curPosition();return}if(nt(this.state.type)){let T=super.parseTaggedTemplateExpression(e,s,a);return T.typeParameters=c,T}if(!i&&this.eat(10)){let T=this.startNodeAt(s);return T.callee=e,T.arguments=this.parseCallExpressionArguments(11,!1),this.tsCheckForInvalidTypeCasts(T.arguments),T.typeParameters=c,a.optionalChainMember&&(T.optional=n),this.finishCallExpression(T,a.optionalChainMember)}let y=this.state.type;if(y===48||y===52||y!==10&&He(y)&&!this.hasPrecedingLineBreak())return;let g=this.startNodeAt(s);return g.expression=e,g.typeParameters=c,this.finishNode(g,"TSInstantiationExpression")});if(o&&this.unexpected(o,10),u)return u.type==="TSInstantiationExpression"&&(this.match(16)||this.match(18)&&this.lookaheadCharCode()!==40)&&this.raise(I.InvalidPropertyAccessAfterInstantiationExpression,{at:this.state.startLoc}),u}return super.parseSubscript(e,s,i,a)}parseNewCallee(e){var s;super.parseNewCallee(e);let{callee:i}=e;i.type==="TSInstantiationExpression"&&!((s=i.extra)!=null&&s.parenthesized)&&(e.typeParameters=i.typeParameters,e.callee=i.expression)}parseExprOp(e,s,i){let a;if(at(58)>i&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(a=this.isContextual(118)))){let n=this.startNodeAt(s);return n.expression=e,n.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(a&&this.raise(f.UnexpectedKeyword,{at:this.state.startLoc,keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(n,a?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(n,s,i)}return super.parseExprOp(e,s,i)}checkReservedWord(e,s,i,a){this.state.isAmbientContext||super.checkReservedWord(e,s,i,a)}checkImportReflection(e){super.checkImportReflection(e),e.module&&e.importKind!=="value"&&this.raise(I.ImportReflectionHasImportType,{at:e.specifiers[0].loc.start})}checkDuplicateExports(){}parseImport(e){if(e.importKind="value",q(this.state.type)||this.match(55)||this.match(5)){let i=this.lookahead();if(this.isContextual(128)&&i.type!==12&&i.type!==97&&i.type!==29&&(e.importKind="type",this.next(),i=this.lookahead()),q(this.state.type)&&i.type===29)return this.tsParseImportEqualsDeclaration(e)}let s=super.parseImport(e);return s.importKind==="type"&&s.specifiers.length>1&&s.specifiers[0].type==="ImportDefaultSpecifier"&&this.raise(I.TypeImportCannotSpecifyDefaultAndNamed,{at:s}),s}parseExport(e,s){if(this.match(83))return this.next(),this.isContextual(128)&&this.lookaheadCharCode()!==61?(e.importKind="type",this.next()):e.importKind="value",this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(29)){let i=e;return i.expression=super.parseExpression(),this.semicolon(),this.finishNode(i,"TSExportAssignment")}else if(this.eatContextual(93)){let i=e;return this.expectContextual(126),i.id=this.parseIdentifier(),this.semicolon(),this.finishNode(i,"TSNamespaceExportDeclaration")}else{if(e.exportKind="value",this.isContextual(128)){let i=this.lookaheadCharCode();(i===123||i===42)&&(this.next(),e.exportKind="type")}return super.parseExport(e,s)}}isAbstractClass(){return this.isContextual(122)&&this.lookahead().type===80}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(127)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,s){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,{isAmbientContext:a}=this.state,n=super.parseVarStatement(e,s,i||a);if(!a)return n;for(let{id:o,init:u}of n.declarations)u&&(s!=="const"||o.typeAnnotation?this.raise(I.InitializerNotAllowedInAmbientContext,{at:u}):ph(u,this.hasPlugin("estree"))||this.raise(I.ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference,{at:u}));return n}parseStatementContent(e,s){if(this.match(75)&&this.isLookaheadContextual("enum")){let i=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(i,{const:!0})}if(this.isContextual(124))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(127)){let i=this.tsParseInterfaceDeclaration(this.startNode());if(i)return i}return super.parseStatementContent(e,s)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,s){return s.some(i=>Hr(i)?e.accessibility===i:!!e[i])}tsIsStartOfStaticBlocks(){return this.isContextual(104)&&this.lookaheadCharCode()===123}parseClassMember(e,s,i){let a=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:a,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:I.InvalidModifierOnTypeParameterPositions},s);let n=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(s,a)&&this.raise(I.StaticBlockCannotHaveModifier,{at:this.state.curPosition()}),super.parseClassStaticBlock(e,s)):this.parseClassMemberWithIsStatic(e,s,i,!!s.static)};s.declare?this.tsInAmbientContext(n):n()}parseClassMemberWithIsStatic(e,s,i,a){let n=this.tsTryParseIndexSignature(s);if(n){e.body.push(n),s.abstract&&this.raise(I.IndexSignatureHasAbstract,{at:s}),s.accessibility&&this.raise(I.IndexSignatureHasAccessibility,{at:s,modifier:s.accessibility}),s.declare&&this.raise(I.IndexSignatureHasDeclare,{at:s}),s.override&&this.raise(I.IndexSignatureHasOverride,{at:s});return}!this.state.inAbstractClass&&s.abstract&&this.raise(I.NonAbstractClassHasAbstractMethod,{at:s}),s.override&&(i.hadSuperClass||this.raise(I.OverrideNotInSubClass,{at:s})),super.parseClassMemberWithIsStatic(e,s,i,a)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(I.ClassMethodHasReadonly,{at:e}),e.declare&&this.match(10)&&this.raise(I.ClassMethodHasDeclare,{at:e})}parseExpressionStatement(e,s,i){return(s.type==="Identifier"?this.tsParseExpressionStatement(e,s,i):void 0)||super.parseExpressionStatement(e,s,i)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(e,s,i){if(!this.state.maybeInArrowParameters||!this.match(17))return super.parseConditional(e,s,i);let a=this.tryParse(()=>super.parseConditional(e,s));return a.node?(a.error&&(this.state=a.failState),a.node):(a.error&&super.setOptionalParametersError(i,a.error),e)}parseParenItem(e,s){if(e=super.parseParenItem(e,s),this.eat(17)&&(e.optional=!0,this.resetEndLocation(e)),this.match(14)){let i=this.startNodeAt(s);return i.expression=e,i.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(i,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(123))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let s=this.state.startLoc,i=this.eatContextual(123);if(i&&(this.isContextual(123)||!this.shouldParseExportDeclaration()))throw this.raise(I.ExpectedAmbientAfterExportDeclare,{at:this.state.startLoc});let n=q(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return n?((n.type==="TSInterfaceDeclaration"||n.type==="TSTypeAliasDeclaration"||i)&&(e.exportKind="type"),i&&(this.resetStartLocation(n,s),n.declare=!0),n):null}parseClassId(e,s,i,a){if((!s||i)&&this.isContextual(111))return;super.parseClassId(e,s,i,e.declare?br:vr);let n=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);n&&(e.typeParameters=n)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));let s=this.tsTryParseTypeAnnotation();s&&(e.typeAnnotation=s)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&!(e.readonly&&!e.typeAnnotation)&&this.match(29)&&this.raise(I.DeclareClassFieldHasInitializer,{at:this.state.startLoc}),e.abstract&&this.match(29)){let{key:s}=e;this.raise(I.AbstractPropertyHasInitializer,{at:this.state.startLoc,propertyName:s.type==="Identifier"&&!e.computed?s.name:`[${this.input.slice(s.start,s.end)}]`})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(I.PrivateElementHasAbstract,{at:e}),e.accessibility&&this.raise(I.PrivateElementHasAccessibility,{at:e,modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(I.AccessorCannotBeOptional,{at:e}),super.parseClassAccessorProperty(e)}pushClassMethod(e,s,i,a,n,o){let u=this.tsTryParseTypeParameters(this.tsParseConstModifier);u&&n&&this.raise(I.ConstructorHasTypeParameters,{at:u});let{declare:c=!1,kind:y}=s;c&&(y==="get"||y==="set")&&this.raise(I.DeclareAccessor,{at:s,kind:y}),u&&(s.typeParameters=u),super.pushClassMethod(e,s,i,a,n,o)}pushClassPrivateMethod(e,s,i,a){let n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(s.typeParameters=n),super.pushClassPrivateMethod(e,s,i,a)}declareClassPrivateMethodInScope(e,s){e.type!=="TSDeclareMethod"&&(e.type==="MethodDefinition"&&!e.value.body||super.declareClassPrivateMethodInScope(e,s))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(111)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,s,i,a,n,o,u){let c=this.tsTryParseTypeParameters(this.tsParseConstModifier);return c&&(e.typeParameters=c),super.parseObjPropValue(e,s,i,a,n,o,u)}parseFunctionParams(e,s){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(e.typeParameters=i),super.parseFunctionParams(e,s)}parseVarId(e,s){super.parseVarId(e,s),e.id.type==="Identifier"&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);let i=this.tsTryParseTypeAnnotation();i&&(e.id.typeAnnotation=i,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,s){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,s)}parseMaybeAssign(e,s){var i,a,n,o,u,c,y;let g,T,C;if(this.hasPlugin("jsx")&&(this.match(140)||this.match(47))){if(g=this.state.clone(),T=this.tryParse(()=>super.parseMaybeAssign(e,s),g),!T.error)return T.node;let{context:K}=this.state,W=K[K.length-1];(W===x.j_oTag||W===x.j_expr)&&K.pop()}if(!((i=T)!=null&&i.error)&&!this.match(47))return super.parseMaybeAssign(e,s);(!g||g===this.state)&&(g=this.state.clone());let M,j=this.tryParse(K=>{var W,V;M=this.tsParseTypeParameters(this.tsParseConstModifier);let X=super.parseMaybeAssign(e,s);return(X.type!=="ArrowFunctionExpression"||(W=X.extra)!=null&&W.parenthesized)&&K(),((V=M)==null?void 0:V.params.length)!==0&&this.resetStartLocationFromNode(X,M),X.typeParameters=M,X},g);if(!j.error&&!j.aborted)return M&&this.reportReservedArrowTypeParam(M),j.node;if(!T&&($r(!this.hasPlugin("jsx")),C=this.tryParse(()=>super.parseMaybeAssign(e,s),g),!C.error))return C.node;if((a=T)!=null&&a.node)return this.state=T.failState,T.node;if(j.node)return this.state=j.failState,M&&this.reportReservedArrowTypeParam(M),j.node;if((n=C)!=null&&n.node)return this.state=C.failState,C.node;throw(o=T)!=null&&o.thrown?T.error:j.thrown?j.error:(u=C)!=null&&u.thrown?C.error:((c=T)==null?void 0:c.error)||j.error||((y=C)==null?void 0:y.error)}reportReservedArrowTypeParam(e){var s;e.params.length===1&&!e.params[0].constraint&&!((s=e.extra)!=null&&s.trailingComma)&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(I.ReservedArrowTypeParam,{at:e})}parseMaybeUnary(e,s){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,s)}parseArrow(e){if(this.match(14)){let s=this.tryParse(i=>{let a=this.tsParseTypeOrTypePredicateAnnotation(14);return(this.canInsertSemicolon()||!this.match(19))&&i(),a});if(s.aborted)return;s.thrown||(s.error&&(this.state=s.failState),e.returnType=s.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e,s){if(!(s&2))return e;this.eat(17)&&(e.optional=!0);let i=this.tsTryParseTypeAnnotation();return i&&(e.typeAnnotation=i),this.resetEndLocation(e),e}isAssignable(e,s){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,s);case"TSParameterProperty":return!0;default:return super.isAssignable(e,s)}}toAssignable(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,s);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":s?this.expressionScope.recordArrowParameterBindingError(I.UnexpectedTypeCastInParameter,{at:e}):this.raise(I.UnexpectedTypeCastInParameter,{at:e}),this.toAssignable(e.expression,s);break;case"AssignmentExpression":!s&&e.left.type==="TSTypeCastExpression"&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,s)}}toAssignableParenthesizedExpression(e,s){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,s);break;default:super.toAssignable(e,s)}}checkToRestConversion(e,s){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,s)}}isValidLVal(e,s,i){return nh({TSTypeCastExpression:!0,TSParameterProperty:"parameter",TSNonNullExpression:"expression",TSAsExpression:(i!==Pe||!s)&&["expression",!0],TSSatisfiesExpression:(i!==Pe||!s)&&["expression",!0],TSTypeAssertion:(i!==Pe||!s)&&["expression",!0]},e)||super.isValidLVal(e,s,i)}parseBindingAtom(){switch(this.state.type){case 78:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.match(47)||this.match(51)){let s=this.tsParseTypeArgumentsInExpression();if(this.match(10)){let i=super.parseMaybeDecoratorArguments(e);return i.typeParameters=s,i}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,s){let i=super.parseMaybeDefault(e,s);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startthis.isAssignable(s,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){let s=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());s&&(e.typeParameters=s)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let s=super.getGetterSetterExpectedParamCount(e),a=this.getObjectOrClassMethodParams(e)[0];return a&&this.isThisParam(a)?s+1:s}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),s=this.tsTryParseTypeAnnotation();return s&&(e.typeAnnotation=s,this.resetEndLocation(e)),e}tsInAmbientContext(e){let s=this.state.isAmbientContext;this.state.isAmbientContext=!0;try{return e()}finally{this.state.isAmbientContext=s}}parseClass(e,s,i){let a=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,s,i)}finally{this.state.inAbstractClass=a}}tsParseAbstractDeclaration(e,s){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(s,this.parseClass(e,!0,!1));if(this.isContextual(127)){if(!this.hasFollowingLineBreak())return e.abstract=!0,this.raise(I.NonClassMethodPropertyHasAbstractModifer,{at:e}),this.tsParseInterfaceDeclaration(e)}else this.unexpected(null,80)}parseMethod(e,s,i,a,n,o,u){let c=super.parseMethod(e,s,i,a,n,o,u);if(c.abstract&&(this.hasPlugin("estree")?!!c.value.body:!!c.body)){let{key:g}=c;this.raise(I.AbstractMethodHasImplementation,{at:c,methodName:g.type==="Identifier"&&!c.computed?g.name:`[${this.input.slice(g.start,g.end)}]`})}return c}tsParseTypeParameterName(){return this.parseIdentifier().name}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,s,i,a){return!s&&a?(this.parseTypeOnlyImportExportSpecifier(e,!1,i),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,s,i,a))}parseImportSpecifier(e,s,i,a,n){return!s&&a?(this.parseTypeOnlyImportExportSpecifier(e,!0,i),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,s,i,a,i?Sr:Ve))}parseTypeOnlyImportExportSpecifier(e,s,i){let a=s?"imported":"local",n=s?"local":"exported",o=e[a],u,c=!1,y=!0,g=o.loc.start;if(this.isContextual(93)){let C=this.parseIdentifier();if(this.isContextual(93)){let M=this.parseIdentifier();te(this.state.type)?(c=!0,o=C,u=s?this.parseIdentifier():this.parseModuleExportName(),y=!1):(u=M,y=!1)}else te(this.state.type)?(y=!1,u=s?this.parseIdentifier():this.parseModuleExportName()):(c=!0,o=C)}else te(this.state.type)&&(c=!0,s?(o=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(o.name,o.loc.start,!0,!0)):o=this.parseModuleExportName());c&&i&&this.raise(s?I.TypeModifierIsUsedInTypeImports:I.TypeModifierIsUsedInTypeExports,{at:g}),e[a]=o,e[n]=u;let T=s?"importKind":"exportKind";e[T]=c?"type":"value",y&&this.eatContextual(93)&&(e[n]=s?this.parseIdentifier():this.parseModuleExportName()),e[n]||(e[n]=me(e[a])),s&&this.checkIdentifier(e[n],c?Sr:Ve)}};function ch(t){if(t.type!=="MemberExpression")return!1;let{computed:r,property:e}=t;return r&&e.type!=="StringLiteral"&&(e.type!=="TemplateLiteral"||e.expressions.length>0)?!1:Vr(t.object)}function ph(t,r){var e;let{type:s}=t;if((e=t.extra)!=null&&e.parenthesized)return!1;if(r){if(s==="Literal"){let{value:i}=t;if(typeof i=="string"||typeof i=="boolean")return!0}}else if(s==="StringLiteral"||s==="BooleanLiteral")return!0;return!!(zr(t,r)||fh(t,r)||s==="TemplateLiteral"&&t.expressions.length===0||ch(t))}function zr(t,r){return r?t.type==="Literal"&&(typeof t.value=="number"||"bigint"in t):t.type==="NumericLiteral"||t.type==="BigIntLiteral"}function fh(t,r){if(t.type==="UnaryExpression"){let{operator:e,argument:s}=t;if(e==="-"&&zr(s,r))return!0}return!1}function Vr(t){return t.type==="Identifier"?!0:t.type!=="MemberExpression"||t.computed?!1:Vr(t.object)}var Kr=pe`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),dh=t=>class extends t{parsePlaceholder(e){if(this.match(142)){let s=this.startNode();return this.next(),this.assertNoSpace(),s.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(142),this.finishPlaceholder(s,e)}}finishPlaceholder(e,s){let i=!!(e.expectedNode&&e.type==="Placeholder");return e.expectedNode=s,i?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){e===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(142,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,s,i,a){e!==void 0&&super.checkReservedWord(e,s,i,a)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,s,i){return e==="Placeholder"||super.isValidLVal(e,s,i)}toAssignable(e,s){e&&e.type==="Placeholder"&&e.expectedNode==="Expression"?e.expectedNode="Pattern":super.toAssignable(e,s)}chStartsBindingIdentifier(e,s){return!!(super.chStartsBindingIdentifier(e,s)||this.lookahead().type===142)}verifyBreakContinue(e,s){e.label&&e.label.type==="Placeholder"||super.verifyBreakContinue(e,s)}parseExpressionStatement(e,s){if(s.type!=="Placeholder"||s.extra&&s.extra.parenthesized)return super.parseExpressionStatement(e,s);if(this.match(14)){let i=e;return i.label=this.finishPlaceholder(s,"Identifier"),this.next(),i.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(i,"LabeledStatement")}return this.semicolon(),e.name=s.name,this.finishPlaceholder(e,"Statement")}parseBlock(e,s,i){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,s,i)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,s,i){let a=s?"ClassDeclaration":"ClassExpression";this.next();let n=this.state.strict,o=this.parsePlaceholder("Identifier");if(o)if(this.match(81)||this.match(142)||this.match(5))e.id=o;else{if(i||!s)return e.id=null,e.body=this.finishPlaceholder(o,"ClassBody"),this.finishNode(e,a);throw this.raise(Kr.ClassNameIsRequired,{at:this.state.startLoc})}else this.parseClassId(e,s,i);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,n),this.finishNode(e,a)}parseExport(e,s){let i=this.parsePlaceholder("Identifier");if(!i)return super.parseExport(e,s);if(!this.isContextual(97)&&!this.match(12))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(i,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");let a=this.startNode();return a.exported=i,e.specifiers=[this.finishNode(a,"ExportDefaultSpecifier")],super.parseExport(e,s)}isExportDefaultSpecifier(){if(this.match(65)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(xe(142),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e){return e.specifiers&&e.specifiers.length>0?!0:super.maybeParseExportDefaultSpecifier(e)}checkExport(e){let{specifiers:s}=e;s!=null&&s.length&&(e.specifiers=s.filter(i=>i.exported.type==="Placeholder")),super.checkExport(e),e.specifiers=s}parseImport(e){let s=this.parsePlaceholder("Identifier");if(!s)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(97)&&!this.match(12))return e.source=this.finishPlaceholder(s,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");let i=this.startNodeAtNode(s);return i.local=s,e.specifiers.push(this.finishNode(i,"ImportDefaultSpecifier")),this.eat(12)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(97),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.state.lastTokEndLoc.index&&this.raise(Kr.UnexpectedSpace,{at:this.state.lastTokEndLoc})}},mh=t=>class extends t{parseV8Intrinsic(){if(this.match(54)){let e=this.state.startLoc,s=this.startNode();if(this.next(),q(this.state.type)){let i=this.parseIdentifierName(),a=this.createIdentifier(s,i);if(a.type="V8IntrinsicIdentifier",this.match(10))return a}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}};function J(t,r){let[e,s]=typeof r=="string"?[r,{}]:r,i=Object.keys(s),a=i.length===0;return t.some(n=>{if(typeof n=="string")return a&&n===e;{let[o,u]=n;if(o!==e)return!1;for(let c of i)if(u[c]!==s[c])return!1;return!0}})}function we(t,r,e){let s=t.find(i=>Array.isArray(i)?i[0]===r:i===r);return s&&Array.isArray(s)&&s.length>1?s[1][e]:null}var Wr=["minimal","fsharp","hack","smart"],Gr=["^^","@@","^","%","#"],Jr=["hash","bar"];function yh(t){if(J(t,"decorators")){if(J(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");let r=we(t,"decorators","decoratorsBeforeExport");if(r!=null&&typeof r!="boolean")throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");let e=we(t,"decorators","allowCallParenthesized");if(e!=null&&typeof e!="boolean")throw new Error("'allowCallParenthesized' must be a boolean.")}if(J(t,"flow")&&J(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(J(t,"placeholders")&&J(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(J(t,"pipelineOperator")){let r=we(t,"pipelineOperator","proposal");if(!Wr.includes(r)){let s=Wr.map(i=>`"${i}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${s}.`)}let e=J(t,["recordAndTuple",{syntaxType:"hash"}]);if(r==="hack"){if(J(t,"placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(J(t,"v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");let s=we(t,"pipelineOperator","topicToken");if(!Gr.includes(s)){let i=Gr.map(a=>`"${a}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${i}.`)}if(s==="#"&&e)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "hack", topicToken: "#" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}else if(r==="smart"&&e)throw new Error('Plugin conflict between `["pipelineOperator", { proposal: "smart" }]` and `["recordAndtuple", { syntaxType: "hash"}]`.')}if(J(t,"moduleAttributes")){if(J(t,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");if(we(t,"moduleAttributes","version")!=="may-2020")throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(J(t,"recordAndTuple")&&we(t,"recordAndTuple","syntaxType")!=null&&!Jr.includes(we(t,"recordAndTuple","syntaxType")))throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: "+Jr.map(r=>`'${r}'`).join(", "));if(J(t,"asyncDoExpressions")&&!J(t,"doExpressions")){let r=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw r.missingPlugins="doExpressions",r}}var Xr={estree:el,jsx:th,flow:Zl,typescript:uh,v8intrinsic:mh,placeholders:dh},xh=Object.keys(Xr),gh=class extends ah{checkProto(t,r,e,s){if(t.type==="SpreadElement"||this.isObjectMethod(t)||t.computed||t.shorthand)return;let i=t.key;if((i.type==="Identifier"?i.name:i.value)==="__proto__"){if(r){this.raise(f.RecordNoProto,{at:i});return}e.used&&(s?s.doubleProtoLoc===null&&(s.doubleProtoLoc=i.loc.start):this.raise(f.DuplicateProto,{at:i})),e.used=!0}}shouldExitDescending(t,r){return t.type==="ArrowFunctionExpression"&&t.start===r}getExpression(){this.enterInitialScopes(),this.nextToken();let t=this.parseExpression();return this.match(137)||this.unexpected(),this.finalizeRemainingComments(),t.comments=this.state.comments,t.errors=this.state.errors,this.options.tokens&&(t.tokens=this.tokens),t}parseExpression(t,r){return t?this.disallowInAnd(()=>this.parseExpressionBase(r)):this.allowInAnd(()=>this.parseExpressionBase(r))}parseExpressionBase(t){let r=this.state.startLoc,e=this.parseMaybeAssign(t);if(this.match(12)){let s=this.startNodeAt(r);for(s.expressions=[e];this.eat(12);)s.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(s.expressions),this.finishNode(s,"SequenceExpression")}return e}parseMaybeAssignDisallowIn(t,r){return this.disallowInAnd(()=>this.parseMaybeAssign(t,r))}parseMaybeAssignAllowIn(t,r){return this.allowInAnd(()=>this.parseMaybeAssign(t,r))}setOptionalParametersError(t,r){var e;t.optionalParametersLoc=(e=r==null?void 0:r.loc)!=null?e:this.state.startLoc}parseMaybeAssign(t,r){let e=this.state.startLoc;if(this.isContextual(106)&&this.prodParam.hasYield){let n=this.parseYield();return r&&(n=r.call(this,n,e)),n}let s;t?s=!1:(t=new vt,s=!0);let{type:i}=this.state;(i===10||q(i))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t);if(r&&(a=r.call(this,a,e)),Bo(this.state.type)){let n=this.startNodeAt(e),o=this.state.value;if(n.operator=o,this.match(29)){this.toAssignable(a,!0),n.left=a;let u=e.index;t.doubleProtoLoc!=null&&t.doubleProtoLoc.index>=u&&(t.doubleProtoLoc=null),t.shorthandAssignLoc!=null&&t.shorthandAssignLoc.index>=u&&(t.shorthandAssignLoc=null),t.privateKeyLoc!=null&&t.privateKeyLoc.index>=u&&(this.checkDestructuringPrivate(t),t.privateKeyLoc=null)}else n.left=a;return this.next(),n.right=this.parseMaybeAssign(),this.checkLVal(a,{in:this.finishNode(n,"AssignmentExpression")}),n}else s&&this.checkExpressionErrors(t,!0);return a}parseMaybeConditional(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseExprOps(t);return this.shouldExitDescending(s,e)?s:this.parseConditional(s,r,t)}parseConditional(t,r,e){if(this.eat(17)){let s=this.startNodeAt(r);return s.test=t,s.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),s.alternate=this.parseMaybeAssign(),this.finishNode(s,"ConditionalExpression")}return t}parseMaybeUnaryOrPrivate(t){return this.match(136)?this.parsePrivateName():this.parseMaybeUnary(t)}parseExprOps(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseMaybeUnaryOrPrivate(t);return this.shouldExitDescending(s,e)?s:this.parseExprOp(s,r,-1)}parseExprOp(t,r,e){if(this.isPrivateName(t)){let i=this.getPrivateNameSV(t);(e>=at(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(f.PrivateInExpectedIn,{at:t,identifierName:i}),this.classScope.usePrivateName(i,t.loc.start)}let s=this.state.type;if(_o(s)&&(this.prodParam.hasIn||!this.match(58))){let i=at(s);if(i>e){if(s===39){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return t;this.checkPipelineAtInfixOperator(t,r)}let a=this.startNodeAt(r);a.left=t,a.operator=this.state.value;let n=s===41||s===42,o=s===40;if(o&&(i=at(42)),this.next(),s===39&&this.hasPlugin(["pipelineOperator",{proposal:"minimal"}])&&this.state.type===96&&this.prodParam.hasAwait)throw this.raise(f.UnexpectedAwaitAfterPipelineBody,{at:this.state.startLoc});a.right=this.parseExprOpRightExpr(s,i);let u=this.finishNode(a,n||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(c===41||c===42)||n&&c===40)throw this.raise(f.MixingCoalesceWithLogical,{at:this.state.startLoc});return this.parseExprOp(u,r,e)}}return t}parseExprOpRightExpr(t,r){let e=this.state.startLoc;switch(t){case 39:switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"smart":return this.withTopicBindingContext(()=>{if(this.prodParam.hasYield&&this.isContextual(106))throw this.raise(f.PipeBodyIsTighter,{at:this.state.startLoc});return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(t,r),e)});case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(r))}default:return this.parseExprOpBaseRightExpr(t,r)}}parseExprOpBaseRightExpr(t,r){let e=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),e,$o(t)?r-1:r)}parseHackPipeBody(){var t;let{startLoc:r}=this.state,e=this.parseMaybeAssign();return Go.has(e.type)&&!((t=e.extra)!=null&&t.parenthesized)&&this.raise(f.PipeUnparenthesizedBody,{at:r,type:e.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(f.PipeTopicUnused,{at:r}),e}checkExponentialAfterUnary(t){this.match(57)&&this.raise(f.UnexpectedTokenUnaryExponentiation,{at:t.argument})}parseMaybeUnary(t,r){let e=this.state.startLoc,s=this.isContextual(96);if(s&&this.isAwaitAllowed()){this.next();let o=this.parseAwait(e);return r||this.checkExponentialAfterUnary(o),o}let i=this.match(34),a=this.startNode();if(jo(this.state.type)){a.operator=this.state.value,a.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");let o=this.match(89);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),this.state.strict&&o){let u=a.argument;u.type==="Identifier"?this.raise(f.StrictDelete,{at:a}):this.hasPropertyAsPrivateName(u)&&this.raise(f.DeletePrivateField,{at:a})}if(!i)return r||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}let n=this.parseUpdate(a,i,t);if(s){let{type:o}=this.state;if((this.hasPlugin("v8intrinsic")?He(o):He(o)&&!this.match(54))&&!this.isAmbiguousAwait())return this.raiseOverwrite(f.AwaitNotInAsyncContext,{at:e}),this.parseAwait(e)}return n}parseUpdate(t,r,e){if(r){let a=t;return this.checkLVal(a.argument,{in:this.finishNode(a,"UpdateExpression")}),t}let s=this.state.startLoc,i=this.parseExprSubscripts(e);if(this.checkExpressionErrors(e,!1))return i;for(;Ro(this.state.type)&&!this.canInsertSemicolon();){let a=this.startNodeAt(s);a.operator=this.state.value,a.prefix=!1,a.argument=i,this.next(),this.checkLVal(i,{in:i=this.finishNode(a,"UpdateExpression")})}return i}parseExprSubscripts(t){let r=this.state.startLoc,e=this.state.potentialArrowAt,s=this.parseExprAtom(t);return this.shouldExitDescending(s,e)?s:this.parseSubscripts(s,r)}parseSubscripts(t,r,e){let s={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do t=this.parseSubscript(t,r,e,s),s.maybeAsyncArrow=!1;while(!s.stop);return t}parseSubscript(t,r,e,s){let{type:i}=this.state;if(!e&&i===15)return this.parseBind(t,r,e,s);if(nt(i))return this.parseTaggedTemplateExpression(t,r,s);let a=!1;if(i===18){if(e&&(this.raise(f.OptionalChainingNoNew,{at:this.state.startLoc}),this.lookaheadCharCode()===40))return s.stop=!0,t;s.optionalChainMember=a=!0,this.next()}if(!e&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(t,r,s,a);{let n=this.eat(0);return n||a||this.eat(16)?this.parseMember(t,r,s,n,a):(s.stop=!0,t)}}parseMember(t,r,e,s,i){let a=this.startNodeAt(r);return a.object=t,a.computed=s,s?(a.property=this.parseExpression(),this.expect(3)):this.match(136)?(t.type==="Super"&&this.raise(f.SuperPrivateField,{at:r}),this.classScope.usePrivateName(this.state.value,this.state.startLoc),a.property=this.parsePrivateName()):a.property=this.parseIdentifier(!0),e.optionalChainMember?(a.optional=i,this.finishNode(a,"OptionalMemberExpression")):this.finishNode(a,"MemberExpression")}parseBind(t,r,e,s){let i=this.startNodeAt(r);return i.object=t,this.next(),i.callee=this.parseNoCallExpr(),s.stop=!0,this.parseSubscripts(this.finishNode(i,"BindExpression"),r,e)}parseCoverCallAndAsyncArrowHead(t,r,e,s){let i=this.state.maybeInArrowParameters,a=null;this.state.maybeInArrowParameters=!0,this.next();let n=this.startNodeAt(r);n.callee=t;let{maybeAsyncArrow:o,optionalChainMember:u}=e;o&&(this.expressionScope.enter($l()),a=new vt),u&&(n.optional=s),s?n.arguments=this.parseCallExpressionArguments(11):n.arguments=this.parseCallExpressionArguments(11,t.type==="Import",t.type!=="Super",n,a);let c=this.finishCallExpression(n,u);return o&&this.shouldParseAsyncArrow()&&!s?(e.stop=!0,this.checkDestructuringPrivate(a),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(r),c)):(o&&(this.checkExpressionErrors(a,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=i,c}toReferencedArguments(t,r){this.toReferencedListDeep(t.arguments,r)}parseTaggedTemplateExpression(t,r,e){let s=this.startNodeAt(r);return s.tag=t,s.quasi=this.parseTemplate(!0),e.optionalChainMember&&this.raise(f.OptionalChainingNoTemplate,{at:r}),this.finishNode(s,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return t.type==="Identifier"&&t.name==="async"&&this.state.lastTokEndLoc.index===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,r){if(t.callee.type==="Import")if(t.arguments.length===2&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),t.arguments.length===0||t.arguments.length>2)this.raise(f.ImportCallArity,{at:t,maxArgumentCount:this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?2:1});else for(let e of t.arguments)e.type==="SpreadElement"&&this.raise(f.ImportCallSpreadArgument,{at:e});return this.finishNode(t,r?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,r,e,s,i){let a=[],n=!0,o=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(t);){if(n)n=!1;else if(this.expect(12),this.match(t)){r&&!this.hasPlugin("importAssertions")&&!this.hasPlugin("moduleAttributes")&&this.raise(f.ImportCallArgumentTrailingComma,{at:this.state.lastTokStartLoc}),s&&this.addTrailingCommaExtraToNode(s),this.next();break}a.push(this.parseExprListItem(!1,i,e))}return this.state.inFSharpPipelineDirectBody=o,a}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,r){var e;return this.resetPreviousNodeTrailingComments(r),this.expect(19),this.parseArrowExpression(t,r.arguments,!0,(e=r.extra)==null?void 0:e.trailingCommaLoc),r.innerComments&&Ke(t,r.innerComments),r.callee.trailingComments&&Ke(t,r.callee.trailingComments),t}parseNoCallExpr(){let t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,!0)}parseExprAtom(t){let r,e=null,{type:s}=this.state;switch(s){case 79:return this.parseSuper();case 83:return r=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(r):(this.match(10)||this.raise(f.UnsupportedImport,{at:this.state.lastTokStartLoc}),this.finishNode(r,"Import"));case 78:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 132:return this.parseNumericLiteral(this.state.value);case 133:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseDecimalLiteral(this.state.value);case 131:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{let i=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(i)}case 2:case 1:return this.parseArrayLike(this.state.type===2?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,t);case 6:case 7:return this.parseObjectLike(this.state.type===6?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,t);case 68:return this.parseFunctionOrFunctionSent();case 26:e=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(e,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{r=this.startNode(),this.next(),r.object=null;let i=r.callee=this.parseNoCallExpr();if(i.type==="MemberExpression")return this.finishNode(r,"BindExpression");throw this.raise(f.UnsupportedBind,{at:i})}case 136:return this.raise(f.PrivateInExpectedIn,{at:this.state.startLoc,identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{let i=this.getPluginOption("pipelineOperator","proposal");if(i)return this.parseTopicReference(i);this.unexpected();break}case 47:{let i=this.input.codePointAt(this.nextTokenStart());fe(i)||i===62?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(q(s)){if(this.isContextual(125)&&this.lookaheadCharCode()===123&&!this.hasFollowingLineBreak())return this.parseModuleExpression();let i=this.state.potentialArrowAt===this.state.start,a=this.state.containsEsc,n=this.parseIdentifier();if(!a&&n.name==="async"&&!this.canInsertSemicolon()){let{type:o}=this.state;if(o===68)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(q(o))return this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(o===90)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return i&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}else this.unexpected()}}parseTopicReferenceThenEqualsSign(t,r){let e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.state.type=t,this.state.value=r,this.state.pos--,this.state.end--,this.state.endLoc=Y(this.state.endLoc,-1),this.parseTopicReference(e);this.unexpected()}parseTopicReference(t){let r=this.startNode(),e=this.state.startLoc,s=this.state.type;return this.next(),this.finishTopicReference(r,e,t,s)}finishTopicReference(t,r,e,s){if(this.testTopicReferenceConfiguration(e,r,s)){let i=e==="smart"?"PipelinePrimaryTopicReference":"TopicReference";return this.topicReferenceIsAllowedInCurrentContext()||this.raise(e==="smart"?f.PrimaryTopicNotAllowed:f.PipeTopicUnbound,{at:r}),this.registerTopicReference(),this.finishNode(t,i)}else throw this.raise(f.PipeTopicUnconfiguredToken,{at:r,token:xe(s)})}testTopicReferenceConfiguration(t,r,e){switch(t){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:xe(e)}]);case"smart":return e===27;default:throw this.raise(f.PipeTopicRequiresHackPipes,{at:r})}}parseAsyncArrowUnaryFunction(t){this.prodParam.enter(Tt(!0,this.prodParam.hasYield));let r=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(f.LineTerminatorBeforeArrow,{at:this.state.curPosition()}),this.expect(19),this.parseArrowExpression(t,r,!0)}parseDo(t,r){this.expectPlugin("doExpressions"),r&&this.expectPlugin("asyncDoExpressions"),t.async=r,this.next();let e=this.state.labels;return this.state.labels=[],r?(this.prodParam.enter(At),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=e,this.finishNode(t,"DoExpression")}parseSuper(){let t=this.startNode();return this.next(),this.match(10)&&!this.scope.allowDirectSuper&&!this.options.allowSuperOutsideMethod?this.raise(f.SuperNotAllowed,{at:t}):!this.scope.allowSuper&&!this.options.allowSuperOutsideMethod&&this.raise(f.UnexpectedSuper,{at:t}),!this.match(10)&&!this.match(0)&&!this.match(16)&&this.raise(f.UnsupportedSuper,{at:t}),this.finishNode(t,"Super")}parsePrivateName(){let t=this.startNode(),r=this.startNodeAt(Y(this.state.startLoc,1)),e=this.state.value;return this.next(),t.id=this.createIdentifier(r,e),this.finishNode(t,"PrivateName")}parseFunctionOrFunctionSent(){let t=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"function");return this.next(),this.match(102)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(t,r,"sent")}return this.parseFunction(t)}parseMetaProperty(t,r,e){t.meta=r;let s=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==e||s)&&this.raise(f.UnsupportedMetaProperty,{at:t.property,target:r.name,onlyValidPropertyName:e}),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){let r=this.createIdentifier(this.startNodeAtNode(t),"import");return this.next(),this.isContextual(100)&&(this.inModule||this.raise(f.ImportMetaOutsideModule,{at:r}),this.sawUnambiguousESM=!0),this.parseMetaProperty(t,r,"meta")}parseLiteralAtNode(t,r,e){return this.addExtra(e,"rawValue",t),this.addExtra(e,"raw",this.input.slice(e.start,this.state.end)),e.value=t,this.next(),this.finishNode(e,r)}parseLiteral(t,r){let e=this.startNode();return this.parseLiteralAtNode(t,r,e)}parseStringLiteral(t){return this.parseLiteral(t,"StringLiteral")}parseNumericLiteral(t){return this.parseLiteral(t,"NumericLiteral")}parseBigIntLiteral(t){return this.parseLiteral(t,"BigIntLiteral")}parseDecimalLiteral(t){return this.parseLiteral(t,"DecimalLiteral")}parseRegExpLiteral(t){let r=this.parseLiteral(t.value,"RegExpLiteral");return r.pattern=t.pattern,r.flags=t.flags,r}parseBooleanLiteral(t){let r=this.startNode();return r.value=t,this.next(),this.finishNode(r,"BooleanLiteral")}parseNullLiteral(){let t=this.startNode();return this.next(),this.finishNode(t,"NullLiteral")}parseParenAndDistinguishExpression(t){let r=this.state.startLoc,e;this.next(),this.expressionScope.enter(Ul());let s=this.state.maybeInArrowParameters,i=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;let a=this.state.startLoc,n=[],o=new vt,u=!0,c,y;for(;!this.match(11);){if(u)u=!1;else if(this.expect(12,o.optionalParametersLoc===null?null:o.optionalParametersLoc),this.match(11)){y=this.state.startLoc;break}if(this.match(21)){let C=this.state.startLoc;if(c=this.state.startLoc,n.push(this.parseParenItem(this.parseRestBinding(),C)),!this.checkCommaAfterRest(41))break}else n.push(this.parseMaybeAssignAllowIn(o,this.parseParenItem))}let g=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=s,this.state.inFSharpPipelineDirectBody=i;let T=this.startNodeAt(r);return t&&this.shouldParseArrow(n)&&(T=this.parseArrow(T))?(this.checkDestructuringPrivate(o),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(T,n,!1),T):(this.expressionScope.exit(),n.length||this.unexpected(this.state.lastTokStartLoc),y&&this.unexpected(y),c&&this.unexpected(c),this.checkExpressionErrors(o,!0),this.toReferencedListDeep(n,!0),n.length>1?(e=this.startNodeAt(a),e.expressions=n,this.finishNode(e,"SequenceExpression"),this.resetEndLocation(e,g)):e=n[0],this.wrapParenthesis(r,e))}wrapParenthesis(t,r){if(!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t.index),this.takeSurroundingComments(r,t.index,this.state.lastTokEndLoc.index),r;let e=this.startNodeAt(t);return e.expression=r,this.finishNode(e,"ParenthesizedExpression")}shouldParseArrow(t){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(19))return t}parseParenItem(t,r){return t}parseNewOrNewTarget(){let t=this.startNode();if(this.next(),this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"new");this.next();let e=this.parseMetaProperty(t,r,"target");return!this.scope.inNonArrowFunction&&!this.scope.inClass&&!this.options.allowNewTargetOutsideFunction&&this.raise(f.UnexpectedNewTarget,{at:e}),e}return this.parseNew(t)}parseNew(t){if(this.parseNewCallee(t),this.eat(10)){let r=this.parseExprList(11);this.toReferencedList(r),t.arguments=r}else t.arguments=[];return this.finishNode(t,"NewExpression")}parseNewCallee(t){t.callee=this.parseNoCallExpr(),t.callee.type==="Import"&&this.raise(f.ImportCallNotNewExpression,{at:t.callee})}parseTemplateElement(t){let{start:r,startLoc:e,end:s,value:i}=this.state,a=r+1,n=this.startNodeAt(Y(e,1));i===null&&(t||this.raise(f.InvalidEscapeSequenceTemplate,{at:Y(this.state.firstInvalidTemplateEscapePos,1)}));let o=this.match(24),u=o?-1:-2,c=s+u;n.value={raw:this.input.slice(a,c).replace(/\r\n?/g,` +`),cooked:i===null?null:i.slice(1,u)},n.tail=o,this.next();let y=this.finishNode(n,"TemplateElement");return this.resetEndLocation(y,Y(this.state.lastTokEndLoc,u)),y}parseTemplate(t){let r=this.startNode();r.expressions=[];let e=this.parseTemplateElement(t);for(r.quasis=[e];!e.tail;)r.expressions.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.quasis.push(e=this.parseTemplateElement(t));return this.finishNode(r,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,r,e,s){e&&this.expectPlugin("recordAndTuple");let i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let a=Object.create(null),n=!0,o=this.startNode();for(o.properties=[],this.next();!this.match(t);){if(n)n=!1;else if(this.expect(12),this.match(t)){this.addTrailingCommaExtraToNode(o);break}let c;r?c=this.parseBindingProperty():(c=this.parsePropertyDefinition(s),this.checkProto(c,e,a,s)),e&&!this.isObjectProperty(c)&&c.type!=="SpreadElement"&&this.raise(f.InvalidRecordProperty,{at:c}),c.shorthand&&this.addExtra(c,"shorthand",!0),o.properties.push(c)}this.next(),this.state.inFSharpPipelineDirectBody=i;let u="ObjectExpression";return r?u="ObjectPattern":e&&(u="RecordExpression"),this.finishNode(o,u)}addTrailingCommaExtraToNode(t){this.addExtra(t,"trailingComma",this.state.lastTokStart),this.addExtra(t,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(t){return!t.computed&&t.key.type==="Identifier"&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(t){let r=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(f.UnsupportedPropertyDecorator,{at:this.state.startLoc});this.match(26);)r.push(this.parseDecorator());let e=this.startNode(),s=!1,i=!1,a;if(this.match(21))return r.length&&this.unexpected(),this.parseSpread();r.length&&(e.decorators=r,r=[]),e.method=!1,t&&(a=this.state.startLoc);let n=this.eat(55);this.parsePropertyNamePrefixOperator(e);let o=this.state.containsEsc,u=this.parsePropertyName(e,t);if(!n&&!o&&this.maybeAsyncOrAccessorProp(e)){let c=u.name;c==="async"&&!this.hasPrecedingLineBreak()&&(s=!0,this.resetPreviousNodeTrailingComments(u),n=this.eat(55),this.parsePropertyName(e)),(c==="get"||c==="set")&&(i=!0,this.resetPreviousNodeTrailingComments(u),e.kind=c,this.match(55)&&(n=!0,this.raise(f.AccessorIsGenerator,{at:this.state.curPosition(),kind:c}),this.next()),this.parsePropertyName(e))}return this.parseObjPropValue(e,a,n,s,!1,i,t)}getGetterSetterExpectedParamCount(t){return t.kind==="get"?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var r;let e=this.getGetterSetterExpectedParamCount(t),s=this.getObjectOrClassMethodParams(t);s.length!==e&&this.raise(t.kind==="get"?f.BadGetterArity:f.BadSetterArity,{at:t}),t.kind==="set"&&((r=s[s.length-1])==null?void 0:r.type)==="RestElement"&&this.raise(f.BadSetterRestParameter,{at:t})}parseObjectMethod(t,r,e,s,i){if(i){let a=this.parseMethod(t,r,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(a),a}if(e||r||this.match(10))return s&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,r,e,!1,!1,"ObjectMethod")}parseObjectProperty(t,r,e,s){if(t.shorthand=!1,this.eat(14))return t.value=e?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(s),this.finishNode(t,"ObjectProperty");if(!t.computed&&t.key.type==="Identifier"){if(this.checkReservedWord(t.key.name,t.key.loc.start,!0,!1),e)t.value=this.parseMaybeDefault(r,me(t.key));else if(this.match(29)){let i=this.state.startLoc;s!=null?s.shorthandAssignLoc===null&&(s.shorthandAssignLoc=i):this.raise(f.InvalidCoverInitializedName,{at:i}),t.value=this.parseMaybeDefault(r,me(t.key))}else t.value=me(t.key);return t.shorthand=!0,this.finishNode(t,"ObjectProperty")}}parseObjPropValue(t,r,e,s,i,a,n){let o=this.parseObjectMethod(t,e,s,i,a)||this.parseObjectProperty(t,r,i,n);return o||this.unexpected(),o}parsePropertyName(t,r){if(this.eat(0))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{let{type:e,value:s}=this.state,i;if(te(e))i=this.parseIdentifier(!0);else switch(e){case 132:i=this.parseNumericLiteral(s);break;case 131:i=this.parseStringLiteral(s);break;case 133:i=this.parseBigIntLiteral(s);break;case 134:i=this.parseDecimalLiteral(s);break;case 136:{let a=this.state.startLoc;r!=null?r.privateKeyLoc===null&&(r.privateKeyLoc=a):this.raise(f.UnexpectedPrivateField,{at:a}),i=this.parsePrivateName();break}default:this.unexpected()}t.key=i,e!==136&&(t.computed=!1)}return t.key}initFunction(t,r){t.id=null,t.generator=!1,t.async=r}parseMethod(t,r,e,s,i,a){let n=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1;this.initFunction(t,e),t.generator=r,this.scope.enter(de|ht|(n?Ee:0)|(i?Pr:0)),this.prodParam.enter(Tt(e,t.generator)),this.parseFunctionParams(t,s);let o=this.parseFunctionBodyAndFinish(t,a,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(t,r,e,s){e&&this.expectPlugin("recordAndTuple");let i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let a=this.startNode();return this.next(),a.elements=this.parseExprList(t,!e,s,a),this.state.inFSharpPipelineDirectBody=i,this.finishNode(a,e?"TupleExpression":"ArrayExpression")}parseArrowExpression(t,r,e,s){this.scope.enter(de|Gt);let i=Tt(e,!1);!this.match(5)&&this.prodParam.hasIn&&(i|=_e),this.prodParam.enter(i),this.initFunction(t,e);let a=this.state.maybeInArrowParameters;return r&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,r,s)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=a,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,r,e){this.toAssignableList(r,e,!1),t.params=r}parseFunctionBodyAndFinish(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.parseFunctionBody(t,!1,e),this.finishNode(t,r)}parseFunctionBody(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=r&&!this.match(5);if(this.expressionScope.enter(_r()),s)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,r,!1);else{let i=this.state.strict,a=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|jr),t.body=this.parseBlock(!0,!1,n=>{let o=!this.isSimpleParamList(t.params);n&&o&&this.raise(f.IllegalLanguageModeDirective,{at:(t.kind==="method"||t.kind==="constructor")&&t.key?t.key.loc.end:t});let u=!i&&this.state.strict;this.checkParams(t,!this.state.strict&&!r&&!e&&!o,r,u),this.state.strict&&t.id&&this.checkIdentifier(t.id,dl,u)}),this.prodParam.exit(),this.state.labels=a}this.expressionScope.exit()}isSimpleParameter(t){return t.type==="Identifier"}isSimpleParamList(t){for(let r=0,e=t.length;r3&&arguments[3]!==void 0?arguments[3]:!0,i=!r&&new Set,a={type:"FormalParameters"};for(let n of t.params)this.checkLVal(n,{in:a,binding:mt,checkClashes:i,strictModeChanged:s})}parseExprList(t,r,e,s){let i=[],a=!0;for(;!this.eat(t);){if(a)a=!1;else if(this.expect(12),this.match(t)){s&&this.addTrailingCommaExtraToNode(s),this.next();break}i.push(this.parseExprListItem(r,e))}return i}parseExprListItem(t,r,e){let s;if(this.match(12))t||this.raise(f.UnexpectedToken,{at:this.state.curPosition(),unexpected:","}),s=null;else if(this.match(21)){let i=this.state.startLoc;s=this.parseParenItem(this.parseSpread(r),i)}else if(this.match(17)){this.expectPlugin("partialApplication"),e||this.raise(f.UnexpectedArgumentPlaceholder,{at:this.state.startLoc});let i=this.startNode();this.next(),s=this.finishNode(i,"ArgumentPlaceholder")}else s=this.parseMaybeAssignAllowIn(r,this.parseParenItem);return s}parseIdentifier(t){let r=this.startNode(),e=this.parseIdentifierName(t);return this.createIdentifier(r,e)}createIdentifier(t,r){return t.name=r,t.loc.identifierName=r,this.finishNode(t,"Identifier")}parseIdentifierName(t){let r,{startLoc:e,type:s}=this.state;te(s)?r=this.state.value:this.unexpected();let i=ue(s);return t?i&&this.replaceToken(130):this.checkReservedWord(r,e,i,!1),this.next(),r}checkReservedWord(t,r,e,s){if(t.length>10||!ul(t))return;if(e&&ol(t)){this.raise(f.UnexpectedKeyword,{at:r,keyword:t});return}if((this.state.strict?s?xr:mr:dr)(t,this.inModule)){this.raise(f.UnexpectedReservedWord,{at:r,reservedWord:t});return}else if(t==="yield"){if(this.prodParam.hasYield){this.raise(f.YieldBindingIdentifier,{at:r});return}}else if(t==="await"){if(this.prodParam.hasAwait){this.raise(f.AwaitBindingIdentifier,{at:r});return}if(this.scope.inStaticBlock){this.raise(f.AwaitBindingIdentifierInStaticBlock,{at:r});return}this.expressionScope.recordAsyncArrowParametersError({at:r})}else if(t==="arguments"&&this.scope.inClassAndNotInNonArrowFunction){this.raise(f.ArgumentsInClass,{at:r});return}}isAwaitAllowed(){return!!(this.prodParam.hasAwait||this.options.allowAwaitOutsideFunction&&!this.scope.inFunction)}parseAwait(t){let r=this.startNodeAt(t);return this.expressionScope.recordParameterInitializerError(f.AwaitExpressionFormalParameter,{at:r}),this.eat(55)&&this.raise(f.ObsoleteAwaitStar,{at:r}),!this.scope.inFunction&&!this.options.allowAwaitOutsideFunction&&(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(r.argument=this.parseMaybeUnary(null,!0)),this.finishNode(r,"AwaitExpression")}isAmbiguousAwait(){if(this.hasPrecedingLineBreak())return!0;let{type:t}=this.state;return t===53||t===10||t===0||nt(t)||t===101&&!this.state.containsEsc||t===135||t===56||this.hasPlugin("v8intrinsic")&&t===54}parseYield(){let t=this.startNode();this.expressionScope.recordParameterInitializerError(f.YieldInParameter,{at:t}),this.next();let r=!1,e=null;if(!this.hasPrecedingLineBreak())switch(r=this.eat(55),this.state.type){case 13:case 137:case 8:case 11:case 3:case 9:case 14:case 12:if(!r)break;default:e=this.parseMaybeAssign()}return t.delegate=r,t.argument=e,this.finishNode(t,"YieldExpression")}checkPipelineAtInfixOperator(t,r){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&t.type==="SequenceExpression"&&this.raise(f.PipelineHeadSequenceExpression,{at:r})}parseSmartPipelineBodyInStyle(t,r){if(this.isSimpleReference(t)){let e=this.startNodeAt(r);return e.callee=t,this.finishNode(e,"PipelineBareFunction")}else{let e=this.startNodeAt(r);return this.checkSmartPipeTopicBodyEarlyErrors(r),e.expression=t,this.finishNode(e,"PipelineTopicExpression")}}isSimpleReference(t){switch(t.type){case"MemberExpression":return!t.computed&&this.isSimpleReference(t.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(t){if(this.match(19))throw this.raise(f.PipelineBodyNoArrow,{at:this.state.startLoc});this.topicReferenceWasUsedInCurrentContext()||this.raise(f.PipelineTopicUnused,{at:t})}withTopicBindingContext(t){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}withSmartMixTopicForbiddingContext(t){if(this.hasPlugin(["pipelineOperator",{proposal:"smart"}])){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}else return t()}withSoloAwaitPermittingContext(t){let r=this.state.soloAwait;this.state.soloAwait=!0;try{return t()}finally{this.state.soloAwait=r}}allowInAnd(t){let r=this.prodParam.currentFlags();if(_e&~r){this.prodParam.enter(r|_e);try{return t()}finally{this.prodParam.exit()}}return t()}disallowInAnd(t){let r=this.prodParam.currentFlags();if(_e&r){this.prodParam.enter(r&~_e);try{return t()}finally{this.prodParam.exit()}}return t()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return this.state.topicContext.maxTopicIndex!=null&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){let r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;let e=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;let s=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),r,t);return this.state.inFSharpPipelineDirectBody=e,s}parseModuleExpression(){this.expectPlugin("moduleBlocks");let t=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);let r=this.startNodeAt(this.state.endLoc);this.next();let e=this.initializeScopes(!0);this.enterInitialScopes();try{t.body=this.parseProgram(r,8,"module")}finally{e()}return this.finishNode(t,"ModuleExpression")}parsePropertyNamePrefixOperator(t){}},cs={kind:"loop"},Ph={kind:"switch"},Ah=/[\uD800-\uDFFF]/u,ps=/in(?:stanceof)?/y;function Th(t,r){for(let e=0;e1&&arguments[1]!==void 0?arguments[1]:137,e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.options.sourceType;if(t.sourceType=e,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,r),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let[i,a]of Array.from(this.scope.undefinedExports))this.raise(f.ModuleExportUndefined,{at:a,localName:i});let s;return r===137?s=this.finishNode(t,"Program"):s=this.finishNodeAt(t,"Program",Y(this.state.startLoc,-1)),s}stmtToDirective(t){let r=t;r.type="Directive",r.value=r.expression,delete r.expression;let e=r.value,s=e.value,i=this.input.slice(e.start,e.end),a=e.value=i.slice(1,-1);return this.addExtra(e,"raw",i),this.addExtra(e,"rawValue",a),this.addExtra(e,"expressionValue",s),e.type="DirectiveLiteral",r}parseInterpreterDirective(){if(!this.match(28))return null;let t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(){return this.isContextual(99)?this.hasFollowingBindingAtom():!1}chStartsBindingIdentifier(t,r){if(fe(t)){if(ps.lastIndex=r,ps.test(this.input)){let e=this.codePointAtPos(ps.lastIndex);if(!De(e)&&e!==92)return!1}return!0}else return t===92}chStartsBindingPattern(t){return t===91||t===123}hasFollowingBindingAtom(){let t=this.nextTokenStart(),r=this.codePointAtPos(t);return this.chStartsBindingPattern(r)||this.chStartsBindingIdentifier(r,t)}hasFollowingBindingIdentifier(){let t=this.nextTokenStart(),r=this.codePointAtPos(t);return this.chStartsBindingIdentifier(r,t)}startsUsingForOf(){let t=this.lookahead();return t.type===101&&!t.containsEsc?!1:(this.expectPlugin("explicitResourceManagement"),!0)}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=0;return this.options.annexB&&!this.state.strict&&(r|=4,t&&(r|=8)),this.parseStatementLike(r)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(t){let r=null;return this.match(26)&&(r=this.parseDecorators(!0)),this.parseStatementContent(t,r)}parseStatementContent(t,r){let e=this.state.type,s=this.startNode(),i=!!(t&2),a=!!(t&4),n=t&1;switch(e){case 60:return this.parseBreakContinueStatement(s,!0);case 63:return this.parseBreakContinueStatement(s,!1);case 64:return this.parseDebuggerStatement(s);case 90:return this.parseDoWhileStatement(s);case 91:return this.parseForStatement(s);case 68:if(this.lookaheadCharCode()===46)break;return a||this.raise(this.state.strict?f.StrictFunction:this.options.annexB?f.SloppyFunctionAnnexB:f.SloppyFunction,{at:this.state.startLoc}),this.parseFunctionStatement(s,!1,!i&&a);case 80:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(r,s),!0);case 69:return this.parseIfStatement(s);case 70:return this.parseReturnStatement(s);case 71:return this.parseSwitchStatement(s);case 72:return this.parseThrowStatement(s);case 73:return this.parseTryStatement(s);case 105:if(this.hasFollowingLineBreak()||this.state.containsEsc||!this.hasFollowingBindingIdentifier())break;return this.expectPlugin("explicitResourceManagement"),!this.scope.inModule&&this.scope.inTopLevel?this.raise(f.UnexpectedUsingDeclaration,{at:this.state.startLoc}):i||this.raise(f.UnexpectedLexicalDeclaration,{at:this.state.startLoc}),this.parseVarStatement(s,"using");case 99:{if(this.state.containsEsc)break;let c=this.nextTokenStart(),y=this.codePointAtPos(c);if(y!==91&&(!i&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(y,c)&&y!==123))break}case 75:i||this.raise(f.UnexpectedLexicalDeclaration,{at:this.state.startLoc});case 74:{let c=this.state.value;return this.parseVarStatement(s,c)}case 92:return this.parseWhileStatement(s);case 76:return this.parseWithStatement(s);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(s);case 83:{let c=this.lookaheadCharCode();if(c===40||c===46)break}case 82:{!this.options.allowImportExportEverywhere&&!n&&this.raise(f.UnexpectedImportExport,{at:this.state.startLoc}),this.next();let c;return e===83?(c=this.parseImport(s),c.type==="ImportDeclaration"&&(!c.importKind||c.importKind==="value")&&(this.sawUnambiguousESM=!0)):(c=this.parseExport(s,r),(c.type==="ExportNamedDeclaration"&&(!c.exportKind||c.exportKind==="value")||c.type==="ExportAllDeclaration"&&(!c.exportKind||c.exportKind==="value")||c.type==="ExportDefaultDeclaration")&&(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(c),c}default:if(this.isAsyncFunction())return i||this.raise(f.AsyncFunctionInSingleStatementContext,{at:this.state.startLoc}),this.next(),this.parseFunctionStatement(s,!0,!i&&a)}let o=this.state.value,u=this.parseExpression();return q(e)&&u.type==="Identifier"&&this.eat(14)?this.parseLabeledStatement(s,o,u,t):this.parseExpressionStatement(s,u,r)}assertModuleNodeAllowed(t){!this.options.allowImportExportEverywhere&&!this.inModule&&this.raise(f.ImportOutsideModule,{at:t})}decoratorsEnabledBeforeExport(){return this.hasPlugin("decorators-legacy")?!0:this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")!==!1}maybeTakeDecorators(t,r,e){return t&&(r.decorators&&r.decorators.length>0?(typeof this.getPluginOption("decorators","decoratorsBeforeExport")!="boolean"&&this.raise(f.DecoratorsBeforeAfterExport,{at:r.decorators[0]}),r.decorators.unshift(...t)):r.decorators=t,this.resetStartLocationFromNode(r,t[0]),e&&this.resetStartLocationFromNode(e,r)),r}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(t){let r=[];do r.push(this.parseDecorator());while(this.match(26));if(this.match(82))t||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(f.DecoratorExportClass,{at:this.state.startLoc});else if(!this.canHaveLeadingDecorator())throw this.raise(f.UnexpectedLeadingDecorator,{at:this.state.startLoc});return r}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);let t=this.startNode();if(this.next(),this.hasPlugin("decorators")){let r=this.state.startLoc,e;if(this.match(10)){let s=this.state.startLoc;this.next(),e=this.parseExpression(),this.expect(11),e=this.wrapParenthesis(s,e);let i=this.state.startLoc;t.expression=this.parseMaybeDecoratorArguments(e),this.getPluginOption("decorators","allowCallParenthesized")===!1&&t.expression!==e&&this.raise(f.DecoratorArgumentsOutsideParentheses,{at:i})}else{for(e=this.parseIdentifier(!1);this.eat(16);){let s=this.startNodeAt(r);s.object=e,this.match(136)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),s.computed=!1,e=this.finishNode(s,"MemberExpression")}t.expression=this.parseMaybeDecoratorArguments(e)}}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(10)){let r=this.startNodeAtNode(t);return r.callee=t,r.arguments=this.parseCallExpressionArguments(11,!1),this.toReferencedList(r.arguments),this.finishNode(r,"CallExpression")}return t}parseBreakContinueStatement(t,r){return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,r),this.finishNode(t,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,r){let e;for(e=0;ethis.parseStatement()),this.state.labels.pop(),this.expect(92),t.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(cs);let r=null;if(this.isAwaitAllowed()&&this.eatContextual(96)&&(r=this.state.lastTokStartLoc),this.scope.enter(Fe),this.expect(10),this.match(13))return r!==null&&this.unexpected(r),this.parseFor(t,null);let e=this.isContextual(99),s=this.isContextual(105)&&!this.hasFollowingLineBreak(),i=e&&this.hasFollowingBindingAtom()||s&&this.hasFollowingBindingIdentifier()&&this.startsUsingForOf();if(this.match(74)||this.match(75)||i){let c=this.startNode(),y=this.state.value;this.next(),this.parseVar(c,!0,y);let g=this.finishNode(c,"VariableDeclaration"),T=this.match(58);return T&&s&&this.raise(f.ForInUsing,{at:g}),(T||this.isContextual(101))&&g.declarations.length===1?this.parseForIn(t,g,r):(r!==null&&this.unexpected(r),this.parseFor(t,g))}let a=this.isContextual(95),n=new vt,o=this.parseExpression(!0,n),u=this.isContextual(101);if(u&&(e&&this.raise(f.ForOfLet,{at:o}),r===null&&a&&o.type==="Identifier"&&this.raise(f.ForOfAsync,{at:o})),u||this.match(58)){this.checkDestructuringPrivate(n),this.toAssignable(o,!0);let c=u?"ForOfStatement":"ForInStatement";return this.checkLVal(o,{in:{type:c}}),this.parseForIn(t,o,r)}else this.checkExpressionErrors(n,!0);return r!==null&&this.unexpected(r),this.parseFor(t,o)}parseFunctionStatement(t,r,e){return this.next(),this.parseFunction(t,1|(e?2:0)|(r?8:0))}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),t.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return!this.prodParam.hasReturn&&!this.options.allowReturnOutsideFunction&&this.raise(f.IllegalReturn,{at:this.state.startLoc}),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();let r=t.cases=[];this.expect(5),this.state.labels.push(Ph),this.scope.enter(Fe);let e;for(let s;!this.match(8);)if(this.match(61)||this.match(65)){let i=this.match(61);e&&this.finishNode(e,"SwitchCase"),r.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(s&&this.raise(f.MultipleDefaultsInSwitch,{at:this.state.lastTokStartLoc}),s=!0,e.test=null),this.expect(14)}else e?e.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(f.NewlineAfterThrow,{at:this.state.lastTokEndLoc}),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseCatchClauseParam(){let t=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&t.type==="Identifier"?gr:0),this.checkLVal(t,{in:{type:"CatchClause"},binding:cl}),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(62)){let r=this.startNode();this.next(),this.match(10)?(this.expect(10),r.param=this.parseCatchClauseParam(),this.expect(11)):(r.param=null,this.scope.enter(Fe)),r.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(r,"CatchClause")}return t.finalizer=this.eat(67)?this.parseBlock():null,!t.handler&&!t.finalizer&&this.raise(f.NoCatchOrFinally,{at:t}),this.finishNode(t,"TryStatement")}parseVarStatement(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.next(),this.parseVar(t,!1,r,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(cs),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(f.StrictWith,{at:this.state.startLoc}),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,r,e,s){for(let a of this.state.labels)a.name===r&&this.raise(f.LabelRedeclaration,{at:e,labelName:r});let i=Mo(this.state.type)?"loop":this.match(71)?"switch":null;for(let a=this.state.labels.length-1;a>=0;a--){let n=this.state.labels[a];if(n.statementStart===t.start)n.statementStart=this.state.start,n.kind=i;else break}return this.state.labels.push({name:r,kind:i,statementStart:this.state.start}),t.body=s&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),t.label=e,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,r,e){return t.expression=r,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,e=arguments.length>2?arguments[2]:void 0,s=this.startNode();return t&&this.state.strictErrors.clear(),this.expect(5),r&&this.scope.enter(Fe),this.parseBlockBody(s,t,!1,8,e),r&&this.scope.exit(),this.finishNode(s,"BlockStatement")}isValidDirective(t){return t.type==="ExpressionStatement"&&t.expression.type==="StringLiteral"&&!t.expression.extra.parenthesized}parseBlockBody(t,r,e,s,i){let a=t.body=[],n=t.directives=[];this.parseBlockOrModuleBlockBody(a,r?n:void 0,e,s,i)}parseBlockOrModuleBlockBody(t,r,e,s,i){let a=this.state.strict,n=!1,o=!1;for(;!this.match(s);){let u=e?this.parseModuleItem():this.parseStatementListItem();if(r&&!o){if(this.isValidDirective(u)){let c=this.stmtToDirective(u);r.push(c),!n&&c.value.value==="use strict"&&(n=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}t.push(u)}i&&i.call(this,n),a||this.setStrict(!1),this.next()}parseFor(t,r){return t.init=r,this.semicolon(!1),t.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),t.update=this.match(11)?null:this.parseExpression(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,r,e){let s=this.match(58);return this.next(),s?e!==null&&this.unexpected(e):t.await=e!==null,r.type==="VariableDeclaration"&&r.declarations[0].init!=null&&(!s||!this.options.annexB||this.state.strict||r.kind!=="var"||r.declarations[0].id.type!=="Identifier")&&this.raise(f.ForInOfLoopInitializer,{at:r,type:s?"ForInStatement":"ForOfStatement"}),r.type==="AssignmentPattern"&&this.raise(f.InvalidLhs,{at:r,ancestor:{type:"ForStatement"}}),t.left=r,t.right=s?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")}parseVar(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,i=t.declarations=[];for(t.kind=e;;){let a=this.startNode();if(this.parseVarId(a,e),a.init=this.eat(29)?r?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,a.init===null&&!s&&(a.id.type!=="Identifier"&&!(r&&(this.match(58)||this.isContextual(101)))?this.raise(f.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:"destructuring"}):e==="const"&&!(this.match(58)||this.isContextual(101))&&this.raise(f.DeclarationMissingInitializer,{at:this.state.lastTokEndLoc,kind:"const"})),i.push(this.finishNode(a,"VariableDeclarator")),!this.eat(12))break}return t}parseVarId(t,r){r==="using"&&!this.inModule&&this.match(96)&&this.raise(f.AwaitInUsingBinding,{at:this.state.startLoc});let e=this.parseBindingAtom();this.checkLVal(e,{in:{type:"VariableDeclarator"},binding:r==="var"?mt:Be}),t.id=e}parseAsyncFunctionExpression(t){return this.parseFunction(t,8)}parseFunction(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=r&2,s=!!(r&1),i=s&&!(r&4),a=!!(r&8);this.initFunction(t,a),this.match(55)&&(e&&this.raise(f.GeneratorInSingleStatementContext,{at:this.state.startLoc}),this.next(),t.generator=!0),s&&(t.id=this.parseFunctionId(i));let n=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(de),this.prodParam.enter(Tt(a,t.generator)),s||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,s?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),s&&!e&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=n,t}parseFunctionId(t){return t||q(this.state.type)?this.parseIdentifier():null}parseFunctionParams(t,r){this.expect(10),this.expressionScope.enter(ql()),t.params=this.parseBindingList(11,41,2|(r?4:0)),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,!this.options.annexB||this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?mt:Be:Er,t.id.loc.start)}parseClass(t,r,e){this.next();let s=this.state.strict;return this.state.strict=!0,this.parseClassId(t,r,e),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,s),this.finishNode(t,r?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}isNonstaticConstructor(t){return!t.computed&&!t.static&&(t.key.name==="constructor"||t.key.value==="constructor")}parseClassBody(t,r){this.classScope.enter();let e={hadConstructor:!1,hadSuperClass:t},s=[],i=this.startNode();if(i.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(s.length>0)throw this.raise(f.DecoratorSemicolon,{at:this.state.lastTokEndLoc});continue}if(this.match(26)){s.push(this.parseDecorator());continue}let a=this.startNode();s.length&&(a.decorators=s,this.resetStartLocationFromNode(a,s[0]),s=[]),this.parseClassMember(i,a,e),a.kind==="constructor"&&a.decorators&&a.decorators.length>0&&this.raise(f.DecoratorConstructor,{at:a})}}),this.state.strict=r,this.next(),s.length)throw this.raise(f.TrailingDecorator,{at:this.state.startLoc});return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(t,r){let e=this.parseIdentifier(!0);if(this.isClassMethod()){let s=r;return s.kind="method",s.computed=!1,s.key=e,s.static=!1,this.pushClassMethod(t,s,!1,!1,!1,!1),!0}else if(this.isClassProperty()){let s=r;return s.computed=!1,s.key=e,s.static=!1,t.body.push(this.parseClassProperty(s)),!0}return this.resetPreviousNodeTrailingComments(e),!1}parseClassMember(t,r,e){let s=this.isContextual(104);if(s){if(this.parseClassMemberFromModifier(t,r))return;if(this.eat(5)){this.parseClassStaticBlock(t,r);return}}this.parseClassMemberWithIsStatic(t,r,e,s)}parseClassMemberWithIsStatic(t,r,e,s){let i=r,a=r,n=r,o=r,u=r,c=i,y=i;if(r.static=s,this.parsePropertyNamePrefixOperator(r),this.eat(55)){c.kind="method";let j=this.match(136);if(this.parseClassElementName(c),j){this.pushClassPrivateMethod(t,a,!0,!1);return}this.isNonstaticConstructor(i)&&this.raise(f.ConstructorIsGenerator,{at:i.key}),this.pushClassMethod(t,i,!0,!1,!1,!1);return}let g=q(this.state.type)&&!this.state.containsEsc,T=this.match(136),C=this.parseClassElementName(r),M=this.state.startLoc;if(this.parsePostMemberNameModifiers(y),this.isClassMethod()){if(c.kind="method",T){this.pushClassPrivateMethod(t,a,!1,!1);return}let j=this.isNonstaticConstructor(i),K=!1;j&&(i.kind="constructor",e.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(f.DuplicateConstructor,{at:C}),j&&this.hasPlugin("typescript")&&r.override&&this.raise(f.OverrideOnConstructor,{at:C}),e.hadConstructor=!0,K=e.hadSuperClass),this.pushClassMethod(t,i,!1,!1,j,K)}else if(this.isClassProperty())T?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,n);else if(g&&C.name==="async"&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(C);let j=this.eat(55);y.optional&&this.unexpected(M),c.kind="method";let K=this.match(136);this.parseClassElementName(c),this.parsePostMemberNameModifiers(y),K?this.pushClassPrivateMethod(t,a,j,!0):(this.isNonstaticConstructor(i)&&this.raise(f.ConstructorIsAsync,{at:i.key}),this.pushClassMethod(t,i,j,!0,!1,!1))}else if(g&&(C.name==="get"||C.name==="set")&&!(this.match(55)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(C),c.kind=C.name;let j=this.match(136);this.parseClassElementName(i),j?this.pushClassPrivateMethod(t,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(f.ConstructorIsAccessor,{at:i.key}),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else if(g&&C.name==="accessor"&&!this.isLineTerminator()){this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(C);let j=this.match(136);this.parseClassElementName(n),this.pushClassAccessorProperty(t,u,j)}else this.isLineTerminator()?T?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,n):this.unexpected()}parseClassElementName(t){let{type:r,value:e}=this.state;if((r===130||r===131)&&t.static&&e==="prototype"&&this.raise(f.StaticPrototype,{at:this.state.startLoc}),r===136){e==="constructor"&&this.raise(f.ConstructorClassPrivateField,{at:this.state.startLoc});let s=this.parsePrivateName();return t.key=s,s}return this.parsePropertyName(t)}parseClassStaticBlock(t,r){var e;this.scope.enter(Ee|ut|ht);let s=this.state.labels;this.state.labels=[],this.prodParam.enter(Me);let i=r.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=s,t.body.push(this.finishNode(r,"StaticBlock")),(e=r.decorators)!=null&&e.length&&this.raise(f.DecoratorStaticBlock,{at:r})}pushClassProperty(t,r){!r.computed&&(r.key.name==="constructor"||r.key.value==="constructor")&&this.raise(f.ConstructorClassField,{at:r.key}),t.body.push(this.parseClassProperty(r))}pushClassPrivateProperty(t,r){let e=this.parseClassPrivateProperty(r);t.body.push(e),this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),ss,e.key.loc.start)}pushClassAccessorProperty(t,r,e){if(!e&&!r.computed){let i=r.key;(i.name==="constructor"||i.value==="constructor")&&this.raise(f.ConstructorClassField,{at:i})}let s=this.parseClassAccessorProperty(r);t.body.push(s),e&&this.classScope.declarePrivateName(this.getPrivateNameSV(s.key),ss,s.key.loc.start)}pushClassMethod(t,r,e,s,i,a){t.body.push(this.parseMethod(r,e,s,i,a,"ClassMethod",!0))}pushClassPrivateMethod(t,r,e,s){let i=this.parseMethod(r,e,s,!1,!1,"ClassPrivateMethod",!0);t.body.push(i);let a=i.kind==="get"?i.static?gl:Al:i.kind==="set"?i.static?Pl:Tl:ss;this.declareClassPrivateMethodInScope(i,a)}declareClassPrivateMethodInScope(t,r){this.classScope.declarePrivateName(this.getPrivateNameSV(t.key),r,t.key.loc.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassProperty")}parseClassAccessorProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassAccessorProperty")}parseInitializer(t){this.scope.enter(Ee|ht),this.expressionScope.enter(_r()),this.prodParam.enter(Me),t.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,r,e){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:vr;if(q(this.state.type))t.id=this.parseIdentifier(),r&&this.declareNameFromIdentifier(t.id,s);else if(e||!r)t.id=null;else throw this.raise(f.MissingClassName,{at:this.state.startLoc})}parseClassSuper(t){t.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(t,r){let e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(12),i=s&&this.eatExportStar(t),a=i&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!a||this.eat(12)),o=e||i;if(i&&!a){if(e&&this.unexpected(),r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});return this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration")}let u=this.maybeParseExportNamedSpecifiers(t);e&&s&&!i&&!u&&this.unexpected(null,5),a&&n&&this.unexpected(null,97);let c;if(o||u){if(c=!1,r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});this.parseExportFrom(t,o)}else c=this.maybeParseExportDeclaration(t);if(o||u||c){var y;let g=t;if(this.checkExport(g,!0,!1,!!g.source),((y=g.declaration)==null?void 0:y.type)==="ClassDeclaration")this.maybeTakeDecorators(r,g.declaration,g);else if(r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});return this.finishNode(g,"ExportNamedDeclaration")}if(this.eat(65)){let g=t,T=this.parseExportDefaultExpression();if(g.declaration=T,T.type==="ClassDeclaration")this.maybeTakeDecorators(r,T,g);else if(r)throw this.raise(f.UnsupportedDecoratorExport,{at:t});return this.checkExport(g,!0,!0),this.finishNode(g,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(t){return this.eat(55)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");let r=this.startNode();return r.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual(93)){t.specifiers||(t.specifiers=[]);let r=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),r.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(r,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){if(this.match(5)){t.specifiers||(t.specifiers=[]);let r=t.exportKind==="type";return t.specifiers.push(...this.parseExportSpecifiers(r)),t.source=null,t.declaration=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),!0}return!1}maybeParseExportDeclaration(t){return this.shouldParseExportDeclaration()?(t.specifiers=[],t.source=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),t.declaration=this.parseExportDeclaration(t),!0):!1}isAsyncFunction(){if(!this.isContextual(95))return!1;let t=this.nextTokenStart();return!as.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){let t=this.startNode();if(this.match(68))return this.next(),this.parseFunction(t,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(t,13);if(this.match(80))return this.parseClass(t,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(f.DecoratorBeforeExport,{at:this.state.startLoc}),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet())throw this.raise(f.UnsupportedDefaultExport,{at:this.state.startLoc});let r=this.parseMaybeAssignAllowIn();return this.semicolon(),r}parseExportDeclaration(t){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:t}=this.state;if(q(t)){if(t===95&&!this.state.containsEsc||t===99)return!1;if((t===128||t===127)&&!this.state.containsEsc){let{type:s}=this.lookahead();if(q(s)&&s!==97||s===5)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;let r=this.nextTokenStart(),e=this.isUnparsedContextual(r,"from");if(this.input.charCodeAt(r)===44||q(this.state.type)&&e)return!0;if(this.match(65)&&e){let s=this.input.charCodeAt(this.nextTokenStartSince(r+4));return s===34||s===39}return!1}parseExportFrom(t,r){if(this.eatContextual(97)){t.source=this.parseImportSource(),this.checkExport(t);let e=this.maybeParseImportAssertions();e&&(t.assertions=e,this.checkJSONModuleImport(t))}else r&&this.unexpected();this.semicolon()}shouldParseExportDeclaration(){let{type:t}=this.state;return t===26&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(f.DecoratorBeforeExport,{at:this.state.startLoc}),!0):t===74||t===75||t===68||t===80||this.isLet()||this.isAsyncFunction()}checkExport(t,r,e,s){if(r){if(e){if(this.checkDuplicateExports(t,"default"),this.hasPlugin("exportDefaultFrom")){var i;let a=t.declaration;a.type==="Identifier"&&a.name==="from"&&a.end-a.start===4&&!((i=a.extra)!=null&&i.parenthesized)&&this.raise(f.ExportDefaultFromAsIdentifier,{at:a})}}else if(t.specifiers&&t.specifiers.length)for(let a of t.specifiers){let{exported:n}=a,o=n.type==="Identifier"?n.name:n.value;if(this.checkDuplicateExports(a,o),!s&&a.local){let{local:u}=a;u.type!=="Identifier"?this.raise(f.ExportBindingIsString,{at:a,localName:u.value,exportName:o}):(this.checkReservedWord(u.name,u.loc.start,!0,!1),this.scope.checkLocalExport(u))}}else if(t.declaration){if(t.declaration.type==="FunctionDeclaration"||t.declaration.type==="ClassDeclaration"){let a=t.declaration.id;if(!a)throw new Error("Assertion failure");this.checkDuplicateExports(t,a.name)}else if(t.declaration.type==="VariableDeclaration")for(let a of t.declaration.declarations)this.checkDeclaration(a.id)}}}checkDeclaration(t){if(t.type==="Identifier")this.checkDuplicateExports(t,t.name);else if(t.type==="ObjectPattern")for(let r of t.properties)this.checkDeclaration(r);else if(t.type==="ArrayPattern")for(let r of t.elements)r&&this.checkDeclaration(r);else t.type==="ObjectProperty"?this.checkDeclaration(t.value):t.type==="RestElement"?this.checkDeclaration(t.argument):t.type==="AssignmentPattern"&&this.checkDeclaration(t.left)}checkDuplicateExports(t,r){this.exportedIdentifiers.has(r)&&(r==="default"?this.raise(f.DuplicateDefaultExport,{at:t}):this.raise(f.DuplicateExport,{at:t,exportName:r})),this.exportedIdentifiers.add(r)}parseExportSpecifiers(t){let r=[],e=!0;for(this.expect(5);!this.eat(8);){if(e)e=!1;else if(this.expect(12),this.eat(8))break;let s=this.isContextual(128),i=this.match(131),a=this.startNode();a.local=this.parseModuleExportName(),r.push(this.parseExportSpecifier(a,i,t,s))}return r}parseExportSpecifier(t,r,e,s){return this.eatContextual(93)?t.exported=this.parseModuleExportName():r?t.exported=Kl(t.local):t.exported||(t.exported=me(t.local)),this.finishNode(t,"ExportSpecifier")}parseModuleExportName(){if(this.match(131)){let t=this.parseStringLiteral(this.state.value),r=t.value.match(Ah);return r&&this.raise(f.ModuleExportNameHasLoneSurrogate,{at:t,surrogateCharCode:r[0].charCodeAt(0)}),t}return this.parseIdentifier(!0)}isJSONModuleImport(t){return t.assertions!=null?t.assertions.some(r=>{let{key:e,value:s}=r;return s.value==="json"&&(e.type==="Identifier"?e.name==="type":e.value==="type")}):!1}checkImportReflection(t){if(t.module){var r;(t.specifiers.length!==1||t.specifiers[0].type!=="ImportDefaultSpecifier")&&this.raise(f.ImportReflectionNotBinding,{at:t.specifiers[0].loc.start}),((r=t.assertions)==null?void 0:r.length)>0&&this.raise(f.ImportReflectionHasAssertion,{at:t.specifiers[0].loc.start})}}checkJSONModuleImport(t){if(this.isJSONModuleImport(t)&&t.type!=="ExportAllDeclaration"){let{specifiers:r}=t;if(r!=null){let e=r.find(s=>{let i;if(s.type==="ExportSpecifier"?i=s.local:s.type==="ImportSpecifier"&&(i=s.imported),i!==void 0)return i.type==="Identifier"?i.name!=="default":i.value!=="default"});e!==void 0&&this.raise(f.ImportJSONBindingNotDefault,{at:e.loc.start})}}}parseMaybeImportReflection(t){let r=!1;if(this.isContextual(125)){let e=this.lookahead(),s=e.type;q(s)?(s!==97||this.input.charCodeAt(this.nextTokenStartSince(e.end))===102)&&(r=!0):s!==12&&(r=!0)}r?(this.expectPlugin("importReflection"),this.next(),t.module=!0):this.hasPlugin("importReflection")&&(t.module=!1)}parseImport(t){if(t.specifiers=[],!this.match(131)){this.parseMaybeImportReflection(t);let s=!this.maybeParseDefaultImportSpecifier(t)||this.eat(12),i=s&&this.maybeParseStarImportSpecifier(t);s&&!i&&this.parseNamedImportSpecifiers(t),this.expectContextual(97)}t.source=this.parseImportSource();let r=this.maybeParseImportAssertions();if(r)t.assertions=r;else{let e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.checkImportReflection(t),this.checkJSONModuleImport(t),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(131)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return q(this.state.type)}parseImportSpecifierLocal(t,r,e){r.local=this.parseIdentifier(),t.specifiers.push(this.finishImportSpecifier(r,e))}finishImportSpecifier(t,r){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Be;return this.checkLVal(t.local,{in:{type:r},binding:e}),this.finishNode(t,r)}parseAssertEntries(){let t=[],r=new Set;do{if(this.match(8))break;let e=this.startNode(),s=this.state.value;if(r.has(s)&&this.raise(f.ModuleAttributesWithDuplicateKeys,{at:this.state.startLoc,key:s}),r.add(s),this.match(131)?e.key=this.parseStringLiteral(s):e.key=this.parseIdentifier(!0),this.expect(14),!this.match(131))throw this.raise(f.ModuleAttributeInvalidValue,{at:this.state.startLoc});e.value=this.parseStringLiteral(this.state.value),t.push(this.finishNode(e,"ImportAttribute"))}while(this.eat(12));return t}maybeParseModuleAttributes(){if(this.match(76)&&!this.hasPrecedingLineBreak())this.expectPlugin("moduleAttributes"),this.next();else return this.hasPlugin("moduleAttributes")?[]:null;let t=[],r=new Set;do{let e=this.startNode();if(e.key=this.parseIdentifier(!0),e.key.name!=="type"&&this.raise(f.ModuleAttributeDifferentFromType,{at:e.key}),r.has(e.key.name)&&this.raise(f.ModuleAttributesWithDuplicateKeys,{at:e.key,key:e.key.name}),r.add(e.key.name),this.expect(14),!this.match(131))throw this.raise(f.ModuleAttributeInvalidValue,{at:this.state.startLoc});e.value=this.parseStringLiteral(this.state.value),this.finishNode(e,"ImportAttribute"),t.push(e)}while(this.eat(12));return t}maybeParseImportAssertions(){if(this.isContextual(94)&&!this.hasPrecedingLineBreak())this.expectPlugin("importAssertions"),this.next();else return this.hasPlugin("importAssertions")?[]:null;this.eat(5);let t=this.parseAssertEntries();return this.eat(8),t}maybeParseDefaultImportSpecifier(t){return this.shouldParseDefaultImport(t)?(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier"),!0):!1}maybeParseStarImportSpecifier(t){if(this.match(55)){let r=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(t,r,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(t){let r=!0;for(this.expect(5);!this.eat(8);){if(r)r=!1;else{if(this.eat(14))throw this.raise(f.DestructureNamedImport,{at:this.state.startLoc});if(this.expect(12),this.eat(8))break}let e=this.startNode(),s=this.match(131),i=this.isContextual(128);e.imported=this.parseModuleExportName();let a=this.parseImportSpecifier(e,s,t.importKind==="type"||t.importKind==="typeof",i,void 0);t.specifiers.push(a)}}parseImportSpecifier(t,r,e,s,i){if(this.eatContextual(93))t.local=this.parseIdentifier();else{let{imported:a}=t;if(r)throw this.raise(f.ImportBindingIsString,{at:t,importName:a.value});this.checkReservedWord(a.name,t.loc.start,!0,!0),t.local||(t.local=me(a))}return this.finishImportSpecifier(t,"ImportSpecifier",i)}isThisParam(t){return t.type==="Identifier"&&t.name==="this"}},Yr=class extends vh{constructor(t,r){t=p(t),super(t,r),this.options=t,this.initializeScopes(),this.plugins=Eh(this.options.plugins),this.filename=t.sourceFilename}getScopeHandler(){return is}parse(){this.enterInitialScopes();let t=this.startNode(),r=this.startNode();return this.nextToken(),t.errors=null,this.parseTopLevel(t,r),t.errors=this.state.errors,t}};function Eh(t){let r=new Map;for(let e of t){let[s,i]=Array.isArray(e)?e:[e,{}];r.has(s)||r.set(s,i||{})}return r}function Ch(t,r){var e;if(((e=r)==null?void 0:e.sourceType)==="unambiguous"){r=Object.assign({},r);try{r.sourceType="module";let s=Xe(r,t),i=s.parse();if(s.sawUnambiguousESM)return i;if(s.ambiguousScriptDifferentAst)try{return r.sourceType="script",Xe(r,t).parse()}catch{}else i.program.sourceType="script";return i}catch(s){try{return r.sourceType="script",Xe(r,t).parse()}catch{}throw s}}else return Xe(r,t).parse()}function bh(t,r){let e=Xe(r,t);return e.options.strictMode&&(e.state.strict=!0),e.getExpression()}function Sh(t){let r={};for(let e of Object.keys(t))r[e]=ce(t[e]);return r}var wh=Sh(Z);function Xe(t,r){let e=Yr;return t!=null&&t.plugins&&(yh(t.plugins),e=Ih(t.plugins)),new e(t,r)}var Qr={};function Ih(t){let r=xh.filter(i=>J(t,i)),e=r.join("/"),s=Qr[e];if(!s){s=Yr;for(let i of r)s=Xr[i](s);Qr[e]=s}return s}l.parse=Ch,l.parseExpression=bh,l.tokTypes=wh}}),Xf=$({"src/language-js/parse/json.js"(l,h){"use strict";U();var p=Io(),d=lr(),x=ko(),P=Do();function m(){let w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{allowComments:L=!0}=w;return function(_){let{parseExpression:G}=Fo(),N;try{N=G(_,{tokens:!0,ranges:!0})}catch(O){throw P(O)}if(!L&&p(N.comments))throw v(N.comments[0],"Comment");return S(N),N}}function v(w,L){let[A,_]=[w.loc.start,w.loc.end].map(G=>{let{line:N,column:O}=G;return{line:N,column:O+1}});return d(`${L} is not allowed in JSON.`,{start:A,end:_})}function S(w){switch(w.type){case"ArrayExpression":for(let L of w.elements)L!==null&&S(L);return;case"ObjectExpression":for(let L of w.properties)S(L);return;case"ObjectProperty":if(w.computed)throw v(w.key,"Computed key");if(w.shorthand)throw v(w.key,"Shorthand property");w.key.type!=="Identifier"&&S(w.key),S(w.value);return;case"UnaryExpression":{let{operator:L,argument:A}=w;if(L!=="+"&&L!=="-")throw v(w,`Operator '${w.operator}'`);if(A.type==="NumericLiteral"||A.type==="Identifier"&&(A.name==="Infinity"||A.name==="NaN"))return;throw v(A,`Operator '${L}' before '${A.type}'`)}case"Identifier":if(w.name!=="Infinity"&&w.name!=="NaN"&&w.name!=="undefined")throw v(w,`Identifier '${w.name}'`);return;case"TemplateLiteral":if(p(w.expressions))throw v(w.expressions[0],"'TemplateLiteral' with expression");for(let L of w.quasis)S(L);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw v(w,`'${w.type}'`)}}var k=m(),F={json:x({parse:k,hasPragma(){return!0}}),json5:x(k),"json-stringify":x({parse:m({allowComments:!1}),astFormat:"estree-json"})};h.exports=F}});U();var Yf=kf(),Qf=po(),Zf=Of(),Ue=ko(),ed=Do(),td=Jf(),sd=Xf(),rd={sourceType:"module",allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","partialApplication",["decorators",{decoratorsBeforeExport:!1}],"importAssertions","decimal","moduleBlocks","asyncDoExpressions","regexpUnicodeSets","destructuringPrivate","decoratorAutoAccessors"],tokens:!0,ranges:!0},id=["recordAndTuple",{syntaxType:"hash"}],no="v8intrinsic",oo=[["pipelineOperator",{proposal:"hack",topicToken:"%"}],["pipelineOperator",{proposal:"minimal"}],["pipelineOperator",{proposal:"fsharp"}]],he=function(l){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:rd;return Object.assign(Object.assign({},h),{},{plugins:[...h.plugins,...l]})},ad=/@(?:no)?flow\b/;function nd(l,h){if(h.filepath&&h.filepath.endsWith(".js.flow"))return!0;let p=Qf(l);p&&(l=l.slice(p.length));let d=Zf(l,0);return d!==!1&&(l=l.slice(0,d)),ad.test(l)}function od(l,h,p){let d=Fo()[l],x=d(h,p),P=x.errors.find(m=>!fd.has(m.reasonCode));if(P)throw P;return x}function $e(l){for(var h=arguments.length,p=new Array(h>1?h-1:0),d=1;d2&&arguments[2]!==void 0?arguments[2]:{};if((m.parser==="babel"||m.parser==="__babel_estree")&&nd(x,m))return m.parser="babel-flow",Lo(x,P,m);let v=p;m.__babelSourceType==="script"&&(v=v.map(w=>Object.assign(Object.assign({},w),{},{sourceType:"script"}))),/#[[{]/.test(x)&&(v=v.map(w=>he([id],w)));let S=/%[A-Z]/.test(x);x.includes("|>")?v=(S?[...oo,no]:oo).flatMap(L=>v.map(A=>he([L],A))):S&&(v=v.map(w=>he([no],w)));let{result:k,error:F}=Yf(...v.map(w=>()=>od(l,x,w)));if(!k)throw ed(F);return m.originalText=x,td(k,m)}}var ld=$e("parse",he(["jsx","flow"])),Lo=$e("parse",he(["jsx",["flow",{all:!0,enums:!0}]])),hd=$e("parse",he(["jsx","typescript"]),he(["typescript"])),ud=$e("parse",he(["jsx","flow","estree"])),cd=$e("parseExpression",he(["jsx"])),pd=$e("parseExpression",he(["typescript"])),fd=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","StrictDelete","StrictEvalArguments","StrictEvalArgumentsBinding","StrictFunction","EmptyTypeArguments","EmptyTypeParameters","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","UnexpectedParameterModifier","MixedLabeledAndUnlabeledElements","InvalidTupleMemberLabel","NonClassMethodPropertyHasAbstractModifer","ReadonlyForMethodSignature","ClassMethodHasDeclare","ClassMethodHasReadonly","InvalidModifierOnTypeMember","DuplicateAccessibilityModifier","IndexSignatureHasDeclare","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","LineTerminatorBeforeArrow","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","UnsupportedPropertyDecorator","OptionalTypeBeforeRequired","PatternIsOptional","OptionalBindingPattern","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","DeclareFunctionHasImplementation","ConstructorClassField","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport"]),lo=Ue(ld),ho=Ue(hd),uo=Ue(cd),dd=Ue(pd);Oo.exports={parsers:Object.assign(Object.assign({babel:lo,"babel-flow":Ue(Lo),"babel-ts":ho},sd),{},{__js_expression:uo,__vue_expression:uo,__vue_ts_expression:dd,__vue_event_binding:lo,__vue_ts_event_binding:ho,__babel_estree:Ue(ud)})}});return md();}); + +/***/ }, + +/***/ 15571 +(module, exports) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var C=(a,u)=>()=>(u||a((u={exports:{}}).exports,u),u.exports);var oe=C((tl,zr)=>{var Ye=function(a){return a&&a.Math==Math&&a};zr.exports=Ye(typeof globalThis=="object"&&globalThis)||Ye(typeof window=="object"&&window)||Ye(typeof self=="object"&&self)||Ye(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var me=C((rl,Gr)=>{Gr.exports=function(a){try{return!!a()}catch{return!0}}});var xe=C((il,Hr)=>{var vn=me();Hr.exports=!vn(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var bt=C((sl,Kr)=>{var gn=me();Kr.exports=!gn(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var et=C((al,Xr)=>{var xn=bt(),Ze=Function.prototype.call;Xr.exports=xn?Ze.bind(Ze):function(){return Ze.apply(Ze,arguments)}});var Yr=C($r=>{"use strict";var Jr={}.propertyIsEnumerable,Qr=Object.getOwnPropertyDescriptor,yn=Qr&&!Jr.call({1:2},1);$r.f=yn?function(u){var o=Qr(this,u);return!!o&&o.enumerable}:Jr});var _t=C((ul,Zr)=>{Zr.exports=function(a,u){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:u}}});var ye=C((ol,ri)=>{var ei=bt(),ti=Function.prototype,St=ti.call,An=ei&&ti.bind.bind(St,St);ri.exports=ei?An:function(a){return function(){return St.apply(a,arguments)}}});var ai=C((hl,si)=>{var ii=ye(),Cn=ii({}.toString),En=ii("".slice);si.exports=function(a){return En(Cn(a),8,-1)}});var ui=C((ll,ni)=>{var bn=ye(),_n=me(),Sn=ai(),wt=Object,wn=bn("".split);ni.exports=_n(function(){return!wt("z").propertyIsEnumerable(0)})?function(a){return Sn(a)=="String"?wn(a,""):wt(a)}:wt});var kt=C((cl,oi)=>{oi.exports=function(a){return a==null}});var Ft=C((pl,hi)=>{var kn=kt(),Fn=TypeError;hi.exports=function(a){if(kn(a))throw Fn("Can't call method on "+a);return a}});var tt=C((fl,li)=>{var Bn=ui(),In=Ft();li.exports=function(a){return Bn(In(a))}});var It=C((dl,ci)=>{var Bt=typeof document=="object"&&document.all,Tn=typeof Bt>"u"&&Bt!==void 0;ci.exports={all:Bt,IS_HTMLDDA:Tn}});var le=C((ml,fi)=>{var pi=It(),Pn=pi.all;fi.exports=pi.IS_HTMLDDA?function(a){return typeof a=="function"||a===Pn}:function(a){return typeof a=="function"}});var Pe=C((vl,vi)=>{var di=le(),mi=It(),Dn=mi.all;vi.exports=mi.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:di(a)||a===Dn}:function(a){return typeof a=="object"?a!==null:di(a)}});var rt=C((gl,gi)=>{var Tt=oe(),Nn=le(),On=function(a){return Nn(a)?a:void 0};gi.exports=function(a,u){return arguments.length<2?On(Tt[a]):Tt[a]&&Tt[a][u]}});var yi=C((xl,xi)=>{var Ln=ye();xi.exports=Ln({}.isPrototypeOf)});var Ci=C((yl,Ai)=>{var Vn=rt();Ai.exports=Vn("navigator","userAgent")||""});var Fi=C((Al,ki)=>{var wi=oe(),Pt=Ci(),Ei=wi.process,bi=wi.Deno,_i=Ei&&Ei.versions||bi&&bi.version,Si=_i&&_i.v8,ce,it;Si&&(ce=Si.split("."),it=ce[0]>0&&ce[0]<4?1:+(ce[0]+ce[1]));!it&&Pt&&(ce=Pt.match(/Edge\/(\d+)/),(!ce||ce[1]>=74)&&(ce=Pt.match(/Chrome\/(\d+)/),ce&&(it=+ce[1])));ki.exports=it});var Dt=C((Cl,Ii)=>{var Bi=Fi(),Rn=me();Ii.exports=!!Object.getOwnPropertySymbols&&!Rn(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Bi&&Bi<41})});var Nt=C((El,Ti)=>{var jn=Dt();Ti.exports=jn&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Ot=C((bl,Pi)=>{var qn=rt(),Mn=le(),Un=yi(),Wn=Nt(),zn=Object;Pi.exports=Wn?function(a){return typeof a=="symbol"}:function(a){var u=qn("Symbol");return Mn(u)&&Un(u.prototype,zn(a))}});var Ni=C((_l,Di)=>{var Gn=String;Di.exports=function(a){try{return Gn(a)}catch{return"Object"}}});var Li=C((Sl,Oi)=>{var Hn=le(),Kn=Ni(),Xn=TypeError;Oi.exports=function(a){if(Hn(a))return a;throw Xn(Kn(a)+" is not a function")}});var Ri=C((wl,Vi)=>{var Jn=Li(),Qn=kt();Vi.exports=function(a,u){var o=a[u];return Qn(o)?void 0:Jn(o)}});var qi=C((kl,ji)=>{var Lt=et(),Vt=le(),Rt=Pe(),$n=TypeError;ji.exports=function(a,u){var o,l;if(u==="string"&&Vt(o=a.toString)&&!Rt(l=Lt(o,a))||Vt(o=a.valueOf)&&!Rt(l=Lt(o,a))||u!=="string"&&Vt(o=a.toString)&&!Rt(l=Lt(o,a)))return l;throw $n("Can't convert object to primitive value")}});var Ui=C((Fl,Mi)=>{Mi.exports=!1});var st=C((Bl,zi)=>{var Wi=oe(),Yn=Object.defineProperty;zi.exports=function(a,u){try{Yn(Wi,a,{value:u,configurable:!0,writable:!0})}catch{Wi[a]=u}return u}});var at=C((Il,Hi)=>{var Zn=oe(),eu=st(),Gi="__core-js_shared__",tu=Zn[Gi]||eu(Gi,{});Hi.exports=tu});var jt=C((Tl,Xi)=>{var ru=Ui(),Ki=at();(Xi.exports=function(a,u){return Ki[a]||(Ki[a]=u!==void 0?u:{})})("versions",[]).push({version:"3.26.1",mode:ru?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Qi=C((Pl,Ji)=>{var iu=Ft(),su=Object;Ji.exports=function(a){return su(iu(a))}});var be=C((Dl,$i)=>{var au=ye(),nu=Qi(),uu=au({}.hasOwnProperty);$i.exports=Object.hasOwn||function(u,o){return uu(nu(u),o)}});var qt=C((Nl,Yi)=>{var ou=ye(),hu=0,lu=Math.random(),cu=ou(1 .toString);Yi.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+cu(++hu+lu,36)}});var ss=C((Ol,is)=>{var pu=oe(),fu=jt(),Zi=be(),du=qt(),es=Dt(),rs=Nt(),De=fu("wks"),we=pu.Symbol,ts=we&&we.for,mu=rs?we:we&&we.withoutSetter||du;is.exports=function(a){if(!Zi(De,a)||!(es||typeof De[a]=="string")){var u="Symbol."+a;es&&Zi(we,a)?De[a]=we[a]:rs&&ts?De[a]=ts(u):De[a]=mu(u)}return De[a]}});var os=C((Ll,us)=>{var vu=et(),as=Pe(),ns=Ot(),gu=Ri(),xu=qi(),yu=ss(),Au=TypeError,Cu=yu("toPrimitive");us.exports=function(a,u){if(!as(a)||ns(a))return a;var o=gu(a,Cu),l;if(o){if(u===void 0&&(u="default"),l=vu(o,a,u),!as(l)||ns(l))return l;throw Au("Can't convert object to primitive value")}return u===void 0&&(u="number"),xu(a,u)}});var Mt=C((Vl,hs)=>{var Eu=os(),bu=Ot();hs.exports=function(a){var u=Eu(a,"string");return bu(u)?u:u+""}});var ps=C((Rl,cs)=>{var _u=oe(),ls=Pe(),Ut=_u.document,Su=ls(Ut)&&ls(Ut.createElement);cs.exports=function(a){return Su?Ut.createElement(a):{}}});var Wt=C((jl,fs)=>{var wu=xe(),ku=me(),Fu=ps();fs.exports=!wu&&!ku(function(){return Object.defineProperty(Fu("div"),"a",{get:function(){return 7}}).a!=7})});var zt=C(ms=>{var Bu=xe(),Iu=et(),Tu=Yr(),Pu=_t(),Du=tt(),Nu=Mt(),Ou=be(),Lu=Wt(),ds=Object.getOwnPropertyDescriptor;ms.f=Bu?ds:function(u,o){if(u=Du(u),o=Nu(o),Lu)try{return ds(u,o)}catch{}if(Ou(u,o))return Pu(!Iu(Tu.f,u,o),u[o])}});var gs=C((Ml,vs)=>{var Vu=xe(),Ru=me();vs.exports=Vu&&Ru(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var nt=C((Ul,xs)=>{var ju=Pe(),qu=String,Mu=TypeError;xs.exports=function(a){if(ju(a))return a;throw Mu(qu(a)+" is not an object")}});var Me=C(As=>{var Uu=xe(),Wu=Wt(),zu=gs(),ut=nt(),ys=Mt(),Gu=TypeError,Gt=Object.defineProperty,Hu=Object.getOwnPropertyDescriptor,Ht="enumerable",Kt="configurable",Xt="writable";As.f=Uu?zu?function(u,o,l){if(ut(u),o=ys(o),ut(l),typeof u=="function"&&o==="prototype"&&"value"in l&&Xt in l&&!l[Xt]){var v=Hu(u,o);v&&v[Xt]&&(u[o]=l.value,l={configurable:Kt in l?l[Kt]:v[Kt],enumerable:Ht in l?l[Ht]:v[Ht],writable:!1})}return Gt(u,o,l)}:Gt:function(u,o,l){if(ut(u),o=ys(o),ut(l),Wu)try{return Gt(u,o,l)}catch{}if("get"in l||"set"in l)throw Gu("Accessors not supported");return"value"in l&&(u[o]=l.value),u}});var Jt=C((zl,Cs)=>{var Ku=xe(),Xu=Me(),Ju=_t();Cs.exports=Ku?function(a,u,o){return Xu.f(a,u,Ju(1,o))}:function(a,u,o){return a[u]=o,a}});var _s=C((Gl,bs)=>{var Qt=xe(),Qu=be(),Es=Function.prototype,$u=Qt&&Object.getOwnPropertyDescriptor,$t=Qu(Es,"name"),Yu=$t&&function(){}.name==="something",Zu=$t&&(!Qt||Qt&&$u(Es,"name").configurable);bs.exports={EXISTS:$t,PROPER:Yu,CONFIGURABLE:Zu}});var ws=C((Hl,Ss)=>{var eo=ye(),to=le(),Yt=at(),ro=eo(Function.toString);to(Yt.inspectSource)||(Yt.inspectSource=function(a){return ro(a)});Ss.exports=Yt.inspectSource});var Bs=C((Kl,Fs)=>{var io=oe(),so=le(),ks=io.WeakMap;Fs.exports=so(ks)&&/native code/.test(String(ks))});var Ps=C((Xl,Ts)=>{var ao=jt(),no=qt(),Is=ao("keys");Ts.exports=function(a){return Is[a]||(Is[a]=no(a))}});var Zt=C((Jl,Ds)=>{Ds.exports={}});var Vs=C((Ql,Ls)=>{var uo=Bs(),Os=oe(),oo=Pe(),ho=Jt(),er=be(),tr=at(),lo=Ps(),co=Zt(),Ns="Object already initialized",rr=Os.TypeError,po=Os.WeakMap,ot,Ue,ht,fo=function(a){return ht(a)?Ue(a):ot(a,{})},mo=function(a){return function(u){var o;if(!oo(u)||(o=Ue(u)).type!==a)throw rr("Incompatible receiver, "+a+" required");return o}};uo||tr.state?(pe=tr.state||(tr.state=new po),pe.get=pe.get,pe.has=pe.has,pe.set=pe.set,ot=function(a,u){if(pe.has(a))throw rr(Ns);return u.facade=a,pe.set(a,u),u},Ue=function(a){return pe.get(a)||{}},ht=function(a){return pe.has(a)}):(ke=lo("state"),co[ke]=!0,ot=function(a,u){if(er(a,ke))throw rr(Ns);return u.facade=a,ho(a,ke,u),u},Ue=function(a){return er(a,ke)?a[ke]:{}},ht=function(a){return er(a,ke)});var pe,ke;Ls.exports={set:ot,get:Ue,has:ht,enforce:fo,getterFor:mo}});var sr=C(($l,js)=>{var vo=me(),go=le(),lt=be(),ir=xe(),xo=_s().CONFIGURABLE,yo=ws(),Rs=Vs(),Ao=Rs.enforce,Co=Rs.get,ct=Object.defineProperty,Eo=ir&&!vo(function(){return ct(function(){},"length",{value:8}).length!==8}),bo=String(String).split("String"),_o=js.exports=function(a,u,o){String(u).slice(0,7)==="Symbol("&&(u="["+String(u).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),o&&o.getter&&(u="get "+u),o&&o.setter&&(u="set "+u),(!lt(a,"name")||xo&&a.name!==u)&&(ir?ct(a,"name",{value:u,configurable:!0}):a.name=u),Eo&&o&<(o,"arity")&&a.length!==o.arity&&ct(a,"length",{value:o.arity});try{o&<(o,"constructor")&&o.constructor?ir&&ct(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var l=Ao(a);return lt(l,"source")||(l.source=bo.join(typeof u=="string"?u:"")),a};Function.prototype.toString=_o(function(){return go(this)&&Co(this).source||yo(this)},"toString")});var Ms=C((Yl,qs)=>{var So=le(),wo=Me(),ko=sr(),Fo=st();qs.exports=function(a,u,o,l){l||(l={});var v=l.enumerable,b=l.name!==void 0?l.name:u;if(So(o)&&ko(o,b,l),l.global)v?a[u]=o:Fo(u,o);else{try{l.unsafe?a[u]&&(v=!0):delete a[u]}catch{}v?a[u]=o:wo.f(a,u,{value:o,enumerable:!1,configurable:!l.nonConfigurable,writable:!l.nonWritable})}return a}});var Ws=C((Zl,Us)=>{var Bo=Math.ceil,Io=Math.floor;Us.exports=Math.trunc||function(u){var o=+u;return(o>0?Io:Bo)(o)}});var ar=C((ec,zs)=>{var To=Ws();zs.exports=function(a){var u=+a;return u!==u||u===0?0:To(u)}});var Hs=C((tc,Gs)=>{var Po=ar(),Do=Math.max,No=Math.min;Gs.exports=function(a,u){var o=Po(a);return o<0?Do(o+u,0):No(o,u)}});var Xs=C((rc,Ks)=>{var Oo=ar(),Lo=Math.min;Ks.exports=function(a){return a>0?Lo(Oo(a),9007199254740991):0}});var Qs=C((ic,Js)=>{var Vo=Xs();Js.exports=function(a){return Vo(a.length)}});var Zs=C((sc,Ys)=>{var Ro=tt(),jo=Hs(),qo=Qs(),$s=function(a){return function(u,o,l){var v=Ro(u),b=qo(v),y=jo(l,b),I;if(a&&o!=o){for(;b>y;)if(I=v[y++],I!=I)return!0}else for(;b>y;y++)if((a||y in v)&&v[y]===o)return a||y||0;return!a&&-1}};Ys.exports={includes:$s(!0),indexOf:$s(!1)}});var ra=C((ac,ta)=>{var Mo=ye(),nr=be(),Uo=tt(),Wo=Zs().indexOf,zo=Zt(),ea=Mo([].push);ta.exports=function(a,u){var o=Uo(a),l=0,v=[],b;for(b in o)!nr(zo,b)&&nr(o,b)&&ea(v,b);for(;u.length>l;)nr(o,b=u[l++])&&(~Wo(v,b)||ea(v,b));return v}});var sa=C((nc,ia)=>{ia.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var na=C(aa=>{var Go=ra(),Ho=sa(),Ko=Ho.concat("length","prototype");aa.f=Object.getOwnPropertyNames||function(u){return Go(u,Ko)}});var oa=C(ua=>{ua.f=Object.getOwnPropertySymbols});var la=C((hc,ha)=>{var Xo=rt(),Jo=ye(),Qo=na(),$o=oa(),Yo=nt(),Zo=Jo([].concat);ha.exports=Xo("Reflect","ownKeys")||function(u){var o=Qo.f(Yo(u)),l=$o.f;return l?Zo(o,l(u)):o}});var fa=C((lc,pa)=>{var ca=be(),eh=la(),th=zt(),rh=Me();pa.exports=function(a,u,o){for(var l=eh(u),v=rh.f,b=th.f,y=0;y{var ih=me(),sh=le(),ah=/#|\.prototype\./,We=function(a,u){var o=uh[nh(a)];return o==hh?!0:o==oh?!1:sh(u)?ih(u):!!u},nh=We.normalize=function(a){return String(a).replace(ah,".").toLowerCase()},uh=We.data={},oh=We.NATIVE="N",hh=We.POLYFILL="P";da.exports=We});var ga=C((pc,va)=>{var ur=oe(),lh=zt().f,ch=Jt(),ph=Ms(),fh=st(),dh=fa(),mh=ma();va.exports=function(a,u){var o=a.target,l=a.global,v=a.stat,b,y,I,T,x,R;if(l?y=ur:v?y=ur[o]||fh(o,{}):y=(ur[o]||{}).prototype,y)for(I in u){if(x=u[I],a.dontCallGetSet?(R=lh(y,I),T=R&&R.value):T=y[I],b=mh(l?I:o+(v?".":"#")+I,a.forced),!b&&T!==void 0){if(typeof x==typeof T)continue;dh(x,T)}(a.sham||T&&T.sham)&&ch(x,"sham",!0),ph(y,I,x,a)}}});var xa=C(()=>{var vh=ga(),or=oe();vh({global:!0,forced:or.globalThis!==or},{globalThis:or})});var ya=C(()=>{xa()});var Ea=C((gc,Ca)=>{var Aa=sr(),gh=Me();Ca.exports=function(a,u,o){return o.get&&Aa(o.get,u,{getter:!0}),o.set&&Aa(o.set,u,{setter:!0}),gh.f(a,u,o)}});var _a=C((xc,ba)=>{"use strict";var xh=nt();ba.exports=function(){var a=xh(this),u="";return a.hasIndices&&(u+="d"),a.global&&(u+="g"),a.ignoreCase&&(u+="i"),a.multiline&&(u+="m"),a.dotAll&&(u+="s"),a.unicode&&(u+="u"),a.unicodeSets&&(u+="v"),a.sticky&&(u+="y"),u}});var ka=C(()=>{var yh=oe(),Ah=xe(),Ch=Ea(),Eh=_a(),bh=me(),Sa=yh.RegExp,wa=Sa.prototype,_h=Ah&&bh(function(){var a=!0;try{Sa(".","d")}catch{a=!1}var u={},o="",l=a?"dgimsy":"gimsy",v=function(T,x){Object.defineProperty(u,T,{get:function(){return o+=x,!0}})},b={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(b.hasIndices="d");for(var y in b)v(y,b[y]);var I=Object.getOwnPropertyDescriptor(wa,"flags").get.call(u);return I!==l||o!==l});_h&&Ch(wa,"flags",{configurable:!0,get:Eh})});var Zh=C((Ec,Ka)=>{ya();ka();var pr=Object.defineProperty,Sh=Object.getOwnPropertyDescriptor,fr=Object.getOwnPropertyNames,wh=Object.prototype.hasOwnProperty,Fa=(a,u)=>function(){return a&&(u=(0,a[fr(a)[0]])(a=0)),u},$=(a,u)=>function(){return u||(0,a[fr(a)[0]])((u={exports:{}}).exports,u),u.exports},kh=(a,u)=>{for(var o in u)pr(a,o,{get:u[o],enumerable:!0})},Fh=(a,u,o,l)=>{if(u&&typeof u=="object"||typeof u=="function")for(let v of fr(u))!wh.call(a,v)&&v!==o&&pr(a,v,{get:()=>u[v],enumerable:!(l=Sh(u,v))||l.enumerable});return a},Bh=a=>Fh(pr({},"__esModule",{value:!0}),a),J=Fa({""(){}}),dr=$({"src/common/parser-create-error.js"(a,u){"use strict";J();function o(l,v){let b=new SyntaxError(l+" ("+v.start.line+":"+v.start.column+")");return b.loc=v,b}u.exports=o}}),Ba=$({"src/utils/try-combinations.js"(a,u){"use strict";J();function o(){let l;for(var v=arguments.length,b=new Array(v),y=0;ycr,arch:()=>Ih,cpus:()=>Va,default:()=>Ua,endianness:()=>Ta,freemem:()=>Oa,getNetworkInterfaces:()=>Ma,hostname:()=>Pa,loadavg:()=>Da,networkInterfaces:()=>qa,platform:()=>Th,release:()=>ja,tmpDir:()=>hr,tmpdir:()=>lr,totalmem:()=>La,type:()=>Ra,uptime:()=>Na});function Ta(){if(typeof pt>"u"){var a=new ArrayBuffer(2),u=new Uint8Array(a),o=new Uint16Array(a);if(u[0]=1,u[1]=2,o[0]===258)pt="BE";else if(o[0]===513)pt="LE";else throw new Error("unable to figure out endianess")}return pt}function Pa(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Da(){return[]}function Na(){return 0}function Oa(){return Number.MAX_VALUE}function La(){return Number.MAX_VALUE}function Va(){return[]}function Ra(){return"Browser"}function ja(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function qa(){}function Ma(){}function Ih(){return"javascript"}function Th(){return"browser"}function hr(){return"/tmp"}var pt,lr,cr,Ua,Ph=Fa({"node-modules-polyfills:os"(){J(),lr=hr,cr=` +`,Ua={EOL:cr,tmpdir:lr,tmpDir:hr,networkInterfaces:qa,getNetworkInterfaces:Ma,release:ja,type:Ra,cpus:Va,totalmem:La,freemem:Oa,uptime:Na,loadavg:Da,hostname:Pa,endianness:Ta}}}),Dh=$({"node-modules-polyfills-commonjs:os"(a,u){J();var o=(Ph(),Bh(Ia));if(o&&o.default){u.exports=o.default;for(let l in o)u.exports[l]=o[l]}else o&&(u.exports=o)}}),Nh=$({"node_modules/detect-newline/index.js"(a,u){"use strict";J();var o=l=>{if(typeof l!="string")throw new TypeError("Expected a string");let v=l.match(/(?:\r?\n)/g)||[];if(v.length===0)return;let b=v.filter(I=>I===`\r +`).length,y=v.length-b;return b>y?`\r +`:` +`};u.exports=o,u.exports.graceful=l=>typeof l=="string"&&o(l)||` +`}}),Oh=$({"node_modules/jest-docblock/build/index.js"(a){"use strict";J(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=g,a.parse=G,a.parseWithComments=f,a.print=B,a.strip=w;function u(){let k=Dh();return u=function(){return k},k}function o(){let k=l(Nh());return o=function(){return k},k}function l(k){return k&&k.__esModule?k:{default:k}}var v=/\*\/$/,b=/^\/\*\*?/,y=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,I=/(^|\s+)\/\/([^\r\n]*)/g,T=/^(\r?\n)+/,x=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,R=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,U=/(\r?\n|^) *\* ?/g,D=[];function g(k){let X=k.match(y);return X?X[0].trimLeft():""}function w(k){let X=k.match(y);return X&&X[0]?k.substring(X[0].length):k}function G(k){return f(k).pragmas}function f(k){let X=(0,o().default)(k)||u().EOL;k=k.replace(b,"").replace(v,"").replace(U,"$1");let O="";for(;O!==k;)O=k,k=k.replace(x,`${X}$1 $2${X}`);k=k.replace(T,"").trimRight();let i=Object.create(null),S=k.replace(R,"").replace(T,"").trimRight(),F;for(;F=R.exec(k);){let j=F[2].replace(I,"");typeof i[F[1]]=="string"||Array.isArray(i[F[1]])?i[F[1]]=D.concat(i[F[1]],j):i[F[1]]=j}return{comments:S,pragmas:i}}function B(k){let{comments:X="",pragmas:O={}}=k,i=(0,o().default)(X)||u().EOL,S="/**",F=" *",j=" */",Z=Object.keys(O),ne=Z.map(ie=>V(ie,O[ie])).reduce((ie,Ne)=>ie.concat(Ne),[]).map(ie=>`${F} ${ie}${i}`).join("");if(!X){if(Z.length===0)return"";if(Z.length===1&&!Array.isArray(O[Z[0]])){let ie=O[Z[0]];return`${S} ${V(Z[0],ie)[0]}${j}`}}let ee=X.split(i).map(ie=>`${F} ${ie}`).join(i)+i;return S+i+(X?ee:"")+(X&&Z.length?F+i:"")+ne+j}function V(k,X){return D.concat(X).map(O=>`@${k} ${O}`.trim())}}}),Lh=$({"src/common/end-of-line.js"(a,u){"use strict";J();function o(y){let I=y.indexOf("\r");return I>=0?y.charAt(I+1)===` +`?"crlf":"cr":"lf"}function l(y){switch(y){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function v(y,I){let T;switch(I){case` +`:T=/\n/g;break;case"\r":T=/\r/g;break;case`\r +`:T=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(I)}.`)}let x=y.match(T);return x?x.length:0}function b(y){return y.replace(/\r\n?/g,` +`)}u.exports={guessEndOfLine:o,convertEndOfLineToChars:l,countEndOfLineChars:v,normalizeEndOfLine:b}}}),Vh=$({"src/language-js/utils/get-shebang.js"(a,u){"use strict";J();function o(l){if(!l.startsWith("#!"))return"";let v=l.indexOf(` +`);return v===-1?l:l.slice(0,v)}u.exports=o}}),Rh=$({"src/language-js/pragma.js"(a,u){"use strict";J();var{parseWithComments:o,strip:l,extract:v,print:b}=Oh(),{normalizeEndOfLine:y}=Lh(),I=Vh();function T(U){let D=I(U);D&&(U=U.slice(D.length+1));let g=v(U),{pragmas:w,comments:G}=o(g);return{shebang:D,text:U,pragmas:w,comments:G}}function x(U){let D=Object.keys(T(U).pragmas);return D.includes("prettier")||D.includes("format")}function R(U){let{shebang:D,text:g,pragmas:w,comments:G}=T(U),f=l(g),B=b({pragmas:Object.assign({format:""},w),comments:G.trimStart()});return(D?`${D} +`:"")+y(B)+(f.startsWith(` +`)?` +`:` + +`)+f}u.exports={hasPragma:x,insertPragma:R}}}),jh=$({"src/utils/is-non-empty-array.js"(a,u){"use strict";J();function o(l){return Array.isArray(l)&&l.length>0}u.exports=o}}),Wa=$({"src/language-js/loc.js"(a,u){"use strict";J();var o=jh();function l(T){var x,R;let U=T.range?T.range[0]:T.start,D=(x=(R=T.declaration)===null||R===void 0?void 0:R.decorators)!==null&&x!==void 0?x:T.decorators;return o(D)?Math.min(l(D[0]),U):U}function v(T){return T.range?T.range[1]:T.end}function b(T,x){let R=l(T);return Number.isInteger(R)&&R===l(x)}function y(T,x){let R=v(T);return Number.isInteger(R)&&R===v(x)}function I(T,x){return b(T,x)&&y(T,x)}u.exports={locStart:l,locEnd:v,hasSameLocStart:b,hasSameLoc:I}}}),za=$({"src/language-js/parse/utils/create-parser.js"(a,u){"use strict";J();var{hasPragma:o}=Rh(),{locStart:l,locEnd:v}=Wa();function b(y){return y=typeof y=="function"?{parse:y}:y,Object.assign({astFormat:"estree",hasPragma:o,locStart:l,locEnd:v},y)}u.exports=b}}),qh=$({"src/language-js/utils/is-ts-keyword-type.js"(a,u){"use strict";J();function o(l){let{type:v}=l;return v.startsWith("TS")&&v.endsWith("Keyword")}u.exports=o}}),Mh=$({"src/language-js/utils/is-block-comment.js"(a,u){"use strict";J();var o=new Set(["Block","CommentBlock","MultiLine"]),l=v=>o.has(v==null?void 0:v.type);u.exports=l}}),Uh=$({"src/language-js/utils/is-type-cast-comment.js"(a,u){"use strict";J();var o=Mh();function l(v){return o(v)&&v.value[0]==="*"&&/@(?:type|satisfies)\b/.test(v.value)}u.exports=l}}),Wh=$({"src/utils/get-last.js"(a,u){"use strict";J();var o=l=>l[l.length-1];u.exports=o}}),zh=$({"src/language-js/parse/postprocess/visit-node.js"(a,u){"use strict";J();function o(l,v){if(Array.isArray(l)){for(let b=0;b{B.leadingComments&&B.leadingComments.some(b)&&f.add(o(B))}),g=I(g,B=>{if(B.type==="ParenthesizedExpression"){let{expression:V}=B;if(V.type==="TypeCastExpression")return V.range=B.range,V;let k=o(B);if(!f.has(k))return V.extra=Object.assign(Object.assign({},V.extra),{},{parenthesized:!0}),V}})}return g=I(g,f=>{switch(f.type){case"ChainExpression":return R(f.expression);case"LogicalExpression":{if(U(f))return D(f);break}case"VariableDeclaration":{let B=y(f.declarations);B&&B.init&&G(f,B);break}case"TSParenthesizedType":return v(f.typeAnnotation)||f.typeAnnotation.type==="TSThisType"||(f.typeAnnotation.range=[o(f),l(f)]),f.typeAnnotation;case"TSTypeParameter":if(typeof f.name=="string"){let B=o(f);f.name={type:"Identifier",name:f.name,range:[B,B+f.name.length]}}break;case"ObjectExpression":if(w.parser==="typescript"){let B=f.properties.find(V=>V.type==="Property"&&V.value.type==="TSEmptyBodyFunctionExpression");B&&T(B.value,"Unexpected token.")}break;case"SequenceExpression":{let B=y(f.expressions);f.range=[o(f),Math.min(l(B),l(f))];break}case"TopicReference":w.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:B}=f;if(w.parser==="meriyah"&&B&&B.type==="Identifier"){let V=w.originalText.slice(o(B),l(B));(V.startsWith('"')||V.startsWith("'"))&&(f.exported=Object.assign(Object.assign({},f.exported),{},{type:"Literal",value:f.exported.name,raw:V}))}break}case"PropertyDefinition":if(w.parser==="meriyah"&&f.static&&!f.computed&&!f.key){let B="static",V=o(f);Object.assign(f,{static:!1,key:{type:"Identifier",name:B,range:[V,V+B.length]}})}break}}),g;function G(f,B){w.originalText[l(B)]!==";"&&(f.range=[o(f),l(B)])}}function R(g){switch(g.type){case"CallExpression":g.type="OptionalCallExpression",g.callee=R(g.callee);break;case"MemberExpression":g.type="OptionalMemberExpression",g.object=R(g.object);break;case"TSNonNullExpression":g.expression=R(g.expression);break}return g}function U(g){return g.type==="LogicalExpression"&&g.right.type==="LogicalExpression"&&g.operator===g.right.operator}function D(g){return U(g)?D({type:"LogicalExpression",operator:g.operator,left:D({type:"LogicalExpression",operator:g.operator,left:g.left,right:g.right.left,range:[o(g.left),l(g.right.left)]}),right:g.right.right,range:[o(g),l(g)]}):g}u.exports=x}}),ft=$({"node_modules/acorn/dist/acorn.js"(a,u){J(),function(o,l){typeof a=="object"&&typeof u<"u"?l(a): true?!(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (l), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):(0)}(a,function(o){"use strict";var l=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,357,0,62,13,1495,6,110,6,6,9,4759,9,787719,239],v=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2637,96,16,1070,4050,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,46,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,482,44,11,6,17,0,322,29,19,43,1269,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4152,8,221,3,5761,15,7472,3104,541,1507,4938],b="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F",y="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",I={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},T="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",x={5:T,"5module":T+" export import",6:T+" const class extends export import super"},R=/^in(stanceof)?$/,U=new RegExp("["+y+"]"),D=new RegExp("["+y+b+"]");function g(e,t){for(var r=65536,s=0;se)return!1;if(r+=t[s+1],r>=e)return!0}}function w(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&U.test(String.fromCharCode(e)):t===!1?!1:g(e,v)}function G(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&D.test(String.fromCharCode(e)):t===!1?!1:g(e,v)||g(e,l)}var f=function(t,r){r===void 0&&(r={}),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop||null,this.updateContext=null};function B(e,t){return new f(e,{beforeExpr:!0,binop:t})}var V={beforeExpr:!0},k={startsExpr:!0},X={};function O(e,t){return t===void 0&&(t={}),t.keyword=e,X[e]=new f(e,t)}var i={num:new f("num",k),regexp:new f("regexp",k),string:new f("string",k),name:new f("name",k),privateId:new f("privateId",k),eof:new f("eof"),bracketL:new f("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new f("]"),braceL:new f("{",{beforeExpr:!0,startsExpr:!0}),braceR:new f("}"),parenL:new f("(",{beforeExpr:!0,startsExpr:!0}),parenR:new f(")"),comma:new f(",",V),semi:new f(";",V),colon:new f(":",V),dot:new f("."),question:new f("?",V),questionDot:new f("?."),arrow:new f("=>",V),template:new f("template"),invalidTemplate:new f("invalidTemplate"),ellipsis:new f("...",V),backQuote:new f("`",k),dollarBraceL:new f("${",{beforeExpr:!0,startsExpr:!0}),eq:new f("=",{beforeExpr:!0,isAssign:!0}),assign:new f("_=",{beforeExpr:!0,isAssign:!0}),incDec:new f("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new f("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:B("||",1),logicalAND:B("&&",2),bitwiseOR:B("|",3),bitwiseXOR:B("^",4),bitwiseAND:B("&",5),equality:B("==/!=/===/!==",6),relational:B("/<=/>=",7),bitShift:B("<>/>>>",8),plusMin:new f("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:B("%",10),star:B("*",10),slash:B("/",10),starstar:new f("**",{beforeExpr:!0}),coalesce:B("??",1),_break:O("break"),_case:O("case",V),_catch:O("catch"),_continue:O("continue"),_debugger:O("debugger"),_default:O("default",V),_do:O("do",{isLoop:!0,beforeExpr:!0}),_else:O("else",V),_finally:O("finally"),_for:O("for",{isLoop:!0}),_function:O("function",k),_if:O("if"),_return:O("return",V),_switch:O("switch"),_throw:O("throw",V),_try:O("try"),_var:O("var"),_const:O("const"),_while:O("while",{isLoop:!0}),_with:O("with"),_new:O("new",{beforeExpr:!0,startsExpr:!0}),_this:O("this",k),_super:O("super",k),_class:O("class",k),_extends:O("extends",V),_export:O("export"),_import:O("import",k),_null:O("null",k),_true:O("true",k),_false:O("false",k),_in:O("in",{beforeExpr:!0,binop:7}),_instanceof:O("instanceof",{beforeExpr:!0,binop:7}),_typeof:O("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:O("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:O("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},S=/\r\n?|\n|\u2028|\u2029/,F=new RegExp(S.source,"g");function j(e){return e===10||e===13||e===8232||e===8233}function Z(e,t,r){r===void 0&&(r=e.length);for(var s=t;s>10)+55296,(e&1023)+56320))}var K=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,H=function(t,r){this.line=t,this.column=r};H.prototype.offset=function(t){return new H(this.line,this.column+t)};var te=function(t,r,s){this.start=r,this.end=s,t.sourceFile!==null&&(this.source=t.sourceFile)};function ae(e,t){for(var r=1,s=0;;){var n=Z(e,s,t);if(n<0)return new H(r,t-s);++r,s=n}}var fe={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},Ae=!1;function dt(e){var t={};for(var r in fe)t[r]=e&&P(e,r)?e[r]:fe[r];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!Ae&&typeof console=="object"&&console.warn&&(Ae=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required. +Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),e.allowHashBang==null&&(t.allowHashBang=t.ecmaVersion>=14),_(t.onToken)){var s=t.onToken;t.onToken=function(n){return s.push(n)}}return _(t.onComment)&&(t.onComment=mt(t,t.onComment)),t}function mt(e,t){return function(r,s,n,h,c,m){var A={type:r?"Block":"Line",value:s,start:n,end:h};e.locations&&(A.loc=new te(this,c,m)),e.ranges&&(A.range=[n,h]),t.push(A)}}var _e=1,Ce=2,Oe=4,ze=8,mr=16,vr=32,vt=64,gr=128,Le=256,gt=_e|Ce|Le;function xt(e,t){return Ce|(e?Oe:0)|(t?ze:0)}var Ge=0,yt=1,ve=2,xr=3,yr=4,Ar=5,Y=function(t,r,s){this.options=t=dt(t),this.sourceFile=t.sourceFile,this.keywords=d(x[t.ecmaVersion>=6?6:t.sourceType==="module"?"5module":5]);var n="";t.allowReserved!==!0&&(n=I[t.ecmaVersion>=6?6:t.ecmaVersion===5?5:3],t.sourceType==="module"&&(n+=" await")),this.reservedWords=d(n);var h=(n?n+" ":"")+I.strict;this.reservedWordsStrict=d(h),this.reservedWordsStrictBind=d(h+" "+I.strictBind),this.input=String(r),this.containsEsc=!1,s?(this.pos=s,this.lineStart=this.input.lastIndexOf(` +`,s-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(S).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=i.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=t.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&t.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(_e),this.regexpState=null,this.privateNameStack=[]},de={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};Y.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},de.inFunction.get=function(){return(this.currentVarScope().flags&Ce)>0},de.inGenerator.get=function(){return(this.currentVarScope().flags&ze)>0&&!this.currentVarScope().inClassFieldInit},de.inAsync.get=function(){return(this.currentVarScope().flags&Oe)>0&&!this.currentVarScope().inClassFieldInit},de.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&Le)return!1;if(t.flags&Ce)return(t.flags&Oe)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},de.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&vt)>0||r||this.options.allowSuperOutsideMethod},de.allowDirectSuper.get=function(){return(this.currentThisScope().flags&gr)>0},de.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},de.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&(Ce|Le))>0||r},de.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&Le)>0},Y.extend=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];for(var s=this,n=0;n=,?^&]/.test(n)||n==="!"&&this.input.charAt(s+1)==="=")}e+=t[0].length,ee.lastIndex=e,e+=ee.exec(this.input)[0].length,this.input[e]===";"&&e++}},se.eat=function(e){return this.type===e?(this.next(),!0):!1},se.isContextual=function(e){return this.type===i.name&&this.value===e&&!this.containsEsc},se.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1},se.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},se.canInsertSemicolon=function(){return this.type===i.eof||this.type===i.braceR||S.test(this.input.slice(this.lastTokEnd,this.start))},se.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},se.semicolon=function(){!this.eat(i.semi)&&!this.insertSemicolon()&&this.unexpected()},se.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0},se.expect=function(e){this.eat(e)||this.unexpected()},se.unexpected=function(e){this.raise(e!=null?e:this.start,"Unexpected token")};var He=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};se.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,t?"Assigning to rvalue":"Parenthesized pattern")}},se.checkExpressionErrors=function(e,t){if(!e)return!1;var r=e.shorthandAssign,s=e.doubleProto;if(!t)return r>=0||s>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),s>=0&&this.raiseRecoverable(s,"Redefinition of __proto__ property")},se.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&s<56320)return!0;if(e)return!1;if(s===123)return!0;if(w(s,!0)){for(var n=r+1;G(s=this.input.charCodeAt(n),!0);)++n;if(s===92||s>55295&&s<56320)return!0;var h=this.input.slice(r,n);if(!R.test(h))return!0}return!1},L.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;ee.lastIndex=this.pos;var e=ee.exec(this.input),t=this.pos+e[0].length,r;return!S.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(G(r=this.input.charCodeAt(t+8))||r>55295&&r<56320))},L.parseStatement=function(e,t,r){var s=this.type,n=this.startNode(),h;switch(this.isLet(e)&&(s=i._var,h="let"),s){case i._break:case i._continue:return this.parseBreakContinueStatement(n,s.keyword);case i._debugger:return this.parseDebuggerStatement(n);case i._do:return this.parseDoStatement(n);case i._for:return this.parseForStatement(n);case i._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!e);case i._class:return e&&this.unexpected(),this.parseClass(n,!0);case i._if:return this.parseIfStatement(n);case i._return:return this.parseReturnStatement(n);case i._switch:return this.parseSwitchStatement(n);case i._throw:return this.parseThrowStatement(n);case i._try:return this.parseTryStatement(n);case i._const:case i._var:return h=h||this.value,e&&h!=="var"&&this.unexpected(),this.parseVarStatement(n,h);case i._while:return this.parseWhileStatement(n);case i._with:return this.parseWithStatement(n);case i.braceL:return this.parseBlock(!0,n);case i.semi:return this.parseEmptyStatement(n);case i._export:case i._import:if(this.options.ecmaVersion>10&&s===i._import){ee.lastIndex=this.pos;var c=ee.exec(this.input),m=this.pos+c[0].length,A=this.input.charCodeAt(m);if(A===40||A===46)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),s===i._import?this.parseImport(n):this.parseExport(n,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!e);var q=this.value,W=this.parseExpression();return s===i.name&&W.type==="Identifier"&&this.eat(i.colon)?this.parseLabeledStatement(n,q,W,e):this.parseExpressionStatement(n,W)}},L.parseBreakContinueStatement=function(e,t){var r=t==="break";this.next(),this.eat(i.semi)||this.insertSemicolon()?e.label=null:this.type!==i.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var s=0;s=6?this.eat(i.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},L.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(At),this.enterScope(0),this.expect(i.parenL),this.type===i.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===i._var||this.type===i._const||r){var s=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(s,!0,n),this.finishNode(s,"VariableDeclaration"),(this.type===i._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&s.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===i._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,s)):(t>-1&&this.unexpected(t),this.parseFor(e,s))}var h=this.isContextual("let"),c=!1,m=new He,A=this.parseExpression(t>-1?"await":!0,m);return this.type===i._in||(c=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===i._in?t>-1&&this.unexpected(t):e.await=t>-1),h&&c&&this.raise(A.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(A,!1,m),this.checkLValPattern(A),this.parseForIn(e,A)):(this.checkExpressionErrors(m,!0),t>-1&&this.unexpected(t),this.parseFor(e,A))},L.parseFunctionStatement=function(e,t,r){return this.next(),this.parseFunction(e,Ve|(r?0:Ct),!1,t)},L.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(i._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")},L.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(i.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},L.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(i.braceL),this.labels.push(Ja),this.enterScope(0);for(var t,r=!1;this.type!==i.braceR;)if(this.type===i._case||this.type===i._default){var s=this.type===i._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),s?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(i.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},L.parseThrowStatement=function(e){return this.next(),S.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var Qa=[];L.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===i._catch){var t=this.startNode();if(this.next(),this.eat(i.parenL)){t.param=this.parseBindingAtom();var r=t.param.type==="Identifier";this.enterScope(r?vr:0),this.checkLValPattern(t.param,r?yr:ve),this.expect(i.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0);t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(i._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},L.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},L.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(At),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")},L.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")},L.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},L.parseLabeledStatement=function(e,t,r,s){for(var n=0,h=this.labels;n=0;A--){var q=this.labels[A];if(q.statementStart===e.start)q.statementStart=this.start,q.kind=m;else break}return this.labels.push({name:t,kind:m,statementStart:this.start}),e.body=this.parseStatement(s?s.indexOf("label")===-1?s+"label":s:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},L.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},L.parseBlock=function(e,t,r){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(i.braceL),e&&this.enterScope(0);this.type!==i.braceR;){var s=this.parseStatement(null);t.body.push(s)}return r&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")},L.parseFor=function(e,t){return e.init=t,this.expect(i.semi),e.test=this.type===i.semi?null:this.parseExpression(),this.expect(i.semi),e.update=this.type===i.parenR?null:this.parseExpression(),this.expect(i.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")},L.parseForIn=function(e,t){var r=this.type===i._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!r||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(i.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")},L.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r;;){var s=this.startNode();if(this.parseVarId(s,r),this.eat(i.eq)?s.init=this.parseMaybeAssign(t):r==="const"&&!(this.type===i._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():s.id.type!=="Identifier"&&!(t&&(this.type===i._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):s.init=null,e.declarations.push(this.finishNode(s,"VariableDeclarator")),!this.eat(i.comma))break}return e},L.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?yt:ve,!1)};var Ve=1,Ct=2,Cr=4;L.parseFunction=function(e,t,r,s,n){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!s)&&(this.type===i.star&&t&Ct&&this.unexpected(),e.generator=this.eat(i.star)),this.options.ecmaVersion>=8&&(e.async=!!s),t&Ve&&(e.id=t&Cr&&this.type!==i.name?null:this.parseIdent(),e.id&&!(t&Ct)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?yt:ve:xr));var h=this.yieldPos,c=this.awaitPos,m=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(xt(e.async,e.generator)),t&Ve||(e.id=this.type===i.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1,n),this.yieldPos=h,this.awaitPos=c,this.awaitIdentPos=m,this.finishNode(e,t&Ve?"FunctionDeclaration":"FunctionExpression")},L.parseFunctionParams=function(e){this.expect(i.parenL),e.params=this.parseBindingList(i.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},L.parseClass=function(e,t){this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var s=this.enterClassBody(),n=this.startNode(),h=!1;for(n.body=[],this.expect(i.braceL);this.type!==i.braceR;){var c=this.parseClassElement(e.superClass!==null);c&&(n.body.push(c),c.type==="MethodDefinition"&&c.kind==="constructor"?(h&&this.raise(c.start,"Duplicate constructor in the same class"),h=!0):c.key&&c.key.type==="PrivateIdentifier"&&$a(s,c)&&this.raiseRecoverable(c.key.start,"Identifier '#"+c.key.name+"' has already been declared"))}return this.strict=r,this.next(),e.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},L.parseClassElement=function(e){if(this.eat(i.semi))return null;var t=this.options.ecmaVersion,r=this.startNode(),s="",n=!1,h=!1,c="method",m=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(i.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===i.star?m=!0:s="static"}if(r.static=m,!s&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===i.star)&&!this.canInsertSemicolon()?h=!0:s="async"),!s&&(t>=9||!h)&&this.eat(i.star)&&(n=!0),!s&&!h&&!n){var A=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?c=A:s=A)}if(s?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=s,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),t<13||this.type===i.parenL||c!=="method"||n||h){var q=!r.static&&Ke(r,"constructor"),W=q&&e;q&&c!=="method"&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=q?"constructor":c,this.parseClassMethod(r,n,h,W)}else this.parseClassField(r);return r},L.isClassElementNameStart=function(){return this.type===i.name||this.type===i.privateId||this.type===i.num||this.type===i.string||this.type===i.bracketL||this.type.keyword},L.parseClassElementName=function(e){this.type===i.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)},L.parseClassMethod=function(e,t,r,s){var n=e.key;e.kind==="constructor"?(t&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):e.static&&Ke(e,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var h=e.value=this.parseMethod(t,r,s);return e.kind==="get"&&h.params.length!==0&&this.raiseRecoverable(h.start,"getter should have no params"),e.kind==="set"&&h.params.length!==1&&this.raiseRecoverable(h.start,"setter should have exactly one param"),e.kind==="set"&&h.params[0].type==="RestElement"&&this.raiseRecoverable(h.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")},L.parseClassField=function(e){if(Ke(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Ke(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(i.eq)){var t=this.currentThisScope(),r=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=r}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")},L.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(Le|vt);this.type!==i.braceR;){var r=this.parseStatement(null);e.body.push(r)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")},L.parseClassId=function(e,t){this.type===i.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,ve,!1)):(t===!0&&this.unexpected(),e.id=null)},L.parseClassSuper=function(e){e.superClass=this.eat(i._extends)?this.parseExprSubscripts(!1):null},L.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared},L.exitClassBody=function(){for(var e=this.privateNameStack.pop(),t=e.declared,r=e.used,s=this.privateNameStack.length,n=s===0?null:this.privateNameStack[s-1],h=0;h=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==i.string&&this.unexpected(),e.source=this.parseExprAtom(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(i._default)){this.checkExport(t,"default",this.lastTokStart);var r;if(this.type===i._function||(r=this.isAsyncFunction())){var s=this.startNode();this.next(),r&&this.next(),e.declaration=this.parseFunction(s,Ve|Cr,!1,r)}else if(this.type===i._class){var n=this.startNode();e.declaration=this.parseClass(n,"nullableID")}else e.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(null),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==i.string&&this.unexpected(),e.source=this.parseExprAtom();else{for(var h=0,c=e.specifiers;h=13&&this.type===i.string){var e=this.parseLiteral(this.value);return K.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)},L.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};var he=Y.prototype;he.toAssignable=function(e,t,r){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var s=0,n=e.properties;s=8&&!c&&m.name==="async"&&!this.canInsertSemicolon()&&this.eat(i._function))return this.overrideContext(Q.f_expr),this.parseFunction(this.startNodeAt(n,h),0,!1,!0,t);if(s&&!this.canInsertSemicolon()){if(this.eat(i.arrow))return this.parseArrowExpression(this.startNodeAt(n,h),[m],!1,t);if(this.options.ecmaVersion>=8&&m.name==="async"&&this.type===i.name&&!c&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return m=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(i.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(n,h),[m],!0,t)}return m;case i.regexp:var A=this.value;return r=this.parseLiteral(A.value),r.regex={pattern:A.pattern,flags:A.flags},r;case i.num:case i.string:return this.parseLiteral(this.value);case i._null:case i._true:case i._false:return r=this.startNode(),r.value=this.type===i._null?null:this.type===i._true,r.raw=this.type.keyword,this.next(),this.finishNode(r,"Literal");case i.parenL:var q=this.start,W=this.parseParenAndDistinguishExpression(s,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(W)&&(e.parenthesizedAssign=q),e.parenthesizedBind<0&&(e.parenthesizedBind=q)),W;case i.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(i.bracketR,!0,!0,e),this.finishNode(r,"ArrayExpression");case i.braceL:return this.overrideContext(Q.b_expr),this.parseObj(!1,e);case i._function:return r=this.startNode(),this.next(),this.parseFunction(r,0);case i._class:return this.parseClass(this.startNode(),!1);case i._new:return this.parseNew();case i.backQuote:return this.parseTemplate();case i._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},M.parseExprImport=function(){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var t=this.parseIdent(!0);switch(this.type){case i.parenL:return this.parseDynamicImport(e);case i.dot:return e.meta=t,this.parseImportMeta(e);default:this.unexpected()}},M.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),!this.eat(i.parenR)){var t=this.start;this.eat(i.comma)&&this.eat(i.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")},M.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")},M.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")},M.parseParenExpression=function(){this.expect(i.parenL);var e=this.parseExpression();return this.expect(i.parenR),e},M.parseParenAndDistinguishExpression=function(e,t){var r=this.start,s=this.startLoc,n,h=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var c=this.start,m=this.startLoc,A=[],q=!0,W=!1,re=new He,Se=this.yieldPos,qe=this.awaitPos,Be;for(this.yieldPos=0,this.awaitPos=0;this.type!==i.parenR;)if(q?q=!1:this.expect(i.comma),h&&this.afterTrailingComma(i.parenR,!0)){W=!0;break}else if(this.type===i.ellipsis){Be=this.start,A.push(this.parseParenItem(this.parseRestBinding())),this.type===i.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}else A.push(this.parseMaybeAssign(!1,re,this.parseParenItem));var $e=this.lastTokEnd,Ie=this.lastTokEndLoc;if(this.expect(i.parenR),e&&!this.canInsertSemicolon()&&this.eat(i.arrow))return this.checkPatternErrors(re,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=Se,this.awaitPos=qe,this.parseParenArrowList(r,s,A,t);(!A.length||W)&&this.unexpected(this.lastTokStart),Be&&this.unexpected(Be),this.checkExpressionErrors(re,!0),this.yieldPos=Se||this.yieldPos,this.awaitPos=qe||this.awaitPos,A.length>1?(n=this.startNodeAt(c,m),n.expressions=A,this.finishNodeAt(n,"SequenceExpression",$e,Ie)):n=A[0]}else n=this.parseParenExpression();if(this.options.preserveParens){var Te=this.startNodeAt(r,s);return Te.expression=n,this.finishNode(Te,"ParenthesizedExpression")}else return n},M.parseParenItem=function(e){return e},M.parseParenArrowList=function(e,t,r,s){return this.parseArrowExpression(this.startNodeAt(e,t),r,!1,s)};var Ya=[];M.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(i.dot)){e.meta=t;var r=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var s=this.start,n=this.startLoc,h=this.type===i._import;return e.callee=this.parseSubscripts(this.parseExprAtom(),s,n,!0,!1),h&&e.callee.type==="ImportExpression"&&this.raise(s,"Cannot use new with import()"),this.eat(i.parenL)?e.arguments=this.parseExprList(i.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Ya,this.finishNode(e,"NewExpression")},M.parseTemplateElement=function(e){var t=e.isTagged,r=this.startNode();return this.type===i.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,` +`),cooked:this.value},this.next(),r.tail=this.type===i.backQuote,this.finishNode(r,"TemplateElement")},M.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var r=this.startNode();this.next(),r.expressions=[];var s=this.parseTemplateElement({isTagged:t});for(r.quasis=[s];!s.tail;)this.type===i.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(i.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(i.braceR),r.quasis.push(s=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(r,"TemplateLiteral")},M.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===i.name||this.type===i.num||this.type===i.string||this.type===i.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===i.star)&&!S.test(this.input.slice(this.lastTokEnd,this.start))},M.parseObj=function(e,t){var r=this.startNode(),s=!0,n={};for(r.properties=[],this.next();!this.eat(i.braceR);){if(s)s=!1;else if(this.expect(i.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(i.braceR))break;var h=this.parseProperty(e,t);e||this.checkPropClash(h,n,t),r.properties.push(h)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")},M.parseProperty=function(e,t){var r=this.startNode(),s,n,h,c;if(this.options.ecmaVersion>=9&&this.eat(i.ellipsis))return e?(r.argument=this.parseIdent(!1),this.type===i.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(r,"RestElement")):(r.argument=this.parseMaybeAssign(!1,t),this.type===i.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(r,"SpreadElement"));this.options.ecmaVersion>=6&&(r.method=!1,r.shorthand=!1,(e||t)&&(h=this.start,c=this.startLoc),e||(s=this.eat(i.star)));var m=this.containsEsc;return this.parsePropertyName(r),!e&&!m&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(r)?(n=!0,s=this.options.ecmaVersion>=9&&this.eat(i.star),this.parsePropertyName(r,t)):n=!1,this.parsePropertyValue(r,e,s,n,h,c,t,m),this.finishNode(r,"Property")},M.parsePropertyValue=function(e,t,r,s,n,h,c,m){if((r||s)&&this.type===i.colon&&this.unexpected(),this.eat(i.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,c),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===i.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,s);else if(!t&&!m&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==i.comma&&this.type!==i.braceR&&this.type!==i.eq){(r||s)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var A=e.kind==="get"?0:1;if(e.value.params.length!==A){var q=e.value.start;e.kind==="get"?this.raiseRecoverable(q,"getter should have no params"):this.raiseRecoverable(q,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((r||s)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=n),e.kind="init",t?e.value=this.parseMaybeDefault(n,h,this.copyNode(e.key)):this.type===i.eq&&c?(c.shorthandAssign<0&&(c.shorthandAssign=this.start),e.value=this.parseMaybeDefault(n,h,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()},M.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(i.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(i.bracketR),e.key;e.computed=!1}return e.key=this.type===i.num||this.type===i.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")},M.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)},M.parseMethod=function(e,t,r){var s=this.startNode(),n=this.yieldPos,h=this.awaitPos,c=this.awaitIdentPos;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=e),this.options.ecmaVersion>=8&&(s.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(xt(t,s.generator)|vt|(r?gr:0)),this.expect(i.parenL),s.params=this.parseBindingList(i.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(s,!1,!0,!1),this.yieldPos=n,this.awaitPos=h,this.awaitIdentPos=c,this.finishNode(s,"FunctionExpression")},M.parseArrowExpression=function(e,t,r,s){var n=this.yieldPos,h=this.awaitPos,c=this.awaitIdentPos;return this.enterScope(xt(r,!1)|mr),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,s),this.yieldPos=n,this.awaitPos=h,this.awaitIdentPos=c,this.finishNode(e,"ArrowFunctionExpression")},M.parseFunctionBody=function(e,t,r,s){var n=t&&this.type!==i.braceL,h=this.strict,c=!1;if(n)e.body=this.parseMaybeAssign(s),e.expression=!0,this.checkParams(e,!1);else{var m=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!h||m)&&(c=this.strictDirective(this.end),c&&m&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var A=this.labels;this.labels=[],c&&(this.strict=!0),this.checkParams(e,!h&&!c&&!t&&!r&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,Ar),e.body=this.parseBlock(!1,void 0,c&&!h),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=A}this.exitScope()},M.isSimpleParamList=function(e){for(var t=0,r=e;t-1||n.functions.indexOf(e)>-1||n.var.indexOf(e)>-1,n.lexical.push(e),this.inModule&&n.flags&_e&&delete this.undefinedExports[e]}else if(t===yr){var h=this.currentScope();h.lexical.push(e)}else if(t===xr){var c=this.currentScope();this.treatFunctionsAsVar?s=c.lexical.indexOf(e)>-1:s=c.lexical.indexOf(e)>-1||c.var.indexOf(e)>-1,c.functions.push(e)}else for(var m=this.scopeStack.length-1;m>=0;--m){var A=this.scopeStack[m];if(A.lexical.indexOf(e)>-1&&!(A.flags&vr&&A.lexical[0]===e)||!this.treatFunctionsAsVarInScope(A)&&A.functions.indexOf(e)>-1){s=!0;break}if(A.var.push(e),this.inModule&&A.flags&_e&&delete this.undefinedExports[e],A.flags>)break}s&&this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")},Ee.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)},Ee.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ee.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags>)return t}},Ee.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags>&&!(t.flags&mr))return t}};var Re=function(t,r,s){this.type="",this.start=r,this.end=0,t.options.locations&&(this.loc=new te(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[r,0])},je=Y.prototype;je.startNode=function(){return new Re(this,this.start,this.startLoc)},je.startNodeAt=function(e,t){return new Re(this,e,t)};function br(e,t,r,s){return e.type=t,e.end=r,this.options.locations&&(e.loc.end=s),this.options.ranges&&(e.range[1]=r),e}je.finishNode=function(e,t){return br.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},je.finishNodeAt=function(e,t,r,s){return br.call(this,e,t,r,s)},je.copyNode=function(e){var t=new Re(this,e.start,this.startLoc);for(var r in e)t[r]=e[r];return t};var _r="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Sr=_r+" Extended_Pictographic",wr=Sr,kr=wr+" EBase EComp EMod EPres ExtPict",en=kr,tn={9:_r,10:Sr,11:wr,12:kr,13:en},Fr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Br="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Ir=Br+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Tr=Ir+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Pr=Tr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",rn=Pr+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",sn={9:Br,10:Ir,11:Tr,12:Pr,13:rn},Dr={};function an(e){var t=Dr[e]={binary:d(tn[e]+" "+Fr),nonBinary:{General_Category:d(Fr),Script:d(sn[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}for(var Et=0,Nr=[9,10,11,12,13];Et=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":""),this.unicodeProperties=Dr[t.options.ecmaVersion>=13?13:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};ge.prototype.reset=function(t,r,s){var n=s.indexOf("u")!==-1;this.start=t|0,this.source=r+"",this.flags=s,this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchN=n&&this.parser.options.ecmaVersion>=9},ge.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},ge.prototype.at=function(t,r){r===void 0&&(r=!1);var s=this.source,n=s.length;if(t>=n)return-1;var h=s.charCodeAt(t);if(!(r||this.switchU)||h<=55295||h>=57344||t+1>=n)return h;var c=s.charCodeAt(t+1);return c>=56320&&c<=57343?(h<<10)+c-56613888:h},ge.prototype.nextIndex=function(t,r){r===void 0&&(r=!1);var s=this.source,n=s.length;if(t>=n)return n;var h=s.charCodeAt(t),c;return!(r||this.switchU)||h<=55295||h>=57344||t+1>=n||(c=s.charCodeAt(t+1))<56320||c>57343?t+1:t+2},ge.prototype.current=function(t){return t===void 0&&(t=!1),this.at(this.pos,t)},ge.prototype.lookahead=function(t){return t===void 0&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},ge.prototype.advance=function(t){t===void 0&&(t=!1),this.pos=this.nextIndex(this.pos,t)},ge.prototype.eat=function(t,r){return r===void 0&&(r=!1),this.current(r)===t?(this.advance(r),!0):!1},N.validateRegExpFlags=function(e){for(var t=e.validFlags,r=e.flags,s=0;s-1&&this.raise(e.start,"Duplicate regular expression flag")}},N.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&e.groupNames.length>0&&(e.switchN=!0,this.regexp_pattern(e))},N.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames.length=0,e.backReferenceNames.length=0,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,r=e.backReferenceNames;t=9&&(r=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!r,!0}return e.pos=t,!1},N.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1},N.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)},N.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var s=0,n=-1;if(this.regexp_eatDecimalDigits(e)&&(s=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue),e.eat(125)))return n!==-1&&n=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1},N.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)},N.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1},N.regexp_eatSyntaxCharacter=function(e){var t=e.current();return Or(t)?(e.lastIntValue=t,e.advance(),!0):!1};function Or(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}N.regexp_eatPatternCharacters=function(e){for(var t=e.pos,r=0;(r=e.current())!==-1&&!Or(r);)e.advance();return e.pos!==t},N.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1},N.regexp_groupSpecifier=function(e){if(e.eat(63)){if(this.regexp_eatGroupName(e)){e.groupNames.indexOf(e.lastStringValue)!==-1&&e.raise("Duplicate capture group name"),e.groupNames.push(e.lastStringValue);return}e.raise("Invalid group")}},N.regexp_eatGroupName=function(e){if(e.lastStringValue="",e.eat(60)){if(this.regexp_eatRegExpIdentifierName(e)&&e.eat(62))return!0;e.raise("Invalid capture group name")}return!1},N.regexp_eatRegExpIdentifierName=function(e){if(e.lastStringValue="",this.regexp_eatRegExpIdentifierStart(e)){for(e.lastStringValue+=E(e.lastIntValue);this.regexp_eatRegExpIdentifierPart(e);)e.lastStringValue+=E(e.lastIntValue);return!0}return!1},N.regexp_eatRegExpIdentifierStart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,s=e.current(r);return e.advance(r),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(s=e.lastIntValue),un(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function un(e){return w(e,!0)||e===36||e===95}N.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,s=e.current(r);return e.advance(r),s===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(s=e.lastIntValue),on(s)?(e.lastIntValue=s,!0):(e.pos=t,!1)};function on(e){return G(e,!0)||e===36||e===95||e===8204||e===8205}N.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)},N.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU)return r>e.maxBackReference&&(e.maxBackReference=r),!0;if(r<=e.numCapturingParens)return!0;e.pos=t}return!1},N.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1},N.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)},N.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1},N.regexp_eatZero=function(e){return e.current()===48&&!Je(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1},N.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1},N.regexp_eatControlLetter=function(e){var t=e.current();return Lr(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};function Lr(e){return e>=65&&e<=90||e>=97&&e<=122}N.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var r=e.pos,s=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var n=e.lastIntValue;if(s&&n>=55296&&n<=56319){var h=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var c=e.lastIntValue;if(c>=56320&&c<=57343)return e.lastIntValue=(n-55296)*1024+(c-56320)+65536,!0}e.pos=h,e.lastIntValue=n}return!0}if(s&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&hn(e.lastIntValue))return!0;s&&e.raise("Invalid unicode escape"),e.pos=r}return!1};function hn(e){return e>=0&&e<=1114111}N.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1},N.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1},N.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(ln(t))return e.lastIntValue=-1,e.advance(),!0;if(e.switchU&&this.options.ecmaVersion>=9&&(t===80||t===112)){if(e.lastIntValue=-1,e.advance(),e.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(e)&&e.eat(125))return!0;e.raise("Invalid property name")}return!1};function ln(e){return e===100||e===68||e===115||e===83||e===119||e===87}N.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var s=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,r,s),!0}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,n),!0}return!1},N.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){P(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(r)||e.raise("Invalid property value")},N.regexp_validateUnicodePropertyNameOrValue=function(e,t){e.unicodeProperties.binary.test(t)||e.raise("Invalid property name")},N.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";Vr(t=e.current());)e.lastStringValue+=E(t),e.advance();return e.lastStringValue!==""};function Vr(e){return Lr(e)||e===95}N.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";cn(t=e.current());)e.lastStringValue+=E(t),e.advance();return e.lastStringValue!==""};function cn(e){return Vr(e)||Je(e)}N.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)},N.regexp_eatCharacterClass=function(e){if(e.eat(91)){if(e.eat(94),this.regexp_classRanges(e),e.eat(93))return!0;e.raise("Unterminated character class")}return!1},N.regexp_classRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;e.switchU&&(t===-1||r===-1)&&e.raise("Invalid character class"),t!==-1&&r!==-1&&t>r&&e.raise("Range out of order in character class")}}},N.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var r=e.current();(r===99||qr(r))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var s=e.current();return s!==93?(e.lastIntValue=s,e.advance(),!0):!1},N.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)},N.regexp_eatClassControlLetter=function(e){var t=e.current();return Je(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1},N.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1},N.regexp_eatDecimalDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Je(r=e.current());)e.lastIntValue=10*e.lastIntValue+(r-48),e.advance();return e.pos!==t};function Je(e){return e>=48&&e<=57}N.regexp_eatHexDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;Rr(r=e.current());)e.lastIntValue=16*e.lastIntValue+jr(r),e.advance();return e.pos!==t};function Rr(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function jr(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}N.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+r*8+e.lastIntValue:e.lastIntValue=t*8+r}else e.lastIntValue=t;return!0}return!1},N.regexp_eatOctalDigit=function(e){var t=e.current();return qr(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};function qr(e){return e>=48&&e<=55}N.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var s=0;s=this.input.length)return this.finishToken(i.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())},z.readToken=function(e){return w(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)},z.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888},z.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var s=void 0,n=t;(s=Z(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=s;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,r),t,this.pos,e,this.curPosition())},z.skipLineComment=function(e){for(var t=this.pos,r=this.options.onComment&&this.curPosition(),s=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&ne.test(String.fromCharCode(e)))++this.pos;else break e}}},z.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)},z.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(i.ellipsis)):(++this.pos,this.finishToken(i.dot))},z.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(i.assign,2):this.finishOp(i.slash,1)},z.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),r=1,s=e===42?i.star:i.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++r,s=i.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(i.assign,r+1):this.finishOp(s,r)},z.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(i.assign,3)}return this.finishOp(e===124?i.logicalOR:i.logicalAND,2)}return t===61?this.finishOp(i.assign,2):this.finishOp(e===124?i.bitwiseOR:i.bitwiseAND,1)},z.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(i.assign,2):this.finishOp(i.bitwiseXOR,1)},z.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||S.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(i.incDec,2):t===61?this.finishOp(i.assign,2):this.finishOp(i.plusMin,1)},z.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+r)===61?this.finishOp(i.assign,r+1):this.finishOp(i.bitShift,r)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(r=2),this.finishOp(i.relational,r))},z.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(i.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(i.arrow)):this.finishOp(e===61?i.eq:i.prefix,1)},z.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(i.questionDot,2)}if(t===63){if(e>=12){var s=this.input.charCodeAt(this.pos+2);if(s===61)return this.finishOp(i.assign,3)}return this.finishOp(i.coalesce,2)}}return this.finishOp(i.question,1)},z.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),w(t,!0)||t===92))return this.finishToken(i.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+E(t)+"'")},z.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(i.parenL);case 41:return++this.pos,this.finishToken(i.parenR);case 59:return++this.pos,this.finishToken(i.semi);case 44:return++this.pos,this.finishToken(i.comma);case 91:return++this.pos,this.finishToken(i.bracketL);case 93:return++this.pos,this.finishToken(i.bracketR);case 123:return++this.pos,this.finishToken(i.braceL);case 125:return++this.pos,this.finishToken(i.braceR);case 58:return++this.pos,this.finishToken(i.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(i.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(i.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+E(e)+"'")},z.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)},z.readRegexp=function(){for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var s=this.input.charAt(this.pos);if(S.test(s)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if(s==="[")t=!0;else if(s==="]"&&t)t=!1;else if(s==="/"&&!t)break;e=s==="\\"}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var h=this.pos,c=this.readWord1();this.containsEsc&&this.unexpected(h);var m=this.regexpState||(this.regexpState=new ge(this));m.reset(r,n,c),this.validateRegExpFlags(m),this.validateRegExpPattern(m);var A=null;try{A=new RegExp(n,c)}catch{}return this.finishToken(i.regexp,{pattern:n,flags:c,value:A})},z.readInt=function(e,t,r){for(var s=this.options.ecmaVersion>=12&&t===void 0,n=r&&this.input.charCodeAt(this.pos)===48,h=this.pos,c=0,m=0,A=0,q=t==null?1/0:t;A=97?re=W-97+10:W>=65?re=W-65+10:W>=48&&W<=57?re=W-48:re=1/0,re>=e)break;m=W,c=c*e+re}return s&&m===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===h||t!=null&&this.pos-h!==t?null:c};function pn(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function Mr(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}z.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);return r==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(r=Mr(this.input.slice(t,this.pos)),++this.pos):w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(i.num,r)},z.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var r=this.pos-t>=2&&this.input.charCodeAt(t)===48;r&&this.strict&&this.raise(t,"Invalid number");var s=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&s===110){var n=Mr(this.input.slice(t,this.pos));return++this.pos,w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(i.num,n)}r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1),s===46&&!r&&(++this.pos,this.readInt(10),s=this.input.charCodeAt(this.pos)),(s===69||s===101)&&!r&&(s=this.input.charCodeAt(++this.pos),(s===43||s===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),w(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var h=pn(this.input.slice(t,this.pos),r);return this.finishToken(i.num,h)},z.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var r=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(r,"Code point out of bounds")}else t=this.readHexChar(4);return t},z.readString=function(e){for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var s=this.input.charCodeAt(this.pos);if(s===e)break;s===92?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):s===8232||s===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(j(s)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(i.string,t)};var Ur={};z.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===Ur)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1},z.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ur;this.raise(e,t)},z.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(r===96||r===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===i.template||this.type===i.invalidTemplate)?r===36?(this.pos+=2,this.finishToken(i.dollarBraceL)):(++this.pos,this.finishToken(i.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(i.template,e));if(r===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(j(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=` +`;break;default:e+=String.fromCharCode(r);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},z.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var s=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(s,8);return n>255&&(s=s.slice(0,-1),n=parseInt(s,8)),this.pos+=s.length-1,t=this.input.charCodeAt(this.pos),(s!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-s.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return j(t)?"":String.fromCharCode(t)}},z.readHexChar=function(e){var t=this.pos,r=this.readInt(16,e);return r===null&&this.invalidStringToken(t,"Bad character escape sequence"),r},z.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,r=this.pos,s=this.options.ecmaVersion>=6;this.pos",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}}}),Ha=$({"node_modules/acorn-jsx/index.js"(a,u){"use strict";J();var o=Hh(),l=/^[\da-fA-F]+$/,v=/^\d+$/,b=new WeakMap;function y(x){x=x.Parser.acorn||x;let R=b.get(x);if(!R){let U=x.tokTypes,D=x.TokContext,g=x.TokenType,w=new D("...",!0,!0),B={tc_oTag:w,tc_cTag:G,tc_expr:f},V={jsxName:new g("jsxName"),jsxText:new g("jsxText",{beforeExpr:!0}),jsxTagStart:new g("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new g("jsxTagEnd")};V.jsxTagStart.updateContext=function(){this.context.push(f),this.context.push(w),this.exprAllowed=!1},V.jsxTagEnd.updateContext=function(k){let X=this.context.pop();X===w&&k===U.slash||X===G?(this.context.pop(),this.exprAllowed=this.curContext()===f):this.exprAllowed=!0},R={tokContexts:B,tokTypes:V},b.set(x,R)}return R}function I(x){if(!x)return x;if(x.type==="JSXIdentifier")return x.name;if(x.type==="JSXNamespacedName")return x.namespace.name+":"+x.name.name;if(x.type==="JSXMemberExpression")return I(x.object)+"."+I(x.property)}u.exports=function(x){return x=x||{},function(R){return T({allowNamespaces:x.allowNamespaces!==!1,allowNamespacedObjects:!!x.allowNamespacedObjects},R)}},Object.defineProperty(u.exports,"tokTypes",{get:function(){return y(ft()).tokTypes},configurable:!0,enumerable:!0});function T(x,R){let U=R.acorn||ft(),D=y(U),g=U.tokTypes,w=D.tokTypes,G=U.tokContexts,f=D.tokContexts.tc_oTag,B=D.tokContexts.tc_cTag,V=D.tokContexts.tc_expr,k=U.isNewLine,X=U.isIdentifierStart,O=U.isIdentifierChar;return class extends R{static get acornJsx(){return D}jsx_readToken(){let i="",S=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let F=this.input.charCodeAt(this.pos);switch(F){case 60:case 123:return this.pos===this.start?F===60&&this.exprAllowed?(++this.pos,this.finishToken(w.jsxTagStart)):this.getTokenFromCode(F):(i+=this.input.slice(S,this.pos),this.finishToken(w.jsxText,i));case 38:i+=this.input.slice(S,this.pos),i+=this.jsx_readEntity(),S=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(F===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:k(F)?(i+=this.input.slice(S,this.pos),i+=this.jsx_readNewLine(!0),S=this.pos):++this.pos}}}jsx_readNewLine(i){let S=this.input.charCodeAt(this.pos),F;return++this.pos,S===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,F=i?` +`:`\r +`):F=String.fromCharCode(S),this.options.locations&&(++this.curLine,this.lineStart=this.pos),F}jsx_readString(i){let S="",F=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let j=this.input.charCodeAt(this.pos);if(j===i)break;j===38?(S+=this.input.slice(F,this.pos),S+=this.jsx_readEntity(),F=this.pos):k(j)?(S+=this.input.slice(F,this.pos),S+=this.jsx_readNewLine(!1),F=this.pos):++this.pos}return S+=this.input.slice(F,this.pos++),this.finishToken(g.string,S)}jsx_readEntity(){let i="",S=0,F,j=this.input[this.pos];j!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let Z=++this.pos;for(;this.pos")}let ee=Z.name?"Element":"Fragment";return F["opening"+ee]=Z,F["closing"+ee]=ne,F.children=j,this.type===g.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(F,"JSX"+ee)}jsx_parseText(){let i=this.parseLiteral(this.value);return i.type="JSXText",i}jsx_parseElement(){let i=this.start,S=this.startLoc;return this.next(),this.jsx_parseElementAt(i,S)}parseExprAtom(i){return this.type===w.jsxText?this.jsx_parseText():this.type===w.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(i)}readToken(i){let S=this.curContext();if(S===V)return this.jsx_readToken();if(S===f||S===B){if(X(i))return this.jsx_readWord();if(i==62)return++this.pos,this.finishToken(w.jsxTagEnd);if((i===34||i===39)&&S==f)return this.jsx_readString(i)}return i===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(w.jsxTagStart)):super.readToken(i)}updateContext(i){if(this.type==g.braceL){var S=this.curContext();S==f?this.context.push(G.b_expr):S==V?this.context.push(G.b_tmpl):super.updateContext(i),this.exprAllowed=!0}else if(this.type===g.slash&&i===w.jsxTagStart)this.context.length-=2,this.context.push(B),this.exprAllowed=!1;else return super.updateContext(i)}}}}}),Kh=$({"src/language-js/parse/acorn.js"(a,u){"use strict";J();var o=dr(),l=Ba(),v=za(),b=Ga(),y={ecmaVersion:"latest",sourceType:"module",allowReserved:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,allowAwaitOutsideFunction:!0,allowSuperOutsideMethod:!0,allowHashBang:!0,locations:!0,ranges:!0};function I(D){let{message:g,loc:w}=D;if(!w)return D;let{line:G,column:f}=w;return o(g.replace(/ \(\d+:\d+\)$/,""),{start:{line:G,column:f+1}})}var T,x=()=>{if(!T){let{Parser:D}=ft(),g=Ha();T=D.extend(g())}return T};function R(D,g){let w=x(),G=[],f=[],B=w.parse(D,Object.assign(Object.assign({},y),{},{sourceType:g,onComment:G,onToken:f}));return B.comments=G,B.tokens=f,B}function U(D,g){let w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:G,error:f}=l(()=>R(D,"module"),()=>R(D,"script"));if(!G)throw I(f);return w.originalText=D,b(G,w)}u.exports=v(U)}}),Xh=$({"src/language-js/parse/utils/replace-hashbang.js"(a,u){"use strict";J();function o(l){return l.charAt(0)==="#"&&l.charAt(1)==="!"?"//"+l.slice(2):l}u.exports=o}}),Jh=$({"node_modules/espree/dist/espree.cjs"(a){"use strict";J(),Object.defineProperty(a,"__esModule",{value:!0});var u=ft(),o=Ha(),l;function v(p){return p&&typeof p=="object"&&"default"in p?p:{default:p}}function b(p){if(p&&p.__esModule)return p;var P=Object.create(null);return p&&Object.keys(p).forEach(function(_){if(_!=="default"){var d=Object.getOwnPropertyDescriptor(p,_);Object.defineProperty(P,_,d.get?d:{enumerable:!0,get:function(){return p[_]}})}}),P.default=p,Object.freeze(P)}var y=b(u),I=v(o),T=b(l),x={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};function R(p,P){let _=p[0],d=p[p.length-1],E={type:x.Template,value:P.slice(_.start,d.end)};return _.loc&&(E.loc={start:_.loc.start,end:d.loc.end}),_.range&&(E.start=_.range[0],E.end=d.range[1],E.range=[E.start,E.end]),E}function U(p,P){this._acornTokTypes=p,this._tokens=[],this._curlyBrace=null,this._code=P}U.prototype={constructor:U,translate(p,P){let _=p.type,d=this._acornTokTypes;if(_===d.name)p.type=x.Identifier,p.value==="static"&&(p.type=x.Keyword),P.ecmaVersion>5&&(p.value==="yield"||p.value==="let")&&(p.type=x.Keyword);else if(_===d.privateId)p.type=x.PrivateIdentifier;else if(_===d.semi||_===d.comma||_===d.parenL||_===d.parenR||_===d.braceL||_===d.braceR||_===d.dot||_===d.bracketL||_===d.colon||_===d.question||_===d.bracketR||_===d.ellipsis||_===d.arrow||_===d.jsxTagStart||_===d.incDec||_===d.starstar||_===d.jsxTagEnd||_===d.prefix||_===d.questionDot||_.binop&&!_.keyword||_.isAssign)p.type=x.Punctuator,p.value=this._code.slice(p.start,p.end);else if(_===d.jsxName)p.type=x.JSXIdentifier;else if(_.label==="jsxText"||_===d.jsxAttrValueToken)p.type=x.JSXText;else if(_.keyword)_.keyword==="true"||_.keyword==="false"?p.type=x.Boolean:_.keyword==="null"?p.type=x.Null:p.type=x.Keyword;else if(_===d.num)p.type=x.Numeric,p.value=this._code.slice(p.start,p.end);else if(_===d.string)P.jsxAttrValueToken?(P.jsxAttrValueToken=!1,p.type=x.JSXText):p.type=x.String,p.value=this._code.slice(p.start,p.end);else if(_===d.regexp){p.type=x.RegularExpression;let E=p.value;p.regex={flags:E.flags,pattern:E.pattern},p.value=`/${E.pattern}/${E.flags}`}return p},onToken(p,P){let _=this,d=this._acornTokTypes,E=P.tokens,K=this._tokens;function H(){E.push(R(_._tokens,_._code)),_._tokens=[]}if(p.type===d.eof){this._curlyBrace&&E.push(this.translate(this._curlyBrace,P));return}if(p.type===d.backQuote){this._curlyBrace&&(E.push(this.translate(this._curlyBrace,P)),this._curlyBrace=null),K.push(p),K.length>1&&H();return}if(p.type===d.dollarBraceL){K.push(p),H();return}if(p.type===d.braceR){this._curlyBrace&&E.push(this.translate(this._curlyBrace,P)),this._curlyBrace=p;return}if(p.type===d.template||p.type===d.invalidTemplate){this._curlyBrace&&(K.push(this._curlyBrace),this._curlyBrace=null),K.push(p);return}this._curlyBrace&&(E.push(this.translate(this._curlyBrace,P)),this._curlyBrace=null),E.push(this.translate(p,P))}};var D=[3,5,6,7,8,9,10,11,12,13,14];function g(){return D[D.length-1]}function w(){return[...D]}function G(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:5,P=p==="latest"?g():p;if(typeof P!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof p} instead.`);if(P>=2015&&(P-=2009),!D.includes(P))throw new Error("Invalid ecmaVersion.");return P}function f(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"script";if(p==="script"||p==="module")return p;if(p==="commonjs")return"script";throw new Error("Invalid sourceType.")}function B(p){let P=G(p.ecmaVersion),_=f(p.sourceType),d=p.range===!0,E=p.loc===!0;if(P!==3&&p.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof p.allowReserved<"u"&&typeof p.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let K=P===3?p.allowReserved||"never":!1,H=p.ecmaFeatures||{},te=p.sourceType==="commonjs"||Boolean(H.globalReturn);if(_==="module"&&P<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},p,{ecmaVersion:P,sourceType:_,ranges:d,locations:E,allowReserved:K,allowReturnOutsideFunction:te})}var V=Symbol("espree's internal state"),k=Symbol("espree's esprimaFinishNode");function X(p,P,_,d,E,K,H){let te;p?te="Block":H.slice(_,_+2)==="#!"?te="Hashbang":te="Line";let ae={type:te,value:P};return typeof _=="number"&&(ae.start=_,ae.end=d,ae.range=[_,d]),typeof E=="object"&&(ae.loc={start:E,end:K}),ae}var O=()=>p=>{let P=Object.assign({},p.acorn.tokTypes);return p.acornJsx&&Object.assign(P,p.acornJsx.tokTypes),class extends p{constructor(d,E){(typeof d!="object"||d===null)&&(d={}),typeof E!="string"&&!(E instanceof String)&&(E=String(E));let K=d.sourceType,H=B(d),te=H.ecmaFeatures||{},ae=H.tokens===!0?new U(P,E):null,fe={originalSourceType:K||H.sourceType,tokens:ae?[]:null,comments:H.comment===!0?[]:null,impliedStrict:te.impliedStrict===!0&&H.ecmaVersion>=5,ecmaVersion:H.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:H.ecmaVersion,sourceType:H.sourceType,ranges:H.ranges,locations:H.locations,allowReserved:H.allowReserved,allowReturnOutsideFunction:H.allowReturnOutsideFunction,onToken:Ae=>{ae&&ae.onToken(Ae,fe),Ae.type!==P.eof&&(fe.lastToken=Ae)},onComment:(Ae,dt,mt,_e,Ce,Oe)=>{if(fe.comments){let ze=X(Ae,dt,mt,_e,Ce,Oe,E);fe.comments.push(ze)}}},E),this[V]=fe}tokenize(){do this.next();while(this.type!==P.eof);this.next();let d=this[V],E=d.tokens;return d.comments&&(E.comments=d.comments),E}finishNode(){let d=super.finishNode(...arguments);return this[k](d)}finishNodeAt(){let d=super.finishNodeAt(...arguments);return this[k](d)}parse(){let d=this[V],E=super.parse();if(E.sourceType=d.originalSourceType,d.comments&&(E.comments=d.comments),d.tokens&&(E.tokens=d.tokens),E.body.length){let[K]=E.body;E.range&&(E.range[0]=K.range[0]),E.loc&&(E.loc.start=K.loc.start),E.start=K.start}return d.lastToken&&(E.range&&(E.range[1]=d.lastToken.range[1]),E.loc&&(E.loc.end=d.lastToken.loc.end),E.end=d.lastToken.end),this[V].templateElements.forEach(K=>{let te=K.tail?1:2;K.start+=-1,K.end+=te,K.range&&(K.range[0]+=-1,K.range[1]+=te),K.loc&&(K.loc.start.column+=-1,K.loc.end.column+=te)}),E}parseTopLevel(d){return this[V].impliedStrict&&(this.strict=!0),super.parseTopLevel(d)}raise(d,E){let K=p.acorn.getLineInfo(this.input,d),H=new SyntaxError(E);throw H.index=d,H.lineNumber=K.line,H.column=K.column+1,H}raiseRecoverable(d,E){this.raise(d,E)}unexpected(d){let E="Unexpected token";if(d!=null){if(this.pos=d,this.options.locations)for(;this.posthis.start&&(E+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,E)}jsx_readString(d){let E=super.jsx_readString(d);return this.type===P.string&&(this[V].jsxAttrValueToken=!0),E}[k](d){return d.type==="TemplateElement"&&this[V].templateElements.push(d),d.type.includes("Function")&&!d.generator&&(d.generator=!1),d}}},i="9.4.1",S={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=y.Parser.extend(O())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=y.Parser.extend(I.default(),O())),this._jsx},get(p){return Boolean(p&&p.ecmaFeatures&&p.ecmaFeatures.jsx)?this.jsx:this.regular}};function F(p,P){let _=S.get(P);return(!P||P.tokens!==!0)&&(P=Object.assign({},P,{tokens:!0})),new _(P,p).tokenize()}function j(p,P){let _=S.get(P);return new _(P,p).parse()}var Z=i,ne=function(){return T.KEYS}(),ee=void 0,ie=g(),Ne=w();a.Syntax=ee,a.VisitorKeys=ne,a.latestEcmaVersion=ie,a.parse=j,a.supportedEcmaVersions=Ne,a.tokenize=F,a.version=Z}}),Qh=$({"src/language-js/parse/espree.js"(a,u){"use strict";J();var o=dr(),l=Ba(),v=za(),b=Xh(),y=Ga(),I={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};function T(R){let{message:U,lineNumber:D,column:g}=R;return typeof D!="number"?R:o(U,{start:{line:D,column:g}})}function x(R,U){let D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:g}=Jh(),w=b(R),{result:G,error:f}=l(()=>g(w,Object.assign(Object.assign({},I),{},{sourceType:"module"})),()=>g(w,Object.assign(Object.assign({},I),{},{sourceType:"script"})));if(!G)throw T(f);return D.originalText=R,y(G,D)}u.exports=v(x)}});J();var $h=Kh(),Yh=Qh();Ka.exports={parsers:{acorn:$h,espree:Yh}}});return Zh();}); + +/***/ }, + +/***/ 16307 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var Ne=(A0,j0)=>()=>(j0||A0((j0={exports:{}}).exports,j0),j0.exports);var Ii=Ne((Mae,in0)=>{var h_=function(A0){return A0&&A0.Math==Math&&A0};in0.exports=h_(typeof globalThis=="object"&&globalThis)||h_(typeof window=="object"&&window)||h_(typeof self=="object"&&self)||h_(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Wc=Ne((Bae,fn0)=>{fn0.exports=function(A0){try{return!!A0()}catch{return!0}}});var ws=Ne((qae,xn0)=>{var V7e=Wc();xn0.exports=!V7e(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var BR=Ne((Uae,an0)=>{var z7e=Wc();an0.exports=!z7e(function(){var A0=function(){}.bind();return typeof A0!="function"||A0.hasOwnProperty("prototype")})});var w_=Ne((Hae,on0)=>{var K7e=BR(),k_=Function.prototype.call;on0.exports=K7e?k_.bind(k_):function(){return k_.apply(k_,arguments)}});var ln0=Ne(vn0=>{"use strict";var cn0={}.propertyIsEnumerable,sn0=Object.getOwnPropertyDescriptor,W7e=sn0&&!cn0.call({1:2},1);vn0.f=W7e?function(j0){var ur=sn0(this,j0);return!!ur&&ur.enumerable}:cn0});var qR=Ne((Yae,bn0)=>{bn0.exports=function(A0,j0){return{enumerable:!(A0&1),configurable:!(A0&2),writable:!(A0&4),value:j0}}});var Es=Ne((Vae,_n0)=>{var pn0=BR(),mn0=Function.prototype,UR=mn0.call,J7e=pn0&&mn0.bind.bind(UR,UR);_n0.exports=pn0?J7e:function(A0){return function(){return UR.apply(A0,arguments)}}});var hn0=Ne((zae,dn0)=>{var yn0=Es(),$7e=yn0({}.toString),Z7e=yn0("".slice);dn0.exports=function(A0){return Z7e($7e(A0),8,-1)}});var wn0=Ne((Kae,kn0)=>{var Q7e=Es(),rie=Wc(),eie=hn0(),HR=Object,nie=Q7e("".split);kn0.exports=rie(function(){return!HR("z").propertyIsEnumerable(0)})?function(A0){return eie(A0)=="String"?nie(A0,""):HR(A0)}:HR});var XR=Ne((Wae,En0)=>{En0.exports=function(A0){return A0==null}});var YR=Ne((Jae,Sn0)=>{var tie=XR(),uie=TypeError;Sn0.exports=function(A0){if(tie(A0))throw uie("Can't call method on "+A0);return A0}});var E_=Ne(($ae,gn0)=>{var iie=wn0(),fie=YR();gn0.exports=function(A0){return iie(fie(A0))}});var zR=Ne((Zae,Fn0)=>{var VR=typeof document=="object"&&document.all,xie=typeof VR>"u"&&VR!==void 0;Fn0.exports={all:VR,IS_HTMLDDA:xie}});var $i=Ne((Qae,On0)=>{var Tn0=zR(),aie=Tn0.all;On0.exports=Tn0.IS_HTMLDDA?function(A0){return typeof A0=="function"||A0===aie}:function(A0){return typeof A0=="function"}});var S2=Ne((roe,Nn0)=>{var In0=$i(),An0=zR(),oie=An0.all;Nn0.exports=An0.IS_HTMLDDA?function(A0){return typeof A0=="object"?A0!==null:In0(A0)||A0===oie}:function(A0){return typeof A0=="object"?A0!==null:In0(A0)}});var S_=Ne((eoe,Cn0)=>{var KR=Ii(),cie=$i(),sie=function(A0){return cie(A0)?A0:void 0};Cn0.exports=function(A0,j0){return arguments.length<2?sie(KR[A0]):KR[A0]&&KR[A0][j0]}});var Dn0=Ne((noe,Pn0)=>{var vie=Es();Pn0.exports=vie({}.isPrototypeOf)});var Rn0=Ne((toe,Ln0)=>{var lie=S_();Ln0.exports=lie("navigator","userAgent")||""});var Hn0=Ne((uoe,Un0)=>{var qn0=Ii(),WR=Rn0(),jn0=qn0.process,Gn0=qn0.Deno,Mn0=jn0&&jn0.versions||Gn0&&Gn0.version,Bn0=Mn0&&Mn0.v8,Zi,g_;Bn0&&(Zi=Bn0.split("."),g_=Zi[0]>0&&Zi[0]<4?1:+(Zi[0]+Zi[1]));!g_&&WR&&(Zi=WR.match(/Edge\/(\d+)/),(!Zi||Zi[1]>=74)&&(Zi=WR.match(/Chrome\/(\d+)/),Zi&&(g_=+Zi[1])));Un0.exports=g_});var JR=Ne((ioe,Yn0)=>{var Xn0=Hn0(),bie=Wc();Yn0.exports=!!Object.getOwnPropertySymbols&&!bie(function(){var A0=Symbol();return!String(A0)||!(Object(A0)instanceof Symbol)||!Symbol.sham&&Xn0&&Xn0<41})});var $R=Ne((foe,Vn0)=>{var pie=JR();Vn0.exports=pie&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var ZR=Ne((xoe,zn0)=>{var mie=S_(),_ie=$i(),yie=Dn0(),die=$R(),hie=Object;zn0.exports=die?function(A0){return typeof A0=="symbol"}:function(A0){var j0=mie("Symbol");return _ie(j0)&&yie(j0.prototype,hie(A0))}});var Wn0=Ne((aoe,Kn0)=>{var kie=String;Kn0.exports=function(A0){try{return kie(A0)}catch{return"Object"}}});var $n0=Ne((ooe,Jn0)=>{var wie=$i(),Eie=Wn0(),Sie=TypeError;Jn0.exports=function(A0){if(wie(A0))return A0;throw Sie(Eie(A0)+" is not a function")}});var Qn0=Ne((coe,Zn0)=>{var gie=$n0(),Fie=XR();Zn0.exports=function(A0,j0){var ur=A0[j0];return Fie(ur)?void 0:gie(ur)}});var et0=Ne((soe,rt0)=>{var QR=w_(),rj=$i(),ej=S2(),Tie=TypeError;rt0.exports=function(A0,j0){var ur,hr;if(j0==="string"&&rj(ur=A0.toString)&&!ej(hr=QR(ur,A0))||rj(ur=A0.valueOf)&&!ej(hr=QR(ur,A0))||j0!=="string"&&rj(ur=A0.toString)&&!ej(hr=QR(ur,A0)))return hr;throw Tie("Can't convert object to primitive value")}});var tt0=Ne((voe,nt0)=>{nt0.exports=!1});var F_=Ne((loe,it0)=>{var ut0=Ii(),Oie=Object.defineProperty;it0.exports=function(A0,j0){try{Oie(ut0,A0,{value:j0,configurable:!0,writable:!0})}catch{ut0[A0]=j0}return j0}});var T_=Ne((boe,xt0)=>{var Iie=Ii(),Aie=F_(),ft0="__core-js_shared__",Nie=Iie[ft0]||Aie(ft0,{});xt0.exports=Nie});var nj=Ne((poe,ot0)=>{var Cie=tt0(),at0=T_();(ot0.exports=function(A0,j0){return at0[A0]||(at0[A0]=j0!==void 0?j0:{})})("versions",[]).push({version:"3.26.1",mode:Cie?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var st0=Ne((moe,ct0)=>{var Pie=YR(),Die=Object;ct0.exports=function(A0){return Die(Pie(A0))}});var n1=Ne((_oe,vt0)=>{var Lie=Es(),Rie=st0(),jie=Lie({}.hasOwnProperty);vt0.exports=Object.hasOwn||function(j0,ur){return jie(Rie(j0),ur)}});var tj=Ne((yoe,lt0)=>{var Gie=Es(),Mie=0,Bie=Math.random(),qie=Gie(1 .toString);lt0.exports=function(A0){return"Symbol("+(A0===void 0?"":A0)+")_"+qie(++Mie+Bie,36)}});var dt0=Ne((doe,yt0)=>{var Uie=Ii(),Hie=nj(),bt0=n1(),Xie=tj(),pt0=JR(),_t0=$R(),g2=Hie("wks"),xv=Uie.Symbol,mt0=xv&&xv.for,Yie=_t0?xv:xv&&xv.withoutSetter||Xie;yt0.exports=function(A0){if(!bt0(g2,A0)||!(pt0||typeof g2[A0]=="string")){var j0="Symbol."+A0;pt0&&bt0(xv,A0)?g2[A0]=xv[A0]:_t0&&mt0?g2[A0]=mt0(j0):g2[A0]=Yie(j0)}return g2[A0]}});var Et0=Ne((hoe,wt0)=>{var Vie=w_(),ht0=S2(),kt0=ZR(),zie=Qn0(),Kie=et0(),Wie=dt0(),Jie=TypeError,$ie=Wie("toPrimitive");wt0.exports=function(A0,j0){if(!ht0(A0)||kt0(A0))return A0;var ur=zie(A0,$ie),hr;if(ur){if(j0===void 0&&(j0="default"),hr=Vie(ur,A0,j0),!ht0(hr)||kt0(hr))return hr;throw Jie("Can't convert object to primitive value")}return j0===void 0&&(j0="number"),Kie(A0,j0)}});var uj=Ne((koe,St0)=>{var Zie=Et0(),Qie=ZR();St0.exports=function(A0){var j0=Zie(A0,"string");return Qie(j0)?j0:j0+""}});var Tt0=Ne((woe,Ft0)=>{var rfe=Ii(),gt0=S2(),ij=rfe.document,efe=gt0(ij)&>0(ij.createElement);Ft0.exports=function(A0){return efe?ij.createElement(A0):{}}});var fj=Ne((Eoe,Ot0)=>{var nfe=ws(),tfe=Wc(),ufe=Tt0();Ot0.exports=!nfe&&!tfe(function(){return Object.defineProperty(ufe("div"),"a",{get:function(){return 7}}).a!=7})});var xj=Ne(At0=>{var ife=ws(),ffe=w_(),xfe=ln0(),afe=qR(),ofe=E_(),cfe=uj(),sfe=n1(),vfe=fj(),It0=Object.getOwnPropertyDescriptor;At0.f=ife?It0:function(j0,ur){if(j0=ofe(j0),ur=cfe(ur),vfe)try{return It0(j0,ur)}catch{}if(sfe(j0,ur))return afe(!ffe(xfe.f,j0,ur),j0[ur])}});var Ct0=Ne((goe,Nt0)=>{var lfe=ws(),bfe=Wc();Nt0.exports=lfe&&bfe(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var O_=Ne((Foe,Pt0)=>{var pfe=S2(),mfe=String,_fe=TypeError;Pt0.exports=function(A0){if(pfe(A0))return A0;throw _fe(mfe(A0)+" is not an object")}});var o4=Ne(Lt0=>{var yfe=ws(),dfe=fj(),hfe=Ct0(),I_=O_(),Dt0=uj(),kfe=TypeError,aj=Object.defineProperty,wfe=Object.getOwnPropertyDescriptor,oj="enumerable",cj="configurable",sj="writable";Lt0.f=yfe?hfe?function(j0,ur,hr){if(I_(j0),ur=Dt0(ur),I_(hr),typeof j0=="function"&&ur==="prototype"&&"value"in hr&&sj in hr&&!hr[sj]){var le=wfe(j0,ur);le&&le[sj]&&(j0[ur]=hr.value,hr={configurable:cj in hr?hr[cj]:le[cj],enumerable:oj in hr?hr[oj]:le[oj],writable:!1})}return aj(j0,ur,hr)}:aj:function(j0,ur,hr){if(I_(j0),ur=Dt0(ur),I_(hr),dfe)try{return aj(j0,ur,hr)}catch{}if("get"in hr||"set"in hr)throw kfe("Accessors not supported");return"value"in hr&&(j0[ur]=hr.value),j0}});var vj=Ne((Ooe,Rt0)=>{var Efe=ws(),Sfe=o4(),gfe=qR();Rt0.exports=Efe?function(A0,j0,ur){return Sfe.f(A0,j0,gfe(1,ur))}:function(A0,j0,ur){return A0[j0]=ur,A0}});var Mt0=Ne((Ioe,Gt0)=>{var lj=ws(),Ffe=n1(),jt0=Function.prototype,Tfe=lj&&Object.getOwnPropertyDescriptor,bj=Ffe(jt0,"name"),Ofe=bj&&function(){}.name==="something",Ife=bj&&(!lj||lj&&Tfe(jt0,"name").configurable);Gt0.exports={EXISTS:bj,PROPER:Ofe,CONFIGURABLE:Ife}});var qt0=Ne((Aoe,Bt0)=>{var Afe=Es(),Nfe=$i(),pj=T_(),Cfe=Afe(Function.toString);Nfe(pj.inspectSource)||(pj.inspectSource=function(A0){return Cfe(A0)});Bt0.exports=pj.inspectSource});var Xt0=Ne((Noe,Ht0)=>{var Pfe=Ii(),Dfe=$i(),Ut0=Pfe.WeakMap;Ht0.exports=Dfe(Ut0)&&/native code/.test(String(Ut0))});var zt0=Ne((Coe,Vt0)=>{var Lfe=nj(),Rfe=tj(),Yt0=Lfe("keys");Vt0.exports=function(A0){return Yt0[A0]||(Yt0[A0]=Rfe(A0))}});var mj=Ne((Poe,Kt0)=>{Kt0.exports={}});var Zt0=Ne((Doe,$t0)=>{var jfe=Xt0(),Jt0=Ii(),Gfe=S2(),Mfe=vj(),_j=n1(),yj=T_(),Bfe=zt0(),qfe=mj(),Wt0="Object already initialized",dj=Jt0.TypeError,Ufe=Jt0.WeakMap,A_,c4,N_,Hfe=function(A0){return N_(A0)?c4(A0):A_(A0,{})},Xfe=function(A0){return function(j0){var ur;if(!Gfe(j0)||(ur=c4(j0)).type!==A0)throw dj("Incompatible receiver, "+A0+" required");return ur}};jfe||yj.state?(Qi=yj.state||(yj.state=new Ufe),Qi.get=Qi.get,Qi.has=Qi.has,Qi.set=Qi.set,A_=function(A0,j0){if(Qi.has(A0))throw dj(Wt0);return j0.facade=A0,Qi.set(A0,j0),j0},c4=function(A0){return Qi.get(A0)||{}},N_=function(A0){return Qi.has(A0)}):(av=Bfe("state"),qfe[av]=!0,A_=function(A0,j0){if(_j(A0,av))throw dj(Wt0);return j0.facade=A0,Mfe(A0,av,j0),j0},c4=function(A0){return _j(A0,av)?A0[av]:{}},N_=function(A0){return _j(A0,av)});var Qi,av;$t0.exports={set:A_,get:c4,has:N_,enforce:Hfe,getterFor:Xfe}});var kj=Ne((Loe,ru0)=>{var Yfe=Wc(),Vfe=$i(),C_=n1(),hj=ws(),zfe=Mt0().CONFIGURABLE,Kfe=qt0(),Qt0=Zt0(),Wfe=Qt0.enforce,Jfe=Qt0.get,P_=Object.defineProperty,$fe=hj&&!Yfe(function(){return P_(function(){},"length",{value:8}).length!==8}),Zfe=String(String).split("String"),Qfe=ru0.exports=function(A0,j0,ur){String(j0).slice(0,7)==="Symbol("&&(j0="["+String(j0).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),ur&&ur.getter&&(j0="get "+j0),ur&&ur.setter&&(j0="set "+j0),(!C_(A0,"name")||zfe&&A0.name!==j0)&&(hj?P_(A0,"name",{value:j0,configurable:!0}):A0.name=j0),$fe&&ur&&C_(ur,"arity")&&A0.length!==ur.arity&&P_(A0,"length",{value:ur.arity});try{ur&&C_(ur,"constructor")&&ur.constructor?hj&&P_(A0,"prototype",{writable:!1}):A0.prototype&&(A0.prototype=void 0)}catch{}var hr=Wfe(A0);return C_(hr,"source")||(hr.source=Zfe.join(typeof j0=="string"?j0:"")),A0};Function.prototype.toString=Qfe(function(){return Vfe(this)&&Jfe(this).source||Kfe(this)},"toString")});var nu0=Ne((Roe,eu0)=>{var rxe=$i(),exe=o4(),nxe=kj(),txe=F_();eu0.exports=function(A0,j0,ur,hr){hr||(hr={});var le=hr.enumerable,Ve=hr.name!==void 0?hr.name:j0;if(rxe(ur)&&nxe(ur,Ve,hr),hr.global)le?A0[j0]=ur:txe(j0,ur);else{try{hr.unsafe?A0[j0]&&(le=!0):delete A0[j0]}catch{}le?A0[j0]=ur:exe.f(A0,j0,{value:ur,enumerable:!1,configurable:!hr.nonConfigurable,writable:!hr.nonWritable})}return A0}});var uu0=Ne((joe,tu0)=>{var uxe=Math.ceil,ixe=Math.floor;tu0.exports=Math.trunc||function(j0){var ur=+j0;return(ur>0?ixe:uxe)(ur)}});var wj=Ne((Goe,iu0)=>{var fxe=uu0();iu0.exports=function(A0){var j0=+A0;return j0!==j0||j0===0?0:fxe(j0)}});var xu0=Ne((Moe,fu0)=>{var xxe=wj(),axe=Math.max,oxe=Math.min;fu0.exports=function(A0,j0){var ur=xxe(A0);return ur<0?axe(ur+j0,0):oxe(ur,j0)}});var ou0=Ne((Boe,au0)=>{var cxe=wj(),sxe=Math.min;au0.exports=function(A0){return A0>0?sxe(cxe(A0),9007199254740991):0}});var su0=Ne((qoe,cu0)=>{var vxe=ou0();cu0.exports=function(A0){return vxe(A0.length)}});var bu0=Ne((Uoe,lu0)=>{var lxe=E_(),bxe=xu0(),pxe=su0(),vu0=function(A0){return function(j0,ur,hr){var le=lxe(j0),Ve=pxe(le),Le=bxe(hr,Ve),Fn;if(A0&&ur!=ur){for(;Ve>Le;)if(Fn=le[Le++],Fn!=Fn)return!0}else for(;Ve>Le;Le++)if((A0||Le in le)&&le[Le]===ur)return A0||Le||0;return!A0&&-1}};lu0.exports={includes:vu0(!0),indexOf:vu0(!1)}});var _u0=Ne((Hoe,mu0)=>{var mxe=Es(),Ej=n1(),_xe=E_(),yxe=bu0().indexOf,dxe=mj(),pu0=mxe([].push);mu0.exports=function(A0,j0){var ur=_xe(A0),hr=0,le=[],Ve;for(Ve in ur)!Ej(dxe,Ve)&&Ej(ur,Ve)&&pu0(le,Ve);for(;j0.length>hr;)Ej(ur,Ve=j0[hr++])&&(~yxe(le,Ve)||pu0(le,Ve));return le}});var du0=Ne((Xoe,yu0)=>{yu0.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ku0=Ne(hu0=>{var hxe=_u0(),kxe=du0(),wxe=kxe.concat("length","prototype");hu0.f=Object.getOwnPropertyNames||function(j0){return hxe(j0,wxe)}});var Eu0=Ne(wu0=>{wu0.f=Object.getOwnPropertySymbols});var gu0=Ne((zoe,Su0)=>{var Exe=S_(),Sxe=Es(),gxe=ku0(),Fxe=Eu0(),Txe=O_(),Oxe=Sxe([].concat);Su0.exports=Exe("Reflect","ownKeys")||function(j0){var ur=gxe.f(Txe(j0)),hr=Fxe.f;return hr?Oxe(ur,hr(j0)):ur}});var Ou0=Ne((Koe,Tu0)=>{var Fu0=n1(),Ixe=gu0(),Axe=xj(),Nxe=o4();Tu0.exports=function(A0,j0,ur){for(var hr=Ixe(j0),le=Nxe.f,Ve=Axe.f,Le=0;Le{var Cxe=Wc(),Pxe=$i(),Dxe=/#|\.prototype\./,s4=function(A0,j0){var ur=Rxe[Lxe(A0)];return ur==Gxe?!0:ur==jxe?!1:Pxe(j0)?Cxe(j0):!!j0},Lxe=s4.normalize=function(A0){return String(A0).replace(Dxe,".").toLowerCase()},Rxe=s4.data={},jxe=s4.NATIVE="N",Gxe=s4.POLYFILL="P";Iu0.exports=s4});var Cu0=Ne((Joe,Nu0)=>{var Sj=Ii(),Mxe=xj().f,Bxe=vj(),qxe=nu0(),Uxe=F_(),Hxe=Ou0(),Xxe=Au0();Nu0.exports=function(A0,j0){var ur=A0.target,hr=A0.global,le=A0.stat,Ve,Le,Fn,gn,et,at;if(hr?Le=Sj:le?Le=Sj[ur]||Uxe(ur,{}):Le=(Sj[ur]||{}).prototype,Le)for(Fn in j0){if(et=j0[Fn],A0.dontCallGetSet?(at=Mxe(Le,Fn),gn=at&&at.value):gn=Le[Fn],Ve=Xxe(hr?Fn:ur+(le?".":"#")+Fn,A0.forced),!Ve&&gn!==void 0){if(typeof et==typeof gn)continue;Hxe(et,gn)}(A0.sham||gn&&gn.sham)&&Bxe(et,"sham",!0),qxe(Le,Fn,et,A0)}}});var Pu0=Ne(()=>{var Yxe=Cu0(),gj=Ii();Yxe({global:!0,forced:gj.globalThis!==gj},{globalThis:gj})});var Du0=Ne(()=>{Pu0()});var ju0=Ne((ece,Ru0)=>{var Lu0=kj(),Vxe=o4();Ru0.exports=function(A0,j0,ur){return ur.get&&Lu0(ur.get,j0,{getter:!0}),ur.set&&Lu0(ur.set,j0,{setter:!0}),Vxe.f(A0,j0,ur)}});var Mu0=Ne((nce,Gu0)=>{"use strict";var zxe=O_();Gu0.exports=function(){var A0=zxe(this),j0="";return A0.hasIndices&&(j0+="d"),A0.global&&(j0+="g"),A0.ignoreCase&&(j0+="i"),A0.multiline&&(j0+="m"),A0.dotAll&&(j0+="s"),A0.unicode&&(j0+="u"),A0.unicodeSets&&(j0+="v"),A0.sticky&&(j0+="y"),j0}});var Uu0=Ne(()=>{var Kxe=Ii(),Wxe=ws(),Jxe=ju0(),$xe=Mu0(),Zxe=Wc(),Bu0=Kxe.RegExp,qu0=Bu0.prototype,Qxe=Wxe&&Zxe(function(){var A0=!0;try{Bu0(".","d")}catch{A0=!1}var j0={},ur="",hr=A0?"dgimsy":"gimsy",le=function(gn,et){Object.defineProperty(j0,gn,{get:function(){return ur+=et,!0}})},Ve={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};A0&&(Ve.hasIndices="d");for(var Le in Ve)le(Le,Ve[Le]);var Fn=Object.getOwnPropertyDescriptor(qu0,"flags").get.call(j0);return Fn!==hr||ur!==hr});Qxe&&Jxe(qu0,"flags",{configurable:!0,get:$xe})});var Pae=Ne((ice,a70)=>{Du0();Uu0();var tU=Object.defineProperty,rae=Object.getOwnPropertyDescriptor,uU=Object.getOwnPropertyNames,eae=Object.prototype.hasOwnProperty,L_=(A0,j0)=>function(){return A0&&(j0=(0,A0[uU(A0)[0]])(A0=0)),j0},au=(A0,j0)=>function(){return j0||(0,A0[uU(A0)[0]])((j0={exports:{}}).exports,j0),j0.exports},iU=(A0,j0)=>{for(var ur in j0)tU(A0,ur,{get:j0[ur],enumerable:!0})},nae=(A0,j0,ur,hr)=>{if(j0&&typeof j0=="object"||typeof j0=="function")for(let le of uU(j0))!eae.call(A0,le)&&le!==ur&&tU(A0,le,{get:()=>j0[le],enumerable:!(hr=rae(j0,le))||hr.enumerable});return A0},fU=A0=>nae(tU({},"__esModule",{value:!0}),A0),Lt=L_({""(){}}),Hu0=au({"src/common/parser-create-error.js"(A0,j0){"use strict";Lt();function ur(hr,le){let Ve=new SyntaxError(hr+" ("+le.start.line+":"+le.start.column+")");return Ve.loc=le,Ve}j0.exports=ur}}),Xu0={};iU(Xu0,{EOL:()=>Ij,arch:()=>tae,cpus:()=>$u0,default:()=>n70,endianness:()=>Yu0,freemem:()=>Wu0,getNetworkInterfaces:()=>e70,hostname:()=>Vu0,loadavg:()=>zu0,networkInterfaces:()=>r70,platform:()=>uae,release:()=>Qu0,tmpDir:()=>Tj,tmpdir:()=>Oj,totalmem:()=>Ju0,type:()=>Zu0,uptime:()=>Ku0});function Yu0(){if(typeof D_>"u"){var A0=new ArrayBuffer(2),j0=new Uint8Array(A0),ur=new Uint16Array(A0);if(j0[0]=1,j0[1]=2,ur[0]===258)D_="BE";else if(ur[0]===513)D_="LE";else throw new Error("unable to figure out endianess")}return D_}function Vu0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function zu0(){return[]}function Ku0(){return 0}function Wu0(){return Number.MAX_VALUE}function Ju0(){return Number.MAX_VALUE}function $u0(){return[]}function Zu0(){return"Browser"}function Qu0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function r70(){}function e70(){}function tae(){return"javascript"}function uae(){return"browser"}function Tj(){return"/tmp"}var D_,Oj,Ij,n70,iae=L_({"node-modules-polyfills:os"(){Lt(),Oj=Tj,Ij=` +`,n70={EOL:Ij,tmpdir:Oj,tmpDir:Tj,networkInterfaces:r70,getNetworkInterfaces:e70,release:Qu0,type:Zu0,cpus:$u0,totalmem:Ju0,freemem:Wu0,uptime:Ku0,loadavg:zu0,hostname:Vu0,endianness:Yu0}}}),fae=au({"node-modules-polyfills-commonjs:os"(A0,j0){Lt();var ur=(iae(),fU(Xu0));if(ur&&ur.default){j0.exports=ur.default;for(let hr in ur)j0.exports[hr]=ur[hr]}else ur&&(j0.exports=ur)}}),xae=au({"node_modules/detect-newline/index.js"(A0,j0){"use strict";Lt();var ur=hr=>{if(typeof hr!="string")throw new TypeError("Expected a string");let le=hr.match(/(?:\r?\n)/g)||[];if(le.length===0)return;let Ve=le.filter(Fn=>Fn===`\r +`).length,Le=le.length-Ve;return Ve>Le?`\r +`:` +`};j0.exports=ur,j0.exports.graceful=hr=>typeof hr=="string"&&ur(hr)||` +`}}),aae=au({"node_modules/jest-docblock/build/index.js"(A0){"use strict";Lt(),Object.defineProperty(A0,"__esModule",{value:!0}),A0.extract=kn,A0.parse=rf,A0.parseWithComments=hn,A0.print=Mn,A0.strip=Qt;function j0(){let On=fae();return j0=function(){return On},On}function ur(){let On=hr(xae());return ur=function(){return On},On}function hr(On){return On&&On.__esModule?On:{default:On}}var le=/\*\/$/,Ve=/^\/\*\*?/,Le=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Fn=/(^|\s+)\/\/([^\r\n]*)/g,gn=/^(\r?\n)+/,et=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,at=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,Zt=/(\r?\n|^) *\* ?/g,Ut=[];function kn(On){let ru=On.match(Le);return ru?ru[0].trimLeft():""}function Qt(On){let ru=On.match(Le);return ru&&ru[0]?On.substring(ru[0].length):On}function rf(On){return hn(On).pragmas}function hn(On){let ru=(0,ur().default)(On)||j0().EOL;On=On.replace(Ve,"").replace(le,"").replace(Zt,"$1");let E7="";for(;E7!==On;)E7=On,On=On.replace(et,`${ru}$1 $2${ru}`);On=On.replace(gn,"").trimRight();let Ct=Object.create(null),Ss=On.replace(at,"").replace(gn,"").trimRight(),In;for(;In=at.exec(On);){let Jc=In[2].replace(Fn,"");typeof Ct[In[1]]=="string"||Array.isArray(Ct[In[1]])?Ct[In[1]]=Ut.concat(Ct[In[1]],Jc):Ct[In[1]]=Jc}return{comments:Ss,pragmas:Ct}}function Mn(On){let{comments:ru="",pragmas:E7={}}=On,Ct=(0,ur().default)(ru)||j0().EOL,Ss="/**",In=" *",Jc=" */",Ai=Object.keys(E7),vi=Ai.map(S7=>ut(S7,E7[S7])).reduce((S7,ov)=>S7.concat(ov),[]).map(S7=>`${In} ${S7}${Ct}`).join("");if(!ru){if(Ai.length===0)return"";if(Ai.length===1&&!Array.isArray(E7[Ai[0]])){let S7=E7[Ai[0]];return`${Ss} ${ut(Ai[0],S7)[0]}${Jc}`}}let Rt=ru.split(Ct).map(S7=>`${In} ${S7}`).join(Ct)+Ct;return Ss+Ct+(ru?Rt:"")+(ru&&Ai.length?In+Ct:"")+vi+Jc}function ut(On,ru){return Ut.concat(ru).map(E7=>`@${On} ${E7}`.trim())}}}),oae=au({"src/common/end-of-line.js"(A0,j0){"use strict";Lt();function ur(Le){let Fn=Le.indexOf("\r");return Fn>=0?Le.charAt(Fn+1)===` +`?"crlf":"cr":"lf"}function hr(Le){switch(Le){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function le(Le,Fn){let gn;switch(Fn){case` +`:gn=/\n/g;break;case"\r":gn=/\r/g;break;case`\r +`:gn=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(Fn)}.`)}let et=Le.match(gn);return et?et.length:0}function Ve(Le){return Le.replace(/\r\n?/g,` +`)}j0.exports={guessEndOfLine:ur,convertEndOfLineToChars:hr,countEndOfLineChars:le,normalizeEndOfLine:Ve}}}),cae=au({"src/language-js/utils/get-shebang.js"(A0,j0){"use strict";Lt();function ur(hr){if(!hr.startsWith("#!"))return"";let le=hr.indexOf(` +`);return le===-1?hr:hr.slice(0,le)}j0.exports=ur}}),sae=au({"src/language-js/pragma.js"(A0,j0){"use strict";Lt();var{parseWithComments:ur,strip:hr,extract:le,print:Ve}=aae(),{normalizeEndOfLine:Le}=oae(),Fn=cae();function gn(Zt){let Ut=Fn(Zt);Ut&&(Zt=Zt.slice(Ut.length+1));let kn=le(Zt),{pragmas:Qt,comments:rf}=ur(kn);return{shebang:Ut,text:Zt,pragmas:Qt,comments:rf}}function et(Zt){let Ut=Object.keys(gn(Zt).pragmas);return Ut.includes("prettier")||Ut.includes("format")}function at(Zt){let{shebang:Ut,text:kn,pragmas:Qt,comments:rf}=gn(Zt),hn=hr(kn),Mn=Ve({pragmas:Object.assign({format:""},Qt),comments:rf.trimStart()});return(Ut?`${Ut} +`:"")+Le(Mn)+(hn.startsWith(` +`)?` +`:` + +`)+hn}j0.exports={hasPragma:et,insertPragma:at}}}),vae=au({"src/utils/is-non-empty-array.js"(A0,j0){"use strict";Lt();function ur(hr){return Array.isArray(hr)&&hr.length>0}j0.exports=ur}}),t70=au({"src/language-js/loc.js"(A0,j0){"use strict";Lt();var ur=vae();function hr(gn){var et,at;let Zt=gn.range?gn.range[0]:gn.start,Ut=(et=(at=gn.declaration)===null||at===void 0?void 0:at.decorators)!==null&&et!==void 0?et:gn.decorators;return ur(Ut)?Math.min(hr(Ut[0]),Zt):Zt}function le(gn){return gn.range?gn.range[1]:gn.end}function Ve(gn,et){let at=hr(gn);return Number.isInteger(at)&&at===hr(et)}function Le(gn,et){let at=le(gn);return Number.isInteger(at)&&at===le(et)}function Fn(gn,et){return Ve(gn,et)&&Le(gn,et)}j0.exports={locStart:hr,locEnd:le,hasSameLocStart:Ve,hasSameLoc:Fn}}}),lae=au({"src/language-js/parse/utils/create-parser.js"(A0,j0){"use strict";Lt();var{hasPragma:ur}=sae(),{locStart:hr,locEnd:le}=t70();function Ve(Le){return Le=typeof Le=="function"?{parse:Le}:Le,Object.assign({astFormat:"estree",hasPragma:ur,locStart:hr,locEnd:le},Le)}j0.exports=Ve}}),bae=au({"src/language-js/parse/utils/replace-hashbang.js"(A0,j0){"use strict";Lt();function ur(hr){return hr.charAt(0)==="#"&&hr.charAt(1)==="!"?"//"+hr.slice(2):hr}j0.exports=ur}}),pae=au({"src/language-js/utils/is-ts-keyword-type.js"(A0,j0){"use strict";Lt();function ur(hr){let{type:le}=hr;return le.startsWith("TS")&&le.endsWith("Keyword")}j0.exports=ur}}),mae=au({"src/language-js/utils/is-block-comment.js"(A0,j0){"use strict";Lt();var ur=new Set(["Block","CommentBlock","MultiLine"]),hr=le=>ur.has(le==null?void 0:le.type);j0.exports=hr}}),_ae=au({"src/language-js/utils/is-type-cast-comment.js"(A0,j0){"use strict";Lt();var ur=mae();function hr(le){return ur(le)&&le.value[0]==="*"&&/@(?:type|satisfies)\b/.test(le.value)}j0.exports=hr}}),yae=au({"src/utils/get-last.js"(A0,j0){"use strict";Lt();var ur=hr=>hr[hr.length-1];j0.exports=ur}}),dae=au({"src/language-js/parse/postprocess/visit-node.js"(A0,j0){"use strict";Lt();function ur(hr,le){if(Array.isArray(hr)){for(let Ve=0;Ve{Mn.leadingComments&&Mn.leadingComments.some(Ve)&&hn.add(ur(Mn))}),kn=Fn(kn,Mn=>{if(Mn.type==="ParenthesizedExpression"){let{expression:ut}=Mn;if(ut.type==="TypeCastExpression")return ut.range=Mn.range,ut;let On=ur(Mn);if(!hn.has(On))return ut.extra=Object.assign(Object.assign({},ut.extra),{},{parenthesized:!0}),ut}})}return kn=Fn(kn,hn=>{switch(hn.type){case"ChainExpression":return at(hn.expression);case"LogicalExpression":{if(Zt(hn))return Ut(hn);break}case"VariableDeclaration":{let Mn=Le(hn.declarations);Mn&&Mn.init&&rf(hn,Mn);break}case"TSParenthesizedType":return le(hn.typeAnnotation)||hn.typeAnnotation.type==="TSThisType"||(hn.typeAnnotation.range=[ur(hn),hr(hn)]),hn.typeAnnotation;case"TSTypeParameter":if(typeof hn.name=="string"){let Mn=ur(hn);hn.name={type:"Identifier",name:hn.name,range:[Mn,Mn+hn.name.length]}}break;case"ObjectExpression":if(Qt.parser==="typescript"){let Mn=hn.properties.find(ut=>ut.type==="Property"&&ut.value.type==="TSEmptyBodyFunctionExpression");Mn&&gn(Mn.value,"Unexpected token.")}break;case"SequenceExpression":{let Mn=Le(hn.expressions);hn.range=[ur(hn),Math.min(hr(Mn),hr(hn))];break}case"TopicReference":Qt.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:Mn}=hn;if(Qt.parser==="meriyah"&&Mn&&Mn.type==="Identifier"){let ut=Qt.originalText.slice(ur(Mn),hr(Mn));(ut.startsWith('"')||ut.startsWith("'"))&&(hn.exported=Object.assign(Object.assign({},hn.exported),{},{type:"Literal",value:hn.exported.name,raw:ut}))}break}case"PropertyDefinition":if(Qt.parser==="meriyah"&&hn.static&&!hn.computed&&!hn.key){let Mn="static",ut=ur(hn);Object.assign(hn,{static:!1,key:{type:"Identifier",name:Mn,range:[ut,ut+Mn.length]}})}break}}),kn;function rf(hn,Mn){Qt.originalText[hr(Mn)]!==";"&&(hn.range=[ur(hn),hr(Mn)])}}function at(kn){switch(kn.type){case"CallExpression":kn.type="OptionalCallExpression",kn.callee=at(kn.callee);break;case"MemberExpression":kn.type="OptionalMemberExpression",kn.object=at(kn.object);break;case"TSNonNullExpression":kn.expression=at(kn.expression);break}return kn}function Zt(kn){return kn.type==="LogicalExpression"&&kn.right.type==="LogicalExpression"&&kn.operator===kn.right.operator}function Ut(kn){return Zt(kn)?Ut({type:"LogicalExpression",operator:kn.operator,left:Ut({type:"LogicalExpression",operator:kn.operator,left:kn.left,right:kn.right.left,range:[ur(kn.left),hr(kn.right.left)]}),right:kn.right.right,range:[ur(kn),hr(kn)]}):kn}j0.exports=et}}),u70={};iU(u70,{default:()=>i70});var i70,wae=L_({"node-modules-polyfills:fs"(){Lt(),i70={}}}),Fj=au({"node-modules-polyfills-commonjs:fs"(A0,j0){Lt();var ur=(wae(),fU(u70));if(ur&&ur.default){j0.exports=ur.default;for(let hr in ur)j0.exports[hr]=ur[hr]}else ur&&(j0.exports=ur)}}),f70={};iU(f70,{ALPN_ENABLED:()=>Gq,COPYFILE_EXCL:()=>jB,COPYFILE_FICLONE:()=>MB,COPYFILE_FICLONE_FORCE:()=>qB,DH_CHECK_P_NOT_PRIME:()=>Lq,DH_CHECK_P_NOT_SAFE_PRIME:()=>Dq,DH_NOT_SUITABLE_GENERATOR:()=>jq,DH_UNABLE_TO_CHECK_GENERATOR:()=>Rq,E2BIG:()=>Dj,EACCES:()=>Lj,EADDRINUSE:()=>Rj,EADDRNOTAVAIL:()=>jj,EAFNOSUPPORT:()=>Gj,EAGAIN:()=>Mj,EALREADY:()=>Bj,EBADF:()=>qj,EBADMSG:()=>Uj,EBUSY:()=>Hj,ECANCELED:()=>Xj,ECHILD:()=>Yj,ECONNABORTED:()=>Vj,ECONNREFUSED:()=>zj,ECONNRESET:()=>Kj,EDEADLK:()=>Wj,EDESTADDRREQ:()=>Jj,EDOM:()=>$j,EDQUOT:()=>Zj,EEXIST:()=>Qj,EFAULT:()=>rG,EFBIG:()=>eG,EHOSTUNREACH:()=>nG,EIDRM:()=>tG,EILSEQ:()=>uG,EINPROGRESS:()=>iG,EINTR:()=>fG,EINVAL:()=>xG,EIO:()=>aG,EISCONN:()=>oG,EISDIR:()=>cG,ELOOP:()=>sG,EMFILE:()=>vG,EMLINK:()=>lG,EMSGSIZE:()=>bG,EMULTIHOP:()=>pG,ENAMETOOLONG:()=>mG,ENETDOWN:()=>_G,ENETRESET:()=>yG,ENETUNREACH:()=>dG,ENFILE:()=>hG,ENGINE_METHOD_ALL:()=>Cq,ENGINE_METHOD_CIPHERS:()=>Oq,ENGINE_METHOD_DH:()=>gq,ENGINE_METHOD_DIGESTS:()=>Iq,ENGINE_METHOD_DSA:()=>Sq,ENGINE_METHOD_EC:()=>Tq,ENGINE_METHOD_NONE:()=>Pq,ENGINE_METHOD_PKEY_ASN1_METHS:()=>Nq,ENGINE_METHOD_PKEY_METHS:()=>Aq,ENGINE_METHOD_RAND:()=>Fq,ENGINE_METHOD_RSA:()=>Eq,ENOBUFS:()=>kG,ENODATA:()=>wG,ENODEV:()=>EG,ENOENT:()=>SG,ENOEXEC:()=>gG,ENOLCK:()=>FG,ENOLINK:()=>TG,ENOMEM:()=>OG,ENOMSG:()=>IG,ENOPROTOOPT:()=>AG,ENOSPC:()=>NG,ENOSR:()=>CG,ENOSTR:()=>PG,ENOSYS:()=>DG,ENOTCONN:()=>LG,ENOTDIR:()=>RG,ENOTEMPTY:()=>jG,ENOTSOCK:()=>GG,ENOTSUP:()=>MG,ENOTTY:()=>BG,ENXIO:()=>qG,EOPNOTSUPP:()=>UG,EOVERFLOW:()=>HG,EPERM:()=>XG,EPIPE:()=>YG,EPROTO:()=>VG,EPROTONOSUPPORT:()=>zG,EPROTOTYPE:()=>KG,ERANGE:()=>WG,EROFS:()=>JG,ESPIPE:()=>$G,ESRCH:()=>ZG,ESTALE:()=>QG,ETIME:()=>rM,ETIMEDOUT:()=>eM,ETXTBSY:()=>nM,EWOULDBLOCK:()=>tM,EXDEV:()=>uM,F_OK:()=>CB,OPENSSL_VERSION_NUMBER:()=>UB,O_APPEND:()=>lB,O_CREAT:()=>oB,O_DIRECTORY:()=>bB,O_DSYNC:()=>_B,O_EXCL:()=>cB,O_NOCTTY:()=>sB,O_NOFOLLOW:()=>pB,O_NONBLOCK:()=>dB,O_RDONLY:()=>XM,O_RDWR:()=>VM,O_SYMLINK:()=>yB,O_SYNC:()=>mB,O_TRUNC:()=>vB,O_WRONLY:()=>YM,POINT_CONVERSION_COMPRESSED:()=>Qq,POINT_CONVERSION_HYBRID:()=>eU,POINT_CONVERSION_UNCOMPRESSED:()=>rU,PRIORITY_ABOVE_NORMAL:()=>aM,PRIORITY_BELOW_NORMAL:()=>fM,PRIORITY_HIGH:()=>oM,PRIORITY_HIGHEST:()=>cM,PRIORITY_LOW:()=>iM,PRIORITY_NORMAL:()=>xM,RSA_NO_PADDING:()=>qq,RSA_PKCS1_OAEP_PADDING:()=>Uq,RSA_PKCS1_PADDING:()=>Mq,RSA_PKCS1_PSS_PADDING:()=>Xq,RSA_PSS_SALTLEN_AUTO:()=>zq,RSA_PSS_SALTLEN_DIGEST:()=>Yq,RSA_PSS_SALTLEN_MAX_SIGN:()=>Vq,RSA_SSLV23_PADDING:()=>Bq,RSA_X931_PADDING:()=>Hq,RTLD_GLOBAL:()=>Cj,RTLD_LAZY:()=>Aj,RTLD_LOCAL:()=>Pj,RTLD_NOW:()=>Nj,R_OK:()=>PB,SIGABRT:()=>mM,SIGALRM:()=>gM,SIGBUS:()=>yM,SIGCHLD:()=>TM,SIGCONT:()=>OM,SIGFPE:()=>dM,SIGHUP:()=>sM,SIGILL:()=>bM,SIGINFO:()=>BM,SIGINT:()=>vM,SIGIO:()=>MM,SIGIOT:()=>_M,SIGKILL:()=>hM,SIGPIPE:()=>SM,SIGPROF:()=>jM,SIGQUIT:()=>lM,SIGSEGV:()=>wM,SIGSTOP:()=>IM,SIGSYS:()=>qM,SIGTERM:()=>FM,SIGTRAP:()=>pM,SIGTSTP:()=>AM,SIGTTIN:()=>NM,SIGTTOU:()=>CM,SIGURG:()=>PM,SIGUSR1:()=>kM,SIGUSR2:()=>EM,SIGVTALRM:()=>RM,SIGWINCH:()=>GM,SIGXCPU:()=>DM,SIGXFSZ:()=>LM,SSL_OP_ALL:()=>HB,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:()=>XB,SSL_OP_CIPHER_SERVER_PREFERENCE:()=>YB,SSL_OP_CISCO_ANYCONNECT:()=>VB,SSL_OP_COOKIE_EXCHANGE:()=>zB,SSL_OP_CRYPTOPRO_TLSEXT_BUG:()=>KB,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:()=>WB,SSL_OP_EPHEMERAL_RSA:()=>JB,SSL_OP_LEGACY_SERVER_CONNECT:()=>$B,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:()=>ZB,SSL_OP_MICROSOFT_SESS_ID_BUG:()=>QB,SSL_OP_MSIE_SSLV2_RSA_PADDING:()=>rq,SSL_OP_NETSCAPE_CA_DN_BUG:()=>eq,SSL_OP_NETSCAPE_CHALLENGE_BUG:()=>nq,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:()=>tq,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:()=>uq,SSL_OP_NO_COMPRESSION:()=>iq,SSL_OP_NO_QUERY_MTU:()=>fq,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:()=>xq,SSL_OP_NO_SSLv2:()=>aq,SSL_OP_NO_SSLv3:()=>oq,SSL_OP_NO_TICKET:()=>cq,SSL_OP_NO_TLSv1:()=>sq,SSL_OP_NO_TLSv1_1:()=>vq,SSL_OP_NO_TLSv1_2:()=>lq,SSL_OP_PKCS1_CHECK_1:()=>bq,SSL_OP_PKCS1_CHECK_2:()=>pq,SSL_OP_SINGLE_DH_USE:()=>mq,SSL_OP_SINGLE_ECDH_USE:()=>_q,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:()=>yq,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:()=>dq,SSL_OP_TLS_BLOCK_PADDING_BUG:()=>hq,SSL_OP_TLS_D5_BUG:()=>kq,SSL_OP_TLS_ROLLBACK_BUG:()=>wq,S_IFBLK:()=>iB,S_IFCHR:()=>uB,S_IFDIR:()=>tB,S_IFIFO:()=>fB,S_IFLNK:()=>xB,S_IFMT:()=>eB,S_IFREG:()=>nB,S_IFSOCK:()=>aB,S_IRGRP:()=>gB,S_IROTH:()=>IB,S_IRUSR:()=>kB,S_IRWXG:()=>SB,S_IRWXO:()=>OB,S_IRWXU:()=>hB,S_IWGRP:()=>FB,S_IWOTH:()=>AB,S_IWUSR:()=>wB,S_IXGRP:()=>TB,S_IXOTH:()=>NB,S_IXUSR:()=>EB,TLS1_1_VERSION:()=>Jq,TLS1_2_VERSION:()=>$q,TLS1_3_VERSION:()=>Zq,TLS1_VERSION:()=>Wq,UV_DIRENT_BLOCK:()=>rB,UV_DIRENT_CHAR:()=>QM,UV_DIRENT_DIR:()=>WM,UV_DIRENT_FIFO:()=>$M,UV_DIRENT_FILE:()=>KM,UV_DIRENT_LINK:()=>JM,UV_DIRENT_SOCKET:()=>ZM,UV_DIRENT_UNKNOWN:()=>zM,UV_FS_COPYFILE_EXCL:()=>RB,UV_FS_COPYFILE_FICLONE:()=>GB,UV_FS_COPYFILE_FICLONE_FORCE:()=>BB,UV_FS_SYMLINK_DIR:()=>UM,UV_FS_SYMLINK_JUNCTION:()=>HM,W_OK:()=>DB,X_OK:()=>LB,default:()=>x70,defaultCipherList:()=>nU,defaultCoreCipherList:()=>Kq});var Aj,Nj,Cj,Pj,Dj,Lj,Rj,jj,Gj,Mj,Bj,qj,Uj,Hj,Xj,Yj,Vj,zj,Kj,Wj,Jj,$j,Zj,Qj,rG,eG,nG,tG,uG,iG,fG,xG,aG,oG,cG,sG,vG,lG,bG,pG,mG,_G,yG,dG,hG,kG,wG,EG,SG,gG,FG,TG,OG,IG,AG,NG,CG,PG,DG,LG,RG,jG,GG,MG,BG,qG,UG,HG,XG,YG,VG,zG,KG,WG,JG,$G,ZG,QG,rM,eM,nM,tM,uM,iM,fM,xM,aM,oM,cM,sM,vM,lM,bM,pM,mM,_M,yM,dM,hM,kM,wM,EM,SM,gM,FM,TM,OM,IM,AM,NM,CM,PM,DM,LM,RM,jM,GM,MM,BM,qM,UM,HM,XM,YM,VM,zM,KM,WM,JM,$M,ZM,QM,rB,eB,nB,tB,uB,iB,fB,xB,aB,oB,cB,sB,vB,lB,bB,pB,mB,_B,yB,dB,hB,kB,wB,EB,SB,gB,FB,TB,OB,IB,AB,NB,CB,PB,DB,LB,RB,jB,GB,MB,BB,qB,UB,HB,XB,YB,VB,zB,KB,WB,JB,$B,ZB,QB,rq,eq,nq,tq,uq,iq,fq,xq,aq,oq,cq,sq,vq,lq,bq,pq,mq,_q,yq,dq,hq,kq,wq,Eq,Sq,gq,Fq,Tq,Oq,Iq,Aq,Nq,Cq,Pq,Dq,Lq,Rq,jq,Gq,Mq,Bq,qq,Uq,Hq,Xq,Yq,Vq,zq,Kq,Wq,Jq,$q,Zq,Qq,rU,eU,nU,x70,Eae=L_({"node-modules-polyfills:constants"(){Lt(),Aj=1,Nj=2,Cj=8,Pj=4,Dj=7,Lj=13,Rj=48,jj=49,Gj=47,Mj=35,Bj=37,qj=9,Uj=94,Hj=16,Xj=89,Yj=10,Vj=53,zj=61,Kj=54,Wj=11,Jj=39,$j=33,Zj=69,Qj=17,rG=14,eG=27,nG=65,tG=90,uG=92,iG=36,fG=4,xG=22,aG=5,oG=56,cG=21,sG=62,vG=24,lG=31,bG=40,pG=95,mG=63,_G=50,yG=52,dG=51,hG=23,kG=55,wG=96,EG=19,SG=2,gG=8,FG=77,TG=97,OG=12,IG=91,AG=42,NG=28,CG=98,PG=99,DG=78,LG=57,RG=20,jG=66,GG=38,MG=45,BG=25,qG=6,UG=102,HG=84,XG=1,YG=32,VG=100,zG=43,KG=41,WG=34,JG=30,$G=29,ZG=3,QG=70,rM=101,eM=60,nM=26,tM=35,uM=18,iM=19,fM=10,xM=0,aM=-7,oM=-14,cM=-20,sM=1,vM=2,lM=3,bM=4,pM=5,mM=6,_M=6,yM=10,dM=8,hM=9,kM=30,wM=11,EM=31,SM=13,gM=14,FM=15,TM=20,OM=19,IM=17,AM=18,NM=21,CM=22,PM=16,DM=24,LM=25,RM=26,jM=27,GM=28,MM=23,BM=29,qM=12,UM=1,HM=2,XM=0,YM=1,VM=2,zM=0,KM=1,WM=2,JM=3,$M=4,ZM=5,QM=6,rB=7,eB=61440,nB=32768,tB=16384,uB=8192,iB=24576,fB=4096,xB=40960,aB=49152,oB=512,cB=2048,sB=131072,vB=1024,lB=8,bB=1048576,pB=256,mB=128,_B=4194304,yB=2097152,dB=4,hB=448,kB=256,wB=128,EB=64,SB=56,gB=32,FB=16,TB=8,OB=7,IB=4,AB=2,NB=1,CB=0,PB=4,DB=2,LB=1,RB=1,jB=1,GB=2,MB=2,BB=4,qB=4,UB=269488175,HB=2147485780,XB=262144,YB=4194304,VB=32768,zB=8192,KB=2147483648,WB=2048,JB=0,$B=4,ZB=0,QB=0,rq=0,eq=0,nq=0,tq=0,uq=0,iq=131072,fq=4096,xq=65536,aq=0,oq=33554432,cq=16384,sq=67108864,vq=268435456,lq=134217728,bq=0,pq=0,mq=0,_q=0,yq=0,dq=0,hq=0,kq=0,wq=8388608,Eq=1,Sq=2,gq=4,Fq=8,Tq=2048,Oq=64,Iq=128,Aq=512,Nq=1024,Cq=65535,Pq=0,Dq=2,Lq=1,Rq=4,jq=8,Gq=1,Mq=1,Bq=2,qq=3,Uq=4,Hq=5,Xq=6,Yq=-1,Vq=-2,zq=-2,Kq="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",Wq=769,Jq=770,$q=771,Zq=772,Qq=2,rU=4,eU=6,nU="TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA",x70={RTLD_LAZY:Aj,RTLD_NOW:Nj,RTLD_GLOBAL:Cj,RTLD_LOCAL:Pj,E2BIG:Dj,EACCES:Lj,EADDRINUSE:Rj,EADDRNOTAVAIL:jj,EAFNOSUPPORT:Gj,EAGAIN:Mj,EALREADY:Bj,EBADF:qj,EBADMSG:Uj,EBUSY:Hj,ECANCELED:Xj,ECHILD:Yj,ECONNABORTED:Vj,ECONNREFUSED:zj,ECONNRESET:Kj,EDEADLK:Wj,EDESTADDRREQ:Jj,EDOM:$j,EDQUOT:Zj,EEXIST:Qj,EFAULT:rG,EFBIG:eG,EHOSTUNREACH:nG,EIDRM:tG,EILSEQ:uG,EINPROGRESS:iG,EINTR:fG,EINVAL:xG,EIO:aG,EISCONN:oG,EISDIR:cG,ELOOP:sG,EMFILE:vG,EMLINK:lG,EMSGSIZE:bG,EMULTIHOP:pG,ENAMETOOLONG:mG,ENETDOWN:_G,ENETRESET:yG,ENETUNREACH:dG,ENFILE:hG,ENOBUFS:kG,ENODATA:wG,ENODEV:EG,ENOENT:SG,ENOEXEC:gG,ENOLCK:FG,ENOLINK:TG,ENOMEM:OG,ENOMSG:IG,ENOPROTOOPT:AG,ENOSPC:NG,ENOSR:CG,ENOSTR:PG,ENOSYS:DG,ENOTCONN:LG,ENOTDIR:RG,ENOTEMPTY:jG,ENOTSOCK:GG,ENOTSUP:MG,ENOTTY:BG,ENXIO:qG,EOPNOTSUPP:UG,EOVERFLOW:HG,EPERM:XG,EPIPE:YG,EPROTO:VG,EPROTONOSUPPORT:zG,EPROTOTYPE:KG,ERANGE:WG,EROFS:JG,ESPIPE:$G,ESRCH:ZG,ESTALE:QG,ETIME:rM,ETIMEDOUT:eM,ETXTBSY:nM,EWOULDBLOCK:tM,EXDEV:uM,PRIORITY_LOW:iM,PRIORITY_BELOW_NORMAL:fM,PRIORITY_NORMAL:xM,PRIORITY_ABOVE_NORMAL:aM,PRIORITY_HIGH:oM,PRIORITY_HIGHEST:cM,SIGHUP:sM,SIGINT:vM,SIGQUIT:lM,SIGILL:bM,SIGTRAP:pM,SIGABRT:mM,SIGIOT:_M,SIGBUS:yM,SIGFPE:dM,SIGKILL:hM,SIGUSR1:kM,SIGSEGV:wM,SIGUSR2:EM,SIGPIPE:SM,SIGALRM:gM,SIGTERM:FM,SIGCHLD:TM,SIGCONT:OM,SIGSTOP:IM,SIGTSTP:AM,SIGTTIN:NM,SIGTTOU:CM,SIGURG:PM,SIGXCPU:DM,SIGXFSZ:LM,SIGVTALRM:RM,SIGPROF:jM,SIGWINCH:GM,SIGIO:MM,SIGINFO:BM,SIGSYS:qM,UV_FS_SYMLINK_DIR:UM,UV_FS_SYMLINK_JUNCTION:HM,O_RDONLY:XM,O_WRONLY:YM,O_RDWR:VM,UV_DIRENT_UNKNOWN:zM,UV_DIRENT_FILE:KM,UV_DIRENT_DIR:WM,UV_DIRENT_LINK:JM,UV_DIRENT_FIFO:$M,UV_DIRENT_SOCKET:ZM,UV_DIRENT_CHAR:QM,UV_DIRENT_BLOCK:rB,S_IFMT:eB,S_IFREG:nB,S_IFDIR:tB,S_IFCHR:uB,S_IFBLK:iB,S_IFIFO:fB,S_IFLNK:xB,S_IFSOCK:aB,O_CREAT:oB,O_EXCL:cB,O_NOCTTY:sB,O_TRUNC:vB,O_APPEND:lB,O_DIRECTORY:bB,O_NOFOLLOW:pB,O_SYNC:mB,O_DSYNC:_B,O_SYMLINK:yB,O_NONBLOCK:dB,S_IRWXU:hB,S_IRUSR:kB,S_IWUSR:wB,S_IXUSR:EB,S_IRWXG:SB,S_IRGRP:gB,S_IWGRP:FB,S_IXGRP:TB,S_IRWXO:OB,S_IROTH:IB,S_IWOTH:AB,S_IXOTH:NB,F_OK:CB,R_OK:PB,W_OK:DB,X_OK:LB,UV_FS_COPYFILE_EXCL:RB,COPYFILE_EXCL:jB,UV_FS_COPYFILE_FICLONE:GB,COPYFILE_FICLONE:MB,UV_FS_COPYFILE_FICLONE_FORCE:BB,COPYFILE_FICLONE_FORCE:qB,OPENSSL_VERSION_NUMBER:UB,SSL_OP_ALL:HB,SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION:XB,SSL_OP_CIPHER_SERVER_PREFERENCE:YB,SSL_OP_CISCO_ANYCONNECT:VB,SSL_OP_COOKIE_EXCHANGE:zB,SSL_OP_CRYPTOPRO_TLSEXT_BUG:KB,SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS:WB,SSL_OP_EPHEMERAL_RSA:JB,SSL_OP_LEGACY_SERVER_CONNECT:$B,SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER:ZB,SSL_OP_MICROSOFT_SESS_ID_BUG:QB,SSL_OP_MSIE_SSLV2_RSA_PADDING:rq,SSL_OP_NETSCAPE_CA_DN_BUG:eq,SSL_OP_NETSCAPE_CHALLENGE_BUG:nq,SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG:tq,SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG:uq,SSL_OP_NO_COMPRESSION:iq,SSL_OP_NO_QUERY_MTU:fq,SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION:xq,SSL_OP_NO_SSLv2:aq,SSL_OP_NO_SSLv3:oq,SSL_OP_NO_TICKET:cq,SSL_OP_NO_TLSv1:sq,SSL_OP_NO_TLSv1_1:vq,SSL_OP_NO_TLSv1_2:lq,SSL_OP_PKCS1_CHECK_1:bq,SSL_OP_PKCS1_CHECK_2:pq,SSL_OP_SINGLE_DH_USE:mq,SSL_OP_SINGLE_ECDH_USE:_q,SSL_OP_SSLEAY_080_CLIENT_DH_BUG:yq,SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG:dq,SSL_OP_TLS_BLOCK_PADDING_BUG:hq,SSL_OP_TLS_D5_BUG:kq,SSL_OP_TLS_ROLLBACK_BUG:wq,ENGINE_METHOD_RSA:Eq,ENGINE_METHOD_DSA:Sq,ENGINE_METHOD_DH:gq,ENGINE_METHOD_RAND:Fq,ENGINE_METHOD_EC:Tq,ENGINE_METHOD_CIPHERS:Oq,ENGINE_METHOD_DIGESTS:Iq,ENGINE_METHOD_PKEY_METHS:Aq,ENGINE_METHOD_PKEY_ASN1_METHS:Nq,ENGINE_METHOD_ALL:Cq,ENGINE_METHOD_NONE:Pq,DH_CHECK_P_NOT_SAFE_PRIME:Dq,DH_CHECK_P_NOT_PRIME:Lq,DH_UNABLE_TO_CHECK_GENERATOR:Rq,DH_NOT_SUITABLE_GENERATOR:jq,ALPN_ENABLED:Gq,RSA_PKCS1_PADDING:Mq,RSA_SSLV23_PADDING:Bq,RSA_NO_PADDING:qq,RSA_PKCS1_OAEP_PADDING:Uq,RSA_X931_PADDING:Hq,RSA_PKCS1_PSS_PADDING:Xq,RSA_PSS_SALTLEN_DIGEST:Yq,RSA_PSS_SALTLEN_MAX_SIGN:Vq,RSA_PSS_SALTLEN_AUTO:zq,defaultCoreCipherList:Kq,TLS1_VERSION:Wq,TLS1_1_VERSION:Jq,TLS1_2_VERSION:$q,TLS1_3_VERSION:Zq,POINT_CONVERSION_COMPRESSED:Qq,POINT_CONVERSION_UNCOMPRESSED:rU,POINT_CONVERSION_HYBRID:eU,defaultCipherList:nU}}}),Sae=au({"node-modules-polyfills-commonjs:constants"(A0,j0){Lt();var ur=(Eae(),fU(f70));if(ur&&ur.default){j0.exports=ur.default;for(let hr in ur)j0.exports[hr]=ur[hr]}else ur&&(j0.exports=ur)}}),gae=au({"node_modules/flow-parser/flow_parser.js"(A0){Lt(),function(j0){"use strict";var ur="member_property_expression",hr=8483,le=12538,Ve="children",Le="predicate_expression",Fn="??",gn="Identifier",et=64311,at=192,Zt=11710,Ut=122654,kn=110947,Qt=67591,rf="!",hn="directive",Mn=163,ut="block",On=126553,ru=12735,E7=68096,Ct="params",Ss=93071,In=122,Jc=72767,Ai=181,vi="for_statement",Rt=128,S7="start",ov=43867,xU="_method",R_=70414,cv=">",ef="catch_body",j_=120121,aU="the end of an expression statement (`;`)",G_=124907,oU=1027,v4=126558,nf="jsx_fragment",M_=42527,B_="decorators",q_=82943,U_=71039,H_=110882,X_=67514,cU=8472,sU="update",Y_=12783,V_=12438,z_=12352,K_=8511,W_=42961,F2="method",l4=120713,tf=8191,uf="function_param",J_=67871,g7="throw",$_=11507,ff="class_extends",Z_=43470,xf="object_key_literal",Q_=71903,ry=65437,af="jsx_child",ey=43311,b4=119995,ny=67637,p4=68116,ty=66204,uy=65470,vU="<<=",iy="e",fy=67391,m4=11631,_4=69956,sv="tparams",xy=66735,ay=64217,oy=43697,lU="Invalid binary/octal ",cy=-43,sy=43255,y4="do",vy=43301,of="binding_pattern",ly=120487,cf="jsx_attribute_value_literal",d4="package",sf="interface_declaration",by=72750,py=119892,bU="tail",pU=-53,vf=111,mU=180,my=119807,_y=71959,_U=8206,yy=65613,$c="type",dy=55215,hy=-42,lf="export_default_declaration_decl",h4=72970,yU="filtered_out",ky=70416,dU=229,bf="function_this_param",hU="module",k4="try",wy=70143,Ey=125183,Sy=70412,h0="@])",pf="binary",kU="infinity",w4="private",gy=65500,E4="has_unknown_members",mf="pattern_array_rest_element",wU="Property",gs="implements",Fy=12548,EU=211,_f="if_alternate_statement",Ty=124903,Oy=43395,vv="src/parser/type_parser.ml",Iy=66915,S4=126552,Ay=120712,g4=126555,Ny=120596,o7="raw",F7=112,yf="class_declaration",df="statement",Cy=126624,Py=71235,hf="meta_property",Dy=44002,Ly=8467,kf="class_property_value",Ry=8318,wf="optional_call",jy=43761,Zc="kind",Ef="class_identifier",Gy=69955,My=66378,By=120512,qy=68220,Ht=110,Uy=123583,T2="declare",Sf="typeof_member_identifier",gf="catch_clause",Hy=11742,Xy=70831,F4=8468,Ff="for_in_assignment_pattern",SU=-32,Tf="object_",Yy=43262,Vy="mixins",Of="type_param",gU="visit_trailing_comment",zy=71839,O2="boolean",If="call",FU="expected *",Ky=43010,Wy=241,Au="expression",I2="column",Jy=43595,$y=43258,Zy=191456,Af="member_type_identifier",A2=117,Qy=43754,T4=126544,TU="Assert_failure",rd=66517,ed=42964,Nf="enum_number_member",OU="a string",nd=65855,td=119993,ud="opaque",IU=870530776,id=67711,fd=66994,Cf="enum_symbol_body",AU=185,NU=219,O4="filter",xd=43615,I4=126560,ad=19903,t1="get",od=64316,CU=`Fatal error: exception %s +`,A4="exported",PU=">=",Wu="return",N4="members",C4=256,cd=66962,sd=64279,vd=67829,DU="Enum `",LU="&&=",Pf="object_property",ld=67589,Df="pattern_object_property",Lf="template_literal_element",bd=69551,Ni=127343600,P4=70452,Rf="class_element",pd="ENOENT",md=71131,RU=200,_d=120137,yd=94098,D4=72349,jU=1328,jf="function_identifier",dd=126543,Gf="jsx_attribute_name",hd=43487,kr="@[<2>{ ",GU="ENOTEMPTY",kd=65908,wd=72191,L4=120513,Ed=92909,MU="bound",Sd=162,BU=172,R4=120070,Mf="enum_number_body",Bf="update_expression",qf="spread_element",Uf="for_in_left_declaration",j4=64319,N2="%d",gd=12703,G4=11687,qU="@,))@]",Fd=42239,Hf="type_cast",Td=42508,Xf="class_implements_interface",Od=67640,Id=605857695,UU="Cygwin",HU="buffer.ml",Ad=124908,XU="handler",Nd=66207,Cd=66963,M4=11558,YU="-=",Pn=113,Pd=113775,VU="collect_comments",B4=126540,lv="set",Yf="assignment_pattern",Nu="right",Vf="object_key_identifier",q4=120133,Dd="Invalid number ",Ld=42963,U4=12539,Rd=68023,jd=43798,ni=100,zf="pattern_literal",Kf="generic_type",zU="*",Gd=42783,Md=42890,Bd=230,H4="else",qd=70851,Ud=69289,KU="the start of a statement",X4="properties",Hd=43696,Xd=110959,Wf="declare_function",Y4=120597,Jf="object_indexer_property_type",Yd=70492,Vd=2048,C2="arguments",Xr="comments",zd=43042,Qc=107,Kd=110575,WU=161,Wd=67431,V4="line",P2="declaration",eu="static",$f="pattern_identifier",Jd=69958,JU="the",$d="Unix.Unix_error",Zd=43814,rs="annot",Qd=65786,rh=66303,eh=64967,nh=64255,th=8584,z4=120655,$U="Stack_overflow",uh=43700,Zf="syntax_opt",ZU="/static/",Qf="comprehension",ih=253,QU="Not_found",rH="+=",eH=235,fh=68680,xh=66954,ah=64324,oh=72966,nH=174,tH=-1053382366,ch="rest",rx="pattern_array_element",ex="jsx_attribute_value_expression",K4=65595,nx="pattern_array_e",uH=243,sh=43711,vh="rmdir",W4="symbol",lh=69926,J4="*dummy method*",bh=43741,T7="typeParameters",D2="const",iH=1026,fH=149,ph=12341,mh=72847,_h=66993,xH=202,Ci="false",Xt=106,yh=120076,dh=186,Pi=128,hh=125124,kh="Fatal error: exception ",$4=67593,wh=69297,Eh=44031,aH=234,Sh=92927,gh=68095,Ju=8231,tx="object_key_computed",ux="labeled_statement",ix="function_param_pattern",Z4=126590,Fh=65481,Th=43442,oH="collect_comments_opt",fx="variable_declarator",bv="_",Oh="compare: functional value",Ih=67967,pv="computed",xx="object_property_type",mt="id",Ah=126562,u1=114,cH="comment_bounds",Nh=70853,Ch=69247,ax="class_private_field",Ph=42237,Dh=72329,sH="Invalid_argument",Lh=113770,Q4=94031,Rh=120092,ox="declare_class",jh=67839,Gh=72250,vH="%ni",Mh=92879,lH="prototype",Fs="`.",cx=8287,r8=65344,Bh="&",O7="debugger",sx="type_identifier_reference",bH="Internal Error: Found private field in object props",vx="sequence",lx="call_type_args",pH=238,qh=12348,mH="++",Uh=68863,Hh=72001,Xh=70084,Yh="label",mv=-45,bx="jsx_opening_attribute",Vh=43583,e8="%F",zh=43784,Kh=113791,px="call_arguments",n8=126503,Wh=43743,$u="0",Jh=119967,t8=126538,mx="new_",_v=449540197,$h=64109,Zh=68466,Qh=177983,wt=248,_x="program",Xe="@,]@]",rk=68031,yx="function_type",dx="type_",u8=8484,ek=67382,nk=42537,tk=226,uk=66559,ik=42993,fk=64274,i8=71236,xk=120069,ak=72105,ok=126570,ck="object",sk=42959,I7="break",hx="for_of_statement",vk=43695,f8=126551,lk=66955,x8=126520,bk=66499,L2=1024,pk=67455,mk=43018,_H=198,a8=126522,kx="function_declaration",_k=73064,wx="await",yk=92728,dk=70418,hk=68119,Ex="function_rest_param",kk=42653,o8=11703,li="left",c8=70449,wk=184,Sx="declare_type_alias",gx=16777215,s8=70302,yH="/=",dH="|=",Ek=55242,Sk=126583,gk=124927,Fk=124895,Tk=72959,Ok=65497,hH="Invalid legacy octal ",es="typeof",Ik="explicit_type",Fx="statement_list",Ak=65495,Tx="class_method",v8=8526,l8=244,Nk=67861,b8=119994,p8="enum",kH=2147483647,Ck=69762,wH=208,R2="in",Pk=11702,m8=67638,EH=", characters ",Dk=70753,yv="super",Lk=92783,Rk=8304,_8=126504,Ox="import_specifier",jk=68324,Gk=101589,Mk=67646,Ix="expression_or_spread",Bk=74879,qk=43792,y8=43260,Uk=93052,SH="{",Hk=65574,Xk=125258,dv=224,Ax="jsx_element_name_member_expression",j2="instanceof",Yk=69599,Vk=43560,Nx="function_expression",d8=223,zk=72242,Kk=11498,Wk=126467,Jk=73112,gH=140,h8=70107,$k=13311,Cx="jsx_children",k8=126548,Zk=63743,w8=43471,Px="jsx_expression",Qk=69864,rw=71998,ew=72e3,E8=126591,S8=12592,Dx="type_params",nw=126578,g8=126537,wr="{ ",tw=123627,Lx="jsx_spread_attribute",Pe="@,",uw=70161,iw=187,F8=126500,Rx="label_identifier",fw=42606,jx="number_literal_type",T8=42999,xw=64310,FH=-594953737,aw=122623,O8="hasUnknownMembers",Gx="array",TH="^=",Mx="enum_string_member",ow=65536,cw=65615,ns="void",sw=65135,Z0=")",OH=138,vw=70002,G2="let",lw=70271,bw="nan",W="@[%s =@ ",pw=194559,mw=110579,Bx="binding_type_identifier",_w=42735,IH=57343,Zu="/",qx="for_in_statement_lhs",yw=43503,dw=8516,hw=66938,kw="ENOTDIR",AH="TypeParameterInstantiation",ww=69749,Ew=65381,Sw=83526,hv="number",gw=12447,NH=154,I8=70286,Fw=72160,Tw=43493,CH=206,Ux="enum_member_identifier",A8=70280,M2="function",N8=70162,Ow=255,Iw=67702,Aw=66771,Nw=70312,PH="|",Cw=93759,DH="End_of_file",Pw=43709,i1="new",LH="Failure",B2="local",Dw=101631,C8=8489,P8="with",Hx="enum_declaration",Lw=218,Rw=70457,D8=8488,Xx="member",L8=64325,jw=247,Gw=70448,Mw=69967,R8=126535,Bw=71934,Yx="import_named_specifier",qw=65312,Uw=126619,Vx="type_annotation",RH=56320,Hw=131071,Xw=120770,Yw=67002,zx="with_",Kx="statement_fork_point",jH="finalizer",Vw=12320,GH="elements",Wx="literal",zw=68607,Kw=8507,j8="each",MH="Sys_error",Ww=123535,Jw=130,Jx="bigint_literal_type",$w=64829,G8=11727,Zw=120538,$x="member_private_name",Zx="type_alias",BH="Printexc.handle_uncaught_exception",M8=126556,Qx="tagged_template",ra="pattern_object_property_literal_key",Qw=43881,B8=72192,rE=67826,eE=124910,nE=66511,ts="int_of_string",tE=43249,nr="None",qH="FunctionTypeParam",ti="name",uE=70285,c7=103,iE=120744,ea=12288,na="intersection_type",fE=11679,q8=11559,UH="callee",xE=71295,aE=70018,oE=11567,cE=42954,HH="*-/",Qu="predicate",ta="expression_statement",XH="regexp",sE=65479,YH=132,vE=11389,Bu="optional",VH=-602162310,z="@]",lE=120003,bE=72249,zH="Unexpected ",pE=73008,U8="finally",ua="toplevel_statement_list",KH="end",mE=178207,WH="&=",_E=70301,JH="%Li",yE=72161,dE=69746,hE=70460,kE=12799,H8=65535,wE="loc",EE=69375,SE=43518,$H=205,gE=65487,ia="while_",FE=183983,fa="typeof_expression",TE=-673950933,OE=42559,ZH="||",IE=124926,AE=55291,xa="jsx_element_name_identifier",aa=8239,X8="mixed",QH=136,NE=-253313196,CE=11734,Y8=67827,PE=68287,DE=119976,rX="**",J=" =",V8=888960333,LE=124902,oa="tuple_type",eX=227,RE=70726,jE=73111,z8=126602,GE=126529,ca="object_property_value_type",C0="%a",nX=", ",tX="<=",ME=69423,uX=199,K8=11695,BE=12294,W8=11711,qE=67583,iX=710,J8=126584,UE=68295,HE=72703,XE="prefix",fX=-80,$8=69415,YE=11492,q2="class",Z8=65575,A7="continue",VE=65663,xX=2047,Q8=68120,zE=71086,KE=19967,Di=782176664,WE=120779,r3=8486,bi=" ",aX="||=",oX="Undefined_recursive_module",JE=66863,cX="RestElement",e3=126634,$E=66377,ZE=74751,sa="jsx_element_name_namespaced",QE=43334,rS=66815,N7="typeAnnotation",eS=120126,va="array_element",n3=64285,sX=189,vX="**=",Yr="()",nS=8543,la="declare_module",ba="export_batch_specifier",lX="%i",bX=">>>=",tS=68029,pX="importKind",C7="extends",uS=64296,t3=43259,iS=71679,fS=64913,xS=119969,aS=94175,oS=72440,u3=65141,pa="function_",cS=43071,sS=42888,vS=69807,ou="variance",us=123,ma="import_default_specifier",mX=">>>",lS=43764,pi="pattern",bS=71947,pS=70655,kv="consequent",_X=4096,mS=183,_S=68447,yS=65473,is=255,dS=73648,_a="call_type_arg",ya=8238,hS=68899,kS=93026,Ye="@[<2>[",wS=110588,da="comment",yX=191,ha="switch_case",dX=175,ES=71942,ka="do_while",wv="constructor",SS=43587,gS=43586,wu="yield",FS=67462,hX="fd ",TS=-61,OS="target",i3=72272,U2="var",kX="impltype",f3=70108,H2="0o",IS=119972,AS=92991,x3=70441,a3=8450,NS=120074,CS=66717,wa="interface_type",o3=43880,An="%B",PS=111355,Ev=5760,DS=11630,c3=126499,LS="of",wX=">>",EX="Popping lex mode from empty stack",s3=120629,fs=108,RS=43002,SX="%=",v3=126539,jS=126502,Ea="template_literal",GS="src/parser/statement_parser.ml",MS=": Not a directory",gX="b",BS=67461,qS=11519,FX="src/parser/flow_lexer.ml",TX="Out_of_memory",US=120570,Sa=12287,HS=126534,XS="index out of bounds",YS=73029,l3="_bigarr02",b3=126571,OX="))",ga="for_statement_init",IX="supertype",Fa="class_property",p3="}",f1="this",Ta="declare_module_exports",AX="@",Oa="union_type",Li=65535,Ia="variance_opt",VS=94032,NX=222,zS=42124,Aa="this_expression",Na="jsx_element",CX="typeArguments",KS=65019,WS=125251,JS=64111,$S=8471,Ca="typeof_qualified_identifier",ZS=70497,PX="EnumDefaultedMember",Pa=8202,QS=66927,P7="switch",rg=69634,Da="unary_expression",eg=71215,DX=126,ng=67679,tg=65597,LX=207,ug=120686,m3=72163,ig=67001,fg=42962,xg=64262,X2=124,La=65279,ag=126495,RX=169,og=71944,jX=-10,_3="alternate",cg=92975,sg=65489,Y2=252,vg=67807,lg=43187,bg=68850,y3="export",pg=66383,GX="===",Ra=".",ja="type_args",MX=147,mg=92159,BX=240,Ga="jsx_element_name",_g=72283,yg=171,x1=116,dg=110587,d3=70279,hg=75075,kg=65338,Ma="function_params",wg=126627,qX=213,h3=73065,Eg=71352,k3=119970,Sg=70005,gg=12295,w3=120771,Fg=71494,Tg=11557,Og=42191,UX="flags",Ig=68437,Ag=70730,Ba="optional_indexed_access",qa="pattern_object_p",Ng=42785,Ua="nullable_type",Bn="value",Cg=12343,Pg=68415,Dg=11694,HX=221,Lg=11726,Ha="syntax",Rg=119964,XX="&&",jg=68497,Gg=73097,xs="null",E3=126523,Mg=120084,Bg=126601,qg=8454,Ug="expressions",Hg=72144,V2='"',Zr="(@[",YX=1022,VX=231,Xg=170,S3=12448,Yg=68786,g3="<",zX=931,KX="(",WX=196,JX=2048,F3="an identifier",T3=69959,Vg=68799,$X="leadingComments",zg=72969,Kg=182,Wg=100351,Xa="enum_defaulted_member",Jg=69839,$g=94026,Zg=209,ZX=">>=",Qg=131,O3=12336,s7="empty",QX=331416730,rY=204,rF=70479,eF=69487,nF=101640,tF=43123,eY="([^/]+)",I3=8319,nY=165,Ya="object_type_property_setter",tY=909,uF=15,iF=12591,br=125,fF=92735,uY="cases",xF=183969,a1="bigint",iY="Division_by_zero",aF=67071,oF=12329,A3=120004,cF=69414,N3="if",sF=126519,vF="immediately within another function.",lF=55238,bF=126498,fY="qualification",pF=66256,Er="@ }@]",z2=118,C3=11565,P3=120122,Va="pattern_object_rest_property",mF=74862,D3="'",_F=-26065557,yF=124911,Sv=119,D7=104,za="assignment",dF=8457,K2="from",hF=64321,kF=113817,wF=65629,EF=42655,Ri=102,SF=43137,gF=11502,o0=";@ ",L7=101,Ka="pattern_array_element_pattern",Wn="body",Wa="jsx_member_expression",FF=65547,Ja="jsx_attribute_value",$a="jsx_namespaced_name",L3=72967,TF=126550,gv=254,OF=43807,IF=43738,R3=126589,j3=8455,G3=126628,AF=11670,xY="*=",M3=120134,Za="conditional",aY=" : flags Open_text and Open_binary are not compatible",B3=119965,NF=69890,CF=72817,PF=164,DF=43822,q3=69744,oY="\\\\",LF=43638,RF=93047,jF="AssignmentPattern",U3=64322,GF=123190,cY=188,Qa="object_spread_property_type",MF=70783,BF=113663,sY=160,H3=42622,X3=43823,ji="init",Fv=109,qF=66503,Y3="proto",UF=74649,ro="optional_member",HF=40981,XF=120654,v="@ ",eo="enum_boolean_body",no="export_named_specifier",to="declare_interface",YF=70451,uo="pattern_object_property_computed_key",V3=-97,z3=120539,K3=64317,VF=12543,io="export_named_declaration_specifier",zF=43359,W3=126530,J3=72713,KF=113800,vY=195,WF=72367,JF=72103,$F=70278,fo="if_consequent_statement",W2=-85,$3=126496,xo="try_catch",ao="computed_key",oo="class_",ZF=173823,co="pattern_object_property_identifier_key",lY="f",so="arrow_function",Z3=8485,QF=126546,vo="enum_boolean_member",rT=94177,J2="delete",eT=232,bY="blocks",lo="pattern_array_rest_element_pattern",nT=78894,Q3=66512,tT=94111,Tv="string",Ts="test",uT=69572,iT=66463,fT=66335,xT=72348,aT=73061,o1=":",bo="enum_body",oT=110590,po="function_this_param_type",cT=215,sT=77823,pY="minus",mY=201,vT=119980,mo="private_name",_o="object_key",yo="function_param_type",_Y="<<",lT=11718,c1="as",yY="delegate",Gi="true",bT=67413,r6=70854,pT=73439,mT=43776,_T=71723,yT=11505,dT=214,hT=120628,kT=43513,ho="jsx_attribute_name_namespaced",e6=120127,n6="Map.bal",t6="any",dY="@[",hY="camlinternalMod.ml",u6=126559,qu="import",i6=70404,ko="jsx_spread_child",wT=233,ET=67897,ST=119974,Uu=8233,gT=68405,f6=239,kY="attributes",wY=173,wo="object_internal_slot_property_type",FT=71351,TT=242,OT=67643,x6="shorthand",Eo="for_in_statement",IT=126463,AT=71338,NT=69445,CT=65370,PT=73055,DT=167,LT=64911,So="pattern_object_property_pattern",EY=212,SY=197,a6=126579,RT=64286,jT="explicitType",GT=67669,MT=43866,gY="Sys_blocked_io",o6="catch",BT=123197,qT=64466,UT=65140,HT=73030,XT=69404,c6="protected",FY=8204,YT=67504,VT=193,$2=246,zT=43713,s6=120571,go="array_type",TY="%u",Fo="export_default_declaration",To="class_expression",OY="quasi",Yt="%S",KT=8525,v6=126515,WT=120485,l6=43519,b6=120745,p6=94178,JT=126588,zn=127,$T=66855,IY="@{",AY="visit_leading_comment",ZT=67742,NY=" : flags Open_rdonly and Open_wronly are not compatible",QT=120144,m6="returnType",s1=-744106340,v1=240,Oo="-",_6=8469,Os="async",y6=126521,rO=72095,d6=216,CY=" : file already exists",eO=178205,nO=8449,h6=94179,tO=42774,k6="case",uO=66965,iO=66431,PY=190,Io="declare_export_declaration",Z2="targs",Ao="type_identifier",fO=64284,xO=43013,w6=43815,No="function_body_any",aO=66966,E6=120687,oO=66939,cO=66978,DY=168,S6="public",sO=68115,vO=43712,g6=65598,F6=126547,lO=110591,Co="indexed_access",LY=12520,r7="interface",RY=`(Program not linked with -g, cannot print stack backtrace) +`,l1=-46,Po="string_literal_type",Do="import_namespace_specifier",bO=120132,T6=11735,pO=67505,O6=119893,I6="bool",Q2=1e3,mi="default",mO=236,C="",_O="exportKind",jY="trailingComments",A6="^",yO=71983,dO=8348,hO=66977,kO=65594,Lo="logical",Ro="jsx_member_expression_identifier",N6=210,GY="cooked",jo="for_of_left_declaration",Ov=63,wO=72202,v7="argument",EO=12442,SO=43645,C6=120085,gO=42539,P6=126468,MY=166,BY="Match_failure",FO=68191,Eu="src/parser/flow_ast.ml",D6=11647,Go="declare_variable",as="+",TO=71127,L6=120145,Mo="declare_export_declaration_decl",R6=64318,qY=179,Bo="class_implements",UY="!=",HY="inexact",XY="%li",YY=237,rl="a",j6=73062,OO=178,qo=65278,Uo="function_rest_param_type",IO=77711,AO=70066,NO=43714,VY=-696510241,G6=70480,CO=69748,PO=113788,DO=94207,zY=`\r +`,Ho="class_body",LO=126651,RO=68735,jO=43273,M6=119996,B6=67644,KY=224,Xo="catch_clause_pattern",Yo="boolean_literal_type",q6=126554,U6=126557,GO=113807,H6=126536,WY="%",Iv="property",MO=71956,JY="#",BO=123213,el="meta",Vo="for_of_assignment_pattern",zo="if_statement",qO=66421,UO=8505,HO=225,nl=250,XO=100343,X6="Literal",YO=42887,Av=115,$Y=";",VO=1255,zO="=",KO=126566,WO=93823,Ko="opaque_type",ZY="!==",Wo="jsx_attribute",Jo="type_annotation_hint",Mi=32768,JO=73727,QY="range",rV=245,$O="jsError",Y6=70006,ZO=43492,V6="@]}",tr="(Some ",QO=8477,eV=129,rI=71487,z6=126564,nV=` +`,eI=126514,nI=70080,$o="generic_identifier_type",tI=66811,Zo="typeof_identifier",tV="~",uI=65007,Qo="pattern_object_rest_property_pattern",iI=194,uV=1039100673,fI=66461,xI=70319,K6=11719,aI=72271,zt=-48,rc="enum_string_body",oI=70461,ec="export_named_declaration",cI=110930,sI=92862,iV="??=",vI=70440,W6="while",cu="camlinternalFormat.ml",lI=43782,fV=203,bI=173791,pI=11263,mI=1114111,_I=42969,J6=70750,nc="jsx_identifier",yI=70105,dI=43014,hI=11564,tc="typeof_type",xV="EEXIST",kI=64847,wI=71167,EI=42511,SI=72712,gI=92995,FI=43704,tl=121,uc="object_call_property_type",TI=64433,ul="operator",$6=68296,ic="class_decorator",fc=120,xc="for_of_statement_lhs",OI=11623,II=67004,AI=71999,NI=70708,CI=512,PI=110927,DI=71423,aV=32752,LI=93951,RI=12292,ac="object_type",Z6="types",jI=110580,oV=177,GI=126633,MI=12686,oc=8286,cV=144,BI=73647,sV=228,Q6=70855,b1="0x",qI=70366,UI=` +`,cc="variable_declaration",HI=65276,rp=119981,XI=71945,YI=43887,R7=105,VI=8335,zI=123565,KI=69505,WI=70187,sc="jsx_attribute_name_identifier",vc="source",lc="pattern_object_property_key",ep=65548,JI=66175,$I=92766,bc="pattern_assignment_pattern",pc="object_type_property_getter",np=8305,j7="generator",tp="for",vV="PropertyDefinition",lV="--",su=-36,ZI="mkdir",QI=68223,mc="generic_qualified_identifier_type",rA=11686,_c="jsx_closing_element",eA=43790,up=": No such file or directory",nA=69687,tA=66348,ip=72162,uA=43388,iA=72768,fA=68351,d="<2>",fp=64297,xA=125259,aA=220,zr=",@ ",bV="win32",xp=70281,yc="member_property_identifier",oA=68149,cA=68111,sA=71450,vA=43009,dc="member_property",lA=73458,_i="identifier",bA=67423,pA=66775,mA=110951,pV="Internal Error: Found object private prop",hc="super_expression",kc="jsx_opening_element",_A=177976,wc="variable_declarator_pattern",Ec="pattern_expression",Sc="jsx_member_expression_object",yA=68252,dA=77808,Nv=-835925911,gc="import_declaration",hA=55203,mV="Pervasives.do_at_exit",_V="utf8",ui="key",kA=43702,Fc="spread_property",ap=126563,wA=863850040,EA=70106,op=67592,Tc="function_expression_or_method",SA=71958,Oc="for_init_declaration",gA=71955,cp=123214,FA=68479,yV="==",TA=43019,OA=123180,sp=217,Cv="specifiers",Ic="function_body",IA=69622,vp=8487,AA=43641,dV="Unexpected token `",hV="v",NA=123135,CA=69295,lp=120093,PA=8521,bp=43642,kV=176;function o70(t,n,e,i,x){if(i<=n)for(var c=1;c<=x;c++)e[i+c]=t[n+c];else for(var c=x;c>=1;c--)e[i+c]=t[n+c];return 0}function c70(t){for(var n=[0];t!==0;){for(var e=t[1],i=1;i=e.l||e.t==2&&x>=e.c.length))e.c=t.t==4?DA(t.c,n,x):n==0&&t.c.length==x?t.c:t.c.substr(n,x),e.t=e.c.length==e.l?0:2;else if(e.t==2&&i==e.c.length)e.c+=t.t==4?DA(t.c,n,x):n==0&&t.c.length==x?t.c:t.c.substr(n,x),e.t=e.c.length==e.l?0:2;else{e.t!=4&&pp(e);var c=t.c,s=e.c;if(t.t==4)if(i<=n)for(var p=0;p=0;p--)s[i+p]=c[n+p];else{for(var y=Math.min(x,c.length-n),p=0;p>=1,t==0)return e;n+=n,i++,i==9&&n.slice(0,1)}}function Dv(t){t.t==2?t.c+=Pv(t.l-t.c.length,"\0"):t.c=DA(t.c,0,t.c.length),t.t=0}function wV(t){if(t.length<24){for(var n=0;nzn)return!1;return!0}else return!/[^\x00-\x7f]/.test(t)}function LA(t){for(var n=C,e=C,i,x,c,s,p=0,y=t.length;pCI?(e.substr(0,1),n+=e,e=C,n+=t.slice(p,T)):e+=t.slice(p,T),T==y)break;p=T}s=1,++p=55295&&s<57344)&&(s=2)):(s=3,++p1114111)&&(s=3)))))),s<4?(p-=s,e+="\uFFFD"):s>Li?e+=String.fromCharCode(55232+(s>>10),RH+(s&1023)):e+=String.fromCharCode(s),e.length>L2&&(e.substr(0,1),n+=e,e=C)}return n+e}function Ac(t,n,e){this.t=t,this.c=n,this.l=e}Ac.prototype.toString=function(){switch(this.t){case 9:return this.c;default:Dv(this);case 0:if(wV(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},Ac.prototype.toUtf16=function(){var t=this.toString();return this.t==9?t:LA(t)},Ac.prototype.slice=function(){var t=this.t==4?this.c.slice():this.c;return new Ac(this.t,t,this.l)};function EV(t){return new Ac(0,t,t.length)}function r(t){return EV(t)}function RA(t,n){v70(t,r(n))}var Vt=[0];function vu(t){RA(Vt.Invalid_argument,t)}function SV(){vu(XS)}function Jn(t,n,e){if(e&=is,t.t!=4){if(n==t.c.length)return t.c+=String.fromCharCode(e),n+1==t.l&&(t.t=0),0;pp(t)}return t.c[n]=e,0}function p1(t,n,e){return n>>>0>=t.l&&SV(),Jn(t,n,e)}function Hu(t,n){switch(t.t&6){default:if(n>=t.c.length)return 0;case 0:return t.c.charCodeAt(n);case 4:return t.c[n]}}function os(t,n){if(t.fun)return os(t.fun,n);if(typeof t!="function")return t;var e=t.length|0;if(e===0)return t.apply(null,n);var i=n.length|0,x=e-i|0;return x==0?t.apply(null,n):x<0?os(t.apply(null,n.slice(0,e)),n.slice(e)):function(){for(var c=arguments.length==0?1:arguments.length,s=new Array(n.length+c),p=0;p>>0>=t.length-1&&il(),t}function l70(t){return isFinite(t)?Math.abs(t)>=22250738585072014e-324?0:t!=0?1:2:isNaN(t)?4:3}function Nc(t){return t.t&6&&Dv(t),t.c}var b70=Math.log2&&Math.log2(11235582092889474e291)==1020;function p70(t){if(b70)return Math.floor(Math.log2(t));var n=0;if(t==0)return-1/0;if(t>=1)for(;t>=2;)t/=2,n++;else for(;t<1;)t*=2,n--;return n}function jA(t){var n=new j0.Float32Array(1);n[0]=t;var e=new j0.Int32Array(n.buffer);return e[0]|0}var gV=Math.pow(2,-24);function FV(t){throw t}function TV(){FV(Vt.Division_by_zero)}function an(t,n,e){this.lo=t&gx,this.mi=n&gx,this.hi=e&Li}an.prototype.caml_custom="_j",an.prototype.copy=function(){return new an(this.lo,this.mi,this.hi)},an.prototype.ucompare=function(t){return this.hi>t.hi?1:this.hit.mi?1:this.mit.lo?1:this.loe?1:nt.mi?1:this.mit.lo?1:this.lo>24),e=-this.hi+(n>>24);return new an(t,n,e)},an.prototype.add=function(t){var n=this.lo+t.lo,e=this.mi+t.mi+(n>>24),i=this.hi+t.hi+(e>>24);return new an(n,e,i)},an.prototype.sub=function(t){var n=this.lo-t.lo,e=this.mi-t.mi+(n>>24),i=this.hi-t.hi+(e>>24);return new an(n,e,i)},an.prototype.mul=function(t){var n=this.lo*t.lo,e=(n*gV|0)+this.mi*t.lo+this.lo*t.mi,i=(e*gV|0)+this.hi*t.lo+this.mi*t.mi+this.lo*t.hi;return new an(n,e,i)},an.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0},an.prototype.isNeg=function(){return this.hi<<16<0},an.prototype.and=function(t){return new an(this.lo&t.lo,this.mi&t.mi,this.hi&t.hi)},an.prototype.or=function(t){return new an(this.lo|t.lo,this.mi|t.mi,this.hi|t.hi)},an.prototype.xor=function(t){return new an(this.lo^t.lo,this.mi^t.mi,this.hi^t.hi)},an.prototype.shift_left=function(t){return t=t&63,t==0?this:t<24?new an(this.lo<>24-t,this.hi<>24-t):t<48?new an(0,this.lo<>48-t):new an(0,0,this.lo<>t|this.mi<<24-t,this.mi>>t|this.hi<<24-t,this.hi>>t):t<48?new an(this.mi>>t-24|this.hi<<48-t,this.hi>>t-24,0):new an(this.hi>>t-48,0,0)},an.prototype.shift_right=function(t){if(t=t&63,t==0)return this;var n=this.hi<<16>>16;if(t<24)return new an(this.lo>>t|this.mi<<24-t,this.mi>>t|n<<24-t,this.hi<<16>>t>>>16);var e=this.hi<<16>>31;return t<48?new an(this.mi>>t-24|this.hi<<48-t,this.hi<<16>>t-24>>16,e&Li):new an(this.hi<<16>>t-32,e,e)},an.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&gx,this.lo=this.lo<<1&gx},an.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&gx,this.mi=(this.mi>>>1|this.hi<<23)&gx,this.hi=this.hi>>>1},an.prototype.udivmod=function(t){for(var n=0,e=this.copy(),i=t.copy(),x=new an(0,0,0);e.ucompare(i)>0;)n++,i.lsl1();for(;n>=0;)n--,x.lsl1(),e.ucompare(i)>=0&&(x.lo++,e=e.sub(i)),i.lsr1();return{quotient:x,modulus:e}},an.prototype.div=function(t){var n=this;t.isZero()&&TV();var e=n.hi^t.hi;n.hi&Mi&&(n=n.neg()),t.hi&Mi&&(t=t.neg());var i=n.udivmod(t).quotient;return e&Mi&&(i=i.neg()),i},an.prototype.mod=function(t){var n=this;t.isZero()&&TV();var e=n.hi;n.hi&Mi&&(n=n.neg()),t.hi&Mi&&(t=t.neg());var i=n.udivmod(t).modulus;return e&Mi&&(i=i.neg()),i},an.prototype.toInt=function(){return this.lo|this.mi<<24},an.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},an.prototype.toArray=function(){return[this.hi>>8,this.hi&is,this.mi>>16,this.mi>>8&is,this.mi&is,this.lo>>16,this.lo>>8&is,this.lo&is]},an.prototype.lo32=function(){return this.lo|(this.mi&is)<<24},an.prototype.hi32=function(){return this.mi>>>8&Li|this.hi<<16};function mp(t,n,e){return new an(t,n,e)}function _p(t){if(!isFinite(t))return isNaN(t)?mp(1,0,aV):t>0?mp(0,0,aV):mp(0,0,65520);var n=t==0&&1/t==-1/0?Mi:t>=0?0:Mi;n&&(t=-t);var e=p70(t)+1023;e<=0?(e=0,t/=Math.pow(2,-iH)):(t/=Math.pow(2,e-oU),t<16&&(t*=2,e-=1),e==0&&(t/=2));var i=Math.pow(2,24),x=t|0;t=(t-x)*i;var c=t|0;t=(t-c)*i;var s=t|0;return x=x&uF|n|e<<4,mp(s,c,x)}function fl(t){return t.toArray()}function OV(t,n,e){if(t.write(32,n.dims.length),t.write(32,n.kind|n.layout<<8),n.caml_custom==l3)for(var i=0;i>4;if(x==xX)return n|e|i&uF?NaN:i&Mi?-1/0:1/0;var c=Math.pow(2,-24),s=(n*c+e)*c+(i&uF);return x>0?(s+=16,s*=Math.pow(2,x-oU)):s*=Math.pow(2,-iH),i&Mi&&(s=-s),s}function BA(t){for(var n=t.length,e=1,i=0;i>>24&is|(n&Li)<<8,n>>>16&Li)}function qA(t){return t.hi32()}function UA(t){return t.lo32()}var y70=l3;function Ns(t,n,e,i){this.kind=t,this.layout=n,this.dims=e,this.data=i}Ns.prototype.caml_custom=y70,Ns.prototype.offset=function(t){var n=0;if(typeof t=="number"&&(t=[t]),t instanceof Array||vu("bigarray.js: invalid offset"),this.dims.length!=t.length&&vu("Bigarray.get/set: bad number of dimensions"),this.layout==0)for(var e=0;e=this.dims[e])&&il(),n=n*this.dims[e]+t[e];else for(var e=this.dims.length-1;e>=0;e--)(t[e]<1||t[e]>this.dims[e])&&il(),n=n*this.dims[e]+(t[e]-1);return n},Ns.prototype.get=function(t){switch(this.kind){case 7:var n=this.data[t*2+0],e=this.data[t*2+1];return _70(n,e);case 10:case 11:var i=this.data[t*2+0],x=this.data[t*2+1];return[gv,i,x];default:return this.data[t]}},Ns.prototype.set=function(t,n){switch(this.kind){case 7:this.data[t*2+0]=UA(n),this.data[t*2+1]=qA(n);break;case 10:case 11:this.data[t*2+0]=n[1],this.data[t*2+1]=n[2];break;default:this.data[t]=n;break}return 0},Ns.prototype.fill=function(t){switch(this.kind){case 7:var n=UA(t),e=qA(t);if(n==e)this.data.fill(n);else for(var i=0;is)return 1;if(c!=s){if(!n)return NaN;if(c==c)return 1;if(s==s)return-1}}break;case 7:for(var x=0;xt.data[x+1])return 1;if(this.data[x]>>>0>>0)return-1;if(this.data[x]>>>0>t.data[x]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(var x=0;xt.data[x])return 1}break}return 0};function Lv(t,n,e,i){this.kind=t,this.layout=n,this.dims=e,this.data=i}Lv.prototype=new Ns,Lv.prototype.offset=function(t){return typeof t!="number"&&(t instanceof Array&&t.length==1?t=t[0]:vu("Ml_Bigarray_c_1_1.offset")),(t<0||t>=this.dims[0])&&il(),t},Lv.prototype.get=function(t){return this.data[t]},Lv.prototype.set=function(t,n){return this.data[t]=n,0},Lv.prototype.fill=function(t){return this.data.fill(t),0};function AV(t,n,e,i){var x=IV(t);return BA(e)*x!=i.length&&vu("length doesn't match dims"),n==0&&e.length==1&&x==1?new Lv(t,n,e,i):new Ns(t,n,e,i)}function e7(t){RA(Vt.Failure,t)}function NV(t,n,e){var i=t.read32s();(i<0||i>16)&&e7("input_value: wrong number of bigarray dimensions");var x=t.read32s(),c=x&is,s=x>>8&1,p=[];if(e==l3)for(var y=0;y>>32-15,n=PV(n,461845907),t^=n,t=t<<13|t>>>32-13,(t+(t<<2)|0)+-430675100|0}function d70(t,n){return t=cs(t,UA(n)),t=cs(t,qA(n)),t}function DV(t,n){return d70(t,_p(n))}function LV(t){var n=BA(t.dims),e=0;switch(t.kind){case 2:case 3:case 12:n>C4&&(n=C4);var i=0,x=0;for(x=0;x+4<=t.data.length;x+=4)i=t.data[x+0]|t.data[x+1]<<8|t.data[x+2]<<16|t.data[x+3]<<24,e=cs(e,i);switch(i=0,n&3){case 3:i=t.data[x+2]<<16;case 2:i|=t.data[x+1]<<8;case 1:i|=t.data[x+0],e=cs(e,i)}break;case 4:case 5:n>Rt&&(n=Rt);var i=0,x=0;for(x=0;x+2<=t.data.length;x+=2)i=t.data[x+0]|t.data[x+1]<<16,e=cs(e,i);n&1&&(e=cs(e,t.data[x]));break;case 6:n>64&&(n=64);for(var x=0;x64&&(n=64);for(var x=0;x32&&(n=32),n*=2;for(var x=0;x64&&(n=64);for(var x=0;x32&&(n=32);for(var x=0;x0?x(n,t,i):x(t,n,i);if(i&&c!=c)return e;if(+c!=+c)return+c;if(c|0)return c|0}return e}function yp(t){return t instanceof Ac}function XA(t){return yp(t)}function GV(t){if(typeof t=="number")return Q2;if(yp(t))return Y2;if(XA(t))return 1252;if(t instanceof Array&&t[0]===t[0]>>>0&&t[0]<=Ow){var n=t[0]|0;return n==gv?0:n}else{if(t instanceof String)return LY;if(typeof t=="string")return LY;if(t instanceof Number)return Q2;if(t&&t.caml_custom)return VO;if(t&&t.compare)return 1256;if(typeof t=="function")return 1247;if(typeof t=="symbol")return 1251}return 1001}function Cc(t,n){return tn.c?1:0}function Ee(t,n){return MV(t,n)}function dp(t,n,e){for(var i=[];;){if(!(e&&t===n)){var x=GV(t);if(x==nl){t=t[1];continue}var c=GV(n);if(c==nl){n=n[1];continue}if(x!==c)return x==Q2?c==VO?jV(t,n,-1,e):-1:c==Q2?x==VO?jV(n,t,1,e):1:xn)return 1;if(t!=n){if(!e)return NaN;if(t==t)return 1;if(n==n)return-1}break;case 1001:if(tn)return 1;if(t!=n){if(!e)return NaN;if(t==t)return 1;if(n==n)return-1}break;case 1251:if(t!==n)return e?1:NaN;break;case 1252:var t=Nc(t),n=Nc(n);if(t!==n){if(tn)return 1}break;case 12520:var t=t.toString(),n=n.toString();if(t!==n){if(tn)return 1}break;case 246:case 254:default:if(t.length!=n.length)return t.length1&&i.push(t,n,1);break}}if(i.length==0)return 0;var y=i.pop();n=i.pop(),t=i.pop(),y+10)if(n==0&&(e>=t.l||t.t==2&&e>=t.c.length))i==0?(t.c=C,t.t=2):(t.c=Pv(e,String.fromCharCode(i)),t.t=e==t.l?0:2);else for(t.t!=4&&pp(t),e+=n;n0&&n===n||(t=t.replace(/_/g,C),n=+t,t.length>0&&n===n||/^[+-]?nan$/i.test(t)))return n;var e=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)p([+-]?[0-9]+)/i.exec(t);if(e){var i=e[3].replace(/0+$/,C),x=parseInt(e[1]+e[2]+i,16),c=(e[4]|0)-4*i.length;return n=x*Math.pow(2,c),n}if(/^\+?inf(inity)?$/i.test(t))return 1/0;if(/^-inf(inity)?$/i.test(t))return-1/0;e7("float_of_string")}function YA(t){t=Nc(t);var n=t.length;n>31&&vu("format_int: format too long");for(var e={justify:as,signstyle:Oo,filler:bi,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:lY},i=0;i=0&&x<=9;)e.width=e.width*10+x,i++;i--;break;case".":for(e.prec=0,i++;x=t.charCodeAt(i)-48,x>=0&&x<=9;)e.prec=e.prec*10+x,i++;i--;case"d":case"i":e.signedconv=!0;case"u":e.base=10;break;case"x":e.base=16;break;case"X":e.base=16,e.uppercase=!0;break;case"o":e.base=8;break;case"e":case"f":case"g":e.signedconv=!0,e.conv=x;break;case"E":case"F":case"G":e.signedconv=!0,e.uppercase=!0,e.conv=x.toLowerCase();break}}return e}function VA(t,n){t.uppercase&&(n=n.toUpperCase());var e=n.length;t.signedconv&&(t.sign<0||t.signstyle!=Oo)&&e++,t.alternate&&(t.base==8&&(e+=1),t.base==16&&(e+=2));var i=C;if(t.justify==as&&t.filler==bi)for(var x=e;x20?(w-=20,E/=Math.pow(10,w),E+=new Array(w+1).join($u),h>0&&(E=E+Ra+new Array(h+1).join($u)),E):E.toFixed(h)}var i,x=YA(t),c=x.prec<0?6:x.prec;if((n<0||n==0&&1/n==-1/0)&&(x.sign=-1,n=-n),isNaN(n))i=bw,x.filler=bi;else if(!isFinite(n))i="inf",x.filler=bi;else switch(x.conv){case"e":var i=n.toExponential(c),s=i.length;i.charAt(s-3)==iy&&(i=i.slice(0,s-1)+$u+i.slice(s-1));break;case"f":i=e(n,c);break;case"g":c=c||1,i=n.toExponential(c-1);var p=i.indexOf(iy),y=+i.slice(p+1);if(y<-4||n>=1e21||n.toFixed(0).length>c){for(var s=p-1;i.charAt(s)==$u;)s--;i.charAt(s)==Ra&&s--,i=i.slice(0,s+1)+i.slice(p),s=i.length,i.charAt(s-3)==iy&&(i=i.slice(0,s-1)+$u+i.slice(s-1));break}else{var T=c;if(y<0)T-=y+1,i=n.toFixed(T);else for(;i=n.toFixed(T),i.length>c+1;)T--;if(T){for(var s=i.length-1;i.charAt(s)==$u;)s--;i.charAt(s)==Ra&&s--,i=i.slice(0,s+1)}}break}return VA(x,i)}function hp(t,n){if(Nc(t)==N2)return r(C+n);var e=YA(t);n<0&&(e.signedconv?(e.sign=-1,n=-n):n>>>=0);var i=n.toString(e.base);if(e.prec>=0){e.filler=bi;var x=e.prec-i.length;x>0&&(i=Pv(x,$u)+i)}return VA(e,i)}var UV=0;function G7(){return UV++}function O70(){return 0}function HV(){return[0]}var kp=[];function Ze(t,n,e){var i=t[1],x=kp[e];if(x===void 0)for(var c=kp.length;c>1|1,nCI?(e.substr(0,1),n+=e,e=C,n+=t.slice(c,p)):e+=t.slice(c,p),p==s)break;c=p}i>6),e+=String.fromCharCode(Pi|i&Ov)):i<55296||i>=IH?e+=String.fromCharCode(KY|i>>12,Pi|i>>6&Ov,Pi|i&Ov):i>=56319||c+1==s||(x=t.charCodeAt(c+1))IH?e+="\xEF\xBF\xBD":(c++,i=(i<<10)+x-56613888,e+=String.fromCharCode(BX|i>>18,Pi|i>>12&Ov,Pi|i>>6&Ov,Pi|i&Ov)),e.length>L2&&(e.substr(0,1),n+=e,e=C)}return n+e}function A70(t){var n=9;return wV(t)||(n=8,t=I70(t)),new Ac(n,t,t.length)}function M7(t){return A70(t)}function N70(t,n,e){if(!isFinite(t))return isNaN(t)?M7(bw):M7(t>0?kU:"-infinity");var i=t==0&&1/t==-1/0?1:t>=0?0:1;i&&(t=-t);var x=0;if(t!=0)if(t<1)for(;t<1&&x>-YX;)t*=2,x--;else for(;t>=2;)t/=2,x++;var c=x<0?C:as,s=C;if(i)s=Oo;else switch(e){case 43:s=as;break;case 32:s=bi;break;default:break}if(n>=0&&n<13){var p=Math.pow(2,n*4);t=Math.round(t*p)/p}var y=t.toString(16);if(n>=0){var T=y.indexOf(Ra);if(T<0)y+=Ra+Pv(n,$u);else{var E=T+1+n;y.length>24&gx,t>>31&Li)}function P70(t){return t.toInt()}function D70(t){return+t.isNeg()}function XV(t){return t.neg()}function L70(t,n){var e=YA(t);e.signedconv&&D70(n)&&(e.sign=-1,n=XV(n));var i=C,x=wp(e.base),c="0123456789abcdef";do{var s=n.udivmod(x);n=s.quotient,i=c.charAt(P70(s.modulus))+i}while(!C70(n));if(e.prec>=0){e.filler=bi;var p=e.prec-i.length;p>0&&(i=Pv(p,$u)+i)}return VA(e,i)}function l7(t){return t.l}function nn(t){return l7(t)}function Vr(t,n){return Hu(t,n)}function R70(t,n){return t.add(n)}function j70(t,n){return t.mul(n)}function KA(t,n){return t.ucompare(n)<0}function YV(t){var n=0,e=nn(t),i=10,x=1;if(e>0)switch(Vr(t,n)){case 45:n++,x=-1;break;case 43:n++,x=1;break}if(n+1=48&&t<=57?t-48:t>=65&&t<=90?t-55:t>=97&&t<=In?t-87:-1}function Rv(t){var n=YV(t),e=n[0],i=n[1],x=n[2],c=wp(x),s=new an(gx,268435455,Li).udivmod(c).quotient,p=Vr(t,e),y=Ep(p);(y<0||y>=x)&&e7(ts);for(var T=wp(y);;)if(e++,p=Vr(t,e),p!=95){if(y=Ep(p),y<0||y>=x)break;KA(s,T)&&e7(ts),y=wp(y),T=R70(j70(c,T),y),KA(T,y)&&e7(ts)}return e!=nn(t)&&e7(ts),x==10&&KA(new an(0,0,Mi),T)&&e7(ts),i<0&&(T=XV(T)),T}function jv(t){return t.toFloat()}function Bi(t){var n=YV(t),e=n[0],i=n[1],x=n[2],c=nn(t),s=-1>>>0,p=e=x)&&e7(ts);var T=y;for(e++;e=x)break;T=x*T+y,T>s&&e7(ts)}return e!=c&&e7(ts),T=i*T,x==10&&(T|0)!=T&&e7(ts),T|0}function G70(t){return t.slice(1)}function M70(t){return!!t}function sn(t){return t.toUtf16()}function B70(t){for(var n={},e=1;e1&&i.pop();break;case".":break;default:i.push(e[x]);break}return i.unshift(n[0]),i.orig=t,i}var Y70=["E2BIG","EACCES","EAGAIN","EBADF","EBUSY","ECHILD","EDEADLK","EDOM",xV,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",pd,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",kw,GU,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function _1(t,n,e,i){var x=Y70.indexOf(t);x<0&&(i==null&&(i=-9999),x=[0,i]);var c=[x,M7(n||C),M7(e||C)];return c}var KV={};function y1(t){return KV[t]}function d1(t,n){throw[0,t].concat(n)}function V70(t){return new Ac(4,t,t.length)}function z70(t){t=Nc(t),ot(t+up)}function K70(t,n){return n>>>0>=t.l&&SV(),Hu(t,n)}function WV(){}function Su(t){this.data=t}Su.prototype=new WV,Su.prototype.truncate=function(t){var n=this.data;this.data=Pt(t|0),Is(n,0,this.data,0,t)},Su.prototype.length=function(){return l7(this.data)},Su.prototype.write=function(t,n,e,i){var x=this.length();if(t+i>=x){var c=Pt(t+i),s=this.data;this.data=c,Is(s,0,this.data,0,x)}return As(n,e,this.data,t,i),0},Su.prototype.read=function(t,n,e,i){var x=this.length();return Is(this.data,t,n,e,i),0},Su.prototype.read_one=function(t){return K70(this.data,t)},Su.prototype.close=function(){},Su.prototype.constructor=Su;function n7(t,n){this.content={},this.root=t,this.lookupFun=n}n7.prototype.nm=function(t){return this.root+t},n7.prototype.create_dir_if_needed=function(t){for(var n=t.split(Zu),e=C,i=0;iVt.fd_last_idx)&&(Vt.fd_last_idx=t),t}function Lae(t,n,e){for(var i={};n;){switch(n[1]){case 0:i.rdonly=1;break;case 1:i.wronly=1;break;case 2:i.append=1;break;case 3:i.create=1;break;case 4:i.truncate=1;break;case 5:i.excl=1;break;case 6:i.binary=1;break;case 7:i.text=1;break;case 8:i.nonblock=1;break}n=n[2]}i.rdonly&&i.wronly&&ot(Nc(t)+NY),i.text&&i.binary&&ot(Nc(t)+aY);var x=$70(t),c=x.device.open(x.rest,i),s=Vt.fd_last_idx?Vt.fd_last_idx:0;return gp(s+1,$V,c,i)}gp(0,$V,new Su(Pt(0))),gp(1,Q70,new Su(Pt(0))),gp(2,Z70,new Su(Pt(0)));function ri0(t){var n=Vt.fds[t];n.flags.wronly&&ot(hX+t+" is writeonly");var e=null;if(t==0&&VV()){var i=Fj();e=function(){return M7(i.readFileSync(0,_V))}}var x={file:n.file,offset:n.offset,fd:t,opened:!0,out:!1,refill:e};return Pc[x.fd]=x,x.fd}function ZV(t){var n=Vt.fds[t];n.flags.rdonly&&ot(hX+t+" is readonly");var e={file:n.file,offset:n.offset,fd:t,opened:!0,out:!0,buffer:C};return Pc[e.fd]=e,e.fd}function ei0(){for(var t=0,n=0;n>>0?t[0]:yp(t)||XA(t)?Y2:t instanceof Function||typeof t=="function"?jw:t&&t.caml_custom?Ow:Q2}function yi(t,n,e){e&&j0.toplevelReloc&&(t=j0.toplevelReloc(e)),Vt[t+1]=n,e&&(Vt[e]=n)}function ZA(t,n){return KV[Nc(t)]=n,0}function ui0(t){return t[2]=UV++,t}function ii0(t,n){return t===n?1:(t.t&6&&Dv(t),n.t&6&&Dv(n),t.c==n.c?1:0)}function qn(t,n){return ii0(t,n)}function fi0(){vu(XS)}function Ot(t,n){return n>>>0>=nn(t)&&fi0(),Vr(t,n)}function n0(t,n){return 1-qn(t,n)}function xi0(){return[0,r("js_of_ocaml")]}function ai0(){return 2147483647/4|0}function oi0(t){return 0}var ci0=j0.process&&j0.process.platform&&j0.process.platform==bV?UU:"Unix";function si0(){return[0,r(ci0),32,0]}function vi0(){FV(Vt.Not_found)}function rz(t){var n=j0,e=sn(t);if(n.process&&n.process.env&&n.process.env[e]!=null)return M7(n.process.env[e]);if(j0.jsoo_static_env&&j0.jsoo_static_env[e])return M7(j0.jsoo_static_env[e]);vi0()}function QA(t){for(var n=1;t&&t.joo_tramp;)t=t.joo_tramp.apply(null,t.joo_args),n++;return t}function Fu(t,n){return{joo_tramp:t,joo_args:n}}function N(t,n){if(typeof n=="function")return t.fun=n,0;if(n.fun)return t.fun=n.fun,0;for(var e=n.length;e--;)t[e]=n[e];return 0}function jae(t){return t}function Et(t){return t instanceof Array?t:j0.RangeError&&t instanceof j0.RangeError&&t.message&&t.message.match(/maximum call stack/i)||j0.InternalError&&t instanceof j0.InternalError&&t.message&&t.message.match(/too much recursion/i)?Vt.Stack_overflow:t instanceof j0.Error&&y1($O)?[0,y1($O),t]:[0,Vt.Failure,M7(String(t))]}function li0(t){switch(t[2]){case-8:case-11:case-12:return 1;default:return 0}}function bi0(t){var n=C;if(t[0]==0){if(n+=t[1][1],t.length==3&&t[2][0]==0&&li0(t[1]))var i=t[2],e=1;else var e=2,i=t;n+=KX;for(var x=e;xe&&(n+=nX);var c=i[x];typeof c=="number"?n+=c.toString():c instanceof Ac||typeof c=="string"?n+=V2+c.toString()+V2:n+=bv}n+=Z0}else t[0]==wt&&(n+=t[1]);return n}function ez(t){if(t instanceof Array&&(t[0]==0||t[0]==wt)){var n=y1(BH);if(n)n(t,!1);else{var e=bi0(t),i=y1(mV);i&&i(0),j0.console.error(kh+e+nV)}}else throw t}function pi0(){var t=j0;t.process&&t.process.on?t.process.on("uncaughtException",function(n,e){ez(n),t.process.exit(2)}):t.addEventListener&&t.addEventListener("error",function(n){n.error&&ez(n.error)})}pi0();function u(t,n){return t.length==1?t(n):os(t,[n])}function a(t,n,e){return t.length==2?t(n,e):os(t,[n,e])}function ir(t,n,e,i){return t.length==3?t(n,e,i):os(t,[n,e,i])}function R(t,n,e,i,x){return t.length==4?t(n,e,i,x):os(t,[n,e,i,x])}function b7(t,n,e,i,x,c){return t.length==5?t(n,e,i,x,c):os(t,[n,e,i,x,c])}function mi0(t,n,e,i,x,c,s,p){return t.length==7?t(n,e,i,x,c,s,p):os(t,[n,e,i,x,c,s,p])}var rN=[wt,r(TX),-1],nz=[wt,r(MH),-2],B7=[wt,r(LH),-3],eN=[wt,r(sH),-4],Kt=[wt,r(QU),-7],tz=[wt,r(BY),-8],uz=[wt,r($U),-9],wn=[wt,r(TU),-11],sl=[wt,r(oX),-12],iz=[0,c7],_i0=[4,0,0,0,[12,45,[4,0,0,0,0]]],nN=[0,[11,r('File "'),[2,0,[11,r('", line '),[4,0,0,0,[11,r(EH),[4,0,0,0,[12,45,[4,0,0,0,[11,r(": "),[2,0,0]]]]]]]]]],r('File "%s", line %d, characters %d-%d: %s')],fz=[0,0,[0,0,0],[0,0,0]],tN=r(""),uN=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),Bv=[0,0,0,0,1,0],xz=[0,r(Gx),r(va),r(go),r(so),r(za),r(Yf),r(Jx),r(pf),r(of),r(Bx),r(ut),r(Yo),r(I7),r(If),r(px),r(_a),r(lx),r(ef),r(gf),r(Xo),r(oo),r(Ho),r(yf),r(ic),r(Rf),r(To),r(ff),r(Ef),r(Bo),r(Xf),r(Tx),r(ax),r(Fa),r(kf),r(da),r(Qf),r(ao),r(Za),r(A7),r(O7),r(ox),r(Io),r(Mo),r(Wf),r(to),r(la),r(Ta),r(Sx),r(Go),r(ka),r(s7),r(bo),r(eo),r(vo),r(Hx),r(Xa),r(Ux),r(Mf),r(Nf),r(rc),r(Mx),r(Cf),r(ba),r(Fo),r(lf),r(ec),r(io),r(no),r(Au),r(Ix),r(ta),r(Ff),r(Uf),r(Eo),r(qx),r(Oc),r(Vo),r(jo),r(hx),r(xc),r(vi),r(ga),r(pa),r(Ic),r(No),r(kx),r(Nx),r(Tc),r(jf),r(uf),r(ix),r(yo),r(Ma),r(Ex),r(Uo),r(bf),r(po),r(yx),r(j7),r($o),r(mc),r(Kf),r(_i),r(_f),r(fo),r(zo),r(qu),r(gc),r(ma),r(Yx),r(Do),r(Ox),r(Co),r(r7),r(sf),r(wa),r(na),r(Wo),r(Gf),r(sc),r(ho),r(Ja),r(ex),r(cf),r(af),r(Cx),r(_c),r(Na),r(Ga),r(xa),r(Ax),r(sa),r(Px),r(nf),r(nc),r(Wa),r(Ro),r(Sc),r($a),r(bx),r(kc),r(Lx),r(ko),r(Rx),r(ux),r(Wx),r(Lo),r(Xx),r($x),r(dc),r(ur),r(yc),r(Af),r(hf),r(mx),r(Ua),r(jx),r(Tf),r(uc),r(Jf),r(wo),r(_o),r(tx),r(Vf),r(xf),r(Pf),r(xx),r(ca),r(Qa),r(ac),r(pc),r(Ya),r(Ko),r(wf),r(Ba),r(ro),r(pi),r(nx),r(rx),r(Ka),r(mf),r(lo),r(bc),r(Ec),r($f),r(zf),r(qa),r(Df),r(uo),r(co),r(lc),r(ra),r(So),r(Va),r(Qo),r(Qu),r(Le),r(mo),r(_x),r(Wu),r(vx),r(qf),r(Fc),r(df),r(Kx),r(Fx),r(Po),r(hc),r(P7),r(ha),r(Ha),r(Zf),r(Qx),r(Ea),r(Lf),r(Aa),r(g7),r(ua),r(xo),r(oa),r(dx),r(Zx),r(Vx),r(Jo),r(ja),r(Hf),r(Ao),r(sx),r(Of),r(Dx),r(fa),r(Zo),r(Sf),r(Ca),r(tc),r(Da),r(Oa),r(Bf),r(cc),r(fx),r(wc),r(ou),r(Ia),r(ia),r(zx),r(wu)],az=[0,r("first_leading"),r("last_trailing")],oz=[0,0];yi(11,sl,oX),yi(10,wn,TU),yi(9,[wt,r(gY),jX],gY),yi(8,uz,$U),yi(7,tz,BY),yi(6,Kt,QU),yi(5,[wt,r(iY),-6],iY),yi(4,[wt,r(DH),-5],DH),yi(3,eN,sH),yi(2,B7,LH),yi(1,nz,MH),yi(0,rN,TX);var yi0=r("output_substring"),di0=r("%.12g"),hi0=r(Ra),ki0=r(Gi),wi0=r(Ci),Ei0=r(oY),Si0=r("\\'"),gi0=r("\\b"),Fi0=r("\\t"),Ti0=r("\\n"),Oi0=r("\\r"),Ii0=r("List.iter2"),Ai0=r("tl"),Ni0=r("hd"),Ci0=r("String.blit / Bytes.blit_string"),Pi0=r("Bytes.blit"),Di0=r("String.sub / Bytes.sub"),Li0=r("Array.blit"),Ri0=r("Array.sub"),ji0=r("Map.remove_min_elt"),Gi0=[0,0,0,0],Mi0=[0,r("map.ml"),400,10],Bi0=[0,0,0],qi0=r(n6),Ui0=r(n6),Hi0=r(n6),Xi0=r(n6),Yi0=r("Stdlib.Queue.Empty"),Vi0=r("CamlinternalLazy.Undefined"),zi0=r("Buffer.add_substring/add_subbytes"),Ki0=r("Buffer.add: cannot grow buffer"),Wi0=[0,r(HU),93,2],Ji0=[0,r(HU),94,2],$i0=r("Buffer.sub"),Zi0=r("%c"),Qi0=r("%s"),rf0=r(lX),ef0=r(XY),nf0=r(vH),tf0=r(JH),uf0=r("%f"),if0=r(An),ff0=r("%{"),xf0=r("%}"),af0=r("%("),of0=r("%)"),cf0=r(C0),sf0=r("%t"),vf0=r("%?"),lf0=r("%r"),bf0=r("%_r"),pf0=[0,r(cu),850,23],mf0=[0,r(cu),814,21],_f0=[0,r(cu),815,21],yf0=[0,r(cu),818,21],df0=[0,r(cu),819,21],hf0=[0,r(cu),822,19],kf0=[0,r(cu),823,19],wf0=[0,r(cu),826,22],Ef0=[0,r(cu),827,22],Sf0=[0,r(cu),831,30],gf0=[0,r(cu),832,30],Ff0=[0,r(cu),836,26],Tf0=[0,r(cu),837,26],Of0=[0,r(cu),846,28],If0=[0,r(cu),847,28],Af0=[0,r(cu),851,23],Nf0=r(TY),Cf0=[0,r(cu),1558,4],Pf0=r("Printf: bad conversion %["),Df0=[0,r(cu),1626,39],Lf0=[0,r(cu),1649,31],Rf0=[0,r(cu),1650,31],jf0=r("Printf: bad conversion %_"),Gf0=r(IY),Mf0=r(dY),Bf0=r(IY),qf0=r(dY),Uf0=[0,[11,r("invalid box description "),[3,0,0]],r("invalid box description %S")],Hf0=r(C),Xf0=[0,0,4],Yf0=r(C),Vf0=r(gX),zf0=r("h"),Kf0=r("hov"),Wf0=r("hv"),Jf0=r(hV),$f0=r(bw),Zf0=r("neg_infinity"),Qf0=r(kU),rx0=r(Ra),ex0=r("%+nd"),nx0=r("% nd"),tx0=r("%+ni"),ux0=r("% ni"),ix0=r("%nx"),fx0=r("%#nx"),xx0=r("%nX"),ax0=r("%#nX"),ox0=r("%no"),cx0=r("%#no"),sx0=r("%nd"),vx0=r(vH),lx0=r("%nu"),bx0=r("%+ld"),px0=r("% ld"),mx0=r("%+li"),_x0=r("% li"),yx0=r("%lx"),dx0=r("%#lx"),hx0=r("%lX"),kx0=r("%#lX"),wx0=r("%lo"),Ex0=r("%#lo"),Sx0=r("%ld"),gx0=r(XY),Fx0=r("%lu"),Tx0=r("%+Ld"),Ox0=r("% Ld"),Ix0=r("%+Li"),Ax0=r("% Li"),Nx0=r("%Lx"),Cx0=r("%#Lx"),Px0=r("%LX"),Dx0=r("%#LX"),Lx0=r("%Lo"),Rx0=r("%#Lo"),jx0=r("%Ld"),Gx0=r(JH),Mx0=r("%Lu"),Bx0=r("%+d"),qx0=r("% d"),Ux0=r("%+i"),Hx0=r("% i"),Xx0=r("%x"),Yx0=r("%#x"),Vx0=r("%X"),zx0=r("%#X"),Kx0=r("%o"),Wx0=r("%#o"),Jx0=r(N2),$x0=r(lX),Zx0=r(TY),Qx0=r(z),ra0=r("@}"),ea0=r("@?"),na0=r(`@ +`),ta0=r("@."),ua0=r("@@"),ia0=r("@%"),fa0=r(AX),xa0=r("CamlinternalFormat.Type_mismatch"),aa0=r(C),oa0=[0,[11,r(nX),[2,0,[2,0,0]]],r(", %s%s")],ca0=[0,[11,r(kh),[2,0,[12,10,0]]],r(CU)],sa0=[0,[11,r("Fatal error in uncaught exception handler: exception "),[2,0,[12,10,0]]],r(`Fatal error in uncaught exception handler: exception %s +`)],va0=r("Fatal error: out of memory in uncaught exception handler"),la0=[0,[11,r(kh),[2,0,[12,10,0]]],r(CU)],ba0=[0,[2,0,[12,10,0]],r(`%s +`)],pa0=[0,[11,r(RY),0],r(RY)],ma0=r("Raised at"),_a0=r("Re-raised at"),ya0=r("Raised by primitive operation at"),da0=r("Called from"),ha0=r(" (inlined)"),ka0=r(C),wa0=[0,[2,0,[12,32,[2,0,[11,r(' in file "'),[2,0,[12,34,[2,0,[11,r(", line "),[4,0,0,0,[11,r(EH),_i0]]]]]]]]]],r('%s %s in file "%s"%s, line %d, characters %d-%d')],Ea0=[0,[2,0,[11,r(" unknown location"),0]],r("%s unknown location")],Sa0=r("Out of memory"),ga0=r("Stack overflow"),Fa0=r("Pattern matching failed"),Ta0=r("Assertion failed"),Oa0=r("Undefined recursive module"),Ia0=[0,[12,40,[2,0,[2,0,[12,41,0]]]],r("(%s%s)")],Aa0=r(C),Na0=r(C),Ca0=[0,[12,40,[2,0,[12,41,0]]],r("(%s)")],Pa0=[0,[4,0,0,0,0],r(N2)],Da0=[0,[3,0,0],r(Yt)],La0=r(bv),Ra0=[0,r(C),r(`(Cannot print locations: + bytecode executable program file not found)`),r(`(Cannot print locations: + bytecode executable program file appears to be corrupt)`),r(`(Cannot print locations: + bytecode executable program file has wrong magic number)`),r(`(Cannot print locations: + bytecode executable program file cannot be opened; + -- too many open files. Try running with OCAMLRUNPARAM=b=2)`)],ja0=[3,0,3],Ga0=r(Ra),Ma0=r(cv),Ba0=r("Flow_ast.Function.BodyBlock@ ")],zo0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Ko0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Wo0=[0,[17,0,[12,41,0]],r(h0)],Jo0=[0,[17,0,[12,41,0]],r(h0)],$o0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Function.BodyExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Function.BodyExpression@ ")],Zo0=[0,[17,0,[12,41,0]],r(h0)],Qo0=[0,[15,0],r(C0)],rc0=r(Yr),ec0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],nc0=r("Flow_ast.Function.id"),tc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uc0=r(tr),ic0=r(Z0),fc0=r(nr),xc0=[0,[17,0,0],r(z)],ac0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],oc0=r(Ct),cc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sc0=[0,[17,0,0],r(z)],vc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lc0=r(Wn),bc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pc0=[0,[17,0,0],r(z)],mc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_c0=r(Os),yc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dc0=[0,[9,0,0],r(An)],hc0=[0,[17,0,0],r(z)],kc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wc0=r(j7),Ec0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sc0=[0,[9,0,0],r(An)],gc0=[0,[17,0,0],r(z)],Fc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tc0=r(Qu),Oc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ic0=r(tr),Ac0=r(Z0),Nc0=r(nr),Cc0=[0,[17,0,0],r(z)],Pc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Dc0=r(Wu),Lc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rc0=[0,[17,0,0],r(z)],jc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gc0=r(sv),Mc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bc0=r(tr),qc0=r(Z0),Uc0=r(nr),Hc0=[0,[17,0,0],r(z)],Xc0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yc0=r(Xr),Vc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zc0=r(tr),Kc0=r(Z0),Wc0=r(nr),Jc0=[0,[17,0,0],r(z)],$c0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Zc0=r("sig_loc"),Qc0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rs0=[0,[17,0,0],r(z)],es0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ns0=[0,[15,0],r(C0)],ts0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],us0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],is0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],fs0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xs0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],as0=r("Flow_ast.Function.Params.this_"),os0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cs0=r(tr),ss0=r(Z0),vs0=r(nr),ls0=[0,[17,0,0],r(z)],bs0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ps0=r(Ct),ms0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_s0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ys0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],ds0=[0,[17,0,0],r(z)],hs0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ks0=r(ch),ws0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Es0=r(tr),Ss0=r(Z0),gs0=r(nr),Fs0=[0,[17,0,0],r(z)],Ts0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Os0=r(Xr),Is0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],As0=r(tr),Ns0=r(Z0),Cs0=r(nr),Ps0=[0,[17,0,0],r(z)],Ds0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ls0=[0,[15,0],r(C0)],Rs0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],js0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Gs0=[0,[17,0,[12,41,0]],r(h0)],Ms0=[0,[15,0],r(C0)],Bs0=r(Yr),qs0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Us0=r("Flow_ast.Function.ThisParam.annot"),Hs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xs0=[0,[17,0,0],r(z)],Ys0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vs0=r(Xr),zs0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ks0=r(tr),Ws0=r(Z0),Js0=r(nr),$s0=[0,[17,0,0],r(z)],Zs0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Qs0=[0,[15,0],r(C0)],r10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],e10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],n10=[0,[17,0,[12,41,0]],r(h0)],t10=[0,[15,0],r(C0)],u10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],i10=r("Flow_ast.Function.Param.argument"),f10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x10=[0,[17,0,0],r(z)],a10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],o10=r(mi),c10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],s10=r(tr),v10=r(Z0),l10=r(nr),b10=[0,[17,0,0],r(z)],p10=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],m10=[0,[15,0],r(C0)],_10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],y10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],d10=[0,[17,0,[12,41,0]],r(h0)],h10=[0,[15,0],r(C0)],k10=r(Yr),w10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],E10=r("Flow_ast.Function.RestParam.argument"),S10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],g10=[0,[17,0,0],r(z)],F10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],T10=r(Xr),O10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],I10=r(tr),A10=r(Z0),N10=r(nr),C10=[0,[17,0,0],r(z)],P10=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],D10=[0,[15,0],r(C0)],L10=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],R10=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],j10=[0,[17,0,[12,41,0]],r(h0)],G10=[0,[15,0],r(C0)],M10=r(Yr),B10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q10=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],U10=r("Flow_ast.Class.id"),H10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],X10=r(tr),Y10=r(Z0),V10=r(nr),z10=[0,[17,0,0],r(z)],K10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],W10=r(Wn),J10=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$10=[0,[17,0,0],r(z)],Z10=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q10=r(sv),rv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ev0=r(tr),nv0=r(Z0),tv0=r(nr),uv0=[0,[17,0,0],r(z)],iv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fv0=r(C7),xv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],av0=r(tr),ov0=r(Z0),cv0=r(nr),sv0=[0,[17,0,0],r(z)],vv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lv0=r(gs),bv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pv0=r(tr),mv0=r(Z0),_v0=r(nr),yv0=[0,[17,0,0],r(z)],dv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hv0=r("class_decorators"),kv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wv0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Ev0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Sv0=[0,[17,0,0],r(z)],gv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Fv0=r(Xr),Tv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ov0=r(tr),Iv0=r(Z0),Av0=r(nr),Nv0=[0,[17,0,0],r(z)],Cv0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Pv0=[0,[15,0],r(C0)],Dv0=r(Yr),Lv0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Rv0=r("Flow_ast.Class.Decorator.expression"),jv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Gv0=[0,[17,0,0],r(z)],Mv0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Bv0=r(Xr),qv0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Uv0=r(tr),Hv0=r(Z0),Xv0=r(nr),Yv0=[0,[17,0,0],r(z)],Vv0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zv0=[0,[15,0],r(C0)],Kv0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Wv0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Jv0=[0,[17,0,[12,41,0]],r(h0)],$v0=[0,[15,0],r(C0)],Zv0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.Method"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.Method@ ")],Qv0=[0,[17,0,[12,41,0]],r(h0)],r20=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.Property@ ")],e20=[0,[17,0,[12,41,0]],r(h0)],n20=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Body.PrivateField"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Body.PrivateField@ ")],t20=[0,[17,0,[12,41,0]],r(h0)],u20=[0,[15,0],r(C0)],i20=r(Yr),f20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],a20=r("Flow_ast.Class.Body.body"),o20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],s20=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],v20=[0,[17,0,0],r(z)],l20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],b20=r(Xr),p20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],m20=r(tr),_20=r(Z0),y20=r(nr),d20=[0,[17,0,0],r(z)],h20=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],k20=[0,[15,0],r(C0)],w20=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],E20=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],S20=[0,[17,0,[12,41,0]],r(h0)],g20=[0,[15,0],r(C0)],F20=r(Yr),T20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],O20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],I20=r("Flow_ast.Class.Implements.interfaces"),A20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],N20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],C20=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],P20=[0,[17,0,0],r(z)],D20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],L20=r(Xr),R20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],j20=r(tr),G20=r(Z0),M20=r(nr),B20=[0,[17,0,0],r(z)],q20=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],U20=[0,[15,0],r(C0)],H20=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],X20=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Y20=[0,[17,0,[12,41,0]],r(h0)],V20=[0,[15,0],r(C0)],z20=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],K20=r("Flow_ast.Class.Implements.Interface.id"),W20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],J20=[0,[17,0,0],r(z)],$20=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z20=r(Z2),Q20=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],rl0=r(tr),el0=r(Z0),nl0=r(nr),tl0=[0,[17,0,0],r(z)],ul0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],il0=[0,[15,0],r(C0)],fl0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],xl0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],al0=[0,[17,0,[12,41,0]],r(h0)],ol0=[0,[15,0],r(C0)],cl0=r(Yr),sl0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vl0=r("Flow_ast.Class.Extends.expr"),ll0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bl0=[0,[17,0,0],r(z)],pl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ml0=r(Z2),_l0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yl0=r(tr),dl0=r(Z0),hl0=r(nr),kl0=[0,[17,0,0],r(z)],wl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],El0=r(Xr),Sl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gl0=r(tr),Fl0=r(Z0),Tl0=r(nr),Ol0=[0,[17,0,0],r(z)],Il0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Al0=[0,[15,0],r(C0)],Nl0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Cl0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Pl0=[0,[17,0,[12,41,0]],r(h0)],Dl0=[0,[15,0],r(C0)],Ll0=r(Yr),Rl0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],jl0=r("Flow_ast.Class.PrivateField.key"),Gl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ml0=[0,[17,0,0],r(z)],Bl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ql0=r(Bn),Ul0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hl0=[0,[17,0,0],r(z)],Xl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yl0=r(rs),Vl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zl0=[0,[17,0,0],r(z)],Kl0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wl0=r(eu),Jl0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$l0=[0,[9,0,0],r(An)],Zl0=[0,[17,0,0],r(z)],Ql0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rb0=r(ou),eb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nb0=r(tr),tb0=r(Z0),ub0=r(nr),ib0=[0,[17,0,0],r(z)],fb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xb0=r(Xr),ab0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ob0=r(tr),cb0=r(Z0),sb0=r(nr),vb0=[0,[17,0,0],r(z)],lb0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],bb0=[0,[15,0],r(C0)],pb0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],mb0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],_b0=[0,[17,0,[12,41,0]],r(h0)],yb0=[0,[15,0],r(C0)],db0=r("Flow_ast.Class.Property.Uninitialized"),hb0=r("Flow_ast.Class.Property.Declared"),kb0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Class.Property.Initialized"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Class.Property.Initialized@ ")],wb0=[0,[17,0,[12,41,0]],r(h0)],Eb0=[0,[15,0],r(C0)],Sb0=r(Yr),gb0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fb0=r("Flow_ast.Class.Property.key"),Tb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ob0=[0,[17,0,0],r(z)],Ib0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ab0=r(Bn),Nb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cb0=[0,[17,0,0],r(z)],Pb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Db0=r(rs),Lb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rb0=[0,[17,0,0],r(z)],jb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gb0=r(eu),Mb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bb0=[0,[9,0,0],r(An)],qb0=[0,[17,0,0],r(z)],Ub0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Hb0=r(ou),Xb0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Yb0=r(tr),Vb0=r(Z0),zb0=r(nr),Kb0=[0,[17,0,0],r(z)],Wb0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Jb0=r(Xr),$b0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zb0=r(tr),Qb0=r(Z0),r40=r(nr),e40=[0,[17,0,0],r(z)],n40=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],t40=[0,[15,0],r(C0)],u40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],i40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],f40=[0,[17,0,[12,41,0]],r(h0)],x40=[0,[15,0],r(C0)],a40=r(Yr),o40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],c40=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],s40=r("Flow_ast.Class.Method.kind"),v40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l40=[0,[17,0,0],r(z)],b40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],p40=r(ui),m40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_40=[0,[17,0,0],r(z)],y40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],d40=r(Bn),h40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],k40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],w40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],E40=[0,[17,0,[12,41,0]],r(h0)],S40=[0,[17,0,0],r(z)],g40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],F40=r(eu),T40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],O40=[0,[9,0,0],r(An)],I40=[0,[17,0,0],r(z)],A40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],N40=r(B_),C40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],P40=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],D40=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],L40=[0,[17,0,0],r(z)],R40=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],j40=r(Xr),G40=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M40=r(tr),B40=r(Z0),q40=r(nr),U40=[0,[17,0,0],r(z)],H40=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],X40=[0,[15,0],r(C0)],Y40=r("Flow_ast.Class.Method.Constructor"),V40=r("Flow_ast.Class.Method.Method"),z40=r("Flow_ast.Class.Method.Get"),K40=r("Flow_ast.Class.Method.Set"),W40=[0,[15,0],r(C0)],J40=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$40=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Z40=[0,[17,0,[12,41,0]],r(h0)],Q40=[0,[15,0],r(C0)],r80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],e80=r("Flow_ast.Comment.kind"),n80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],t80=[0,[17,0,0],r(z)],u80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i80=r("text"),f80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x80=[0,[3,0,0],r(Yt)],a80=[0,[17,0,0],r(z)],o80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],c80=r("on_newline"),s80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],v80=[0,[9,0,0],r(An)],l80=[0,[17,0,0],r(z)],b80=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],p80=[0,[15,0],r(C0)],m80=r("Flow_ast.Comment.Line"),_80=r("Flow_ast.Comment.Block"),y80=[0,[15,0],r(C0)],d80=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],h80=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],k80=[0,[17,0,[12,41,0]],r(h0)],w80=[0,[15,0],r(C0)],E80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object@ ")],S80=[0,[17,0,[12,41,0]],r(h0)],g80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array@ ")],F80=[0,[17,0,[12,41,0]],r(h0)],T80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Identifier@ ")],O80=[0,[17,0,[12,41,0]],r(h0)],I80=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Expression@ ")],A80=[0,[17,0,[12,41,0]],r(h0)],N80=[0,[15,0],r(C0)],C80=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],P80=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],D80=[0,[17,0,[12,41,0]],r(h0)],L80=[0,[15,0],r(C0)],R80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],j80=r("Flow_ast.Pattern.Identifier.name"),G80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M80=[0,[17,0,0],r(z)],B80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q80=r(rs),U80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H80=[0,[17,0,0],r(z)],X80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Y80=r(Bu),V80=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],z80=[0,[9,0,0],r(An)],K80=[0,[17,0,0],r(z)],W80=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],J80=[0,[15,0],r(C0)],$80=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z80=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Q80=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],r30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],e30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],n30=r("Flow_ast.Pattern.Array.elements"),t30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],u30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],i30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],f30=[0,[17,0,0],r(z)],x30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],a30=r(rs),o30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],c30=[0,[17,0,0],r(z)],s30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],v30=r(Xr),l30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],b30=r(tr),p30=r(Z0),m30=r(nr),_30=[0,[17,0,0],r(z)],y30=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],d30=[0,[15,0],r(C0)],h30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.Element"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.Element@ ")],k30=[0,[17,0,[12,41,0]],r(h0)],w30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.RestElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.RestElement@ ")],E30=[0,[17,0,[12,41,0]],r(h0)],S30=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Array.Hole"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Array.Hole@ ")],g30=[0,[17,0,[12,41,0]],r(h0)],F30=[0,[15,0],r(C0)],T30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],O30=r("Flow_ast.Pattern.Array.Element.argument"),I30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],A30=[0,[17,0,0],r(z)],N30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],C30=r(mi),P30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],D30=r(tr),L30=r(Z0),R30=r(nr),j30=[0,[17,0,0],r(z)],G30=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],M30=[0,[15,0],r(C0)],B30=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],q30=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],U30=[0,[17,0,[12,41,0]],r(h0)],H30=[0,[15,0],r(C0)],X30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Y30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],V30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],z30=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],K30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],W30=r("Flow_ast.Pattern.Object.properties"),J30=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$30=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Z30=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Q30=[0,[17,0,0],r(z)],r60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],e60=r(rs),n60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],t60=[0,[17,0,0],r(z)],u60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i60=r(Xr),f60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x60=r(tr),a60=r(Z0),o60=r(nr),c60=[0,[17,0,0],r(z)],s60=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],v60=[0,[15,0],r(C0)],l60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property@ ")],b60=[0,[17,0,[12,41,0]],r(h0)],p60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.RestElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.RestElement@ ")],m60=[0,[17,0,[12,41,0]],r(h0)],_60=[0,[15,0],r(C0)],y60=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],d60=r("Flow_ast.Pattern.Object.Property.key"),h60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],k60=[0,[17,0,0],r(z)],w60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],E60=r(pi),S60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],g60=[0,[17,0,0],r(z)],F60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],T60=r(mi),O60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],I60=r(tr),A60=r(Z0),N60=r(nr),C60=[0,[17,0,0],r(z)],P60=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],D60=r(x6),L60=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],R60=[0,[9,0,0],r(An)],j60=[0,[17,0,0],r(z)],G60=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],M60=[0,[15,0],r(C0)],B60=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],q60=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],U60=[0,[17,0,[12,41,0]],r(h0)],H60=[0,[15,0],r(C0)],X60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Literal@ ")],Y60=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],V60=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],z60=[0,[17,0,[12,41,0]],r(h0)],K60=[0,[17,0,[12,41,0]],r(h0)],W60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Identifier@ ")],J60=[0,[17,0,[12,41,0]],r(h0)],$60=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Pattern.Object.Property.Computed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Pattern.Object.Property.Computed@ ")],Z60=[0,[17,0,[12,41,0]],r(h0)],Q60=[0,[15,0],r(C0)],rp0=r(Yr),ep0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],np0=r("Flow_ast.Pattern.RestElement.argument"),tp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],up0=[0,[17,0,0],r(z)],ip0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fp0=r(Xr),xp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ap0=r(tr),op0=r(Z0),cp0=r(nr),sp0=[0,[17,0,0],r(z)],vp0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],lp0=[0,[15,0],r(C0)],bp0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],pp0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],mp0=[0,[17,0,[12,41,0]],r(h0)],_p0=[0,[15,0],r(C0)],yp0=r(Yr),dp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hp0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],kp0=r("Flow_ast.JSX.frag_opening_element"),wp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ep0=[0,[17,0,0],r(z)],Sp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gp0=r("frag_closing_element"),Fp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Tp0=[0,[17,0,0],r(z)],Op0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ip0=r("frag_children"),Ap0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Np0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Cp0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Pp0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Dp0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Lp0=[0,[17,0,[12,41,0]],r(h0)],Rp0=[0,[17,0,0],r(z)],jp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gp0=r("frag_comments"),Mp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bp0=r(tr),qp0=r(Z0),Up0=r(nr),Hp0=[0,[17,0,0],r(z)],Xp0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Yp0=[0,[15,0],r(C0)],Vp0=r(Yr),zp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kp0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Wp0=r("Flow_ast.JSX.opening_element"),Jp0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$p0=[0,[17,0,0],r(z)],Zp0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qp0=r("closing_element"),r50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],e50=r(tr),n50=r(Z0),t50=r(nr),u50=[0,[17,0,0],r(z)],i50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],f50=r(Ve),x50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],a50=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],o50=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],c50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],s50=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],v50=[0,[17,0,[12,41,0]],r(h0)],l50=[0,[17,0,0],r(z)],b50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],p50=r(Xr),m50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_50=r(tr),y50=r(Z0),d50=r(nr),h50=[0,[17,0,0],r(z)],k50=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],w50=[0,[15,0],r(C0)],E50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Element"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Element@ ")],S50=[0,[17,0,[12,41,0]],r(h0)],g50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Fragment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Fragment@ ")],F50=[0,[17,0,[12,41,0]],r(h0)],T50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.ExpressionContainer"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.ExpressionContainer@ ")],O50=[0,[17,0,[12,41,0]],r(h0)],I50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.SpreadChild"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.SpreadChild@ ")],A50=[0,[17,0,[12,41,0]],r(h0)],N50=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Text"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Text@ ")],C50=[0,[17,0,[12,41,0]],r(h0)],P50=[0,[15,0],r(C0)],D50=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],L50=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],R50=[0,[17,0,[12,41,0]],r(h0)],j50=[0,[15,0],r(C0)],G50=r(Yr),M50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],B50=r("Flow_ast.JSX.SpreadChild.expression"),q50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],U50=[0,[17,0,0],r(z)],H50=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],X50=r(Xr),Y50=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],V50=r(tr),z50=r(Z0),K50=r(nr),W50=[0,[17,0,0],r(z)],J50=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],$50=[0,[15,0],r(C0)],Z50=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Q50=r("Flow_ast.JSX.Closing.name"),rm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],em0=[0,[17,0,0],r(z)],nm0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],tm0=[0,[15,0],r(C0)],um0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],im0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],fm0=[0,[17,0,[12,41,0]],r(h0)],xm0=[0,[15,0],r(C0)],am0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],om0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],cm0=r("Flow_ast.JSX.Opening.name"),sm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vm0=[0,[17,0,0],r(z)],lm0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bm0=r("self_closing"),pm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mm0=[0,[9,0,0],r(An)],_m0=[0,[17,0,0],r(z)],ym0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dm0=r(kY),hm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],km0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],wm0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Em0=[0,[17,0,0],r(z)],Sm0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],gm0=[0,[15,0],r(C0)],Fm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Opening.Attribute"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Opening.Attribute@ ")],Tm0=[0,[17,0,[12,41,0]],r(h0)],Om0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Opening.SpreadAttribute"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Opening.SpreadAttribute@ ")],Im0=[0,[17,0,[12,41,0]],r(h0)],Am0=[0,[15,0],r(C0)],Nm0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Cm0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Pm0=[0,[17,0,[12,41,0]],r(h0)],Dm0=[0,[15,0],r(C0)],Lm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Identifier@ ")],Rm0=[0,[17,0,[12,41,0]],r(h0)],jm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.NamespacedName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.NamespacedName@ ")],Gm0=[0,[17,0,[12,41,0]],r(h0)],Mm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression@ ")],Bm0=[0,[17,0,[12,41,0]],r(h0)],qm0=[0,[15,0],r(C0)],Um0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Hm0=r("Flow_ast.JSX.MemberExpression._object"),Xm0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ym0=[0,[17,0,0],r(z)],Vm0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zm0=r(Iv),Km0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wm0=[0,[17,0,0],r(z)],Jm0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],$m0=[0,[15,0],r(C0)],Zm0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression.Identifier@ ")],Qm0=[0,[17,0,[12,41,0]],r(h0)],r90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.MemberExpression.MemberExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.MemberExpression.MemberExpression@ ")],e90=[0,[17,0,[12,41,0]],r(h0)],n90=[0,[15,0],r(C0)],t90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],u90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],i90=[0,[17,0,[12,41,0]],r(h0)],f90=[0,[15,0],r(C0)],x90=r(Yr),a90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],o90=r("Flow_ast.JSX.SpreadAttribute.argument"),c90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],s90=[0,[17,0,0],r(z)],v90=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],l90=r(Xr),b90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],p90=r(tr),m90=r(Z0),_90=r(nr),y90=[0,[17,0,0],r(z)],d90=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],h90=[0,[15,0],r(C0)],k90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],w90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],E90=[0,[17,0,[12,41,0]],r(h0)],S90=[0,[15,0],r(C0)],g90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],F90=r("Flow_ast.JSX.Attribute.name"),T90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],O90=[0,[17,0,0],r(z)],I90=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],A90=r(Bn),N90=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],C90=r(tr),P90=r(Z0),D90=r(nr),L90=[0,[17,0,0],r(z)],R90=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],j90=[0,[15,0],r(C0)],G90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.Literal ("),[17,[0,r(Pe),0,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.Literal (@,")],M90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],B90=[0,[17,[0,r(Pe),0,0],[11,r(OX),[17,0,0]]],r(qU)],q90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.ExpressionContainer ("),[17,[0,r(Pe),0,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.ExpressionContainer (@,")],U90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],H90=[0,[17,[0,r(Pe),0,0],[11,r(OX),[17,0,0]]],r(qU)],X90=[0,[15,0],r(C0)],Y90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.Identifier@ ")],V90=[0,[17,0,[12,41,0]],r(h0)],z90=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.Attribute.NamespacedName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.Attribute.NamespacedName@ ")],K90=[0,[17,0,[12,41,0]],r(h0)],W90=[0,[15,0],r(C0)],J90=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$90=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Z90=[0,[17,0,[12,41,0]],r(h0)],Q90=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],r_0=r("Flow_ast.JSX.Text.value"),e_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],n_0=[0,[3,0,0],r(Yt)],t_0=[0,[17,0,0],r(z)],u_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i_0=r(o7),f_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x_0=[0,[3,0,0],r(Yt)],a_0=[0,[17,0,0],r(z)],o_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],c_0=[0,[15,0],r(C0)],s_0=[0,[15,0],r(C0)],v_0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.JSX.ExpressionContainer.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.JSX.ExpressionContainer.Expression@ ")],l_0=[0,[17,0,[12,41,0]],r(h0)],b_0=r("Flow_ast.JSX.ExpressionContainer.EmptyExpression"),p_0=[0,[15,0],r(C0)],m_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],__0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],y_0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],d_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],h_0=r("Flow_ast.JSX.ExpressionContainer.expression"),k_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],w_0=[0,[17,0,0],r(z)],E_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],S_0=r(Xr),g_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],F_0=r(tr),T_0=r(Z0),O_0=r(nr),I_0=[0,[17,0,0],r(z)],A_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],N_0=[0,[15,0],r(C0)],C_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],P_0=r("Flow_ast.JSX.NamespacedName.namespace"),D_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],L_0=[0,[17,0,0],r(z)],R_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],j_0=r(ti),G_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M_0=[0,[17,0,0],r(z)],B_0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],q_0=[0,[15,0],r(C0)],U_0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],H_0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],X_0=[0,[17,0,[12,41,0]],r(h0)],Y_0=[0,[15,0],r(C0)],V_0=r(Yr),z_0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],K_0=r("Flow_ast.JSX.Identifier.name"),W_0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],J_0=[0,[3,0,0],r(Yt)],$_0=[0,[17,0,0],r(z)],Z_0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q_0=r(Xr),ry0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ey0=r(tr),ny0=r(Z0),ty0=r(nr),uy0=[0,[17,0,0],r(z)],iy0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],fy0=[0,[15,0],r(C0)],xy0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ay0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],oy0=[0,[17,0,[12,41,0]],r(h0)],cy0=[0,[15,0],r(C0)],sy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array@ ")],vy0=[0,[17,0,[12,41,0]],r(h0)],ly0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.ArrowFunction"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.ArrowFunction@ ")],by0=[0,[17,0,[12,41,0]],r(h0)],py0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Assignment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Assignment@ ")],my0=[0,[17,0,[12,41,0]],r(h0)],_y0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Binary"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Binary@ ")],yy0=[0,[17,0,[12,41,0]],r(h0)],dy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Call"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Call@ ")],hy0=[0,[17,0,[12,41,0]],r(h0)],ky0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Class"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Class@ ")],wy0=[0,[17,0,[12,41,0]],r(h0)],Ey0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Comprehension"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Comprehension@ ")],Sy0=[0,[17,0,[12,41,0]],r(h0)],gy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Conditional"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Conditional@ ")],Fy0=[0,[17,0,[12,41,0]],r(h0)],Ty0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Function@ ")],Oy0=[0,[17,0,[12,41,0]],r(h0)],Iy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Generator"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Generator@ ")],Ay0=[0,[17,0,[12,41,0]],r(h0)],Ny0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Identifier@ ")],Cy0=[0,[17,0,[12,41,0]],r(h0)],Py0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Import"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Import@ ")],Dy0=[0,[17,0,[12,41,0]],r(h0)],Ly0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.JSXElement"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.JSXElement@ ")],Ry0=[0,[17,0,[12,41,0]],r(h0)],jy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.JSXFragment"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.JSXFragment@ ")],Gy0=[0,[17,0,[12,41,0]],r(h0)],My0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Literal@ ")],By0=[0,[17,0,[12,41,0]],r(h0)],qy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Logical"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Logical@ ")],Uy0=[0,[17,0,[12,41,0]],r(h0)],Hy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member@ ")],Xy0=[0,[17,0,[12,41,0]],r(h0)],Yy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.MetaProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.MetaProperty@ ")],Vy0=[0,[17,0,[12,41,0]],r(h0)],zy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.New"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.New@ ")],Ky0=[0,[17,0,[12,41,0]],r(h0)],Wy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object@ ")],Jy0=[0,[17,0,[12,41,0]],r(h0)],$y0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.OptionalCall"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.OptionalCall@ ")],Zy0=[0,[17,0,[12,41,0]],r(h0)],Qy0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.OptionalMember"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.OptionalMember@ ")],rd0=[0,[17,0,[12,41,0]],r(h0)],ed0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Sequence"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Sequence@ ")],nd0=[0,[17,0,[12,41,0]],r(h0)],td0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Super"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Super@ ")],ud0=[0,[17,0,[12,41,0]],r(h0)],id0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TaggedTemplate"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TaggedTemplate@ ")],fd0=[0,[17,0,[12,41,0]],r(h0)],xd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TemplateLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TemplateLiteral@ ")],ad0=[0,[17,0,[12,41,0]],r(h0)],od0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.This"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.This@ ")],cd0=[0,[17,0,[12,41,0]],r(h0)],sd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.TypeCast"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.TypeCast@ ")],vd0=[0,[17,0,[12,41,0]],r(h0)],ld0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Unary"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Unary@ ")],bd0=[0,[17,0,[12,41,0]],r(h0)],pd0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Update"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Update@ ")],md0=[0,[17,0,[12,41,0]],r(h0)],_d0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Yield"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Yield@ ")],yd0=[0,[17,0,[12,41,0]],r(h0)],dd0=[0,[15,0],r(C0)],hd0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],kd0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],wd0=[0,[17,0,[12,41,0]],r(h0)],Ed0=[0,[15,0],r(C0)],Sd0=r(Yr),gd0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fd0=r("Flow_ast.Expression.Import.argument"),Td0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Od0=[0,[17,0,0],r(z)],Id0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ad0=r(Xr),Nd0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cd0=r(tr),Pd0=r(Z0),Dd0=r(nr),Ld0=[0,[17,0,0],r(z)],Rd0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],jd0=[0,[15,0],r(C0)],Gd0=r(Yr),Md0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Bd0=r("Flow_ast.Expression.Super.comments"),qd0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ud0=r(tr),Hd0=r(Z0),Xd0=r(nr),Yd0=[0,[17,0,0],r(z)],Vd0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zd0=[0,[15,0],r(C0)],Kd0=r(Yr),Wd0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Jd0=r("Flow_ast.Expression.This.comments"),$d0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zd0=r(tr),Qd0=r(Z0),rh0=r(nr),eh0=[0,[17,0,0],r(z)],nh0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],th0=[0,[15,0],r(C0)],uh0=r(Yr),ih0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],fh0=r("Flow_ast.Expression.MetaProperty.meta"),xh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ah0=[0,[17,0,0],r(z)],oh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ch0=r(Iv),sh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vh0=[0,[17,0,0],r(z)],lh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bh0=r(Xr),ph0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mh0=r(tr),_h0=r(Z0),yh0=r(nr),dh0=[0,[17,0,0],r(z)],hh0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],kh0=[0,[15,0],r(C0)],wh0=r(Yr),Eh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Sh0=r("Flow_ast.Expression.TypeCast.expression"),gh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Fh0=[0,[17,0,0],r(z)],Th0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Oh0=r(rs),Ih0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ah0=[0,[17,0,0],r(z)],Nh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ch0=r(Xr),Ph0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dh0=r(tr),Lh0=r(Z0),Rh0=r(nr),jh0=[0,[17,0,0],r(z)],Gh0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Mh0=[0,[15,0],r(C0)],Bh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Uh0=r("Flow_ast.Expression.Generator.blocks"),Hh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xh0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Yh0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Vh0=[0,[17,0,0],r(z)],zh0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kh0=r(O4),Wh0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jh0=r(tr),$h0=r(Z0),Zh0=r(nr),Qh0=[0,[17,0,0],r(z)],rk0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ek0=[0,[15,0],r(C0)],nk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],uk0=r("Flow_ast.Expression.Comprehension.blocks"),ik0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],xk0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],ak0=[0,[17,0,0],r(z)],ok0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ck0=r(O4),sk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vk0=r(tr),lk0=r(Z0),bk0=r(nr),pk0=[0,[17,0,0],r(z)],mk0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],_k0=[0,[15,0],r(C0)],yk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],dk0=r("Flow_ast.Expression.Comprehension.Block.left"),hk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kk0=[0,[17,0,0],r(z)],wk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ek0=r(Nu),Sk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gk0=[0,[17,0,0],r(z)],Fk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tk0=r(j8),Ok0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ik0=[0,[9,0,0],r(An)],Ak0=[0,[17,0,0],r(z)],Nk0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ck0=[0,[15,0],r(C0)],Pk0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Dk0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Lk0=[0,[17,0,[12,41,0]],r(h0)],Rk0=[0,[15,0],r(C0)],jk0=r(Yr),Gk0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Mk0=r("Flow_ast.Expression.Yield.argument"),Bk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qk0=r(tr),Uk0=r(Z0),Hk0=r(nr),Xk0=[0,[17,0,0],r(z)],Yk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vk0=r(Xr),zk0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kk0=r(tr),Wk0=r(Z0),Jk0=r(nr),$k0=[0,[17,0,0],r(z)],Zk0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qk0=r(yY),rw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ew0=[0,[9,0,0],r(An)],nw0=[0,[17,0,0],r(z)],tw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uw0=r("result_out"),iw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fw0=[0,[17,0,0],r(z)],xw0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aw0=[0,[15,0],r(C0)],ow0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],cw0=r("Flow_ast.Expression.OptionalMember.member"),sw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vw0=[0,[17,0,0],r(z)],lw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bw0=r(yU),pw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mw0=[0,[17,0,0],r(z)],_w0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yw0=r(Bu),dw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hw0=[0,[9,0,0],r(An)],kw0=[0,[17,0,0],r(z)],ww0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ew0=[0,[15,0],r(C0)],Sw0=r(Yr),gw0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fw0=r("Flow_ast.Expression.Member._object"),Tw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ow0=[0,[17,0,0],r(z)],Iw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Aw0=r(Iv),Nw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Cw0=[0,[17,0,0],r(z)],Pw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Dw0=r(Xr),Lw0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rw0=r(tr),jw0=r(Z0),Gw0=r(nr),Mw0=[0,[17,0,0],r(z)],Bw0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],qw0=[0,[15,0],r(C0)],Uw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyIdentifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyIdentifier@ ")],Hw0=[0,[17,0,[12,41,0]],r(h0)],Xw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyPrivateName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyPrivateName@ ")],Yw0=[0,[17,0,[12,41,0]],r(h0)],Vw0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Member.PropertyExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Member.PropertyExpression@ ")],zw0=[0,[17,0,[12,41,0]],r(h0)],Kw0=[0,[15,0],r(C0)],Ww0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Jw0=r("Flow_ast.Expression.OptionalCall.call"),$w0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zw0=[0,[17,0,0],r(z)],Qw0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rE0=r(yU),eE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nE0=[0,[17,0,0],r(z)],tE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uE0=r(Bu),iE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fE0=[0,[9,0,0],r(An)],xE0=[0,[17,0,0],r(z)],aE0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],oE0=[0,[15,0],r(C0)],cE0=r(Yr),sE0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vE0=r("Flow_ast.Expression.Call.callee"),lE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bE0=[0,[17,0,0],r(z)],pE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mE0=r(Z2),_E0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yE0=r(tr),dE0=r(Z0),hE0=r(nr),kE0=[0,[17,0,0],r(z)],wE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EE0=r(C2),SE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gE0=[0,[17,0,0],r(z)],FE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TE0=r(Xr),OE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IE0=r(tr),AE0=r(Z0),NE0=r(nr),CE0=[0,[17,0,0],r(z)],PE0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],DE0=[0,[15,0],r(C0)],LE0=r(Yr),RE0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],jE0=r("Flow_ast.Expression.New.callee"),GE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ME0=[0,[17,0,0],r(z)],BE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qE0=r(Z2),UE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HE0=r(tr),XE0=r(Z0),YE0=r(nr),VE0=[0,[17,0,0],r(z)],zE0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KE0=r(C2),WE0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JE0=r(tr),$E0=r(Z0),ZE0=r(nr),QE0=[0,[17,0,0],r(z)],rS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eS0=r(Xr),nS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tS0=r(tr),uS0=r(Z0),iS0=r(nr),fS0=[0,[17,0,0],r(z)],xS0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aS0=[0,[15,0],r(C0)],oS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],sS0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],vS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],bS0=r("Flow_ast.Expression.ArgList.arguments"),pS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],_S0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],yS0=[0,[17,0,0],r(z)],dS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hS0=r(Xr),kS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wS0=r(tr),ES0=r(Z0),SS0=r(nr),gS0=[0,[17,0,0],r(z)],FS0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],TS0=[0,[15,0],r(C0)],OS0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],IS0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],AS0=[0,[17,0,[12,41,0]],r(h0)],NS0=[0,[15,0],r(C0)],CS0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Expression@ ")],PS0=[0,[17,0,[12,41,0]],r(h0)],DS0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Spread"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Spread@ ")],LS0=[0,[17,0,[12,41,0]],r(h0)],RS0=[0,[15,0],r(C0)],jS0=r(Yr),GS0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],MS0=r("Flow_ast.Expression.Conditional.test"),BS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qS0=[0,[17,0,0],r(z)],US0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HS0=r(kv),XS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YS0=[0,[17,0,0],r(z)],VS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zS0=r(_3),KS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WS0=[0,[17,0,0],r(z)],JS0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$S0=r(Xr),ZS0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QS0=r(tr),rg0=r(Z0),eg0=r(nr),ng0=[0,[17,0,0],r(z)],tg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ug0=[0,[15,0],r(C0)],ig0=r(Yr),fg0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],xg0=r("Flow_ast.Expression.Logical.operator"),ag0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],og0=[0,[17,0,0],r(z)],cg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sg0=r(li),vg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lg0=[0,[17,0,0],r(z)],bg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pg0=r(Nu),mg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_g0=[0,[17,0,0],r(z)],yg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dg0=r(Xr),hg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kg0=r(tr),wg0=r(Z0),Eg0=r(nr),Sg0=[0,[17,0,0],r(z)],gg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Fg0=[0,[15,0],r(C0)],Tg0=r("Flow_ast.Expression.Logical.Or"),Og0=r("Flow_ast.Expression.Logical.And"),Ig0=r("Flow_ast.Expression.Logical.NullishCoalesce"),Ag0=[0,[15,0],r(C0)],Ng0=r(Yr),Cg0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Pg0=r("Flow_ast.Expression.Update.operator"),Dg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lg0=[0,[17,0,0],r(z)],Rg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jg0=r(v7),Gg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mg0=[0,[17,0,0],r(z)],Bg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qg0=r(XE),Ug0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hg0=[0,[9,0,0],r(An)],Xg0=[0,[17,0,0],r(z)],Yg0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Vg0=r(Xr),zg0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kg0=r(tr),Wg0=r(Z0),Jg0=r(nr),$g0=[0,[17,0,0],r(z)],Zg0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Qg0=[0,[15,0],r(C0)],rF0=r("Flow_ast.Expression.Update.Decrement"),eF0=r("Flow_ast.Expression.Update.Increment"),nF0=[0,[15,0],r(C0)],tF0=r(Yr),uF0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],iF0=r("Flow_ast.Expression.Assignment.operator"),fF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xF0=r(tr),aF0=r(Z0),oF0=r(nr),cF0=[0,[17,0,0],r(z)],sF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vF0=r(li),lF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bF0=[0,[17,0,0],r(z)],pF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mF0=r(Nu),_F0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yF0=[0,[17,0,0],r(z)],dF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hF0=r(Xr),kF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wF0=r(tr),EF0=r(Z0),SF0=r(nr),gF0=[0,[17,0,0],r(z)],FF0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],TF0=[0,[15,0],r(C0)],OF0=r("Flow_ast.Expression.Assignment.PlusAssign"),IF0=r("Flow_ast.Expression.Assignment.MinusAssign"),AF0=r("Flow_ast.Expression.Assignment.MultAssign"),NF0=r("Flow_ast.Expression.Assignment.ExpAssign"),CF0=r("Flow_ast.Expression.Assignment.DivAssign"),PF0=r("Flow_ast.Expression.Assignment.ModAssign"),DF0=r("Flow_ast.Expression.Assignment.LShiftAssign"),LF0=r("Flow_ast.Expression.Assignment.RShiftAssign"),RF0=r("Flow_ast.Expression.Assignment.RShift3Assign"),jF0=r("Flow_ast.Expression.Assignment.BitOrAssign"),GF0=r("Flow_ast.Expression.Assignment.BitXorAssign"),MF0=r("Flow_ast.Expression.Assignment.BitAndAssign"),BF0=r("Flow_ast.Expression.Assignment.NullishAssign"),qF0=r("Flow_ast.Expression.Assignment.AndAssign"),UF0=r("Flow_ast.Expression.Assignment.OrAssign"),HF0=[0,[15,0],r(C0)],XF0=r(Yr),YF0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],VF0=r("Flow_ast.Expression.Binary.operator"),zF0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KF0=[0,[17,0,0],r(z)],WF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JF0=r(li),$F0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZF0=[0,[17,0,0],r(z)],QF0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rT0=r(Nu),eT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nT0=[0,[17,0,0],r(z)],tT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uT0=r(Xr),iT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fT0=r(tr),xT0=r(Z0),aT0=r(nr),oT0=[0,[17,0,0],r(z)],cT0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sT0=[0,[15,0],r(C0)],vT0=r("Flow_ast.Expression.Binary.Equal"),lT0=r("Flow_ast.Expression.Binary.NotEqual"),bT0=r("Flow_ast.Expression.Binary.StrictEqual"),pT0=r("Flow_ast.Expression.Binary.StrictNotEqual"),mT0=r("Flow_ast.Expression.Binary.LessThan"),_T0=r("Flow_ast.Expression.Binary.LessThanEqual"),yT0=r("Flow_ast.Expression.Binary.GreaterThan"),dT0=r("Flow_ast.Expression.Binary.GreaterThanEqual"),hT0=r("Flow_ast.Expression.Binary.LShift"),kT0=r("Flow_ast.Expression.Binary.RShift"),wT0=r("Flow_ast.Expression.Binary.RShift3"),ET0=r("Flow_ast.Expression.Binary.Plus"),ST0=r("Flow_ast.Expression.Binary.Minus"),gT0=r("Flow_ast.Expression.Binary.Mult"),FT0=r("Flow_ast.Expression.Binary.Exp"),TT0=r("Flow_ast.Expression.Binary.Div"),OT0=r("Flow_ast.Expression.Binary.Mod"),IT0=r("Flow_ast.Expression.Binary.BitOr"),AT0=r("Flow_ast.Expression.Binary.Xor"),NT0=r("Flow_ast.Expression.Binary.BitAnd"),CT0=r("Flow_ast.Expression.Binary.In"),PT0=r("Flow_ast.Expression.Binary.Instanceof"),DT0=[0,[15,0],r(C0)],LT0=r(Yr),RT0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],jT0=r("Flow_ast.Expression.Unary.operator"),GT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],MT0=[0,[17,0,0],r(z)],BT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qT0=r(v7),UT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HT0=[0,[17,0,0],r(z)],XT0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],YT0=r(Xr),VT0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zT0=r(tr),KT0=r(Z0),WT0=r(nr),JT0=[0,[17,0,0],r(z)],$T0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ZT0=[0,[15,0],r(C0)],QT0=r("Flow_ast.Expression.Unary.Minus"),rO0=r("Flow_ast.Expression.Unary.Plus"),eO0=r("Flow_ast.Expression.Unary.Not"),nO0=r("Flow_ast.Expression.Unary.BitNot"),tO0=r("Flow_ast.Expression.Unary.Typeof"),uO0=r("Flow_ast.Expression.Unary.Void"),iO0=r("Flow_ast.Expression.Unary.Delete"),fO0=r("Flow_ast.Expression.Unary.Await"),xO0=[0,[15,0],r(C0)],aO0=r(Yr),oO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],sO0=r("Flow_ast.Expression.Sequence.expressions"),vO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pO0=[0,[17,0,0],r(z)],mO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_O0=r(Xr),yO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dO0=r(tr),hO0=r(Z0),kO0=r(nr),wO0=[0,[17,0,0],r(z)],EO0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SO0=[0,[15,0],r(C0)],gO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],TO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],OO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],AO0=r("Flow_ast.Expression.Object.properties"),NO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],PO0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],DO0=[0,[17,0,0],r(z)],LO0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RO0=r(Xr),jO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GO0=r(tr),MO0=r(Z0),BO0=r(nr),qO0=[0,[17,0,0],r(z)],UO0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],HO0=[0,[15,0],r(C0)],XO0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property@ ")],YO0=[0,[17,0,[12,41,0]],r(h0)],VO0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.SpreadProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.SpreadProperty@ ")],zO0=[0,[17,0,[12,41,0]],r(h0)],KO0=[0,[15,0],r(C0)],WO0=r(Yr),JO0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],$O0=r("Flow_ast.Expression.Object.SpreadProperty.argument"),ZO0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QO0=[0,[17,0,0],r(z)],rI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eI0=r(Xr),nI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tI0=r(tr),uI0=r(Z0),iI0=r(nr),fI0=[0,[17,0,0],r(z)],xI0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aI0=[0,[15,0],r(C0)],oI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],cI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],sI0=[0,[17,0,[12,41,0]],r(h0)],vI0=[0,[15,0],r(C0)],lI0=r(Yr),bI0=r(Yr),pI0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Init {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Init {@,")],mI0=r(ui),_I0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yI0=[0,[17,0,0],r(z)],dI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hI0=r(Bn),kI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wI0=[0,[17,0,0],r(z)],EI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],SI0=r(x6),gI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FI0=[0,[9,0,0],r(An)],TI0=[0,[17,0,0],r(z)],OI0=[0,[17,0,[12,br,0]],r(V6)],II0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Method {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Method {@,")],AI0=r(ui),NI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CI0=[0,[17,0,0],r(z)],PI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DI0=r(Bn),LI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],jI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],GI0=[0,[17,0,[12,41,0]],r(h0)],MI0=[0,[17,0,0],r(z)],BI0=[0,[17,0,[12,br,0]],r(V6)],qI0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Get {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Get {@,")],UI0=r(ui),HI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],XI0=[0,[17,0,0],r(z)],YI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],VI0=r(Bn),zI0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KI0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],WI0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],JI0=[0,[17,0,[12,41,0]],r(h0)],$I0=[0,[17,0,0],r(z)],ZI0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],QI0=r(Xr),rA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eA0=r(tr),nA0=r(Z0),tA0=r(nr),uA0=[0,[17,0,0],r(z)],iA0=[0,[17,0,[12,br,0]],r(V6)],fA0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Set {"),[17,[0,r(Pe),0,0],0]]],r("@[<2>Flow_ast.Expression.Object.Property.Set {@,")],xA0=r(ui),aA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oA0=[0,[17,0,0],r(z)],cA0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sA0=r(Bn),vA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],bA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],pA0=[0,[17,0,[12,41,0]],r(h0)],mA0=[0,[17,0,0],r(z)],_A0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yA0=r(Xr),dA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hA0=r(tr),kA0=r(Z0),wA0=r(nr),EA0=[0,[17,0,0],r(z)],SA0=[0,[17,0,[12,br,0]],r(V6)],gA0=[0,[15,0],r(C0)],FA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],TA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],OA0=[0,[17,0,[12,41,0]],r(h0)],IA0=[0,[15,0],r(C0)],AA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Literal@ ")],NA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],CA0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],PA0=[0,[17,0,[12,41,0]],r(h0)],DA0=[0,[17,0,[12,41,0]],r(h0)],LA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Identifier@ ")],RA0=[0,[17,0,[12,41,0]],r(h0)],jA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.PrivateName"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.PrivateName@ ")],GA0=[0,[17,0,[12,41,0]],r(h0)],MA0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Object.Property.Computed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Object.Property.Computed@ ")],BA0=[0,[17,0,[12,41,0]],r(h0)],qA0=[0,[15,0],r(C0)],UA0=r(Yr),HA0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],XA0=r("Flow_ast.Expression.TaggedTemplate.tag"),YA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],VA0=[0,[17,0,0],r(z)],zA0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KA0=r(OY),WA0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],JA0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$A0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],ZA0=[0,[17,0,[12,41,0]],r(h0)],QA0=[0,[17,0,0],r(z)],rN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eN0=r(Xr),nN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tN0=r(tr),uN0=r(Z0),iN0=r(nr),fN0=[0,[17,0,0],r(z)],xN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aN0=[0,[15,0],r(C0)],oN0=r(Yr),cN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],lN0=r("Flow_ast.Expression.TemplateLiteral.quasis"),bN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],mN0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],_N0=[0,[17,0,0],r(z)],yN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dN0=r(Ug),hN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],wN0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],EN0=[0,[17,0,0],r(z)],SN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gN0=r(Xr),FN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],TN0=r(tr),ON0=r(Z0),IN0=r(nr),AN0=[0,[17,0,0],r(z)],NN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],CN0=[0,[15,0],r(C0)],PN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],DN0=r("Flow_ast.Expression.TemplateLiteral.Element.value"),LN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RN0=[0,[17,0,0],r(z)],jN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GN0=r(bU),MN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BN0=[0,[9,0,0],r(An)],qN0=[0,[17,0,0],r(z)],UN0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],HN0=[0,[15,0],r(C0)],XN0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],YN0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],VN0=[0,[17,0,[12,41,0]],r(h0)],zN0=[0,[15,0],r(C0)],KN0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],WN0=r("Flow_ast.Expression.TemplateLiteral.Element.raw"),JN0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$N0=[0,[3,0,0],r(Yt)],ZN0=[0,[17,0,0],r(z)],QN0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rC0=r(GY),eC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nC0=[0,[3,0,0],r(Yt)],tC0=[0,[17,0,0],r(z)],uC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],iC0=[0,[15,0],r(C0)],fC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],aC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],oC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],sC0=r("Flow_ast.Expression.Array.elements"),vC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pC0=[0,[17,0,0],r(z)],mC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_C0=r(Xr),yC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dC0=r(tr),hC0=r(Z0),kC0=r(nr),wC0=[0,[17,0,0],r(z)],EC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SC0=[0,[15,0],r(C0)],gC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Expression@ ")],FC0=[0,[17,0,[12,41,0]],r(h0)],TC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Spread"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Spread@ ")],OC0=[0,[17,0,[12,41,0]],r(h0)],IC0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.Array.Hole"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.Array.Hole@ ")],AC0=[0,[17,0,[12,41,0]],r(h0)],NC0=[0,[15,0],r(C0)],CC0=r(Yr),PC0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],DC0=r("Flow_ast.Expression.SpreadElement.argument"),LC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RC0=[0,[17,0,0],r(z)],jC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GC0=r(Xr),MC0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BC0=r(tr),qC0=r(Z0),UC0=r(nr),HC0=[0,[17,0,0],r(z)],XC0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],YC0=[0,[15,0],r(C0)],VC0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],zC0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],KC0=[0,[17,0,[12,41,0]],r(h0)],WC0=[0,[15,0],r(C0)],JC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$C0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ZC0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],QC0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],eP0=r("Flow_ast.Expression.CallTypeArgs.arguments"),nP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],uP0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],iP0=[0,[17,0,0],r(z)],fP0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xP0=r(Xr),aP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oP0=r(tr),cP0=r(Z0),sP0=r(nr),vP0=[0,[17,0,0],r(z)],lP0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],bP0=[0,[15,0],r(C0)],pP0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],mP0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],_P0=[0,[17,0,[12,41,0]],r(h0)],yP0=[0,[15,0],r(C0)],dP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.CallTypeArg.Explicit"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.CallTypeArg.Explicit@ ")],hP0=[0,[17,0,[12,41,0]],r(h0)],kP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Expression.CallTypeArg.Implicit"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Expression.CallTypeArg.Implicit@ ")],wP0=[0,[17,0,[12,41,0]],r(h0)],EP0=[0,[15,0],r(C0)],SP0=r(Yr),gP0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],FP0=r("Flow_ast.Expression.CallTypeArg.Implicit.comments"),TP0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OP0=r(tr),IP0=r(Z0),AP0=r(nr),NP0=[0,[17,0,0],r(z)],CP0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],PP0=[0,[15,0],r(C0)],DP0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],LP0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],RP0=[0,[17,0,[12,41,0]],r(h0)],jP0=[0,[15,0],r(C0)],GP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Block"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Block@ ")],MP0=[0,[17,0,[12,41,0]],r(h0)],BP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Break"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Break@ ")],qP0=[0,[17,0,[12,41,0]],r(h0)],UP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ClassDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ClassDeclaration@ ")],HP0=[0,[17,0,[12,41,0]],r(h0)],XP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Continue"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Continue@ ")],YP0=[0,[17,0,[12,41,0]],r(h0)],VP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Debugger"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Debugger@ ")],zP0=[0,[17,0,[12,41,0]],r(h0)],KP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareClass"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareClass@ ")],WP0=[0,[17,0,[12,41,0]],r(h0)],JP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration@ ")],$P0=[0,[17,0,[12,41,0]],r(h0)],ZP0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareFunction"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareFunction@ ")],QP0=[0,[17,0,[12,41,0]],r(h0)],rD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareInterface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareInterface@ ")],eD0=[0,[17,0,[12,41,0]],r(h0)],nD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule@ ")],tD0=[0,[17,0,[12,41,0]],r(h0)],uD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModuleExports"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModuleExports@ ")],iD0=[0,[17,0,[12,41,0]],r(h0)],fD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareTypeAlias"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareTypeAlias@ ")],xD0=[0,[17,0,[12,41,0]],r(h0)],aD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareOpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareOpaqueType@ ")],oD0=[0,[17,0,[12,41,0]],r(h0)],cD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareVariable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareVariable@ ")],sD0=[0,[17,0,[12,41,0]],r(h0)],vD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DoWhile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DoWhile@ ")],lD0=[0,[17,0,[12,41,0]],r(h0)],bD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Empty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Empty@ ")],pD0=[0,[17,0,[12,41,0]],r(h0)],mD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration@ ")],_D0=[0,[17,0,[12,41,0]],r(h0)],yD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration@ ")],dD0=[0,[17,0,[12,41,0]],r(h0)],hD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration@ ")],kD0=[0,[17,0,[12,41,0]],r(h0)],wD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Expression@ ")],ED0=[0,[17,0,[12,41,0]],r(h0)],SD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For@ ")],gD0=[0,[17,0,[12,41,0]],r(h0)],FD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn@ ")],TD0=[0,[17,0,[12,41,0]],r(h0)],OD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf@ ")],ID0=[0,[17,0,[12,41,0]],r(h0)],AD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.FunctionDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.FunctionDeclaration@ ")],ND0=[0,[17,0,[12,41,0]],r(h0)],CD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.If"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.If@ ")],PD0=[0,[17,0,[12,41,0]],r(h0)],DD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration@ ")],LD0=[0,[17,0,[12,41,0]],r(h0)],RD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.InterfaceDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.InterfaceDeclaration@ ")],jD0=[0,[17,0,[12,41,0]],r(h0)],GD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Labeled"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Labeled@ ")],MD0=[0,[17,0,[12,41,0]],r(h0)],BD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Return"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Return@ ")],qD0=[0,[17,0,[12,41,0]],r(h0)],UD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Switch"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Switch@ ")],HD0=[0,[17,0,[12,41,0]],r(h0)],XD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Throw"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Throw@ ")],YD0=[0,[17,0,[12,41,0]],r(h0)],VD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.Try"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.Try@ ")],zD0=[0,[17,0,[12,41,0]],r(h0)],KD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.TypeAlias"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.TypeAlias@ ")],WD0=[0,[17,0,[12,41,0]],r(h0)],JD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.OpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.OpaqueType@ ")],$D0=[0,[17,0,[12,41,0]],r(h0)],ZD0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.VariableDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.VariableDeclaration@ ")],QD0=[0,[17,0,[12,41,0]],r(h0)],rL0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.While"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.While@ ")],eL0=[0,[17,0,[12,41,0]],r(h0)],nL0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.With"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.With@ ")],tL0=[0,[17,0,[12,41,0]],r(h0)],uL0=[0,[15,0],r(C0)],iL0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],fL0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],xL0=[0,[17,0,[12,41,0]],r(h0)],aL0=[0,[15,0],r(C0)],oL0=r("Flow_ast.Statement.ExportValue"),cL0=r("Flow_ast.Statement.ExportType"),sL0=[0,[15,0],r(C0)],vL0=r(Yr),lL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],bL0=r("Flow_ast.Statement.Empty.comments"),pL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mL0=r(tr),_L0=r(Z0),yL0=r(nr),dL0=[0,[17,0,0],r(z)],hL0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],kL0=[0,[15,0],r(C0)],wL0=r(Yr),EL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],SL0=r("Flow_ast.Statement.Expression.expression"),gL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FL0=[0,[17,0,0],r(z)],TL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],OL0=r(hn),IL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],AL0=r(tr),NL0=[0,[3,0,0],r(Yt)],CL0=r(Z0),PL0=r(nr),DL0=[0,[17,0,0],r(z)],LL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RL0=r(Xr),jL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GL0=r(tr),ML0=r(Z0),BL0=r(nr),qL0=[0,[17,0,0],r(z)],UL0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],HL0=[0,[15,0],r(C0)],XL0=r(Yr),YL0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],VL0=r("Flow_ast.Statement.ImportDeclaration.import_kind"),zL0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],KL0=[0,[17,0,0],r(z)],WL0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JL0=r(vc),$L0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZL0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],QL0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],rR0=[0,[17,0,[12,41,0]],r(h0)],eR0=[0,[17,0,0],r(z)],nR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tR0=r(mi),uR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iR0=r(tr),fR0=r(Z0),xR0=r(nr),aR0=[0,[17,0,0],r(z)],oR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cR0=r(Cv),sR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vR0=r(tr),lR0=r(Z0),bR0=r(nr),pR0=[0,[17,0,0],r(z)],mR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_R0=r(Xr),yR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dR0=r(tr),hR0=r(Z0),kR0=r(nr),wR0=[0,[17,0,0],r(z)],ER0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SR0=[0,[15,0],r(C0)],gR0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],FR0=r("Flow_ast.Statement.ImportDeclaration.kind"),TR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OR0=r(tr),IR0=r(Z0),AR0=r(nr),NR0=[0,[17,0,0],r(z)],CR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PR0=r(B2),DR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LR0=r(tr),RR0=r(Z0),jR0=r(nr),GR0=[0,[17,0,0],r(z)],MR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BR0=r("remote"),qR0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UR0=[0,[17,0,0],r(z)],HR0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],XR0=[0,[15,0],r(C0)],YR0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],VR0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamedSpecifiers@ ")],zR0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],KR0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],WR0=[0,[17,0,[12,41,0]],r(h0)],JR0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ImportDeclaration.ImportNamespaceSpecifier@ ")],$R0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ZR0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],QR0=[0,[17,0,[12,41,0]],r(h0)],rj0=[0,[17,0,[12,41,0]],r(h0)],ej0=[0,[15,0],r(C0)],nj0=r("Flow_ast.Statement.ImportDeclaration.ImportType"),tj0=r("Flow_ast.Statement.ImportDeclaration.ImportTypeof"),uj0=r("Flow_ast.Statement.ImportDeclaration.ImportValue"),ij0=[0,[15,0],r(C0)],fj0=r(Yr),xj0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],aj0=r("Flow_ast.Statement.DeclareExportDeclaration.default"),oj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cj0=r(tr),sj0=r(Z0),vj0=r(nr),lj0=[0,[17,0,0],r(z)],bj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pj0=r(P2),mj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_j0=r(tr),yj0=r(Z0),dj0=r(nr),hj0=[0,[17,0,0],r(z)],kj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wj0=r(Cv),Ej0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sj0=r(tr),gj0=r(Z0),Fj0=r(nr),Tj0=[0,[17,0,0],r(z)],Oj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ij0=r(vc),Aj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nj0=r(tr),Cj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Pj0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Dj0=[0,[17,0,[12,41,0]],r(h0)],Lj0=r(Z0),Rj0=r(nr),jj0=[0,[17,0,0],r(z)],Gj0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Mj0=r(Xr),Bj0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qj0=r(tr),Uj0=r(Z0),Hj0=r(nr),Xj0=[0,[17,0,0],r(z)],Yj0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Vj0=[0,[15,0],r(C0)],zj0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Variable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Variable@ ")],Kj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Wj0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Jj0=[0,[17,0,[12,41,0]],r(h0)],$j0=[0,[17,0,[12,41,0]],r(h0)],Zj0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Function@ ")],Qj0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],rG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],eG0=[0,[17,0,[12,41,0]],r(h0)],nG0=[0,[17,0,[12,41,0]],r(h0)],tG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Class"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Class@ ")],uG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],iG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],fG0=[0,[17,0,[12,41,0]],r(h0)],xG0=[0,[17,0,[12,41,0]],r(h0)],aG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.DefaultType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.DefaultType@ ")],oG0=[0,[17,0,[12,41,0]],r(h0)],cG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.NamedType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedType@ ")],sG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],vG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],lG0=[0,[17,0,[12,41,0]],r(h0)],bG0=[0,[17,0,[12,41,0]],r(h0)],pG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.NamedOpaqueType@ ")],mG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],_G0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],yG0=[0,[17,0,[12,41,0]],r(h0)],dG0=[0,[17,0,[12,41,0]],r(h0)],hG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareExportDeclaration.Interface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareExportDeclaration.Interface@ ")],kG0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],wG0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],EG0=[0,[17,0,[12,41,0]],r(h0)],SG0=[0,[17,0,[12,41,0]],r(h0)],gG0=[0,[15,0],r(C0)],FG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration.Declaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Declaration@ ")],TG0=[0,[17,0,[12,41,0]],r(h0)],OG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportDefaultDeclaration.Expression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportDefaultDeclaration.Expression@ ")],IG0=[0,[17,0,[12,41,0]],r(h0)],AG0=[0,[15,0],r(C0)],NG0=r(Yr),CG0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],PG0=r("Flow_ast.Statement.ExportDefaultDeclaration.default"),DG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LG0=[0,[17,0,0],r(z)],RG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jG0=r(P2),GG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],MG0=[0,[17,0,0],r(z)],BG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qG0=r(Xr),UG0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HG0=r(tr),XG0=r(Z0),YG0=r(nr),VG0=[0,[17,0,0],r(z)],zG0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],KG0=[0,[15,0],r(C0)],WG0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JG0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifiers@ ")],$G0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ZG0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],QG0=[0,[17,0,[12,41,0]],r(h0)],rM0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ExportNamedDeclaration.ExportBatchSpecifier@ ")],eM0=[0,[17,0,[12,41,0]],r(h0)],nM0=[0,[15,0],r(C0)],tM0=r(Yr),uM0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],iM0=r("Flow_ast.Statement.ExportNamedDeclaration.declaration"),fM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xM0=r(tr),aM0=r(Z0),oM0=r(nr),cM0=[0,[17,0,0],r(z)],sM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],vM0=r(Cv),lM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bM0=r(tr),pM0=r(Z0),mM0=r(nr),_M0=[0,[17,0,0],r(z)],yM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dM0=r(vc),hM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kM0=r(tr),wM0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],EM0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],SM0=[0,[17,0,[12,41,0]],r(h0)],gM0=r(Z0),FM0=r(nr),TM0=[0,[17,0,0],r(z)],OM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IM0=r("export_kind"),AM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],NM0=[0,[17,0,0],r(z)],CM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PM0=r(Xr),DM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LM0=r(tr),RM0=r(Z0),jM0=r(nr),GM0=[0,[17,0,0],r(z)],MM0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],BM0=[0,[15,0],r(C0)],qM0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],UM0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],HM0=r(tr),XM0=r(Z0),YM0=r(nr),VM0=[0,[17,0,[12,41,0]],r(h0)],zM0=[0,[15,0],r(C0)],KM0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],WM0=r("Flow_ast.Statement.ExportNamedDeclaration.ExportSpecifier.local"),JM0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$M0=[0,[17,0,0],r(z)],ZM0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],QM0=r(A4),rB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eB0=r(tr),nB0=r(Z0),tB0=r(nr),uB0=[0,[17,0,0],r(z)],iB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],fB0=[0,[15,0],r(C0)],xB0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],aB0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],oB0=[0,[17,0,[12,41,0]],r(h0)],cB0=[0,[15,0],r(C0)],sB0=r(Yr),vB0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],lB0=r("Flow_ast.Statement.DeclareModuleExports.annot"),bB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pB0=[0,[17,0,0],r(z)],mB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_B0=r(Xr),yB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dB0=r(tr),hB0=r(Z0),kB0=r(nr),wB0=[0,[17,0,0],r(z)],EB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],SB0=[0,[15,0],r(C0)],gB0=r(Yr),FB0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],TB0=r("Flow_ast.Statement.DeclareModule.id"),OB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IB0=[0,[17,0,0],r(z)],AB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],NB0=r(Wn),CB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],PB0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],DB0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],LB0=[0,[17,0,[12,41,0]],r(h0)],RB0=[0,[17,0,0],r(z)],jB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GB0=r(Zc),MB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],BB0=[0,[17,0,0],r(z)],qB0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],UB0=r(Xr),HB0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],XB0=r(tr),YB0=r(Z0),VB0=r(nr),zB0=[0,[17,0,0],r(z)],KB0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],WB0=[0,[15,0],r(C0)],JB0=r("Flow_ast.Statement.DeclareModule.ES"),$B0=r("Flow_ast.Statement.DeclareModule.CommonJS"),ZB0=[0,[15,0],r(C0)],QB0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule.Identifier"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule.Identifier@ ")],rq0=[0,[17,0,[12,41,0]],r(h0)],eq0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.DeclareModule.Literal"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.DeclareModule.Literal@ ")],nq0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],tq0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],uq0=[0,[17,0,[12,41,0]],r(h0)],iq0=[0,[17,0,[12,41,0]],r(h0)],fq0=[0,[15,0],r(C0)],xq0=r(Yr),aq0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],oq0=r("Flow_ast.Statement.DeclareFunction.id"),cq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sq0=[0,[17,0,0],r(z)],vq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lq0=r(rs),bq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pq0=[0,[17,0,0],r(z)],mq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],_q0=r(Qu),yq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dq0=r(tr),hq0=r(Z0),kq0=r(nr),wq0=[0,[17,0,0],r(z)],Eq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Sq0=r(Xr),gq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Fq0=r(tr),Tq0=r(Z0),Oq0=r(nr),Iq0=[0,[17,0,0],r(z)],Aq0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Nq0=[0,[15,0],r(C0)],Cq0=r(Yr),Pq0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Dq0=r("Flow_ast.Statement.DeclareVariable.id"),Lq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Rq0=[0,[17,0,0],r(z)],jq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gq0=r(rs),Mq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bq0=[0,[17,0,0],r(z)],qq0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uq0=r(Xr),Hq0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xq0=r(tr),Yq0=r(Z0),Vq0=r(nr),zq0=[0,[17,0,0],r(z)],Kq0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Wq0=[0,[15,0],r(C0)],Jq0=r(Yr),$q0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Zq0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Qq0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],rU0=[0,[17,0,[12,41,0]],r(h0)],eU0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],nU0=r("Flow_ast.Statement.DeclareClass.id"),tU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uU0=[0,[17,0,0],r(z)],iU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fU0=r(sv),xU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],aU0=r(tr),oU0=r(Z0),cU0=r(nr),sU0=[0,[17,0,0],r(z)],vU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lU0=r(Wn),bU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],mU0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],_U0=[0,[17,0,[12,41,0]],r(h0)],yU0=[0,[17,0,0],r(z)],dU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hU0=r(C7),kU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wU0=r(tr),EU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],SU0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],gU0=[0,[17,0,[12,41,0]],r(h0)],FU0=r(Z0),TU0=r(nr),OU0=[0,[17,0,0],r(z)],IU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],AU0=r(Vy),NU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CU0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],PU0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],DU0=[0,[17,0,0],r(z)],LU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RU0=r(gs),jU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GU0=r(tr),MU0=r(Z0),BU0=r(nr),qU0=[0,[17,0,0],r(z)],UU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HU0=r(Xr),XU0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YU0=r(tr),VU0=r(Z0),zU0=r(nr),KU0=[0,[17,0,0],r(z)],WU0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],JU0=[0,[15,0],r(C0)],$U0=r(Yr),ZU0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],QU0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],rH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],eH0=[0,[17,0,[12,41,0]],r(h0)],nH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],tH0=r("Flow_ast.Statement.Interface.id"),uH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iH0=[0,[17,0,0],r(z)],fH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xH0=r(sv),aH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oH0=r(tr),cH0=r(Z0),sH0=r(nr),vH0=[0,[17,0,0],r(z)],lH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bH0=r(C7),pH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],_H0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],yH0=[0,[17,0,0],r(z)],dH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hH0=r(Wn),kH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wH0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],EH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],SH0=[0,[17,0,[12,41,0]],r(h0)],gH0=[0,[17,0,0],r(z)],FH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TH0=r(Xr),OH0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IH0=r(tr),AH0=r(Z0),NH0=r(nr),CH0=[0,[17,0,0],r(z)],PH0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],DH0=[0,[15,0],r(C0)],LH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.BooleanBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.BooleanBody@ ")],RH0=[0,[17,0,[12,41,0]],r(h0)],jH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.NumberBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.NumberBody@ ")],GH0=[0,[17,0,[12,41,0]],r(h0)],MH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody@ ")],BH0=[0,[17,0,[12,41,0]],r(h0)],qH0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.SymbolBody"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.SymbolBody@ ")],UH0=[0,[17,0,[12,41,0]],r(h0)],HH0=[0,[15,0],r(C0)],XH0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],YH0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],VH0=[0,[17,0,[12,41,0]],r(h0)],zH0=[0,[15,0],r(C0)],KH0=r(Yr),WH0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],JH0=r("Flow_ast.Statement.EnumDeclaration.id"),$H0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZH0=[0,[17,0,0],r(z)],QH0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rX0=r(Wn),eX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nX0=[0,[17,0,0],r(z)],tX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uX0=r(Xr),iX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fX0=r(tr),xX0=r(Z0),aX0=r(nr),oX0=[0,[17,0,0],r(z)],cX0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sX0=[0,[15,0],r(C0)],vX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],bX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],pX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],_X0=r("Flow_ast.Statement.EnumDeclaration.SymbolBody.members"),yX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],hX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],kX0=[0,[17,0,0],r(z)],wX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EX0=r(E4),SX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gX0=[0,[9,0,0],r(An)],FX0=[0,[17,0,0],r(z)],TX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],OX0=r(Xr),IX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],AX0=r(tr),NX0=r(Z0),CX0=r(nr),PX0=[0,[17,0,0],r(z)],DX0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],LX0=[0,[15,0],r(C0)],RX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],GX0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Defaulted@ ")],MX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],BX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],qX0=[0,[17,0,[12,41,0]],r(h0)],UX0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.EnumDeclaration.StringBody.Initialized"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.EnumDeclaration.StringBody.Initialized@ ")],HX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],XX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],YX0=[0,[17,0,[12,41,0]],r(h0)],VX0=[0,[15,0],r(C0)],zX0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],KX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],WX0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],JX0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],$X0=r("Flow_ast.Statement.EnumDeclaration.StringBody.members"),ZX0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QX0=[0,[17,0,0],r(z)],rY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eY0=r(Ik),nY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tY0=[0,[9,0,0],r(An)],uY0=[0,[17,0,0],r(z)],iY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fY0=r(E4),xY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],aY0=[0,[9,0,0],r(An)],oY0=[0,[17,0,0],r(z)],cY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sY0=r(Xr),vY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lY0=r(tr),bY0=r(Z0),pY0=r(nr),mY0=[0,[17,0,0],r(z)],_Y0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],yY0=[0,[15,0],r(C0)],dY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],kY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],wY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],EY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],SY0=r("Flow_ast.Statement.EnumDeclaration.NumberBody.members"),gY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],TY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],OY0=[0,[17,0,0],r(z)],IY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],AY0=r(Ik),NY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],CY0=[0,[9,0,0],r(An)],PY0=[0,[17,0,0],r(z)],DY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],LY0=r(E4),RY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jY0=[0,[9,0,0],r(An)],GY0=[0,[17,0,0],r(z)],MY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BY0=r(Xr),qY0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UY0=r(tr),HY0=r(Z0),XY0=r(nr),YY0=[0,[17,0,0],r(z)],VY0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zY0=[0,[15,0],r(C0)],KY0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],WY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],JY0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],$Y0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ZY0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],QY0=r("Flow_ast.Statement.EnumDeclaration.BooleanBody.members"),rV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],nV0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],tV0=[0,[17,0,0],r(z)],uV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],iV0=r(Ik),fV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xV0=[0,[9,0,0],r(An)],aV0=[0,[17,0,0],r(z)],oV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cV0=r(E4),sV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vV0=[0,[9,0,0],r(An)],lV0=[0,[17,0,0],r(z)],bV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],pV0=r(Xr),mV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_V0=r(tr),yV0=r(Z0),dV0=r(nr),hV0=[0,[17,0,0],r(z)],kV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],wV0=[0,[15,0],r(C0)],EV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],SV0=r("Flow_ast.Statement.EnumDeclaration.InitializedMember.id"),gV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],FV0=[0,[17,0,0],r(z)],TV0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],OV0=r(ji),IV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],AV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],NV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],CV0=[0,[17,0,[12,41,0]],r(h0)],PV0=[0,[17,0,0],r(z)],DV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],LV0=[0,[15,0],r(C0)],RV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],jV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],GV0=[0,[17,0,[12,41,0]],r(h0)],MV0=[0,[15,0],r(C0)],BV0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],qV0=r("Flow_ast.Statement.EnumDeclaration.DefaultedMember.id"),UV0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HV0=[0,[17,0,0],r(z)],XV0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],YV0=[0,[15,0],r(C0)],VV0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],zV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],KV0=[0,[17,0,[12,41,0]],r(h0)],WV0=[0,[15,0],r(C0)],JV0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf.LeftDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf.LeftDeclaration@ ")],$V0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ZV0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],QV0=[0,[17,0,[12,41,0]],r(h0)],rz0=[0,[17,0,[12,41,0]],r(h0)],ez0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForOf.LeftPattern"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForOf.LeftPattern@ ")],nz0=[0,[17,0,[12,41,0]],r(h0)],tz0=[0,[15,0],r(C0)],uz0=r(Yr),iz0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],fz0=r("Flow_ast.Statement.ForOf.left"),xz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],az0=[0,[17,0,0],r(z)],oz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cz0=r(Nu),sz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vz0=[0,[17,0,0],r(z)],lz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bz0=r(Wn),pz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mz0=[0,[17,0,0],r(z)],_z0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yz0=r(wx),dz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hz0=[0,[9,0,0],r(An)],kz0=[0,[17,0,0],r(z)],wz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ez0=r(Xr),Sz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gz0=r(tr),Fz0=r(Z0),Tz0=r(nr),Oz0=[0,[17,0,0],r(z)],Iz0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Az0=[0,[15,0],r(C0)],Nz0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn.LeftDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn.LeftDeclaration@ ")],Cz0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Pz0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Dz0=[0,[17,0,[12,41,0]],r(h0)],Lz0=[0,[17,0,[12,41,0]],r(h0)],Rz0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.ForIn.LeftPattern"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.ForIn.LeftPattern@ ")],jz0=[0,[17,0,[12,41,0]],r(h0)],Gz0=[0,[15,0],r(C0)],Mz0=r(Yr),Bz0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],qz0=r("Flow_ast.Statement.ForIn.left"),Uz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hz0=[0,[17,0,0],r(z)],Xz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yz0=r(Nu),Vz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zz0=[0,[17,0,0],r(z)],Kz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wz0=r(Wn),Jz0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$z0=[0,[17,0,0],r(z)],Zz0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qz0=r(j8),rK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],eK0=[0,[9,0,0],r(An)],nK0=[0,[17,0,0],r(z)],tK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uK0=r(Xr),iK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fK0=r(tr),xK0=r(Z0),aK0=r(nr),oK0=[0,[17,0,0],r(z)],cK0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sK0=[0,[15,0],r(C0)],vK0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For.InitDeclaration"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For.InitDeclaration@ ")],lK0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],bK0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],pK0=[0,[17,0,[12,41,0]],r(h0)],mK0=[0,[17,0,[12,41,0]],r(h0)],_K0=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Statement.For.InitExpression"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Statement.For.InitExpression@ ")],yK0=[0,[17,0,[12,41,0]],r(h0)],dK0=[0,[15,0],r(C0)],hK0=r(Yr),kK0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],wK0=r("Flow_ast.Statement.For.init"),EK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],SK0=r(tr),gK0=r(Z0),FK0=r(nr),TK0=[0,[17,0,0],r(z)],OK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IK0=r(Ts),AK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],NK0=r(tr),CK0=r(Z0),PK0=r(nr),DK0=[0,[17,0,0],r(z)],LK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],RK0=r(sU),jK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],GK0=r(tr),MK0=r(Z0),BK0=r(nr),qK0=[0,[17,0,0],r(z)],UK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HK0=r(Wn),XK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],YK0=[0,[17,0,0],r(z)],VK0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],zK0=r(Xr),KK0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],WK0=r(tr),JK0=r(Z0),$K0=r(nr),ZK0=[0,[17,0,0],r(z)],QK0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],rW0=[0,[15,0],r(C0)],eW0=r(Yr),nW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],tW0=r("Flow_ast.Statement.DoWhile.body"),uW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],iW0=[0,[17,0,0],r(z)],fW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],xW0=r(Ts),aW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],oW0=[0,[17,0,0],r(z)],cW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],sW0=r(Xr),vW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lW0=r(tr),bW0=r(Z0),pW0=r(nr),mW0=[0,[17,0,0],r(z)],_W0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],yW0=[0,[15,0],r(C0)],dW0=r(Yr),hW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],kW0=r("Flow_ast.Statement.While.test"),wW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EW0=[0,[17,0,0],r(z)],SW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gW0=r(Wn),FW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],TW0=[0,[17,0,0],r(z)],OW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],IW0=r(Xr),AW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],NW0=r(tr),CW0=r(Z0),PW0=r(nr),DW0=[0,[17,0,0],r(z)],LW0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],RW0=[0,[15,0],r(C0)],jW0=r("Flow_ast.Statement.VariableDeclaration.Var"),GW0=r("Flow_ast.Statement.VariableDeclaration.Let"),MW0=r("Flow_ast.Statement.VariableDeclaration.Const"),BW0=[0,[15,0],r(C0)],qW0=r(Yr),UW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],HW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],XW0=r("Flow_ast.Statement.VariableDeclaration.declarations"),YW0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],VW0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],zW0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],KW0=[0,[17,0,0],r(z)],WW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],JW0=r(Zc),$W0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZW0=[0,[17,0,0],r(z)],QW0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],rJ0=r(Xr),eJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nJ0=r(tr),tJ0=r(Z0),uJ0=r(nr),iJ0=[0,[17,0,0],r(z)],fJ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],xJ0=[0,[15,0],r(C0)],aJ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],oJ0=r("Flow_ast.Statement.VariableDeclaration.Declarator.id"),cJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sJ0=[0,[17,0,0],r(z)],vJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lJ0=r(ji),bJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],pJ0=r(tr),mJ0=r(Z0),_J0=r(nr),yJ0=[0,[17,0,0],r(z)],dJ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],hJ0=[0,[15,0],r(C0)],kJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],wJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],EJ0=[0,[17,0,[12,41,0]],r(h0)],SJ0=[0,[15,0],r(C0)],gJ0=r(Yr),FJ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],TJ0=r("Flow_ast.Statement.Try.block"),OJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],AJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],NJ0=[0,[17,0,[12,41,0]],r(h0)],CJ0=[0,[17,0,0],r(z)],PJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DJ0=r(XU),LJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RJ0=r(tr),jJ0=r(Z0),GJ0=r(nr),MJ0=[0,[17,0,0],r(z)],BJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qJ0=r(jH),UJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],HJ0=r(tr),XJ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],YJ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],VJ0=[0,[17,0,[12,41,0]],r(h0)],zJ0=r(Z0),KJ0=r(nr),WJ0=[0,[17,0,0],r(z)],JJ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$J0=r(Xr),ZJ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],QJ0=r(tr),r$0=r(Z0),e$0=r(nr),n$0=[0,[17,0,0],r(z)],t$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],u$0=[0,[15,0],r(C0)],i$0=r(Yr),f$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],x$0=r("Flow_ast.Statement.Try.CatchClause.param"),a$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],o$0=r(tr),c$0=r(Z0),s$0=r(nr),v$0=[0,[17,0,0],r(z)],l$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],b$0=r(Wn),p$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],m$0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],_$0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],y$0=[0,[17,0,[12,41,0]],r(h0)],d$0=[0,[17,0,0],r(z)],h$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],k$0=r(Xr),w$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],E$0=r(tr),S$0=r(Z0),g$0=r(nr),F$0=[0,[17,0,0],r(z)],T$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],O$0=[0,[15,0],r(C0)],I$0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],A$0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],N$0=[0,[17,0,[12,41,0]],r(h0)],C$0=[0,[15,0],r(C0)],P$0=r(Yr),D$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],L$0=r("Flow_ast.Statement.Throw.argument"),R$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],j$0=[0,[17,0,0],r(z)],G$0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],M$0=r(Xr),B$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],q$0=r(tr),U$0=r(Z0),H$0=r(nr),X$0=[0,[17,0,0],r(z)],Y$0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],V$0=[0,[15,0],r(C0)],z$0=r(Yr),K$0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],W$0=r("Flow_ast.Statement.Return.argument"),J$0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$$0=r(tr),Z$0=r(Z0),Q$0=r(nr),rZ0=[0,[17,0,0],r(z)],eZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nZ0=r(Xr),tZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uZ0=r(tr),iZ0=r(Z0),fZ0=r(nr),xZ0=[0,[17,0,0],r(z)],aZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],oZ0=r("return_out"),cZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sZ0=[0,[17,0,0],r(z)],vZ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],lZ0=[0,[15,0],r(C0)],bZ0=r(Yr),pZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],_Z0=r("Flow_ast.Statement.Switch.discriminant"),yZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],dZ0=[0,[17,0,0],r(z)],hZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],kZ0=r(uY),wZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],EZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],SZ0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],gZ0=[0,[17,0,0],r(z)],FZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],TZ0=r(Xr),OZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],IZ0=r(tr),AZ0=r(Z0),NZ0=r(nr),CZ0=[0,[17,0,0],r(z)],PZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],DZ0=r("exhaustive_out"),LZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],RZ0=[0,[17,0,0],r(z)],jZ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],GZ0=[0,[15,0],r(C0)],MZ0=r(Yr),BZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],qZ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],UZ0=r("Flow_ast.Statement.Switch.Case.test"),HZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],XZ0=r(tr),YZ0=r(Z0),VZ0=r(nr),zZ0=[0,[17,0,0],r(z)],KZ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],WZ0=r(kv),JZ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$Z0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],ZZ0=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],QZ0=[0,[17,0,0],r(z)],rQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eQ0=r(Xr),nQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tQ0=r(tr),uQ0=r(Z0),iQ0=r(nr),fQ0=[0,[17,0,0],r(z)],xQ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],aQ0=[0,[15,0],r(C0)],oQ0=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],cQ0=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],sQ0=[0,[17,0,[12,41,0]],r(h0)],vQ0=[0,[15,0],r(C0)],lQ0=r(Yr),bQ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],pQ0=r("Flow_ast.Statement.OpaqueType.id"),mQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_Q0=[0,[17,0,0],r(z)],yQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dQ0=r(sv),hQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kQ0=r(tr),wQ0=r(Z0),EQ0=r(nr),SQ0=[0,[17,0,0],r(z)],gQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],FQ0=r(kX),TQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],OQ0=r(tr),IQ0=r(Z0),AQ0=r(nr),NQ0=[0,[17,0,0],r(z)],CQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],PQ0=r(IX),DQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],LQ0=r(tr),RQ0=r(Z0),jQ0=r(nr),GQ0=[0,[17,0,0],r(z)],MQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],BQ0=r(Xr),qQ0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],UQ0=r(tr),HQ0=r(Z0),XQ0=r(nr),YQ0=[0,[17,0,0],r(z)],VQ0=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],zQ0=[0,[15,0],r(C0)],KQ0=r(Yr),WQ0=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],JQ0=r("Flow_ast.Statement.TypeAlias.id"),$Q0=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ZQ0=[0,[17,0,0],r(z)],QQ0=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],r0r=r(sv),e0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],n0r=r(tr),t0r=r(Z0),u0r=r(nr),i0r=[0,[17,0,0],r(z)],f0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x0r=r(Nu),a0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],o0r=[0,[17,0,0],r(z)],c0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s0r=r(Xr),v0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l0r=r(tr),b0r=r(Z0),p0r=r(nr),m0r=[0,[17,0,0],r(z)],_0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],y0r=[0,[15,0],r(C0)],d0r=r(Yr),h0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],k0r=r("Flow_ast.Statement.With._object"),w0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],E0r=[0,[17,0,0],r(z)],S0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],g0r=r(Wn),F0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],T0r=[0,[17,0,0],r(z)],O0r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],I0r=r(Xr),A0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],N0r=r(tr),C0r=r(Z0),P0r=r(nr),D0r=[0,[17,0,0],r(z)],L0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],R0r=[0,[15,0],r(C0)],j0r=r(Yr),G0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],M0r=r("Flow_ast.Statement.Debugger.comments"),B0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],q0r=r(tr),U0r=r(Z0),H0r=r(nr),X0r=[0,[17,0,0],r(z)],Y0r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],V0r=[0,[15,0],r(C0)],z0r=r(Yr),K0r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],W0r=r("Flow_ast.Statement.Continue.label"),J0r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$0r=r(tr),Z0r=r(Z0),Q0r=r(nr),rrr=[0,[17,0,0],r(z)],err=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nrr=r(Xr),trr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],urr=r(tr),irr=r(Z0),frr=r(nr),xrr=[0,[17,0,0],r(z)],arr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],orr=[0,[15,0],r(C0)],crr=r(Yr),srr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vrr=r("Flow_ast.Statement.Break.label"),lrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],brr=r(tr),prr=r(Z0),mrr=r(nr),_rr=[0,[17,0,0],r(z)],yrr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],drr=r(Xr),hrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],krr=r(tr),wrr=r(Z0),Err=r(nr),Srr=[0,[17,0,0],r(z)],grr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Frr=[0,[15,0],r(C0)],Trr=r(Yr),Orr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Irr=r("Flow_ast.Statement.Labeled.label"),Arr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nrr=[0,[17,0,0],r(z)],Crr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Prr=r(Wn),Drr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lrr=[0,[17,0,0],r(z)],Rrr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jrr=r(Xr),Grr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mrr=r(tr),Brr=r(Z0),qrr=r(nr),Urr=[0,[17,0,0],r(z)],Hrr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Xrr=[0,[15,0],r(C0)],Yrr=r(Yr),Vrr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],zrr=r("Flow_ast.Statement.If.test"),Krr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wrr=[0,[17,0,0],r(z)],Jrr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$rr=r(kv),Zrr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qrr=[0,[17,0,0],r(z)],rer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],eer=r(_3),ner=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ter=r(tr),uer=r(Z0),ier=r(nr),fer=[0,[17,0,0],r(z)],xer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aer=r(Xr),oer=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],cer=r(tr),ser=r(Z0),ver=r(nr),ler=[0,[17,0,0],r(z)],ber=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],per=[0,[15,0],r(C0)],mer=r(Yr),_er=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],yer=r("Flow_ast.Statement.If.Alternate.body"),der=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],her=[0,[17,0,0],r(z)],ker=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wer=r(Xr),Eer=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ser=r(tr),ger=r(Z0),Fer=r(nr),Ter=[0,[17,0,0],r(z)],Oer=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ier=[0,[15,0],r(C0)],Aer=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Ner=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Cer=[0,[17,0,[12,41,0]],r(h0)],Per=[0,[15,0],r(C0)],Der=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ler=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Rer=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],jer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ger=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Mer=r("Flow_ast.Statement.Block.body"),Ber=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qer=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Uer=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Her=[0,[17,0,0],r(z)],Xer=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yer=r(Xr),Ver=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zer=r(tr),Ker=r(Z0),Wer=r(nr),Jer=[0,[17,0,0],r(z)],$er=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Zer=[0,[15,0],r(C0)],Qer=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Predicate.Declared"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Predicate.Declared@ ")],rnr=[0,[17,0,[12,41,0]],r(h0)],enr=r("Flow_ast.Type.Predicate.Inferred"),nnr=[0,[15,0],r(C0)],tnr=r(Yr),unr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],inr=r("Flow_ast.Type.Predicate.kind"),fnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xnr=[0,[17,0,0],r(z)],anr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],onr=r(Xr),cnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],snr=r(tr),vnr=r(Z0),lnr=r(nr),bnr=[0,[17,0,0],r(z)],pnr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],mnr=[0,[15,0],r(C0)],_nr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ynr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],dnr=[0,[17,0,[12,41,0]],r(h0)],hnr=[0,[15,0],r(C0)],knr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wnr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Enr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Snr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gnr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Fnr=r("Flow_ast.Type.TypeArgs.arguments"),Tnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Onr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Inr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Anr=[0,[17,0,0],r(z)],Nnr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Cnr=r(Xr),Pnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dnr=r(tr),Lnr=r(Z0),Rnr=r(nr),jnr=[0,[17,0,0],r(z)],Gnr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Mnr=[0,[15,0],r(C0)],Bnr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],qnr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Unr=[0,[17,0,[12,41,0]],r(h0)],Hnr=[0,[15,0],r(C0)],Xnr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ynr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Vnr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],znr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Knr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Wnr=r("Flow_ast.Type.TypeParams.params"),Jnr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$nr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Znr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Qnr=[0,[17,0,0],r(z)],rtr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],etr=r(Xr),ntr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ttr=r(tr),utr=r(Z0),itr=r(nr),ftr=[0,[17,0,0],r(z)],xtr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],atr=[0,[15,0],r(C0)],otr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ctr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],str=[0,[17,0,[12,41,0]],r(h0)],vtr=[0,[15,0],r(C0)],ltr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],btr=r("Flow_ast.Type.TypeParam.name"),ptr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mtr=[0,[17,0,0],r(z)],_tr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ytr=r(MU),dtr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],htr=[0,[17,0,0],r(z)],ktr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wtr=r(ou),Etr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Str=r(tr),gtr=r(Z0),Ftr=r(nr),Ttr=[0,[17,0,0],r(z)],Otr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Itr=r(mi),Atr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ntr=r(tr),Ctr=r(Z0),Ptr=r(nr),Dtr=[0,[17,0,0],r(z)],Ltr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Rtr=[0,[15,0],r(C0)],jtr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Gtr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Mtr=[0,[17,0,[12,41,0]],r(h0)],Btr=[0,[15,0],r(C0)],qtr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Missing"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Missing@ ")],Utr=[0,[17,0,[12,41,0]],r(h0)],Htr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Available"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Available@ ")],Xtr=[0,[17,0,[12,41,0]],r(h0)],Ytr=[0,[15,0],r(C0)],Vtr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ztr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ktr=[0,[17,0,[12,41,0]],r(h0)],Wtr=[0,[15,0],r(C0)],Jtr=r(Yr),$tr=r(Yr),Ztr=r(Yr),Qtr=r(Yr),rur=r(Yr),eur=r(Yr),nur=r(Yr),tur=r(Yr),uur=r(Yr),iur=r(Yr),fur=r(Yr),xur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Any"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Any@ ")],aur=r(tr),our=r(Z0),cur=r(nr),sur=[0,[17,0,[12,41,0]],r(h0)],vur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Mixed"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Mixed@ ")],lur=r(tr),bur=r(Z0),pur=r(nr),mur=[0,[17,0,[12,41,0]],r(h0)],_ur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Empty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Empty@ ")],yur=r(tr),dur=r(Z0),hur=r(nr),kur=[0,[17,0,[12,41,0]],r(h0)],wur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Void"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Void@ ")],Eur=r(tr),Sur=r(Z0),gur=r(nr),Fur=[0,[17,0,[12,41,0]],r(h0)],Tur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Null"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Null@ ")],Our=r(tr),Iur=r(Z0),Aur=r(nr),Nur=[0,[17,0,[12,41,0]],r(h0)],Cur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Number"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Number@ ")],Pur=r(tr),Dur=r(Z0),Lur=r(nr),Rur=[0,[17,0,[12,41,0]],r(h0)],jur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BigInt"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BigInt@ ")],Gur=r(tr),Mur=r(Z0),Bur=r(nr),qur=[0,[17,0,[12,41,0]],r(h0)],Uur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.String"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.String@ ")],Hur=r(tr),Xur=r(Z0),Yur=r(nr),Vur=[0,[17,0,[12,41,0]],r(h0)],zur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Boolean"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Boolean@ ")],Kur=r(tr),Wur=r(Z0),Jur=r(nr),$ur=[0,[17,0,[12,41,0]],r(h0)],Zur=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Symbol"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Symbol@ ")],Qur=r(tr),r7r=r(Z0),e7r=r(nr),n7r=[0,[17,0,[12,41,0]],r(h0)],t7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Exists"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Exists@ ")],u7r=r(tr),i7r=r(Z0),f7r=r(nr),x7r=[0,[17,0,[12,41,0]],r(h0)],a7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Nullable"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Nullable@ ")],o7r=[0,[17,0,[12,41,0]],r(h0)],c7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Function"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Function@ ")],s7r=[0,[17,0,[12,41,0]],r(h0)],v7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object@ ")],l7r=[0,[17,0,[12,41,0]],r(h0)],b7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Interface"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Interface@ ")],p7r=[0,[17,0,[12,41,0]],r(h0)],m7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Array"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Array@ ")],_7r=[0,[17,0,[12,41,0]],r(h0)],y7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic@ ")],d7r=[0,[17,0,[12,41,0]],r(h0)],h7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.IndexedAccess"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.IndexedAccess@ ")],k7r=[0,[17,0,[12,41,0]],r(h0)],w7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.OptionalIndexedAccess"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.OptionalIndexedAccess@ ")],E7r=[0,[17,0,[12,41,0]],r(h0)],S7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Union"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Union@ ")],g7r=[0,[17,0,[12,41,0]],r(h0)],F7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Intersection"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Intersection@ ")],T7r=[0,[17,0,[12,41,0]],r(h0)],O7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof@ ")],I7r=[0,[17,0,[12,41,0]],r(h0)],A7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Tuple"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Tuple@ ")],N7r=[0,[17,0,[12,41,0]],r(h0)],C7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.StringLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.StringLiteral@ ")],P7r=[0,[17,0,[12,41,0]],r(h0)],D7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.NumberLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.NumberLiteral@ ")],L7r=[0,[17,0,[12,41,0]],r(h0)],R7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BigIntLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BigIntLiteral@ ")],j7r=[0,[17,0,[12,41,0]],r(h0)],G7r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.BooleanLiteral"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.BooleanLiteral@ ")],M7r=[0,[17,0,[12,41,0]],r(h0)],B7r=[0,[15,0],r(C0)],q7r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],U7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],H7r=[0,[17,0,[12,41,0]],r(h0)],X7r=[0,[15,0],r(C0)],Y7r=r(Yr),V7r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],z7r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],K7r=r("Flow_ast.Type.Intersection.types"),W7r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],J7r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Z7r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Q7r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],rir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],eir=[0,[17,0,[12,41,0]],r(h0)],nir=[0,[17,0,0],r(z)],tir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],uir=r(Xr),iir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],fir=r(tr),xir=r(Z0),air=r(nr),oir=[0,[17,0,0],r(z)],cir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],sir=[0,[15,0],r(C0)],vir=r(Yr),lir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],pir=r("Flow_ast.Type.Union.types"),mir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_ir=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],yir=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],dir=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],hir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],kir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],wir=[0,[17,0,[12,41,0]],r(h0)],Eir=[0,[17,0,0],r(z)],Sir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gir=r(Xr),Fir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Tir=r(tr),Oir=r(Z0),Iir=r(nr),Air=[0,[17,0,0],r(z)],Nir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Cir=[0,[15,0],r(C0)],Pir=r(Yr),Dir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Lir=r("Flow_ast.Type.Array.argument"),Rir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jir=[0,[17,0,0],r(z)],Gir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Mir=r(Xr),Bir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],qir=r(tr),Uir=r(Z0),Hir=r(nr),Xir=[0,[17,0,0],r(z)],Yir=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Vir=[0,[15,0],r(C0)],zir=r(Yr),Kir=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Jir=r("Flow_ast.Type.Tuple.types"),$ir=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Zir=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Qir=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],rfr=[0,[17,0,0],r(z)],efr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nfr=r(Xr),tfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ufr=r(tr),ifr=r(Z0),ffr=r(nr),xfr=[0,[17,0,0],r(z)],afr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],ofr=[0,[15,0],r(C0)],cfr=r(Yr),sfr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],vfr=r("Flow_ast.Type.Typeof.argument"),lfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],bfr=[0,[17,0,0],r(z)],pfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mfr=r(Xr),_fr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yfr=r(tr),dfr=r(Z0),hfr=r(nr),kfr=[0,[17,0,0],r(z)],wfr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Efr=[0,[15,0],r(C0)],Sfr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],gfr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ffr=[0,[17,0,[12,41,0]],r(h0)],Tfr=[0,[15,0],r(C0)],Ofr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Ifr=r("Flow_ast.Type.Typeof.Target.qualification"),Afr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Nfr=[0,[17,0,0],r(z)],Cfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Pfr=r(mt),Dfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lfr=[0,[17,0,0],r(z)],Rfr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],jfr=[0,[15,0],r(C0)],Gfr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof.Target.Unqualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof.Target.Unqualified@ ")],Mfr=[0,[17,0,[12,41,0]],r(h0)],Bfr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Typeof.Target.Qualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Typeof.Target.Qualified@ ")],qfr=[0,[17,0,[12,41,0]],r(h0)],Ufr=[0,[15,0],r(C0)],Hfr=r(Yr),Xfr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Yfr=r("Flow_ast.Type.Nullable.argument"),Vfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zfr=[0,[17,0,0],r(z)],Kfr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Wfr=r(Xr),Jfr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$fr=r(tr),Zfr=r(Z0),Qfr=r(nr),rxr=[0,[17,0,0],r(z)],exr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],nxr=[0,[15,0],r(C0)],txr=r(Yr),uxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ixr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],fxr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],xxr=[0,[17,0,[12,41,0]],r(h0)],axr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],oxr=r("Flow_ast.Type.Interface.body"),cxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],sxr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],vxr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],lxr=[0,[17,0,[12,41,0]],r(h0)],bxr=[0,[17,0,0],r(z)],pxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],mxr=r(C7),_xr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],yxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],dxr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],hxr=[0,[17,0,0],r(z)],kxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],wxr=r(Xr),Exr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Sxr=r(tr),gxr=r(Z0),Fxr=r(nr),Txr=[0,[17,0,0],r(z)],Oxr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Ixr=[0,[15,0],r(C0)],Axr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property@ ")],Nxr=[0,[17,0,[12,41,0]],r(h0)],Cxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.SpreadProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.SpreadProperty@ ")],Pxr=[0,[17,0,[12,41,0]],r(h0)],Dxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Indexer"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Indexer@ ")],Lxr=[0,[17,0,[12,41,0]],r(h0)],Rxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.CallProperty"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.CallProperty@ ")],jxr=[0,[17,0,[12,41,0]],r(h0)],Gxr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.InternalSlot"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.InternalSlot@ ")],Mxr=[0,[17,0,[12,41,0]],r(h0)],Bxr=[0,[15,0],r(C0)],qxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Hxr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Xxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Yxr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Vxr=r("Flow_ast.Type.Object.exact"),zxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Kxr=[0,[9,0,0],r(An)],Wxr=[0,[17,0,0],r(z)],Jxr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$xr=r(HY),Zxr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qxr=[0,[9,0,0],r(An)],rar=[0,[17,0,0],r(z)],ear=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],nar=r(X4),tar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uar=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],iar=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],far=[0,[17,0,0],r(z)],xar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],aar=r(Xr),oar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],car=r(tr),sar=r(Z0),lar=r(nr),bar=[0,[17,0,0],r(z)],par=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],mar=[0,[15,0],r(C0)],_ar=r(Yr),yar=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],dar=r("Flow_ast.Type.Object.InternalSlot.id"),har=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],kar=[0,[17,0,0],r(z)],war=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ear=r(Bn),Sar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],gar=[0,[17,0,0],r(z)],Far=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tar=r(Bu),Oar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Iar=[0,[9,0,0],r(An)],Aar=[0,[17,0,0],r(z)],Nar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Car=r(eu),Par=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Dar=[0,[9,0,0],r(An)],Lar=[0,[17,0,0],r(z)],Rar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jar=r(xU),Gar=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mar=[0,[9,0,0],r(An)],Bar=[0,[17,0,0],r(z)],qar=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Uar=r(Xr),Har=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Xar=r(tr),Yar=r(Z0),Var=r(nr),zar=[0,[17,0,0],r(z)],Kar=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],War=[0,[15,0],r(C0)],Jar=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],$ar=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Zar=[0,[17,0,[12,41,0]],r(h0)],Qar=[0,[15,0],r(C0)],ror=r(Yr),eor=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],nor=r("Flow_ast.Type.Object.CallProperty.value"),tor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],uor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],ior=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],xor=[0,[17,0,[12,41,0]],r(h0)],aor=[0,[17,0,0],r(z)],oor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cor=r(eu),sor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vor=[0,[9,0,0],r(An)],lor=[0,[17,0,0],r(z)],bor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],por=r(Xr),mor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_or=r(tr),yor=r(Z0),dor=r(nr),hor=[0,[17,0,0],r(z)],kor=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],wor=[0,[15,0],r(C0)],Eor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Sor=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],gor=[0,[17,0,[12,41,0]],r(h0)],For=[0,[15,0],r(C0)],Tor=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Oor=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ior=[0,[17,0,[12,41,0]],r(h0)],Aor=[0,[15,0],r(C0)],Nor=r(Yr),Cor=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Por=r("Flow_ast.Type.Object.Indexer.id"),Dor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Lor=r(tr),Ror=r(Z0),jor=r(nr),Gor=[0,[17,0,0],r(z)],Mor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Bor=r(ui),qor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Uor=[0,[17,0,0],r(z)],Hor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Xor=r(Bn),Yor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Vor=[0,[17,0,0],r(z)],zor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Kor=r(eu),Wor=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Jor=[0,[9,0,0],r(An)],$or=[0,[17,0,0],r(z)],Zor=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Qor=r(ou),rcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ecr=r(tr),ncr=r(Z0),tcr=r(nr),ucr=[0,[17,0,0],r(z)],icr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fcr=r(Xr),xcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],acr=r(tr),ocr=r(Z0),ccr=r(nr),scr=[0,[17,0,0],r(z)],vcr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],lcr=[0,[15,0],r(C0)],bcr=r(Yr),pcr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],mcr=r("Flow_ast.Type.Object.SpreadProperty.argument"),_cr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ycr=[0,[17,0,0],r(z)],dcr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hcr=r(Xr),kcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wcr=r(tr),Ecr=r(Z0),Scr=r(nr),gcr=[0,[17,0,0],r(z)],Fcr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Tcr=[0,[15,0],r(C0)],Ocr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Icr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Acr=[0,[17,0,[12,41,0]],r(h0)],Ncr=[0,[15,0],r(C0)],Ccr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Init"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Init@ ")],Pcr=[0,[17,0,[12,41,0]],r(h0)],Dcr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Get"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Get@ ")],Lcr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Rcr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],jcr=[0,[17,0,[12,41,0]],r(h0)],Gcr=[0,[17,0,[12,41,0]],r(h0)],Mcr=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Object.Property.Set"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Object.Property.Set@ ")],Bcr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],qcr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ucr=[0,[17,0,[12,41,0]],r(h0)],Hcr=[0,[17,0,[12,41,0]],r(h0)],Xcr=[0,[15,0],r(C0)],Ycr=r(Yr),Vcr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],zcr=r("Flow_ast.Type.Object.Property.key"),Kcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Wcr=[0,[17,0,0],r(z)],Jcr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$cr=r(Bn),Zcr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qcr=[0,[17,0,0],r(z)],rsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],esr=r(Bu),nsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],tsr=[0,[9,0,0],r(An)],usr=[0,[17,0,0],r(z)],isr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],fsr=r(eu),xsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],asr=[0,[9,0,0],r(An)],osr=[0,[17,0,0],r(z)],csr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ssr=r(Y3),vsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],lsr=[0,[9,0,0],r(An)],bsr=[0,[17,0,0],r(z)],psr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],msr=r(xU),_sr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ysr=[0,[9,0,0],r(An)],dsr=[0,[17,0,0],r(z)],hsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ksr=r(ou),wsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Esr=r(tr),Ssr=r(Z0),gsr=r(nr),Fsr=[0,[17,0,0],r(z)],Tsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Osr=r(Xr),Isr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Asr=r(tr),Nsr=r(Z0),Csr=r(nr),Psr=[0,[17,0,0],r(z)],Dsr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Lsr=[0,[15,0],r(C0)],Rsr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],jsr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Gsr=[0,[17,0,[12,41,0]],r(h0)],Msr=[0,[15,0],r(C0)],Bsr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],qsr=r("Flow_ast.Type.OptionalIndexedAccess.indexed_access"),Usr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Hsr=[0,[17,0,0],r(z)],Xsr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ysr=r(Bu),Vsr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zsr=[0,[9,0,0],r(An)],Ksr=[0,[17,0,0],r(z)],Wsr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Jsr=[0,[15,0],r(C0)],$sr=r(Yr),Zsr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Qsr=r("Flow_ast.Type.IndexedAccess._object"),r1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],e1r=[0,[17,0,0],r(z)],n1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],t1r=r("index"),u1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],i1r=[0,[17,0,0],r(z)],f1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],x1r=r(Xr),a1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],o1r=r(tr),c1r=r(Z0),s1r=r(nr),v1r=[0,[17,0,0],r(z)],l1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],b1r=[0,[15,0],r(C0)],p1r=r(Yr),m1r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],_1r=r("Flow_ast.Type.Generic.id"),y1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],d1r=[0,[17,0,0],r(z)],h1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],k1r=r(Z2),w1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],E1r=r(tr),S1r=r(Z0),g1r=r(nr),F1r=[0,[17,0,0],r(z)],T1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],O1r=r(Xr),I1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],A1r=r(tr),N1r=r(Z0),C1r=r(nr),P1r=[0,[17,0,0],r(z)],D1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],L1r=[0,[15,0],r(C0)],R1r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],j1r=r("Flow_ast.Type.Generic.Identifier.qualification"),G1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M1r=[0,[17,0,0],r(z)],B1r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q1r=r(mt),U1r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H1r=[0,[17,0,0],r(z)],X1r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Y1r=[0,[15,0],r(C0)],V1r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],z1r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],K1r=[0,[17,0,[12,41,0]],r(h0)],W1r=[0,[15,0],r(C0)],J1r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic.Identifier.Unqualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic.Identifier.Unqualified@ ")],$1r=[0,[17,0,[12,41,0]],r(h0)],Z1r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Type.Generic.Identifier.Qualified"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Type.Generic.Identifier.Qualified@ ")],Q1r=[0,[17,0,[12,41,0]],r(h0)],rvr=[0,[15,0],r(C0)],evr=r(Yr),nvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],tvr=r("Flow_ast.Type.Function.tparams"),uvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ivr=r(tr),fvr=r(Z0),xvr=r(nr),avr=[0,[17,0,0],r(z)],ovr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],cvr=r(Ct),svr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],vvr=[0,[17,0,0],r(z)],lvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],bvr=r(Wu),pvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],mvr=[0,[17,0,0],r(z)],_vr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],yvr=r(Xr),dvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],hvr=r(tr),kvr=r(Z0),wvr=r(nr),Evr=[0,[17,0,0],r(z)],Svr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],gvr=[0,[15,0],r(C0)],Fvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Tvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],Ovr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Ivr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Avr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Nvr=r("Flow_ast.Type.Function.Params.this_"),Cvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Pvr=r(tr),Dvr=r(Z0),Lvr=r(nr),Rvr=[0,[17,0,0],r(z)],jvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Gvr=r(Ct),Mvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Bvr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],qvr=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],Uvr=[0,[17,0,0],r(z)],Hvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Xvr=r(ch),Yvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Vvr=r(tr),zvr=r(Z0),Kvr=r(nr),Wvr=[0,[17,0,0],r(z)],Jvr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$vr=r(Xr),Zvr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Qvr=r(tr),r2r=r(Z0),e2r=r(nr),n2r=[0,[17,0,0],r(z)],t2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],u2r=[0,[15,0],r(C0)],i2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],f2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],x2r=[0,[17,0,[12,41,0]],r(h0)],a2r=[0,[15,0],r(C0)],o2r=r(Yr),c2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],s2r=r("Flow_ast.Type.Function.ThisParam.annot"),v2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l2r=[0,[17,0,0],r(z)],b2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],p2r=r(Xr),m2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_2r=r(tr),y2r=r(Z0),d2r=r(nr),h2r=[0,[17,0,0],r(z)],k2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],w2r=[0,[15,0],r(C0)],E2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],S2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],g2r=[0,[17,0,[12,41,0]],r(h0)],F2r=[0,[15,0],r(C0)],T2r=r(Yr),O2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],I2r=r("Flow_ast.Type.Function.RestParam.argument"),A2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],N2r=[0,[17,0,0],r(z)],C2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],P2r=r(Xr),D2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],L2r=r(tr),R2r=r(Z0),j2r=r(nr),G2r=[0,[17,0,0],r(z)],M2r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],B2r=[0,[15,0],r(C0)],q2r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],U2r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],H2r=[0,[17,0,[12,41,0]],r(h0)],X2r=[0,[15,0],r(C0)],Y2r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],V2r=r("Flow_ast.Type.Function.Param.name"),z2r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K2r=r(tr),W2r=r(Z0),J2r=r(nr),$2r=[0,[17,0,0],r(z)],Z2r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Q2r=r(rs),rlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],elr=[0,[17,0,0],r(z)],nlr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],tlr=r(Bu),ulr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ilr=[0,[9,0,0],r(An)],flr=[0,[17,0,0],r(z)],xlr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],alr=[0,[15,0],r(C0)],olr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],clr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],slr=[0,[17,0,[12,41,0]],r(h0)],vlr=[0,[15,0],r(C0)],llr=r(Yr),blr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],plr=r("Flow_ast.ComputedKey.expression"),mlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_lr=[0,[17,0,0],r(z)],ylr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],dlr=r(Xr),hlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],klr=r(tr),wlr=r(Z0),Elr=r(nr),Slr=[0,[17,0,0],r(z)],glr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Flr=[0,[15,0],r(C0)],Tlr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Olr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Ilr=[0,[17,0,[12,41,0]],r(h0)],Alr=[0,[15,0],r(C0)],Nlr=r(Yr),Clr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Plr=r("Flow_ast.Variance.kind"),Dlr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Llr=[0,[17,0,0],r(z)],Rlr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],jlr=r(Xr),Glr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Mlr=r(tr),Blr=r(Z0),qlr=r(nr),Ulr=[0,[17,0,0],r(z)],Hlr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Xlr=[0,[15,0],r(C0)],Ylr=r("Flow_ast.Variance.Minus"),Vlr=r("Flow_ast.Variance.Plus"),zlr=[0,[15,0],r(C0)],Klr=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],Wlr=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],Jlr=[0,[17,0,[12,41,0]],r(h0)],$lr=[0,[15,0],r(C0)],Zlr=r(Yr),Qlr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],rbr=r("Flow_ast.BooleanLiteral.value"),ebr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],nbr=[0,[9,0,0],r(An)],tbr=[0,[17,0,0],r(z)],ubr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],ibr=r(Xr),fbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],xbr=r(tr),abr=r(Z0),obr=r(nr),cbr=[0,[17,0,0],r(z)],sbr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],vbr=[0,[15,0],r(C0)],lbr=r(Yr),bbr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],pbr=r("Flow_ast.BigIntLiteral.approx_value"),mbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],_br=[0,[8,[0,0,5],0,0,0],r(e8)],ybr=[0,[17,0,0],r(z)],dbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],hbr=r(a1),kbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],wbr=[0,[3,0,0],r(Yt)],Ebr=[0,[17,0,0],r(z)],Sbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],gbr=r(Xr),Fbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Tbr=r(tr),Obr=r(Z0),Ibr=r(nr),Abr=[0,[17,0,0],r(z)],Nbr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Cbr=[0,[15,0],r(C0)],Pbr=r(Yr),Dbr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Lbr=r("Flow_ast.NumberLiteral.value"),Rbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],jbr=[0,[8,[0,0,5],0,0,0],r(e8)],Gbr=[0,[17,0,0],r(z)],Mbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Bbr=r(o7),qbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],Ubr=[0,[3,0,0],r(Yt)],Hbr=[0,[17,0,0],r(z)],Xbr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Ybr=r(Xr),Vbr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],zbr=r(tr),Kbr=r(Z0),Wbr=r(nr),Jbr=[0,[17,0,0],r(z)],$br=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Zbr=[0,[15,0],r(C0)],Qbr=r(Yr),r4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],e4r=r("Flow_ast.StringLiteral.value"),n4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],t4r=[0,[3,0,0],r(Yt)],u4r=[0,[17,0,0],r(z)],i4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],f4r=r(o7),x4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],a4r=[0,[3,0,0],r(Yt)],o4r=[0,[17,0,0],r(z)],c4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s4r=r(Xr),v4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l4r=r(tr),b4r=r(Z0),p4r=r(nr),m4r=[0,[17,0,0],r(z)],_4r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],y4r=[0,[15,0],r(C0)],d4r=r("Flow_ast.Literal.Null"),h4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.String"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.String@ ")],k4r=[0,[3,0,0],r(Yt)],w4r=[0,[17,0,[12,41,0]],r(h0)],E4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.Boolean"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.Boolean@ ")],S4r=[0,[9,0,0],r(An)],g4r=[0,[17,0,[12,41,0]],r(h0)],F4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.Number"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.Number@ ")],T4r=[0,[8,[0,0,5],0,0,0],r(e8)],O4r=[0,[17,0,[12,41,0]],r(h0)],I4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.BigInt"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.BigInt@ ")],A4r=[0,[8,[0,0,5],0,0,0],r(e8)],N4r=[0,[17,0,[12,41,0]],r(h0)],C4r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("Flow_ast.Literal.RegExp"),[17,[0,r(v),1,0],0]]]],r("(@[<2>Flow_ast.Literal.RegExp@ ")],P4r=[0,[17,0,[12,41,0]],r(h0)],D4r=[0,[15,0],r(C0)],L4r=r(Yr),R4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],j4r=r("Flow_ast.Literal.value"),G4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],M4r=[0,[17,0,0],r(z)],B4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],q4r=r(o7),U4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],H4r=[0,[3,0,0],r(Yt)],X4r=[0,[17,0,0],r(z)],Y4r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],V4r=r(Xr),z4r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],K4r=r(tr),W4r=r(Z0),J4r=r(nr),$4r=[0,[17,0,0],r(z)],Z4r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Q4r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],r8r=r("Flow_ast.Literal.RegExp.pattern"),e8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],n8r=[0,[3,0,0],r(Yt)],t8r=[0,[17,0,0],r(z)],u8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i8r=r(UX),f8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x8r=[0,[3,0,0],r(Yt)],a8r=[0,[17,0,0],r(z)],o8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],c8r=[0,[15,0],r(C0)],s8r=[0,[15,0],r(C0)],v8r=r(Yr),l8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],b8r=r("Flow_ast.PrivateName.name"),p8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],m8r=[0,[3,0,0],r(Yt)],_8r=[0,[17,0,0],r(z)],y8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],d8r=r(Xr),h8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],k8r=r(tr),w8r=r(Z0),E8r=r(nr),S8r=[0,[17,0,0],r(z)],g8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],F8r=[0,[15,0],r(C0)],T8r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],O8r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],I8r=[0,[17,0,[12,41,0]],r(h0)],A8r=[0,[15,0],r(C0)],N8r=r(Yr),C8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],P8r=r("Flow_ast.Identifier.name"),D8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],L8r=[0,[3,0,0],r(Yt)],R8r=[0,[17,0,0],r(z)],j8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],G8r=r(Xr),M8r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],B8r=r(tr),q8r=r(Z0),U8r=r(nr),H8r=[0,[17,0,0],r(z)],X8r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],Y8r=[0,[15,0],r(C0)],V8r=[0,[12,40,[18,[1,[0,0,r(C)]],0]],r(Zr)],z8r=[0,[12,44,[17,[0,r(v),1,0],0]],r(zr)],K8r=[0,[17,0,[12,41,0]],r(h0)],W8r=[0,[15,0],r(C0)],J8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],$8r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],Z8r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],Q8r=r("Flow_ast.Syntax.leading"),r3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],e3r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],n3r=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],t3r=[0,[17,0,0],r(z)],u3r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i3r=r("trailing"),f3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],x3r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,91,0]],r(Ye)],a3r=[0,[17,[0,r(Pe),0,0],[12,93,[17,0,0]]],r(Xe)],o3r=[0,[17,0,0],r(z)],c3r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],s3r=r("internal"),v3r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],l3r=[0,[17,0,0],r(z)],b3r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],p3r=[0,[0,0,0]],m3r=[0,r(Eu),21,2],_3r=[0,[0,0,0,0,0]],y3r=[0,r(Eu),32,2],d3r=[0,[0,0,0,0,0]],h3r=[0,r(Eu),43,2],k3r=[0,[0,[0,[0,0,0]],0,0,0,0]],w3r=[0,r(Eu),70,2],E3r=[0,[0,0,0]],S3r=[0,r(Eu),80,2],g3r=[0,[0,0,0]],F3r=[0,r(Eu),90,2],T3r=[0,[0,0,0]],O3r=[0,r(Eu),L7,2],I3r=[0,[0,0,0]],A3r=[0,r(Eu),Ht,2],N3r=[0,[0,0,0,0,0,0,0]],C3r=[0,r(Eu),br,2],P3r=[0,[0,0,0,0,0]],D3r=[0,r(Eu),QH,2],L3r=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],R3r=[0,r(Eu),485,2],j3r=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],G3r=[0,r(Eu),YX,2],M3r=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],B3r=[0,r(Eu),1460,2],q3r=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],U3r=[0,r(Eu),1604,2],H3r=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],X3r=[0,r(Eu),1689,2],Y3r=[0,[0,0,0,0,0,0,0]],V3r=[0,r(Eu),1705,2],z3r=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],K3r=[0,r(Eu),1828,2],W3r=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],J3r=[0,r(Eu),1895,2],$3r=[0,[0,0,0,0,0]],Z3r=[0,r(Eu),1907,2],Q3r=[0,[0,0,0]],r6r=[0,[0,0,0,0,0]],e6r=[0,[0,0,0,0,0]],n6r=[0,[0,[0,[0,0,0]],0,0,0,0]],t6r=[0,[0,0,0]],u6r=[0,[0,0,0]],i6r=[0,[0,0,0]],f6r=[0,[0,0,0]],x6r=[0,[0,0,0,0,0,0,0]],a6r=[0,[0,0,0,0,0]],o6r=[0,[0,[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]]]],c6r=[0,[0,[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0,0,0]],s6r=[0,[0,[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],[0,[0,0,0]],0,0,0,0]],v6r=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],[0,[0,0,0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],0,0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0]],0,0,0,0,0,0,0,0]],l6r=[0,[0,[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0,0,0]],0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0]],0,0,0,0]],b6r=[0,[0,0,0,0,0,0,0]],p6r=[0,[0,[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,[0,[0,0,0,0,0]],0,0,0,0]],[0,[0,0,0,0,0,0,0]],[0,[0,0,0,0,0]],0,0]],m6r=[0,[0,[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],[0,[0,0,0,0,0]],0,0,0,0]],_6r=[0,[0,0,0,0,0]],y6r=[0,1],d6r=[0,0],h6r=[0,2],k6r=[0,0],w6r=[0,1],E6r=[0,1],S6r=[0,1],g6r=[0,1],F6r=[0,1],T6r=[0,0,0],O6r=[0,0,0],I6r=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],A6r=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],N6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.LibFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.LibFile@ ")],C6r=[0,[3,0,0],r(Yt)],P6r=[0,[17,0,[12,41,0]],r(h0)],D6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.SourceFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.SourceFile@ ")],L6r=[0,[3,0,0],r(Yt)],R6r=[0,[17,0,[12,41,0]],r(h0)],j6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.JsonFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.JsonFile@ ")],G6r=[0,[3,0,0],r(Yt)],M6r=[0,[17,0,[12,41,0]],r(h0)],B6r=[0,[12,40,[18,[1,[0,[11,r(d),0],r(d)]],[11,r("File_key.ResourceFile"),[17,[0,r(v),1,0],0]]]],r("(@[<2>File_key.ResourceFile@ ")],q6r=[0,[3,0,0],r(Yt)],U6r=[0,[17,0,[12,41,0]],r(h0)],H6r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],X6r=r("Loc.line"),Y6r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],V6r=[0,[4,0,0,0,0],r(N2)],z6r=[0,[17,0,0],r(z)],K6r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],W6r=r(I2),J6r=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],$6r=[0,[4,0,0,0,0],r(N2)],Z6r=[0,[17,0,0],r(z)],Q6r=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],rpr=[0,[15,0],r(C0)],epr=[0,[18,[1,[0,[11,r(d),0],r(d)]],[11,r(wr),0]],r(kr)],npr=r("Loc.source"),tpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],upr=r(tr),ipr=r(Z0),fpr=r(nr),xpr=[0,[17,0,0],r(z)],apr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],opr=r(S7),cpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],spr=[0,[17,0,0],r(z)],vpr=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],lpr=r("_end"),bpr=[0,[18,[1,[0,0,r(C)]],[2,0,[11,r(J),[17,[0,r(v),1,0],0]]]],r(W)],ppr=[0,[17,0,0],r(z)],mpr=[0,[17,[0,r(v),1,0],[12,br,[17,0,0]]],r(Er)],_pr=[0,r(Gx),r(va),r(go),r(so),r(za),r(Yf),r(Jx),r(pf),r(of),r(Bx),r(ut),r(Yo),r(I7),r(If),r(px),r(_a),r(lx),r(ef),r(gf),r(Xo),r(oo),r(Ho),r(yf),r(ic),r(Rf),r(To),r(ff),r(Ef),r(Bo),r(Xf),r(Tx),r(ax),r(Fa),r(kf),r(da),r(Qf),r(ao),r(Za),r(A7),r(O7),r(ox),r(Io),r(Mo),r(Wf),r(to),r(la),r(Ta),r(Sx),r(Go),r(ka),r(s7),r(bo),r(eo),r(vo),r(Hx),r(Xa),r(Ux),r(Mf),r(Nf),r(rc),r(Mx),r(Cf),r(ba),r(Fo),r(lf),r(ec),r(io),r(no),r(Au),r(Ix),r(ta),r(Ff),r(Uf),r(Eo),r(qx),r(Oc),r(Vo),r(jo),r(hx),r(xc),r(vi),r(ga),r(pa),r(Ic),r(No),r(kx),r(Nx),r(Tc),r(jf),r(uf),r(ix),r(yo),r(Ma),r(Ex),r(Uo),r(bf),r(po),r(yx),r(j7),r($o),r(mc),r(Kf),r(_i),r(_f),r(fo),r(zo),r(qu),r(gc),r(ma),r(Yx),r(Do),r(Ox),r(Co),r(r7),r(sf),r(wa),r(na),r(Wo),r(Gf),r(sc),r(ho),r(Ja),r(ex),r(cf),r(af),r(Cx),r(_c),r(Na),r(Ga),r(xa),r(Ax),r(sa),r(Px),r(nf),r(nc),r(Wa),r(Ro),r(Sc),r($a),r(bx),r(kc),r(Lx),r(ko),r(Rx),r(ux),r(Wx),r(Lo),r(Xx),r($x),r(dc),r(ur),r(yc),r(Af),r(hf),r(mx),r(Ua),r(jx),r(Tf),r(uc),r(Jf),r(wo),r(_o),r(tx),r(Vf),r(xf),r(Pf),r(xx),r(ca),r(Qa),r(ac),r(pc),r(Ya),r(Ko),r(wf),r(Ba),r(ro),r(pi),r(nx),r(rx),r(Ka),r(mf),r(lo),r(bc),r(Ec),r($f),r(zf),r(qa),r(Df),r(uo),r(co),r(lc),r(ra),r(So),r(Va),r(Qo),r(Qu),r(Le),r(mo),r(_x),r(Wu),r(vx),r(qf),r(Fc),r(df),r(Kx),r(Fx),r(Po),r(hc),r(P7),r(ha),r(Ha),r(Zf),r(Qx),r(Ea),r(Lf),r(Aa),r(g7),r(ua),r(xo),r(oa),r(dx),r(Zx),r(Vx),r(Jo),r(ja),r(Hf),r(Ao),r(sx),r(Of),r(Dx),r(fa),r(Zo),r(Sf),r(Ca),r(tc),r(Da),r(Oa),r(Bf),r(cc),r(fx),r(wc),r(ou),r(Ia),r(ia),r(zx),r(wu)],ypr=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],dpr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],hpr=r(yV),kpr=r(UY),wpr=r(GX),Epr=r(ZY),Spr=r(g3),gpr=r(tX),Fpr=r(cv),Tpr=r(PU),Opr=r(_Y),Ipr=r(wX),Apr=r(mX),Npr=r(as),Cpr=r(Oo),Ppr=r(zU),Dpr=r(rX),Lpr=r(Zu),Rpr=r(WY),jpr=r(PH),Gpr=r(A6),Mpr=r(Bh),Bpr=r(R2),qpr=r(j2),Upr=r(rH),Hpr=r(YU),Xpr=r(xY),Ypr=r(vX),Vpr=r(yH),zpr=r(SX),Kpr=r(vU),Wpr=r(ZX),Jpr=r(bX),$pr=r(dH),Zpr=r(TH),Qpr=r(WH),r5r=r(iV),e5r=r(LU),n5r=r(aX),t5r=r("Set.remove_min_elt"),u5r=[0,[12,59,[17,[0,r(v),1,0],0]],r(o0)],i5r=[0,[18,[1,[0,[11,r(d),0],r(d)]],[12,us,0]],r("@[<2>{")],f5r=[0,[12,32,0],r(bi)],x5r=[0,[12,32,0],r(bi)],a5r=[0,[17,[0,r(Pe),0,0],[12,br,[17,0,0]]],r("@,}@]")],o5r=[0,r("src/hack_forked/utils/collections/flow_set.ml"),363,14],c5r=[0,[0,36,37],[0,48,58],[0,65,91],[0,95,96],[0,97,us],[0,Xg,yg],[0,Ai,Kg],[0,mS,wk],[0,dh,iw],[0,at,cT],[0,d6,jw],[0,wt,706],[0,iX,722],[0,736,741],[0,748,749],[0,750,751],[0,768,885],[0,886,888],[0,890,894],[0,895,896],[0,902,907],[0,908,tY],[0,910,930],[0,zX,1014],[0,1015,1154],[0,1155,1160],[0,1162,jU],[0,1329,1367],[0,1369,1370],[0,1376,1417],[0,1425,1470],[0,1471,1472],[0,1473,1475],[0,1476,1478],[0,1479,1480],[0,1488,1515],[0,1519,1523],[0,1552,1563],[0,1568,1642],[0,1646,1748],[0,1749,1757],[0,1759,1769],[0,1770,1789],[0,1791,1792],[0,1808,1867],[0,1869,1970],[0,1984,2038],[0,2042,2043],[0,2045,2046],[0,Vd,2094],[0,2112,2140],[0,2144,2155],[0,2208,2229],[0,2230,2238],[0,2259,2274],[0,2275,2404],[0,2406,2416],[0,2417,2436],[0,2437,2445],[0,2447,2449],[0,2451,2473],[0,2474,2481],[0,2482,2483],[0,2486,2490],[0,2492,2501],[0,2503,2505],[0,2507,2511],[0,2519,2520],[0,2524,2526],[0,2527,2532],[0,2534,2546],[0,2556,2557],[0,2558,2559],[0,2561,2564],[0,2565,2571],[0,2575,2577],[0,2579,2601],[0,2602,2609],[0,2610,2612],[0,2613,2615],[0,2616,2618],[0,2620,2621],[0,2622,2627],[0,2631,2633],[0,2635,2638],[0,2641,2642],[0,2649,2653],[0,2654,2655],[0,2662,2678],[0,2689,2692],[0,2693,2702],[0,2703,2706],[0,2707,2729],[0,2730,2737],[0,2738,2740],[0,2741,2746],[0,2748,2758],[0,2759,2762],[0,2763,2766],[0,2768,2769],[0,2784,2788],[0,2790,2800],[0,2809,2816],[0,2817,2820],[0,2821,2829],[0,2831,2833],[0,2835,2857],[0,2858,2865],[0,2866,2868],[0,2869,2874],[0,2876,2885],[0,2887,2889],[0,2891,2894],[0,2902,2904],[0,2908,2910],[0,2911,2916],[0,2918,2928],[0,2929,2930],[0,2946,2948],[0,2949,2955],[0,2958,2961],[0,2962,2966],[0,2969,2971],[0,2972,2973],[0,2974,2976],[0,2979,2981],[0,2984,2987],[0,2990,3002],[0,3006,3011],[0,3014,3017],[0,3018,3022],[0,3024,3025],[0,3031,3032],[0,3046,3056],[0,3072,3085],[0,3086,3089],[0,3090,3113],[0,3114,3130],[0,3133,3141],[0,3142,3145],[0,3146,3150],[0,3157,3159],[0,3160,3163],[0,3168,3172],[0,3174,3184],[0,3200,3204],[0,3205,3213],[0,3214,3217],[0,3218,3241],[0,3242,3252],[0,3253,3258],[0,3260,3269],[0,3270,3273],[0,3274,3278],[0,3285,3287],[0,3294,3295],[0,3296,3300],[0,3302,3312],[0,3313,3315],[0,3328,3332],[0,3333,3341],[0,3342,3345],[0,3346,3397],[0,3398,3401],[0,3402,3407],[0,3412,3416],[0,3423,3428],[0,3430,3440],[0,3450,3456],[0,3458,3460],[0,3461,3479],[0,3482,3506],[0,3507,3516],[0,3517,3518],[0,3520,3527],[0,3530,3531],[0,3535,3541],[0,3542,3543],[0,3544,3552],[0,3558,3568],[0,3570,3572],[0,3585,3643],[0,3648,3663],[0,3664,3674],[0,3713,3715],[0,3716,3717],[0,3718,3723],[0,3724,3748],[0,3749,3750],[0,3751,3774],[0,3776,3781],[0,3782,3783],[0,3784,3790],[0,3792,3802],[0,3804,3808],[0,3840,3841],[0,3864,3866],[0,3872,3882],[0,3893,3894],[0,3895,3896],[0,3897,3898],[0,3902,3912],[0,3913,3949],[0,3953,3973],[0,3974,3992],[0,3993,4029],[0,4038,4039],[0,_X,4170],[0,4176,4254],[0,4256,4294],[0,4295,4296],[0,4301,4302],[0,4304,4347],[0,4348,4681],[0,4682,4686],[0,4688,4695],[0,4696,4697],[0,4698,4702],[0,4704,4745],[0,4746,4750],[0,4752,4785],[0,4786,4790],[0,4792,4799],[0,4800,4801],[0,4802,4806],[0,4808,4823],[0,4824,4881],[0,4882,4886],[0,4888,4955],[0,4957,4960],[0,4969,4978],[0,4992,5008],[0,5024,5110],[0,5112,5118],[0,5121,5741],[0,5743,Ev],[0,5761,5787],[0,5792,5867],[0,5870,5881],[0,5888,5901],[0,5902,5909],[0,5920,5941],[0,5952,5972],[0,5984,5997],[0,5998,6001],[0,6002,6004],[0,6016,6100],[0,6103,6104],[0,6108,6110],[0,6112,6122],[0,6155,6158],[0,6160,6170],[0,6176,6265],[0,6272,6315],[0,6320,6390],[0,6400,6431],[0,6432,6444],[0,6448,6460],[0,6470,6510],[0,6512,6517],[0,6528,6572],[0,6576,6602],[0,6608,6619],[0,6656,6684],[0,6688,6751],[0,6752,6781],[0,6783,6794],[0,6800,6810],[0,6823,6824],[0,6832,6846],[0,6912,6988],[0,6992,7002],[0,7019,7028],[0,7040,7156],[0,7168,7224],[0,7232,7242],[0,7245,7294],[0,7296,7305],[0,7312,7355],[0,7357,7360],[0,7376,7379],[0,7380,7419],[0,7424,7674],[0,7675,7958],[0,7960,7966],[0,7968,8006],[0,8008,8014],[0,8016,8024],[0,8025,8026],[0,8027,8028],[0,8029,8030],[0,8031,8062],[0,8064,8117],[0,8118,8125],[0,8126,8127],[0,8130,8133],[0,8134,8141],[0,8144,8148],[0,8150,8156],[0,8160,8173],[0,8178,8181],[0,8182,8189],[0,FY,_U],[0,8255,8257],[0,8276,8277],[0,np,8306],[0,I3,8320],[0,8336,8349],[0,8400,8413],[0,8417,8418],[0,8421,8433],[0,a3,8451],[0,j3,8456],[0,8458,F4],[0,_6,8470],[0,cU,8478],[0,u8,Z3],[0,r3,vp],[0,D8,C8],[0,8490,8506],[0,8508,8512],[0,8517,8522],[0,v8,8527],[0,8544,8585],[0,11264,11311],[0,11312,11359],[0,11360,11493],[0,11499,11508],[0,11520,M4],[0,q8,11560],[0,C3,11566],[0,11568,11624],[0,m4,11632],[0,D6,11671],[0,11680,G4],[0,11688,K8],[0,11696,o8],[0,11704,W8],[0,11712,K6],[0,11720,G8],[0,11728,T6],[0,11736,11743],[0,11744,11776],[0,12293,12296],[0,12321,O3],[0,12337,12342],[0,12344,12349],[0,12353,12439],[0,12441,S3],[0,12449,U4],[0,12540,12544],[0,12549,S8],[0,12593,12687],[0,12704,12731],[0,12784,12800],[0,13312,19894],[0,19968,40944],[0,40960,42125],[0,42192,42238],[0,42240,42509],[0,42512,42540],[0,42560,42608],[0,42612,H3],[0,42623,42738],[0,42775,42784],[0,42786,42889],[0,42891,42944],[0,42946,42951],[0,T8,43048],[0,43072,43124],[0,43136,43206],[0,43216,43226],[0,43232,43256],[0,t3,y8],[0,43261,43310],[0,43312,43348],[0,43360,43389],[0,43392,43457],[0,w8,43482],[0,43488,l6],[0,43520,43575],[0,43584,43598],[0,43600,43610],[0,43616,43639],[0,bp,43715],[0,43739,43742],[0,43744,43760],[0,43762,43767],[0,43777,43783],[0,43785,43791],[0,43793,43799],[0,43808,w6],[0,43816,X3],[0,43824,ov],[0,43868,o3],[0,43888,44011],[0,44012,44014],[0,44016,44026],[0,44032,55204],[0,55216,55239],[0,55243,55292],[0,63744,64110],[0,64112,64218],[0,64256,64263],[0,64275,64280],[0,n3,fp],[0,64298,et],[0,64312,K3],[0,R6,j4],[0,64320,U3],[0,64323,L8],[0,64326,64434],[0,64467,64830],[0,64848,64912],[0,64914,64968],[0,65008,65020],[0,65024,65040],[0,65056,65072],[0,65075,65077],[0,65101,65104],[0,65136,u3],[0,65142,65277],[0,65296,65306],[0,65313,65339],[0,65343,r8],[0,65345,65371],[0,65382,65471],[0,65474,65480],[0,65482,65488],[0,65490,65496],[0,65498,65501],[0,ow,ep],[0,65549,Z8],[0,65576,K4],[0,65596,g6],[0,65599,65614],[0,65616,65630],[0,65664,65787],[0,65856,65909],[0,66045,66046],[0,66176,66205],[0,66208,66257],[0,66272,66273],[0,66304,66336],[0,66349,66379],[0,66384,66427],[0,66432,66462],[0,66464,66500],[0,66504,Q3],[0,66513,66518],[0,66560,66718],[0,66720,66730],[0,66736,66772],[0,66776,66812],[0,66816,66856],[0,66864,66916],[0,67072,67383],[0,67392,67414],[0,67424,67432],[0,67584,67590],[0,op,$4],[0,67594,m8],[0,67639,67641],[0,B6,67645],[0,67647,67670],[0,67680,67703],[0,67712,67743],[0,67808,Y8],[0,67828,67830],[0,67840,67862],[0,67872,67898],[0,67968,68024],[0,68030,68032],[0,E7,68100],[0,68101,68103],[0,68108,p4],[0,68117,Q8],[0,68121,68150],[0,68152,68155],[0,68159,68160],[0,68192,68221],[0,68224,68253],[0,68288,$6],[0,68297,68327],[0,68352,68406],[0,68416,68438],[0,68448,68467],[0,68480,68498],[0,68608,68681],[0,68736,68787],[0,68800,68851],[0,68864,68904],[0,68912,68922],[0,69376,69405],[0,$8,69416],[0,69424,69457],[0,69600,69623],[0,69632,69703],[0,69734,q3],[0,69759,69819],[0,69840,69865],[0,69872,69882],[0,69888,69941],[0,69942,69952],[0,_4,T3],[0,69968,70004],[0,Y6,70007],[0,70016,70085],[0,70089,70093],[0,70096,h8],[0,f3,70109],[0,70144,N8],[0,70163,70200],[0,70206,70207],[0,70272,d3],[0,A8,xp],[0,70282,I8],[0,70287,s8],[0,70303,70313],[0,70320,70379],[0,70384,70394],[0,70400,i6],[0,70405,70413],[0,70415,70417],[0,70419,x3],[0,70442,c8],[0,70450,P4],[0,70453,70458],[0,70459,70469],[0,70471,70473],[0,70475,70478],[0,G6,70481],[0,70487,70488],[0,70493,70500],[0,70502,70509],[0,70512,70517],[0,70656,70731],[0,70736,70746],[0,J6,70752],[0,70784,r6],[0,Q6,70856],[0,70864,70874],[0,71040,71094],[0,71096,71105],[0,71128,71134],[0,71168,71233],[0,i8,71237],[0,71248,71258],[0,71296,71353],[0,71360,71370],[0,71424,71451],[0,71453,71468],[0,71472,71482],[0,71680,71739],[0,71840,71914],[0,71935,71936],[0,72096,72104],[0,72106,72152],[0,72154,ip],[0,m3,72165],[0,B8,72255],[0,72263,72264],[0,i3,72346],[0,D4,72350],[0,72384,72441],[0,72704,J3],[0,72714,72759],[0,72760,72769],[0,72784,72794],[0,72818,72848],[0,72850,72872],[0,72873,72887],[0,72960,L3],[0,72968,h4],[0,72971,73015],[0,73018,73019],[0,73020,73022],[0,73023,73032],[0,73040,73050],[0,73056,j6],[0,73063,h3],[0,73066,73103],[0,73104,73106],[0,73107,73113],[0,73120,73130],[0,73440,73463],[0,73728,74650],[0,74752,74863],[0,74880,75076],[0,77824,78895],[0,82944,83527],[0,92160,92729],[0,92736,92767],[0,92768,92778],[0,92880,92910],[0,92912,92917],[0,92928,92983],[0,92992,92996],[0,93008,93018],[0,93027,93048],[0,93053,93072],[0,93760,93824],[0,93952,94027],[0,Q4,94088],[0,94095,94112],[0,94176,p6],[0,h6,94180],[0,94208,100344],[0,100352,101107],[0,110592,110879],[0,110928,110931],[0,110948,110952],[0,110960,111356],[0,113664,113771],[0,113776,113789],[0,113792,113801],[0,113808,113818],[0,113821,113823],[0,119141,119146],[0,119149,119155],[0,119163,119171],[0,119173,119180],[0,119210,119214],[0,119362,119365],[0,119808,O6],[0,119894,B3],[0,119966,119968],[0,k3,119971],[0,119973,119975],[0,119977,rp],[0,119982,b8],[0,b4,M6],[0,119997,A3],[0,120005,R4],[0,120071,120075],[0,120077,C6],[0,120086,lp],[0,120094,P3],[0,120123,e6],[0,120128,q4],[0,M3,120135],[0,120138,L6],[0,120146,120486],[0,120488,L4],[0,120514,z3],[0,120540,s6],[0,120572,Y4],[0,120598,s3],[0,120630,z4],[0,120656,E6],[0,120688,l4],[0,120714,b6],[0,120746,w3],[0,120772,120780],[0,120782,120832],[0,121344,121399],[0,121403,121453],[0,121461,121462],[0,121476,121477],[0,121499,121504],[0,121505,121520],[0,122880,122887],[0,122888,122905],[0,122907,122914],[0,122915,122917],[0,122918,122923],[0,123136,123181],[0,123184,123198],[0,123200,123210],[0,cp,123215],[0,123584,123642],[0,124928,125125],[0,125136,125143],[0,125184,125260],[0,125264,125274],[0,126464,P6],[0,126469,$3],[0,126497,c3],[0,F8,126501],[0,n8,_8],[0,126505,v6],[0,126516,x8],[0,y6,a8],[0,E3,126524],[0,W3,126531],[0,R8,H6],[0,g8,t8],[0,v3,B4],[0,126541,T4],[0,126545,F6],[0,k8,126549],[0,f8,S4],[0,On,q6],[0,g4,M8],[0,U6,v4],[0,u6,I4],[0,126561,ap],[0,z6,126565],[0,126567,b3],[0,126572,a6],[0,126580,J8],[0,126585,R3],[0,Z4,E8],[0,126592,z8],[0,126603,126620],[0,126625,G3],[0,126629,e3],[0,126635,126652],[0,131072,173783],[0,173824,177973],[0,177984,178206],[0,178208,183970],[0,183984,191457],[0,194560,195102],[0,917760,918e3]],s5r=r(O2),v5r=r(hv),l5r=r(Tv),b5r=r(W4),p5r=r("Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead."),m5r=r("Enum members are separated with `,`. Replace `;` with `,`."),_5r=r("Unexpected reserved word"),y5r=r("Unexpected reserved type"),d5r=r("Unexpected `super` outside of a class method"),h5r=r("`super()` is only valid in a class constructor"),k5r=r("Unexpected end of input"),w5r=r("Unexpected variance sigil"),E5r=r("Unexpected static modifier"),S5r=r("Unexpected proto modifier"),g5r=r("Type aliases are not allowed in untyped mode"),F5r=r("Opaque type aliases are not allowed in untyped mode"),T5r=r("Type annotations are not allowed in untyped mode"),O5r=r("Type declarations are not allowed in untyped mode"),I5r=r("Type imports are not allowed in untyped mode"),A5r=r("Type exports are not allowed in untyped mode"),N5r=r("Interfaces are not allowed in untyped mode"),C5r=r("Spreading a type is only allowed inside an object type"),P5r=r("Explicit inexact syntax must come at the end of an object type"),D5r=r("Explicit inexact syntax cannot appear inside an explicit exact object type"),L5r=r("Explicit inexact syntax can only appear inside an object type"),R5r=r("Illegal newline after throw"),j5r=r("A bigint literal must be an integer"),G5r=r("A bigint literal cannot use exponential notation"),M5r=r("Invalid regular expression"),B5r=r("Invalid regular expression: missing /"),q5r=r("Invalid left-hand side in assignment"),U5r=r("Invalid left-hand side in exponentiation expression"),H5r=r("Invalid left-hand side in for-in"),X5r=r("Invalid left-hand side in for-of"),Y5r=r("Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`."),V5r=r("found an expression instead"),z5r=r("Expected an object pattern, array pattern, or an identifier but "),K5r=r("More than one default clause in switch statement"),W5r=r("Missing catch or finally after try"),J5r=r("Illegal continue statement"),$5r=r("Illegal break statement"),Z5r=r("Illegal return statement"),Q5r=r("Illegal Unicode escape"),rmr=r("Strict mode code may not include a with statement"),emr=r("Catch variable may not be eval or arguments in strict mode"),nmr=r("Variable name may not be eval or arguments in strict mode"),tmr=r("Parameter name eval or arguments is not allowed in strict mode"),umr=r("Strict mode function may not have duplicate parameter names"),imr=r('Illegal "use strict" directive in function with non-simple parameter list'),fmr=r("Function name may not be eval or arguments in strict mode"),xmr=r("Octal literals are not allowed in strict mode."),amr=r("Number literals with leading zeros are not allowed in strict mode."),omr=r("Delete of an unqualified identifier in strict mode."),cmr=r("Duplicate data property in object literal not allowed in strict mode"),smr=r("Object literal may not have data and accessor property with the same name"),vmr=r("Object literal may not have multiple get/set accessors with the same name"),lmr=r("`typeof` can only be used to get the type of variables."),bmr=r("Assignment to eval or arguments is not allowed in strict mode"),pmr=r("Postfix increment/decrement may not have eval or arguments operand in strict mode"),mmr=r("Prefix increment/decrement may not have eval or arguments operand in strict mode"),_mr=r("Use of future reserved word in strict mode"),ymr=r("JSX attributes must only be assigned a non-empty expression"),dmr=r("JSX value should be either an expression or a quoted JSX text"),hmr=r("Const must be initialized"),kmr=r("Destructuring assignment must be initialized"),wmr=r("Illegal newline before arrow"),Emr=r(vF),Smr=r("Async functions can only be declared at top level or "),gmr=r(vF),Fmr=r("Generators can only be declared at top level or "),Tmr=r("elements must be wrapped in an enclosing parent tag"),Omr=r("Unexpected token <. Remember, adjacent JSX "),Imr=r("Rest parameter must be final parameter of an argument list"),Amr=r("Rest element must be final element of an array pattern"),Nmr=r("Rest property must be final property of an object pattern"),Cmr=r("async is an implementation detail and isn't necessary for your declare function statement. It is sufficient for your declare function to just have a Promise return type."),Pmr=r("`declare` modifier can only appear on class fields."),Dmr=r("Unexpected token `=`. Initializers are not allowed in a `declare`."),Lmr=r("Unexpected token `=`. Initializers are not allowed in a `declare opaque type`."),Rmr=r("`declare export let` is not supported. Use `declare export var` instead."),jmr=r("`declare export const` is not supported. Use `declare export var` instead."),Gmr=r("`declare export type` is not supported. Use `export type` instead."),Mmr=r("`declare export interface` is not supported. Use `export interface` instead."),Bmr=r("`export * as` is an early-stage proposal and is not enabled by default. To enable support in the parser, use the `esproposal_export_star_as` option"),qmr=r("Found a decorator in an unsupported position."),Umr=r("Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),Hmr=r("Duplicate `declare module.exports` statement!"),Xmr=r("Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module xor they are a CommonJS module."),Ymr=r("Getter should have zero parameters"),Vmr=r("Setter should have exactly one parameter"),zmr=r("`import type` or `import typeof`!"),Kmr=r("Imports within a `declare module` body must always be "),Wmr=r("The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements"),Jmr=r("Missing comma between import specifiers"),$mr=r("Missing comma between export specifiers"),Zmr=r("Malformed unicode"),Qmr=r("Classes may only have one constructor"),r9r=r("Private fields may not be deleted."),e9r=r("Private fields can only be referenced from within a class."),n9r=r("You may not access a private field through the `super` keyword."),t9r=r("Yield expression not allowed in formal parameter"),u9r=r("`await` is an invalid identifier in async functions"),i9r=r("`yield` is an invalid identifier in generators"),f9r=r("either a `let` binding pattern, or a member expression."),x9r=r("`let [` is ambiguous in this position because it is "),a9r=r("Literals cannot be used as shorthand properties."),o9r=r("Computed properties must have a value."),c9r=r("Object pattern can't contain methods"),s9r=r("A trailing comma is not permitted after the rest element"),v9r=r("An optional chain may not be used in a `new` expression."),l9r=r("Template literals may not be used in an optional chain."),b9r=r("Unexpected whitespace between `#` and identifier"),p9r=r("A type annotation is required for the `this` parameter."),m9r=r("The `this` parameter must be the first function parameter."),_9r=r("The `this` parameter cannot be optional."),y9r=r("A getter cannot have a `this` parameter."),d9r=r("A setter cannot have a `this` parameter."),h9r=r("Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared."),k9r=r("Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions."),w9r=[0,[11,r("Boolean enum members need to be initialized. Use either `"),[2,0,[11,r(" = true,` or `"),[2,0,[11,r(" = false,` in enum `"),[2,0,[11,r(Fs),0]]]]]]],r("Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`.")],E9r=[0,[11,r("Enum member names need to be unique, but the name `"),[2,0,[11,r("` has already been used before in enum `"),[2,0,[11,r(Fs),0]]]]],r("Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`.")],S9r=[0,[11,r(DU),[2,0,[11,r("` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."),0]]],r("Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.")],g9r=[0,[11,r("Use one of `boolean`, `number`, `string`, or `symbol` in enum `"),[2,0,[11,r(Fs),0]]],r("Use one of `boolean`, `number`, `string`, or `symbol` in enum `%s`.")],F9r=[0,[11,r("Enum type `"),[2,0,[11,r("` is not valid. "),[2,0,0]]]],r("Enum type `%s` is not valid. %s")],T9r=[0,[11,r("Supplied enum type is not valid. "),[2,0,0]],r("Supplied enum type is not valid. %s")],O9r=[0,[11,r("Enum member names and initializers are separated with `=`. Replace `"),[2,0,[11,r(":` with `"),[2,0,[11,r(" =`."),0]]]]],r("Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`.")],I9r=[0,[11,r("Symbol enum members cannot be initialized. Use `"),[2,0,[11,r(",` in enum `"),[2,0,[11,r(Fs),0]]]]],r("Symbol enum members cannot be initialized. Use `%s,` in enum `%s`.")],A9r=[0,[11,r(DU),[2,0,[11,r("` has type `"),[2,0,[11,r("`, so the initializer of `"),[2,0,[11,r("` needs to be a "),[2,0,[11,r(" literal."),0]]]]]]]]],r("Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal.")],N9r=[0,[11,r("The enum member initializer for `"),[2,0,[11,r("` needs to be a literal (either a boolean, number, or string) in enum `"),[2,0,[11,r(Fs),0]]]]],r("The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`.")],C9r=[0,[11,r("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `"),[2,0,[11,r("`, consider using `"),[2,0,[11,r("`, in enum `"),[2,0,[11,r(Fs),0]]]]]]],r("Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`.")],P9r=r("The `...` must come at the end of the enum body. Remove the trailing comma."),D9r=r("The `...` must come after all enum members. Move it to the end of the enum body."),L9r=[0,[11,r("Number enum members need to be initialized, e.g. `"),[2,0,[11,r(" = 1,` in enum `"),[2,0,[11,r(Fs),0]]]]],r("Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`.")],R9r=[0,[11,r("String enum members need to consistently either all use initializers, or use no initializers, in enum "),[2,0,[12,46,0]]],r("String enum members need to consistently either all use initializers, or use no initializers, in enum %s.")],j9r=[0,[11,r(zH),[2,0,0]],r("Unexpected %s")],G9r=[0,[11,r(zH),[2,0,[11,r(", expected "),[2,0,0]]]],r("Unexpected %s, expected %s")],M9r=[0,[11,r(dV),[2,0,[11,r("`. Did you mean `"),[2,0,[11,r("`?"),0]]]]],r("Unexpected token `%s`. Did you mean `%s`?")],B9r=r(D3),q9r=r("Invalid flags supplied to RegExp constructor '"),U9r=r("Remove the period."),H9r=r("Indexed access uses bracket notation."),X9r=[0,[11,r("Invalid indexed access. "),[2,0,[11,r(" Use the format `T[K]`."),0]]],r("Invalid indexed access. %s Use the format `T[K]`.")],Y9r=r(D3),V9r=r("Undefined label '"),z9r=r("' has already been declared"),K9r=r(" '"),W9r=r("Expected corresponding JSX closing tag for "),J9r=r(vF),$9r=r("In strict mode code, functions can only be declared at top level or "),Z9r=r("inside a block, or as the body of an if statement."),Q9r=r("In non-strict mode code, functions can only be declared at top level, "),r_r=[0,[11,r("Duplicate export for `"),[2,0,[12,96,0]]],r("Duplicate export for `%s`")],e_r=r("` is declared more than once."),n_r=r("Private fields may only be declared once. `#"),t_r=r("static "),u_r=r(C),i_r=r(JY),f_r=r("methods"),x_r=r("fields"),a_r=r(Fs),o_r=r(" named `"),c_r=r("Classes may not have "),s_r=r("` has not been declared."),v_r=r("Private fields must be declared before they can be referenced. `#"),l_r=[0,[11,r(dV),[2,0,[11,r("`. Parentheses are required to combine `??` with `&&` or `||` expressions."),0]]],r("Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions.")],b_r=r("Parse_error.Error"),p_r=[0,r("src/third-party/sedlex/flow_sedlexing.ml"),v1,4],m_r=r("Flow_sedlexing.MalFormed"),__r=[0,1,0],y_r=[0,0,[0,1,0],[0,1,0]],d_r=r(JU),h_r=r("end of input"),k_r=r(rl),w_r=r("template literal part"),E_r=r(rl),S_r=r(XH),g_r=r(JU),F_r=r(rl),T_r=r(hv),O_r=r(rl),I_r=r(a1),A_r=r(rl),N_r=r(Tv),C_r=r("an"),P_r=r(_i),D_r=r(bi),L_r=[0,[11,r("token `"),[2,0,[12,96,0]]],r("token `%s`")],R_r=r(SH),j_r=r(p3),G_r=r("{|"),M_r=r("|}"),B_r=r(KX),q_r=r(Z0),U_r=r("["),H_r=r("]"),X_r=r($Y),Y_r=r(","),V_r=r(Ra),z_r=r("=>"),K_r=r("..."),W_r=r(AX),J_r=r(JY),$_r=r(M2),Z_r=r(N3),Q_r=r(R2),ryr=r(j2),eyr=r(Wu),nyr=r(P7),tyr=r(f1),uyr=r(g7),iyr=r(k4),fyr=r(U2),xyr=r(W6),ayr=r(P8),oyr=r(D2),cyr=r(G2),syr=r(xs),vyr=r(Ci),lyr=r(Gi),byr=r(I7),pyr=r(k6),myr=r(o6),_yr=r(A7),yyr=r(mi),dyr=r(y4),hyr=r(U8),kyr=r(tp),wyr=r(q2),Eyr=r(C7),Syr=r(eu),gyr=r(H4),Fyr=r(i1),Tyr=r(J2),Oyr=r(es),Iyr=r(ns),Ayr=r(p8),Nyr=r(y3),Cyr=r(qu),Pyr=r(yv),Dyr=r(gs),Lyr=r(r7),Ryr=r(d4),jyr=r(w4),Gyr=r(c6),Myr=r(S6),Byr=r(wu),qyr=r(O7),Uyr=r(T2),Hyr=r($c),Xyr=r(ud),Yyr=r(LS),Vyr=r(Os),zyr=r(wx),Kyr=r("%checks"),Wyr=r(bX),Jyr=r(ZX),$yr=r(vU),Zyr=r(TH),Qyr=r(dH),rdr=r(WH),edr=r(SX),ndr=r(yH),tdr=r(xY),udr=r(vX),idr=r(YU),fdr=r(rH),xdr=r(iV),adr=r(LU),odr=r(aX),cdr=r(zO),sdr=r("?."),vdr=r(Fn),ldr=r("?"),bdr=r(o1),pdr=r(ZH),mdr=r(XX),_dr=r(PH),ydr=r(A6),ddr=r(Bh),hdr=r(yV),kdr=r(UY),wdr=r(GX),Edr=r(ZY),Sdr=r(tX),gdr=r(PU),Fdr=r(g3),Tdr=r(cv),Odr=r(_Y),Idr=r(wX),Adr=r(mX),Ndr=r(as),Cdr=r(Oo),Pdr=r(Zu),Ddr=r(zU),Ldr=r(rX),Rdr=r(WY),jdr=r(rf),Gdr=r(tV),Mdr=r(mH),Bdr=r(lV),qdr=r(C),Udr=r(t6),Hdr=r(X8),Xdr=r(s7),Ydr=r(hv),Vdr=r(a1),zdr=r(Tv),Kdr=r(ns),Wdr=r(W4),Jdr=r(Zu),$dr=r(Zu),Zdr=r(O2),Qdr=r(I6),rhr=r("T_LCURLY"),ehr=r("T_RCURLY"),nhr=r("T_LCURLYBAR"),thr=r("T_RCURLYBAR"),uhr=r("T_LPAREN"),ihr=r("T_RPAREN"),fhr=r("T_LBRACKET"),xhr=r("T_RBRACKET"),ahr=r("T_SEMICOLON"),ohr=r("T_COMMA"),chr=r("T_PERIOD"),shr=r("T_ARROW"),vhr=r("T_ELLIPSIS"),lhr=r("T_AT"),bhr=r("T_POUND"),phr=r("T_FUNCTION"),mhr=r("T_IF"),_hr=r("T_IN"),yhr=r("T_INSTANCEOF"),dhr=r("T_RETURN"),hhr=r("T_SWITCH"),khr=r("T_THIS"),whr=r("T_THROW"),Ehr=r("T_TRY"),Shr=r("T_VAR"),ghr=r("T_WHILE"),Fhr=r("T_WITH"),Thr=r("T_CONST"),Ohr=r("T_LET"),Ihr=r("T_NULL"),Ahr=r("T_FALSE"),Nhr=r("T_TRUE"),Chr=r("T_BREAK"),Phr=r("T_CASE"),Dhr=r("T_CATCH"),Lhr=r("T_CONTINUE"),Rhr=r("T_DEFAULT"),jhr=r("T_DO"),Ghr=r("T_FINALLY"),Mhr=r("T_FOR"),Bhr=r("T_CLASS"),qhr=r("T_EXTENDS"),Uhr=r("T_STATIC"),Hhr=r("T_ELSE"),Xhr=r("T_NEW"),Yhr=r("T_DELETE"),Vhr=r("T_TYPEOF"),zhr=r("T_VOID"),Khr=r("T_ENUM"),Whr=r("T_EXPORT"),Jhr=r("T_IMPORT"),$hr=r("T_SUPER"),Zhr=r("T_IMPLEMENTS"),Qhr=r("T_INTERFACE"),rkr=r("T_PACKAGE"),ekr=r("T_PRIVATE"),nkr=r("T_PROTECTED"),tkr=r("T_PUBLIC"),ukr=r("T_YIELD"),ikr=r("T_DEBUGGER"),fkr=r("T_DECLARE"),xkr=r("T_TYPE"),akr=r("T_OPAQUE"),okr=r("T_OF"),ckr=r("T_ASYNC"),skr=r("T_AWAIT"),vkr=r("T_CHECKS"),lkr=r("T_RSHIFT3_ASSIGN"),bkr=r("T_RSHIFT_ASSIGN"),pkr=r("T_LSHIFT_ASSIGN"),mkr=r("T_BIT_XOR_ASSIGN"),_kr=r("T_BIT_OR_ASSIGN"),ykr=r("T_BIT_AND_ASSIGN"),dkr=r("T_MOD_ASSIGN"),hkr=r("T_DIV_ASSIGN"),kkr=r("T_MULT_ASSIGN"),wkr=r("T_EXP_ASSIGN"),Ekr=r("T_MINUS_ASSIGN"),Skr=r("T_PLUS_ASSIGN"),gkr=r("T_NULLISH_ASSIGN"),Fkr=r("T_AND_ASSIGN"),Tkr=r("T_OR_ASSIGN"),Okr=r("T_ASSIGN"),Ikr=r("T_PLING_PERIOD"),Akr=r("T_PLING_PLING"),Nkr=r("T_PLING"),Ckr=r("T_COLON"),Pkr=r("T_OR"),Dkr=r("T_AND"),Lkr=r("T_BIT_OR"),Rkr=r("T_BIT_XOR"),jkr=r("T_BIT_AND"),Gkr=r("T_EQUAL"),Mkr=r("T_NOT_EQUAL"),Bkr=r("T_STRICT_EQUAL"),qkr=r("T_STRICT_NOT_EQUAL"),Ukr=r("T_LESS_THAN_EQUAL"),Hkr=r("T_GREATER_THAN_EQUAL"),Xkr=r("T_LESS_THAN"),Ykr=r("T_GREATER_THAN"),Vkr=r("T_LSHIFT"),zkr=r("T_RSHIFT"),Kkr=r("T_RSHIFT3"),Wkr=r("T_PLUS"),Jkr=r("T_MINUS"),$kr=r("T_DIV"),Zkr=r("T_MULT"),Qkr=r("T_EXP"),rwr=r("T_MOD"),ewr=r("T_NOT"),nwr=r("T_BIT_NOT"),twr=r("T_INCR"),uwr=r("T_DECR"),iwr=r("T_EOF"),fwr=r("T_ANY_TYPE"),xwr=r("T_MIXED_TYPE"),awr=r("T_EMPTY_TYPE"),owr=r("T_NUMBER_TYPE"),cwr=r("T_BIGINT_TYPE"),swr=r("T_STRING_TYPE"),vwr=r("T_VOID_TYPE"),lwr=r("T_SYMBOL_TYPE"),bwr=r("T_NUMBER"),pwr=r("T_BIGINT"),mwr=r("T_STRING"),_wr=r("T_TEMPLATE_PART"),ywr=r("T_IDENTIFIER"),dwr=r("T_REGEXP"),hwr=r("T_ERROR"),kwr=r("T_JSX_IDENTIFIER"),wwr=r("T_JSX_TEXT"),Ewr=r("T_BOOLEAN_TYPE"),Swr=r("T_NUMBER_SINGLETON_TYPE"),gwr=r("T_BIGINT_SINGLETON_TYPE"),Fwr=[0,r(FX),VT,9],Twr=[0,r(FX),N6,9],Owr=r(HH),Iwr=r("*/"),Awr=r(HH),Nwr=r("unreachable line_comment"),Cwr=r("unreachable string_quote"),Pwr=r("\\"),Dwr=r("unreachable template_part"),Lwr=r("${"),Rwr=r(zY),jwr=r(zY),Gwr=r(UI),Mwr=r("unreachable regexp_class"),Bwr=r(oY),qwr=r("unreachable regexp_body"),Uwr=r(C),Hwr=r(C),Xwr=r(C),Ywr=r(C),Vwr=r("unreachable jsxtext"),zwr=r(D3),Kwr=r(V2),Wwr=r(g3),Jwr=r(cv),$wr=r(SH),Zwr=r(p3),Qwr=r("{'}'}"),rEr=r(p3),eEr=r("{'>'}"),nEr=r(cv),tEr=r(b1),uEr=r("iexcl"),iEr=r("aelig"),fEr=r("Nu"),xEr=r("Eacute"),aEr=r("Atilde"),oEr=r("'int'"),cEr=r("AElig"),sEr=r("Aacute"),vEr=r("Acirc"),lEr=r("Agrave"),bEr=r("Alpha"),pEr=r("Aring"),mEr=[0,SY],_Er=[0,913],yEr=[0,at],dEr=[0,iI],hEr=[0,VT],kEr=[0,_H],wEr=[0,8747],EEr=r("Auml"),SEr=r("Beta"),gEr=r("Ccedil"),FEr=r("Chi"),TEr=r("Dagger"),OEr=r("Delta"),IEr=r("ETH"),AEr=[0,wH],NEr=[0,916],CEr=[0,8225],PEr=[0,935],DEr=[0,uX],LEr=[0,914],REr=[0,WX],jEr=[0,vY],GEr=r("Icirc"),MEr=r("Ecirc"),BEr=r("Egrave"),qEr=r("Epsilon"),UEr=r("Eta"),HEr=r("Euml"),XEr=r("Gamma"),YEr=r("Iacute"),VEr=[0,$H],zEr=[0,915],KEr=[0,fV],WEr=[0,919],JEr=[0,917],$Er=[0,RU],ZEr=[0,xH],QEr=r("Igrave"),rSr=r("Iota"),eSr=r("Iuml"),nSr=r("Kappa"),tSr=r("Lambda"),uSr=r("Mu"),iSr=r("Ntilde"),fSr=[0,Zg],xSr=[0,924],aSr=[0,923],oSr=[0,922],cSr=[0,LX],sSr=[0,921],vSr=[0,rY],lSr=[0,CH],bSr=[0,mY],pSr=r("Sigma"),mSr=r("Otilde"),_Sr=r("OElig"),ySr=r("Oacute"),dSr=r("Ocirc"),hSr=r("Ograve"),kSr=r("Omega"),wSr=r("Omicron"),ESr=r("Oslash"),SSr=[0,d6],gSr=[0,927],FSr=[0,937],TSr=[0,N6],OSr=[0,EY],ISr=[0,EU],ASr=[0,338],NSr=r("Ouml"),CSr=r("Phi"),PSr=r("Pi"),DSr=r("Prime"),LSr=r("Psi"),RSr=r("Rho"),jSr=r("Scaron"),GSr=[0,352],MSr=[0,929],BSr=[0,936],qSr=[0,8243],USr=[0,928],HSr=[0,934],XSr=[0,dT],YSr=[0,qX],VSr=r("Uuml"),zSr=r("THORN"),KSr=r("Tau"),WSr=r("Theta"),JSr=r("Uacute"),$Sr=r("Ucirc"),ZSr=r("Ugrave"),QSr=r("Upsilon"),rgr=[0,933],egr=[0,sp],ngr=[0,NU],tgr=[0,Lw],ugr=[0,920],igr=[0,932],fgr=[0,NX],xgr=r("Xi"),agr=r("Yacute"),ogr=r("Yuml"),cgr=r("Zeta"),sgr=r("aacute"),vgr=r("acirc"),lgr=r("acute"),bgr=[0,mU],pgr=[0,tk],mgr=[0,HO],_gr=[0,918],ygr=[0,376],dgr=[0,HX],hgr=[0,926],kgr=[0,aA],wgr=[0,zX],Egr=[0,925],Sgr=r("delta"),ggr=r("cap"),Fgr=r("aring"),Tgr=r("agrave"),Ogr=r("alefsym"),Igr=r("alpha"),Agr=r("amp"),Ngr=r("and"),Cgr=r("ang"),Pgr=r("apos"),Dgr=[0,39],Lgr=[0,8736],Rgr=[0,8743],jgr=[0,38],Ggr=[0,945],Mgr=[0,8501],Bgr=[0,dv],qgr=r("asymp"),Ugr=r("atilde"),Hgr=r("auml"),Xgr=r("bdquo"),Ygr=r("beta"),Vgr=r("brvbar"),zgr=r("bull"),Kgr=[0,8226],Wgr=[0,MY],Jgr=[0,946],$gr=[0,8222],Zgr=[0,sV],Qgr=[0,eX],rFr=[0,8776],eFr=[0,dU],nFr=r("copy"),tFr=r("ccedil"),uFr=r("cedil"),iFr=r("cent"),fFr=r("chi"),xFr=r("circ"),aFr=r("clubs"),oFr=r("cong"),cFr=[0,8773],sFr=[0,9827],vFr=[0,iX],lFr=[0,967],bFr=[0,Sd],pFr=[0,wk],mFr=[0,VX],_Fr=r("crarr"),yFr=r("cup"),dFr=r("curren"),hFr=r("dArr"),kFr=r("dagger"),wFr=r("darr"),EFr=r("deg"),SFr=[0,kV],gFr=[0,8595],FFr=[0,8224],TFr=[0,8659],OFr=[0,PF],IFr=[0,8746],AFr=[0,8629],NFr=[0,RX],CFr=[0,8745],PFr=r("fnof"),DFr=r("ensp"),LFr=r("diams"),RFr=r("divide"),jFr=r("eacute"),GFr=r("ecirc"),MFr=r("egrave"),BFr=r(s7),qFr=r("emsp"),UFr=[0,8195],HFr=[0,8709],XFr=[0,eT],YFr=[0,aH],VFr=[0,wT],zFr=[0,jw],KFr=[0,9830],WFr=r("epsilon"),JFr=r("equiv"),$Fr=r("eta"),ZFr=r("eth"),QFr=r("euml"),rTr=r("euro"),eTr=r("exist"),nTr=[0,8707],tTr=[0,8364],uTr=[0,eH],iTr=[0,v1],fTr=[0,951],xTr=[0,8801],aTr=[0,949],oTr=[0,8194],cTr=r("gt"),sTr=r("forall"),vTr=r("frac12"),lTr=r("frac14"),bTr=r("frac34"),pTr=r("frasl"),mTr=r("gamma"),_Tr=r("ge"),yTr=[0,8805],dTr=[0,947],hTr=[0,8260],kTr=[0,PY],wTr=[0,cY],ETr=[0,sX],STr=[0,8704],gTr=r("hArr"),FTr=r("harr"),TTr=r("hearts"),OTr=r("hellip"),ITr=r("iacute"),ATr=r("icirc"),NTr=[0,pH],CTr=[0,YY],PTr=[0,8230],DTr=[0,9829],LTr=[0,8596],RTr=[0,8660],jTr=[0,62],GTr=[0,402],MTr=[0,948],BTr=[0,Bd],qTr=r("prime"),UTr=r("ndash"),HTr=r("le"),XTr=r("kappa"),YTr=r("igrave"),VTr=r("image"),zTr=r("infin"),KTr=r("iota"),WTr=r("iquest"),JTr=r("isin"),$Tr=r("iuml"),ZTr=[0,f6],QTr=[0,8712],rOr=[0,yX],eOr=[0,953],nOr=[0,8734],tOr=[0,8465],uOr=[0,mO],iOr=r("lArr"),fOr=r("lambda"),xOr=r("lang"),aOr=r("laquo"),oOr=r("larr"),cOr=r("lceil"),sOr=r("ldquo"),vOr=[0,8220],lOr=[0,8968],bOr=[0,8592],pOr=[0,yg],mOr=[0,10216],_Or=[0,955],yOr=[0,8656],dOr=[0,954],hOr=r("macr"),kOr=r("lfloor"),wOr=r("lowast"),EOr=r("loz"),SOr=r("lrm"),gOr=r("lsaquo"),FOr=r("lsquo"),TOr=r("lt"),OOr=[0,60],IOr=[0,8216],AOr=[0,8249],NOr=[0,_U],COr=[0,9674],POr=[0,8727],DOr=[0,8970],LOr=r("mdash"),ROr=r("micro"),jOr=r("middot"),GOr=r(pY),MOr=r("mu"),BOr=r("nabla"),qOr=r("nbsp"),UOr=[0,sY],HOr=[0,8711],XOr=[0,956],YOr=[0,8722],VOr=[0,mS],zOr=[0,Ai],KOr=[0,8212],WOr=[0,dX],JOr=[0,8804],$Or=r("or"),ZOr=r("oacute"),QOr=r("ne"),rIr=r("ni"),eIr=r("not"),nIr=r("notin"),tIr=r("nsub"),uIr=r("ntilde"),iIr=r("nu"),fIr=[0,957],xIr=[0,Wy],aIr=[0,8836],oIr=[0,8713],cIr=[0,BU],sIr=[0,8715],vIr=[0,8800],lIr=r("ocirc"),bIr=r("oelig"),pIr=r("ograve"),mIr=r("oline"),_Ir=r("omega"),yIr=r("omicron"),dIr=r("oplus"),hIr=[0,8853],kIr=[0,959],wIr=[0,969],EIr=[0,8254],SIr=[0,TT],gIr=[0,339],FIr=[0,l8],TIr=[0,uH],OIr=r("part"),IIr=r("ordf"),AIr=r("ordm"),NIr=r("oslash"),CIr=r("otilde"),PIr=r("otimes"),DIr=r("ouml"),LIr=r("para"),RIr=[0,Kg],jIr=[0,$2],GIr=[0,8855],MIr=[0,rV],BIr=[0,wt],qIr=[0,dh],UIr=[0,Xg],HIr=r("permil"),XIr=r("perp"),YIr=r("phi"),VIr=r("pi"),zIr=r("piv"),KIr=r("plusmn"),WIr=r("pound"),JIr=[0,Mn],$Ir=[0,oV],ZIr=[0,982],QIr=[0,960],rAr=[0,966],eAr=[0,8869],nAr=[0,8240],tAr=[0,8706],uAr=[0,8744],iAr=[0,8211],fAr=r("sup1"),xAr=r("rlm"),aAr=r("raquo"),oAr=r("prod"),cAr=r("prop"),sAr=r("psi"),vAr=r("quot"),lAr=r("rArr"),bAr=r("radic"),pAr=r("rang"),mAr=[0,10217],_Ar=[0,8730],yAr=[0,8658],dAr=[0,34],hAr=[0,968],kAr=[0,8733],wAr=[0,8719],EAr=r("rarr"),SAr=r("rceil"),gAr=r("rdquo"),FAr=r("real"),TAr=r("reg"),OAr=r("rfloor"),IAr=r("rho"),AAr=[0,961],NAr=[0,8971],CAr=[0,nH],PAr=[0,8476],DAr=[0,8221],LAr=[0,8969],RAr=[0,8594],jAr=[0,iw],GAr=r("sigma"),MAr=r("rsaquo"),BAr=r("rsquo"),qAr=r("sbquo"),UAr=r("scaron"),HAr=r("sdot"),XAr=r("sect"),YAr=r("shy"),VAr=[0,wY],zAr=[0,DT],KAr=[0,8901],WAr=[0,353],JAr=[0,8218],$Ar=[0,8217],ZAr=[0,8250],QAr=r("sigmaf"),rNr=r("sim"),eNr=r("spades"),nNr=r("sub"),tNr=r("sube"),uNr=r("sum"),iNr=r("sup"),fNr=[0,8835],xNr=[0,8721],aNr=[0,8838],oNr=[0,8834],cNr=[0,9824],sNr=[0,8764],vNr=[0,962],lNr=[0,963],bNr=[0,8207],pNr=r("uarr"),mNr=r("thetasym"),_Nr=r("sup2"),yNr=r("sup3"),dNr=r("supe"),hNr=r("szlig"),kNr=r("tau"),wNr=r("there4"),ENr=r("theta"),SNr=[0,952],gNr=[0,8756],FNr=[0,964],TNr=[0,d8],ONr=[0,8839],INr=[0,qY],ANr=[0,OO],NNr=r("thinsp"),CNr=r("thorn"),PNr=r("tilde"),DNr=r("times"),LNr=r("trade"),RNr=r("uArr"),jNr=r("uacute"),GNr=[0,nl],MNr=[0,8657],BNr=[0,8482],qNr=[0,cT],UNr=[0,732],HNr=[0,gv],XNr=[0,8201],YNr=[0,977],VNr=r("xi"),zNr=r("ucirc"),KNr=r("ugrave"),WNr=r("uml"),JNr=r("upsih"),$Nr=r("upsilon"),ZNr=r("uuml"),QNr=r("weierp"),rCr=[0,cU],eCr=[0,Y2],nCr=[0,965],tCr=[0,978],uCr=[0,DY],iCr=[0,249],fCr=[0,251],xCr=r("yacute"),aCr=r("yen"),oCr=r("yuml"),cCr=r("zeta"),sCr=r("zwj"),vCr=r("zwnj"),lCr=[0,FY],bCr=[0,8205],pCr=[0,950],mCr=[0,Ow],_Cr=[0,nY],yCr=[0,ih],dCr=[0,958],hCr=[0,8593],kCr=[0,AU],wCr=[0,8242],ECr=[0,WU],SCr=r($Y),gCr=r(Bh),FCr=r("unreachable jsx_child"),TCr=r("unreachable type_token wholenumber"),OCr=r("unreachable type_token wholebigint"),ICr=r("unreachable type_token floatbigint"),ACr=r("unreachable type_token scinumber"),NCr=r("unreachable type_token scibigint"),CCr=r("unreachable type_token hexnumber"),PCr=r("unreachable type_token hexbigint"),DCr=r("unreachable type_token legacyoctnumber"),LCr=r("unreachable type_token octnumber"),RCr=r("unreachable type_token octbigint"),jCr=r("unreachable type_token binnumber"),GCr=r("unreachable type_token bigbigint"),MCr=r("unreachable type_token"),BCr=r(o1),qCr=r(o1),UCr=r(FU),HCr=r(X8),XCr=r(t6),YCr=r(a1),VCr=r(I6),zCr=r(O2),KCr=r(s7),WCr=r(C7),JCr=r(Ci),$Cr=r(r7),ZCr=[9,1],QCr=[9,0],rPr=r(xs),ePr=r(hv),nPr=r(eu),tPr=r(Tv),uPr=r(W4),iPr=r(Gi),fPr=r(es),xPr=r(ns),aPr=r("unreachable template_tail"),oPr=r(p3),cPr=[0,r(C),r(C),r(C)],sPr=r("unreachable jsx_tag"),vPr=r(D3),lPr=r("unreachable regexp"),bPr=r("unreachable token wholenumber"),pPr=r("unreachable token wholebigint"),mPr=r("unreachable token floatbigint"),_Pr=r("unreachable token scinumber"),yPr=r("unreachable token scibigint"),dPr=r("unreachable token hexnumber"),hPr=r("unreachable token hexbigint"),kPr=r("unreachable token legacyoctnumber"),wPr=r("unreachable token legacynonoctnumber"),EPr=r("unreachable token octnumber"),SPr=r("unreachable token octbigint"),gPr=r("unreachable token bignumber"),FPr=r("unreachable token bigint"),TPr=r("unreachable token"),OPr=r(o1),IPr=r(o1),APr=r(FU),NPr=[6,r("#!")],CPr=r("expected ?"),PPr=r(j2),DPr=r(y4),LPr=r(D2),RPr=r(Os),jPr=r(wx),GPr=r(I7),MPr=r(k6),BPr=r(o6),qPr=r(q2),UPr=r(A7),HPr=r(O7),XPr=r(T2),YPr=r(mi),VPr=r(J2),zPr=r(tp),KPr=r(H4),WPr=r(p8),JPr=r(y3),$Pr=r(C7),ZPr=r(Ci),QPr=r(U8),rDr=r(M2),eDr=r(N3),nDr=r(gs),tDr=r(qu),uDr=r(R2),iDr=r(yv),fDr=r(d4),xDr=r(r7),aDr=r(G2),oDr=r(i1),cDr=r(xs),sDr=r(LS),vDr=r(ud),lDr=r(w4),bDr=r(c6),pDr=r(S6),mDr=r(Wu),_Dr=r(eu),yDr=r(es),dDr=r(P7),hDr=r(f1),kDr=r(g7),wDr=r(Gi),EDr=r(k4),SDr=r($c),gDr=r(U2),FDr=r(ns),TDr=r(W6),ODr=r(P8),IDr=r(wu),ADr=r("unreachable string_escape"),NDr=r($u),CDr=r(H2),PDr=r(H2),DDr=r($u),LDr=r(gX),RDr=r(lY),jDr=r("n"),GDr=r("r"),MDr=r("t"),BDr=r(hV),qDr=r(H2),UDr=r(b1),HDr=r(b1),XDr=r("unreachable id_char"),YDr=r(b1),VDr=r(b1),zDr=r("Invalid (lexer) bigint "),KDr=r("Invalid (lexer) bigint binary/octal "),WDr=r(H2),JDr=r(hH),$Dr=r(lU),ZDr=r(Dd),QDr=[10,r("token ILLEGAL")],rLr=r("\0"),eLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),nLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),tLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),uLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),iLr=r("\0\0"),fLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),xLr=r(""),aLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),oLr=r("\0"),cLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),sLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),vLr=r("\0\0\0\0"),lLr=r("\0\0\0"),bLr=r("\x07\x07"),pLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),mLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),_Lr=r(`\x07\b  +\v\f\r`),yLr=r(""),dLr=r("\0\0\0"),hLr=r("\0"),kLr=r("\0\0\0\0\0\0"),wLr=r(""),ELr=r(""),SLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),gLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),FLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),TLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),OLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ILr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ALr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),NLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),CLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),PLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),DLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),LLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\b\0\0\0\0\0\0 \x07\b"),RLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),jLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),GLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),MLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),BLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),qLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ULr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),HLr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),XLr=r(`\x07\b +\v\x07\f\r\x1B  ! "#$%                                                                                                                                                                                                                                                         `),YLr=r(""),VLr=r(""),zLr=r("\0\0\0\0"),KLr=r(`\x07\b  +\v\f\r\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x1B\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07`),WLr=r(`\x07\b  +\v\f\r\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07`),JLr=r("\0\0"),$Lr=r(""),ZLr=r(""),QLr=r("\x07"),rRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),eRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),nRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),tRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),uRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),iRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),fRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),xRr=r("\0\0\0\0\0\0\0"),aRr=r("\x07"),oRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),cRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),sRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),vRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),lRr=r("\0"),bRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),pRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),mRr=r("\0\0"),_Rr=r("\0"),yRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),dRr=r(""),hRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),kRr=r(""),wRr=r(""),ERr=r(""),SRr=r("\0"),gRr=r("\0\0\0"),FRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),TRr=r(""),ORr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),IRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),ARr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),NRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),CRr=r("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"),PRr=[0,[11,r("the identifier `"),[2,0,[12,96,0]]],r("the identifier `%s`")],DRr=[0,1],LRr=[0,1],RRr=r("@flow"),jRr=r(EX),GRr=r(EX),MRr=[0,[11,r("an identifier. When exporting a "),[2,0,[11,r(" as a named export, you must specify a "),[2,0,[11,r(" name. Did you mean `export default "),[2,0,[11,r(" ...`?"),0]]]]]]],r("an identifier. When exporting a %s as a named export, you must specify a %s name. Did you mean `export default %s ...`?")],BRr=r(F3),qRr=r("Peeking current location when not available"),URr=r(r7),HRr=r(bv),XRr=r(t6),YRr=r(a1),VRr=r(I6),zRr=r(O2),KRr=r(s7),WRr=r(C7),JRr=r(Ci),$Rr=r(X8),ZRr=r(xs),QRr=r(hv),rjr=r(eu),ejr=r(Tv),njr=r(Gi),tjr=r(es),ujr=r(ns),ijr=r(Ci),fjr=r(xs),xjr=r(Gi),ajr=r(Ci),ojr=r(xs),cjr=r(Gi),sjr=r(C2),vjr=r("eval"),ljr=r(gs),bjr=r(r7),pjr=r(d4),mjr=r(w4),_jr=r(c6),yjr=r(S6),djr=r(eu),hjr=r(wu),kjr=r(p8),wjr=r(N3),Ejr=r(mi),Sjr=r(wx),gjr=r(I7),Fjr=r(k6),Tjr=r(o6),Ojr=r(q2),Ijr=r(D2),Ajr=r(A7),Njr=r(O7),Cjr=r(J2),Pjr=r(y4),Djr=r(H4),Ljr=r(y3),Rjr=r(C7),jjr=r(U8),Gjr=r(tp),Mjr=r(M2),Bjr=r(g7),qjr=r(qu),Ujr=r(R2),Hjr=r(j2),Xjr=r(i1),Yjr=r(Wu),Vjr=r(yv),zjr=r(P7),Kjr=r(f1),Wjr=r(k4),Jjr=r(es),$jr=r(U2),Zjr=r(ns),Qjr=r(W6),rGr=r(P8),eGr=r(wu),nGr=[0,r("src/parser/parser_env.ml"),343,9],tGr=r("Internal Error: Tried to add_declared_private with outside of class scope."),uGr=r("Internal Error: `exit_class` called before a matching `enter_class`"),iGr=r(C),fGr=[0,0,0],xGr=[0,0,0],aGr=r("Parser_env.Try.Rollback"),oGr=r(C),cGr=r(C),sGr=[0,r(wu),r(zx),r(ia),r(gU),r(AY),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(cH),r(da),r(oH),r(VU),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],vGr=[0,r(wu),r(zx),r(ia),r(Ia),r(ou),r(wc),r(fx),r(cc),r(Bf),r(Oa),r(Da),r(tc),r(Ca),r(Sf),r(Zo),r(fa),r(Dx),r(Of),r(sx),r(Ao),r(Hf),r(ja),r(Jo),r(Vx),r(Zx),r(dx),r(oa),r(xo),r(ua),r(g7),r(Aa),r(Lf),r(Ea),r(Qx),r(Zf),r(Ha),r(ha),r(P7),r(hc),r(Po),r(Fx),r(Kx),r(df),r(Fc),r(qf),r(vx),r(Wu),r(_x),r(mo),r(Le),r(Qu),r(Qo),r(Va),r(So),r(ra),r(lc),r(co),r(uo),r(Df),r(qa),r(zf),r($f),r(Ec),r(bc),r(lo),r(mf),r(Ka),r(rx),r(nx),r(pi),r(ro),r(Ba),r(wf),r(Ko),r(Ya),r(pc),r(ac),r(Qa),r(ca),r(xx),r(Pf),r(xf),r(Vf),r(tx),r(_o),r(wo),r(Jf),r(uc),r(Tf),r(jx),r(Ua),r(mx),r(hf),r(Af),r(yc),r(ur),r(dc),r($x),r(Xx),r(Lo),r(Wx),r(ux),r(Rx),r(ko),r(Lx),r(kc),r(bx),r($a),r(Sc),r(Ro),r(Wa),r(nc),r(nf),r(Px),r(sa),r(Ax),r(xa),r(Ga),r(Na),r(_c),r(Cx),r(af),r(cf),r(ex),r(Ja),r(ho),r(sc),r(Gf),r(Wo),r(na),r(wa),r(sf),r(r7),r(Co),r(Ox),r(Do),r(Yx),r(ma),r(gc),r(qu),r(zo),r(fo),r(_f),r(_i),r(Kf),r(mc),r($o),r(j7),r(yx),r(po),r(bf),r(Uo),r(Ex),r(Ma),r(yo),r(ix),r(uf),r(jf),r(Tc),r(Nx),r(kx),r(No),r(Ic),r(pa),r(ga),r(vi),r(xc),r(hx),r(jo),r(Vo),r(Oc),r(qx),r(Eo),r(Uf),r(Ff),r(ta),r(Ix),r(Au),r(no),r(io),r(ec),r(lf),r(Fo),r(ba),r(Cf),r(Mx),r(rc),r(Nf),r(Mf),r(Ux),r(Xa),r(Hx),r(vo),r(eo),r(bo),r(s7),r(ka),r(Go),r(Sx),r(Ta),r(la),r(to),r(Wf),r(Mo),r(Io),r(ox),r(O7),r(A7),r(Za),r(ao),r(Qf),r(da),r(kf),r(Fa),r(ax),r(Tx),r(Xf),r(Bo),r(Ef),r(ff),r(To),r(Rf),r(ic),r(yf),r(Ho),r(oo),r(Xo),r(gf),r(ef),r(lx),r(_a),r(px),r(If),r(I7),r(Yo),r(ut),r(Bx),r(of),r(pf),r(Jx),r(Yf),r(za),r(so),r(go),r(va),r(Gx),r(J4)],lGr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(Gx),r(fx),r(gf),r(Hf),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],bGr=[0,r(df),r(ex),r(yo),r(Kf),r(If),r(zf),r(Ua),r(tx),r(Px),r(wa),r(Jo),r(P7),r(Ya),r(no),r(ic),r(_c),r(mx),r(af),r(eo),r(Ux),r(zx),r(vi),r(kc),r(jx),r($o),r(vo),r(Af),r(_i),r(Ia),r(AY),r(qx),r(uo),r(Wf),r(lx),r(ix),r(ef),r(Ga),r(Cf),r(po),r(bc),r(xc),r(ha),r(Jx),r(_o),r(fo),r(Fx),r(bo),r(Lx),r(hf),r(ff),r(Fa),r(ro),r(So),r(oH),r(Vf),r(Va),r(Wa),r(Xf),r(ac),r(Qu),r(Pf),r(Uo),r(yc),r(sa),r(Na),r(mc),r(ux),r(Za),r(Zx),r(Nf),r(xf),r(nc),r(Qf),r(Rx),r(Ma),r(co),r(go),r(la),r(Fo),r($x),r(nx),r(va),r(_a),r(vx),r(ou),r(Qo),r(fa),r(zo),r(pf),r(ga),r(ua),r(sc),r(Rf),r(uc),r(Ha),r(s7),r(Vo),r(Vx),r(wu),r(xo),r(Io),r(tc),r(Ka),r(_x),r(Da),r(kf),r(Mo),r(cc),r(Cx),r(ra),r(na),r(Xa),r(Ff),r(pc),r(io),r(ko),r(mf),r(Eo),r(Of),r(oa),r(wc),r(Fc),r(Dx),r(Oa),r(Bo),r(hx),r(ax),r(Lo),r(Ex),r(Bf),r(da),r(Tf),r($a),r(Yf),r(Xx),r(oo),r(To),r(Co),r(lo),r(Ba),r(Sc),r(dc),r(qu),r(Wu),r(Yo),r(Zo),r(sx),r(hc),r(Ec),r(g7),r(O7),r(_f),r(Ko),r(Ix),r(cf),r(pi),r(Nx),r(Hx),r(Ox),r(Tx),r(uf),r(Wx),r(Ja),r(j7),r(bf),r(Sf),r(Mf),r(Le),r(Ic),r(ma),r(rc),r(lf),r(Jf),r(qf),r(Do),r(ca),r(Df),r(dx),r(xx),r(Ao),r(px),r(Ta),r(Xo),r(to),r(Bx),r(Gf),r(VU),r(Zf),r(yx),r(mo),r(gc),r(Ho),r(wo),r(xa),r(Ef),r(sf),r(ka),r(ja),r(cH),r(Gx),r(fx),r(gf),r(Hf),r(gU),r(Go),r(Ax),r(ho),r(ao),r(bx),r(qa),r(Wo),r(Uf),r(Ro),r(Ea),r(za),r($f),r(of),r(Au),r(rx),r(ta),r(kx),r(No),r(Kx),r(A7),r(jf),r(lc),r(ba),r(Sx),r(Lf),r(Qx),r(Po),r(pa),r(ec),r(Ca),r(jo),r(wf),r(ut),r(Yx),r(yf),r(nf),r(Qa),r(Tc),r(ox),r(Mx),r(I7),r(so),r(r7),r(ia),r(Oc),r(Aa),r(ur)],pGr=r(V4),mGr=r(I2),_Gr=[0,[11,r("Failure while looking up "),[2,0,[11,r(". Index: "),[4,0,0,0,[11,r(". Length: "),[4,0,0,0,[12,46,0]]]]]]],r("Failure while looking up %s. Index: %d. Length: %d.")],yGr=[0,0,0,0],dGr=r("Offset_utils.Offset_lookup_failed"),hGr=r(QY),kGr=r(wE),wGr=r(jY),EGr=r($X),SGr=r($X),gGr=r(jY),FGr=r($c),TGr=r(Xr),OGr=r(Wn),IGr=r("Program"),AGr=r(Yh),NGr=r("BreakStatement"),CGr=r(Yh),PGr=r("ContinueStatement"),DGr=r("DebuggerStatement"),LGr=r(vc),RGr=r("DeclareExportAllDeclaration"),jGr=r(vc),GGr=r(Cv),MGr=r(P2),BGr=r(mi),qGr=r("DeclareExportDeclaration"),UGr=r(Zc),HGr=r(Wn),XGr=r(mt),YGr=r("DeclareModule"),VGr=r(N7),zGr=r("DeclareModuleExports"),KGr=r(Ts),WGr=r(Wn),JGr=r("DoWhileStatement"),$Gr=r("EmptyStatement"),ZGr=r(_O),QGr=r(P2),rMr=r("ExportDefaultDeclaration"),eMr=r(_O),nMr=r(A4),tMr=r(vc),uMr=r("ExportAllDeclaration"),iMr=r(_O),fMr=r(vc),xMr=r(Cv),aMr=r(P2),oMr=r("ExportNamedDeclaration"),cMr=r(hn),sMr=r(Au),vMr=r("ExpressionStatement"),lMr=r(Wn),bMr=r(sU),pMr=r(Ts),mMr=r(ji),_Mr=r("ForStatement"),yMr=r(j8),dMr=r(Wn),hMr=r(Nu),kMr=r(li),wMr=r("ForInStatement"),EMr=r(wx),SMr=r(Wn),gMr=r(Nu),FMr=r(li),TMr=r("ForOfStatement"),OMr=r(_3),IMr=r(kv),AMr=r(Ts),NMr=r("IfStatement"),CMr=r($c),PMr=r(es),DMr=r(Bn),LMr=r(pX),RMr=r(vc),jMr=r(Cv),GMr=r("ImportDeclaration"),MMr=r(Wn),BMr=r(Yh),qMr=r("LabeledStatement"),UMr=r(v7),HMr=r("ReturnStatement"),XMr=r(uY),YMr=r("discriminant"),VMr=r("SwitchStatement"),zMr=r(v7),KMr=r("ThrowStatement"),WMr=r(jH),JMr=r(XU),$Mr=r(ut),ZMr=r("TryStatement"),QMr=r(Wn),rBr=r(Ts),eBr=r("WhileStatement"),nBr=r(Wn),tBr=r(ck),uBr=r("WithStatement"),iBr=r(GH),fBr=r("ArrayExpression"),xBr=r(T7),aBr=r(m6),oBr=r(Au),cBr=r(Qu),sBr=r(j7),vBr=r(Os),lBr=r(Wn),bBr=r(Ct),pBr=r(mt),mBr=r("ArrowFunctionExpression"),_Br=r(zO),yBr=r(Nu),dBr=r(li),hBr=r(ul),kBr=r("AssignmentExpression"),wBr=r(Nu),EBr=r(li),SBr=r(ul),gBr=r("BinaryExpression"),FBr=r("CallExpression"),TBr=r(O4),OBr=r(bY),IBr=r("ComprehensionExpression"),ABr=r(_3),NBr=r(kv),CBr=r(Ts),PBr=r("ConditionalExpression"),DBr=r(O4),LBr=r(bY),RBr=r("GeneratorExpression"),jBr=r(vc),GBr=r("ImportExpression"),MBr=r(ZH),BBr=r(XX),qBr=r(Fn),UBr=r(Nu),HBr=r(li),XBr=r(ul),YBr=r("LogicalExpression"),VBr=r("MemberExpression"),zBr=r(Iv),KBr=r(el),WBr=r("MetaProperty"),JBr=r(C2),$Br=r(CX),ZBr=r(UH),QBr=r("NewExpression"),rqr=r(X4),eqr=r("ObjectExpression"),nqr=r(Bu),tqr=r("OptionalCallExpression"),uqr=r(Bu),iqr=r("OptionalMemberExpression"),fqr=r(Ug),xqr=r("SequenceExpression"),aqr=r("Super"),oqr=r("ThisExpression"),cqr=r(N7),sqr=r(Au),vqr=r("TypeCastExpression"),lqr=r(v7),bqr=r("AwaitExpression"),pqr=r(Oo),mqr=r(as),_qr=r(rf),yqr=r(tV),dqr=r(es),hqr=r(ns),kqr=r(J2),wqr=r("matched above"),Eqr=r(v7),Sqr=r(XE),gqr=r(ul),Fqr=r("UnaryExpression"),Tqr=r(lV),Oqr=r(mH),Iqr=r(XE),Aqr=r(v7),Nqr=r(ul),Cqr=r("UpdateExpression"),Pqr=r(yY),Dqr=r(v7),Lqr=r("YieldExpression"),Rqr=r("Unexpected FunctionDeclaration with BodyExpression"),jqr=r(T7),Gqr=r(m6),Mqr=r(Au),Bqr=r(Qu),qqr=r(j7),Uqr=r(Os),Hqr=r(Wn),Xqr=r(Ct),Yqr=r(mt),Vqr=r("FunctionDeclaration"),zqr=r("Unexpected FunctionExpression with BodyExpression"),Kqr=r(T7),Wqr=r(m6),Jqr=r(Au),$qr=r(Qu),Zqr=r(j7),Qqr=r(Os),rUr=r(Wn),eUr=r(Ct),nUr=r(mt),tUr=r("FunctionExpression"),uUr=r(Bu),iUr=r(N7),fUr=r(ti),xUr=r(gn),aUr=r(Bu),oUr=r(N7),cUr=r(ti),sUr=r("PrivateIdentifier"),vUr=r(Bu),lUr=r(N7),bUr=r(ti),pUr=r(gn),mUr=r(kv),_Ur=r(Ts),yUr=r("SwitchCase"),dUr=r(Wn),hUr=r("param"),kUr=r("CatchClause"),wUr=r(Wn),EUr=r("BlockStatement"),SUr=r(mt),gUr=r("DeclareVariable"),FUr=r(Qu),TUr=r(mt),OUr=r("DeclareFunction"),IUr=r(Vy),AUr=r(gs),NUr=r(C7),CUr=r(Wn),PUr=r(T7),DUr=r(mt),LUr=r("DeclareClass"),RUr=r(C7),jUr=r(Wn),GUr=r(T7),MUr=r(mt),BUr=r("DeclareInterface"),qUr=r(Bn),UUr=r($c),HUr=r(A4),XUr=r("ExportNamespaceSpecifier"),YUr=r(Nu),VUr=r(T7),zUr=r(mt),KUr=r("DeclareTypeAlias"),WUr=r(Nu),JUr=r(T7),$Ur=r(mt),ZUr=r("TypeAlias"),QUr=r("DeclareOpaqueType"),rHr=r("OpaqueType"),eHr=r(IX),nHr=r(kX),tHr=r(T7),uHr=r(mt),iHr=r("ClassDeclaration"),fHr=r("ClassExpression"),xHr=r(B_),aHr=r(gs),oHr=r("superTypeParameters"),cHr=r("superClass"),sHr=r(T7),vHr=r(Wn),lHr=r(mt),bHr=r(Au),pHr=r("Decorator"),mHr=r(T7),_Hr=r(mt),yHr=r("ClassImplements"),dHr=r(Wn),hHr=r("ClassBody"),kHr=r(wv),wHr=r(F2),EHr=r(t1),SHr=r(lv),gHr=r(B_),FHr=r(pv),THr=r(eu),OHr=r(Zc),IHr=r(Bn),AHr=r(ui),NHr=r("MethodDefinition"),CHr=r(T2),PHr=r(ou),DHr=r(eu),LHr=r(pv),RHr=r(N7),jHr=r(Bn),GHr=r(ui),MHr=r(vV),BHr=r("Internal Error: Private name found in class prop"),qHr=r(T2),UHr=r(ou),HHr=r(eu),XHr=r(pv),YHr=r(N7),VHr=r(Bn),zHr=r(ui),KHr=r(vV),WHr=r(mt),JHr=r(PX),$Hr=r(ji),ZHr=r(mt),QHr=r("EnumStringMember"),rXr=r(mt),eXr=r(PX),nXr=r(ji),tXr=r(mt),uXr=r("EnumNumberMember"),iXr=r(ji),fXr=r(mt),xXr=r("EnumBooleanMember"),aXr=r(O8),oXr=r(jT),cXr=r(N4),sXr=r("EnumBooleanBody"),vXr=r(O8),lXr=r(jT),bXr=r(N4),pXr=r("EnumNumberBody"),mXr=r(O8),_Xr=r(jT),yXr=r(N4),dXr=r("EnumStringBody"),hXr=r(O8),kXr=r(N4),wXr=r("EnumSymbolBody"),EXr=r(Wn),SXr=r(mt),gXr=r("EnumDeclaration"),FXr=r(C7),TXr=r(Wn),OXr=r(T7),IXr=r(mt),AXr=r("InterfaceDeclaration"),NXr=r(T7),CXr=r(mt),PXr=r("InterfaceExtends"),DXr=r(N7),LXr=r(X4),RXr=r("ObjectPattern"),jXr=r(N7),GXr=r(GH),MXr=r("ArrayPattern"),BXr=r(Nu),qXr=r(li),UXr=r(jF),HXr=r(N7),XXr=r(ti),YXr=r(gn),VXr=r(v7),zXr=r(cX),KXr=r(v7),WXr=r(cX),JXr=r(Nu),$Xr=r(li),ZXr=r(jF),QXr=r(ji),rYr=r(ji),eYr=r(t1),nYr=r(lv),tYr=r(bH),uYr=r(pv),iYr=r(x6),fYr=r(F2),xYr=r(Zc),aYr=r(Bn),oYr=r(ui),cYr=r(wU),sYr=r(v7),vYr=r("SpreadProperty"),lYr=r(Nu),bYr=r(li),pYr=r(jF),mYr=r(pv),_Yr=r(x6),yYr=r(F2),dYr=r(Zc),hYr=r(Bn),kYr=r(ui),wYr=r(wU),EYr=r(v7),SYr=r("SpreadElement"),gYr=r(j8),FYr=r(Nu),TYr=r(li),OYr=r("ComprehensionBlock"),IYr=r("We should not create Literal nodes for bigints"),AYr=r(UX),NYr=r(pi),CYr=r("regex"),PYr=r(o7),DYr=r(Bn),LYr=r(o7),RYr=r(Bn),jYr=r(X6),GYr=r(o7),MYr=r(Bn),BYr=r(X6),qYr=r(a1),UYr=r(Bn),HYr=r("BigIntLiteral"),XYr=r(o7),YYr=r(Bn),VYr=r(X6),zYr=r(Gi),KYr=r(Ci),WYr=r(o7),JYr=r(Bn),$Yr=r(X6),ZYr=r(Ug),QYr=r("quasis"),rVr=r("TemplateLiteral"),eVr=r(GY),nVr=r(o7),tVr=r(bU),uVr=r(Bn),iVr=r("TemplateElement"),fVr=r(OY),xVr=r("tag"),aVr=r("TaggedTemplateExpression"),oVr=r(U2),cVr=r(G2),sVr=r(D2),vVr=r(Zc),lVr=r("declarations"),bVr=r("VariableDeclaration"),pVr=r(ji),mVr=r(mt),_Vr=r("VariableDeclarator"),yVr=r(Zc),dVr=r("Variance"),hVr=r("AnyTypeAnnotation"),kVr=r("MixedTypeAnnotation"),wVr=r("EmptyTypeAnnotation"),EVr=r("VoidTypeAnnotation"),SVr=r("NullLiteralTypeAnnotation"),gVr=r("SymbolTypeAnnotation"),FVr=r("NumberTypeAnnotation"),TVr=r("BigIntTypeAnnotation"),OVr=r("StringTypeAnnotation"),IVr=r("BooleanTypeAnnotation"),AVr=r(N7),NVr=r("NullableTypeAnnotation"),CVr=r(T7),PVr=r(ch),DVr=r(m6),LVr=r(f1),RVr=r(Ct),jVr=r("FunctionTypeAnnotation"),GVr=r(Bu),MVr=r(N7),BVr=r(ti),qVr=r(qH),UVr=r(Bu),HVr=r(N7),XVr=r(ti),YVr=r(qH),VVr=[0,0,0,0,0],zVr=r("internalSlots"),KVr=r("callProperties"),WVr=r("indexers"),JVr=r(X4),$Vr=r("exact"),ZVr=r(HY),QVr=r("ObjectTypeAnnotation"),rzr=r(bH),ezr=r("There should not be computed object type property keys"),nzr=r(ji),tzr=r(t1),uzr=r(lv),izr=r(Zc),fzr=r(ou),xzr=r(Y3),azr=r(eu),ozr=r(Bu),czr=r(F2),szr=r(Bn),vzr=r(ui),lzr=r("ObjectTypeProperty"),bzr=r(v7),pzr=r("ObjectTypeSpreadProperty"),mzr=r(ou),_zr=r(eu),yzr=r(Bn),dzr=r(ui),hzr=r(mt),kzr=r("ObjectTypeIndexer"),wzr=r(eu),Ezr=r(Bn),Szr=r("ObjectTypeCallProperty"),gzr=r(Bn),Fzr=r(F2),Tzr=r(eu),Ozr=r(Bu),Izr=r(mt),Azr=r("ObjectTypeInternalSlot"),Nzr=r(Wn),Czr=r(C7),Pzr=r("InterfaceTypeAnnotation"),Dzr=r("elementType"),Lzr=r("ArrayTypeAnnotation"),Rzr=r(mt),jzr=r(fY),Gzr=r("QualifiedTypeIdentifier"),Mzr=r(T7),Bzr=r(mt),qzr=r("GenericTypeAnnotation"),Uzr=r("indexType"),Hzr=r("objectType"),Xzr=r("IndexedAccessType"),Yzr=r(Bu),Vzr=r("OptionalIndexedAccessType"),zzr=r(Z6),Kzr=r("UnionTypeAnnotation"),Wzr=r(Z6),Jzr=r("IntersectionTypeAnnotation"),$zr=r(v7),Zzr=r("TypeofTypeAnnotation"),Qzr=r(mt),rKr=r(fY),eKr=r("QualifiedTypeofIdentifier"),nKr=r(Z6),tKr=r("TupleTypeAnnotation"),uKr=r(o7),iKr=r(Bn),fKr=r("StringLiteralTypeAnnotation"),xKr=r(o7),aKr=r(Bn),oKr=r("NumberLiteralTypeAnnotation"),cKr=r(o7),sKr=r(Bn),vKr=r("BigIntLiteralTypeAnnotation"),lKr=r(Gi),bKr=r(Ci),pKr=r(o7),mKr=r(Bn),_Kr=r("BooleanLiteralTypeAnnotation"),yKr=r("ExistsTypeAnnotation"),dKr=r(N7),hKr=r("TypeAnnotation"),kKr=r(Ct),wKr=r("TypeParameterDeclaration"),EKr=r(mi),SKr=r(ou),gKr=r(MU),FKr=r(ti),TKr=r("TypeParameter"),OKr=r(Ct),IKr=r(AH),AKr=r(Ct),NKr=r(AH),CKr=r(bv),PKr=r(Ve),DKr=r("closingElement"),LKr=r("openingElement"),RKr=r("JSXElement"),jKr=r("closingFragment"),GKr=r(Ve),MKr=r("openingFragment"),BKr=r("JSXFragment"),qKr=r("selfClosing"),UKr=r(kY),HKr=r(ti),XKr=r("JSXOpeningElement"),YKr=r("JSXOpeningFragment"),VKr=r(ti),zKr=r("JSXClosingElement"),KKr=r("JSXClosingFragment"),WKr=r(Bn),JKr=r(ti),$Kr=r("JSXAttribute"),ZKr=r(v7),QKr=r("JSXSpreadAttribute"),rWr=r("JSXEmptyExpression"),eWr=r(Au),nWr=r("JSXExpressionContainer"),tWr=r(Au),uWr=r("JSXSpreadChild"),iWr=r(o7),fWr=r(Bn),xWr=r("JSXText"),aWr=r(Iv),oWr=r(ck),cWr=r("JSXMemberExpression"),sWr=r(ti),vWr=r("namespace"),lWr=r("JSXNamespacedName"),bWr=r(ti),pWr=r("JSXIdentifier"),mWr=r(A4),_Wr=r(B2),yWr=r("ExportSpecifier"),dWr=r(B2),hWr=r("ImportDefaultSpecifier"),kWr=r(B2),wWr=r("ImportNamespaceSpecifier"),EWr=r(pX),SWr=r(B2),gWr=r("imported"),FWr=r("ImportSpecifier"),TWr=r("Line"),OWr=r("Block"),IWr=r(Bn),AWr=r(Bn),NWr=r("DeclaredPredicate"),CWr=r("InferredPredicate"),PWr=r(C2),DWr=r(CX),LWr=r(UH),RWr=r(pv),jWr=r(Iv),GWr=r(ck),MWr=r("message"),BWr=r(wE),qWr=r(KH),UWr=r(S7),HWr=r(vc),XWr=r(I2),YWr=r(V4),VWr=[0,[3,0,0],r(Yt)],zWr=r(M2),KWr=r(N3),WWr=r(R2),JWr=r(j2),$Wr=r(Wu),ZWr=r(P7),QWr=r(f1),rJr=r(g7),eJr=r(k4),nJr=r(U2),tJr=r(W6),uJr=r(P8),iJr=r(D2),fJr=r(G2),xJr=r(xs),aJr=r(Ci),oJr=r(Gi),cJr=r(I7),sJr=r(k6),vJr=r(o6),lJr=r(A7),bJr=r(mi),pJr=r(y4),mJr=r(U8),_Jr=r(tp),yJr=r(q2),dJr=r(C7),hJr=r(eu),kJr=r(H4),wJr=r(i1),EJr=r(J2),SJr=r(es),gJr=r(ns),FJr=r(p8),TJr=r(y3),OJr=r(qu),IJr=r(yv),AJr=r(gs),NJr=r(r7),CJr=r(d4),PJr=r(w4),DJr=r(c6),LJr=r(S6),RJr=r(wu),jJr=r(O7),GJr=r(T2),MJr=r($c),BJr=r(ud),qJr=r(LS),UJr=r(Os),HJr=r(wx),XJr=r(t6),YJr=r(X8),VJr=r(s7),zJr=r(hv),KJr=r(a1),WJr=r(Tv),JJr=r(ns),$Jr=r(W4),ZJr=r(O2),QJr=r(I6),r$r=[0,r(F3)],e$r=r(C),n$r=[7,0],t$r=r(C),u$r=[0,1],i$r=[0,2],f$r=[0,3],x$r=[0,0],a$r=[0,0],o$r=[0,0,0,0,0],c$r=[0,r(vv),906,6],s$r=[0,r(vv),tY,6],v$r=[0,0],l$r=[0,r(vv),1012,8],b$r=r(Y3),p$r=[0,r(vv),1029,8],m$r=r("Can not have both `static` and `proto`"),_$r=r(eu),y$r=r(Y3),d$r=r(t1),h$r=r(lv),k$r=r(t1),w$r=r(wv),E$r=r(lH),S$r=[0,0,0,0],g$r=[0,[0,0,0,0,0]],F$r=r(f1),T$r=[0,r("a type")],O$r=[0,0],I$r=[0,0],A$r=[14,1],N$r=[14,0],C$r=[0,r(vv),OH,15],P$r=[0,r(vv),D7,15],D$r=[0,44],L$r=[0,44],R$r=r(M2),j$r=[0,r(C),0],G$r=[0,0,0],M$r=[0,0,0],B$r=[0,0,0],q$r=[0,41],U$r=r(Zu),H$r=r(Zu),X$r=[0,r("a regular expression")],Y$r=r(C),V$r=r(C),z$r=r(C),K$r=[0,r("src/parser/expression_parser.ml"),jU,17],W$r=[0,r("a template literal part")],J$r=[0,[0,r(C),r(C)],1],$$r=r(xs),Z$r=r(xs),Q$r=r(Gi),rZr=r(Ci),eZr=r("Invalid bigint "),nZr=r("Invalid bigint binary/octal "),tZr=r(H2),uZr=r(hH),iZr=r(Dd),fZr=r(Dd),xZr=r(lU),aZr=[0,44],oZr=[0,1],cZr=[0,1],sZr=[0,1],vZr=[0,1],lZr=[0,0],bZr=r(bv),pZr=r(bv),mZr=r(i1),_Zr=r(OS),yZr=[0,r("the identifier `target`")],dZr=[0,0],hZr=r(qu),kZr=r(el),wZr=r(el),EZr=r(yv),SZr=[0,0],gZr=[0,r("either a call or access of `super`")],FZr=r(yv),TZr=[0,0],OZr=[0,1],IZr=[0,0],AZr=[0,1],NZr=[0,0],CZr=[0,1],PZr=[0,0],DZr=[0,2],LZr=[0,3],RZr=[0,7],jZr=[0,6],GZr=[0,4],MZr=[0,5],BZr=[0,[0,17,[0,2]]],qZr=[0,[0,18,[0,3]]],UZr=[0,[0,19,[0,4]]],HZr=[0,[0,0,[0,5]]],XZr=[0,[0,1,[0,5]]],YZr=[0,[0,2,[0,5]]],VZr=[0,[0,3,[0,5]]],zZr=[0,[0,5,[0,6]]],KZr=[0,[0,7,[0,6]]],WZr=[0,[0,4,[0,6]]],JZr=[0,[0,6,[0,6]]],$Zr=[0,[0,8,[0,7]]],ZZr=[0,[0,9,[0,7]]],QZr=[0,[0,10,[0,7]]],rQr=[0,[0,11,[0,8]]],eQr=[0,[0,12,[0,8]]],nQr=[0,[0,15,[0,9]]],tQr=[0,[0,13,[0,9]]],uQr=[0,[0,14,[1,10]]],iQr=[0,[0,16,[0,9]]],fQr=[0,[0,21,[0,6]]],xQr=[0,[0,20,[0,6]]],aQr=[23,r(Fn)],oQr=[0,[0,8]],cQr=[0,[0,7]],sQr=[0,[0,6]],vQr=[0,[0,10]],lQr=[0,[0,9]],bQr=[0,[0,11]],pQr=[0,[0,5]],mQr=[0,[0,4]],_Qr=[0,[0,2]],yQr=[0,[0,3]],dQr=[0,[0,1]],hQr=[0,[0,0]],kQr=[0,[0,12]],wQr=[0,[0,13]],EQr=[0,[0,14]],SQr=[0,0],gQr=r(qu),FQr=r(i1),TQr=r(OS),OQr=r(el),IQr=r(Os),AQr=r(qu),NQr=r(i1),CQr=r(OS),PQr=r(el),DQr=r(o1),LQr=r(Ra),RQr=[17,r("JSX fragment")],jQr=[0,Ni],GQr=[1,Ni],MQr=r(C),BQr=[0,r(C)],qQr=[0,r(F3)],UQr=r(C),HQr=[0,0,0,0],XQr=[0,r("src/hack_forked/utils/collections/flow_map.ml"),717,36],YQr=[0,0,0],VQr=r(q2),zQr=[0,r(C),0],KQr=r("unexpected PrivateName in Property, expected a PrivateField"),WQr=r(wv),JQr=r(lH),$Qr=[0,0,0],ZQr=r(wv),QQr=r(wv),r0e=r(t1),e0e=r(lv),n0e=[0,1],t0e=[0,1],u0e=[0,1],i0e=r(wv),f0e=r(t1),x0e=r(lv),a0e=r(zO),o0e=r(wu),c0e=r(wx),s0e=r("Internal Error: private name found in object props"),v0e=r(pV),l0e=[0,r(F3)],b0e=r(wu),p0e=r(wx),m0e=r(wu),_0e=r(wx),y0e=r(pV),d0e=[10,r(_i)],h0e=[0,1],k0e=r(c1),w0e=r(K2),E0e=[0,r(GS),1763,21],S0e=r(K2),g0e=r(c1),F0e=[0,r("a declaration, statement or export specifiers")],T0e=[0,40],O0e=r(c1),I0e=r(K2),A0e=[0,r(C),r(C),0],N0e=[0,r(OU)],C0e=r(hU),P0e=r("exports"),D0e=[0,1],L0e=[0,1],R0e=[0,0],j0e=r(hU),G0e=[0,40],M0e=r(Vy),B0e=[0,0],q0e=[0,1],U0e=[0,83],H0e=[0,0],X0e=[0,1],Y0e=r(c1),V0e=r(c1),z0e=r(K2),K0e=r(c1),W0e=[0,r("the keyword `as`")],J0e=r(c1),$0e=r(K2),Z0e=[0,r(OU)],Q0e=[0,r("the keyword `from`")],rre=[0,r(C),r(C),0],ere=[0,r(aU)],nre=r("Label"),tre=[0,r(aU)],ure=[0,0,0],ire=[0,29],fre=[0,r(GS),431,22],xre=[0,28],are=[0,r(GS),450,22],ore=[0,0],cre=r("the token `;`"),sre=[0,0],vre=[0,0],lre=r(wx),bre=r(G2),pre=r(wu),mre=[0,r(KU)],_re=[15,[0,0]],yre=[0,r(KU)],dre=r("use strict"),hre=[0,0,0,0],kre=r(UI),wre=r("Nooo: "),Ere=r(mi),Sre=r("Parser error: No such thing as an expression pattern!"),gre=r(C),Fre=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Tre=[0,r("src/parser/parser_flow.ml"),DT,28],Ore=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],Ire=r(Bn),Are=r(QY),Nre=r(I2),Cre=r(V4),Pre=r(KH),Dre=r(I2),Lre=r(V4),Rre=r(S7),jre=r(wE),Gre=r("normal"),Mre=r($c),Bre=r("jsxTag"),qre=r("jsxChild"),Ure=r("template"),Hre=r(XH),Xre=r("context"),Yre=r($c),Vre=r("use_strict"),zre=r(Z6),Kre=r("esproposal_export_star_as"),Wre=r("esproposal_decorators"),Jre=r("enums"),$re=r("Internal error: ");function jt(t){if(typeof t=="number")return 0;switch(t[0]){case 0:return[0,jt(t[1])];case 1:return[1,jt(t[1])];case 2:return[2,jt(t[1])];case 3:return[3,jt(t[1])];case 4:return[4,jt(t[1])];case 5:return[5,jt(t[1])];case 6:return[6,jt(t[1])];case 7:return[7,jt(t[1])];case 8:var n=t[1];return[8,n,jt(t[2])];case 9:var e=t[1];return[9,e,e,jt(t[3])];case 10:return[10,jt(t[1])];case 11:return[11,jt(t[1])];case 12:return[12,jt(t[1])];case 13:return[13,jt(t[1])];default:return[14,jt(t[1])]}}function t7(t,n){if(typeof t=="number")return n;switch(t[0]){case 0:return[0,t7(t[1],n)];case 1:return[1,t7(t[1],n)];case 2:return[2,t7(t[1],n)];case 3:return[3,t7(t[1],n)];case 4:return[4,t7(t[1],n)];case 5:return[5,t7(t[1],n)];case 6:return[6,t7(t[1],n)];case 7:return[7,t7(t[1],n)];case 8:var e=t[1];return[8,e,t7(t[2],n)];case 9:var i=t[2],x=t[1];return[9,x,i,t7(t[3],n)];case 10:return[10,t7(t[1],n)];case 11:return[11,t7(t[1],n)];case 12:return[12,t7(t[1],n)];case 13:return[13,t7(t[1],n)];default:return[14,t7(t[1],n)]}}function It(t,n){if(typeof t=="number")return n;switch(t[0]){case 0:return[0,It(t[1],n)];case 1:return[1,It(t[1],n)];case 2:var e=t[1];return[2,e,It(t[2],n)];case 3:var i=t[1];return[3,i,It(t[2],n)];case 4:var x=t[3],c=t[2],s=t[1];return[4,s,c,x,It(t[4],n)];case 5:var p=t[3],y=t[2],T=t[1];return[5,T,y,p,It(t[4],n)];case 6:var E=t[3],h=t[2],w=t[1];return[6,w,h,E,It(t[4],n)];case 7:var G=t[3],A=t[2],S=t[1];return[7,S,A,G,It(t[4],n)];case 8:var M=t[3],K=t[2],V=t[1];return[8,V,K,M,It(t[4],n)];case 9:var f0=t[1];return[9,f0,It(t[2],n)];case 10:return[10,It(t[1],n)];case 11:var m0=t[1];return[11,m0,It(t[2],n)];case 12:var k0=t[1];return[12,k0,It(t[2],n)];case 13:var g0=t[2],e0=t[1];return[13,e0,g0,It(t[3],n)];case 14:var x0=t[2],l=t[1];return[14,l,x0,It(t[3],n)];case 15:return[15,It(t[1],n)];case 16:return[16,It(t[1],n)];case 17:var c0=t[1];return[17,c0,It(t[2],n)];case 18:var t0=t[1];return[18,t0,It(t[2],n)];case 19:return[19,It(t[1],n)];case 20:var a0=t[2],w0=t[1];return[20,w0,a0,It(t[3],n)];case 21:var _0=t[1];return[21,_0,It(t[2],n)];case 22:return[22,It(t[1],n)];case 23:var E0=t[1];return[23,E0,It(t[2],n)];default:var X0=t[2],b=t[1];return[24,b,X0,It(t[3],n)]}}function iN(t,n,e){return t[1]===n?(t[1]=e,1):0}function ke(t){throw[0,B7,t]}function Cu(t){throw[0,eN,t]}G7(0);function Fp(t){return 0<=t?t:-t|0}var Zre=kH;function Te(t,n){var e=nn(t),i=nn(n),x=Pt(e+i|0);return As(t,0,x,0,e),As(n,0,x,e,i),x}function Qre(t){return t?ki0:wi0}function un(t,n){if(t){var e=t[1];return[0,e,un(t[2],n)]}return n}ri0(0);var ree=ZV(1),Lc=ZV(2);function eee(t){function n(e){for(var i=e;;){if(i){var x=i[2],c=i[1];try{m1(c)}catch(y){if(y=Et(y),y[1]!==nz)throw y;var s=y}var i=x;continue}return 0}}return n(ei0(0))}function vl(t,n){return JA(t,n,0,nn(n))}function cz(t){return vl(Lc,t),QV(Lc,10),m1(Lc)}var fN=[0,eee];function sz(t){for(;;){var n=fN[1],e=[0,1],i=1-iN(fN,n,function(x,c){return function(s){return iN(x,1,0)&&u(t,0),u(c,0)}}(e,n));if(!i)return i}}function xN(t){return u(fN[1],0)}ZA(r(mV),xN),oi0(0)&&sz(function(t){return O70(t)});function vz(t){return 25<(t+V3|0)>>>0?t:t+SU|0}var lz=si0(0)[1],ll=(4*ai0(0)|0)-1|0;G7(0);var nee=xi0(0);function Rc(t){for(var n=0,e=t;;){if(e){var n=n+1|0,e=e[2];continue}return n}}function bl(t){return t?t[1]:ke(Ni0)}function bz(t){return t?t[2]:ke(Ai0)}function jc(t,n){for(var e=t,i=n;;){if(e){var x=[0,e[1],i],e=e[2],i=x;continue}return i}}function de(t){return jc(t,0)}function pl(t){if(t){var n=t[1];return un(n,pl(t[2]))}return 0}function k1(t,n){if(n){var e=n[2],i=u(t,n[1]);return[0,i,k1(t,e)]}return 0}function Tp(t,n){for(var e=0,i=n;;){if(i){var x=i[2],e=[0,u(t,i[1]),e],i=x;continue}return e}}function Pu(t,n){for(var e=n;;){if(e){var i=e[2];u(t,e[1]);var e=i;continue}return 0}}function be(t,n,e){for(var i=n,x=e;;){if(x){var c=x[2],i=a(t,i,x[1]),x=c;continue}return i}}function aN(t,n,e){if(n){var i=n[1];return a(t,i,aN(t,n[2],e))}return e}function pz(t,n,e){for(var i=n,x=e;;){if(i){if(x){var c=x[2],s=i[2];a(t,i[1],x[1]);var i=s,x=c;continue}}else if(!x)return 0;return Cu(Ii0)}}function oN(t,n){for(var e=n;;){if(e){var i=e[2],x=BV(e[1],t)===0?1:0;if(x)return x;var e=i;continue}return 0}}function tee(t,n){for(var e=n;;){if(e){var i=e[1],x=e[2],c=i[2];if(BV(i[1],t)===0)return c;var e=x;continue}throw Kt}}function ml(t){var n=0;return function(e){for(var i=n,x=e;;){if(x){var c=x[2],s=x[1];if(u(t,s)){var i=[0,s,i],x=c;continue}var x=c;continue}return de(i)}}}function w1(t,n){var e=Pt(t);return T70(e,0,t,n),e}function mz(t){var n=l7(t),e=Pt(n);return Is(t,0,e,0,n),e}function _z(t,n,e){if(0<=n&&0<=e&&!((l7(t)-e|0)>>0||(c=1):65<=x&&(c=1);else{var s=0;if(x!==32)if(43<=x)switch(x+cy|0){case 5:if(i<(e+2|0)&&1>>0?33<(x+TS|0)>>>0&&(c=1):x===2&&(c=1),!c){var n=n+1|0;continue}var s=t,p=[0,0],y=l7(s)-1|0,T=0;if(!(y<0))for(var E=T;;){var h=Hu(s,E),w=0;if(32<=h){var G=h-34|0,A=0;if(58>>0?93<=G&&(A=1):56<(G-1|0)>>>0&&(w=1,A=1),!A){var S=1;w=2}}else 11<=h?h===13&&(w=1):8<=h&&(w=1);switch(w){case 0:var S=4;break;case 1:var S=2;break}p[1]=p[1]+S|0;var M=E+1|0;if(y!==E){var E=M;continue}break}if(p[1]===l7(s))var K=mz(s);else{var V=Pt(p[1]);p[1]=0;var f0=l7(s)-1|0,m0=0;if(!(f0<0))for(var k0=m0;;){var g0=Hu(s,k0),e0=0;if(35<=g0)g0===92?e0=2:zn<=g0?e0=1:e0=3;else if(32<=g0)34<=g0?e0=2:e0=3;else if(14<=g0)e0=1;else switch(g0){case 8:Jn(V,p[1],92),p[1]++,Jn(V,p[1],98);break;case 9:Jn(V,p[1],92),p[1]++,Jn(V,p[1],x1);break;case 10:Jn(V,p[1],92),p[1]++,Jn(V,p[1],Ht);break;case 13:Jn(V,p[1],92),p[1]++,Jn(V,p[1],u1);break;default:e0=1}switch(e0){case 1:Jn(V,p[1],92),p[1]++,Jn(V,p[1],48+(g0/ni|0)|0),p[1]++,Jn(V,p[1],48+((g0/10|0)%10|0)|0),p[1]++,Jn(V,p[1],48+(g0%10|0)|0);break;case 2:Jn(V,p[1],92),p[1]++,Jn(V,p[1],g0);break;case 3:Jn(V,p[1],g0);break}p[1]++;var x0=k0+1|0;if(f0!==k0){var k0=x0;continue}break}var K=V}var i=K}var l=nn(i),c0=w1(l+2|0,34);return As(i,0,c0,1,l),c0}}function Tz(t,n){var e=Fp(n),i=iz?iz[1]:70;switch(t[2]){case 0:var x=Ri;break;case 1:var x=L7;break;case 2:var x=69;break;case 3:var x=c7;break;case 4:var x=71;break;case 5:var x=i;break;case 6:var x=D7;break;case 7:var x=72;break;default:var x=70}var c=Ez(16);switch(Xv(c,37),t[1]){case 0:break;case 1:Xv(c,43);break;default:Xv(c,32)}return 8<=t[2]&&Xv(c,35),Xv(c,46),Du(c,r(C+e)),Xv(c,x),gz(c)}function Np(t,n){if(13<=t){var e=[0,0],i=nn(n)-1|0,x=0;if(!(i<0))for(var c=x;;){9<(Vr(n,c)+zt|0)>>>0||e[1]++;var s=c+1|0;if(i!==c){var c=s;continue}break}var p=e[1],y=Pt(nn(n)+((p-1|0)/3|0)|0),T=[0,0],E=function(K){return p1(y,T[1],K),T[1]++,0},h=[0,((p-1|0)%3|0)+1|0],w=nn(n)-1|0,G=0;if(!(w<0))for(var A=G;;){var S=Vr(n,A);9<(S+zt|0)>>>0||(h[1]===0&&(E(95),h[1]=3),h[1]+=-1),E(S);var M=A+1|0;if(w!==A){var A=M;continue}break}return y}return n}function oee(t,n){switch(t){case 1:var e=Bx0;break;case 2:var e=qx0;break;case 4:var e=Ux0;break;case 5:var e=Hx0;break;case 6:var e=Xx0;break;case 7:var e=Yx0;break;case 8:var e=Vx0;break;case 9:var e=zx0;break;case 10:var e=Kx0;break;case 11:var e=Wx0;break;case 0:case 13:var e=Jx0;break;case 3:case 14:var e=$x0;break;default:var e=Zx0}return Np(t,hp(e,n))}function cee(t,n){switch(t){case 1:var e=bx0;break;case 2:var e=px0;break;case 4:var e=mx0;break;case 5:var e=_x0;break;case 6:var e=yx0;break;case 7:var e=dx0;break;case 8:var e=hx0;break;case 9:var e=kx0;break;case 10:var e=wx0;break;case 11:var e=Ex0;break;case 0:case 13:var e=Sx0;break;case 3:case 14:var e=gx0;break;default:var e=Fx0}return Np(t,hp(e,n))}function see(t,n){switch(t){case 1:var e=ex0;break;case 2:var e=nx0;break;case 4:var e=tx0;break;case 5:var e=ux0;break;case 6:var e=ix0;break;case 7:var e=fx0;break;case 8:var e=xx0;break;case 9:var e=ax0;break;case 10:var e=ox0;break;case 11:var e=cx0;break;case 0:case 13:var e=sx0;break;case 3:case 14:var e=vx0;break;default:var e=lx0}return Np(t,hp(e,n))}function vee(t,n){switch(t){case 1:var e=Tx0;break;case 2:var e=Ox0;break;case 4:var e=Ix0;break;case 5:var e=Ax0;break;case 6:var e=Nx0;break;case 7:var e=Cx0;break;case 8:var e=Px0;break;case 9:var e=Dx0;break;case 10:var e=Lx0;break;case 11:var e=Rx0;break;case 0:case 13:var e=jx0;break;case 3:case 14:var e=Gx0;break;default:var e=Mx0}return Np(t,L70(e,n))}function vs(t,n,e){function i(m0){switch(t[1]){case 0:var k0=45;break;case 1:var k0=43;break;default:var k0=32}return N70(e,n,k0)}function x(m0){var k0=l70(e);return k0===3?e<0?Zf0:Qf0:4<=k0?$f0:m0}switch(t[2]){case 5:for(var c=zA(Tz(t,n),e),s=0,p=nn(c);;){if(s===p)var y=0;else{var T=Ot(c,s)+l1|0,E=0;if(23>>0?T===55&&(E=1):21<(T-1|0)>>>0&&(E=1),!E){var s=s+1|0;continue}var y=1}var h=y?c:Te(c,rx0);return x(h)}case 6:return i(0);case 7:var w=i(0),G=l7(w);if(G===0)var A=w;else{var S=Pt(G),M=G-1|0,K=0;if(!(M<0))for(var V=K;;){Jn(S,V,vz(Hu(w,V)));var f0=V+1|0;if(M!==V){var V=f0;continue}break}var A=S}return A;case 8:return x(i(0));default:return zA(Tz(t,n),e)}}function kl(t,n,e,i){for(var x=n,c=e,s=i;;){if(typeof s=="number")return u(x,c);switch(s[0]){case 0:var p=s[1];return function(or){return Xn(x,[5,c,or],p)};case 1:var y=s[1];return function(or){var _r=0;if(40<=or)if(or===92)var Ir=Ei0;else zn<=or?_r=1:_r=2;else if(32<=or)if(39<=or)var Ir=Si0;else _r=2;else if(14<=or)_r=1;else switch(or){case 8:var Ir=gi0;break;case 9:var Ir=Fi0;break;case 10:var Ir=Ti0;break;case 13:var Ir=Oi0;break;default:_r=1}switch(_r){case 1:var fe=Pt(4);Jn(fe,0,92),Jn(fe,1,48+(or/ni|0)|0),Jn(fe,2,48+((or/10|0)%10|0)|0),Jn(fe,3,48+(or%10|0)|0);var Ir=fe;break;case 2:var v0=Pt(1);Jn(v0,0,or);var Ir=v0;break}var P=nn(Ir),L=w1(P+2|0,39);return As(Ir,0,L,1,P),Xn(x,[4,c,L],y)};case 2:var T=s[2],E=s[1];return dN(x,c,T,E,function(or){return or});case 3:return dN(x,c,s[2],s[1],aee);case 4:return Cp(x,c,s[4],s[2],s[3],oee,s[1]);case 5:return Cp(x,c,s[4],s[2],s[3],cee,s[1]);case 6:return Cp(x,c,s[4],s[2],s[3],see,s[1]);case 7:return Cp(x,c,s[4],s[2],s[3],vee,s[1]);case 8:var h=s[4],w=s[3],G=s[2],A=s[1];if(typeof G=="number"){if(typeof w=="number")return w?function(or,_r){return Xn(x,[4,c,vs(A,or,_r)],h)}:function(or){return Xn(x,[4,c,vs(A,pN(A),or)],h)};var S=w[1];return function(or){return Xn(x,[4,c,vs(A,S,or)],h)}}else{if(G[0]===0){var M=G[2],K=G[1];if(typeof w=="number")return w?function(or,_r){return Xn(x,[4,c,U7(K,M,vs(A,or,_r))],h)}:function(or){return Xn(x,[4,c,U7(K,M,vs(A,pN(A),or))],h)};var V=w[1];return function(or){return Xn(x,[4,c,U7(K,M,vs(A,V,or))],h)}}var f0=G[1];if(typeof w=="number")return w?function(or,_r,Ir){return Xn(x,[4,c,U7(f0,or,vs(A,_r,Ir))],h)}:function(or,_r){return Xn(x,[4,c,U7(f0,or,vs(A,pN(A),_r))],h)};var m0=w[1];return function(or,_r){return Xn(x,[4,c,U7(f0,or,vs(A,m0,_r))],h)}}case 9:return dN(x,c,s[2],s[1],Qre);case 10:var c=[7,c],s=s[1];continue;case 11:var c=[2,c,s[1]],s=s[2];continue;case 12:var c=[3,c,s[1]],s=s[2];continue;case 13:var k0=s[3],g0=s[2],e0=Ez(16);mN(e0,g0);var x0=gz(e0);return function(or){return Xn(x,[4,c,x0],k0)};case 14:var l=s[3],c0=s[2];return function(or){var _r=or[1],Ir=_t(_r,jt(tu(c0)));if(typeof Ir[2]=="number")return Xn(x,c,It(Ir[1],l));throw Tu};case 15:var t0=s[1];return function(or,_r){return Xn(x,[6,c,function(Ir){return a(or,Ir,_r)}],t0)};case 16:var a0=s[1];return function(or){return Xn(x,[6,c,or],a0)};case 17:var c=[0,c,s[1]],s=s[2];continue;case 18:var w0=s[1];if(w0[0]===0){var _0=s[2],E0=w0[1][1],X0=0,x=function(fe,v0,P){return function(L){return Xn(v0,[1,fe,[0,L]],P)}}(c,x,_0),c=X0,s=E0;continue}var b=s[2],G0=w0[1][1],X=0,x=function(or,_r,Ir){return function(fe){return Xn(_r,[1,or,[1,fe]],Ir)}}(c,x,b),c=X,s=G0;continue;case 19:throw[0,wn,Cf0];case 20:var s0=s[3],dr=[8,c,Pf0];return function(or){return Xn(x,dr,s0)};case 21:var Ar=s[2];return function(or){return Xn(x,[4,c,hp(Nf0,or)],Ar)};case 22:var ar=s[1];return function(or){return Xn(x,[5,c,or],ar)};case 23:var W0=s[2],Lr=s[1];if(typeof Lr=="number")switch(Lr){case 0:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 1:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 2:throw[0,wn,Df0];default:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0])}else switch(Lr[0]){case 0:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 1:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 2:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 3:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 4:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 5:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 6:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 7:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 8:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);case 9:var Tr=Lr[2];return t<50?_N(t+1|0,x,c,Tr,W0):Fu(_N,[0,x,c,Tr,W0]);case 10:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0]);default:return t<50?ct(t+1|0,x,c,W0):Fu(ct,[0,x,c,W0])}default:var Hr=s[3],Or=s[1],xr=u(s[2],0);return t<50?yN(t+1|0,x,c,Hr,Or,xr):Fu(yN,[0,x,c,Hr,Or,xr])}}}function _N(t,n,e,i,x){if(typeof i=="number")return t<50?ct(t+1|0,n,e,x):Fu(ct,[0,n,e,x]);switch(i[0]){case 0:var c=i[1];return function(m0){return ii(n,e,c,x)};case 1:var s=i[1];return function(m0){return ii(n,e,s,x)};case 2:var p=i[1];return function(m0){return ii(n,e,p,x)};case 3:var y=i[1];return function(m0){return ii(n,e,y,x)};case 4:var T=i[1];return function(m0){return ii(n,e,T,x)};case 5:var E=i[1];return function(m0){return ii(n,e,E,x)};case 6:var h=i[1];return function(m0){return ii(n,e,h,x)};case 7:var w=i[1];return function(m0){return ii(n,e,w,x)};case 8:var G=i[2];return function(m0){return ii(n,e,G,x)};case 9:var A=i[3],S=i[2],M=lu(tu(i[1]),S);return function(m0){return ii(n,e,t7(M,A),x)};case 10:var K=i[1];return function(m0,k0){return ii(n,e,K,x)};case 11:var V=i[1];return function(m0){return ii(n,e,V,x)};case 12:var f0=i[1];return function(m0){return ii(n,e,f0,x)};case 13:throw[0,wn,Lf0];default:throw[0,wn,Rf0]}}function ct(t,n,e,i){var x=[8,e,jf0];return t<50?kl(t+1|0,n,x,i):Fu(kl,[0,n,x,i])}function yN(t,n,e,i,x,c){if(x){var s=x[1];return function(y){return lee(n,e,i,s,u(c,y))}}var p=[4,e,c];return t<50?kl(t+1|0,n,p,i):Fu(kl,[0,n,p,i])}function Xn(t,n,e){return QA(kl(0,t,n,e))}function ii(t,n,e,i){return QA(_N(0,t,n,e,i))}function lee(t,n,e,i,x){return QA(yN(0,t,n,e,i,x))}function dN(t,n,e,i,x){if(typeof i=="number")return function(y){return Xn(t,[4,n,u(x,y)],e)};if(i[0]===0){var c=i[2],s=i[1];return function(y){return Xn(t,[4,n,U7(s,c,u(x,y))],e)}}var p=i[1];return function(y,T){return Xn(t,[4,n,U7(p,y,u(x,T))],e)}}function Cp(t,n,e,i,x,c,s){if(typeof i=="number"){if(typeof x=="number")return x?function(G,A){return Xn(t,[4,n,Yv(G,a(c,s,A))],e)}:function(G){return Xn(t,[4,n,a(c,s,G)],e)};var p=x[1];return function(G){return Xn(t,[4,n,Yv(p,a(c,s,G))],e)}}else{if(i[0]===0){var y=i[2],T=i[1];if(typeof x=="number")return x?function(G,A){return Xn(t,[4,n,U7(T,y,Yv(G,a(c,s,A)))],e)}:function(G){return Xn(t,[4,n,U7(T,y,a(c,s,G))],e)};var E=x[1];return function(G){return Xn(t,[4,n,U7(T,y,Yv(E,a(c,s,G)))],e)}}var h=i[1];if(typeof x=="number")return x?function(G,A,S){return Xn(t,[4,n,U7(h,G,Yv(A,a(c,s,S)))],e)}:function(G,A){return Xn(t,[4,n,U7(h,G,a(c,s,A))],e)};var w=x[1];return function(G,A){return Xn(t,[4,n,U7(h,G,Yv(w,a(c,s,A)))],e)}}}function ls(t,n){for(var e=n;;){if(typeof e=="number")return 0;switch(e[0]){case 0:var i=e[1],x=Fz(e[2]);return ls(t,i),vl(t,x);case 1:var c=e[2],s=e[1];if(c[0]===0){var p=c[1];ls(t,s),vl(t,Gf0);var e=p;continue}var y=c[1];ls(t,s),vl(t,Mf0);var e=y;continue;case 6:var T=e[2];return ls(t,e[1]),u(T,t);case 7:return ls(t,e[1]),m1(t);case 8:var E=e[2];return ls(t,e[1]),Cu(E);case 2:case 4:var h=e[2];return ls(t,e[1]),vl(t,h);default:var w=e[2];return ls(t,e[1]),QV(t,w)}}}function bs(t,n){for(var e=n;;){if(typeof e=="number")return 0;switch(e[0]){case 0:var i=e[1],x=Fz(e[2]);return bs(t,i),mn(t,x);case 1:var c=e[2],s=e[1];if(c[0]===0){var p=c[1];bs(t,s),mn(t,Bf0);var e=p;continue}var y=c[1];bs(t,s),mn(t,qf0);var e=y;continue;case 6:var T=e[2];return bs(t,e[1]),mn(t,u(T,0));case 7:var e=e[1];continue;case 8:var E=e[2];return bs(t,e[1]),Cu(E);case 2:case 4:var h=e[2];return bs(t,e[1]),mn(t,h);default:var w=e[2];return bs(t,e[1]),qi(t,w)}}}function bee(t){if(qn(t,Hf0))return Xf0;var n=nn(t);function e(S){var M=Uf0[1],K=$n(C4);return u(Xn(function(V){return bs(K,V),ke(Gt(K))},0,M),t)}function i(S){for(var M=S;;){if(M===n)return M;var K=Ot(t,M);if(K!==9&&K!==32)return M;var M=M+1|0}}function x(S,M){for(var K=M;;){if(K===n||25<(Ot(t,K)+V3|0)>>>0)return K;var K=K+1|0}}function c(S,M){for(var K=M;;){if(K===n)return K;var V=Ot(t,K),f0=0;if(48<=V?58<=V||(f0=1):V===45&&(f0=1),f0){var K=K+1|0;continue}return K}}var s=i(0),p=x(s,s),y=p7(t,s,p-s|0),T=i(p),E=c(T,T);if(T===E)var h=0;else try{var w=Bi(p7(t,T,E-T|0)),h=w}catch(S){if(S=Et(S),S[1]!==B7)throw S;var h=e(0)}i(E)!==n&&e(0);var G=0;if(n0(y,Yf0)&&n0(y,Vf0))var A=n0(y,zf0)?n0(y,Kf0)?n0(y,Wf0)?n0(y,Jf0)?e(0):1:2:3:0;else G=1;if(G)var A=4;return[0,h,A]}function hN(t,n){var e=n[1],i=0;return Xn(function(x){return ls(t,x),0},i,e)}function kN(t){return hN(Lc,t)}function Qn(t){var n=t[1];return Xn(function(e){var i=$n(64);return bs(i,e),Gt(i)},0,n)}var wN=[0,0];function EN(t,n){var e=t[1+n];if(1-(typeof e=="number"?1:0)){if(h1(e)===Y2)return u(Qn(Da0),e);if(h1(e)===ih)for(var i=zA(di0,e),x=0,c=nn(i);;){if(c<=x)return Te(i,hi0);var s=Ot(i,x),p=0;if(48<=s?58<=s||(p=1):s===45&&(p=1),p){var x=x+1|0;continue}return i}return La0}return u(Qn(Pa0),e)}function Oz(t,n){if(t.length-1<=n)return aa0;var e=Oz(t,n+1|0),i=EN(t,n);return a(Qn(oa0),i,e)}function Pp(t){function n(k0){for(var g0=k0;;){if(g0){var e0=g0[2],x0=g0[1];try{var l=0,c0=u(x0,t);l=1}catch{}if(l&&c0)return[0,c0[1]];var g0=e0;continue}return 0}}var e=n(wN[1]);if(e)return e[1];if(t===rN)return Sa0;if(t===uz)return ga0;if(t[1]===tz){var i=t[2],x=i[3],c=i[2],s=i[1];return b7(Qn(nN),s,c,x,x+5|0,Fa0)}if(t[1]===wn){var p=t[2],y=p[3],T=p[2],E=p[1];return b7(Qn(nN),E,T,y,y+6|0,Ta0)}if(t[1]===sl){var h=t[2],w=h[3],G=h[2],A=h[1];return b7(Qn(nN),A,G,w,w+6|0,Oa0)}if(h1(t)===0){var S=t.length-1,M=t[1][1];if(2>>0)var K=Oz(t,2),V=EN(t,1),f0=a(Qn(Ia0),V,K);else switch(S){case 0:var f0=Aa0;break;case 1:var f0=Na0;break;default:var m0=EN(t,1),f0=u(Qn(Ca0),m0)}return Te(M,f0)}return t[1]}function SN(t,n){var e=F70(n),i=e.length-1-1|0,x=0;if(!(i<0))for(var c=x;;){var s=nu(e,c)[1+c],p=function(f0){return function(m0){return m0?f0===0?ma0:_a0:f0===0?ya0:da0}}(c);if(s[0]===0)var y=s[5],T=s[4],E=s[3],h=s[6]?ha0:ka0,w=s[2],G=s[7],A=p(s[1]),M=[0,mi0(Qn(wa0),A,G,w,h,E,T,y)];else if(s[1])var M=0;else var S=p(0),M=[0,u(Qn(Ea0),S)];if(M){var K=M[1];u(hN(t,ba0),K)}var V=c+1|0;if(i!==c){var c=V;continue}break}return 0}function Iz(t){for(;;){var n=wN[1],e=1-iN(wN,n,[0,t,n]);if(!e)return e}}var pee=Ra0.slice();function mee(t,n){var e=Pp(t);u(kN(la0),e),SN(Lc,n);var i=U70(0);if(i<0){var x=Fp(i);cz(nu(pee,x)[1+x])}return m1(Lc)}var _ee=[0];ZA(r(BH),function(t,n){try{try{var e=n?_ee:HV(0);try{xN(0)}catch{}try{var i=mee(t,e),x=i}catch(y){y=Et(y);var c=Pp(t);u(kN(ca0),c),SN(Lc,e);var s=Pp(y);u(kN(sa0),s),SN(Lc,HV(0));var x=m1(Lc)}var p=x}catch(y){if(y=Et(y),y!==rN)throw y;var p=cz(va0)}return p}catch{return 0}});var gN=[wt,to0,G7(0)],Dp=0,Az=-1;function wl(t,n){return t[13]=t[13]+n[3]|0,vN(n,t[28])}var Nz=1000000010;function FN(t,n){return ir(t[17],n,0,nn(n))}function Lp(t){return u(t[19],0)}function Cz(t,n,e){return t[9]=t[9]-n|0,FN(t,e),t[11]=0,0}function Rp(t,n){var e=n0(n,no0);return e&&Cz(t,nn(n),n)}function Vv(t,n,e){var i=n[3],x=n[2];Rp(t,n[1]),Lp(t),t[11]=1;var c=(t[6]-e|0)+x|0,s=t[8],p=s<=c?s:c;return t[10]=p,t[9]=t[6]-t[10]|0,u(t[21],t[10]),Rp(t,i)}function Pz(t,n){return Vv(t,eo0,n)}function El(t,n){var e=n[2],i=n[3];return Rp(t,n[1]),t[9]=t[9]-e|0,u(t[20],e),Rp(t,i)}function Dz(t){for(;;){var n=t[28][2],e=n?[0,n[1]]:0;if(e){var i=e[1],x=i[1],c=i[2],s=0<=x?1:0,p=i[3],y=t[13]-t[12]|0,T=s||(t[9]<=y?1:0);if(T){var E=t[28],h=E[2];if(h){if(h[2]){var w=h[2];E[1]=E[1]-1|0,E[2]=w}else sN(E);var G=0<=x?x:Nz;if(typeof c=="number")switch(c){case 0:var A=Hv(t[3]);if(A){var S=A[1][1],M=function(L,Q){if(Q){var i0=Q[1],l0=Q[2];return q70(L,i0)?[0,L,Q]:[0,i0,M(L,l0)]}return[0,L,0]};S[1]=M(t[6]-t[9]|0,S[1])}break;case 1:Uv(t[2]);break;case 2:Uv(t[3]);break;case 3:var K=Hv(t[2]);K?Pz(t,K[1][2]):Lp(t);break;case 4:if(t[10]!==(t[6]-t[9]|0)){var V=t[28],f0=V[2];if(f0){var m0=f0[1];if(f0[2]){var k0=f0[2];V[1]=V[1]-1|0,V[2]=k0;var g0=[0,m0]}else{sN(V);var g0=[0,m0]}}else var g0=0;if(g0){var e0=g0[1],x0=e0[1];t[12]=t[12]-e0[3]|0,t[9]=t[9]+x0|0}}break;default:var l=Uv(t[5]);l&&FN(t,u(t[25],l[1]))}else switch(c[0]){case 0:Cz(t,G,c[1]);break;case 1:var c0=c[2],t0=c[1],a0=c0[1],w0=c0[2],_0=Hv(t[2]);if(_0){var E0=_0[1],X0=E0[2];switch(E0[1]){case 0:El(t,t0);break;case 1:Vv(t,c0,X0);break;case 2:Vv(t,c0,X0);break;case 3:t[9]<(G+nn(a0)|0)?Vv(t,c0,X0):El(t,t0);break;case 4:t[11]||!(t[9]<(G+nn(a0)|0)||((t[6]-X0|0)+w0|0)>>0)&&Pz(t,_r)}else Lp(t)}var fe=t[9]-Wr|0,v0=Rr===1?1:t[9]>>18|0),e(Rt|(n>>>12|0)&63),e(Rt|(n>>>6|0)&63),e(Rt|n&63)):Vd<=n?(e(dv|n>>>12|0),e(Rt|(n>>>6|0)&63),e(Rt|n&63)):Rt<=n?(e(at|n>>>6|0),e(Rt|n&63)):e(n)}var qN=j0,u7=null,eK=void 0;function Bp(t){return t!==eK?1:0}var Dee=qN.Array,UN=[wt,po0,G7(0)],Lee=qN.Error;Fee(mo0,[0,UN,{}]);function nK(t){throw t}Iz(function(t){return t[1]===UN?[0,M7(t[2].toString())]:0}),Iz(function(t){return t instanceof Dee?0:[0,M7(t.toString())]});var Dr=bu(m3r,p3r),Ln=bu(y3r,_3r),qp=bu(h3r,d3r),Tl=bu(w3r,k3r),F1=bu(S3r,E3r),HN=bu(F3r,g3r),tK=bu(O3r,T3r),XN=bu(A3r,I3r),zv=bu(C3r,N3r),Up=bu(D3r,P3r),Je=bu(R3r,L3r),Xu=bu(G3r,j3r),qe=bu(B3r,M3r),YN=bu(U3r,q3r),di=bu(X3r,H3r),uu=bu(V3r,Y3r),T1=bu(K3r,z3r),Ps=bu(J3r,W3r),VN=function t(n,e,i,x){return t.fun(n,e,i,x)},uK=function t(n,e,i){return t.fun(n,e,i)},Ree=bu(Z3r,$3r);N(VN,function(t,n,e,i){u(f(e),Z8r),a(f(e),r3r,Q8r);var x=i[1];u(f(e),e3r);var c=0;be(function(y,T){y&&u(f(e),$8r);function E(h){return u(t,h)}return ir(uu[1],E,e,T),1},c,x),u(f(e),n3r),u(f(e),t3r),u(f(e),u3r),a(f(e),f3r,i3r);var s=i[2];u(f(e),x3r);var p=0;return be(function(y,T){y&&u(f(e),J8r);function E(h){return u(t,h)}return ir(uu[1],E,e,T),1},p,s),u(f(e),a3r),u(f(e),o3r),u(f(e),c3r),a(f(e),v3r,s3r),a(n,e,i[3]),u(f(e),l3r),u(f(e),b3r)}),N(uK,function(t,n,e){var i=a(VN,t,n);return a(P0(W8r),i,e)}),pu(Q3r,Dr,[0,VN,uK]);var zN=function t(n,e,i,x){return t.fun(n,e,i,x)},iK=function t(n,e,i){return t.fun(n,e,i)},Hp=function t(n,e,i){return t.fun(n,e,i)},fK=function t(n,e){return t.fun(n,e)};N(zN,function(t,n,e,i){u(f(e),V8r),a(n,e,i[1]),u(f(e),z8r);var x=i[2];return ir(Hp,function(c){return u(t,c)},e,x),u(f(e),K8r)}),N(iK,function(t,n,e){var i=a(zN,t,n);return a(P0(Y8r),i,e)}),N(Hp,function(t,n,e){u(f(n),C8r),a(f(n),D8r,P8r);var i=e[1];a(f(n),L8r,i),u(f(n),R8r),u(f(n),j8r),a(f(n),M8r,G8r);var x=e[2];if(x){g(n,B8r);var c=x[1],s=function(y,T){return g(y,N8r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,q8r)}else g(n,U8r);return u(f(n),H8r),u(f(n),X8r)}),N(fK,function(t,n){var e=u(Hp,t);return a(P0(A8r),e,n)}),pu(r6r,Ln,[0,zN,iK,Hp,fK]);var KN=function t(n,e,i){return t.fun(n,e,i)},xK=function t(n,e){return t.fun(n,e)},Xp=function t(n,e,i){return t.fun(n,e,i)},aK=function t(n,e){return t.fun(n,e)};N(KN,function(t,n,e){u(f(n),T8r),a(t,n,e[1]),u(f(n),O8r);var i=e[2];return ir(Xp,function(x){return u(t,x)},n,i),u(f(n),I8r)}),N(xK,function(t,n){var e=u(KN,t);return a(P0(F8r),e,n)}),N(Xp,function(t,n,e){u(f(n),l8r),a(f(n),p8r,b8r);var i=e[1];a(f(n),m8r,i),u(f(n),_8r),u(f(n),y8r),a(f(n),h8r,d8r);var x=e[2];if(x){g(n,k8r);var c=x[1],s=function(y,T){return g(y,v8r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,w8r)}else g(n,E8r);return u(f(n),S8r),u(f(n),g8r)}),N(aK,function(t,n){var e=u(Xp,t);return a(P0(s8r),e,n)}),pu(e6r,qp,[0,KN,xK,Xp,aK]);function oK(t,n){u(f(t),Q4r),a(f(t),e8r,r8r);var e=n[1];a(f(t),n8r,e),u(f(t),t8r),u(f(t),u8r),a(f(t),f8r,i8r);var i=n[2];return a(f(t),x8r,i),u(f(t),a8r),u(f(t),o8r)}var cK=[0,oK,function(t){return a(P0(c8r),oK,t)}],WN=function t(n,e,i){return t.fun(n,e,i)},sK=function t(n,e){return t.fun(n,e)},Yp=function t(n,e){return t.fun(n,e)},vK=function t(n){return t.fun(n)};N(WN,function(t,n,e){u(f(n),R4r),a(f(n),G4r,j4r),a(Yp,n,e[1]),u(f(n),M4r),u(f(n),B4r),a(f(n),U4r,q4r);var i=e[2];a(f(n),H4r,i),u(f(n),X4r),u(f(n),Y4r),a(f(n),z4r,V4r);var x=e[3];if(x){g(n,K4r);var c=x[1],s=function(y,T){return g(y,L4r)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,W4r)}else g(n,J4r);return u(f(n),$4r),u(f(n),Z4r)}),N(sK,function(t,n){var e=u(WN,t);return a(P0(D4r),e,n)}),N(Yp,function(t,n){if(typeof n=="number")return g(t,d4r);switch(n[0]){case 0:u(f(t),h4r);var e=n[1];return a(f(t),k4r,e),u(f(t),w4r);case 1:u(f(t),E4r);var i=n[1];return a(f(t),S4r,i),u(f(t),g4r);case 2:u(f(t),F4r);var x=n[1];return a(f(t),T4r,x),u(f(t),O4r);case 3:u(f(t),I4r);var c=n[1];return a(f(t),A4r,c),u(f(t),N4r);default:return u(f(t),C4r),a(cK[1],t,n[1]),u(f(t),P4r)}}),N(vK,function(t){return a(P0(y4r),Yp,t)}),pu(n6r,Tl,[0,cK,WN,sK,Yp,vK]);var JN=function t(n,e,i){return t.fun(n,e,i)},lK=function t(n,e){return t.fun(n,e)};N(JN,function(t,n,e){u(f(n),r4r),a(f(n),n4r,e4r);var i=e[1];a(f(n),t4r,i),u(f(n),u4r),u(f(n),i4r),a(f(n),x4r,f4r);var x=e[2];a(f(n),a4r,x),u(f(n),o4r),u(f(n),c4r),a(f(n),v4r,s4r);var c=e[3];if(c){g(n,l4r);var s=c[1],p=function(T,E){return g(T,Qbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,b4r)}else g(n,p4r);return u(f(n),m4r),u(f(n),_4r)}),N(lK,function(t,n){var e=u(JN,t);return a(P0(Zbr),e,n)}),pu(t6r,F1,[0,JN,lK]);var $N=function t(n,e,i){return t.fun(n,e,i)},bK=function t(n,e){return t.fun(n,e)};N($N,function(t,n,e){u(f(n),Dbr),a(f(n),Rbr,Lbr);var i=e[1];a(f(n),jbr,i),u(f(n),Gbr),u(f(n),Mbr),a(f(n),qbr,Bbr);var x=e[2];a(f(n),Ubr,x),u(f(n),Hbr),u(f(n),Xbr),a(f(n),Vbr,Ybr);var c=e[3];if(c){g(n,zbr);var s=c[1],p=function(T,E){return g(T,Pbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,Kbr)}else g(n,Wbr);return u(f(n),Jbr),u(f(n),$br)}),N(bK,function(t,n){var e=u($N,t);return a(P0(Cbr),e,n)}),pu(u6r,HN,[0,$N,bK]);var ZN=function t(n,e,i){return t.fun(n,e,i)},pK=function t(n,e){return t.fun(n,e)};N(ZN,function(t,n,e){u(f(n),bbr),a(f(n),mbr,pbr);var i=e[1];a(f(n),_br,i),u(f(n),ybr),u(f(n),dbr),a(f(n),kbr,hbr);var x=e[2];a(f(n),wbr,x),u(f(n),Ebr),u(f(n),Sbr),a(f(n),Fbr,gbr);var c=e[3];if(c){g(n,Tbr);var s=c[1],p=function(T,E){return g(T,lbr)},y=function(T){return u(t,T)};R(Dr[1],y,p,n,s),g(n,Obr)}else g(n,Ibr);return u(f(n),Abr),u(f(n),Nbr)}),N(pK,function(t,n){var e=u(ZN,t);return a(P0(vbr),e,n)}),pu(i6r,tK,[0,ZN,pK]);var QN=function t(n,e,i){return t.fun(n,e,i)},mK=function t(n,e){return t.fun(n,e)};N(QN,function(t,n,e){u(f(n),Qlr),a(f(n),ebr,rbr);var i=e[1];a(f(n),nbr,i),u(f(n),tbr),u(f(n),ubr),a(f(n),fbr,ibr);var x=e[2];if(x){g(n,xbr);var c=x[1],s=function(y,T){return g(y,Zlr)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,abr)}else g(n,obr);return u(f(n),cbr),u(f(n),sbr)}),N(mK,function(t,n){var e=u(QN,t);return a(P0($lr),e,n)}),pu(f6r,XN,[0,QN,mK]);var rC=function t(n,e,i){return t.fun(n,e,i)},_K=function t(n,e){return t.fun(n,e)},Vp=function t(n,e){return t.fun(n,e)},yK=function t(n){return t.fun(n)},zp=function t(n,e,i){return t.fun(n,e,i)},dK=function t(n,e){return t.fun(n,e)};N(rC,function(t,n,e){u(f(n),Klr),a(t,n,e[1]),u(f(n),Wlr);var i=e[2];return ir(zp,function(x){return u(t,x)},n,i),u(f(n),Jlr)}),N(_K,function(t,n){var e=u(rC,t);return a(P0(zlr),e,n)}),N(Vp,function(t,n){return n?g(t,Ylr):g(t,Vlr)}),N(yK,function(t){return a(P0(Xlr),Vp,t)}),N(zp,function(t,n,e){u(f(n),Clr),a(f(n),Dlr,Plr),a(Vp,n,e[1]),u(f(n),Llr),u(f(n),Rlr),a(f(n),Glr,jlr);var i=e[2];if(i){g(n,Mlr);var x=i[1],c=function(p,y){return g(p,Nlr)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Blr)}else g(n,qlr);return u(f(n),Ulr),u(f(n),Hlr)}),N(dK,function(t,n){var e=u(zp,t);return a(P0(Alr),e,n)}),pu(x6r,zv,[0,rC,_K,Vp,yK,zp,dK]);var eC=function t(n,e,i,x){return t.fun(n,e,i,x)},hK=function t(n,e,i){return t.fun(n,e,i)},nC=function t(n,e,i,x){return t.fun(n,e,i,x)},kK=function t(n,e,i){return t.fun(n,e,i)};N(eC,function(t,n,e,i){u(f(e),Tlr),a(t,e,i[1]),u(f(e),Olr);var x=i[2];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(Up[3],s,c,e,x),u(f(e),Ilr)}),N(hK,function(t,n,e){var i=a(eC,t,n);return a(P0(Flr),i,e)}),N(nC,function(t,n,e,i){u(f(e),blr),a(f(e),mlr,plr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),_lr),u(f(e),ylr),a(f(e),hlr,dlr);var p=i[2];if(p){g(e,klr);var y=p[1],T=function(h,w){return g(h,llr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,wlr)}else g(e,Elr);return u(f(e),Slr),u(f(e),glr)}),N(kK,function(t,n,e){var i=a(nC,t,n);return a(P0(vlr),i,e)}),pu(a6r,Up,[0,eC,hK,nC,kK]);var tC=function t(n,e,i,x){return t.fun(n,e,i,x)},wK=function t(n,e,i){return t.fun(n,e,i)},Kp=function t(n,e,i,x){return t.fun(n,e,i,x)},EK=function t(n,e,i){return t.fun(n,e,i)};N(tC,function(t,n,e,i){u(f(e),olr),a(t,e,i[1]),u(f(e),clr);var x=i[2];function c(s){return u(n,s)}return R(Kp,function(s){return u(t,s)},c,e,x),u(f(e),slr)}),N(wK,function(t,n,e){var i=a(tC,t,n);return a(P0(alr),i,e)}),N(Kp,function(t,n,e,i){u(f(e),Y2r),a(f(e),z2r,V2r);var x=i[1];if(x){g(e,K2r);var c=x[1],s=function(w){return u(n,w)},p=function(w){return u(t,w)};R(Ln[1],p,s,e,c),g(e,W2r)}else g(e,J2r);u(f(e),$2r),u(f(e),Z2r),a(f(e),rlr,Q2r);var y=i[2];function T(w){return u(n,w)}function E(w){return u(t,w)}R(Je[13],E,T,e,y),u(f(e),elr),u(f(e),nlr),a(f(e),ulr,tlr);var h=i[3];return a(f(e),ilr,h),u(f(e),flr),u(f(e),xlr)}),N(EK,function(t,n,e){var i=a(Kp,t,n);return a(P0(X2r),i,e)});var uC=[0,tC,wK,Kp,EK],iC=function t(n,e,i,x){return t.fun(n,e,i,x)},SK=function t(n,e,i){return t.fun(n,e,i)},Wp=function t(n,e,i,x){return t.fun(n,e,i,x)},gK=function t(n,e,i){return t.fun(n,e,i)};N(iC,function(t,n,e,i){u(f(e),q2r),a(t,e,i[1]),u(f(e),U2r);var x=i[2];function c(s){return u(n,s)}return R(Wp,function(s){return u(t,s)},c,e,x),u(f(e),H2r)}),N(SK,function(t,n,e){var i=a(iC,t,n);return a(P0(B2r),i,e)}),N(Wp,function(t,n,e,i){u(f(e),O2r),a(f(e),A2r,I2r);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(uC[1],s,c,e,x),u(f(e),N2r),u(f(e),C2r),a(f(e),D2r,P2r);var p=i[2];if(p){g(e,L2r);var y=p[1],T=function(h,w){return g(h,T2r)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,R2r)}else g(e,j2r);return u(f(e),G2r),u(f(e),M2r)}),N(gK,function(t,n,e){var i=a(Wp,t,n);return a(P0(F2r),i,e)});var FK=[0,iC,SK,Wp,gK],fC=function t(n,e,i,x){return t.fun(n,e,i,x)},TK=function t(n,e,i){return t.fun(n,e,i)},Jp=function t(n,e,i,x){return t.fun(n,e,i,x)},OK=function t(n,e,i){return t.fun(n,e,i)};N(fC,function(t,n,e,i){u(f(e),E2r),a(t,e,i[1]),u(f(e),S2r);var x=i[2];function c(s){return u(n,s)}return R(Jp,function(s){return u(t,s)},c,e,x),u(f(e),g2r)}),N(TK,function(t,n,e){var i=a(fC,t,n);return a(P0(w2r),i,e)}),N(Jp,function(t,n,e,i){u(f(e),c2r),a(f(e),v2r,s2r);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),l2r),u(f(e),b2r),a(f(e),m2r,p2r);var p=i[2];if(p){g(e,_2r);var y=p[1],T=function(h,w){return g(h,o2r)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,y2r)}else g(e,d2r);return u(f(e),h2r),u(f(e),k2r)}),N(OK,function(t,n,e){var i=a(Jp,t,n);return a(P0(a2r),i,e)});var IK=[0,fC,TK,Jp,OK],xC=function t(n,e,i,x){return t.fun(n,e,i,x)},AK=function t(n,e,i){return t.fun(n,e,i)},$p=function t(n,e,i,x){return t.fun(n,e,i,x)},NK=function t(n,e,i){return t.fun(n,e,i)};N(xC,function(t,n,e,i){u(f(e),i2r),a(t,e,i[1]),u(f(e),f2r);var x=i[2];function c(s){return u(n,s)}return R($p,function(s){return u(t,s)},c,e,x),u(f(e),x2r)}),N(AK,function(t,n,e){var i=a(xC,t,n);return a(P0(u2r),i,e)}),N($p,function(t,n,e,i){u(f(e),Avr),a(f(e),Cvr,Nvr);var x=i[1];if(x){g(e,Pvr);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(IK[1],p,s,e,c),g(e,Dvr)}else g(e,Lvr);u(f(e),Rvr),u(f(e),jvr),a(f(e),Mvr,Gvr);var y=i[2];u(f(e),Bvr);var T=0;be(function(V,f0){V&&u(f(e),Ivr);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(uC[1],k0,m0,e,f0),1},T,y),u(f(e),qvr),u(f(e),Uvr),u(f(e),Hvr),a(f(e),Yvr,Xvr);var E=i[3];if(E){g(e,Vvr);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(FK[1],G,w,e,h),g(e,zvr)}else g(e,Kvr);u(f(e),Wvr),u(f(e),Jvr),a(f(e),Zvr,$vr);var A=i[4];if(A){g(e,Qvr);var S=A[1],M=function(V,f0){u(f(V),Tvr);var m0=0;return be(function(k0,g0){k0&&u(f(V),Fvr);function e0(x0){return u(t,x0)}return ir(uu[1],e0,V,g0),1},m0,f0),u(f(V),Ovr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,r2r)}else g(e,e2r);return u(f(e),n2r),u(f(e),t2r)}),N(NK,function(t,n,e){var i=a($p,t,n);return a(P0(gvr),i,e)});var CK=[0,xC,AK,$p,NK],aC=function t(n,e,i,x){return t.fun(n,e,i,x)},PK=function t(n,e,i){return t.fun(n,e,i)};N(aC,function(t,n,e,i){u(f(e),nvr),a(f(e),uvr,tvr);var x=i[1];if(x){g(e,ivr);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(Je[22][1],p,s,e,c),g(e,fvr)}else g(e,xvr);u(f(e),avr),u(f(e),ovr),a(f(e),svr,cvr);var y=i[2];function T(V){return u(n,V)}function E(V){return u(t,V)}R(CK[1],E,T,e,y),u(f(e),vvr),u(f(e),lvr),a(f(e),pvr,bvr);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(Je[13],G,w,e,h),u(f(e),mvr),u(f(e),_vr),a(f(e),dvr,yvr);var A=i[4];if(A){g(e,hvr);var S=A[1],M=function(V,f0){return g(V,evr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,kvr)}else g(e,wvr);return u(f(e),Evr),u(f(e),Svr)}),N(PK,function(t,n,e){var i=a(aC,t,n);return a(P0(rvr),i,e)});var Ol=[0,uC,FK,IK,CK,aC,PK],Zp=function t(n,e,i,x){return t.fun(n,e,i,x)},DK=function t(n,e,i){return t.fun(n,e,i)},Qp=function t(n,e,i,x){return t.fun(n,e,i,x)},LK=function t(n,e,i){return t.fun(n,e,i)},r5=function t(n,e,i,x){return t.fun(n,e,i,x)},RK=function t(n,e,i){return t.fun(n,e,i)};N(Zp,function(t,n,e,i){if(i[0]===0){u(f(e),J1r);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(Ln[1],s,c,e,x),u(f(e),$1r)}u(f(e),Z1r);var p=i[1];function y(T){return u(n,T)}return R(Qp,function(T){return u(t,T)},y,e,p),u(f(e),Q1r)}),N(DK,function(t,n,e){var i=a(Zp,t,n);return a(P0(W1r),i,e)}),N(Qp,function(t,n,e,i){u(f(e),V1r),a(t,e,i[1]),u(f(e),z1r);var x=i[2];function c(s){return u(n,s)}return R(r5,function(s){return u(t,s)},c,e,x),u(f(e),K1r)}),N(LK,function(t,n,e){var i=a(Qp,t,n);return a(P0(Y1r),i,e)}),N(r5,function(t,n,e,i){u(f(e),R1r),a(f(e),G1r,j1r);var x=i[1];function c(T){return u(n,T)}R(Zp,function(T){return u(t,T)},c,e,x),u(f(e),M1r),u(f(e),B1r),a(f(e),U1r,q1r);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(Ln[1],y,p,e,s),u(f(e),H1r),u(f(e),X1r)}),N(RK,function(t,n,e){var i=a(r5,t,n);return a(P0(L1r),i,e)});var jK=[0,Zp,DK,Qp,LK,r5,RK],oC=function t(n,e,i,x){return t.fun(n,e,i,x)},GK=function t(n,e,i){return t.fun(n,e,i)};N(oC,function(t,n,e,i){u(f(e),m1r),a(f(e),y1r,_1r);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(jK[1],s,c,e,x),u(f(e),d1r),u(f(e),h1r),a(f(e),w1r,k1r);var p=i[2];if(p){g(e,E1r);var y=p[1],T=function(S){return u(n,S)},E=function(S){return u(t,S)};R(Je[23][1],E,T,e,y),g(e,S1r)}else g(e,g1r);u(f(e),F1r),u(f(e),T1r),a(f(e),I1r,O1r);var h=i[3];if(h){g(e,A1r);var w=h[1],G=function(S,M){return g(S,p1r)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,N1r)}else g(e,C1r);return u(f(e),P1r),u(f(e),D1r)}),N(GK,function(t,n,e){var i=a(oC,t,n);return a(P0(b1r),i,e)});var cC=[0,jK,oC,GK],sC=function t(n,e,i,x){return t.fun(n,e,i,x)},MK=function t(n,e,i){return t.fun(n,e,i)};N(sC,function(t,n,e,i){u(f(e),Zsr),a(f(e),r1r,Qsr);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Je[13],s,c,e,x),u(f(e),e1r),u(f(e),n1r),a(f(e),u1r,t1r);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[13],T,y,e,p),u(f(e),i1r),u(f(e),f1r),a(f(e),a1r,x1r);var E=i[3];if(E){g(e,o1r);var h=E[1],w=function(A,S){return g(A,$sr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,c1r)}else g(e,s1r);return u(f(e),v1r),u(f(e),l1r)}),N(MK,function(t,n,e){var i=a(sC,t,n);return a(P0(Jsr),i,e)});var vC=[0,sC,MK],lC=function t(n,e,i,x){return t.fun(n,e,i,x)},BK=function t(n,e,i){return t.fun(n,e,i)};N(lC,function(t,n,e,i){u(f(e),Bsr),a(f(e),Usr,qsr);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(vC[1],s,c,e,x),u(f(e),Hsr),u(f(e),Xsr),a(f(e),Vsr,Ysr);var p=i[2];return a(f(e),zsr,p),u(f(e),Ksr),u(f(e),Wsr)}),N(BK,function(t,n,e){var i=a(lC,t,n);return a(P0(Msr),i,e)});var qK=[0,lC,BK],bC=function t(n,e,i,x){return t.fun(n,e,i,x)},UK=function t(n,e,i){return t.fun(n,e,i)},e5=function t(n,e,i,x){return t.fun(n,e,i,x)},HK=function t(n,e,i){return t.fun(n,e,i)},n5=function t(n,e,i,x){return t.fun(n,e,i,x)},XK=function t(n,e,i){return t.fun(n,e,i)};N(bC,function(t,n,e,i){u(f(e),Rsr),a(t,e,i[1]),u(f(e),jsr);var x=i[2];function c(s){return u(n,s)}return R(e5,function(s){return u(t,s)},c,e,x),u(f(e),Gsr)}),N(UK,function(t,n,e){var i=a(bC,t,n);return a(P0(Lsr),i,e)}),N(e5,function(t,n,e,i){u(f(e),Vcr),a(f(e),Kcr,zcr);var x=i[1];function c(m0){return u(n,m0)}function s(m0){return u(t,m0)}R(qe[7][1][1],s,c,e,x),u(f(e),Wcr),u(f(e),Jcr),a(f(e),Zcr,$cr);var p=i[2];function y(m0){return u(n,m0)}R(n5,function(m0){return u(t,m0)},y,e,p),u(f(e),Qcr),u(f(e),rsr),a(f(e),nsr,esr);var T=i[3];a(f(e),tsr,T),u(f(e),usr),u(f(e),isr),a(f(e),xsr,fsr);var E=i[4];a(f(e),asr,E),u(f(e),osr),u(f(e),csr),a(f(e),vsr,ssr);var h=i[5];a(f(e),lsr,h),u(f(e),bsr),u(f(e),psr),a(f(e),_sr,msr);var w=i[6];a(f(e),ysr,w),u(f(e),dsr),u(f(e),hsr),a(f(e),wsr,ksr);var G=i[7];if(G){g(e,Esr);var A=G[1],S=function(m0){return u(t,m0)};ir(zv[1],S,e,A),g(e,Ssr)}else g(e,gsr);u(f(e),Fsr),u(f(e),Tsr),a(f(e),Isr,Osr);var M=i[8];if(M){g(e,Asr);var K=M[1],V=function(m0,k0){return g(m0,Ycr)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,Nsr)}else g(e,Csr);return u(f(e),Psr),u(f(e),Dsr)}),N(HK,function(t,n,e){var i=a(e5,t,n);return a(P0(Xcr),i,e)}),N(n5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Ccr);var x=i[1],c=function(S){return u(n,S)},s=function(S){return u(t,S)};return R(Je[13],s,c,e,x),u(f(e),Pcr);case 1:var p=i[1];u(f(e),Dcr),u(f(e),Lcr),a(t,e,p[1]),u(f(e),Rcr);var y=p[2],T=function(S){return u(n,S)},E=function(S){return u(t,S)};return R(Ol[5],E,T,e,y),u(f(e),jcr),u(f(e),Gcr);default:var h=i[1];u(f(e),Mcr),u(f(e),Bcr),a(t,e,h[1]),u(f(e),qcr);var w=h[2],G=function(S){return u(n,S)},A=function(S){return u(t,S)};return R(Ol[5],A,G,e,w),u(f(e),Ucr),u(f(e),Hcr)}}),N(XK,function(t,n,e){var i=a(n5,t,n);return a(P0(Ncr),i,e)});var YK=[0,bC,UK,e5,HK,n5,XK],pC=function t(n,e,i,x){return t.fun(n,e,i,x)},VK=function t(n,e,i){return t.fun(n,e,i)},t5=function t(n,e,i,x){return t.fun(n,e,i,x)},zK=function t(n,e,i){return t.fun(n,e,i)};N(pC,function(t,n,e,i){u(f(e),Ocr),a(t,e,i[1]),u(f(e),Icr);var x=i[2];function c(s){return u(n,s)}return R(t5,function(s){return u(t,s)},c,e,x),u(f(e),Acr)}),N(VK,function(t,n,e){var i=a(pC,t,n);return a(P0(Tcr),i,e)}),N(t5,function(t,n,e,i){u(f(e),pcr),a(f(e),_cr,mcr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),ycr),u(f(e),dcr),a(f(e),kcr,hcr);var p=i[2];if(p){g(e,wcr);var y=p[1],T=function(h,w){return g(h,bcr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Ecr)}else g(e,Scr);return u(f(e),gcr),u(f(e),Fcr)}),N(zK,function(t,n,e){var i=a(t5,t,n);return a(P0(lcr),i,e)});var KK=[0,pC,VK,t5,zK],u5=function t(n,e,i,x){return t.fun(n,e,i,x)},WK=function t(n,e,i){return t.fun(n,e,i)},mC=function t(n,e,i,x){return t.fun(n,e,i,x)},JK=function t(n,e,i){return t.fun(n,e,i)};N(u5,function(t,n,e,i){u(f(e),Cor),a(f(e),Dor,Por);var x=i[1];if(x){g(e,Lor);var c=x[1],s=function(g0){return u(t,g0)},p=function(g0){return u(t,g0)};R(Ln[1],p,s,e,c),g(e,Ror)}else g(e,jor);u(f(e),Gor),u(f(e),Mor),a(f(e),qor,Bor);var y=i[2];function T(g0){return u(n,g0)}function E(g0){return u(t,g0)}R(Je[13],E,T,e,y),u(f(e),Uor),u(f(e),Hor),a(f(e),Yor,Xor);var h=i[3];function w(g0){return u(n,g0)}function G(g0){return u(t,g0)}R(Je[13],G,w,e,h),u(f(e),Vor),u(f(e),zor),a(f(e),Wor,Kor);var A=i[4];a(f(e),Jor,A),u(f(e),$or),u(f(e),Zor),a(f(e),rcr,Qor);var S=i[5];if(S){g(e,ecr);var M=S[1],K=function(g0){return u(t,g0)};ir(zv[1],K,e,M),g(e,ncr)}else g(e,tcr);u(f(e),ucr),u(f(e),icr),a(f(e),xcr,fcr);var V=i[6];if(V){g(e,acr);var f0=V[1],m0=function(g0,e0){return g(g0,Nor)},k0=function(g0){return u(t,g0)};R(Dr[1],k0,m0,e,f0),g(e,ocr)}else g(e,ccr);return u(f(e),scr),u(f(e),vcr)}),N(WK,function(t,n,e){var i=a(u5,t,n);return a(P0(Aor),i,e)}),N(mC,function(t,n,e,i){u(f(e),Tor),a(t,e,i[1]),u(f(e),Oor);var x=i[2];function c(s){return u(n,s)}return R(u5,function(s){return u(t,s)},c,e,x),u(f(e),Ior)}),N(JK,function(t,n,e){var i=a(mC,t,n);return a(P0(For),i,e)});var $K=[0,u5,WK,mC,JK],_C=function t(n,e,i,x){return t.fun(n,e,i,x)},ZK=function t(n,e,i){return t.fun(n,e,i)},i5=function t(n,e,i,x){return t.fun(n,e,i,x)},QK=function t(n,e,i){return t.fun(n,e,i)};N(_C,function(t,n,e,i){u(f(e),Eor),a(t,e,i[1]),u(f(e),Sor);var x=i[2];function c(s){return u(n,s)}return R(i5,function(s){return u(t,s)},c,e,x),u(f(e),gor)}),N(ZK,function(t,n,e){var i=a(_C,t,n);return a(P0(wor),i,e)}),N(i5,function(t,n,e,i){u(f(e),eor),a(f(e),tor,nor);var x=i[1];u(f(e),uor),a(t,e,x[1]),u(f(e),ior);var c=x[2];function s(G){return u(n,G)}function p(G){return u(t,G)}R(Ol[5],p,s,e,c),u(f(e),xor),u(f(e),aor),u(f(e),oor),a(f(e),sor,cor);var y=i[2];a(f(e),vor,y),u(f(e),lor),u(f(e),bor),a(f(e),mor,por);var T=i[3];if(T){g(e,_or);var E=T[1],h=function(G,A){return g(G,ror)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,yor)}else g(e,dor);return u(f(e),hor),u(f(e),kor)}),N(QK,function(t,n,e){var i=a(i5,t,n);return a(P0(Qar),i,e)});var rW=[0,_C,ZK,i5,QK],yC=function t(n,e,i,x){return t.fun(n,e,i,x)},eW=function t(n,e,i){return t.fun(n,e,i)},f5=function t(n,e,i,x){return t.fun(n,e,i,x)},nW=function t(n,e,i){return t.fun(n,e,i)};N(yC,function(t,n,e,i){u(f(e),Jar),a(t,e,i[1]),u(f(e),$ar);var x=i[2];function c(s){return u(n,s)}return R(f5,function(s){return u(t,s)},c,e,x),u(f(e),Zar)}),N(eW,function(t,n,e){var i=a(yC,t,n);return a(P0(War),i,e)}),N(f5,function(t,n,e,i){u(f(e),yar),a(f(e),har,dar);var x=i[1];function c(K){return u(t,K)}function s(K){return u(t,K)}R(Ln[1],s,c,e,x),u(f(e),kar),u(f(e),war),a(f(e),Sar,Ear);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(Je[13],T,y,e,p),u(f(e),gar),u(f(e),Far),a(f(e),Oar,Tar);var E=i[3];a(f(e),Iar,E),u(f(e),Aar),u(f(e),Nar),a(f(e),Par,Car);var h=i[4];a(f(e),Dar,h),u(f(e),Lar),u(f(e),Rar),a(f(e),Gar,jar);var w=i[5];a(f(e),Mar,w),u(f(e),Bar),u(f(e),qar),a(f(e),Har,Uar);var G=i[6];if(G){g(e,Xar);var A=G[1],S=function(K,V){return g(K,_ar)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Yar)}else g(e,Var);return u(f(e),zar),u(f(e),Kar)}),N(nW,function(t,n,e){var i=a(f5,t,n);return a(P0(mar),i,e)});var tW=[0,yC,eW,f5,nW],dC=function t(n,e,i,x){return t.fun(n,e,i,x)},uW=function t(n,e,i){return t.fun(n,e,i)},x5=function t(n,e,i,x){return t.fun(n,e,i,x)},iW=function t(n,e,i){return t.fun(n,e,i)};N(dC,function(t,n,e,i){u(f(e),Yxr),a(f(e),zxr,Vxr);var x=i[1];a(f(e),Kxr,x),u(f(e),Wxr),u(f(e),Jxr),a(f(e),Zxr,$xr);var c=i[2];a(f(e),Qxr,c),u(f(e),rar),u(f(e),ear),a(f(e),tar,nar);var s=i[3];u(f(e),uar);var p=0;be(function(w,G){w&&u(f(e),Xxr);function A(S){return u(n,S)}return R(x5,function(S){return u(t,S)},A,e,G),1},p,s),u(f(e),iar),u(f(e),far),u(f(e),xar),a(f(e),oar,aar);var y=i[4];if(y){g(e,car);var T=y[1],E=function(w,G){u(f(w),Uxr);var A=0;return be(function(S,M){S&&u(f(w),qxr);function K(V){return u(t,V)}return ir(uu[1],K,w,M),1},A,G),u(f(w),Hxr)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,sar)}else g(e,lar);return u(f(e),bar),u(f(e),par)}),N(uW,function(t,n,e){var i=a(dC,t,n);return a(P0(Bxr),i,e)}),N(x5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Axr);var x=i[1],c=function(f0){return u(n,f0)},s=function(f0){return u(t,f0)};return R(YK[1],s,c,e,x),u(f(e),Nxr);case 1:u(f(e),Cxr);var p=i[1],y=function(f0){return u(n,f0)},T=function(f0){return u(t,f0)};return R(KK[1],T,y,e,p),u(f(e),Pxr);case 2:u(f(e),Dxr);var E=i[1],h=function(f0){return u(n,f0)},w=function(f0){return u(t,f0)};return R($K[3],w,h,e,E),u(f(e),Lxr);case 3:u(f(e),Rxr);var G=i[1],A=function(f0){return u(n,f0)},S=function(f0){return u(t,f0)};return R(rW[1],S,A,e,G),u(f(e),jxr);default:u(f(e),Gxr);var M=i[1],K=function(f0){return u(n,f0)},V=function(f0){return u(t,f0)};return R(tW[1],V,K,e,M),u(f(e),Mxr)}}),N(iW,function(t,n,e){var i=a(x5,t,n);return a(P0(Ixr),i,e)});var hC=[0,YK,KK,$K,rW,tW,dC,uW,x5,iW],kC=function t(n,e,i,x){return t.fun(n,e,i,x)},fW=function t(n,e,i){return t.fun(n,e,i)};N(kC,function(t,n,e,i){u(f(e),axr),a(f(e),cxr,oxr);var x=i[1];u(f(e),sxr),a(t,e,x[1]),u(f(e),vxr);var c=x[2];function s(A){return u(n,A)}function p(A){return u(t,A)}R(hC[6],p,s,e,c),u(f(e),lxr),u(f(e),bxr),u(f(e),pxr),a(f(e),_xr,mxr);var y=i[2];u(f(e),yxr);var T=0;be(function(A,S){A&&u(f(e),uxr),u(f(e),ixr),a(t,e,S[1]),u(f(e),fxr);var M=S[2];function K(f0){return u(n,f0)}function V(f0){return u(t,f0)}return R(cC[2],V,K,e,M),u(f(e),xxr),1},T,y),u(f(e),dxr),u(f(e),hxr),u(f(e),kxr),a(f(e),Exr,wxr);var E=i[3];if(E){g(e,Sxr);var h=E[1],w=function(A,S){return g(A,txr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,gxr)}else g(e,Fxr);return u(f(e),Txr),u(f(e),Oxr)}),N(fW,function(t,n,e){var i=a(kC,t,n);return a(P0(nxr),i,e)});var xW=[0,kC,fW],wC=function t(n,e,i,x){return t.fun(n,e,i,x)},aW=function t(n,e,i){return t.fun(n,e,i)};N(wC,function(t,n,e,i){u(f(e),Xfr),a(f(e),Vfr,Yfr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),zfr),u(f(e),Kfr),a(f(e),Jfr,Wfr);var p=i[2];if(p){g(e,$fr);var y=p[1],T=function(h,w){return g(h,Hfr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Zfr)}else g(e,Qfr);return u(f(e),rxr),u(f(e),exr)}),N(aW,function(t,n,e){var i=a(wC,t,n);return a(P0(Ufr),i,e)});var oW=[0,wC,aW],a5=function t(n,e,i,x){return t.fun(n,e,i,x)},cW=function t(n,e,i){return t.fun(n,e,i)},o5=function t(n,e,i,x){return t.fun(n,e,i,x)},sW=function t(n,e,i){return t.fun(n,e,i)},c5=function t(n,e,i,x){return t.fun(n,e,i,x)},vW=function t(n,e,i){return t.fun(n,e,i)};N(a5,function(t,n,e,i){if(i[0]===0){u(f(e),Gfr);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(Ln[1],s,c,e,x),u(f(e),Mfr)}u(f(e),Bfr);var p=i[1];function y(T){return u(n,T)}return R(c5,function(T){return u(t,T)},y,e,p),u(f(e),qfr)}),N(cW,function(t,n,e){var i=a(a5,t,n);return a(P0(jfr),i,e)}),N(o5,function(t,n,e,i){u(f(e),Ofr),a(f(e),Afr,Ifr);var x=i[1];function c(T){return u(n,T)}R(a5,function(T){return u(t,T)},c,e,x),u(f(e),Nfr),u(f(e),Cfr),a(f(e),Dfr,Pfr);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(Ln[1],y,p,e,s),u(f(e),Lfr),u(f(e),Rfr)}),N(sW,function(t,n,e){var i=a(o5,t,n);return a(P0(Tfr),i,e)}),N(c5,function(t,n,e,i){u(f(e),Sfr),a(n,e,i[1]),u(f(e),gfr);var x=i[2];function c(s){return u(n,s)}return R(o5,function(s){return u(t,s)},c,e,x),u(f(e),Ffr)}),N(vW,function(t,n,e){var i=a(c5,t,n);return a(P0(Efr),i,e)});var lW=[0,a5,cW,o5,sW,c5,vW],EC=function t(n,e,i,x){return t.fun(n,e,i,x)},bW=function t(n,e,i){return t.fun(n,e,i)};N(EC,function(t,n,e,i){u(f(e),sfr),a(f(e),lfr,vfr);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(lW[1],s,c,e,x),u(f(e),bfr),u(f(e),pfr),a(f(e),_fr,mfr);var p=i[2];if(p){g(e,yfr);var y=p[1],T=function(h,w){return g(h,cfr)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,dfr)}else g(e,hfr);return u(f(e),kfr),u(f(e),wfr)}),N(bW,function(t,n,e){var i=a(EC,t,n);return a(P0(ofr),i,e)});var pW=[0,lW,EC,bW],SC=function t(n,e,i,x){return t.fun(n,e,i,x)},mW=function t(n,e,i){return t.fun(n,e,i)};N(SC,function(t,n,e,i){u(f(e),Wir),a(f(e),$ir,Jir);var x=i[1];u(f(e),Zir);var c=0;be(function(E,h){E&&u(f(e),Kir);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Je[13],G,w,e,h),1},c,x),u(f(e),Qir),u(f(e),rfr),u(f(e),efr),a(f(e),tfr,nfr);var s=i[2];if(s){g(e,ufr);var p=s[1],y=function(E,h){return g(E,zir)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,ifr)}else g(e,ffr);return u(f(e),xfr),u(f(e),afr)}),N(mW,function(t,n,e){var i=a(SC,t,n);return a(P0(Vir),i,e)});var _W=[0,SC,mW],gC=function t(n,e,i,x){return t.fun(n,e,i,x)},yW=function t(n,e,i){return t.fun(n,e,i)};N(gC,function(t,n,e,i){u(f(e),Dir),a(f(e),Rir,Lir);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[13],s,c,e,x),u(f(e),jir),u(f(e),Gir),a(f(e),Bir,Mir);var p=i[2];if(p){g(e,qir);var y=p[1],T=function(h,w){return g(h,Pir)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Uir)}else g(e,Hir);return u(f(e),Xir),u(f(e),Yir)}),N(yW,function(t,n,e){var i=a(gC,t,n);return a(P0(Cir),i,e)});var dW=[0,gC,yW],FC=function t(n,e,i,x){return t.fun(n,e,i,x)},hW=function t(n,e,i){return t.fun(n,e,i)};N(FC,function(t,n,e,i){u(f(e),bir),a(f(e),mir,pir);var x=i[1];u(f(e),_ir);var c=x[1];function s(K){return u(n,K)}function p(K){return u(t,K)}R(Je[13],p,s,e,c),u(f(e),yir);var y=x[2];function T(K){return u(n,K)}function E(K){return u(t,K)}R(Je[13],E,T,e,y),u(f(e),dir),u(f(e),hir);var h=x[3],w=0;be(function(K,V){K&&u(f(e),lir);function f0(k0){return u(n,k0)}function m0(k0){return u(t,k0)}return R(Je[13],m0,f0,e,V),1},w,h),u(f(e),kir),u(f(e),wir),u(f(e),Eir),u(f(e),Sir),a(f(e),Fir,gir);var G=i[2];if(G){g(e,Tir);var A=G[1],S=function(K,V){return g(K,vir)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Oir)}else g(e,Iir);return u(f(e),Air),u(f(e),Nir)}),N(hW,function(t,n,e){var i=a(FC,t,n);return a(P0(sir),i,e)});var kW=[0,FC,hW],TC=function t(n,e,i,x){return t.fun(n,e,i,x)},wW=function t(n,e,i){return t.fun(n,e,i)};N(TC,function(t,n,e,i){u(f(e),z7r),a(f(e),W7r,K7r);var x=i[1];u(f(e),J7r);var c=x[1];function s(K){return u(n,K)}function p(K){return u(t,K)}R(Je[13],p,s,e,c),u(f(e),$7r);var y=x[2];function T(K){return u(n,K)}function E(K){return u(t,K)}R(Je[13],E,T,e,y),u(f(e),Z7r),u(f(e),Q7r);var h=x[3],w=0;be(function(K,V){K&&u(f(e),V7r);function f0(k0){return u(n,k0)}function m0(k0){return u(t,k0)}return R(Je[13],m0,f0,e,V),1},w,h),u(f(e),rir),u(f(e),eir),u(f(e),nir),u(f(e),tir),a(f(e),iir,uir);var G=i[2];if(G){g(e,fir);var A=G[1],S=function(K,V){return g(K,Y7r)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,xir)}else g(e,air);return u(f(e),oir),u(f(e),cir)}),N(wW,function(t,n,e){var i=a(TC,t,n);return a(P0(X7r),i,e)});var EW=[0,TC,wW],s5=function t(n,e,i,x){return t.fun(n,e,i,x)},SW=function t(n,e,i){return t.fun(n,e,i)},v5=function t(n,e,i,x){return t.fun(n,e,i,x)},gW=function t(n,e,i){return t.fun(n,e,i)},OC=function t(n,e,i,x){return t.fun(n,e,i,x)},FW=function t(n,e,i){return t.fun(n,e,i)},IC=function t(n,e,i,x){return t.fun(n,e,i,x)},TW=function t(n,e,i){return t.fun(n,e,i)};N(s5,function(t,n,e,i){u(f(e),q7r),a(n,e,i[1]),u(f(e),U7r);var x=i[2];function c(s){return u(n,s)}return R(v5,function(s){return u(t,s)},c,e,x),u(f(e),H7r)}),N(SW,function(t,n,e){var i=a(s5,t,n);return a(P0(B7r),i,e)}),N(v5,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];if(u(f(e),xur),x){g(e,aur);var c=x[1],s=function(U,Y){return g(U,fur)},p=function(U){return u(t,U)};R(Dr[1],p,s,e,c),g(e,our)}else g(e,cur);return u(f(e),sur);case 1:var y=i[1];if(u(f(e),vur),y){g(e,lur);var T=y[1],E=function(U,Y){return g(U,iur)},h=function(U){return u(t,U)};R(Dr[1],h,E,e,T),g(e,bur)}else g(e,pur);return u(f(e),mur);case 2:var w=i[1];if(u(f(e),_ur),w){g(e,yur);var G=w[1],A=function(U,Y){return g(U,uur)},S=function(U){return u(t,U)};R(Dr[1],S,A,e,G),g(e,dur)}else g(e,hur);return u(f(e),kur);case 3:var M=i[1];if(u(f(e),wur),M){g(e,Eur);var K=M[1],V=function(U,Y){return g(U,tur)},f0=function(U){return u(t,U)};R(Dr[1],f0,V,e,K),g(e,Sur)}else g(e,gur);return u(f(e),Fur);case 4:var m0=i[1];if(u(f(e),Tur),m0){g(e,Our);var k0=m0[1],g0=function(U,Y){return g(U,nur)},e0=function(U){return u(t,U)};R(Dr[1],e0,g0,e,k0),g(e,Iur)}else g(e,Aur);return u(f(e),Nur);case 5:var x0=i[1];if(u(f(e),Cur),x0){g(e,Pur);var l=x0[1],c0=function(U,Y){return g(U,eur)},t0=function(U){return u(t,U)};R(Dr[1],t0,c0,e,l),g(e,Dur)}else g(e,Lur);return u(f(e),Rur);case 6:var a0=i[1];if(u(f(e),jur),a0){g(e,Gur);var w0=a0[1],_0=function(U,Y){return g(U,rur)},E0=function(U){return u(t,U)};R(Dr[1],E0,_0,e,w0),g(e,Mur)}else g(e,Bur);return u(f(e),qur);case 7:var X0=i[1];if(u(f(e),Uur),X0){g(e,Hur);var b=X0[1],G0=function(U,Y){return g(U,Qtr)},X=function(U){return u(t,U)};R(Dr[1],X,G0,e,b),g(e,Xur)}else g(e,Yur);return u(f(e),Vur);case 8:var s0=i[1];if(u(f(e),zur),s0){g(e,Kur);var dr=s0[1],Ar=function(U,Y){return g(U,Ztr)},ar=function(U){return u(t,U)};R(Dr[1],ar,Ar,e,dr),g(e,Wur)}else g(e,Jur);return u(f(e),$ur);case 9:var W0=i[1];if(u(f(e),Zur),W0){g(e,Qur);var Lr=W0[1],Tr=function(U,Y){return g(U,$tr)},Hr=function(U){return u(t,U)};R(Dr[1],Hr,Tr,e,Lr),g(e,r7r)}else g(e,e7r);return u(f(e),n7r);case 10:var Or=i[1];if(u(f(e),t7r),Or){g(e,u7r);var xr=Or[1],Rr=function(U,Y){return g(U,Jtr)},Wr=function(U){return u(t,U)};R(Dr[1],Wr,Rr,e,xr),g(e,i7r)}else g(e,f7r);return u(f(e),x7r);case 11:u(f(e),a7r);var Jr=i[1],or=function(U){return u(n,U)},_r=function(U){return u(t,U)};return R(oW[1],_r,or,e,Jr),u(f(e),o7r);case 12:u(f(e),c7r);var Ir=i[1],fe=function(U){return u(n,U)},v0=function(U){return u(t,U)};return R(Ol[5],v0,fe,e,Ir),u(f(e),s7r);case 13:u(f(e),v7r);var P=i[1],L=function(U){return u(n,U)},Q=function(U){return u(t,U)};return R(hC[6],Q,L,e,P),u(f(e),l7r);case 14:u(f(e),b7r);var i0=i[1],l0=function(U){return u(n,U)},S0=function(U){return u(t,U)};return R(xW[1],S0,l0,e,i0),u(f(e),p7r);case 15:u(f(e),m7r);var T0=i[1],rr=function(U){return u(n,U)},R0=function(U){return u(t,U)};return R(dW[1],R0,rr,e,T0),u(f(e),_7r);case 16:u(f(e),y7r);var B=i[1],Z=function(U){return u(n,U)},p0=function(U){return u(t,U)};return R(cC[2],p0,Z,e,B),u(f(e),d7r);case 17:u(f(e),h7r);var b0=i[1],O0=function(U){return u(n,U)},q0=function(U){return u(t,U)};return R(vC[1],q0,O0,e,b0),u(f(e),k7r);case 18:u(f(e),w7r);var er=i[1],yr=function(U){return u(n,U)},vr=function(U){return u(t,U)};return R(qK[1],vr,yr,e,er),u(f(e),E7r);case 19:u(f(e),S7r);var $0=i[1],Sr=function(U){return u(n,U)},Mr=function(U){return u(t,U)};return R(kW[1],Mr,Sr,e,$0),u(f(e),g7r);case 20:u(f(e),F7r);var Br=i[1],qr=function(U){return u(n,U)},jr=function(U){return u(t,U)};return R(EW[1],jr,qr,e,Br),u(f(e),T7r);case 21:u(f(e),O7r);var $r=i[1],ne=function(U){return u(n,U)},Qr=function(U){return u(t,U)};return R(pW[2],Qr,ne,e,$r),u(f(e),I7r);case 22:u(f(e),A7r);var pe=i[1],oe=function(U){return u(n,U)},me=function(U){return u(t,U)};return R(_W[1],me,oe,e,pe),u(f(e),N7r);case 23:u(f(e),C7r);var ae=i[1],ce=function(U){return u(t,U)};return ir(F1[1],ce,e,ae),u(f(e),P7r);case 24:u(f(e),D7r);var ge=i[1],H0=function(U){return u(t,U)};return ir(HN[1],H0,e,ge),u(f(e),L7r);case 25:u(f(e),R7r);var Fr=i[1],_=function(U){return u(t,U)};return ir(tK[1],_,e,Fr),u(f(e),j7r);default:u(f(e),G7r);var k=i[1],I=function(U){return u(t,U)};return ir(XN[1],I,e,k),u(f(e),M7r)}}),N(gW,function(t,n,e){var i=a(v5,t,n);return a(P0(Wtr),i,e)}),N(OC,function(t,n,e,i){u(f(e),Vtr),a(t,e,i[1]),u(f(e),ztr);var x=i[2];function c(s){return u(n,s)}return R(s5,function(s){return u(t,s)},c,e,x),u(f(e),Ktr)}),N(FW,function(t,n,e){var i=a(OC,t,n);return a(P0(Ytr),i,e)}),N(IC,function(t,n,e,i){if(i[0]===0)return u(f(e),qtr),a(n,e,i[1]),u(f(e),Utr);u(f(e),Htr);var x=i[1];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(Je[17],s,c,e,x),u(f(e),Xtr)}),N(TW,function(t,n,e){var i=a(IC,t,n);return a(P0(Btr),i,e)});var AC=function t(n,e,i,x){return t.fun(n,e,i,x)},OW=function t(n,e,i){return t.fun(n,e,i)},l5=function t(n,e,i,x){return t.fun(n,e,i,x)},IW=function t(n,e,i){return t.fun(n,e,i)};N(AC,function(t,n,e,i){u(f(e),jtr),a(t,e,i[1]),u(f(e),Gtr);var x=i[2];function c(s){return u(n,s)}return R(l5,function(s){return u(t,s)},c,e,x),u(f(e),Mtr)}),N(OW,function(t,n,e){var i=a(AC,t,n);return a(P0(Rtr),i,e)}),N(l5,function(t,n,e,i){u(f(e),ltr),a(f(e),ptr,btr);var x=i[1];function c(K){return u(t,K)}function s(K){return u(t,K)}R(Ln[1],s,c,e,x),u(f(e),mtr),u(f(e),_tr),a(f(e),dtr,ytr);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(Je[19],T,y,e,p),u(f(e),htr),u(f(e),ktr),a(f(e),Etr,wtr);var E=i[3];if(E){g(e,Str);var h=E[1],w=function(K){return u(t,K)};ir(zv[1],w,e,h),g(e,gtr)}else g(e,Ftr);u(f(e),Ttr),u(f(e),Otr),a(f(e),Atr,Itr);var G=i[4];if(G){g(e,Ntr);var A=G[1],S=function(K){return u(n,K)},M=function(K){return u(t,K)};R(Je[13],M,S,e,A),g(e,Ctr)}else g(e,Ptr);return u(f(e),Dtr),u(f(e),Ltr)}),N(IW,function(t,n,e){var i=a(l5,t,n);return a(P0(vtr),i,e)});var AW=[0,AC,OW,l5,IW],NC=function t(n,e,i,x){return t.fun(n,e,i,x)},NW=function t(n,e,i){return t.fun(n,e,i)},b5=function t(n,e,i,x){return t.fun(n,e,i,x)},CW=function t(n,e,i){return t.fun(n,e,i)};N(NC,function(t,n,e,i){u(f(e),otr),a(t,e,i[1]),u(f(e),ctr);var x=i[2];function c(s){return u(n,s)}return R(b5,function(s){return u(t,s)},c,e,x),u(f(e),str)}),N(NW,function(t,n,e){var i=a(NC,t,n);return a(P0(atr),i,e)}),N(b5,function(t,n,e,i){u(f(e),Knr),a(f(e),Jnr,Wnr);var x=i[1];u(f(e),$nr);var c=0;be(function(E,h){E&&u(f(e),znr);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(AW[1],G,w,e,h),1},c,x),u(f(e),Znr),u(f(e),Qnr),u(f(e),rtr),a(f(e),ntr,etr);var s=i[2];if(s){g(e,ttr);var p=s[1],y=function(E,h){u(f(E),Ynr);var w=0;return be(function(G,A){G&&u(f(E),Xnr);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),Vnr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,utr)}else g(e,itr);return u(f(e),ftr),u(f(e),xtr)}),N(CW,function(t,n,e){var i=a(b5,t,n);return a(P0(Hnr),i,e)});var CC=function t(n,e,i,x){return t.fun(n,e,i,x)},PW=function t(n,e,i){return t.fun(n,e,i)},p5=function t(n,e,i,x){return t.fun(n,e,i,x)},DW=function t(n,e,i){return t.fun(n,e,i)},jee=[0,NC,NW,b5,CW];N(CC,function(t,n,e,i){u(f(e),Bnr),a(t,e,i[1]),u(f(e),qnr);var x=i[2];function c(s){return u(n,s)}return R(p5,function(s){return u(t,s)},c,e,x),u(f(e),Unr)}),N(PW,function(t,n,e){var i=a(CC,t,n);return a(P0(Mnr),i,e)}),N(p5,function(t,n,e,i){u(f(e),gnr),a(f(e),Tnr,Fnr);var x=i[1];u(f(e),Onr);var c=0;be(function(E,h){E&&u(f(e),Snr);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Je[13],G,w,e,h),1},c,x),u(f(e),Inr),u(f(e),Anr),u(f(e),Nnr),a(f(e),Pnr,Cnr);var s=i[2];if(s){g(e,Dnr);var p=s[1],y=function(E,h){u(f(E),wnr);var w=0;return be(function(G,A){G&&u(f(E),knr);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),Enr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,Lnr)}else g(e,Rnr);return u(f(e),jnr),u(f(e),Gnr)}),N(DW,function(t,n,e){var i=a(p5,t,n);return a(P0(hnr),i,e)});var PC=function t(n,e,i,x){return t.fun(n,e,i,x)},LW=function t(n,e,i){return t.fun(n,e,i)},m5=function t(n,e,i,x){return t.fun(n,e,i,x)},RW=function t(n,e,i){return t.fun(n,e,i)},_5=function t(n,e,i,x){return t.fun(n,e,i,x)},jW=function t(n,e,i){return t.fun(n,e,i)},Gee=[0,CC,PW,p5,DW];N(PC,function(t,n,e,i){u(f(e),_nr),a(t,e,i[1]),u(f(e),ynr);var x=i[2];function c(s){return u(n,s)}return R(m5,function(s){return u(t,s)},c,e,x),u(f(e),dnr)}),N(LW,function(t,n,e){var i=a(PC,t,n);return a(P0(mnr),i,e)}),N(m5,function(t,n,e,i){u(f(e),unr),a(f(e),fnr,inr);var x=i[1];function c(E){return u(n,E)}R(_5,function(E){return u(t,E)},c,e,x),u(f(e),xnr),u(f(e),anr),a(f(e),cnr,onr);var s=i[2];if(s){g(e,snr);var p=s[1],y=function(E,h){return g(E,tnr)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,vnr)}else g(e,lnr);return u(f(e),bnr),u(f(e),pnr)}),N(RW,function(t,n,e){var i=a(m5,t,n);return a(P0(nnr),i,e)}),N(_5,function(t,n,e,i){if(i){u(f(e),Qer);var x=i[1],c=function(p){return u(n,p)},s=function(p){return u(t,p)};return R(qe[31],s,c,e,x),u(f(e),rnr)}return g(e,enr)}),N(jW,function(t,n,e){var i=a(_5,t,n);return a(P0(Zer),i,e)}),pu(o6r,Je,[0,Ol,cC,vC,qK,hC,xW,oW,pW,_W,dW,kW,EW,s5,SW,v5,gW,OC,FW,IC,TW,AW,jee,Gee,[0,PC,LW,m5,RW,_5,jW]]);var DC=function t(n,e,i,x){return t.fun(n,e,i,x)},GW=function t(n,e,i){return t.fun(n,e,i)};N(DC,function(t,n,e,i){u(f(e),Ger),a(f(e),Ber,Mer);var x=i[1];u(f(e),qer);var c=0;be(function(E,h){E&&u(f(e),jer);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(Xu[35],G,w,e,h),1},c,x),u(f(e),Uer),u(f(e),Her),u(f(e),Xer),a(f(e),Ver,Yer);var s=i[2];if(s){g(e,zer);var p=s[1],y=function(E,h){u(f(E),Ler);var w=0;return be(function(G,A){G&&u(f(E),Der);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),Rer)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,Ker)}else g(e,Wer);return u(f(e),Jer),u(f(e),$er)}),N(GW,function(t,n,e){var i=a(DC,t,n);return a(P0(Per),i,e)});var Kv=[0,DC,GW],LC=function t(n,e,i,x){return t.fun(n,e,i,x)},MW=function t(n,e,i){return t.fun(n,e,i)},y5=function t(n,e,i,x){return t.fun(n,e,i,x)},BW=function t(n,e,i){return t.fun(n,e,i)};N(LC,function(t,n,e,i){u(f(e),Aer),a(t,e,i[1]),u(f(e),Ner);var x=i[2];function c(s){return u(n,s)}return R(y5,function(s){return u(t,s)},c,e,x),u(f(e),Cer)}),N(MW,function(t,n,e){var i=a(LC,t,n);return a(P0(Ier),i,e)}),N(y5,function(t,n,e,i){u(f(e),_er),a(f(e),der,yer);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Xu[35],s,c,e,x),u(f(e),her),u(f(e),ker),a(f(e),Eer,wer);var p=i[2];if(p){g(e,Ser);var y=p[1],T=function(h,w){return g(h,mer)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,ger)}else g(e,Fer);return u(f(e),Ter),u(f(e),Oer)}),N(BW,function(t,n,e){var i=a(y5,t,n);return a(P0(per),i,e)});var qW=[0,LC,MW,y5,BW],RC=function t(n,e,i,x){return t.fun(n,e,i,x)},UW=function t(n,e,i){return t.fun(n,e,i)};N(RC,function(t,n,e,i){u(f(e),Vrr),a(f(e),Krr,zrr);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[31],s,c,e,x),u(f(e),Wrr),u(f(e),Jrr),a(f(e),Zrr,$rr);var p=i[2];function y(V){return u(n,V)}function T(V){return u(t,V)}R(Xu[35],T,y,e,p),u(f(e),Qrr),u(f(e),rer),a(f(e),ner,eer);var E=i[3];if(E){g(e,ter);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(qW[1],G,w,e,h),g(e,uer)}else g(e,ier);u(f(e),fer),u(f(e),xer),a(f(e),oer,aer);var A=i[4];if(A){g(e,cer);var S=A[1],M=function(V,f0){return g(V,Yrr)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,ser)}else g(e,ver);return u(f(e),ler),u(f(e),ber)}),N(UW,function(t,n,e){var i=a(RC,t,n);return a(P0(Xrr),i,e)});var HW=[0,qW,RC,UW],jC=function t(n,e,i,x){return t.fun(n,e,i,x)},XW=function t(n,e,i){return t.fun(n,e,i)};N(jC,function(t,n,e,i){u(f(e),Orr),a(f(e),Arr,Irr);var x=i[1];function c(A){return u(t,A)}function s(A){return u(t,A)}R(Ln[1],s,c,e,x),u(f(e),Nrr),u(f(e),Crr),a(f(e),Drr,Prr);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),Lrr),u(f(e),Rrr),a(f(e),Grr,jrr);var E=i[3];if(E){g(e,Mrr);var h=E[1],w=function(A,S){return g(A,Trr)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Brr)}else g(e,qrr);return u(f(e),Urr),u(f(e),Hrr)}),N(XW,function(t,n,e){var i=a(jC,t,n);return a(P0(Frr),i,e)});var YW=[0,jC,XW],GC=function t(n,e,i){return t.fun(n,e,i)},VW=function t(n,e){return t.fun(n,e)};N(GC,function(t,n,e){u(f(n),srr),a(f(n),lrr,vrr);var i=e[1];if(i){g(n,brr);var x=i[1],c=function(h){return u(t,h)},s=function(h){return u(t,h)};R(Ln[1],s,c,n,x),g(n,prr)}else g(n,mrr);u(f(n),_rr),u(f(n),yrr),a(f(n),hrr,drr);var p=e[2];if(p){g(n,krr);var y=p[1],T=function(h,w){return g(h,crr)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,wrr)}else g(n,Err);return u(f(n),Srr),u(f(n),grr)}),N(VW,function(t,n){var e=u(GC,t);return a(P0(orr),e,n)});var zW=[0,GC,VW],MC=function t(n,e,i){return t.fun(n,e,i)},KW=function t(n,e){return t.fun(n,e)};N(MC,function(t,n,e){u(f(n),K0r),a(f(n),J0r,W0r);var i=e[1];if(i){g(n,$0r);var x=i[1],c=function(h){return u(t,h)},s=function(h){return u(t,h)};R(Ln[1],s,c,n,x),g(n,Z0r)}else g(n,Q0r);u(f(n),rrr),u(f(n),err),a(f(n),trr,nrr);var p=e[2];if(p){g(n,urr);var y=p[1],T=function(h,w){return g(h,z0r)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,irr)}else g(n,frr);return u(f(n),xrr),u(f(n),arr)}),N(KW,function(t,n){var e=u(MC,t);return a(P0(V0r),e,n)});var WW=[0,MC,KW],BC=function t(n,e,i){return t.fun(n,e,i)},JW=function t(n,e){return t.fun(n,e)};N(BC,function(t,n,e){u(f(n),G0r),a(f(n),B0r,M0r);var i=e[1];if(i){g(n,q0r);var x=i[1],c=function(p,y){return g(p,j0r)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,U0r)}else g(n,H0r);return u(f(n),X0r),u(f(n),Y0r)}),N(JW,function(t,n){var e=u(BC,t);return a(P0(R0r),e,n)});var $W=[0,BC,JW],qC=function t(n,e,i,x){return t.fun(n,e,i,x)},ZW=function t(n,e,i){return t.fun(n,e,i)};N(qC,function(t,n,e,i){u(f(e),h0r),a(f(e),w0r,k0r);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),E0r),u(f(e),S0r),a(f(e),F0r,g0r);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),T0r),u(f(e),O0r),a(f(e),A0r,I0r);var E=i[3];if(E){g(e,N0r);var h=E[1],w=function(A,S){return g(A,d0r)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,C0r)}else g(e,P0r);return u(f(e),D0r),u(f(e),L0r)}),N(ZW,function(t,n,e){var i=a(qC,t,n);return a(P0(y0r),i,e)});var QW=[0,qC,ZW],UC=function t(n,e,i,x){return t.fun(n,e,i,x)},rJ=function t(n,e,i){return t.fun(n,e,i)};N(UC,function(t,n,e,i){u(f(e),WQ0),a(f(e),$Q0,JQ0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(Ln[1],s,c,e,x),u(f(e),ZQ0),u(f(e),QQ0),a(f(e),e0r,r0r);var p=i[2];if(p){g(e,n0r);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(Je[22][1],E,T,e,y),g(e,t0r)}else g(e,u0r);u(f(e),i0r),u(f(e),f0r),a(f(e),a0r,x0r);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(Je[13],G,w,e,h),u(f(e),o0r),u(f(e),c0r),a(f(e),v0r,s0r);var A=i[4];if(A){g(e,l0r);var S=A[1],M=function(V,f0){return g(V,KQ0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,b0r)}else g(e,p0r);return u(f(e),m0r),u(f(e),_0r)}),N(rJ,function(t,n,e){var i=a(UC,t,n);return a(P0(zQ0),i,e)});var d5=[0,UC,rJ],HC=function t(n,e,i,x){return t.fun(n,e,i,x)},eJ=function t(n,e,i){return t.fun(n,e,i)};N(HC,function(t,n,e,i){u(f(e),bQ0),a(f(e),mQ0,pQ0);var x=i[1];function c(e0){return u(n,e0)}function s(e0){return u(t,e0)}R(Ln[1],s,c,e,x),u(f(e),_Q0),u(f(e),yQ0),a(f(e),hQ0,dQ0);var p=i[2];if(p){g(e,kQ0);var y=p[1],T=function(e0){return u(n,e0)},E=function(e0){return u(t,e0)};R(Je[22][1],E,T,e,y),g(e,wQ0)}else g(e,EQ0);u(f(e),SQ0),u(f(e),gQ0),a(f(e),TQ0,FQ0);var h=i[3];if(h){g(e,OQ0);var w=h[1],G=function(e0){return u(n,e0)},A=function(e0){return u(t,e0)};R(Je[13],A,G,e,w),g(e,IQ0)}else g(e,AQ0);u(f(e),NQ0),u(f(e),CQ0),a(f(e),DQ0,PQ0);var S=i[4];if(S){g(e,LQ0);var M=S[1],K=function(e0){return u(n,e0)},V=function(e0){return u(t,e0)};R(Je[13],V,K,e,M),g(e,RQ0)}else g(e,jQ0);u(f(e),GQ0),u(f(e),MQ0),a(f(e),qQ0,BQ0);var f0=i[5];if(f0){g(e,UQ0);var m0=f0[1],k0=function(e0,x0){return g(e0,lQ0)},g0=function(e0){return u(t,e0)};R(Dr[1],g0,k0,e,m0),g(e,HQ0)}else g(e,XQ0);return u(f(e),YQ0),u(f(e),VQ0)}),N(eJ,function(t,n,e){var i=a(HC,t,n);return a(P0(vQ0),i,e)});var h5=[0,HC,eJ],XC=function t(n,e,i,x){return t.fun(n,e,i,x)},nJ=function t(n,e,i){return t.fun(n,e,i)},k5=function t(n,e,i,x){return t.fun(n,e,i,x)},tJ=function t(n,e,i){return t.fun(n,e,i)};N(XC,function(t,n,e,i){u(f(e),oQ0),a(t,e,i[1]),u(f(e),cQ0);var x=i[2];function c(s){return u(n,s)}return R(k5,function(s){return u(t,s)},c,e,x),u(f(e),sQ0)}),N(nJ,function(t,n,e){var i=a(XC,t,n);return a(P0(aQ0),i,e)}),N(k5,function(t,n,e,i){u(f(e),qZ0),a(f(e),HZ0,UZ0);var x=i[1];if(x){g(e,XZ0);var c=x[1],s=function(A){return u(n,A)},p=function(A){return u(t,A)};R(qe[31],p,s,e,c),g(e,YZ0)}else g(e,VZ0);u(f(e),zZ0),u(f(e),KZ0),a(f(e),JZ0,WZ0);var y=i[2];u(f(e),$Z0);var T=0;be(function(A,S){A&&u(f(e),BZ0);function M(V){return u(n,V)}function K(V){return u(t,V)}return R(Xu[35],K,M,e,S),1},T,y),u(f(e),ZZ0),u(f(e),QZ0),u(f(e),rQ0),a(f(e),nQ0,eQ0);var E=i[3];if(E){g(e,tQ0);var h=E[1],w=function(A,S){return g(A,MZ0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,uQ0)}else g(e,iQ0);return u(f(e),fQ0),u(f(e),xQ0)}),N(tJ,function(t,n,e){var i=a(k5,t,n);return a(P0(GZ0),i,e)});var uJ=[0,XC,nJ,k5,tJ],YC=function t(n,e,i,x){return t.fun(n,e,i,x)},iJ=function t(n,e,i){return t.fun(n,e,i)};N(YC,function(t,n,e,i){u(f(e),mZ0),a(f(e),yZ0,_Z0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),dZ0),u(f(e),hZ0),a(f(e),wZ0,kZ0);var p=i[2];u(f(e),EZ0);var y=0;be(function(G,A){G&&u(f(e),pZ0);function S(K){return u(n,K)}function M(K){return u(t,K)}return R(uJ[1],M,S,e,A),1},y,p),u(f(e),SZ0),u(f(e),gZ0),u(f(e),FZ0),a(f(e),OZ0,TZ0);var T=i[3];if(T){g(e,IZ0);var E=T[1],h=function(G,A){return g(G,bZ0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,AZ0)}else g(e,NZ0);return u(f(e),CZ0),u(f(e),PZ0),a(f(e),LZ0,DZ0),a(n,e,i[4]),u(f(e),RZ0),u(f(e),jZ0)}),N(iJ,function(t,n,e){var i=a(YC,t,n);return a(P0(lZ0),i,e)});var fJ=[0,uJ,YC,iJ],VC=function t(n,e,i,x){return t.fun(n,e,i,x)},xJ=function t(n,e,i){return t.fun(n,e,i)};N(VC,function(t,n,e,i){u(f(e),K$0),a(f(e),J$0,W$0);var x=i[1];if(x){g(e,$$0);var c=x[1],s=function(w){return u(n,w)},p=function(w){return u(t,w)};R(qe[31],p,s,e,c),g(e,Z$0)}else g(e,Q$0);u(f(e),rZ0),u(f(e),eZ0),a(f(e),tZ0,nZ0);var y=i[2];if(y){g(e,uZ0);var T=y[1],E=function(w,G){return g(w,z$0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,iZ0)}else g(e,fZ0);return u(f(e),xZ0),u(f(e),aZ0),a(f(e),cZ0,oZ0),a(n,e,i[3]),u(f(e),sZ0),u(f(e),vZ0)}),N(xJ,function(t,n,e){var i=a(VC,t,n);return a(P0(V$0),i,e)});var aJ=[0,VC,xJ],zC=function t(n,e,i,x){return t.fun(n,e,i,x)},oJ=function t(n,e,i){return t.fun(n,e,i)};N(zC,function(t,n,e,i){u(f(e),D$0),a(f(e),R$0,L$0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),j$0),u(f(e),G$0),a(f(e),B$0,M$0);var p=i[2];if(p){g(e,q$0);var y=p[1],T=function(h,w){return g(h,P$0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,U$0)}else g(e,H$0);return u(f(e),X$0),u(f(e),Y$0)}),N(oJ,function(t,n,e){var i=a(zC,t,n);return a(P0(C$0),i,e)});var cJ=[0,zC,oJ],KC=function t(n,e,i,x){return t.fun(n,e,i,x)},sJ=function t(n,e,i){return t.fun(n,e,i)},w5=function t(n,e,i,x){return t.fun(n,e,i,x)},vJ=function t(n,e,i){return t.fun(n,e,i)};N(KC,function(t,n,e,i){u(f(e),I$0),a(t,e,i[1]),u(f(e),A$0);var x=i[2];function c(s){return u(n,s)}return R(w5,function(s){return u(t,s)},c,e,x),u(f(e),N$0)}),N(sJ,function(t,n,e){var i=a(KC,t,n);return a(P0(O$0),i,e)}),N(w5,function(t,n,e,i){u(f(e),f$0),a(f(e),a$0,x$0);var x=i[1];if(x){g(e,o$0);var c=x[1],s=function(M){return u(n,M)},p=function(M){return u(t,M)};R(di[5],p,s,e,c),g(e,c$0)}else g(e,s$0);u(f(e),v$0),u(f(e),l$0),a(f(e),p$0,b$0);var y=i[2];u(f(e),m$0),a(t,e,y[1]),u(f(e),_$0);var T=y[2];function E(M){return u(n,M)}function h(M){return u(t,M)}R(Kv[1],h,E,e,T),u(f(e),y$0),u(f(e),d$0),u(f(e),h$0),a(f(e),w$0,k$0);var w=i[3];if(w){g(e,E$0);var G=w[1],A=function(M,K){return g(M,i$0)},S=function(M){return u(t,M)};R(Dr[1],S,A,e,G),g(e,S$0)}else g(e,g$0);return u(f(e),F$0),u(f(e),T$0)}),N(vJ,function(t,n,e){var i=a(w5,t,n);return a(P0(u$0),i,e)});var lJ=[0,KC,sJ,w5,vJ],WC=function t(n,e,i,x){return t.fun(n,e,i,x)},bJ=function t(n,e,i){return t.fun(n,e,i)};N(WC,function(t,n,e,i){u(f(e),FJ0),a(f(e),OJ0,TJ0);var x=i[1];u(f(e),IJ0),a(t,e,x[1]),u(f(e),AJ0);var c=x[2];function s(k0){return u(n,k0)}function p(k0){return u(t,k0)}R(Kv[1],p,s,e,c),u(f(e),NJ0),u(f(e),CJ0),u(f(e),PJ0),a(f(e),LJ0,DJ0);var y=i[2];if(y){g(e,RJ0);var T=y[1],E=function(k0){return u(n,k0)},h=function(k0){return u(t,k0)};R(lJ[1],h,E,e,T),g(e,jJ0)}else g(e,GJ0);u(f(e),MJ0),u(f(e),BJ0),a(f(e),UJ0,qJ0);var w=i[3];if(w){var G=w[1];g(e,HJ0),u(f(e),XJ0),a(t,e,G[1]),u(f(e),YJ0);var A=G[2],S=function(k0){return u(n,k0)},M=function(k0){return u(t,k0)};R(Kv[1],M,S,e,A),u(f(e),VJ0),g(e,zJ0)}else g(e,KJ0);u(f(e),WJ0),u(f(e),JJ0),a(f(e),ZJ0,$J0);var K=i[4];if(K){g(e,QJ0);var V=K[1],f0=function(k0,g0){return g(k0,gJ0)},m0=function(k0){return u(t,k0)};R(Dr[1],m0,f0,e,V),g(e,r$0)}else g(e,e$0);return u(f(e),n$0),u(f(e),t$0)}),N(bJ,function(t,n,e){var i=a(WC,t,n);return a(P0(SJ0),i,e)});var pJ=[0,lJ,WC,bJ],JC=function t(n,e,i,x){return t.fun(n,e,i,x)},mJ=function t(n,e,i){return t.fun(n,e,i)},E5=function t(n,e,i,x){return t.fun(n,e,i,x)},_J=function t(n,e,i){return t.fun(n,e,i)};N(JC,function(t,n,e,i){u(f(e),kJ0),a(t,e,i[1]),u(f(e),wJ0);var x=i[2];function c(s){return u(n,s)}return R(E5,function(s){return u(t,s)},c,e,x),u(f(e),EJ0)}),N(mJ,function(t,n,e){var i=a(JC,t,n);return a(P0(hJ0),i,e)}),N(E5,function(t,n,e,i){u(f(e),aJ0),a(f(e),cJ0,oJ0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),sJ0),u(f(e),vJ0),a(f(e),bJ0,lJ0);var p=i[2];if(p){g(e,pJ0);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,mJ0)}else g(e,_J0);return u(f(e),yJ0),u(f(e),dJ0)}),N(_J,function(t,n,e){var i=a(E5,t,n);return a(P0(xJ0),i,e)});var yJ=[0,JC,mJ,E5,_J],$C=function t(n,e,i,x){return t.fun(n,e,i,x)},dJ=function t(n,e,i){return t.fun(n,e,i)},S5=function t(n,e){return t.fun(n,e)},hJ=function t(n){return t.fun(n)};N($C,function(t,n,e,i){u(f(e),HW0),a(f(e),YW0,XW0);var x=i[1];u(f(e),VW0);var c=0;be(function(E,h){E&&u(f(e),UW0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(yJ[1],G,w,e,h),1},c,x),u(f(e),zW0),u(f(e),KW0),u(f(e),WW0),a(f(e),$W0,JW0),a(S5,e,i[2]),u(f(e),ZW0),u(f(e),QW0),a(f(e),eJ0,rJ0);var s=i[3];if(s){g(e,nJ0);var p=s[1],y=function(E,h){return g(E,qW0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,tJ0)}else g(e,uJ0);return u(f(e),iJ0),u(f(e),fJ0)}),N(dJ,function(t,n,e){var i=a($C,t,n);return a(P0(BW0),i,e)}),N(S5,function(t,n){switch(n){case 0:return g(t,jW0);case 1:return g(t,GW0);default:return g(t,MW0)}}),N(hJ,function(t){return a(P0(RW0),S5,t)});var Il=[0,yJ,$C,dJ,S5,hJ],ZC=function t(n,e,i,x){return t.fun(n,e,i,x)},kJ=function t(n,e,i){return t.fun(n,e,i)};N(ZC,function(t,n,e,i){u(f(e),hW0),a(f(e),wW0,kW0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),EW0),u(f(e),SW0),a(f(e),FW0,gW0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Xu[35],T,y,e,p),u(f(e),TW0),u(f(e),OW0),a(f(e),AW0,IW0);var E=i[3];if(E){g(e,NW0);var h=E[1],w=function(A,S){return g(A,dW0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,CW0)}else g(e,PW0);return u(f(e),DW0),u(f(e),LW0)}),N(kJ,function(t,n,e){var i=a(ZC,t,n);return a(P0(yW0),i,e)});var wJ=[0,ZC,kJ],QC=function t(n,e,i,x){return t.fun(n,e,i,x)},EJ=function t(n,e,i){return t.fun(n,e,i)};N(QC,function(t,n,e,i){u(f(e),nW0),a(f(e),uW0,tW0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Xu[35],s,c,e,x),u(f(e),iW0),u(f(e),fW0),a(f(e),aW0,xW0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),oW0),u(f(e),cW0),a(f(e),vW0,sW0);var E=i[3];if(E){g(e,lW0);var h=E[1],w=function(A,S){return g(A,eW0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,bW0)}else g(e,pW0);return u(f(e),mW0),u(f(e),_W0)}),N(EJ,function(t,n,e){var i=a(QC,t,n);return a(P0(rW0),i,e)});var SJ=[0,QC,EJ],rP=function t(n,e,i,x){return t.fun(n,e,i,x)},gJ=function t(n,e,i){return t.fun(n,e,i)},g5=function t(n,e,i,x){return t.fun(n,e,i,x)},FJ=function t(n,e,i){return t.fun(n,e,i)};N(rP,function(t,n,e,i){u(f(e),kK0),a(f(e),EK0,wK0);var x=i[1];if(x){g(e,SK0);var c=x[1],s=function(g0){return u(n,g0)};R(g5,function(g0){return u(t,g0)},s,e,c),g(e,gK0)}else g(e,FK0);u(f(e),TK0),u(f(e),OK0),a(f(e),AK0,IK0);var p=i[2];if(p){g(e,NK0);var y=p[1],T=function(g0){return u(n,g0)},E=function(g0){return u(t,g0)};R(qe[31],E,T,e,y),g(e,CK0)}else g(e,PK0);u(f(e),DK0),u(f(e),LK0),a(f(e),jK0,RK0);var h=i[3];if(h){g(e,GK0);var w=h[1],G=function(g0){return u(n,g0)},A=function(g0){return u(t,g0)};R(qe[31],A,G,e,w),g(e,MK0)}else g(e,BK0);u(f(e),qK0),u(f(e),UK0),a(f(e),XK0,HK0);var S=i[4];function M(g0){return u(n,g0)}function K(g0){return u(t,g0)}R(Xu[35],K,M,e,S),u(f(e),YK0),u(f(e),VK0),a(f(e),KK0,zK0);var V=i[5];if(V){g(e,WK0);var f0=V[1],m0=function(g0,e0){return g(g0,hK0)},k0=function(g0){return u(t,g0)};R(Dr[1],k0,m0,e,f0),g(e,JK0)}else g(e,$K0);return u(f(e),ZK0),u(f(e),QK0)}),N(gJ,function(t,n,e){var i=a(rP,t,n);return a(P0(dK0),i,e)}),N(g5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),vK0),u(f(e),lK0),a(t,e,x[1]),u(f(e),bK0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),pK0),u(f(e),mK0)}u(f(e),_K0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(qe[31],E,T,e,y),u(f(e),yK0)}),N(FJ,function(t,n,e){var i=a(g5,t,n);return a(P0(sK0),i,e)});var TJ=[0,rP,gJ,g5,FJ],eP=function t(n,e,i,x){return t.fun(n,e,i,x)},OJ=function t(n,e,i){return t.fun(n,e,i)},F5=function t(n,e,i,x){return t.fun(n,e,i,x)},IJ=function t(n,e,i){return t.fun(n,e,i)};N(eP,function(t,n,e,i){u(f(e),Bz0),a(f(e),Uz0,qz0);var x=i[1];function c(K){return u(n,K)}R(F5,function(K){return u(t,K)},c,e,x),u(f(e),Hz0),u(f(e),Xz0),a(f(e),Vz0,Yz0);var s=i[2];function p(K){return u(n,K)}function y(K){return u(t,K)}R(qe[31],y,p,e,s),u(f(e),zz0),u(f(e),Kz0),a(f(e),Jz0,Wz0);var T=i[3];function E(K){return u(n,K)}function h(K){return u(t,K)}R(Xu[35],h,E,e,T),u(f(e),$z0),u(f(e),Zz0),a(f(e),rK0,Qz0);var w=i[4];a(f(e),eK0,w),u(f(e),nK0),u(f(e),tK0),a(f(e),iK0,uK0);var G=i[5];if(G){g(e,fK0);var A=G[1],S=function(K,V){return g(K,Mz0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,xK0)}else g(e,aK0);return u(f(e),oK0),u(f(e),cK0)}),N(OJ,function(t,n,e){var i=a(eP,t,n);return a(P0(Gz0),i,e)}),N(F5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),Nz0),u(f(e),Cz0),a(t,e,x[1]),u(f(e),Pz0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),Dz0),u(f(e),Lz0)}u(f(e),Rz0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(di[5],E,T,e,y),u(f(e),jz0)}),N(IJ,function(t,n,e){var i=a(F5,t,n);return a(P0(Az0),i,e)});var AJ=[0,eP,OJ,F5,IJ],nP=function t(n,e,i,x){return t.fun(n,e,i,x)},NJ=function t(n,e,i){return t.fun(n,e,i)},T5=function t(n,e,i,x){return t.fun(n,e,i,x)},CJ=function t(n,e,i){return t.fun(n,e,i)};N(nP,function(t,n,e,i){u(f(e),iz0),a(f(e),xz0,fz0);var x=i[1];function c(K){return u(n,K)}R(T5,function(K){return u(t,K)},c,e,x),u(f(e),az0),u(f(e),oz0),a(f(e),sz0,cz0);var s=i[2];function p(K){return u(n,K)}function y(K){return u(t,K)}R(qe[31],y,p,e,s),u(f(e),vz0),u(f(e),lz0),a(f(e),pz0,bz0);var T=i[3];function E(K){return u(n,K)}function h(K){return u(t,K)}R(Xu[35],h,E,e,T),u(f(e),mz0),u(f(e),_z0),a(f(e),dz0,yz0);var w=i[4];a(f(e),hz0,w),u(f(e),kz0),u(f(e),wz0),a(f(e),Sz0,Ez0);var G=i[5];if(G){g(e,gz0);var A=G[1],S=function(K,V){return g(K,uz0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,Fz0)}else g(e,Tz0);return u(f(e),Oz0),u(f(e),Iz0)}),N(NJ,function(t,n,e){var i=a(nP,t,n);return a(P0(tz0),i,e)}),N(T5,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),JV0),u(f(e),$V0),a(t,e,x[1]),u(f(e),ZV0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Il[2],p,s,e,c),u(f(e),QV0),u(f(e),rz0)}u(f(e),ez0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(di[5],E,T,e,y),u(f(e),nz0)}),N(CJ,function(t,n,e){var i=a(T5,t,n);return a(P0(WV0),i,e)});var PJ=[0,nP,NJ,T5,CJ],tP=function t(n,e,i){return t.fun(n,e,i)},DJ=function t(n,e){return t.fun(n,e)},O5=function t(n,e,i){return t.fun(n,e,i)},LJ=function t(n,e){return t.fun(n,e)};N(tP,function(t,n,e){u(f(n),VV0),a(t,n,e[1]),u(f(n),zV0);var i=e[2];return ir(O5,function(x){return u(t,x)},n,i),u(f(n),KV0)}),N(DJ,function(t,n){var e=u(tP,t);return a(P0(YV0),e,n)}),N(O5,function(t,n,e){u(f(n),BV0),a(f(n),UV0,qV0);var i=e[1];function x(s){return u(t,s)}function c(s){return u(t,s)}return R(Ln[1],c,x,n,i),u(f(n),HV0),u(f(n),XV0)}),N(LJ,function(t,n){var e=u(O5,t);return a(P0(MV0),e,n)});var uP=[0,tP,DJ,O5,LJ],iP=function t(n,e,i,x){return t.fun(n,e,i,x)},RJ=function t(n,e,i){return t.fun(n,e,i)},I5=function t(n,e,i,x){return t.fun(n,e,i,x)},jJ=function t(n,e,i){return t.fun(n,e,i)};N(iP,function(t,n,e,i){u(f(e),RV0),a(n,e,i[1]),u(f(e),jV0);var x=i[2];function c(s){return u(n,s)}return R(I5,function(s){return u(t,s)},c,e,x),u(f(e),GV0)}),N(RJ,function(t,n,e){var i=a(iP,t,n);return a(P0(LV0),i,e)}),N(I5,function(t,n,e,i){u(f(e),EV0),a(f(e),gV0,SV0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(n,y)}R(Ln[1],s,c,e,x),u(f(e),FV0),u(f(e),TV0),a(f(e),IV0,OV0);var p=i[2];return u(f(e),AV0),a(n,e,p[1]),u(f(e),NV0),a(t,e,p[2]),u(f(e),CV0),u(f(e),PV0),u(f(e),DV0)}),N(jJ,function(t,n,e){var i=a(I5,t,n);return a(P0(wV0),i,e)});var A5=[0,iP,RJ,I5,jJ],fP=function t(n,e,i){return t.fun(n,e,i)},GJ=function t(n,e){return t.fun(n,e)};N(fP,function(t,n,e){u(f(n),ZY0),a(f(n),rV0,QY0);var i=e[1];u(f(n),eV0);var x=0;be(function(h,w){h&&u(f(n),$Y0);function G(S){return u(t,S)}function A(S){function M(K){return u(t,K)}return a(XN[1],M,S)}return R(A5[1],A,G,n,w),1},x,i),u(f(n),nV0),u(f(n),tV0),u(f(n),uV0),a(f(n),fV0,iV0);var c=e[2];a(f(n),xV0,c),u(f(n),aV0),u(f(n),oV0),a(f(n),sV0,cV0);var s=e[3];a(f(n),vV0,s),u(f(n),lV0),u(f(n),bV0),a(f(n),mV0,pV0);var p=e[4];if(p){g(n,_V0);var y=p[1],T=function(h,w){u(f(h),WY0);var G=0;return be(function(A,S){A&&u(f(h),KY0);function M(K){return u(t,K)}return ir(uu[1],M,h,S),1},G,w),u(f(h),JY0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,yV0)}else g(n,dV0);return u(f(n),hV0),u(f(n),kV0)}),N(GJ,function(t,n){var e=u(fP,t);return a(P0(zY0),e,n)});var MJ=[0,fP,GJ],xP=function t(n,e,i){return t.fun(n,e,i)},BJ=function t(n,e){return t.fun(n,e)};N(xP,function(t,n,e){u(f(n),EY0),a(f(n),gY0,SY0);var i=e[1];u(f(n),FY0);var x=0;be(function(h,w){h&&u(f(n),wY0);function G(S){return u(t,S)}function A(S){function M(K){return u(t,K)}return a(HN[1],M,S)}return R(A5[1],A,G,n,w),1},x,i),u(f(n),TY0),u(f(n),OY0),u(f(n),IY0),a(f(n),NY0,AY0);var c=e[2];a(f(n),CY0,c),u(f(n),PY0),u(f(n),DY0),a(f(n),RY0,LY0);var s=e[3];a(f(n),jY0,s),u(f(n),GY0),u(f(n),MY0),a(f(n),qY0,BY0);var p=e[4];if(p){g(n,UY0);var y=p[1],T=function(h,w){u(f(h),hY0);var G=0;return be(function(A,S){A&&u(f(h),dY0);function M(K){return u(t,K)}return ir(uu[1],M,h,S),1},G,w),u(f(h),kY0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,HY0)}else g(n,XY0);return u(f(n),YY0),u(f(n),VY0)}),N(BJ,function(t,n){var e=u(xP,t);return a(P0(yY0),e,n)});var qJ=[0,xP,BJ],aP=function t(n,e,i){return t.fun(n,e,i)},UJ=function t(n,e){return t.fun(n,e)},N5=function t(n,e,i,x){return t.fun(n,e,i,x)},HJ=function t(n,e,i){return t.fun(n,e,i)};N(aP,function(t,n,e){u(f(n),JX0),a(f(n),ZX0,$X0);var i=e[1];function x(h){return u(t,h)}R(N5,function(h){function w(G){return u(t,G)}return a(F1[1],w,h)},x,n,i),u(f(n),QX0),u(f(n),rY0),a(f(n),nY0,eY0);var c=e[2];a(f(n),tY0,c),u(f(n),uY0),u(f(n),iY0),a(f(n),xY0,fY0);var s=e[3];a(f(n),aY0,s),u(f(n),oY0),u(f(n),cY0),a(f(n),vY0,sY0);var p=e[4];if(p){g(n,lY0);var y=p[1],T=function(h,w){u(f(h),KX0);var G=0;return be(function(A,S){A&&u(f(h),zX0);function M(K){return u(t,K)}return ir(uu[1],M,h,S),1},G,w),u(f(h),WX0)},E=function(h){return u(t,h)};R(Dr[1],E,T,n,y),g(n,bY0)}else g(n,pY0);return u(f(n),mY0),u(f(n),_Y0)}),N(UJ,function(t,n){var e=u(aP,t);return a(P0(VX0),e,n)}),N(N5,function(t,n,e,i){if(i[0]===0){u(f(e),GX0),u(f(e),MX0);var x=i[1],c=0;return be(function(y,T){y&&u(f(e),jX0);function E(h){return u(n,h)}return ir(uP[1],E,e,T),1},c,x),u(f(e),BX0),u(f(e),qX0)}u(f(e),UX0),u(f(e),HX0);var s=i[1],p=0;return be(function(y,T){y&&u(f(e),RX0);function E(w){return u(n,w)}function h(w){return u(t,w)}return R(A5[1],h,E,e,T),1},p,s),u(f(e),XX0),u(f(e),YX0)}),N(HJ,function(t,n,e){var i=a(N5,t,n);return a(P0(LX0),i,e)});var XJ=[0,aP,UJ,N5,HJ],oP=function t(n,e,i){return t.fun(n,e,i)},YJ=function t(n,e){return t.fun(n,e)};N(oP,function(t,n,e){u(f(n),mX0),a(f(n),yX0,_X0);var i=e[1];u(f(n),dX0);var x=0;be(function(E,h){E&&u(f(n),pX0);function w(G){return u(t,G)}return ir(uP[1],w,n,h),1},x,i),u(f(n),hX0),u(f(n),kX0),u(f(n),wX0),a(f(n),SX0,EX0);var c=e[2];a(f(n),gX0,c),u(f(n),FX0),u(f(n),TX0),a(f(n),IX0,OX0);var s=e[3];if(s){g(n,AX0);var p=s[1],y=function(E,h){u(f(E),lX0);var w=0;return be(function(G,A){G&&u(f(E),vX0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),bX0)},T=function(E){return u(t,E)};R(Dr[1],T,y,n,p),g(n,NX0)}else g(n,CX0);return u(f(n),PX0),u(f(n),DX0)}),N(YJ,function(t,n){var e=u(oP,t);return a(P0(sX0),e,n)});var VJ=[0,oP,YJ],cP=function t(n,e,i,x){return t.fun(n,e,i,x)},zJ=function t(n,e,i){return t.fun(n,e,i)},C5=function t(n,e,i){return t.fun(n,e,i)},KJ=function t(n,e){return t.fun(n,e)},P5=function t(n,e,i){return t.fun(n,e,i)},WJ=function t(n,e){return t.fun(n,e)};N(cP,function(t,n,e,i){u(f(e),WH0),a(f(e),$H0,JH0);var x=i[1];function c(w){return u(n,w)}function s(w){return u(t,w)}R(Ln[1],s,c,e,x),u(f(e),ZH0),u(f(e),QH0),a(f(e),eX0,rX0);var p=i[2];ir(C5,function(w){return u(t,w)},e,p),u(f(e),nX0),u(f(e),tX0),a(f(e),iX0,uX0);var y=i[3];if(y){g(e,fX0);var T=y[1],E=function(w,G){return g(w,KH0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,xX0)}else g(e,aX0);return u(f(e),oX0),u(f(e),cX0)}),N(zJ,function(t,n,e){var i=a(cP,t,n);return a(P0(zH0),i,e)}),N(C5,function(t,n,e){u(f(n),XH0),a(t,n,e[1]),u(f(n),YH0);var i=e[2];return ir(P5,function(x){return u(t,x)},n,i),u(f(n),VH0)}),N(KJ,function(t,n){var e=u(C5,t);return a(P0(HH0),e,n)}),N(P5,function(t,n,e){switch(e[0]){case 0:u(f(n),LH0);var i=e[1],x=function(h){return u(t,h)};return ir(MJ[1],x,n,i),u(f(n),RH0);case 1:u(f(n),jH0);var c=e[1],s=function(h){return u(t,h)};return ir(qJ[1],s,n,c),u(f(n),GH0);case 2:u(f(n),MH0);var p=e[1],y=function(h){return u(t,h)};return ir(XJ[1],y,n,p),u(f(n),BH0);default:u(f(n),qH0);var T=e[1],E=function(h){return u(t,h)};return ir(VJ[1],E,n,T),u(f(n),UH0)}}),N(WJ,function(t,n){var e=u(P5,t);return a(P0(DH0),e,n)});var JJ=[0,uP,A5,MJ,qJ,XJ,VJ,cP,zJ,C5,KJ,P5,WJ],sP=function t(n,e,i,x){return t.fun(n,e,i,x)},$J=function t(n,e,i){return t.fun(n,e,i)};N(sP,function(t,n,e,i){u(f(e),nH0),a(f(e),uH0,tH0);var x=i[1];function c(k0){return u(n,k0)}function s(k0){return u(t,k0)}R(Ln[1],s,c,e,x),u(f(e),iH0),u(f(e),fH0),a(f(e),aH0,xH0);var p=i[2];if(p){g(e,oH0);var y=p[1],T=function(k0){return u(n,k0)},E=function(k0){return u(t,k0)};R(Je[22][1],E,T,e,y),g(e,cH0)}else g(e,sH0);u(f(e),vH0),u(f(e),lH0),a(f(e),pH0,bH0);var h=i[3];u(f(e),mH0);var w=0;be(function(k0,g0){k0&&u(f(e),ZU0),u(f(e),QU0),a(t,e,g0[1]),u(f(e),rH0);var e0=g0[2];function x0(c0){return u(n,c0)}function l(c0){return u(t,c0)}return R(Je[2][2],l,x0,e,e0),u(f(e),eH0),1},w,h),u(f(e),_H0),u(f(e),yH0),u(f(e),dH0),a(f(e),kH0,hH0);var G=i[4];u(f(e),wH0),a(t,e,G[1]),u(f(e),EH0);var A=G[2];function S(k0){return u(n,k0)}function M(k0){return u(t,k0)}R(Je[5][6],M,S,e,A),u(f(e),SH0),u(f(e),gH0),u(f(e),FH0),a(f(e),OH0,TH0);var K=i[5];if(K){g(e,IH0);var V=K[1],f0=function(k0,g0){return g(k0,$U0)},m0=function(k0){return u(t,k0)};R(Dr[1],m0,f0,e,V),g(e,AH0)}else g(e,NH0);return u(f(e),CH0),u(f(e),PH0)}),N($J,function(t,n,e){var i=a(sP,t,n);return a(P0(JU0),i,e)});var D5=[0,sP,$J],vP=function t(n,e,i,x){return t.fun(n,e,i,x)},ZJ=function t(n,e,i){return t.fun(n,e,i)};N(vP,function(t,n,e,i){u(f(e),eU0),a(f(e),tU0,nU0);var x=i[1];function c(_0){return u(n,_0)}function s(_0){return u(t,_0)}R(Ln[1],s,c,e,x),u(f(e),uU0),u(f(e),iU0),a(f(e),xU0,fU0);var p=i[2];if(p){g(e,aU0);var y=p[1],T=function(_0){return u(n,_0)},E=function(_0){return u(t,_0)};R(Je[22][1],E,T,e,y),g(e,oU0)}else g(e,cU0);u(f(e),sU0),u(f(e),vU0),a(f(e),bU0,lU0);var h=i[3];u(f(e),pU0),a(t,e,h[1]),u(f(e),mU0);var w=h[2];function G(_0){return u(n,_0)}function A(_0){return u(t,_0)}R(Je[5][6],A,G,e,w),u(f(e),_U0),u(f(e),yU0),u(f(e),dU0),a(f(e),kU0,hU0);var S=i[4];if(S){var M=S[1];g(e,wU0),u(f(e),EU0),a(t,e,M[1]),u(f(e),SU0);var K=M[2],V=function(_0){return u(n,_0)},f0=function(_0){return u(t,_0)};R(Je[2][2],f0,V,e,K),u(f(e),gU0),g(e,FU0)}else g(e,TU0);u(f(e),OU0),u(f(e),IU0),a(f(e),NU0,AU0);var m0=i[5];u(f(e),CU0);var k0=0;be(function(_0,E0){_0&&u(f(e),$q0),u(f(e),Zq0),a(t,e,E0[1]),u(f(e),Qq0);var X0=E0[2];function b(X){return u(n,X)}function G0(X){return u(t,X)}return R(Je[2][2],G0,b,e,X0),u(f(e),rU0),1},k0,m0),u(f(e),PU0),u(f(e),DU0),u(f(e),LU0),a(f(e),jU0,RU0);var g0=i[6];if(g0){g(e,GU0);var e0=g0[1],x0=function(_0){return u(n,_0)},l=function(_0){return u(t,_0)};R(T1[5][2],l,x0,e,e0),g(e,MU0)}else g(e,BU0);u(f(e),qU0),u(f(e),UU0),a(f(e),XU0,HU0);var c0=i[7];if(c0){g(e,YU0);var t0=c0[1],a0=function(_0,E0){return g(_0,Jq0)},w0=function(_0){return u(t,_0)};R(Dr[1],w0,a0,e,t0),g(e,VU0)}else g(e,zU0);return u(f(e),KU0),u(f(e),WU0)}),N(ZJ,function(t,n,e){var i=a(vP,t,n);return a(P0(Wq0),i,e)});var lP=[0,vP,ZJ],bP=function t(n,e,i,x){return t.fun(n,e,i,x)},QJ=function t(n,e,i){return t.fun(n,e,i)};N(bP,function(t,n,e,i){u(f(e),Pq0),a(f(e),Lq0,Dq0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(Ln[1],s,c,e,x),u(f(e),Rq0),u(f(e),jq0),a(f(e),Mq0,Gq0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[17],T,y,e,p),u(f(e),Bq0),u(f(e),qq0),a(f(e),Hq0,Uq0);var E=i[3];if(E){g(e,Xq0);var h=E[1],w=function(A,S){return g(A,Cq0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Yq0)}else g(e,Vq0);return u(f(e),zq0),u(f(e),Kq0)}),N(QJ,function(t,n,e){var i=a(bP,t,n);return a(P0(Nq0),i,e)});var pP=[0,bP,QJ],mP=function t(n,e,i,x){return t.fun(n,e,i,x)},r$=function t(n,e,i){return t.fun(n,e,i)};N(mP,function(t,n,e,i){u(f(e),aq0),a(f(e),cq0,oq0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(Ln[1],s,c,e,x),u(f(e),sq0),u(f(e),vq0),a(f(e),bq0,lq0);var p=i[2];function y(V){return u(n,V)}function T(V){return u(t,V)}R(Je[17],T,y,e,p),u(f(e),pq0),u(f(e),mq0),a(f(e),yq0,_q0);var E=i[3];if(E){g(e,dq0);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(Je[24][1],G,w,e,h),g(e,hq0)}else g(e,kq0);u(f(e),wq0),u(f(e),Eq0),a(f(e),gq0,Sq0);var A=i[4];if(A){g(e,Fq0);var S=A[1],M=function(V,f0){return g(V,xq0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,Tq0)}else g(e,Oq0);return u(f(e),Iq0),u(f(e),Aq0)}),N(r$,function(t,n,e){var i=a(mP,t,n);return a(P0(fq0),i,e)});var _P=[0,mP,r$],L5=function t(n,e,i,x){return t.fun(n,e,i,x)},e$=function t(n,e,i){return t.fun(n,e,i)},R5=function t(n,e){return t.fun(n,e)},n$=function t(n){return t.fun(n)},yP=function t(n,e,i,x){return t.fun(n,e,i,x)},t$=function t(n,e,i){return t.fun(n,e,i)};N(L5,function(t,n,e,i){if(i[0]===0){u(f(e),QB0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Ln[1],s,c,e,x),u(f(e),rq0)}var p=i[1];u(f(e),eq0),u(f(e),nq0),a(n,e,p[1]),u(f(e),tq0);var y=p[2];function T(E){return u(t,E)}return ir(F1[1],T,e,y),u(f(e),uq0),u(f(e),iq0)}),N(e$,function(t,n,e){var i=a(L5,t,n);return a(P0(ZB0),i,e)}),N(R5,function(t,n){return n?g(t,JB0):g(t,$B0)}),N(n$,function(t){return a(P0(WB0),R5,t)}),N(yP,function(t,n,e,i){u(f(e),FB0),a(f(e),OB0,TB0);var x=i[1];function c(A){return u(n,A)}R(L5,function(A){return u(t,A)},c,e,x),u(f(e),IB0),u(f(e),AB0),a(f(e),CB0,NB0);var s=i[2];u(f(e),PB0),a(t,e,s[1]),u(f(e),DB0);var p=s[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Kv[1],T,y,e,p),u(f(e),LB0),u(f(e),RB0),u(f(e),jB0),a(f(e),MB0,GB0),a(R5,e,i[3]),u(f(e),BB0),u(f(e),qB0),a(f(e),HB0,UB0);var E=i[4];if(E){g(e,XB0);var h=E[1],w=function(A,S){return g(A,gB0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,YB0)}else g(e,VB0);return u(f(e),zB0),u(f(e),KB0)}),N(t$,function(t,n,e){var i=a(yP,t,n);return a(P0(SB0),i,e)});var u$=[0,L5,e$,R5,n$,yP,t$],dP=function t(n,e,i,x){return t.fun(n,e,i,x)},i$=function t(n,e,i){return t.fun(n,e,i)};N(dP,function(t,n,e,i){u(f(e),vB0),a(f(e),bB0,lB0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),pB0),u(f(e),mB0),a(f(e),yB0,_B0);var p=i[2];if(p){g(e,dB0);var y=p[1],T=function(h,w){return g(h,sB0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,hB0)}else g(e,kB0);return u(f(e),wB0),u(f(e),EB0)}),N(i$,function(t,n,e){var i=a(dP,t,n);return a(P0(cB0),i,e)});var f$=[0,dP,i$],hP=function t(n,e,i){return t.fun(n,e,i)},x$=function t(n,e){return t.fun(n,e)},j5=function t(n,e,i){return t.fun(n,e,i)},a$=function t(n,e){return t.fun(n,e)};N(hP,function(t,n,e){u(f(n),xB0),a(t,n,e[1]),u(f(n),aB0);var i=e[2];return ir(j5,function(x){return u(t,x)},n,i),u(f(n),oB0)}),N(x$,function(t,n){var e=u(hP,t);return a(P0(fB0),e,n)}),N(j5,function(t,n,e){u(f(n),KM0),a(f(n),JM0,WM0);var i=e[1];function x(E){return u(t,E)}function c(E){return u(t,E)}R(Ln[1],c,x,n,i),u(f(n),$M0),u(f(n),ZM0),a(f(n),rB0,QM0);var s=e[2];if(s){g(n,eB0);var p=s[1],y=function(E){return u(t,E)},T=function(E){return u(t,E)};R(Ln[1],T,y,n,p),g(n,nB0)}else g(n,tB0);return u(f(n),uB0),u(f(n),iB0)}),N(a$,function(t,n){var e=u(j5,t);return a(P0(zM0),e,n)});var o$=[0,hP,x$,j5,a$],kP=function t(n,e,i){return t.fun(n,e,i)},c$=function t(n,e){return t.fun(n,e)};N(kP,function(t,n,e){var i=e[2];if(u(f(n),qM0),a(t,n,e[1]),u(f(n),UM0),i){g(n,HM0);var x=i[1],c=function(p){return u(t,p)},s=function(p){return u(t,p)};R(Ln[1],s,c,n,x),g(n,XM0)}else g(n,YM0);return u(f(n),VM0)}),N(c$,function(t,n){var e=u(kP,t);return a(P0(BM0),e,n)});var s$=[0,kP,c$],wP=function t(n,e,i,x){return t.fun(n,e,i,x)},v$=function t(n,e,i){return t.fun(n,e,i)},G5=function t(n,e,i){return t.fun(n,e,i)},l$=function t(n,e){return t.fun(n,e)};N(wP,function(t,n,e,i){u(f(e),uM0),a(f(e),fM0,iM0);var x=i[1];if(x){g(e,xM0);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(Xu[35],p,s,e,c),g(e,aM0)}else g(e,oM0);u(f(e),cM0),u(f(e),sM0),a(f(e),lM0,vM0);var y=i[2];if(y){g(e,bM0);var T=y[1];ir(G5,function(V){return u(t,V)},e,T),g(e,pM0)}else g(e,mM0);u(f(e),_M0),u(f(e),yM0),a(f(e),hM0,dM0);var E=i[3];if(E){var h=E[1];g(e,kM0),u(f(e),wM0),a(t,e,h[1]),u(f(e),EM0);var w=h[2],G=function(V){return u(t,V)};ir(F1[1],G,e,w),u(f(e),SM0),g(e,gM0)}else g(e,FM0);u(f(e),TM0),u(f(e),OM0),a(f(e),AM0,IM0),a(Xu[33],e,i[4]),u(f(e),NM0),u(f(e),CM0),a(f(e),DM0,PM0);var A=i[5];if(A){g(e,LM0);var S=A[1],M=function(V,f0){return g(V,tM0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,RM0)}else g(e,jM0);return u(f(e),GM0),u(f(e),MM0)}),N(v$,function(t,n,e){var i=a(wP,t,n);return a(P0(nM0),i,e)}),N(G5,function(t,n,e){if(e[0]===0){u(f(n),JG0),u(f(n),$G0);var i=e[1],x=0;return be(function(p,y){p&&u(f(n),WG0);function T(E){return u(t,E)}return ir(o$[1],T,n,y),1},x,i),u(f(n),ZG0),u(f(n),QG0)}u(f(n),rM0);var c=e[1];function s(p){return u(t,p)}return ir(s$[1],s,n,c),u(f(n),eM0)}),N(l$,function(t,n){var e=u(G5,t);return a(P0(KG0),e,n)});var EP=[0,o$,s$,wP,v$,G5,l$],SP=function t(n,e,i,x){return t.fun(n,e,i,x)},b$=function t(n,e,i){return t.fun(n,e,i)},M5=function t(n,e,i,x){return t.fun(n,e,i,x)},p$=function t(n,e,i){return t.fun(n,e,i)};N(SP,function(t,n,e,i){u(f(e),CG0),a(f(e),DG0,PG0),a(t,e,i[1]),u(f(e),LG0),u(f(e),RG0),a(f(e),GG0,jG0);var x=i[2];function c(E){return u(n,E)}R(M5,function(E){return u(t,E)},c,e,x),u(f(e),MG0),u(f(e),BG0),a(f(e),UG0,qG0);var s=i[3];if(s){g(e,HG0);var p=s[1],y=function(E,h){return g(E,NG0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,XG0)}else g(e,YG0);return u(f(e),VG0),u(f(e),zG0)}),N(b$,function(t,n,e){var i=a(SP,t,n);return a(P0(AG0),i,e)}),N(M5,function(t,n,e,i){if(i[0]===0){u(f(e),FG0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Xu[35],s,c,e,x),u(f(e),TG0)}u(f(e),OG0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(qe[31],T,y,e,p),u(f(e),IG0)}),N(p$,function(t,n,e){var i=a(M5,t,n);return a(P0(gG0),i,e)});var m$=[0,SP,b$,M5,p$],B5=function t(n,e,i,x){return t.fun(n,e,i,x)},_$=function t(n,e,i){return t.fun(n,e,i)},gP=function t(n,e,i,x){return t.fun(n,e,i,x)},y$=function t(n,e,i){return t.fun(n,e,i)};N(B5,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),zj0),u(f(e),Kj0),a(t,e,x[1]),u(f(e),Wj0);var c=x[2],s=function(E0){return u(n,E0)},p=function(E0){return u(t,E0)};return R(pP[1],p,s,e,c),u(f(e),Jj0),u(f(e),$j0);case 1:var y=i[1];u(f(e),Zj0),u(f(e),Qj0),a(t,e,y[1]),u(f(e),rG0);var T=y[2],E=function(E0){return u(n,E0)},h=function(E0){return u(t,E0)};return R(_P[1],h,E,e,T),u(f(e),eG0),u(f(e),nG0);case 2:var w=i[1];u(f(e),tG0),u(f(e),uG0),a(t,e,w[1]),u(f(e),iG0);var G=w[2],A=function(E0){return u(n,E0)},S=function(E0){return u(t,E0)};return R(lP[1],S,A,e,G),u(f(e),fG0),u(f(e),xG0);case 3:u(f(e),aG0);var M=i[1],K=function(E0){return u(n,E0)},V=function(E0){return u(t,E0)};return R(Je[13],V,K,e,M),u(f(e),oG0);case 4:var f0=i[1];u(f(e),cG0),u(f(e),sG0),a(t,e,f0[1]),u(f(e),vG0);var m0=f0[2],k0=function(E0){return u(n,E0)},g0=function(E0){return u(t,E0)};return R(d5[1],g0,k0,e,m0),u(f(e),lG0),u(f(e),bG0);case 5:var e0=i[1];u(f(e),pG0),u(f(e),mG0),a(t,e,e0[1]),u(f(e),_G0);var x0=e0[2],l=function(E0){return u(n,E0)},c0=function(E0){return u(t,E0)};return R(h5[1],c0,l,e,x0),u(f(e),yG0),u(f(e),dG0);default:var t0=i[1];u(f(e),hG0),u(f(e),kG0),a(t,e,t0[1]),u(f(e),wG0);var a0=t0[2],w0=function(E0){return u(n,E0)},_0=function(E0){return u(t,E0)};return R(D5[1],_0,w0,e,a0),u(f(e),EG0),u(f(e),SG0)}}),N(_$,function(t,n,e){var i=a(B5,t,n);return a(P0(Vj0),i,e)}),N(gP,function(t,n,e,i){u(f(e),xj0),a(f(e),oj0,aj0);var x=i[1];x?(g(e,cj0),a(t,e,x[1]),g(e,sj0)):g(e,vj0),u(f(e),lj0),u(f(e),bj0),a(f(e),mj0,pj0);var c=i[2];if(c){g(e,_j0);var s=c[1],p=function(f0){return u(n,f0)};R(B5,function(f0){return u(t,f0)},p,e,s),g(e,yj0)}else g(e,dj0);u(f(e),hj0),u(f(e),kj0),a(f(e),Ej0,wj0);var y=i[3];if(y){g(e,Sj0);var T=y[1],E=function(f0){return u(t,f0)};ir(EP[5],E,e,T),g(e,gj0)}else g(e,Fj0);u(f(e),Tj0),u(f(e),Oj0),a(f(e),Aj0,Ij0);var h=i[4];if(h){var w=h[1];g(e,Nj0),u(f(e),Cj0),a(t,e,w[1]),u(f(e),Pj0);var G=w[2],A=function(f0){return u(t,f0)};ir(F1[1],A,e,G),u(f(e),Dj0),g(e,Lj0)}else g(e,Rj0);u(f(e),jj0),u(f(e),Gj0),a(f(e),Bj0,Mj0);var S=i[5];if(S){g(e,qj0);var M=S[1],K=function(f0,m0){return g(f0,fj0)},V=function(f0){return u(t,f0)};R(Dr[1],V,K,e,M),g(e,Uj0)}else g(e,Hj0);return u(f(e),Xj0),u(f(e),Yj0)}),N(y$,function(t,n,e){var i=a(gP,t,n);return a(P0(ij0),i,e)});var d$=[0,B5,_$,gP,y$],Al=function t(n,e){return t.fun(n,e)},h$=function t(n){return t.fun(n)},q5=function t(n,e,i,x){return t.fun(n,e,i,x)},k$=function t(n,e,i){return t.fun(n,e,i)},U5=function t(n,e,i,x){return t.fun(n,e,i,x)},w$=function t(n,e,i){return t.fun(n,e,i)},FP=function t(n,e,i,x){return t.fun(n,e,i,x)},E$=function t(n,e,i){return t.fun(n,e,i)};N(Al,function(t,n){switch(n){case 0:return g(t,nj0);case 1:return g(t,tj0);default:return g(t,uj0)}}),N(h$,function(t){return a(P0(ej0),Al,t)}),N(q5,function(t,n,e,i){if(i[0]===0){u(f(e),VR0),u(f(e),zR0);var x=i[1],c=0;return be(function(E,h){E&&u(f(e),YR0);function w(G){return u(n,G)}return R(U5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),KR0),u(f(e),WR0)}var s=i[1];u(f(e),JR0),u(f(e),$R0),a(t,e,s[1]),u(f(e),ZR0);var p=s[2];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(Ln[1],T,y,e,p),u(f(e),QR0),u(f(e),rj0)}),N(k$,function(t,n,e){var i=a(q5,t,n);return a(P0(XR0),i,e)}),N(U5,function(t,n,e,i){u(f(e),gR0),a(f(e),TR0,FR0);var x=i[1];x?(g(e,OR0),a(Al,e,x[1]),g(e,IR0)):g(e,AR0),u(f(e),NR0),u(f(e),CR0),a(f(e),DR0,PR0);var c=i[2];if(c){g(e,LR0);var s=c[1],p=function(w){return u(n,w)},y=function(w){return u(t,w)};R(Ln[1],y,p,e,s),g(e,RR0)}else g(e,jR0);u(f(e),GR0),u(f(e),MR0),a(f(e),qR0,BR0);var T=i[3];function E(w){return u(n,w)}function h(w){return u(t,w)}return R(Ln[1],h,E,e,T),u(f(e),UR0),u(f(e),HR0)}),N(w$,function(t,n,e){var i=a(U5,t,n);return a(P0(SR0),i,e)}),N(FP,function(t,n,e,i){u(f(e),YL0),a(f(e),zL0,VL0),a(Al,e,i[1]),u(f(e),KL0),u(f(e),WL0),a(f(e),$L0,JL0);var x=i[2];u(f(e),ZL0),a(t,e,x[1]),u(f(e),QL0);var c=x[2];function s(V){return u(t,V)}ir(F1[1],s,e,c),u(f(e),rR0),u(f(e),eR0),u(f(e),nR0),a(f(e),uR0,tR0);var p=i[3];if(p){g(e,iR0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(Ln[1],E,T,e,y),g(e,fR0)}else g(e,xR0);u(f(e),aR0),u(f(e),oR0),a(f(e),sR0,cR0);var h=i[4];if(h){g(e,vR0);var w=h[1],G=function(V){return u(n,V)};R(q5,function(V){return u(t,V)},G,e,w),g(e,lR0)}else g(e,bR0);u(f(e),pR0),u(f(e),mR0),a(f(e),yR0,_R0);var A=i[5];if(A){g(e,dR0);var S=A[1],M=function(V,f0){return g(V,XL0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,hR0)}else g(e,kR0);return u(f(e),wR0),u(f(e),ER0)}),N(E$,function(t,n,e){var i=a(FP,t,n);return a(P0(HL0),i,e)});var S$=[0,Al,h$,q5,k$,U5,w$,FP,E$],TP=function t(n,e,i,x){return t.fun(n,e,i,x)},g$=function t(n,e,i){return t.fun(n,e,i)};N(TP,function(t,n,e,i){u(f(e),EL0),a(f(e),gL0,SL0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),FL0),u(f(e),TL0),a(f(e),IL0,OL0);var p=i[2];if(p){g(e,AL0);var y=p[1];a(f(e),NL0,y),g(e,CL0)}else g(e,PL0);u(f(e),DL0),u(f(e),LL0),a(f(e),jL0,RL0);var T=i[3];if(T){g(e,GL0);var E=T[1],h=function(G,A){return g(G,wL0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,ML0)}else g(e,BL0);return u(f(e),qL0),u(f(e),UL0)}),N(g$,function(t,n,e){var i=a(TP,t,n);return a(P0(kL0),i,e)});var F$=[0,TP,g$],OP=function t(n,e,i){return t.fun(n,e,i)},T$=function t(n,e){return t.fun(n,e)};N(OP,function(t,n,e){u(f(n),lL0),a(f(n),pL0,bL0);var i=e[1];if(i){g(n,mL0);var x=i[1],c=function(p,y){return g(p,vL0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,_L0)}else g(n,yL0);return u(f(n),dL0),u(f(n),hL0)}),N(T$,function(t,n){var e=u(OP,t);return a(P0(sL0),e,n)});var O$=[0,OP,T$],IP=function t(n,e){return t.fun(n,e)},I$=function t(n){return t.fun(n)},AP=function t(n,e,i,x){return t.fun(n,e,i,x)},A$=function t(n,e,i){return t.fun(n,e,i)},H5=function t(n,e,i,x){return t.fun(n,e,i,x)},N$=function t(n,e,i){return t.fun(n,e,i)};N(IP,function(t,n){return n?g(t,oL0):g(t,cL0)}),N(I$,function(t){return a(P0(aL0),IP,t)}),N(AP,function(t,n,e,i){u(f(e),iL0),a(t,e,i[1]),u(f(e),fL0);var x=i[2];function c(s){return u(n,s)}return R(H5,function(s){return u(t,s)},c,e,x),u(f(e),xL0)}),N(A$,function(t,n,e){var i=a(AP,t,n);return a(P0(uL0),i,e)}),N(H5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),GP0);var x=i[1],c=function(d0){return u(n,d0)},s=function(d0){return u(t,d0)};return R(Kv[1],s,c,e,x),u(f(e),MP0);case 1:u(f(e),BP0);var p=i[1],y=function(d0){return u(t,d0)};return ir(zW[1],y,e,p),u(f(e),qP0);case 2:u(f(e),UP0);var T=i[1],E=function(d0){return u(n,d0)},h=function(d0){return u(t,d0)};return R(T1[8],h,E,e,T),u(f(e),HP0);case 3:u(f(e),XP0);var w=i[1],G=function(d0){return u(t,d0)};return ir(WW[1],G,e,w),u(f(e),YP0);case 4:u(f(e),VP0);var A=i[1],S=function(d0){return u(t,d0)};return ir($W[1],S,e,A),u(f(e),zP0);case 5:u(f(e),KP0);var M=i[1],K=function(d0){return u(n,d0)},V=function(d0){return u(t,d0)};return R(lP[1],V,K,e,M),u(f(e),WP0);case 6:u(f(e),JP0);var f0=i[1],m0=function(d0){return u(n,d0)},k0=function(d0){return u(t,d0)};return R(d$[3],k0,m0,e,f0),u(f(e),$P0);case 7:u(f(e),ZP0);var g0=i[1],e0=function(d0){return u(n,d0)},x0=function(d0){return u(t,d0)};return R(_P[1],x0,e0,e,g0),u(f(e),QP0);case 8:u(f(e),rD0);var l=i[1],c0=function(d0){return u(n,d0)},t0=function(d0){return u(t,d0)};return R(D5[1],t0,c0,e,l),u(f(e),eD0);case 9:u(f(e),nD0);var a0=i[1],w0=function(d0){return u(n,d0)},_0=function(d0){return u(t,d0)};return R(u$[5],_0,w0,e,a0),u(f(e),tD0);case 10:u(f(e),uD0);var E0=i[1],X0=function(d0){return u(n,d0)},b=function(d0){return u(t,d0)};return R(f$[1],b,X0,e,E0),u(f(e),iD0);case 11:u(f(e),fD0);var G0=i[1],X=function(d0){return u(n,d0)},s0=function(d0){return u(t,d0)};return R(d5[1],s0,X,e,G0),u(f(e),xD0);case 12:u(f(e),aD0);var dr=i[1],Ar=function(d0){return u(n,d0)},ar=function(d0){return u(t,d0)};return R(h5[1],ar,Ar,e,dr),u(f(e),oD0);case 13:u(f(e),cD0);var W0=i[1],Lr=function(d0){return u(n,d0)},Tr=function(d0){return u(t,d0)};return R(pP[1],Tr,Lr,e,W0),u(f(e),sD0);case 14:u(f(e),vD0);var Hr=i[1],Or=function(d0){return u(n,d0)},xr=function(d0){return u(t,d0)};return R(SJ[1],xr,Or,e,Hr),u(f(e),lD0);case 15:u(f(e),bD0);var Rr=i[1],Wr=function(d0){return u(t,d0)};return ir(O$[1],Wr,e,Rr),u(f(e),pD0);case 16:u(f(e),mD0);var Jr=i[1],or=function(d0){return u(n,d0)},_r=function(d0){return u(t,d0)};return R(JJ[7],_r,or,e,Jr),u(f(e),_D0);case 17:u(f(e),yD0);var Ir=i[1],fe=function(d0){return u(n,d0)},v0=function(d0){return u(t,d0)};return R(m$[1],v0,fe,e,Ir),u(f(e),dD0);case 18:u(f(e),hD0);var P=i[1],L=function(d0){return u(n,d0)},Q=function(d0){return u(t,d0)};return R(EP[3],Q,L,e,P),u(f(e),kD0);case 19:u(f(e),wD0);var i0=i[1],l0=function(d0){return u(n,d0)},S0=function(d0){return u(t,d0)};return R(F$[1],S0,l0,e,i0),u(f(e),ED0);case 20:u(f(e),SD0);var T0=i[1],rr=function(d0){return u(n,d0)},R0=function(d0){return u(t,d0)};return R(TJ[1],R0,rr,e,T0),u(f(e),gD0);case 21:u(f(e),FD0);var B=i[1],Z=function(d0){return u(n,d0)},p0=function(d0){return u(t,d0)};return R(AJ[1],p0,Z,e,B),u(f(e),TD0);case 22:u(f(e),OD0);var b0=i[1],O0=function(d0){return u(n,d0)},q0=function(d0){return u(t,d0)};return R(PJ[1],q0,O0,e,b0),u(f(e),ID0);case 23:u(f(e),AD0);var er=i[1],yr=function(d0){return u(n,d0)},vr=function(d0){return u(t,d0)};return R(Ps[5],vr,yr,e,er),u(f(e),ND0);case 24:u(f(e),CD0);var $0=i[1],Sr=function(d0){return u(n,d0)},Mr=function(d0){return u(t,d0)};return R(HW[2],Mr,Sr,e,$0),u(f(e),PD0);case 25:u(f(e),DD0);var Br=i[1],qr=function(d0){return u(n,d0)},jr=function(d0){return u(t,d0)};return R(S$[7],jr,qr,e,Br),u(f(e),LD0);case 26:u(f(e),RD0);var $r=i[1],ne=function(d0){return u(n,d0)},Qr=function(d0){return u(t,d0)};return R(D5[1],Qr,ne,e,$r),u(f(e),jD0);case 27:u(f(e),GD0);var pe=i[1],oe=function(d0){return u(n,d0)},me=function(d0){return u(t,d0)};return R(YW[1],me,oe,e,pe),u(f(e),MD0);case 28:u(f(e),BD0);var ae=i[1],ce=function(d0){return u(n,d0)},ge=function(d0){return u(t,d0)};return R(aJ[1],ge,ce,e,ae),u(f(e),qD0);case 29:u(f(e),UD0);var H0=i[1],Fr=function(d0){return u(n,d0)},_=function(d0){return u(t,d0)};return R(fJ[2],_,Fr,e,H0),u(f(e),HD0);case 30:u(f(e),XD0);var k=i[1],I=function(d0){return u(n,d0)},U=function(d0){return u(t,d0)};return R(cJ[1],U,I,e,k),u(f(e),YD0);case 31:u(f(e),VD0);var Y=i[1],y0=function(d0){return u(n,d0)},D0=function(d0){return u(t,d0)};return R(pJ[2],D0,y0,e,Y),u(f(e),zD0);case 32:u(f(e),KD0);var I0=i[1],D=function(d0){return u(n,d0)},u0=function(d0){return u(t,d0)};return R(d5[1],u0,D,e,I0),u(f(e),WD0);case 33:u(f(e),JD0);var Y0=i[1],J0=function(d0){return u(n,d0)},fr=function(d0){return u(t,d0)};return R(h5[1],fr,J0,e,Y0),u(f(e),$D0);case 34:u(f(e),ZD0);var Q0=i[1],F0=function(d0){return u(n,d0)},gr=function(d0){return u(t,d0)};return R(Il[2],gr,F0,e,Q0),u(f(e),QD0);case 35:u(f(e),rL0);var mr=i[1],Cr=function(d0){return u(n,d0)},sr=function(d0){return u(t,d0)};return R(wJ[1],sr,Cr,e,mr),u(f(e),eL0);default:u(f(e),nL0);var Pr=i[1],K0=function(d0){return u(n,d0)},Ur=function(d0){return u(t,d0)};return R(QW[1],Ur,K0,e,Pr),u(f(e),tL0)}}),N(N$,function(t,n,e){var i=a(H5,t,n);return a(P0(jP0),i,e)}),pu(c6r,Xu,[0,Kv,HW,YW,zW,WW,$W,QW,d5,h5,fJ,aJ,cJ,pJ,Il,wJ,SJ,TJ,AJ,PJ,JJ,D5,lP,pP,_P,u$,f$,EP,m$,d$,S$,F$,O$,IP,I$,AP,A$,H5,N$]);var NP=function t(n,e,i,x){return t.fun(n,e,i,x)},C$=function t(n,e,i){return t.fun(n,e,i)},X5=function t(n,e,i){return t.fun(n,e,i)},P$=function t(n,e){return t.fun(n,e)};N(NP,function(t,n,e,i){u(f(e),DP0),a(n,e,i[1]),u(f(e),LP0);var x=i[2];return ir(X5,function(c){return u(t,c)},e,x),u(f(e),RP0)}),N(C$,function(t,n,e){var i=a(NP,t,n);return a(P0(PP0),i,e)}),N(X5,function(t,n,e){u(f(n),gP0),a(f(n),TP0,FP0);var i=e[1];if(i){g(n,OP0);var x=i[1],c=function(p,y){return g(p,SP0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,IP0)}else g(n,AP0);return u(f(n),NP0),u(f(n),CP0)}),N(P$,function(t,n){var e=u(X5,t);return a(P0(EP0),e,n)});var D$=[0,NP,C$,X5,P$],CP=function t(n,e,i,x){return t.fun(n,e,i,x)},L$=function t(n,e,i){return t.fun(n,e,i)};N(CP,function(t,n,e,i){if(i[0]===0){u(f(e),dP0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(Je[13],s,c,e,x),u(f(e),hP0)}u(f(e),kP0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(D$[1],T,y,e,p),u(f(e),wP0)}),N(L$,function(t,n,e){var i=a(CP,t,n);return a(P0(yP0),i,e)});var R$=[0,D$,CP,L$],PP=function t(n,e,i,x){return t.fun(n,e,i,x)},j$=function t(n,e,i){return t.fun(n,e,i)},Y5=function t(n,e,i,x){return t.fun(n,e,i,x)},G$=function t(n,e,i){return t.fun(n,e,i)};N(PP,function(t,n,e,i){u(f(e),pP0),a(t,e,i[1]),u(f(e),mP0);var x=i[2];function c(s){return u(n,s)}return R(Y5,function(s){return u(t,s)},c,e,x),u(f(e),_P0)}),N(j$,function(t,n,e){var i=a(PP,t,n);return a(P0(bP0),i,e)}),N(Y5,function(t,n,e,i){u(f(e),rP0),a(f(e),nP0,eP0);var x=i[1];u(f(e),tP0);var c=0;be(function(E,h){E&&u(f(e),QC0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(R$[2],G,w,e,h),1},c,x),u(f(e),uP0),u(f(e),iP0),u(f(e),fP0),a(f(e),aP0,xP0);var s=i[2];if(s){g(e,oP0);var p=s[1],y=function(E,h){u(f(E),$C0);var w=0;return be(function(G,A){G&&u(f(E),JC0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),ZC0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,cP0)}else g(e,sP0);return u(f(e),vP0),u(f(e),lP0)}),N(G$,function(t,n,e){var i=a(Y5,t,n);return a(P0(WC0),i,e)});var DP=function t(n,e,i,x){return t.fun(n,e,i,x)},M$=function t(n,e,i){return t.fun(n,e,i)},V5=function t(n,e,i,x){return t.fun(n,e,i,x)},B$=function t(n,e,i){return t.fun(n,e,i)},Mee=[0,PP,j$,Y5,G$];N(DP,function(t,n,e,i){u(f(e),VC0),a(t,e,i[1]),u(f(e),zC0);var x=i[2];function c(s){return u(n,s)}return R(V5,function(s){return u(t,s)},c,e,x),u(f(e),KC0)}),N(M$,function(t,n,e){var i=a(DP,t,n);return a(P0(YC0),i,e)}),N(V5,function(t,n,e,i){u(f(e),PC0),a(f(e),LC0,DC0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),RC0),u(f(e),jC0),a(f(e),MC0,GC0);var p=i[2];if(p){g(e,BC0);var y=p[1],T=function(h,w){return g(h,CC0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,qC0)}else g(e,UC0);return u(f(e),HC0),u(f(e),XC0)}),N(B$,function(t,n,e){var i=a(V5,t,n);return a(P0(NC0),i,e)});var LP=[0,DP,M$,V5,B$],z5=function t(n,e,i,x){return t.fun(n,e,i,x)},q$=function t(n,e,i){return t.fun(n,e,i)};N(z5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),gC0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(qe[31],s,c,e,x),u(f(e),FC0);case 1:u(f(e),TC0);var p=i[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};return R(LP[1],T,y,e,p),u(f(e),OC0);default:return u(f(e),IC0),a(t,e,i[1]),u(f(e),AC0)}}),N(q$,function(t,n,e){var i=a(z5,t,n);return a(P0(SC0),i,e)});var RP=function t(n,e,i,x){return t.fun(n,e,i,x)},U$=function t(n,e,i){return t.fun(n,e,i)};N(RP,function(t,n,e,i){u(f(e),cC0),a(f(e),vC0,sC0);var x=i[1];u(f(e),lC0);var c=0;be(function(E,h){E&&u(f(e),oC0);function w(G){return u(n,G)}return R(z5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),bC0),u(f(e),pC0),u(f(e),mC0),a(f(e),yC0,_C0);var s=i[2];if(s){g(e,dC0);var p=s[1],y=function(E,h){u(f(E),xC0);var w=0;return be(function(G,A){G&&u(f(E),fC0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),aC0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,hC0)}else g(e,kC0);return u(f(e),wC0),u(f(e),EC0)}),N(U$,function(t,n,e){var i=a(RP,t,n);return a(P0(iC0),i,e)});var H$=[0,z5,q$,RP,U$],K5=function t(n,e){return t.fun(n,e)},X$=function t(n){return t.fun(n)},jP=function t(n,e,i){return t.fun(n,e,i)},Y$=function t(n,e){return t.fun(n,e)},W5=function t(n,e){return t.fun(n,e)},V$=function t(n){return t.fun(n)};N(K5,function(t,n){u(f(t),KN0),a(f(t),JN0,WN0);var e=n[1];a(f(t),$N0,e),u(f(t),ZN0),u(f(t),QN0),a(f(t),eC0,rC0);var i=n[2];return a(f(t),nC0,i),u(f(t),tC0),u(f(t),uC0)}),N(X$,function(t){return a(P0(zN0),K5,t)}),N(jP,function(t,n,e){return u(f(n),XN0),a(t,n,e[1]),u(f(n),YN0),a(W5,n,e[2]),u(f(n),VN0)}),N(Y$,function(t,n){var e=u(jP,t);return a(P0(HN0),e,n)}),N(W5,function(t,n){u(f(t),PN0),a(f(t),LN0,DN0),a(K5,t,n[1]),u(f(t),RN0),u(f(t),jN0),a(f(t),MN0,GN0);var e=n[2];return a(f(t),BN0,e),u(f(t),qN0),u(f(t),UN0)}),N(V$,function(t){return a(P0(CN0),W5,t)});var z$=[0,K5,X$,jP,Y$,W5,V$],GP=function t(n,e,i,x){return t.fun(n,e,i,x)},K$=function t(n,e,i){return t.fun(n,e,i)};N(GP,function(t,n,e,i){u(f(e),vN0),a(f(e),bN0,lN0);var x=i[1];u(f(e),pN0);var c=0;be(function(w,G){w&&u(f(e),sN0);function A(S){return u(t,S)}return ir(z$[3],A,e,G),1},c,x),u(f(e),mN0),u(f(e),_N0),u(f(e),yN0),a(f(e),hN0,dN0);var s=i[2];u(f(e),kN0);var p=0;be(function(w,G){w&&u(f(e),cN0);function A(M){return u(n,M)}function S(M){return u(t,M)}return R(qe[31],S,A,e,G),1},p,s),u(f(e),wN0),u(f(e),EN0),u(f(e),SN0),a(f(e),FN0,gN0);var y=i[3];if(y){g(e,TN0);var T=y[1],E=function(w,G){return g(w,oN0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,ON0)}else g(e,IN0);return u(f(e),AN0),u(f(e),NN0)}),N(K$,function(t,n,e){var i=a(GP,t,n);return a(P0(aN0),i,e)});var MP=[0,z$,GP,K$],BP=function t(n,e,i,x){return t.fun(n,e,i,x)},W$=function t(n,e,i){return t.fun(n,e,i)};N(BP,function(t,n,e,i){u(f(e),HA0),a(f(e),YA0,XA0);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(qe[31],s,c,e,x),u(f(e),VA0),u(f(e),zA0),a(f(e),WA0,KA0);var p=i[2];u(f(e),JA0),a(t,e,p[1]),u(f(e),$A0);var y=p[2];function T(S){return u(n,S)}function E(S){return u(t,S)}R(MP[2],E,T,e,y),u(f(e),ZA0),u(f(e),QA0),u(f(e),rN0),a(f(e),nN0,eN0);var h=i[3];if(h){g(e,tN0);var w=h[1],G=function(S,M){return g(S,UA0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,uN0)}else g(e,iN0);return u(f(e),fN0),u(f(e),xN0)}),N(W$,function(t,n,e){var i=a(BP,t,n);return a(P0(qA0),i,e)});var J$=[0,BP,W$],O1=function t(n,e,i,x){return t.fun(n,e,i,x)},$$=function t(n,e,i){return t.fun(n,e,i)},qP=function t(n,e,i,x){return t.fun(n,e,i,x)},Z$=function t(n,e,i){return t.fun(n,e,i)},J5=function t(n,e,i,x){return t.fun(n,e,i,x)},Q$=function t(n,e,i){return t.fun(n,e,i)};N(O1,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),AA0),u(f(e),NA0),a(n,e,x[1]),u(f(e),CA0);var c=x[2],s=function(S){return u(t,S)};return ir(Tl[2],s,e,c),u(f(e),PA0),u(f(e),DA0);case 1:u(f(e),LA0);var p=i[1],y=function(S){return u(n,S)},T=function(S){return u(t,S)};return R(Ln[1],T,y,e,p),u(f(e),RA0);case 2:u(f(e),jA0);var E=i[1],h=function(S){return u(t,S)};return ir(qp[1],h,e,E),u(f(e),GA0);default:u(f(e),MA0);var w=i[1],G=function(S){return u(n,S)},A=function(S){return u(t,S)};return R(Up[1],A,G,e,w),u(f(e),BA0)}}),N($$,function(t,n,e){var i=a(O1,t,n);return a(P0(IA0),i,e)}),N(qP,function(t,n,e,i){u(f(e),FA0),a(t,e,i[1]),u(f(e),TA0);var x=i[2];function c(s){return u(n,s)}return R(J5,function(s){return u(t,s)},c,e,x),u(f(e),OA0)}),N(Z$,function(t,n,e){var i=a(qP,t,n);return a(P0(gA0),i,e)}),N(J5,function(t,n,e,i){switch(i[0]){case 0:u(f(e),pI0),a(f(e),_I0,mI0);var x=i[1],c=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},c,e,x),u(f(e),yI0),u(f(e),dI0),a(f(e),kI0,hI0);var s=i[2],p=function(s0){return u(n,s0)},y=function(s0){return u(t,s0)};R(qe[31],y,p,e,s),u(f(e),wI0),u(f(e),EI0),a(f(e),gI0,SI0);var T=i[3];return a(f(e),FI0,T),u(f(e),TI0),u(f(e),OI0);case 1:var E=i[2];u(f(e),II0),a(f(e),NI0,AI0);var h=i[1],w=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},w,e,h),u(f(e),CI0),u(f(e),PI0),a(f(e),LI0,DI0),u(f(e),RI0),a(t,e,E[1]),u(f(e),jI0);var G=E[2],A=function(s0){return u(n,s0)},S=function(s0){return u(t,s0)};return R(Ps[5],S,A,e,G),u(f(e),GI0),u(f(e),MI0),u(f(e),BI0);case 2:var M=i[3],K=i[2];u(f(e),qI0),a(f(e),HI0,UI0);var V=i[1],f0=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},f0,e,V),u(f(e),XI0),u(f(e),YI0),a(f(e),zI0,VI0),u(f(e),KI0),a(t,e,K[1]),u(f(e),WI0);var m0=K[2],k0=function(s0){return u(n,s0)},g0=function(s0){return u(t,s0)};if(R(Ps[5],g0,k0,e,m0),u(f(e),JI0),u(f(e),$I0),u(f(e),ZI0),a(f(e),rA0,QI0),M){g(e,eA0);var e0=M[1],x0=function(s0,dr){return g(s0,bI0)},l=function(s0){return u(t,s0)};R(Dr[1],l,x0,e,e0),g(e,nA0)}else g(e,tA0);return u(f(e),uA0),u(f(e),iA0);default:var c0=i[3],t0=i[2];u(f(e),fA0),a(f(e),aA0,xA0);var a0=i[1],w0=function(s0){return u(n,s0)};R(O1,function(s0){return u(t,s0)},w0,e,a0),u(f(e),oA0),u(f(e),cA0),a(f(e),vA0,sA0),u(f(e),lA0),a(t,e,t0[1]),u(f(e),bA0);var _0=t0[2],E0=function(s0){return u(n,s0)},X0=function(s0){return u(t,s0)};if(R(Ps[5],X0,E0,e,_0),u(f(e),pA0),u(f(e),mA0),u(f(e),_A0),a(f(e),dA0,yA0),c0){g(e,hA0);var b=c0[1],G0=function(s0,dr){return g(s0,lI0)},X=function(s0){return u(t,s0)};R(Dr[1],X,G0,e,b),g(e,kA0)}else g(e,wA0);return u(f(e),EA0),u(f(e),SA0)}}),N(Q$,function(t,n,e){var i=a(J5,t,n);return a(P0(vI0),i,e)});var rZ=[0,O1,$$,qP,Z$,J5,Q$],UP=function t(n,e,i,x){return t.fun(n,e,i,x)},eZ=function t(n,e,i){return t.fun(n,e,i)},$5=function t(n,e,i,x){return t.fun(n,e,i,x)},nZ=function t(n,e,i){return t.fun(n,e,i)};N(UP,function(t,n,e,i){u(f(e),oI0),a(t,e,i[1]),u(f(e),cI0);var x=i[2];function c(s){return u(n,s)}return R($5,function(s){return u(t,s)},c,e,x),u(f(e),sI0)}),N(eZ,function(t,n,e){var i=a(UP,t,n);return a(P0(aI0),i,e)}),N($5,function(t,n,e,i){u(f(e),JO0),a(f(e),ZO0,$O0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),QO0),u(f(e),rI0),a(f(e),nI0,eI0);var p=i[2];if(p){g(e,tI0);var y=p[1],T=function(h,w){return g(h,WO0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,uI0)}else g(e,iI0);return u(f(e),fI0),u(f(e),xI0)}),N(nZ,function(t,n,e){var i=a($5,t,n);return a(P0(KO0),i,e)});var tZ=[0,UP,eZ,$5,nZ],Z5=function t(n,e,i,x){return t.fun(n,e,i,x)},uZ=function t(n,e,i){return t.fun(n,e,i)},HP=function t(n,e,i,x){return t.fun(n,e,i,x)},iZ=function t(n,e,i){return t.fun(n,e,i)};N(Z5,function(t,n,e,i){if(i[0]===0){u(f(e),XO0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(rZ[3],s,c,e,x),u(f(e),YO0)}u(f(e),VO0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(tZ[1],T,y,e,p),u(f(e),zO0)}),N(uZ,function(t,n,e){var i=a(Z5,t,n);return a(P0(HO0),i,e)}),N(HP,function(t,n,e,i){u(f(e),IO0),a(f(e),NO0,AO0);var x=i[1];u(f(e),CO0);var c=0;be(function(E,h){E&&u(f(e),OO0);function w(G){return u(n,G)}return R(Z5,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),PO0),u(f(e),DO0),u(f(e),LO0),a(f(e),jO0,RO0);var s=i[2];if(s){g(e,GO0);var p=s[1],y=function(E,h){u(f(E),FO0);var w=0;return be(function(G,A){G&&u(f(E),gO0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),TO0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,MO0)}else g(e,BO0);return u(f(e),qO0),u(f(e),UO0)}),N(iZ,function(t,n,e){var i=a(HP,t,n);return a(P0(SO0),i,e)});var fZ=[0,rZ,tZ,Z5,uZ,HP,iZ],XP=function t(n,e,i,x){return t.fun(n,e,i,x)},xZ=function t(n,e,i){return t.fun(n,e,i)};N(XP,function(t,n,e,i){u(f(e),cO0),a(f(e),vO0,sO0);var x=i[1];u(f(e),lO0);var c=0;be(function(E,h){E&&u(f(e),oO0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(qe[31],G,w,e,h),1},c,x),u(f(e),bO0),u(f(e),pO0),u(f(e),mO0),a(f(e),yO0,_O0);var s=i[2];if(s){g(e,dO0);var p=s[1],y=function(E,h){return g(E,aO0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,hO0)}else g(e,kO0);return u(f(e),wO0),u(f(e),EO0)}),N(xZ,function(t,n,e){var i=a(XP,t,n);return a(P0(xO0),i,e)});var aZ=[0,XP,xZ],Q5=function t(n,e){return t.fun(n,e)},oZ=function t(n){return t.fun(n)},YP=function t(n,e,i,x){return t.fun(n,e,i,x)},cZ=function t(n,e,i){return t.fun(n,e,i)};N(Q5,function(t,n){switch(n){case 0:return g(t,QT0);case 1:return g(t,rO0);case 2:return g(t,eO0);case 3:return g(t,nO0);case 4:return g(t,tO0);case 5:return g(t,uO0);case 6:return g(t,iO0);default:return g(t,fO0)}}),N(oZ,function(t){return a(P0(ZT0),Q5,t)}),N(YP,function(t,n,e,i){u(f(e),RT0),a(f(e),GT0,jT0),a(Q5,e,i[1]),u(f(e),MT0),u(f(e),BT0),a(f(e),UT0,qT0);var x=i[2];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),HT0),u(f(e),XT0),a(f(e),VT0,YT0);var p=i[3];if(p){g(e,zT0);var y=p[1],T=function(h,w){return g(h,LT0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,KT0)}else g(e,WT0);return u(f(e),JT0),u(f(e),$T0)}),N(cZ,function(t,n,e){var i=a(YP,t,n);return a(P0(DT0),i,e)});var sZ=[0,Q5,oZ,YP,cZ],rm=function t(n,e){return t.fun(n,e)},vZ=function t(n){return t.fun(n)},VP=function t(n,e,i,x){return t.fun(n,e,i,x)},lZ=function t(n,e,i){return t.fun(n,e,i)};N(rm,function(t,n){switch(n){case 0:return g(t,vT0);case 1:return g(t,lT0);case 2:return g(t,bT0);case 3:return g(t,pT0);case 4:return g(t,mT0);case 5:return g(t,_T0);case 6:return g(t,yT0);case 7:return g(t,dT0);case 8:return g(t,hT0);case 9:return g(t,kT0);case 10:return g(t,wT0);case 11:return g(t,ET0);case 12:return g(t,ST0);case 13:return g(t,gT0);case 14:return g(t,FT0);case 15:return g(t,TT0);case 16:return g(t,OT0);case 17:return g(t,IT0);case 18:return g(t,AT0);case 19:return g(t,NT0);case 20:return g(t,CT0);default:return g(t,PT0)}}),N(vZ,function(t){return a(P0(sT0),rm,t)}),N(VP,function(t,n,e,i){u(f(e),YF0),a(f(e),zF0,VF0),a(rm,e,i[1]),u(f(e),KF0),u(f(e),WF0),a(f(e),$F0,JF0);var x=i[2];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),ZF0),u(f(e),QF0),a(f(e),eT0,rT0);var p=i[3];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),nT0),u(f(e),tT0),a(f(e),iT0,uT0);var E=i[4];if(E){g(e,fT0);var h=E[1],w=function(A,S){return g(A,XF0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,xT0)}else g(e,aT0);return u(f(e),oT0),u(f(e),cT0)}),N(lZ,function(t,n,e){var i=a(VP,t,n);return a(P0(HF0),i,e)});var bZ=[0,rm,vZ,VP,lZ],em=function t(n,e){return t.fun(n,e)},pZ=function t(n){return t.fun(n)},zP=function t(n,e,i,x){return t.fun(n,e,i,x)},mZ=function t(n,e,i){return t.fun(n,e,i)};N(em,function(t,n){switch(n){case 0:return g(t,OF0);case 1:return g(t,IF0);case 2:return g(t,AF0);case 3:return g(t,NF0);case 4:return g(t,CF0);case 5:return g(t,PF0);case 6:return g(t,DF0);case 7:return g(t,LF0);case 8:return g(t,RF0);case 9:return g(t,jF0);case 10:return g(t,GF0);case 11:return g(t,MF0);case 12:return g(t,BF0);case 13:return g(t,qF0);default:return g(t,UF0)}}),N(pZ,function(t){return a(P0(TF0),em,t)}),N(zP,function(t,n,e,i){u(f(e),uF0),a(f(e),fF0,iF0);var x=i[1];x?(g(e,xF0),a(em,e,x[1]),g(e,aF0)):g(e,oF0),u(f(e),cF0),u(f(e),sF0),a(f(e),lF0,vF0);var c=i[2];function s(S){return u(n,S)}function p(S){return u(t,S)}R(di[5],p,s,e,c),u(f(e),bF0),u(f(e),pF0),a(f(e),_F0,mF0);var y=i[3];function T(S){return u(n,S)}function E(S){return u(t,S)}R(qe[31],E,T,e,y),u(f(e),yF0),u(f(e),dF0),a(f(e),kF0,hF0);var h=i[4];if(h){g(e,wF0);var w=h[1],G=function(S,M){return g(S,tF0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,EF0)}else g(e,SF0);return u(f(e),gF0),u(f(e),FF0)}),N(mZ,function(t,n,e){var i=a(zP,t,n);return a(P0(nF0),i,e)});var _Z=[0,em,pZ,zP,mZ],nm=function t(n,e){return t.fun(n,e)},yZ=function t(n){return t.fun(n)},KP=function t(n,e,i,x){return t.fun(n,e,i,x)},dZ=function t(n,e,i){return t.fun(n,e,i)};N(nm,function(t,n){return n?g(t,rF0):g(t,eF0)}),N(yZ,function(t){return a(P0(Qg0),nm,t)}),N(KP,function(t,n,e,i){u(f(e),Cg0),a(f(e),Dg0,Pg0),a(nm,e,i[1]),u(f(e),Lg0),u(f(e),Rg0),a(f(e),Gg0,jg0);var x=i[2];function c(w){return u(n,w)}function s(w){return u(t,w)}R(qe[31],s,c,e,x),u(f(e),Mg0),u(f(e),Bg0),a(f(e),Ug0,qg0);var p=i[3];a(f(e),Hg0,p),u(f(e),Xg0),u(f(e),Yg0),a(f(e),zg0,Vg0);var y=i[4];if(y){g(e,Kg0);var T=y[1],E=function(w,G){return g(w,Ng0)},h=function(w){return u(t,w)};R(Dr[1],h,E,e,T),g(e,Wg0)}else g(e,Jg0);return u(f(e),$g0),u(f(e),Zg0)}),N(dZ,function(t,n,e){var i=a(KP,t,n);return a(P0(Ag0),i,e)});var hZ=[0,nm,yZ,KP,dZ],tm=function t(n,e){return t.fun(n,e)},kZ=function t(n){return t.fun(n)},WP=function t(n,e,i,x){return t.fun(n,e,i,x)},wZ=function t(n,e,i){return t.fun(n,e,i)};N(tm,function(t,n){switch(n){case 0:return g(t,Tg0);case 1:return g(t,Og0);default:return g(t,Ig0)}}),N(kZ,function(t){return a(P0(Fg0),tm,t)}),N(WP,function(t,n,e,i){u(f(e),fg0),a(f(e),ag0,xg0),a(tm,e,i[1]),u(f(e),og0),u(f(e),cg0),a(f(e),vg0,sg0);var x=i[2];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),lg0),u(f(e),bg0),a(f(e),mg0,pg0);var p=i[3];function y(A){return u(n,A)}function T(A){return u(t,A)}R(qe[31],T,y,e,p),u(f(e),_g0),u(f(e),yg0),a(f(e),hg0,dg0);var E=i[4];if(E){g(e,kg0);var h=E[1],w=function(A,S){return g(A,ig0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,wg0)}else g(e,Eg0);return u(f(e),Sg0),u(f(e),gg0)}),N(wZ,function(t,n,e){var i=a(WP,t,n);return a(P0(ug0),i,e)});var EZ=[0,tm,kZ,WP,wZ],JP=function t(n,e,i,x){return t.fun(n,e,i,x)},SZ=function t(n,e,i){return t.fun(n,e,i)};N(JP,function(t,n,e,i){u(f(e),GS0),a(f(e),BS0,MS0);var x=i[1];function c(K){return u(n,K)}function s(K){return u(t,K)}R(qe[31],s,c,e,x),u(f(e),qS0),u(f(e),US0),a(f(e),XS0,HS0);var p=i[2];function y(K){return u(n,K)}function T(K){return u(t,K)}R(qe[31],T,y,e,p),u(f(e),YS0),u(f(e),VS0),a(f(e),KS0,zS0);var E=i[3];function h(K){return u(n,K)}function w(K){return u(t,K)}R(qe[31],w,h,e,E),u(f(e),WS0),u(f(e),JS0),a(f(e),ZS0,$S0);var G=i[4];if(G){g(e,QS0);var A=G[1],S=function(K,V){return g(K,jS0)},M=function(K){return u(t,K)};R(Dr[1],M,S,e,A),g(e,rg0)}else g(e,eg0);return u(f(e),ng0),u(f(e),tg0)}),N(SZ,function(t,n,e){var i=a(JP,t,n);return a(P0(RS0),i,e)});var gZ=[0,JP,SZ],um=function t(n,e,i,x){return t.fun(n,e,i,x)},FZ=function t(n,e,i){return t.fun(n,e,i)};N(um,function(t,n,e,i){if(i[0]===0){u(f(e),CS0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(qe[31],s,c,e,x),u(f(e),PS0)}u(f(e),DS0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(LP[1],T,y,e,p),u(f(e),LS0)}),N(FZ,function(t,n,e){var i=a(um,t,n);return a(P0(NS0),i,e)});var $P=function t(n,e,i,x){return t.fun(n,e,i,x)},TZ=function t(n,e,i){return t.fun(n,e,i)},im=function t(n,e,i,x){return t.fun(n,e,i,x)},OZ=function t(n,e,i){return t.fun(n,e,i)};N($P,function(t,n,e,i){u(f(e),OS0),a(t,e,i[1]),u(f(e),IS0);var x=i[2];function c(s){return u(n,s)}return R(im,function(s){return u(t,s)},c,e,x),u(f(e),AS0)}),N(TZ,function(t,n,e){var i=a($P,t,n);return a(P0(TS0),i,e)}),N(im,function(t,n,e,i){u(f(e),lS0),a(f(e),pS0,bS0);var x=i[1];u(f(e),mS0);var c=0;be(function(E,h){E&&u(f(e),vS0);function w(G){return u(n,G)}return R(um,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),_S0),u(f(e),yS0),u(f(e),dS0),a(f(e),kS0,hS0);var s=i[2];if(s){g(e,wS0);var p=s[1],y=function(E,h){u(f(E),cS0);var w=0;return be(function(G,A){G&&u(f(E),oS0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),sS0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,ES0)}else g(e,SS0);return u(f(e),gS0),u(f(e),FS0)}),N(OZ,function(t,n,e){var i=a(im,t,n);return a(P0(aS0),i,e)});var ZP=[0,$P,TZ,im,OZ],QP=function t(n,e,i,x){return t.fun(n,e,i,x)},IZ=function t(n,e,i){return t.fun(n,e,i)};N(QP,function(t,n,e,i){u(f(e),RE0),a(f(e),GE0,jE0);var x=i[1];function c(f0){return u(n,f0)}function s(f0){return u(t,f0)}R(qe[31],s,c,e,x),u(f(e),ME0),u(f(e),BE0),a(f(e),UE0,qE0);var p=i[2];if(p){g(e,HE0);var y=p[1],T=function(f0){return u(n,f0)},E=function(f0){return u(t,f0)};R(qe[2][1],E,T,e,y),g(e,XE0)}else g(e,YE0);u(f(e),VE0),u(f(e),zE0),a(f(e),WE0,KE0);var h=i[3];if(h){g(e,JE0);var w=h[1],G=function(f0){return u(n,f0)},A=function(f0){return u(t,f0)};R(ZP[1],A,G,e,w),g(e,$E0)}else g(e,ZE0);u(f(e),QE0),u(f(e),rS0),a(f(e),nS0,eS0);var S=i[4];if(S){g(e,tS0);var M=S[1],K=function(f0,m0){return g(f0,LE0)},V=function(f0){return u(t,f0)};R(Dr[1],V,K,e,M),g(e,uS0)}else g(e,iS0);return u(f(e),fS0),u(f(e),xS0)}),N(IZ,function(t,n,e){var i=a(QP,t,n);return a(P0(DE0),i,e)});var AZ=[0,QP,IZ],rD=function t(n,e,i,x){return t.fun(n,e,i,x)},NZ=function t(n,e,i){return t.fun(n,e,i)};N(rD,function(t,n,e,i){u(f(e),sE0),a(f(e),lE0,vE0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[31],s,c,e,x),u(f(e),bE0),u(f(e),pE0),a(f(e),_E0,mE0);var p=i[2];if(p){g(e,yE0);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(qe[2][1],E,T,e,y),g(e,dE0)}else g(e,hE0);u(f(e),kE0),u(f(e),wE0),a(f(e),SE0,EE0);var h=i[3];function w(V){return u(n,V)}function G(V){return u(t,V)}R(ZP[1],G,w,e,h),u(f(e),gE0),u(f(e),FE0),a(f(e),OE0,TE0);var A=i[4];if(A){g(e,IE0);var S=A[1],M=function(V,f0){return g(V,cE0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,AE0)}else g(e,NE0);return u(f(e),CE0),u(f(e),PE0)}),N(NZ,function(t,n,e){var i=a(rD,t,n);return a(P0(oE0),i,e)});var eD=[0,rD,NZ],nD=function t(n,e,i,x){return t.fun(n,e,i,x)},CZ=function t(n,e,i){return t.fun(n,e,i)};N(nD,function(t,n,e,i){u(f(e),Ww0),a(f(e),$w0,Jw0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(eD[1],s,c,e,x),u(f(e),Zw0),u(f(e),Qw0),a(f(e),eE0,rE0),a(n,e,i[2]),u(f(e),nE0),u(f(e),tE0),a(f(e),iE0,uE0);var p=i[3];return a(f(e),fE0,p),u(f(e),xE0),u(f(e),aE0)}),N(CZ,function(t,n,e){var i=a(nD,t,n);return a(P0(Kw0),i,e)});var PZ=[0,nD,CZ],fm=function t(n,e,i,x){return t.fun(n,e,i,x)},DZ=function t(n,e,i){return t.fun(n,e,i)},tD=function t(n,e,i,x){return t.fun(n,e,i,x)},LZ=function t(n,e,i){return t.fun(n,e,i)};N(fm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Uw0);var x=i[1],c=function(w){return u(n,w)},s=function(w){return u(t,w)};return R(Ln[1],s,c,e,x),u(f(e),Hw0);case 1:u(f(e),Xw0);var p=i[1],y=function(w){return u(t,w)};return ir(qp[1],y,e,p),u(f(e),Yw0);default:u(f(e),Vw0);var T=i[1],E=function(w){return u(n,w)},h=function(w){return u(t,w)};return R(qe[31],h,E,e,T),u(f(e),zw0)}}),N(DZ,function(t,n,e){var i=a(fm,t,n);return a(P0(qw0),i,e)}),N(tD,function(t,n,e,i){u(f(e),gw0),a(f(e),Tw0,Fw0);var x=i[1];function c(G){return u(n,G)}function s(G){return u(t,G)}R(qe[31],s,c,e,x),u(f(e),Ow0),u(f(e),Iw0),a(f(e),Nw0,Aw0);var p=i[2];function y(G){return u(n,G)}R(fm,function(G){return u(t,G)},y,e,p),u(f(e),Cw0),u(f(e),Pw0),a(f(e),Lw0,Dw0);var T=i[3];if(T){g(e,Rw0);var E=T[1],h=function(G,A){return g(G,Sw0)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,jw0)}else g(e,Gw0);return u(f(e),Mw0),u(f(e),Bw0)}),N(LZ,function(t,n,e){var i=a(tD,t,n);return a(P0(Ew0),i,e)});var uD=[0,fm,DZ,tD,LZ],iD=function t(n,e,i,x){return t.fun(n,e,i,x)},RZ=function t(n,e,i){return t.fun(n,e,i)};N(iD,function(t,n,e,i){u(f(e),ow0),a(f(e),sw0,cw0);var x=i[1];function c(y){return u(n,y)}function s(y){return u(t,y)}R(uD[3],s,c,e,x),u(f(e),vw0),u(f(e),lw0),a(f(e),pw0,bw0),a(n,e,i[2]),u(f(e),mw0),u(f(e),_w0),a(f(e),dw0,yw0);var p=i[3];return a(f(e),hw0,p),u(f(e),kw0),u(f(e),ww0)}),N(RZ,function(t,n,e){var i=a(iD,t,n);return a(P0(aw0),i,e)});var jZ=[0,iD,RZ],fD=function t(n,e,i,x){return t.fun(n,e,i,x)},GZ=function t(n,e,i){return t.fun(n,e,i)};N(fD,function(t,n,e,i){u(f(e),Gk0),a(f(e),Bk0,Mk0);var x=i[1];if(x){g(e,qk0);var c=x[1],s=function(G){return u(n,G)},p=function(G){return u(t,G)};R(qe[31],p,s,e,c),g(e,Uk0)}else g(e,Hk0);u(f(e),Xk0),u(f(e),Yk0),a(f(e),zk0,Vk0);var y=i[2];if(y){g(e,Kk0);var T=y[1],E=function(G,A){return g(G,jk0)},h=function(G){return u(t,G)};R(Dr[1],h,E,e,T),g(e,Wk0)}else g(e,Jk0);u(f(e),$k0),u(f(e),Zk0),a(f(e),rw0,Qk0);var w=i[3];return a(f(e),ew0,w),u(f(e),nw0),u(f(e),tw0),a(f(e),iw0,uw0),a(n,e,i[4]),u(f(e),fw0),u(f(e),xw0)}),N(GZ,function(t,n,e){var i=a(fD,t,n);return a(P0(Rk0),i,e)});var MZ=[0,fD,GZ],xD=function t(n,e,i,x){return t.fun(n,e,i,x)},BZ=function t(n,e,i){return t.fun(n,e,i)},xm=function t(n,e,i,x){return t.fun(n,e,i,x)},qZ=function t(n,e,i){return t.fun(n,e,i)};N(xD,function(t,n,e,i){u(f(e),Pk0),a(t,e,i[1]),u(f(e),Dk0);var x=i[2];function c(s){return u(n,s)}return R(xm,function(s){return u(t,s)},c,e,x),u(f(e),Lk0)}),N(BZ,function(t,n,e){var i=a(xD,t,n);return a(P0(Ck0),i,e)}),N(xm,function(t,n,e,i){u(f(e),yk0),a(f(e),hk0,dk0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),kk0),u(f(e),wk0),a(f(e),Sk0,Ek0);var p=i[2];function y(h){return u(n,h)}function T(h){return u(t,h)}R(qe[31],T,y,e,p),u(f(e),gk0),u(f(e),Fk0),a(f(e),Ok0,Tk0);var E=i[3];return a(f(e),Ik0,E),u(f(e),Ak0),u(f(e),Nk0)}),N(qZ,function(t,n,e){var i=a(xm,t,n);return a(P0(_k0),i,e)});var UZ=[0,xD,BZ,xm,qZ],aD=function t(n,e,i,x){return t.fun(n,e,i,x)},HZ=function t(n,e,i){return t.fun(n,e,i)};N(aD,function(t,n,e,i){u(f(e),tk0),a(f(e),ik0,uk0);var x=i[1];u(f(e),fk0);var c=0;be(function(E,h){E&&u(f(e),nk0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(UZ[1],G,w,e,h),1},c,x),u(f(e),xk0),u(f(e),ak0),u(f(e),ok0),a(f(e),sk0,ck0);var s=i[2];if(s){g(e,vk0);var p=s[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};R(qe[31],T,y,e,p),g(e,lk0)}else g(e,bk0);return u(f(e),pk0),u(f(e),mk0)}),N(HZ,function(t,n,e){var i=a(aD,t,n);return a(P0(ek0),i,e)});var oD=[0,UZ,aD,HZ],cD=function t(n,e,i,x){return t.fun(n,e,i,x)},XZ=function t(n,e,i){return t.fun(n,e,i)};N(cD,function(t,n,e,i){u(f(e),qh0),a(f(e),Hh0,Uh0);var x=i[1];u(f(e),Xh0);var c=0;be(function(E,h){E&&u(f(e),Bh0);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(oD[1][1],G,w,e,h),1},c,x),u(f(e),Yh0),u(f(e),Vh0),u(f(e),zh0),a(f(e),Wh0,Kh0);var s=i[2];if(s){g(e,Jh0);var p=s[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};R(qe[31],T,y,e,p),g(e,$h0)}else g(e,Zh0);return u(f(e),Qh0),u(f(e),rk0)}),N(XZ,function(t,n,e){var i=a(cD,t,n);return a(P0(Mh0),i,e)});var YZ=[0,cD,XZ],sD=function t(n,e,i,x){return t.fun(n,e,i,x)},VZ=function t(n,e,i){return t.fun(n,e,i)};N(sD,function(t,n,e,i){u(f(e),Eh0),a(f(e),gh0,Sh0);var x=i[1];function c(A){return u(n,A)}function s(A){return u(t,A)}R(qe[31],s,c,e,x),u(f(e),Fh0),u(f(e),Th0),a(f(e),Ih0,Oh0);var p=i[2];function y(A){return u(n,A)}function T(A){return u(t,A)}R(Je[17],T,y,e,p),u(f(e),Ah0),u(f(e),Nh0),a(f(e),Ph0,Ch0);var E=i[3];if(E){g(e,Dh0);var h=E[1],w=function(A,S){return g(A,wh0)},G=function(A){return u(t,A)};R(Dr[1],G,w,e,h),g(e,Lh0)}else g(e,Rh0);return u(f(e),jh0),u(f(e),Gh0)}),N(VZ,function(t,n,e){var i=a(sD,t,n);return a(P0(kh0),i,e)});var zZ=[0,sD,VZ],vD=function t(n,e,i){return t.fun(n,e,i)},KZ=function t(n,e){return t.fun(n,e)};N(vD,function(t,n,e){u(f(n),ih0),a(f(n),xh0,fh0);var i=e[1];function x(G){return u(t,G)}function c(G){return u(t,G)}R(Ln[1],c,x,n,i),u(f(n),ah0),u(f(n),oh0),a(f(n),sh0,ch0);var s=e[2];function p(G){return u(t,G)}function y(G){return u(t,G)}R(Ln[1],y,p,n,s),u(f(n),vh0),u(f(n),lh0),a(f(n),ph0,bh0);var T=e[3];if(T){g(n,mh0);var E=T[1],h=function(G,A){return g(G,uh0)},w=function(G){return u(t,G)};R(Dr[1],w,h,n,E),g(n,_h0)}else g(n,yh0);return u(f(n),dh0),u(f(n),hh0)}),N(KZ,function(t,n){var e=u(vD,t);return a(P0(th0),e,n)});var WZ=[0,vD,KZ],lD=function t(n,e,i){return t.fun(n,e,i)},JZ=function t(n,e){return t.fun(n,e)};N(lD,function(t,n,e){u(f(n),Wd0),a(f(n),$d0,Jd0);var i=e[1];if(i){g(n,Zd0);var x=i[1],c=function(p,y){return g(p,Kd0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Qd0)}else g(n,rh0);return u(f(n),eh0),u(f(n),nh0)}),N(JZ,function(t,n){var e=u(lD,t);return a(P0(zd0),e,n)});var $Z=[0,lD,JZ],bD=function t(n,e,i){return t.fun(n,e,i)},ZZ=function t(n,e){return t.fun(n,e)};N(bD,function(t,n,e){u(f(n),Md0),a(f(n),qd0,Bd0);var i=e[1];if(i){g(n,Ud0);var x=i[1],c=function(p,y){return g(p,Gd0)},s=function(p){return u(t,p)};R(Dr[1],s,c,n,x),g(n,Hd0)}else g(n,Xd0);return u(f(n),Yd0),u(f(n),Vd0)}),N(ZZ,function(t,n){var e=u(bD,t);return a(P0(jd0),e,n)});var QZ=[0,bD,ZZ],pD=function t(n,e,i,x){return t.fun(n,e,i,x)},rQ=function t(n,e,i){return t.fun(n,e,i)};N(pD,function(t,n,e,i){u(f(e),gd0),a(f(e),Td0,Fd0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),Od0),u(f(e),Id0),a(f(e),Nd0,Ad0);var p=i[2];if(p){g(e,Cd0);var y=p[1],T=function(h,w){return g(h,Sd0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Pd0)}else g(e,Dd0);return u(f(e),Ld0),u(f(e),Rd0)}),N(rQ,function(t,n,e){var i=a(pD,t,n);return a(P0(Ed0),i,e)});var eQ=[0,pD,rQ],mD=function t(n,e,i,x){return t.fun(n,e,i,x)},nQ=function t(n,e,i){return t.fun(n,e,i)},am=function t(n,e,i,x){return t.fun(n,e,i,x)},tQ=function t(n,e,i){return t.fun(n,e,i)};N(mD,function(t,n,e,i){u(f(e),hd0),a(n,e,i[1]),u(f(e),kd0);var x=i[2];function c(s){return u(n,s)}return R(am,function(s){return u(t,s)},c,e,x),u(f(e),wd0)}),N(nQ,function(t,n,e){var i=a(mD,t,n);return a(P0(dd0),i,e)}),N(am,function(t,n,e,i){switch(i[0]){case 0:u(f(e),sy0);var x=i[1],c=function(Y){return u(n,Y)},s=function(Y){return u(t,Y)};return R(H$[3],s,c,e,x),u(f(e),vy0);case 1:u(f(e),ly0);var p=i[1],y=function(Y){return u(n,Y)},T=function(Y){return u(t,Y)};return R(Ps[5],T,y,e,p),u(f(e),by0);case 2:u(f(e),py0);var E=i[1],h=function(Y){return u(n,Y)},w=function(Y){return u(t,Y)};return R(_Z[3],w,h,e,E),u(f(e),my0);case 3:u(f(e),_y0);var G=i[1],A=function(Y){return u(n,Y)},S=function(Y){return u(t,Y)};return R(bZ[3],S,A,e,G),u(f(e),yy0);case 4:u(f(e),dy0);var M=i[1],K=function(Y){return u(n,Y)},V=function(Y){return u(t,Y)};return R(eD[1],V,K,e,M),u(f(e),hy0);case 5:u(f(e),ky0);var f0=i[1],m0=function(Y){return u(n,Y)},k0=function(Y){return u(t,Y)};return R(T1[8],k0,m0,e,f0),u(f(e),wy0);case 6:u(f(e),Ey0);var g0=i[1],e0=function(Y){return u(n,Y)},x0=function(Y){return u(t,Y)};return R(oD[2],x0,e0,e,g0),u(f(e),Sy0);case 7:u(f(e),gy0);var l=i[1],c0=function(Y){return u(n,Y)},t0=function(Y){return u(t,Y)};return R(gZ[1],t0,c0,e,l),u(f(e),Fy0);case 8:u(f(e),Ty0);var a0=i[1],w0=function(Y){return u(n,Y)},_0=function(Y){return u(t,Y)};return R(Ps[5],_0,w0,e,a0),u(f(e),Oy0);case 9:u(f(e),Iy0);var E0=i[1],X0=function(Y){return u(n,Y)},b=function(Y){return u(t,Y)};return R(YZ[1],b,X0,e,E0),u(f(e),Ay0);case 10:u(f(e),Ny0);var G0=i[1],X=function(Y){return u(n,Y)},s0=function(Y){return u(t,Y)};return R(Ln[1],s0,X,e,G0),u(f(e),Cy0);case 11:u(f(e),Py0);var dr=i[1],Ar=function(Y){return u(n,Y)},ar=function(Y){return u(t,Y)};return R(eQ[1],ar,Ar,e,dr),u(f(e),Dy0);case 12:u(f(e),Ly0);var W0=i[1],Lr=function(Y){return u(n,Y)},Tr=function(Y){return u(t,Y)};return R(YN[17],Tr,Lr,e,W0),u(f(e),Ry0);case 13:u(f(e),jy0);var Hr=i[1],Or=function(Y){return u(n,Y)},xr=function(Y){return u(t,Y)};return R(YN[19],xr,Or,e,Hr),u(f(e),Gy0);case 14:u(f(e),My0);var Rr=i[1],Wr=function(Y){return u(t,Y)};return ir(Tl[2],Wr,e,Rr),u(f(e),By0);case 15:u(f(e),qy0);var Jr=i[1],or=function(Y){return u(n,Y)},_r=function(Y){return u(t,Y)};return R(EZ[3],_r,or,e,Jr),u(f(e),Uy0);case 16:u(f(e),Hy0);var Ir=i[1],fe=function(Y){return u(n,Y)},v0=function(Y){return u(t,Y)};return R(uD[3],v0,fe,e,Ir),u(f(e),Xy0);case 17:u(f(e),Yy0);var P=i[1],L=function(Y){return u(t,Y)};return ir(WZ[1],L,e,P),u(f(e),Vy0);case 18:u(f(e),zy0);var Q=i[1],i0=function(Y){return u(n,Y)},l0=function(Y){return u(t,Y)};return R(AZ[1],l0,i0,e,Q),u(f(e),Ky0);case 19:u(f(e),Wy0);var S0=i[1],T0=function(Y){return u(n,Y)},rr=function(Y){return u(t,Y)};return R(fZ[5],rr,T0,e,S0),u(f(e),Jy0);case 20:u(f(e),$y0);var R0=i[1],B=function(Y){return u(n,Y)},Z=function(Y){return u(t,Y)};return R(PZ[1],Z,B,e,R0),u(f(e),Zy0);case 21:u(f(e),Qy0);var p0=i[1],b0=function(Y){return u(n,Y)},O0=function(Y){return u(t,Y)};return R(jZ[1],O0,b0,e,p0),u(f(e),rd0);case 22:u(f(e),ed0);var q0=i[1],er=function(Y){return u(n,Y)},yr=function(Y){return u(t,Y)};return R(aZ[1],yr,er,e,q0),u(f(e),nd0);case 23:u(f(e),td0);var vr=i[1],$0=function(Y){return u(t,Y)};return ir(QZ[1],$0,e,vr),u(f(e),ud0);case 24:u(f(e),id0);var Sr=i[1],Mr=function(Y){return u(n,Y)},Br=function(Y){return u(t,Y)};return R(J$[1],Br,Mr,e,Sr),u(f(e),fd0);case 25:u(f(e),xd0);var qr=i[1],jr=function(Y){return u(n,Y)},$r=function(Y){return u(t,Y)};return R(MP[2],$r,jr,e,qr),u(f(e),ad0);case 26:u(f(e),od0);var ne=i[1],Qr=function(Y){return u(t,Y)};return ir($Z[1],Qr,e,ne),u(f(e),cd0);case 27:u(f(e),sd0);var pe=i[1],oe=function(Y){return u(n,Y)},me=function(Y){return u(t,Y)};return R(zZ[1],me,oe,e,pe),u(f(e),vd0);case 28:u(f(e),ld0);var ae=i[1],ce=function(Y){return u(n,Y)},ge=function(Y){return u(t,Y)};return R(sZ[3],ge,ce,e,ae),u(f(e),bd0);case 29:u(f(e),pd0);var H0=i[1],Fr=function(Y){return u(n,Y)},_=function(Y){return u(t,Y)};return R(hZ[3],_,Fr,e,H0),u(f(e),md0);default:u(f(e),_d0);var k=i[1],I=function(Y){return u(n,Y)},U=function(Y){return u(t,Y)};return R(MZ[1],U,I,e,k),u(f(e),yd0)}}),N(tQ,function(t,n,e){var i=a(am,t,n);return a(P0(cy0),i,e)}),pu(s6r,qe,[0,R$,Mee,LP,H$,MP,J$,fZ,aZ,sZ,bZ,_Z,hZ,EZ,gZ,um,FZ,ZP,AZ,eD,PZ,uD,jZ,MZ,oD,YZ,zZ,WZ,$Z,QZ,eQ,mD,nQ,am,tQ]);var _D=function t(n,e,i,x){return t.fun(n,e,i,x)},uQ=function t(n,e,i){return t.fun(n,e,i)},om=function t(n,e,i){return t.fun(n,e,i)},iQ=function t(n,e){return t.fun(n,e)};N(_D,function(t,n,e,i){u(f(e),xy0),a(n,e,i[1]),u(f(e),ay0);var x=i[2];return ir(om,function(c){return u(t,c)},e,x),u(f(e),oy0)}),N(uQ,function(t,n,e){var i=a(_D,t,n);return a(P0(fy0),i,e)}),N(om,function(t,n,e){u(f(n),z_0),a(f(n),W_0,K_0);var i=e[1];a(f(n),J_0,i),u(f(n),$_0),u(f(n),Z_0),a(f(n),ry0,Q_0);var x=e[2];if(x){g(n,ey0);var c=x[1],s=function(y,T){return g(y,V_0)},p=function(y){return u(t,y)};R(Dr[1],p,s,n,c),g(n,ny0)}else g(n,ty0);return u(f(n),uy0),u(f(n),iy0)}),N(iQ,function(t,n){var e=u(om,t);return a(P0(Y_0),e,n)});var I1=[0,_D,uQ,om,iQ],yD=function t(n,e,i,x){return t.fun(n,e,i,x)},fQ=function t(n,e,i){return t.fun(n,e,i)},cm=function t(n,e,i,x){return t.fun(n,e,i,x)},xQ=function t(n,e,i){return t.fun(n,e,i)};N(yD,function(t,n,e,i){u(f(e),U_0),a(t,e,i[1]),u(f(e),H_0);var x=i[2];function c(s){return u(n,s)}return R(cm,function(s){return u(t,s)},c,e,x),u(f(e),X_0)}),N(fQ,function(t,n,e){var i=a(yD,t,n);return a(P0(q_0),i,e)}),N(cm,function(t,n,e,i){u(f(e),C_0),a(f(e),D_0,P_0);var x=i[1];function c(E){return u(n,E)}function s(E){return u(t,E)}R(I1[1],s,c,e,x),u(f(e),L_0),u(f(e),R_0),a(f(e),G_0,j_0);var p=i[2];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(I1[1],T,y,e,p),u(f(e),M_0),u(f(e),B_0)}),N(xQ,function(t,n,e){var i=a(cm,t,n);return a(P0(N_0),i,e)});var dD=[0,yD,fQ,cm,xQ],hD=function t(n,e,i,x){return t.fun(n,e,i,x)},aQ=function t(n,e,i){return t.fun(n,e,i)},sm=function t(n,e,i,x){return t.fun(n,e,i,x)},oQ=function t(n,e,i){return t.fun(n,e,i)};N(hD,function(t,n,e,i){u(f(e),d_0),a(f(e),k_0,h_0);var x=i[1];function c(E){return u(n,E)}R(sm,function(E){return u(t,E)},c,e,x),u(f(e),w_0),u(f(e),E_0),a(f(e),g_0,S_0);var s=i[2];if(s){g(e,F_0);var p=s[1],y=function(E,h){u(f(E),__0);var w=0;return be(function(G,A){G&&u(f(E),m_0);function S(M){return u(t,M)}return ir(uu[1],S,E,A),1},w,h),u(f(E),y_0)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,T_0)}else g(e,O_0);return u(f(e),I_0),u(f(e),A_0)}),N(aQ,function(t,n,e){var i=a(hD,t,n);return a(P0(p_0),i,e)}),N(sm,function(t,n,e,i){if(i){u(f(e),v_0);var x=i[1],c=function(p){return u(n,p)},s=function(p){return u(t,p)};return R(qe[31],s,c,e,x),u(f(e),l_0)}return g(e,b_0)}),N(oQ,function(t,n,e){var i=a(sm,t,n);return a(P0(s_0),i,e)});var kD=[0,hD,aQ,sm,oQ];function cQ(t,n){u(f(t),Q90),a(f(t),e_0,r_0);var e=n[1];a(f(t),n_0,e),u(f(t),t_0),u(f(t),u_0),a(f(t),f_0,i_0);var i=n[2];return a(f(t),x_0,i),u(f(t),a_0),u(f(t),o_0)}var sQ=[0,cQ,function(t){return a(P0(c_0),cQ,t)}],wD=function t(n,e,i,x){return t.fun(n,e,i,x)},vQ=function t(n,e,i){return t.fun(n,e,i)},vm=function t(n,e,i,x){return t.fun(n,e,i,x)},lQ=function t(n,e,i){return t.fun(n,e,i)},lm=function t(n,e,i,x){return t.fun(n,e,i,x)},bQ=function t(n,e,i){return t.fun(n,e,i)},bm=function t(n,e,i,x){return t.fun(n,e,i,x)},pQ=function t(n,e,i){return t.fun(n,e,i)};N(wD,function(t,n,e,i){u(f(e),J90),a(t,e,i[1]),u(f(e),$90);var x=i[2];function c(s){return u(n,s)}return R(bm,function(s){return u(t,s)},c,e,x),u(f(e),Z90)}),N(vQ,function(t,n,e){var i=a(wD,t,n);return a(P0(W90),i,e)}),N(vm,function(t,n,e,i){if(i[0]===0){u(f(e),Y90);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(I1[1],s,c,e,x),u(f(e),V90)}u(f(e),z90);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(dD[1],T,y,e,p),u(f(e),K90)}),N(lQ,function(t,n,e){var i=a(vm,t,n);return a(P0(X90),i,e)}),N(lm,function(t,n,e,i){if(i[0]===0){u(f(e),G90),a(n,e,i[1]),u(f(e),M90);var x=i[2],c=function(T){return u(t,T)};return ir(Tl[2],c,e,x),u(f(e),B90)}u(f(e),q90),a(n,e,i[1]),u(f(e),U90);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(kD[1],y,p,e,s),u(f(e),H90)}),N(bQ,function(t,n,e){var i=a(lm,t,n);return a(P0(j90),i,e)}),N(bm,function(t,n,e,i){u(f(e),g90),a(f(e),T90,F90);var x=i[1];function c(T){return u(n,T)}R(vm,function(T){return u(t,T)},c,e,x),u(f(e),O90),u(f(e),I90),a(f(e),N90,A90);var s=i[2];if(s){g(e,C90);var p=s[1],y=function(T){return u(n,T)};R(lm,function(T){return u(t,T)},y,e,p),g(e,P90)}else g(e,D90);return u(f(e),L90),u(f(e),R90)}),N(pQ,function(t,n,e){var i=a(bm,t,n);return a(P0(S90),i,e)});var mQ=[0,wD,vQ,vm,lQ,lm,bQ,bm,pQ],ED=function t(n,e,i,x){return t.fun(n,e,i,x)},_Q=function t(n,e,i){return t.fun(n,e,i)},pm=function t(n,e,i,x){return t.fun(n,e,i,x)},yQ=function t(n,e,i){return t.fun(n,e,i)};N(ED,function(t,n,e,i){u(f(e),k90),a(t,e,i[1]),u(f(e),w90);var x=i[2];function c(s){return u(n,s)}return R(pm,function(s){return u(t,s)},c,e,x),u(f(e),E90)}),N(_Q,function(t,n,e){var i=a(ED,t,n);return a(P0(h90),i,e)}),N(pm,function(t,n,e,i){u(f(e),a90),a(f(e),c90,o90);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),s90),u(f(e),v90),a(f(e),b90,l90);var p=i[2];if(p){g(e,p90);var y=p[1],T=function(h,w){return g(h,x90)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,m90)}else g(e,_90);return u(f(e),y90),u(f(e),d90)}),N(yQ,function(t,n,e){var i=a(pm,t,n);return a(P0(f90),i,e)});var dQ=[0,ED,_Q,pm,yQ],mm=function t(n,e,i,x){return t.fun(n,e,i,x)},hQ=function t(n,e,i){return t.fun(n,e,i)},_m=function t(n,e,i,x){return t.fun(n,e,i,x)},kQ=function t(n,e,i){return t.fun(n,e,i)},ym=function t(n,e,i,x){return t.fun(n,e,i,x)},wQ=function t(n,e,i){return t.fun(n,e,i)};N(mm,function(t,n,e,i){u(f(e),t90),a(t,e,i[1]),u(f(e),u90);var x=i[2];function c(s){return u(n,s)}return R(ym,function(s){return u(t,s)},c,e,x),u(f(e),i90)}),N(hQ,function(t,n,e){var i=a(mm,t,n);return a(P0(n90),i,e)}),N(_m,function(t,n,e,i){if(i[0]===0){u(f(e),Zm0);var x=i[1],c=function(T){return u(n,T)},s=function(T){return u(t,T)};return R(I1[1],s,c,e,x),u(f(e),Qm0)}u(f(e),r90);var p=i[1];function y(T){return u(n,T)}return R(mm,function(T){return u(t,T)},y,e,p),u(f(e),e90)}),N(kQ,function(t,n,e){var i=a(_m,t,n);return a(P0($m0),i,e)}),N(ym,function(t,n,e,i){u(f(e),Um0),a(f(e),Xm0,Hm0);var x=i[1];function c(T){return u(n,T)}R(_m,function(T){return u(t,T)},c,e,x),u(f(e),Ym0),u(f(e),Vm0),a(f(e),Km0,zm0);var s=i[2];function p(T){return u(n,T)}function y(T){return u(t,T)}return R(I1[1],y,p,e,s),u(f(e),Wm0),u(f(e),Jm0)}),N(wQ,function(t,n,e){var i=a(ym,t,n);return a(P0(qm0),i,e)});var EQ=[0,mm,hQ,_m,kQ,ym,wQ],Nl=function t(n,e,i,x){return t.fun(n,e,i,x)},SQ=function t(n,e,i){return t.fun(n,e,i)};N(Nl,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Lm0);var x=i[1],c=function(G){return u(n,G)},s=function(G){return u(t,G)};return R(I1[1],s,c,e,x),u(f(e),Rm0);case 1:u(f(e),jm0);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(dD[1],T,y,e,p),u(f(e),Gm0);default:u(f(e),Mm0);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(EQ[1],w,h,e,E),u(f(e),Bm0)}}),N(SQ,function(t,n,e){var i=a(Nl,t,n);return a(P0(Dm0),i,e)});var SD=function t(n,e,i,x){return t.fun(n,e,i,x)},gQ=function t(n,e,i){return t.fun(n,e,i)},dm=function t(n,e,i,x){return t.fun(n,e,i,x)},FQ=function t(n,e,i){return t.fun(n,e,i)},hm=function t(n,e,i,x){return t.fun(n,e,i,x)},TQ=function t(n,e,i){return t.fun(n,e,i)};N(SD,function(t,n,e,i){u(f(e),Nm0),a(t,e,i[1]),u(f(e),Cm0);var x=i[2];function c(s){return u(n,s)}return R(hm,function(s){return u(t,s)},c,e,x),u(f(e),Pm0)}),N(gQ,function(t,n,e){var i=a(SD,t,n);return a(P0(Am0),i,e)}),N(dm,function(t,n,e,i){if(i[0]===0){u(f(e),Fm0);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(mQ[1],s,c,e,x),u(f(e),Tm0)}u(f(e),Om0);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(dQ[1],T,y,e,p),u(f(e),Im0)}),N(FQ,function(t,n,e){var i=a(dm,t,n);return a(P0(gm0),i,e)}),N(hm,function(t,n,e,i){u(f(e),om0),a(f(e),sm0,cm0);var x=i[1];function c(T){return u(n,T)}R(Nl,function(T){return u(t,T)},c,e,x),u(f(e),vm0),u(f(e),lm0),a(f(e),pm0,bm0);var s=i[2];a(f(e),mm0,s),u(f(e),_m0),u(f(e),ym0),a(f(e),hm0,dm0);var p=i[3];u(f(e),km0);var y=0;return be(function(T,E){T&&u(f(e),am0);function h(w){return u(n,w)}return R(dm,function(w){return u(t,w)},h,e,E),1},y,p),u(f(e),wm0),u(f(e),Em0),u(f(e),Sm0)}),N(TQ,function(t,n,e){var i=a(hm,t,n);return a(P0(xm0),i,e)});var OQ=[0,SD,gQ,dm,FQ,hm,TQ],gD=function t(n,e,i,x){return t.fun(n,e,i,x)},IQ=function t(n,e,i){return t.fun(n,e,i)},km=function t(n,e,i,x){return t.fun(n,e,i,x)},AQ=function t(n,e,i){return t.fun(n,e,i)};N(gD,function(t,n,e,i){u(f(e),um0),a(t,e,i[1]),u(f(e),im0);var x=i[2];function c(s){return u(n,s)}return R(km,function(s){return u(t,s)},c,e,x),u(f(e),fm0)}),N(IQ,function(t,n,e){var i=a(gD,t,n);return a(P0(tm0),i,e)}),N(km,function(t,n,e,i){u(f(e),Z50),a(f(e),rm0,Q50);var x=i[1];function c(s){return u(n,s)}return R(Nl,function(s){return u(t,s)},c,e,x),u(f(e),em0),u(f(e),nm0)}),N(AQ,function(t,n,e){var i=a(km,t,n);return a(P0($50),i,e)});var NQ=[0,gD,IQ,km,AQ],FD=function t(n,e,i,x){return t.fun(n,e,i,x)},CQ=function t(n,e,i){return t.fun(n,e,i)};N(FD,function(t,n,e,i){u(f(e),M50),a(f(e),q50,B50);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),U50),u(f(e),H50),a(f(e),Y50,X50);var p=i[2];if(p){g(e,V50);var y=p[1],T=function(h,w){return g(h,G50)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,z50)}else g(e,K50);return u(f(e),W50),u(f(e),J50)}),N(CQ,function(t,n,e){var i=a(FD,t,n);return a(P0(j50),i,e)});var PQ=[0,FD,CQ],Cl=function t(n,e,i,x){return t.fun(n,e,i,x)},DQ=function t(n,e,i){return t.fun(n,e,i)},wm=function t(n,e,i,x){return t.fun(n,e,i,x)},LQ=function t(n,e,i){return t.fun(n,e,i)},Em=function t(n,e,i,x){return t.fun(n,e,i,x)},RQ=function t(n,e,i){return t.fun(n,e,i)},Sm=function t(n,e,i,x){return t.fun(n,e,i,x)},jQ=function t(n,e,i){return t.fun(n,e,i)};N(Cl,function(t,n,e,i){u(f(e),D50),a(t,e,i[1]),u(f(e),L50);var x=i[2];function c(s){return u(n,s)}return R(wm,function(s){return u(t,s)},c,e,x),u(f(e),R50)}),N(DQ,function(t,n,e){var i=a(Cl,t,n);return a(P0(P50),i,e)}),N(wm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),E50);var x=i[1],c=function(A){return u(n,A)};return R(Em,function(A){return u(t,A)},c,e,x),u(f(e),S50);case 1:u(f(e),g50);var s=i[1],p=function(A){return u(n,A)};return R(Sm,function(A){return u(t,A)},p,e,s),u(f(e),F50);case 2:u(f(e),T50);var y=i[1],T=function(A){return u(n,A)},E=function(A){return u(t,A)};return R(kD[1],E,T,e,y),u(f(e),O50);case 3:u(f(e),I50);var h=i[1],w=function(A){return u(n,A)},G=function(A){return u(t,A)};return R(PQ[1],G,w,e,h),u(f(e),A50);default:return u(f(e),N50),a(sQ[1],e,i[1]),u(f(e),C50)}}),N(LQ,function(t,n,e){var i=a(wm,t,n);return a(P0(w50),i,e)}),N(Em,function(t,n,e,i){u(f(e),Kp0),a(f(e),Jp0,Wp0);var x=i[1];function c(V){return u(n,V)}function s(V){return u(t,V)}R(OQ[1],s,c,e,x),u(f(e),$p0),u(f(e),Zp0),a(f(e),r50,Qp0);var p=i[2];if(p){g(e,e50);var y=p[1],T=function(V){return u(n,V)},E=function(V){return u(t,V)};R(NQ[1],E,T,e,y),g(e,n50)}else g(e,t50);u(f(e),u50),u(f(e),i50),a(f(e),x50,f50);var h=i[3];u(f(e),a50),a(t,e,h[1]),u(f(e),o50),u(f(e),c50);var w=h[2],G=0;be(function(V,f0){V&&u(f(e),zp0);function m0(k0){return u(n,k0)}return R(Cl,function(k0){return u(t,k0)},m0,e,f0),1},G,w),u(f(e),s50),u(f(e),v50),u(f(e),l50),u(f(e),b50),a(f(e),m50,p50);var A=i[4];if(A){g(e,_50);var S=A[1],M=function(V,f0){return g(V,Vp0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,y50)}else g(e,d50);return u(f(e),h50),u(f(e),k50)}),N(RQ,function(t,n,e){var i=a(Em,t,n);return a(P0(Yp0),i,e)}),N(Sm,function(t,n,e,i){u(f(e),hp0),a(f(e),wp0,kp0),a(t,e,i[1]),u(f(e),Ep0),u(f(e),Sp0),a(f(e),Fp0,gp0),a(t,e,i[2]),u(f(e),Tp0),u(f(e),Op0),a(f(e),Ap0,Ip0);var x=i[3];u(f(e),Np0),a(t,e,x[1]),u(f(e),Cp0),u(f(e),Pp0);var c=x[2],s=0;be(function(h,w){h&&u(f(e),dp0);function G(A){return u(n,A)}return R(Cl,function(A){return u(t,A)},G,e,w),1},s,c),u(f(e),Dp0),u(f(e),Lp0),u(f(e),Rp0),u(f(e),jp0),a(f(e),Mp0,Gp0);var p=i[4];if(p){g(e,Bp0);var y=p[1],T=function(h,w){return g(h,yp0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,qp0)}else g(e,Up0);return u(f(e),Hp0),u(f(e),Xp0)}),N(jQ,function(t,n,e){var i=a(Sm,t,n);return a(P0(_p0),i,e)}),pu(v6r,YN,[0,I1,dD,kD,sQ,mQ,dQ,EQ,Nl,SQ,OQ,NQ,PQ,Cl,DQ,wm,LQ,Em,RQ,Sm,jQ]);var TD=function t(n,e,i,x){return t.fun(n,e,i,x)},GQ=function t(n,e,i){return t.fun(n,e,i)},gm=function t(n,e,i,x){return t.fun(n,e,i,x)},MQ=function t(n,e,i){return t.fun(n,e,i)};N(TD,function(t,n,e,i){u(f(e),bp0),a(t,e,i[1]),u(f(e),pp0);var x=i[2];function c(s){return u(n,s)}return R(gm,function(s){return u(t,s)},c,e,x),u(f(e),mp0)}),N(GQ,function(t,n,e){var i=a(TD,t,n);return a(P0(lp0),i,e)}),N(gm,function(t,n,e,i){u(f(e),ep0),a(f(e),tp0,np0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),up0),u(f(e),ip0),a(f(e),xp0,fp0);var p=i[2];if(p){g(e,ap0);var y=p[1],T=function(h,w){return g(h,rp0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,op0)}else g(e,cp0);return u(f(e),sp0),u(f(e),vp0)}),N(MQ,function(t,n,e){var i=a(gm,t,n);return a(P0(Q60),i,e)});var OD=[0,TD,GQ,gm,MQ],Fm=function t(n,e,i,x){return t.fun(n,e,i,x)},BQ=function t(n,e,i){return t.fun(n,e,i)},ID=function t(n,e,i,x){return t.fun(n,e,i,x)},qQ=function t(n,e,i){return t.fun(n,e,i)},Tm=function t(n,e,i,x){return t.fun(n,e,i,x)},UQ=function t(n,e,i){return t.fun(n,e,i)};N(Fm,function(t,n,e,i){switch(i[0]){case 0:var x=i[1];u(f(e),X60),u(f(e),Y60),a(t,e,x[1]),u(f(e),V60);var c=x[2],s=function(G){return u(t,G)};return ir(Tl[2],s,e,c),u(f(e),z60),u(f(e),K60);case 1:u(f(e),W60);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(Ln[1],T,y,e,p),u(f(e),J60);default:u(f(e),$60);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(Up[1],w,h,e,E),u(f(e),Z60)}}),N(BQ,function(t,n,e){var i=a(Fm,t,n);return a(P0(H60),i,e)}),N(ID,function(t,n,e,i){u(f(e),B60),a(t,e,i[1]),u(f(e),q60);var x=i[2];function c(s){return u(n,s)}return R(Tm,function(s){return u(t,s)},c,e,x),u(f(e),U60)}),N(qQ,function(t,n,e){var i=a(ID,t,n);return a(P0(M60),i,e)}),N(Tm,function(t,n,e,i){u(f(e),y60),a(f(e),h60,d60);var x=i[1];function c(A){return u(n,A)}R(Fm,function(A){return u(t,A)},c,e,x),u(f(e),k60),u(f(e),w60),a(f(e),S60,E60);var s=i[2];function p(A){return u(n,A)}function y(A){return u(t,A)}R(di[5],y,p,e,s),u(f(e),g60),u(f(e),F60),a(f(e),O60,T60);var T=i[3];if(T){g(e,I60);var E=T[1],h=function(A){return u(n,A)},w=function(A){return u(t,A)};R(qe[31],w,h,e,E),g(e,A60)}else g(e,N60);u(f(e),C60),u(f(e),P60),a(f(e),L60,D60);var G=i[4];return a(f(e),R60,G),u(f(e),j60),u(f(e),G60)}),N(UQ,function(t,n,e){var i=a(Tm,t,n);return a(P0(_60),i,e)});var HQ=[0,Fm,BQ,ID,qQ,Tm,UQ],Om=function t(n,e,i,x){return t.fun(n,e,i,x)},XQ=function t(n,e,i){return t.fun(n,e,i)},AD=function t(n,e,i,x){return t.fun(n,e,i,x)},YQ=function t(n,e,i){return t.fun(n,e,i)};N(Om,function(t,n,e,i){if(i[0]===0){u(f(e),l60);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(HQ[3],s,c,e,x),u(f(e),b60)}u(f(e),p60);var p=i[1];function y(E){return u(n,E)}function T(E){return u(t,E)}return R(OD[1],T,y,e,p),u(f(e),m60)}),N(XQ,function(t,n,e){var i=a(Om,t,n);return a(P0(v60),i,e)}),N(AD,function(t,n,e,i){u(f(e),K30),a(f(e),J30,W30);var x=i[1];u(f(e),$30);var c=0;be(function(G,A){G&&u(f(e),z30);function S(M){return u(n,M)}return R(Om,function(M){return u(t,M)},S,e,A),1},c,x),u(f(e),Z30),u(f(e),Q30),u(f(e),r60),a(f(e),n60,e60);var s=i[2];function p(G){return u(n,G)}function y(G){return u(t,G)}R(Je[19],y,p,e,s),u(f(e),t60),u(f(e),u60),a(f(e),f60,i60);var T=i[3];if(T){g(e,x60);var E=T[1],h=function(G,A){u(f(G),Y30);var S=0;return be(function(M,K){M&&u(f(G),X30);function V(f0){return u(t,f0)}return ir(uu[1],V,G,K),1},S,A),u(f(G),V30)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,a60)}else g(e,o60);return u(f(e),c60),u(f(e),s60)}),N(YQ,function(t,n,e){var i=a(AD,t,n);return a(P0(H30),i,e)});var VQ=[0,HQ,Om,XQ,AD,YQ],ND=function t(n,e,i,x){return t.fun(n,e,i,x)},zQ=function t(n,e,i){return t.fun(n,e,i)},Im=function t(n,e,i,x){return t.fun(n,e,i,x)},KQ=function t(n,e,i){return t.fun(n,e,i)};N(ND,function(t,n,e,i){u(f(e),B30),a(t,e,i[1]),u(f(e),q30);var x=i[2];function c(s){return u(n,s)}return R(Im,function(s){return u(t,s)},c,e,x),u(f(e),U30)}),N(zQ,function(t,n,e){var i=a(ND,t,n);return a(P0(M30),i,e)}),N(Im,function(t,n,e,i){u(f(e),T30),a(f(e),I30,O30);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),A30),u(f(e),N30),a(f(e),P30,C30);var p=i[2];if(p){g(e,D30);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,L30)}else g(e,R30);return u(f(e),j30),u(f(e),G30)}),N(KQ,function(t,n,e){var i=a(Im,t,n);return a(P0(F30),i,e)});var WQ=[0,ND,zQ,Im,KQ],Am=function t(n,e,i,x){return t.fun(n,e,i,x)},JQ=function t(n,e,i){return t.fun(n,e,i)},CD=function t(n,e,i,x){return t.fun(n,e,i,x)},$Q=function t(n,e,i){return t.fun(n,e,i)};N(Am,function(t,n,e,i){switch(i[0]){case 0:u(f(e),h30);var x=i[1],c=function(E){return u(n,E)},s=function(E){return u(t,E)};return R(WQ[1],s,c,e,x),u(f(e),k30);case 1:u(f(e),w30);var p=i[1],y=function(E){return u(n,E)},T=function(E){return u(t,E)};return R(OD[1],T,y,e,p),u(f(e),E30);default:return u(f(e),S30),a(t,e,i[1]),u(f(e),g30)}}),N(JQ,function(t,n,e){var i=a(Am,t,n);return a(P0(d30),i,e)}),N(CD,function(t,n,e,i){u(f(e),e30),a(f(e),t30,n30);var x=i[1];u(f(e),u30);var c=0;be(function(G,A){G&&u(f(e),r30);function S(M){return u(n,M)}return R(Am,function(M){return u(t,M)},S,e,A),1},c,x),u(f(e),i30),u(f(e),f30),u(f(e),x30),a(f(e),o30,a30);var s=i[2];function p(G){return u(n,G)}function y(G){return u(t,G)}R(Je[19],y,p,e,s),u(f(e),c30),u(f(e),s30),a(f(e),l30,v30);var T=i[3];if(T){g(e,b30);var E=T[1],h=function(G,A){u(f(G),Z80);var S=0;return be(function(M,K){M&&u(f(G),$80);function V(f0){return u(t,f0)}return ir(uu[1],V,G,K),1},S,A),u(f(G),Q80)},w=function(G){return u(t,G)};R(Dr[1],w,h,e,E),g(e,p30)}else g(e,m30);return u(f(e),_30),u(f(e),y30)}),N($Q,function(t,n,e){var i=a(CD,t,n);return a(P0(J80),i,e)});var ZQ=[0,WQ,Am,JQ,CD,$Q],PD=function t(n,e,i,x){return t.fun(n,e,i,x)},QQ=function t(n,e,i){return t.fun(n,e,i)};N(PD,function(t,n,e,i){u(f(e),R80),a(f(e),G80,j80);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Ln[1],s,c,e,x),u(f(e),M80),u(f(e),B80),a(f(e),U80,q80);var p=i[2];function y(h){return u(n,h)}function T(h){return u(t,h)}R(Je[19],T,y,e,p),u(f(e),H80),u(f(e),X80),a(f(e),V80,Y80);var E=i[3];return a(f(e),z80,E),u(f(e),K80),u(f(e),W80)}),N(QQ,function(t,n,e){var i=a(PD,t,n);return a(P0(L80),i,e)});var r00=[0,PD,QQ],DD=function t(n,e,i,x){return t.fun(n,e,i,x)},e00=function t(n,e,i){return t.fun(n,e,i)},Nm=function t(n,e,i,x){return t.fun(n,e,i,x)},n00=function t(n,e,i){return t.fun(n,e,i)};N(DD,function(t,n,e,i){u(f(e),C80),a(n,e,i[1]),u(f(e),P80);var x=i[2];function c(s){return u(n,s)}return R(Nm,function(s){return u(t,s)},c,e,x),u(f(e),D80)}),N(e00,function(t,n,e){var i=a(DD,t,n);return a(P0(N80),i,e)}),N(Nm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),E80);var x=i[1],c=function(M){return u(n,M)},s=function(M){return u(t,M)};return R(VQ[4],s,c,e,x),u(f(e),S80);case 1:u(f(e),g80);var p=i[1],y=function(M){return u(n,M)},T=function(M){return u(t,M)};return R(ZQ[4],T,y,e,p),u(f(e),F80);case 2:u(f(e),T80);var E=i[1],h=function(M){return u(n,M)},w=function(M){return u(t,M)};return R(r00[1],w,h,e,E),u(f(e),O80);default:u(f(e),I80);var G=i[1],A=function(M){return u(n,M)},S=function(M){return u(t,M)};return R(qe[31],S,A,e,G),u(f(e),A80)}}),N(n00,function(t,n,e){var i=a(Nm,t,n);return a(P0(w80),i,e)}),pu(l6r,di,[0,OD,VQ,ZQ,r00,DD,e00,Nm,n00]);var LD=function t(n,e,i){return t.fun(n,e,i)},t00=function t(n,e){return t.fun(n,e)},Cm=function t(n,e){return t.fun(n,e)},u00=function t(n){return t.fun(n)},Pm=function t(n,e){return t.fun(n,e)},i00=function t(n){return t.fun(n)};N(LD,function(t,n,e){return u(f(n),d80),a(t,n,e[1]),u(f(n),h80),a(Pm,n,e[2]),u(f(n),k80)}),N(t00,function(t,n){var e=u(LD,t);return a(P0(y80),e,n)}),N(Cm,function(t,n){return n?g(t,m80):g(t,_80)}),N(u00,function(t){return a(P0(p80),Cm,t)}),N(Pm,function(t,n){u(f(t),r80),a(f(t),n80,e80),a(Cm,t,n[1]),u(f(t),t80),u(f(t),u80),a(f(t),f80,i80);var e=n[2];a(f(t),x80,e),u(f(t),a80),u(f(t),o80),a(f(t),s80,c80);var i=n[3];return a(f(t),v80,i),u(f(t),l80),u(f(t),b80)}),N(i00,function(t){return a(P0(Q40),Pm,t)}),pu(b6r,uu,[0,LD,t00,Cm,u00,Pm,i00]);var RD=function t(n,e,i,x){return t.fun(n,e,i,x)},f00=function t(n,e,i){return t.fun(n,e,i)},Dm=function t(n,e){return t.fun(n,e)},x00=function t(n){return t.fun(n)},Lm=function t(n,e,i,x){return t.fun(n,e,i,x)},a00=function t(n,e,i){return t.fun(n,e,i)};N(RD,function(t,n,e,i){u(f(e),J40),a(n,e,i[1]),u(f(e),$40);var x=i[2];function c(s){return u(n,s)}return R(Lm,function(s){return u(t,s)},c,e,x),u(f(e),Z40)}),N(f00,function(t,n,e){var i=a(RD,t,n);return a(P0(W40),i,e)}),N(Dm,function(t,n){switch(n){case 0:return g(t,Y40);case 1:return g(t,V40);case 2:return g(t,z40);default:return g(t,K40)}}),N(x00,function(t){return a(P0(X40),Dm,t)}),N(Lm,function(t,n,e,i){u(f(e),c40),a(f(e),v40,s40),a(Dm,e,i[1]),u(f(e),l40),u(f(e),b40),a(f(e),m40,p40);var x=i[2];function c(V){return u(n,V)}function s(V){return u(t,V)}R(qe[7][1][1],s,c,e,x),u(f(e),_40),u(f(e),y40),a(f(e),h40,d40);var p=i[3];u(f(e),k40),a(t,e,p[1]),u(f(e),w40);var y=p[2];function T(V){return u(n,V)}function E(V){return u(t,V)}R(Ps[5],E,T,e,y),u(f(e),E40),u(f(e),S40),u(f(e),g40),a(f(e),T40,F40);var h=i[4];a(f(e),O40,h),u(f(e),I40),u(f(e),A40),a(f(e),C40,N40);var w=i[5];u(f(e),P40);var G=0;be(function(V,f0){V&&u(f(e),o40);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(T1[7][1],k0,m0,e,f0),1},G,w),u(f(e),D40),u(f(e),L40),u(f(e),R40),a(f(e),G40,j40);var A=i[6];if(A){g(e,M40);var S=A[1],M=function(V,f0){return g(V,a40)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,B40)}else g(e,q40);return u(f(e),U40),u(f(e),H40)}),N(a00,function(t,n,e){var i=a(Lm,t,n);return a(P0(x40),i,e)});var o00=[0,RD,f00,Dm,x00,Lm,a00],jD=function t(n,e,i,x){return t.fun(n,e,i,x)},c00=function t(n,e,i){return t.fun(n,e,i)},Rm=function t(n,e,i,x){return t.fun(n,e,i,x)},s00=function t(n,e,i){return t.fun(n,e,i)},jm=function t(n,e,i,x){return t.fun(n,e,i,x)},v00=function t(n,e,i){return t.fun(n,e,i)};N(jD,function(t,n,e,i){u(f(e),u40),a(n,e,i[1]),u(f(e),i40);var x=i[2];function c(s){return u(n,s)}return R(Rm,function(s){return u(t,s)},c,e,x),u(f(e),f40)}),N(c00,function(t,n,e){var i=a(jD,t,n);return a(P0(t40),i,e)}),N(Rm,function(t,n,e,i){u(f(e),gb0),a(f(e),Tb0,Fb0);var x=i[1];function c(m0){return u(n,m0)}function s(m0){return u(t,m0)}R(qe[7][1][1],s,c,e,x),u(f(e),Ob0),u(f(e),Ib0),a(f(e),Nb0,Ab0);var p=i[2];function y(m0){return u(n,m0)}R(jm,function(m0){return u(t,m0)},y,e,p),u(f(e),Cb0),u(f(e),Pb0),a(f(e),Lb0,Db0);var T=i[3];function E(m0){return u(n,m0)}function h(m0){return u(t,m0)}R(Je[19],h,E,e,T),u(f(e),Rb0),u(f(e),jb0),a(f(e),Mb0,Gb0);var w=i[4];a(f(e),Bb0,w),u(f(e),qb0),u(f(e),Ub0),a(f(e),Xb0,Hb0);var G=i[5];if(G){g(e,Yb0);var A=G[1],S=function(m0){return u(t,m0)};ir(zv[1],S,e,A),g(e,Vb0)}else g(e,zb0);u(f(e),Kb0),u(f(e),Wb0),a(f(e),$b0,Jb0);var M=i[6];if(M){g(e,Zb0);var K=M[1],V=function(m0,k0){return g(m0,Sb0)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,Qb0)}else g(e,r40);return u(f(e),e40),u(f(e),n40)}),N(s00,function(t,n,e){var i=a(Rm,t,n);return a(P0(Eb0),i,e)}),N(jm,function(t,n,e,i){if(typeof i=="number")return i?g(e,db0):g(e,hb0);u(f(e),kb0);var x=i[1];function c(p){return u(n,p)}function s(p){return u(t,p)}return R(qe[31],s,c,e,x),u(f(e),wb0)}),N(v00,function(t,n,e){var i=a(jm,t,n);return a(P0(yb0),i,e)});var l00=[0,jD,c00,Rm,s00,jm,v00],GD=function t(n,e,i,x){return t.fun(n,e,i,x)},b00=function t(n,e,i){return t.fun(n,e,i)},Gm=function t(n,e,i,x){return t.fun(n,e,i,x)},p00=function t(n,e,i){return t.fun(n,e,i)};N(GD,function(t,n,e,i){u(f(e),pb0),a(n,e,i[1]),u(f(e),mb0);var x=i[2];function c(s){return u(n,s)}return R(Gm,function(s){return u(t,s)},c,e,x),u(f(e),_b0)}),N(b00,function(t,n,e){var i=a(GD,t,n);return a(P0(bb0),i,e)}),N(Gm,function(t,n,e,i){u(f(e),Rl0),a(f(e),Gl0,jl0);var x=i[1];function c(m0){return u(t,m0)}ir(qp[1],c,e,x),u(f(e),Ml0),u(f(e),Bl0),a(f(e),Ul0,ql0);var s=i[2];function p(m0){return u(n,m0)}function y(m0){return u(t,m0)}R(T1[2][5],y,p,e,s),u(f(e),Hl0),u(f(e),Xl0),a(f(e),Vl0,Yl0);var T=i[3];function E(m0){return u(n,m0)}function h(m0){return u(t,m0)}R(Je[19],h,E,e,T),u(f(e),zl0),u(f(e),Kl0),a(f(e),Jl0,Wl0);var w=i[4];a(f(e),$l0,w),u(f(e),Zl0),u(f(e),Ql0),a(f(e),eb0,rb0);var G=i[5];if(G){g(e,nb0);var A=G[1],S=function(m0){return u(t,m0)};ir(zv[1],S,e,A),g(e,tb0)}else g(e,ub0);u(f(e),ib0),u(f(e),fb0),a(f(e),ab0,xb0);var M=i[6];if(M){g(e,ob0);var K=M[1],V=function(m0,k0){return g(m0,Ll0)},f0=function(m0){return u(t,m0)};R(Dr[1],f0,V,e,K),g(e,cb0)}else g(e,sb0);return u(f(e),vb0),u(f(e),lb0)}),N(p00,function(t,n,e){var i=a(Gm,t,n);return a(P0(Dl0),i,e)});var m00=[0,GD,b00,Gm,p00],MD=function t(n,e,i,x){return t.fun(n,e,i,x)},_00=function t(n,e,i){return t.fun(n,e,i)},Mm=function t(n,e,i,x){return t.fun(n,e,i,x)},y00=function t(n,e,i){return t.fun(n,e,i)};N(MD,function(t,n,e,i){u(f(e),Nl0),a(t,e,i[1]),u(f(e),Cl0);var x=i[2];function c(s){return u(n,s)}return R(Mm,function(s){return u(t,s)},c,e,x),u(f(e),Pl0)}),N(_00,function(t,n,e){var i=a(MD,t,n);return a(P0(Al0),i,e)}),N(Mm,function(t,n,e,i){u(f(e),sl0),a(f(e),ll0,vl0);var x=i[1];function c(S){return u(n,S)}function s(S){return u(t,S)}R(qe[31],s,c,e,x),u(f(e),bl0),u(f(e),pl0),a(f(e),_l0,ml0);var p=i[2];if(p){g(e,yl0);var y=p[1],T=function(S){return u(n,S)},E=function(S){return u(t,S)};R(Je[23][1],E,T,e,y),g(e,dl0)}else g(e,hl0);u(f(e),kl0),u(f(e),wl0),a(f(e),Sl0,El0);var h=i[3];if(h){g(e,gl0);var w=h[1],G=function(S,M){return g(S,cl0)},A=function(S){return u(t,S)};R(Dr[1],A,G,e,w),g(e,Fl0)}else g(e,Tl0);return u(f(e),Ol0),u(f(e),Il0)}),N(y00,function(t,n,e){var i=a(Mm,t,n);return a(P0(ol0),i,e)});var d00=[0,MD,_00,Mm,y00],BD=function t(n,e,i,x){return t.fun(n,e,i,x)},h00=function t(n,e,i){return t.fun(n,e,i)},Bm=function t(n,e,i,x){return t.fun(n,e,i,x)},k00=function t(n,e,i){return t.fun(n,e,i)};N(BD,function(t,n,e,i){u(f(e),fl0),a(t,e,i[1]),u(f(e),xl0);var x=i[2];function c(s){return u(n,s)}return R(Bm,function(s){return u(t,s)},c,e,x),u(f(e),al0)}),N(h00,function(t,n,e){var i=a(BD,t,n);return a(P0(il0),i,e)}),N(Bm,function(t,n,e,i){u(f(e),z20),a(f(e),W20,K20);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Ln[1],s,c,e,x),u(f(e),J20),u(f(e),$20),a(f(e),Q20,Z20);var p=i[2];if(p){g(e,rl0);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(Je[23][1],E,T,e,y),g(e,el0)}else g(e,nl0);return u(f(e),tl0),u(f(e),ul0)}),N(k00,function(t,n,e){var i=a(Bm,t,n);return a(P0(V20),i,e)});var w00=[0,BD,h00,Bm,k00],qD=function t(n,e,i,x){return t.fun(n,e,i,x)},E00=function t(n,e,i){return t.fun(n,e,i)},qm=function t(n,e,i,x){return t.fun(n,e,i,x)},S00=function t(n,e,i){return t.fun(n,e,i)};N(qD,function(t,n,e,i){u(f(e),H20),a(t,e,i[1]),u(f(e),X20);var x=i[2];function c(s){return u(n,s)}return R(qm,function(s){return u(t,s)},c,e,x),u(f(e),Y20)}),N(E00,function(t,n,e){var i=a(qD,t,n);return a(P0(U20),i,e)}),N(qm,function(t,n,e,i){u(f(e),O20),a(f(e),A20,I20);var x=i[1];u(f(e),N20);var c=0;be(function(E,h){E&&u(f(e),T20);function w(A){return u(n,A)}function G(A){return u(t,A)}return R(w00[1],G,w,e,h),1},c,x),u(f(e),C20),u(f(e),P20),u(f(e),D20),a(f(e),R20,L20);var s=i[2];if(s){g(e,j20);var p=s[1],y=function(E,h){return g(E,F20)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,G20)}else g(e,M20);return u(f(e),B20),u(f(e),q20)}),N(S00,function(t,n,e){var i=a(qm,t,n);return a(P0(g20),i,e)});var g00=[0,w00,qD,E00,qm,S00],UD=function t(n,e,i,x){return t.fun(n,e,i,x)},F00=function t(n,e,i){return t.fun(n,e,i)},Um=function t(n,e,i,x){return t.fun(n,e,i,x)},T00=function t(n,e,i){return t.fun(n,e,i)},Hm=function t(n,e,i,x){return t.fun(n,e,i,x)},O00=function t(n,e,i){return t.fun(n,e,i)};N(UD,function(t,n,e,i){u(f(e),w20),a(t,e,i[1]),u(f(e),E20);var x=i[2];function c(s){return u(n,s)}return R(Um,function(s){return u(t,s)},c,e,x),u(f(e),S20)}),N(F00,function(t,n,e){var i=a(UD,t,n);return a(P0(k20),i,e)}),N(Um,function(t,n,e,i){u(f(e),x20),a(f(e),o20,a20);var x=i[1];u(f(e),c20);var c=0;be(function(E,h){E&&u(f(e),f20);function w(G){return u(n,G)}return R(Hm,function(G){return u(t,G)},w,e,h),1},c,x),u(f(e),s20),u(f(e),v20),u(f(e),l20),a(f(e),p20,b20);var s=i[2];if(s){g(e,m20);var p=s[1],y=function(E,h){return g(E,i20)},T=function(E){return u(t,E)};R(Dr[1],T,y,e,p),g(e,_20)}else g(e,y20);return u(f(e),d20),u(f(e),h20)}),N(T00,function(t,n,e){var i=a(Um,t,n);return a(P0(u20),i,e)}),N(Hm,function(t,n,e,i){switch(i[0]){case 0:u(f(e),Zv0);var x=i[1],c=function(G){return u(n,G)},s=function(G){return u(t,G)};return R(o00[1],s,c,e,x),u(f(e),Qv0);case 1:u(f(e),r20);var p=i[1],y=function(G){return u(n,G)},T=function(G){return u(t,G)};return R(l00[1],T,y,e,p),u(f(e),e20);default:u(f(e),n20);var E=i[1],h=function(G){return u(n,G)},w=function(G){return u(t,G)};return R(m00[1],w,h,e,E),u(f(e),t20)}}),N(O00,function(t,n,e){var i=a(Hm,t,n);return a(P0($v0),i,e)});var HD=function t(n,e,i,x){return t.fun(n,e,i,x)},I00=function t(n,e,i){return t.fun(n,e,i)},Xm=function t(n,e,i,x){return t.fun(n,e,i,x)},A00=function t(n,e,i){return t.fun(n,e,i)},Bee=[0,UD,F00,Um,T00,Hm,O00];N(HD,function(t,n,e,i){u(f(e),Kv0),a(t,e,i[1]),u(f(e),Wv0);var x=i[2];function c(s){return u(n,s)}return R(Xm,function(s){return u(t,s)},c,e,x),u(f(e),Jv0)}),N(I00,function(t,n,e){var i=a(HD,t,n);return a(P0(zv0),i,e)}),N(Xm,function(t,n,e,i){u(f(e),Lv0),a(f(e),jv0,Rv0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(qe[31],s,c,e,x),u(f(e),Gv0),u(f(e),Mv0),a(f(e),qv0,Bv0);var p=i[2];if(p){g(e,Uv0);var y=p[1],T=function(h,w){return g(h,Dv0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Hv0)}else g(e,Xv0);return u(f(e),Yv0),u(f(e),Vv0)}),N(A00,function(t,n,e){var i=a(Xm,t,n);return a(P0(Pv0),i,e)});var N00=[0,HD,I00,Xm,A00],XD=function t(n,e,i,x){return t.fun(n,e,i,x)},C00=function t(n,e,i){return t.fun(n,e,i)};N(XD,function(t,n,e,i){u(f(e),q10),a(f(e),H10,U10);var x=i[1];if(x){g(e,X10);var c=x[1],s=function(w0){return u(n,w0)},p=function(w0){return u(t,w0)};R(Ln[1],p,s,e,c),g(e,Y10)}else g(e,V10);u(f(e),z10),u(f(e),K10),a(f(e),J10,W10);var y=i[2];function T(w0){return u(n,w0)}function E(w0){return u(t,w0)}R(T1[6][1],E,T,e,y),u(f(e),$10),u(f(e),Z10),a(f(e),rv0,Q10);var h=i[3];if(h){g(e,ev0);var w=h[1],G=function(w0){return u(n,w0)},A=function(w0){return u(t,w0)};R(Je[22][1],A,G,e,w),g(e,nv0)}else g(e,tv0);u(f(e),uv0),u(f(e),iv0),a(f(e),xv0,fv0);var S=i[4];if(S){g(e,av0);var M=S[1],K=function(w0){return u(n,w0)},V=function(w0){return u(t,w0)};R(d00[1],V,K,e,M),g(e,ov0)}else g(e,cv0);u(f(e),sv0),u(f(e),vv0),a(f(e),bv0,lv0);var f0=i[5];if(f0){g(e,pv0);var m0=f0[1],k0=function(w0){return u(n,w0)},g0=function(w0){return u(t,w0)};R(g00[2],g0,k0,e,m0),g(e,mv0)}else g(e,_v0);u(f(e),yv0),u(f(e),dv0),a(f(e),kv0,hv0);var e0=i[6];u(f(e),wv0);var x0=0;be(function(w0,_0){w0&&u(f(e),B10);function E0(b){return u(n,b)}function X0(b){return u(t,b)}return R(N00[1],X0,E0,e,_0),1},x0,e0),u(f(e),Ev0),u(f(e),Sv0),u(f(e),gv0),a(f(e),Tv0,Fv0);var l=i[7];if(l){g(e,Ov0);var c0=l[1],t0=function(w0,_0){return g(w0,M10)},a0=function(w0){return u(t,w0)};R(Dr[1],a0,t0,e,c0),g(e,Iv0)}else g(e,Av0);return u(f(e),Nv0),u(f(e),Cv0)}),N(C00,function(t,n,e){var i=a(XD,t,n);return a(P0(G10),i,e)}),pu(p6r,T1,[0,o00,l00,m00,d00,g00,Bee,N00,XD,C00]);var YD=function t(n,e,i,x){return t.fun(n,e,i,x)},P00=function t(n,e,i){return t.fun(n,e,i)},Ym=function t(n,e,i,x){return t.fun(n,e,i,x)},D00=function t(n,e,i){return t.fun(n,e,i)};N(YD,function(t,n,e,i){u(f(e),L10),a(t,e,i[1]),u(f(e),R10);var x=i[2];function c(s){return u(n,s)}return R(Ym,function(s){return u(t,s)},c,e,x),u(f(e),j10)}),N(P00,function(t,n,e){var i=a(YD,t,n);return a(P0(D10),i,e)}),N(Ym,function(t,n,e,i){u(f(e),w10),a(f(e),S10,E10);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),g10),u(f(e),F10),a(f(e),O10,T10);var p=i[2];if(p){g(e,I10);var y=p[1],T=function(h,w){return g(h,k10)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,A10)}else g(e,N10);return u(f(e),C10),u(f(e),P10)}),N(D00,function(t,n,e){var i=a(Ym,t,n);return a(P0(h10),i,e)});var L00=[0,YD,P00,Ym,D00],VD=function t(n,e,i,x){return t.fun(n,e,i,x)},R00=function t(n,e,i){return t.fun(n,e,i)},Vm=function t(n,e,i,x){return t.fun(n,e,i,x)},j00=function t(n,e,i){return t.fun(n,e,i)};N(VD,function(t,n,e,i){u(f(e),_10),a(t,e,i[1]),u(f(e),y10);var x=i[2];function c(s){return u(n,s)}return R(Vm,function(s){return u(t,s)},c,e,x),u(f(e),d10)}),N(R00,function(t,n,e){var i=a(VD,t,n);return a(P0(m10),i,e)}),N(Vm,function(t,n,e,i){u(f(e),u10),a(f(e),f10,i10);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(di[5],s,c,e,x),u(f(e),x10),u(f(e),a10),a(f(e),c10,o10);var p=i[2];if(p){g(e,s10);var y=p[1],T=function(h){return u(n,h)},E=function(h){return u(t,h)};R(qe[31],E,T,e,y),g(e,v10)}else g(e,l10);return u(f(e),b10),u(f(e),p10)}),N(j00,function(t,n,e){var i=a(Vm,t,n);return a(P0(t10),i,e)});var G00=[0,VD,R00,Vm,j00],zD=function t(n,e,i,x){return t.fun(n,e,i,x)},M00=function t(n,e,i){return t.fun(n,e,i)},zm=function t(n,e,i,x){return t.fun(n,e,i,x)},B00=function t(n,e,i){return t.fun(n,e,i)};N(zD,function(t,n,e,i){u(f(e),r10),a(t,e,i[1]),u(f(e),e10);var x=i[2];function c(s){return u(n,s)}return R(zm,function(s){return u(t,s)},c,e,x),u(f(e),n10)}),N(M00,function(t,n,e){var i=a(zD,t,n);return a(P0(Qs0),i,e)}),N(zm,function(t,n,e,i){u(f(e),qs0),a(f(e),Hs0,Us0);var x=i[1];function c(h){return u(n,h)}function s(h){return u(t,h)}R(Je[17],s,c,e,x),u(f(e),Xs0),u(f(e),Ys0),a(f(e),zs0,Vs0);var p=i[2];if(p){g(e,Ks0);var y=p[1],T=function(h,w){return g(h,Bs0)},E=function(h){return u(t,h)};R(Dr[1],E,T,e,y),g(e,Ws0)}else g(e,Js0);return u(f(e),$s0),u(f(e),Zs0)}),N(B00,function(t,n,e){var i=a(zm,t,n);return a(P0(Ms0),i,e)});var q00=[0,zD,M00,zm,B00],KD=function t(n,e,i,x){return t.fun(n,e,i,x)},U00=function t(n,e,i){return t.fun(n,e,i)},Km=function t(n,e,i,x){return t.fun(n,e,i,x)},H00=function t(n,e,i){return t.fun(n,e,i)};N(KD,function(t,n,e,i){u(f(e),Rs0),a(t,e,i[1]),u(f(e),js0);var x=i[2];function c(s){return u(n,s)}return R(Km,function(s){return u(t,s)},c,e,x),u(f(e),Gs0)}),N(U00,function(t,n,e){var i=a(KD,t,n);return a(P0(Ls0),i,e)}),N(Km,function(t,n,e,i){u(f(e),xs0),a(f(e),os0,as0);var x=i[1];if(x){g(e,cs0);var c=x[1],s=function(V){return u(n,V)},p=function(V){return u(t,V)};R(q00[1],p,s,e,c),g(e,ss0)}else g(e,vs0);u(f(e),ls0),u(f(e),bs0),a(f(e),ms0,ps0);var y=i[2];u(f(e),_s0);var T=0;be(function(V,f0){V&&u(f(e),fs0);function m0(g0){return u(n,g0)}function k0(g0){return u(t,g0)}return R(G00[1],k0,m0,e,f0),1},T,y),u(f(e),ys0),u(f(e),ds0),u(f(e),hs0),a(f(e),ws0,ks0);var E=i[3];if(E){g(e,Es0);var h=E[1],w=function(V){return u(n,V)},G=function(V){return u(t,V)};R(L00[1],G,w,e,h),g(e,Ss0)}else g(e,gs0);u(f(e),Fs0),u(f(e),Ts0),a(f(e),Is0,Os0);var A=i[4];if(A){g(e,As0);var S=A[1],M=function(V,f0){u(f(V),us0);var m0=0;return be(function(k0,g0){k0&&u(f(V),ts0);function e0(x0){return u(t,x0)}return ir(uu[1],e0,V,g0),1},m0,f0),u(f(V),is0)},K=function(V){return u(t,V)};R(Dr[1],K,M,e,S),g(e,Ns0)}else g(e,Cs0);return u(f(e),Ps0),u(f(e),Ds0)}),N(H00,function(t,n,e){var i=a(Km,t,n);return a(P0(ns0),i,e)});var X00=[0,KD,U00,Km,H00],WD=function t(n,e,i,x){return t.fun(n,e,i,x)},Y00=function t(n,e,i){return t.fun(n,e,i)},Wm=function t(n,e,i,x){return t.fun(n,e,i,x)},V00=function t(n,e,i){return t.fun(n,e,i)};N(WD,function(t,n,e,i){u(f(e),ec0),a(f(e),tc0,nc0);var x=i[1];if(x){g(e,uc0);var c=x[1],s=function(_0){return u(n,_0)},p=function(_0){return u(t,_0)};R(Ln[1],p,s,e,c),g(e,ic0)}else g(e,fc0);u(f(e),xc0),u(f(e),ac0),a(f(e),cc0,oc0);var y=i[2];function T(_0){return u(n,_0)}function E(_0){return u(t,_0)}R(X00[1],E,T,e,y),u(f(e),sc0),u(f(e),vc0),a(f(e),bc0,lc0);var h=i[3];function w(_0){return u(n,_0)}R(Wm,function(_0){return u(t,_0)},w,e,h),u(f(e),pc0),u(f(e),mc0),a(f(e),yc0,_c0);var G=i[4];a(f(e),dc0,G),u(f(e),hc0),u(f(e),kc0),a(f(e),Ec0,wc0);var A=i[5];a(f(e),Sc0,A),u(f(e),gc0),u(f(e),Fc0),a(f(e),Oc0,Tc0);var S=i[6];if(S){g(e,Ic0);var M=S[1],K=function(_0){return u(n,_0)},V=function(_0){return u(t,_0)};R(Je[24][1],V,K,e,M),g(e,Ac0)}else g(e,Nc0);u(f(e),Cc0),u(f(e),Pc0),a(f(e),Lc0,Dc0);var f0=i[7];function m0(_0){return u(n,_0)}function k0(_0){return u(t,_0)}R(Je[19],k0,m0,e,f0),u(f(e),Rc0),u(f(e),jc0),a(f(e),Mc0,Gc0);var g0=i[8];if(g0){g(e,Bc0);var e0=g0[1],x0=function(_0){return u(n,_0)},l=function(_0){return u(t,_0)};R(Je[22][1],l,x0,e,e0),g(e,qc0)}else g(e,Uc0);u(f(e),Hc0),u(f(e),Xc0),a(f(e),Vc0,Yc0);var c0=i[9];if(c0){g(e,zc0);var t0=c0[1],a0=function(_0,E0){return g(_0,rc0)},w0=function(_0){return u(t,_0)};R(Dr[1],w0,a0,e,t0),g(e,Kc0)}else g(e,Wc0);return u(f(e),Jc0),u(f(e),$c0),a(f(e),Qc0,Zc0),a(t,e,i[10]),u(f(e),rs0),u(f(e),es0)}),N(Y00,function(t,n,e){var i=a(WD,t,n);return a(P0(Qo0),i,e)}),N(Wm,function(t,n,e,i){if(i[0]===0){var x=i[1];u(f(e),Vo0),u(f(e),zo0),a(t,e,x[1]),u(f(e),Ko0);var c=x[2],s=function(h){return u(n,h)},p=function(h){return u(t,h)};return R(Xu[1][1],p,s,e,c),u(f(e),Wo0),u(f(e),Jo0)}u(f(e),$o0);var y=i[1];function T(h){return u(n,h)}function E(h){return u(t,h)}return R(qe[31],E,T,e,y),u(f(e),Zo0)}),N(V00,function(t,n,e){var i=a(Wm,t,n);return a(P0(Yo0),i,e)}),pu(m6r,Ps,[0,L00,G00,q00,X00,WD,Y00,Wm,V00]);var JD=function t(n,e,i,x){return t.fun(n,e,i,x)},z00=function t(n,e,i){return t.fun(n,e,i)},Jm=function t(n,e,i,x){return t.fun(n,e,i,x)},K00=function t(n,e,i){return t.fun(n,e,i)};N(JD,function(t,n,e,i){u(f(e),Uo0),a(t,e,i[1]),u(f(e),Ho0);var x=i[2];function c(s){return u(n,s)}return R(Jm,function(s){return u(t,s)},c,e,x),u(f(e),Xo0)}),N(z00,function(t,n,e){var i=a(JD,t,n);return a(P0(qo0),i,e)}),N(Jm,function(t,n,e,i){u(f(e),ko0),a(f(e),Eo0,wo0);var x=i[1];u(f(e),So0);var c=0;be(function(w,G){w&&u(f(e),ho0);function A(M){return u(n,M)}function S(M){return u(t,M)}return R(Xu[35],S,A,e,G),1},c,x),u(f(e),go0),u(f(e),Fo0),u(f(e),To0),a(f(e),Io0,Oo0);var s=i[2];if(s){g(e,Ao0);var p=s[1],y=function(w,G){return g(w,do0)},T=function(w){return u(t,w)};R(Dr[1],T,y,e,p),g(e,No0)}else g(e,Co0);u(f(e),Po0),u(f(e),Do0),a(f(e),Ro0,Lo0);var E=i[3];u(f(e),jo0);var h=0;return be(function(w,G){w&&u(f(e),yo0);function A(S){return u(t,S)}return ir(uu[1],A,e,G),1},h,E),u(f(e),Go0),u(f(e),Mo0),u(f(e),Bo0)}),N(K00,function(t,n,e){var i=a(Jm,t,n);return a(P0(_o0),i,e)}),pu(_6r,Ree,[0,JD,z00,Jm,K00]);function ze(t,n){if(n){var e=n[1],i=u(t,e);return e===i?n:[0,i]}return n}function te(t,n,e,i,x){var c=a(t,n,e);return e===c?i:u(x,c)}function ee(t,n,e,i){var x=u(t,n);return n===x?e:u(i,x)}function mu(t,n){var e=n[1];function i(x){return[0,e,x]}return te(t,e,n[2],n,i)}function Un(t,n){var e=be(function(i,x){var c=u(t,x),s=i[2],p=s||(c!==x?1:0);return[0,[0,c,i[1]],p]},O6r,n);return e[2]?de(e[1]):n}var $D=jp(A6r,function(t){var n=DN(t,I6r),e=n[1],i=n[2],x=n[3],c=n[4],s=n[5],p=n[6],y=n[7],T=n[8],E=n[9],h=n[10],w=n[11],G=n[12],A=n[13],S=n[14],M=n[15],K=n[16],V=n[17],f0=n[18],m0=n[19],k0=n[20],g0=n[21],e0=n[22],x0=n[23],l=n[24],c0=n[25],t0=n[26],a0=n[27],w0=n[28],_0=n[29],E0=n[30],X0=n[31],b=n[32],G0=n[33],X=n[34],s0=n[35],dr=n[36],Ar=n[37],ar=n[38],W0=n[39],Lr=n[40],Tr=n[41],Hr=n[42],Or=n[43],xr=n[44],Rr=n[45],Wr=n[46],Jr=n[47],or=n[49],_r=n[50],Ir=n[51],fe=n[52],v0=n[53],P=n[54],L=n[55],Q=n[56],i0=n[57],l0=n[58],S0=n[59],T0=n[60],rr=n[61],R0=n[62],B=n[63],Z=n[65],p0=n[66],b0=n[67],O0=n[68],q0=n[69],er=n[70],yr=n[71],vr=n[72],$0=n[73],Sr=n[74],Mr=n[75],Br=n[76],qr=n[77],jr=n[78],$r=n[79],ne=n[80],Qr=n[81],pe=n[82],oe=n[83],me=n[84],ae=n[85],ce=n[86],ge=n[87],H0=n[88],Fr=n[89],_=n[90],k=n[91],I=n[92],U=n[93],Y=n[94],y0=n[95],D0=n[96],I0=n[97],D=n[98],u0=n[99],Y0=n[ni],J0=n[L7],fr=n[Ri],Q0=n[c7],F0=n[D7],gr=n[R7],mr=n[Xt],Cr=n[Qc],sr=n[fs],Pr=n[Fv],K0=n[Ht],Ur=n[vf],d0=n[F7],Kr=n[Pn],re=n[u1],xe=n[Av],je=n[x1],ve=n[A2],Ie=n[z2],Me=n[Sv],Be=n[fc],fn=n[tl],Ke=n[In],Ae=n[us],xn=n[X2],Qe=n[br],yn=n[DX],on=n[zn],Ce=n[Rt],We=n[eV],rn=n[Jw],bn=n[Qg],Cn=n[YH],Hn=n[133],Sn=n[134],vt=n[135],At=n[QH],gt=n[137],Jt=n[OH],Bt=n[139],Ft=n[gH],Nt=n[141],du=n[142],Ku=n[143],lt=n[cV],xu=n[145],Mu=n[146],z7=n[MX],Yi=n[148],a7=n[fH],Yc=n[150],K7=n[151],qt=n[152],bt=n[153],U0=n[NH],L0=n[155],Re=n[156],He=n[157],he=n[158],_e=n[159],Zn=n[sY],dn=n[WU],it=n[Sd],ft=n[Mn],Rn=n[PF],nt=n[nY],ht=n[MY],tn=n[DT],cn=n[DY],tt=n[RX],Tt=n[Xg],Fi=n[yg],hs=n[BU],Iu=n[wY],Vs=n[nH],Vi=n[dX],zs=n[kV],Ks=n[oV],en=n[OO],ci=n[qY],Ws=n[mU],c2=n[Ai],B9=n[Kg],q9=n[mS],U9=n[wk],Js=n[AU],s2=n[dh],H9=n[iw],X9=n[cY],Y9=n[sX],X1=n[PY],si=n[yX],ob=n[at],cb=n[VT],sb=n[iI],V9=n[vY],z9=n[WX],K9=n[SY],vb=n[_H],W9=n[uX],J9=n[RU],$9=n[mY],Z9=n[xH],lb=n[fV],Q9=n[rY],Y1=n[$H],v2=n[CH],bb=n[LX],pb=n[wH],mb=n[Zg],Tn=n[N6],jn=n[EU],V1=n[EY],_b=n[qX],yb=n[dT],r_=n[cT],Vc=n[d6],e_=n[sp],l2=n[Lw],db=n[NU],zc=n[aA],n_=n[HX],$s=n[NX],hb=n[d8],z1=n[dv],t_=n[HO],ks=n[tk],u_=n[eX],K1=n[sV],i_=n[dU],b2=n[Bd],f_=n[VX],Zs=n[eT],kb=n[wT],Qs=n[aH],x_=n[eH],zi=n[mO],Kc=n[YY],r1=n[pH],a_=n[f6],p2=n[v1],m2=n[Wy],_2=n[TT],o_=n[uH],e1=n[l8],c_=n[rV],y2=n[$2],XL=n[48],W1=n[64];function YL(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return O===r0&&H===$?m:[0,$,r0,m[3],m[4]]}function J1(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+Kc],o,r0),z0=ze(u(o[1][1+V],o),$),Nr=a(o[1][1+t0],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&H===Nr&&$===z0&&O===Gr?m:[0,M0,z0,Nr,Gr]}function VL(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function $1(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+_r],o,$),M0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function zL(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+p],o,F,$),M0=ze(u(o[1][1+en],o),H);return $===r0&&H===M0?m:[0,m[1],[0,r0,M0]]}function Ti(o,F,m){var O=m[3],H=m[2],$=m[1],r0=Un(a(o[1][1+y],o,H),$),M0=a(o[1][1+s0],o,O);return $===r0&&O===M0?m:[0,r0,H,M0]}function KL(o,F,m){var O=m[4],H=m[2],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],$,m[3],r0]}function WL(o,F,m){var O=m[3],H=m[2],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],$,r0]}function d2(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=a(o[1][1+l],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function JL(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=mu(u(o[1][1+zi],o),r0);if($)var z0=$[1],Nr=z0[1],Gr=function($t){return[0,[0,Nr,$t]]},Fe=z0[2],ye=te(u(o[1][1+K1],o),Nr,Fe,$,Gr);else var ye=$;if(H)var Dn=H[1],pn=Dn[1],xt=function($t){return[0,[0,pn,$t]]},pt=Dn[2],kt=te(u(o[1][1+zi],o),pn,pt,H,xt);else var kt=H;var Kn=a(o[1][1+s0],o,O);return r0===M0&&$===ye&&H===kt&&O===Kn?m:[0,M0,ye,kt,Kn]}function Z1(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function $L(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Q1(o,F){return F}function ZL(o,F,m){var O=m[3],H=m[2],$=m[1],r0=Un(u(o[1][1+b],o),$),M0=Un(u(o[1][1+en],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function wb(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=mu(u(o[1][1+G0],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function QL(o,F){var m=F[2],O=m[3],H=m[2],$=m[1],r0=ze(u(o[1][1+en],o),$),M0=a(o[1][1+Tr],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?F:[0,F[1],[0,r0,M0,z0]]}function Eb(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=Un(u(o[1][1+Ar],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0,m[4]]}function rR(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function eR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function h2(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function nR(o,F){return[0,a(o[1][1+Or],o,F),0]}function tR(o,F){var m=u(o[1][1+Hr],o),O=be(function(H,$){var r0=H[1],M0=u(m,$);if(M0){if(M0[2])return[0,jc(M0,r0),1];var z0=M0[1],Nr=H[2],Gr=Nr||($!==z0?1:0);return[0,[0,z0,r0],Gr]}return[0,r0,1]},T6r,F);return O[2]?de(O[1]):F}function s_(o,F){return a(o[1][1+Tr],o,F)}function uR(o,F,m){var O=m[2],H=m[1],$=Un(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function k2(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+en],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0,m[3]]}function iR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Re],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function w2(o,F){return a(o[1][1+en],o,F)}function fR(o,F){var m=F[2],O=m[2],H=m[1];if(H)var $=function(Nr){return[0,Nr]},r0=H[1],M0=ee(u(o[1][1+en],o),r0,H,$);else var M0=H;var z0=a(o[1][1+s0],o,O);return H===M0&&O===z0?F:[0,F[1],[0,M0,z0]]}function rv(o,F){return a(o[1][1+en],o,F)}function xR(o,F,m){return ir(o[1][1+er],o,F,m)}function Sb(o,F,m){return ir(o[1][1+er],o,F,m)}function aR(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+Z],o,F,$),M0=a(o[1][1+s0],o,H);return r0===$&&H===M0?m:[0,m[1],[0,r0,M0]]}function gb(o,F,m){return ir(o[1][1+er],o,F,m)}function oR(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+b0],o,F,$),M0=ze(u(o[1][1+en],o),H);return $===r0&&H===M0?m:[0,m[1],[0,r0,M0]]}function Fb(o,F,m){switch(m[0]){case 0:var O=function(M0){return[0,M0]},H=m[1];return ee(a(o[1][1+O0],o,F),H,m,O);case 1:var $=function(M0){return[1,M0]},r0=m[1];return ee(a(o[1][1+p0],o,F),r0,m,$);default:return m}}function cR(o,F,m){return ir(o[1][1+er],o,F,m)}function Gn(o,F,m){return ir(o[1][1+er],o,F,m)}function v_(o,F,m){var O=m[2],H=O[2],$=O[1],r0=ir(o[1][1+fe],o,F,$),M0=a(o[1][1+s0],o,H);return r0===$&&H===M0?m:[0,m[1],[0,r0,M0]]}function sR(o,F,m){return a(o[1][1+Tn],o,m)}function vR(o,F,m){return ir(o[1][1+R0],o,F,m)}function ev(o,F,m){var O=m[1];function H(r0){return[0,O,r0]}var $=m[2];return te(a(o[1][1+rr],o,F),O,$,m,H)}function Tb(o,F,m){switch(m[0]){case 0:var O=function(Nr){return[0,Nr]},H=m[1];return ee(a(o[1][1+L],o,F),H,m,O);case 1:var $=function(Nr){return[1,Nr]},r0=m[1];return ee(a(o[1][1+i0],o,F),r0,m,$);default:var M0=function(Nr){return[2,Nr]},z0=m[1];return ee(a(o[1][1+l0],o,F),z0,m,M0)}}function l_(o,F,m){var O=m[2],H=O[4],$=O[3],r0=O[2],M0=O[1],z0=ir(o[1][1+Q],o,F,M0),Nr=ir(o[1][1+P],o,F,r0),Gr=ze(u(o[1][1+en],o),$);if(H){var Fe=0;if(z0[0]===1){var ye=Nr[2];if(ye[0]===2)var pn=qn(z0[1][2][1],ye[1][1][2][1]);else Fe=1}else Fe=1;if(Fe)var Dn=M0===z0?1:0,pn=Dn&&(r0===Nr?1:0)}else var pn=H;return z0===M0&&Nr===r0&&Gr===$&&H===pn?m:[0,m[1],[0,z0,Nr,Gr,pn]]}function Ob(o,F,m){if(m[0]===0){var O=function(M0){return[0,M0]},H=m[1];return ee(a(o[1][1+S0],o,F),H,m,O)}function $(M0){return[1,M0]}var r0=m[1];return ee(a(o[1][1+v0],o,F),r0,m,$)}function lR(o,F,m,O){return ir(o[1][1+J0],o,m,O)}function b_(o,F,m){return a(o[1][1+lt],o,m)}function bR(o,F,m){var O=m[2];switch(O[0]){case 0:var H=O[1],$=H[3],r0=H[2],M0=H[1],z0=Un(a(o[1][1+T0],o,F),M0),Nr=a(o[1][1+x0],o,r0),Gr=a(o[1][1+s0],o,$),Fe=0;if(z0===M0&&Nr===r0&&Gr===$){var ye=O;Fe=1}if(!Fe)var ye=[0,[0,z0,Nr,Gr]];var Ji=ye;break;case 1:var Dn=O[1],pn=Dn[3],xt=Dn[2],pt=Dn[1],kt=Un(a(o[1][1+q0],o,F),pt),Kn=a(o[1][1+x0],o,xt),$t=a(o[1][1+s0],o,pn),W7=0;if(pn===$t&&kt===pt&&Kn===xt){var J7=O;W7=1}if(!W7)var J7=[1,[0,kt,Kn,$t]];var Ji=J7;break;case 2:var w7=O[1],$7=w7[2],Z7=w7[1],Q7=ir(o[1][1+R0],o,F,Z7),ri=a(o[1][1+x0],o,$7),ei=0;if(Z7===Q7&&$7===ri){var Wi=O;ei=1}if(!ei)var Wi=[2,[0,Q7,ri,w7[3]]];var Ji=Wi;break;default:var uv=function(fv){return[3,fv]},iv=O[1],Ji=ee(u(o[1][1+B],o),iv,O,uv)}return O===Ji?m:[0,m[1],Ji]}function p_(o,F){return ir(o[1][1+er],o,0,F)}function Ib(o,F,m){var O=F&&F[1];return ir(o[1][1+er],o,[0,O],m)}function m_(o,F){return a(o[1][1+m2],o,F)}function pR(o,F){return a(o[1][1+m2],o,F)}function __(o,F){return ir(o[1][1+r1],o,F6r,F)}function Ab(o,F,m){return ir(o[1][1+r1],o,[0,F],m)}function mR(o,F){return ir(o[1][1+r1],o,g6r,F)}function _R(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+Kc],o,M0),Nr=ze(u(o[1][1+V],o),r0),Gr=ze(u(o[1][1+t0],o),$),Fe=ze(u(o[1][1+t0],o),H),ye=a(o[1][1+s0],o,O);return M0===z0&&$===Gr&&r0===Nr&&$===Gr&&H===Fe&&O===ye?m:[0,z0,Nr,Gr,Fe,ye]}function yR(o,F){return a(o[1][1+Tn],o,F)}function Nb(o,F){return a(o[1][1+lt],o,F)}function dR(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+J0],o),m,H,F,O)}function hR(o,F){switch(F[0]){case 0:var m=function(Gr){return[0,Gr]},O=F[1];return ee(u(o[1][1+pe],o),O,F,m);case 1:var H=function(Gr){return[1,Gr]},$=F[1];return ee(u(o[1][1+oe],o),$,F,H);case 2:var r0=function(Gr){return[2,Gr]},M0=F[1];return ee(u(o[1][1+or],o),M0,F,r0);default:var z0=function(Gr){return[3,Gr]},Nr=F[1];return ee(u(o[1][1+me],o),Nr,F,z0)}}function y_(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+ae],o,r0),z0=a(o[1][1+en],o,$);if(H){var Nr=0;if(M0[0]===1){var Gr=z0[2];if(Gr[0]===10)var ye=qn(M0[1][2][1],Gr[1][2][1]);else Nr=1}else Nr=1;if(Nr)var Fe=r0===M0?1:0,ye=Fe&&($===z0?1:0)}else var ye=H;return r0===M0&&$===z0&&H===ye?F:[0,O,[0,M0,z0,ye]];case 1:var Dn=m[2],pn=m[1],xt=a(o[1][1+ae],o,pn),pt=mu(u(o[1][1+_e],o),Dn);return pn===xt&&Dn===pt?F:[0,O,[1,xt,pt]];case 2:var kt=m[3],Kn=m[2],$t=m[1],W7=a(o[1][1+ae],o,$t),J7=mu(u(o[1][1+_e],o),Kn),w7=a(o[1][1+s0],o,kt);return $t===W7&&Kn===J7&&kt===w7?F:[0,O,[2,W7,J7,w7]];default:var $7=m[3],Z7=m[2],Q7=m[1],ri=a(o[1][1+ae],o,Q7),ei=mu(u(o[1][1+_e],o),Z7),Wi=a(o[1][1+s0],o,$7);return Q7===ri&&Z7===ei&&$7===Wi?F:[0,O,[3,ri,ei,Wi]]}}function kR(o,F,m){var O=m[2],H=m[1],$=Un(function(M0){if(M0[0]===0){var z0=M0[1],Nr=a(o[1][1+Qr],o,z0);return z0===Nr?M0:[0,Nr]}var Gr=M0[1],Fe=a(o[1][1+xr],o,Gr);return Gr===Fe?M0:[1,Fe]},H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Cb(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+en],o,r0),z0=ze(u(o[1][1+b2],o),$),Nr=ze(u(o[1][1+Zs],o),H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function wR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+lt],o,$),M0=a(o[1][1+lt],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function ER(o,F){return a(o[1][1+en],o,F)}function d_(o,F){return a(o[1][1+or],o,F)}function SR(o,F){return a(o[1][1+lt],o,F)}function E2(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+y0],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+D],o),$,F,H);default:var r0=function(z0){return[2,z0]},M0=F[1];return ee(u(o[1][1+D0],o),M0,F,r0)}}function gR(o,F,m){var O=m[1],H=ir(o[1][1+u0],o,F,O);return O===H?m:[0,H,m[2],m[3]]}function FR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=a(o[1][1+I0],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function TR(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+en],o,$),M0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,m[1],r0,M0,z0]}function Pb(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function OR(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+Q0],o,$),M0=a(o[1][1+Or],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function IR(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function Db(o,F){return a(o[1][1+ve],o,F)}function AR(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+K0],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Ur],o),$,F,H)}function NR(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Pr],o,H),r0=a(o[1][1+d0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function hu(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+d0],o,H),r0=a(o[1][1+d0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function ku(o,F){return a(o[1][1+Ur],o,F)}function Oi(o,F){return a(o[1][1+sr],o,F)}function k7(o,F){return a(o[1][1+d0],o,F)}function Ki(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+ve],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+xe],o),$,F,H);default:var r0=function(z0){return[2,z0]},M0=F[1];return ee(u(o[1][1+je],o),M0,F,r0)}}function nv(o,F){var m=F[2],O=F[1],H=a(o[1][1+en],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Lb(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+s0],o,O);if(H){var r0=H[1],M0=a(o[1][1+en],o,r0);return r0===M0&&O===$?m:[0,[0,M0],$]}return O===$?m:[0,0,$]}function tv(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(ye){return[0,O,[0,ye]]},$=m[1];return te(u(o[1][1+Me],o),O,$,F,H);case 1:var r0=function(ye){return[0,O,[1,ye]]},M0=m[1];return te(u(o[1][1+Kr],o),O,M0,F,r0);case 2:var z0=function(ye){return[0,O,[2,ye]]},Nr=m[1];return te(u(o[1][1+re],o),O,Nr,F,z0);case 3:var Gr=function(ye){return[0,O,[3,ye]]},Fe=m[1];return ee(u(o[1][1+F0],o),Fe,F,Gr);default:return F}}function Rb(o,F){var m=F[2],O=Un(u(o[1][1+Ke],o),m);return m===O?F:[0,F[1],O]}function jb(o,F,m){return ir(o[1][1+J0],o,F,m)}function CR(o,F,m){return ir(o[1][1+re],o,F,m)}function Mne(o,F){if(F[0]===0){var m=F[1],O=function(z0){return[0,m,z0]},H=F[2];return te(u(o[1][1+Ae],o),m,H,F,O)}var $=F[1];function r0(z0){return[1,$,z0]}var M0=F[2];return te(u(o[1][1+xn],o),$,M0,F,r0)}function Bne(o,F){return a(o[1][1+sr],o,F)}function qne(o,F){return a(o[1][1+d0],o,F)}function Une(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+on],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+yn],o),$,F,H)}function Hne(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Ce],o,H),r0=ze(u(o[1][1+Qe],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function Xne(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Yne(o,F){if(F[0]===0){var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+We],o),O,F,m)}var H=F[1],$=H[1];function r0(z0){return[1,[0,$,z0]]}var M0=H[2];return te(u(o[1][1+gr],o),$,M0,F,r0)}function Vne(o,F){var m=F[2][1],O=a(o[1][1+Ie],o,m);return m===O?F:[0,F[1],[0,O]]}function zne(o,F){var m=F[2],O=m[3],H=m[1],$=a(o[1][1+Ie],o,H),r0=Un(u(o[1][1+Cr],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,m[2],r0]]}function Kne(o,F,m){var O=m[4],H=m[3],$=a(o[1][1+fn],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,m[1],m[2],$,r0]}function Wne(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+mr],o,r0),z0=ze(u(o[1][1+Be],o),$),Nr=a(o[1][1+fn],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function Jne(o,F,m,O){var H=2<=F?a(o[1][1+R0],o,S6r):u(o[1][1+Kc],o);return u(H,O)}function $ne(o,F,m){var O=2<=F?a(o[1][1+R0],o,E6r):u(o[1][1+Kc],o);return u(O,m)}function Zne(o,F,m){var O=m[3],H=m[2],$=m[1],r0=0;if(F){var M0=0;if($)switch($[1]){case 2:break;case 0:r0=1,M0=2;break;default:M0=1}var z0=0;switch(M0){case 2:z0=1;break;case 0:if(2<=F){var Nr=0,Gr=0;z0=1}break}if(!z0)var Nr=1,Gr=0}else r0=1;if(r0)var Nr=1,Gr=1;var Fe=a(Gr?o[1][1+m0]:o[1][1+lt],o,O);if(H)var ye=Nr?u(o[1][1+Kc],o):a(o[1][1+R0],o,w6r),Dn=function(xt){return[0,xt]},pn=ee(ye,H[1],H,Dn);else var pn=H;return H===pn&&O===Fe?m:[0,$,pn,Fe]}function Qne(o,F,m){if(m[0]===0){var O=m[1],H=Un(a(o[1][1+gt],o,F),O);return O===H?m:[0,H]}var $=m[1],r0=$[1];function M0(Nr){return[1,[0,r0,Nr]]}var z0=$[2];return te(a(o[1][1+At],o,F),r0,z0,m,M0)}function rte(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[1],M0=ze(a(o[1][1+vt],o,r0),H),z0=ze(a(o[1][1+Jt],o,r0),$),Nr=a(o[1][1+s0],o,O);return H===M0&&$===z0&&O===Nr?m:[0,r0,m[2],z0,M0,Nr]}function ete(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+_r],o,r0),z0=ir(o[1][1+du],o,H!==0?1:0,$),Nr=u(o[1][1+Ku],o),Gr=ze(function(ye){return mu(Nr,ye)},H),Fe=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Gr&&O===Fe?m:[0,M0,z0,Gr,Fe]}function nte(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+Or],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function tte(o,F,m){return a(o[1][1+Or],o,m)}function ute(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function ite(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function fte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function xte(o,F,m){return ir(o[1][1+Hn],o,F,m)}function ate(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+Kc],o,M0),Nr=ze(u(o[1][1+V],o),r0),Gr=u(o[1][1+xu],o),Fe=Un(function(pn){return mu(Gr,pn)},$),ye=mu(u(o[1][1+qr],o),H),Dn=a(o[1][1+s0],o,O);return z0===M0&&Nr===r0&&Fe===$&&ye===H&&Dn===O?m:[0,z0,Nr,Fe,ye,Dn]}function ote(o,F){return a(o[1][1+k0],o,F)}function cte(o,F){return a(o[1][1+k0],o,F)}function ste(o,F){return a(o[1][1+lt],o,F)}function vte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function lte(o,F,m){return m}function bte(o,F){return ir(o[1][1+R0],o,k6r,F)}function pte(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+zi],o),m,H,F,O)}function mte(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+ft],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function _te(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+Re],o,H),r0=ze(u(o[1][1+en],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function yte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function dte(o,F){var m=F[2],O=m[4],H=m[3],$=m[2],r0=m[1],M0=Un(u(o[1][1+He],o),$),z0=ze(u(o[1][1+bt],o),H),Nr=ze(u(o[1][1+K7],o),r0),Gr=a(o[1][1+s0],o,O);return $===M0&&H===z0&&O===Gr&&r0===Nr?F:[0,F[1],[0,Nr,M0,z0,Gr]]}function hte(o,F,m){var O=m[9],H=m[8],$=m[7],r0=m[6],M0=m[3],z0=m[2],Nr=m[1],Gr=ze(u(o[1][1+he],o),Nr),Fe=a(o[1][1+U0],o,z0),ye=a(o[1][1+x0],o,$),Dn=a(o[1][1+it],o,M0),pn=ze(u(o[1][1+Ir],o),r0),xt=ze(u(o[1][1+V],o),H),pt=a(o[1][1+s0],o,O);return Nr===Gr&&z0===Fe&&M0===Dn&&r0===pn&&$===ye&&H===xt&&O===pt?m:[0,Gr,Fe,Dn,m[4],m[5],pn,ye,xt,pt,m[10]]}function kte(o,F,m){return ir(o[1][1+Rn],o,F,m)}function wte(o,F,m){return ir(o[1][1+_e],o,F,m)}function Ete(o,F,m){return ir(o[1][1+Rn],o,F,m)}function Ste(o,F){if(F[0]===0)return F;var m=F[1],O=a(o[1][1+l],o,m);return O===m?F:[1,O]}function gte(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return ee(u(o[1][1+t0],o),H,F,O)}function Fte(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function($e){return[0,O,[0,$e]]},$=m[1];return ee(u(o[1][1+s0],o),$,F,H);case 1:var r0=function($e){return[0,O,[1,$e]]},M0=m[1];return ee(u(o[1][1+s0],o),M0,F,r0);case 2:var z0=function($e){return[0,O,[2,$e]]},Nr=m[1];return ee(u(o[1][1+s0],o),Nr,F,z0);case 3:var Gr=function($e){return[0,O,[3,$e]]},Fe=m[1];return ee(u(o[1][1+s0],o),Fe,F,Gr);case 4:var ye=function($e){return[0,O,[4,$e]]},Dn=m[1];return ee(u(o[1][1+s0],o),Dn,F,ye);case 5:var pn=function($e){return[0,O,[5,$e]]},xt=m[1];return ee(u(o[1][1+s0],o),xt,F,pn);case 6:var pt=function($e){return[0,O,[6,$e]]},kt=m[1];return ee(u(o[1][1+s0],o),kt,F,pt);case 7:var Kn=function($e){return[0,O,[7,$e]]},$t=m[1];return ee(u(o[1][1+s0],o),$t,F,Kn);case 8:var W7=function($e){return[0,O,[8,$e]]},J7=m[1];return ee(u(o[1][1+s0],o),J7,F,W7);case 9:var w7=function($e){return[0,O,[9,$e]]},$7=m[1];return ee(u(o[1][1+s0],o),$7,F,w7);case 10:var Z7=function($e){return[0,O,[10,$e]]},Q7=m[1];return ee(u(o[1][1+s0],o),Q7,F,Z7);case 11:var ri=function($e){return[0,O,[11,$e]]},ei=m[1];return ee(u(o[1][1+k],o),ei,F,ri);case 12:var Wi=function($e){return[0,O,[12,$e]]},uv=m[1];return te(u(o[1][1+a7],o),O,uv,F,Wi);case 13:var iv=function($e){return[0,O,[13,$e]]},Ji=m[1];return te(u(o[1][1+qr],o),O,Ji,F,iv);case 14:var fv=function($e){return[0,O,[14,$e]]},Gb=m[1];return te(u(o[1][1+bn],o),O,Gb,F,fv);case 15:var Mb=function($e){return[0,O,[15,$e]]},Bb=m[1];return ee(u(o[1][1+e1],o),Bb,F,Mb);case 16:var qb=function($e){return[0,O,[16,$e]]},Ub=m[1];return te(u(o[1][1+xu],o),O,Ub,F,qb);case 17:var Hb=function($e){return[0,O,[17,$e]]},Xb=m[1];return te(u(o[1][1+Sn],o),O,Xb,F,Hb);case 18:var Yb=function($e){return[0,O,[18,$e]]},Vb=m[1];return te(u(o[1][1+vr],o),O,Vb,F,Yb);case 19:var zb=function($e){return[0,O,[19,$e]]},Kb=m[1];return te(u(o[1][1+h],o),O,Kb,F,zb);case 20:var Wb=function($e){return[0,O,[20,$e]]},Jb=m[1];return te(u(o[1][1+rn],o),O,Jb,F,Wb);case 21:var $b=function($e){return[0,O,[21,$e]]},Zb=m[1];return ee(u(o[1][1+G],o),Zb,F,$b);case 22:var Qb=function($e){return[0,O,[22,$e]]},r4=m[1];return ee(u(o[1][1+a0],o),r4,F,Qb);case 23:var e4=function($e){return[0,O,[23,$e]]},n4=m[1];return te(u(o[1][1+Lr],o),O,n4,F,e4);case 24:var t4=function($e){return[0,O,[24,$e]]},u4=m[1];return te(u(o[1][1+_],o),O,u4,F,t4);case 25:var i4=function($e){return[0,O,[25,$e]]},f4=m[1];return te(u(o[1][1+p2],o),O,f4,F,i4);default:var x4=function($e){return[0,O,[26,$e]]},a4=m[1];return te(u(o[1][1+x_],o),O,a4,F,x4)}}function Tte(o,F,m){var O=m[2],H=m[1],$=H[3],r0=H[2],M0=H[1],z0=a(o[1][1+t0],o,M0),Nr=a(o[1][1+t0],o,r0),Gr=Un(u(o[1][1+t0],o),$),Fe=a(o[1][1+s0],o,O);return z0===M0&&Nr===r0&&Gr===$&&Fe===O?m:[0,[0,z0,Nr,Gr],Fe]}function Ote(o,F,m){var O=m[2],H=m[1],$=H[3],r0=H[2],M0=H[1],z0=a(o[1][1+t0],o,M0),Nr=a(o[1][1+t0],o,r0),Gr=Un(u(o[1][1+t0],o),$),Fe=a(o[1][1+s0],o,O);return z0===M0&&Nr===r0&&Gr===$&&Fe===O?m:[0,[0,z0,Nr,Gr],Fe]}function Ite(o,F){var m=F[2],O=F[1],H=a(o[1][1+t0],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Ate(o,F){var m=F[2],O=F[1],H=Un(u(o[1][1+t0],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Nte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+K],o,H),r0=a(o[1][1+S],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function Cte(o,F){return a(o[1][1+lt],o,F)}function Pte(o,F){return a(o[1][1+lt],o,F)}function Dte(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+M],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+A],o),$,F,H)}function Lte(o,F){var m=F[2],O=F[1],H=a(o[1][1+K],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function Rte(o,F){var m=F[2],O=F[1],H=a(o[1][1+t0],o,O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,$]}function jte(o,F,m){var O=m[2],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],H]}function Gte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function Mte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function Bte(o,F,m){var O=m[3],H=a(o[1][1+s0],o,O);return O===H?m:[0,m[1],m[2],H]}function qte(o,F,m){var O=m[1],H=ir(o[1][1+Sn],o,F,O);return H===O?m:[0,H,m[2]]}function Ute(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+t0],o,$),M0=a(o[1][1+t0],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function Hte(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+z7],o,$),M0=ze(u(o[1][1+e0],o),H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function Xte(o,F){var m=F[2],O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+x0],o,$),z0=a(o[1][1+c],o,H),Nr=ze(u(o[1][1+t0],o),O),Gr=a(o[1][1+Kc],o,r0);return Gr===r0&&M0===$&&z0===H&&Nr===O?F:[0,F[1],[0,Gr,M0,z0,Nr]]}function Yte(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+f0],o),H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function Vte(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+t0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function zte(o,F){return ze(u(o[1][1+s],o),F)}function Kte(o,F){var m=F[2],O=m[2],H=a(o[1][1+s0],o,O);return O===H?F:[0,F[1],[0,m[1],H]]}function Wte(o,F){return a(o[1][1+lt],o,F)}function Jte(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+z7],o,H),r0=a(o[1][1+Y],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function $te(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+m0],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Mu],o),$,F,H)}function Zte(o,F,m){var O=m[3],H=m[2],$=m[1],r0=u(o[1][1+xu],o),M0=Un(function(Gr){return mu(r0,Gr)},H),z0=mu(u(o[1][1+qr],o),$),Nr=a(o[1][1+s0],o,O);return M0===H&&z0===$&&O===Nr?m:[0,z0,M0,Nr]}function Qte(o,F,m){var O=m[4],H=m[3],$=Un(function(M0){switch(M0[0]){case 0:var z0=function(Kn){return[0,Kn]},Nr=M0[1];return ee(u(o[1][1+ne],o),Nr,M0,z0);case 1:var Gr=function(Kn){return[1,Kn]},Fe=M0[1];return ee(u(o[1][1+jr],o),Fe,M0,Gr);case 2:var ye=function(Kn){return[2,Kn]},Dn=M0[1];return ee(u(o[1][1+ge],o),Dn,M0,ye);case 3:var pn=function(Kn){return[3,Kn]},xt=M0[1];return ee(u(o[1][1+H0],o),xt,M0,pn);default:var pt=function(Kn){return[4,Kn]},kt=M0[1];return ee(u(o[1][1+ce],o),kt,M0,pt)}},H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?m:[0,m[1],m[2],$,r0]}function rue(o,F){var m=F[2],O=m[3],H=m[1],$=H[2],r0=H[1],M0=ir(o[1][1+a7],o,r0,$),z0=a(o[1][1+s0],o,O);return $===M0&&O===z0?F:[0,F[1],[0,[0,r0,M0],m[2],z0]]}function eue(o,F){var m=F[2],O=m[6],H=m[2],$=m[1],r0=a(o[1][1+lt],o,$),M0=a(o[1][1+t0],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?F:[0,F[1],[0,r0,M0,m[3],m[4],m[5],z0]]}function nue(o,F){var m=F[2],O=m[6],H=m[5],$=m[3],r0=m[2],M0=a(o[1][1+t0],o,r0),z0=a(o[1][1+t0],o,$),Nr=a(o[1][1+c],o,H),Gr=a(o[1][1+s0],o,O);return M0===r0&&z0===$&&Nr===H&&Gr===O?F:[0,F[1],[0,m[1],M0,z0,m[4],Nr,Gr]]}function tue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+t0],o,H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?F:[0,F[1],[0,$,r0]]}function uue(o,F){var m=F[2],O=m[8],H=m[7],$=m[2],r0=m[1],M0=a(o[1][1+ae],o,r0),z0=a(o[1][1+$r],o,$),Nr=a(o[1][1+c],o,H),Gr=a(o[1][1+s0],o,O);return M0===r0&&z0===$&&Nr===H&&Gr===O?F:[0,F[1],[0,M0,z0,m[3],m[4],m[5],m[6],Nr,Gr]]}function iue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+a7],o),m,H,F,O)}function fue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+a7],o),m,H,F,O)}function xue(o,F){switch(F[0]){case 0:var m=function(z0){return[0,z0]},O=F[1];return ee(u(o[1][1+t0],o),O,F,m);case 1:var H=function(z0){return[1,z0]},$=F[1];return ee(u(o[1][1+Br],o),$,F,H);default:var r0=function(z0){return[2,z0]},M0=F[1];return ee(u(o[1][1+Mr],o),M0,F,r0)}}function aue(o,F){return a(o[1][1+lt],o,F)}function oue(o,F,m){var O=m[4],H=m[3],$=m[2],r0=$[2],M0=r0[4],z0=r0[3],Nr=r0[2],Gr=r0[1],Fe=m[1],ye=ze(u(o[1][1+Yc],o),Gr),Dn=Un(u(o[1][1+L0],o),Nr),pn=ze(u(o[1][1+qt],o),z0),xt=a(o[1][1+t0],o,H),pt=ze(u(o[1][1+V],o),Fe),kt=a(o[1][1+s0],o,O),Kn=a(o[1][1+s0],o,M0);return Dn===Nr&&pn===z0&&xt===H&&pt===Fe&&kt===O&&Kn===M0&&ye===Gr?m:[0,pt,[0,$[1],[0,ye,Dn,pn,Kn]],xt,kt]}function cue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function sue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+L0],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?F:[0,F[1],[0,$,r0]]}function vue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+t0],o,O),r0=ze(u(o[1][1+lt],o),H);return $===O&&r0===H?F:[0,F[1],[0,r0,$,m[3]]]}function lue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function bue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Fi],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function pue(o,F,m){var O=m[5],H=m[4],$=m[3],r0=m[2],M0=m[1],z0=ze(u(o[1][1+nt],o),M0),Nr=ze(u(o[1][1+_r],o),r0),Gr=ze(u(o[1][1+en],o),$),Fe=a(o[1][1+Or],o,H),ye=a(o[1][1+s0],o,O);return M0===z0&&r0===Nr&&$===Gr&&H===Fe&&O===ye?m:[0,z0,Nr,Gr,Fe,ye]}function mue(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function _ue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+tt],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Tt],o),$,F,H)}function yue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+tn],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+Or],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,m[4],Gr]}function due(o,F){var m=F[1];function O($){return[0,m,$]}var H=F[2];return te(u(o[1][1+T],o),m,H,F,O)}function hue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Vs],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Vi],o),$,F,H)}function kue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+hs],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+Or],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,m[4],Gr]}function wue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+en],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+Rr],o),$,F,H)}function Eue(o,F,m){var O=m[3],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,m[2],r0]}function Sue(o,F){if(F[0]===0){var m=F[1],O=Un(u(o[1][1+Ws],o),m);return m===O?F:[0,O]}var H=F[1],$=a(o[1][1+U9],o,H);return H===$?F:[1,$]}function gue(o,F){var m=F[2],O=ze(u(o[1][1+lt],o),m);return m===O?F:[0,F[1],O]}function Fue(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+lt],o,H),r0=ze(u(o[1][1+lt],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function Tue(o,F,m){var O=m[5],H=m[2],$=m[1],r0=ze(u(o[1][1+ci],o),H),M0=ze(u(o[1][1+Or],o),$),z0=a(o[1][1+s0],o,O);return H===r0&&$===M0&&O===z0?m:[0,M0,r0,m[3],m[4],z0]}function Oue(o,F){if(F[0]===0){var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+Or],o),O,F,m)}function H(r0){return[1,r0]}var $=F[1];return ee(u(o[1][1+en],o),$,F,H)}function Iue(o,F,m){var O=m[3],H=m[2],$=a(o[1][1+B9],o,H),r0=a(o[1][1+s0],o,O);return $===H&&r0===O?m:[0,m[1],$,r0]}function Aue(o,F){return a(o[1][1+lt],o,F)}function Nue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Cue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Pue(o,F){var m=F[2],O=m[1],H=a(o[1][1+X1],o,O);return O===H?F:[0,F[1],[0,H,m[2]]]}function Due(o,F){var m=F[2][1],O=a(o[1][1+X1],o,m);return m===O?F:[0,F[1],[0,O]]}function Lue(o,F){var m=F[3],O=F[1],H=Un(u(o[1][1+si],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],$]}function Rue(o,F){var m=F[4],O=F[1];if(O[0]===0)var H=function(ye){return[0,ye]},$=O[1],r0=u(o[1][1+si],o),Gr=ee(function(ye){return Un(r0,ye)},$,O,H);else var M0=function(ye){return[1,ye]},z0=O[1],Nr=u(o[1][1+s2],o),Gr=ee(function(ye){return Un(Nr,ye)},z0,O,M0);var Fe=a(o[1][1+s0],o,m);return O===Gr&&m===Fe?F:[0,Gr,F[2],F[3],Fe]}function jue(o,F){var m=F[4],O=F[1],H=Un(u(o[1][1+X9],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],F[3],$]}function Gue(o,F){var m=F[4],O=F[1],H=Un(u(o[1][1+cb],o),O),$=a(o[1][1+s0],o,m);return O===H&&m===$?F:[0,H,F[2],F[3],$]}function Mue(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(ye){return[0,O,[0,ye]]},$=m[1];return ee(u(o[1][1+sb],o),$,F,H);case 1:var r0=function(ye){return[0,O,[1,ye]]},M0=m[1];return ee(u(o[1][1+Y9],o),M0,F,r0);case 2:var z0=function(ye){return[0,O,[2,ye]]},Nr=m[1];return ee(u(o[1][1+H9],o),Nr,F,z0);default:var Gr=function(ye){return[0,O,[3,ye]]},Fe=m[1];return ee(u(o[1][1+Js],o),Fe,F,Gr)}}function Bue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ir(o[1][1+R0],o,h6r,$),M0=a(o[1][1+V9],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function que(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Uue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+Or],o,$),M0=a(o[1][1+_r],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function Hue(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ir(o[1][1+R0],o,d6r,$),M0=a(o[1][1+l],o,H),z0=a(o[1][1+s0],o,O);return r0===$&&M0===H&&z0===O?m:[0,r0,M0,z0]}function Xue(o,F,m){return ir(o[1][1+c0],o,F,m)}function Yue(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+l],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function Vue(o,F,m){var O=m[4],H=m[2],$=mu(u(o[1][1+zi],o),H),r0=a(o[1][1+s0],o,O);return $===H&&O===r0?m:[0,m[1],$,m[3],r0]}function zue(o,F,m){return ir(o[1][1+Hn],o,F,m)}function Kue(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+he],o,r0),z0=a(o[1][1+l],o,$),Nr=ze(u(o[1][1+Ir],o),H),Gr=a(o[1][1+s0],o,O);return M0===r0&&z0===$&&Nr===H&&Gr===O?m:[0,M0,z0,Nr,Gr]}function Wue(o,F){switch(F[0]){case 0:var m=F[1],O=m[2],H=m[1],$=ir(o[1][1+vb],o,H,O);return $===O?F:[0,[0,H,$]];case 1:var r0=F[1],M0=r0[2],z0=r0[1],Nr=ir(o[1][1+lb],o,z0,M0);return Nr===M0?F:[1,[0,z0,Nr]];case 2:var Gr=F[1],Fe=Gr[2],ye=Gr[1],Dn=ir(o[1][1+v2],o,ye,Fe);return Dn===Fe?F:[2,[0,ye,Dn]];case 3:var pn=F[1],xt=a(o[1][1+t0],o,pn);return xt===pn?F:[3,xt];case 4:var pt=F[1],kt=pt[2],Kn=pt[1],$t=ir(o[1][1+c0],o,Kn,kt);return $t===kt?F:[4,[0,Kn,$t]];case 5:var W7=F[1],J7=W7[2],w7=W7[1],$7=ir(o[1][1+Sr],o,w7,J7);return $7===J7?F:[5,[0,w7,$7]];default:var Z7=F[1],Q7=Z7[2],ri=Z7[1],ei=ir(o[1][1+Hn],o,ri,Q7);return ei===Q7?F:[6,[0,ri,ei]]}}function Jue(o,F,m){var O=m[5],H=m[3],$=m[2],r0=ze(u(o[1][1+ci],o),H),M0=ze(u(o[1][1+Q9],o),$),z0=a(o[1][1+s0],o,O);return H===r0&&$===M0&&O===z0?m:[0,m[1],M0,r0,m[4],z0]}function $ue(o,F,m){var O=m[7],H=m[6],$=m[5],r0=m[4],M0=m[3],z0=m[2],Nr=m[1],Gr=a(o[1][1+db],o,Nr),Fe=ze(u(o[1][1+V],o),z0),ye=mu(u(o[1][1+qr],o),M0),Dn=u(o[1][1+xu],o),pn=ze(function($t){return mu(Dn,$t)},r0),xt=u(o[1][1+xu],o),pt=Un(function($t){return mu(xt,$t)},$),kt=ze(u(o[1][1+l2],o),H),Kn=a(o[1][1+s0],o,O);return Gr===Nr&&Fe===z0&&ye===M0&&pn===r0&&pt===$&&kt===H&&Kn===O?m:[0,Gr,Fe,ye,pn,pt,kt,Kn]}function Zue(o,F,m){var O=m[1],H=a(o[1][1+s0],o,O);return O===H?m:[0,H]}function Que(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+Q0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function r7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+_r],o,r0),z0=a(o[1][1+en],o,$),Nr=a(o[1][1+en],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function e7e(o,F,m){return m}function n7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+or],o,M0),Nr=a(o[1][1+_b],o,r0),Gr=a(o[1][1+x0],o,$),Fe=a(o[1][1+c],o,H),ye=a(o[1][1+s0],o,O);return M0===z0&&r0===Nr&&Gr===$&&Fe===H&&ye===O?m:[0,z0,Nr,Gr,m[4],Fe,ye]}function t7e(o,F){if(typeof F=="number")return F;var m=F[1],O=a(o[1][1+en],o,m);return m===O?F:[0,O]}function u7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],M0=m[1],z0=a(o[1][1+ae],o,M0),Nr=a(o[1][1+_b],o,r0),Gr=a(o[1][1+x0],o,$),Fe=a(o[1][1+c],o,H),ye=a(o[1][1+s0],o,O);return M0===z0&&r0===Nr&&Gr===$&&Fe===H&&ye===O?m:[0,z0,Nr,Gr,m[4],Fe,ye]}function i7e(o,F,m){var O=m[6],H=m[5],$=m[3],r0=m[2],M0=a(o[1][1+ae],o,r0),z0=mu(u(o[1][1+_e],o),$),Nr=Un(u(o[1][1+hb],o),H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,m[1],M0,z0,m[4],Nr,Gr]}function f7e(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+m0],o,H),r0=ze(u(o[1][1+e0],o),O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function x7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+e_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function a7e(o,F){switch(F[0]){case 0:var m=F[1],O=m[1],H=function(pn){return[0,[0,O,pn]]},$=m[2];return te(u(o[1][1+Vc],o),O,$,F,H);case 1:var r0=F[1],M0=r0[1],z0=function(pn){return[1,[0,M0,pn]]},Nr=r0[2];return te(u(o[1][1+yb],o),M0,Nr,F,z0);default:var Gr=F[1],Fe=Gr[1],ye=function(pn){return[2,[0,Fe,pn]]},Dn=Gr[2];return te(u(o[1][1+r_],o),Fe,Dn,F,ye)}}function o7e(o,F){var m=F[2],O=m[2],H=m[1],$=a(o[1][1+en],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function c7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+$s],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function s7e(o,F){return ir(o[1][1+R0],o,y6r,F)}function v7e(o,F,m){var O=m[3],H=m[2],$=m[1],r0=a(o[1][1+en],o,$),M0=ze(u(o[1][1+e0],o),H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function l7e(o,F,m){var O=m[7],H=m[6],$=m[5],r0=m[4],M0=m[3],z0=m[2],Nr=m[1],Gr=ze(u(o[1][1+db],o),Nr),Fe=a(o[1][1+t_],o,z0),ye=ze(u(o[1][1+V],o),M0),Dn=u(o[1][1+zc],o),pn=ze(function(Kn){return mu(Dn,Kn)},r0),xt=ze(u(o[1][1+l2],o),$),pt=Un(u(o[1][1+hb],o),H),kt=a(o[1][1+s0],o,O);return Nr===Gr&&z0===Fe&&r0===pn&&$===xt&&H===pt&&O===kt&&M0===ye?m:[0,Gr,Fe,ye,pn,xt,pt,kt]}function b7e(o,F,m){return ir(o[1][1+ks],o,F,m)}function p7e(o,F,m){return ir(o[1][1+ks],o,F,m)}function m7e(o,F,m){var O=m[3],H=m[2],$=m[1],r0=ze(u(o[1][1+u_],o),$),M0=a(o[1][1+i_],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,r0,M0,z0]}function _7e(o,F){return mu(u(o[1][1+zi],o),F)}function y7e(o,F){if(F[0]===0){var m=F[1],O=a(o[1][1+t0],o,m);return O===m?F:[0,O]}var H=F[1],$=H[2][1],r0=a(o[1][1+s0],o,$);return $===r0?F:[1,[0,H[1],[0,r0]]]}function d7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+f_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function h7e(o,F,m){var O=m[1],H=ir(o[1][1+kb],o,F,O);return O===H?m:[0,H,m[2],m[3]]}function k7e(o,F){var m=F[2],O=m[2],H=m[1],$=Un(u(o[1][1+Ks],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?F:[0,F[1],[0,$,r0]]}function w7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=m[1],M0=a(o[1][1+en],o,r0),z0=ze(u(o[1][1+b2],o),$),Nr=a(o[1][1+Zs],o,H),Gr=a(o[1][1+s0],o,O);return r0===M0&&$===z0&&H===Nr&&O===Gr?m:[0,M0,z0,Nr,Gr]}function E7e(o,F,m){var O=m[2],H=m[1],$=ze(u(o[1][1+Q0],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function S7e(o,F,m){var O=m[2],H=m[1],$=a(o[1][1+Tr],o,H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function g7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+en],o,$),M0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,m[1],r0,M0,z0]}function F7e(o,F,m){var O=m[4],H=m[3],$=m[2],r0=a(o[1][1+m2],o,$),M0=a(o[1][1+en],o,H),z0=a(o[1][1+s0],o,O);return $===r0&&H===M0&&O===z0?m:[0,m[1],r0,M0,z0]}function T7e(o,F,m){return ir(o[1][1+Rn],o,F,m)}function O7e(o,F){switch(F[0]){case 0:var m=function(r0){return[0,r0]},O=F[1];return ee(u(o[1][1+en],o),O,F,m);case 1:var H=function(r0){return[1,r0]},$=F[1];return ee(u(o[1][1+Rr],o),$,F,H);default:return F}}function I7e(o,F,m){var O=m[2],H=m[1],$=Un(u(o[1][1+c_],o),H),r0=a(o[1][1+s0],o,O);return H===$&&O===r0?m:[0,$,r0]}function A7e(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(Ue){return[0,O,[0,Ue]]},$=m[1];return te(u(o[1][1+y2],o),O,$,F,H);case 1:var r0=function(Ue){return[0,O,[1,Ue]]},M0=m[1];return te(u(o[1][1+o_],o),O,M0,F,r0);case 2:var z0=function(Ue){return[0,O,[2,Ue]]},Nr=m[1];return te(u(o[1][1+_2],o),O,Nr,F,z0);case 3:var Gr=function(Ue){return[0,O,[3,Ue]]},Fe=m[1];return te(u(o[1][1+a_],o),O,Fe,F,Gr);case 4:var ye=function(Ue){return[0,O,[4,Ue]]},Dn=m[1];return te(u(o[1][1+kb],o),O,Dn,F,ye);case 5:var pn=function(Ue){return[0,O,[5,Ue]]},xt=m[1];return te(u(o[1][1+n_],o),O,xt,F,pn);case 6:var pt=function(Ue){return[0,O,[6,Ue]]},kt=m[1];return te(u(o[1][1+jn],o),O,kt,F,pt);case 7:var Kn=function(Ue){return[0,O,[7,Ue]]},$t=m[1];return te(u(o[1][1+mb],o),O,$t,F,Kn);case 8:var W7=function(Ue){return[0,O,[8,Ue]]},J7=m[1];return te(u(o[1][1+Zn],o),O,J7,F,W7);case 9:var w7=function(Ue){return[0,O,[9,Ue]]},$7=m[1];return te(u(o[1][1+Yi],o),O,$7,F,w7);case 10:var Z7=function(Ue){return[0,O,[10,Ue]]},Q7=m[1];return ee(u(o[1][1+lt],o),Q7,F,Z7);case 11:var ri=function(Ue){return[0,O,[11,Ue]]},ei=m[1];return ee(a(o[1][1+Ft],o,O),ei,F,ri);case 12:var Wi=function(Ue){return[0,O,[12,Ue]]},uv=m[1];return te(u(o[1][1+Me],o),O,uv,F,Wi);case 13:var iv=function(Ue){return[0,O,[13,Ue]]},Ji=m[1];return te(u(o[1][1+Kr],o),O,Ji,F,iv);case 14:var fv=function(Ue){return[0,O,[14,Ue]]},Gb=m[1];return te(u(o[1][1+J0],o),O,Gb,F,fv);case 15:var Mb=function(Ue){return[0,O,[15,Ue]]},Bb=m[1];return te(u(o[1][1+Y0],o),O,Bb,F,Mb);case 16:var qb=function(Ue){return[0,O,[16,Ue]]},Ub=m[1];return te(u(o[1][1+u0],o),O,Ub,F,qb);case 17:var Hb=function(Ue){return[0,O,[17,Ue]]},Xb=m[1];return te(u(o[1][1+U],o),O,Xb,F,Hb);case 18:var Yb=function(Ue){return[0,O,[18,Ue]]},Vb=m[1];return te(u(o[1][1+I],o),O,Vb,F,Yb);case 19:var zb=function(Ue){return[0,O,[19,Ue]]},Kb=m[1];return te(u(o[1][1+Fr],o),O,Kb,F,zb);case 20:var Wb=function(Ue){return[0,O,[20,Ue]]},Jb=m[1];return ee(a(o[1][1+$0],o,O),Jb,F,Wb);case 21:var $b=function(Ue){return[0,O,[21,Ue]]},Zb=m[1];return te(u(o[1][1+yr],o),O,Zb,F,$b);case 22:var Qb=function(Ue){return[0,O,[22,Ue]]},r4=m[1];return te(u(o[1][1+Wr],o),O,r4,F,Qb);case 23:var e4=function(Ue){return[0,O,[23,Ue]]},n4=m[1];return te(u(o[1][1+W0],o),O,n4,F,e4);case 24:var t4=function(Ue){return[0,O,[24,Ue]]},u4=m[1];return te(u(o[1][1+X],o),O,u4,F,t4);case 25:var i4=function(Ue){return[0,O,[25,Ue]]},f4=m[1];return te(u(o[1][1+G0],o),O,f4,F,i4);case 26:var x4=function(Ue){return[0,O,[26,Ue]]},a4=m[1];return te(u(o[1][1+X0],o),O,a4,F,x4);case 27:var $e=function(Ue){return[0,O,[27,Ue]]},PR=m[1];return te(u(o[1][1+g0],o),O,PR,F,$e);case 28:var DR=function(Ue){return[0,O,[28,Ue]]},LR=m[1];return te(u(o[1][1+w],o),O,LR,F,DR);case 29:var RR=function(Ue){return[0,O,[29,Ue]]},jR=m[1];return te(u(o[1][1+E],o),O,jR,F,RR);default:var GR=function(Ue){return[0,O,[30,Ue]]},MR=m[1];return te(u(o[1][1+e],o),O,MR,F,GR)}}function N7e(o,F){var m=F[2],O=F[1],H=Un(u(o[1][1+V1],o),O),$=Un(u(o[1][1+V1],o),m);return O===H&&m===$?F:[0,H,$,F[3]]}var C7e=8;function P7e(o,F){return F}function D7e(o,F){var m=F[2],O=F[1];switch(m[0]){case 0:var H=function(Oe){return[0,O,[0,Oe]]},$=m[1];return te(u(o[1][1+zi],o),O,$,F,H);case 1:var r0=function(Oe){return[0,O,[1,Oe]]},M0=m[1];return te(u(o[1][1+Qs],o),O,M0,F,r0);case 2:var z0=function(Oe){return[0,O,[2,Oe]]},Nr=m[1];return te(u(o[1][1+z1],o),O,Nr,F,z0);case 3:var Gr=function(Oe){return[0,O,[3,Oe]]},Fe=m[1];return te(u(o[1][1+pb],o),O,Fe,F,Gr);case 4:var ye=function(Oe){return[0,O,[4,Oe]]},Dn=m[1];return te(u(o[1][1+bb],o),O,Dn,F,ye);case 5:var pn=function(Oe){return[0,O,[5,Oe]]},xt=m[1];return te(u(o[1][1+v2],o),O,xt,F,pn);case 6:var pt=function(Oe){return[0,O,[6,Oe]]},kt=m[1];return te(u(o[1][1+Y1],o),O,kt,F,pt);case 7:var Kn=function(Oe){return[0,O,[7,Oe]]},$t=m[1];return te(u(o[1][1+lb],o),O,$t,F,Kn);case 8:var W7=function(Oe){return[0,O,[8,Oe]]},J7=m[1];return te(u(o[1][1+Z9],o),O,J7,F,W7);case 9:var w7=function(Oe){return[0,O,[9,Oe]]},$7=m[1];return te(u(o[1][1+$9],o),O,$7,F,w7);case 10:var Z7=function(Oe){return[0,O,[10,Oe]]},Q7=m[1];return te(u(o[1][1+J9],o),O,Q7,F,Z7);case 11:var ri=function(Oe){return[0,O,[11,Oe]]},ei=m[1];return te(u(o[1][1+W9],o),O,ei,F,ri);case 12:var Wi=function(Oe){return[0,O,[33,Oe]]},uv=m[1];return te(u(o[1][1+Sr],o),O,uv,F,Wi);case 13:var iv=function(Oe){return[0,O,[13,Oe]]},Ji=m[1];return te(u(o[1][1+vb],o),O,Ji,F,iv);case 14:var fv=function(Oe){return[0,O,[14,Oe]]},Gb=m[1];return te(u(o[1][1+K9],o),O,Gb,F,fv);case 15:var Mb=function(Oe){return[0,O,[15,Oe]]},Bb=m[1];return te(u(o[1][1+z9],o),O,Bb,F,Mb);case 16:var qb=function(Oe){return[0,O,[16,Oe]]},Ub=m[1];return te(u(o[1][1+ob],o),O,Ub,F,qb);case 17:var Hb=function(Oe){return[0,O,[17,Oe]]},Xb=m[1];return te(u(o[1][1+q9],o),O,Xb,F,Hb);case 18:var Yb=function(Oe){return[0,O,[18,Oe]]},Vb=m[1];return te(u(o[1][1+c2],o),O,Vb,F,Yb);case 19:var zb=function(Oe){return[0,O,[19,Oe]]},Kb=m[1];return te(u(o[1][1+zs],o),O,Kb,F,zb);case 20:var Wb=function(Oe){return[0,O,[20,Oe]]},Jb=m[1];return te(u(o[1][1+ht],o),O,Jb,F,Wb);case 21:var $b=function(Oe){return[0,O,[21,Oe]]},Zb=m[1];return te(u(o[1][1+Iu],o),O,Zb,F,$b);case 22:var Qb=function(Oe){return[0,O,[22,Oe]]},r4=m[1];return te(u(o[1][1+cn],o),O,r4,F,Qb);case 23:var e4=function(Oe){return[0,O,[23,Oe]]},n4=m[1];return te(u(o[1][1+dn],o),O,n4,F,e4);case 24:var t4=function(Oe){return[0,O,[24,Oe]]},u4=m[1];return te(u(o[1][1+Nt],o),O,u4,F,t4);case 25:var i4=function(Oe){return[0,O,[25,Oe]]},f4=m[1];return te(u(o[1][1+Bt],o),O,f4,F,i4);case 26:var x4=function(Oe){return[0,O,[26,Oe]]},a4=m[1];return te(u(o[1][1+Cn],o),O,a4,F,x4);case 27:var $e=function(Oe){return[0,O,[27,Oe]]},PR=m[1];return te(u(o[1][1+fr],o),O,PR,F,$e);case 28:var DR=function(Oe){return[0,O,[28,Oe]]},LR=m[1];return te(u(o[1][1+Jr],o),O,LR,F,DR);case 29:var RR=function(Oe){return[0,O,[29,Oe]]},jR=m[1];return te(u(o[1][1+ar],o),O,jR,F,RR);case 30:var GR=function(Oe){return[0,O,[30,Oe]]},MR=m[1];return te(u(o[1][1+E0],o),O,MR,F,GR);case 31:var Ue=function(Oe){return[0,O,[31,Oe]]},L7e=m[1];return te(u(o[1][1+w0],o),O,L7e,F,Ue);case 32:var R7e=function(Oe){return[0,O,[32,Oe]]},j7e=m[1];return te(u(o[1][1+c0],o),O,j7e,F,R7e);case 33:var G7e=function(Oe){return[0,O,[33,Oe]]},M7e=m[1];return te(u(o[1][1+Sr],o),O,M7e,F,G7e);case 34:var B7e=function(Oe){return[0,O,[34,Oe]]},q7e=m[1];return te(u(o[1][1+T],o),O,q7e,F,B7e);case 35:var U7e=function(Oe){return[0,O,[35,Oe]]},H7e=m[1];return te(u(o[1][1+x],o),O,H7e,F,U7e);default:var X7e=function(Oe){return[0,O,[36,Oe]]},Y7e=m[1];return te(u(o[1][1+i],o),O,Y7e,F,X7e)}}return BN(t,[0,XL,function(o,F){var m=F[2],O=m[3],H=m[2],$=m[1],r0=a(o[1][1+_0],o,$),M0=a(o[1][1+s0],o,H),z0=Un(u(o[1][1+V1],o),O);return $===r0&&H===M0&&O===z0?F:[0,F[1],[0,r0,M0,z0]]},Or,D7e,V1,P7e,s0,C7e,ze,dr,dr,N7e,en,A7e,y2,I7e,c_,O7e,o_,T7e,_2,F7e,a_,g7e,zi,S7e,Qs,E7e,kb,w7e,Zs,k7e,$0,h7e,b2,d7e,f_,y7e,i_,_7e,K1,m7e,z1,p7e,n_,b7e,ks,l7e,zc,v7e,db,s7e,t_,c7e,hb,o7e,$s,a7e,l2,x7e,e_,f7e,Vc,i7e,yb,u7e,_b,t7e,r_,n7e,jn,e7e,mb,r7e,pb,Que,bb,Zue,v2,$ue,Y1,Jue,Q9,Wue,lb,Kue,Z9,zue,$9,Vue,J9,Yue,W9,Xue,vb,Hue,K9,Uue,z9,que,ob,Bue,V9,Mue,sb,Gue,Y9,jue,H9,Rue,Js,Lue,si,Due,cb,Pue,X9,Cue,s2,Nue,X1,Aue,q9,Iue,B9,Oue,c2,Tue,Ws,Fue,U9,gue,ci,Sue,zs,Eue,Ks,wue,Iu,kue,hs,hue,Vs,due,cn,yue,tn,_ue,tt,mue,ht,pue,nt,bue,Fi,lue,L0,vue,qt,sue,Yc,cue,a7,oue,Q0,aue,$r,xue,Br,fue,Mr,iue,ne,uue,jr,tue,ge,nue,ce,eue,H0,rue,qr,Qte,bn,Zte,z7,$te,Mu,Jte,Y,Wte,s,Kte,c,zte,e0,Vte,V,Yte,f0,Xte,xu,Hte,Sn,Ute,vr,qte,Lr,Bte,_,Mte,p2,Gte,x_,jte,k,Rte,G,Lte,K,Dte,M,Pte,S,Cte,A,Nte,a0,Ate,e1,Ite,h,Ote,rn,Tte,t0,Fte,l,gte,x0,Ste,dn,Ete,Zn,wte,_e,kte,Rn,hte,U0,dte,K7,yte,He,_te,it,mte,ft,pte,he,bte,Yi,lte,lt,vte,k0,ste,m0,cte,Kc,ote,Hn,ate,Cn,xte,or,fte,Tn,ite,Ft,ute,du,tte,Ku,nte,Nt,ete,Bt,rte,vt,Qne,gt,Zne,Jt,$ne,At,Jne,Me,Wne,Kr,Kne,mr,zne,Be,Vne,Cr,Yne,gr,Xne,We,Hne,Ce,Une,on,qne,yn,Bne,Qe,Mne,xn,CR,Ae,jb,fn,Rb,Ke,tv,re,Lb,F0,nv,Ie,Ki,ve,k7,xe,Oi,je,ku,sr,hu,Ur,NR,Pr,AR,K0,Db,d0,IR,fr,OR,J0,Pb,Y0,TR,u0,FR,yr,gR,I0,E2,y0,SR,D,d_,D0,ER,U,wR,I,Cb,Fr,kR,Qr,y_,ae,hR,pe,dR,oe,Nb,me,yR,Sr,_R,Re,mR,p,Ab,u_,__,Vi,pR,Tt,m_,r1,Ib,m2,p_,er,bR,R0,b_,rr,lR,T0,Ob,S0,l_,Q,Tb,L,ev,i0,vR,l0,sR,v0,v_,P,Gn,fe,cR,q0,Fb,O0,oR,b0,gb,p0,aR,Z,Sb,W1,xR,B,rv,Ir,fR,_r,w2,bt,iR,Jr,k2,Wr,uR,_0,s_,Tr,tR,Hr,nR,Rr,h2,xr,eR,W0,rR,ar,Eb,Ar,QL,X,wb,G0,ZL,b,Q1,X0,$L,E0,Z1,w0,JL,g0,d2,w,WL,E,KL,T,Ti,y,zL,x,$1,i,VL,c0,J1,e,YL]),function(o,F){return Gp(F,t)}});function W00(t){switch(t[0]){case 0:return 1;case 3:return 3;default:return 2}}function J00(t,n){u(f(t),H6r),a(f(t),Y6r,X6r);var e=n[1];a(f(t),V6r,e),u(f(t),z6r),u(f(t),K6r),a(f(t),J6r,W6r);var i=n[2];return a(f(t),$6r,i),u(f(t),Z6r),u(f(t),Q6r)}var $00=function t(n,e){return t.fun(n,e)},qee=function t(n){return t.fun(n)};N($00,function(t,n){u(f(t),epr),a(f(t),tpr,npr);var e=n[1];if(e){g(t,upr);var i=e[1];switch(i[0]){case 0:u(f(t),N6r);var x=i[1];a(f(t),C6r,x),u(f(t),P6r);break;case 1:u(f(t),D6r);var c=i[1];a(f(t),L6r,c),u(f(t),R6r);break;case 2:u(f(t),j6r);var s=i[1];a(f(t),G6r,s),u(f(t),M6r);break;default:u(f(t),B6r);var p=i[1];a(f(t),q6r,p),u(f(t),U6r)}g(t,ipr)}else g(t,fpr);return u(f(t),xpr),u(f(t),apr),a(f(t),cpr,opr),J00(t,n[2]),u(f(t),spr),u(f(t),vpr),a(f(t),bpr,lpr),J00(t,n[3]),u(f(t),ppr),u(f(t),mpr)}),N(qee,function(t){return a(P0(rpr),$00,t)});function yt(t,n){return[0,t[1],t[2],n[3]]}function ms(t,n){var e=t[1]-n[1]|0;return e===0?t[2]-n[2]|0:e}function Z00(t,n){var e=n[1],i=t[1];if(i)if(e)var x=e[1],c=i[1],s=W00(x),p=W00(c)-s|0,T=p===0?Ee(c[1],x[1]):p;else var T=-1;else var y=e&&1,T=y;if(T===0){var E=ms(t[2],n[2]);return E===0?ms(t[3],n[3]):E}return T}function Wv(t,n){return Z00(t,n)===0?1:0}var ZD=function t(n,e,i){return t.fun(n,e,i)},Uee=jp(dpr,function(t){var n=DN(t,ypr)[35],e=GN(t,0,0,_pr,$D,1)[1];return Zz(t,n,function(i,x){return 0}),function(i,x){var c=Gp(x,t);return u(e,c),MN(x,c,t)}});N(ZD,function(t,n,e){var i=e[2];switch(i[0]){case 0:var x=i[1][1];return be(function(s,p){var y=p[0]===0?p[1][2][2]:p[1][2][1];return ir(ZD,t,s,y)},n,x);case 1:var c=i[1][1];return be(function(s,p){return p[0]===2?s:ir(ZD,t,s,p[1][2][1])},n,c);case 2:return a(t,n,i[1][1]);default:return n}});function Gc(t,n){return[0,n[1],[0,n[2],t]]}function Q00(t,n,e){var i=t&&t[1],x=n&&n[1];return[0,i,x,e]}function lr(t,n,e){var i=t&&t[1],x=n&&n[1];return!i&&!x?x:[0,Q00([0,i],[0,x],0)]}function _u(t,n,e,i){var x=t&&t[1],c=n&&n[1];return!x&&!c&&!e?e:[0,Q00([0,x],[0,c],e)]}function _7(t,n){if(t){if(n){var e=n[1],i=t[1],x=[0,un(i[2],e[2])];return lr([0,un(e[1],i[1])],x,0)}var c=t}else var c=n;return c}function QD(t,n){if(n){if(t){var e=n[1],i=t[1],x=i[3],c=[0,un(i[2],e[2])];return _u([0,un(e[1],i[1])],c,x,0)}var s=n[1];return _u([0,s[1]],[0,s[2]],0,0)}return t}function Jv(t,n){for(var e=t,i=n;;){if(typeof e=="number")return i;if(e[0]===0)return[0,e[1],0,i];var x=[0,e[2],e[4],i],e=e[3],i=x}}function rr0(t,n){if(t)var e=Jv(t[2],t[3]),i=function(c){return rr0(e,c)},x=[0,t[1],i];else var x=t;return x}function Hee(t){var n=Jv(t,0);return function(e){return rr0(n,e)}}function _s(t){return typeof t=="number"?0:t[0]===0?1:t[1]}function Xee(t){return[0,t]}function X7(t,n,e){var i=0;if(typeof t=="number"){if(typeof e=="number")return[0,n];e[0]===1&&(i=1)}else if(t[0]===0)typeof e!="number"&&e[0]===1&&(i=1);else{var x=t[1];if(typeof e!="number"&&e[0]===1){var c=e[1],s=c<=x?x+1|0:c+1|0;return[1,s,n,t,e]}var p=x;i=2}switch(i){case 1:var p=e[1];break;case 0:return[1,2,n,t,e]}return[1,p+1|0,n,t,e]}function Ds(t,n,e){var i=_s(t),x=_s(e),c=x<=i?i+1|0:x+1|0;return[1,c,n,t,e]}function rL(t,n){var e=n!==0?1:0;if(e){if(n!==1){var i=n>>>1|0,x=rL(t,i),c=u(t,0),s=rL(t,(n-i|0)-1|0);return[1,_s(x)+1|0,c,x,s]}var p=[0,u(t,0)]}else var p=e;return p}function hi(t,n,e){var i=_s(t),x=_s(e);if((x+2|0)>1,b0=G0(p0,W0),O0=b0[1],q0=G0(ar-p0|0,b0[2]),er=O0,yr=q0[1],vr=0,$0=q0[2];;){if(er){if(yr){var Sr=yr[2],Mr=yr[1],Br=er[2],qr=er[1],jr=a(X0,qr,Mr);if(jr===0){var er=Br,yr=Sr,vr=[0,qr,vr];continue}if(0<=jr){var yr=Sr,vr=[0,Mr,vr];continue}var er=Br,vr=[0,qr,vr];continue}var $r=jc(er,vr)}else var $r=jc(yr,vr);return[0,$r,$0]}},G0=function(ar,W0){if(ar===2){if(W0){var Lr=W0[2];if(Lr){var Tr=Lr[1],Hr=W0[1],Or=Lr[2],xr=a(X0,Hr,Tr),Rr=xr===0?[0,Hr,0]:0<=xr?[0,Tr,[0,Hr,0]]:[0,Hr,[0,Tr,0]];return[0,Rr,Or]}}}else if(ar===3&&W0){var Wr=W0[2];if(Wr){var Jr=Wr[2];if(Jr){var or=Jr[1],_r=Wr[1],Ir=W0[1],fe=Jr[2],v0=a(X0,Ir,_r);if(v0===0)var P=a(X0,_r,or),L=P===0?[0,_r,0]:0<=P?[0,or,[0,_r,0]]:[0,_r,[0,or,0]],Q=L;else if(0<=v0){var i0=a(X0,Ir,or);if(i0===0)var T0=[0,_r,[0,Ir,0]];else if(0<=i0)var l0=a(X0,_r,or),S0=l0===0?[0,_r,[0,Ir,0]]:0<=l0?[0,or,[0,_r,[0,Ir,0]]]:[0,_r,[0,or,[0,Ir,0]]],T0=S0;else var T0=[0,_r,[0,Ir,[0,or,0]]];var Q=T0}else{var rr=a(X0,_r,or);if(rr===0)var Z=[0,Ir,[0,_r,0]];else if(0<=rr)var R0=a(X0,Ir,or),B=R0===0?[0,Ir,[0,_r,0]]:0<=R0?[0,or,[0,Ir,[0,_r,0]]]:[0,Ir,[0,or,[0,_r,0]]],Z=B;else var Z=[0,Ir,[0,_r,[0,or,0]]];var Q=Z}return[0,Q,fe]}}}for(var p0=ar>>1,b0=b(p0,W0),O0=b0[1],q0=b(ar-p0|0,b0[2]),er=O0,yr=q0[1],vr=0,$0=q0[2];;){if(er){if(yr){var Sr=yr[2],Mr=yr[1],Br=er[2],qr=er[1],jr=a(X0,qr,Mr);if(jr===0){var er=Br,yr=Sr,vr=[0,qr,vr];continue}if(0>>0))switch(ar){case 0:return[0,0,W0];case 1:if(W0)return[0,[0,W0[1]],W0[2]];break;case 2:if(W0){var Lr=W0[2];if(Lr)return[0,[1,2,Lr[1],[0,W0[1]],0],Lr[2]]}break;default:if(W0){var Tr=W0[2];if(Tr){var Hr=Tr[2];if(Hr)return[0,[1,2,Tr[1],[0,W0[1]],[0,Hr[1]]],Hr[2]]}}}var Or=ar/2|0,xr=dr(Or,W0),Rr=xr[2];if(Rr){var Wr=dr((ar-Or|0)-1|0,Rr[2]),Jr=Wr[2];return[0,Ds(xr[1],Rr[1],Wr[1]),Jr]}throw[0,wn,o5r]};return dr(Rc(s0),s0)[1]}var Ar=n(E0,n(w0,n(t0,[0,l])));return n(_0[1],Ar)}return n(E0,n(w0,n(t0,[0,l])))}return n(w0,n(t0,[0,l]))}return n(t0,[0,l])}return[0,l]}return st}return[0,st,tL,i,n,Xee,x,c,s,y,T,E,h,w,G,k0,A,S,M,K,V,nL,fr0,Pl,tr0,ur0,Yee,Pl,tr0,f0,m0,Hee,g0,function(e0,x0,l){u(f(x0),i5r);var c0=fr0(l);c0&&u(f(x0),f5r);var t0=0;return be(function(a0,w0){return a0&&u(f(x0),u5r),a(e0,x0,w0),1},t0,c0),c0&&u(f(x0),x5r),u(f(x0),a5r)},rL]}var xr0=c5r.slice();function iL(t){for(var n=0,e=xr0.length-1-1|0;;){if(e>>18|0),Jn(i,x+1|0,Rt|(p>>>12|0)&63),Jn(i,x+2|0,Rt|(p>>>6|0)&63),Jn(i,x+3|0,Rt|p&63);var y=x+4|0}else{Jn(i,x,dv|p>>>12|0),Jn(i,x+1|0,Rt|(p>>>6|0)&63),Jn(i,x+2|0,Rt|p&63);var y=x+3|0}else{Jn(i,x,at|p>>>6|0),Jn(i,x+1|0,Rt|p&63);var y=x+2|0}else{Jn(i,x,p);var y=x+1|0}var x=y,c=c-1|0,s=s+1|0;continue}throw A1}return x}}function hr0(t){for(var n=nn(t),e=Gv(n,0),i=0,x=0;;){if(x>>6|0)!==2?1:0;if(E)var w=E;else var h=(y>>>6|0)!==2?1:0,w=h||((T>>>6|0)!==2?1:0);if(w)throw A1;e[1+i]=(c&7)<<18|(p&63)<<12|(y&63)<<6|T&63;var G=x+4|0}else if(dv<=c){var A=Vr(t,x+1|0),S=Vr(t,x+2|0),M=(c&15)<<12|(A&63)<<6|S&63,K=(A>>>6|0)!==2?1:0,V=K||((S>>>6|0)!==2?1:0);if(V)var m0=V;else var f0=55296<=M?1:0,m0=f0&&(M<=57088?1:0);if(m0)throw A1;e[1+i]=M;var G=x+3|0}else{var k0=Vr(t,x+1|0);if((k0>>>6|0)!==2)throw A1;e[1+i]=(c&31)<<6|k0&63;var G=x+2|0}else if(Rt<=c)s=1;else{e[1+i]=c;var G=x+1|0}if(s)throw A1;var i=i+1|0,x=G;continue}return[0,e,i,yr0,_r0,mr0,pr0,br0,lr0,vr0,sr0,cr0,or0]}}function jl(t,n,e){var i=t[6]+n|0,x=Pt(e*4|0),c=t[1];if((i+e|0)<=c.length-1)return qv(x,0,Rl(c,i,e,x));throw[0,wn,p_r]}function Se(t){var n=t[6],e=t[3]-n|0,i=Pt(e*4|0);return qv(i,0,Rl(t[1],n,e,i))}function Gl(t,n){var e=t[6],i=t[3]-e|0,x=Pt(i*4|0);return bN(n,x,0,Rl(t[1],e,i,x))}function xL(t){var n=t.length-1,e=Pt(n*4|0);return qv(e,0,Rl(t,0,n,e))}function kr0(t,n){return t[3]=t[3]-n|0,0}var wr0=0;function zee(t,n,e){return[0,t,n,__r,0,e,wr0,y_r]}function Er0(t){var n=t[2];return[0,t[1],[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12]],t[3],t[4],t[5],t[6],t[7]]}function Sr0(t){return t[3][1]}function Zm(t,n){return t!==n[4]?[0,n[1],n[2],n[3],t,n[5],n[6],n[7]]:n}var aL=function t(n,e){return t.fun(n,e)},gr0=function t(n,e){return t.fun(n,e)},oL=function t(n,e){return t.fun(n,e)},cL=function t(n,e){return t.fun(n,e)},Fr0=function t(n,e){return t.fun(n,e)};N(aL,function(t,n){if(typeof t=="number"){var e=t;if(61<=e)if(92<=e)switch(e){case 92:if(typeof n=="number"&&n===92)return 1;break;case 93:if(typeof n=="number"&&n===93)return 1;break;case 94:if(typeof n=="number"&&n===94)return 1;break;case 95:if(typeof n=="number"&&n===95)return 1;break;case 96:if(typeof n=="number"&&n===96)return 1;break;case 97:if(typeof n=="number"&&n===97)return 1;break;case 98:if(typeof n=="number"&&n===98)return 1;break;case 99:if(typeof n=="number"&&n===99)return 1;break;case 100:if(typeof n=="number"&&ni===n)return 1;break;case 101:if(typeof n=="number"&&L7===n)return 1;break;case 102:if(typeof n=="number"&&Ri===n)return 1;break;case 103:if(typeof n=="number"&&c7===n)return 1;break;case 104:if(typeof n=="number"&&D7===n)return 1;break;case 105:if(typeof n=="number"&&R7===n)return 1;break;case 106:if(typeof n=="number"&&Xt===n)return 1;break;case 107:if(typeof n=="number"&&Qc===n)return 1;break;case 108:if(typeof n=="number"&&fs===n)return 1;break;case 109:if(typeof n=="number"&&Fv===n)return 1;break;case 110:if(typeof n=="number"&&Ht===n)return 1;break;case 111:if(typeof n=="number"&&vf===n)return 1;break;case 112:if(typeof n=="number"&&F7===n)return 1;break;case 113:if(typeof n=="number"&&Pn===n)return 1;break;case 114:if(typeof n=="number"&&u1===n)return 1;break;case 115:if(typeof n=="number"&&Av===n)return 1;break;case 116:if(typeof n=="number"&&x1===n)return 1;break;case 117:if(typeof n=="number"&&A2===n)return 1;break;case 118:if(typeof n=="number"&&z2===n)return 1;break;case 119:if(typeof n=="number"&&Sv===n)return 1;break;case 120:if(typeof n=="number"&&fc===n)return 1;break;default:if(typeof n=="number"&&tl<=n)return 1}else switch(e){case 61:if(typeof n=="number"&&n===61)return 1;break;case 62:if(typeof n=="number"&&n===62)return 1;break;case 63:if(typeof n=="number"&&n===63)return 1;break;case 64:if(typeof n=="number"&&n===64)return 1;break;case 65:if(typeof n=="number"&&n===65)return 1;break;case 66:if(typeof n=="number"&&n===66)return 1;break;case 67:if(typeof n=="number"&&n===67)return 1;break;case 68:if(typeof n=="number"&&n===68)return 1;break;case 69:if(typeof n=="number"&&n===69)return 1;break;case 70:if(typeof n=="number"&&n===70)return 1;break;case 71:if(typeof n=="number"&&n===71)return 1;break;case 72:if(typeof n=="number"&&n===72)return 1;break;case 73:if(typeof n=="number"&&n===73)return 1;break;case 74:if(typeof n=="number"&&n===74)return 1;break;case 75:if(typeof n=="number"&&n===75)return 1;break;case 76:if(typeof n=="number"&&n===76)return 1;break;case 77:if(typeof n=="number"&&n===77)return 1;break;case 78:if(typeof n=="number"&&n===78)return 1;break;case 79:if(typeof n=="number"&&n===79)return 1;break;case 80:if(typeof n=="number"&&n===80)return 1;break;case 81:if(typeof n=="number"&&n===81)return 1;break;case 82:if(typeof n=="number"&&n===82)return 1;break;case 83:if(typeof n=="number"&&n===83)return 1;break;case 84:if(typeof n=="number"&&n===84)return 1;break;case 85:if(typeof n=="number"&&n===85)return 1;break;case 86:if(typeof n=="number"&&n===86)return 1;break;case 87:if(typeof n=="number"&&n===87)return 1;break;case 88:if(typeof n=="number"&&n===88)return 1;break;case 89:if(typeof n=="number"&&n===89)return 1;break;case 90:if(typeof n=="number"&&n===90)return 1;break;default:if(typeof n=="number"&&n===91)return 1}else if(31<=e)switch(e){case 31:if(typeof n=="number"&&n===31)return 1;break;case 32:if(typeof n=="number"&&n===32)return 1;break;case 33:if(typeof n=="number"&&n===33)return 1;break;case 34:if(typeof n=="number"&&n===34)return 1;break;case 35:if(typeof n=="number"&&n===35)return 1;break;case 36:if(typeof n=="number"&&n===36)return 1;break;case 37:if(typeof n=="number"&&n===37)return 1;break;case 38:if(typeof n=="number"&&n===38)return 1;break;case 39:if(typeof n=="number"&&n===39)return 1;break;case 40:if(typeof n=="number"&&n===40)return 1;break;case 41:if(typeof n=="number"&&n===41)return 1;break;case 42:if(typeof n=="number"&&n===42)return 1;break;case 43:if(typeof n=="number"&&n===43)return 1;break;case 44:if(typeof n=="number"&&n===44)return 1;break;case 45:if(typeof n=="number"&&n===45)return 1;break;case 46:if(typeof n=="number"&&n===46)return 1;break;case 47:if(typeof n=="number"&&n===47)return 1;break;case 48:if(typeof n=="number"&&n===48)return 1;break;case 49:if(typeof n=="number"&&n===49)return 1;break;case 50:if(typeof n=="number"&&n===50)return 1;break;case 51:if(typeof n=="number"&&n===51)return 1;break;case 52:if(typeof n=="number"&&n===52)return 1;break;case 53:if(typeof n=="number"&&n===53)return 1;break;case 54:if(typeof n=="number"&&n===54)return 1;break;case 55:if(typeof n=="number"&&n===55)return 1;break;case 56:if(typeof n=="number"&&n===56)return 1;break;case 57:if(typeof n=="number"&&n===57)return 1;break;case 58:if(typeof n=="number"&&n===58)return 1;break;case 59:if(typeof n=="number"&&n===59)return 1;break;default:if(typeof n=="number"&&n===60)return 1}else switch(e){case 0:if(typeof n=="number"&&!n)return 1;break;case 1:if(typeof n=="number"&&n===1)return 1;break;case 2:if(typeof n=="number"&&n===2)return 1;break;case 3:if(typeof n=="number"&&n===3)return 1;break;case 4:if(typeof n=="number"&&n===4)return 1;break;case 5:if(typeof n=="number"&&n===5)return 1;break;case 6:if(typeof n=="number"&&n===6)return 1;break;case 7:if(typeof n=="number"&&n===7)return 1;break;case 8:if(typeof n=="number"&&n===8)return 1;break;case 9:if(typeof n=="number"&&n===9)return 1;break;case 10:if(typeof n=="number"&&n===10)return 1;break;case 11:if(typeof n=="number"&&n===11)return 1;break;case 12:if(typeof n=="number"&&n===12)return 1;break;case 13:if(typeof n=="number"&&n===13)return 1;break;case 14:if(typeof n=="number"&&n===14)return 1;break;case 15:if(typeof n=="number"&&n===15)return 1;break;case 16:if(typeof n=="number"&&n===16)return 1;break;case 17:if(typeof n=="number"&&n===17)return 1;break;case 18:if(typeof n=="number"&&n===18)return 1;break;case 19:if(typeof n=="number"&&n===19)return 1;break;case 20:if(typeof n=="number"&&n===20)return 1;break;case 21:if(typeof n=="number"&&n===21)return 1;break;case 22:if(typeof n=="number"&&n===22)return 1;break;case 23:if(typeof n=="number"&&n===23)return 1;break;case 24:if(typeof n=="number"&&n===24)return 1;break;case 25:if(typeof n=="number"&&n===25)return 1;break;case 26:if(typeof n=="number"&&n===26)return 1;break;case 27:if(typeof n=="number"&&n===27)return 1;break;case 28:if(typeof n=="number"&&n===28)return 1;break;case 29:if(typeof n=="number"&&n===29)return 1;break;default:if(typeof n=="number"&&n===30)return 1}}else switch(t[0]){case 0:if(typeof n!="number"&&n[0]===0){var i=n[1],x=u(u(oL,t[1]),i),c=x&&qn(t[2],n[2]);return c}break;case 1:if(typeof n!="number"&&n[0]===1){var s=n[1],p=u(u(cL,t[1]),s),y=p&&qn(t[2],n[2]);return y}break;case 2:if(typeof n!="number"&&n[0]===2){var T=n[1],E=t[1],h=Wv(E[1],T[1]),w=h&&qn(E[2],T[2]),G=w&&qn(E[3],T[3]),A=G&&(E[4]===T[4]?1:0);return A}break;case 3:if(typeof n!="number"&&n[0]===3){var S=n[1],M=t[1],K=Wv(M[1],S[1]);if(K)var V=S[2],f0=u(u(Fr0,M[2]),V);else var f0=K;var m0=f0&&(M[3]===S[3]?1:0);return m0}break;case 4:if(typeof n!="number"&&n[0]===4){var k0=Wv(t[1],n[1]),g0=k0&&qn(t[2],n[2]),e0=g0&&qn(t[3],n[3]);return e0}break;case 5:if(typeof n!="number"&&n[0]===5){var x0=Wv(t[1],n[1]),l=x0&&qn(t[2],n[2]),c0=l&&qn(t[3],n[3]);return c0}break;case 6:if(typeof n!="number"&&n[0]===6)return qn(t[1],n[1]);break;case 7:if(typeof n!="number"&&n[0]===7){var t0=qn(t[1],n[1]);return t0&&Wv(t[2],n[2])}break;case 8:if(typeof n!="number"&&n[0]===8){var a0=Wv(t[1],n[1]),w0=a0&&qn(t[2],n[2]),_0=w0&&qn(t[3],n[3]);return _0}break;case 9:if(typeof n!="number"&&n[0]===9){var E0=n[1];return u(u(gr0,t[1]),E0)}break;case 10:if(typeof n!="number"&&n[0]===10){var X0=n[1],b=u(u(oL,t[1]),X0),G0=b&&(t[2]==n[2]?1:0),X=G0&&qn(t[3],n[3]);return X}break;default:if(typeof n!="number"&&n[0]===11){var s0=n[1],dr=u(u(cL,t[1]),s0),Ar=dr&&(t[2]==n[2]?1:0),ar=Ar&&qn(t[3],n[3]);return ar}}return 0}),N(gr0,function(t,n){if(t){if(n)return 1}else if(!n)return 1;return 0}),N(oL,function(t,n){switch(t){case 0:if(!n)return 1;break;case 1:if(n===1)return 1;break;case 2:if(n===2)return 1;break;case 3:if(n===3)return 1;break;default:if(4<=n)return 1}return 0}),N(cL,function(t,n){switch(t){case 0:if(!n)return 1;break;case 1:if(n===1)return 1;break;default:if(2<=n)return 1}return 0}),N(Fr0,function(t,n){var e=qn(t[1],n[1]),i=e&&qn(t[2],n[2]),x=i&&qn(t[3],n[3]);return x});function Tr0(t){if(typeof t=="number"){var n=t;if(61<=n){if(92<=n)switch(n){case 92:return Gkr;case 93:return Mkr;case 94:return Bkr;case 95:return qkr;case 96:return Ukr;case 97:return Hkr;case 98:return Xkr;case 99:return Ykr;case 100:return Vkr;case 101:return zkr;case 102:return Kkr;case 103:return Wkr;case 104:return Jkr;case 105:return $kr;case 106:return Zkr;case 107:return Qkr;case 108:return rwr;case 109:return ewr;case 110:return nwr;case 111:return twr;case 112:return uwr;case 113:return iwr;case 114:return fwr;case 115:return xwr;case 116:return awr;case 117:return owr;case 118:return cwr;case 119:return swr;case 120:return vwr;default:return lwr}switch(n){case 61:return xkr;case 62:return akr;case 63:return okr;case 64:return ckr;case 65:return skr;case 66:return vkr;case 67:return lkr;case 68:return bkr;case 69:return pkr;case 70:return mkr;case 71:return _kr;case 72:return ykr;case 73:return dkr;case 74:return hkr;case 75:return kkr;case 76:return wkr;case 77:return Ekr;case 78:return Skr;case 79:return gkr;case 80:return Fkr;case 81:return Tkr;case 82:return Okr;case 83:return Ikr;case 84:return Akr;case 85:return Nkr;case 86:return Ckr;case 87:return Pkr;case 88:return Dkr;case 89:return Lkr;case 90:return Rkr;default:return jkr}}if(31<=n)switch(n){case 31:return Nhr;case 32:return Chr;case 33:return Phr;case 34:return Dhr;case 35:return Lhr;case 36:return Rhr;case 37:return jhr;case 38:return Ghr;case 39:return Mhr;case 40:return Bhr;case 41:return qhr;case 42:return Uhr;case 43:return Hhr;case 44:return Xhr;case 45:return Yhr;case 46:return Vhr;case 47:return zhr;case 48:return Khr;case 49:return Whr;case 50:return Jhr;case 51:return $hr;case 52:return Zhr;case 53:return Qhr;case 54:return rkr;case 55:return ekr;case 56:return nkr;case 57:return tkr;case 58:return ukr;case 59:return ikr;default:return fkr}switch(n){case 0:return rhr;case 1:return ehr;case 2:return nhr;case 3:return thr;case 4:return uhr;case 5:return ihr;case 6:return fhr;case 7:return xhr;case 8:return ahr;case 9:return ohr;case 10:return chr;case 11:return shr;case 12:return vhr;case 13:return lhr;case 14:return bhr;case 15:return phr;case 16:return mhr;case 17:return _hr;case 18:return yhr;case 19:return dhr;case 20:return hhr;case 21:return khr;case 22:return whr;case 23:return Ehr;case 24:return Shr;case 25:return ghr;case 26:return Fhr;case 27:return Thr;case 28:return Ohr;case 29:return Ihr;default:return Ahr}}else switch(t[0]){case 0:return bwr;case 1:return pwr;case 2:return mwr;case 3:return _wr;case 4:return ywr;case 5:return dwr;case 6:return hwr;case 7:return kwr;case 8:return wwr;case 9:return Ewr;case 10:return Swr;default:return gwr}}function sL(t){if(typeof t=="number"){var n=t;if(61<=n){if(92<=n)switch(n){case 92:return hdr;case 93:return kdr;case 94:return wdr;case 95:return Edr;case 96:return Sdr;case 97:return gdr;case 98:return Fdr;case 99:return Tdr;case 100:return Odr;case 101:return Idr;case 102:return Adr;case 103:return Ndr;case 104:return Cdr;case 105:return Pdr;case 106:return Ddr;case 107:return Ldr;case 108:return Rdr;case 109:return jdr;case 110:return Gdr;case 111:return Mdr;case 112:return Bdr;case 113:return qdr;case 114:return Udr;case 115:return Hdr;case 116:return Xdr;case 117:return Ydr;case 118:return Vdr;case 119:return zdr;case 120:return Kdr;default:return Wdr}switch(n){case 61:return Hyr;case 62:return Xyr;case 63:return Yyr;case 64:return Vyr;case 65:return zyr;case 66:return Kyr;case 67:return Wyr;case 68:return Jyr;case 69:return $yr;case 70:return Zyr;case 71:return Qyr;case 72:return rdr;case 73:return edr;case 74:return ndr;case 75:return tdr;case 76:return udr;case 77:return idr;case 78:return fdr;case 79:return xdr;case 80:return adr;case 81:return odr;case 82:return cdr;case 83:return sdr;case 84:return vdr;case 85:return ldr;case 86:return bdr;case 87:return pdr;case 88:return mdr;case 89:return _dr;case 90:return ydr;default:return ddr}}if(31<=n)switch(n){case 31:return lyr;case 32:return byr;case 33:return pyr;case 34:return myr;case 35:return _yr;case 36:return yyr;case 37:return dyr;case 38:return hyr;case 39:return kyr;case 40:return wyr;case 41:return Eyr;case 42:return Syr;case 43:return gyr;case 44:return Fyr;case 45:return Tyr;case 46:return Oyr;case 47:return Iyr;case 48:return Ayr;case 49:return Nyr;case 50:return Cyr;case 51:return Pyr;case 52:return Dyr;case 53:return Lyr;case 54:return Ryr;case 55:return jyr;case 56:return Gyr;case 57:return Myr;case 58:return Byr;case 59:return qyr;default:return Uyr}switch(n){case 0:return R_r;case 1:return j_r;case 2:return G_r;case 3:return M_r;case 4:return B_r;case 5:return q_r;case 6:return U_r;case 7:return H_r;case 8:return X_r;case 9:return Y_r;case 10:return V_r;case 11:return z_r;case 12:return K_r;case 13:return W_r;case 14:return J_r;case 15:return $_r;case 16:return Z_r;case 17:return Q_r;case 18:return ryr;case 19:return eyr;case 20:return nyr;case 21:return tyr;case 22:return uyr;case 23:return iyr;case 24:return fyr;case 25:return xyr;case 26:return ayr;case 27:return oyr;case 28:return cyr;case 29:return syr;default:return vyr}}else switch(t[0]){case 2:return t[1][3];case 3:return t[1][2][3];case 5:var e=Te(Jdr,t[3]);return Te($dr,Te(t[2],e));case 9:return t[1]?Zdr:Qdr;case 0:case 1:return t[2];case 6:case 7:return t[1];default:return t[3]}}function Ml(t){return u(Qn(L_r),t)}function vL(t,n){var e=t&&t[1],i=0;if(typeof n=="number")if(Pn===n)var x=d_r,c=h_r;else i=1;else switch(n[0]){case 3:var x=k_r,c=w_r;break;case 5:var x=E_r,c=S_r;break;case 6:case 9:i=1;break;case 0:case 10:var x=F_r,c=T_r;break;case 1:case 11:var x=O_r,c=I_r;break;case 2:case 8:var x=A_r,c=N_r;break;default:var x=C_r,c=P_r}if(i)var x=g_r,c=Ml(sL(n));return e?Te(x,Te(D_r,c)):c}function lL(t){return 45>>0)var i=q(t);else switch(e){case 0:var i=1;break;case 1:var i=2;break;case 2:var i=0;break;default:if(B0(t,2),Gs(j(t))===0){var x=R1(j(t));if(x===0)if(Nn(j(t))===0&&Nn(j(t))===0)var c=Nn(j(t))!==0?1:0,i=c&&q(t);else var i=q(t);else if(x===1&&Nn(j(t))===0)for(;;){var s=N1(j(t));if(s!==0){var p=s!==1?1:0,i=p&&q(t);break}}else var i=q(t)}else var i=q(t)}if(2>>0)throw[0,wn,Fwr];switch(i){case 0:continue;case 1:return 1;default:if(iL(dr0(t)))continue;return kr0(t,1),0}}}function g9(t,n){var e=n-t[3][2]|0;return[0,Sr0(t),e]}function Hl(t,n,e){var i=g9(t,e),x=g9(t,n);return[0,t[1],x,i]}function Ru(t,n){return g9(t,n[6])}function y7(t,n){return g9(t,n[3])}function rt(t,n){return Hl(t,n[6],n[3])}function Wr0(t,n){var e=0;if(typeof n=="number")e=1;else switch(n[0]){case 2:var i=n[1][1];break;case 3:return n[1][1];case 4:var i=n[1];break;case 7:var i=n[2];break;case 5:case 8:return n[1];default:e=1}return e?rt(t,t[2]):i}function ju(t,n,e){return[0,t[1],t[2],t[3],t[4],t[5],[0,[0,n,e],t[6]],t[7]]}function Jr0(t,n,e){return ju(t,n,[10,Ml(e)])}function _L(t,n,e,i){return ju(t,n,[12,e,i])}function wi(t,n){return ju(t,n,QDr)}function d7(t,n){var e=n[3],i=[0,Sr0(t)+1|0,e];return[0,t[1],t[2],i,t[4],t[5],t[6],t[7]]}function $r0(t){var n=nn(t);return n!==0&&Ht===Ot(t,n-1|0)?p7(t,0,n-1|0):t}function Ei(t,n,e,i,x){var c=[0,t[1],n,e],s=Gt(i),p=x?0:1;return[0,c,[0,p,s,t[7][3][1]>>0)var y=q(i);else switch(p){case 0:var y=2;break;case 1:for(;;){B0(i,3);var T=j(i);if(-1>>0)return ke(XDr);switch(y){case 0:var S=Qr0(c,e,i,2,0),M=S[1],K=Bi(Te(YDr,S[2])),V=0<=K?1:0,f0=V&&(K<=55295?1:0);if(f0)var k0=f0;else var m0=57344<=K?1:0,k0=m0&&(K<=mI?1:0);var g0=k0?Zr0(c,M,K):ju(c,M,37);g1(x,K);var c=g0;continue;case 1:var e0=Qr0(c,e,i,3,1),x0=Bi(Te(VDr,e0[2])),l=Zr0(c,e0[1],x0);g1(x,x0);var c=l;continue;case 2:return[0,c,Gt(x)];default:Gl(i,x);continue}}}function Dt(t,n,e){var i=wi(t,rt(t,n));return $v(n),a(e,i,n)}function j1(t,n,e){for(var i=t;;){En(e);var x=j(e);if(-1>>0)var p=q(e);else switch(s){case 0:for(;;){B0(e,3);var y=j(e);if(-1>>0){var A=wi(i,rt(i,e));return[0,A,y7(A,e)]}switch(p){case 0:var S=d7(i,e);Gl(e,n);var i=S;continue;case 1:var M=i[4]?_L(i,rt(i,e),Iwr,Owr):i;return[0,M,y7(M,e)];case 2:if(i[4])return[0,i,y7(i,e)];mn(n,Awr);continue;default:Gl(e,n);continue}}}function e2(t,n,e){for(;;){En(e);var i=j(e),x=13>>0)var c=q(e);else switch(x){case 0:var c=0;break;case 1:for(;;){B0(e,2);var s=j(e);if(-1>>0)return ke(Nwr);switch(c){case 0:return[0,t,y7(t,e)];case 1:var T=y7(t,e),E=d7(t,e),h=$m(e);return[0,E,[0,T[1],T[2]-h|0]];default:Gl(e,n);continue}}}function ee0(t,n){function e(k0){return B0(k0,3),Vu(j(k0))===0?2:q(k0)}En(n);var i=j(n),x=fc>>0)var c=q(n);else switch(x){case 1:var c=16;break;case 2:var c=15;break;case 3:B0(n,15);var c=fi(j(n))===0?15:q(n);break;case 4:B0(n,4);var c=Vu(j(n))===0?e(n):q(n);break;case 5:B0(n,11);var c=Vu(j(n))===0?e(n):q(n);break;case 7:var c=5;break;case 8:var c=6;break;case 9:var c=7;break;case 10:var c=8;break;case 11:var c=9;break;case 12:B0(n,14);var s=R1(j(n));if(s===0)var c=Nn(j(n))===0&&Nn(j(n))===0&&Nn(j(n))===0?12:q(n);else if(s===1&&Nn(j(n))===0)for(;;){var p=N1(j(n));if(p!==0){var c=p===1?13:q(n);break}}else var c=q(n);break;case 13:var c=10;break;case 14:B0(n,14);var c=Nn(j(n))===0&&Nn(j(n))===0?1:q(n);break;default:var c=0}if(16>>0)return ke(ADr);switch(c){case 1:var y=Se(n);return[0,t,y,[0,Bi(Te(NDr,y))],0];case 2:var T=Se(n),E=Bi(Te(CDr,T));return C4<=E?[0,t,T,[0,E>>>3|0,48+(E&7)|0],1]:[0,t,T,[0,E],1];case 3:var h=Se(n);return[0,t,h,[0,Bi(Te(PDr,h))],1];case 4:return[0,t,DDr,[0,0],0];case 5:return[0,t,LDr,[0,8],0];case 6:return[0,t,RDr,[0,12],0];case 7:return[0,t,jDr,[0,10],0];case 8:return[0,t,GDr,[0,13],0];case 9:return[0,t,MDr,[0,9],0];case 10:return[0,t,BDr,[0,11],0];case 11:var w=Se(n);return[0,t,w,[0,Bi(Te(qDr,w))],1];case 12:var G=Se(n);return[0,t,G,[0,Bi(Te(UDr,p7(G,1,nn(G)-1|0)))],0];case 13:var A=Se(n),S=Bi(Te(HDr,p7(A,2,nn(A)-3|0))),M=mI>>0)var E=q(c);else switch(T){case 0:var E=3;break;case 1:for(;;){B0(c,4);var h=j(c);if(-1>>0)return ke(Cwr);switch(E){case 0:var A=Se(c);if(mn(i,A),qn(n,A))return[0,s,y7(s,c),p];mn(e,A);continue;case 1:mn(i,Pwr);var S=ee0(s,c),M=S[4],K=M||p;mn(i,S[2]);var V=S[3];hz(function(w0){return g1(e,w0)},V);var s=S[1],p=K;continue;case 2:var f0=Se(c);mn(i,f0);var m0=d7(wi(s,rt(s,c)),c);return mn(e,f0),[0,m0,y7(m0,c),p];case 3:var k0=Se(c);mn(i,k0);var g0=wi(s,rt(s,c));return mn(e,k0),[0,g0,y7(g0,c),p];default:var e0=c[6],x0=c[3]-e0|0,l=Pt(x0*4|0),c0=Rl(c[1],e0,x0,l);bN(i,l,0,c0),bN(e,l,0,c0);continue}}}function te0(t,n,e,i,x){for(var c=t;;){En(x);var s=j(x),p=96>>0)var y=q(x);else switch(p){case 0:var y=0;break;case 1:for(;;){B0(x,6);var T=j(x);if(-1>>0)return ke(Dwr);switch(y){case 0:return[0,wi(c,rt(c,x)),1];case 1:return qi(i,96),[0,c,1];case 2:return mn(i,Lwr),[0,c,0];case 3:qi(e,92),qi(i,92);var A=ee0(c,x),S=A[2];mn(e,S),mn(i,S);var M=A[3];hz(function(m0){return g1(n,m0)},M);var c=A[1];continue;case 4:mn(e,Rwr),mn(i,jwr),mn(n,Gwr);var c=d7(c,x);continue;case 5:var K=Se(x);mn(e,K),mn(i,K),qi(n,10);var c=d7(c,x);continue;default:var V=Se(x);mn(e,V),mn(i,V),mn(n,V);continue}}}function Kee(t,n){function e(U0){for(;;)if(B0(U0,33),_n(j(U0))!==0)return q(U0)}function i(U0){for(;;)if(B0(U0,27),_n(j(U0))!==0)return q(U0)}function x(U0){B0(U0,26);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,25),_n(j(U0))!==0)return q(U0)}return L0===1?i(U0):q(U0)}function c(U0){for(;;)if(B0(U0,27),_n(j(U0))!==0)return q(U0)}function s(U0){B0(U0,26);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,25),_n(j(U0))!==0)return q(U0)}return L0===1?c(U0):q(U0)}function p(U0){r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,28);var L0=qc(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return c(U0);case 1:continue;case 2:continue r;default:return s(U0)}}return q(U0)}}function y(U0){B0(U0,33);var L0=Hr0(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:var Re=P1(j(U0));if(Re===0)for(;;){B0(U0,28);var He=Qv(j(U0));if(2>>0)return q(U0);switch(He){case 0:return c(U0);case 1:continue;default:return s(U0)}}if(Re===1)for(;;){B0(U0,28);var he=qc(j(U0));if(3>>0)return q(U0);switch(he){case 0:return c(U0);case 1:continue;case 2:return p(U0);default:return s(U0)}}return q(U0);case 2:for(;;){B0(U0,28);var _e=Qv(j(U0));if(2<_e>>>0)return q(U0);switch(_e){case 0:return i(U0);case 1:continue;default:return x(U0)}}default:for(;;){B0(U0,28);var Zn=qc(j(U0));if(3>>0)return q(U0);switch(Zn){case 0:return i(U0);case 1:continue;case 2:return p(U0);default:return x(U0)}}}}function T(U0){B0(U0,31);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,29),_n(j(U0))!==0)return q(U0)}return L0===1?e(U0):q(U0)}function E(U0){return B0(U0,3),zr0(j(U0))===0?3:q(U0)}function h(U0){return _9(j(U0))===0&&l9(j(U0))===0&&Yr0(j(U0))===0&&Lr0(j(U0))===0&&Rr0(j(U0))===0&&pL(j(U0))===0&&Bl(j(U0))===0&&_9(j(U0))===0&&Gs(j(U0))===0&&jr0(j(U0))===0&&Ul(j(U0))===0?3:q(U0)}function w(U0){B0(U0,34);var L0=Pr0(j(U0));if(3>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:for(;;){B0(U0,34);var Re=Rs(j(U0));if(4>>0)return q(U0);switch(Re){case 0:return e(U0);case 1:continue;case 2:return y(U0);case 3:r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,34);var He=Rs(j(U0));if(4>>0)return q(U0);switch(He){case 0:return e(U0);case 1:continue;case 2:return y(U0);case 3:continue r;default:return T(U0)}}return q(U0)}default:return T(U0)}}case 2:return y(U0);default:return T(U0)}}function G(U0){for(;;)if(B0(U0,19),_n(j(U0))!==0)return q(U0)}function A(U0){B0(U0,34);var L0=Qv(j(U0));if(2>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:for(;;){B0(U0,34);var Re=qc(j(U0));if(3>>0)return q(U0);switch(Re){case 0:return e(U0);case 1:continue;case 2:r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,34);var He=qc(j(U0));if(3>>0)return q(U0);switch(He){case 0:return e(U0);case 1:continue;case 2:continue r;default:return T(U0)}}return q(U0)}default:return T(U0)}}default:return T(U0)}}function S(U0){for(;;)if(B0(U0,17),_n(j(U0))!==0)return q(U0)}function M(U0){for(;;)if(B0(U0,17),_n(j(U0))!==0)return q(U0)}function K(U0){for(;;)if(B0(U0,11),_n(j(U0))!==0)return q(U0)}function V(U0){for(;;)if(B0(U0,11),_n(j(U0))!==0)return q(U0)}function f0(U0){for(;;)if(B0(U0,15),_n(j(U0))!==0)return q(U0)}function m0(U0){for(;;)if(B0(U0,15),_n(j(U0))!==0)return q(U0)}function k0(U0){for(;;)if(B0(U0,23),_n(j(U0))!==0)return q(U0)}function g0(U0){for(;;)if(B0(U0,23),_n(j(U0))!==0)return q(U0)}function e0(U0){B0(U0,32);var L0=Mt(j(U0));if(L0===0){for(;;)if(B0(U0,30),_n(j(U0))!==0)return q(U0)}return L0===1?e(U0):q(U0)}function x0(U0){r:for(;;){if(vn(j(U0))===0)for(;;){B0(U0,34);var L0=qr0(j(U0));if(4>>0)return q(U0);switch(L0){case 0:return e(U0);case 1:return A(U0);case 2:continue;case 3:continue r;default:return e0(U0)}}return q(U0)}}En(n);var l=j(n),c0=tf>>0)var t0=q(n);else switch(c0){case 0:var t0=98;break;case 1:var t0=99;break;case 2:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var t0=q(n);break}}else var t0=q(n);break;case 3:var t0=0;break;case 4:B0(n,0);var a0=fi(j(n))!==0?1:0,t0=a0&&q(n);break;case 5:B0(n,88);var t0=Ui(j(n))===0?(B0(n,58),Ui(j(n))===0?54:q(n)):q(n);break;case 6:var t0=7;break;case 7:B0(n,95);var w0=j(n),_0=32>>0)var t0=q(n);else switch(b){case 0:B0(n,83);var t0=Ui(j(n))===0?70:q(n);break;case 1:var t0=4;break;default:var t0=69}break;case 14:B0(n,80);var G0=j(n),X=42>>0)var t0=q(n);else switch(ar){case 0:var t0=e(n);break;case 1:continue;case 2:var t0=y(n);break;case 3:r:for(;;){if(vn(j(n))===0)for(;;){B0(n,34);var W0=Rs(j(n));if(4>>0)var Lr=q(n);else switch(W0){case 0:var Lr=e(n);break;case 1:continue;case 2:var Lr=y(n);break;case 3:continue r;default:var Lr=T(n)}break}else var Lr=q(n);var t0=Lr;break}break;default:var t0=T(n)}break}else var t0=q(n);break;case 18:B0(n,93);var Tr=Dr0(j(n));if(2>>0)var t0=q(n);else switch(Tr){case 0:B0(n,2);var Hr=f9(j(n));if(2
>>0)var t0=q(n);else switch(Hr){case 0:for(;;){var Or=f9(j(n));if(2>>0)var t0=q(n);else switch(Or){case 0:continue;case 1:var t0=E(n);break;default:var t0=h(n)}break}break;case 1:var t0=E(n);break;default:var t0=h(n)}break;case 1:var t0=5;break;default:var t0=92}break;case 19:B0(n,34);var xr=mL(j(n));if(8>>0)var t0=q(n);else switch(xr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:for(;;){B0(n,20);var Rr=Xr0(j(n));if(4>>0)var t0=q(n);else switch(Rr){case 0:var t0=G(n);break;case 1:var t0=A(n);break;case 2:continue;case 3:for(;;){B0(n,18);var Wr=i9(j(n));if(3>>0)var t0=q(n);else switch(Wr){case 0:var t0=S(n);break;case 1:var t0=A(n);break;case 2:continue;default:B0(n,17);var Jr=Mt(j(n));if(Jr===0){for(;;)if(B0(n,17),_n(j(n))!==0){var t0=q(n);break}}else var t0=Jr===1?S(n):q(n)}break}break;default:B0(n,19);var or=Mt(j(n));if(or===0){for(;;)if(B0(n,19),_n(j(n))!==0){var t0=q(n);break}}else var t0=or===1?G(n):q(n)}break}break;case 3:for(;;){B0(n,18);var _r=i9(j(n));if(3<_r>>>0)var t0=q(n);else switch(_r){case 0:var t0=M(n);break;case 1:var t0=A(n);break;case 2:continue;default:B0(n,17);var Ir=Mt(j(n));if(Ir===0){for(;;)if(B0(n,17),_n(j(n))!==0){var t0=q(n);break}}else var t0=Ir===1?M(n):q(n)}break}break;case 4:B0(n,33);var fe=Gr0(j(n));if(fe===0)var t0=e(n);else if(fe===1)for(;;){B0(n,12);var v0=w9(j(n));if(3>>0)var t0=q(n);else switch(v0){case 0:var t0=K(n);break;case 1:continue;case 2:r:for(;;){if(Bc(j(n))===0)for(;;){B0(n,12);var P=w9(j(n));if(3

>>0)var Q=q(n);else switch(P){case 0:var Q=V(n);break;case 1:continue;case 2:continue r;default:B0(n,10);var L=Mt(j(n));if(L===0){for(;;)if(B0(n,9),_n(j(n))!==0){var Q=q(n);break}}else var Q=L===1?V(n):q(n)}break}else var Q=q(n);var t0=Q;break}break;default:B0(n,10);var i0=Mt(j(n));if(i0===0){for(;;)if(B0(n,9),_n(j(n))!==0){var t0=q(n);break}}else var t0=i0===1?K(n):q(n)}break}else var t0=q(n);break;case 5:var t0=y(n);break;case 6:B0(n,33);var l0=Mr0(j(n));if(l0===0)var t0=e(n);else if(l0===1)for(;;){B0(n,16);var S0=h9(j(n));if(3>>0)var t0=q(n);else switch(S0){case 0:var t0=f0(n);break;case 1:continue;case 2:r:for(;;){if(Vu(j(n))===0)for(;;){B0(n,16);var T0=h9(j(n));if(3>>0)var R0=q(n);else switch(T0){case 0:var R0=m0(n);break;case 1:continue;case 2:continue r;default:B0(n,14);var rr=Mt(j(n));if(rr===0){for(;;)if(B0(n,13),_n(j(n))!==0){var R0=q(n);break}}else var R0=rr===1?m0(n):q(n)}break}else var R0=q(n);var t0=R0;break}break;default:B0(n,14);var B=Mt(j(n));if(B===0){for(;;)if(B0(n,13),_n(j(n))!==0){var t0=q(n);break}}else var t0=B===1?f0(n):q(n)}break}else var t0=q(n);break;case 7:B0(n,33);var Z=Or0(j(n));if(Z===0)var t0=e(n);else if(Z===1)for(;;){B0(n,24);var p0=E9(j(n));if(3>>0)var t0=q(n);else switch(p0){case 0:var t0=k0(n);break;case 1:continue;case 2:r:for(;;){if(Nn(j(n))===0)for(;;){B0(n,24);var b0=E9(j(n));if(3>>0)var q0=q(n);else switch(b0){case 0:var q0=g0(n);break;case 1:continue;case 2:continue r;default:B0(n,22);var O0=Mt(j(n));if(O0===0){for(;;)if(B0(n,21),_n(j(n))!==0){var q0=q(n);break}}else var q0=O0===1?g0(n):q(n)}break}else var q0=q(n);var t0=q0;break}break;default:B0(n,22);var er=Mt(j(n));if(er===0){for(;;)if(B0(n,21),_n(j(n))!==0){var t0=q(n);break}}else var t0=er===1?k0(n):q(n)}break}else var t0=q(n);break;default:var t0=e0(n)}break;case 20:B0(n,34);var yr=o9(j(n));if(5>>0)var t0=q(n);else switch(yr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:for(;;){B0(n,34);var vr=o9(j(n));if(5>>0)var t0=q(n);else switch(vr){case 0:var t0=e(n);break;case 1:var t0=w(n);break;case 2:continue;case 3:var t0=y(n);break;case 4:var t0=x0(n);break;default:var t0=e0(n)}break}break;case 3:var t0=y(n);break;case 4:var t0=x0(n);break;default:var t0=e0(n)}break;case 21:var t0=46;break;case 22:var t0=44;break;case 23:B0(n,78);var $0=j(n),Sr=59<$0?61<$0?-1:Vr(tN,$0-60|0)-1|0:-1,t0=Sr===0?(B0(n,62),Ui(j(n))===0?61:q(n)):Sr===1?55:q(n);break;case 24:B0(n,90);var Mr=bL(j(n)),t0=Mr===0?(B0(n,57),Ui(j(n))===0?53:q(n)):Mr===1?91:q(n);break;case 25:B0(n,79);var Br=bL(j(n));if(Br===0)var t0=56;else if(Br===1){B0(n,66);var qr=bL(j(n)),t0=qr===0?63:qr===1?(B0(n,65),Ui(j(n))===0?64:q(n)):q(n)}else var t0=q(n);break;case 26:B0(n,50);var jr=j(n),$r=45>>0)return ke(TPr);var I=t0;if(50<=I)switch(I){case 50:return[0,t,85];case 51:return[0,t,88];case 52:return[0,t,87];case 53:return[0,t,94];case 54:return[0,t,95];case 55:return[0,t,96];case 56:return[0,t,97];case 57:return[0,t,92];case 58:return[0,t,93];case 59:return[0,t,vf];case 60:return[0,t,F7];case 61:return[0,t,69];case 62:return[0,t,ni];case 63:return[0,t,68];case 64:return[0,t,67];case 65:return[0,t,Ri];case 66:return[0,t,L7];case 67:return[0,t,78];case 68:return[0,t,77];case 69:return[0,t,75];case 70:return[0,t,76];case 71:return[0,t,73];case 72:return[0,t,72];case 73:return[0,t,71];case 74:return[0,t,70];case 75:return[0,t,79];case 76:return[0,t,80];case 77:return[0,t,81];case 78:return[0,t,98];case 79:return[0,t,99];case 80:return[0,t,c7];case 81:return[0,t,D7];case 82:return[0,t,Xt];case 83:return[0,t,Qc];case 84:return[0,t,fs];case 85:return[0,t,89];case 86:return[0,t,91];case 87:return[0,t,90];case 88:return[0,t,Fv];case 89:return[0,t,Ht];case 90:return[0,t,82];case 91:return[0,t,11];case 92:return[0,t,74];case 93:return[0,t,R7];case 94:return[0,t,13];case 95:return[0,t,14];case 96:return[2,wi(t,rt(t,n))];case 97:var U=n[6];Kr0(n);var Y=Hl(t,U,n[3]);fL(n,U);var y0=Ll(n),D0=re0(t,y0),I0=D0[2],D=Ee(I0,PPr);if(0<=D){if(!(0>>0)var _e=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Bc(j(L0))===0)for(;;){var He=t9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var _e=he;break}break;default:var _e=0}break}else var _e=q(L0);return _e===0?[0,U0,[1,0,Se(L0)]]:ke(FPr)});case 10:return[0,t,[1,0,Se(n)]];case 11:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&s9(j(L0))===0&&Bc(j(L0))===0)for(;;){B0(L0,0);var Re=n9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Bc(j(L0))===0)for(;;){B0(L0,0);var He=n9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var _e=he;break}else var _e=q(L0);break}}else var _e=q(L0);return _e===0?[0,U0,[0,0,Se(L0)]]:ke(gPr)});case 12:return[0,t,[0,0,Se(n)]];case 13:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&p9(j(L0))===0&&Vu(j(L0))===0)for(;;){var Re=c9(j(L0));if(2>>0)var _e=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Vu(j(L0))===0)for(;;){var He=c9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var _e=he;break}break;default:var _e=0}break}else var _e=q(L0);return _e===0?[0,U0,[1,1,Se(L0)]]:ke(SPr)});case 14:return[0,t,[1,1,Se(n)]];case 15:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&p9(j(L0))===0&&Vu(j(L0))===0)for(;;){B0(L0,0);var Re=a9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Vu(j(L0))===0)for(;;){B0(L0,0);var He=a9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var _e=he;break}else var _e=q(L0);break}}else var _e=q(L0);return _e===0?[0,U0,[0,3,Se(L0)]]:ke(EPr)});case 16:return[0,t,[0,3,Se(n)]];case 17:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0)for(;;){var Re=j(L0),He=47>>0)var _e=q(L0);else switch(Re){case 0:continue;case 1:r:for(;;){if(Nn(j(L0))===0)for(;;){var He=u9(j(L0));if(2>>0)var he=q(L0);else switch(He){case 0:continue;case 1:continue r;default:var he=0}break}else var he=q(L0);var _e=he;break}break;default:var _e=0}break}else var _e=q(L0);return _e===0?[0,U0,[1,2,Se(L0)]]:ke(hPr)});case 23:return Dt(t,n,function(U0,L0){if(En(L0),Ls(j(L0))===0&&Qm(j(L0))===0&&Nn(j(L0))===0)for(;;){B0(L0,0);var Re=y9(j(L0));if(Re!==0){if(Re===1)r:for(;;){if(Nn(j(L0))===0)for(;;){B0(L0,0);var He=y9(j(L0));if(He!==0){if(He===1)continue r;var he=q(L0);break}}else var he=q(L0);var _e=he;break}else var _e=q(L0);break}}else var _e=q(L0);return _e===0?[0,U0,[0,4,Se(L0)]]:ke(dPr)});case 25:return Dt(t,n,function(U0,L0){function Re(cn){for(;;){var tt=ki(j(cn));if(2>>0)return q(cn);switch(tt){case 0:continue;case 1:r:for(;;){if(vn(j(cn))===0)for(;;){var Tt=ki(j(cn));if(2>>0)return q(cn);switch(Tt){case 0:continue;case 1:continue r;default:return 0}}return q(cn)}default:return 0}}}function He(cn){for(;;){var tt=r2(j(cn));if(tt!==0){var Tt=tt!==1?1:0;return Tt&&q(cn)}}}function he(cn){var tt=S9(j(cn));if(2>>0)return q(cn);switch(tt){case 0:var Tt=P1(j(cn));return Tt===0?He(cn):Tt===1?Re(cn):q(cn);case 1:return He(cn);default:return Re(cn)}}function _e(cn){var tt=m9(j(cn));if(tt===0)for(;;){var Tt=i7(j(cn));if(2>>0)return q(cn);switch(Tt){case 0:continue;case 1:return he(cn);default:r:for(;;){if(vn(j(cn))===0)for(;;){var Fi=i7(j(cn));if(2>>0)return q(cn);switch(Fi){case 0:continue;case 1:return he(cn);default:continue r}}return q(cn)}}}return tt===1?he(cn):q(cn)}En(L0);var Zn=r9(j(L0));if(2>>0)var dn=q(L0);else switch(Zn){case 0:if(vn(j(L0))===0)for(;;){var it=i7(j(L0));if(2>>0)var dn=q(L0);else switch(it){case 0:continue;case 1:var dn=he(L0);break;default:r:for(;;){if(vn(j(L0))===0)for(;;){var ft=i7(j(L0));if(2>>0)var Rn=q(L0);else switch(ft){case 0:continue;case 1:var Rn=he(L0);break;default:continue r}break}else var Rn=q(L0);var dn=Rn;break}}break}else var dn=q(L0);break;case 1:var nt=e9(j(L0)),dn=nt===0?_e(L0):nt===1?he(L0):q(L0);break;default:for(;;){var ht=b9(j(L0));if(2>>0)var dn=q(L0);else switch(ht){case 0:var dn=_e(L0);break;case 1:continue;default:var dn=he(L0)}break}}if(dn===0){var tn=ju(U0,rt(U0,L0),23);return[0,tn,[1,2,Se(L0)]]}return ke(yPr)});case 26:var Mu=ju(t,rt(t,n),23);return[0,Mu,[1,2,Se(n)]];case 27:return Dt(t,n,function(U0,L0){function Re(tn){for(;;){B0(tn,0);var cn=js(j(tn));if(cn!==0){if(cn===1)r:for(;;){if(vn(j(tn))===0)for(;;){B0(tn,0);var tt=js(j(tn));if(tt!==0){if(tt===1)continue r;return q(tn)}}return q(tn)}return q(tn)}}}function He(tn){for(;;)if(B0(tn,0),vn(j(tn))!==0)return q(tn)}function he(tn){var cn=S9(j(tn));if(2>>0)return q(tn);switch(cn){case 0:var tt=P1(j(tn));return tt===0?He(tn):tt===1?Re(tn):q(tn);case 1:return He(tn);default:return Re(tn)}}function _e(tn){var cn=m9(j(tn));if(cn===0)for(;;){var tt=i7(j(tn));if(2>>0)return q(tn);switch(tt){case 0:continue;case 1:return he(tn);default:r:for(;;){if(vn(j(tn))===0)for(;;){var Tt=i7(j(tn));if(2>>0)return q(tn);switch(Tt){case 0:continue;case 1:return he(tn);default:continue r}}return q(tn)}}}return cn===1?he(tn):q(tn)}En(L0);var Zn=r9(j(L0));if(2>>0)var dn=q(L0);else switch(Zn){case 0:if(vn(j(L0))===0)for(;;){var it=i7(j(L0));if(2>>0)var dn=q(L0);else switch(it){case 0:continue;case 1:var dn=he(L0);break;default:r:for(;;){if(vn(j(L0))===0)for(;;){var ft=i7(j(L0));if(2>>0)var Rn=q(L0);else switch(ft){case 0:continue;case 1:var Rn=he(L0);break;default:continue r}break}else var Rn=q(L0);var dn=Rn;break}}break}else var dn=q(L0);break;case 1:var nt=e9(j(L0)),dn=nt===0?_e(L0):nt===1?he(L0):q(L0);break;default:for(;;){var ht=b9(j(L0));if(2>>0)var dn=q(L0);else switch(ht){case 0:var dn=_e(L0);break;case 1:continue;default:var dn=he(L0)}break}}return dn===0?[0,U0,[0,4,Se(L0)]]:ke(_Pr)});case 29:return Dt(t,n,function(U0,L0){function Re(nt){for(;;){var ht=ki(j(nt));if(2>>0)return q(nt);switch(ht){case 0:continue;case 1:r:for(;;){if(vn(j(nt))===0)for(;;){var tn=ki(j(nt));if(2>>0)return q(nt);switch(tn){case 0:continue;case 1:continue r;default:return 0}}return q(nt)}default:return 0}}}function He(nt){var ht=r2(j(nt));if(ht===0)return Re(nt);var tn=ht!==1?1:0;return tn&&q(nt)}En(L0);var he=r9(j(L0));if(2>>0)var _e=q(L0);else switch(he){case 0:var _e=vn(j(L0))===0?Re(L0):q(L0);break;case 1:for(;;){var Zn=L1(j(L0));if(Zn===0)var _e=He(L0);else{if(Zn===1)continue;var _e=q(L0)}break}break;default:for(;;){var dn=Uc(j(L0));if(2>>0)var _e=q(L0);else switch(dn){case 0:var _e=He(L0);break;case 1:continue;default:r:for(;;){if(vn(j(L0))===0)for(;;){var it=Uc(j(L0));if(2>>0)var ft=q(L0);else switch(it){case 0:var ft=He(L0);break;case 1:continue;default:continue r}break}else var ft=q(L0);var _e=ft;break}}break}}if(_e===0){var Rn=ju(U0,rt(U0,L0),22);return[0,Rn,[1,2,Se(L0)]]}return ke(mPr)});case 30:return Dt(t,n,function(U0,L0){En(L0);var Re=P1(j(L0));if(Re===0)for(;;){var He=r2(j(L0));if(He!==0){var he=He!==1?1:0,it=he&&q(L0);break}}else if(Re===1)for(;;){var _e=ki(j(L0));if(2<_e>>>0)var it=q(L0);else switch(_e){case 0:continue;case 1:r:for(;;){if(vn(j(L0))===0)for(;;){var Zn=ki(j(L0));if(2>>0)var dn=q(L0);else switch(Zn){case 0:continue;case 1:continue r;default:var dn=0}break}else var dn=q(L0);var it=dn;break}break;default:var it=0}break}else var it=q(L0);return it===0?[0,U0,[1,2,Se(L0)]]:ke(pPr)});case 31:var z7=ju(t,rt(t,n),22);return[0,z7,[1,2,Se(n)]];case 33:return Dt(t,n,function(U0,L0){function Re(Rn){for(;;){B0(Rn,0);var nt=js(j(Rn));if(nt!==0){if(nt===1)r:for(;;){if(vn(j(Rn))===0)for(;;){B0(Rn,0);var ht=js(j(Rn));if(ht!==0){if(ht===1)continue r;return q(Rn)}}return q(Rn)}return q(Rn)}}}function He(Rn){return B0(Rn,0),vn(j(Rn))===0?Re(Rn):q(Rn)}En(L0);var he=r9(j(L0));if(2>>0)var _e=q(L0);else switch(he){case 0:var _e=vn(j(L0))===0?Re(L0):q(L0);break;case 1:for(;;){B0(L0,0);var Zn=L1(j(L0));if(Zn===0)var _e=He(L0);else{if(Zn===1)continue;var _e=q(L0)}break}break;default:for(;;){B0(L0,0);var dn=Uc(j(L0));if(2>>0)var _e=q(L0);else switch(dn){case 0:var _e=He(L0);break;case 1:continue;default:r:for(;;){if(vn(j(L0))===0)for(;;){B0(L0,0);var it=Uc(j(L0));if(2>>0)var ft=q(L0);else switch(it){case 0:var ft=He(L0);break;case 1:continue;default:continue r}break}else var ft=q(L0);var _e=ft;break}}break}}return _e===0?[0,U0,[0,4,Se(L0)]]:ke(bPr)});case 35:var Yi=rt(t,n),a7=Se(n);return[0,t,[4,Yi,a7,a7]];case 36:return[0,t,0];case 37:return[0,t,1];case 38:return[0,t,4];case 39:return[0,t,5];case 40:return[0,t,6];case 41:return[0,t,7];case 42:return[0,t,12];case 43:return[0,t,10];case 44:return[0,t,8];case 45:return[0,t,9];case 46:return[0,t,86];case 47:$v(n),En(n);var Yc=j(n),K7=62>>0)var x=q(n);else switch(i){case 0:var x=0;break;case 1:var x=6;break;case 2:if(B0(n,2),Mc(j(n))===0){for(;;)if(B0(n,2),Mc(j(n))!==0){var x=q(n);break}}else var x=q(n);break;case 3:var x=1;break;case 4:B0(n,1);var x=fi(j(n))===0?1:q(n);break;default:B0(n,5);var c=k9(j(n)),x=c===0?4:c===1?3:q(n)}if(6>>0)return ke(lPr);switch(x){case 0:return[0,t,Pn];case 1:return[2,d7(t,n)];case 2:return[2,t];case 3:var s=Ru(t,n),p=$n(zn),y=e2(t,p,n),T=y[1];return[1,T,Ei(T,s,y[2],p,0)];case 4:var E=Ru(t,n),h=$n(zn),w=j1(t,h,n),G=w[1];return[1,G,Ei(G,E,w[2],h,1)];case 5:var A=Ru(t,n),S=$n(zn),M=t;r:for(;;){En(n);var K=j(n),V=92>>0)var f0=q(n);else switch(V){case 0:var f0=0;break;case 1:for(;;){B0(n,7);var m0=j(n);if(-1>>0)var f0=q(n);else switch(l){case 0:var f0=2;break;case 1:var f0=1;break;default:B0(n,1);var f0=fi(j(n))===0?1:q(n)}}if(7>>0)var c0=ke(qwr);else switch(f0){case 0:var c0=[0,ju(M,rt(M,n),25),Uwr];break;case 1:var c0=[0,d7(ju(M,rt(M,n),25),n),Hwr];break;case 3:var t0=Se(n),c0=[0,M,p7(t0,1,nn(t0)-1|0)];break;case 4:var c0=[0,M,Xwr];break;case 5:for(qi(S,91);;){En(n);var a0=j(n),w0=93>>0)var _0=q(n);else switch(w0){case 0:var _0=0;break;case 1:for(;;){B0(n,4);var E0=j(n);if(-1>>0)var s0=ke(Mwr);else switch(_0){case 0:var s0=M;break;case 1:mn(S,Bwr);continue;case 2:qi(S,92),qi(S,93);continue;case 3:qi(S,93);var s0=M;break;default:mn(S,Se(n));continue}var M=s0;continue r}case 6:var c0=[0,d7(ju(M,rt(M,n),25),n),Ywr];break;default:mn(S,Se(n));continue}var dr=c0[1],Ar=y7(dr,n),ar=[0,dr[1],A,Ar],W0=c0[2];return[0,dr,[5,ar,Gt(S),W0]]}default:var Lr=wi(t,rt(t,n));return[0,Lr,[6,Se(n)]]}}function yL(t,n,e,i,x){for(var c=t;;){var s=function(Cn){for(;;)if(B0(Cn,6),Nr0(j(Cn))!==0)return q(Cn)};En(x);var p=j(x),y=br>>0)var T=q(x);else switch(y){case 0:var T=1;break;case 1:var T=s(x);break;case 2:var T=2;break;case 3:B0(x,2);var T=fi(j(x))===0?2:q(x);break;case 4:var T=0;break;case 5:B0(x,6);var E=j(x),h=34>>0)return ke(Vwr);switch(T){case 0:var c0=Se(x),t0=0;switch(n){case 0:n0(c0,zwr)||(t0=1);break;case 1:n0(c0,Kwr)||(t0=1);break;default:var a0=0;if(n0(c0,Wwr)){if(!n0(c0,Jwr))return _L(c,rt(c,x),nEr,eEr);if(n0(c0,$wr)){if(!n0(c0,Zwr))return _L(c,rt(c,x),rEr,Qwr);a0=1}}if(!a0)return $v(x),c}if(t0)return c;mn(i,c0),mn(e,c0);continue;case 1:return wi(c,rt(c,x));case 2:var w0=Se(x);mn(i,w0),mn(e,w0);var c=d7(c,x);continue;case 3:var _0=Se(x),E0=p7(_0,3,nn(_0)-4|0);mn(i,_0),g1(e,Bi(Te(tEr,E0)));continue;case 4:var X0=Se(x),b=p7(X0,2,nn(X0)-3|0);mn(i,X0),g1(e,Bi(b));continue;case 5:var G0=Se(x),X=p7(G0,1,nn(G0)-2|0);mn(i,G0);var s0=Ee(X,uEr),dr=0;if(0<=s0)if(0>>0)var x=q(n);else switch(i){case 0:var x=0;break;case 1:var x=14;break;case 2:if(B0(n,2),Mc(j(n))===0){for(;;)if(B0(n,2),Mc(j(n))!==0){var x=q(n);break}}else var x=q(n);break;case 3:var x=1;break;case 4:B0(n,1);var x=fi(j(n))===0?1:q(n);break;case 5:var x=12;break;case 6:var x=13;break;case 7:var x=10;break;case 8:B0(n,6);var c=k9(j(n)),x=c===0?4:c===1?3:q(n);break;case 9:var x=9;break;case 10:var x=5;break;case 11:var x=11;break;case 12:var x=7;break;case 13:if(B0(n,14),Gs(j(n))===0){var s=R1(j(n));if(s===0)var x=Nn(j(n))===0&&Nn(j(n))===0&&Nn(j(n))===0?13:q(n);else if(s===1&&Nn(j(n))===0)for(;;){var p=N1(j(n));if(p!==0){var x=p===1?13:q(n);break}}else var x=q(n)}else var x=q(n);break;default:var x=8}if(14>>0)return ke(sPr);switch(x){case 0:return[0,t,Pn];case 1:return[2,d7(t,n)];case 2:return[2,t];case 3:var y=Ru(t,n),T=$n(zn),E=e2(t,T,n),h=E[1];return[1,h,Ei(h,y,E[2],T,0)];case 4:var w=Ru(t,n),G=$n(zn),A=j1(t,G,n),S=A[1];return[1,S,Ei(S,w,A[2],G,1)];case 5:return[0,t,98];case 6:return[0,t,R7];case 7:return[0,t,99];case 8:return[0,t,0];case 9:return[0,t,86];case 10:return[0,t,10];case 11:return[0,t,82];case 12:var M=Se(n),K=Ru(t,n),V=$n(zn),f0=$n(zn);mn(f0,M);var m0=qn(M,vPr)?0:1,k0=yL(t,m0,V,f0,n),g0=y7(k0,n);mn(f0,M);var e0=Gt(V),x0=Gt(f0);return[0,k0,[8,[0,k0[1],K,g0],e0,x0]];case 13:for(var l=n[6];;){En(n);var c0=j(n),t0=In>>0)var a0=q(n);else switch(t0){case 0:var a0=1;break;case 1:var a0=2;break;case 2:var a0=0;break;default:if(B0(n,2),Gs(j(n))===0){var w0=R1(j(n));if(w0===0)if(Nn(j(n))===0&&Nn(j(n))===0)var _0=Nn(j(n))!==0?1:0,a0=_0&&q(n);else var a0=q(n);else if(w0===1&&Nn(j(n))===0)for(;;){var E0=N1(j(n));if(E0!==0){var X0=E0!==1?1:0,a0=X0&&q(n);break}}else var a0=q(n)}else var a0=q(n)}if(2>>0)throw[0,wn,Twr];switch(a0){case 0:continue;case 1:break;default:if(iL(dr0(n)))continue;kr0(n,1)}var b=n[3];fL(n,l);var G0=Ll(n),X=Hl(t,l,b);return[0,t,[7,xL(G0),X]]}default:return[0,t,[6,Se(n)]]}}function $ee(t,n){En(n);var e=j(n);if(-1>>0)var E=q(n);else switch(T){case 0:var E=5;break;case 1:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var E=q(n);break}}else var E=q(n);break;case 2:var E=0;break;case 3:B0(n,0);var h=fi(j(n))!==0?1:0,E=h&&q(n);break;case 4:B0(n,5);var w=k9(j(n)),E=w===0?3:w===1?2:q(n);break;default:var E=4}if(5>>0)return ke(aPr);switch(E){case 0:return[2,d7(t,n)];case 1:return[2,t];case 2:var G=Ru(t,n),A=$n(zn),S=e2(t,A,n),M=S[1];return[1,M,Ei(M,G,S[2],A,0)];case 3:var K=Ru(t,n),V=$n(zn),f0=j1(t,V,n),m0=f0[1];return[1,m0,Ei(m0,K,f0[2],V,1)];case 4:var k0=Ru(t,n),g0=$n(zn),e0=$n(zn),x0=$n(zn);mn(x0,oPr);var l=te0(t,g0,e0,x0,n),c0=l[1],t0=y7(c0,n),a0=[0,c0[1],k0,t0],w0=l[2],_0=Gt(x0),E0=Gt(e0);return[0,c0,[3,[0,a0,[0,Gt(g0),E0,_0],w0]]];default:var X0=wi(t,rt(t,n));return[0,X0,[3,[0,rt(X0,n),cPr,1]]]}}function Zee(t,n){function e(D){for(;;)if(B0(D,29),_n(j(D))!==0)return q(D)}function i(D){B0(D,27);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,25),_n(j(D))!==0)return q(D)}return u0===1?e(D):q(D)}function x(D){for(;;)if(B0(D,23),_n(j(D))!==0)return q(D)}function c(D){B0(D,22);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,21),_n(j(D))!==0)return q(D)}return u0===1?x(D):q(D)}function s(D){for(;;)if(B0(D,23),_n(j(D))!==0)return q(D)}function p(D){B0(D,22);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,21),_n(j(D))!==0)return q(D)}return u0===1?s(D):q(D)}function y(D){r:for(;;){if(vn(j(D))===0)for(;;){B0(D,24);var u0=qc(j(D));if(3>>0)return q(D);switch(u0){case 0:return s(D);case 1:continue;case 2:continue r;default:return p(D)}}return q(D)}}function T(D){B0(D,29);var u0=Hr0(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:var Y0=P1(j(D));if(Y0===0)for(;;){B0(D,24);var J0=Qv(j(D));if(2>>0)return q(D);switch(J0){case 0:return s(D);case 1:continue;default:return p(D)}}if(Y0===1)for(;;){B0(D,24);var fr=qc(j(D));if(3>>0)return q(D);switch(fr){case 0:return s(D);case 1:continue;case 2:return y(D);default:return p(D)}}return q(D);case 2:for(;;){B0(D,24);var Q0=Qv(j(D));if(2>>0)return q(D);switch(Q0){case 0:return x(D);case 1:continue;default:return c(D)}}default:for(;;){B0(D,24);var F0=qc(j(D));if(3>>0)return q(D);switch(F0){case 0:return x(D);case 1:continue;case 2:return y(D);default:return c(D)}}}}function E(D){for(;;){B0(D,30);var u0=Rs(j(D));if(4>>0)return q(D);switch(u0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var Y0=Rs(j(D));if(4>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:continue r;default:return i(D)}}return q(D)}default:return i(D)}}}function h(D){return vn(j(D))===0?E(D):q(D)}function w(D){for(;;)if(B0(D,19),_n(j(D))!==0)return q(D)}function G(D){for(;;)if(B0(D,19),_n(j(D))!==0)return q(D)}function A(D){B0(D,29);var u0=Or0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,20);var Y0=E9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return G(D);case 1:continue;case 2:r:for(;;){if(Nn(j(D))===0)for(;;){B0(D,20);var J0=E9(j(D));if(3>>0)return q(D);switch(J0){case 0:return w(D);case 1:continue;case 2:continue r;default:B0(D,18);var fr=Mt(j(D));if(fr===0){for(;;)if(B0(D,17),_n(j(D))!==0)return q(D)}return fr===1?w(D):q(D)}}return q(D)}default:B0(D,18);var Q0=Mt(j(D));if(Q0===0){for(;;)if(B0(D,17),_n(j(D))!==0)return q(D)}return Q0===1?G(D):q(D)}}return q(D)}function S(D){for(;;)if(B0(D,13),_n(j(D))!==0)return q(D)}function M(D){for(;;)if(B0(D,13),_n(j(D))!==0)return q(D)}function K(D){B0(D,29);var u0=Mr0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,14);var Y0=h9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return M(D);case 1:continue;case 2:r:for(;;){if(Vu(j(D))===0)for(;;){B0(D,14);var J0=h9(j(D));if(3>>0)return q(D);switch(J0){case 0:return S(D);case 1:continue;case 2:continue r;default:B0(D,12);var fr=Mt(j(D));if(fr===0){for(;;)if(B0(D,11),_n(j(D))!==0)return q(D)}return fr===1?S(D):q(D)}}return q(D)}default:B0(D,12);var Q0=Mt(j(D));if(Q0===0){for(;;)if(B0(D,11),_n(j(D))!==0)return q(D)}return Q0===1?M(D):q(D)}}return q(D)}function V(D){for(;;)if(B0(D,9),_n(j(D))!==0)return q(D)}function f0(D){for(;;)if(B0(D,9),_n(j(D))!==0)return q(D)}function m0(D){B0(D,29);var u0=Gr0(j(D));if(u0===0)return e(D);if(u0===1)for(;;){B0(D,10);var Y0=w9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return f0(D);case 1:continue;case 2:r:for(;;){if(Bc(j(D))===0)for(;;){B0(D,10);var J0=w9(j(D));if(3>>0)return q(D);switch(J0){case 0:return V(D);case 1:continue;case 2:continue r;default:B0(D,8);var fr=Mt(j(D));if(fr===0){for(;;)if(B0(D,7),_n(j(D))!==0)return q(D)}return fr===1?V(D):q(D)}}return q(D)}default:B0(D,8);var Q0=Mt(j(D));if(Q0===0){for(;;)if(B0(D,7),_n(j(D))!==0)return q(D)}return Q0===1?f0(D):q(D)}}return q(D)}function k0(D){B0(D,28);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,26),_n(j(D))!==0)return q(D)}return u0===1?e(D):q(D)}function g0(D){B0(D,30);var u0=Qv(j(D));if(2>>0)return q(D);switch(u0){case 0:return e(D);case 1:for(;;){B0(D,30);var Y0=qc(j(D));if(3>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var J0=qc(j(D));if(3>>0)return q(D);switch(J0){case 0:return e(D);case 1:continue;case 2:continue r;default:return i(D)}}return q(D)}default:return i(D)}}default:return i(D)}}function e0(D){for(;;){B0(D,30);var u0=i9(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:return g0(D);case 2:continue;default:return k0(D)}}}function x0(D){for(;;)if(B0(D,15),_n(j(D))!==0)return q(D)}function l(D){B0(D,15);var u0=Mt(j(D));if(u0===0){for(;;)if(B0(D,15),_n(j(D))!==0)return q(D)}return u0===1?x0(D):q(D)}function c0(D){for(;;){B0(D,16);var u0=Xr0(j(D));if(4>>0)return q(D);switch(u0){case 0:return x0(D);case 1:return g0(D);case 2:continue;case 3:for(;;){B0(D,15);var Y0=i9(j(D));if(3>>0)return q(D);switch(Y0){case 0:return x0(D);case 1:return g0(D);case 2:continue;default:return l(D)}}default:return l(D)}}}function t0(D){B0(D,30);var u0=Pr0(j(D));if(3>>0)return q(D);switch(u0){case 0:return e(D);case 1:for(;;){B0(D,30);var Y0=Rs(j(D));if(4>>0)return q(D);switch(Y0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var J0=Rs(j(D));if(4>>0)return q(D);switch(J0){case 0:return e(D);case 1:continue;case 2:return T(D);case 3:continue r;default:return i(D)}}return q(D)}default:return i(D)}}case 2:return T(D);default:return i(D)}}function a0(D){B0(D,30);var u0=mL(j(D));if(8>>0)return q(D);switch(u0){case 0:return e(D);case 1:return t0(D);case 2:return c0(D);case 3:return e0(D);case 4:return m0(D);case 5:return T(D);case 6:return K(D);case 7:return A(D);default:return k0(D)}}function w0(D){r:for(;;){if(vn(j(D))===0)for(;;){B0(D,30);var u0=qr0(j(D));if(4>>0)return q(D);switch(u0){case 0:return e(D);case 1:return g0(D);case 2:continue;case 3:continue r;default:return k0(D)}}return q(D)}}function _0(D){for(;;){B0(D,30);var u0=o9(j(D));if(5>>0)return q(D);switch(u0){case 0:return e(D);case 1:return t0(D);case 2:continue;case 3:return T(D);case 4:return w0(D);default:return k0(D)}}}function E0(D){return B0(D,3),zr0(j(D))===0?3:q(D)}function X0(D){return _9(j(D))===0&&l9(j(D))===0&&Yr0(j(D))===0&&Lr0(j(D))===0&&Rr0(j(D))===0&&pL(j(D))===0&&Bl(j(D))===0&&_9(j(D))===0&&Gs(j(D))===0&&jr0(j(D))===0&&Ul(j(D))===0?3:q(D)}En(n);var b=j(n),G0=tf>>0)var X=q(n);else switch(G0){case 0:var X=62;break;case 1:var X=63;break;case 2:if(B0(n,1),Mc(j(n))===0){for(;;)if(B0(n,1),Mc(j(n))!==0){var X=q(n);break}}else var X=q(n);break;case 3:var X=0;break;case 4:B0(n,0);var s0=fi(j(n))!==0?1:0,X=s0&&q(n);break;case 5:var X=6;break;case 6:var X=61;break;case 7:if(B0(n,63),Bl(j(n))===0){var dr=j(n),Ar=c7>>0)var X=q(n);else switch(Lr){case 0:for(;;){var Tr=ql(j(n));if(3>>0)var X=q(n);else switch(Tr){case 0:continue;case 1:var X=h(n);break;case 2:var X=a0(n);break;default:var X=_0(n)}break}break;case 1:var X=h(n);break;case 2:var X=a0(n);break;default:var X=_0(n)}break;case 15:B0(n,41);var Hr=L1(j(n)),X=Hr===0?lL(j(n))===0?40:q(n):Hr===1?E(n):q(n);break;case 16:B0(n,63);var Or=k9(j(n));if(Or===0){B0(n,2);var xr=f9(j(n));if(2>>0)var X=q(n);else switch(xr){case 0:for(;;){var Rr=f9(j(n));if(2>>0)var X=q(n);else switch(Rr){case 0:continue;case 1:var X=E0(n);break;default:var X=X0(n)}break}break;case 1:var X=E0(n);break;default:var X=X0(n)}}else var X=Or===1?5:q(n);break;case 17:B0(n,30);var Wr=mL(j(n));if(8>>0)var X=q(n);else switch(Wr){case 0:var X=e(n);break;case 1:var X=t0(n);break;case 2:var X=c0(n);break;case 3:var X=e0(n);break;case 4:var X=m0(n);break;case 5:var X=T(n);break;case 6:var X=K(n);break;case 7:var X=A(n);break;default:var X=k0(n)}break;case 18:B0(n,30);var Jr=o9(j(n));if(5>>0)var X=q(n);else switch(Jr){case 0:var X=e(n);break;case 1:var X=t0(n);break;case 2:var X=_0(n);break;case 3:var X=T(n);break;case 4:var X=w0(n);break;default:var X=k0(n)}break;case 19:var X=44;break;case 20:var X=42;break;case 21:var X=49;break;case 22:B0(n,51);var or=j(n),_r=61>>0)return ke(MCr);var i0=X;if(32<=i0)switch(i0){case 34:return[0,t,0];case 35:return[0,t,1];case 36:return[0,t,2];case 37:return[0,t,3];case 38:return[0,t,4];case 39:return[0,t,5];case 40:return[0,t,12];case 41:return[0,t,10];case 42:return[0,t,8];case 43:return[0,t,9];case 45:return[0,t,83];case 49:return[0,t,98];case 50:return[0,t,99];case 53:return[0,t,Xt];case 55:return[0,t,89];case 56:return[0,t,91];case 57:return[0,t,11];case 59:return[0,t,c7];case 60:return[0,t,D7];case 61:var l0=n[6];Kr0(n);var S0=Hl(t,l0,n[3]);fL(n,l0);var T0=Ll(n),rr=re0(t,T0),R0=rr[2],B=rr[1],Z=Ee(R0,HCr);if(0<=Z){if(!(0>>0)return q(F0);switch(gr){case 0:continue;case 1:r:for(;;){if(Bc(j(F0))===0)for(;;){var mr=t9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(0,Se(u0))]:ke(GCr)});case 8:return[0,t,Hi(0,Se(n))];case 9:return Dt(t,n,function(D,u0){function Y0(F0){if(s9(j(F0))===0){if(Bc(j(F0))===0)for(;;){B0(F0,0);var gr=n9(j(F0));if(gr!==0){if(gr===1)r:for(;;){if(Bc(j(F0))===0)for(;;){B0(F0,0);var mr=n9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(0,Se(u0))]:ke(jCr)});case 10:return[0,t,Hc(0,Se(n))];case 11:return Dt(t,n,function(D,u0){function Y0(F0){if(p9(j(F0))===0){if(Vu(j(F0))===0)for(;;){var gr=c9(j(F0));if(2>>0)return q(F0);switch(gr){case 0:continue;case 1:r:for(;;){if(Vu(j(F0))===0)for(;;){var mr=c9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(1,Se(u0))]:ke(RCr)});case 12:return[0,t,Hi(1,Se(n))];case 13:return Dt(t,n,function(D,u0){function Y0(F0){if(p9(j(F0))===0){if(Vu(j(F0))===0)for(;;){B0(F0,0);var gr=a9(j(F0));if(gr!==0){if(gr===1)r:for(;;){if(Vu(j(F0))===0)for(;;){B0(F0,0);var mr=a9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(3,Se(u0))]:ke(LCr)});case 14:return[0,t,Hc(3,Se(n))];case 15:return Dt(t,n,function(D,u0){function Y0(F0){if(Vu(j(F0))===0){for(;;)if(B0(F0,0),Vu(j(F0))!==0)return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(1,Se(u0))]:ke(DCr)});case 16:return[0,t,Hc(1,Se(n))];case 17:return Dt(t,n,function(D,u0){function Y0(F0){if(Qm(j(F0))===0){if(Nn(j(F0))===0)for(;;){var gr=u9(j(F0));if(2>>0)return q(F0);switch(gr){case 0:continue;case 1:r:for(;;){if(Nn(j(F0))===0)for(;;){var mr=u9(j(F0));if(2>>0)return q(F0);switch(mr){case 0:continue;case 1:continue r;default:return 0}}return q(F0)}default:return 0}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hi(2,Se(u0))]:ke(PCr)});case 19:return Dt(t,n,function(D,u0){function Y0(F0){if(Qm(j(F0))===0){if(Nn(j(F0))===0)for(;;){B0(F0,0);var gr=y9(j(F0));if(gr!==0){if(gr===1)r:for(;;){if(Nn(j(F0))===0)for(;;){B0(F0,0);var mr=y9(j(F0));if(mr!==0){if(mr===1)continue r;return q(F0)}}return q(F0)}return q(F0)}}return q(F0)}return q(F0)}En(u0);var J0=D1(j(u0));if(J0===0)for(;;){var fr=C1(j(u0));if(fr!==0){var Q0=fr===1?Y0(u0):q(u0);break}}else var Q0=J0===1?Y0(u0):q(u0);return Q0===0?[0,D,Hc(4,Se(u0))]:ke(CCr)});case 21:return Dt(t,n,function(D,u0){function Y0(d0){for(;;){var Kr=ki(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:continue;case 1:r:for(;;){if(vn(j(d0))===0)for(;;){var re=ki(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:continue r;default:return 0}}return q(d0)}default:return 0}}}function J0(d0){for(;;){var Kr=r2(j(d0));if(Kr!==0){var re=Kr!==1?1:0;return re&&q(d0)}}}function fr(d0){var Kr=S9(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:var re=P1(j(d0));return re===0?J0(d0):re===1?Y0(d0):q(d0);case 1:return J0(d0);default:return Y0(d0)}}function Q0(d0){if(vn(j(d0))===0)for(;;){var Kr=i7(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:continue;case 1:return fr(d0);default:r:for(;;){if(vn(j(d0))===0)for(;;){var re=i7(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:return fr(d0);default:continue r}}return q(d0)}}}return q(d0)}function F0(d0){var Kr=m9(j(d0));if(Kr===0)for(;;){var re=i7(j(d0));if(2>>0)return q(d0);switch(re){case 0:continue;case 1:return fr(d0);default:r:for(;;){if(vn(j(d0))===0)for(;;){var xe=i7(j(d0));if(2>>0)return q(d0);switch(xe){case 0:continue;case 1:return fr(d0);default:continue r}}return q(d0)}}}return Kr===1?fr(d0):q(d0)}function gr(d0){var Kr=e9(j(d0));return Kr===0?F0(d0):Kr===1?fr(d0):q(d0)}function mr(d0){for(;;){var Kr=b9(j(d0));if(2>>0)return q(d0);switch(Kr){case 0:return F0(d0);case 1:continue;default:return fr(d0)}}}En(u0);var Cr=x9(j(u0));if(3>>0)var sr=q(u0);else switch(Cr){case 0:for(;;){var Pr=ql(j(u0));if(3>>0)var sr=q(u0);else switch(Pr){case 0:continue;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}break}break;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}if(sr===0){var K0=Se(u0),Ur=ju(D,rt(D,u0),23);return[0,Ur,Hi(2,K0)]}return ke(NCr)});case 22:var Y=Se(n),y0=ju(t,rt(t,n),23);return[0,y0,Hi(2,Y)];case 23:return Dt(t,n,function(D,u0){function Y0(K0){for(;;){B0(K0,0);var Ur=js(j(K0));if(Ur!==0){if(Ur===1)r:for(;;){if(vn(j(K0))===0)for(;;){B0(K0,0);var d0=js(j(K0));if(d0!==0){if(d0===1)continue r;return q(K0)}}return q(K0)}return q(K0)}}}function J0(K0){for(;;)if(B0(K0,0),vn(j(K0))!==0)return q(K0)}function fr(K0){var Ur=S9(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:var d0=P1(j(K0));return d0===0?J0(K0):d0===1?Y0(K0):q(K0);case 1:return J0(K0);default:return Y0(K0)}}function Q0(K0){if(vn(j(K0))===0)for(;;){var Ur=i7(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:continue;case 1:return fr(K0);default:r:for(;;){if(vn(j(K0))===0)for(;;){var d0=i7(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:return fr(K0);default:continue r}}return q(K0)}}}return q(K0)}function F0(K0){var Ur=m9(j(K0));if(Ur===0)for(;;){var d0=i7(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:return fr(K0);default:r:for(;;){if(vn(j(K0))===0)for(;;){var Kr=i7(j(K0));if(2>>0)return q(K0);switch(Kr){case 0:continue;case 1:return fr(K0);default:continue r}}return q(K0)}}}return Ur===1?fr(K0):q(K0)}function gr(K0){var Ur=e9(j(K0));return Ur===0?F0(K0):Ur===1?fr(K0):q(K0)}function mr(K0){for(;;){var Ur=b9(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:return F0(K0);case 1:continue;default:return fr(K0)}}}En(u0);var Cr=x9(j(u0));if(3>>0)var sr=q(u0);else switch(Cr){case 0:for(;;){var Pr=ql(j(u0));if(3>>0)var sr=q(u0);else switch(Pr){case 0:continue;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}break}break;case 1:var sr=Q0(u0);break;case 2:var sr=gr(u0);break;default:var sr=mr(u0)}return sr===0?[0,D,Hc(4,Se(u0))]:ke(ACr)});case 25:return Dt(t,n,function(D,u0){function Y0(K0){for(;;){var Ur=ki(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:continue;case 1:r:for(;;){if(vn(j(K0))===0)for(;;){var d0=ki(j(K0));if(2>>0)return q(K0);switch(d0){case 0:continue;case 1:continue r;default:return 0}}return q(K0)}default:return 0}}}function J0(K0){return vn(j(K0))===0?Y0(K0):q(K0)}function fr(K0){var Ur=r2(j(K0));if(Ur===0)return Y0(K0);var d0=Ur!==1?1:0;return d0&&q(K0)}function Q0(K0){for(;;){var Ur=L1(j(K0));if(Ur===0)return fr(K0);if(Ur!==1)return q(K0)}}function F0(K0){for(;;){var Ur=Uc(j(K0));if(2>>0)return q(K0);switch(Ur){case 0:return fr(K0);case 1:continue;default:r:for(;;){if(vn(j(K0))===0)for(;;){var d0=Uc(j(K0));if(2>>0)return q(K0);switch(d0){case 0:return fr(K0);case 1:continue;default:continue r}}return q(K0)}}}}En(u0);var gr=x9(j(u0));if(3>>0)var mr=q(u0);else switch(gr){case 0:for(;;){var Cr=ql(j(u0));if(3>>0)var mr=q(u0);else switch(Cr){case 0:continue;case 1:var mr=J0(u0);break;case 2:var mr=Q0(u0);break;default:var mr=F0(u0)}break}break;case 1:var mr=J0(u0);break;case 2:var mr=Q0(u0);break;default:var mr=F0(u0)}if(mr===0){var sr=Se(u0),Pr=ju(D,rt(D,u0),22);return[0,Pr,Hi(2,sr)]}return ke(ICr)});case 26:return Dt(t,n,function(D,u0){function Y0(mr){for(;;){var Cr=r2(j(mr));if(Cr!==0){var sr=Cr!==1?1:0;return sr&&q(mr)}}}function J0(mr){for(;;){var Cr=ki(j(mr));if(2>>0)return q(mr);switch(Cr){case 0:continue;case 1:r:for(;;){if(vn(j(mr))===0)for(;;){var sr=ki(j(mr));if(2>>0)return q(mr);switch(sr){case 0:continue;case 1:continue r;default:return 0}}return q(mr)}default:return 0}}}En(u0);var fr=j(u0),Q0=44>>0)var F0=q(u0);else switch(Q0){case 0:for(;;){var gr=Ur0(j(u0));if(2>>0)var F0=q(u0);else switch(gr){case 0:continue;case 1:var F0=Y0(u0);break;default:var F0=J0(u0)}break}break;case 1:var F0=Y0(u0);break;default:var F0=J0(u0)}return F0===0?[0,D,Hi(2,Se(u0))]:ke(OCr)});case 27:var D0=Se(n),I0=ju(t,rt(t,n),22);return[0,I0,Hi(2,D0)];case 29:return Dt(t,n,function(D,u0){function Y0(re){for(;;){B0(re,0);var xe=js(j(re));if(xe!==0){if(xe===1)r:for(;;){if(vn(j(re))===0)for(;;){B0(re,0);var je=js(j(re));if(je!==0){if(je===1)continue r;return q(re)}}return q(re)}return q(re)}}}function J0(re){return B0(re,0),vn(j(re))===0?Y0(re):q(re)}En(u0);var fr=x9(j(u0));if(3>>0)var Q0=q(u0);else switch(fr){case 0:for(;;){var F0=Ur0(j(u0));if(2>>0)var Q0=q(u0);else switch(F0){case 0:continue;case 1:for(;;){B0(u0,0);var gr=L1(j(u0)),mr=gr!==0?1:0;if(mr){if(gr===1)continue;var Q0=q(u0)}else var Q0=mr;break}break;default:for(;;){B0(u0,0);var Cr=Uc(j(u0));if(2>>0)var Q0=q(u0);else switch(Cr){case 0:var Q0=0;break;case 1:continue;default:r:for(;;){if(vn(j(u0))===0)for(;;){B0(u0,0);var sr=Uc(j(u0));if(2>>0)var Pr=q(u0);else switch(sr){case 0:var Pr=0;break;case 1:continue;default:continue r}break}else var Pr=q(u0);var Q0=Pr;break}}break}}break}break;case 1:var Q0=vn(j(u0))===0?Y0(u0):q(u0);break;case 2:for(;;){B0(u0,0);var K0=L1(j(u0));if(K0===0)var Q0=J0(u0);else{if(K0===1)continue;var Q0=q(u0)}break}break;default:for(;;){B0(u0,0);var Ur=Uc(j(u0));if(2>>0)var Q0=q(u0);else switch(Ur){case 0:var Q0=J0(u0);break;case 1:continue;default:r:for(;;){if(vn(j(u0))===0)for(;;){B0(u0,0);var d0=Uc(j(u0));if(2>>0)var Kr=q(u0);else switch(d0){case 0:var Kr=J0(u0);break;case 1:continue;default:continue r}break}else var Kr=q(u0);var Q0=Kr;break}}break}}return Q0===0?[0,D,Hc(4,Se(u0))]:ke(TCr)});case 31:return[0,t,66];case 18:case 28:return[0,t,Hi(2,Se(n))];default:return[0,t,Hc(4,Se(n))]}}function Xl(t){return function(n){for(var e=0,i=n;;){var x=a(t,i,i[2]);switch(x[0]){case 0:var c=x[2],s=x[1],p=Wr0(s,c),y=e===0?0:de(e),T=s[6];if(T===0)return[0,[0,s[1],s[2],s[3],s[4],s[5],s[6],p],[0,c,p,0,y]];var E=[0,c,p,de(T),y];return[0,[0,s[1],s[2],s[3],s[4],s[5],wr0,p],E];case 1:var h=x[2],w=x[1],e=[0,h,e],i=[0,w[1],w[2],w[3],w[4],w[5],w[6],h[1]];continue;default:var i=x[1];continue}}}}var Qee=Xl(Wee),rne=Xl(Jee),ene=Xl($ee),nne=Xl(Zee),tne=Xl(Kee),Gu=uL([0,dz]);function Yl(t,n){return[0,0,0,n,Er0(t)]}function F9(t){var n=t[4];switch(t[3]){case 0:var c0=u(tne,n);break;case 1:var c0=u(nne,n);break;case 2:var c0=u(rne,n);break;case 3:var e=y7(n,n[2]),i=$n(zn),x=$n(zn),c=n[2];En(c);var s=j(c),p=us>>0)var y=q(c);else switch(p){case 0:var y=1;break;case 1:var y=4;break;case 2:var y=0;break;case 3:B0(c,0);var T=fi(j(c))!==0?1:0,y=T&&q(c);break;case 4:var y=2;break;default:var y=3}if(4>>0)var E=ke(FCr);else switch(y){case 0:var h=Se(c);mn(x,h),mn(i,h);var w=yL(d7(n,c),2,i,x,c),G=y7(w,c),A=Gt(i),S=Gt(x),E=[0,w,[8,[0,w[1],e,G],A,S]];break;case 1:var E=[0,n,Pn];break;case 2:var E=[0,n,98];break;case 3:var E=[0,n,0];break;default:$v(c);var M=yL(n,2,i,x,c),K=y7(M,c),V=Gt(i),f0=Gt(x),E=[0,M,[8,[0,M[1],e,K],V,f0]]}var m0=E[2],k0=E[1],g0=Wr0(k0,m0),e0=k0[6];if(e0===0)var l=[0,k0,[0,m0,g0,0,0]];else var x0=[0,m0,g0,de(e0),0],l=[0,[0,k0[1],k0[2],k0[3],k0[4],k0[5],0,k0[7]],x0];var c0=l;break;case 4:var c0=u(ene,n);break;default:var c0=u(Qee,n)}var t0=c0[1],a0=Er0(t0),w0=[0,a0,c0[2]];return t[4]=t0,t[1]?t[2]=[0,w0]:t[1]=[0,w0],w0}function ue0(t){var n=t[1];return n?n[1][2]:F9(t)[2]}function une(t,n,e,i){var x=t&&t[1],c=n&&n[1];try{var s=0,p=hr0(i),y=s,T=p}catch(A){if(A=Et(A),A!==A1)throw A;var E=[0,[0,[0,e,fz[2],fz[3]],86],0],y=E,T=hr0(iGr)}var h=c?c[1]:Bv,w=zee(e,T,h[4]),G=[0,Yl(w,0)];return[0,[0,y],[0,0],Gu[1],[0,0],h[5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,[0,xGr],[0,w],G,[0,x],h,e,[0,0],[0,fGr]]}function n2(t){return bl(t[23][1])}function iu(t){return t[27][4]}function ue(t,n){var e=n[2];t[1][1]=[0,[0,n[1],e],t[1][1]];var i=t[22];return i&&a(i[1],t,e)}function Vl(t,n){return t[30][1]=n,0}function Ms(t,n){if(t===0)return ue0(n[25][1]);if(t===1){var e=n[25][1];e[1]||F9(e);var i=e[2];return i?i[1][2]:F9(e)[2]}throw[0,wn,nGr]}function ys(t,n){return t===n[5]?n:[0,n[1],n[2],n[3],n[4],t,n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function dL(t,n){return t===n[17]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],t,n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function ie0(t,n){return t===n[18]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],t,n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function fe0(t,n){return t===n[19]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],t,n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function t2(t,n){return t===n[21]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],t,n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function T9(t,n){return t===n[14]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],t,n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function zl(t,n){return t===n[8]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],t,n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function Kl(t,n){return t===n[12]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],t,n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function u2(t,n){return t===n[15]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],t,n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function xe0(t,n){return t===n[6]?n:[0,n[1],n[2],n[3],n[4],n[5],t,n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function ae0(t,n){return t===n[7]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],t,n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function hL(t,n){return t===n[13]?n:[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],t,n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],n[22],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function O9(t,n){return[0,n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8],n[9],n[10],n[11],n[12],n[13],n[14],n[15],n[16],n[17],n[18],n[19],n[20],n[21],[0,t],n[23],n[24],n[25],n[26],n[27],n[28],n[29],n[30]]}function kL(t){function n(e){return ue(t,e)}return function(e){return Pu(n,e)}}function i2(t){var n=t[4][1],e=n&&[0,n[1][2]];return e}function oe0(t){var n=t[4][1],e=n&&[0,n[1][1]];return e}function ce0(t){return[0,t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],0,t[23],t[24],t[25],t[26],t[27],t[28],t[29],t[30]]}function se0(t,n,e,i){return[0,t[1],t[2],Gu[1],t[4],t[5],0,0,0,0,0,1,t[12],t[13],t[14],t[15],t[16],e,n,t[19],i,t[21],t[22],t[23],t[24],t[25],t[26],t[27],t[28],t[29],t[30]]}function ve0(t){var n=Ee(t,wjr),e=0;if(0<=n){if(0>>0){if(!(F7<(i+1|0)>>>0))return 1}else{var x=i!==6?1:0;if(!x)return x}}return Jl(t,n)}function x2(t){return me0(0,t)}function A9(t,n){var e=Yn(t,n);if(EL(e)||wL(e)||le0(e))return 1;var i=0;if(typeof e=="number")switch(e){case 14:case 28:case 60:case 61:case 62:case 63:case 64:case 65:i=1;break}else e[0]===4&&(i=1);return i?1:0}function _e0(t,n){var e=n2(n);if(e===1){var i=Yn(t,n);return typeof i!="number"&&i[0]===4?1:0}if(e)return 0;var x=Yn(t,n);if(typeof x=="number")switch(x){case 42:case 46:case 47:return 0;case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 65:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:break;default:return 0}else switch(x[0]){case 4:if(be0(x[3]))return 0;break;case 9:case 10:case 11:break;default:return 0}return 1}function M1(t){return A9(0,t)}function qs(t){var n=N0(t)===15?1:0;if(n)var e=n;else{var i=N0(t)===64?1:0;if(i){var x=Yn(1,t)===15?1:0;if(x)var c=Wl(1,t)[2][1],e=De(t)[3][1]===c?1:0;else var e=x}else var e=i}return e}function $l(t){var n=N0(t);if(typeof n=="number"){var e=0;if((n===13||n===40)&&(e=1),e)return 1}return 0}function Ge(t,n){return ue(t,[0,De(t),n])}function ye0(t,n){if(wL(n))return 2;if(EL(n))return 55;var e=vL(0,n);return t?[11,e,t[1]]:[10,e]}function St(t,n){var e=gL(n);return u(kL(n),e),Ge(n,ye0(t,N0(n)))}function N9(t){function n(e){return ue(t,[0,e[1],76])}return function(e){return Pu(n,e)}}function de0(t,n){var e=t[6]?ir(Qn(MRr),n,n,n):BRr;return St([0,e],t)}function Si(t,n){var e=t[5];return e&&Ge(t,n)}function Y7(t,n){var e=t[5];return e&&ue(t,[0,n[1],n[2]])}function B1(t,n){return ue(t,[0,n,[18,t[5]]])}function ie(t){var n=t[26][1];if(n){var e=n2(t),i=N0(t),x=[0,De(t),i,e];u(n[1],x)}var c=t[25][1],s=c[1],p=s?s[1][1]:F9(c)[1];t[24][1]=p;var y=gL(t);u(kL(t),y);var T=t[2][1],E=jc(Ms(0,t)[4],T);t[2][1]=E;var h=[0,Ms(0,t)];t[4][1]=h;var w=t[25][1];return w[2]?(w[1]=w[2],w[2]=0,0):(ue0(w),w[1]=0,0)}function fu(t,n){var e=a(aL,N0(t),n);return e&&ie(t),e}function zu(t,n){t[23][1]=[0,n,t[23][1]];var e=n2(t),i=Yl(t[24][1],e);return t[25][1]=i,0}function h7(t){var n=t[23][1],e=n?n[2]:ke(GRr);t[23][1]=e;var i=n2(t),x=Yl(t[24][1],i);return t[25][1]=x,0}function we(t){var n=De(t);if(N0(t)===9&&Jl(1,t)){var e=pr(t),i=Ms(1,t)[4],x=un(e,u(ml(function(s){return s[1][2][1]<=n[3][1]?1:0}),i));return Vl(t,[0,n[3][1]+1|0,0]),x}var c=pr(t);return Vl(t,n[3]),c}function Us(t){var n=t[4][1];if(n){var e=n[1][2],i=pr(t),x=u(ml(function(p){return p[1][2][1]<=e[3][1]?1:0}),i);Vl(t,[0,e[3][1]+1|0,0]);var c=x}else var c=n;return c}function q1(t,n){return St([0,vL(DRr,n)],t)}function V0(t,n){return 1-a(aL,N0(t),n)&&q1(t,n),ie(t)}function he0(t,n){var e=fu(t,n);return 1-e&&q1(t,n),e}function Zl(t,n){var e=N0(t),i=0;return typeof e!="number"&&e[0]===4&&qn(e[3],n)&&(i=1),i||St([0,u(Qn(PRr),n)],t),ie(t)}var Hs=[wt,aGr,G7(0)];function ine(t){var n=t[26][1];if(n){var e=kz(0),i=[0,function(s){return vN(s,e)}];t[26][1]=i;var x=[0,[0,n[1],e]]}else var x=n;return[0,t[1][1],t[2][1],t[4][1],t[23][1],t[24][1],t[30][1],x]}function ke0(t,n,e){if(e){var i=e[1],x=i[1];if(n[26][1]=[0,x],t)for(var c=i[2][2];;){if(c){var s=c[2];u(x,c[1]);var c=s;continue}return 0}var p=t}else var p=e;return p}function fne(t,n){ke0(0,t,n[7]),t[1][1]=n[1],t[2][1]=n[2],t[4][1]=n[3],t[23][1]=n[4],t[24][1]=n[5],t[30][1]=n[6];var e=n2(t),i=Yl(t[24][1],e);return t[25][1]=i,0}function xne(t,n,e){return ke0(1,t,n[7]),[0,e]}function FL(t,n){var e=ine(t);try{var i=xne(t,e,u(n,t));return i}catch(x){if(x=Et(x),x===Hs)return fne(t,e);throw x}}function we0(t,n,e){var i=FL(t,e);return i?i[1]:n}function Ql(t,n){var e=de(n);if(e){var i=e[1],x=u(t,i);return i===x?n:de([0,x,e[2]])}return n}var Ee0=jp(lGr,function(t){var n=RN(t,cGr),e=DN(t,vGr),i=e[22],x=e[26],c=e[35],s=e[77],p=e[cV],y=e[OO],T=e[sp],E=e[HO],h=e[Bd],w=e[eT],G=e[6],A=e[7],S=e[10],M=e[17],K=e[21],V=e[27],f0=e[33],m0=e[36],k0=e[46],g0=e[51],e0=e[89],x0=e[92],l=e[97],c0=e[99],t0=e[ni],a0=e[Pn],w0=e[Sv],_0=e[Jw],E0=e[Qg],X0=e[gH],b=e[MX],G0=e[fH],X=e[NH],s0=e[Sd],dr=e[PF],Ar=e[Zg],ar=e[N6],W0=e[Lw],Lr=e[aA],Tr=e[tk],Hr=e[wT],Or=e[mO],xr=e[f6],Rr=e[TT],Wr=e[l8],Jr=e[$2],or=GN(t,0,0,xz,$D,1)[1];function _r(H0,Fr,_){var k=_[2],I=k[2],U=k[1],Y=_[1];if(I){var y0=function(D){return[0,Y,[0,U,[0,D]]]},D0=I[1];return ee(u(H0[1][1+y],H0),D0,_,y0)}function I0(D){return[0,Y,[0,D,I]]}return ee(a(H0[1][1+G],H0,Fr),U,_,I0)}function Ir(H0,Fr,_){var k=_[2],I=_[1],U=I[3],Y=I[2];if(U)var y0=Ql(u(H0[1][1+x],H0),U),D0=Y;else var y0=0,D0=a(H0[1][1+x],H0,Y);var I0=a(H0[1][1+c],H0,k);return Y===D0&&U===y0&&k===I0?_:[0,[0,I[1],D0,y0],I0]}function fe(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function v0(H0,Fr,_){function k(U){return[0,_[1],_[2],U]}var I=_[3];return ee(u(H0[1][1+c],H0),I,_,k)}function P(H0,Fr){function _(I){return[0,Fr[1],I]}var k=Fr[2];return ee(u(H0[1][1+c],H0),k,Fr,_)}function L(H0,Fr,_){function k(U){return[0,_[1],_[2],U]}var I=_[3];return ee(u(H0[1][1+c],H0),I,_,k)}function Q(H0,Fr,_){var k=_[2],I=_[1],U=Ql(u(H0[1][1+y],H0),I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,U,Y]}function i0(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function l0(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function S0(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function T0(H0,Fr,_){var k=_[3],I=_[2],U=a(H0[1][1+l],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],U,Y]}function rr(H0,Fr,_){var k=_[4],I=_[3],U=_[2],Y=_[1],y0=a(H0[1][1+c],H0,k);if(I){var D0=ze(u(H0[1][1+w],H0),I);return I===D0&&k===y0?_:[0,_[1],_[2],D0,y0]}if(U){var I0=ze(u(H0[1][1+h],H0),U);return U===I0&&k===y0?_:[0,_[1],I0,_[3],y0]}var D=a(H0[1][1+y],H0,Y);return Y===D&&k===y0?_:[0,D,_[2],_[3],y0]}function R0(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function B(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function Z(H0,Fr,_){function k(U){return[0,_[1],_[2],_[3],U]}var I=_[4];return ee(u(H0[1][1+c],H0),I,_,k)}function p0(H0,Fr,_){var k=_[2],I=_[1],U=I[3],Y=I[2];if(U)var y0=Ql(u(H0[1][1+x],H0),U),D0=Y;else var y0=0,D0=a(H0[1][1+x],H0,Y);var I0=a(H0[1][1+c],H0,k);return Y===D0&&U===y0&&k===I0?_:[0,[0,I[1],D0,y0],I0]}function b0(H0,Fr,_){var k=_[3],I=_[1],U=mu(u(H0[1][1+s],H0),I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,U,_[2],Y]}function O0(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function q0(H0,Fr){if(Fr[0]===0){var _=function(D0){return[0,D0]},k=Fr[1];return ee(u(H0[1][1+p],H0),k,Fr,_)}var I=Fr[1],U=I[2],Y=U[2],y0=a(H0[1][1+p],H0,Y);return Y===y0?Fr:[1,[0,I[1],[0,U[1],y0]]]}function er(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+x],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function yr(H0,Fr){var _=Fr[2],k=Fr[1];function I(Y){return[0,k,[0,_[1],_[2],_[3],Y]]}var U=_[4];return ee(u(H0[1][1+c],H0),U,[0,k,_],I)}function vr(H0,Fr,_){var k=_[9],I=_[3],U=a(H0[1][1+s0],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,_[4],_[5],_[6],_[7],_[8],Y,_[10]]}function $0(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function Sr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function Mr(H0,Fr){var _=Fr[2],k=_[2],I=_[1],U=Fr[1];if(k===0){var Y=function(I0){return[0,U,[0,I0,k]]};return ee(u(H0[1][1+p],H0),I,Fr,Y)}function y0(I0){return[0,U,[0,I,I0]]}var D0=u(H0[1][1+i],H0);return ee(function(I0){return ze(D0,I0)},k,Fr,y0)}function Br(H0,Fr){var _=Fr[2],k=_[2],I=Fr[1];function U(D0){return[0,I,[0,D0,k]]}var Y=_[1],y0=u(H0[1][1+T],H0);return ee(function(D0){return Ql(y0,D0)},Y,Fr,U)}function qr(H0,Fr,_){var k=_[2];if(k===0){var I=function(D0){return[0,D0,_[2],_[3]]},U=_[1];return ee(u(H0[1][1+y],H0),U,_,I)}function Y(D0){return[0,_[1],D0,_[3]]}var y0=u(H0[1][1+i],H0);return ee(function(D0){return ze(y0,D0)},k,_,Y)}function jr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function $r(H0,Fr,_){var k=_[7],I=_[2],U=a(H0[1][1+E],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],U,_[3],_[4],_[5],_[6],Y]}function ne(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function Qr(H0,Fr){var _=Fr[2],k=_[1],I=Fr[1];function U(y0){return[0,I,[0,k,y0]]}var Y=_[2];return ee(u(H0[1][1+c],H0),Y,Fr,U)}function pe(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+w],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function oe(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}function me(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function ae(H0,Fr,_){var k=_[4],I=_[3],U=a(H0[1][1+y],H0,I),Y=a(H0[1][1+c],H0,k);return I===U&&k===Y?_:[0,_[1],_[2],U,Y]}function ce(H0,Fr){function _(I){return[0,Fr[1],I]}var k=Fr[2];return ee(u(H0[1][1+c],H0),k,Fr,_)}function ge(H0,Fr,_){function k(U){return[0,_[1],U]}var I=_[2];return ee(u(H0[1][1+c],H0),I,_,k)}return BN(t,[0,m0,function(H0,Fr){var _=Fr[2],k=u(ml(function(U){return ms(U[1][2],H0[1+n])<0?1:0}),_),I=Rc(k);return Rc(_)===I?Fr:[0,Fr[1],k,Fr[3]]},Jr,ge,Wr,ce,Rr,ae,xr,me,Or,oe,Hr,pe,w,Qr,h,ne,Tr,$r,E,jr,Lr,qr,W0,Br,T,Mr,ar,Sr,Ar,$0,dr,vr,X,yr,G0,er,b,q0,X0,O0,E0,b0,_0,p0,w0,Z,a0,B,t0,R0,x0,rr,c0,T0,e0,S0,s,l0,g0,i0,k0,Q,f0,L,V,P,K,v0,M,fe,S,Ir,A,_r]),function(H0,Fr,_){var k=Gp(Fr,t);return k[1+n]=_,u(or,k),MN(Fr,k,t)}});function C9(t){var n=i2(t);if(n)var e=n[1],i=pe0(t)?(Vl(t,e[3]),[0,a(Ee0[1],0,e[3])]):0,x=i;else var x=n;return[0,0,function(c,s){return x?a(s,x[1],c):c}]}function rb(t){var n=i2(t);if(n){var e=n[1];if(pe0(t)){Vl(t,e[3]);var i=Us(t),x=[0,a(Ee0[1],0,[0,e[3][1]+1|0,0])],c=i}else var x=0,c=Us(t)}else var x=0,c=0;return[0,c,function(s,p){return x?a(p,x[1],s):s}]}function Wt(t){return f7(t)?rb(t):C9(t)}function ds(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,Nv,27),x,c)}return a(e[2],n,i)}function xi(t,n){if(n)var e=Wt(t),i=function(c,s){return a(Ze(c,_F,30),c,s)},x=[0,a(e[2],n[1],i)];else var x=n;return x}function a2(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,-983660142,32),x,c)}return a(e[2],n,i)}function eb(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,-455772979,33),x,c)}return a(e[2],n,i)}function Se0(t,n){if(n)var e=Wt(t),i=function(c,s){return a(Ze(c,FH,34),c,s)},x=[0,a(e[2],n[1],i)];else var x=n;return x}function Xi(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,VY,35),x,c)}return a(e[2],n,i)}function ge0(t,n){var e=Wt(t);function i(x,c){var s=u(Ze(x,tH,37),x);return Ql(function(p){return mu(s,p)},c)}return a(e[2],n,i)}function Fe0(t,n){var e=Wt(t);function i(x,c){return a(Ze(x,-21476009,38),x,c)}return a(e[2],n,i)}jp(bGr,function(t){var n=RN(t,oGr),e=jN(sGr),i=e.length-1,x=az.length-1,c=Gv(i+x|0,0),s=i-1|0,p=0;if(!(s<0))for(var y=p;;){var T=Fl(t,nu(e,y)[1+y]);nu(c,y)[1+y]=T;var E=y+1|0;if(s!==y){var y=E;continue}break}var h=x-1|0,w=0;if(!(h<0))for(var G=w;;){var A=G+i|0,S=RN(t,nu(az,G)[1+G]);nu(c,A)[1+A]=S;var M=G+1|0;if(h!==G){var G=M;continue}break}var K=c[4],V=c[5],f0=c[d6],m0=c[sp],k0=c[ih],g0=c[gv],e0=c[38],x0=c[dT],l=c[Wy],c0=GN(t,0,0,xz,$D,1)[1];function t0(b,G0,X){return a(b[1][1+f0],b,X[2]),X}function a0(b,G0){return a(b[1][1+m0],b,G0),G0}function w0(b,G0){var X=G0[1],s0=b[1+g0];if(s0){var dr=ms(s0[1][1][2],X[2])<0?1:0,Ar=dr&&(b[1+g0]=[0,G0],0);return Ar}var ar=0<=ms(X[2],b[1+n][3])?1:0,W0=ar&&(b[1+g0]=[0,G0],0);return W0}function _0(b,G0){var X=G0[1],s0=b[1+k0];if(s0){var dr=ms(X[2],s0[1][1][2])<0?1:0,Ar=dr&&(b[1+k0]=[0,G0],0);return Ar}var ar=ms(X[2],b[1+n][2])<0?1:0,W0=ar&&(b[1+k0]=[0,G0],0);return W0}function E0(b,G0){return G0&&a(b[1][1+m0],b,G0[1])}function X0(b,G0){var X=G0[1];Pu(u(b[1][1+V],b),X);var s0=G0[2];return Pu(u(b[1][1+K],b),s0)}return BN(t,[0,x0,function(b){return[0,b[1+k0],b[1+g0]]},m0,X0,f0,E0,V,_0,K,w0,e0,a0,l,t0]),function(b,G0,X){var s0=Gp(G0,t);return s0[1+n]=X,u(c0,s0),s0[1+k0]=0,s0[1+g0]=0,MN(G0,s0,t)}});function Te0(t){return t===3?2:(4<=t,1)}function TL(t,n,e){if(e){var i=e[1],x=0;if(i===8232||Uu===i)x=1;else if(i===10)var s=6;else if(i===13)var s=5;else if(ow<=i)var s=3;else if(Vd<=i)var s=2;else var c=Rt<=i?1:0,s=c&&1;if(x)var s=7;var p=s}else var p=4;return[0,p,t]}var ane=[wt,dGr,G7(0)];function Oe0(t,n,e,i){try{var x=nu(t,n)[1+n];return x}catch(c){throw c=Et(c),c[1]===eN?[0,ane,e,ir(Qn(_Gr),i,n,t.length-1)]:c}}function P9(t,n){if(n[1]===0&&n[2]===0)return 0;var e=Oe0(t,n[1]-1|0,n,pGr);return Oe0(e,n[2],n,mGr)}var one=Ee;function cne(t,n){return a(f(t),VWr,n)}u(uL([0,one])[33],cne);function Ie0(t){var n=N0(t),e=0;if(typeof n=="number")switch(n){case 15:var i=zWr;break;case 16:var i=KWr;break;case 17:var i=WWr;break;case 18:var i=JWr;break;case 19:var i=$Wr;break;case 20:var i=ZWr;break;case 21:var i=QWr;break;case 22:var i=rJr;break;case 23:var i=eJr;break;case 24:var i=nJr;break;case 25:var i=tJr;break;case 26:var i=uJr;break;case 27:var i=iJr;break;case 28:var i=fJr;break;case 29:var i=xJr;break;case 30:var i=aJr;break;case 31:var i=oJr;break;case 32:var i=cJr;break;case 33:var i=sJr;break;case 34:var i=vJr;break;case 35:var i=lJr;break;case 36:var i=bJr;break;case 37:var i=pJr;break;case 38:var i=mJr;break;case 39:var i=_Jr;break;case 40:var i=yJr;break;case 41:var i=dJr;break;case 42:var i=hJr;break;case 43:var i=kJr;break;case 44:var i=wJr;break;case 45:var i=EJr;break;case 46:var i=SJr;break;case 47:var i=gJr;break;case 48:var i=FJr;break;case 49:var i=TJr;break;case 50:var i=OJr;break;case 51:var i=IJr;break;case 52:var i=AJr;break;case 53:var i=NJr;break;case 54:var i=CJr;break;case 55:var i=PJr;break;case 56:var i=DJr;break;case 57:var i=LJr;break;case 58:var i=RJr;break;case 59:var i=jJr;break;case 60:var i=GJr;break;case 61:var i=MJr;break;case 62:var i=BJr;break;case 63:var i=qJr;break;case 64:var i=UJr;break;case 65:var i=HJr;break;case 114:var i=XJr;break;case 115:var i=YJr;break;case 116:var i=VJr;break;case 117:var i=zJr;break;case 118:var i=KJr;break;case 119:var i=WJr;break;case 120:var i=JJr;break;case 121:var i=$Jr;break;default:e=1}else switch(n[0]){case 4:var i=n[2];break;case 9:var i=n[1]?ZJr:QJr;break;default:e=1}if(e){St(r$r,t);var i=e$r}return ie(t),i}function V7(t){var n=De(t),e=pr(t),i=Ie0(t);return[0,n,[0,i,lr([0,e],[0,we(t)],0)]]}function Ae0(t){var n=De(t),e=pr(t);V0(t,14);var i=De(t),x=Ie0(t),c=lr([0,e],[0,we(t)],0),s=yt(n,i),p=i[2],y=n[3],T=y[1]===p[1]?1:0,E=T&&(y[2]===p[2]?1:0);return 1-E&&ue(t,[0,s,L7]),[0,s,[0,x,c]]}function U1(t){var n=t[2],e=n[3]===0?1:0;if(e)for(var i=n[2];;){if(i){var x=i[1][2],c=0,s=i[2];if(x[1][2][0]===2&&!x[2]){var p=1;c=1}if(!c)var p=0;if(p){var i=s;continue}return p}return 1}return e}function nb(t){for(var n=t;;){var e=n[2];if(e[0]===27){var i=e[1][2];if(i[2][0]===23)return 1;var n=i;continue}return 0}}function cr(t,n,e){var i=t?t[1]:De(e),x=u(n,e),c=i2(e),s=c?yt(i,c[1]):i;return[0,s,x]}function OL(t,n,e){var i=cr(t,n,e),x=i[2];return[0,[0,i[1],x[1]],x[2]]}function sne(t){function n(B){var Z=De(B),p0=N0(B);if(typeof p0=="number"){if(c7===p0){var b0=pr(B);return ie(B),[0,[0,Z,[0,0,lr([0,b0],0,0)]]]}if(D7===p0){var O0=pr(B);return ie(B),[0,[0,Z,[0,1,lr([0,O0],0,0)]]]}}return 0}var e=function B(Z){return B.fun(Z)},i=function B(Z){return B.fun(Z)},x=function B(Z){return B.fun(Z)},c=function B(Z,p0,b0){return B.fun(Z,p0,b0)},s=function B(Z){return B.fun(Z)},p=function B(Z,p0,b0){return B.fun(Z,p0,b0)},y=function B(Z){return B.fun(Z)},T=function B(Z,p0){return B.fun(Z,p0)},E=function B(Z){return B.fun(Z)},h=function B(Z){return B.fun(Z)},w=function B(Z,p0,b0){return B.fun(Z,p0,b0)},G=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},A=function B(Z){return B.fun(Z)},S=function B(Z,p0){return B.fun(Z,p0)},M=function B(Z){return B.fun(Z)},K=function B(Z){return B.fun(Z)},V=function B(Z){return B.fun(Z)},f0=function B(Z){return B.fun(Z)},m0=function B(Z){return B.fun(Z)},k0=function B(Z){return B.fun(Z)},g0=function B(Z,p0){return B.fun(Z,p0)},e0=function B(Z){return B.fun(Z)},x0=function B(Z){return B.fun(Z)},l=function B(Z){return B.fun(Z)},c0=function B(Z){return B.fun(Z)},t0=function B(Z){return B.fun(Z)},a0=function B(Z){return B.fun(Z)},w0=function B(Z){return B.fun(Z)},_0=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},E0=function B(Z,p0,b0,O0){return B.fun(Z,p0,b0,O0)},X0=function B(Z){return B.fun(Z)},b=function B(Z){return B.fun(Z)},G0=function B(Z){return B.fun(Z)},X=function B(Z){return B.fun(Z)},s0=function B(Z){return B.fun(Z)},dr=function B(Z){return B.fun(Z)},Ar=function B(Z,p0){return B.fun(Z,p0)},ar=function B(Z,p0){return B.fun(Z,p0)},W0=function B(Z){return B.fun(Z)},Lr=function B(Z,p0,b0){return B.fun(Z,p0,b0)};N(e,function(B){return u(x,B)}),N(i,function(B){return 1-iu(B)&&Ge(B,12),cr(0,function(Z){return V0(Z,86),u(e,Z)},B)}),N(x,function(B){var Z=N0(B)===89?1:0;if(Z){var p0=pr(B);ie(B);var b0=p0}else var b0=Z;return ir(c,B,[0,b0],u(s,B))}),N(c,function(B,Z,p0){var b0=Z&&Z[1];if(N0(B)===89){var O0=[0,p0,0],q0=function(er){for(var yr=O0;;){var vr=N0(er);if(typeof vr=="number"&&vr===89){V0(er,89);var yr=[0,u(s,er),yr];continue}var $0=de(yr);if($0){var Sr=$0[2];if(Sr){var Mr=lr([0,b0],0,0);return[19,[0,[0,$0[1],Sr[1],Sr[2]],Mr]]}}throw[0,wn,P$r]}};return cr([0,p0[1]],q0,B)}return p0}),N(s,function(B){var Z=N0(B)===91?1:0;if(Z){var p0=pr(B);ie(B);var b0=p0}else var b0=Z;return ir(p,B,[0,b0],u(y,B))}),N(p,function(B,Z,p0){var b0=Z&&Z[1];if(N0(B)===91){var O0=[0,p0,0],q0=function(er){for(var yr=O0;;){var vr=N0(er);if(typeof vr=="number"&&vr===91){V0(er,91);var yr=[0,u(y,er),yr];continue}var $0=de(yr);if($0){var Sr=$0[2];if(Sr){var Mr=lr([0,b0],0,0);return[20,[0,[0,$0[1],Sr[1],Sr[2]],Mr]]}}throw[0,wn,C$r]}};return cr([0,p0[1]],q0,B)}return p0}),N(y,function(B){return a(T,B,u(E,B))}),N(T,function(B,Z){var p0=N0(B);if(typeof p0=="number"&&p0===11&&!B[15]){var b0=a(g0,B,Z);return R(_0,B,b0[1],0,[0,b0[1],[0,0,[0,b0,0],0,0]])}return Z}),N(E,function(B){var Z=N0(B);return typeof Z=="number"&&Z===85?cr(0,function(p0){var b0=pr(p0);V0(p0,85);var O0=lr([0,b0],0,0);return[11,[0,u(E,p0),O0]]},B):u(h,B)}),N(h,function(B){return ir(w,0,B,u(V,B))}),N(w,function(B,Z,p0){var b0=B&&B[1];if(f7(Z))return p0;var O0=N0(Z);if(typeof O0=="number"){if(O0===6)return ie(Z),R(G,b0,0,Z,p0);if(O0===10){var q0=Yn(1,Z);return typeof q0=="number"&&q0===6?(Ge(Z,A$r),V0(Z,10),V0(Z,6),R(G,b0,0,Z,p0)):(Ge(Z,N$r),p0)}if(O0===83)return ie(Z),N0(Z)!==6&&Ge(Z,30),V0(Z,6),R(G,1,1,Z,p0)}return p0}),N(G,function(B,Z,p0,b0){function O0(q0){if(!Z&&fu(q0,7))return[15,[0,b0,lr(0,[0,we(q0)],0)]];var er=u(e,q0);V0(q0,7);var yr=[0,b0,er,lr(0,[0,we(q0)],0)];return B?[18,[0,yr,Z]]:[17,yr]}return ir(w,[0,B],p0,cr([0,b0[1]],O0,p0))}),N(A,function(B){return a(S,B,a(t[13],0,B))}),N(S,function(B,Z){for(var p0=[0,Z[1],[0,Z]];;){var b0=p0[2];if(N0(B)===10&&A9(1,B)){var O0=function(vr){return function($0){return V0($0,10),[0,vr,V7($0)]}}(b0),q0=cr([0,p0[1]],O0,B),er=q0[1],p0=[0,er,[1,[0,er,q0[2]]]];continue}return b0}}),N(M,function(B){var Z=N0(B);if(typeof Z=="number"){if(Z===4){ie(B);var p0=u(M,B);return V0(B,5),p0}}else if(Z[0]===4)return[0,u(A,B)];return Ge(B,51),0}),N(K,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,46);var b0=u(M,Z);if(b0){var O0=lr([0,p0],0,0);return[21,[0,b0[1],O0]]}return I$r},B)}),N(V,function(B){var Z=De(B),p0=N0(B),b0=0;if(typeof p0=="number")switch(p0){case 4:return u(a0,B);case 6:return u(k0,B);case 46:return u(K,B);case 53:return cr(0,function(ge){var H0=pr(ge);V0(ge,53);var Fr=u(X0,ge),_=lr([0,H0],0,0);return[14,[0,Fr[2],Fr[1],_]]},B);case 98:return u(w0,B);case 106:var O0=pr(B);return V0(B,Xt),[0,Z,[10,lr([0,O0],[0,we(B)],0)]];case 42:b0=1;break;case 0:case 2:var q0=R(E0,0,1,1,B);return[0,q0[1],[13,q0[2]]];case 30:case 31:var er=pr(B);return V0(B,p0),[0,Z,[26,[0,p0===31?1:0,lr([0,er],[0,we(B)],0)]]]}else switch(p0[0]){case 2:var yr=p0[1],vr=yr[4],$0=yr[3],Sr=yr[2],Mr=yr[1];vr&&Si(B,45);var Br=pr(B);return V0(B,[2,[0,Mr,Sr,$0,vr]]),[0,Mr,[23,[0,Sr,$0,lr([0,Br],[0,we(B)],0)]]];case 10:var qr=p0[3],jr=p0[2],$r=p0[1],ne=pr(B);V0(B,[10,$r,jr,qr]);var Qr=we(B);return $r===1&&Si(B,45),[0,Z,[24,[0,jr,qr,lr([0,ne],[0,Qr],0)]]];case 11:var pe=p0[3],oe=p0[2],me=pr(B);return V0(B,[11,p0[1],oe,pe]),[0,Z,[25,[0,oe,pe,lr([0,me],[0,we(B)],0)]]];case 4:b0=1;break}if(b0){var ae=u(dr,B);return[0,ae[1],[16,ae[2]]]}var ce=u(m0,B);return ce?[0,Z,ce[1]]:(St(T$r,B),[0,Z,O$r])}),N(f0,function(B){var Z=0;if(typeof B=="number")switch(B){case 29:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:Z=1;break}else B[0]===9&&(Z=1);return Z?1:0}),N(m0,function(B){var Z=pr(B),p0=N0(B);if(typeof p0=="number")switch(p0){case 29:return ie(B),[0,[4,lr([0,Z],[0,we(B)],0)]];case 114:return ie(B),[0,[0,lr([0,Z],[0,we(B)],0)]];case 115:return ie(B),[0,[1,lr([0,Z],[0,we(B)],0)]];case 116:return ie(B),[0,[2,lr([0,Z],[0,we(B)],0)]];case 117:return ie(B),[0,[5,lr([0,Z],[0,we(B)],0)]];case 118:return ie(B),[0,[6,lr([0,Z],[0,we(B)],0)]];case 119:return ie(B),[0,[7,lr([0,Z],[0,we(B)],0)]];case 120:return ie(B),[0,[3,lr([0,Z],[0,we(B)],0)]];case 121:return ie(B),[0,[9,lr([0,Z],[0,we(B)],0)]]}else if(p0[0]===9)return ie(B),[0,[8,lr([0,Z],[0,we(B)],0)]];return 0}),N(k0,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,6);for(var b0=u2(0,Z),O0=0;;){var q0=N0(b0);if(typeof q0=="number"){var er=0;if((q0===7||Pn===q0)&&(er=1),er){var yr=de(O0);return V0(Z,7),[22,[0,yr,lr([0,p0],[0,we(Z)],0)]]}}var vr=[0,u(e,b0),O0];N0(b0)!==7&&V0(b0,9);var O0=vr}},B)}),N(g0,function(B,Z){return[0,Z[1],[0,0,Z,0]]}),N(e0,function(B){return cr(0,function(Z){zu(Z,0);var p0=a(t[13],0,Z);h7(Z),1-iu(Z)&&Ge(Z,12);var b0=fu(Z,85);return V0(Z,86),[0,[0,p0],u(e,Z),b0]},B)});function Tr(B){var Z=Yn(1,B);return typeof Z=="number"&&!(1<(Z+W2|0)>>>0)?u(e0,B):a(g0,B,u(e,B))}N(x0,function(B){var Z=0;return function(p0){for(var b0=Z,O0=p0;;){var q0=N0(B);if(typeof q0=="number")switch(q0){case 5:case 12:case 113:var er=q0===12?1:0,yr=er&&[0,cr(0,function(jr){var $r=pr(jr);V0(jr,12);var ne=lr([0,$r],0,0);return[0,Tr(jr),ne]},B)];return[0,b0,de(O0),yr,0]}else if(q0[0]===4&&!n0(q0[3],F$r)){var vr=0;if((Yn(1,B)===86||Yn(1,B)===85)&&(vr=1),vr){var $0=b0!==0?1:0,Sr=$0||(O0!==0?1:0);Sr&&Ge(B,c7);var Mr=cr(0,function($r){var ne=pr($r);ie($r),N0($r)===85&&Ge($r,D7);var Qr=lr([0,ne],0,0);return[0,u(i,$r),Qr]},B);N0(B)!==5&&V0(B,9);var b0=[0,Mr];continue}}var Br=[0,Tr(B),O0];N0(B)!==5&&V0(B,9);var O0=Br}}}),N(l,function(B){return cr(0,function(Z){var p0=pr(Z);V0(Z,4);var b0=a(x0,Z,0),O0=pr(Z);V0(Z,5);var q0=_u([0,p0],[0,we(Z)],O0,0);return[0,b0[1],b0[2],b0[3],q0]},B)}),N(c0,function(B){var Z=pr(B);V0(B,4);var p0=u2(0,B),b0=N0(p0),O0=0;if(typeof b0=="number")switch(b0){case 5:var q0=g$r;break;case 42:O0=2;break;case 12:case 113:var q0=[0,a(x0,p0,0)];break;default:O0=1}else b0[0]===4?O0=2:O0=1;switch(O0){case 1:if(u(f0,b0)){var er=Yn(1,p0),yr=0;if(typeof er=="number"&&!(1<(er+W2|0)>>>0)){var vr=[0,a(x0,p0,0)];yr=1}if(!yr)var vr=[1,u(e,p0)];var q0=vr}else var q0=[1,u(e,p0)];break;case 2:var q0=u(t0,p0);break}if(q0[0]===0)var $0=q0;else{var Sr=q0[1];if(B[15])var Mr=q0;else{var Br=N0(B),qr=0;if(typeof Br=="number")if(Br===5)var jr=Yn(1,B)===11?[0,a(x0,B,[0,a(g0,B,Sr),0])]:[1,Sr];else if(Br===9){V0(B,9);var jr=[0,a(x0,B,[0,a(g0,B,Sr),0])]}else qr=1;else qr=1;if(qr)var jr=q0;var Mr=jr}var $0=Mr}var $r=pr(B);V0(B,5);var ne=we(B);if($0[0]===0){var Qr=$0[1],pe=_u([0,Z],[0,ne],$r,0);return[0,[0,Qr[1],Qr[2],Qr[3],pe]]}return[1,ir(Lr,$0[1],Z,ne)]}),N(t0,function(B){var Z=Yn(1,B);return typeof Z=="number"&&!(1<(Z+W2|0)>>>0)?[0,a(x0,B,0)]:[1,ir(c,B,0,ir(p,B,0,a(T,B,ir(w,0,B,a(ar,B,u(b,B))))))]}),N(a0,function(B){var Z=De(B),p0=cr(0,c0,B),b0=p0[2];return b0[0]===0?R(_0,B,Z,0,[0,p0[1],b0[1]]):b0[1]}),N(w0,function(B){var Z=De(B),p0=xi(B,u(X,B));return R(_0,B,Z,p0,u(l,B))}),N(_0,function(B,Z,p0,b0){return cr([0,Z],function(O0){return V0(O0,11),[12,[0,p0,b0,u(e,O0),0]]},B)});function Hr(B,Z,p0){return cr([0,Z],function(b0){var O0=u(l,b0);return V0(b0,86),[0,p0,O0,u(e,b0),0]},B)}function Or(B,Z){var p0=N0(Z);if(typeof p0=="number"&&!(10<=p0))switch(p0){case 1:if(!B)return 0;break;case 3:if(B)return 0;break;case 8:case 9:return ie(Z)}return q1(Z,9)}function xr(B,Z){return Z&&ue(B,[0,Z[1][1],7])}function Rr(B,Z){return Z&&ue(B,[0,Z[1],9])}N(E0,function(B,Z,p0,b0){var O0=Z&&(N0(b0)===2?1:0),q0=Z&&1-O0;return cr(0,function(er){var yr=pr(er),vr=O0&&2;V0(er,vr);var $0=u2(0,er),Sr=S$r;r:for(;;){var Mr=Sr[3],Br=Sr[2],qr=Sr[1];if(B&&p0)throw[0,wn,c$r];if(q0&&!p0)throw[0,wn,s$r];var jr=De($0),$r=N0($0);if(typeof $r=="number"){var ne=0;if(13<=$r){if(Pn===$r){var Qr=[0,de(qr),Br,Mr];ne=1}}else if($r)switch($r-1|0){case 0:if(!O0){var Qr=[0,de(qr),Br,Mr];ne=1}break;case 2:if(O0){var Qr=[0,de(qr),Br,Mr];ne=1}break;case 11:if(!p0){ie($0);var pe=N0($0);if(typeof pe=="number"&&!(10<=pe))switch(pe){case 1:case 3:case 8:case 9:ue($0,[0,jr,20]),Or(O0,$0);continue}var oe=gL($0);u(kL($0),oe),ue($0,[0,jr,17]),ie($0),Or(O0,$0);continue}var me=pr($0);ie($0);var ae=N0($0),ce=0;if(typeof ae=="number"&&!(10<=ae))switch(ae){case 1:case 3:case 8:case 9:Or(O0,$0);var ge=N0($0),H0=0;if(typeof ge=="number"){var Fr=ge-1|0;if(!(2>>0))switch(Fr){case 0:if(q0){var Qr=[0,de(qr),1,me];ne=1,ce=1,H0=1}break;case 1:break;default:ue($0,[0,jr,19]);var Qr=[0,de(qr),Br,Mr];ne=1,ce=1,H0=1}}if(!H0){ue($0,[0,jr,18]);continue}break}if(!ce){var _=[1,cr([0,jr],function(K7){return function(qt){var bt=lr([0,K7],0,0);return[0,u(e,qt),bt]}}(me),$0)];Or(O0,$0);var Sr=[0,[0,_,qr],Br,Mr];continue}break}if(ne){var k=pr(er),I=un(Qr[3],k),U=O0?3:1;V0(er,U);var Y=_u([0,yr],[0,we(er)],I,0);return[0,O0,Qr[2],Qr[1],Y]}}for(var y0=B,D0=B,I0=0,D=0,u0=0,Y0=0;;){var J0=N0($0),fr=0;if(typeof J0=="number")switch(J0){case 6:Rr($0,u0);var Q0=Yn(1,$0),F0=0;if(typeof Q0=="number"&&Q0===6){xr($0,I0);var Cr=[4,cr([0,jr],function(qt,bt,U0){return function(L0){var Re=un(bt,pr(L0));V0(L0,6),V0(L0,6);var He=V7(L0);V0(L0,7),V0(L0,7);var he=N0(L0),_e=0;if(typeof he=="number"){var Zn=0;if(he!==4&&he!==98&&(Zn=1),!Zn){var dn=Hr(L0,qt,xi(L0,u(X,L0))),it=0,ft=[0,dn[1],[12,dn[2]]],Rn=1,nt=0;_e=1}}if(!_e){var ht=fu(L0,85),tn=we(L0);V0(L0,86);var it=tn,ft=u(e,L0),Rn=0,nt=ht}return[0,He,ft,nt,U0!==0?1:0,Rn,lr([0,Re],[0,it],0)]}}(jr,Y0,D),$0)];F0=1}if(!F0)var Cr=[2,cr([0,jr],function(K7,qt,bt){return function(U0){var L0=un(K7,pr(U0));V0(U0,6);var Re=Yn(1,U0)===86?1:0;if(Re){var He=V7(U0);V0(U0,86);var he=[0,He]}else var he=Re;var _e=u(e,U0);V0(U0,7);var Zn=we(U0);V0(U0,86);var dn=u(e,U0);return[0,he,_e,dn,qt!==0?1:0,bt,lr([0,L0],[0,Zn],0)]}}(Y0,D,I0),$0)];break;case 42:if(y0){if(I0===0){var gr=[0,De($0)],mr=un(Y0,pr($0));ie($0);var y0=0,D0=0,D=gr,Y0=mr;continue}throw[0,wn,l$r]}fr=1;break;case 103:case 104:if(I0===0){var y0=0,D0=0,I0=n($0);continue}fr=1;break;case 4:case 98:Rr($0,u0),xr($0,I0);var Cr=[3,cr([0,jr],function(K7,qt){return function(bt){var U0=De(bt),L0=Hr(bt,U0,xi(bt,u(X,bt)));return[0,L0,qt!==0?1:0,lr([0,K7],0,0)]}}(Y0,D),$0)];break;default:fr=1}else if(J0[0]===4&&!n0(J0[3],b$r)){if(D0){if(I0===0){var sr=[0,De($0)],Pr=un(Y0,pr($0));ie($0);var y0=0,D0=0,u0=sr,Y0=Pr;continue}throw[0,wn,p$r]}fr=1}else fr=1;if(fr){var K0=0;if(D){var Ur=D[1];if(u0){var Cr=ke(m$r);K0=1}else if(typeof J0=="number"&&!(1<(J0+W2|0)>>>0)){var d0=[0,Ur,[1,Gc(lr([0,Y0],0,0),[0,Ur,_$r])]],Kr=0,re=u0,xe=0;K0=2}}else if(u0){var je=u0[1];if(typeof J0=="number"&&!(1<(J0+W2|0)>>>0)){var d0=[0,je,[1,Gc(lr([0,Y0],0,0),[0,je,y$r])]],Kr=0,re=0,xe=D;K0=2}}var ve=0;switch(K0){case 0:var Ie=function(qt){zu(qt,0);var bt=a(t[20],0,qt);return h7(qt),bt},Me=pr($0),Be=Ie($0),fn=Be[1],Ke=Be[2],Ae=0;if(Ke[0]===1){var xn=Ke[1][2][1],Qe=0;if(n0(xn,d$r)&&n0(xn,h$r)&&(Qe=1),!Qe){var yn=N0($0),on=0;if(typeof yn=="number"){var Ce=yn-5|0;if(92>>0){if(!(94<(Ce+1|0)>>>0)){Rr($0,u0),xr($0,I0);var We=Ke;Ae=1,on=1}}else if(!(1<(Ce+fX|0)>>>0)){var d0=[0,fn,Ke],Kr=Y0,re=u0,xe=D;ve=1,Ae=2,on=1}}if(!on){Xi($0,Ke);var rn=Ie($0),bn=qn(xn,k$r),Cn=un(Y0,Me);Rr($0,u0),xr($0,I0);var Cr=[0,cr([0,jr],function(bt,U0,L0,Re,He){return function(he){var _e=L0[1],Zn=Xi(he,L0[2]),dn=Hr(he,bt,0),it=dn[2][2];if(Re){var ft=it[2],Rn=0;if(ft[1])ue(he,[0,_e,R7]),Rn=1;else{var nt=0;!ft[2]&&!ft[3]&&(Rn=1,nt=1),nt||ue(he,[0,_e,80])}}else{var ht=it[2],tn=0;if(ht[1])ue(he,[0,_e,Xt]),tn=1;else{var cn=ht[2],tt=0;if(ht[3])ue(he,[0,_e,81]);else{var Tt=0;cn&&!cn[2]&&(Tt=1),Tt||(ue(he,[0,_e,81]),tt=1)}tt||(tn=1)}}var Fi=lr([0,He],0,0),hs=0,Iu=0,Vs=0,Vi=U0!==0?1:0,zs=0,Ks=Re?[1,dn]:[2,dn];return[0,Zn,Ks,zs,Vi,Vs,Iu,hs,Fi]}}(jr,D,rn,bn,Cn),$0)];Ae=2}}}var Hn=0;switch(Ae){case 2:Hn=1;break;case 0:var Sn=Be[2],vt=N0($0),At=0;if(typeof vt=="number"){var gt=0;if(vt!==4&&vt!==98&&(gt=1),!gt){Rr($0,u0),xr($0,I0);var We=Sn;At=1}}if(!At){var Jt=D!==0?1:0,Bt=0;if(Sn[0]===1){var Ft=Sn[1],Nt=Ft[2][1],du=0;if(B){var Ku=0;!qn(w$r,Nt)&&(!Jt||!qn(E$r,Nt))&&(Ku=1),Ku||(ue($0,[0,Ft[1],[21,Nt,Jt,0,0]]),Bt=1,du=1)}}var d0=[0,fn,Sn],Kr=Y0,re=u0,xe=D;ve=1,Hn=1}break}if(!Hn)var lt=Xi($0,We),xu=Hr($0,jr,xi($0,u(X,$0))),Mu=[0,xu[1],[12,xu[2]]],z7=[0,lt,[0,Mu],0,D!==0?1:0,0,1,0,lr([0,Y0],0,0)],Cr=[0,[0,Mu[1],z7]];break;case 2:ve=1;break}if(ve){var Yi=d0[2],a7=d0[1];1-iu($0)&&Ge($0,12);var Cr=[0,cr([0,jr],function(qt,bt,U0,L0,Re,He){return function(he){var _e=fu(he,85),Zn=he0(he,86)?u(e,he):[0,He,v$r];return[0,Re,[0,Zn],_e,bt!==0?1:0,U0!==0?1:0,0,qt,lr([0,L0],0,0)]}}(I0,xe,re,Kr,Yi,a7),$0)]}}Or(O0,$0);var Sr=[0,[0,Cr,qr],Br,Mr];continue r}}},b0)}),N(X0,function(B){var Z=N0(B)===41?1:0;if(Z){V0(B,41);for(var p0=0;;){var b0=[0,u(dr,B),p0],O0=N0(B);if(typeof O0=="number"&&O0===9){V0(B,9);var p0=b0;continue}var q0=ge0(B,de(b0));break}}else var q0=Z;return[0,q0,R(E0,0,0,0,B)]}),N(b,function(B){var Z=V7(B),p0=Z[2],b0=p0[1],O0=Z[1];return be0(b0)&&ue(B,[0,O0,3]),[0,O0,[0,b0,p0[2]]]}),N(G0,function(B){return cr(0,function(Z){var p0=u(b,Z),b0=N0(Z)===86?[1,u(i,Z)]:[0,G1(Z)];return[0,p0,b0]},B)}),N(X,function(B){var Z=N0(B)===98?1:0;if(Z){1-iu(B)&&Ge(B,12);var p0=[0,cr(0,function(O0){var q0=pr(O0);V0(O0,98);for(var er=0,yr=0;;){var vr=cr(0,function(ne){return function(Qr){var pe=n(Qr),oe=u(G0,Qr),me=oe[2],ae=N0(Qr),ce=0;if(typeof ae=="number"&&ae===82){ie(Qr);var ge=1,H0=[0,u(e,Qr)];ce=1}if(!ce){ne&&ue(Qr,[0,oe[1],77]);var ge=ne,H0=0}return[0,pe,me[1],me[2],H0,ge]}}(er),O0),$0=vr[2],Sr=[0,[0,vr[1],[0,$0[2],$0[3],$0[1],$0[4]]],yr],Mr=N0(O0),Br=0;if(typeof Mr=="number"){var qr=0;if(Mr!==99&&Pn!==Mr&&(qr=1),!qr){var jr=de(Sr);Br=1}}if(!Br){if(V0(O0,9),N0(O0)!==99){var er=$0[5],yr=Sr;continue}var jr=de(Sr)}var $r=pr(O0);return V0(O0,99),[0,jr,_u([0,q0],[0,we(O0)],$r,0)]}},B)]}else var p0=Z;return p0}),N(s0,function(B){var Z=N0(B)===98?1:0,p0=Z&&[0,cr(0,function(b0){var O0=pr(b0);V0(b0,98);for(var q0=u2(0,b0),er=0;;){var yr=N0(q0);if(typeof yr=="number"){var vr=0;if((yr===99||Pn===yr)&&(vr=1),vr){var $0=de(er),Sr=pr(q0);return V0(q0,99),[0,$0,_u([0,O0],[0,we(q0)],Sr,0)]}}var Mr=[0,u(e,q0),er];N0(q0)!==99&&V0(q0,9);var er=Mr}},B)];return p0}),N(dr,function(B){return a(Ar,B,u(b,B))}),N(Ar,function(B,Z){function p0(b0){for(var O0=[0,Z[1],[0,Z]];;){var q0=O0[2],er=O0[1];if(N0(b0)===10&&_e0(1,b0)){var yr=cr([0,er],function(qr){return function(jr){return V0(jr,10),[0,qr,u(b,jr)]}}(q0),b0),vr=yr[1],O0=[0,vr,[1,[0,vr,yr[2]]]];continue}if(N0(b0)===98)var $0=Wt(b0),Sr=function(Br,qr){return a(Ze(Br,-860373976,77),Br,qr)},Mr=a($0[2],q0,Sr);else var Mr=q0;return[0,Mr,u(s0,b0),0]}}return cr([0,Z[1]],p0,B)}),N(ar,function(B,Z){var p0=a(Ar,B,Z);return[0,p0[1],[16,p0[2]]]}),N(W0,function(B){var Z=N0(B);return typeof Z=="number"&&Z===86?[1,u(i,B)]:[0,G1(B)]}),N(Lr,function(B,Z,p0){var b0=B[2];function O0(gr){return _7(gr,lr([0,Z],[0,p0],0))}switch(b0[0]){case 0:var F0=[0,O0(b0[1])];break;case 1:var F0=[1,O0(b0[1])];break;case 2:var F0=[2,O0(b0[1])];break;case 3:var F0=[3,O0(b0[1])];break;case 4:var F0=[4,O0(b0[1])];break;case 5:var F0=[5,O0(b0[1])];break;case 6:var F0=[6,O0(b0[1])];break;case 7:var F0=[7,O0(b0[1])];break;case 8:var F0=[8,O0(b0[1])];break;case 9:var F0=[9,O0(b0[1])];break;case 10:var F0=[10,O0(b0[1])];break;case 11:var q0=b0[1],er=O0(q0[2]),F0=[11,[0,q0[1],er]];break;case 12:var yr=b0[1],vr=O0(yr[4]),F0=[12,[0,yr[1],yr[2],yr[3],vr]];break;case 13:var $0=b0[1],Sr=lr([0,Z],[0,p0],0),Mr=QD($0[4],Sr),F0=[13,[0,$0[1],$0[2],$0[3],Mr]];break;case 14:var Br=b0[1],qr=O0(Br[3]),F0=[14,[0,Br[1],Br[2],qr]];break;case 15:var jr=b0[1],$r=O0(jr[2]),F0=[15,[0,jr[1],$r]];break;case 16:var ne=b0[1],Qr=O0(ne[3]),F0=[16,[0,ne[1],ne[2],Qr]];break;case 17:var pe=b0[1],oe=O0(pe[3]),F0=[17,[0,pe[1],pe[2],oe]];break;case 18:var me=b0[1],ae=me[1],ce=me[2],ge=O0(ae[3]),F0=[18,[0,[0,ae[1],ae[2],ge],ce]];break;case 19:var H0=b0[1],Fr=O0(H0[2]),F0=[19,[0,H0[1],Fr]];break;case 20:var _=b0[1],k=O0(_[2]),F0=[20,[0,_[1],k]];break;case 21:var I=b0[1],U=O0(I[2]),F0=[21,[0,I[1],U]];break;case 22:var Y=b0[1],y0=O0(Y[2]),F0=[22,[0,Y[1],y0]];break;case 23:var D0=b0[1],I0=O0(D0[3]),F0=[23,[0,D0[1],D0[2],I0]];break;case 24:var D=b0[1],u0=O0(D[3]),F0=[24,[0,D[1],D[2],u0]];break;case 25:var Y0=b0[1],J0=O0(Y0[3]),F0=[25,[0,Y0[1],Y0[2],J0]];break;default:var fr=b0[1],Q0=O0(fr[2]),F0=[26,[0,fr[1],Q0]]}return[0,B[1],F0]});function Wr(B){var Z=pr(B);if(V0(B,66),N0(B)===4){var p0=un(Z,pr(B));V0(B,4),zu(B,0);var b0=u(t[9],B);return h7(B),V0(B,5),[0,[0,b0],lr([0,p0],[0,we(B)],0)]}return[0,0,lr([0,Z],[0,we(B)],0)]}var Jr=0;function or(B){var Z=u2(0,B),p0=N0(Z);return typeof p0=="number"&&p0===66?[0,cr(Jr,Wr,Z)]:0}function _r(B){var Z=N0(B),p0=Yn(1,B);if(typeof Z=="number"&&Z===86){if(typeof p0=="number"&&p0===66){V0(B,86);var b0=or(B);return[0,[0,G1(B)],b0]}var O0=u(W0,B),q0=N0(B)===66?a2(B,O0):O0;return[0,q0,or(B)]}return[0,[0,G1(B)],0]}function Ir(B,Z){var p0=ys(1,Z);zu(p0,1);var b0=u(B,p0);return h7(p0),b0}function fe(B){return Ir(e,B)}function v0(B){return Ir(b,B)}function P(B){return Ir(X,B)}function L(B){return Ir(s0,B)}function Q(B,Z){return Ir(ir(E0,B,0,0),Z)}function i0(B){return Ir(X0,B)}function l0(B){return Ir(l,B)}function S0(B){return Ir(i,B)}function T0(B){return Ir(W0,B)}function rr(B){return Ir(or,B)}function R0(B){return Ir(_r,B)}return[0,fe,v0,P,L,function(B){return Ir(dr,B)},Q,i0,l0,S0,T0,rr,R0]}function vne(t){function n(c,s){if(s[0]===0)return s[1];var p=s[2][1];return Pu(function(y){return ue(c,y)},p),s[1]}function e(c,s,p){var y=c?c[1]:26;if(p[0]===0)var T=p[1];else{var E=p[2][2];Pu(function(A){return ue(s,A)},E);var T=p[1]}1-u(t[23],T)&&ue(s,[0,T[1],y]);var h=T[2],w=0;return h[0]===10&&Bs(h[1][2][1])&&(Y7(s,[0,T[1],52]),w=1),a(t[19],s,T)}function i(c,s){return[0,[0,c,s[1]],[0,c,s[2]]]}function x(c,s){var p=jc(c[2],s[2]);return[0,jc(c[1],s[1]),p]}return[0,n,e,B$r,i,x,function(c){var s=de(c[2]);return[0,de(c[1]),s]}]}function lne(t){function n(S){var M=N0(S);if(typeof M=="number"){var K=M-99|0,V=0;if(6>>0?K===14&&(V=1):4<(K-1|0)>>>0&&(V=1),V)return we(S)}var f0=f7(S);return f0&&Us(S)}function e(S){var M=pr(S);zu(S,0);var K=cr(0,function(f0){V0(f0,0),V0(f0,12);var m0=u(t[10],f0);return V0(f0,1),m0},S);h7(S);var V=lr([0,M],[0,n(S)],0);return[0,K[1],[0,K[2],V]]}function i(S){return N0(S)===1?0:[0,u(t[7],S)]}function x(S){var M=pr(S);zu(S,0);var K=cr(0,function(f0){V0(f0,0);var m0=i(f0);return V0(f0,1),m0},S);h7(S);var V=_u([0,M],[0,n(S)],0,0);return[0,K[1],[0,K[2],V]]}function c(S){zu(S,0);var M=cr(0,function(K){V0(K,0);var V=N0(K),f0=0;if(typeof V=="number"&&V===12){var m0=pr(K);V0(K,12);var k0=u(t[10],K),x0=[3,[0,k0,lr([0,m0],0,0)]];f0=1}if(!f0)var g0=i(K),e0=g0?0:pr(K),x0=[2,[0,g0,_u(0,0,e0,0)]];return V0(K,1),x0},S);return h7(S),[0,M[1],M[2]]}function s(S){var M=De(S),K=N0(S),V=0;if(typeof K!="number"&&K[0]===7){var f0=K[1];V=1}if(!V){St(qQr,S);var f0=UQr}var m0=pr(S);ie(S);var k0=N0(S),g0=0;if(typeof k0=="number"){var e0=k0+jX|0,x0=0;if(72>>0?e0!==76&&(x0=1):70<(e0-1|0)>>>0||(x0=1),!x0){var l=we(S);g0=1}}if(!g0)var l=n(S);return[0,M,[0,f0,lr([0,m0],[0,l],0)]]}function p(S){var M=Yn(1,S);if(typeof M=="number"){if(M===10)for(var K=cr(0,function(m0){var k0=[0,s(m0)];return V0(m0,10),[0,k0,s(m0)]},S);;){var V=N0(S);if(typeof V=="number"&&V===10){var f0=function(k0){return function(g0){return V0(g0,10),[0,[1,k0],s(g0)]}}(K),K=cr([0,K[1]],f0,S);continue}return[2,K]}if(M===86)return[1,cr(0,function(m0){var k0=s(m0);return V0(m0,86),[0,k0,s(m0)]},S)]}return[0,s(S)]}function y(S){return cr(0,function(M){var K=Yn(1,M),V=0;if(typeof K=="number"&&K===86){var f0=[1,cr(0,function(b){var G0=s(b);return V0(b,86),[0,G0,s(b)]},M)];V=1}if(!V)var f0=[0,s(M)];var m0=N0(M),k0=0;if(typeof m0=="number"&&m0===82){V0(M,82);var g0=pr(M),e0=N0(M),x0=0;if(typeof e0=="number")if(e0===0){var l=x(M),c0=l[2],t0=l[1];c0[1]||ue(M,[0,t0,56]);var a0=[0,[1,t0,c0]]}else x0=1;else if(e0[0]===8){V0(M,e0);var w0=[0,e0[2]],_0=lr([0,g0],[0,n(M)],0),a0=[0,[0,e0[1],[0,w0,e0[3],_0]]]}else x0=1;if(x0){Ge(M,57);var a0=[0,[0,De(M),[0,BQr,MQr,0]]]}var E0=a0;k0=1}if(!k0)var E0=0;return[0,f0,E0]},S)}function T(S){return cr(0,function(M){V0(M,98);var K=N0(M);if(typeof K=="number"){if(K===99)return ie(M),jQr}else if(K[0]===7)for(var V=0,f0=p(M);;){var m0=N0(M);if(typeof m0=="number"){if(m0===0){var V=[0,[1,e(M)],V];continue}}else if(m0[0]===7){var V=[0,[0,y(M)],V];continue}var k0=de(V),g0=[0,s1,[0,f0,fu(M,R7),k0]];return fu(M,99)?[0,g0]:(q1(M,99),[1,g0])}return q1(M,99),GQr},S)}function E(S){return cr(0,function(M){V0(M,98),V0(M,R7);var K=N0(M);if(typeof K=="number"){if(K===99)return ie(M),Ni}else if(K[0]===7){var V=p(M);return he0(M,99),[0,s1,[0,V]]}return q1(M,99),Ni},S)}var h=function S(M){return S.fun(M)},w=function S(M){return S.fun(M)},G=function S(M){return S.fun(M)};N(h,function(S){var M=N0(S);if(typeof M=="number"){if(M===0)return c(S)}else if(M[0]===8)return V0(S,M),[0,M[1],[4,[0,M[2],M[3]]]];var K=u(G,S),V=K[2],f0=K[1];return Ni<=V[1]?[0,f0,[1,V[2]]]:[0,f0,[0,V[2]]]});function A(S){switch(S[0]){case 0:return S[1][2][1];case 1:var M=S[1][2],K=Te(DQr,M[2][2][1]);return Te(M[1][2][1],K);default:var V=S[1][2],f0=V[1],m0=f0[0]===0?f0[1][2][1]:A([2,f0[1]]);return Te(m0,Te(LQr,V[2][2][1]))}}return N(w,function(S){var M=pr(S),K=T(S);h7(S);var V=K[2];if(V[0]===0)var f0=V[1],m0=typeof f0=="number"?0:f0[2][2],k0=m0;else var k0=1;if(k0)var g0=IU,e0=g0,x0=cr(0,function(qr){return 0},S);else{zu(S,3);for(var l=De(S),c0=0;;){var t0=i2(S),a0=N0(S),w0=0;if(typeof a0=="number"){var _0=0;if(a0===98){zu(S,2);var E0=N0(S),X0=Yn(1,S),b=0;if(typeof E0=="number"&&E0===98&&typeof X0=="number"){var G0=0;if(R7!==X0&&Pn!==X0&&(G0=1),!G0){var X=E(S),s0=X[2],dr=X[1],Ar=typeof s0=="number"?[0,Ni,dr]:[0,s1,[0,dr,s0[2]]],ar=S[23][1],W0=0;if(ar){var Lr=ar[2];if(Lr){var Tr=Lr[2];W0=1}}if(!W0)var Tr=ke(jRr);S[23][1]=Tr;var Hr=n2(S),Or=Yl(S[24][1],Hr);S[25][1]=Or;var xr=[0,de(c0),t0,Ar];b=1}}if(!b){var Rr=u(w,S),Wr=Rr[2],Jr=Rr[1],or=Ni<=Wr[1]?[0,Jr,[1,Wr[2]]]:[0,Jr,[0,Wr[2]]],c0=[0,or,c0];continue}}else if(Pn===a0){St(0,S);var xr=[0,de(c0),t0,IU]}else w0=1,_0=1;if(!_0)var _r=t0?t0[1]:l,Ir=yt(l,_r),e0=xr[3],x0=[0,Ir,xr[1]]}else w0=1;if(w0){var c0=[0,u(h,S),c0];continue}break}}var fe=we(S),v0=0;if(typeof e0!="number"){var P=e0[1],L=0;if(s1===P){var Q=e0[2],i0=K[2];if(i0[0]===0){var l0=i0[1];if(typeof l0=="number")Ge(S,RQr);else{var S0=A(l0[2][1]);n0(A(Q[2][1]),S0)&&Ge(S,[17,S0])}}var T0=Q[1]}else if(Ni===P){var rr=K[2];if(rr[0]===0){var R0=rr[1];typeof R0!="number"&&Ge(S,[17,A(R0[2][1])])}var T0=e0[2]}else L=1;if(!L){var B=T0;v0=1}}if(!v0)var B=K[1];var Z=K[2][1],p0=K[1];if(typeof Z=="number"){var b0=0,O0=lr([0,M],[0,fe],0);if(typeof e0!="number"){var q0=e0[1],er=0;if(s1===q0)var yr=e0[2][1];else if(Ni===q0)var yr=e0[2];else er=1;if(!er){var vr=yr;b0=1}}if(!b0)var vr=B;var $0=[0,Ni,[0,p0,vr,x0,O0]]}else{var Sr=0,Mr=lr([0,M],[0,fe],0);if(typeof e0!="number"&&s1===e0[1]){var Br=[0,e0[2]];Sr=1}if(!Sr)var Br=0;var $0=[0,s1,[0,[0,p0,Z[2]],Br,x0,Mr]]}return[0,yt(K[1],B),$0]}),N(G,function(S){return zu(S,2),u(w,S)}),[0,n,e,i,x,c,s,p,y,T,E,h,w,G]}function gi(t){return typeof t=="number"?0:t[0]===0?1:t[1]}function bne(t,n){return[0,t,n]}function tb(t,n,e){return[1,2,n,e,t,0]}function ub(t,n,e){return[1,2,t,n,0,e]}function Xc(t,n,e,i){var x=gi(t),c=gi(i),s=c<=x?x+1|0:c+1|0;return s===1?[0,n,e]:[1,s,n,e,t,i]}function IL(t,n){var e=n!==0?1:0;if(e){if(n!==1){var i=n>>>1|0,x=IL(t,i),c=u(t,0),s=IL(t,(n-i|0)-1|0),p=c[2],y=c[1];return[1,gi(x)+1|0,y,p,x,s]}var T=u(t,0),E=[0,T[1],T[2]]}else var E=e;return E}function D9(t,n,e,i){var x=gi(t),c=gi(i),s=c<=x?x+1|0:c+1|0;return[1,s,n,e,t,i]}function Ou(t,n,e,i){var x=gi(t),c=gi(i);if((c+2|0)>>0){if(!(F7<(Or+1|0)>>>0)){var xr=Tr[3],Rr=Tr[4],Wr=de(Tr[1][4]),Jr=de(Tr[1][3]),or=de(Tr[1][2]),_r=de(Tr[1][1]),Ir=un(Rr,pr(G0));V0(G0,1);var fe=N0(G0),v0=0;if(typeof fe=="number"){var P=0;if(fe!==1&&Pn!==fe&&(v0=1,P=1),!P)var Q=we(G0)}else v0=1;if(v0)var L=f7(G0),Q=L&&Us(G0);var i0=_u([0,Lr],[0,Q],Ir,0);if(ar)switch(ar[1]){case 0:return[0,[0,_r,1,xr,i0]];case 1:return[1,[0,or,1,xr,i0]];case 2:var l0=1;break;default:return[3,[0,Wr,xr,i0]]}else{var S0=Rc(_r),T0=Rc(or),rr=Rc(Jr),R0=Rc(Wr),B=0;if(S0===0&&T0===0){var Z=0;if(rr===0&&R0===0&&(B=1,Z=1),!Z){var l0=0;B=2}}var p0=0;switch(B){case 0:if(T0===0&&rr===0&&R0<=S0)return Pu(function(K0){return ue(G0,[0,K0[1],[0,E0,K0[2][1][2][1]]])},Wr),[0,[0,_r,0,xr,i0]];if(S0===0&&rr===0&&R0<=T0)return Pu(function(K0){return ue(G0,[0,K0[1],[8,E0,K0[2][1][2][1]]])},Wr),[1,[0,or,0,xr,i0]];ue(G0,[0,X0,[2,E0]]);break;case 1:break;default:p0=1}if(!p0)return[2,[0,a$r,0,xr,i0]]}var b0=Rc(Jr),O0=Rc(Wr);if(b0!==0){var q0=0;if(O0!==0&&(b0>>0)F7<(Sr+1|0)>>>0&&(Mr=1);else if(Sr===7){V0(G0,9);var Br=N0(G0),qr=0;if(typeof Br=="number"){var jr=0;if(Br!==1&&Pn!==Br&&(jr=1),!jr){var $r=1;qr=1}}if(!qr)var $r=0;ue(G0,[0,er,[7,$r]])}else Mr=1;Mr||($0=1)}$0||ue(G0,[0,er,n$r]);var Tr=[0,Tr[1],Tr[2],1,yr];continue}}var ne=Tr[2],Qr=Tr[1],pe=cr(x,i,G0),oe=pe[2],me=oe[1],ae=me[2][1];if(qn(ae,t$r))var ce=Tr;else{var ge=me[1],H0=oe[2],Fr=pe[1],_=Ot(ae,0),k=97<=_?1:0,I=k&&(_<=In?1:0);I&&ue(G0,[0,ge,[6,E0,ae]]),a(Gu[3],ae,ne)&&ue(G0,[0,ge,[1,E0,ae]]);var U=Tr[4],Y=Tr[3],y0=a(Gu[4],ae,ne),D0=[0,Tr[1],y0,Y,U],I0=function(Ur){return function(d0,Kr){return ar&&ar[1]!==d0?ue(G0,[0,Kr,[5,E0,ar,Ur]]):0}}(ae);if(typeof H0=="number"){var D=0;if(ar){var u0=ar[1],Y0=0;if(u0===1?ue(G0,[0,Fr,[8,E0,ae]]):u0?(D=1,Y0=1):ue(G0,[0,Fr,[0,E0,ae]]),!Y0)var J0=D0}else D=1;if(D)var J0=[0,[0,Qr[1],Qr[2],Qr[3],[0,[0,Fr,[0,me]],Qr[4]]],y0,Y,U]}else switch(H0[0]){case 0:ue(G0,[0,H0[1],[5,E0,ar,ae]]);var J0=D0;break;case 1:var fr=H0[1];I0(0,fr);var J0=[0,[0,[0,[0,Fr,[0,me,[0,fr,H0[2]]]],Qr[1]],Qr[2],Qr[3],Qr[4]],y0,Y,U];break;case 2:var Q0=H0[1];I0(1,Q0);var J0=[0,[0,Qr[1],[0,[0,Fr,[0,me,[0,Q0,H0[2]]]],Qr[2]],Qr[3],Qr[4]],y0,Y,U];break;default:var F0=H0[1];I0(2,F0);var J0=[0,[0,Qr[1],Qr[2],[0,[0,Fr,[0,me,[0,F0,H0[2]]]],Qr[3]],Qr[4]],y0,Y,U]}var ce=J0}var gr=N0(G0),mr=0;if(typeof gr=="number"){var Cr=gr-2|0,sr=0;Ht>>0?F7<(Cr+1|0)>>>0&&(sr=1):Cr===6?(Ge(G0,1),V0(G0,8)):sr=1,sr||(mr=1)}mr||V0(G0,9);var Tr=ce}},a0);return[16,[0,_0,b,lr([0,w0],0,0)]]}var s=0;function p(a0){return cr(s,c,a0)}function y(a0,w0){var _0=w0[2][1],E0=w0[1],X0=a0[1];Bs(_0)&&Y7(X0,[0,E0,41]);var b=I9(_0),G0=b||f2(_0);return G0&&Y7(X0,[0,E0,55]),[0,X0,a0[2]]}function T(a0,w0){var _0=w0[2];switch(_0[0]){case 0:return be(E,a0,_0[1][1]);case 1:return be(h,a0,_0[1][1]);case 2:var E0=_0[1][1],X0=E0[2][1],b=a0[2],G0=a0[1];a(Gu[3],X0,b)&&ue(G0,[0,E0[1],42]);var X=y([0,G0,b],E0),s0=a(Gu[4],X0,X[2]);return[0,X[1],s0];default:return ue(a0[1],[0,w0[1],31]),a0}}function E(a0,w0){if(w0[0]===0){var _0=w0[1][2],E0=_0[1],X0=E0[0]===1?y(a0,E0[1]):a0;return T(X0,_0[2])}return T(a0,w0[1][2][1])}function h(a0,w0){return w0[0]===2?a0:T(a0,w0[1][2][1])}function w(a0,w0,_0,E0){var X0=a0[5],b=U1(E0),G0=E0[2],X=G0[3],s0=ys(X0?0:w0,a0),dr=w0||X0||1-b;if(dr){if(_0){var Ar=_0[1],ar=Ar[2][1],W0=Ar[1];Bs(ar)&&Y7(s0,[0,W0,44]);var Lr=I9(ar),Tr=Lr||f2(ar);Tr&&Y7(s0,[0,W0,55])}var Hr=G0[2],Or=[0,s0,Gu[1]],xr=be(function(or,_r){return T(or,_r[2][1])},Or,Hr),Rr=X&&(T(xr,X[1][2][1]),0),Wr=Rr}else var Wr=dr;return Wr}var G=function a0(w0,_0){return a0.fun(w0,_0)};function A(a0){N0(a0)===21&&Ge(a0,c7);var w0=a(se[18],a0,41),_0=N0(a0)===82?1:0,E0=_0&&(V0(a0,82),[0,u(se[10],a0)]);return[0,w0,E0]}var S=0;N(G,function(a0,w0){var _0=N0(a0);if(typeof _0=="number"){var E0=_0-5|0,X0=0;if(7>>0?fs===E0&&(X0=1):5<(E0-1|0)>>>0&&(X0=1),X0){var b=_0===12?1:0;if(b)var G0=pr(a0),X=cr(0,function(ar){return V0(ar,12),a(se[18],ar,41)},a0),s0=lr([0,G0],0,0),dr=[0,[0,X[1],[0,X[2],s0]]];else var dr=b;return N0(a0)!==5&&Ge(a0,64),[0,de(w0),dr]}}var Ar=cr(S,A,a0);return N0(a0)!==5&&V0(a0,9),a(G,a0,[0,Ar,w0])});function M(a0,w0){function _0(X0){var b=dL(w0,ie0(a0,X0)),G0=1,X=b[10]===1?b:[0,b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],G0,b[11],b[12],b[13],b[14],b[15],b[16],b[17],b[18],b[19],b[20],b[21],b[22],b[23],b[24],b[25],b[26],b[27],b[28],b[29],b[30]],s0=pr(X);V0(X,4);var dr=iu(X),Ar=dr&&(N0(X)===21?1:0);if(Ar){var ar=pr(X),W0=cr(0,function(or){return V0(or,21),N0(or)===86?[0,u(t[9],or)]:(Ge(or,Ri),0)},X),Lr=W0[2];if(Lr){N0(X)===9&&ie(X);var Tr=lr([0,ar],0,0),Hr=[0,[0,W0[1],[0,Lr[1],Tr]]]}else var Hr=Lr;var Or=Hr}else var Or=Ar;var xr=a(G,X,0),Rr=pr(X);V0(X,5);var Wr=_u([0,s0],[0,we(X)],Rr,0);return[0,Or,xr[1],xr[2],Wr]}var E0=0;return function(X0){return cr(E0,_0,X0)}}function K(a0,w0,_0,E0,X0){var b=se0(a0,w0,_0,X0),G0=a(se[16],E0,b);return[0,[0,G0[1]],G0[2]]}function V(a0,w0,_0){var E0=De(a0),X0=N0(a0),b=0;if(typeof X0=="number")if(c7===X0){var G0=pr(a0);ie(a0);var s0=[0,[0,E0,[0,0,lr([0,G0],0,0)]]]}else if(D7===X0){var X=pr(a0);ie(a0);var s0=[0,[0,E0,[0,1,lr([0,X],0,0)]]]}else b=1;else b=1;if(b)var s0=0;if(s0){var dr=0;if(!w0&&!_0&&(dr=1),!dr)return ue(a0,[0,s0[1][1],7]),0}return s0}function f0(a0){if(Xt===N0(a0)){var w0=pr(a0);return ie(a0),[0,1,w0]}return M$r}function m0(a0){if(N0(a0)===64&&!Jl(1,a0)){var w0=pr(a0);return ie(a0),[0,1,w0]}return G$r}function k0(a0){var w0=m0(a0),_0=w0[1],E0=w0[2],X0=cr(0,function(W0){var Lr=pr(W0);V0(W0,15);var Tr=f0(W0),Hr=Tr[1],Or=pl([0,E0,[0,Lr,[0,Tr[2],0]]]),xr=W0[7],Rr=N0(W0),Wr=0;if(xr&&typeof Rr=="number"){if(Rr===4){var Ir=0,fe=0;Wr=1}else if(Rr===98){var Jr=xi(W0,u(t[3],W0)),or=N0(W0)===4?0:[0,ds(W0,a(se[13],D$r,W0))],Ir=or,fe=Jr;Wr=1}}if(!Wr)var _r=M1(W0)?ds(W0,a(se[13],L$r,W0)):(de0(W0,R$r),[0,De(W0),j$r]),Ir=[0,_r],fe=xi(W0,u(t[3],W0));var v0=u(M(_0,Hr),W0),P=N0(W0)===86?v0:eb(W0,v0),L=u(t[12],W0),Q=L[2],i0=L[1];if(Q)var l0=Se0(W0,Q),S0=i0;else var l0=Q,S0=a2(W0,i0);return[0,Hr,fe,Ir,P,S0,l0,Or]},a0),b=X0[2],G0=b[4],X=b[3],s0=b[1],dr=K(a0,_0,s0,0,U1(G0));w(a0,dr[2],X,G0);var Ar=X0[1],ar=lr([0,b[7]],0,0);return[23,[0,X,G0,dr[1],_0,s0,b[6],b[5],b[2],ar,Ar]]}var g0=0;function e0(a0){return cr(g0,k0,a0)}function x0(a0,w0){var _0=pr(w0);V0(w0,a0);for(var E0=0,X0=0;;){var b=cr(0,function(ar){var W0=a(se[18],ar,40);if(fu(ar,82))var Lr=0,Tr=[0,u(se[10],ar)];else if(W0[2][0]===2)var Lr=0,Tr=0;else var Lr=[0,[0,W0[1],59]],Tr=0;return[0,[0,W0,Tr],Lr]},w0),G0=b[2],X=G0[2],s0=[0,[0,b[1],G0[1]],E0],dr=X?[0,X[1],X0]:X0;if(fu(w0,9)){var E0=s0,X0=dr;continue}var Ar=de(dr);return[0,de(s0),_0,Ar]}}var l=24;function c0(a0){return x0(l,a0)}function t0(a0){var w0=x0(27,T9(1,a0)),_0=w0[1],E0=w0[3],X0=de(be(function(b,G0){return G0[2][2]?b:[0,[0,G0[1],58],b]},E0,_0));return[0,_0,w0[2],X0]}return[0,m0,f0,V,M,K,w,function(a0){return x0(28,T9(1,a0))},t0,c0,e0,p]}(ln),j9=vne(se),oi=function(t){function n(P){var L=P[2];switch(L[0]){case 17:var Q=L[1],i0=Q[1][2][1];if(n0(i0,AQr)){if(!n0(i0,NQr)){var l0=n0(Q[2][2][1],CQr);if(!l0)return l0}}else{var S0=n0(Q[2][2][1],PQr);if(!S0)return S0}break;case 0:case 10:case 16:case 19:break;default:return 0}return 1}var e=t[1],i=function P(L){return P.fun(L)},x=function P(L){return P.fun(L)},c=function P(L){return P.fun(L)},s=function P(L){return P.fun(L)},p=function P(L){return P.fun(L)},y=function P(L){return P.fun(L)},T=function P(L){return P.fun(L)},E=function P(L){return P.fun(L)},h=function P(L){return P.fun(L)},w=function P(L){return P.fun(L)},G=function P(L){return P.fun(L)},A=function P(L){return P.fun(L)},S=function P(L){return P.fun(L)},M=function P(L){return P.fun(L)},K=function P(L){return P.fun(L)},V=function P(L){return P.fun(L)},f0=function P(L){return P.fun(L)},m0=function P(L,Q,i0,l0,S0){return P.fun(L,Q,i0,l0,S0)},k0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},g0=function P(L){return P.fun(L)},e0=function P(L){return P.fun(L)},x0=function P(L){return P.fun(L)},l=function P(L,Q,i0,l0,S0){return P.fun(L,Q,i0,l0,S0)},c0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},t0=function P(L){return P.fun(L)},a0=function P(L,Q,i0){return P.fun(L,Q,i0)},w0=function P(L){return P.fun(L)},_0=function P(L,Q,i0){return P.fun(L,Q,i0)},E0=function P(L){return P.fun(L)},X0=function P(L){return P.fun(L)},b=function P(L,Q){return P.fun(L,Q)},G0=function P(L,Q,i0,l0){return P.fun(L,Q,i0,l0)},X=function P(L){return P.fun(L)},s0=function P(L,Q,i0){return P.fun(L,Q,i0)},dr=function P(L){return P.fun(L)},Ar=function P(L){return P.fun(L)},ar=function P(L){return P.fun(L)},W0=function P(L,Q,i0){return P.fun(L,Q,i0)},Lr=t[2];function Tr(P){var L=De(P),Q=u(y,P),i0=u(p,P);if(i0){var l0=i0[1];return[0,cr([0,L],function(S0){var T0=ir(Lr,0,S0,Q);return[2,[0,l0,T0,u(x,S0),0]]},P)]}return Q}function Hr(P,L){if(typeof L=="number"){var Q=L!==55?1:0;if(!Q)return Q}throw Hs}function Or(P){var L=O9(Hr,P),Q=Tr(L),i0=N0(L);if(typeof i0=="number"){if(i0===11)throw Hs;if(i0===86){var l0=oe0(L),S0=0;if(l0){var T0=l0[1];if(typeof T0=="number"&&T0===5){var rr=1;S0=1}}if(!S0)var rr=0;if(rr)throw Hs}}if(M1(L)){if(Q[0]===0){var R0=Q[1][2];if(R0[0]===10&&!n0(R0[1][2][1],IQr)&&!f7(L))throw Hs}return Q}return Q}N(i,function(P){var L=N0(P),Q=0,i0=M1(P);if(typeof L=="number"){var l0=0;if(22<=L)if(L===58){if(P[17])return[0,u(c,P)];l0=1}else L!==98&&(l0=1);else L!==4&&!(21<=L)&&(l0=1);l0||(Q=1)}if(!Q&&!i0)return Tr(P);var S0=0;if(L===64&&iu(P)&&Yn(1,P)===98){var T0=Or,rr=ar;S0=1}if(!S0)var T0=ar,rr=Or;var R0=FL(P,rr);if(R0)return R0[1];var B=FL(P,T0);return B?B[1]:Tr(P)}),N(x,function(P){return a(e,P,u(i,P))}),N(c,function(P){return cr(0,function(L){L[10]&&Ge(L,91);var Q=pr(L),i0=De(L);V0(L,58);var l0=De(L);if(x2(L))var S0=0,T0=0;else{var rr=fu(L,Xt),R0=N0(L),B=0;if(typeof R0=="number"){var Z=0;if(R0!==86)if(10<=R0)Z=1;else switch(R0){case 0:case 2:case 3:case 4:case 6:Z=1;break}if(!Z){var p0=0;B=1}}if(!B)var p0=1;var b0=rr||p0,O0=b0&&[0,u(x,L)],S0=rr,T0=O0}var q0=T0?0:we(L),er=yt(i0,l0);return[30,[0,T0,lr([0,Q],[0,q0],0),S0,er]]},P)}),N(s,function(P){var L=P[2];switch(L[0]){case 17:var Q=L[1],i0=Q[1][2][1];if(n0(i0,gQr)){if(!n0(i0,FQr)){var l0=n0(Q[2][2][1],TQr);if(!l0)return l0}}else{var S0=n0(Q[2][2][1],OQr);if(!S0)return S0}break;case 10:case 16:break;default:return 0}return 1}),N(p,function(P){var L=N0(P),Q=0;if(typeof L=="number"){var i0=L-67|0;if(!(15>>0)){switch(i0){case 0:var l0=oQr;break;case 1:var l0=cQr;break;case 2:var l0=sQr;break;case 3:var l0=vQr;break;case 4:var l0=lQr;break;case 5:var l0=bQr;break;case 6:var l0=pQr;break;case 7:var l0=mQr;break;case 8:var l0=_Qr;break;case 9:var l0=yQr;break;case 10:var l0=dQr;break;case 11:var l0=hQr;break;case 12:var l0=kQr;break;case 13:var l0=wQr;break;case 14:var l0=EQr;break;default:var l0=SQr}var S0=l0;Q=1}}if(!Q)var S0=0;return S0!==0&&ie(P),S0}),N(y,function(P){var L=De(P),Q=u(E,P);if(N0(P)===85){ie(P);var i0=u(x,Kl(0,P));V0(P,86);var l0=cr(0,x,P),S0=yt(L,l0[1]),T0=l0[2];return[0,[0,S0,[7,[0,a(e,P,Q),i0,T0,0]]]]}return Q}),N(T,function(P){return a(e,P,u(y,P))});function xr(P,L,Q,i0,l0){var S0=a(e,P,L);return[0,[0,l0,[15,[0,i0,S0,a(e,P,Q),0]]]]}function Rr(P,L,Q,i0){for(var l0=P,S0=Q,T0=i0;;){var rr=N0(L);if(typeof rr=="number"&&rr===84){1-l0&&Ge(L,aQr),V0(L,84);var R0=cr(0,h,L),B=R0[2],Z=R0[1],p0=N0(L),b0=0;if(typeof p0=="number"&&!(1<(p0-87|0)>>>0)){Ge(L,[23,sL(p0)]);var O0=Jr(L,B,Z),q0=Wr(L,O0[2],O0[1]),er=q0[2],yr=q0[1];b0=1}if(!b0)var er=B,yr=Z;var vr=yt(T0,yr),l0=1,S0=xr(L,S0,er,2,vr),T0=vr;continue}return[0,T0,S0]}}function Wr(P,L,Q){for(var i0=L,l0=Q;;){var S0=N0(P);if(typeof S0=="number"&&S0===87){ie(P);var T0=cr(0,h,P),rr=Jr(P,T0[2],T0[1]),R0=yt(l0,rr[1]),B=Rr(0,P,xr(P,i0,rr[2],0,R0),R0),i0=B[2],l0=B[1];continue}return[0,l0,i0]}}function Jr(P,L,Q){for(var i0=L,l0=Q;;){var S0=N0(P);if(typeof S0=="number"&&S0===88){ie(P);var T0=cr(0,h,P),rr=yt(l0,T0[1]),R0=Rr(0,P,xr(P,i0,T0[2],1,rr),rr),i0=R0[2],l0=R0[1];continue}return[0,l0,i0]}}N(E,function(P){var L=cr(0,h,P),Q=L[2],i0=L[1],l0=N0(P),S0=0;if(typeof l0=="number"&&l0===84){var rr=Rr(1,P,Q,i0);S0=1}if(!S0)var T0=Jr(P,Q,i0),rr=Wr(P,T0[2],T0[1]);return rr[2]});function or(P,L,Q,i0){return[0,i0,[3,[0,Q,P,L,0]]]}N(h,function(P){var L=0;r:for(;;){var Q=cr(0,function(k){var I=u(w,k)!==0?1:0;return[0,I,u(G,Kl(0,k))]},P),i0=Q[2],l0=i0[2],S0=Q[1];if(N0(P)===98){var T0=0;l0[0]===0&&l0[1][2][0]===12?Ge(P,63):T0=1}var rr=N0(P),R0=0;if(typeof rr=="number"){var B=rr-17|0,Z=0;if(1>>0)if(72<=B)switch(B-72|0){case 0:var p0=BZr;break;case 1:var p0=qZr;break;case 2:var p0=UZr;break;case 3:var p0=HZr;break;case 4:var p0=XZr;break;case 5:var p0=YZr;break;case 6:var p0=VZr;break;case 7:var p0=zZr;break;case 8:var p0=KZr;break;case 9:var p0=WZr;break;case 10:var p0=JZr;break;case 11:var p0=$Zr;break;case 12:var p0=ZZr;break;case 13:var p0=QZr;break;case 14:var p0=rQr;break;case 15:var p0=eQr;break;case 16:var p0=nQr;break;case 17:var p0=tQr;break;case 18:var p0=uQr;break;case 19:var p0=iQr;break;default:Z=1}else Z=1;else var p0=B?fQr:P[12]?0:xQr;if(!Z){var b0=p0;R0=1}}if(!R0)var b0=0;if(b0!==0&&ie(P),!L&&!b0)return l0;if(b0){var O0=b0[1],q0=O0[1],er=i0[1],yr=er&&(q0===14?1:0);yr&&ue(P,[0,S0,27]);for(var vr=a(e,P,l0),$0=vr,Sr=[0,q0,O0[2]],Mr=S0,Br=L;;){var qr=Sr[2],jr=Sr[1];if(Br){var $r=Br[1],ne=$r[2],Qr=ne[2],pe=Qr[0]===0?Qr[1]:Qr[1]-1|0;if(qr[1]<=pe){var oe=yt($r[3],Mr),me=or($r[1],$0,ne[1],oe),$0=me,Sr=[0,jr,qr],Mr=oe,Br=Br[2];continue}}var L=[0,[0,$0,[0,jr,qr],Mr],Br];continue r}}for(var ae=a(e,P,l0),ce=S0,ge=L;;){if(ge){var H0=ge[1],Fr=yt(H0[3],ce),_=ge[2],ae=or(H0[1],ae,H0[2][1],Fr),ce=Fr,ge=_;continue}return[0,ae]}}}),N(w,function(P){var L=N0(P);if(typeof L=="number"){if(48<=L){if(c7<=L){if(!(vf<=L))switch(L-103|0){case 0:return CZr;case 1:return PZr;case 6:return DZr;case 7:return LZr}}else if(L===65&&P[18])return RZr}else if(45<=L)switch(L+mv|0){case 0:return jZr;case 1:return GZr;default:return MZr}}return 0}),N(G,function(P){var L=De(P),Q=pr(P),i0=u(w,P);if(i0){var l0=i0[1];ie(P);var S0=cr(0,A,P),T0=S0[2],rr=yt(L,S0[1]),R0=0;if(l0===6){var B=T0[2],Z=0;switch(B[0]){case 10:Y7(P,[0,rr,47]);break;case 16:B[1][2][0]===1&&ue(P,[0,rr,88]);break;default:Z=1}Z||(R0=1)}return[0,[0,rr,[28,[0,l0,T0,lr([0,Q],0,0)]]]]}var p0=N0(P),b0=0;if(typeof p0=="number")if(vf===p0)var O0=NZr;else if(F7===p0)var O0=AZr;else b0=1;else b0=1;if(b0)var O0=0;if(O0){ie(P);var q0=cr(0,A,P),er=q0[2];1-u(s,er)&&ue(P,[0,er[1],26]);var yr=er[2],vr=0;yr[0]===10&&Bs(yr[1][2][1])&&(Si(P,54),vr=1);var $0=yt(L,q0[1]),Sr=lr([0,Q],0,0);return[0,[0,$0,[29,[0,O0[1],er,1,Sr]]]]}return u(S,P)}),N(A,function(P){return a(e,P,u(G,P))}),N(S,function(P){var L=u(M,P);if(f7(P))return L;var Q=N0(P),i0=0;if(typeof Q=="number")if(vf===Q)var l0=IZr;else if(F7===Q)var l0=OZr;else i0=1;else i0=1;if(i0)var l0=0;if(l0){var S0=a(e,P,L);1-u(s,S0)&&ue(P,[0,S0[1],26]);var T0=S0[2],rr=0;T0[0]===10&&Bs(T0[1][2][1])&&(Si(P,53),rr=1);var R0=De(P);ie(P);var B=we(P),Z=yt(S0[1],R0),p0=lr(0,[0,B],0);return[0,[0,Z,[29,[0,l0[1],S0,0,p0]]]]}return L}),N(M,function(P){var L=De(P),Q=1-P[16],i0=0,l0=P[16]===0?P:[0,P[1],P[2],P[3],P[4],P[5],P[6],P[7],P[8],P[9],P[10],P[11],P[12],P[13],P[14],P[15],i0,P[17],P[18],P[19],P[20],P[21],P[22],P[23],P[24],P[25],P[26],P[27],P[28],P[29],P[30]],S0=N0(l0),T0=0;if(typeof S0=="number"){var rr=S0-44|0;if(!(7>>0)){var R0=0;switch(rr){case 0:if(Q)var B=[0,u(g0,l0)];else R0=1;break;case 6:var B=[0,u(f0,l0)];break;case 7:var B=[0,u(V,l0)];break;default:R0=1}if(!R0){var Z=B;T0=1}}}if(!T0)var Z=qs(l0)?[0,u(t0,l0)]:u(E0,l0);return b7(m0,0,0,l0,L,Z)}),N(K,function(P){return a(e,P,u(M,P))}),N(V,function(P){switch(P[21]){case 0:var L=0,Q=0;break;case 1:var L=0,Q=1;break;default:var L=1,Q=1}var i0=De(P),l0=pr(P);V0(P,51);var S0=[0,i0,[23,[0,lr([0,l0],[0,we(P)],0)]]],T0=N0(P);if(typeof T0=="number"&&!(11<=T0))switch(T0){case 4:var rr=L?S0:(ue(P,[0,i0,5]),[0,i0,[10,Gc(0,[0,i0,EZr])]]);return R(k0,SZr,P,i0,rr);case 6:case 10:var R0=Q?S0:(ue(P,[0,i0,4]),[0,i0,[10,Gc(0,[0,i0,FZr])]]);return R(k0,TZr,P,i0,R0)}return Q?St(gZr,P):ue(P,[0,i0,4]),S0}),N(f0,function(P){return cr(0,function(L){var Q=pr(L),i0=De(L);if(V0(L,50),fu(L,10)){var l0=Gc(0,[0,i0,hZr]),S0=De(L);Zl(L,kZr);var T0=Gc(0,[0,S0,wZr]);return[17,[0,l0,T0,lr([0,Q],[0,we(L)],0)]]}var rr=pr(L);V0(L,4);var R0=ir(s0,[0,rr],0,u(x,Kl(0,L)));return V0(L,5),[11,[0,R0,lr([0,Q],[0,we(L)],0)]]},P)}),N(m0,function(P,L,Q,i0,l0){var S0=P?P[1]:1,T0=L&&L[1],rr=b7(l,[0,S0],[0,T0],Q,i0,l0),R0=oe0(Q),B=0;if(R0){var Z=R0[1];if(typeof Z=="number"&&Z===83){var p0=1;B=1}}if(!B)var p0=0;function b0(vr){var $0=Wt(vr);function Sr(Br,qr){return a(Ze(Br,Di,78),Br,qr)}var Mr=a(e,vr,rr);return a($0[2],Mr,Sr)}function O0(vr,$0,Sr){var Mr=u(x0,$0),Br=Mr[1],qr=yt(i0,Br),jr=[0,Sr,vr,[0,Br,Mr[2]],0],$r=0;if(!p0&&!T0){var ne=[4,jr];$r=1}if(!$r)var ne=[20,[0,jr,qr,p0]];var Qr=T0||p0;return b7(m0,[0,S0],[0,Qr],$0,i0,[0,[0,qr,ne]])}if(Q[13])return rr;var q0=N0(Q);if(typeof q0=="number"){var er=q0-98|0;if(2>>0){if(er===-94)return O0(0,Q,b0(Q))}else if(er!==1&&iu(Q)){var yr=O9(function(vr,$0){throw Hs},Q);return we0(yr,rr,function(vr){var $0=b0(vr);return O0(u(e0,vr),vr,$0)})}}return rr}),N(k0,function(P,L,Q,i0){var l0=P?P[1]:1;return a(e,L,b7(m0,[0,l0],0,L,Q,[0,i0]))}),N(g0,function(P){return cr(0,function(L){var Q=De(L),i0=pr(L);if(V0(L,44),L[11]&&N0(L)===10){var l0=we(L);ie(L);var S0=Gc(lr([0,i0],[0,l0],0),[0,Q,mZr]),T0=N0(L);return typeof T0!="number"&&T0[0]===4&&!n0(T0[3],_Zr)?[17,[0,S0,a(se[13],0,L),0]]:(St(yZr,L),ie(L),[10,S0])}var rr=De(L),R0=N0(L),B=0;if(typeof R0=="number")if(R0===44)var Z=u(g0,L);else if(R0===51)var Z=u(V,hL(1,L));else B=1;else B=1;if(B)var Z=qs(L)?u(t0,L):u(X0,L);var p0=R(c0,dZr,hL(1,L),rr,Z),b0=N0(L),O0=0;if(typeof b0!="number"&&b0[0]===3){var q0=R(G0,L,rr,p0,b0[1]);O0=1}if(!O0)var q0=p0;var er=0;if(N0(L)!==4){var yr=0;if(iu(L)&&N0(L)===98&&(yr=1),!yr){var Sr=q0;er=1}}if(!er)var vr=Wt(L),$0=function(ne,Qr){return a(Ze(ne,Di,79),ne,Qr)},Sr=a(vr[2],q0,$0);var Mr=iu(L),Br=Mr&&we0(O9(function(ne,Qr){throw Hs},L),0,e0),qr=N0(L),jr=0;if(typeof qr=="number"&&qr===4){var $r=[0,u(x0,L)];jr=1}if(!jr)var $r=0;return[18,[0,Sr,Br,$r,lr([0,i0],0,0)]]},P)});function _r(P){var L=pr(P);V0(P,98);for(var Q=0;;){var i0=N0(P);if(typeof i0=="number"){var l0=0;if((i0===99||Pn===i0)&&(l0=1),l0){var S0=de(Q),T0=pr(P);V0(P,99);var rr=N0(P)===4?Wt(P)[1]:we(P);return[0,S0,_u([0,L],[0,rr],T0,0)]}}var R0=N0(P),B=0;if(typeof R0!="number"&&R0[0]===4&&!n0(R0[2],bZr)){var Z=De(P),p0=pr(P);Zl(P,pZr);var b0=[1,[0,Z,[0,lr([0,p0],[0,we(P)],0)]]];B=1}if(!B)var b0=[0,u(ln[1],P)];var O0=[0,b0,Q];N0(P)!==99&&V0(P,9);var Q=O0}}N(e0,function(P){zu(P,1);var L=N0(P)===98?1:0,Q=L&&[0,cr(0,_r,P)];return h7(P),Q});function Ir(P){var L=pr(P);V0(P,12);var Q=u(x,P);return[0,Q,lr([0,L],0,0)]}N(x0,function(P){return cr(0,function(L){var Q=pr(L);V0(L,4);for(var i0=0;;){var l0=N0(L);if(typeof l0=="number"){var S0=0;if((l0===5||Pn===l0)&&(S0=1),S0){var T0=de(i0),rr=pr(L);return V0(L,5),[0,T0,_u([0,Q],[0,we(L)],rr,0)]}}var R0=N0(L),B=0;if(typeof R0=="number"&&R0===12){var Z=[1,cr(0,Ir,L)];B=1}if(!B)var Z=[0,u(x,L)];var p0=[0,Z,i0];N0(L)!==5&&V0(L,9);var i0=p0}},P)}),N(l,function(P,L,Q,i0,l0){var S0=P?P[1]:1,T0=L&&L[1],rr=N0(Q),R0=0;if(typeof rr=="number")switch(rr){case 6:ie(Q);var B=0,Z=[0,T0],p0=[0,S0];R0=2;break;case 10:ie(Q);var b0=0,O0=[0,T0],q0=[0,S0];R0=1;break;case 83:1-S0&&Ge(Q,99),V0(Q,83);var er=0,yr=N0(Q);if(typeof yr=="number")switch(yr){case 4:return l0;case 6:ie(Q);var B=oZr,Z=cZr,p0=[0,S0];R0=2,er=1;break;case 98:if(iu(Q))return l0;break}else if(yr[0]===3)return Ge(Q,ni),l0;if(!er){var b0=sZr,O0=vZr,q0=[0,S0];R0=1}break}else if(rr[0]===3){T0&&Ge(Q,ni);var vr=rr[1];return b7(m0,lZr,0,Q,i0,[0,R(G0,Q,i0,a(e,Q,l0),vr)])}switch(R0){case 0:return l0;case 1:var $0=q0?S0:1,Sr=O0&&O0[1],Mr=b0&&b0[1],Br=N0(Q),qr=0;if(typeof Br=="number"&&Br===14){var jr=Ae0(Q),$r=jr[1],ne=Q[29][1],Qr=jr[2][1];if(ne){var pe=ne[1];Q[29][1]=[0,[0,pe[1],[0,[0,Qr,$r],pe[2]]],ne[2]]}else ue(Q,[0,$r,89]);var me=[1,jr],ae=$r;qr=1}if(!qr)var oe=V7(Q),me=[0,oe],ae=oe[1];var ce=yt(i0,ae),ge=0;l0[0]===0&&l0[1][2][0]===23&&me[0]===1&&(ue(Q,[0,ce,90]),ge=1);var H0=[0,a(e,Q,l0),me,0],Fr=Sr?[21,[0,H0,ce,Mr]]:[16,H0];return b7(m0,[0,$0],[0,Sr],Q,i0,[0,[0,ce,Fr]]);default:var _=p0?S0:1,k=Z&&Z[1],I=B&&B[1],U=hL(0,Q),Y=u(se[7],U),y0=De(Q);V0(Q,7);var D0=we(Q),I0=yt(i0,y0),D=lr(0,[0,D0],0),u0=[0,a(e,Q,l0),[2,Y],D],Y0=k?[21,[0,u0,I0,I]]:[16,u0];return b7(m0,[0,_],[0,k],Q,i0,[0,[0,I0,Y0]])}}),N(c0,function(P,L,Q,i0){var l0=P?P[1]:1;return a(e,L,b7(l,[0,l0],0,L,Q,[0,i0]))}),N(t0,function(P){return cr(0,function(L){var Q=u(Vn[1],L),i0=Q[1],l0=Q[2],S0=cr(0,function(q0){var er=pr(q0);V0(q0,15);var yr=u(Vn[2],q0),vr=yr[1],$0=pl([0,l0,[0,er,[0,yr[2],0]]]);if(N0(q0)===4)var Sr=0,Mr=0;else{var Br=N0(q0),qr=0;if(typeof Br=="number"){var jr=Br!==98?1:0;if(!jr){var ne=jr;qr=1}}if(!qr)var $r=dL(vr,ie0(i0,q0)),ne=[0,ds($r,a(se[13],aZr,$r))];var Sr=xi(q0,u(ln[3],q0)),Mr=ne}var Qr=t2(0,q0),pe=ir(Vn[4],i0,vr,Qr),oe=N0(Qr)===86?pe:eb(Qr,pe),me=u(ln[12],Qr),ae=me[2],ce=me[1];if(ae)var ge=Se0(Qr,ae),H0=ce;else var ge=ae,H0=a2(Qr,ce);return[0,Mr,oe,vr,ge,H0,Sr,$0]},L),T0=S0[2],rr=T0[3],R0=T0[2],B=T0[1],Z=U1(R0),p0=b7(Vn[5],L,i0,rr,1,Z);R(Vn[6],L,p0[2],B,R0);var b0=S0[1],O0=lr([0,T0[7]],0,0);return[8,[0,B,R0,p0[1],i0,rr,T0[4],T0[5],T0[6],O0,b0]]},P)}),N(a0,function(P,L,Q){switch(L){case 1:Si(P,45);try{var i0=jv(Rv(Te(tZr,Q))),l0=i0}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(uZr,Q))}break;case 2:Si(P,46);try{var S0=al(Q),l0=S0}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(iZr,Q))}break;case 4:try{var T0=al(Q),l0=T0}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(fZr,Q))}break;default:try{var rr=jv(Rv(Q)),l0=rr}catch(R0){if(R0=Et(R0),R0[1]!==B7)throw R0;var l0=ke(Te(xZr,Q))}}return V0(P,[0,L,Q]),l0}),N(w0,function(P){var L=nn(P);return L!==0&&Ht===Ot(P,L-1|0)?p7(P,0,L-1|0):P}),N(_0,function(P,L,Q){if(2<=L){var i0=u(w0,Q);try{var l0=al(i0),S0=l0}catch(Z){if(Z=Et(Z),Z[1]!==B7)throw Z;var S0=ke(Te(eZr,i0))}var T0=S0}else{var rr=u(w0,Q);try{var R0=jv(Rv(rr)),B=R0}catch(p0){if(p0=Et(p0),p0[1]!==B7)throw p0;var B=ke(Te(nZr,rr))}var T0=B}return V0(P,[1,L,Q]),T0}),N(E0,function(P){var L=De(P),Q=pr(P),i0=N0(P);if(typeof i0=="number")switch(i0){case 0:var l0=u(se[12],P);return[1,[0,l0[1],[19,l0[2]]],l0[3]];case 4:return[0,u(X,P)];case 6:var S0=cr(0,dr,P),T0=S0[2];return[1,[0,S0[1],[0,T0[1]]],T0[2]];case 21:return ie(P),[0,[0,L,[26,[0,lr([0,Q],[0,we(P)],0)]]]];case 29:return ie(P),[0,[0,L,[14,[0,0,$$r,lr([0,Q],[0,we(P)],0)]]]];case 40:return[0,u(se[22],P)];case 98:var rr=u(se[17],P),R0=rr[2],B=rr[1],Z=Ni<=R0[1]?[13,R0[2]]:[12,R0[2]];return[0,[0,B,Z]];case 30:case 31:ie(P);var p0=i0===31?1:0,b0=p0?Q$r:rZr;return[0,[0,L,[14,[0,[1,p0],b0,lr([0,Q],[0,we(P)],0)]]]];case 74:case 105:return[0,u(Ar,P)]}else switch(i0[0]){case 0:var O0=i0[2],q0=[2,ir(a0,P,i0[1],O0)];return[0,[0,L,[14,[0,q0,O0,lr([0,Q],[0,we(P)],0)]]]];case 1:var er=i0[2],yr=[3,ir(_0,P,i0[1],er)];return[0,[0,L,[14,[0,yr,er,lr([0,Q],[0,we(P)],0)]]]];case 2:var vr=i0[1];vr[4]&&Si(P,45),ie(P);var $0=[0,vr[2]],Sr=lr([0,Q],[0,we(P)],0);return[0,[0,vr[1],[14,[0,$0,vr[3],Sr]]]];case 3:var Mr=a(b,P,i0[1]);return[0,[0,Mr[1],[25,Mr[2]]]]}if(M1(P)){var Br=a(se[13],0,P);return[0,[0,Br[1],[10,Br]]]}St(0,P);var qr=0;return typeof i0!="number"&&i0[0]===6&&(ie(P),qr=1),[0,[0,L,[14,[0,0,Z$r,lr([0,Q],[0,0],0)]]]]}),N(X0,function(P){return a(e,P,u(E0,P))}),N(b,function(P,L){var Q=L[3],i0=L[2],l0=L[1],S0=pr(P);V0(P,[3,L]);var T0=[0,l0,[0,[0,i0[2],i0[1]],Q]];if(Q)var rr=0,R0=[0,T0,0],B=l0;else for(var Z=[0,T0,0],p0=0;;){var b0=u(se[7],P),O0=[0,b0,p0],q0=N0(P),er=0;if(typeof q0=="number"&&q0===1){zu(P,4);var yr=N0(P),vr=0;if(typeof yr!="number"&&yr[0]===3){var $0=yr[1],Sr=$0[3],Mr=$0[2],Br=$0[1];ie(P);var qr=[0,[0,Mr[2],Mr[1]],Sr];h7(P);var jr=[0,[0,Br,qr],Z];if(!Sr){var Z=jr,p0=O0;continue}var $r=de(O0),ne=[0,Br,de(jr),$r];er=1,vr=1}if(!vr)throw[0,wn,K$r]}if(!er){St(W$r,P);var Qr=[0,b0[1],J$r],pe=de(O0),oe=de([0,Qr,Z]),ne=[0,b0[1],oe,pe]}var rr=ne[3],R0=ne[2],B=ne[1];break}var me=we(P),ae=yt(l0,B);return[0,ae,[0,R0,rr,lr([0,S0],[0,me],0)]]}),N(G0,function(P,L,Q,i0){var l0=Wt(P);function S0(R0,B){return a(Ze(R0,Di,28),R0,B)}var T0=a(l0[2],Q,S0),rr=a(b,P,i0);return[0,yt(L,rr[1]),[24,[0,T0,rr,0]]]}),N(X,function(P){var L=pr(P),Q=cr(0,function(T0){V0(T0,4);var rr=De(T0),R0=u(x,T0),B=N0(T0),Z=0;if(typeof B=="number")if(B===9)var p0=[0,ir(W0,T0,rr,[0,R0,0])];else if(B===86)var p0=[1,[0,R0,u(ln[9],T0),0]];else Z=1;else Z=1;if(Z)var p0=[0,R0];return V0(T0,5),p0},P),i0=Q[2],l0=we(P),S0=i0[0]===0?i0[1]:[0,Q[1],[27,i0[1]]];return ir(s0,[0,L],[0,l0],S0)}),N(s0,function(P,L,Q){var i0=Q[2],l0=P&&P[1],S0=L&&L[1];function T0(We){return _7(We,lr([0,l0],[0,S0],0))}function rr(We){return QD(We,lr([0,l0],[0,S0],0))}switch(i0[0]){case 0:var R0=i0[1],B=rr(R0[2]),Ce=[0,[0,R0[1],B]];break;case 1:var Z=i0[1],p0=Z[10],b0=T0(Z[9]),Ce=[1,[0,Z[1],Z[2],Z[3],Z[4],Z[5],Z[6],Z[7],Z[8],b0,p0]];break;case 2:var O0=i0[1],q0=T0(O0[4]),Ce=[2,[0,O0[1],O0[2],O0[3],q0]];break;case 3:var er=i0[1],yr=T0(er[4]),Ce=[3,[0,er[1],er[2],er[3],yr]];break;case 4:var vr=i0[1],$0=T0(vr[4]),Ce=[4,[0,vr[1],vr[2],vr[3],$0]];break;case 5:var Sr=i0[1],Mr=T0(Sr[7]),Ce=[5,[0,Sr[1],Sr[2],Sr[3],Sr[4],Sr[5],Sr[6],Mr]];break;case 7:var Br=i0[1],qr=T0(Br[4]),Ce=[7,[0,Br[1],Br[2],Br[3],qr]];break;case 8:var jr=i0[1],$r=jr[10],ne=T0(jr[9]),Ce=[8,[0,jr[1],jr[2],jr[3],jr[4],jr[5],jr[6],jr[7],jr[8],ne,$r]];break;case 10:var Qr=i0[1],pe=Qr[2],oe=T0(pe[2]),Ce=[10,[0,Qr[1],[0,pe[1],oe]]];break;case 11:var me=i0[1],ae=T0(me[2]),Ce=[11,[0,me[1],ae]];break;case 12:var ce=i0[1],ge=T0(ce[4]),Ce=[12,[0,ce[1],ce[2],ce[3],ge]];break;case 13:var H0=i0[1],Fr=T0(H0[4]),Ce=[13,[0,H0[1],H0[2],H0[3],Fr]];break;case 14:var _=i0[1],k=T0(_[3]),Ce=[14,[0,_[1],_[2],k]];break;case 15:var I=i0[1],U=T0(I[4]),Ce=[15,[0,I[1],I[2],I[3],U]];break;case 16:var Y=i0[1],y0=T0(Y[3]),Ce=[16,[0,Y[1],Y[2],y0]];break;case 17:var D0=i0[1],I0=T0(D0[3]),Ce=[17,[0,D0[1],D0[2],I0]];break;case 18:var D=i0[1],u0=T0(D[4]),Ce=[18,[0,D[1],D[2],D[3],u0]];break;case 19:var Y0=i0[1],J0=rr(Y0[2]),Ce=[19,[0,Y0[1],J0]];break;case 20:var fr=i0[1],Q0=fr[1],F0=fr[3],gr=fr[2],mr=T0(Q0[4]),Ce=[20,[0,[0,Q0[1],Q0[2],Q0[3],mr],gr,F0]];break;case 21:var Cr=i0[1],sr=Cr[1],Pr=Cr[3],K0=Cr[2],Ur=T0(sr[3]),Ce=[21,[0,[0,sr[1],sr[2],Ur],K0,Pr]];break;case 22:var d0=i0[1],Kr=T0(d0[2]),Ce=[22,[0,d0[1],Kr]];break;case 23:var Ce=[23,[0,T0(i0[1][1])]];break;case 24:var re=i0[1],xe=T0(re[3]),Ce=[24,[0,re[1],re[2],xe]];break;case 25:var je=i0[1],ve=T0(je[3]),Ce=[25,[0,je[1],je[2],ve]];break;case 26:var Ce=[26,[0,T0(i0[1][1])]];break;case 27:var Ie=i0[1],Me=T0(Ie[3]),Ce=[27,[0,Ie[1],Ie[2],Me]];break;case 28:var Be=i0[1],fn=T0(Be[3]),Ce=[28,[0,Be[1],Be[2],fn]];break;case 29:var Ke=i0[1],Ae=T0(Ke[4]),Ce=[29,[0,Ke[1],Ke[2],Ke[3],Ae]];break;case 30:var xn=i0[1],Qe=xn[4],yn=xn[3],on=T0(xn[2]),Ce=[30,[0,xn[1],on,yn,Qe]];break;default:var Ce=i0}return[0,Q[1],Ce]}),N(dr,function(P){var L=pr(P);V0(P,6);for(var Q=[0,0,t[3]];;){var i0=Q[2],l0=Q[1],S0=N0(P);if(typeof S0=="number"){var T0=0;if(13<=S0)Pn===S0&&(T0=1);else if(7<=S0)switch(S0-7|0){case 2:var rr=De(P);ie(P);var Q=[0,[0,[2,rr],l0],i0];continue;case 5:var R0=pr(P),B=cr(0,function(Qr){ie(Qr);var pe=u(i,Qr);return pe[0]===0?[0,pe[1],t[3]]:[0,pe[1],pe[2]]},P),Z=B[2],p0=Z[2],b0=B[1],O0=lr([0,R0],0,0),q0=[1,[0,b0,[0,Z[1],O0]]],er=N0(P)===7?1:0,yr=0;if(!er&&Yn(1,P)===7){var vr=[0,p0[1],[0,[0,b0,65],p0[2]]];yr=1}if(!yr)var vr=p0;1-er&&V0(P,9);var Q=[0,[0,q0,l0],a(t[5],vr,i0)];continue;case 0:T0=1;break}if(T0){var $0=u(t[6],i0),Sr=de(l0),Mr=pr(P);return V0(P,7),[0,[0,Sr,_u([0,L],[0,we(P)],Mr,0)],$0]}}var Br=u(i,P);if(Br[0]===0)var qr=t[3],jr=Br[1];else var qr=Br[2],jr=Br[1];N0(P)!==7&&V0(P,9);var Q=[0,[0,[0,jr],l0],a(t[5],qr,i0)]}}),N(Ar,function(P){zu(P,5);var L=De(P),Q=pr(P),i0=N0(P),l0=0;if(typeof i0!="number"&&i0[0]===5){var S0=i0[3],T0=i0[2];ie(P);var rr=we(P),R0=rr,B=S0,Z=T0,p0=Te(H$r,Te(T0,Te(U$r,S0)));l0=1}if(!l0){St(X$r,P);var R0=0,B=Y$r,Z=V$r,p0=z$r}h7(P);var b0=$n(nn(B)),O0=nn(B)-1|0,q0=0;if(!(O0<0))for(var er=q0;;){var yr=Vr(B,er),vr=yr-100|0,$0=0;if(!(21>>0))switch(vr){case 0:case 3:case 5:case 9:case 15:case 17:case 21:qi(b0,yr),$0=1;break}var Sr=er+1|0;if(O0!==er){var er=Sr;continue}break}var Mr=Gt(b0);return n0(Mr,B)&&Ge(P,[13,B]),[0,L,[14,[0,[4,[0,Z,Mr]],p0,lr([0,Q],[0,R0],0)]]]});function fe(P,L){if(typeof L=="number"){var Q=0;if(61<=L){var i0=L-64|0;27>>0?i0===43&&(Q=1):25<(i0-1|0)>>>0&&(Q=1)}else{var l0=L+hy|0;17>>0?-1<=l0&&(Q=1):l0===13&&(Q=1)}if(Q)return 0}throw Hs}function v0(P){var L=N0(P);if(typeof L=="number"&&!L){var Q=a(se[16],1,P);return[0,[0,Q[1]],Q[2]]}return[0,[1,u(se[10],P)],0]}return N(ar,function(P){var L=O9(fe,P),Q=De(L);if(Yn(1,L)===11)var l0=0,S0=0;else var i0=u(Vn[1],L),l0=i0[2],S0=i0[1];var T0=cr(0,function(ne){var Qr=xi(ne,u(ln[3],ne));if(M1(ne)&&Qr===0){var pe=a(se[13],q$r,ne),oe=pe[1],me=[0,oe,[0,[0,oe,[2,[0,pe,[0,G1(ne)],0]]],0]];return[0,Qr,[0,oe,[0,0,[0,me,0],0,0]],[0,[0,oe[1],oe[3],oe[3]]],0]}var ae=ir(Vn[4],ne[18],ne[17],ne),ce=u2(1,ne),ge=u(ln[12],ce);return[0,Qr,ae,ge[1],ge[2]]},L),rr=T0[2],R0=rr[2],B=R0[2],Z=0;if(!B[1]){var p0=0;if(!B[3]&&B[2]&&(p0=1),!p0){var b0=ce0(L);Z=1}}if(!Z)var b0=L;var O0=R0[2],q0=O0[1],er=q0?(ue(b0,[0,q0[1][1],Qc]),[0,R0[1],[0,0,O0[2],O0[3],O0[4]]]):R0,yr=U1(er),vr=f7(b0),$0=vr&&(N0(b0)===11?1:0);$0&&Ge(b0,60),V0(b0,11);var Sr=se0(ce0(b0),S0,0,yr),Mr=cr(0,v0,Sr),Br=Mr[2];R(Vn[6],Sr,Br[2],0,er);var qr=yt(Q,Mr[1]),jr=T0[1],$r=lr([0,l0],0,0);return[0,[0,qr,[1,[0,0,er,Br[1],S0,0,rr[4],rr[3],rr[1],$r,jr]]]]}),N(W0,function(P,L,Q){return cr([0,L],function(i0){for(var l0=Q;;){var S0=N0(i0);if(typeof S0=="number"&&S0===9){ie(i0);var l0=[0,u(x,i0),l0];continue}return[22,[0,de(l0),0]]}},P)}),[0,x,i,T,n,K,a0,W0]}(j9),Ys=function(t){function n(e0){var x0=pr(e0);ie(e0);var l=lr([0,x0],0,0),c0=u(oi[5],e0),t0=f7(e0)?rb(e0):C9(e0);function a0(w0,_0){return a(Ze(w0,Di,80),w0,_0)}return[0,a(t0[2],c0,a0),l]}function e(e0){var x0=e0[27][2];if(x0)for(var l=0;;){var c0=N0(e0);if(typeof c0=="number"&&c0===13){var l=[0,cr(0,n,e0),l];continue}return de(l)}return x0}function i(e0,x0){var l=e0&&e0[1],c0=pr(x0),t0=N0(x0);if(typeof t0=="number")switch(t0){case 6:var a0=cr(0,function(Jr){var or=pr(Jr);V0(Jr,6);var _r=Kl(0,Jr),Ir=u(se[10],_r);return V0(Jr,7),[0,Ir,lr([0,or],[0,we(Jr)],0)]},x0),w0=a0[1];return[0,w0,[3,[0,w0,a0[2]]]];case 14:if(l){var _0=Ae0(x0),E0=x0[29][1],X0=_0[2][1];if(E0){var b=E0[1],G0=E0[2],X=b[2],s0=[0,[0,a(Gu[4],X0,b[1]),X],G0];x0[29][1]=s0}else ke(tGr);return[0,_0[1],[2,_0]]}var dr=cr(0,function(Jr){return ie(Jr),[1,V7(Jr)]},x0),Ar=dr[1];return ue(x0,[0,Ar,89]),[0,Ar,dr[2]]}else switch(t0[0]){case 0:var ar=t0[2],W0=De(x0),Lr=[2,ir(oi[6],x0,t0[1],ar)];return[0,W0,[0,[0,W0,[0,Lr,ar,lr([0,c0],[0,we(x0)],0)]]]];case 2:var Tr=t0[1],Hr=Tr[4],Or=Tr[3],xr=Tr[2],Rr=Tr[1];return Hr&&Si(x0,45),V0(x0,[2,[0,Rr,xr,Or,Hr]]),[0,Rr,[0,[0,Rr,[0,[0,xr],Or,lr([0,c0],[0,we(x0)],0)]]]]}var Wr=V7(x0);return[0,Wr[1],[1,Wr]]}function x(e0,x0,l){var c0=u(Vn[2],e0),t0=c0[1],a0=c0[2],w0=i([0,x0],e0),_0=w0[1],E0=0,X0=Xi(e0,w0[2]);return[0,X0,cr(0,function(b){var G0=t2(1,b),X=cr(0,function(Tr){var Hr=ir(Vn[4],0,0,Tr),Or=0,xr=N0(Tr)===86?Hr:eb(Tr,Hr);if(l){var Rr=xr[2],Wr=0;if(Rr[1])ue(Tr,[0,_0,R7]),Wr=1;else{var Jr=0;!Rr[2]&&!Rr[3]&&(Wr=1,Jr=1),Jr||ue(Tr,[0,_0,80])}}else{var or=xr[2];if(or[1])ue(Tr,[0,_0,Xt]);else{var _r=or[2],Ir=0;(!_r||_r[2]||or[3])&&(Ir=1),Ir&&(or[3]?ue(Tr,[0,_0,81]):ue(Tr,[0,_0,81]))}}return[0,Or,xr,a2(Tr,u(ln[10],Tr))]},G0),s0=X[2],dr=s0[2],Ar=U1(dr),ar=b7(Vn[5],G0,E0,t0,0,Ar);R(Vn[6],G0,ar[2],0,dr);var W0=X[1],Lr=lr([0,a0],0,0);return[0,0,dr,ar[1],E0,t0,0,s0[3],s0[1],Lr,W0]},e0)]}function c(e0){var x0=u(oi[2],e0);return x0[0]===0?[0,x0[1],t[3]]:[0,x0[1],x0[2]]}function s(e0,x0){switch(x0[0]){case 0:var l=x0[1],c0=l[1];return ue(e0,[0,c0,95]),[0,c0,[14,l[2]]];case 1:var t0=x0[1],a0=t0[2][1],w0=t0[1],_0=0;return SL(a0)&&n0(a0,o0e)&&n0(a0,c0e)&&(ue(e0,[0,w0,2]),_0=1),!_0&&f2(a0)&&Y7(e0,[0,w0,55]),[0,w0,[10,t0]];case 2:return ke(s0e);default:var E0=x0[1][2][1];return ue(e0,[0,E0[1],96]),E0}}function p(e0,x0,l){function c0(a0){var w0=t2(1,a0),_0=cr(0,function(dr){var Ar=xi(dr,u(ln[3],dr));if(e0)if(x0)var ar=1,W0=1;else var ar=dr[18],W0=0;else if(x0)var ar=0,W0=1;else var ar=0,W0=0;var Lr=ir(Vn[4],ar,W0,dr),Tr=N0(dr)===86?Lr:eb(dr,Lr);return[0,Ar,Tr,a2(dr,u(ln[10],dr))]},w0),E0=_0[2],X0=E0[2],b=U1(X0),G0=b7(Vn[5],w0,e0,x0,0,b);R(Vn[6],w0,G0[2],0,X0);var X=_0[1],s0=lr([0,l],0,0);return[0,0,X0,G0[1],e0,x0,0,E0[3],E0[1],s0,X]}var t0=0;return function(a0){return cr(t0,c0,a0)}}function y(e0){return V0(e0,86),c(e0)}function T(e0,x0,l,c0,t0,a0){var w0=cr([0,x0],function(E0){if(!c0&&!t0){var X0=N0(E0);if(typeof X0=="number"){var b=0;if(86<=X0){if(X0===98)b=1;else if(!(87<=X0)){var G0=y(E0);return[0,[0,l,G0[1],0],G0[2]]}}else{if(X0===82){if(l[0]===1)var X=l[1],s0=De(E0),dr=function(Rr){var Wr=pr(Rr);V0(Rr,82);var Jr=we(Rr),or=a(se[19],Rr,[0,X[1],[10,X]]),_r=u(se[10],Rr);return[2,[0,0,or,_r,lr([0,Wr],[0,Jr],0)]]},Ar=cr([0,X[1]],dr,E0),ar=[0,Ar,[0,[0,[0,s0,[10,Ml(a0e)]],0],0]];else var ar=y(E0);return[0,[0,l,ar[1],1],ar[2]]}if(!(10<=X0))switch(X0){case 4:b=1;break;case 1:case 9:var W0=[0,l,s(E0,l),1];return[0,W0,t[3]]}}if(b){var Lr=Xi(E0,l),Tr=[1,Lr,u(p(c0,t0,a0),E0)];return[0,Tr,t[3]]}}var Hr=[0,l,s(E0,l),1];return[0,Hr,t[3]]}var Or=Xi(E0,l),xr=[1,Or,u(p(c0,t0,a0),E0)];return[0,xr,t[3]]},e0),_0=w0[2];return[0,[0,[0,w0[1],_0[1]]],_0[2]]}function E(e0){var x0=cr(0,function(c0){var t0=pr(c0);V0(c0,0);for(var a0=0,w0=[0,0,t[3]];;){var _0=w0[2],E0=w0[1],X0=N0(c0);if(typeof X0=="number"){var b=0;if((X0===1||Pn===X0)&&(b=1),b){var G0=a0?[0,_0[1],[0,[0,a0[1],98],_0[2]]]:_0,X=u(t[6],G0),s0=de(E0),dr=pr(c0);return V0(c0,1),[0,[0,s0,_u([0,t0],[0,we(c0)],dr,0)],X]}}if(N0(c0)===12)var Ar=pr(c0),ar=cr(0,function(y0){return V0(y0,12),c(y0)},c0),W0=ar[2],Lr=W0[2],Tr=lr([0,Ar],0,0),Hr=[0,[1,[0,ar[1],[0,W0[1],Tr]]],Lr];else{var Or=De(c0),xr=Yn(1,c0),Rr=0;if(typeof xr=="number"){var Wr=0;if(86<=xr)xr!==98&&87<=xr&&(Wr=1);else if(xr!==82)if(10<=xr)Wr=1;else switch(xr){case 1:case 4:case 9:break;default:Wr=1}if(!Wr){var or=0,_r=0;Rr=1}}if(!Rr)var Jr=u(Vn[1],c0),or=Jr[2],_r=Jr[1];var Ir=u(Vn[2],c0),fe=Ir[1],v0=un(or,Ir[2]),P=N0(c0),L=0;if(!_r&&!fe&&typeof P!="number"&&P[0]===4){var Q=P[3],i0=0;if(n0(Q,f0e))if(n0(Q,x0e))i0=1;else{var l0=pr(c0),S0=i(0,c0)[2],T0=N0(c0),rr=0;if(typeof T0=="number"){var R0=0;if(86<=T0)T0!==98&&87<=T0&&(R0=1);else if(T0!==82)if(10<=T0)R0=1;else switch(T0){case 1:case 4:case 9:break;default:R0=1}if(!R0){var B=T(c0,Or,S0,0,0,0);rr=1}}if(!rr){Xi(c0,S0);var Z=t[3],p0=cr([0,Or],function(I0){return x(I0,0,0)},c0),b0=p0[2],O0=lr([0,l0],0,0),B=[0,[0,[0,p0[1],[3,b0[1],b0[2],O0]]],Z]}var q0=B}else{var er=pr(c0),yr=i(0,c0)[2],vr=N0(c0),$0=0;if(typeof vr=="number"){var Sr=0;if(86<=vr)vr!==98&&87<=vr&&(Sr=1);else if(vr!==82)if(10<=vr)Sr=1;else switch(vr){case 1:case 4:case 9:break;default:Sr=1}if(!Sr){var Mr=T(c0,Or,yr,0,0,0);$0=1}}if(!$0){Xi(c0,yr);var Br=t[3],qr=cr([0,Or],function(D){return x(D,0,1)},c0),jr=qr[2],$r=lr([0,er],0,0),Mr=[0,[0,[0,qr[1],[2,jr[1],jr[2],$r]]],Br]}var q0=Mr}if(!i0){var ne=q0;L=1}}if(!L)var ne=T(c0,Or,i(0,c0)[2],_r,fe,v0);var Hr=ne}var Qr=Hr[1],pe=0;if(Qr[0]===1&&N0(c0)===9){var oe=[0,De(c0)];pe=1}if(!pe)var oe=0;var me=a(t[5],Hr[2],_0),ae=N0(c0),ce=0;if(typeof ae=="number"){var ge=ae-2|0,H0=0;if(Ht>>0?F7<(ge+1|0)>>>0&&(H0=1):ge===7?ie(c0):H0=1,!H0){var Fr=me;ce=1}}if(!ce){var _=vL(LRr,9),k=ye0([0,_],N0(c0)),I=[0,De(c0),k];fu(c0,8);var Fr=a(t[4],I,me)}var a0=oe,w0=[0,[0,Qr,E0],Fr]}},e0),l=x0[2];return[0,x0[1],l[1],l[2]]}function h(e0,x0,l,c0){var t0=l[2][1],a0=l[1];if(qn(t0,i0e))return ue(e0,[0,a0,[21,t0,0,uV===c0?1:0,1]]),x0;var w0=a(R9[32],t0,x0);if(w0){var _0=w0[1],E0=0;return TE===c0?Id===_0&&(E0=1):Id===c0&&TE===_0&&(E0=1),E0||ue(e0,[0,a0,[20,t0]]),ir(R9[4],t0,QX,x0)}return ir(R9[4],t0,c0,x0)}function w(e0,x0){return cr(0,function(l){var c0=x0&&pr(l);V0(l,52);for(var t0=0;;){var a0=[0,cr(0,function(E0){var X0=u(ln[2],E0);if(N0(E0)===98)var b=Wt(E0),G0=function(s0,dr){return a(Ze(s0,Nv,81),s0,dr)},X=a(b[2],X0,G0);else var X=X0;return[0,X,u(ln[4],E0)]},l),t0],w0=N0(l);if(typeof w0=="number"&&w0===9){V0(l,9);var t0=a0;continue}var _0=de(a0);return[0,_0,lr([0,c0],0,0)]}},e0)}function G(e0,x0){return x0&&ue(e0,[0,x0[1][1],7])}function A(e0,x0){return x0&&ue(e0,[0,x0[1],68])}function S(e0,x0,l,c0,t0,a0,w0,_0,E0,X0){for(;;){var b=N0(e0),G0=0;if(typeof b=="number"){var X=b-1|0,s0=0;if(7>>0){var dr=X-81|0;if(4>>0)s0=1;else switch(dr){case 3:St(0,e0),ie(e0);continue;case 0:case 4:break;default:s0=1}}else 5<(X-1|0)>>>0||(s0=1);!s0&&!t0&&!a0&&(G0=1)}if(!G0){var Ar=N0(e0),ar=0;if(typeof Ar=="number"){var W0=0;if(Ar!==4&&Ar!==98&&(ar=1,W0=1),!W0)var Tr=0}else ar=1;if(ar)var Lr=x2(e0),Tr=Lr&&1;if(!Tr){A(e0,_0),G(e0,E0);var Hr=0;if(!w0){var Or=0;switch(c0[0]){case 0:var xr=c0[1][2][1],Rr=0;typeof xr!="number"&&xr[0]===0&&(n0(xr[1],ZQr)&&(Or=1),Rr=1),Rr||(Or=1);break;case 1:n0(c0[1][2][1],QQr)&&(Or=1);break;default:Or=1}if(!Or){var Wr=t2(2,e0),Jr=0;Hr=1}}if(!Hr)var Wr=t2(1,e0),Jr=1;var or=Xi(Wr,c0),_r=cr(0,function(S0){var T0=cr(0,function(p0){var b0=xi(p0,u(ln[3],p0));if(t0)if(a0)var O0=1,q0=1;else var O0=p0[18],q0=0;else if(a0)var O0=0,q0=1;else var O0=0,q0=0;var er=ir(Vn[4],O0,q0,p0),yr=N0(p0)===86?er:eb(p0,er),vr=yr[2],$0=vr[1],Sr=0;if($0&&Jr===0){ue(p0,[0,$0[1][1],fs]);var Mr=[0,yr[1],[0,0,vr[2],vr[3],vr[4]]];Sr=1}if(!Sr)var Mr=yr;return[0,b0,Mr,a2(p0,u(ln[10],p0))]},S0),rr=T0[2],R0=rr[2],B=U1(R0),Z=b7(Vn[5],S0,t0,a0,0,B);return R(Vn[6],S0,Z[2],0,R0),[0,0,R0,Z[1],t0,a0,0,rr[3],rr[1],0,T0[1]]},Wr),Ir=[0,Jr,or,_r,w0,l,lr([0,X0],0,0)];return[0,[0,yt(x0,_r[1]),Ir]]}}var fe=cr([0,x0],function(S0){var T0=u(ln[10],S0),rr=N0(S0);if(_0){var R0=0;if(typeof rr=="number"&&rr===82){Ge(S0,69),ie(S0);var B=0}else R0=1;if(R0)var B=0}else{var Z=0;if(typeof rr=="number"&&rr===82){ie(S0);var p0=t2(1,S0),B=[0,u(se[7],p0)]}else Z=1;if(Z)var B=1}var b0=N0(S0),O0=0;if(typeof b0=="number"&&!(9<=b0))switch(b0){case 8:ie(S0);var q0=N0(S0),er=0;if(typeof q0=="number"){var yr=0;if(q0!==1&&Pn!==q0&&(er=1,yr=1),!yr)var $0=we(S0)}else er=1;if(er)var vr=f7(S0),$0=vr&&Us(S0);var Sr=[0,c0,T0,B,$0];O0=1;break;case 4:case 6:St(0,S0);var Sr=[0,c0,T0,B,0];O0=1;break}if(!O0){var Mr=N0(S0),Br=0;if(typeof Mr=="number"){var qr=0;if(Mr!==1&&Pn!==Mr&&(Br=1,qr=1),!qr)var jr=[0,0,function(H0,Fr){return H0}]}else Br=1;if(Br)var jr=f7(S0)?rb(S0):C9(S0);if(typeof B=="number")if(T0[0]===0)var $r=function(_,k){return a(Ze(_,VY,83),_,k)},pe=B,oe=T0,me=a(jr[2],c0,$r);else var ne=function(_,k){return a(Ze(_,NE,84),_,k)},pe=B,oe=[1,a(jr[2],T0[1],ne)],me=c0;else var Qr=function(ge,H0){return a(Ze(ge,Di,85),ge,H0)},pe=[0,a(jr[2],B[1],Qr)],oe=T0,me=c0;var Sr=[0,me,oe,pe,0]}var ae=lr([0,X0],[0,Sr[4]],0);return[0,Sr[1],Sr[2],Sr[3],ae]},e0),v0=fe[2],P=v0[4],L=v0[3],Q=v0[2],i0=v0[1],l0=fe[1];return i0[0]===2?[2,[0,l0,[0,i0[1],L,Q,w0,E0,P]]]:[1,[0,l0,[0,i0,L,Q,w0,E0,P]]]}}function M(e0,x0){var l=Yn(e0,x0);if(typeof l=="number"){var c0=0;if(86<=l)(l===98||!(87<=l))&&(c0=1);else if(l===82)c0=1;else if(!(9<=l))switch(l){case 1:case 4:case 8:c0=1;break}if(c0)return 1}return 0}var K=0;function V(e0){return M(K,e0)}function f0(e0,x0,l,c0){var t0=e0&&e0[1],a0=ys(1,x0),w0=un(t0,e(a0)),_0=pr(a0);V0(a0,40);var E0=T9(1,a0),X0=N0(E0),b=0;if(l&&typeof X0=="number"){var G0=0;if(52<=X0?X0!==98&&53<=X0&&(G0=1):X0!==41&&X0&&(G0=1),!G0){var Ar=0;b=1}}if(!b)if(M1(a0))var X=a(se[13],0,E0),s0=Wt(a0),dr=function(v0,P){return a(Ze(v0,Nv,88),v0,P)},Ar=[0,a(s0[2],X,dr)];else{de0(a0,VQr);var Ar=[0,[0,De(a0),zQr]]}var ar=u(ln[3],a0);if(ar)var W0=Wt(a0),Lr=function(v0,P){return a(Ze(v0,_F,86),v0,P)},Tr=[0,a(W0[2],ar[1],Lr)];else var Tr=ar;var Hr=pr(a0),Or=fu(a0,41);if(Or)var xr=cr(0,function(v0){var P=dL(0,v0),L=u(oi[5],P);if(N0(v0)===98)var Q=Wt(v0),i0=function(T0,rr){return a(Ze(T0,Di,82),T0,rr)},l0=a(Q[2],L,i0);else var l0=L;var S0=u(ln[4],v0);return[0,l0,S0,lr([0,Hr],0,0)]},a0),Rr=xr[1],Wr=Wt(a0),Jr=function(v0,P){return ir(Ze(v0,-663447790,87),v0,Rr,P)},or=[0,[0,Rr,a(Wr[2],xr[2],Jr)]];else var or=Or;var _r=N0(a0)===52?1:0;if(_r){1-iu(a0)&&Ge(a0,16);var Ir=[0,Fe0(a0,w(a0,1))]}else var Ir=_r;var fe=cr(0,function(v0){var P=pr(v0);if(fu(v0,0)){v0[29][1]=[0,[0,Gu[1],0],v0[29][1]];for(var L=0,Q=R9[1],i0=0;;){var l0=N0(v0);if(typeof l0=="number"){var S0=l0-2|0;if(Ht>>0){if(!(F7<(S0+1|0)>>>0)){var T0=de(i0),rr=function(xu,Mu){return u(ml(function(z7){return 1-a(Gu[3],z7[1],xu)}),Mu)},R0=v0[29][1];if(R0){var B=R0[1],Z=B[1];if(R0[2]){var p0=R0[2],b0=rr(Z,B[2]),O0=bl(p0),q0=bz(p0),er=un(O0[2],b0);v0[29][1]=[0,[0,O0[1],er],q0]}else{var yr=rr(Z,B[2]);Pu(function(xu){return ue(v0,[0,xu[2],[22,xu[1]]])},yr),v0[29][1]=0}}else ke(uGr);V0(v0,1);var vr=N0(v0),$0=0;if(!c0){var Sr=0;if(typeof vr=="number"&&(vr===1||Pn===vr)&&(Sr=1),!Sr){var Mr=f7(v0);if(Mr){var Br=Us(v0);$0=1}else{var Br=Mr;$0=1}}}if(!$0)var Br=we(v0);return[0,T0,lr([0,P],[0,Br],0)]}}else if(S0===6){V0(v0,8);continue}}var qr=De(v0),jr=e(v0),$r=N0(v0),ne=0;if(typeof $r=="number"&&$r===60&&!M(1,v0)){var Qr=[0,De(v0)],pe=pr(v0);ie(v0);var oe=pe,me=Qr;ne=1}if(!ne)var oe=0,me=0;var ae=Yn(1,v0)!==4?1:0;if(ae)var ce=Yn(1,v0)!==98?1:0,ge=ce&&(N0(v0)===42?1:0);else var ge=ae;if(ge){var H0=pr(v0);ie(v0);var Fr=H0}else var Fr=ge;var _=N0(v0)===64?1:0;if(_)var k=1-M(1,v0),I=k&&1-Jl(1,v0);else var I=_;if(I){var U=pr(v0);ie(v0);var Y=U}else var Y=I;var y0=u(Vn[2],v0),D0=y0[1],I0=ir(Vn[3],v0,I,D0),D=0;if(!D0&&I0){var u0=u(Vn[2],v0),Y0=u0[2],J0=u0[1];D=1}if(!D)var Y0=y0[2],J0=D0;var fr=pl([0,oe,[0,Fr,[0,Y,[0,Y0,0]]]]),Q0=N0(v0),F0=0;if(!I&&!J0&&typeof Q0!="number"&&Q0[0]===4){var gr=Q0[3];if(n0(gr,r0e)){if(!n0(gr,e0e)){var mr=pr(v0),Cr=i(n0e,v0)[2];if(V(v0)){var Ie=S(v0,qr,jr,Cr,I,J0,ge,me,I0,fr);F0=1}else{A(v0,me),G(v0,I0),Xi(v0,Cr);var sr=un(fr,mr),Pr=cr([0,qr],function(Mu){return x(Mu,1,0)},v0),K0=Pr[2],Ur=lr([0,sr],0,0),Ie=[0,[0,Pr[1],[0,3,K0[1],K0[2],ge,jr,Ur]]];F0=1}}}else{var d0=pr(v0),Kr=i(t0e,v0)[2];if(V(v0)){var Ie=S(v0,qr,jr,Kr,I,J0,ge,me,I0,fr);F0=1}else{A(v0,me),G(v0,I0),Xi(v0,Kr);var re=un(fr,d0),xe=cr([0,qr],function(Mu){return x(Mu,1,1)},v0),je=xe[2],ve=lr([0,re],0,0),Ie=[0,[0,xe[1],[0,2,je[1],je[2],ge,jr,ve]]];F0=1}}}if(!F0)var Ie=S(v0,qr,jr,i(u0e,v0)[2],I,J0,ge,me,I0,fr);switch(Ie[0]){case 0:var Me=Ie[1],Be=Me[2];switch(Be[1]){case 0:if(Be[4])var Ft=Q,Nt=L;else{L&&ue(v0,[0,Me[1],87]);var Ft=Q,Nt=1}break;case 1:var fn=Be[2],Ke=fn[0]===2?h(v0,Q,fn[1],uV):Q,Ft=Ke,Nt=L;break;case 2:var Ae=Be[2],xn=Ae[0]===2?h(v0,Q,Ae[1],TE):Q,Ft=xn,Nt=L;break;default:var Qe=Be[2],yn=Qe[0]===2?h(v0,Q,Qe[1],Id):Q,Ft=yn,Nt=L}break;case 1:var on=Ie[1][2],Ce=on[4],We=on[1],rn=0;switch(We[0]){case 0:var bn=We[1],Cn=bn[2][1],Hn=0;if(typeof Cn!="number"&&Cn[0]===0){var vt=Cn[1],At=bn[1];rn=1,Hn=1}Hn||(rn=2);break;case 1:var Sn=We[1],vt=Sn[2][1],At=Sn[1];rn=1;break;case 2:ke(KQr);break;default:rn=2}switch(rn){case 1:var gt=qn(vt,WQr);if(gt)var Bt=gt;else var Jt=qn(vt,JQr),Bt=Jt&&Ce;Bt&&ue(v0,[0,At,[21,vt,Ce,0,0]]);break;case 2:break}var Ft=Q,Nt=L;break;default:var Ft=h(v0,Q,Ie[1][2][1],QX),Nt=L}var L=Nt,Q=Ft,i0=[0,Ie,i0]}}return q1(v0,0),$Qr},a0);return[0,Ar,fe,Tr,or,Ir,w0,lr([0,_0],0,0)]}function m0(e0,x0){return cr(0,function(l){return[2,f0([0,x0],l,l[7],0)]},e0)}function k0(e0){return[5,f0(0,e0,1,1)]}var g0=0;return[0,i,E,m0,function(e0){return cr(g0,k0,e0)},w,e]}(j9),dt=function(t){function n(_){var k=u(Vn[10],_);if(_[5])B1(_,k[1]);else{var I=k[2],U=0;if(I[0]===23){var Y=I[1],y0=k[1],D0=0;Y[4]?ue(_,[0,y0,61]):Y[5]?ue(_,[0,y0,62]):(U=1,D0=1)}else U=1}return k}function e(_,k,I){var U=I[2][1],Y=I[1];if(n0(U,lre)){if(n0(U,bre))return n0(U,pre)?f2(U)?Y7(k,[0,Y,55]):SL(U)?ue(k,[0,Y,[10,Ml(U)]]):_&&Bs(U)?Y7(k,[0,Y,_[1]]):0:k[17]?ue(k,[0,Y,2]):Y7(k,[0,Y,55]);if(k[5])return Y7(k,[0,Y,55]);var y0=k[14];return y0&&ue(k,[0,Y,[10,Ml(U)]])}var D0=k[18];return D0&&ue(k,[0,Y,2])}function i(_,k){var I=k[4],U=k[3],Y=k[2],y0=k[1];I&&Si(_,45);var D0=pr(_);return V0(_,[2,[0,y0,Y,U,I]]),[0,y0,[0,Y,U,lr([0,D0],[0,we(_)],0)]]}function x(_,k,I){var U=_?_[1]:cre,Y=k?k[1]:1,y0=N0(I);if(typeof y0=="number"){var D0=y0-2|0;if(Ht>>0){if(!(F7<(D0+1|0)>>>0)){var I0=function(Y0,J0){return Y0};return[1,[0,we(I),I0]]}}else if(D0===6){ie(I);var D=N0(I);if(typeof D=="number"){var u0=0;if((D===1||Pn===D)&&(u0=1),u0)return[0,we(I)]}return f7(I)?[0,Us(I)]:sre}}return f7(I)?[1,rb(I)]:(Y&&St([0,U],I),vre)}function c(_){var k=N0(_);if(typeof k=="number"){var I=0;if((k===1||Pn===k)&&(I=1),I){var U=function(Y,y0){return Y};return[0,we(_),U]}}return f7(_)?rb(_):C9(_)}function s(_,k,I){var U=x(0,0,k);if(U[0]===0)return[0,U[1],I];var Y=de(I);if(Y)var y0=function(D,u0){return ir(Ze(D,634872468,89),D,_,u0)},D0=a(U[1][2],Y[1],y0),I0=de([0,D0,Y[2]]);else var I0=Y;return[0,0,I0]}var p=function _(k){return _.fun(k)},y=function _(k){return _.fun(k)},T=function _(k){return _.fun(k)},E=function _(k){return _.fun(k)},h=function _(k){return _.fun(k)},w=function _(k,I){return _.fun(k,I)},G=function _(k){return _.fun(k)},A=function _(k){return _.fun(k)},S=function _(k,I,U){return _.fun(k,I,U)},M=function _(k){return _.fun(k)},K=function _(k){return _.fun(k)},V=function _(k,I){return _.fun(k,I)},f0=function _(k){return _.fun(k)},m0=function _(k){return _.fun(k)},k0=function _(k,I){return _.fun(k,I)},g0=function _(k){return _.fun(k)},e0=function _(k,I){return _.fun(k,I)},x0=function _(k){return _.fun(k)},l=function _(k,I){return _.fun(k,I)},c0=function _(k){return _.fun(k)},t0=function _(k,I){return _.fun(k,I)},a0=function _(k,I){return _.fun(k,I)},w0=function _(k,I){return _.fun(k,I)},_0=function _(k){return _.fun(k)},E0=function _(k){return _.fun(k)},X0=function _(k,I,U){return _.fun(k,I,U)},b=function _(k,I){return _.fun(k,I)},G0=function _(k,I){return _.fun(k,I)},X=function _(k){return _.fun(k)};function s0(_){var k=pr(_);V0(_,59);var I=N0(_)===8?1:0,U=I&&we(_),Y=x(0,0,_),y0=Y[0]===0?Y[1]:Y[1][1];return[4,[0,lr([0,k],[0,un(U,y0)],0)]]}var dr=0;function Ar(_){return cr(dr,s0,_)}function ar(_){var k=pr(_);V0(_,37);var I=zl(1,_),U=u(se[2],I),Y=1-_[5],y0=Y&&nb(U);y0&&B1(_,U[1]);var D0=we(_);V0(_,25);var I0=we(_);V0(_,4);var D=u(se[7],_);V0(_,5);var u0=N0(_)===8?1:0,Y0=u0&&we(_),J0=x(0,ore,_),fr=J0[0]===0?un(Y0,J0[1]):J0[1][1];return[14,[0,U,D,lr([0,k],[0,un(D0,un(I0,fr))],0)]]}var W0=0;function Lr(_){return cr(W0,ar,_)}function Tr(_,k,I){var U=I[2][1];if(U&&!U[1][2][2]){var Y=U[2];if(!Y)return Y}return ue(_,[0,I[1],k])}function Hr(_,k){var I=1-_[5],U=I&&nb(k);return U&&B1(_,k[1])}function Or(_){var k=pr(_);V0(_,39);var I=_[18],U=I&&fu(_,65),Y=un(k,pr(_));V0(_,4);var y0=lr([0,Y],0,0),D0=Kl(1,_),I0=N0(D0),D=0;if(typeof I0=="number")if(24<=I0)if(29<=I0)D=1;else switch(I0-24|0){case 0:var u0=cr(0,Vn[9],D0),Y0=u0[2],J0=lr([0,Y0[2]],0,0),Pr=Y0[3],K0=[0,[1,[0,u0[1],[0,Y0[1],0,J0]]]];break;case 3:var fr=cr(0,Vn[8],D0),Q0=fr[2],F0=lr([0,Q0[2]],0,0),Pr=Q0[3],K0=[0,[1,[0,fr[1],[0,Q0[1],2,F0]]]];break;case 4:var gr=cr(0,Vn[7],D0),mr=gr[2],Cr=lr([0,mr[2]],0,0),Pr=mr[3],K0=[0,[1,[0,gr[1],[0,mr[1],1,Cr]]]];break;default:D=1}else if(I0===8)var Pr=0,K0=0;else D=1;else D=1;if(D)var sr=T9(1,D0),Pr=0,K0=[0,[0,u(se[8],sr)]];var Ur=N0(_);if(typeof Ur=="number"){if(Ur===17){if(K0){var d0=K0[1];if(d0[0]===0)var Kr=[1,ir(t[2],xre,_,d0[1])];else{var re=d0[1];Tr(_,28,re);var Kr=[0,re]}U?V0(_,63):V0(_,17);var xe=u(se[7],_);V0(_,5);var je=zl(1,_),ve=u(se[2],je);return Hr(_,ve),[21,[0,Kr,xe,ve,0,y0]]}throw[0,wn,are]}if(Ur===63){if(K0){var Ie=K0[1];if(Ie[0]===0)var Me=[1,ir(t[2],ire,_,Ie[1])];else{var Be=Ie[1];Tr(_,29,Be);var Me=[0,Be]}V0(_,63);var fn=u(se[10],_);V0(_,5);var Ke=zl(1,_),Ae=u(se[2],Ke);return Hr(_,Ae),[22,[0,Me,fn,Ae,U,y0]]}throw[0,wn,fre]}}if(Pu(function(gt){return ue(_,gt)},Pr),U?V0(_,63):V0(_,8),K0)var xn=K0[1],Qe=xn[0]===0?[0,[1,a(t[1],_,xn[1])]]:[0,[0,xn[1]]],yn=Qe;else var yn=K0;var on=N0(_),Ce=0;if(typeof on=="number"){var We=on!==8?1:0;if(!We){var rn=We;Ce=1}}if(!Ce)var rn=[0,u(se[7],_)];V0(_,8);var bn=N0(_),Cn=0;if(typeof bn=="number"){var Hn=bn!==5?1:0;if(!Hn){var Sn=Hn;Cn=1}}if(!Cn)var Sn=[0,u(se[7],_)];V0(_,5);var vt=zl(1,_),At=u(se[2],vt);return Hr(_,At),[20,[0,yn,rn,Sn,At,y0]]}var xr=0;function Rr(_){return cr(xr,Or,_)}function Wr(_){var k=qs(_)?n(_):u(se[2],_),I=1-_[5],U=I&&nb(k);return U&&B1(_,k[1]),k}function Jr(_){var k=pr(_);V0(_,43);var I=Wr(_);return[0,I,lr([0,k],0,0)]}function or(_){var k=pr(_);V0(_,16);var I=un(k,pr(_));V0(_,4);var U=u(se[7],_);V0(_,5);var Y=Wr(_),y0=N0(_)===43?1:0,D0=y0&&[0,cr(0,Jr,_)];return[24,[0,U,Y,D0,lr([0,I],0,0)]]}var _r=0;function Ir(_){return cr(_r,or,_)}function fe(_){1-_[11]&&Ge(_,36);var k=pr(_),I=De(_);V0(_,19);var U=N0(_)===8?1:0,Y=U&&we(_),y0=0;if(N0(_)!==8&&!x2(_)){var D0=[0,u(se[7],_)];y0=1}if(!y0)var D0=0;var I0=yt(I,De(_)),D=x(0,0,_),u0=0;if(D[0]===0)var Y0=D[1];else{var J0=D[1];if(D0){var fr=function(sr,Pr){return a(Ze(sr,Di,90),sr,Pr)},Q0=[0,a(J0[2],D0[1],fr)],F0=Y;u0=1}else var Y0=J0[1]}if(!u0)var Q0=D0,F0=un(Y,Y0);return[28,[0,Q0,lr([0,k],[0,F0],0),I0]]}var v0=0;function P(_){return cr(v0,fe,_)}function L(_){var k=pr(_);V0(_,20),V0(_,4);var I=u(se[7],_);V0(_,5),V0(_,0);for(var U=ure;;){var Y=U[2],y0=N0(_);if(typeof y0=="number"){var D0=0;if((y0===1||Pn===y0)&&(D0=1),D0){var I0=de(Y);V0(_,1);var D=c(_),u0=I[1];return[29,[0,I,I0,lr([0,k],[0,D[1]],0),u0]]}}var Y0=U[1],J0=OL(0,function(Q0){return function(F0){var gr=pr(F0),mr=N0(F0),Cr=0;if(typeof mr=="number"&&mr===36){Q0&&Ge(F0,32),V0(F0,36);var sr=we(F0),Pr=0;Cr=1}if(!Cr){V0(F0,33);var sr=0,Pr=[0,u(se[7],F0)]}var K0=Q0||(Pr===0?1:0);V0(F0,86);var Ur=un(sr,c(F0)[1]);function d0(je){if(typeof je=="number"){var ve=je-1|0,Ie=0;if(32>>0?ve===35&&(Ie=1):30<(ve-1|0)>>>0&&(Ie=1),Ie)return 1}return 0}var Kr=1,re=F0[9]===1?F0:[0,F0[1],F0[2],F0[3],F0[4],F0[5],F0[6],F0[7],F0[8],Kr,F0[10],F0[11],F0[12],F0[13],F0[14],F0[15],F0[16],F0[17],F0[18],F0[19],F0[20],F0[21],F0[22],F0[23],F0[24],F0[25],F0[26],F0[27],F0[28],F0[29],F0[30]],xe=a(se[4],d0,re);return[0,[0,Pr,xe,lr([0,gr],[0,Ur],0)],K0]}}(Y0),_),U=[0,J0[2],[0,J0[1],Y]]}}var Q=0;function i0(_){return cr(Q,L,_)}function l0(_){var k=pr(_),I=De(_);V0(_,22),f7(_)&&ue(_,[0,I,21]);var U=u(se[7],_),Y=x(0,0,_);if(Y[0]===0)var D0=U,I0=Y[1];else var y0=function(D,u0){return a(Ze(D,Di,91),D,u0)},D0=a(Y[1][2],U,y0),I0=0;return[30,[0,D0,lr([0,k],[0,I0],0)]]}var S0=0;function T0(_){return cr(S0,l0,_)}function rr(_){var k=pr(_);V0(_,23);var I=u(se[15],_);if(N0(_)===34)var U=Wt(_),Y=function(sr,Pr){var K0=Pr[1];return[0,K0,ir(Ze(sr,V8,29),sr,K0,Pr[2])]},y0=a(U[2],I,Y);else var y0=I;var D0=N0(_),I0=0;if(typeof D0=="number"&&D0===34){var D=[0,cr(0,function(Pr){var K0=pr(Pr);V0(Pr,34);var Ur=we(Pr),d0=N0(Pr)===4?1:0;if(d0){V0(Pr,4);var Kr=[0,a(se[18],Pr,39)];V0(Pr,5);var re=Kr}else var re=d0;var xe=u(se[15],Pr);if(N0(Pr)===38)var Ie=xe;else var je=c(Pr),ve=function(Me,Be){var fn=Be[1];return[0,fn,ir(Ze(Me,V8,92),Me,fn,Be[2])]},Ie=a(je[2],xe,ve);return[0,re,Ie,lr([0,K0],[0,Ur],0)]},_)];I0=1}if(!I0)var D=0;var u0=N0(_),Y0=0;if(typeof u0=="number"&&u0===38){V0(_,38);var J0=u(se[15],_),fr=J0[1],Q0=c(_),F0=function(Pr,K0){return ir(Ze(Pr,V8,93),Pr,fr,K0)},gr=[0,[0,fr,a(Q0[2],J0[2],F0)]];Y0=1}if(!Y0)var gr=0;var mr=D===0?1:0,Cr=mr&&(gr===0?1:0);return Cr&&ue(_,[0,y0[1],33]),[31,[0,y0,D,gr,lr([0,k],0,0)]]}var R0=0;function B(_){return cr(R0,rr,_)}function Z(_){var k=u(Vn[9],_),I=s(0,_,k[1]),U=0,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var p0=0;function b0(_){return cr(p0,Z,_)}function O0(_){var k=u(Vn[8],_),I=s(2,_,k[1]),U=2,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var q0=0;function er(_){return cr(q0,O0,_)}function yr(_){var k=u(Vn[7],_),I=s(1,_,k[1]),U=1,Y=k[3];Pu(function(D0){return ue(_,D0)},Y);var y0=lr([0,k[2]],[0,I[1]],0);return[34,[0,I[2],U,y0]]}var vr=0;function $0(_){return cr(vr,yr,_)}function Sr(_){var k=pr(_);V0(_,25);var I=un(k,pr(_));V0(_,4);var U=u(se[7],_);V0(_,5);var Y=zl(1,_),y0=u(se[2],Y),D0=1-_[5],I0=D0&&nb(y0);return I0&&B1(_,y0[1]),[35,[0,U,y0,lr([0,I],0,0)]]}var Mr=0;function Br(_){return cr(Mr,Sr,_)}function qr(_){var k=pr(_),I=u(se[7],_),U=N0(_),Y=I[2];if(Y[0]===10&&typeof U=="number"&&U===86){var y0=Y[1],D0=y0[2][1];V0(_,86),a(Gu[3],D0,_[3])&&ue(_,[0,I[1],[16,nre,D0]]);var I0=_[30],D=_[29],u0=_[28],Y0=_[27],J0=_[26],fr=_[25],Q0=_[24],F0=_[23],gr=_[22],mr=_[21],Cr=_[20],sr=_[19],Pr=_[18],K0=_[17],Ur=_[16],d0=_[15],Kr=_[14],re=_[13],xe=_[12],je=_[11],ve=_[10],Ie=_[9],Me=_[8],Be=_[7],fn=_[6],Ke=_[5],Ae=_[4],xn=a(Gu[4],D0,_[3]),Qe=[0,_[1],_[2],xn,Ae,Ke,fn,Be,Me,Ie,ve,je,xe,re,Kr,d0,Ur,K0,Pr,sr,Cr,mr,gr,F0,Q0,fr,J0,Y0,u0,D,I0],yn=qs(Qe)?n(Qe):u(se[2],Qe);return[27,[0,y0,yn,lr([0,k],0,0)]]}var on=x(tre,0,_);if(on[0]===0)var We=I,rn=on[1];else var Ce=function(bn,Cn){return a(Ze(bn,Di,94),bn,Cn)},We=a(on[1][2],I,Ce),rn=0;return[19,[0,We,0,lr(0,[0,rn],0)]]}var jr=0;function $r(_){return cr(jr,qr,_)}function ne(_){var k=u(se[7],_),I=x(ere,0,_);if(I[0]===0)var Y=k,y0=I[1];else var U=function(sr,Pr){return a(Ze(sr,Di,95),sr,Pr)},Y=a(I[1][2],k,U),y0=0;var D0=_[19];if(D0){var I0=Y[2],D=0;if(I0[0]===14){var u0=I0[1],Y0=0,J0=u0[1];if(typeof J0!="number"&&J0[0]===0){var fr=u0[2],Q0=1>>0))switch(K0){case 21:var Ur=un(I0,pr(D0)),d0=cr(0,function(Nt){return V0(Nt,36)},D0),Kr=ae0(1,D0),re=N0(Kr),xe=0;if(typeof re=="number")if(re===15)var je=0,ve=je,Ie=[0,[1,cr(0,function(Nt){return a(e0,0,Nt)},Kr)]];else if(re===40)var ve=0,Ie=[0,[2,cr(0,u(k0,0),Kr)]];else xe=1;else xe=1;if(xe){var Me=u(ln[1],Kr),Be=x(0,0,Kr);if(Be[0]===0)var Ae=Be[1],xn=Me;else var fn=0,Ke=function(Ku,lt){return a(Ze(Ku,_v,Pn),Ku,lt)},Ae=fn,xn=a(Be[1][2],Me,Ke);var ve=Ae,Ie=[0,[3,xn]]}var Qe=lr([0,Ur],[0,ve],0);return[6,[0,[0,d0[1]],Ie,0,0,Qe]];case 0:case 9:case 12:case 13:case 25:var yn=N0(D0);if(typeof yn=="number"){var on=0;if(25<=yn)if(29<=yn){if(yn===40){var Ce=[0,[2,cr(0,u(k0,0),D0)]];on=1}}else 27<=yn&&(on=2);else if(yn===15){var Ce=[0,[1,cr(0,function(du){return a(e0,0,du)},D0)]];on=1}else 24<=yn&&(on=2);var We=0;switch(on){case 0:break;case 2:var rn=0;typeof yn=="number"?yn===27?Ge(D0,72):yn===28?Ge(D0,71):rn=1:rn=1;var Ce=[0,[0,cr(0,function(du){return a(l,du,0)},D0)]];We=1;break;default:We=1}if(We)return[6,[0,0,Ce,0,0,lr([0,I0],0,0)]]}throw[0,wn,E0e]}}var bn=N0(D0),Cn=0;typeof bn=="number"?bn===53?Ge(D0,74):bn===61?Ge(D0,73):Cn=1:Cn=1,V0(D0,0);var Hn=ir(X0,0,D0,0);V0(D0,1);var Sn=N0(D0),vt=0;if(typeof Sn!="number"&&Sn[0]===4&&!n0(Sn[3],w0e)){var At=u(E0,D0),gt=At[2],Jt=[0,At[1]];vt=1}if(!vt){a(b,D0,Hn);var Bt=x(0,0,D0),Ft=Bt[0]===0?Bt[1]:Bt[1][1],gt=Ft,Jt=0}return[6,[0,0,0,[0,[0,Hn]],Jt,lr([0,I0],[0,gt],0)]]}var U=0;return function(Y){return cr(U,I,Y)}}),[0,Rr,Ir,$0,B,Br,E,h,y,T,Ar,w0,X,M,Lr,p,G0,pe,Fr,m0,$r,K,P,i0,T0,A,b0,er]}(j9),He0=function(t){var n=function y(T,E){return y.fun(T,E)},e=function y(T,E){return y.fun(T,E)},i=function y(T,E){return y.fun(T,E)};N(n,function(y,T){for(var E=T[2],h=E[2],w=o2(y),G=0,A=E[1];;){if(A){var S=A[1];if(S[0]===0){var M=S[1],K=M[2];switch(K[0]){case 0:var V=K[2],f0=K[1];switch(f0[0]){case 0:var m0=[0,f0[1]];break;case 1:var m0=[1,f0[1]];break;case 2:var m0=ke(y0e);break;default:var m0=[2,f0[1]]}var k0=V[2],g0=0;if(k0[0]===2){var e0=k0[1];if(!e0[1]){var x0=[0,e0[3]],l=e0[2];g0=1}}if(!g0)var x0=0,l=a(i,y,V);var c0=[0,[0,[0,M[1],[0,m0,l,x0,K[3]]]],G];break;case 1:ue(y,[0,K[2][1],97]);var c0=G;break;default:ue(y,[0,K[2][1],d0e]);var c0=G}var G=c0,A=A[2];continue}var t0=S[1],a0=t0[1];if(A[2]){ue(y,[0,a0,66]);var A=A[2];continue}var w0=t0[2],_0=w0[2],G=[0,[1,[0,a0,[0,a(i,y,w0[1]),_0]]],G],A=0;continue}var E0=[0,[0,de(G),w,h]];return[0,T[1],E0]}});function x(y,T){return u(se[23],T)?[0,a(i,y,T)]:(ue(y,[0,T[1],26]),0)}N(e,function(y,T){for(var E=T[2],h=E[2],w=o2(y),G=0,A=E[1];;){if(A){var S=A[1];switch(S[0]){case 0:var M=S[1],K=M[2];if(K[0]===2){var V=K[1];if(!V[1]){var G=[0,[0,[0,M[1],[0,V[2],[0,V[3]]]]],G],A=A[2];continue}}var f0=x(y,M);if(f0)var m0=f0[1],k0=[0,[0,[0,m0[1],[0,m0,0]]],G];else var k0=G;var G=k0,A=A[2];continue;case 1:var g0=S[1],e0=g0[1];if(A[2]){ue(y,[0,e0,65]);var A=A[2];continue}var x0=g0[2],l=x(y,x0[1]),c0=l?[0,[1,[0,e0,[0,l[1],x0[2]]]],G]:G,G=c0,A=0;continue;default:var G=[0,[2,S[1]],G],A=A[2];continue}}var t0=[1,[0,de(G),w,h]];return[0,T[1],t0]}}),N(i,function(y,T){var E=T[2],h=T[1];switch(E[0]){case 0:return a(e,y,[0,h,E[1]]);case 10:var w=E[1],G=w[2][1],A=w[1],S=0;if(y[5]&&Bs(G)?ue(y,[0,A,52]):S=1,S&&1-y[5]){var M=0;if(y[17]&&qn(G,m0e)?ue(y,[0,A,93]):M=1,M){var K=y[18],V=K&&qn(G,_0e);V&&ue(y,[0,A,92])}}return[0,h,[2,[0,w,o2(y),0]]];case 19:return a(n,y,[0,h,E[1]]);default:return[0,h,[3,[0,h,E]]]}});function c(y){function T(w){var G=N0(w);return typeof G=="number"&&G===82?(V0(w,82),[0,u(se[10],w)]):0}function E(w){var G=pr(w);V0(w,0);for(var A=0,S=0,M=0;;){var K=N0(w);if(typeof K=="number"){var V=0;if((K===1||Pn===K)&&(V=1),V){S&&ue(w,[0,S[1],98]);var f0=de(M),m0=pr(w);V0(w,1);var k0=we(w),g0=N0(w)===86?[1,u(t[9],w)]:o2(w);return[0,[0,f0,g0,_u([0,G],[0,k0],m0,0)]]}}if(N0(w)===12)var e0=pr(w),x0=cr(0,function(Jr){return V0(Jr,12),p(Jr,y)},w),l=lr([0,e0],0,0),c0=[0,[1,[0,x0[1],[0,x0[2],l]]]];else{var t0=De(w),a0=a(se[20],0,w),w0=N0(w),_0=0;if(typeof w0=="number"&&w0===86){V0(w,86);var E0=cr([0,t0],function(or){var _r=p(or,y);return[0,_r,T(or)]},w),X0=E0[2],b=a0[2];switch(b[0]){case 0:var G0=[0,b[1]];break;case 1:var G0=[1,b[1]];break;case 2:var G0=ke(v0e);break;default:var G0=[2,b[1]]}var c0=[0,[0,[0,E0[1],[0,G0,X0[1],X0[2],0]]]]}else _0=1;if(_0){var X=a0[2];if(X[0]===1){var s0=X[1],dr=s0[2][1],Ar=s0[1],ar=0;SL(dr)&&n0(dr,b0e)&&n0(dr,p0e)&&(ue(w,[0,Ar,2]),ar=1),!ar&&f2(dr)&&Y7(w,[0,Ar,55]);var W0=cr([0,t0],function(or,_r){return function(Ir){var fe=[0,_r,[2,[0,or,o2(Ir),0]]];return[0,fe,T(Ir)]}}(s0,Ar),w),Lr=W0[2],c0=[0,[0,[0,W0[1],[0,[1,s0],Lr[1],Lr[2],1]]]]}else{St(l0e,w);var c0=0}}}if(c0){var Tr=c0[1],Hr=A?(ue(w,[0,Tr[1][1],66]),0):S;if(Tr[0]===0)var Rr=Hr,Wr=A;else var Or=N0(w)===9?1:0,xr=Or&&[0,De(w)],Rr=xr,Wr=1;N0(w)!==1&&V0(w,9);var A=Wr,S=Rr,M=[0,Tr,M];continue}}}var h=0;return function(w){return cr(h,E,w)}}function s(y){function T(h){var w=pr(h);V0(h,6);for(var G=0;;){var A=N0(h);if(typeof A=="number"){var S=0;if(13<=A)Pn===A&&(S=1);else if(7<=A)switch(A-7|0){case 2:var M=De(h);V0(h,9);var G=[0,[2,M],G];continue;case 5:var K=pr(h),V=cr(0,function(_0){return V0(_0,12),p(_0,y)},h),f0=V[1],m0=lr([0,K],0,0),k0=[1,[0,f0,[0,V[2],m0]]];N0(h)!==7&&(ue(h,[0,f0,65]),N0(h)===9&&ie(h));var G=[0,k0,G];continue;case 0:S=1;break}if(S){var g0=de(G),e0=pr(h);V0(h,7);var x0=N0(h)===86?[1,u(t[9],h)]:o2(h);return[1,[0,g0,x0,_u([0,w],[0,we(h)],e0,0)]]}}var l=cr(0,function(w0){var _0=p(w0,y),E0=N0(w0),X0=0;if(typeof E0=="number"&&E0===82){V0(w0,82);var b=[0,u(se[10],w0)];X0=1}if(!X0)var b=0;return[0,_0,b]},h),c0=l[2],t0=[0,[0,l[1],[0,c0[1],c0[2]]]];N0(h)!==7&&V0(h,9);var G=[0,t0,G]}}var E=0;return function(h){return cr(E,T,h)}}function p(y,T){var E=N0(y);if(typeof E=="number"){if(E===6)return u(s(T),y);if(!E)return u(c(T),y)}var h=ir(se[14],y,0,T);return[0,h[1],[2,h[2]]]}return[0,n,e,i,c,s,p]}(ln),dne=lne(se),hne=ln[9];function Xe0(t,n){var e=N0(n),i=0;if(typeof e=="number"?e===28?n[5]?Ge(n,55):n[14]&&St(0,n):e===58?n[17]?Ge(n,2):n[5]&&Ge(n,55):e===65?n[18]&&Ge(n,2):i=1:i=1,i)if(EL(e))Si(n,55);else{var x=0;if(typeof e=="number")switch(e){case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 43:case 44:case 45:case 46:case 47:case 49:case 50:case 51:case 58:case 59:case 65:var c=1;x=1;break}else if(e[0]===4&&ve0(e[3])){var c=1;x=1}if(!x)var c=0;var s=0;if(c)var p=c;else{var y=wL(e);if(y)var p=y;else{var T=0;if(typeof e=="number")switch(e){case 29:case 30:case 31:break;default:T=1}else if(e[0]===4){var E=e[3];n0(E,ijr)&&n0(E,fjr)&&n0(E,xjr)&&(T=1)}else T=1;if(T){var h=0;s=1}else var p=1}}if(!s)var h=p;if(h)St(0,n);else{var w=0;t&&le0(e)?Si(n,t[1]):w=1}}return V7(n)}var Ye0=function t(n){return t.fun(n)},BL=function t(n,e,i){return t.fun(n,e,i)},qL=function t(n){return t.fun(n)},Ve0=function t(n,e){return t.fun(n,e)},UL=function t(n,e){return t.fun(n,e)},HL=function t(n,e){return t.fun(n,e)},G9=function t(n,e){return t.fun(n,e)},xb=function t(n,e){return t.fun(n,e)},M9=function t(n){return t.fun(n)},ze0=function t(n){return t.fun(n)},Ke0=function t(n){return t.fun(n)},We0=function t(n,e,i){return t.fun(n,e,i)},Je0=function t(n){return t.fun(n)},$e0=function t(n){return t.fun(n)},Ze0=Ys[3],kne=oi[3],wne=oi[1],Ene=oi[5],Sne=Ys[2],gne=Ys[1],Fne=Ys[4],Tne=oi[4],One=oi[6],Ine=dne[13],Ane=He0[6],Nne=He0[3];N(Ye0,function(t){var n=pr(t),e=de(n),i=5;r:for(;;){if(e)for(var x=e[2],c=e[1],s=c[2],p=c[1],y=s[2],T=0,E=nn(y);;){if(E<(T+5|0))var h=0;else{var w=qn(p7(y,T,i),RRr);if(!w){var T=T+1|0;continue}var h=w}if(!h){var e=x;continue r}t[30][1]=p[3];var G=de([0,[0,p,s],x]);break}else var G=e;if(G===0){var A=0;if(n){var S=n[1],M=S[2];if(!M[1]){var K=M[2],V=0;if(1<=nn(K)&&Ot(K,0)===42){t[30][1]=S[1][3];var f0=[0,S,0];A=1,V=1}}}if(!A)var f0=0}else var f0=G;var m0=a(Ve0,t,function(c0){return 0}),k0=De(t);V0(t,Pn);var g0=Gu[1];if(be(function(c0,t0){var a0=t0[2];switch(a0[0]){case 17:return fb(t,c0,Gc(0,[0,a0[1][1],Ere]));case 18:var w0=a0[1],_0=w0[1];if(_0){if(!w0[2]){var E0=_0[1],X0=E0[2],b=0;switch(X0[0]){case 34:var G0=X0[1][1],X=0,s0=be(function(Tr,Hr){return be(ML,Tr,[0,Hr[2][1],0])},X,G0);return be(function(Tr,Hr){return fb(t,Tr,Hr)},c0,s0);case 2:case 23:var dr=X0[1][1];if(dr)var Ar=dr[1];else b=1;break;case 16:case 26:case 32:case 33:var Ar=X0[1][1];break;default:b=1}return b?c0:fb(t,c0,Gc(0,[0,E0[1],Ar[2][1]]))}}else{var ar=w0[2];if(ar){var W0=ar[1];if(W0[0]===0){var Lr=W0[1];return be(function(Tr,Hr){var Or=Hr[2],xr=Or[2];return xr?fb(t,Tr,xr[1]):fb(t,Tr,Or[1])},c0,Lr)}return c0}}return c0;default:return c0}},g0,m0),m0)var e0=bl(de(m0))[1],x0=yt(bl(m0)[1],e0);else var x0=k0;var l=de(t[2][1]);return[0,x0,[0,m0,lr([0,f0],0,0),l]]}}),N(BL,function(t,n,e){for(var i=fe0(1,t),x=hre;;){var c=x[3],s=x[2],p=x[1],y=N0(i),T=0;if(typeof y=="number"&&Pn===y)var E=[0,i,p,s,c];else T=1;if(T)if(u(n,y))var E=[0,i,p,s,c];else{var h=0;if(typeof y=="number"||y[0]!==2)h=1;else{var w=u(e,i),G=[0,w,s],A=w[2];if(A[0]===19){var S=A[1][2];if(S){var M=qn(S[1],dre),K=M&&1-i[20];K&&ue(i,[0,w[1],43]);var V=M?ys(1,i):i,f0=[0,y,p],m0=c||M,i=V,x=[0,f0,G,m0];continue}}var E=[0,i,p,G,c]}if(h)var E=[0,i,p,s,c]}var k0=fe0(0,i),g0=de(p);return Pu(function(e0){if(typeof e0!="number"&&e0[0]===2){var x0=e0[1],l=x0[4];return l&&Y7(k0,[0,x0[1],45])}return ke(Te(wre,Te(Tr0(e0),kre)))},g0),[0,k0,E[3],c]}}),N(qL,function(t){var n=u(Ys[6],t),e=N0(t);if(typeof e=="number"){var i=e-49|0;if(!(11>>0))switch(i){case 0:return a(dt[16],n,t);case 1:u(N9(t),n);var x=Yn(1,t);if(typeof x=="number"){var c=0;if((x===4||x===10)&&(c=1),c)return u(dt[17],t)}return u(dt[18],t);case 11:if(Yn(1,t)===49)return u(N9(t),n),a(dt[12],0,t);break}}return a(xb,[0,n],t)}),N(Ve0,function(t,n){var e=ir(BL,t,n,qL),i=a(UL,n,e[1]),x=e[2];return be(function(c,s){return[0,s,c]},i,x)}),N(UL,function(t,n){for(var e=0;;){var i=N0(n);if(typeof i=="number"&&Pn===i||u(t,i))return de(e);var e=[0,u(qL,n),e]}}),N(HL,function(t,n){var e=ir(BL,n,t,function(s){return a(xb,0,s)}),i=a(G9,t,e[1]),x=e[2],c=be(function(s,p){return[0,p,s]},i,x);return[0,c,e[3]]}),N(G9,function(t,n){for(var e=0;;){var i=N0(n);if(typeof i=="number"&&Pn===i||u(t,i))return de(e);var e=[0,a(xb,0,n),e]}}),N(xb,function(t,n){var e=t&&t[1];1-$l(n)&&u(N9(n),e);var i=N0(n);if(typeof i=="number"){if(i===27)return u(dt[27],n);if(i===28)return u(dt[3],n)}if(qs(n))return u(Vn[10],n);if($l(n))return a(Ze0,n,e);if(typeof i=="number"){var x=i+zt|0;if(!(14>>0))switch(x){case 0:if(n[27][1])return u(Vn[11],n);break;case 5:return u(dt[19],n);case 12:return a(dt[11],0,n);case 13:return u(dt[25],n);case 14:return u(dt[21],n)}}return u(M9,n)}),N(M9,function(t){var n=N0(t);if(typeof n=="number")switch(n){case 0:return u(dt[7],t);case 8:return u(dt[15],t);case 19:return u(dt[22],t);case 20:return u(dt[23],t);case 22:return u(dt[24],t);case 23:return u(dt[4],t);case 24:return u(dt[26],t);case 25:return u(dt[5],t);case 26:return u(dt[6],t);case 32:return u(dt[8],t);case 35:return u(dt[9],t);case 37:return u(dt[14],t);case 39:return u(dt[1],t);case 59:return u(dt[10],t);case 113:return St(mre,t),[0,De(t),_re];case 16:case 43:return u(dt[2],t);case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 33:case 34:case 36:case 38:case 41:case 42:case 49:case 83:case 86:return St(yre,t),ie(t),u(M9,t)}if(qs(t)){var e=u(Vn[10],t);return B1(t,e[1]),e}if(typeof n=="number"&&n===28&&Yn(1,t)===6){var i=Wl(1,t);return ue(t,[0,yt(De(t),i),94]),u(dt[17],t)}return M1(t)?u(dt[20],t):($l(t)&&(St(0,t),ie(t)),u(dt[17],t))}),N(ze0,function(t){var n=De(t),e=u(oi[1],t),i=N0(t);return typeof i=="number"&&i===9?ir(oi[7],t,n,[0,e,0]):e}),N(Ke0,function(t){var n=De(t),e=u(oi[2],t),i=N0(t);if(typeof i=="number"&&i===9){var x=[0,a(j9[1],t,e),0];return[0,ir(oi[7],t,n,x)]}return e}),N(We0,function(t,n,e){var i=n&&n[1];return cr(0,function(x){var c=1-i,s=Xe0([0,e],x),p=c&&(N0(x)===85?1:0);return p&&(1-iu(x)&&Ge(x,12),V0(x,85)),[0,s,u(ln[10],x),p]},t)}),N(Je0,function(t){var n=De(t),e=pr(t);V0(t,0);var i=a(G9,function(y){return y===1?1:0},t),x=i===0?1:0,c=De(t),s=x&&pr(t);V0(t,1);var p=[0,i,_u([0,e],[0,we(t)],s,0)];return[0,yt(n,c),p]}),N($e0,function(t){function n(i){var x=pr(i);V0(i,0);var c=a(HL,function(S){return S===1?1:0},i),s=c[1],p=s===0?1:0,y=p&&pr(i);V0(i,1);var T=N0(i),E=0;if(!t){var h=0;if(typeof T=="number"&&(T===1||Pn===T)&&(h=1),!h){var w=f7(i);if(w){var G=Us(i);E=1}else{var G=w;E=1}}}if(!E)var G=we(i);var A=_u([0,x],[0,G],y,0);return[0,[0,s,A],c[2]]}var e=0;return function(i){return OL(e,n,i)}}),pu(Ore,se,[0,Ye0,M9,xb,G9,HL,UL,ze0,Ke0,kne,wne,Ene,Sne,Xe0,We0,Je0,$e0,Ine,Ane,Nne,gne,Ze0,Fne,Tne,One,hne]);var Qe0=[0,0],rn0=sn;function Cne(t){function n(e,i){var x=i[2],c=i[1],s=sL(x),p=[0,[0,Ire,u(t[1],s)],0],y=P9(e,c[3]),T=[0,u(t[5],y),0],E=P9(e,c[2]),h=[0,u(t[5],E),T],w=[0,[0,Are,u(t[4],h)],p],G=[0,[0,Nre,u(t[5],c[3][2])],0],A=[0,[0,Cre,u(t[5],c[3][1])],G],S=[0,[0,Pre,u(t[3],A)],0],M=[0,[0,Dre,u(t[5],c[2][2])],0],K=[0,[0,Lre,u(t[5],c[2][1])],M],V=[0,[0,Rre,u(t[3],K)],S],f0=[0,[0,jre,u(t[3],V)],w];switch(i[3]){case 0:var m0=Gre;break;case 1:var m0=Mre;break;case 2:var m0=Bre;break;case 3:var m0=qre;break;case 4:var m0=Ure;break;default:var m0=Hre}var k0=[0,[0,Xre,u(t[1],m0)],f0],g0=Tr0(x),e0=[0,[0,Yre,u(t[1],g0)],k0];return u(t[3],e0)}return[0,n,function(e,i){var x=de(Tp(function(c){return n(e,c)},i));return u(t[4],x)}]}var Pne=M70;function H1(t){return B70(_l(t))}function yu(t){return G70(_l(t))}function Dne(t){return t}function Lne(t){return t}function en0(t,n,e){try{var i=new RegExp(sn(n),sn(e));return i}catch{return u7}}var Rne=Cne([0,rn0,Pne,H1,yu,Dne,Lne,u7,en0]),jne=[0,1],nn0=function(t){function n(E,h){return yu(de(Tp(E,h)))}function e(E,h){return h?u(E,h[1]):u7}function i(E,h){return h[0]===0?u7:u(E,h[1])}function x(E){return H1([0,[0,YWr,E[1]],[0,[0,XWr,E[2]],0]])}function c(E){var h=E[1],w=h?sn(h[1][1]):u7,G=[0,[0,qWr,x(E[3])],0];return H1([0,[0,HWr,w],[0,[0,UWr,x(E[2])],G]])}function s(E){return n(function(h){var w=h[2],G=0;if(typeof w=="number"){var A=w;if(55<=A)switch(A){case 55:var S=_mr;break;case 56:var S=ymr;break;case 57:var S=dmr;break;case 58:var S=hmr;break;case 59:var S=kmr;break;case 60:var S=wmr;break;case 61:var S=Te(Smr,Emr);break;case 62:var S=Te(Fmr,gmr);break;case 63:var S=Te(Omr,Tmr);break;case 64:var S=Imr;break;case 65:var S=Amr;break;case 66:var S=Nmr;break;case 67:var S=Cmr;break;case 68:var S=Pmr;break;case 69:var S=Dmr;break;case 70:var S=Lmr;break;case 71:var S=Rmr;break;case 72:var S=jmr;break;case 73:var S=Gmr;break;case 74:var S=Mmr;break;case 75:var S=Bmr;break;case 76:var S=qmr;break;case 77:var S=Umr;break;case 78:var S=Hmr;break;case 79:var S=Xmr;break;case 80:var S=Ymr;break;case 81:var S=Vmr;break;case 82:var S=Te(Kmr,zmr);break;case 83:var S=Wmr;break;case 84:var S=Jmr;break;case 85:var S=$mr;break;case 86:var S=Zmr;break;case 87:var S=Qmr;break;case 88:var S=r9r;break;case 89:var S=e9r;break;case 90:var S=n9r;break;case 91:var S=t9r;break;case 92:var S=u9r;break;case 93:var S=i9r;break;case 94:var S=Te(x9r,f9r);break;case 95:var S=a9r;break;case 96:var S=o9r;break;case 97:var S=c9r;break;case 98:var S=s9r;break;case 99:var S=v9r;break;case 100:var S=l9r;break;case 101:var S=b9r;break;case 102:var S=p9r;break;case 103:var S=m9r;break;case 104:var S=_9r;break;case 105:var S=y9r;break;case 106:var S=d9r;break;case 107:var S=h9r;break;default:var S=k9r}else switch(A){case 0:var S=p5r;break;case 1:var S=m5r;break;case 2:var S=_5r;break;case 3:var S=y5r;break;case 4:var S=d5r;break;case 5:var S=h5r;break;case 6:var S=k5r;break;case 7:var S=w5r;break;case 8:var S=E5r;break;case 9:var S=S5r;break;case 10:var S=g5r;break;case 11:var S=F5r;break;case 12:var S=T5r;break;case 13:var S=O5r;break;case 14:var S=I5r;break;case 15:var S=A5r;break;case 16:var S=N5r;break;case 17:var S=C5r;break;case 18:var S=P5r;break;case 19:var S=D5r;break;case 20:var S=L5r;break;case 21:var S=R5r;break;case 22:var S=j5r;break;case 23:var S=G5r;break;case 24:var S=M5r;break;case 25:var S=B5r;break;case 26:var S=q5r;break;case 27:var S=U5r;break;case 28:var S=H5r;break;case 29:var S=X5r;break;case 30:var S=Y5r;break;case 31:var S=Te(z5r,V5r);break;case 32:var S=K5r;break;case 33:var S=W5r;break;case 34:var S=J5r;break;case 35:var S=$5r;break;case 36:var S=Z5r;break;case 37:var S=Q5r;break;case 38:var S=rmr;break;case 39:var S=emr;break;case 40:var S=nmr;break;case 41:var S=tmr;break;case 42:var S=umr;break;case 43:var S=imr;break;case 44:var S=fmr;break;case 45:var S=xmr;break;case 46:var S=amr;break;case 47:var S=omr;break;case 48:var S=cmr;break;case 49:var S=smr;break;case 50:var S=vmr;break;case 51:var S=lmr;break;case 52:var S=bmr;break;case 53:var S=pmr;break;default:var S=mmr}}else switch(w[0]){case 0:var M=w[2],K=w[1],S=ir(Qn(w9r),M,M,K);break;case 1:var V=w[1],f0=w[2],S=a(Qn(E9r),f0,V);break;case 2:var m0=w[1],S=u(Qn(S9r),m0);break;case 3:var k0=w[2],g0=w[1],e0=u(Qn(g9r),g0);if(k0)var x0=k0[1],S=a(Qn(F9r),x0,e0);else var S=u(Qn(T9r),e0);break;case 4:var l=w[1],S=a(Qn(O9r),l,l);break;case 5:var c0=w[3],t0=w[2],a0=w[1];if(t0){var w0=t0[1];if(3<=w0)var S=a(Qn(I9r),c0,a0);else{switch(w0){case 0:var _0=s5r;break;case 1:var _0=v5r;break;case 2:var _0=l5r;break;default:var _0=b5r}var S=R(Qn(A9r),a0,_0,c0,_0)}}else var S=a(Qn(N9r),c0,a0);break;case 6:var E0=w[2],X0=E0;if(l7(X0)===0)var b=X0;else{var G0=mz(X0);Jn(G0,0,vz(Hu(X0,0)));var b=G0}var X=b,s0=w[1],S=ir(Qn(C9r),E0,X,s0);break;case 7:var S=w[1]?P9r:D9r;break;case 8:var dr=w[1],Ar=w[2],S=a(Qn(L9r),Ar,dr);break;case 9:var ar=w[1],S=u(Qn(R9r),ar);break;case 10:var W0=w[1],S=u(Qn(j9r),W0);break;case 11:var Lr=w[2],Tr=w[1],S=a(Qn(G9r),Tr,Lr);break;case 12:var Hr=w[2],Or=w[1],S=a(Qn(M9r),Or,Hr);break;case 13:var S=Te(q9r,Te(w[1],B9r));break;case 14:var xr=w[1]?U9r:H9r,S=u(Qn(X9r),xr);break;case 15:var S=Te(V9r,Te(w[1],Y9r));break;case 16:var Rr=Te(K9r,Te(w[2],z9r)),S=Te(w[1],Rr);break;case 17:var S=Te(W9r,w[1]);break;case 18:var S=w[1]?Te($9r,J9r):Te(Q9r,Z9r);break;case 19:var Wr=w[1],S=u(Qn(r_r),Wr);break;case 20:var S=Te(n_r,Te(w[1],e_r));break;case 21:var Jr=w[1],or=w[2]?t_r:u_r,_r=w[4]?Te(i_r,Jr):Jr,Ir=w[3]?f_r:x_r,S=Te(c_r,Te(or,Te(Ir,Te(o_r,Te(_r,a_r)))));break;case 22:var S=Te(v_r,Te(w[1],s_r));break;default:var fe=w[1],S=u(Qn(l_r),fe)}var v0=[0,[0,MWr,sn(S)],G];return H1([0,[0,BWr,c(h[1])],v0])},E)}function p(E){if(E){var h=E[1],w=[0,un(h[3],h[2])];return lr([0,h[1]],w,0)}return E}function y(E){function h(_){return n(H0,_)}function w(_,k,I,U){var Y=t[1];if(Y){if(E)var y0=E[1],D0=[0,P9(y0,k[3]),0],I0=[0,[0,hGr,yu([0,P9(y0,k[2]),D0])],0];else var I0=E;var D=un(I0,[0,[0,kGr,c(k)],0])}else var D=Y;if(I){var u0=I[1],Y0=u0[1];if(Y0){var J0=u0[2];if(J0)var fr=[0,[0,wGr,h(J0)],0],Q0=[0,[0,EGr,h(Y0)],fr];else var Q0=[0,[0,SGr,h(Y0)],0];var mr=Q0}else var F0=u0[2],gr=F0&&[0,[0,gGr,h(F0)],0],mr=gr;var Cr=mr}else var Cr=I;return H1(jc(un(D,un(Cr,[0,[0,FGr,sn(_)],0])),U))}function G(_){return n(Q,_)}function A(_){var k=_[2],I=G(k[1]),U=[0,[0,OGr,I],[0,[0,TGr,h(k[3])],0]];return w(IGr,_[1],k[2],U)}function S(_){var k=_[2];return w(xUr,_[1],k[2],[0,[0,fUr,sn(k[1])],[0,[0,iUr,u7],[0,[0,uUr,!1],0]]])}function M(_){if(_[0]===0)return S(_[1]);var k=_[1],I=k[2],U=M(I[1]),Y=[0,[0,rKr,U],[0,[0,Qzr,S(I[2])],0]];return w(eKr,k[1],0,Y)}function K(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,jzr,U],[0,[0,Rzr,S(k[2])],0]];return w(Gzr,_[1],0,Y)}function V(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,Bzr,U],[0,[0,Mzr,e($r,k[2])],0]];return w(qzr,_[1],k[3],Y)}function f0(_){var k=_[2],I=k[2],U=k[1],Y=_[1];if(typeof U=="number")var y0=u7;else switch(U[0]){case 0:var y0=sn(U[1]);break;case 1:var y0=!!U[1];break;case 2:var y0=U[1];break;case 3:var y0=ke(IYr);break;default:var D0=U[1],y0=en0(Y,D0[1],D0[2])}var I0=0;if(typeof U!="number"&&U[0]===4){var D=U[1],u0=[0,[0,CYr,H1([0,[0,NYr,sn(D[1])],[0,[0,AYr,sn(D[2])],0]])],0],Y0=[0,[0,DYr,y0],[0,[0,PYr,sn(I)],u0]];I0=1}if(!I0)var Y0=[0,[0,RYr,y0],[0,[0,LYr,sn(I)],0]];return w(jYr,Y,k[3],Y0)}function m0(_){var k=[0,[0,Uzr,g0(_[2])],0];return[0,[0,Hzr,g0(_[1])],k]}function k0(_,k){var I=k[2],U=[0,[0,GVr,!!I[3]],0],Y=[0,[0,MVr,g0(I[2])],U],y0=[0,[0,BVr,e(S,I[1])],Y];return w(qVr,k[1],_,y0)}function g0(_){var k=_[2],I=_[1];switch(k[0]){case 0:return w(hVr,I,k[1],0);case 1:return w(kVr,I,k[1],0);case 2:return w(wVr,I,k[1],0);case 3:return w(EVr,I,k[1],0);case 4:return w(SVr,I,k[1],0);case 5:return w(FVr,I,k[1],0);case 6:return w(TVr,I,k[1],0);case 7:return w(OVr,I,k[1],0);case 8:return w(IVr,I,k[1],0);case 9:return w(gVr,I,k[1],0);case 10:return w(yKr,I,k[1],0);case 11:var U=k[1],Y=[0,[0,AVr,g0(U[1])],0];return w(NVr,I,U[2],Y);case 12:return e0([0,I,k[1]]);case 13:return x0(1,[0,I,k[1]]);case 14:var y0=k[1],D0=[0,[0,Nzr,x0(0,y0[1])],0],I0=[0,[0,Czr,n(fe,y0[2])],D0];return w(Pzr,I,y0[3],I0);case 15:var D=k[1],u0=[0,[0,Dzr,g0(D[1])],0];return w(Lzr,I,D[2],u0);case 16:return V([0,I,k[1]]);case 17:var Y0=k[1],J0=m0(Y0);return w(Xzr,I,Y0[3],J0);case 18:var fr=k[1],Q0=fr[1],F0=[0,[0,Yzr,!!fr[2]],0],gr=un(m0(Q0),F0);return w(Vzr,I,Q0[3],gr);case 19:var mr=k[1],Cr=mr[1],sr=[0,[0,zzr,n(g0,[0,Cr[1],[0,Cr[2],Cr[3]]])],0];return w(Kzr,I,mr[2],sr);case 20:var Pr=k[1],K0=Pr[1],Ur=[0,[0,Wzr,n(g0,[0,K0[1],[0,K0[2],K0[3]]])],0];return w(Jzr,I,Pr[2],Ur);case 21:var d0=k[1],Kr=[0,[0,$zr,M(d0[1])],0];return w(Zzr,I,d0[2],Kr);case 22:var re=k[1],xe=[0,[0,nKr,n(g0,re[1])],0];return w(tKr,I,re[2],xe);case 23:var je=k[1];return w(fKr,I,je[3],[0,[0,iKr,sn(je[1])],[0,[0,uKr,sn(je[2])],0]]);case 24:var ve=k[1];return w(oKr,I,ve[3],[0,[0,aKr,ve[1]],[0,[0,xKr,sn(ve[2])],0]]);case 25:var Ie=k[1];return w(vKr,I,Ie[3],[0,[0,sKr,u7],[0,[0,cKr,sn(Ie[2])],0]]);default:var Me=k[1],Be=Me[1],fn=0,Ke=Be?lKr:bKr;return w(_Kr,I,Me[2],[0,[0,mKr,!!Be],[0,[0,pKr,sn(Ke)],fn]])}}function e0(_){var k=_[2],I=k[2][2],U=k[4],Y=_7(p(I[4]),U),y0=[0,[0,CVr,e(qr,k[1])],0],D0=[0,[0,PVr,e(Mr,I[3])],y0],I0=[0,[0,DVr,g0(k[3])],D0],D=[0,[0,LVr,e(Br,I[1])],I0],u0=I[2],Y0=[0,[0,RVr,n(function(J0){return k0(0,J0)},u0)],D];return w(jVr,_[1],Y,Y0)}function x0(_,k){var I=k[2],U=I[3],Y=be(function(fr,Q0){var F0=fr[4],gr=fr[3],mr=fr[2],Cr=fr[1];switch(Q0[0]){case 0:var sr=Q0[1],Pr=sr[2],K0=Pr[2],Ur=Pr[1];switch(Ur[0]){case 0:var d0=f0(Ur[1]);break;case 1:var d0=S(Ur[1]);break;case 2:var d0=ke(rzr);break;default:var d0=ke(ezr)}switch(K0[0]){case 0:var xe=nzr,je=g0(K0[1]);break;case 1:var Kr=K0[1],xe=tzr,je=e0([0,Kr[1],Kr[2]]);break;default:var re=K0[1],xe=uzr,je=e0([0,re[1],re[2]])}var ve=[0,[0,izr,sn(xe)],0],Ie=[0,[0,fzr,e(Sr,Pr[7])],ve];return[0,[0,w(lzr,sr[1],Pr[8],[0,[0,vzr,d0],[0,[0,szr,je],[0,[0,czr,!!Pr[6]],[0,[0,ozr,!!Pr[3]],[0,[0,azr,!!Pr[4]],[0,[0,xzr,!!Pr[5]],Ie]]]]]]),Cr],mr,gr,F0];case 1:var Me=Q0[1],Be=Me[2],fn=[0,[0,bzr,g0(Be[1])],0];return[0,[0,w(pzr,Me[1],Be[2],fn),Cr],mr,gr,F0];case 2:var Ke=Q0[1],Ae=Ke[2],xn=[0,[0,mzr,e(Sr,Ae[5])],0],Qe=[0,[0,_zr,!!Ae[4]],xn],yn=[0,[0,yzr,g0(Ae[3])],Qe],on=[0,[0,dzr,g0(Ae[2])],yn],Ce=[0,[0,hzr,e(S,Ae[1])],on];return[0,Cr,[0,w(kzr,Ke[1],Ae[6],Ce),mr],gr,F0];case 3:var We=Q0[1],rn=We[2],bn=[0,[0,wzr,!!rn[2]],0],Cn=[0,[0,Ezr,e0(rn[1])],bn];return[0,Cr,mr,[0,w(Szr,We[1],rn[3],Cn),gr],F0];default:var Hn=Q0[1],Sn=Hn[2],vt=[0,[0,gzr,g0(Sn[2])],0],At=[0,[0,Ozr,!!Sn[3]],[0,[0,Tzr,!!Sn[4]],[0,[0,Fzr,!!Sn[5]],vt]]],gt=[0,[0,Izr,S(Sn[1])],At];return[0,Cr,mr,gr,[0,w(Azr,Hn[1],Sn[6],gt),F0]]}},VVr,U),y0=[0,[0,zVr,yu(de(Y[4]))],0],D0=[0,[0,KVr,yu(de(Y[3]))],y0],I0=[0,[0,WVr,yu(de(Y[2]))],D0],D=[0,[0,JVr,yu(de(Y[1]))],I0],u0=[0,[0,$Vr,!!I[1]],D],Y0=_?[0,[0,ZVr,!!I[2]],u0]:u0,J0=p(I[4]);return w(QVr,k[1],J0,Y0)}function l(_){var k=[0,[0,dKr,g0(_[2])],0];return w(hKr,_[1],0,k)}function c0(_){var k=_[2];switch(k[2]){case 0:var I=oVr;break;case 1:var I=cVr;break;default:var I=sVr}var U=[0,[0,vVr,sn(I)],0],Y=[0,[0,lVr,n($0,k[1])],U];return w(bVr,_[1],k[3],Y)}function t0(_){var k=_[2];return w(VYr,_[1],k[3],[0,[0,YYr,sn(k[1])],[0,[0,XYr,sn(k[2])],0]])}function a0(_){var k=_[2],I=[0,[0,XXr,f1],[0,[0,HXr,l(k[1])],0]];return w(YXr,_[1],k[2],I)}function w0(_,k){var I=k[1][2],U=[0,[0,vUr,!!k[3]],0],Y=[0,[0,lUr,i(l,k[2])],U];return w(pUr,_,I[2],[0,[0,bUr,sn(I[1])],Y])}function _0(_){var k=_[2];return w(sUr,_[1],k[2],[0,[0,cUr,sn(k[1])],[0,[0,oUr,u7],[0,[0,aUr,!1],0]]])}function E0(_){return n(q0,_[2][1])}function X0(_){var k=_[2],I=[0,[0,jKr,w(KKr,k[2],0,0)],0],U=[0,[0,GKr,n(ae,k[3][2])],I],Y=[0,[0,MKr,w(YKr,k[1],0,0)],U];return w(BKr,_[1],k[4],Y)}function b(_){var k=_[2];return w(pWr,_[1],k[2],[0,[0,bWr,sn(k[1])],0])}function G0(_){var k=_[2],I=[0,[0,sWr,b(k[2])],0],U=[0,[0,vWr,b(k[1])],I];return w(lWr,_[1],0,U)}function X(_){var k=_[2],I=k[1],U=I[0]===0?b(I[1]):X(I[1]),Y=[0,[0,oWr,U],[0,[0,aWr,b(k[2])],0]];return w(cWr,_[1],0,Y)}function s0(_){switch(_[0]){case 0:return b(_[1]);case 1:return G0(_[1]);default:return X(_[1])}}function dr(_){var k=_[2],I=[0,[0,PKr,n(ae,k[3][2])],0],U=[0,[0,DKr,e(oe,k[2])],I],Y=k[1],y0=Y[2],D0=[0,[0,qKr,!!y0[2]],0],I0=[0,[0,UKr,n(pe,y0[3])],D0],D=[0,[0,HKr,s0(y0[1])],I0],u0=[0,[0,LKr,w(XKr,Y[1],0,D)],U];return w(RKr,_[1],k[4],u0)}function Ar(_){var k=_[2],I=[0,[0,ZYr,n(xr,k[2])],0],U=[0,[0,QYr,n(vr,k[1])],I];return w(rVr,_[1],k[3],U)}function ar(_,k){var I=k[2],U=I[7],Y=I[5],y0=I[4];if(y0)var D0=y0[1][2],I0=_7(D0[3],U),D=I0,u0=D0[2],Y0=[0,D0[1]];else var D=U,u0=0,Y0=0;if(Y)var J0=Y[1][2],fr=_7(J0[2],D),Q0=fr,F0=n(T0,J0[1]);else var Q0=D,F0=yu(0);var gr=[0,[0,aHr,F0],[0,[0,xHr,n(S0,I[6])],0]],mr=[0,[0,oHr,e($r,u0)],gr],Cr=[0,[0,cHr,e(xr,Y0)],mr],sr=[0,[0,sHr,e(qr,I[3])],Cr],Pr=I[2],K0=Pr[2],Ur=[0,[0,dHr,n(rr,K0[1])],0],d0=[0,[0,vHr,w(hHr,Pr[1],K0[2],Ur)],sr],Kr=[0,[0,lHr,e(S,I[1])],d0];return w(_,k[1],Q0,Kr)}function W0(_){var k=_[2],I=[0,[0,wUr,G(k[1])],0],U=p(k[2]);return w(EUr,_[1],U,I)}function Lr(_){var k=_[2];switch(k[0]){case 0:var I=0,U=S(k[1]);break;case 1:var I=0,U=_0(k[1]);break;default:var I=1,U=xr(k[1])}return[0,[0,GWr,xr(_[1])],[0,[0,jWr,U],[0,[0,RWr,!!I],0]]]}function Tr(_){var k=[0,[0,PWr,E0(_[3])],0],I=[0,[0,DWr,e(ne,_[2])],k];return[0,[0,LWr,xr(_[1])],I]}function Hr(_){var k=_[2],I=k[3],U=k[2],Y=k[1];if(I){var y0=I[1],D0=y0[2],I0=[0,[0,VXr,Or(D0[1])],0],D=w(zXr,y0[1],D0[2],I0),u0=de([0,D,Tp(R0,U)]),Y0=Y?[0,a0(Y[1]),u0]:u0;return yu(Y0)}var J0=k1(R0,U),fr=Y?[0,a0(Y[1]),J0]:J0;return yu(fr)}function Or(_){var k=_[2],I=_[1];switch(k[0]){case 0:var U=k[1],Y=[0,[0,DXr,i(l,U[2])],0],y0=[0,[0,LXr,n(b0,U[1])],Y];return w(RXr,I,p(U[3]),y0);case 1:var D0=k[1],I0=[0,[0,jXr,i(l,D0[2])],0],D=[0,[0,GXr,n(Z,D0[1])],I0];return w(MXr,I,p(D0[3]),D);case 2:return w0(I,k[1]);default:return xr(k[1])}}function xr(_){var k=_[2],I=_[1];switch(k[0]){case 0:var U=k[1],Y=[0,[0,iBr,n(er,U[1])],0];return w(fBr,I,p(U[2]),Y);case 1:var y0=k[1],D0=y0[7],I0=y0[3],D=y0[2];if(I0[0]===0)var u0=0,Y0=W0(I0[1]);else var u0=1,Y0=xr(I0[1]);var J0=D0[0]===0?0:[0,D0[1]],fr=y0[9],Q0=_7(p(D[2][4]),fr),F0=[0,[0,xBr,e(qr,y0[8])],0],gr=[0,[0,oBr,!!u0],[0,[0,aBr,e(l,J0)],F0]],mr=[0,[0,sBr,!1],[0,[0,cBr,e(Fr,y0[6])],gr]],Cr=[0,[0,lBr,Y0],[0,[0,vBr,!!y0[4]],mr]];return w(mBr,I,Q0,[0,[0,pBr,u7],[0,[0,bBr,Hr(D)],Cr]]);case 2:var sr=k[1],Pr=sr[1];if(Pr){switch(Pr[1]){case 0:var K0=Upr;break;case 1:var K0=Hpr;break;case 2:var K0=Xpr;break;case 3:var K0=Ypr;break;case 4:var K0=Vpr;break;case 5:var K0=zpr;break;case 6:var K0=Kpr;break;case 7:var K0=Wpr;break;case 8:var K0=Jpr;break;case 9:var K0=$pr;break;case 10:var K0=Zpr;break;case 11:var K0=Qpr;break;case 12:var K0=r5r;break;case 13:var K0=e5r;break;default:var K0=n5r}var Ur=K0}else var Ur=_Br;var d0=[0,[0,yBr,xr(sr[3])],0],Kr=[0,[0,dBr,Or(sr[2])],d0];return w(kBr,I,sr[4],[0,[0,hBr,sn(Ur)],Kr]);case 3:var re=k[1],xe=[0,[0,wBr,xr(re[3])],0],je=[0,[0,EBr,xr(re[2])],xe];switch(re[1]){case 0:var ve=hpr;break;case 1:var ve=kpr;break;case 2:var ve=wpr;break;case 3:var ve=Epr;break;case 4:var ve=Spr;break;case 5:var ve=gpr;break;case 6:var ve=Fpr;break;case 7:var ve=Tpr;break;case 8:var ve=Opr;break;case 9:var ve=Ipr;break;case 10:var ve=Apr;break;case 11:var ve=Npr;break;case 12:var ve=Cpr;break;case 13:var ve=Ppr;break;case 14:var ve=Dpr;break;case 15:var ve=Lpr;break;case 16:var ve=Rpr;break;case 17:var ve=jpr;break;case 18:var ve=Gpr;break;case 19:var ve=Mpr;break;case 20:var ve=Bpr;break;default:var ve=qpr}return w(gBr,I,re[4],[0,[0,SBr,sn(ve)],je]);case 4:var Ie=k[1],Me=Ie[4],Be=_7(p(Ie[3][2][2]),Me);return w(FBr,I,Be,Tr(Ie));case 5:return ar(fHr,[0,I,k[1]]);case 6:var fn=k[1],Ke=[0,[0,TBr,e(xr,fn[2])],0];return w(IBr,I,0,[0,[0,OBr,n(yr,fn[1])],Ke]);case 7:var Ae=k[1],xn=[0,[0,ABr,xr(Ae[3])],0],Qe=[0,[0,NBr,xr(Ae[2])],xn],yn=[0,[0,CBr,xr(Ae[1])],Qe];return w(PBr,I,Ae[4],yn);case 8:return Rr([0,I,k[1]]);case 9:var on=k[1],Ce=[0,[0,DBr,e(xr,on[2])],0];return w(RBr,I,0,[0,[0,LBr,n(yr,on[1])],Ce]);case 10:return S(k[1]);case 11:var We=k[1],rn=[0,[0,jBr,xr(We[1])],0];return w(GBr,I,We[2],rn);case 12:return dr([0,I,k[1]]);case 13:return X0([0,I,k[1]]);case 14:var bn=k[1],Cn=bn[1];return typeof Cn!="number"&&Cn[0]===3?w(HYr,I,bn[3],[0,[0,UYr,u7],[0,[0,qYr,sn(bn[2])],0]]):f0([0,I,bn]);case 15:var Hn=k[1];switch(Hn[1]){case 0:var Sn=MBr;break;case 1:var Sn=BBr;break;default:var Sn=qBr}var vt=[0,[0,UBr,xr(Hn[3])],0],At=[0,[0,HBr,xr(Hn[2])],vt];return w(YBr,I,Hn[4],[0,[0,XBr,sn(Sn)],At]);case 16:var gt=k[1],Jt=Lr(gt);return w(VBr,I,gt[3],Jt);case 17:var Bt=k[1],Ft=[0,[0,zBr,S(Bt[2])],0],Nt=[0,[0,KBr,S(Bt[1])],Ft];return w(WBr,I,Bt[3],Nt);case 18:var du=k[1],Ku=du[4],lt=du[3];if(lt)var xu=lt[1],Mu=_7(p(xu[2][2]),Ku),z7=Mu,Yi=E0(xu);else var z7=Ku,Yi=yu(0);var a7=[0,[0,$Br,e(ne,du[2])],[0,[0,JBr,Yi],0]];return w(QBr,I,z7,[0,[0,ZBr,xr(du[1])],a7]);case 19:var Yc=k[1],K7=[0,[0,rqr,n(p0,Yc[1])],0];return w(eqr,I,p(Yc[2]),K7);case 20:var qt=k[1],bt=qt[1],U0=bt[4],L0=_7(p(bt[3][2][2]),U0),Re=[0,[0,nqr,!!qt[3]],0];return w(tqr,I,L0,un(Tr(bt),Re));case 21:var He=k[1],he=He[1],_e=[0,[0,uqr,!!He[3]],0],Zn=un(Lr(he),_e);return w(iqr,I,he[3],Zn);case 22:var dn=k[1],it=[0,[0,fqr,n(xr,dn[1])],0];return w(xqr,I,dn[2],it);case 23:return w(aqr,I,k[1][1],0);case 24:var ft=k[1],Rn=[0,[0,fVr,Ar(ft[2])],0],nt=[0,[0,xVr,xr(ft[1])],Rn];return w(aVr,I,ft[3],nt);case 25:return Ar([0,I,k[1]]);case 26:return w(oqr,I,k[1][1],0);case 27:var ht=k[1],tn=[0,[0,cqr,l(ht[2])],0],cn=[0,[0,sqr,xr(ht[1])],tn];return w(vqr,I,ht[3],cn);case 28:var tt=k[1],Tt=tt[3],Fi=tt[2],hs=tt[1];if(7<=hs)return w(bqr,I,Tt,[0,[0,lqr,xr(Fi)],0]);switch(hs){case 0:var Iu=pqr;break;case 1:var Iu=mqr;break;case 2:var Iu=_qr;break;case 3:var Iu=yqr;break;case 4:var Iu=dqr;break;case 5:var Iu=hqr;break;case 6:var Iu=kqr;break;default:var Iu=ke(wqr)}var Vs=[0,[0,Sqr,!0],[0,[0,Eqr,xr(Fi)],0]];return w(Fqr,I,Tt,[0,[0,gqr,sn(Iu)],Vs]);case 29:var Vi=k[1],zs=Vi[1]?Tqr:Oqr,Ks=[0,[0,Iqr,!!Vi[3]],0],en=[0,[0,Aqr,xr(Vi[2])],Ks];return w(Cqr,I,Vi[4],[0,[0,Nqr,sn(zs)],en]);default:var ci=k[1],Ws=[0,[0,Pqr,!!ci[3]],0],c2=[0,[0,Dqr,e(xr,ci[1])],Ws];return w(Lqr,I,ci[2],c2)}}function Rr(_){var k=_[2],I=k[7],U=k[3],Y=k[2],y0=U[0]===0?U[1]:ke(zqr),D0=I[0]===0?0:[0,I[1]],I0=k[9],D=_7(p(Y[2][4]),I0),u0=[0,[0,Kqr,e(qr,k[8])],0],Y0=[0,[0,Jqr,!1],[0,[0,Wqr,e(l,D0)],u0]],J0=[0,[0,$qr,e(Fr,k[6])],Y0],fr=[0,[0,Qqr,!!k[4]],[0,[0,Zqr,!!k[5]],J0]],Q0=[0,[0,rUr,W0(y0)],fr],F0=[0,[0,eUr,Hr(Y)],Q0],gr=[0,[0,nUr,e(S,k[1])],F0];return w(tUr,_[1],D,gr)}function Wr(_){var k=_[2],I=[0,[0,FXr,n(fe,k[3])],0],U=[0,[0,TXr,x0(0,k[4])],I],Y=[0,[0,OXr,e(qr,k[2])],U],y0=[0,[0,IXr,S(k[1])],Y];return w(AXr,_[1],k[5],y0)}function Jr(_,k){var I=k[2],U=_?QUr:rHr,Y=[0,[0,eHr,e(g0,I[4])],0],y0=[0,[0,nHr,e(g0,I[3])],Y],D0=[0,[0,tHr,e(qr,I[2])],y0],I0=[0,[0,uHr,S(I[1])],D0];return w(U,k[1],I[5],I0)}function or(_){var k=_[2],I=[0,[0,WUr,g0(k[3])],0],U=[0,[0,JUr,e(qr,k[2])],I],Y=[0,[0,$Ur,S(k[1])],U];return w(ZUr,_[1],k[4],Y)}function _r(_){if(_){var k=_[1];if(k[0]===0)return n(ge,k[1]);var I=k[1],U=I[2];if(U){var Y=[0,[0,HUr,S(U[1])],0];return yu([0,w(XUr,I[1],0,Y),0])}return yu(0)}return yu(0)}function Ir(_){return _?qUr:UUr}function fe(_){var k=_[2],I=k[1],U=I[0]===0?S(I[1]):K(I[1]),Y=[0,[0,CXr,U],[0,[0,NXr,e($r,k[2])],0]];return w(PXr,_[1],k[3],Y)}function v0(_){var k=_[2],I=k[6],U=k[4],Y=yu(U?[0,fe(U[1]),0]:0),y0=I?n(T0,I[1][2][1]):yu(0),D0=[0,[0,NUr,Y],[0,[0,AUr,y0],[0,[0,IUr,n(fe,k[5])],0]]],I0=[0,[0,CUr,x0(0,k[3])],D0],D=[0,[0,PUr,e(qr,k[2])],I0],u0=[0,[0,DUr,S(k[1])],D];return w(LUr,_[1],k[7],u0)}function P(_){var k=_[2],I=k[2],U=k[1],Y=yt(U[1],I[1]),y0=[0,[0,FUr,e(Fr,k[3])],0],D0=[0,[0,TUr,w0(Y,[0,U,[1,I],0])],y0];return w(OUr,_[1],k[4],D0)}function L(_){var k=_[2],I=k[2],U=k[1],Y=[0,[0,SUr,w0(yt(U[1],I[1]),[0,U,[1,I],0])],0];return w(gUr,_[1],k[3],Y)}function Q(_){var k=_[2],I=_[1];switch(k[0]){case 0:return W0([0,I,k[1]]);case 1:var U=k[1],Y=[0,[0,AGr,e(S,U[1])],0];return w(NGr,I,U[2],Y);case 2:return ar(iHr,[0,I,k[1]]);case 3:var y0=k[1],D0=[0,[0,CGr,e(S,y0[1])],0];return w(PGr,I,y0[2],D0);case 4:return w(DGr,I,k[1][1],0);case 5:return v0([0,I,k[1]]);case 6:var I0=k[1],D=I0[5],u0=I0[4],Y0=I0[3],J0=I0[2];if(Y0){var fr=Y0[1];if(fr[0]!==0&&!fr[1][2])return w(RGr,I,D,[0,[0,LGr,e(t0,u0)],0])}if(J0){var Q0=J0[1];switch(Q0[0]){case 0:var F0=L(Q0[1]);break;case 1:var F0=P(Q0[1]);break;case 2:var F0=v0(Q0[1]);break;case 3:var F0=g0(Q0[1]);break;case 4:var F0=or(Q0[1]);break;case 5:var F0=Jr(1,Q0[1]);break;default:var F0=Wr(Q0[1])}var gr=F0}else var gr=u7;var mr=[0,[0,jGr,e(t0,u0)],0],Cr=[0,[0,MGr,gr],[0,[0,GGr,_r(Y0)],mr]],sr=I0[1],Pr=sr&&1;return w(qGr,I,D,[0,[0,BGr,!!Pr],Cr]);case 7:return P([0,I,k[1]]);case 8:var K0=k[1],Ur=[0,[0,RUr,n(fe,K0[3])],0],d0=[0,[0,jUr,x0(0,K0[4])],Ur],Kr=[0,[0,GUr,e(qr,K0[2])],d0],re=[0,[0,MUr,S(K0[1])],Kr];return w(BUr,I,K0[5],re);case 9:var xe=k[1],je=xe[1],ve=je[0]===0?S(je[1]):t0(je[1]),Ie=0,Me=xe[3]?"ES":"CommonJS",Be=[0,[0,XGr,ve],[0,[0,HGr,W0(xe[2])],[0,[0,UGr,Me],Ie]]];return w(YGr,I,xe[4],Be);case 10:var fn=k[1],Ke=[0,[0,VGr,l(fn[1])],0];return w(zGr,I,fn[2],Ke);case 11:var Ae=k[1],xn=[0,[0,YUr,g0(Ae[3])],0],Qe=[0,[0,VUr,e(qr,Ae[2])],xn],yn=[0,[0,zUr,S(Ae[1])],Qe];return w(KUr,I,Ae[4],yn);case 12:return Jr(1,[0,I,k[1]]);case 13:return L([0,I,k[1]]);case 14:var on=k[1],Ce=[0,[0,KGr,xr(on[2])],0],We=[0,[0,WGr,Q(on[1])],Ce];return w(JGr,I,on[3],We);case 15:return w($Gr,I,k[1][1],0);case 16:var rn=k[1],bn=rn[2],Cn=bn[2],Hn=bn[1];switch(Cn[0]){case 0:var Sn=Cn[1],vt=[0,[0,oXr,!!Sn[2]],[0,[0,aXr,!!Sn[3]],0]],At=Sn[1],gt=[0,[0,cXr,n(function(hu){var ku=hu[2],Oi=ku[2],k7=Oi[2],Ki=k7[1],nv=0,Lb=Ki?zYr:KYr,tv=[0,[0,iXr,w($Yr,Oi[1],k7[2],[0,[0,JYr,!!Ki],[0,[0,WYr,sn(Lb)],0]])],nv],Rb=[0,[0,fXr,S(ku[1])],tv];return w(xXr,hu[1],0,Rb)},At)],vt],bt=w(sXr,Hn,p(Sn[4]),gt);break;case 1:var Jt=Cn[1],Bt=[0,[0,lXr,!!Jt[2]],[0,[0,vXr,!!Jt[3]],0]],Ft=Jt[1],Nt=[0,[0,bXr,n(function(hu){var ku=hu[2],Oi=ku[2],k7=Oi[2],Ki=[0,[0,nXr,w(BYr,Oi[1],k7[3],[0,[0,MYr,k7[1]],[0,[0,GYr,sn(k7[2])],0]])],0],nv=[0,[0,tXr,S(ku[1])],Ki];return w(uXr,hu[1],0,nv)},Ft)],Bt],bt=w(pXr,Hn,p(Jt[4]),Nt);break;case 2:var du=Cn[1],Ku=du[1];if(Ku[0]===0)var lt=Ku[1],Mu=k1(function(hu){var ku=[0,[0,rXr,S(hu[2][1])],0];return w(eXr,hu[1],0,ku)},lt);else var xu=Ku[1],Mu=k1(function(hu){var ku=hu[2],Oi=[0,[0,$Hr,t0(ku[2])],0],k7=[0,[0,ZHr,S(ku[1])],Oi];return w(QHr,hu[1],0,k7)},xu);var z7=[0,[0,_Xr,!!du[2]],[0,[0,mXr,!!du[3]],0]],Yi=[0,[0,yXr,yu(Mu)],z7],bt=w(dXr,Hn,p(du[4]),Yi);break;default:var a7=Cn[1],Yc=[0,[0,hXr,!!a7[2]],0],K7=a7[1],qt=[0,[0,kXr,n(function(hu){var ku=[0,[0,WHr,S(hu[2][1])],0];return w(JHr,hu[1],0,ku)},K7)],Yc],bt=w(wXr,Hn,p(a7[3]),qt)}var U0=[0,[0,SXr,S(rn[1])],[0,[0,EXr,bt],0]];return w(gXr,I,rn[3],U0);case 17:var L0=k[1],Re=L0[2],He=Re[0]===0?Q(Re[1]):xr(Re[1]),he=[0,[0,QGr,He],[0,[0,ZGr,sn(Ir(1))],0]];return w(rMr,I,L0[3],he);case 18:var _e=k[1],Zn=_e[5],dn=_e[4],it=_e[3],ft=_e[2];if(ft){var Rn=ft[1];if(Rn[0]!==0){var nt=[0,[0,eMr,sn(Ir(dn))],0],ht=[0,[0,nMr,e(S,Rn[1][2])],nt];return w(uMr,I,Zn,[0,[0,tMr,e(t0,it)],ht])}}var tn=[0,[0,iMr,sn(Ir(dn))],0],cn=[0,[0,fMr,e(t0,it)],tn],tt=[0,[0,xMr,_r(ft)],cn];return w(oMr,I,Zn,[0,[0,aMr,e(Q,_e[1])],tt]);case 19:var Tt=k[1],Fi=[0,[0,cMr,e(rn0,Tt[2])],0],hs=[0,[0,sMr,xr(Tt[1])],Fi];return w(vMr,I,Tt[3],hs);case 20:var Iu=k[1],Vs=function(hu){return hu[0]===0?c0(hu[1]):xr(hu[1])},Vi=[0,[0,lMr,Q(Iu[4])],0],zs=[0,[0,bMr,e(xr,Iu[3])],Vi],Ks=[0,[0,pMr,e(xr,Iu[2])],zs],en=[0,[0,mMr,e(Vs,Iu[1])],Ks];return w(_Mr,I,Iu[5],en);case 21:var ci=k[1],Ws=ci[1],c2=Ws[0]===0?c0(Ws[1]):Or(Ws[1]),B9=[0,[0,yMr,!!ci[4]],0],q9=[0,[0,dMr,Q(ci[3])],B9],U9=[0,[0,kMr,c2],[0,[0,hMr,xr(ci[2])],q9]];return w(wMr,I,ci[5],U9);case 22:var Js=k[1],s2=Js[1],H9=s2[0]===0?c0(s2[1]):Or(s2[1]),X9=[0,[0,EMr,!!Js[4]],0],Y9=[0,[0,SMr,Q(Js[3])],X9],X1=[0,[0,FMr,H9],[0,[0,gMr,xr(Js[2])],Y9]];return w(TMr,I,Js[5],X1);case 23:var si=k[1],ob=si[7],cb=si[3],sb=si[2],V9=cb[0]===0?cb[1]:ke(Rqr),z9=ob[0]===0?0:[0,ob[1]],K9=si[9],vb=_7(p(sb[2][4]),K9),W9=[0,[0,jqr,e(qr,si[8])],0],J9=[0,[0,Mqr,!1],[0,[0,Gqr,e(l,z9)],W9]],$9=[0,[0,Bqr,e(Fr,si[6])],J9],Z9=[0,[0,Uqr,!!si[4]],[0,[0,qqr,!!si[5]],$9]],lb=[0,[0,Hqr,W0(V9)],Z9],Q9=[0,[0,Xqr,Hr(sb)],lb];return w(Vqr,I,vb,[0,[0,Yqr,e(S,si[1])],Q9]);case 24:var Y1=k[1],v2=Y1[3];if(v2){var bb=v2[1][2],pb=bb[2],mb=bb[1],Tn=mb[2],jn=function(ku){return _7(ku,pb)};switch(Tn[0]){case 0:var V1=Tn[1],_b=QD(V1[2],pb),Gn=[0,[0,V1[1],_b]];break;case 1:var yb=Tn[1],r_=jn(yb[2]),Gn=[1,[0,yb[1],r_]];break;case 2:var Vc=Tn[1],e_=jn(Vc[7]),Gn=[2,[0,Vc[1],Vc[2],Vc[3],Vc[4],Vc[5],Vc[6],e_]];break;case 3:var l2=Tn[1],db=jn(l2[2]),Gn=[3,[0,l2[1],db]];break;case 4:var Gn=[4,[0,jn(Tn[1][1])]];break;case 5:var zc=Tn[1],n_=jn(zc[7]),Gn=[5,[0,zc[1],zc[2],zc[3],zc[4],zc[5],zc[6],n_]];break;case 6:var $s=Tn[1],hb=jn($s[5]),Gn=[6,[0,$s[1],$s[2],$s[3],$s[4],hb]];break;case 7:var z1=Tn[1],t_=jn(z1[4]),Gn=[7,[0,z1[1],z1[2],z1[3],t_]];break;case 8:var ks=Tn[1],u_=jn(ks[5]),Gn=[8,[0,ks[1],ks[2],ks[3],ks[4],u_]];break;case 9:var K1=Tn[1],i_=jn(K1[4]),Gn=[9,[0,K1[1],K1[2],K1[3],i_]];break;case 10:var b2=Tn[1],f_=jn(b2[2]),Gn=[10,[0,b2[1],f_]];break;case 11:var Zs=Tn[1],kb=jn(Zs[4]),Gn=[11,[0,Zs[1],Zs[2],Zs[3],kb]];break;case 12:var Qs=Tn[1],x_=jn(Qs[5]),Gn=[12,[0,Qs[1],Qs[2],Qs[3],Qs[4],x_]];break;case 13:var zi=Tn[1],Kc=jn(zi[3]),Gn=[13,[0,zi[1],zi[2],Kc]];break;case 14:var r1=Tn[1],a_=jn(r1[3]),Gn=[14,[0,r1[1],r1[2],a_]];break;case 15:var Gn=[15,[0,jn(Tn[1][1])]];break;case 16:var p2=Tn[1],m2=jn(p2[3]),Gn=[16,[0,p2[1],p2[2],m2]];break;case 17:var _2=Tn[1],o_=jn(_2[3]),Gn=[17,[0,_2[1],_2[2],o_]];break;case 18:var e1=Tn[1],c_=jn(e1[5]),Gn=[18,[0,e1[1],e1[2],e1[3],e1[4],c_]];break;case 19:var y2=Tn[1],XL=jn(y2[3]),Gn=[19,[0,y2[1],y2[2],XL]];break;case 20:var W1=Tn[1],YL=jn(W1[5]),Gn=[20,[0,W1[1],W1[2],W1[3],W1[4],YL]];break;case 21:var J1=Tn[1],VL=jn(J1[5]),Gn=[21,[0,J1[1],J1[2],J1[3],J1[4],VL]];break;case 22:var $1=Tn[1],zL=jn($1[5]),Gn=[22,[0,$1[1],$1[2],$1[3],$1[4],zL]];break;case 23:var Ti=Tn[1],KL=Ti[10],WL=jn(Ti[9]),Gn=[23,[0,Ti[1],Ti[2],Ti[3],Ti[4],Ti[5],Ti[6],Ti[7],Ti[8],WL,KL]];break;case 24:var d2=Tn[1],JL=jn(d2[4]),Gn=[24,[0,d2[1],d2[2],d2[3],JL]];break;case 25:var Z1=Tn[1],$L=jn(Z1[5]),Gn=[25,[0,Z1[1],Z1[2],Z1[3],Z1[4],$L]];break;case 26:var Q1=Tn[1],ZL=jn(Q1[5]),Gn=[26,[0,Q1[1],Q1[2],Q1[3],Q1[4],ZL]];break;case 27:var wb=Tn[1],QL=jn(wb[3]),Gn=[27,[0,wb[1],wb[2],QL]];break;case 28:var Eb=Tn[1],rR=Eb[3],eR=jn(Eb[2]),Gn=[28,[0,Eb[1],eR,rR]];break;case 29:var h2=Tn[1],nR=h2[4],tR=jn(h2[3]),Gn=[29,[0,h2[1],h2[2],tR,nR]];break;case 30:var s_=Tn[1],uR=jn(s_[2]),Gn=[30,[0,s_[1],uR]];break;case 31:var k2=Tn[1],iR=jn(k2[4]),Gn=[31,[0,k2[1],k2[2],k2[3],iR]];break;case 32:var w2=Tn[1],fR=jn(w2[4]),Gn=[32,[0,w2[1],w2[2],w2[3],fR]];break;case 33:var rv=Tn[1],xR=jn(rv[5]),Gn=[33,[0,rv[1],rv[2],rv[3],rv[4],xR]];break;case 34:var Sb=Tn[1],aR=jn(Sb[3]),Gn=[34,[0,Sb[1],Sb[2],aR]];break;case 35:var gb=Tn[1],oR=jn(gb[3]),Gn=[35,[0,gb[1],gb[2],oR]];break;default:var Fb=Tn[1],cR=jn(Fb[3]),Gn=[36,[0,Fb[1],Fb[2],cR]]}var v_=Q([0,mb[1],Gn])}else var v_=u7;var sR=[0,[0,IMr,Q(Y1[2])],[0,[0,OMr,v_],0]],vR=[0,[0,AMr,xr(Y1[1])],sR];return w(NMr,I,Y1[4],vR);case 25:var ev=k[1],Tb=ev[4],l_=ev[3];if(Tb){var Ob=Tb[1];if(Ob[0]===0)var lR=Ob[1],p_=k1(function(ku){var Oi=ku[1],k7=ku[3],Ki=ku[2],nv=Ki?yt(k7[1],Ki[1][1]):k7[1],Lb=Ki?Ki[1]:k7,tv=0,Rb=0;if(Oi)switch(Oi[1]){case 0:var jb=$c;break;case 1:var jb=es;break;default:tv=1}else tv=1;if(tv)var jb=u7;var CR=[0,[0,SWr,S(Lb)],[0,[0,EWr,jb],Rb]];return w(FWr,nv,0,[0,[0,gWr,S(k7)],CR])},lR);else var b_=Ob[1],bR=[0,[0,kWr,S(b_[2])],0],p_=[0,w(wWr,b_[1],0,bR),0];var Ib=p_}else var Ib=Tb;if(l_)var m_=l_[1],pR=[0,[0,dWr,S(m_)],0],__=[0,w(hWr,m_[1],0,pR),Ib];else var __=Ib;switch(ev[1]){case 0:var Ab=CMr;break;case 1:var Ab=PMr;break;default:var Ab=DMr}var mR=[0,[0,LMr,sn(Ab)],0],_R=[0,[0,RMr,t0(ev[2])],mR],yR=[0,[0,jMr,yu(__)],_R];return w(GMr,I,ev[5],yR);case 26:return Wr([0,I,k[1]]);case 27:var Nb=k[1],dR=[0,[0,MMr,Q(Nb[2])],0],hR=[0,[0,BMr,S(Nb[1])],dR];return w(qMr,I,Nb[3],hR);case 28:var y_=k[1],kR=[0,[0,UMr,e(xr,y_[1])],0];return w(HMr,I,y_[2],kR);case 29:var Cb=k[1],wR=[0,[0,XMr,n(i0,Cb[2])],0],ER=[0,[0,YMr,xr(Cb[1])],wR];return w(VMr,I,Cb[3],ER);case 30:var d_=k[1],SR=[0,[0,zMr,xr(d_[1])],0];return w(KMr,I,d_[2],SR);case 31:var E2=k[1],gR=[0,[0,WMr,e(W0,E2[3])],0],FR=[0,[0,JMr,e(l0,E2[2])],gR],TR=[0,[0,$Mr,W0(E2[1])],FR];return w(ZMr,I,E2[4],TR);case 32:return or([0,I,k[1]]);case 33:return Jr(0,[0,I,k[1]]);case 34:return c0([0,I,k[1]]);case 35:var Pb=k[1],OR=[0,[0,QMr,Q(Pb[2])],0],IR=[0,[0,rBr,xr(Pb[1])],OR];return w(eBr,I,Pb[3],IR);default:var Db=k[1],AR=[0,[0,nBr,Q(Db[2])],0],NR=[0,[0,tBr,xr(Db[1])],AR];return w(uBr,I,Db[3],NR)}}function i0(_){var k=_[2],I=[0,[0,mUr,n(Q,k[2])],0],U=[0,[0,_Ur,e(xr,k[1])],I];return w(yUr,_[1],k[3],U)}function l0(_){var k=_[2],I=[0,[0,dUr,W0(k[2])],0],U=[0,[0,hUr,e(Or,k[1])],I];return w(kUr,_[1],k[3],U)}function S0(_){var k=_[2],I=[0,[0,bHr,xr(k[1])],0];return w(pHr,_[1],k[2],I)}function T0(_){var k=_[2],I=[0,[0,mHr,e($r,k[2])],0],U=[0,[0,_Hr,S(k[1])],I];return w(yHr,_[1],0,U)}function rr(_){switch(_[0]){case 0:var k=_[1],I=k[2],U=I[6],Y=I[2];switch(Y[0]){case 0:var I0=U,D=0,u0=f0(Y[1]);break;case 1:var I0=U,D=0,u0=S(Y[1]);break;case 2:var I0=U,D=0,u0=_0(Y[1]);break;default:var y0=Y[1][2],D0=_7(y0[2],U),I0=D0,D=1,u0=xr(y0[1])}switch(I[1]){case 0:var Y0=kHr;break;case 1:var Y0=wHr;break;case 2:var Y0=EHr;break;default:var Y0=SHr}var J0=[0,[0,FHr,!!D],[0,[0,gHr,n(S0,I[5])],0]],fr=[0,[0,OHr,sn(Y0)],[0,[0,THr,!!I[4]],J0]],Q0=[0,[0,AHr,u0],[0,[0,IHr,Rr(I[3])],fr]];return w(NHr,k[1],I0,Q0);case 1:var F0=_[1],gr=F0[2],mr=gr[6],Cr=gr[2],sr=gr[1];switch(sr[0]){case 0:var d0=mr,Kr=0,re=f0(sr[1]);break;case 1:var d0=mr,Kr=0,re=S(sr[1]);break;case 2:var Pr=ke(BHr),d0=Pr[3],Kr=Pr[2],re=Pr[1];break;default:var K0=sr[1][2],Ur=_7(K0[2],mr),d0=Ur,Kr=1,re=xr(K0[1])}if(typeof Cr=="number")if(Cr)var xe=0,je=0;else var xe=1,je=0;else var xe=0,je=[0,Cr[1]];var ve=xe&&[0,[0,qHr,!!xe],0],Ie=[0,[0,UHr,e(Sr,gr[5])],0],Me=[0,[0,XHr,!!Kr],[0,[0,HHr,!!gr[4]],Ie]],Be=[0,[0,YHr,i(l,gr[3])],Me],fn=un([0,[0,zHr,re],[0,[0,VHr,e(xr,je)],Be]],ve);return w(KHr,F0[1],d0,fn);default:var Ke=_[1],Ae=Ke[2],xn=Ae[2];if(typeof xn=="number")if(xn)var Qe=0,yn=0;else var Qe=1,yn=0;else var Qe=0,yn=[0,xn[1]];var on=Qe&&[0,[0,CHr,!!Qe],0],Ce=[0,[0,PHr,e(Sr,Ae[5])],0],We=[0,[0,LHr,!1],[0,[0,DHr,!!Ae[4]],Ce]],rn=[0,[0,RHr,i(l,Ae[3])],We],bn=[0,[0,jHr,e(xr,yn)],rn],Cn=un([0,[0,GHr,_0(Ae[1])],bn],on);return w(MHr,Ke[1],Ae[6],Cn)}}function R0(_){var k=_[2],I=k[2],U=k[1];if(I){var Y=[0,[0,BXr,xr(I[1])],0],y0=[0,[0,qXr,Or(U)],Y];return w(UXr,_[1],0,y0)}return Or(U)}function B(_,k){var I=[0,[0,KXr,Or(k[1])],0];return w(WXr,_,k[2],I)}function Z(_){switch(_[0]){case 0:var k=_[1],I=k[2],U=I[2],Y=I[1];if(U){var y0=[0,[0,JXr,xr(U[1])],0],D0=[0,[0,$Xr,Or(Y)],y0];return w(ZXr,k[1],0,D0)}return Or(Y);case 1:var I0=_[1];return B(I0[1],I0[2]);default:return u7}}function p0(_){if(_[0]===0){var k=_[1],I=k[2];switch(I[0]){case 0:var U=xr(I[2]),Y0=0,J0=I[3],fr=0,Q0=QXr,F0=U,gr=I[1];break;case 1:var Y=I[2],y0=Rr([0,Y[1],Y[2]]),Y0=0,J0=0,fr=1,Q0=rYr,F0=y0,gr=I[1];break;case 2:var D0=I[2],I0=Rr([0,D0[1],D0[2]]),Y0=I[3],J0=0,fr=0,Q0=eYr,F0=I0,gr=I[1];break;default:var D=I[2],u0=Rr([0,D[1],D[2]]),Y0=I[3],J0=0,fr=0,Q0=nYr,F0=u0,gr=I[1]}switch(gr[0]){case 0:var Pr=Y0,K0=0,Ur=f0(gr[1]);break;case 1:var Pr=Y0,K0=0,Ur=S(gr[1]);break;case 2:var mr=ke(tYr),Pr=mr[3],K0=mr[2],Ur=mr[1];break;default:var Cr=gr[1][2],sr=_7(Cr[2],Y0),Pr=sr,K0=1,Ur=xr(Cr[1])}return w(cYr,k[1],Pr,[0,[0,oYr,Ur],[0,[0,aYr,F0],[0,[0,xYr,sn(Q0)],[0,[0,fYr,!!fr],[0,[0,iYr,!!J0],[0,[0,uYr,!!K0],0]]]]]])}var d0=_[1],Kr=d0[2],re=[0,[0,sYr,xr(Kr[1])],0];return w(vYr,d0[1],Kr[2],re)}function b0(_){if(_[0]===0){var k=_[1],I=k[2],U=I[3],Y=I[2],y0=I[1];switch(y0[0]){case 0:var D=0,u0=0,Y0=f0(y0[1]);break;case 1:var D=0,u0=0,Y0=S(y0[1]);break;default:var D0=y0[1][2],I0=xr(D0[1]),D=D0[2],u0=1,Y0=I0}if(U)var J0=U[1],fr=yt(Y[1],J0[1]),Q0=[0,[0,lYr,xr(J0)],0],F0=w(pYr,fr,0,[0,[0,bYr,Or(Y)],Q0]);else var F0=Or(Y);return w(wYr,k[1],D,[0,[0,kYr,Y0],[0,[0,hYr,F0],[0,[0,dYr,ji],[0,[0,yYr,!1],[0,[0,_Yr,!!I[4]],[0,[0,mYr,!!u0],0]]]]]])}var gr=_[1];return B(gr[1],gr[2])}function O0(_){var k=_[2],I=[0,[0,EYr,xr(k[1])],0];return w(SYr,_[1],k[2],I)}function q0(_){return _[0]===0?xr(_[1]):O0(_[1])}function er(_){switch(_[0]){case 0:return xr(_[1]);case 1:return O0(_[1]);default:return u7}}function yr(_){var k=_[2],I=[0,[0,gYr,!!k[3]],0],U=[0,[0,FYr,xr(k[2])],I],Y=[0,[0,TYr,Or(k[1])],U];return w(OYr,_[1],0,Y)}function vr(_){var k=_[2],I=k[1],U=H1([0,[0,nVr,sn(I[1])],[0,[0,eVr,sn(I[2])],0]]);return w(iVr,_[1],0,[0,[0,uVr,U],[0,[0,tVr,!!k[2]],0]])}function $0(_){var k=_[2],I=[0,[0,pVr,e(xr,k[2])],0],U=[0,[0,mVr,Or(k[1])],I];return w(_Vr,_[1],0,U)}function Sr(_){var k=_[2],I=k[1]?pY:"plus";return w(dVr,_[1],k[2],[0,[0,yVr,I],0])}function Mr(_){var k=_[2];return k0(k[2],k[1])}function Br(_){var k=_[2],I=[0,[0,HVr,g0(k[1][2])],[0,[0,UVr,!1],0]],U=[0,[0,XVr,e(S,0)],I];return w(YVr,_[1],k[2],U)}function qr(_){var k=_[2],I=[0,[0,kKr,n(jr,k[1])],0],U=p(k[2]);return w(wKr,_[1],U,I)}function jr(_){var k=_[2],I=k[1][2],U=[0,[0,EKr,e(g0,k[4])],0],Y=[0,[0,SKr,e(Sr,k[3])],U],y0=[0,[0,gKr,i(l,k[2])],Y];return w(TKr,_[1],I[2],[0,[0,FKr,sn(I[1])],y0])}function $r(_){var k=_[2],I=[0,[0,OKr,n(g0,k[1])],0],U=p(k[2]);return w(IKr,_[1],U,I)}function ne(_){var k=_[2],I=[0,[0,AKr,n(Qr,k[1])],0],U=p(k[2]);return w(NKr,_[1],U,I)}function Qr(_){if(_[0]===0)return g0(_[1]);var k=_[1],I=k[1],U=k[2][1];return V([0,I,[0,[0,Gc(0,[0,I,CKr])],0,U]])}function pe(_){if(_[0]===0){var k=_[1],I=k[2],U=I[1],Y=U[0]===0?b(U[1]):G0(U[1]),y0=[0,[0,JKr,Y],[0,[0,WKr,e(ce,I[2])],0]];return w($Kr,k[1],0,y0)}var D0=_[1],I0=D0[2],D=[0,[0,ZKr,xr(I0[1])],0];return w(QKr,D0[1],I0[2],D)}function oe(_){var k=[0,[0,VKr,s0(_[2][1])],0];return w(zKr,_[1],0,k)}function me(_){var k=_[2],I=k[1],U=_[1],Y=I?xr(I[1]):w(rWr,[0,U[1],[0,U[2][1],U[2][2]+1|0],[0,U[3][1],U[3][2]-1|0]],0,0);return w(nWr,U,p(k[2]),[0,[0,eWr,Y],0])}function ae(_){var k=_[2],I=_[1];switch(k[0]){case 0:return dr([0,I,k[1]]);case 1:return X0([0,I,k[1]]);case 2:return me([0,I,k[1]]);case 3:var U=k[1],Y=[0,[0,tWr,xr(U[1])],0];return w(uWr,I,U[2],Y);default:var y0=k[1];return w(xWr,I,0,[0,[0,fWr,sn(y0[1])],[0,[0,iWr,sn(y0[2])],0]])}}function ce(_){return _[0]===0?f0([0,_[1],_[2]]):me([0,_[1],_[2]])}function ge(_){var k=_[2],I=k[2],U=k[1],Y=S(I?I[1]:U),y0=[0,[0,_Wr,S(U)],[0,[0,mWr,Y],0]];return w(yWr,_[1],0,y0)}function H0(_){var k=_[2];if(k[1])var I=k[2],U=TWr;else var I=k[2],U=OWr;return w(U,_[1],0,[0,[0,IWr,sn(I)],0])}function Fr(_){var k=_[2],I=k[1];if(I)var U=[0,[0,AWr,xr(I[1])],0],Y=NWr;else var U=0,Y=CWr;return w(Y,_[1],k[2],U)}return[0,A,xr]}function T(E){return y(E)[1]}return[0,T,function(E){return y(E)[2]},s]}(jne);function ab(t,n,e){var i=n[e];return Bp(i)?i|0:t}function Gne(t,n){var e=qV(n,eK)?{}:n,i=M7(t),x=ab(Bv[5],e,Vre),c=ab(Bv[4],e,zre),s=ab(Bv[3],e,Kre),p=ab(Bv[2],e,Wre),y=[0,[0,ab(Bv[1],e,Jre),p,s,c,x]],T=e.tokens,E=Bp(T),h=E&&T|0,w=e.comments,G=Bp(w)?w|0:1,A=e.all_comments,S=Bp(A)?A|0:1,M=[0,0],K=h&&[0,function(b0){return M[1]=[0,b0,M[1]],0}],V=[0,y],f0=[0,K],m0=oz?oz[1]:1,k0=f0&&f0[1],g0=V&&V[1],e0=[0,g0],x0=[0,k0],l=0,c0=x0&&x0[1],t0=e0&&e0[1],a0=une([0,c0],[0,t0],l,i),w0=u(se[1],a0),_0=de(a0[1][1]),E0=[0,GL[1],0],X0=de(be(function(b0,O0){var q0=b0[2],er=b0[1];return a(GL[3],O0,er)?[0,er,q0]:[0,a(GL[4],O0,er),[0,O0,q0]]},E0,_0)[2]);if(X0&&m0)throw[0,Vee,X0[1],X0[2]];Qe0[1]=0;for(var b=nn(i)-0|0,G0=i,X=0,s0=0;;){if(s0===b)var dr=X;else{var Ar=Hu(G0,s0),ar=0;if(0<=Ar&&!(zn>>0)throw[0,wn,bo0];switch(Or){case 0:var Rr=Hu(G0,s0);break;case 1:var Rr=(Hu(G0,s0)&31)<<6|Hu(G0,s0+1|0)&63;break;case 2:var Rr=(Hu(G0,s0)&15)<<12|(Hu(G0,s0+1|0)&63)<<6|Hu(G0,s0+2|0)&63;break;default:var Rr=(Hu(G0,s0)&7)<<18|(Hu(G0,s0+1|0)&63)<<12|(Hu(G0,s0+2|0)&63)<<6|Hu(G0,s0+3|0)&63}var X=TL(X,s0,[0,Rr]),s0=xr;continue}var dr=TL(X,s0,0)}for(var Wr=yGr,Jr=de([0,6,dr]);;){var or=Wr[3],_r=Wr[2],Ir=Wr[1];if(Jr){var fe=Jr[1];if(fe===5){var v0=Jr[2];if(v0&&v0[1]===6){var P=_l(de([0,Ir,_r])),Wr=[0,Ir+2|0,0,[0,P,or]],Jr=v0[2];continue}}else if(!(6<=fe)){var L=Jr[2],Wr=[0,Ir+Te0(fe)|0,[0,Ir,_r],or],Jr=L;continue}var Q=_l(de([0,Ir,_r])),i0=Jr[2],Wr=[0,Ir+Te0(fe)|0,0,[0,Q,or]],Jr=i0;continue}var l0=_l(de(or));if(G)var T0=w0;else var S0=u(Uee[1],0),T0=a(Ze(S0,-201766268,25),S0,w0);if(S)var R0=T0;else var rr=T0[2],R0=[0,T0[1],[0,rr[1],rr[2],0]];var B=a(nn0[1],[0,l0],R0),Z=un(X0,Qe0[1]);if(B.errors=u(nn0[3],Z),h){var p0=M[1];B.tokens=yu(Tp(u(Rne[1],l0),p0))}return B}}}if(typeof A0<"u")var tn0=A0;else{var un0={};qN.flow=un0;var tn0=un0}tn0.parse=function(t,n){try{var e=Gne(t,n);return e}catch(i){return i=Et(i),i[1]===UN?u(nK,i[2]):u(nK,new Lee(sn(Te($re,Pp(i)))))}},xN(0)}(globalThis)}});Lt();var Fae=Hu0(),Tae=lae(),Oae=bae(),Iae=kae(),Aae={comments:!1,enums:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,tokens:!0};function Nae(A0){let{message:j0,loc:{start:ur,end:hr}}=A0;return Fae(j0,{start:{line:ur.line,column:ur.column+1},end:{line:hr.line,column:hr.column+1}})}function Cae(A0,j0){let ur=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:hr}=gae(),le=hr(Oae(A0),Aae),[Ve]=le.errors;if(Ve)throw Nae(Ve);return ur.originalText=A0,Iae(le,ur)}a70.exports={parsers:{flow:Tae(Cae)}}});return Pae();}); + +/***/ }, + +/***/ 97556 +(module, exports) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var it=(t,f)=>()=>(f||t((f={exports:{}}).exports,f),f.exports);var Zt=it((nr,$e)=>{var xe=Object.getOwnPropertyNames,st=(t,f)=>function(){return t&&(f=(0,t[xe(t)[0]])(t=0)),f},I=(t,f)=>function(){return f||(0,t[xe(t)[0]])((f={exports:{}}).exports,f),f.exports},F=st({""(){}}),at=I({"node_modules/lines-and-columns/build/index.cjs"(t){"use strict";F(),t.__esModule=!0,t.LinesAndColumns=void 0;var f=` +`,h="\r",d=function(){function c(o){this.length=o.length;for(var e=[0],r=0;rthis.length)return null;for(var e=0,r=this.offsets;r[e+1]<=o;)e++;var a=o-r[e];return{line:e,column:a}},c.prototype.indexForLocation=function(o){var e=o.line,r=o.column;return e<0||e>=this.offsets.length||r<0||r>this.lengthOfLine(e)?null:this.offsets[e]+r},c.prototype.lengthOfLine=function(o){var e=this.offsets[o],r=o===this.offsets.length-1?this.length:this.offsets[o+1];return r-e},c}();t.LinesAndColumns=d}}),ut=I({"src/common/parser-create-error.js"(t,f){"use strict";F();function h(d,c){let o=new SyntaxError(d+" ("+c.start.line+":"+c.start.column+")");return o.loc=c,o}f.exports=h}}),ot=I({"src/language-handlebars/loc.js"(t,f){"use strict";F();function h(c){return c.loc.start.offset}function d(c){return c.loc.end.offset}f.exports={locStart:h,locEnd:d}}}),fe=I({"node_modules/@glimmer/env/dist/commonjs/es5/index.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f=t.DEBUG=!1,h=t.CI=!1}}),lt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/array-utils.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.emptyArray=h,t.isEmptyArray=o,t.EMPTY_NUMBER_ARRAY=t.EMPTY_STRING_ARRAY=t.EMPTY_ARRAY=void 0;var f=Object.freeze([]);t.EMPTY_ARRAY=f;function h(){return f}var d=h();t.EMPTY_STRING_ARRAY=d;var c=h();t.EMPTY_NUMBER_ARRAY=c;function o(e){return e===f}}}),Pe=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/assert.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.debugAssert=h,t.prodAssert=d,t.deprecate=c,t.default=void 0;var f=X();function h(e,r){if(!e)throw new Error(r||"assertion failure")}function d(){}function c(e){f.LOCAL_LOGGER.warn(`DEPRECATION: ${e}`)}var o=h;t.default=o}}),ct=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/collections.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.dict=f,t.isDict=h,t.isObject=d,t.StackImpl=void 0;function f(){return Object.create(null)}function h(o){return o!=null}function d(o){return typeof o=="function"||typeof o=="object"&&o!==null}var c=class{constructor(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this.current=null,this.stack=o}get size(){return this.stack.length}push(o){this.current=o,this.stack.push(o)}pop(){let o=this.stack.pop(),e=this.stack.length;return this.current=e===0?null:this.stack[e-1],o===void 0?null:o}nth(o){let e=this.stack.length;return e0&&arguments[0]!==void 0?arguments[0]:"unreachable";return new Error(i)}function p(i){throw new Error(`Exhausted ${i}`)}var n=function(){for(var i=arguments.length,l=new Array(i),b=0;b1?c-1:0),e=1;e=0}function d(l){return l>3}function c(){for(var l=arguments.length,b=new Array(l),P=0;P=-536870912}function e(l){return l&-536870913}function r(l){return l|536870912}function a(l){return~l}function p(l){return~l}function n(l){return l}function s(l){return l}function u(l){return l|=0,l<0?e(l):a(l)}function i(l){return l|=0,l>-536870913?p(l):r(l)}[1,2,3].forEach(l=>l),[1,-1].forEach(l=>i(u(l)))}}),gt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/template.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.unwrapHandle=f,t.unwrapTemplate=h,t.extractHandle=d,t.isOkHandle=c,t.isErrHandle=o;function f(e){if(typeof e=="number")return e;{let r=e.errors[0];throw new Error(`Compile Error: ${r.problem} @ ${r.span.start}..${r.span.end}`)}}function h(e){if(e.result==="error")throw new Error(`Compile Error: ${e.problem} @ ${e.span.start}..${e.span.end}`);return e}function d(e){return typeof e=="number"?e:e.handle}function c(e){return typeof e=="number"}function o(e){return typeof e=="number"}}}),bt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/weak-set.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=typeof WeakSet=="function"?WeakSet:class{constructor(){this._map=new WeakMap}add(d){return this._map.set(d,!0),this}delete(d){return this._map.delete(d)}has(d){return this._map.has(d)}};t.default=f}}),vt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/simple-cast.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.castToSimple=h,t.castToBrowser=d,t.checkNode=r;var f=me();function h(p){return o(p)||e(p),p}function d(p,n){if(p==null)return null;if(typeof document===void 0)throw new Error("Attempted to cast to a browser node in a non-browser context");if(o(p))return p;if(p.ownerDocument!==document)throw new Error("Attempted to cast to a browser node with a node that was not created from this document");return r(p,n)}function c(p,n){return new Error(`cannot cast a ${p} into ${n}`)}function o(p){return p.nodeType===9}function e(p){return p.nodeType===1}function r(p,n){let s=!1;if(p!==null)if(typeof n=="string")s=a(p,n);else if(Array.isArray(n))s=n.some(u=>a(p,u));else throw(0,f.unreachable)();if(s)return p;throw c(`SimpleElement(${p})`,n)}function a(p,n){switch(n){case"NODE":return!0;case"HTML":return p instanceof HTMLElement;case"SVG":return p instanceof SVGElement;case"ELEMENT":return p instanceof Element;default:if(n.toUpperCase()===n)throw new Error("BUG: this code is missing handling for a generic node type");return p instanceof Element&&p.tagName.toLowerCase()===n}}}}),yt=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/present.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isPresent=f,t.ifPresent=h,t.toPresentOption=d,t.assertPresent=c,t.mapPresent=o;function f(e){return e.length>0}function h(e,r,a){return f(e)?r(e):a()}function d(e){return f(e)?e:null}function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unexpected empty list";if(!f(e))throw new Error(r)}function o(e,r){if(e===null)return null;let a=[];for(let p of e)a.push(r(p));return a}}}),At=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/untouchable-this.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=d;var f=fe(),h=me();function d(c){let o=null;if(f.DEBUG&&h.HAS_NATIVE_PROXY){let e=r=>{throw new Error(`You accessed \`this.${String(r)}\` from a function passed to the ${c}, but the function itself was not bound to a valid \`this\` context. Consider updating to use a bound function (for instance, use an arrow function, \`() => {}\`).`)};o=new Proxy({},{get(r,a){e(a)},set(r,a){return e(a),!1},has(r,a){return e(a),!1}})}return o}}}),Et=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/debug-to-string.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=fe(),h;if(f.DEBUG){let c=r=>{let a=r.name;if(a===void 0){let p=Function.prototype.toString.call(r).match(/function (\w+)\s*\(/);a=p&&p[1]||""}return a.replace(/^bound /,"")},o=r=>{let a,p;return r.constructor&&typeof r.constructor=="function"&&(p=c(r.constructor)),"toString"in r&&r.toString!==Object.prototype.toString&&r.toString!==Function.prototype.toString&&(a=r.toString()),a&&a.match(/<.*:ember\d+>/)&&p&&p[0]!=="_"&&p.length>2&&p!=="Class"?a.replace(/<.*:/,`<${p}:`):a||p},e=r=>String(r);h=r=>typeof r=="function"?c(r)||"(unknown function)":typeof r=="object"&&r!==null?o(r)||"(unknown object)":e(r)}var d=h;t.default=d}}),_t=I({"node_modules/@glimmer/util/dist/commonjs/es2017/lib/debug-steps.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.logStep=t.verifySteps=t.endTestSteps=t.beginTestSteps=void 0;var f=d(Pe()),h=me();function d(a){return a&&a.__esModule?a:{default:a}}var c;t.beginTestSteps=c;var o;t.endTestSteps=o;var e;t.verifySteps=e;var r;t.logStep=r}}),X=I({"node_modules/@glimmer/util/dist/commonjs/es2017/index.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f={LOCAL_LOGGER:!0,LOGGER:!0,assertNever:!0,assert:!0,deprecate:!0,dict:!0,isDict:!0,isObject:!0,Stack:!0,isSerializationFirstNode:!0,SERIALIZATION_FIRST_NODE_STRING:!0,assign:!0,fillNulls:!0,values:!0,_WeakSet:!0,castToSimple:!0,castToBrowser:!0,checkNode:!0,intern:!0,buildUntouchableThis:!0,debugToString:!0,beginTestSteps:!0,endTestSteps:!0,logStep:!0,verifySteps:!0};t.assertNever=x,Object.defineProperty(t,"assert",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"deprecate",{enumerable:!0,get:function(){return d.deprecate}}),Object.defineProperty(t,"dict",{enumerable:!0,get:function(){return c.dict}}),Object.defineProperty(t,"isDict",{enumerable:!0,get:function(){return c.isDict}}),Object.defineProperty(t,"isObject",{enumerable:!0,get:function(){return c.isObject}}),Object.defineProperty(t,"Stack",{enumerable:!0,get:function(){return c.StackImpl}}),Object.defineProperty(t,"isSerializationFirstNode",{enumerable:!0,get:function(){return e.isSerializationFirstNode}}),Object.defineProperty(t,"SERIALIZATION_FIRST_NODE_STRING",{enumerable:!0,get:function(){return e.SERIALIZATION_FIRST_NODE_STRING}}),Object.defineProperty(t,"assign",{enumerable:!0,get:function(){return r.assign}}),Object.defineProperty(t,"fillNulls",{enumerable:!0,get:function(){return r.fillNulls}}),Object.defineProperty(t,"values",{enumerable:!0,get:function(){return r.values}}),Object.defineProperty(t,"_WeakSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"castToSimple",{enumerable:!0,get:function(){return i.castToSimple}}),Object.defineProperty(t,"castToBrowser",{enumerable:!0,get:function(){return i.castToBrowser}}),Object.defineProperty(t,"checkNode",{enumerable:!0,get:function(){return i.checkNode}}),Object.defineProperty(t,"intern",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"buildUntouchableThis",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"debugToString",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(t,"beginTestSteps",{enumerable:!0,get:function(){return v.beginTestSteps}}),Object.defineProperty(t,"endTestSteps",{enumerable:!0,get:function(){return v.endTestSteps}}),Object.defineProperty(t,"logStep",{enumerable:!0,get:function(){return v.logStep}}),Object.defineProperty(t,"verifySteps",{enumerable:!0,get:function(){return v.verifySteps}}),t.LOGGER=t.LOCAL_LOGGER=void 0;var h=lt();Object.keys(h).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return h[w]}})});var d=g(Pe()),c=ct(),o=ht();Object.keys(o).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return o[w]}})});var e=dt(),r=pt(),a=me();Object.keys(a).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return a[w]}})});var p=ft();Object.keys(p).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return p[w]}})});var n=mt();Object.keys(n).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return n[w]}})});var s=gt();Object.keys(s).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return s[w]}})});var u=_(bt()),i=vt(),l=yt();Object.keys(l).forEach(function(w){w==="default"||w==="__esModule"||Object.prototype.hasOwnProperty.call(f,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return l[w]}})});var b=_(je()),P=_(At()),E=_(Et()),v=_t();function _(w){return w&&w.__esModule?w:{default:w}}function y(){if(typeof WeakMap!="function")return null;var w=new WeakMap;return y=function(){return w},w}function g(w){if(w&&w.__esModule)return w;if(w===null||typeof w!="object"&&typeof w!="function")return{default:w};var H=y();if(H&&H.has(w))return H.get(w);var m={},C=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var S in w)if(Object.prototype.hasOwnProperty.call(w,S)){var R=C?Object.getOwnPropertyDescriptor(w,S):null;R&&(R.get||R.set)?Object.defineProperty(m,S,R):m[S]=w[S]}return m.default=w,H&&H.set(w,m),m}var L=console;t.LOCAL_LOGGER=L;var j=console;t.LOGGER=j;function x(w){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"unexpected unreachable branch";throw j.log("unreachable",w),j.log(`${H} :: ${JSON.stringify(w)} (${w})`),new Error("code reached unreachable")}}}),ge=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/location.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isLocatedWithPositionsArray=a,t.isLocatedWithPositions=p,t.BROKEN_LOCATION=t.NON_EXISTENT_LOCATION=t.TEMPORARY_LOCATION=t.SYNTHETIC=t.SYNTHETIC_LOCATION=t.UNKNOWN_POSITION=void 0;var f=X(),h=Object.freeze({line:1,column:0});t.UNKNOWN_POSITION=h;var d=Object.freeze({source:"(synthetic)",start:h,end:h});t.SYNTHETIC_LOCATION=d;var c=d;t.SYNTHETIC=c;var o=Object.freeze({source:"(temporary)",start:h,end:h});t.TEMPORARY_LOCATION=o;var e=Object.freeze({source:"(nonexistent)",start:h,end:h});t.NON_EXISTENT_LOCATION=e;var r=Object.freeze({source:"(broken)",start:h,end:h});t.BROKEN_LOCATION=r;function a(n){return(0,f.isPresent)(n)&&n.every(p)}function p(n){return n.loc!==void 0}}}),le=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/slice.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.SourceSlice=void 0;var f=ue(),h=class{constructor(d){this.loc=d.loc,this.chars=d.chars}static synthetic(d){let c=f.SourceSpan.synthetic(d);return new h({loc:c,chars:d})}static load(d,c){return new h({loc:f.SourceSpan.load(d,c[1]),chars:c[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}};t.SourceSlice=h}}),Me=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/match.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.match=e,t.IsInvisible=t.MatchAny=void 0;var f=X(),h="MATCH_ANY";t.MatchAny=h;var d="IS_INVISIBLE";t.IsInvisible=d;var c=class{constructor(p){this._whens=p}first(p){for(let n of this._whens){let s=n.match(p);if((0,f.isPresent)(s))return s[0]}return null}},o=class{constructor(){this._map=new Map}get(p,n){let s=this._map.get(p);return s||(s=n(),this._map.set(p,s),s)}add(p,n){this._map.set(p,n)}match(p){let n=a(p),s=[],u=this._map.get(n),i=this._map.get(h);return u&&s.push(u),i&&s.push(i),s}};function e(p){return p(new r).check()}var r=class{constructor(){this._whens=new o}check(){return(p,n)=>this.matchFor(p.kind,n.kind)(p,n)}matchFor(p,n){let s=this._whens.match(p);return new c(s).first(n)}when(p,n,s){return this._whens.get(p,()=>new o).add(n,s),this}};function a(p){switch(p){case"Broken":case"InternalsSynthetic":case"NonExistent":return d;default:return p}}}}),He=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/offset.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.InvisiblePosition=t.HbsPosition=t.CharPosition=t.SourceOffset=t.BROKEN=void 0;var f=ge(),h=Me(),d=Ve(),c="BROKEN";t.BROKEN=c;var o=class{constructor(n){this.data=n}static forHbsPos(n,s){return new r(n,s,null).wrap()}static broken(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f.UNKNOWN_POSITION;return new a("Broken",n).wrap()}get offset(){let n=this.data.toCharPos();return n===null?null:n.offset}eql(n){return p(this.data,n.data)}until(n){return(0,d.span)(this.data,n.data)}move(n){let s=this.data.toCharPos();if(s===null)return o.broken();{let u=s.offset+n;return s.source.check(u)?new e(s.source,u).wrap():o.broken()}}collapsed(){return(0,d.span)(this.data,this.data)}toJSON(){return this.data.toJSON()}};t.SourceOffset=o;var e=class{constructor(n,s){this.source=n,this.charPos=s,this.kind="CharPosition",this._locPos=null}toCharPos(){return this}toJSON(){let n=this.toHbsPos();return n===null?f.UNKNOWN_POSITION:n.toJSON()}wrap(){return new o(this)}get offset(){return this.charPos}toHbsPos(){let n=this._locPos;if(n===null){let s=this.source.hbsPosFor(this.charPos);s===null?this._locPos=n=c:this._locPos=n=new r(this.source,s,this.charPos)}return n===c?null:n}};t.CharPosition=e;var r=class{constructor(n,s){let u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.source=n,this.hbsPos=s,this.kind="HbsPosition",this._charPos=u===null?null:new e(n,u)}toCharPos(){let n=this._charPos;if(n===null){let s=this.source.charPosFor(this.hbsPos);s===null?this._charPos=n=c:this._charPos=n=new e(this.source,s)}return n===c?null:n}toJSON(){return this.hbsPos}wrap(){return new o(this)}toHbsPos(){return this}};t.HbsPosition=r;var a=class{constructor(n,s){this.kind=n,this.pos=s}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new o(this)}get offset(){return null}};t.InvisiblePosition=a;var p=(0,h.match)(n=>n.when("HbsPosition","HbsPosition",(s,u)=>{let{hbsPos:i}=s,{hbsPos:l}=u;return i.column===l.column&&i.line===l.line}).when("CharPosition","CharPosition",(s,u)=>{let{charPos:i}=s,{charPos:l}=u;return i===l}).when("CharPosition","HbsPosition",(s,u)=>{let{offset:i}=s;var l;return i===((l=u.toCharPos())===null||l===void 0?void 0:l.offset)}).when("HbsPosition","CharPosition",(s,u)=>{let{offset:i}=u;var l;return((l=s.toCharPos())===null||l===void 0?void 0:l.offset)===i}).when(h.MatchAny,h.MatchAny,()=>!1))}}),Ve=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/loc/span.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.span=t.HbsSpan=t.SourceSpan=void 0;var f=fe(),h=X(),d=ge(),c=le(),o=Me(),e=He(),r=class{constructor(u){this.data=u,this.isInvisible=u.kind!=="CharPosition"&&u.kind!=="HbsPosition"}static get NON_EXISTENT(){return new n("NonExistent",d.NON_EXISTENT_LOCATION).wrap()}static load(u,i){if(typeof i=="number")return r.forCharPositions(u,i,i);if(typeof i=="string")return r.synthetic(i);if(Array.isArray(i))return r.forCharPositions(u,i[0],i[1]);if(i==="NonExistent")return r.NON_EXISTENT;if(i==="Broken")return r.broken(d.BROKEN_LOCATION);(0,h.assertNever)(i)}static forHbsLoc(u,i){let l=new e.HbsPosition(u,i.start),b=new e.HbsPosition(u,i.end);return new p(u,{start:l,end:b},i).wrap()}static forCharPositions(u,i,l){let b=new e.CharPosition(u,i),P=new e.CharPosition(u,l);return new a(u,{start:b,end:P}).wrap()}static synthetic(u){return new n("InternalsSynthetic",d.NON_EXISTENT_LOCATION,u).wrap()}static broken(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:d.BROKEN_LOCATION;return new n("Broken",u).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let u=this.data.toHbsSpan();return u===null?d.BROKEN_LOCATION:u.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(u){return s(u.data,this.data.getEnd())}withEnd(u){return s(this.data.getStart(),u.data)}asString(){return this.data.asString()}toSlice(u){let i=this.data.asString();return f.DEBUG&&u!==void 0&&i!==u&&console.warn(`unexpectedly found ${JSON.stringify(i)} when slicing source, but expected ${JSON.stringify(u)}`),new c.SourceSlice({loc:this,chars:u||i})}get start(){return this.loc.start}set start(u){this.data.locDidUpdate({start:u})}get end(){return this.loc.end}set end(u){this.data.locDidUpdate({end:u})}get source(){return this.module}collapse(u){switch(u){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(u){return s(this.data.getStart(),u.data.getEnd())}serialize(){return this.data.serialize()}slice(u){let{skipStart:i=0,skipEnd:l=0}=u;return s(this.getStart().move(i).data,this.getEnd().move(-l).data)}sliceStartChars(u){let{skipStart:i=0,chars:l}=u;return s(this.getStart().move(i).data,this.getStart().move(i+l).data)}sliceEndChars(u){let{skipEnd:i=0,chars:l}=u;return s(this.getEnd().move(i-l).data,this.getStart().move(-i).data)}};t.SourceSpan=r;var a=class{constructor(u,i){this.source=u,this.charPositions=i,this.kind="CharPosition",this._locPosSpan=null}wrap(){return new r(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let u=this._locPosSpan;if(u===null){let i=this.charPositions.start.toHbsPos(),l=this.charPositions.end.toHbsPos();i===null||l===null?u=this._locPosSpan=e.BROKEN:u=this._locPosSpan=new p(this.source,{start:i,end:l})}return u===e.BROKEN?null:u}serialize(){let{start:{charPos:u},end:{charPos:i}}=this.charPositions;return u===i?u:[u,i]}toCharPosSpan(){return this}},p=class{constructor(u,i){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.source=u,this.hbsPositions=i,this.kind="HbsPosition",this._charPosSpan=null,this._providedHbsLoc=l}serialize(){let u=this.toCharPosSpan();return u===null?"Broken":u.wrap().serialize()}wrap(){return new r(this)}updateProvided(u,i){this._providedHbsLoc&&(this._providedHbsLoc[i]=u),this._charPosSpan=null,this._providedHbsLoc={start:u,end:u}}locDidUpdate(u){let{start:i,end:l}=u;i!==void 0&&(this.updateProvided(i,"start"),this.hbsPositions.start=new e.HbsPosition(this.source,i,null)),l!==void 0&&(this.updateProvided(l,"end"),this.hbsPositions.end=new e.HbsPosition(this.source,l,null))}asString(){let u=this.toCharPosSpan();return u===null?"":u.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let u=this._charPosSpan;if(u===null){let i=this.hbsPositions.start.toCharPos(),l=this.hbsPositions.end.toCharPos();if(i&&l)u=this._charPosSpan=new a(this.source,{start:i,end:l});else return u=this._charPosSpan=e.BROKEN,null}return u===e.BROKEN?null:u}};t.HbsSpan=p;var n=class{constructor(u,i){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.kind=u,this.loc=i,this.string=l}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new r(this)}asString(){return this.string||""}locDidUpdate(u){let{start:i,end:l}=u;i!==void 0&&(this.loc.start=i),l!==void 0&&(this.loc.end=l)}getModule(){return"an unknown module"}getStart(){return new e.InvisiblePosition(this.kind,this.loc.start)}getEnd(){return new e.InvisiblePosition(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return d.BROKEN_LOCATION}},s=(0,o.match)(u=>u.when("HbsPosition","HbsPosition",(i,l)=>new p(i.source,{start:i,end:l}).wrap()).when("CharPosition","CharPosition",(i,l)=>new a(i.source,{start:i,end:l}).wrap()).when("CharPosition","HbsPosition",(i,l)=>{let b=l.toCharPos();return b===null?new n("Broken",d.BROKEN_LOCATION).wrap():s(i,b)}).when("HbsPosition","CharPosition",(i,l)=>{let b=i.toCharPos();return b===null?new n("Broken",d.BROKEN_LOCATION).wrap():s(b,l)}).when(o.IsInvisible,o.MatchAny,i=>new n(i.kind,d.BROKEN_LOCATION).wrap()).when(o.MatchAny,o.IsInvisible,(i,l)=>new n(l.kind,d.BROKEN_LOCATION).wrap()));t.span=s}}),ue=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/span.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return f.SourceSpan}}),Object.defineProperty(t,"SourceOffset",{enumerable:!0,get:function(){return h.SourceOffset}});var f=Ve(),h=He()}}),De=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/source.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0;var f=fe(),h=X(),d=ue(),c=class{constructor(o){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"an unknown module";this.source=o,this.module=e}check(o){return o>=0&&o<=this.source.length}slice(o,e){return this.source.slice(o,e)}offsetFor(o,e){return d.SourceOffset.forHbsPos(this,{line:o,column:e})}spanFor(o){let{start:e,end:r}=o;return d.SourceSpan.forHbsLoc(this,{start:{line:e.line,column:e.column},end:{line:r.line,column:r.column}})}hbsPosFor(o){let e=0,r=0;if(o>this.source.length)return null;for(;;){let a=this.source.indexOf(` +`,r);if(o<=a||a===-1)return{line:e+1,column:o-r};e+=1,r=a+1}}charPosFor(o){let{line:e,column:r}=o,p=this.source.length,n=0,s=0;for(;;){if(s>=p)return p;let u=this.source.indexOf(` +`,s);if(u===-1&&(u=this.source.length),n===e-1){if(s+r>u)return u;if(f.DEBUG){let i=this.hbsPosFor(s+r)}return s+r}else{if(u===-1)return 0;n+=1,s=u+1}}}};t.Source=c}}),we=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/legacy-interop.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.PathExpressionImplV1=void 0;var f=h(ke());function h(c){return c&&c.__esModule?c:{default:c}}var d=class{constructor(c,o,e,r){this.original=c,this.loc=r,this.type="PathExpression",this.this=!1,this.data=!1,this._head=void 0;let a=e.slice();o.type==="ThisHead"?this.this=!0:o.type==="AtHead"?(this.data=!0,a.unshift(o.name.slice(1))):a.unshift(o.name),this.parts=a}get head(){if(this._head)return this._head;let c;this.this?c="this":this.data?c=`@${this.parts[0]}`:c=this.parts[0];let o=this.loc.collapse("start").sliceStartChars({chars:c.length}).loc;return this._head=f.default.head(c,o)}get tail(){return this.this?this.parts:this.parts.slice(1)}};t.PathExpressionImplV1=d}}),ke=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/public-builders.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=X(),h=ge(),d=De(),c=ue(),o=we(),e;function r(){return e||(e=new d.Source("","(synthetic)")),e}function a(T,N,k,B,O,q){return typeof T=="string"&&(T=m(T)),{type:"MustacheStatement",path:T,params:N||[],hash:k||S([]),escaped:!B,trusting:!!B,loc:U(O||null),strip:q||{open:!1,close:!1}}}function p(T,N,k,B,O,q,z,A,Q){let D,$;return B.type==="Template"?D=(0,f.assign)({},B,{type:"Block"}):D=B,O!=null&&O.type==="Template"?$=(0,f.assign)({},O,{type:"Block"}):$=O,{type:"BlockStatement",path:m(T),params:N||[],hash:k||S([]),program:D||null,inverse:$||null,loc:U(q||null),openStrip:z||{open:!1,close:!1},inverseStrip:A||{open:!1,close:!1},closeStrip:Q||{open:!1,close:!1}}}function n(T,N,k,B){return{type:"ElementModifierStatement",path:m(T),params:N||[],hash:k||S([]),loc:U(B||null)}}function s(T,N,k,B,O){return{type:"PartialStatement",name:T,params:N||[],hash:k||S([]),indent:B||"",strip:{open:!1,close:!1},loc:U(O||null)}}function u(T,N){return{type:"CommentStatement",value:T,loc:U(N||null)}}function i(T,N){return{type:"MustacheCommentStatement",value:T,loc:U(N||null)}}function l(T,N){if(!(0,f.isPresent)(T))throw new Error("b.concat requires at least one part");return{type:"ConcatStatement",parts:T||[],loc:U(N||null)}}function b(T){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{attrs:k,blockParams:B,modifiers:O,comments:q,children:z,loc:A}=N,Q,D=!1;return typeof T=="object"?(D=T.selfClosing,Q=T.name):T.slice(-1)==="/"?(Q=T.slice(0,-1),D=!0):Q=T,{type:"ElementNode",tag:Q,selfClosing:D,attributes:k||[],blockParams:B||[],modifiers:O||[],comments:q||[],children:z||[],loc:U(A||null)}}function P(T,N,k){return{type:"AttrNode",name:T,value:N,loc:U(k||null)}}function E(T,N){return{type:"TextNode",chars:T||"",loc:U(N||null)}}function v(T,N,k,B){return{type:"SubExpression",path:m(T),params:N||[],hash:k||S([]),loc:U(B||null)}}function _(T){switch(T.type){case"AtHead":return{original:T.name,parts:[T.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:T.name,parts:[T.name]}}}function y(T,N){let[k,...B]=T.split("."),O;return k==="this"?O={type:"ThisHead",loc:U(N||null)}:k[0]==="@"?O={type:"AtHead",name:k,loc:U(N||null)}:O={type:"VarHead",name:k,loc:U(N||null)},{head:O,tail:B}}function g(T){return{type:"ThisHead",loc:U(T||null)}}function L(T,N){return{type:"AtHead",name:T,loc:U(N||null)}}function j(T,N){return{type:"VarHead",name:T,loc:U(N||null)}}function x(T,N){return T[0]==="@"?L(T,N):T==="this"?g(N):j(T,N)}function w(T,N){return{type:"NamedBlockName",name:T,loc:U(N||null)}}function H(T,N,k){let{original:B,parts:O}=_(T),q=[...O,...N],z=[...B,...q].join(".");return new o.PathExpressionImplV1(z,T,N,U(k||null))}function m(T,N){if(typeof T!="string"){if("type"in T)return T;{let{head:O,tail:q}=y(T.head,c.SourceSpan.broken()),{original:z}=_(O);return new o.PathExpressionImplV1([z,...q].join("."),O,q,U(N||null))}}let{head:k,tail:B}=y(T,c.SourceSpan.broken());return new o.PathExpressionImplV1(T,k,B,U(N||null))}function C(T,N,k){return{type:T,value:N,original:N,loc:U(k||null)}}function S(T,N){return{type:"Hash",pairs:T||[],loc:U(N||null)}}function R(T,N,k){return{type:"HashPair",key:T,value:N,loc:U(k||null)}}function M(T,N,k){return{type:"Template",body:T||[],blockParams:N||[],loc:U(k||null)}}function V(T,N){let k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,B=arguments.length>3?arguments[3]:void 0;return{type:"Block",body:T||[],blockParams:N||[],chained:k,loc:U(B||null)}}function G(T,N,k){return{type:"Template",body:T||[],blockParams:N||[],loc:U(k||null)}}function K(T,N){return{line:T,column:N}}function U(){for(var T=arguments.length,N=new Array(T),k=0;k1&&arguments[1]!==void 0?arguments[1]:!1;this.ambiguity=e,this.isAngleBracket=r}static namespaced(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return new d({namespaces:[e],fallback:!1},r)}static fallback(){return new d({namespaces:[],fallback:!0})}static append(e){let{invoke:r}=e;return new d({namespaces:["Component","Helper"],fallback:!r})}static trustingAppend(e){let{invoke:r}=e;return new d({namespaces:["Helper"],fallback:!r})}static attr(){return new d({namespaces:["Helper"],fallback:!0})}resolution(){if(this.ambiguity.namespaces.length===0)return 31;if(this.ambiguity.namespaces.length===1){if(this.ambiguity.fallback)return 36;switch(this.ambiguity.namespaces[0]){case"Helper":return 37;case"Modifier":return 38;case"Component":return 39}}else return this.ambiguity.fallback?34:35}serialize(){return this.ambiguity.namespaces.length===0?"Loose":this.ambiguity.namespaces.length===1?this.ambiguity.fallback?["ambiguous","Attr"]:["ns",this.ambiguity.namespaces[0]]:this.ambiguity.fallback?["ambiguous","Append"]:["ambiguous","Invoke"]}};t.LooseModeResolution=d;var c=d.fallback();t.ARGUMENT_RESOLUTION=c;function o(e){if(typeof e=="string")switch(e){case"Loose":return d.fallback();case"Strict":return h}switch(e[0]){case"ambiguous":switch(e[1]){case"Append":return d.append({invoke:!1});case"Attr":return d.attr();case"Invoke":return d.append({invoke:!0})}case"ns":return d.namespaced(e[1])}}}}),ne=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/node.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.node=h;var f=X();function h(d){if(d!==void 0){let c=d;return{fields(){return class{constructor(o){this.type=c,(0,f.assign)(this,o)}}}}}else return{fields(){return class{constructor(c){(0,f.assign)(this,c)}}}}}}}),be=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/args.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.NamedArgument=t.NamedArguments=t.PositionalArguments=t.Args=void 0;var f=ne(),h=class extends(0,f.node)().fields(){static empty(e){return new h({loc:e,positional:d.empty(e),named:c.empty(e)})}static named(e){return new h({loc:e.loc,positional:d.empty(e.loc.collapse("end")),named:e})}nth(e){return this.positional.nth(e)}get(e){return this.named.get(e)}isEmpty(){return this.positional.isEmpty()&&this.named.isEmpty()}};t.Args=h;var d=class extends(0,f.node)().fields(){static empty(e){return new d({loc:e,exprs:[]})}get size(){return this.exprs.length}nth(e){return this.exprs[e]||null}isEmpty(){return this.exprs.length===0}};t.PositionalArguments=d;var c=class extends(0,f.node)().fields(){static empty(e){return new c({loc:e,entries:[]})}get size(){return this.entries.length}get(e){let r=this.entries.filter(a=>a.name.chars===e)[0];return r?r.value:null}isEmpty(){return this.entries.length===0}};t.NamedArguments=c;var o=class{constructor(e){this.loc=e.name.loc.extend(e.value.loc),this.name=e.name,this.value=e.value}};t.NamedArgument=o}}),Dt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/attr-block.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.ElementModifier=t.ComponentArg=t.SplatAttr=t.HtmlAttr=void 0;var f=be(),h=ne(),d=class extends(0,h.node)("HtmlAttr").fields(){};t.HtmlAttr=d;var c=class extends(0,h.node)("SplatAttr").fields(){};t.SplatAttr=c;var o=class extends(0,h.node)().fields(){toNamedArgument(){return new f.NamedArgument({name:this.name,value:this.value})}};t.ComponentArg=o;var e=class extends(0,h.node)("ElementModifier").fields(){};t.ElementModifier=e}}),wt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/base.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0})}}),ce=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/source/span-list.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.loc=d,t.hasSpan=c,t.maybeLoc=o,t.SpanList=void 0;var f=ue(),h=class{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];this._span=e}static range(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f.SourceSpan.NON_EXISTENT;return new h(e.map(d)).getRangeOffset(r)}add(e){this._span.push(e)}getRangeOffset(e){if(this._span.length===0)return e;{let r=this._span[0],a=this._span[this._span.length-1];return r.extend(a)}}};t.SpanList=h;function d(e){if(Array.isArray(e)){let r=e[0],a=e[e.length-1];return d(r).extend(d(a))}else return e instanceof f.SourceSpan?e:e.loc}function c(e){return!(Array.isArray(e)&&e.length===0)}function o(e,r){return c(e)?d(e):r}}}),kt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/content.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleElement=t.InvokeComponent=t.InvokeBlock=t.AppendContent=t.HtmlComment=t.HtmlText=t.GlimmerComment=void 0;var f=ce(),h=be(),d=ne(),c=class extends(0,d.node)("GlimmerComment").fields(){};t.GlimmerComment=c;var o=class extends(0,d.node)("HtmlText").fields(){};t.HtmlText=o;var e=class extends(0,d.node)("HtmlComment").fields(){};t.HtmlComment=e;var r=class extends(0,d.node)("AppendContent").fields(){get callee(){return this.value.type==="Call"?this.value.callee:this.value}get args(){return this.value.type==="Call"?this.value.args:h.Args.empty(this.value.loc.collapse("end"))}};t.AppendContent=r;var a=class extends(0,d.node)("InvokeBlock").fields(){};t.InvokeBlock=a;var p=class extends(0,d.node)("InvokeComponent").fields(){get args(){let s=this.componentArgs.map(u=>u.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:f.SpanList.range(s,this.callee.loc.collapse("end")),entries:s}))}};t.InvokeComponent=p;var n=class extends(0,d.node)("SimpleElement").fields(){get args(){let s=this.componentArgs.map(u=>u.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:f.SpanList.range(s,this.tag.loc.collapse("end")),entries:s}))}};t.SimpleElement=n}}),Tt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/expr.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isLiteral=c,t.InterpolateExpression=t.DeprecatedCallExpression=t.CallExpression=t.PathExpression=t.LiteralExpression=void 0;var f=le(),h=ne(),d=class extends(0,h.node)("Literal").fields(){toSlice(){return new f.SourceSlice({loc:this.loc,chars:this.value})}};t.LiteralExpression=d;function c(p,n){return p.type==="Literal"?n===void 0?!0:n==="null"?p.value===null:typeof p.value===n:!1}var o=class extends(0,h.node)("Path").fields(){};t.PathExpression=o;var e=class extends(0,h.node)("Call").fields(){};t.CallExpression=e;var r=class extends(0,h.node)("DeprecatedCall").fields(){};t.DeprecatedCallExpression=r;var a=class extends(0,h.node)("Interpolate").fields(){};t.InterpolateExpression=a}}),Bt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/refs.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.FreeVarReference=t.LocalVarReference=t.ArgReference=t.ThisReference=void 0;var f=ne(),h=class extends(0,f.node)("This").fields(){};t.ThisReference=h;var d=class extends(0,f.node)("Arg").fields(){};t.ArgReference=d;var c=class extends(0,f.node)("Local").fields(){};t.LocalVarReference=c;var o=class extends(0,f.node)("Free").fields(){};t.FreeVarReference=o}}),Ot=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/objects/internal-node.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.NamedBlock=t.NamedBlocks=t.Block=t.Template=void 0;var f=ce(),h=be(),d=ne(),c=class extends(0,d.node)().fields(){};t.Template=c;var o=class extends(0,d.node)().fields(){};t.Block=o;var e=class extends(0,d.node)().fields(){get(a){return this.blocks.filter(p=>p.name.chars===a)[0]||null}};t.NamedBlocks=e;var r=class extends(0,d.node)().fields(){get args(){let a=this.componentArgs.map(p=>p.toNamedArgument());return h.Args.named(new h.NamedArguments({loc:f.SpanList.range(a,this.name.loc.collapse("end")),entries:a}))}};t.NamedBlock=r}}),ve=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/api.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f=Pt();Object.keys(f).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return f[n]}})});var h=ne();Object.keys(h).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return h[n]}})});var d=be();Object.keys(d).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return d[n]}})});var c=Dt();Object.keys(c).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return c[n]}})});var o=wt();Object.keys(o).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return o[n]}})});var e=kt();Object.keys(e).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[n]}})});var r=Tt();Object.keys(r).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return r[n]}})});var a=Bt();Object.keys(a).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return a[n]}})});var p=Ot();Object.keys(p).forEach(function(n){n==="default"||n==="__esModule"||Object.defineProperty(t,n,{enumerable:!0,get:function(){return p[n]}})})}}),Ue=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/generation/util.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.escapeAttrValue=r,t.escapeText=a,t.sortByLoc=p;var f=/[\xA0"&]/,h=new RegExp(f.source,"g"),d=/[\xA0&<>]/,c=new RegExp(d.source,"g");function o(n){switch(n.charCodeAt(0)){case 160:return" ";case 34:return""";case 38:return"&";default:return n}}function e(n){switch(n.charCodeAt(0)){case 160:return" ";case 38:return"&";case 60:return"<";case 62:return">";default:return n}}function r(n){return f.test(n)?n.replace(h,o):n}function a(n){return d.test(n)?n.replace(c,e):n}function p(n,s){return n.loc.isInvisible||s.loc.isInvisible?0:n.loc.startPosition.line{h[e]=!0});var c=/\S/,o=class{constructor(e){this.buffer="",this.options=e}handledByOverride(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(this.options.override!==void 0){let a=this.options.override(e,this.options);if(typeof a=="string")return r&&a!==""&&c.test(a[0])&&(a=` ${a}`),this.buffer+=a,!0}return!1}Node(e){switch(e.type){case"MustacheStatement":case"BlockStatement":case"PartialStatement":case"MustacheCommentStatement":case"CommentStatement":case"TextNode":case"ElementNode":case"AttrNode":case"Block":case"Template":return this.TopLevelStatement(e);case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":case"PathExpression":case"SubExpression":return this.Expression(e);case"Program":return this.Block(e);case"ConcatStatement":return this.ConcatStatement(e);case"Hash":return this.Hash(e);case"HashPair":return this.HashPair(e);case"ElementModifierStatement":return this.ElementModifierStatement(e)}}Expression(e){switch(e.type){case"StringLiteral":case"BooleanLiteral":case"NumberLiteral":case"UndefinedLiteral":case"NullLiteral":return this.Literal(e);case"PathExpression":return this.PathExpression(e);case"SubExpression":return this.SubExpression(e)}}Literal(e){switch(e.type){case"StringLiteral":return this.StringLiteral(e);case"BooleanLiteral":return this.BooleanLiteral(e);case"NumberLiteral":return this.NumberLiteral(e);case"UndefinedLiteral":return this.UndefinedLiteral(e);case"NullLiteral":return this.NullLiteral(e)}}TopLevelStatement(e){switch(e.type){case"MustacheStatement":return this.MustacheStatement(e);case"BlockStatement":return this.BlockStatement(e);case"PartialStatement":return this.PartialStatement(e);case"MustacheCommentStatement":return this.MustacheCommentStatement(e);case"CommentStatement":return this.CommentStatement(e);case"TextNode":return this.TextNode(e);case"ElementNode":return this.ElementNode(e);case"Block":case"Template":return this.Block(e);case"AttrNode":return this.AttrNode(e)}}Block(e){if(e.chained){let r=e.body[0];r.chained=!0}this.handledByOverride(e)||this.TopLevelStatements(e.body)}TopLevelStatements(e){e.forEach(r=>this.TopLevelStatement(r))}ElementNode(e){this.handledByOverride(e)||(this.OpenElementNode(e),this.TopLevelStatements(e.children),this.CloseElementNode(e))}OpenElementNode(e){this.buffer+=`<${e.tag}`;let r=[...e.attributes,...e.modifiers,...e.comments].sort(f.sortByLoc);for(let a of r)switch(this.buffer+=" ",a.type){case"AttrNode":this.AttrNode(a);break;case"ElementModifierStatement":this.ElementModifierStatement(a);break;case"MustacheCommentStatement":this.MustacheCommentStatement(a);break}e.blockParams.length&&this.BlockParams(e.blockParams),e.selfClosing&&(this.buffer+=" /"),this.buffer+=">"}CloseElementNode(e){e.selfClosing||h[e.tag.toLowerCase()]||(this.buffer+=``)}AttrNode(e){if(this.handledByOverride(e))return;let{name:r,value:a}=e;this.buffer+=r,(a.type!=="TextNode"||a.chars.length>0)&&(this.buffer+="=",this.AttrNodeValue(a))}AttrNodeValue(e){e.type==="TextNode"?(this.buffer+='"',this.TextNode(e,!0),this.buffer+='"'):this.Node(e)}TextNode(e,r){this.handledByOverride(e)||(this.options.entityEncoding==="raw"?this.buffer+=e.chars:r?this.buffer+=(0,f.escapeAttrValue)(e.chars):this.buffer+=(0,f.escapeText)(e.chars))}MustacheStatement(e){this.handledByOverride(e)||(this.buffer+=e.escaped?"{{":"{{{",e.strip.open&&(this.buffer+="~"),this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.strip.close&&(this.buffer+="~"),this.buffer+=e.escaped?"}}":"}}}")}BlockStatement(e){this.handledByOverride(e)||(e.chained?(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else "):this.buffer+=e.openStrip.open?"{{~#":"{{#",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),e.program.blockParams.length&&this.BlockParams(e.program.blockParams),e.chained?this.buffer+=e.inverseStrip.close?"~}}":"}}":this.buffer+=e.openStrip.close?"~}}":"}}",this.Block(e.program),e.inverse&&(e.inverse.chained||(this.buffer+=e.inverseStrip.open?"{{~":"{{",this.buffer+="else",this.buffer+=e.inverseStrip.close?"~}}":"}}"),this.Block(e.inverse)),e.chained||(this.buffer+=e.closeStrip.open?"{{~/":"{{/",this.Expression(e.path),this.buffer+=e.closeStrip.close?"~}}":"}}"))}BlockParams(e){this.buffer+=` as |${e.join(" ")}|`}PartialStatement(e){this.handledByOverride(e)||(this.buffer+="{{>",this.Expression(e.name),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}ConcatStatement(e){this.handledByOverride(e)||(this.buffer+='"',e.parts.forEach(r=>{r.type==="TextNode"?this.TextNode(r,!0):this.Node(r)}),this.buffer+='"')}MustacheCommentStatement(e){this.handledByOverride(e)||(this.buffer+=`{{!--${e.value}--}}`)}ElementModifierStatement(e){this.handledByOverride(e)||(this.buffer+="{{",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+="}}")}CommentStatement(e){this.handledByOverride(e)||(this.buffer+=``)}PathExpression(e){this.handledByOverride(e)||(this.buffer+=e.original)}SubExpression(e){this.handledByOverride(e)||(this.buffer+="(",this.Expression(e.path),this.Params(e.params),this.Hash(e.hash),this.buffer+=")")}Params(e){e.length&&e.forEach(r=>{this.buffer+=" ",this.Expression(r)})}Hash(e){this.handledByOverride(e,!0)||e.pairs.forEach(r=>{this.buffer+=" ",this.HashPair(r)})}HashPair(e){this.handledByOverride(e)||(this.buffer+=e.key,this.buffer+="=",this.Node(e.value))}StringLiteral(e){this.handledByOverride(e)||(this.buffer+=JSON.stringify(e.value))}BooleanLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}NumberLiteral(e){this.handledByOverride(e)||(this.buffer+=e.value)}UndefinedLiteral(e){this.handledByOverride(e)||(this.buffer+="undefined")}NullLiteral(e){this.handledByOverride(e)||(this.buffer+="null")}print(e){let{options:r}=this;if(r.override){let a=r.override(e,r);if(a!==void 0)return a}return this.buffer="",this.Node(e),this.buffer}};t.default=o}}),Be=I({"node_modules/@handlebars/parser/dist/cjs/exception.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0});var f=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function h(d,c){var o=c&&c.loc,e,r,a,p;o&&(e=o.start.line,r=o.end.line,a=o.start.column,p=o.end.column,d+=" - "+e+":"+a);for(var n=Error.prototype.constructor.call(this,d),s=0;s"u"&&(Y.yylloc={});var Ee=Y.yylloc;A.push(Ee);var rt=Y.options&&Y.options.ranges;typeof ie.yy.parseError=="function"?this.parseError=ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $t(te){O.length=O.length-2*te,z.length=z.length-te,A.length=A.length-te}e:var nt=function(){var te;return te=Y.lex()||Re,typeof te!="number"&&(te=B.symbols_[te]||te),te};for(var J,_e,se,ee,er,Se,ae={},de,re,qe,pe;;){if(se=O[O.length-1],this.defaultActions[se]?ee=this.defaultActions[se]:((J===null||typeof J>"u")&&(J=nt()),ee=Q[se]&&Q[se][J]),typeof ee>"u"||!ee.length||!ee[0]){var Ce="";pe=[];for(de in Q[se])this.terminals_[de]&&de>et&&pe.push("'"+this.terminals_[de]+"'");Y.showPosition?Ce="Parse error on line "+($+1)+`: +`+Y.showPosition()+` +Expecting `+pe.join(", ")+", got '"+(this.terminals_[J]||J)+"'":Ce="Parse error on line "+($+1)+": Unexpected "+(J==Re?"end of input":"'"+(this.terminals_[J]||J)+"'"),this.parseError(Ce,{text:Y.match,token:this.terminals_[J]||J,line:Y.yylineno,loc:Ee,expected:pe})}if(ee[0]instanceof Array&&ee.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+J);switch(ee[0]){case 1:O.push(J),z.push(Y.yytext),A.push(Y.yylloc),O.push(ee[1]),J=null,_e?(J=_e,_e=null):(oe=Y.yyleng,D=Y.yytext,$=Y.yylineno,Ee=Y.yylloc,Ie>0&&Ie--);break;case 2:if(re=this.productions_[ee[1]][1],ae.$=z[z.length-re],ae._$={first_line:A[A.length-(re||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(re||1)].first_column,last_column:A[A.length-1].last_column},rt&&(ae._$.range=[A[A.length-(re||1)].range[0],A[A.length-1].range[1]]),Se=this.performAction.apply(ae,[D,oe,$,ie.yy,ee[1],z,A].concat(tt)),typeof Se<"u")return Se;re&&(O=O.slice(0,-1*re*2),z=z.slice(0,-1*re),A=A.slice(0,-1*re)),O.push(this.productions_[ee[1]][0]),z.push(ae.$),A.push(ae._$),qe=Q[O[O.length-2]][O[O.length-1]],O.push(qe);break;case 3:return!0}}return!0}},W=function(){var N={EOF:1,parseError:function(B,O){if(this.yy.parser)this.yy.parser.parseError(B,O);else throw new Error(B)},setInput:function(k,B){return this.yy=B||this.yy||{},this._input=k,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var k=this._input[0];this.yytext+=k,this.yyleng++,this.offset++,this.match+=k,this.matched+=k;var B=k.match(/(?:\r\n?|\n).*/g);return B?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),k},unput:function(k){var B=k.length,O=k.split(/(?:\r\n?|\n)/g);this._input=k+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-B),this.offset-=B;var q=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1&&(this.yylineno-=O.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===q.length?this.yylloc.first_column:0)+q[q.length-O.length].length-O[0].length:this.yylloc.first_column-B},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-B]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(k){this.unput(this.match.slice(k))},pastInput:function(){var k=this.matched.substr(0,this.matched.length-this.match.length);return(k.length>20?"...":"")+k.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var k=this.match;return k.length<20&&(k+=this._input.substr(0,20-k.length)),(k.substr(0,20)+(k.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var k=this.pastInput(),B=new Array(k.length+1).join("-");return k+this.upcomingInput()+` +`+B+"^"},test_match:function(k,B){var O,q,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),q=k[0].match(/(?:\r\n?|\n).*/g),q&&(this.yylineno+=q.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:q?q[q.length-1].length-q[q.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+k[0].length},this.yytext+=k[0],this.match+=k[0],this.matches=k,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(k[0].length),this.matched+=k[0],O=this.performAction.call(this,this.yy,this,B,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var A in z)this[A]=z[A];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var k,B,O,q;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),A=0;AB[0].length)){if(B=O,q=A,this.options.backtrack_lexer){if(k=this.test_match(O,z[A]),k!==!1)return k;if(this._backtrack){B=!1;continue}else return!1}else if(!this.options.flex)break}return B?(k=this.test_match(B,z[q]),k!==!1?k:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var B=this.next();return B||this.lex()},begin:function(B){this.conditionStack.push(B)},popState:function(){var B=this.conditionStack.length-1;return B>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(B){return B=this.conditionStack.length-1-Math.abs(B||0),B>=0?this.conditionStack[B]:"INITIAL"},pushState:function(B){this.begin(B)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(B,O,q,z){function A(D,$){return O.yytext=O.yytext.substring(D,O.yyleng-$+D)}var Q=z;switch(q){case 0:if(O.yytext.slice(-2)==="\\\\"?(A(0,1),this.begin("mu")):O.yytext.slice(-1)==="\\"?(A(0,1),this.begin("emu")):this.begin("mu"),O.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;// removed by dead control flow +case 3:return this.begin("raw"),15;// removed by dead control flow +case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(A(5,9),18);case 5:return 15;case 6:return this.popState(),14;// removed by dead control flow +case 7:return 64;case 8:return 67;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;// removed by dead control flow +case 11:return 56;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;// removed by dead control flow +case 16:return this.popState(),44;// removed by dead control flow +case 17:return 34;case 18:return 39;case 19:return 52;case 20:return 48;case 21:this.unput(O.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;// removed by dead control flow +case 23:return 48;case 24:return 72;case 25:return 71;case 26:return 71;case 27:return 86;case 28:break;case 29:return this.popState(),55;// removed by dead control flow +case 30:return this.popState(),33;// removed by dead control flow +case 31:return O.yytext=A(1,2).replace(/\\"/g,'"'),79;// removed by dead control flow +case 32:return O.yytext=A(1,2).replace(/\\'/g,"'"),79;// removed by dead control flow +case 33:return 84;case 34:return 81;case 35:return 81;case 36:return 82;case 37:return 83;case 38:return 80;case 39:return 74;case 40:return 76;case 41:return 71;case 42:return O.yytext=O.yytext.replace(/\\([\\\]])/g,"$1"),71;// removed by dead control flow +case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return N}();Z.lexer=W;function T(){this.yy={}}return T.prototype=Z,Z.Parser=T,new T}();t.default=f}}),Nt=I({"node_modules/@handlebars/parser/dist/cjs/printer.js"(t){"use strict";F();var f=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0}),t.PrintVisitor=t.print=void 0;var h=f(Oe());function d(o){return new c().accept(o)}t.print=d;function c(){this.padding=0}t.PrintVisitor=c,c.prototype=new h.default,c.prototype.pad=function(o){for(var e="",r=0,a=this.padding;r "+e+" }}")},c.prototype.PartialBlockStatement=function(o){var e="PARTIAL BLOCK:"+o.name.original;return o.params[0]&&(e+=" "+this.accept(o.params[0])),o.hash&&(e+=" "+this.accept(o.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(o.program),this.padding--,this.pad("{{> "+e+" }}")},c.prototype.ContentStatement=function(o){return this.pad("CONTENT[ '"+o.value+"' ]")},c.prototype.CommentStatement=function(o){return this.pad("{{! '"+o.value+"' }}")},c.prototype.SubExpression=function(o){for(var e=o.params,r=[],a,p=0,n=e.length;p0)throw new h.default("Invalid path: "+E,{loc:P});L===".."&&_++}else v.push(L)}return{type:"PathExpression",data:l,depth:_,parts:v,original:E,loc:P}}t.preparePath=a;function p(l,b,P,E,v,_){var y=E.charAt(3)||E.charAt(2),g=y!=="{"&&y!=="&",L=/\*/.test(E);return{type:L?"Decorator":"MustacheStatement",path:l,params:b,hash:P,escaped:g,strip:v,loc:this.locInfo(_)}}t.prepareMustache=p;function n(l,b,P,E){d(l,P),E=this.locInfo(E);var v={type:"Program",body:b,strip:{},loc:E};return{type:"BlockStatement",path:l.path,params:l.params,hash:l.hash,program:v,openStrip:{},inverseStrip:{},closeStrip:{},loc:E}}t.prepareRawBlock=n;function s(l,b,P,E,v,_){E&&E.path&&d(l,E);var y=/\*/.test(l.open);b.blockParams=l.blockParams;var g,L;if(P){if(y)throw new h.default("Unexpected inverse block on decorator",P);P.chain&&(P.program.body[0].closeStrip=E.strip),L=P.strip,g=P.program}return v&&(v=g,g=b,b=v),{type:y?"DecoratorBlock":"BlockStatement",path:l.path,params:l.params,hash:l.hash,program:b,inverse:g,openStrip:l.strip,inverseStrip:L,closeStrip:E&&E.strip,loc:this.locInfo(_)}}t.prepareBlock=s;function u(l,b){if(!b&&l.length){var P=l[0].loc,E=l[l.length-1].loc;P&&E&&(b={source:P.source,start:{line:P.start.line,column:P.start.column},end:{line:E.end.line,column:E.end.column}})}return{type:"Program",body:l,strip:{},loc:b}}t.prepareProgram=u;function i(l,b,P,E){return d(l,P),{type:"PartialBlockStatement",name:l.path,params:l.params,hash:l.hash,program:b,openStrip:l.strip,closeStrip:P&&P.strip,loc:this.locInfo(E)}}t.preparePartialBlock=i}}),Ft=I({"node_modules/@handlebars/parser/dist/cjs/parse.js"(t){"use strict";F();var f=t&&t.__createBinding||(Object.create?function(u,i,l,b){b===void 0&&(b=l),Object.defineProperty(u,b,{enumerable:!0,get:function(){return i[l]}})}:function(u,i,l,b){b===void 0&&(b=l),u[b]=i[l]}),h=t&&t.__setModuleDefault||(Object.create?function(u,i){Object.defineProperty(u,"default",{enumerable:!0,value:i})}:function(u,i){u.default=i}),d=t&&t.__importStar||function(u){if(u&&u.__esModule)return u;var i={};if(u!=null)for(var l in u)l!=="default"&&Object.prototype.hasOwnProperty.call(u,l)&&f(i,u,l);return h(i,u),i},c=t&&t.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.parse=t.parseWithoutProcessing=void 0;var o=c(Ge()),e=c(ze()),r=d(Lt()),a={};for(p in r)Object.prototype.hasOwnProperty.call(r,p)&&(a[p]=r[p]);var p;function n(u,i){if(u.type==="Program")return u;o.default.yy=a,o.default.yy.locInfo=function(b){return new r.SourceLocation(i&&i.srcName,b)};var l=o.default.parse(u);return l}t.parseWithoutProcessing=n;function s(u,i){var l=n(u,i),b=new e.default(i);return b.accept(l)}t.parse=s}}),It=I({"node_modules/@handlebars/parser/dist/cjs/index.js"(t){"use strict";F();var f=t&&t.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseWithoutProcessing=t.parse=t.PrintVisitor=t.print=t.Exception=t.parser=t.WhitespaceControl=t.Visitor=void 0;var h=Oe();Object.defineProperty(t,"Visitor",{enumerable:!0,get:function(){return f(h).default}});var d=ze();Object.defineProperty(t,"WhitespaceControl",{enumerable:!0,get:function(){return f(d).default}});var c=Ge();Object.defineProperty(t,"parser",{enumerable:!0,get:function(){return f(c).default}});var o=Be();Object.defineProperty(t,"Exception",{enumerable:!0,get:function(){return f(o).default}});var e=Nt();Object.defineProperty(t,"print",{enumerable:!0,get:function(){return e.print}}),Object.defineProperty(t,"PrintVisitor",{enumerable:!0,get:function(){return e.PrintVisitor}});var r=Ft();Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return r.parse}}),Object.defineProperty(t,"parseWithoutProcessing",{enumerable:!0,get:function(){return r.parseWithoutProcessing}})}}),Ke=I({"node_modules/simple-html-tokenizer/dist/simple-html-tokenizer.js"(t,f){F(),function(h,d){typeof t=="object"&&typeof f<"u"?d(t): true?!(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (d), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):0}(t,function(h){"use strict";var d={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},c=/^#[xX]([A-Fa-f0-9]+)$/,o=/^#([0-9]+)$/,e=/^([A-Za-z0-9]+)$/,r=function(){function E(v){this.named=v}return E.prototype.parse=function(v){if(v){var _=v.match(c);if(_)return String.fromCharCode(parseInt(_[1],16));if(_=v.match(o),_)return String.fromCharCode(parseInt(_[1],10));if(_=v.match(e),_)return this.named[_[1]]}},E}(),a=/[\t\n\f ]/,p=/[A-Za-z]/,n=/\r\n?/g;function s(E){return a.test(E)}function u(E){return p.test(E)}function i(E){return E.replace(n,` +`)}var l=function(){function E(v,_,y){y===void 0&&(y="precompile"),this.delegate=v,this.entityParser=_,this.mode=y,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var g=this.peek();if(g==="<"&&!this.isIgnoredEndTag())this.transitionTo("tagOpen"),this.markTagStart(),this.consume();else{if(this.mode==="precompile"&&g===` +`){var L=this.tagNameBuffer.toLowerCase();(L==="pre"||L==="textarea")&&this.consume()}this.transitionTo("data"),this.delegate.beginData()}},data:function(){var g=this.peek(),L=this.tagNameBuffer;g==="<"&&!this.isIgnoredEndTag()?(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume()):g==="&"&&L!=="script"&&L!=="style"?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(g))},tagOpen:function(){var g=this.consume();g==="!"?this.transitionTo("markupDeclarationOpen"):g==="/"?this.transitionTo("endTagOpen"):(g==="@"||g===":"||u(g))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(g))},markupDeclarationOpen:function(){var g=this.consume();if(g==="-"&&this.peek()==="-")this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment();else{var L=g.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase();L==="DOCTYPE"&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())}},doctype:function(){var g=this.consume();s(g)&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var g=this.consume();s(g)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(g.toLowerCase()))},doctypeName:function(){var g=this.consume();s(g)?this.transitionTo("afterDoctypeName"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(g.toLowerCase())},afterDoctypeName:function(){var g=this.consume();if(!s(g))if(g===">")this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var L=g.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),j=L.toUpperCase()==="PUBLIC",x=L.toUpperCase()==="SYSTEM";(j||x)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),j?this.transitionTo("afterDoctypePublicKeyword"):x&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var g=this.peek();s(g)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):g==='"'?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):g==="'"?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):g===">"&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var g=this.consume();g==='"'?this.transitionTo("afterDoctypePublicIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(g)},doctypePublicIdentifierSingleQuoted:function(){var g=this.consume();g==="'"?this.transitionTo("afterDoctypePublicIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(g)},afterDoctypePublicIdentifier:function(){var g=this.consume();s(g)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):g==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):g==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var g=this.consume();s(g)||(g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):g==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):g==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var g=this.consume();g==='"'?this.transitionTo("afterDoctypeSystemIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(g)},doctypeSystemIdentifierSingleQuoted:function(){var g=this.consume();g==="'"?this.transitionTo("afterDoctypeSystemIdentifier"):g===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(g)},afterDoctypeSystemIdentifier:function(){var g=this.consume();s(g)||g===">"&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var g=this.consume();g==="-"?this.transitionTo("commentStartDash"):g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(g),this.transitionTo("comment"))},commentStartDash:function(){var g=this.consume();g==="-"?this.transitionTo("commentEnd"):g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var g=this.consume();g==="-"?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(g)},commentEndDash:function(){var g=this.consume();g==="-"?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+g),this.transitionTo("comment"))},commentEnd:function(){var g=this.consume();g===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+g),this.transitionTo("comment"))},tagName:function(){var g=this.consume();s(g)?this.transitionTo("beforeAttributeName"):g==="/"?this.transitionTo("selfClosingStartTag"):g===">"?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(g)},endTagName:function(){var g=this.consume();s(g)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):g==="/"?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):g===">"?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(g)},beforeAttributeName:function(){var g=this.peek();if(s(g)){this.consume();return}else g==="/"?(this.transitionTo("selfClosingStartTag"),this.consume()):g===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):g==="="?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(g)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var g=this.peek();s(g)?(this.transitionTo("afterAttributeName"),this.consume()):g==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="="?(this.transitionTo("beforeAttributeValue"),this.consume()):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):g==='"'||g==="'"||g==="<"?(this.delegate.reportSyntaxError(g+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(g)):(this.consume(),this.delegate.appendToAttributeName(g))},afterAttributeName:function(){var g=this.peek();if(s(g)){this.consume();return}else g==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="="?(this.consume(),this.transitionTo("beforeAttributeValue")):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(g))},beforeAttributeValue:function(){var g=this.peek();s(g)?this.consume():g==='"'?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):g==="'"?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):g===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(g))},attributeValueDoubleQuoted:function(){var g=this.consume();g==='"'?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):g==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(g)},attributeValueSingleQuoted:function(){var g=this.consume();g==="'"?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):g==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(g)},attributeValueUnquoted:function(){var g=this.peek();s(g)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):g==="/"?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):g==="&"?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):g===">"?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(g))},afterAttributeValueQuoted:function(){var g=this.peek();s(g)?(this.consume(),this.transitionTo("beforeAttributeName")):g==="/"?(this.consume(),this.transitionTo("selfClosingStartTag")):g===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){var g=this.peek();g===">"?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var g=this.consume();(g==="@"||g===":"||u(g))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(g))}},this.reset()}return E.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},E.prototype.transitionTo=function(v){this.state=v},E.prototype.tokenize=function(v){this.reset(),this.tokenizePart(v),this.tokenizeEOF()},E.prototype.tokenizePart=function(v){for(this.input+=i(v);this.index"||v==="style"&&this.input.substring(this.index,this.index+8)!==""||v==="script"&&this.input.substring(this.index,this.index+9)!=="<\/script>"},E}(),b=function(){function E(v,_){_===void 0&&(_={}),this.options=_,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new l(this,v,_.mode),this._currentAttribute=void 0}return E.prototype.tokenize=function(v){return this.tokens=[],this.tokenizer.tokenize(v),this.tokens},E.prototype.tokenizePart=function(v){return this.tokens=[],this.tokenizer.tokenizePart(v),this.tokens},E.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},E.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},E.prototype.current=function(){var v=this.token;if(v===null)throw new Error("token was unexpectedly null");if(arguments.length===0)return v;for(var _=0;_1&&arguments[1]!==void 0?arguments[1]:{entityEncoding:"transformed"};return c?new f.default(o).print(c):""}}}),he=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/syntax-error.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.generateSyntaxError=f;function f(h,d){let{module:c,loc:o}=d,{line:e,column:r}=o.start,a=d.asString(),p=a?` + +| +| ${a.split(` +`).join(` +| `)} +| + +`:"",n=new Error(`${h}: ${p}(error occurred in '${c}' @ line ${e} : column ${r})`);return n.name="SyntaxError",n.location=d,n.code=a,n}}}),Rt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v1/visitor-keys.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=X(),h={Program:(0,f.tuple)("body"),Template:(0,f.tuple)("body"),Block:(0,f.tuple)("body"),MustacheStatement:(0,f.tuple)("path","params","hash"),BlockStatement:(0,f.tuple)("path","params","hash","program","inverse"),ElementModifierStatement:(0,f.tuple)("path","params","hash"),PartialStatement:(0,f.tuple)("name","params","hash"),CommentStatement:(0,f.tuple)(),MustacheCommentStatement:(0,f.tuple)(),ElementNode:(0,f.tuple)("attributes","modifiers","children","comments"),AttrNode:(0,f.tuple)("value"),TextNode:(0,f.tuple)(),ConcatStatement:(0,f.tuple)("parts"),SubExpression:(0,f.tuple)("path","params","hash"),PathExpression:(0,f.tuple)(),PathHead:(0,f.tuple)(),StringLiteral:(0,f.tuple)(),BooleanLiteral:(0,f.tuple)(),NumberLiteral:(0,f.tuple)(),NullLiteral:(0,f.tuple)(),UndefinedLiteral:(0,f.tuple)(),Hash:(0,f.tuple)("pairs"),HashPair:(0,f.tuple)("value"),NamedBlock:(0,f.tuple)("attributes","modifiers","children","comments"),SimpleElement:(0,f.tuple)("attributes","modifiers","children","comments"),Component:(0,f.tuple)("head","attributes","modifiers","children","comments")},d=h;t.default=d}}),Ye=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/errors.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.cannotRemoveNode=d,t.cannotReplaceNode=c,t.cannotReplaceOrRemoveInKeyHandlerYet=o,t.default=void 0;var f=function(){e.prototype=Object.create(Error.prototype),e.prototype.constructor=e;function e(r,a,p,n){let s=Error.call(this,r);this.key=n,this.message=r,this.node=a,this.parent=p,this.stack=s.stack}return e}(),h=f;t.default=h;function d(e,r,a){return new f("Cannot remove a node unless it is part of an array",e,r,a)}function c(e,r,a){return new f("Cannot replace a node with multiple nodes unless it is part of an array",e,r,a)}function o(e,r){return new f("Replacing and removing in key handlers is not yet supported.",e,null,r)}}}),Qe=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/path.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var f=class{constructor(d){let c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;this.node=d,this.parent=c,this.parentKey=o}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new h(this)}}};t.default=f;var h=class{constructor(d){this.path=d}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}}}}),Ne=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/traversal/traverse.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=E;var f=X(),h=o(Rt()),d=Ye(),c=o(Qe());function o(v){return v&&v.__esModule?v:{default:v}}function e(v){return typeof v=="function"?v:v.enter}function r(v){if(typeof v!="function")return v.exit}function a(v,_){let y=typeof v!="function"?v.keys:void 0;if(y===void 0)return;let g=y[_];return g!==void 0?g:y.All}function p(v,_){if((_==="Template"||_==="Block")&&v.Program)return v.Program;let y=v[_];return y!==void 0?y:v.All}function n(v,_){let{node:y,parent:g,parentKey:L}=_,j=p(v,y.type),x,w;j!==void 0&&(x=e(j),w=r(j));let H;if(x!==void 0&&(H=x(y,_)),H!=null)if(JSON.stringify(y)===JSON.stringify(H))H=void 0;else{if(Array.isArray(H))return l(v,H,g,L),H;{let m=new c.default(H,g,L);return n(v,m)||H}}if(H===void 0){let m=h.default[y.type];for(let C=0;C@\[-\^`\{-~]/;function d(s){let u=c(s);u&&(s.blockParams=u)}function c(s){let u=s.attributes.length,i=[];for(let b=0;b0&&i[i.length-1].charAt(0)==="|")throw(0,f.generateSyntaxError)("Block parameters must be preceded by the `as` keyword, detected block parameters without `as`",s.loc);if(l!==-1&&u>l&&i[l+1].charAt(0)==="|"){let b=i.slice(l).join(" ");if(b.charAt(b.length-1)!=="|"||b.match(/\|/g).length!==2)throw(0,f.generateSyntaxError)("Invalid block parameters syntax, '"+b+"'",s.loc);let P=[];for(let E=l+1;E1&&arguments[1]!==void 0?arguments[1]:new h.EntityParser(h.HTML5NamedCharRefs),e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"precompile";this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=c,this.lines=c.source.split(/(?:\r\n?|\n)/g),this.tokenizer=new h.EventedTokenizer(this,o,e)}offset(){let{line:c,column:o}=this.tokenizer;return this.source.offsetFor(c,o)}pos(c){let{line:o,column:e}=c;return this.source.offsetFor(o,e)}finish(c){return(0,f.assign)({},c,{loc:c.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(c){return this[c.type](c)}acceptNode(c){return this[c.type](c)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(c,o){let e=c.loc.start.line-1,r=e-1,a=c.loc.start.column,p=[],n,s,u;for(o?(s=o.loc.end.line-1,u=o.loc.end.column):(s=c.loc.end.line-1,u=c.loc.end.column);ri.acceptNode(_)):[],E=P.length>0?P[P.length-1].loc:b.loc,v=l.hash?i.Hash(l.hash):{type:"Hash",pairs:[],loc:i.source.spanFor(E).collapse("end")};return{path:b,params:P,hash:v}}function u(i,l){let{path:b,params:P,hash:E,loc:v}=l;if((0,c.isHBSLiteral)(b)){let y=`{{${(0,c.printLiteral)(b)}}}`,g=`<${i.name} ... ${y} ...`;throw(0,d.generateSyntaxError)(`In ${g}, ${y} is not a valid modifier`,l.loc)}let _=e.default.elementModifier({path:b,params:P,hash:E,loc:v});i.modifiers.push(_)}}}),Fe=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/parser/tokenizer-event-handlers.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.preprocess=_,t.TokenizerEventHandlers=void 0;var f=X(),h=It(),d=Ke(),c=b(We()),o=Te(),e=De(),r=ue(),a=he(),p=b(Ne()),n=b(Je()),s=ye(),u=b(Le()),i=b(ke()),l=xt();function b(y){return y&&y.__esModule?y:{default:y}}var P=class extends l.HandlebarsNodeVisitors{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=u.default.comment("",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(y){this.currentComment.value+=y}finishComment(){(0,s.appendChild)(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=u.default.text({chars:"",loc:this.offset().collapsed()})}appendToData(y){this.currentData.chars+=y}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),(0,s.appendChild)(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let y=this.finish(this.currentTag);if(y.type==="StartTag"){if(this.finishStartTag(),y.name===":")throw(0,a.generateSyntaxError)("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(o.voidMap[y.name]||y.selfClosing)&&this.finishEndTag(!0)}else y.type==="EndTag"&&this.finishEndTag(!1)}finishStartTag(){let{name:y,attributes:g,modifiers:L,comments:j,selfClosing:x,loc:w}=this.finish(this.currentStartTag),H=u.default.element({tag:y,selfClosing:x,attrs:g,modifiers:L,comments:j,children:[],blockParams:[],loc:w});this.elementStack.push(H)}finishEndTag(y){let g=this.finish(this.currentTag),L=this.elementStack.pop(),j=this.currentElement();this.validateEndTag(g,L,y),L.loc=L.loc.withEnd(this.offset()),(0,s.parseElementBlockParams)(L),(0,s.appendChild)(j,L)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(y){this.currentTag.name+=y}beginAttribute(){let y=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:y,valueSpan:y.collapsed()}}appendToAttributeName(y){this.currentAttr.name+=y}beginAttributeValue(y){this.currentAttr.isQuoted=y,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(y){let g=this.currentAttr.parts,L=g[g.length-1],j=this.currentAttr.currentPart;if(j)j.chars+=y,j.loc=j.loc.withEnd(this.offset());else{let x=this.offset();y===` +`?x=L?L.loc.getEnd():this.currentAttr.valueSpan.getStart():x=x.move(-1),this.currentAttr.currentPart=u.default.text({chars:y,loc:x.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let y=this.currentTag,g=this.offset();if(y.type==="EndTag")throw(0,a.generateSyntaxError)("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:y.loc.toJSON(),end:g.toJSON()}));let{name:L,parts:j,start:x,isQuoted:w,isDynamic:H,valueSpan:m}=this.currentAttr,C=this.assembleAttributeValue(j,w,H,x.until(g));C.loc=m.withEnd(g);let S=u.default.attr({name:L,value:C,loc:x.until(g)});this.currentStartTag.attributes.push(S)}reportSyntaxError(y){throw(0,a.generateSyntaxError)(y,this.offset().collapsed())}assembleConcatenatedValue(y){for(let j=0;j elements do not need end tags. You should remove it`:g.tag===void 0?j=`Closing tag without an open tag`:g.tag!==y.name&&(j=`Closing tag did not match last open tag <${g.tag}> (on line ${g.loc.startPosition.line})`),j)throw(0,a.generateSyntaxError)(j,y.loc)}assembleAttributeValue(y,g,L,j){if(L){if(g)return this.assembleConcatenatedValue(y);if(y.length===1||y.length===2&&y[1].type==="TextNode"&&y[1].chars==="/")return y[0];throw(0,a.generateSyntaxError)("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",j)}else return y.length>0?y[0]:u.default.text({chars:"",loc:j})}};t.TokenizerEventHandlers=P;var E={parse:_,builders:i.default,print:c.default,traverse:p.default,Walker:n.default},v=class extends d.EntityParser{constructor(){super({})}parse(){}};function _(y){let g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var L,j,x;let w=g.mode||"precompile",H,m;typeof y=="string"?(H=new e.Source(y,(L=g.meta)===null||L===void 0?void 0:L.moduleName),w==="codemod"?m=(0,h.parseWithoutProcessing)(y,g.parseOptions):m=(0,h.parse)(y,g.parseOptions)):y instanceof e.Source?(H=y,w==="codemod"?m=(0,h.parseWithoutProcessing)(y.source,g.parseOptions):m=(0,h.parse)(y.source,g.parseOptions)):(H=new e.Source("",(j=g.meta)===null||j===void 0?void 0:j.moduleName),m=y);let C;w==="codemod"&&(C=new v);let S=r.SourceSpan.forCharPositions(H,0,H.source.length);m.loc={source:"(program)",start:S.startPosition,end:S.endPosition};let R=new P(H,C,w).acceptTemplate(m);if(g.strictMode&&(R.blockParams=(x=g.locals)!==null&&x!==void 0?x:[]),g&&g.plugins&&g.plugins.ast)for(let M=0,V=g.plugins.ast.length;Mthis.allocate(a));return new o(this,e,r)}};t.SymbolTable=d;var c=class extends d{constructor(e,r){super(),this.templateLocals=e,this.customizeComponentName=r,this.symbols=[],this.upvars=[],this.size=1,this.named=(0,f.dict)(),this.blocks=(0,f.dict)(),this.usedTemplateLocals=[],this._hasEval=!1}getUsedTemplateLocals(){return this.usedTemplateLocals}setHasEval(){this._hasEval=!0}get hasEval(){return this._hasEval}has(e){return this.templateLocals.indexOf(e)!==-1}get(e){let r=this.usedTemplateLocals.indexOf(e);return r!==-1?[r,!0]:(r=this.usedTemplateLocals.length,this.usedTemplateLocals.push(e),[r,!0])}getLocalsMap(){return(0,f.dict)()}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map(r=>e[r])}allocateFree(e,r){r.resolution()===39&&r.isAngleBracket&&(0,h.isUpperCase)(e)&&(e=this.customizeComponentName(e));let a=this.upvars.indexOf(e);return a!==-1||(a=this.upvars.length,this.upvars.push(e)),a}allocateNamed(e){let r=this.named[e];return r||(r=this.named[e]=this.allocate(e)),r}allocateBlock(e){e==="inverse"&&(e="else");let r=this.blocks[e];return r||(r=this.blocks[e]=this.allocate(`&${e}`)),r}allocate(e){return this.symbols.push(e),this.size++}};t.ProgramSymbolTable=c;var o=class extends d{constructor(e,r,a){super(),this.parent=e,this.symbols=r,this.slots=a}get locals(){return this.symbols}has(e){return this.symbols.indexOf(e)!==-1||this.parent.has(e)}get(e){let r=this.symbols.indexOf(e);return r===-1?this.parent.get(e):[this.slots[r],!1]}getLocalsMap(){let e=this.parent.getLocalsMap();return this.symbols.forEach(r=>e[r]=this.get(r)[0]),e}getEvalInfo(){let e=this.getLocalsMap();return Object.keys(e).map(r=>e[r])}setHasEval(){this.parent.setHasEval()}allocateFree(e,r){return this.parent.allocateFree(e,r)}allocateNamed(e){return this.parent.allocateNamed(e)}allocateBlock(e){return this.parent.allocateBlock(e)}allocate(e){return this.parent.allocate(e)}};t.BlockSymbolTable=o}}),jt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/builders.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.BuildElement=t.Builder=void 0;var f=X(),h=le(),d=ce(),c=e(ve());function o(){if(typeof WeakMap!="function")return null;var n=new WeakMap;return o=function(){return n},n}function e(n){if(n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var s=o();if(s&&s.has(n))return s.get(n);var u={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in n)if(Object.prototype.hasOwnProperty.call(n,l)){var b=i?Object.getOwnPropertyDescriptor(n,l):null;b&&(b.get||b.set)?Object.defineProperty(u,l,b):u[l]=n[l]}return u.default=n,s&&s.set(n,u),u}var r=function(n,s){var u={};for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&s.indexOf(i)<0&&(u[i]=n[i]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,i=Object.getOwnPropertySymbols(n);l0||i.hash.pairs.length>0}}}),Ht=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/v2-a/normalize.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=P,t.BlockContext=void 0;var f=X(),h=b(Te()),d=Fe(),c=le(),o=ce(),e=Xe(),r=he(),a=ye(),p=b(Le()),n=l(ve()),s=jt(),u=Mt();function i(){if(typeof WeakMap!="function")return null;var m=new WeakMap;return i=function(){return m},m}function l(m){if(m&&m.__esModule)return m;if(m===null||typeof m!="object"&&typeof m!="function")return{default:m};var C=i();if(C&&C.has(m))return C.get(m);var S={},R=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var M in m)if(Object.prototype.hasOwnProperty.call(m,M)){var V=R?Object.getOwnPropertyDescriptor(m,M):null;V&&(V.get||V.set)?Object.defineProperty(S,M,V):S[M]=m[M]}return S.default=m,C&&C.set(m,S),S}function b(m){return m&&m.__esModule?m:{default:m}}function P(m){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var S;let R=(0,d.preprocess)(m,C),M=(0,f.assign)({strictMode:!1,locals:[]},C),V=e.SymbolTable.top(M.locals,(S=C.customizeComponentName)!==null&&S!==void 0?S:W=>W),G=new E(m,M,V),K=new _(G),U=new L(G.loc(R.loc),R.body.map(W=>K.normalize(W)),G).assertTemplate(V),Z=V.getUsedTemplateLocals();return[U,Z]}var E=class{constructor(m,C,S){this.source=m,this.options=C,this.table=S,this.builder=new s.Builder}get strict(){return this.options.strictMode||!1}loc(m){return this.source.spanFor(m)}resolutionFor(m,C){if(this.strict)return{resolution:n.STRICT_RESOLUTION};if(this.isFreeVar(m)){let S=C(m);return S===null?{resolution:"error",path:w(m),head:H(m)}:{resolution:S}}else return{resolution:n.STRICT_RESOLUTION}}isFreeVar(m){return m.type==="PathExpression"?m.head.type!=="VarHead"?!1:!this.table.has(m.head.name):m.path.type==="PathExpression"?this.isFreeVar(m.path):!1}hasBinding(m){return this.table.has(m)}child(m){return new E(this.source,this.options,this.table.child(m))}customizeComponentName(m){return this.options.customizeComponentName?this.options.customizeComponentName(m):m}};t.BlockContext=E;var v=class{constructor(m){this.block=m}normalize(m,C){switch(m.type){case"NullLiteral":case"BooleanLiteral":case"NumberLiteral":case"StringLiteral":case"UndefinedLiteral":return this.block.builder.literal(m.value,this.block.loc(m.loc));case"PathExpression":return this.path(m,C);case"SubExpression":{let S=this.block.resolutionFor(m,u.SexpSyntaxContext);if(S.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`${S.path}\`) but ${S.head} was not in scope`,m.loc);return this.block.builder.sexp(this.callParts(m,S.resolution),this.block.loc(m.loc))}}}path(m,C){let S=this.block.loc(m.head.loc),R=[],M=S;for(let V of m.tail)M=M.sliceStartChars({chars:V.length,skipStart:1}),R.push(new c.SourceSlice({loc:M,chars:V}));return this.block.builder.path(this.ref(m.head,C),R,this.block.loc(m.loc))}callParts(m,C){let{path:S,params:R,hash:M}=m,V=this.normalize(S,C),G=R.map(N=>this.normalize(N,n.ARGUMENT_RESOLUTION)),K=o.SpanList.range(G,V.loc.collapse("end")),U=this.block.loc(M.loc),Z=o.SpanList.range([K,U]),W=this.block.builder.positional(R.map(N=>this.normalize(N,n.ARGUMENT_RESOLUTION)),K),T=this.block.builder.named(M.pairs.map(N=>this.namedArgument(N)),this.block.loc(M.loc));return{callee:V,args:this.block.builder.args(W,T,Z)}}namedArgument(m){let S=this.block.loc(m.loc).sliceStartChars({chars:m.key.length});return this.block.builder.namedArgument(new c.SourceSlice({chars:m.key,loc:S}),this.normalize(m.value,n.ARGUMENT_RESOLUTION))}ref(m,C){let{block:S}=this,{builder:R,table:M}=S,V=S.loc(m.loc);switch(m.type){case"ThisHead":return R.self(V);case"AtHead":{let G=M.allocateNamed(m.name);return R.at(m.name,G,V)}case"VarHead":if(S.hasBinding(m.name)){let[G,K]=M.get(m.name);return S.builder.localVar(m.name,G,K,V)}else{let G=S.strict?n.STRICT_RESOLUTION:C,K=S.table.allocateFree(m.name,G);return S.builder.freeVar({name:m.name,context:G,symbol:K,loc:V})}}}},_=class{constructor(m){this.block=m}normalize(m){switch(m.type){case"PartialStatement":throw new Error("Handlebars partial syntax ({{> ...}}) is not allowed in Glimmer");case"BlockStatement":return this.BlockStatement(m);case"ElementNode":return new y(this.block).ElementNode(m);case"MustacheStatement":return this.MustacheStatement(m);case"MustacheCommentStatement":return this.MustacheCommentStatement(m);case"CommentStatement":{let C=this.block.loc(m.loc);return new n.HtmlComment({loc:C,text:C.slice({skipStart:4,skipEnd:3}).toSlice(m.value)})}case"TextNode":return new n.HtmlText({loc:this.block.loc(m.loc),chars:m.chars})}}MustacheCommentStatement(m){let C=this.block.loc(m.loc),S;return C.asString().slice(0,5)==="{{!--"?S=C.slice({skipStart:5,skipEnd:4}):S=C.slice({skipStart:3,skipEnd:2}),new n.GlimmerComment({loc:C,text:S.toSlice(m.value)})}MustacheStatement(m){let{escaped:C}=m,S=this.block.loc(m.loc),R=this.expr.callParts({path:m.path,params:m.params,hash:m.hash},(0,u.AppendSyntaxContext)(m)),M=R.args.isEmpty()?R.callee:this.block.builder.sexp(R,S);return this.block.builder.append({table:this.block.table,trusting:!C,value:M},S)}BlockStatement(m){let{program:C,inverse:S}=m,R=this.block.loc(m.loc),M=this.block.resolutionFor(m,u.BlockSyntaxContext);if(M.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`{{#${M.path}}}\`) but ${M.head} was not in scope`,R);let V=this.expr.callParts(m,M.resolution);return this.block.builder.blockStatement((0,f.assign)({symbols:this.block.table,program:this.Block(C),inverse:S?this.Block(S):null},V),R)}Block(m){let{body:C,loc:S,blockParams:R}=m,M=this.block.child(R),V=new _(M);return new j(this.block.loc(S),C.map(G=>V.normalize(G)),this.block).assertBlock(M.table)}get expr(){return new v(this.block)}},y=class{constructor(m){this.ctx=m}ElementNode(m){let{tag:C,selfClosing:S,comments:R}=m,M=this.ctx.loc(m.loc),[V,...G]=C.split("."),K=this.classifyTag(V,G,m.loc),U=m.attributes.filter(A=>A.name[0]!=="@").map(A=>this.attr(A)),Z=m.attributes.filter(A=>A.name[0]==="@").map(A=>this.arg(A)),W=m.modifiers.map(A=>this.modifier(A)),T=this.ctx.child(m.blockParams),N=new _(T),k=m.children.map(A=>N.normalize(A)),B=this.ctx.builder.element({selfClosing:S,attrs:U,componentArgs:Z,modifiers:W,comments:R.map(A=>new _(this.ctx).MustacheCommentStatement(A))}),O=new x(B,M,k,this.ctx),z=this.ctx.loc(m.loc).sliceStartChars({chars:C.length,skipStart:1});if(K==="ElementHead")return C[0]===":"?O.assertNamedBlock(z.slice({skipStart:1}).toSlice(C.slice(1)),T.table):O.assertElement(z.toSlice(C),m.blockParams.length>0);if(m.selfClosing)return B.selfClosingComponent(K,M);{let A=O.assertComponent(C,T.table,m.blockParams.length>0);return B.componentWithNamedBlocks(K,A,M)}}modifier(m){let C=this.ctx.resolutionFor(m,u.ModifierSyntaxContext);if(C.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`{{#${C.path}}}\`) as a modifier, but ${C.head} was not in scope. Try adding \`this\` to the beginning of the path`,m.loc);let S=this.expr.callParts(m,C.resolution);return this.ctx.builder.modifier(S,this.ctx.loc(m.loc))}mustacheAttr(m){let C=this.ctx.builder.sexp(this.expr.callParts(m,(0,u.AttrValueSyntaxContext)(m)),this.ctx.loc(m.loc));return C.args.isEmpty()?C.callee:C}attrPart(m){switch(m.type){case"MustacheStatement":return{expr:this.mustacheAttr(m),trusting:!m.escaped};case"TextNode":return{expr:this.ctx.builder.literal(m.chars,this.ctx.loc(m.loc)),trusting:!0}}}attrValue(m){switch(m.type){case"ConcatStatement":{let C=m.parts.map(S=>this.attrPart(S).expr);return{expr:this.ctx.builder.interpolate(C,this.ctx.loc(m.loc)),trusting:!1}}default:return this.attrPart(m)}}attr(m){if(m.name==="...attributes")return this.ctx.builder.splatAttr(this.ctx.table.allocateBlock("attrs"),this.ctx.loc(m.loc));let C=this.ctx.loc(m.loc),S=C.sliceStartChars({chars:m.name.length}).toSlice(m.name),R=this.attrValue(m.value);return this.ctx.builder.attr({name:S,value:R.expr,trusting:R.trusting},C)}maybeDeprecatedCall(m,C){if(this.ctx.strict||C.type!=="MustacheStatement")return null;let{path:S}=C;if(S.type!=="PathExpression"||S.head.type!=="VarHead")return null;let{name:R}=S.head;if(R==="has-block"||R==="has-block-params"||this.ctx.hasBinding(R)||S.tail.length!==0||C.params.length!==0||C.hash.pairs.length!==0)return null;let M=n.LooseModeResolution.attr(),V=this.ctx.builder.freeVar({name:R,context:M,symbol:this.ctx.table.allocateFree(R,M),loc:S.loc});return{expr:this.ctx.builder.deprecatedCall(m,V,C.loc),trusting:!1}}arg(m){let C=this.ctx.loc(m.loc),S=C.sliceStartChars({chars:m.name.length}).toSlice(m.name),R=this.maybeDeprecatedCall(S,m.value)||this.attrValue(m.value);return this.ctx.builder.arg({name:S,value:R.expr,trusting:R.trusting},C)}classifyTag(m,C,S){let R=(0,a.isUpperCase)(m),M=m[0]==="@"||m==="this"||this.ctx.hasBinding(m);if(this.ctx.strict&&!M){if(R)throw(0,r.generateSyntaxError)(`Attempted to invoke a component that was not in scope in a strict mode template, \`<${m}>\`. If you wanted to create an element with that name, convert it to lowercase - \`<${m.toLowerCase()}>\``,S);return"ElementHead"}let V=M||R,G=S.sliceStartChars({skipStart:1,chars:m.length}),K=C.reduce((W,T)=>W+1+T.length,0),U=G.getEnd().move(K),Z=G.withEnd(U);if(V){let W=p.default.path({head:p.default.head(m,G),tail:C,loc:Z}),T=this.ctx.resolutionFor(W,u.ComponentSyntaxContext);if(T.resolution==="error")throw(0,r.generateSyntaxError)(`You attempted to invoke a path (\`<${T.path}>\`) but ${T.head} was not in scope`,S);return new v(this.ctx).normalize(W,T.resolution)}if(C.length>0)throw(0,r.generateSyntaxError)(`You used ${m}.${C.join(".")} as a tag name, but ${m} is not in scope`,S);return"ElementHead"}get expr(){return new v(this.ctx)}},g=class{constructor(m,C,S){this.loc=m,this.children=C,this.block=S,this.namedBlocks=C.filter(R=>R instanceof n.NamedBlock),this.hasSemanticContent=Boolean(C.filter(R=>{if(R instanceof n.NamedBlock)return!1;switch(R.type){case"GlimmerComment":case"HtmlComment":return!1;case"HtmlText":return!/^\s*$/.exec(R.chars);default:return!0}}).length),this.nonBlockChildren=C.filter(R=>!(R instanceof n.NamedBlock))}},L=class extends g{assertTemplate(m){if((0,f.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)("Unexpected named block at the top-level of a template",this.loc);return this.block.builder.template(m,this.nonBlockChildren,this.block.loc(this.loc))}},j=class extends g{assertBlock(m){if((0,f.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)("Unexpected named block nested in a normal block",this.loc);return this.block.builder.block(m,this.nonBlockChildren,this.loc)}},x=class extends g{constructor(m,C,S,R){super(C,S,R),this.el=m}assertNamedBlock(m,C){if(this.el.base.selfClosing)throw(0,r.generateSyntaxError)(`<:${m.chars}/> is not a valid named block: named blocks cannot be self-closing`,this.loc);if((0,f.isPresent)(this.namedBlocks))throw(0,r.generateSyntaxError)(`Unexpected named block inside <:${m.chars}> named block: named blocks cannot contain nested named blocks`,this.loc);if(!(0,a.isLowerCase)(m.chars))throw(0,r.generateSyntaxError)(`<:${m.chars}> is not a valid named block, and named blocks must begin with a lowercase letter`,this.loc);if(this.el.base.attrs.length>0||this.el.base.componentArgs.length>0||this.el.base.modifiers.length>0)throw(0,r.generateSyntaxError)(`named block <:${m.chars}> cannot have attributes, arguments, or modifiers`,this.loc);let S=o.SpanList.range(this.nonBlockChildren,this.loc);return this.block.builder.namedBlock(m,this.block.builder.block(C,this.nonBlockChildren,S),this.loc)}assertElement(m,C){if(C)throw(0,r.generateSyntaxError)(`Unexpected block params in <${m}>: simple elements cannot have block params`,this.loc);if((0,f.isPresent)(this.namedBlocks)){let S=this.namedBlocks.map(R=>R.name);if(S.length===1)throw(0,r.generateSyntaxError)(`Unexpected named block <:foo> inside <${m.chars}> HTML element`,this.loc);{let R=S.map(M=>`<:${M.chars}>`).join(", ");throw(0,r.generateSyntaxError)(`Unexpected named blocks inside <${m.chars}> HTML element (${R})`,this.loc)}}return this.el.simple(m,this.nonBlockChildren,this.loc)}assertComponent(m,C,S){if((0,f.isPresent)(this.namedBlocks)&&this.hasSemanticContent)throw(0,r.generateSyntaxError)(`Unexpected content inside <${m}> component invocation: when using named blocks, the tag cannot contain other content`,this.loc);if((0,f.isPresent)(this.namedBlocks)){if(S)throw(0,r.generateSyntaxError)(`Unexpected block params list on <${m}> component invocation: when passing named blocks, the invocation tag cannot take block params`,this.loc);let R=new Set;for(let M of this.namedBlocks){let V=M.name.chars;if(R.has(V))throw(0,r.generateSyntaxError)(`Component had two named blocks with the same name, \`<:${V}>\`. Only one block with a given name may be passed`,this.loc);if(V==="inverse"&&R.has("else")||V==="else"&&R.has("inverse"))throw(0,r.generateSyntaxError)("Component has both <:else> and <:inverse> block. <:inverse> is an alias for <:else>",this.loc);R.add(V)}return this.namedBlocks}else return[this.block.builder.namedBlock(c.SourceSlice.synthetic("default"),this.block.builder.block(C,this.nonBlockChildren,this.loc),this.loc)]}};function w(m){return m.type!=="PathExpression"&&m.path.type==="PathExpression"?w(m.path):new h.default({entityEncoding:"raw"}).print(m)}function H(m){if(m.type==="PathExpression")switch(m.head.type){case"AtHead":case"VarHead":return m.head.name;case"ThisHead":return"this"}else return m.path.type==="PathExpression"?H(m.path):new h.default({entityEncoding:"raw"}).print(m)}}}),Ze=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/keywords.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.isKeyword=f,t.KEYWORDS_TYPES=void 0;function f(d){return d in h}var h={component:["Call","Append","Block"],debugger:["Append"],"each-in":["Block"],each:["Block"],"has-block-params":["Call","Append"],"has-block":["Call","Append"],helper:["Call","Append"],if:["Call","Append","Block"],"in-element":["Block"],let:["Block"],"link-to":["Append","Block"],log:["Call","Append"],modifier:["Call"],mount:["Append"],mut:["Call","Append"],outlet:["Append"],"query-params":["Call"],readonly:["Call","Append"],unbound:["Call","Append"],unless:["Call","Append","Block"],with:["Block"],yield:["Append"]};t.KEYWORDS_TYPES=h}}),Vt=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/lib/get-template-locals.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),t.getTemplateLocals=r;var f=Ze(),h=Fe(),d=c(Ne());function c(a){return a&&a.__esModule?a:{default:a}}function o(a,p,n){if(a.type==="PathExpression"){if(a.head.type==="AtHead"||a.head.type==="ThisHead")return;let s=a.head.name;if(p.indexOf(s)===-1)return s}else if(a.type==="ElementNode"){let{tag:s}=a,u=s.charAt(0);return u===":"||u==="@"||!n.includeHtmlElements&&s.indexOf(".")===-1&&s.toLowerCase()===s||s.substr(0,5)==="this."||p.indexOf(s)!==-1?void 0:s}}function e(a,p,n,s){let u=o(p,n,s);(Array.isArray(u)?u:[u]).forEach(i=>{i!==void 0&&i[0]!=="@"&&a.add(i.split(".")[0])})}function r(a){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{includeHtmlElements:!1,includeKeywords:!1},n=(0,h.preprocess)(a),s=new Set,u=[];(0,d.default)(n,{Block:{enter(l){let{blockParams:b}=l;b.forEach(P=>{u.push(P)})},exit(l){let{blockParams:b}=l;b.forEach(()=>{u.pop()})}},ElementNode:{enter(l){l.blockParams.forEach(b=>{u.push(b)}),e(s,l,u,p)},exit(l){let{blockParams:b}=l;b.forEach(()=>{u.pop()})}},PathExpression(l){e(s,l,u,p)}});let i=[];return s.forEach(l=>i.push(l)),p!=null&&p.includeKeywords||(i=i.filter(l=>!(0,f.isKeyword)(l))),i}}}),Ut=I({"node_modules/@glimmer/syntax/dist/commonjs/es2017/index.js"(t){"use strict";F(),Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Source",{enumerable:!0,get:function(){return f.Source}}),Object.defineProperty(t,"builders",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"normalize",{enumerable:!0,get:function(){return o.normalize}}),Object.defineProperty(t,"SymbolTable",{enumerable:!0,get:function(){return e.SymbolTable}}),Object.defineProperty(t,"BlockSymbolTable",{enumerable:!0,get:function(){return e.BlockSymbolTable}}),Object.defineProperty(t,"ProgramSymbolTable",{enumerable:!0,get:function(){return e.ProgramSymbolTable}}),Object.defineProperty(t,"generateSyntaxError",{enumerable:!0,get:function(){return r.generateSyntaxError}}),Object.defineProperty(t,"preprocess",{enumerable:!0,get:function(){return a.preprocess}}),Object.defineProperty(t,"print",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"sortByLoc",{enumerable:!0,get:function(){return n.sortByLoc}}),Object.defineProperty(t,"Walker",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"Path",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"traverse",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"cannotRemoveNode",{enumerable:!0,get:function(){return i.cannotRemoveNode}}),Object.defineProperty(t,"cannotReplaceNode",{enumerable:!0,get:function(){return i.cannotReplaceNode}}),Object.defineProperty(t,"WalkerPath",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"isKeyword",{enumerable:!0,get:function(){return b.isKeyword}}),Object.defineProperty(t,"KEYWORDS_TYPES",{enumerable:!0,get:function(){return b.KEYWORDS_TYPES}}),Object.defineProperty(t,"getTemplateLocals",{enumerable:!0,get:function(){return P.getTemplateLocals}}),Object.defineProperty(t,"SourceSlice",{enumerable:!0,get:function(){return E.SourceSlice}}),Object.defineProperty(t,"SourceSpan",{enumerable:!0,get:function(){return v.SourceSpan}}),Object.defineProperty(t,"SpanList",{enumerable:!0,get:function(){return _.SpanList}}),Object.defineProperty(t,"maybeLoc",{enumerable:!0,get:function(){return _.maybeLoc}}),Object.defineProperty(t,"loc",{enumerable:!0,get:function(){return _.loc}}),Object.defineProperty(t,"hasSpan",{enumerable:!0,get:function(){return _.hasSpan}}),Object.defineProperty(t,"node",{enumerable:!0,get:function(){return y.node}}),t.ASTv2=t.AST=t.ASTv1=void 0;var f=De(),h=j(ke()),d=L(Ct());t.ASTv1=d,t.AST=d;var c=L(ve());t.ASTv2=c;var o=Ht(),e=Xe(),r=he(),a=Fe(),p=j(We()),n=Ue(),s=j(Je()),u=j(Ne()),i=Ye(),l=j(Qe()),b=Ze(),P=Vt(),E=le(),v=ue(),_=ce(),y=ne();function g(){if(typeof WeakMap!="function")return null;var x=new WeakMap;return g=function(){return x},x}function L(x){if(x&&x.__esModule)return x;if(x===null||typeof x!="object"&&typeof x!="function")return{default:x};var w=g();if(w&&w.has(x))return w.get(x);var H={},m=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var C in x)if(Object.prototype.hasOwnProperty.call(x,C)){var S=m?Object.getOwnPropertyDescriptor(x,C):null;S&&(S.get||S.set)?Object.defineProperty(H,C,S):H[C]=x[C]}return H.default=x,w&&w.set(x,H),H}function j(x){return x&&x.__esModule?x:{default:x}}}});F();var{LinesAndColumns:zt}=at(),Gt=ut(),{locStart:Kt,locEnd:Wt}=ot();function Yt(){return{name:"addBackslash",visitor:{All(t){var f;let h=(f=t.children)!==null&&f!==void 0?f:t.body;if(h)for(let d=0;d{let{line:c,column:o}=d;return f.indexForLocation({line:c-1,column:o})};return()=>({name:"addOffset",visitor:{All(d){let{start:c,end:o}=d.loc;c.offset=h(c),o.offset=h(o)}}})}function Jt(t){let{preprocess:f}=Ut(),h;try{h=f(t,{mode:"codemod",plugins:{ast:[Yt,Qt(t)]}})}catch(d){let c=Xt(d);throw c?Gt(d.message,c):d}return h}function Xt(t){let{location:f,hash:h}=t;if(f){let{start:d,end:c}=f;return typeof c.line!="number"?{start:d}:f}if(h){let{loc:{last_line:d,last_column:c}}=h;return{start:{line:d,column:c+1}}}}$e.exports={parsers:{glimmer:{parse:Jt,astFormat:"glimmer",locStart:Kt,locEnd:Wt}}}});return Zt();}); + +/***/ }, + +/***/ 55054 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var oe=(a,d)=>()=>(d||a((d={exports:{}}).exports,d),d.exports);var be=oe((Ce,ae)=>{var H=Object.getOwnPropertyNames,se=(a,d)=>function(){return a&&(d=(0,a[H(a)[0]])(a=0)),d},L=(a,d)=>function(){return d||(0,a[H(a)[0]])((d={exports:{}}).exports,d),d.exports},K=se({""(){}}),ce=L({"src/common/parser-create-error.js"(a,d){"use strict";K();function i(c,r){let _=new SyntaxError(c+" ("+r.start.line+":"+r.start.column+")");return _.loc=r,_}d.exports=i}}),ue=L({"src/utils/try-combinations.js"(a,d){"use strict";K();function i(){let c;for(var r=arguments.length,_=new Array(r),E=0;E120){for(var t=Math.floor(s/80),u=s%80,y=[],f=0;f"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function e(f){return Function.toString.call(f).indexOf("[native code]")!==-1}function n(f,m){return n=Object.setPrototypeOf||function(h,l){return h.__proto__=l,h},n(f,m)}function t(f){return t=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)},t(f)}var u=function(f){N(o,f);var m=g(o);function o(h,l,T,S,x,b,M){var U,V,q,G,C;k(this,o),C=m.call(this,h);var R=Array.isArray(l)?l.length!==0?l:void 0:l?[l]:void 0,Y=T;if(!Y&&R){var J;Y=(J=R[0].loc)===null||J===void 0?void 0:J.source}var F=S;!F&&R&&(F=R.reduce(function(w,P){return P.loc&&w.push(P.loc.start),w},[])),F&&F.length===0&&(F=void 0);var B;S&&T?B=S.map(function(w){return(0,r.getLocation)(T,w)}):R&&(B=R.reduce(function(w,P){return P.loc&&w.push((0,r.getLocation)(P.loc.source,P.loc.start)),w},[]));var j=M;if(j==null&&b!=null){var Q=b.extensions;(0,i.default)(Q)&&(j=Q)}return Object.defineProperties(v(C),{name:{value:"GraphQLError"},message:{value:h,enumerable:!0,writable:!0},locations:{value:(U=B)!==null&&U!==void 0?U:void 0,enumerable:B!=null},path:{value:x!=null?x:void 0,enumerable:x!=null},nodes:{value:R!=null?R:void 0},source:{value:(V=Y)!==null&&V!==void 0?V:void 0},positions:{value:(q=F)!==null&&q!==void 0?q:void 0},originalError:{value:b},extensions:{value:(G=j)!==null&&G!==void 0?G:void 0,enumerable:j!=null}}),b!=null&&b.stack?(Object.defineProperty(v(C),"stack",{value:b.stack,writable:!0,configurable:!0}),D(C)):(Error.captureStackTrace?Error.captureStackTrace(v(C),o):Object.defineProperty(v(C),"stack",{value:Error().stack,writable:!0,configurable:!0}),C)}return A(o,[{key:"toString",value:function(){return y(this)}},{key:c.SYMBOL_TO_STRING_TAG,get:function(){return"Object"}}]),o}(I(Error));a.GraphQLError=u;function y(f){var m=f.message;if(f.nodes)for(var o=0,h=f.nodes;o",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});a.TokenKind=d}}),re=L({"node_modules/graphql/jsutils/inspect.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.default=E;var d=i(ee());function i(v){return v&&v.__esModule?v:{default:v}}function c(v){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?c=function(s){return typeof s}:c=function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},c(v)}var r=10,_=2;function E(v){return k(v,[])}function k(v,I){switch(c(v)){case"string":return JSON.stringify(v);case"function":return v.name?"[function ".concat(v.name,"]"):"[function]";case"object":return v===null?"null":O(v,I);default:return String(v)}}function O(v,I){if(I.indexOf(v)!==-1)return"[Circular]";var s=[].concat(I,[v]),p=g(v);if(p!==void 0){var e=p.call(v);if(e!==v)return typeof e=="string"?e:k(e,s)}else if(Array.isArray(v))return N(v,s);return A(v,s)}function A(v,I){var s=Object.keys(v);if(s.length===0)return"{}";if(I.length>_)return"["+D(v)+"]";var p=s.map(function(e){var n=k(v[e],I);return e+": "+n});return"{ "+p.join(", ")+" }"}function N(v,I){if(v.length===0)return"[]";if(I.length>_)return"[Array]";for(var s=Math.min(r,v.length),p=v.length-s,e=[],n=0;n1&&e.push("... ".concat(p," more items")),"["+e.join(", ")+"]"}function g(v){var I=v[String(d.default)];if(typeof I=="function")return I;if(typeof v.inspect=="function")return v.inspect}function D(v){var I=Object.prototype.toString.call(v).replace(/^\[object /,"").replace(/]$/,"");if(I==="Object"&&typeof v.constructor=="function"){var s=v.constructor.name;if(typeof s=="string"&&s!=="")return s}return I}}}),_e=L({"node_modules/graphql/jsutils/devAssert.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.default=d;function d(i,c){var r=Boolean(i);if(!r)throw new Error(c)}}}),Ee=L({"node_modules/graphql/jsutils/instanceOf.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var d=i(re());function i(r){return r&&r.__esModule?r:{default:r}}var c=function(_,E){return _ instanceof E};a.default=c}}),me=L({"node_modules/graphql/language/source.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.isSource=A,a.Source=void 0;var d=z(),i=_(re()),c=_(_e()),r=_(Ee());function _(N){return N&&N.__esModule?N:{default:N}}function E(N,g){for(var D=0;D1&&arguments[1]!==void 0?arguments[1]:"GraphQL request",v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{line:1,column:1};typeof g=="string"||(0,c.default)(0,"Body must be a string. Received: ".concat((0,i.default)(g),".")),this.body=g,this.name=D,this.locationOffset=v,this.locationOffset.line>0||(0,c.default)(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||(0,c.default)(0,"column in locationOffset is 1-indexed and must be positive.")}return k(N,[{key:d.SYMBOL_TO_STRING_TAG,get:function(){return"Source"}}]),N}();a.Source=O;function A(N){return(0,r.default)(N,O)}}}),ye=L({"node_modules/graphql/language/directiveLocation.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.DirectiveLocation=void 0;var d=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});a.DirectiveLocation=d}}),ke=L({"node_modules/graphql/language/blockString.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.dedentBlockStringValue=d,a.getBlockStringIndentation=c,a.printBlockString=r;function d(_){var E=_.split(/\r\n|[\n\r]/g),k=c(_);if(k!==0)for(var O=1;OA&&i(E[N-1]);)--N;return E.slice(A,N).join(` +`)}function i(_){for(var E=0;E<_.length;++E)if(_[E]!==" "&&_[E]!==" ")return!1;return!0}function c(_){for(var E,k=!0,O=!0,A=0,N=null,g=0;g<_.length;++g)switch(_.charCodeAt(g)){case 13:_.charCodeAt(g+1)===10&&++g;case 10:k=!1,O=!0,A=0;break;case 9:case 32:++A;break;default:O&&!k&&(N===null||A1&&arguments[1]!==void 0?arguments[1]:"",k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,O=_.indexOf(` +`)===-1,A=_[0]===" "||_[0]===" ",N=_[_.length-1]==='"',g=_[_.length-1]==="\\",D=!O||N||g||k,v="";return D&&!(O&&A)&&(v+=` +`+E),v+=E?_.replace(/\n/g,` +`+E):_,D&&(v+=` +`),'"""'+v.replace(/"""/g,'\\"""')+'"""'}}}),Ne=L({"node_modules/graphql/language/lexer.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.isPunctuatorTokenKind=E,a.Lexer=void 0;var d=Z(),i=te(),c=ne(),r=ke(),_=function(){function t(y){var f=new i.Token(c.TokenKind.SOF,0,0,0,0,null);this.source=y,this.lastToken=f,this.token=f,this.line=1,this.lineStart=0}var u=t.prototype;return u.advance=function(){this.lastToken=this.token;var f=this.token=this.lookahead();return f},u.lookahead=function(){var f=this.token;if(f.kind!==c.TokenKind.EOF)do{var m;f=(m=f.next)!==null&&m!==void 0?m:f.next=O(this,f)}while(f.kind===c.TokenKind.COMMENT);return f},t}();a.Lexer=_;function E(t){return t===c.TokenKind.BANG||t===c.TokenKind.DOLLAR||t===c.TokenKind.AMP||t===c.TokenKind.PAREN_L||t===c.TokenKind.PAREN_R||t===c.TokenKind.SPREAD||t===c.TokenKind.COLON||t===c.TokenKind.EQUALS||t===c.TokenKind.AT||t===c.TokenKind.BRACKET_L||t===c.TokenKind.BRACKET_R||t===c.TokenKind.BRACE_L||t===c.TokenKind.PIPE||t===c.TokenKind.BRACE_R}function k(t){return isNaN(t)?c.TokenKind.EOF:t<127?JSON.stringify(String.fromCharCode(t)):'"\\u'.concat(("00"+t.toString(16).toUpperCase()).slice(-4),'"')}function O(t,u){for(var y=t.source,f=y.body,m=f.length,o=u.end;o31||h===9));return new i.Token(c.TokenKind.COMMENT,u,l,y,f,m,o.slice(u+1,l))}function g(t,u,y,f,m,o){var h=t.body,l=y,T=u,S=!1;if(l===45&&(l=h.charCodeAt(++T)),l===48){if(l=h.charCodeAt(++T),l>=48&&l<=57)throw(0,d.syntaxError)(t,T,"Invalid number, unexpected digit after 0: ".concat(k(l),"."))}else T=D(t,T,l),l=h.charCodeAt(T);if(l===46&&(S=!0,l=h.charCodeAt(++T),T=D(t,T,l),l=h.charCodeAt(T)),(l===69||l===101)&&(S=!0,l=h.charCodeAt(++T),(l===43||l===45)&&(l=h.charCodeAt(++T)),T=D(t,T,l),l=h.charCodeAt(T)),l===46||n(l))throw(0,d.syntaxError)(t,T,"Invalid number, expected digit but got: ".concat(k(l),"."));return new i.Token(S?c.TokenKind.FLOAT:c.TokenKind.INT,u,T,f,m,o,h.slice(u,T))}function D(t,u,y){var f=t.body,m=u,o=y;if(o>=48&&o<=57){do o=f.charCodeAt(++m);while(o>=48&&o<=57);return m}throw(0,d.syntaxError)(t,m,"Invalid number, expected digit but got: ".concat(k(o),"."))}function v(t,u,y,f,m){for(var o=t.body,h=u+1,l=h,T=0,S="";h=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:-1}function e(t,u,y,f,m){for(var o=t.body,h=o.length,l=u+1,T=0;l!==h&&!isNaN(T=o.charCodeAt(l))&&(T===95||T>=48&&T<=57||T>=65&&T<=90||T>=97&&T<=122);)++l;return new i.Token(c.TokenKind.NAME,u,l,y,f,m,o.slice(u,l))}function n(t){return t===95||t>=65&&t<=90||t>=97&&t<=122}}}),Oe=L({"node_modules/graphql/language/parser.js"(a){"use strict";K(),Object.defineProperty(a,"__esModule",{value:!0}),a.parse=O,a.parseValue=A,a.parseType=N,a.Parser=void 0;var d=Z(),i=he(),c=te(),r=ne(),_=me(),E=ye(),k=Ne();function O(I,s){var p=new g(I,s);return p.parseDocument()}function A(I,s){var p=new g(I,s);p.expectToken(r.TokenKind.SOF);var e=p.parseValueLiteral(!1);return p.expectToken(r.TokenKind.EOF),e}function N(I,s){var p=new g(I,s);p.expectToken(r.TokenKind.SOF);var e=p.parseTypeReference();return p.expectToken(r.TokenKind.EOF),e}var g=function(){function I(p,e){var n=(0,_.isSource)(p)?p:new _.Source(p);this._lexer=new k.Lexer(n),this._options=e}var s=I.prototype;return s.parseName=function(){var e=this.expectToken(r.TokenKind.NAME);return{kind:i.Kind.NAME,value:e.value,loc:this.loc(e)}},s.parseDocument=function(){var e=this._lexer.token;return{kind:i.Kind.DOCUMENT,definitions:this.many(r.TokenKind.SOF,this.parseDefinition,r.TokenKind.EOF),loc:this.loc(e)}},s.parseDefinition=function(){if(this.peek(r.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(r.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},s.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(r.TokenKind.BRACE_L))return{kind:i.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var n=this.parseOperationType(),t;return this.peek(r.TokenKind.NAME)&&(t=this.parseName()),{kind:i.Kind.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},s.parseOperationType=function(){var e=this.expectToken(r.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},s.parseVariableDefinitions=function(){return this.optionalMany(r.TokenKind.PAREN_L,this.parseVariableDefinition,r.TokenKind.PAREN_R)},s.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:i.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(r.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(r.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},s.parseVariable=function(){var e=this._lexer.token;return this.expectToken(r.TokenKind.DOLLAR),{kind:i.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},s.parseSelectionSet=function(){var e=this._lexer.token;return{kind:i.Kind.SELECTION_SET,selections:this.many(r.TokenKind.BRACE_L,this.parseSelection,r.TokenKind.BRACE_R),loc:this.loc(e)}},s.parseSelection=function(){return this.peek(r.TokenKind.SPREAD)?this.parseFragment():this.parseField()},s.parseField=function(){var e=this._lexer.token,n=this.parseName(),t,u;return this.expectOptionalToken(r.TokenKind.COLON)?(t=n,u=this.parseName()):u=n,{kind:i.Kind.FIELD,alias:t,name:u,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(r.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(e)}},s.parseArguments=function(e){var n=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(r.TokenKind.PAREN_L,n,r.TokenKind.PAREN_R)},s.parseArgument=function(){var e=this._lexer.token,n=this.parseName();return this.expectToken(r.TokenKind.COLON),{kind:i.Kind.ARGUMENT,name:n,value:this.parseValueLiteral(!1),loc:this.loc(e)}},s.parseConstArgument=function(){var e=this._lexer.token;return{kind:i.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(r.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},s.parseFragment=function(){var e=this._lexer.token;this.expectToken(r.TokenKind.SPREAD);var n=this.expectOptionalKeyword("on");return!n&&this.peek(r.TokenKind.NAME)?{kind:i.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:i.Kind.INLINE_FRAGMENT,typeCondition:n?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},s.parseFragmentDefinition=function(){var e,n=this._lexer.token;return this.expectKeyword("fragment"),((e=this._options)===null||e===void 0?void 0:e.experimentalFragmentVariables)===!0?{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}:{kind:i.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(n)}},s.parseFragmentName=function(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()},s.parseValueLiteral=function(e){var n=this._lexer.token;switch(n.kind){case r.TokenKind.BRACKET_L:return this.parseList(e);case r.TokenKind.BRACE_L:return this.parseObject(e);case r.TokenKind.INT:return this._lexer.advance(),{kind:i.Kind.INT,value:n.value,loc:this.loc(n)};case r.TokenKind.FLOAT:return this._lexer.advance(),{kind:i.Kind.FLOAT,value:n.value,loc:this.loc(n)};case r.TokenKind.STRING:case r.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case r.TokenKind.NAME:switch(this._lexer.advance(),n.value){case"true":return{kind:i.Kind.BOOLEAN,value:!0,loc:this.loc(n)};case"false":return{kind:i.Kind.BOOLEAN,value:!1,loc:this.loc(n)};case"null":return{kind:i.Kind.NULL,loc:this.loc(n)};default:return{kind:i.Kind.ENUM,value:n.value,loc:this.loc(n)}}case r.TokenKind.DOLLAR:if(!e)return this.parseVariable();break}throw this.unexpected()},s.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:i.Kind.STRING,value:e.value,block:e.kind===r.TokenKind.BLOCK_STRING,loc:this.loc(e)}},s.parseList=function(e){var n=this,t=this._lexer.token,u=function(){return n.parseValueLiteral(e)};return{kind:i.Kind.LIST,values:this.any(r.TokenKind.BRACKET_L,u,r.TokenKind.BRACKET_R),loc:this.loc(t)}},s.parseObject=function(e){var n=this,t=this._lexer.token,u=function(){return n.parseObjectField(e)};return{kind:i.Kind.OBJECT,fields:this.any(r.TokenKind.BRACE_L,u,r.TokenKind.BRACE_R),loc:this.loc(t)}},s.parseObjectField=function(e){var n=this._lexer.token,t=this.parseName();return this.expectToken(r.TokenKind.COLON),{kind:i.Kind.OBJECT_FIELD,name:t,value:this.parseValueLiteral(e),loc:this.loc(n)}},s.parseDirectives=function(e){for(var n=[];this.peek(r.TokenKind.AT);)n.push(this.parseDirective(e));return n},s.parseDirective=function(e){var n=this._lexer.token;return this.expectToken(r.TokenKind.AT),{kind:i.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(n)}},s.parseTypeReference=function(){var e=this._lexer.token,n;return this.expectOptionalToken(r.TokenKind.BRACKET_L)?(n=this.parseTypeReference(),this.expectToken(r.TokenKind.BRACKET_R),n={kind:i.Kind.LIST_TYPE,type:n,loc:this.loc(e)}):n=this.parseNamedType(),this.expectOptionalToken(r.TokenKind.BANG)?{kind:i.Kind.NON_NULL_TYPE,type:n,loc:this.loc(e)}:n},s.parseNamedType=function(){var e=this._lexer.token;return{kind:i.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},s.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===r.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},s.peekDescription=function(){return this.peek(r.TokenKind.STRING)||this.peek(r.TokenKind.BLOCK_STRING)},s.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},s.parseSchemaDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("schema");var t=this.parseDirectives(!0),u=this.many(r.TokenKind.BRACE_L,this.parseOperationTypeDefinition,r.TokenKind.BRACE_R);return{kind:i.Kind.SCHEMA_DEFINITION,description:n,directives:t,operationTypes:u,loc:this.loc(e)}},s.parseOperationTypeDefinition=function(){var e=this._lexer.token,n=this.parseOperationType();this.expectToken(r.TokenKind.COLON);var t=this.parseNamedType();return{kind:i.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:t,loc:this.loc(e)}},s.parseScalarTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("scalar");var t=this.parseName(),u=this.parseDirectives(!0);return{kind:i.Kind.SCALAR_TYPE_DEFINITION,description:n,name:t,directives:u,loc:this.loc(e)}},s.parseObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("type");var t=this.parseName(),u=this.parseImplementsInterfaces(),y=this.parseDirectives(!0),f=this.parseFieldsDefinition();return{kind:i.Kind.OBJECT_TYPE_DEFINITION,description:n,name:t,interfaces:u,directives:y,fields:f,loc:this.loc(e)}},s.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if(((e=this._options)===null||e===void 0?void 0:e.allowLegacySDLImplementsInterfaces)===!0){var n=[];this.expectOptionalToken(r.TokenKind.AMP);do n.push(this.parseNamedType());while(this.expectOptionalToken(r.TokenKind.AMP)||this.peek(r.TokenKind.NAME));return n}return this.delimitedMany(r.TokenKind.AMP,this.parseNamedType)},s.parseFieldsDefinition=function(){var e;return((e=this._options)===null||e===void 0?void 0:e.allowLegacySDLEmptyFields)===!0&&this.peek(r.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===r.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(r.TokenKind.BRACE_L,this.parseFieldDefinition,r.TokenKind.BRACE_R)},s.parseFieldDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),u=this.parseArgumentDefs();this.expectToken(r.TokenKind.COLON);var y=this.parseTypeReference(),f=this.parseDirectives(!0);return{kind:i.Kind.FIELD_DEFINITION,description:n,name:t,arguments:u,type:y,directives:f,loc:this.loc(e)}},s.parseArgumentDefs=function(){return this.optionalMany(r.TokenKind.PAREN_L,this.parseInputValueDef,r.TokenKind.PAREN_R)},s.parseInputValueDef=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName();this.expectToken(r.TokenKind.COLON);var u=this.parseTypeReference(),y;this.expectOptionalToken(r.TokenKind.EQUALS)&&(y=this.parseValueLiteral(!0));var f=this.parseDirectives(!0);return{kind:i.Kind.INPUT_VALUE_DEFINITION,description:n,name:t,type:u,defaultValue:y,directives:f,loc:this.loc(e)}},s.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("interface");var t=this.parseName(),u=this.parseImplementsInterfaces(),y=this.parseDirectives(!0),f=this.parseFieldsDefinition();return{kind:i.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:t,interfaces:u,directives:y,fields:f,loc:this.loc(e)}},s.parseUnionTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("union");var t=this.parseName(),u=this.parseDirectives(!0),y=this.parseUnionMemberTypes();return{kind:i.Kind.UNION_TYPE_DEFINITION,description:n,name:t,directives:u,types:y,loc:this.loc(e)}},s.parseUnionMemberTypes=function(){return this.expectOptionalToken(r.TokenKind.EQUALS)?this.delimitedMany(r.TokenKind.PIPE,this.parseNamedType):[]},s.parseEnumTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("enum");var t=this.parseName(),u=this.parseDirectives(!0),y=this.parseEnumValuesDefinition();return{kind:i.Kind.ENUM_TYPE_DEFINITION,description:n,name:t,directives:u,values:y,loc:this.loc(e)}},s.parseEnumValuesDefinition=function(){return this.optionalMany(r.TokenKind.BRACE_L,this.parseEnumValueDefinition,r.TokenKind.BRACE_R)},s.parseEnumValueDefinition=function(){var e=this._lexer.token,n=this.parseDescription(),t=this.parseName(),u=this.parseDirectives(!0);return{kind:i.Kind.ENUM_VALUE_DEFINITION,description:n,name:t,directives:u,loc:this.loc(e)}},s.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("input");var t=this.parseName(),u=this.parseDirectives(!0),y=this.parseInputFieldsDefinition();return{kind:i.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:t,directives:u,fields:y,loc:this.loc(e)}},s.parseInputFieldsDefinition=function(){return this.optionalMany(r.TokenKind.BRACE_L,this.parseInputValueDef,r.TokenKind.BRACE_R)},s.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===r.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},s.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var n=this.parseDirectives(!0),t=this.optionalMany(r.TokenKind.BRACE_L,this.parseOperationTypeDefinition,r.TokenKind.BRACE_R);if(n.length===0&&t.length===0)throw this.unexpected();return{kind:i.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:t,loc:this.loc(e)}},s.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var n=this.parseName(),t=this.parseDirectives(!0);if(t.length===0)throw this.unexpected();return{kind:i.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:t,loc:this.loc(e)}},s.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var n=this.parseName(),t=this.parseImplementsInterfaces(),u=this.parseDirectives(!0),y=this.parseFieldsDefinition();if(t.length===0&&u.length===0&&y.length===0)throw this.unexpected();return{kind:i.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:t,directives:u,fields:y,loc:this.loc(e)}},s.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var n=this.parseName(),t=this.parseImplementsInterfaces(),u=this.parseDirectives(!0),y=this.parseFieldsDefinition();if(t.length===0&&u.length===0&&y.length===0)throw this.unexpected();return{kind:i.Kind.INTERFACE_TYPE_EXTENSION,name:n,interfaces:t,directives:u,fields:y,loc:this.loc(e)}},s.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var n=this.parseName(),t=this.parseDirectives(!0),u=this.parseUnionMemberTypes();if(t.length===0&&u.length===0)throw this.unexpected();return{kind:i.Kind.UNION_TYPE_EXTENSION,name:n,directives:t,types:u,loc:this.loc(e)}},s.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var n=this.parseName(),t=this.parseDirectives(!0),u=this.parseEnumValuesDefinition();if(t.length===0&&u.length===0)throw this.unexpected();return{kind:i.Kind.ENUM_TYPE_EXTENSION,name:n,directives:t,values:u,loc:this.loc(e)}},s.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var n=this.parseName(),t=this.parseDirectives(!0),u=this.parseInputFieldsDefinition();if(t.length===0&&u.length===0)throw this.unexpected();return{kind:i.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:t,fields:u,loc:this.loc(e)}},s.parseDirectiveDefinition=function(){var e=this._lexer.token,n=this.parseDescription();this.expectKeyword("directive"),this.expectToken(r.TokenKind.AT);var t=this.parseName(),u=this.parseArgumentDefs(),y=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var f=this.parseDirectiveLocations();return{kind:i.Kind.DIRECTIVE_DEFINITION,description:n,name:t,arguments:u,repeatable:y,locations:f,loc:this.loc(e)}},s.parseDirectiveLocations=function(){return this.delimitedMany(r.TokenKind.PIPE,this.parseDirectiveLocation)},s.parseDirectiveLocation=function(){var e=this._lexer.token,n=this.parseName();if(E.DirectiveLocation[n.value]!==void 0)return n;throw this.unexpected(e)},s.loc=function(e){var n;if(((n=this._options)===null||n===void 0?void 0:n.noLocation)!==!0)return new c.Location(e,this._lexer.lastToken,this._lexer.source)},s.peek=function(e){return this._lexer.token.kind===e},s.expectToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n;throw(0,d.syntaxError)(this._lexer.source,n.start,"Expected ".concat(v(e),", found ").concat(D(n),"."))},s.expectOptionalToken=function(e){var n=this._lexer.token;if(n.kind===e)return this._lexer.advance(),n},s.expectKeyword=function(e){var n=this._lexer.token;if(n.kind===r.TokenKind.NAME&&n.value===e)this._lexer.advance();else throw(0,d.syntaxError)(this._lexer.source,n.start,'Expected "'.concat(e,'", found ').concat(D(n),"."))},s.expectOptionalKeyword=function(e){var n=this._lexer.token;return n.kind===r.TokenKind.NAME&&n.value===e?(this._lexer.advance(),!0):!1},s.unexpected=function(e){var n=e!=null?e:this._lexer.token;return(0,d.syntaxError)(this._lexer.source,n.start,"Unexpected ".concat(D(n),"."))},s.any=function(e,n,t){this.expectToken(e);for(var u=[];!this.expectOptionalToken(t);)u.push(n.call(this));return u},s.optionalMany=function(e,n,t){if(this.expectOptionalToken(e)){var u=[];do u.push(n.call(this));while(!this.expectOptionalToken(t));return u}return[]},s.many=function(e,n,t){this.expectToken(e);var u=[];do u.push(n.call(this));while(!this.expectOptionalToken(t));return u},s.delimitedMany=function(e,n){this.expectOptionalToken(e);var t=[];do t.push(n.call(this));while(this.expectOptionalToken(e));return t},I}();a.Parser=g;function D(I){var s=I.value;return v(I.kind)+(s!=null?' "'.concat(s,'"'):"")}function v(I){return(0,k.isPunctuatorTokenKind)(I)?'"'.concat(I,'"'):I}}});K();var Ie=ce(),ge=ue(),{hasPragma:Se}=le(),{locStart:Ae,locEnd:De}=pe();function Ke(a){let d=[],{startToken:i}=a.loc,{next:c}=i;for(;c.kind!=="";)c.kind==="Comment"&&(Object.assign(c,{column:c.column-1}),d.push(c)),c=c.next;return d}function ie(a){if(a&&typeof a=="object"){delete a.startToken,delete a.endToken,delete a.prev,delete a.next;for(let d in a)ie(a[d])}return a}var X={allowLegacySDLImplementsInterfaces:!1,experimentalFragmentVariables:!0};function Le(a){let{GraphQLError:d}=W();if(a instanceof d){let{message:i,locations:[c]}=a;return Ie(i,{start:c})}return a}function xe(a){let{parse:d}=Oe(),{result:i,error:c}=ge(()=>d(a,Object.assign({},X)),()=>d(a,Object.assign(Object.assign({},X),{},{allowLegacySDLImplementsInterfaces:!0})));if(!i)throw Le(c);return i.comments=Ke(i),ie(i),i}ae.exports={parsers:{graphql:{parse:xe,astFormat:"graphql",hasPragma:Se,locStart:Ae,locEnd:De}}}});return be();}); + +/***/ }, + +/***/ 62434 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var ee=S((cc,Kr)=>{var Ne=function(e){return e&&e.Math==Math&&e};Kr.exports=Ne(typeof globalThis=="object"&&globalThis)||Ne(typeof window=="object"&&window)||Ne(typeof self=="object"&&self)||Ne(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var se=S((hc,Jr)=>{Jr.exports=function(e){try{return!!e()}catch{return!0}}});var ae=S((pc,Zr)=>{var qs=se();Zr.exports=!qs(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Oe=S((fc,eu)=>{var Is=se();eu.exports=!Is(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var De=S((dc,ru)=>{var Rs=Oe(),qe=Function.prototype.call;ru.exports=Rs?qe.bind(qe):function(){return qe.apply(qe,arguments)}});var su=S(nu=>{"use strict";var uu={}.propertyIsEnumerable,tu=Object.getOwnPropertyDescriptor,xs=tu&&!uu.call({1:2},1);nu.f=xs?function(r){var u=tu(this,r);return!!u&&u.enumerable}:uu});var Ie=S((Cc,iu)=>{iu.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var re=S((mc,Du)=>{var au=Oe(),ou=Function.prototype,er=ou.call,Ps=au&&ou.bind.bind(er,er);Du.exports=au?Ps:function(e){return function(){return er.apply(e,arguments)}}});var me=S((gc,cu)=>{var lu=re(),ks=lu({}.toString),Ls=lu("".slice);cu.exports=function(e){return Ls(ks(e),8,-1)}});var pu=S((Fc,hu)=>{var $s=re(),Ms=se(),js=me(),rr=Object,Us=$s("".split);hu.exports=Ms(function(){return!rr("z").propertyIsEnumerable(0)})?function(e){return js(e)=="String"?Us(e,""):rr(e)}:rr});var Re=S((Ac,fu)=>{fu.exports=function(e){return e==null}});var ur=S((vc,du)=>{var Gs=Re(),Vs=TypeError;du.exports=function(e){if(Gs(e))throw Vs("Can't call method on "+e);return e}});var xe=S((_c,Eu)=>{var Xs=pu(),Hs=ur();Eu.exports=function(e){return Xs(Hs(e))}});var nr=S((Sc,Cu)=>{var tr=typeof document=="object"&&document.all,zs=typeof tr>"u"&&tr!==void 0;Cu.exports={all:tr,IS_HTMLDDA:zs}});var Y=S((yc,gu)=>{var mu=nr(),Ws=mu.all;gu.exports=mu.IS_HTMLDDA?function(e){return typeof e=="function"||e===Ws}:function(e){return typeof e=="function"}});var le=S((Tc,vu)=>{var Fu=Y(),Au=nr(),Ys=Au.all;vu.exports=Au.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:Fu(e)||e===Ys}:function(e){return typeof e=="object"?e!==null:Fu(e)}});var ge=S((Bc,_u)=>{var sr=ee(),Qs=Y(),Ks=function(e){return Qs(e)?e:void 0};_u.exports=function(e,r){return arguments.length<2?Ks(sr[e]):sr[e]&&sr[e][r]}});var ir=S((bc,Su)=>{var Js=re();Su.exports=Js({}.isPrototypeOf)});var Tu=S((wc,yu)=>{var Zs=ge();yu.exports=Zs("navigator","userAgent")||""});var Iu=S((Nc,qu)=>{var Ou=ee(),ar=Tu(),Bu=Ou.process,bu=Ou.Deno,wu=Bu&&Bu.versions||bu&&bu.version,Nu=wu&&wu.v8,ue,Pe;Nu&&(ue=Nu.split("."),Pe=ue[0]>0&&ue[0]<4?1:+(ue[0]+ue[1]));!Pe&&ar&&(ue=ar.match(/Edge\/(\d+)/),(!ue||ue[1]>=74)&&(ue=ar.match(/Chrome\/(\d+)/),ue&&(Pe=+ue[1])));qu.exports=Pe});var or=S((Oc,xu)=>{var Ru=Iu(),ei=se();xu.exports=!!Object.getOwnPropertySymbols&&!ei(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ru&&Ru<41})});var Dr=S((qc,Pu)=>{var ri=or();Pu.exports=ri&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var lr=S((Ic,ku)=>{var ui=ge(),ti=Y(),ni=ir(),si=Dr(),ii=Object;ku.exports=si?function(e){return typeof e=="symbol"}:function(e){var r=ui("Symbol");return ti(r)&&ni(r.prototype,ii(e))}});var ke=S((Rc,Lu)=>{var ai=String;Lu.exports=function(e){try{return ai(e)}catch{return"Object"}}});var Fe=S((xc,$u)=>{var oi=Y(),Di=ke(),li=TypeError;$u.exports=function(e){if(oi(e))return e;throw li(Di(e)+" is not a function")}});var Le=S((Pc,Mu)=>{var ci=Fe(),hi=Re();Mu.exports=function(e,r){var u=e[r];return hi(u)?void 0:ci(u)}});var Uu=S((kc,ju)=>{var cr=De(),hr=Y(),pr=le(),pi=TypeError;ju.exports=function(e,r){var u,n;if(r==="string"&&hr(u=e.toString)&&!pr(n=cr(u,e))||hr(u=e.valueOf)&&!pr(n=cr(u,e))||r!=="string"&&hr(u=e.toString)&&!pr(n=cr(u,e)))return n;throw pi("Can't convert object to primitive value")}});var Vu=S((Lc,Gu)=>{Gu.exports=!1});var $e=S(($c,Hu)=>{var Xu=ee(),fi=Object.defineProperty;Hu.exports=function(e,r){try{fi(Xu,e,{value:r,configurable:!0,writable:!0})}catch{Xu[e]=r}return r}});var Me=S((Mc,Wu)=>{var di=ee(),Ei=$e(),zu="__core-js_shared__",Ci=di[zu]||Ei(zu,{});Wu.exports=Ci});var fr=S((jc,Qu)=>{var mi=Vu(),Yu=Me();(Qu.exports=function(e,r){return Yu[e]||(Yu[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.26.1",mode:mi?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var dr=S((Uc,Ku)=>{var gi=ur(),Fi=Object;Ku.exports=function(e){return Fi(gi(e))}});var oe=S((Gc,Ju)=>{var Ai=re(),vi=dr(),_i=Ai({}.hasOwnProperty);Ju.exports=Object.hasOwn||function(r,u){return _i(vi(r),u)}});var Er=S((Vc,Zu)=>{var Si=re(),yi=0,Ti=Math.random(),Bi=Si(1 .toString);Zu.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+Bi(++yi+Ti,36)}});var he=S((Xc,nt)=>{var bi=ee(),wi=fr(),et=oe(),Ni=Er(),rt=or(),tt=Dr(),fe=wi("wks"),ce=bi.Symbol,ut=ce&&ce.for,Oi=tt?ce:ce&&ce.withoutSetter||Ni;nt.exports=function(e){if(!et(fe,e)||!(rt||typeof fe[e]=="string")){var r="Symbol."+e;rt&&et(ce,e)?fe[e]=ce[e]:tt&&ut?fe[e]=ut(r):fe[e]=Oi(r)}return fe[e]}});var ot=S((Hc,at)=>{var qi=De(),st=le(),it=lr(),Ii=Le(),Ri=Uu(),xi=he(),Pi=TypeError,ki=xi("toPrimitive");at.exports=function(e,r){if(!st(e)||it(e))return e;var u=Ii(e,ki),n;if(u){if(r===void 0&&(r="default"),n=qi(u,e,r),!st(n)||it(n))return n;throw Pi("Can't convert object to primitive value")}return r===void 0&&(r="number"),Ri(e,r)}});var je=S((zc,Dt)=>{var Li=ot(),$i=lr();Dt.exports=function(e){var r=Li(e,"string");return $i(r)?r:r+""}});var ht=S((Wc,ct)=>{var Mi=ee(),lt=le(),Cr=Mi.document,ji=lt(Cr)&<(Cr.createElement);ct.exports=function(e){return ji?Cr.createElement(e):{}}});var mr=S((Yc,pt)=>{var Ui=ae(),Gi=se(),Vi=ht();pt.exports=!Ui&&!Gi(function(){return Object.defineProperty(Vi("div"),"a",{get:function(){return 7}}).a!=7})});var gr=S(dt=>{var Xi=ae(),Hi=De(),zi=su(),Wi=Ie(),Yi=xe(),Qi=je(),Ki=oe(),Ji=mr(),ft=Object.getOwnPropertyDescriptor;dt.f=Xi?ft:function(r,u){if(r=Yi(r),u=Qi(u),Ji)try{return ft(r,u)}catch{}if(Ki(r,u))return Wi(!Hi(zi.f,r,u),r[u])}});var Ct=S((Kc,Et)=>{var Zi=ae(),ea=se();Et.exports=Zi&&ea(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var de=S((Jc,mt)=>{var ra=le(),ua=String,ta=TypeError;mt.exports=function(e){if(ra(e))return e;throw ta(ua(e)+" is not an object")}});var Ae=S(Ft=>{var na=ae(),sa=mr(),ia=Ct(),Ue=de(),gt=je(),aa=TypeError,Fr=Object.defineProperty,oa=Object.getOwnPropertyDescriptor,Ar="enumerable",vr="configurable",_r="writable";Ft.f=na?ia?function(r,u,n){if(Ue(r),u=gt(u),Ue(n),typeof r=="function"&&u==="prototype"&&"value"in n&&_r in n&&!n[_r]){var D=oa(r,u);D&&D[_r]&&(r[u]=n.value,n={configurable:vr in n?n[vr]:D[vr],enumerable:Ar in n?n[Ar]:D[Ar],writable:!1})}return Fr(r,u,n)}:Fr:function(r,u,n){if(Ue(r),u=gt(u),Ue(n),sa)try{return Fr(r,u,n)}catch{}if("get"in n||"set"in n)throw aa("Accessors not supported");return"value"in n&&(r[u]=n.value),r}});var Sr=S((e2,At)=>{var Da=ae(),la=Ae(),ca=Ie();At.exports=Da?function(e,r,u){return la.f(e,r,ca(1,u))}:function(e,r,u){return e[r]=u,e}});var St=S((r2,_t)=>{var yr=ae(),ha=oe(),vt=Function.prototype,pa=yr&&Object.getOwnPropertyDescriptor,Tr=ha(vt,"name"),fa=Tr&&function(){}.name==="something",da=Tr&&(!yr||yr&&pa(vt,"name").configurable);_t.exports={EXISTS:Tr,PROPER:fa,CONFIGURABLE:da}});var br=S((u2,yt)=>{var Ea=re(),Ca=Y(),Br=Me(),ma=Ea(Function.toString);Ca(Br.inspectSource)||(Br.inspectSource=function(e){return ma(e)});yt.exports=Br.inspectSource});var bt=S((t2,Bt)=>{var ga=ee(),Fa=Y(),Tt=ga.WeakMap;Bt.exports=Fa(Tt)&&/native code/.test(String(Tt))});var Ot=S((n2,Nt)=>{var Aa=fr(),va=Er(),wt=Aa("keys");Nt.exports=function(e){return wt[e]||(wt[e]=va(e))}});var wr=S((s2,qt)=>{qt.exports={}});var Pt=S((i2,xt)=>{var _a=bt(),Rt=ee(),Sa=le(),ya=Sr(),Nr=oe(),Or=Me(),Ta=Ot(),Ba=wr(),It="Object already initialized",qr=Rt.TypeError,ba=Rt.WeakMap,Ge,ve,Ve,wa=function(e){return Ve(e)?ve(e):Ge(e,{})},Na=function(e){return function(r){var u;if(!Sa(r)||(u=ve(r)).type!==e)throw qr("Incompatible receiver, "+e+" required");return u}};_a||Or.state?(te=Or.state||(Or.state=new ba),te.get=te.get,te.has=te.has,te.set=te.set,Ge=function(e,r){if(te.has(e))throw qr(It);return r.facade=e,te.set(e,r),r},ve=function(e){return te.get(e)||{}},Ve=function(e){return te.has(e)}):(pe=Ta("state"),Ba[pe]=!0,Ge=function(e,r){if(Nr(e,pe))throw qr(It);return r.facade=e,ya(e,pe,r),r},ve=function(e){return Nr(e,pe)?e[pe]:{}},Ve=function(e){return Nr(e,pe)});var te,pe;xt.exports={set:Ge,get:ve,has:Ve,enforce:wa,getterFor:Na}});var $t=S((a2,Lt)=>{var Oa=se(),qa=Y(),Xe=oe(),Ir=ae(),Ia=St().CONFIGURABLE,Ra=br(),kt=Pt(),xa=kt.enforce,Pa=kt.get,He=Object.defineProperty,ka=Ir&&!Oa(function(){return He(function(){},"length",{value:8}).length!==8}),La=String(String).split("String"),$a=Lt.exports=function(e,r,u){String(r).slice(0,7)==="Symbol("&&(r="["+String(r).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),u&&u.getter&&(r="get "+r),u&&u.setter&&(r="set "+r),(!Xe(e,"name")||Ia&&e.name!==r)&&(Ir?He(e,"name",{value:r,configurable:!0}):e.name=r),ka&&u&&Xe(u,"arity")&&e.length!==u.arity&&He(e,"length",{value:u.arity});try{u&&Xe(u,"constructor")&&u.constructor?Ir&&He(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var n=xa(e);return Xe(n,"source")||(n.source=La.join(typeof r=="string"?r:"")),e};Function.prototype.toString=$a(function(){return qa(this)&&Pa(this).source||Ra(this)},"toString")});var jt=S((o2,Mt)=>{var Ma=Y(),ja=Ae(),Ua=$t(),Ga=$e();Mt.exports=function(e,r,u,n){n||(n={});var D=n.enumerable,s=n.name!==void 0?n.name:r;if(Ma(u)&&Ua(u,s,n),n.global)D?e[r]=u:Ga(r,u);else{try{n.unsafe?e[r]&&(D=!0):delete e[r]}catch{}D?e[r]=u:ja.f(e,r,{value:u,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e}});var Gt=S((D2,Ut)=>{var Va=Math.ceil,Xa=Math.floor;Ut.exports=Math.trunc||function(r){var u=+r;return(u>0?Xa:Va)(u)}});var Rr=S((l2,Vt)=>{var Ha=Gt();Vt.exports=function(e){var r=+e;return r!==r||r===0?0:Ha(r)}});var Ht=S((c2,Xt)=>{var za=Rr(),Wa=Math.max,Ya=Math.min;Xt.exports=function(e,r){var u=za(e);return u<0?Wa(u+r,0):Ya(u,r)}});var Wt=S((h2,zt)=>{var Qa=Rr(),Ka=Math.min;zt.exports=function(e){return e>0?Ka(Qa(e),9007199254740991):0}});var _e=S((p2,Yt)=>{var Ja=Wt();Yt.exports=function(e){return Ja(e.length)}});var Jt=S((f2,Kt)=>{var Za=xe(),eo=Ht(),ro=_e(),Qt=function(e){return function(r,u,n){var D=Za(r),s=ro(D),i=eo(n,s),f;if(e&&u!=u){for(;s>i;)if(f=D[i++],f!=f)return!0}else for(;s>i;i++)if((e||i in D)&&D[i]===u)return e||i||0;return!e&&-1}};Kt.exports={includes:Qt(!0),indexOf:Qt(!1)}});var rn=S((d2,en)=>{var uo=re(),xr=oe(),to=xe(),no=Jt().indexOf,so=wr(),Zt=uo([].push);en.exports=function(e,r){var u=to(e),n=0,D=[],s;for(s in u)!xr(so,s)&&xr(u,s)&&Zt(D,s);for(;r.length>n;)xr(u,s=r[n++])&&(~no(D,s)||Zt(D,s));return D}});var tn=S((E2,un)=>{un.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var sn=S(nn=>{var io=rn(),ao=tn(),oo=ao.concat("length","prototype");nn.f=Object.getOwnPropertyNames||function(r){return io(r,oo)}});var on=S(an=>{an.f=Object.getOwnPropertySymbols});var ln=S((g2,Dn)=>{var Do=ge(),lo=re(),co=sn(),ho=on(),po=de(),fo=lo([].concat);Dn.exports=Do("Reflect","ownKeys")||function(r){var u=co.f(po(r)),n=ho.f;return n?fo(u,n(r)):u}});var pn=S((F2,hn)=>{var cn=oe(),Eo=ln(),Co=gr(),mo=Ae();hn.exports=function(e,r,u){for(var n=Eo(r),D=mo.f,s=Co.f,i=0;i{var go=se(),Fo=Y(),Ao=/#|\.prototype\./,Se=function(e,r){var u=_o[vo(e)];return u==yo?!0:u==So?!1:Fo(r)?go(r):!!r},vo=Se.normalize=function(e){return String(e).replace(Ao,".").toLowerCase()},_o=Se.data={},So=Se.NATIVE="N",yo=Se.POLYFILL="P";fn.exports=Se});var ze=S((v2,En)=>{var Pr=ee(),To=gr().f,Bo=Sr(),bo=jt(),wo=$e(),No=pn(),Oo=dn();En.exports=function(e,r){var u=e.target,n=e.global,D=e.stat,s,i,f,c,F,a;if(n?i=Pr:D?i=Pr[u]||wo(u,{}):i=(Pr[u]||{}).prototype,i)for(f in r){if(F=r[f],e.dontCallGetSet?(a=To(i,f),c=a&&a.value):c=i[f],s=Oo(n?f:u+(D?".":"#")+f,e.forced),!s&&c!==void 0){if(typeof F==typeof c)continue;No(F,c)}(e.sham||c&&c.sham)&&Bo(F,"sham",!0),bo(i,f,F,e)}}});var Cn=S(()=>{var qo=ze(),kr=ee();qo({global:!0,forced:kr.globalThis!==kr},{globalThis:kr})});var mn=S(()=>{Cn()});var Lr=S((B2,gn)=>{var Io=me();gn.exports=Array.isArray||function(r){return Io(r)=="Array"}});var An=S((b2,Fn)=>{var Ro=TypeError,xo=9007199254740991;Fn.exports=function(e){if(e>xo)throw Ro("Maximum allowed index exceeded");return e}});var _n=S((w2,vn)=>{var Po=me(),ko=re();vn.exports=function(e){if(Po(e)==="Function")return ko(e)}});var $r=S((N2,yn)=>{var Sn=_n(),Lo=Fe(),$o=Oe(),Mo=Sn(Sn.bind);yn.exports=function(e,r){return Lo(e),r===void 0?e:$o?Mo(e,r):function(){return e.apply(r,arguments)}}});var bn=S((O2,Bn)=>{"use strict";var jo=Lr(),Uo=_e(),Go=An(),Vo=$r(),Tn=function(e,r,u,n,D,s,i,f){for(var c=D,F=0,a=i?Vo(i,f):!1,l,h;F0&&jo(l)?(h=Uo(l),c=Tn(e,r,l,h,c,s-1)-1):(Go(c+1),e[c]=l),c++),F++;return c};Bn.exports=Tn});var On=S((q2,Nn)=>{var Xo=he(),Ho=Xo("toStringTag"),wn={};wn[Ho]="z";Nn.exports=String(wn)==="[object z]"});var Mr=S((I2,qn)=>{var zo=On(),Wo=Y(),We=me(),Yo=he(),Qo=Yo("toStringTag"),Ko=Object,Jo=We(function(){return arguments}())=="Arguments",Zo=function(e,r){try{return e[r]}catch{}};qn.exports=zo?We:function(e){var r,u,n;return e===void 0?"Undefined":e===null?"Null":typeof(u=Zo(r=Ko(e),Qo))=="string"?u:Jo?We(r):(n=We(r))=="Object"&&Wo(r.callee)?"Arguments":n}});var Ln=S((R2,kn)=>{var eD=re(),rD=se(),In=Y(),uD=Mr(),tD=ge(),nD=br(),Rn=function(){},sD=[],xn=tD("Reflect","construct"),jr=/^\s*(?:class|function)\b/,iD=eD(jr.exec),aD=!jr.exec(Rn),ye=function(r){if(!In(r))return!1;try{return xn(Rn,sD,r),!0}catch{return!1}},Pn=function(r){if(!In(r))return!1;switch(uD(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return aD||!!iD(jr,nD(r))}catch{return!0}};Pn.sham=!0;kn.exports=!xn||rD(function(){var e;return ye(ye.call)||!ye(Object)||!ye(function(){e=!0})||e})?Pn:ye});var Un=S((x2,jn)=>{var $n=Lr(),oD=Ln(),DD=le(),lD=he(),cD=lD("species"),Mn=Array;jn.exports=function(e){var r;return $n(e)&&(r=e.constructor,oD(r)&&(r===Mn||$n(r.prototype))?r=void 0:DD(r)&&(r=r[cD],r===null&&(r=void 0))),r===void 0?Mn:r}});var Vn=S((P2,Gn)=>{var hD=Un();Gn.exports=function(e,r){return new(hD(e))(r===0?0:r)}});var Xn=S(()=>{"use strict";var pD=ze(),fD=bn(),dD=Fe(),ED=dr(),CD=_e(),mD=Vn();pD({target:"Array",proto:!0},{flatMap:function(r){var u=ED(this),n=CD(u),D;return dD(r),D=mD(u,0),D.length=fD(D,u,u,n,0,1,r,arguments.length>1?arguments[1]:void 0),D}})});var Ur=S(($2,Hn)=>{Hn.exports={}});var Wn=S((M2,zn)=>{var gD=he(),FD=Ur(),AD=gD("iterator"),vD=Array.prototype;zn.exports=function(e){return e!==void 0&&(FD.Array===e||vD[AD]===e)}});var Gr=S((j2,Qn)=>{var _D=Mr(),Yn=Le(),SD=Re(),yD=Ur(),TD=he(),BD=TD("iterator");Qn.exports=function(e){if(!SD(e))return Yn(e,BD)||Yn(e,"@@iterator")||yD[_D(e)]}});var Jn=S((U2,Kn)=>{var bD=De(),wD=Fe(),ND=de(),OD=ke(),qD=Gr(),ID=TypeError;Kn.exports=function(e,r){var u=arguments.length<2?qD(e):r;if(wD(u))return ND(bD(u,e));throw ID(OD(e)+" is not iterable")}});var rs=S((G2,es)=>{var RD=De(),Zn=de(),xD=Le();es.exports=function(e,r,u){var n,D;Zn(e);try{if(n=xD(e,"return"),!n){if(r==="throw")throw u;return u}n=RD(n,e)}catch(s){D=!0,n=s}if(r==="throw")throw u;if(D)throw n;return Zn(n),u}});var is=S((V2,ss)=>{var PD=$r(),kD=De(),LD=de(),$D=ke(),MD=Wn(),jD=_e(),us=ir(),UD=Jn(),GD=Gr(),ts=rs(),VD=TypeError,Ye=function(e,r){this.stopped=e,this.result=r},ns=Ye.prototype;ss.exports=function(e,r,u){var n=u&&u.that,D=!!(u&&u.AS_ENTRIES),s=!!(u&&u.IS_RECORD),i=!!(u&&u.IS_ITERATOR),f=!!(u&&u.INTERRUPTED),c=PD(r,n),F,a,l,h,C,d,m,T=function(g){return F&&ts(F,"normal",g),new Ye(!0,g)},w=function(g){return D?(LD(g),f?c(g[0],g[1],T):c(g[0],g[1])):f?c(g,T):c(g)};if(s)F=e.iterator;else if(i)F=e;else{if(a=GD(e),!a)throw VD($D(e)+" is not iterable");if(MD(a)){for(l=0,h=jD(e);h>l;l++)if(C=w(e[l]),C&&us(ns,C))return C;return new Ye(!1)}F=UD(e,a)}for(d=s?e.next:F.next;!(m=kD(d,F)).done;){try{C=w(m.value)}catch(g){ts(F,"throw",g)}if(typeof C=="object"&&C&&us(ns,C))return C}return new Ye(!1)}});var os=S((X2,as)=>{"use strict";var XD=je(),HD=Ae(),zD=Ie();as.exports=function(e,r,u){var n=XD(r);n in e?HD.f(e,n,zD(0,u)):e[n]=u}});var Ds=S(()=>{var WD=ze(),YD=is(),QD=os();WD({target:"Object",stat:!0},{fromEntries:function(r){var u={};return YD(r,function(n,D){QD(u,n,D)},{AS_ENTRIES:!0}),u}})});var Dc=S((W2,Os)=>{var KD=["cliName","cliCategory","cliDescription"];function JD(e,r){if(e==null)return{};var u=ZD(e,r),n,D;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(D=0;D=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(u[n]=e[n])}return u}function ZD(e,r){if(e==null)return{};var u={},n=Object.keys(e),D,s;for(s=0;s=0)&&(u[D]=e[D]);return u}mn();Xn();Ds();var el=Object.create,Je=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,Xr=Object.getOwnPropertyNames,ul=Object.getPrototypeOf,tl=Object.prototype.hasOwnProperty,Ee=(e,r)=>function(){return e&&(r=(0,e[Xr(e)[0]])(e=0)),r},I=(e,r)=>function(){return r||(0,e[Xr(e)[0]])((r={exports:{}}).exports,r),r.exports},ps=(e,r)=>{for(var u in r)Je(e,u,{get:r[u],enumerable:!0})},fs=(e,r,u,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let D of Xr(r))!tl.call(e,D)&&D!==u&&Je(e,D,{get:()=>r[D],enumerable:!(n=rl(r,D))||n.enumerable});return e},nl=(e,r,u)=>(u=e!=null?el(ul(e)):{},fs(r||!e||!e.__esModule?Je(u,"default",{value:e,enumerable:!0}):u,e)),ds=e=>fs(Je({},"__esModule",{value:!0}),e),Te,q=Ee({""(){Te={env:{},argv:[]}}}),Es=I({"node_modules/angular-html-parser/lib/compiler/src/chars.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0}),e.$EOF=0,e.$BSPACE=8,e.$TAB=9,e.$LF=10,e.$VTAB=11,e.$FF=12,e.$CR=13,e.$SPACE=32,e.$BANG=33,e.$DQ=34,e.$HASH=35,e.$$=36,e.$PERCENT=37,e.$AMPERSAND=38,e.$SQ=39,e.$LPAREN=40,e.$RPAREN=41,e.$STAR=42,e.$PLUS=43,e.$COMMA=44,e.$MINUS=45,e.$PERIOD=46,e.$SLASH=47,e.$COLON=58,e.$SEMICOLON=59,e.$LT=60,e.$EQ=61,e.$GT=62,e.$QUESTION=63,e.$0=48,e.$7=55,e.$9=57,e.$A=65,e.$E=69,e.$F=70,e.$X=88,e.$Z=90,e.$LBRACKET=91,e.$BACKSLASH=92,e.$RBRACKET=93,e.$CARET=94,e.$_=95,e.$a=97,e.$b=98,e.$e=101,e.$f=102,e.$n=110,e.$r=114,e.$t=116,e.$u=117,e.$v=118,e.$x=120,e.$z=122,e.$LBRACE=123,e.$BAR=124,e.$RBRACE=125,e.$NBSP=160,e.$PIPE=124,e.$TILDA=126,e.$AT=64,e.$BT=96;function r(f){return f>=e.$TAB&&f<=e.$SPACE||f==e.$NBSP}e.isWhitespace=r;function u(f){return e.$0<=f&&f<=e.$9}e.isDigit=u;function n(f){return f>=e.$a&&f<=e.$z||f>=e.$A&&f<=e.$Z}e.isAsciiLetter=n;function D(f){return f>=e.$a&&f<=e.$f||f>=e.$A&&f<=e.$F||u(f)}e.isAsciiHexDigit=D;function s(f){return f===e.$LF||f===e.$CR}e.isNewLine=s;function i(f){return e.$0<=f&&f<=e.$7}e.isOctalDigit=i}}),sl=I({"node_modules/angular-html-parser/lib/compiler/src/aot/static_symbol.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(n,D,s){this.filePath=n,this.name=D,this.members=s}assertNoMembers(){if(this.members.length)throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`)}};e.StaticSymbol=r;var u=class{constructor(){this.cache=new Map}get(n,D,s){s=s||[];let i=s.length?`.${s.join(".")}`:"",f=`"${n}".${D}${i}`,c=this.cache.get(f);return c||(c=new r(n,D,s),this.cache.set(f,c)),c}};e.StaticSymbolCache=u}}),il=I({"node_modules/angular-html-parser/lib/compiler/src/util.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=/-+([a-z0-9])/g;function u(o){return o.replace(r,function(){for(var E=arguments.length,p=new Array(E),A=0;Ai(p,this,E))}visitStringMap(o,E){let p={};return Object.keys(o).forEach(A=>{p[A]=i(o[A],this,E)}),p}visitPrimitive(o,E){return o}visitOther(o,E){return o}};e.ValueTransformer=F,e.SyncAsync={assertSync:o=>{if(_(o))throw new Error("Illegal state: value cannot be a promise");return o},then:(o,E)=>_(o)?o.then(E):E(o),all:o=>o.some(_)?Promise.all(o):o};function a(o){throw new Error(`Internal Error: ${o}`)}e.error=a;function l(o,E){let p=Error(o);return p[h]=!0,E&&(p[C]=E),p}e.syntaxError=l;var h="ngSyntaxError",C="ngParseErrors";function d(o){return o[h]}e.isSyntaxError=d;function m(o){return o[C]||[]}e.getParseErrors=m;function T(o){return o.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}e.escapeRegExp=T;var w=Object.getPrototypeOf({});function g(o){return typeof o=="object"&&o!==null&&Object.getPrototypeOf(o)===w}function N(o){let E="";for(let p=0;p=55296&&A<=56319&&o.length>p+1){let P=o.charCodeAt(p+1);P>=56320&&P<=57343&&(p++,A=(A-55296<<10)+P-56320+65536)}A<=127?E+=String.fromCharCode(A):A<=2047?E+=String.fromCharCode(A>>6&31|192,A&63|128):A<=65535?E+=String.fromCharCode(A>>12|224,A>>6&63|128,A&63|128):A<=2097151&&(E+=String.fromCharCode(A>>18&7|240,A>>12&63|128,A>>6&63|128,A&63|128))}return E}e.utf8Encode=N;function R(o){if(typeof o=="string")return o;if(o instanceof Array)return"["+o.map(R).join(", ")+"]";if(o==null)return""+o;if(o.overriddenName)return`${o.overriddenName}`;if(o.name)return`${o.name}`;if(!o.toString)return"object";let E=o.toString();if(E==null)return""+E;let p=E.indexOf(` +`);return p===-1?E:E.substring(0,p)}e.stringify=R;function j(o){return typeof o=="function"&&o.hasOwnProperty("__forward_ref__")?o():o}e.resolveForwardRef=j;function _(o){return!!o&&typeof o.then=="function"}e.isPromise=_;var O=class{constructor(o){this.full=o;let E=o.split(".");this.major=E[0],this.minor=E[1],this.patch=E.slice(2).join(".")}};e.Version=O;var x=typeof window<"u"&&window,k=typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self,$=typeof globalThis<"u"&&globalThis,t=$||x||k;e.global=t}}),al=I({"node_modules/angular-html-parser/lib/compiler/src/compile_metadata.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=sl(),u=il(),n=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;function D(p){return p.replace(/\W/g,"_")}e.sanitizeIdentifier=D;var s=0;function i(p){if(!p||!p.reference)return null;let A=p.reference;if(A instanceof r.StaticSymbol)return A.name;if(A.__anonymousType)return A.__anonymousType;let P=u.stringify(A);return P.indexOf("(")>=0?(P=`anonymous_${s++}`,A.__anonymousType=P):P=D(P),P}e.identifierName=i;function f(p){let A=p.reference;return A instanceof r.StaticSymbol?A.filePath:`./${u.stringify(A)}`}e.identifierModuleUrl=f;function c(p,A){return`View_${i({reference:p})}_${A}`}e.viewClassName=c;function F(p){return`RenderType_${i({reference:p})}`}e.rendererTypeName=F;function a(p){return`HostView_${i({reference:p})}`}e.hostViewClassName=a;function l(p){return`${i({reference:p})}NgFactory`}e.componentFactoryName=l;var h;(function(p){p[p.Pipe=0]="Pipe",p[p.Directive=1]="Directive",p[p.NgModule=2]="NgModule",p[p.Injectable=3]="Injectable"})(h=e.CompileSummaryKind||(e.CompileSummaryKind={}));function C(p){return p.value!=null?D(p.value):i(p.identifier)}e.tokenName=C;function d(p){return p.identifier!=null?p.identifier.reference:p.value}e.tokenReference=d;var m=class{constructor(){let{moduleUrl:p,styles:A,styleUrls:P}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.moduleUrl=p||null,this.styles=_(A),this.styleUrls=_(P)}};e.CompileStylesheetMetadata=m;var T=class{constructor(p){let{encapsulation:A,template:P,templateUrl:M,htmlAst:z,styles:V,styleUrls:X,externalStylesheets:H,animations:Q,ngContentSelectors:K,interpolation:J,isInline:v,preserveWhitespaces:y}=p;if(this.encapsulation=A,this.template=P,this.templateUrl=M,this.htmlAst=z,this.styles=_(V),this.styleUrls=_(X),this.externalStylesheets=_(H),this.animations=Q?x(Q):[],this.ngContentSelectors=K||[],J&&J.length!=2)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=J,this.isInline=v,this.preserveWhitespaces=y}toSummary(){return{ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation,styles:this.styles,animations:this.animations}}};e.CompileTemplateMetadata=T;var w=class{static create(p){let{isHost:A,type:P,isComponent:M,selector:z,exportAs:V,changeDetection:X,inputs:H,outputs:Q,host:K,providers:J,viewProviders:v,queries:y,guards:B,viewQueries:b,entryComponents:L,template:U,componentViewType:G,rendererType:W,componentFactory:ne}=p,be={},we={},Wr={};K!=null&&Object.keys(K).forEach(Z=>{let ie=K[Z],Ce=Z.match(n);Ce===null?Wr[Z]=ie:Ce[1]!=null?we[Ce[1]]=ie:Ce[2]!=null&&(be[Ce[2]]=ie)});let Yr={};H!=null&&H.forEach(Z=>{let ie=u.splitAtColon(Z,[Z,Z]);Yr[ie[0]]=ie[1]});let Qr={};return Q!=null&&Q.forEach(Z=>{let ie=u.splitAtColon(Z,[Z,Z]);Qr[ie[0]]=ie[1]}),new w({isHost:A,type:P,isComponent:!!M,selector:z,exportAs:V,changeDetection:X,inputs:Yr,outputs:Qr,hostListeners:be,hostProperties:we,hostAttributes:Wr,providers:J,viewProviders:v,queries:y,guards:B,viewQueries:b,entryComponents:L,template:U,componentViewType:G,rendererType:W,componentFactory:ne})}constructor(p){let{isHost:A,type:P,isComponent:M,selector:z,exportAs:V,changeDetection:X,inputs:H,outputs:Q,hostListeners:K,hostProperties:J,hostAttributes:v,providers:y,viewProviders:B,queries:b,guards:L,viewQueries:U,entryComponents:G,template:W,componentViewType:ne,rendererType:be,componentFactory:we}=p;this.isHost=!!A,this.type=P,this.isComponent=M,this.selector=z,this.exportAs=V,this.changeDetection=X,this.inputs=H,this.outputs=Q,this.hostListeners=K,this.hostProperties=J,this.hostAttributes=v,this.providers=_(y),this.viewProviders=_(B),this.queries=_(b),this.guards=L,this.viewQueries=_(U),this.entryComponents=_(G),this.template=W,this.componentViewType=ne,this.rendererType=be,this.componentFactory=we}toSummary(){return{summaryKind:h.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,guards:this.guards,viewQueries:this.viewQueries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary(),componentViewType:this.componentViewType,rendererType:this.rendererType,componentFactory:this.componentFactory}}};e.CompileDirectiveMetadata=w;var g=class{constructor(p){let{type:A,name:P,pure:M}=p;this.type=A,this.name=P,this.pure=!!M}toSummary(){return{summaryKind:h.Pipe,type:this.type,name:this.name,pure:this.pure}}};e.CompilePipeMetadata=g;var N=class{};e.CompileShallowModuleMetadata=N;var R=class{constructor(p){let{type:A,providers:P,declaredDirectives:M,exportedDirectives:z,declaredPipes:V,exportedPipes:X,entryComponents:H,bootstrapComponents:Q,importedModules:K,exportedModules:J,schemas:v,transitiveModule:y,id:B}=p;this.type=A||null,this.declaredDirectives=_(M),this.exportedDirectives=_(z),this.declaredPipes=_(V),this.exportedPipes=_(X),this.providers=_(P),this.entryComponents=_(H),this.bootstrapComponents=_(Q),this.importedModules=_(K),this.exportedModules=_(J),this.schemas=_(v),this.id=B||null,this.transitiveModule=y||null}toSummary(){let p=this.transitiveModule;return{summaryKind:h.NgModule,type:this.type,entryComponents:p.entryComponents,providers:p.providers,modules:p.modules,exportedDirectives:p.exportedDirectives,exportedPipes:p.exportedPipes}}};e.CompileNgModuleMetadata=R;var j=class{constructor(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}addProvider(p,A){this.providers.push({provider:p,module:A})}addDirective(p){this.directivesSet.has(p.reference)||(this.directivesSet.add(p.reference),this.directives.push(p))}addExportedDirective(p){this.exportedDirectivesSet.has(p.reference)||(this.exportedDirectivesSet.add(p.reference),this.exportedDirectives.push(p))}addPipe(p){this.pipesSet.has(p.reference)||(this.pipesSet.add(p.reference),this.pipes.push(p))}addExportedPipe(p){this.exportedPipesSet.has(p.reference)||(this.exportedPipesSet.add(p.reference),this.exportedPipes.push(p))}addModule(p){this.modulesSet.has(p.reference)||(this.modulesSet.add(p.reference),this.modules.push(p))}addEntryComponent(p){this.entryComponentsSet.has(p.componentType)||(this.entryComponentsSet.add(p.componentType),this.entryComponents.push(p))}};e.TransitiveCompileNgModuleMetadata=j;function _(p){return p||[]}var O=class{constructor(p,A){let{useClass:P,useValue:M,useExisting:z,useFactory:V,deps:X,multi:H}=A;this.token=p,this.useClass=P||null,this.useValue=M,this.useExisting=z,this.useFactory=V||null,this.dependencies=X||null,this.multi=!!H}};e.ProviderMeta=O;function x(p){return p.reduce((A,P)=>{let M=Array.isArray(P)?x(P):P;return A.concat(M)},[])}e.flatten=x;function k(p){return p.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function $(p,A,P){let M;return P.isInline?A.type.reference instanceof r.StaticSymbol?M=`${A.type.reference.filePath}.${A.type.reference.name}.html`:M=`${i(p)}/${i(A.type)}.html`:M=P.templateUrl,A.type.reference instanceof r.StaticSymbol?M:k(M)}e.templateSourceUrl=$;function t(p,A){let P=p.moduleUrl.split(/\/\\/g),M=P[P.length-1];return k(`css/${A}${M}.ngstyle.js`)}e.sharedStylesheetJitUrl=t;function o(p){return k(`${i(p.type)}/module.ngfactory.js`)}e.ngModuleJitUrl=o;function E(p,A){return k(`${i(p)}/${i(A.type)}.ngfactory.js`)}e.templateJitUrl=E}}),Be=I({"node_modules/angular-html-parser/lib/compiler/src/parse_util.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Es(),u=al(),n=class{constructor(a,l,h,C){this.file=a,this.offset=l,this.line=h,this.col=C}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(a){let l=this.file.content,h=l.length,C=this.offset,d=this.line,m=this.col;for(;C>0&&a<0;)if(C--,a++,l.charCodeAt(C)==r.$LF){d--;let w=l.substr(0,C-1).lastIndexOf(String.fromCharCode(r.$LF));m=w>0?C-w:C}else m--;for(;C0;){let T=l.charCodeAt(C);C++,a--,T==r.$LF?(d++,m=0):m++}return new n(this.file,C,d,m)}getContext(a,l){let h=this.file.content,C=this.offset;if(C!=null){C>h.length-1&&(C=h.length-1);let d=C,m=0,T=0;for(;m0&&(C--,m++,!(h[C]==` +`&&++T==l)););for(m=0,T=0;m2&&arguments[2]!==void 0?arguments[2]:null;this.start=a,this.end=l,this.details=h}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}};e.ParseSourceSpan=s,e.EMPTY_PARSE_LOCATION=new n(new D("",""),0,0,0),e.EMPTY_SOURCE_SPAN=new s(e.EMPTY_PARSE_LOCATION,e.EMPTY_PARSE_LOCATION);var i;(function(a){a[a.WARNING=0]="WARNING",a[a.ERROR=1]="ERROR"})(i=e.ParseErrorLevel||(e.ParseErrorLevel={}));var f=class{constructor(a,l){let h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:i.ERROR;this.span=a,this.msg=l,this.level=h}contextualMessage(){let a=this.span.start.getContext(100,3);return a?`${this.msg} ("${a.before}[${i[this.level]} ->]${a.after}")`:this.msg}toString(){let a=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${a}`}};e.ParseError=f;function c(a,l){let h=u.identifierModuleUrl(l),C=h!=null?`in ${a} ${u.identifierName(l)} in ${h}`:`in ${a} ${u.identifierName(l)}`,d=new D("",C);return new s(new n(d,-1,-1,-1),new n(d,-1,-1,-1))}e.typeSourceSpan=c;function F(a,l,h){let C=`in ${a} ${l} in ${h}`,d=new D("",C);return new s(new n(d,-1,-1,-1),new n(d,-1,-1,-1))}e.r3JitTypeSourceSpan=F}}),ol=I({"src/utils/front-matter/parse.js"(e,r){"use strict";q();var u=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function n(D){let s=D.match(u);if(!s)return{content:D};let{startDelimiter:i,language:f,value:c="",endDelimiter:F}=s.groups,a=f.trim()||"yaml";if(i==="+++"&&(a="toml"),a!=="yaml"&&i!==F)return{content:D};let[l]=s;return{frontMatter:{type:"front-matter",lang:a,value:c,startDelimiter:i,endDelimiter:F,raw:l.replace(/\n$/,"")},content:l.replace(/[^\n]/g," ")+D.slice(l.length)}}r.exports=n}}),Cs=I({"src/utils/get-last.js"(e,r){"use strict";q();var u=n=>n[n.length-1];r.exports=u}}),Dl=I({"src/common/parser-create-error.js"(e,r){"use strict";q();function u(n,D){let s=new SyntaxError(n+" ("+D.start.line+":"+D.start.column+")");return s.loc=D,s}r.exports=u}}),ms={};ps(ms,{default:()=>ll});function ll(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var cl=Ee({"node_modules/escape-string-regexp/index.js"(){q()}}),gs=I({"node_modules/semver/internal/debug.js"(e,r){q();var u=typeof Te=="object"&&Te.env&&Te.env.NODE_DEBUG&&/\bsemver\b/i.test(Te.env.NODE_DEBUG)?function(){for(var n=arguments.length,D=new Array(n),s=0;s{};r.exports=u}}),Fs=I({"node_modules/semver/internal/constants.js"(e,r){q();var u="2.0.0",n=256,D=Number.MAX_SAFE_INTEGER||9007199254740991,s=16;r.exports={SEMVER_SPEC_VERSION:u,MAX_LENGTH:n,MAX_SAFE_INTEGER:D,MAX_SAFE_COMPONENT_LENGTH:s}}}),hl=I({"node_modules/semver/internal/re.js"(e,r){q();var{MAX_SAFE_COMPONENT_LENGTH:u}=Fs(),n=gs();e=r.exports={};var D=e.re=[],s=e.src=[],i=e.t={},f=0,c=(F,a,l)=>{let h=f++;n(F,h,a),i[F]=h,s[h]=a,D[h]=new RegExp(a,l?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${s[i.NUMERICIDENTIFIER]})\\.(${s[i.NUMERICIDENTIFIER]})\\.(${s[i.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${s[i.NUMERICIDENTIFIERLOOSE]})\\.(${s[i.NUMERICIDENTIFIERLOOSE]})\\.(${s[i.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${s[i.NUMERICIDENTIFIER]}|${s[i.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${s[i.NUMERICIDENTIFIERLOOSE]}|${s[i.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${s[i.PRERELEASEIDENTIFIER]}(?:\\.${s[i.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${s[i.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[i.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${s[i.BUILDIDENTIFIER]}(?:\\.${s[i.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${s[i.MAINVERSION]}${s[i.PRERELEASE]}?${s[i.BUILD]}?`),c("FULL",`^${s[i.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${s[i.MAINVERSIONLOOSE]}${s[i.PRERELEASELOOSE]}?${s[i.BUILD]}?`),c("LOOSE",`^${s[i.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${s[i.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${s[i.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${s[i.XRANGEIDENTIFIER]})(?:\\.(${s[i.XRANGEIDENTIFIER]})(?:\\.(${s[i.XRANGEIDENTIFIER]})(?:${s[i.PRERELEASE]})?${s[i.BUILD]}?)?)?`),c("XRANGEPLAINLOOSE",`[v=\\s]*(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[i.XRANGEIDENTIFIERLOOSE]})(?:${s[i.PRERELEASELOOSE]})?${s[i.BUILD]}?)?)?`),c("XRANGE",`^${s[i.GTLT]}\\s*${s[i.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${s[i.GTLT]}\\s*${s[i.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${u}})(?:\\.(\\d{1,${u}}))?(?:\\.(\\d{1,${u}}))?(?:$|[^\\d])`),c("COERCERTL",s[i.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${s[i.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",c("TILDE",`^${s[i.LONETILDE]}${s[i.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${s[i.LONETILDE]}${s[i.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${s[i.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",c("CARET",`^${s[i.LONECARET]}${s[i.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${s[i.LONECARET]}${s[i.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${s[i.GTLT]}\\s*(${s[i.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${s[i.GTLT]}\\s*(${s[i.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${s[i.GTLT]}\\s*(${s[i.LOOSEPLAIN]}|${s[i.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${s[i.XRANGEPLAIN]})\\s+-\\s+(${s[i.XRANGEPLAIN]})\\s*$`),c("HYPHENRANGELOOSE",`^\\s*(${s[i.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[i.XRANGEPLAINLOOSE]})\\s*$`),c("STAR","(<|>)?=?\\s*\\*"),c("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),c("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),pl=I({"node_modules/semver/internal/parse-options.js"(e,r){q();var u=["includePrerelease","loose","rtl"],n=D=>D?typeof D!="object"?{loose:!0}:u.filter(s=>D[s]).reduce((s,i)=>(s[i]=!0,s),{}):{};r.exports=n}}),fl=I({"node_modules/semver/internal/identifiers.js"(e,r){q();var u=/^[0-9]+$/,n=(s,i)=>{let f=u.test(s),c=u.test(i);return f&&c&&(s=+s,i=+i),s===i?0:f&&!c?-1:c&&!f?1:sn(i,s);r.exports={compareIdentifiers:n,rcompareIdentifiers:D}}}),dl=I({"node_modules/semver/classes/semver.js"(e,r){q();var u=gs(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:D}=Fs(),{re:s,t:i}=hl(),f=pl(),{compareIdentifiers:c}=fl(),F=class{constructor(a,l){if(l=f(l),a instanceof F){if(a.loose===!!l.loose&&a.includePrerelease===!!l.includePrerelease)return a;a=a.version}else if(typeof a!="string")throw new TypeError(`Invalid Version: ${a}`);if(a.length>n)throw new TypeError(`version is longer than ${n} characters`);u("SemVer",a,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let h=a.trim().match(l.loose?s[i.LOOSE]:s[i.FULL]);if(!h)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+h[1],this.minor=+h[2],this.patch=+h[3],this.major>D||this.major<0)throw new TypeError("Invalid major version");if(this.minor>D||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>D||this.patch<0)throw new TypeError("Invalid patch version");h[4]?this.prerelease=h[4].split(".").map(C=>{if(/^[0-9]+$/.test(C)){let d=+C;if(d>=0&&d=0;)typeof this.prerelease[h]=="number"&&(this.prerelease[h]++,h=-2);h===-1&&this.prerelease.push(0)}l&&(c(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=[l,0]):this.prerelease=[l,0]);break;default:throw new Error(`invalid increment argument: ${a}`)}return this.format(),this.raw=this.version,this}};r.exports=F}}),Hr=I({"node_modules/semver/functions/compare.js"(e,r){q();var u=dl(),n=(D,s,i)=>new u(D,i).compare(new u(s,i));r.exports=n}}),El=I({"node_modules/semver/functions/lt.js"(e,r){q();var u=Hr(),n=(D,s,i)=>u(D,s,i)<0;r.exports=n}}),Cl=I({"node_modules/semver/functions/gte.js"(e,r){q();var u=Hr(),n=(D,s,i)=>u(D,s,i)>=0;r.exports=n}}),ml=I({"src/utils/arrayify.js"(e,r){"use strict";q(),r.exports=(u,n)=>Object.entries(u).map(D=>{let[s,i]=D;return Object.assign({[n]:s},i)})}}),gl=I({"package.json"(e,r){r.exports={version:"2.8.8"}}}),Fl=I({"node_modules/outdent/lib/index.js"(e,r){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function u(){for(var g=[],N=0;Ntypeof l=="string"||typeof l=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:c,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin",cliCategory:n},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:c,description:u` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin-search-dir",cliCategory:n},printWidth:{since:"0.0.0",category:c,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:F,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:D},rangeStart:{since:"1.4.0",category:F,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:D},requirePragma:{since:"1.7.0",category:F,type:"boolean",default:!1,description:u` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:i},tabWidth:{type:"int",category:c,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:c,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:c,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};r.exports={CATEGORY_CONFIG:n,CATEGORY_EDITOR:D,CATEGORY_FORMAT:s,CATEGORY_OTHER:i,CATEGORY_OUTPUT:f,CATEGORY_GLOBAL:c,CATEGORY_SPECIAL:F,options:a}}}),vl=I({"src/main/support.js"(e,r){"use strict";q();var u={compare:Hr(),lt:El(),gte:Cl()},n=ml(),D=gl().version,s=Al().options;function i(){let{plugins:c=[],showUnreleased:F=!1,showDeprecated:a=!1,showInternal:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},h=D.split("-",1)[0],C=c.flatMap(g=>g.languages||[]).filter(m),d=n(Object.assign({},...c.map(g=>{let{options:N}=g;return N}),s),"name").filter(g=>m(g)&&T(g)).sort((g,N)=>g.name===N.name?0:g.name{g=Object.assign({},g),Array.isArray(g.default)&&(g.default=g.default.length===1?g.default[0].value:g.default.filter(m).sort((R,j)=>u.compare(j.since,R.since))[0].value),Array.isArray(g.choices)&&(g.choices=g.choices.filter(R=>m(R)&&T(R)),g.name==="parser"&&f(g,C,c));let N=Object.fromEntries(c.filter(R=>R.defaultOptions&&R.defaultOptions[g.name]!==void 0).map(R=>[R.name,R.defaultOptions[g.name]]));return Object.assign(Object.assign({},g),{},{pluginDefaults:N})});return{languages:C,options:d};function m(g){return F||!("since"in g)||g.since&&u.gte(h,g.since)}function T(g){return a||!("deprecated"in g)||g.deprecated&&u.lt(h,g.deprecated)}function w(g){if(l)return g;let{cliName:N,cliCategory:R,cliDescription:j}=g;return JD(g,KD)}}function f(c,F,a){let l=new Set(c.choices.map(h=>h.value));for(let h of F)if(h.parsers){for(let C of h.parsers)if(!l.has(C)){l.add(C);let d=a.find(T=>T.parsers&&T.parsers[C]),m=h.name;d&&d.name&&(m+=` (plugin: ${d.name})`),c.choices.push({value:C,description:m})}}}r.exports={getSupportInfo:i}}}),_l=I({"src/utils/is-non-empty-array.js"(e,r){"use strict";q();function u(n){return Array.isArray(n)&&n.length>0}r.exports=u}});function Sl(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var yl=Ee({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){q()}});function Tl(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(Sl(),"")}var Bl=Ee({"node_modules/strip-ansi/index.js"(){q(),yl()}});function bl(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var wl=Ee({"node_modules/is-fullwidth-code-point/index.js"(){q()}}),Nl=I({"node_modules/emoji-regex/index.js"(e,r){"use strict";q(),r.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\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|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\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]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),As={};ps(As,{default:()=>Ol});function Ol(e){if(typeof e!="string"||e.length===0||(e=Tl(e),e.length===0))return 0;e=e.replace((0,vs.default)()," ");let r=0;for(let u=0;u=127&&n<=159||n>=768&&n<=879||(n>65535&&u++,r+=bl(n)?2:1)}return r}var vs,ql=Ee({"node_modules/string-width/index.js"(){q(),Bl(),wl(),vs=nl(Nl())}}),Il=I({"src/utils/get-string-width.js"(e,r){"use strict";q();var u=(ql(),ds(As)).default,n=/[^\x20-\x7F]/;function D(s){return s?n.test(s)?u(s):s.length:0}r.exports=D}}),zr=I({"src/utils/text/skip.js"(e,r){"use strict";q();function u(f){return(c,F,a)=>{let l=a&&a.backwards;if(F===!1)return!1;let{length:h}=c,C=F;for(;C>=0&&Cv[v.length-2];function T(v){return(y,B,b)=>{let L=b&&b.backwards;if(B===!1)return!1;let{length:U}=y,G=B;for(;G>=0&&G2&&arguments[2]!==void 0?arguments[2]:{},b=c(v,B.backwards?y-1:y,B),L=C(v,b,B);return b!==L}function g(v,y,B){for(let b=y;b2&&arguments[2]!==void 0?arguments[2]:{};return c(v,B.backwards?y-1:y,B)!==y}function k(v,y){let B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,b=0;for(let L=B;Lne?U:L}return G}function o(v,y){let B=v.slice(1,-1),b=y.parser==="json"||y.parser==="json5"&&y.quoteProps==="preserve"&&!y.singleQuote?'"':y.__isInHtmlAttribute?"'":t(B,y.singleQuote?"'":'"').quote;return E(B,b,!(y.parser==="css"||y.parser==="less"||y.parser==="scss"||y.__embeddedInHtml))}function E(v,y,B){let b=y==='"'?"'":'"',L=/\\(.)|(["'])/gs,U=v.replace(L,(G,W,ne)=>W===b?W:ne===y?"\\"+ne:ne||(B&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(W)?W:"\\"+W));return y+U+y}function p(v){return v.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(v,y){let B=v.match(new RegExp(`(${u(y)})+`,"g"));return B===null?0:B.reduce((b,L)=>Math.max(b,L.length/y.length),0)}function P(v,y){let B=v.match(new RegExp(`(${u(y)})+`,"g"));if(B===null)return 0;let b=new Map,L=0;for(let U of B){let G=U.length/y.length;b.set(G,!0),G>L&&(L=G)}for(let U=1;U{let{name:U}=L;return U.toLowerCase()===v})||B.find(L=>{let{aliases:U}=L;return Array.isArray(U)&&U.includes(v)})||B.find(L=>{let{extensions:U}=L;return Array.isArray(U)&&U.includes(`.${v}`)});return b&&b.parsers[0]}function Q(v){return v&&v.type==="front-matter"}function K(v){let y=new WeakMap;return function(B){return y.has(B)||y.set(B,Symbol(v)),y.get(B)}}function J(v){let y=v.type||v.kind||"(unknown type)",B=String(v.name||v.id&&(typeof v.id=="object"?v.id.name:v.id)||v.key&&(typeof v.key=="object"?v.key.name:v.key)||v.value&&(typeof v.value=="object"?"":String(v.value))||v.operator||"");return B.length>20&&(B=B.slice(0,19)+"\u2026"),y+(B?" "+B:"")}r.exports={inferParserByLanguage:H,getStringWidth:i,getMaxContinuousCount:A,getMinNotPresentContinuousCount:P,getPenultimate:m,getLast:n,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:d,getNextNonSpaceNonCommentCharacterIndex:_,getNextNonSpaceNonCommentCharacter:O,skip:T,skipWhitespace:f,skipSpaces:c,skipToLineEnd:F,skipEverythingButNewLine:a,skipInlineComment:l,skipTrailingComment:h,skipNewline:C,isNextLineEmptyAfterIndex:R,isNextLineEmpty:j,isPreviousLineEmpty:N,hasNewline:w,hasNewlineInRange:g,hasSpaces:x,getAlignmentSize:k,getIndentSize:$,getPreferredQuote:t,printString:o,printNumber:p,makeString:E,addLeadingComment:z,addDanglingComment:V,addTrailingComment:X,isFrontMatterNode:Q,isNonEmptyArray:s,createGroupIdMapper:K}}}),Pl=I({"vendors/html-tag-names.json"(e,r){r.exports={htmlTagNames:["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"]}}}),Ts=I({"src/language-html/utils/array-to-map.js"(e,r){"use strict";q();function u(n){let D=Object.create(null);for(let s of n)D[s]=!0;return D}r.exports=u}}),kl=I({"src/language-html/utils/html-tag-names.js"(e,r){"use strict";q();var{htmlTagNames:u}=Pl(),n=Ts(),D=n(u);r.exports=D}}),Ll=I({"vendors/html-element-attributes.json"(e,r){r.exports={htmlElementAttributes:{"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:["charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","target","type"],applet:["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],area:["alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","target","type"],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],base:["href","target"],basefont:["color","face","size"],blockquote:["cite"],body:["alink","background","bgcolor","link","text","vlink"],br:["clear"],button:["disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","type","value"],canvas:["height","width"],caption:["align"],col:["align","char","charoff","span","valign","width"],colgroup:["align","char","charoff","span","valign","width"],data:["value"],del:["cite","datetime"],details:["open"],dialog:["open"],dir:["compact"],div:["align"],dl:["compact"],embed:["height","src","type","width"],fieldset:["disabled","form","name"],font:["color","face","size"],form:["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],frame:["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],frameset:["cols","rows"],h1:["align"],h2:["align"],h3:["align"],h4:["align"],h5:["align"],h6:["align"],head:["profile"],hr:["align","noshade","size","width"],html:["manifest","version"],iframe:["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","loading","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],img:["align","alt","border","crossorigin","decoding","height","hspace","ismap","loading","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],input:["accept","align","alt","autocomplete","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","type","usemap","value","width"],ins:["cite","datetime"],isindex:["prompt"],label:["for","form"],legend:["align"],li:["type","value"],link:["as","charset","color","crossorigin","disabled","href","hreflang","imagesizes","imagesrcset","integrity","media","referrerpolicy","rel","rev","sizes","target","type"],map:["name"],menu:["compact"],meta:["charset","content","http-equiv","media","name","scheme"],meter:["high","low","max","min","optimum","value"],object:["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","type","typemustmatch","usemap","vspace","width"],ol:["compact","reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],p:["align"],param:["name","type","value","valuetype"],pre:["width"],progress:["max","value"],q:["cite"],script:["async","charset","crossorigin","defer","integrity","language","nomodule","referrerpolicy","src","type"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["height","media","sizes","src","srcset","type","width"],style:["media","type"],table:["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],tbody:["align","char","charoff","valign"],td:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],tfoot:["align","char","charoff","valign"],th:["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],thead:["align","char","charoff","valign"],time:["datetime"],tr:["align","bgcolor","char","charoff","valign"],track:["default","kind","label","src","srclang"],ul:["compact","type"],video:["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"]}}}}),$l=I({"src/language-html/utils/map-object.js"(e,r){"use strict";q();function u(n,D){let s=Object.create(null);for(let[i,f]of Object.entries(n))s[i]=D(f,i);return s}r.exports=u}}),Ml=I({"src/language-html/utils/html-elements-attributes.js"(e,r){"use strict";q();var{htmlElementAttributes:u}=Ll(),n=$l(),D=Ts(),s=n(u,D);r.exports=s}}),jl=I({"src/language-html/utils/is-unknown-namespace.js"(e,r){"use strict";q();function u(n){return n.type==="element"&&!n.hasExplicitNamespace&&!["html","svg"].includes(n.namespace)}r.exports=u}}),Ul=I({"src/language-html/pragma.js"(e,r){"use strict";q();function u(D){return/^\s*/.test(D)}function n(D){return` + +`+D.replace(/^\s*\n/,"")}r.exports={hasPragma:u,insertPragma:n}}}),Gl=I({"src/language-html/ast.js"(e,r){"use strict";q();var u={attrs:!0,children:!0},n=new Set(["parent"]),D=class{constructor(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(let f of new Set([...n,...Object.keys(i)]))this.setProperty(f,i[f])}setProperty(i,f){if(this[i]!==f){if(i in u&&(f=f.map(c=>this.createChild(c))),!n.has(i)){this[i]=f;return}Object.defineProperty(this,i,{value:f,enumerable:!1,configurable:!0})}}map(i){let f;for(let c in u){let F=this[c];if(F){let a=s(F,l=>l.map(i));f!==F&&(f||(f=new D({parent:this.parent})),f.setProperty(c,a))}}if(f)for(let c in this)c in u||(f[c]=this[c]);return i(f||this)}walk(i){for(let f in u){let c=this[f];if(c)for(let F=0;F[i.fullName,i.value]))}};function s(i,f){let c=i.map(f);return c.some((F,a)=>F!==i[a])?c:i}r.exports={Node:D}}}),Vl=I({"src/language-html/conditional-comment.js"(e,r){"use strict";q();var{ParseSourceSpan:u}=Be(),n=[{regex:/^(\[if([^\]]*)]>)(.*?){try{return[!0,F(C,m).children]}catch{return[!1,[{type:"text",value:C,sourceSpan:new u(m,T)}]]}})();return{type:"ieConditionalComment",complete:w,children:g,condition:h.trim().replace(/\s+/g," "),sourceSpan:c.sourceSpan,startSourceSpan:new u(c.sourceSpan.start,m),endSourceSpan:new u(T,c.sourceSpan.end)}}function i(c,F,a){let[,l]=a;return{type:"ieConditionalStartComment",condition:l.trim().replace(/\s+/g," "),sourceSpan:c.sourceSpan}}function f(c){return{type:"ieConditionalEndComment",sourceSpan:c.sourceSpan}}r.exports={parseIeConditionalComment:D}}}),Xl=I({"src/language-html/loc.js"(e,r){"use strict";q();function u(D){return D.sourceSpan.start.offset}function n(D){return D.sourceSpan.end.offset}r.exports={locStart:u,locEnd:n}}}),Ze=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/tags.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r;(function(c){c[c.RAW_TEXT=0]="RAW_TEXT",c[c.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",c[c.PARSABLE_DATA=2]="PARSABLE_DATA"})(r=e.TagContentType||(e.TagContentType={}));function u(c){if(c[0]!=":")return[null,c];let F=c.indexOf(":",1);if(F==-1)throw new Error(`Unsupported format "${c}" expecting ":namespace:name"`);return[c.slice(1,F),c.slice(F+1)]}e.splitNsName=u;function n(c){return u(c)[1]==="ng-container"}e.isNgContainer=n;function D(c){return u(c)[1]==="ng-content"}e.isNgContent=D;function s(c){return u(c)[1]==="ng-template"}e.isNgTemplate=s;function i(c){return c===null?null:u(c)[0]}e.getNsPrefix=i;function f(c,F){return c?`:${c}:${F}`:F}e.mergeNsAndName=f,e.NAMED_ENTITIES={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",AMP:"&",amp:"&",And:"\u2A53",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",ap:"\u2248",apacir:"\u2A6F",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",Barwed:"\u2306",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",Because:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxDL:"\u2557",boxDl:"\u2556",boxdL:"\u2555",boxdl:"\u2510",boxDR:"\u2554",boxDr:"\u2553",boxdR:"\u2552",boxdr:"\u250C",boxH:"\u2550",boxh:"\u2500",boxHD:"\u2566",boxHd:"\u2564",boxhD:"\u2565",boxhd:"\u252C",boxHU:"\u2569",boxHu:"\u2567",boxhU:"\u2568",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxUL:"\u255D",boxUl:"\u255C",boxuL:"\u255B",boxul:"\u2518",boxUR:"\u255A",boxUr:"\u2559",boxuR:"\u2558",boxur:"\u2514",boxV:"\u2551",boxv:"\u2502",boxVH:"\u256C",boxVh:"\u256B",boxvH:"\u256A",boxvh:"\u253C",boxVL:"\u2563",boxVl:"\u2562",boxvL:"\u2561",boxvl:"\u2524",boxVR:"\u2560",boxVr:"\u255F",boxvR:"\u255E",boxvr:"\u251C",bprime:"\u2035",Breve:"\u02D8",breve:"\u02D8",brvbar:"\xA6",Bscr:"\u212C",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",Cap:"\u22D2",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",CenterDot:"\xB7",centerdot:"\xB7",Cfr:"\u212D",cfr:"\u{1D520}",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",Colon:"\u2237",colon:":",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",Conint:"\u222F",conint:"\u222E",ContourIntegral:"\u222E",Copf:"\u2102",copf:"\u{1D554}",coprod:"\u2210",Coproduct:"\u2210",COPY:"\xA9",copy:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",Cross:"\u2A2F",cross:"\u2717",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",Cup:"\u22D3",cup:"\u222A",cupbrcap:"\u2A48",CupCap:"\u224D",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",Dagger:"\u2021",dagger:"\u2020",daleth:"\u2138",Darr:"\u21A1",dArr:"\u21D3",darr:"\u2193",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",DD:"\u2145",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",Diamond:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",Downarrow:"\u21D3",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",ecir:"\u2256",Ecirc:"\xCA",ecirc:"\xEA",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",eDot:"\u2251",edot:"\u0117",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",Escr:"\u2130",escr:"\u212F",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",ExponentialE:"\u2147",exponentiale:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",ForAll:"\u2200",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",Fscr:"\u2131",fscr:"\u{1D4BB}",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",gE:"\u2267",ge:"\u2265",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",Gg:"\u22D9",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gnE:"\u2269",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",GT:">",Gt:"\u226B",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",hArr:"\u21D4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",Hfr:"\u210C",hfr:"\u{1D525}",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",Hopf:"\u210D",hopf:"\u{1D559}",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210B",hscr:"\u{1D4BD}",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",Ifr:"\u2111",ifr:"\u{1D526}",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",Int:"\u222C",int:"\u222B",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",Iscr:"\u2110",iscr:"\u{1D4BE}",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",Lang:"\u27EA",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",Larr:"\u219E",lArr:"\u21D0",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",lAtail:"\u291B",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lBarr:"\u290E",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",Leftarrow:"\u21D0",leftarrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22D8",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lnE:"\u2268",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftarrow:"\u27F5",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\u{1D4C1}",Lsh:"\u21B0",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",LT:"<",Lt:"\u226A",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",Mscr:"\u2133",mscr:"\u{1D4C2}",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21D7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlArr:"\u21CD",nlarr:"\u219A",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21CD",nleftarrow:"\u219A",nLeftrightarrow:"\u21CE",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",nopf:"\u{1D55F}",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nRightarrow:"\u21CF",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nVDash:"\u22AF",nVdash:"\u22AE",nvDash:"\u22AD",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwArr:"\u21D6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",Ocirc:"\xD4",ocirc:"\xF4",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",Or:"\u2A54",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",Otimes:"\u2A37",otimes:"\u2297",otimesas:"\u2A36",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",Popf:"\u2119",popf:"\u{1D561}",pound:"\xA3",Pr:"\u2ABB",pr:"\u227A",prap:"\u2AB7",prcue:"\u227C",prE:"\u2AB3",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",Qopf:"\u211A",qopf:"\u{1D562}",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",QUOT:'"',quot:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",Rang:"\u27EB",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",Rarr:"\u21A0",rArr:"\u21D2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",rAtail:"\u291C",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",RBarr:"\u2910",rBarr:"\u290F",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",REG:"\xAE",reg:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",Rfr:"\u211C",rfr:"\u{1D52F}",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",Rightarrow:"\u21D2",rightarrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",Ropf:"\u211D",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",Rscr:"\u211B",rscr:"\u{1D4C7}",Rsh:"\u21B1",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",Sc:"\u2ABC",sc:"\u227B",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227D",scE:"\u2AB4",sce:"\u2AB0",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",seArr:"\u21D8",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",Square:"\u25A1",square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",Sub:"\u22D0",sub:"\u2282",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",Subset:"\u22D0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",Sum:"\u2211",sum:"\u2211",sung:"\u266A",Sup:"\u22D1",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",Supset:"\u22D1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swArr:"\u21D9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",Tilde:"\u223C",tilde:"\u02DC",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",Uarr:"\u219F",uArr:"\u21D1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrow:"\u2191",Uparrow:"\u21D1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",Updownarrow:"\u21D5",updownarrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",upsi:"\u03C5",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",vArr:"\u21D5",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",Vbar:"\u2AEB",vBar:"\u2AE8",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22AB",Vdash:"\u22A9",vDash:"\u22A8",vdash:"\u22A2",Vdashl:"\u2AE6",Vee:"\u22C1",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",Wedge:"\u22C0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",Xi:"\u039E",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",Yuml:"\u0178",yuml:"\xFF",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",Zfr:"\u2128",zfr:"\u{1D537}",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",Zopf:"\u2124",zopf:"\u{1D56B}",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},e.NGSP_UNICODE="\uE500",e.NAMED_ENTITIES.ngsp=e.NGSP_UNICODE}}),Bs=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_tags.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ze(),u=class{constructor(){let{closedByChildren:i,implicitNamespacePrefix:f,contentType:c=r.TagContentType.PARSABLE_DATA,closedByParent:F=!1,isVoid:a=!1,ignoreFirstLf:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,i&&i.length>0&&i.forEach(h=>this.closedByChildren[h]=!0),this.isVoid=a,this.closedByParent=F||a,this.implicitNamespacePrefix=f||null,this.contentType=c,this.ignoreFirstLf=l}isClosedByChild(i){return this.isVoid||i.toLowerCase()in this.closedByChildren}};e.HtmlTagDefinition=u;var n,D;function s(i){return D||(n=new u,D={base:new u({isVoid:!0}),meta:new u({isVoid:!0}),area:new u({isVoid:!0}),embed:new u({isVoid:!0}),link:new u({isVoid:!0}),img:new u({isVoid:!0}),input:new u({isVoid:!0}),param:new u({isVoid:!0}),hr:new u({isVoid:!0}),br:new u({isVoid:!0}),source:new u({isVoid:!0}),track:new u({isVoid:!0}),wbr:new u({isVoid:!0}),p:new u({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new u({closedByChildren:["tbody","tfoot"]}),tbody:new u({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new u({closedByChildren:["tbody"],closedByParent:!0}),tr:new u({closedByChildren:["tr"],closedByParent:!0}),td:new u({closedByChildren:["td","th"],closedByParent:!0}),th:new u({closedByChildren:["td","th"],closedByParent:!0}),col:new u({isVoid:!0}),svg:new u({implicitNamespacePrefix:"svg"}),math:new u({implicitNamespacePrefix:"math"}),li:new u({closedByChildren:["li"],closedByParent:!0}),dt:new u({closedByChildren:["dt","dd"]}),dd:new u({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new u({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new u({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new u({closedByChildren:["optgroup"],closedByParent:!0}),option:new u({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new u({ignoreFirstLf:!0}),listing:new u({ignoreFirstLf:!0}),style:new u({contentType:r.TagContentType.RAW_TEXT}),script:new u({contentType:r.TagContentType.RAW_TEXT}),title:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT}),textarea:new u({contentType:r.TagContentType.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),D[i]||n}e.getHtmlTagDefinition=s}}),Hl=I({"node_modules/angular-html-parser/lib/compiler/src/ast_path.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=class{constructor(u){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1;this.path=u,this.position=n}get empty(){return!this.path||!this.path.length}get head(){return this.path[0]}get tail(){return this.path[this.path.length-1]}parentOf(u){return u&&this.path[this.path.indexOf(u)-1]}childOf(u){return this.path[this.path.indexOf(u)+1]}first(u){for(let n=this.path.length-1;n>=0;n--){let D=this.path[n];if(D instanceof u)return D}}push(u){this.path.push(u)}pop(){return this.path.pop()}};e.AstPath=r}}),bs=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/ast.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Hl(),u=class{constructor(d,m,T){this.value=d,this.sourceSpan=m,this.i18n=T,this.type="text"}visit(d,m){return d.visitText(this,m)}};e.Text=u;var n=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type="cdata"}visit(d,m){return d.visitCdata(this,m)}};e.CDATA=n;var D=class{constructor(d,m,T,w,g,N){this.switchValue=d,this.type=m,this.cases=T,this.sourceSpan=w,this.switchValueSourceSpan=g,this.i18n=N}visit(d,m){return d.visitExpansion(this,m)}};e.Expansion=D;var s=class{constructor(d,m,T,w,g){this.value=d,this.expression=m,this.sourceSpan=T,this.valueSourceSpan=w,this.expSourceSpan=g}visit(d,m){return d.visitExpansionCase(this,m)}};e.ExpansionCase=s;var i=class{constructor(d,m,T){let w=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null;this.name=d,this.value=m,this.sourceSpan=T,this.valueSpan=w,this.nameSpan=g,this.i18n=N,this.type="attribute"}visit(d,m){return d.visitAttribute(this,m)}};e.Attribute=i;var f=class{constructor(d,m,T,w){let g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:null,R=arguments.length>6&&arguments[6]!==void 0?arguments[6]:null,j=arguments.length>7&&arguments[7]!==void 0?arguments[7]:null;this.name=d,this.attrs=m,this.children=T,this.sourceSpan=w,this.startSourceSpan=g,this.endSourceSpan=N,this.nameSpan=R,this.i18n=j,this.type="element"}visit(d,m){return d.visitElement(this,m)}};e.Element=f;var c=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type="comment"}visit(d,m){return d.visitComment(this,m)}};e.Comment=c;var F=class{constructor(d,m){this.value=d,this.sourceSpan=m,this.type="docType"}visit(d,m){return d.visitDocType(this,m)}};e.DocType=F;function a(d,m){let T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,w=[],g=d.visit?N=>d.visit(N,T)||N.visit(d,T):N=>N.visit(d,T);return m.forEach(N=>{let R=g(N);R&&w.push(R)}),w}e.visitAll=a;var l=class{constructor(){}visitElement(d,m){this.visitChildren(m,T=>{T(d.attrs),T(d.children)})}visitAttribute(d,m){}visitText(d,m){}visitCdata(d,m){}visitComment(d,m){}visitDocType(d,m){}visitExpansion(d,m){return this.visitChildren(m,T=>{T(d.cases)})}visitExpansionCase(d,m){}visitChildren(d,m){let T=[],w=this;function g(N){N&&T.push(a(w,N,d))}return m(g),Array.prototype.concat.apply([],T)}};e.RecursiveVisitor=l;function h(d){let m=d.sourceSpan.start.offset,T=d.sourceSpan.end.offset;return d instanceof f&&(d.endSourceSpan?T=d.endSourceSpan.end.offset:d.children&&d.children.length&&(T=h(d.children[d.children.length-1]).end)),{start:m,end:T}}function C(d,m){let T=[],w=new class extends l{visit(g,N){let R=h(g);if(R.start<=m&&m]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];function n(D,s){if(s!=null&&!(Array.isArray(s)&&s.length==2))throw new Error(`Expected '${D}' to be an array, [start, end].`);if(s!=null){let i=s[0],f=s[1];u.forEach(c=>{if(c.test(i)||c.test(f))throw new Error(`['${i}', '${f}'] contains unusable interpolation symbol.`)})}}e.assertInterpolationSymbols=n}}),Wl=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/interpolation_config.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=zl(),u=class{constructor(n,D){this.start=n,this.end=D}static fromArray(n){return n?(r.assertInterpolationSymbols("interpolation",n),new u(n[0],n[1])):e.DEFAULT_INTERPOLATION_CONFIG}};e.InterpolationConfig=u,e.DEFAULT_INTERPOLATION_CONFIG=new u("{{","}}")}}),Yl=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/lexer.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Es(),u=Be(),n=Wl(),D=Ze(),s;(function(t){t[t.TAG_OPEN_START=0]="TAG_OPEN_START",t[t.TAG_OPEN_END=1]="TAG_OPEN_END",t[t.TAG_OPEN_END_VOID=2]="TAG_OPEN_END_VOID",t[t.TAG_CLOSE=3]="TAG_CLOSE",t[t.TEXT=4]="TEXT",t[t.ESCAPABLE_RAW_TEXT=5]="ESCAPABLE_RAW_TEXT",t[t.RAW_TEXT=6]="RAW_TEXT",t[t.COMMENT_START=7]="COMMENT_START",t[t.COMMENT_END=8]="COMMENT_END",t[t.CDATA_START=9]="CDATA_START",t[t.CDATA_END=10]="CDATA_END",t[t.ATTR_NAME=11]="ATTR_NAME",t[t.ATTR_QUOTE=12]="ATTR_QUOTE",t[t.ATTR_VALUE=13]="ATTR_VALUE",t[t.DOC_TYPE_START=14]="DOC_TYPE_START",t[t.DOC_TYPE_END=15]="DOC_TYPE_END",t[t.EXPANSION_FORM_START=16]="EXPANSION_FORM_START",t[t.EXPANSION_CASE_VALUE=17]="EXPANSION_CASE_VALUE",t[t.EXPANSION_CASE_EXP_START=18]="EXPANSION_CASE_EXP_START",t[t.EXPANSION_CASE_EXP_END=19]="EXPANSION_CASE_EXP_END",t[t.EXPANSION_FORM_END=20]="EXPANSION_FORM_END",t[t.EOF=21]="EOF"})(s=e.TokenType||(e.TokenType={}));var i=class{constructor(t,o,E){this.type=t,this.parts=o,this.sourceSpan=E}};e.Token=i;var f=class extends u.ParseError{constructor(t,o,E){super(E,t),this.tokenType=o}};e.TokenError=f;var c=class{constructor(t,o){this.tokens=t,this.errors=o}};e.TokenizeResult=c;function F(t,o,E){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return new d(new u.ParseSourceFile(t,o),E,p).tokenize()}e.tokenize=F;var a=/\r\n?/g;function l(t){return`Unexpected character "${t===r.$EOF?"EOF":String.fromCharCode(t)}"`}function h(t){return`Unknown entity "${t}" - use the "&#;" or "&#x;" syntax`}var C=class{constructor(t){this.error=t}},d=class{constructor(t,o,E){this._getTagContentType=o,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this._tokenizeIcu=E.tokenizeExpansionForms||!1,this._interpolationConfig=E.interpolationConfig||n.DEFAULT_INTERPOLATION_CONFIG,this._leadingTriviaCodePoints=E.leadingTriviaChars&&E.leadingTriviaChars.map(A=>A.codePointAt(0)||0),this._canSelfClose=E.canSelfClose||!1,this._allowHtmComponentClosingTags=E.allowHtmComponentClosingTags||!1;let p=E.range||{endPos:t.content.length,startPos:0,startLine:0,startCol:0};this._cursor=E.escapedString?new k(t,p):new x(t,p);try{this._cursor.init()}catch(A){this.handleError(A)}}_processCarriageReturns(t){return t.replace(a,` +`)}tokenize(){for(;this._cursor.peek()!==r.$EOF;){let t=this._cursor.clone();try{if(this._attemptCharCode(r.$LT))if(this._attemptCharCode(r.$BANG))this._attemptStr("[CDATA[")?this._consumeCdata(t):this._attemptStr("--")?this._consumeComment(t):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(t):this._consumeBogusComment(t);else if(this._attemptCharCode(r.$SLASH))this._consumeTagClose(t);else{let o=this._cursor.clone();this._attemptCharCode(r.$QUESTION)?(this._cursor=o,this._consumeBogusComment(t)):this._consumeTagOpen(t)}else this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(o){this.handleError(o)}}return this._beginToken(s.EOF),this._endToken([]),new c(O(this.tokens),this.errors)}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(R(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===r.$RBRACE){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();this._currentTokenStart=o,this._currentTokenType=t}_endToken(t){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this._cursor.clone();if(this._currentTokenStart===null)throw new f("Programming error - attempted to end a token when there was no start to the token",this._currentTokenType,this._cursor.getSpan(o));if(this._currentTokenType===null)throw new f("Programming error - attempted to end a token which has no token type",null,this._cursor.getSpan(this._currentTokenStart));let E=new i(this._currentTokenType,t,this._cursor.getSpan(this._currentTokenStart,this._leadingTriviaCodePoints));return this.tokens.push(E),this._currentTokenStart=null,this._currentTokenType=null,E}_createError(t,o){this._isInExpansionForm()&&(t+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let E=new f(t,this._currentTokenType,o);return this._currentTokenStart=null,this._currentTokenType=null,new C(E)}handleError(t){if(t instanceof $&&(t=this._createError(t.msg,this._cursor.getSpan(t.cursor))),t instanceof C)this.errors.push(t.error);else throw t}_attemptCharCode(t){return this._cursor.peek()===t?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(t){return j(this._cursor.peek(),t)?(this._cursor.advance(),!0):!1}_requireCharCode(t){let o=this._cursor.clone();if(!this._attemptCharCode(t))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(o))}_attemptStr(t){let o=t.length;if(this._cursor.charsLeft()this._attemptStr("-->")),this._beginToken(s.COMMENT_END),this._requireStr("-->"),this._endToken([])}_consumeBogusComment(t){this._beginToken(s.COMMENT_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.COMMENT_END),this._cursor.advance(),this._endToken([])}_consumeCdata(t){this._beginToken(s.CDATA_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr("]]>")),this._beginToken(s.CDATA_END),this._requireStr("]]>"),this._endToken([])}_consumeDocType(t){this._beginToken(s.DOC_TYPE_START,t),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===r.$GT),this._beginToken(s.DOC_TYPE_END),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){let t=this._cursor.clone(),o="";for(;this._cursor.peek()!==r.$COLON&&!w(this._cursor.peek());)this._cursor.advance();let E;this._cursor.peek()===r.$COLON?(o=this._cursor.getChars(t),this._cursor.advance(),E=this._cursor.clone()):E=t,this._requireCharCodeUntilFn(T,o===""?0:1);let p=this._cursor.getChars(E);return[o,p]}_consumeTagOpen(t){let o,E,p,A=this.tokens.length,P=this._cursor.clone(),M=[];try{if(!r.isAsciiLetter(this._cursor.peek()))throw this._createError(l(this._cursor.peek()),this._cursor.getSpan(t));for(p=this._consumeTagOpenStart(t),E=p.parts[0],o=p.parts[1],this._attemptCharCodeUntilFn(m);this._cursor.peek()!==r.$SLASH&&this._cursor.peek()!==r.$GT;){let[V,X]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(m),this._attemptCharCode(r.$EQ)){this._attemptCharCodeUntilFn(m);let H=this._consumeAttributeValue();M.push({prefix:V,name:X,value:H})}else M.push({prefix:V,name:X});this._attemptCharCodeUntilFn(m)}this._consumeTagOpenEnd()}catch(V){if(V instanceof C){this._cursor=P,p&&(this.tokens.length=A),this._beginToken(s.TEXT,t),this._endToken(["<"]);return}throw V}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===s.TAG_OPEN_END_VOID)return;let z=this._getTagContentType(o,E,this._fullNameStack.length>0,M);this._handleFullNameStackForTagOpen(E,o),z===D.TagContentType.RAW_TEXT?this._consumeRawTextWithTagClose(E,o,!1):z===D.TagContentType.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(E,o,!0)}_consumeRawTextWithTagClose(t,o,E){let p=this._consumeRawText(E,()=>!this._attemptCharCode(r.$LT)||!this._attemptCharCode(r.$SLASH)||(this._attemptCharCodeUntilFn(m),!this._attemptStrCaseInsensitive(t?`${t}:${o}`:o))?!1:(this._attemptCharCodeUntilFn(m),this._attemptCharCode(r.$GT)));this._beginToken(s.TAG_CLOSE),this._requireCharCodeUntilFn(A=>A===r.$GT,3),this._cursor.advance(),this._endToken([t,o]),this._handleFullNameStackForTagClose(t,o)}_consumeTagOpenStart(t){this._beginToken(s.TAG_OPEN_START,t);let o=this._consumePrefixAndName();return this._endToken(o)}_consumeAttributeName(){let t=this._cursor.peek();if(t===r.$SQ||t===r.$DQ)throw this._createError(l(t),this._cursor.getSpan());this._beginToken(s.ATTR_NAME);let o=this._consumePrefixAndName();return this._endToken(o),o}_consumeAttributeValue(){let t;if(this._cursor.peek()===r.$SQ||this._cursor.peek()===r.$DQ){this._beginToken(s.ATTR_QUOTE);let o=this._cursor.peek();this._cursor.advance(),this._endToken([String.fromCodePoint(o)]),this._beginToken(s.ATTR_VALUE);let E=[];for(;this._cursor.peek()!==o;)E.push(this._readChar(!0));t=this._processCarriageReturns(E.join("")),this._endToken([t]),this._beginToken(s.ATTR_QUOTE),this._cursor.advance(),this._endToken([String.fromCodePoint(o)])}else{this._beginToken(s.ATTR_VALUE);let o=this._cursor.clone();this._requireCharCodeUntilFn(T,1),t=this._processCarriageReturns(this._cursor.getChars(o)),this._endToken([t])}return t}_consumeTagOpenEnd(){let t=this._attemptCharCode(r.$SLASH)?s.TAG_OPEN_END_VOID:s.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(r.$GT),this._endToken([])}_consumeTagClose(t){if(this._beginToken(s.TAG_CLOSE,t),this._attemptCharCodeUntilFn(m),this._allowHtmComponentClosingTags&&this._attemptCharCode(r.$SLASH))this._attemptCharCodeUntilFn(m),this._requireCharCode(r.$GT),this._endToken([]);else{let[o,E]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(m),this._requireCharCode(r.$GT),this._endToken([o,E]),this._handleFullNameStackForTagClose(o,E)}}_consumeExpansionFormStart(){this._beginToken(s.EXPANSION_FORM_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._expansionCaseStack.push(s.EXPANSION_FORM_START),this._beginToken(s.RAW_TEXT);let t=this._readUntil(r.$COMMA);this._endToken([t]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(m),this._beginToken(s.RAW_TEXT);let o=this._readUntil(r.$COMMA);this._endToken([o]),this._requireCharCode(r.$COMMA),this._attemptCharCodeUntilFn(m)}_consumeExpansionCaseStart(){this._beginToken(s.EXPANSION_CASE_VALUE);let t=this._readUntil(r.$LBRACE).trim();this._endToken([t]),this._attemptCharCodeUntilFn(m),this._beginToken(s.EXPANSION_CASE_EXP_START),this._requireCharCode(r.$LBRACE),this._endToken([]),this._attemptCharCodeUntilFn(m),this._expansionCaseStack.push(s.EXPANSION_CASE_EXP_START)}_consumeExpansionCaseEnd(){this._beginToken(s.EXPANSION_CASE_EXP_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._attemptCharCodeUntilFn(m),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(s.EXPANSION_FORM_END),this._requireCharCode(r.$RBRACE),this._endToken([]),this._expansionCaseStack.pop()}_consumeText(){let t=this._cursor.clone();this._beginToken(s.TEXT,t);let o=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(o.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(o.push(this._interpolationConfig.end),this._inInterpolation=!1):o.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(o.join(""))])}_isTextEnd(){return!!(this._cursor.peek()===r.$LT||this._cursor.peek()===r.$EOF||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===r.$RBRACE&&this._isInExpansionCase()))}_readUntil(t){let o=this._cursor.clone();return this._attemptUntilChar(t),this._cursor.getChars(o)}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_CASE_EXP_START}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===s.EXPANSION_FORM_START}isExpansionFormStart(){if(this._cursor.peek()!==r.$LBRACE)return!1;if(this._interpolationConfig){let t=this._cursor.clone(),o=this._attemptStr(this._interpolationConfig.start);return this._cursor=t,!o}return!0}_handleFullNameStackForTagOpen(t,o){let E=D.mergeNsAndName(t,o);(this._fullNameStack.length===0||this._fullNameStack[this._fullNameStack.length-1]===E)&&this._fullNameStack.push(E)}_handleFullNameStackForTagClose(t,o){let E=D.mergeNsAndName(t,o);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]===E&&this._fullNameStack.pop()}};function m(t){return!r.isWhitespace(t)||t===r.$EOF}function T(t){return r.isWhitespace(t)||t===r.$GT||t===r.$SLASH||t===r.$SQ||t===r.$DQ||t===r.$EQ}function w(t){return(tr.$9)}function g(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiHexDigit(t)}function N(t){return t==r.$SEMICOLON||t==r.$EOF||!r.isAsciiLetter(t)}function R(t){return t===r.$EQ||r.isAsciiLetter(t)||r.isDigit(t)}function j(t,o){return _(t)==_(o)}function _(t){return t>=r.$a&&t<=r.$z?t-r.$a+r.$A:t}function O(t){let o=[],E;for(let p=0;p0&&o.indexOf(t.peek())!==-1;)t.advance();return new u.ParseSourceSpan(new u.ParseLocation(t.file,t.state.offset,t.state.line,t.state.column),new u.ParseLocation(this.file,this.state.offset,this.state.line,this.state.column))}getChars(t){return this.input.substring(t.state.offset,this.state.offset)}charAt(t){return this.input.charCodeAt(t)}advanceState(t){if(t.offset>=this.end)throw this.state=t,new $('Unexpected character "EOF"',this);let o=this.charAt(t.offset);o===r.$LF?(t.line++,t.column=0):r.isNewLine(o)||t.column++,t.offset++,this.updatePeek(t)}updatePeek(t){t.peek=t.offset>=this.end?r.$EOF:this.charAt(t.offset)}},k=class extends x{constructor(t,o){t instanceof k?(super(t),this.internalState=Object.assign({},t.internalState)):(super(t,o),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new k(this)}getChars(t){let o=t.clone(),E="";for(;o.internalState.offsetthis.internalState.peek;if(t()===r.$BACKSLASH)if(this.internalState=Object.assign({},this.state),this.advanceState(this.internalState),t()===r.$n)this.state.peek=r.$LF;else if(t()===r.$r)this.state.peek=r.$CR;else if(t()===r.$v)this.state.peek=r.$VTAB;else if(t()===r.$t)this.state.peek=r.$TAB;else if(t()===r.$b)this.state.peek=r.$BSPACE;else if(t()===r.$f)this.state.peek=r.$FF;else if(t()===r.$u)if(this.advanceState(this.internalState),t()===r.$LBRACE){this.advanceState(this.internalState);let o=this.clone(),E=0;for(;t()!==r.$RBRACE;)this.advanceState(this.internalState),E++;this.state.peek=this.decodeHexDigits(o,E)}else{let o=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,4)}else if(t()===r.$x){this.advanceState(this.internalState);let o=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(o,2)}else if(r.isOctalDigit(t())){let o="",E=0,p=this.clone();for(;r.isOctalDigit(t())&&E<3;)p=this.clone(),o+=String.fromCodePoint(t()),this.advanceState(this.internalState),E++;this.state.peek=parseInt(o,8),this.internalState=p.internalState}else r.isNewLine(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(t,o){let E=this.input.substr(t.internalState.offset,o),p=parseInt(E,16);if(isNaN(p))throw t.state=t.internalState,new $("Invalid hexadecimal escape sequence",t);return p}},$=class{constructor(t,o){this.msg=t,this.cursor=o}};e.CursorError=$}}),ls=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/parser.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Be(),u=bs(),n=Yl(),D=Ze(),s=class extends r.ParseError{constructor(a,l,h){super(l,h),this.elementName=a}static create(a,l,h){return new s(a,l,h)}};e.TreeError=s;var i=class{constructor(a,l){this.rootNodes=a,this.errors=l}};e.ParseTreeResult=i;var f=class{constructor(a){this.getTagDefinition=a}parse(a,l,h){let C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,d=arguments.length>4?arguments[4]:void 0,m=x=>function(k){for(var $=arguments.length,t=new Array($>1?$-1:0),o=1;o<$;o++)t[o-1]=arguments[o];return x(k.toLowerCase(),...t)},T=C?this.getTagDefinition:m(this.getTagDefinition),w=x=>T(x).contentType,g=C?d:m(d),N=d?(x,k,$,t)=>{let o=g(x,k,$,t);return o!==void 0?o:w(x)}:w,R=n.tokenize(a,l,N,h),j=h&&h.canSelfClose||!1,_=h&&h.allowHtmComponentClosingTags||!1,O=new c(R.tokens,T,j,_,C).build();return new i(O.rootNodes,R.errors.concat(O.errors))}};e.Parser=f;var c=class{constructor(a,l,h,C,d){this.tokens=a,this.getTagDefinition=l,this.canSelfClose=h,this.allowHtmComponentClosingTags=C,this.isTagNameCaseSensitive=d,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}build(){for(;this._peek.type!==n.TokenType.EOF;)this._peek.type===n.TokenType.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===n.TokenType.TAG_CLOSE?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===n.TokenType.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===n.TokenType.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===n.TokenType.TEXT||this._peek.type===n.TokenType.RAW_TEXT||this._peek.type===n.TokenType.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===n.TokenType.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._peek.type===n.TokenType.DOC_TYPE_START?this._consumeDocType(this._advance()):this._advance();return new i(this._rootNodes,this._errors)}_advance(){let a=this._peek;return this._index0)return this._errors=this._errors.concat(d.errors),null;let m=new r.ParseSourceSpan(a.sourceSpan.start,C.sourceSpan.end),T=new r.ParseSourceSpan(l.sourceSpan.start,C.sourceSpan.end);return new u.ExpansionCase(a.parts[0],d.rootNodes,m,a.sourceSpan,T)}_collectExpansionExpTokens(a){let l=[],h=[n.TokenType.EXPANSION_CASE_EXP_START];for(;;){if((this._peek.type===n.TokenType.EXPANSION_FORM_START||this._peek.type===n.TokenType.EXPANSION_CASE_EXP_START)&&h.push(this._peek.type),this._peek.type===n.TokenType.EXPANSION_CASE_EXP_END)if(F(h,n.TokenType.EXPANSION_CASE_EXP_START)){if(h.pop(),h.length==0)return l}else return this._errors.push(s.create(null,a.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===n.TokenType.EXPANSION_FORM_END)if(F(h,n.TokenType.EXPANSION_FORM_START))h.pop();else return this._errors.push(s.create(null,a.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===n.TokenType.EOF)return this._errors.push(s.create(null,a.sourceSpan,"Invalid ICU message. Missing '}'.")),null;l.push(this._advance())}}_getText(a){let l=a.parts[0];if(l.length>0&&l[0]==` +`){let h=this._getParentElement();h!=null&&h.children.length==0&&this.getTagDefinition(h.name).ignoreFirstLf&&(l=l.substring(1))}return l}_consumeText(a){let l=this._getText(a);l.length>0&&this._addToParent(new u.Text(l,a.sourceSpan))}_closeVoidElement(){let a=this._getParentElement();a&&this.getTagDefinition(a.name).isVoid&&this._elementStack.pop()}_consumeStartTag(a){let l=a.parts[0],h=a.parts[1],C=[];for(;this._peek.type===n.TokenType.ATTR_NAME;)C.push(this._consumeAttr(this._advance()));let d=this._getElementFullName(l,h,this._getParentElement()),m=!1;if(this._peek.type===n.TokenType.TAG_OPEN_END_VOID){this._advance(),m=!0;let R=this.getTagDefinition(d);this.canSelfClose||R.canSelfClose||D.getNsPrefix(d)!==null||R.isVoid||this._errors.push(s.create(d,a.sourceSpan,`Only void and foreign elements can be self closed "${a.parts[1]}"`))}else this._peek.type===n.TokenType.TAG_OPEN_END&&(this._advance(),m=!1);let T=this._peek.sourceSpan.start,w=new r.ParseSourceSpan(a.sourceSpan.start,T),g=new r.ParseSourceSpan(a.sourceSpan.start.moveBy(1),a.sourceSpan.end),N=new u.Element(d,C,[],w,w,void 0,g);this._pushElement(N),m&&(this._popElement(d),N.endSourceSpan=w)}_pushElement(a){let l=this._getParentElement();l&&this.getTagDefinition(l.name).isClosedByChild(a.name)&&this._elementStack.pop(),this._addToParent(a),this._elementStack.push(a)}_consumeEndTag(a){let l=this.allowHtmComponentClosingTags&&a.parts.length===0?null:this._getElementFullName(a.parts[0],a.parts[1],this._getParentElement());if(this._getParentElement()&&(this._getParentElement().endSourceSpan=a.sourceSpan),l&&this.getTagDefinition(l).isVoid)this._errors.push(s.create(l,a.sourceSpan,`Void elements do not have end tags "${a.parts[1]}"`));else if(!this._popElement(l)){let h=`Unexpected closing tag "${l}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this._errors.push(s.create(l,a.sourceSpan,h))}}_popElement(a){for(let l=this._elementStack.length-1;l>=0;l--){let h=this._elementStack[l];if(!a||(D.getNsPrefix(h.name)?h.name==a:h.name.toLowerCase()==a.toLowerCase()))return this._elementStack.splice(l,this._elementStack.length-l),!0;if(!this.getTagDefinition(h.name).closedByParent)return!1}return!1}_consumeAttr(a){let l=D.mergeNsAndName(a.parts[0],a.parts[1]),h=a.sourceSpan.end,C="",d,m;if(this._peek.type===n.TokenType.ATTR_QUOTE&&(m=this._advance().sourceSpan.start),this._peek.type===n.TokenType.ATTR_VALUE){let T=this._advance();C=T.parts[0],h=T.sourceSpan.end,d=T.sourceSpan}return this._peek.type===n.TokenType.ATTR_QUOTE&&(h=this._advance().sourceSpan.end,d=new r.ParseSourceSpan(m,h)),new u.Attribute(l,C,new r.ParseSourceSpan(a.sourceSpan.start,h),d,a.sourceSpan)}_getParentElement(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null}_getParentElementSkippingContainers(){let a=null;for(let l=this._elementStack.length-1;l>=0;l--){if(!D.isNgContainer(this._elementStack[l].name))return{parent:this._elementStack[l],container:a};a=this._elementStack[l]}return{parent:null,container:a}}_addToParent(a){let l=this._getParentElement();l!=null?l.children.push(a):this._rootNodes.push(a)}_insertBeforeContainer(a,l,h){if(!l)this._addToParent(h),this._elementStack.push(h);else{if(a){let C=a.children.indexOf(l);a.children[C]=h}else this._rootNodes.push(h);h.children.push(l),this._elementStack.splice(this._elementStack.indexOf(l),0,h)}}_getElementFullName(a,l,h){return a===""&&(a=this.getTagDefinition(l).implicitNamespacePrefix||"",a===""&&h!=null&&(a=D.getNsPrefix(h.name))),D.mergeNsAndName(a,l)}};function F(a,l){return a.length>0&&a[a.length-1]===l}}}),Ql=I({"node_modules/angular-html-parser/lib/compiler/src/ml_parser/html_parser.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Bs(),u=ls(),n=ls();e.ParseTreeResult=n.ParseTreeResult,e.TreeError=n.TreeError;var D=class extends u.Parser{constructor(){super(r.getHtmlTagDefinition)}parse(s,i,f){let c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,F=arguments.length>4?arguments[4]:void 0;return super.parse(s,i,f,c,F)}};e.HtmlParser=D}}),ws=I({"node_modules/angular-html-parser/lib/angular-html-parser/src/index.js"(e){"use strict";q(),Object.defineProperty(e,"__esModule",{value:!0});var r=Ql(),u=Ze();e.TagContentType=u.TagContentType;var n=null,D=()=>(n||(n=new r.HtmlParser),n);function s(i){let f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},{canSelfClose:c=!1,allowHtmComponentClosingTags:F=!1,isTagNameCaseSensitive:a=!1,getTagContentType:l}=f;return D().parse(i,"angular-html-parser",{tokenizeExpansionForms:!1,interpolationConfig:void 0,canSelfClose:c,allowHtmComponentClosingTags:F},a,l)}e.parse=s}});q();var{ParseSourceSpan:Qe,ParseLocation:cs,ParseSourceFile:Kl}=Be(),Jl=ol(),Zl=Cs(),ec=Dl(),{inferParserByLanguage:rc}=xl(),uc=kl(),Vr=Ml(),hs=jl(),{hasPragma:tc}=Ul(),{Node:nc}=Gl(),{parseIeConditionalComment:sc}=Vl(),{locStart:ic,locEnd:ac}=Xl();function oc(e,r,u){let{canSelfClose:n,normalizeTagName:D,normalizeAttributeName:s,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f,getTagContentType:c}=r,F=ws(),{RecursiveVisitor:a,visitAll:l}=bs(),{ParseSourceSpan:h}=Be(),{getHtmlTagDefinition:C}=Bs(),{rootNodes:d,errors:m}=F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f,getTagContentType:c});if(u.parser==="vue")if(d.some(O=>O.type==="docType"&&O.value==="html"||O.type==="element"&&O.name.toLowerCase()==="html")){n=!0,D=!0,s=!0,i=!0,f=!1;let O=F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f});d=O.rootNodes,m=O.errors}else{let O=x=>{if(!x||x.type!=="element"||x.name!=="template")return!1;let k=x.attrs.find(t=>t.name==="lang"),$=k&&k.value;return!$||rc($,u)==="html"};if(d.some(O)){let x,k=()=>F.parse(e,{canSelfClose:n,allowHtmComponentClosingTags:i,isTagNameCaseSensitive:f}),$=()=>x||(x=k()),t=o=>$().rootNodes.find(E=>{let{startSourceSpan:p}=E;return p&&p.start.offset===o.startSourceSpan.start.offset});for(let o=0;o0){let{msg:_,span:{start:O,end:x}}=m[0];throw ec(_,{start:{line:O.line+1,column:O.col+1},end:{line:x.line+1,column:x.col+1}})}let T=_=>{let O=_.name.startsWith(":")?_.name.slice(1).split(":")[0]:null,x=_.nameSpan.toString(),k=O!==null&&x.startsWith(`${O}:`),$=k?x.slice(O.length+1):x;_.name=$,_.namespace=O,_.hasExplicitNamespace=k},w=_=>{switch(_.type){case"element":T(_);for(let O of _.attrs)T(O),O.valueSpan?(O.value=O.valueSpan.toString(),/["']/.test(O.value[0])&&(O.value=O.value.slice(1,-1))):O.value=null;break;case"comment":_.value=_.sourceSpan.toString().slice(4,-3);break;case"text":_.value=_.sourceSpan.toString();break}},g=(_,O)=>{let x=_.toLowerCase();return O(x)?x:_},N=_=>{if(_.type==="element"&&(D&&(!_.namespace||_.namespace===_.tagDefinition.implicitNamespacePrefix||hs(_))&&(_.name=g(_.name,O=>O in uc)),s)){let O=Vr[_.name]||Object.create(null);for(let x of _.attrs)x.namespace||(x.name=g(x.name,k=>_.name in Vr&&(k in Vr["*"]||k in O)))}},R=_=>{_.sourceSpan&&_.endSourceSpan&&(_.sourceSpan=new h(_.sourceSpan.start,_.endSourceSpan.end))},j=_=>{if(_.type==="element"){let O=C(f?_.name:_.name.toLowerCase());!_.namespace||_.namespace===O.implicitNamespacePrefix||hs(_)?_.tagDefinition=O:_.tagDefinition=C("")}};return l(new class extends a{visit(_){w(_),j(_),N(_),R(_)}},d),d}function Ns(e,r,u){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,{frontMatter:D,content:s}=n?Jl(e):{frontMatter:null,content:e},i=new Kl(e,r.filepath),f=new cs(i,0,0,0),c=f.moveBy(e.length),F={type:"root",sourceSpan:new Qe(f,c),children:oc(s,u,r)};if(D){let h=new cs(i,0,0,0),C=h.moveBy(D.raw.length);D.sourceSpan=new Qe(h,C),F.children.unshift(D)}let a=new nc(F),l=(h,C)=>{let{offset:d}=C,m=e.slice(0,d).replace(/[^\n\r]/g," "),w=Ns(m+h,r,u,!1);w.sourceSpan=new Qe(C,Zl(w.children).sourceSpan.end);let g=w.children[0];return g.length===d?w.children.shift():(g.sourceSpan=new Qe(g.sourceSpan.start.moveBy(d),g.sourceSpan.end),g.value=g.value.slice(d)),w};return a.walk(h=>{if(h.type==="comment"){let C=sc(h,l);C&&h.parent.replaceChild(h,C)}}),a}function Ke(){let{name:e,canSelfClose:r=!1,normalizeTagName:u=!1,normalizeAttributeName:n=!1,allowHtmComponentClosingTags:D=!1,isTagNameCaseSensitive:s=!1,getTagContentType:i}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return{parse:(f,c,F)=>Ns(f,Object.assign({parser:e},F),{canSelfClose:r,normalizeTagName:u,normalizeAttributeName:n,allowHtmComponentClosingTags:D,isTagNameCaseSensitive:s,getTagContentType:i}),hasPragma:tc,astFormat:"html",locStart:ic,locEnd:ac}}Os.exports={parsers:{html:Ke({name:"html",canSelfClose:!0,normalizeTagName:!0,normalizeAttributeName:!0,allowHtmComponentClosingTags:!0}),angular:Ke({name:"angular",canSelfClose:!0}),vue:Ke({name:"vue",canSelfClose:!0,isTagNameCaseSensitive:!0,getTagContentType:(e,r,u,n)=>{if(e.toLowerCase()!=="html"&&!u&&(e!=="template"||n.some(D=>{let{name:s,value:i}=D;return s==="lang"&&i!=="html"&&i!==""&&i!==void 0})))return ws().TagContentType.RAW_TEXT}}),lwc:Ke({name:"lwc"})}}});return Dc();}); + +/***/ }, + +/***/ 79238 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var $=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Fe=$((nf,yu)=>{var tr=function(e){return e&&e.Math==Math&&e};yu.exports=tr(typeof globalThis=="object"&&globalThis)||tr(typeof window=="object"&&window)||tr(typeof self=="object"&&self)||tr(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Ae=$((af,wu)=>{wu.exports=function(e){try{return!!e()}catch{return!0}}});var Be=$((of,Bu)=>{var fa=Ae();Bu.exports=!fa(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var nr=$((sf,ku)=>{var pa=Ae();ku.exports=!pa(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var Oe=$((cf,qu)=>{var da=nr(),ir=Function.prototype.call;qu.exports=da?ir.bind(ir):function(){return ir.apply(ir,arguments)}});var Su=$(Iu=>{"use strict";var _u={}.propertyIsEnumerable,Ou=Object.getOwnPropertyDescriptor,ha=Ou&&!_u.call({1:2},1);Iu.f=ha?function(r){var u=Ou(this,r);return!!u&&u.enumerable}:_u});var ar=$((Df,Tu)=>{Tu.exports=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}}});var ve=$((ff,Ru)=>{var Nu=nr(),Lu=Function.prototype,wr=Lu.call,va=Nu&&Lu.bind.bind(wr,wr);Ru.exports=Nu?va:function(e){return function(){return wr.apply(e,arguments)}}});var Ve=$((pf,Pu)=>{var ju=ve(),ma=ju({}.toString),Ea=ju("".slice);Pu.exports=function(e){return Ea(ma(e),8,-1)}});var zu=$((df,Mu)=>{var Ca=ve(),ga=Ae(),Fa=Ve(),Br=Object,Aa=Ca("".split);Mu.exports=ga(function(){return!Br("z").propertyIsEnumerable(0)})?function(e){return Fa(e)=="String"?Aa(e,""):Br(e)}:Br});var or=$((hf,$u)=>{$u.exports=function(e){return e==null}});var kr=$((vf,Uu)=>{var xa=or(),ba=TypeError;Uu.exports=function(e){if(xa(e))throw ba("Can't call method on "+e);return e}});var sr=$((mf,Gu)=>{var ya=zu(),wa=kr();Gu.exports=function(e){return ya(wa(e))}});var _r=$((Ef,Vu)=>{var qr=typeof document=="object"&&document.all,Ba=typeof qr>"u"&&qr!==void 0;Vu.exports={all:qr,IS_HTMLDDA:Ba}});var de=$((Cf,Xu)=>{var Hu=_r(),ka=Hu.all;Xu.exports=Hu.IS_HTMLDDA?function(e){return typeof e=="function"||e===ka}:function(e){return typeof e=="function"}});var Ie=$((gf,Yu)=>{var Wu=de(),Ku=_r(),qa=Ku.all;Yu.exports=Ku.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:Wu(e)||e===qa}:function(e){return typeof e=="object"?e!==null:Wu(e)}});var He=$((Ff,Ju)=>{var Or=Fe(),_a=de(),Oa=function(e){return _a(e)?e:void 0};Ju.exports=function(e,r){return arguments.length<2?Oa(Or[e]):Or[e]&&Or[e][r]}});var Ir=$((Af,Zu)=>{var Ia=ve();Zu.exports=Ia({}.isPrototypeOf)});var et=$((xf,Qu)=>{var Sa=He();Qu.exports=Sa("navigator","userAgent")||""});var ot=$((bf,at)=>{var it=Fe(),Sr=et(),rt=it.process,ut=it.Deno,tt=rt&&rt.versions||ut&&ut.version,nt=tt&&tt.v8,me,cr;nt&&(me=nt.split("."),cr=me[0]>0&&me[0]<4?1:+(me[0]+me[1]));!cr&&Sr&&(me=Sr.match(/Edge\/(\d+)/),(!me||me[1]>=74)&&(me=Sr.match(/Chrome\/(\d+)/),me&&(cr=+me[1])));at.exports=cr});var Tr=$((yf,ct)=>{var st=ot(),Ta=Ae();ct.exports=!!Object.getOwnPropertySymbols&&!Ta(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&st&&st<41})});var Nr=$((wf,lt)=>{var Na=Tr();lt.exports=Na&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Lr=$((Bf,Dt)=>{var La=He(),Ra=de(),ja=Ir(),Pa=Nr(),Ma=Object;Dt.exports=Pa?function(e){return typeof e=="symbol"}:function(e){var r=La("Symbol");return Ra(r)&&ja(r.prototype,Ma(e))}});var lr=$((kf,ft)=>{var za=String;ft.exports=function(e){try{return za(e)}catch{return"Object"}}});var Xe=$((qf,pt)=>{var $a=de(),Ua=lr(),Ga=TypeError;pt.exports=function(e){if($a(e))return e;throw Ga(Ua(e)+" is not a function")}});var Dr=$((_f,dt)=>{var Va=Xe(),Ha=or();dt.exports=function(e,r){var u=e[r];return Ha(u)?void 0:Va(u)}});var vt=$((Of,ht)=>{var Rr=Oe(),jr=de(),Pr=Ie(),Xa=TypeError;ht.exports=function(e,r){var u,t;if(r==="string"&&jr(u=e.toString)&&!Pr(t=Rr(u,e))||jr(u=e.valueOf)&&!Pr(t=Rr(u,e))||r!=="string"&&jr(u=e.toString)&&!Pr(t=Rr(u,e)))return t;throw Xa("Can't convert object to primitive value")}});var Et=$((If,mt)=>{mt.exports=!1});var fr=$((Sf,gt)=>{var Ct=Fe(),Wa=Object.defineProperty;gt.exports=function(e,r){try{Wa(Ct,e,{value:r,configurable:!0,writable:!0})}catch{Ct[e]=r}return r}});var pr=$((Tf,At)=>{var Ka=Fe(),Ya=fr(),Ft="__core-js_shared__",Ja=Ka[Ft]||Ya(Ft,{});At.exports=Ja});var Mr=$((Nf,bt)=>{var Za=Et(),xt=pr();(bt.exports=function(e,r){return xt[e]||(xt[e]=r!==void 0?r:{})})("versions",[]).push({version:"3.26.1",mode:Za?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var zr=$((Lf,yt)=>{var Qa=kr(),eo=Object;yt.exports=function(e){return eo(Qa(e))}});var ke=$((Rf,wt)=>{var ro=ve(),uo=zr(),to=ro({}.hasOwnProperty);wt.exports=Object.hasOwn||function(r,u){return to(uo(r),u)}});var $r=$((jf,Bt)=>{var no=ve(),io=0,ao=Math.random(),oo=no(1 .toString);Bt.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+oo(++io+ao,36)}});var Te=$((Pf,It)=>{var so=Fe(),co=Mr(),kt=ke(),lo=$r(),qt=Tr(),Ot=Nr(),Le=co("wks"),Se=so.Symbol,_t=Se&&Se.for,Do=Ot?Se:Se&&Se.withoutSetter||lo;It.exports=function(e){if(!kt(Le,e)||!(qt||typeof Le[e]=="string")){var r="Symbol."+e;qt&&kt(Se,e)?Le[e]=Se[e]:Ot&&_t?Le[e]=_t(r):Le[e]=Do(r)}return Le[e]}});var Lt=$((Mf,Nt)=>{var fo=Oe(),St=Ie(),Tt=Lr(),po=Dr(),ho=vt(),vo=Te(),mo=TypeError,Eo=vo("toPrimitive");Nt.exports=function(e,r){if(!St(e)||Tt(e))return e;var u=po(e,Eo),t;if(u){if(r===void 0&&(r="default"),t=fo(u,e,r),!St(t)||Tt(t))return t;throw mo("Can't convert object to primitive value")}return r===void 0&&(r="number"),ho(e,r)}});var dr=$((zf,Rt)=>{var Co=Lt(),go=Lr();Rt.exports=function(e){var r=Co(e,"string");return go(r)?r:r+""}});var Mt=$(($f,Pt)=>{var Fo=Fe(),jt=Ie(),Ur=Fo.document,Ao=jt(Ur)&&jt(Ur.createElement);Pt.exports=function(e){return Ao?Ur.createElement(e):{}}});var Gr=$((Uf,zt)=>{var xo=Be(),bo=Ae(),yo=Mt();zt.exports=!xo&&!bo(function(){return Object.defineProperty(yo("div"),"a",{get:function(){return 7}}).a!=7})});var Vr=$(Ut=>{var wo=Be(),Bo=Oe(),ko=Su(),qo=ar(),_o=sr(),Oo=dr(),Io=ke(),So=Gr(),$t=Object.getOwnPropertyDescriptor;Ut.f=wo?$t:function(r,u){if(r=_o(r),u=Oo(u),So)try{return $t(r,u)}catch{}if(Io(r,u))return qo(!Bo(ko.f,r,u),r[u])}});var Vt=$((Vf,Gt)=>{var To=Be(),No=Ae();Gt.exports=To&&No(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Re=$((Hf,Ht)=>{var Lo=Ie(),Ro=String,jo=TypeError;Ht.exports=function(e){if(Lo(e))return e;throw jo(Ro(e)+" is not an object")}});var We=$(Wt=>{var Po=Be(),Mo=Gr(),zo=Vt(),hr=Re(),Xt=dr(),$o=TypeError,Hr=Object.defineProperty,Uo=Object.getOwnPropertyDescriptor,Xr="enumerable",Wr="configurable",Kr="writable";Wt.f=Po?zo?function(r,u,t){if(hr(r),u=Xt(u),hr(t),typeof r=="function"&&u==="prototype"&&"value"in t&&Kr in t&&!t[Kr]){var a=Uo(r,u);a&&a[Kr]&&(r[u]=t.value,t={configurable:Wr in t?t[Wr]:a[Wr],enumerable:Xr in t?t[Xr]:a[Xr],writable:!1})}return Hr(r,u,t)}:Hr:function(r,u,t){if(hr(r),u=Xt(u),hr(t),Mo)try{return Hr(r,u,t)}catch{}if("get"in t||"set"in t)throw $o("Accessors not supported");return"value"in t&&(r[u]=t.value),r}});var Yr=$((Wf,Kt)=>{var Go=Be(),Vo=We(),Ho=ar();Kt.exports=Go?function(e,r,u){return Vo.f(e,r,Ho(1,u))}:function(e,r,u){return e[r]=u,e}});var Zt=$((Kf,Jt)=>{var Jr=Be(),Xo=ke(),Yt=Function.prototype,Wo=Jr&&Object.getOwnPropertyDescriptor,Zr=Xo(Yt,"name"),Ko=Zr&&function(){}.name==="something",Yo=Zr&&(!Jr||Jr&&Wo(Yt,"name").configurable);Jt.exports={EXISTS:Zr,PROPER:Ko,CONFIGURABLE:Yo}});var eu=$((Yf,Qt)=>{var Jo=ve(),Zo=de(),Qr=pr(),Qo=Jo(Function.toString);Zo(Qr.inspectSource)||(Qr.inspectSource=function(e){return Qo(e)});Qt.exports=Qr.inspectSource});var un=$((Jf,rn)=>{var es=Fe(),rs=de(),en=es.WeakMap;rn.exports=rs(en)&&/native code/.test(String(en))});var an=$((Zf,nn)=>{var us=Mr(),ts=$r(),tn=us("keys");nn.exports=function(e){return tn[e]||(tn[e]=ts(e))}});var ru=$((Qf,on)=>{on.exports={}});var Dn=$((ep,ln)=>{var ns=un(),cn=Fe(),is=Ie(),as=Yr(),uu=ke(),tu=pr(),os=an(),ss=ru(),sn="Object already initialized",nu=cn.TypeError,cs=cn.WeakMap,vr,Ke,mr,ls=function(e){return mr(e)?Ke(e):vr(e,{})},Ds=function(e){return function(r){var u;if(!is(r)||(u=Ke(r)).type!==e)throw nu("Incompatible receiver, "+e+" required");return u}};ns||tu.state?(Ee=tu.state||(tu.state=new cs),Ee.get=Ee.get,Ee.has=Ee.has,Ee.set=Ee.set,vr=function(e,r){if(Ee.has(e))throw nu(sn);return r.facade=e,Ee.set(e,r),r},Ke=function(e){return Ee.get(e)||{}},mr=function(e){return Ee.has(e)}):(Ne=os("state"),ss[Ne]=!0,vr=function(e,r){if(uu(e,Ne))throw nu(sn);return r.facade=e,as(e,Ne,r),r},Ke=function(e){return uu(e,Ne)?e[Ne]:{}},mr=function(e){return uu(e,Ne)});var Ee,Ne;ln.exports={set:vr,get:Ke,has:mr,enforce:ls,getterFor:Ds}});var dn=$((rp,pn)=>{var fs=Ae(),ps=de(),Er=ke(),iu=Be(),ds=Zt().CONFIGURABLE,hs=eu(),fn=Dn(),vs=fn.enforce,ms=fn.get,Cr=Object.defineProperty,Es=iu&&!fs(function(){return Cr(function(){},"length",{value:8}).length!==8}),Cs=String(String).split("String"),gs=pn.exports=function(e,r,u){String(r).slice(0,7)==="Symbol("&&(r="["+String(r).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),u&&u.getter&&(r="get "+r),u&&u.setter&&(r="set "+r),(!Er(e,"name")||ds&&e.name!==r)&&(iu?Cr(e,"name",{value:r,configurable:!0}):e.name=r),Es&&u&&Er(u,"arity")&&e.length!==u.arity&&Cr(e,"length",{value:u.arity});try{u&&Er(u,"constructor")&&u.constructor?iu&&Cr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var t=vs(e);return Er(t,"source")||(t.source=Cs.join(typeof r=="string"?r:"")),e};Function.prototype.toString=gs(function(){return ps(this)&&ms(this).source||hs(this)},"toString")});var vn=$((up,hn)=>{var Fs=de(),As=We(),xs=dn(),bs=fr();hn.exports=function(e,r,u,t){t||(t={});var a=t.enumerable,n=t.name!==void 0?t.name:r;if(Fs(u)&&xs(u,n,t),t.global)a?e[r]=u:bs(r,u);else{try{t.unsafe?e[r]&&(a=!0):delete e[r]}catch{}a?e[r]=u:As.f(e,r,{value:u,enumerable:!1,configurable:!t.nonConfigurable,writable:!t.nonWritable})}return e}});var En=$((tp,mn)=>{var ys=Math.ceil,ws=Math.floor;mn.exports=Math.trunc||function(r){var u=+r;return(u>0?ws:ys)(u)}});var au=$((np,Cn)=>{var Bs=En();Cn.exports=function(e){var r=+e;return r!==r||r===0?0:Bs(r)}});var Fn=$((ip,gn)=>{var ks=au(),qs=Math.max,_s=Math.min;gn.exports=function(e,r){var u=ks(e);return u<0?qs(u+r,0):_s(u,r)}});var xn=$((ap,An)=>{var Os=au(),Is=Math.min;An.exports=function(e){return e>0?Is(Os(e),9007199254740991):0}});var Ye=$((op,bn)=>{var Ss=xn();bn.exports=function(e){return Ss(e.length)}});var Bn=$((sp,wn)=>{var Ts=sr(),Ns=Fn(),Ls=Ye(),yn=function(e){return function(r,u,t){var a=Ts(r),n=Ls(a),s=Ns(t,n),c;if(e&&u!=u){for(;n>s;)if(c=a[s++],c!=c)return!0}else for(;n>s;s++)if((e||s in a)&&a[s]===u)return e||s||0;return!e&&-1}};wn.exports={includes:yn(!0),indexOf:yn(!1)}});var _n=$((cp,qn)=>{var Rs=ve(),ou=ke(),js=sr(),Ps=Bn().indexOf,Ms=ru(),kn=Rs([].push);qn.exports=function(e,r){var u=js(e),t=0,a=[],n;for(n in u)!ou(Ms,n)&&ou(u,n)&&kn(a,n);for(;r.length>t;)ou(u,n=r[t++])&&(~Ps(a,n)||kn(a,n));return a}});var In=$((lp,On)=>{On.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Tn=$(Sn=>{var zs=_n(),$s=In(),Us=$s.concat("length","prototype");Sn.f=Object.getOwnPropertyNames||function(r){return zs(r,Us)}});var Ln=$(Nn=>{Nn.f=Object.getOwnPropertySymbols});var jn=$((pp,Rn)=>{var Gs=He(),Vs=ve(),Hs=Tn(),Xs=Ln(),Ws=Re(),Ks=Vs([].concat);Rn.exports=Gs("Reflect","ownKeys")||function(r){var u=Hs.f(Ws(r)),t=Xs.f;return t?Ks(u,t(r)):u}});var zn=$((dp,Mn)=>{var Pn=ke(),Ys=jn(),Js=Vr(),Zs=We();Mn.exports=function(e,r,u){for(var t=Ys(r),a=Zs.f,n=Js.f,s=0;s{var Qs=Ae(),ec=de(),rc=/#|\.prototype\./,Je=function(e,r){var u=tc[uc(e)];return u==ic?!0:u==nc?!1:ec(r)?Qs(r):!!r},uc=Je.normalize=function(e){return String(e).replace(rc,".").toLowerCase()},tc=Je.data={},nc=Je.NATIVE="N",ic=Je.POLYFILL="P";$n.exports=Je});var cu=$((vp,Gn)=>{var su=Fe(),ac=Vr().f,oc=Yr(),sc=vn(),cc=fr(),lc=zn(),Dc=Un();Gn.exports=function(e,r){var u=e.target,t=e.global,a=e.stat,n,s,c,i,D,o;if(t?s=su:a?s=su[u]||cc(u,{}):s=(su[u]||{}).prototype,s)for(c in r){if(D=r[c],e.dontCallGetSet?(o=ac(s,c),i=o&&o.value):i=s[c],n=Dc(t?c:u+(a?".":"#")+c,e.forced),!n&&i!==void 0){if(typeof D==typeof i)continue;lc(D,i)}(e.sham||i&&i.sham)&&oc(D,"sham",!0),sc(s,c,D,e)}}});var lu=$((mp,Vn)=>{var fc=Ve();Vn.exports=Array.isArray||function(r){return fc(r)=="Array"}});var Xn=$((Ep,Hn)=>{var pc=TypeError,dc=9007199254740991;Hn.exports=function(e){if(e>dc)throw pc("Maximum allowed index exceeded");return e}});var Kn=$((Cp,Wn)=>{var hc=Ve(),vc=ve();Wn.exports=function(e){if(hc(e)==="Function")return vc(e)}});var Du=$((gp,Jn)=>{var Yn=Kn(),mc=Xe(),Ec=nr(),Cc=Yn(Yn.bind);Jn.exports=function(e,r){return mc(e),r===void 0?e:Ec?Cc(e,r):function(){return e.apply(r,arguments)}}});var ei=$((Fp,Qn)=>{"use strict";var gc=lu(),Fc=Ye(),Ac=Xn(),xc=Du(),Zn=function(e,r,u,t,a,n,s,c){for(var i=a,D=0,o=s?xc(s,c):!1,l,d;D0&&gc(l)?(d=Fc(l),i=Zn(e,r,l,d,i,n-1)-1):(Ac(i+1),e[i]=l),i++),D++;return i};Qn.exports=Zn});var ti=$((Ap,ui)=>{var bc=Te(),yc=bc("toStringTag"),ri={};ri[yc]="z";ui.exports=String(ri)==="[object z]"});var fu=$((xp,ni)=>{var wc=ti(),Bc=de(),gr=Ve(),kc=Te(),qc=kc("toStringTag"),_c=Object,Oc=gr(function(){return arguments}())=="Arguments",Ic=function(e,r){try{return e[r]}catch{}};ni.exports=wc?gr:function(e){var r,u,t;return e===void 0?"Undefined":e===null?"Null":typeof(u=Ic(r=_c(e),qc))=="string"?u:Oc?gr(r):(t=gr(r))=="Object"&&Bc(r.callee)?"Arguments":t}});var li=$((bp,ci)=>{var Sc=ve(),Tc=Ae(),ii=de(),Nc=fu(),Lc=He(),Rc=eu(),ai=function(){},jc=[],oi=Lc("Reflect","construct"),pu=/^\s*(?:class|function)\b/,Pc=Sc(pu.exec),Mc=!pu.exec(ai),Ze=function(r){if(!ii(r))return!1;try{return oi(ai,jc,r),!0}catch{return!1}},si=function(r){if(!ii(r))return!1;switch(Nc(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Mc||!!Pc(pu,Rc(r))}catch{return!0}};si.sham=!0;ci.exports=!oi||Tc(function(){var e;return Ze(Ze.call)||!Ze(Object)||!Ze(function(){e=!0})||e})?si:Ze});var di=$((yp,pi)=>{var Di=lu(),zc=li(),$c=Ie(),Uc=Te(),Gc=Uc("species"),fi=Array;pi.exports=function(e){var r;return Di(e)&&(r=e.constructor,zc(r)&&(r===fi||Di(r.prototype))?r=void 0:$c(r)&&(r=r[Gc],r===null&&(r=void 0))),r===void 0?fi:r}});var vi=$((wp,hi)=>{var Vc=di();hi.exports=function(e,r){return new(Vc(e))(r===0?0:r)}});var mi=$(()=>{"use strict";var Hc=cu(),Xc=ei(),Wc=Xe(),Kc=zr(),Yc=Ye(),Jc=vi();Hc({target:"Array",proto:!0},{flatMap:function(r){var u=Kc(this),t=Yc(u),a;return Wc(r),a=Jc(u,0),a.length=Xc(a,u,u,t,0,1,r,arguments.length>1?arguments[1]:void 0),a}})});var du=$((qp,Ei)=>{Ei.exports={}});var gi=$((_p,Ci)=>{var Zc=Te(),Qc=du(),el=Zc("iterator"),rl=Array.prototype;Ci.exports=function(e){return e!==void 0&&(Qc.Array===e||rl[el]===e)}});var hu=$((Op,Ai)=>{var ul=fu(),Fi=Dr(),tl=or(),nl=du(),il=Te(),al=il("iterator");Ai.exports=function(e){if(!tl(e))return Fi(e,al)||Fi(e,"@@iterator")||nl[ul(e)]}});var bi=$((Ip,xi)=>{var ol=Oe(),sl=Xe(),cl=Re(),ll=lr(),Dl=hu(),fl=TypeError;xi.exports=function(e,r){var u=arguments.length<2?Dl(e):r;if(sl(u))return cl(ol(u,e));throw fl(ll(e)+" is not iterable")}});var Bi=$((Sp,wi)=>{var pl=Oe(),yi=Re(),dl=Dr();wi.exports=function(e,r,u){var t,a;yi(e);try{if(t=dl(e,"return"),!t){if(r==="throw")throw u;return u}t=pl(t,e)}catch(n){a=!0,t=n}if(r==="throw")throw u;if(a)throw t;return yi(t),u}});var Ii=$((Tp,Oi)=>{var hl=Du(),vl=Oe(),ml=Re(),El=lr(),Cl=gi(),gl=Ye(),ki=Ir(),Fl=bi(),Al=hu(),qi=Bi(),xl=TypeError,Fr=function(e,r){this.stopped=e,this.result=r},_i=Fr.prototype;Oi.exports=function(e,r,u){var t=u&&u.that,a=!!(u&&u.AS_ENTRIES),n=!!(u&&u.IS_RECORD),s=!!(u&&u.IS_ITERATOR),c=!!(u&&u.INTERRUPTED),i=hl(r,t),D,o,l,d,p,g,F,E=function(f){return D&&qi(D,"normal",f),new Fr(!0,f)},b=function(f){return a?(ml(f),c?i(f[0],f[1],E):i(f[0],f[1])):c?i(f,E):i(f)};if(n)D=e.iterator;else if(s)D=e;else{if(o=Al(e),!o)throw xl(El(e)+" is not iterable");if(Cl(o)){for(l=0,d=gl(e);d>l;l++)if(p=b(e[l]),p&&ki(_i,p))return p;return new Fr(!1)}D=Fl(e,o)}for(g=n?e.next:D.next;!(F=vl(g,D)).done;){try{p=b(F.value)}catch(f){qi(D,"throw",f)}if(typeof p=="object"&&p&&ki(_i,p))return p}return new Fr(!1)}});var Ti=$((Np,Si)=>{"use strict";var bl=dr(),yl=We(),wl=ar();Si.exports=function(e,r,u){var t=bl(r);t in e?yl.f(e,t,wl(0,u)):e[t]=u}});var Ni=$(()=>{var Bl=cu(),kl=Ii(),ql=Ti();Bl({target:"Object",stat:!0},{fromEntries:function(r){var u={};return kl(r,function(t,a){ql(u,t,a)},{AS_ENTRIES:!0}),u}})});var uf=$((jp,la)=>{var _l=["cliName","cliCategory","cliDescription"];function Ol(e,r){if(e==null)return{};var u=Il(e,r),t,a;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(u[t]=e[t])}return u}function Il(e,r){if(e==null)return{};var u={},t=Object.keys(e),a,n;for(n=0;n=0)&&(u[a]=e[a]);return u}mi();Ni();var Sl=Object.create,Ar=Object.defineProperty,Tl=Object.getOwnPropertyDescriptor,vu=Object.getOwnPropertyNames,Nl=Object.getPrototypeOf,Ll=Object.prototype.hasOwnProperty,je=(e,r)=>function(){return e&&(r=(0,e[vu(e)[0]])(e=0)),r},S=(e,r)=>function(){return r||(0,e[vu(e)[0]])((r={exports:{}}).exports,r),r.exports},Pi=(e,r)=>{for(var u in r)Ar(e,u,{get:r[u],enumerable:!0})},Mi=(e,r,u,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of vu(r))!Ll.call(e,a)&&a!==u&&Ar(e,a,{get:()=>r[a],enumerable:!(t=Tl(r,a))||t.enumerable});return e},Rl=(e,r,u)=>(u=e!=null?Sl(Nl(e)):{},Mi(r||!e||!e.__esModule?Ar(u,"default",{value:e,enumerable:!0}):u,e)),zi=e=>Mi(Ar({},"__esModule",{value:!0}),e),Qe,I=je({""(){Qe={env:{},argv:[]}}}),Pe=S({"node_modules/xtend/immutable.js"(e,r){I(),r.exports=t;var u=Object.prototype.hasOwnProperty;function t(){for(var a={},n=0;n-1&&DD)return{line:o+1,column:D-(n[o-1]||0)+1,offset:D}}return{}}function i(D){var o=D&&D.line,l=D&&D.column,d;return!isNaN(o)&&!isNaN(l)&&o-1 in n&&(d=(n[o-2]||0)+l-1||0),d>-1&&d",Iacute:"\xCD",Icirc:"\xCE",Igrave:"\xCC",Iuml:"\xCF",LT:"<",Ntilde:"\xD1",Oacute:"\xD3",Ocirc:"\xD4",Ograve:"\xD2",Oslash:"\xD8",Otilde:"\xD5",Ouml:"\xD6",QUOT:'"',REG:"\xAE",THORN:"\xDE",Uacute:"\xDA",Ucirc:"\xDB",Ugrave:"\xD9",Uuml:"\xDC",Yacute:"\xDD",aacute:"\xE1",acirc:"\xE2",acute:"\xB4",aelig:"\xE6",agrave:"\xE0",amp:"&",aring:"\xE5",atilde:"\xE3",auml:"\xE4",brvbar:"\xA6",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",ecirc:"\xEA",egrave:"\xE8",eth:"\xF0",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",iacute:"\xED",icirc:"\xEE",iexcl:"\xA1",igrave:"\xEC",iquest:"\xBF",iuml:"\xEF",laquo:"\xAB",lt:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",oacute:"\xF3",ocirc:"\xF4",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",otilde:"\xF5",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',raquo:"\xBB",reg:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",times:"\xD7",uacute:"\xFA",ucirc:"\xFB",ugrave:"\xF9",uml:"\xA8",uuml:"\xFC",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}}}),Gl=S({"node_modules/character-reference-invalid/index.json"(e,r){r.exports={0:"\uFFFD",128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"}}}),Me=S({"node_modules/is-decimal/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=48&&a<=57}}}),Vl=S({"node_modules/is-hexadecimal/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=97&&a<=102||a>=65&&a<=70||a>=48&&a<=57}}}),er=S({"node_modules/is-alphabetical/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){var a=typeof t=="string"?t.charCodeAt(0):t;return a>=97&&a<=122||a>=65&&a<=90}}}),Hl=S({"node_modules/is-alphanumerical/index.js"(e,r){"use strict";I();var u=er(),t=Me();r.exports=a;function a(n){return u(n)||t(n)}}}),Xl=S({"node_modules/character-entities/index.json"(e,r){r.exports={AEli:"\xC6",AElig:"\xC6",AM:"&",AMP:"&",Aacut:"\xC1",Aacute:"\xC1",Abreve:"\u0102",Acir:"\xC2",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrav:"\xC0",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Arin:"\xC5",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atild:"\xC3",Atilde:"\xC3",Aum:"\xC4",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COP:"\xA9",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedi:"\xC7",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ET:"\xD0",ETH:"\xD0",Eacut:"\xC9",Eacute:"\xC9",Ecaron:"\u011A",Ecir:"\xCA",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrav:"\xC8",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Eum:"\xCB",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",G:">",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacut:"\xCD",Iacute:"\xCD",Icir:"\xCE",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrav:"\xCC",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Ium:"\xCF",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",L:"<",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntild:"\xD1",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacut:"\xD3",Oacute:"\xD3",Ocir:"\xD4",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograv:"\xD2",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslas:"\xD8",Oslash:"\xD8",Otild:"\xD5",Otilde:"\xD5",Otimes:"\u2A37",Oum:"\xD6",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUO:'"',QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",RE:"\xAE",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THOR:"\xDE",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacut:"\xDA",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucir:"\xDB",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrav:"\xD9",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uum:"\xDC",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacut:"\xDD",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacut:"\xE1",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acir:"\xE2",acirc:"\xE2",acut:"\xB4",acute:"\xB4",acy:"\u0430",aeli:"\xE6",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrav:"\xE0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",am:"&",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",arin:"\xE5",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atild:"\xE3",atilde:"\xE3",aum:"\xE4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvba:"\xA6",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedi:"\xE7",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedi:"\xB8",cedil:"\xB8",cemptyv:"\u29B2",cen:"\xA2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",cop:"\xA9",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curre:"\xA4",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",de:"\xB0",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divid:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacut:"\xE9",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\xEA",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrav:"\xE8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",et:"\xF0",eth:"\xF0",eum:"\xEB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac1:"\xBC",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac3:"\xBE",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",g:">",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacut:"\xED",iacute:"\xED",ic:"\u2063",icir:"\xEE",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexc:"\xA1",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrav:"\xEC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iques:"\xBF",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",ium:"\xEF",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laqu:"\xAB",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",l:"<",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",mac:"\xAF",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micr:"\xB5",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middo:"\xB7",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbs:"\xA0",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",no:"\xAC",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntild:"\xF1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacut:"\xF3",oacute:"\xF3",oast:"\u229B",ocir:"\xF4",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograv:"\xF2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\xBA",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslas:"\xF8",oslash:"\xF8",osol:"\u2298",otild:"\xF5",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",oum:"\xF6",ouml:"\xF6",ovbar:"\u233D",par:"\xB6",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusm:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",poun:"\xA3",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quo:'"',quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raqu:"\xBB",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",re:"\xAE",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sec:"\xA7",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",sh:"\xAD",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szli:"\xDF",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thor:"\xFE",thorn:"\xFE",tilde:"\u02DC",time:"\xD7",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacut:"\xFA",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucir:"\xFB",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrav:"\xF9",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",um:"\xA8",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uum:"\xFC",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacut:"\xFD",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",ye:"\xA5",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yum:"\xFF",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}}}),Wl=S({"node_modules/parse-entities/decode-entity.js"(e,r){"use strict";I();var u=Xl();r.exports=a;var t={}.hasOwnProperty;function a(n){return t.call(u,n)?u[n]:!1}}}),xr=S({"node_modules/parse-entities/index.js"(e,r){"use strict";I();var u=Ul(),t=Gl(),a=Me(),n=Vl(),s=Hl(),c=Wl();r.exports=J;var i={}.hasOwnProperty,D=String.fromCharCode,o=Function.prototype,l={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},d=9,p=10,g=12,F=32,E=38,b=59,f=60,x=61,v=35,h=88,m=120,C=65533,w="named",q="hexadecimal",L="decimal",B={};B[q]=16,B[L]=10;var O={};O[w]=s,O[L]=a,O[q]=n;var T=1,P=2,A=3,j=4,H=5,G=6,X=7,R={};R[T]="Named character references must be terminated by a semicolon",R[P]="Numeric character references must be terminated by a semicolon",R[A]="Named character references cannot be empty",R[j]="Numeric character references cannot be empty",R[H]="Named character references must be known",R[G]="Numeric character references cannot be disallowed",R[X]="Numeric character references cannot be outside the permissible Unicode range";function J(k,y){var _={},N,V;y||(y={});for(V in l)N=y[V],_[V]=N==null?l[V]:N;return(_.position.indent||_.position.start)&&(_.indent=_.position.indent||[],_.position=_.position.start),z(k,_)}function z(k,y){var _=y.additional,N=y.nonTerminated,V=y.text,W=y.reference,K=y.warning,ee=y.textContext,Y=y.referenceContext,ue=y.warningContext,le=y.position,ce=y.indent||[],te=k.length,Z=0,Q=-1,De=le.column||1,ye=le.line||1,fe="",he=[],ae,pe,ne,re,we,oe,ie,Ce,rr,br,qe,$e,_e,xe,Fu,Ue,ur,ge,se;for(typeof _=="string"&&(_=_.charCodeAt(0)),Ue=Ge(),Ce=K?Da:o,Z--,te++;++Z65535&&(oe-=65536,br+=D(oe>>>10|55296),oe=56320|oe&1023),oe=br+D(oe))):xe!==w&&Ce(j,ge)),oe?(Au(),Ue=Ge(),Z=se-1,De+=se-_e+1,he.push(oe),ur=Ge(),ur.offset++,W&&W.call(Y,oe,{start:Ue,end:ur},k.slice(_e-1,se)),Ue=ur):(re=k.slice(_e-1,se),fe+=re,De+=re.length,Z=se-1)}else we===10&&(ye++,Q++,De=0),we===we?(fe+=D(we),De++):Au();return he.join("");function Ge(){return{line:ye,column:De,offset:Z+(le.offset||0)}}function Da(xu,bu){var yr=Ge();yr.column+=bu,yr.offset+=bu,K.call(ue,R[xu],yr,xu)}function Au(){fe&&(he.push(fe),V&&V.call(ee,fe,{start:Ue,end:Ge()}),fe="")}}function M(k){return k>=55296&&k<=57343||k>1114111}function U(k){return k>=1&&k<=8||k===11||k>=13&&k<=31||k>=127&&k<=159||k>=64976&&k<=65007||(k&65535)===65535||(k&65535)===65534}}}),Kl=S({"node_modules/remark-parse/lib/decode.js"(e,r){"use strict";I();var u=Pe(),t=xr();r.exports=a;function a(n){return c.raw=i,c;function s(o){for(var l=n.offset,d=o.line,p=[];++d&&d in l;)p.push((l[d]||0)+1);return{start:o,indent:p}}function c(o,l,d){t(o,{position:s(l),warning:D,text:d,reference:d,textContext:n,referenceContext:n})}function i(o,l,d){return t(o,u(d,{position:s(l),warning:D}))}function D(o,l,d){d!==3&&n.file.message(o,l)}}}}),Yl=S({"node_modules/remark-parse/lib/tokenizer.js"(e,r){"use strict";I(),r.exports=u;function u(s){return c;function c(i,D){var o=this,l=o.offset,d=[],p=o[s+"Methods"],g=o[s+"Tokenizers"],F=D.line,E=D.column,b,f,x,v,h,m;if(!i)return d;for(P.now=q,P.file=o.file,C("");i;){for(b=-1,f=p.length,h=!1;++b"],t=u.concat(["~","|"]),a=t.concat([` +`,'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);n.default=u,n.gfm=t,n.commonmark=a;function n(s){var c=s||{};return c.commonmark?a:c.gfm?t:u}}}),Zl=S({"node_modules/remark-parse/lib/block-elements.js"(e,r){"use strict";I(),r.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]}}),$i=S({"node_modules/remark-parse/lib/defaults.js"(e,r){"use strict";I(),r.exports={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:Zl()}}}),Ql=S({"node_modules/remark-parse/lib/set-options.js"(e,r){"use strict";I();var u=Pe(),t=Jl(),a=$i();r.exports=n;function n(s){var c=this,i=c.options,D,o;if(s==null)s={};else if(typeof s=="object")s=u(s);else throw new Error("Invalid value `"+s+"` for setting `options`");for(D in a){if(o=s[D],o==null&&(o=i[D]),D!=="blocks"&&typeof o!="boolean"||D==="blocks"&&typeof o!="object")throw new Error("Invalid value `"+o+"` for setting `options."+D+"`");s[D]=o}return c.options=s,c.escape=t(s),c}}}),eD=S({"node_modules/unist-util-is/convert.js"(e,r){"use strict";I(),r.exports=u;function u(c){if(c==null)return s;if(typeof c=="string")return n(c);if(typeof c=="object")return"length"in c?a(c):t(c);if(typeof c=="function")return c;throw new Error("Expected function, string, or object as test")}function t(c){return i;function i(D){var o;for(o in c)if(D[o]!==c[o])return!1;return!0}}function a(c){for(var i=[],D=-1;++D":""))+")"),h;function h(){var m=f.concat(E),C=[],w,q;if((!o||g(E,b,f[f.length-1]||null))&&(C=i(l(E,f)),C[0]===s))return C;if(E.children&&C[0]!==n)for(q=(d?E.children.length:-1)+p;q>-1&&q"u")t=n,u="";else if(u.length>=c)return u.substr(0,c);for(;c>u.length&&s>1;)s&1&&(u+=n),s>>=1,n+=n;return u+=n,u=u.substr(0,c),u}}}),Ui=S({"node_modules/trim-trailing-lines/index.js"(e,r){"use strict";I(),r.exports=u;function u(t){return String(t).replace(/\n+$/,"")}}}),oD=S({"node_modules/remark-parse/lib/tokenize/code-indented.js"(e,r){"use strict";I();var u=mu(),t=Ui();r.exports=D;var a=` +`,n=" ",s=" ",c=4,i=u(s,c);function D(o,l,d){for(var p=-1,g=l.length,F="",E="",b="",f="",x,v,h;++p=i)){for(w="";Es)&&!(!v||!d&&D.charAt(g+1)===n)){for(p=D.length+1,x="";++g=i&&(!E||E===t)?(F+=x,d?!0:o(F)({type:"thematicBreak"})):void 0}}}),Gi=S({"node_modules/remark-parse/lib/util/get-indentation.js"(e,r){"use strict";I(),r.exports=s;var u=" ",t=" ",a=1,n=4;function s(c){for(var i=0,D=0,o=c.charAt(i),l={},d,p=0;o===u||o===t;){for(d=o===u?n:a,D+=d,d>1&&(D=Math.floor(D/d)*d);p0&&E.indent=Q.indent&&(ne=!0),y=T.charAt(R),K=null,!ne){if(y===i||y===o||y===l)K=y,R++,M++;else{for(U="";R=Q.indent||M>f),W=!1,R=V;if(Y=T.slice(V,N),ee=V===R?Y:T.slice(R,N),(K===i||K===D||K===l)&&G.thematicBreak.call(A,O,Y,!0))break;if(ue=le,le=!W&&!u(ee).length,ne&&Q)Q.value=Q.value.concat(Z,Y),te=te.concat(Z,Y),Z=[];else if(W)Z.length!==0&&(fe=!0,Q.value.push(""),Q.trail=Z.concat()),Q={value:[Y],indent:M,trail:[]},ce.push(Q),te=te.concat(Z,Y),Z=[];else if(le){if(ue&&!j)break;Z.push(Y)}else{if(ue||c(X,G,A,[O,Y,!0]))break;Q.value=Q.value.concat(Z,Y),te=te.concat(Z,Y),Z=[]}R=N+1}for(he=O(te.join(g)).reset({type:"list",ordered:k,start:z,spread:fe,children:[]}),De=A.enterList(),ye=A.enterBlock(),R=-1,J=ce.length;++R=c){b--;break}f+=h}for(x="",v="";++b`\\u0000-\\u0020]+",t="'[^']*'",a='"[^"]*"',n="(?:"+u+"|"+t+"|"+a+")",s="(?:\\s+"+r+"(?:\\s*=\\s*"+n+")?)",c="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",D="|",o="<[?].*?[?]>",l="]*>",d="";e.openCloseTag=new RegExp("^(?:"+c+"|"+i+")"),e.tag=new RegExp("^(?:"+c+"|"+i+"|"+D+"|"+o+"|"+l+"|"+d+")")}}),hD=S({"node_modules/remark-parse/lib/tokenize/html-block.js"(e,r){"use strict";I();var u=Vi().openCloseTag;r.exports=x;var t=" ",a=" ",n=` +`,s="<",c=/^<(script|pre|style)(?=(\s|>|$))/i,i=/<\/(script|pre|style)>/i,D=/^/,l=/^<\?/,d=/\?>/,p=/^/,F=/^/,b=/^$/,f=new RegExp(u.source+"\\s*$");function x(v,h,m){for(var C=this,w=C.options.blocks.join("|"),q=new RegExp("^|$))","i"),L=h.length,B=0,O,T,P,A,j,H,G,X=[[c,i,!0],[D,o,!0],[l,d,!0],[p,g,!0],[F,E,!0],[q,b,!0],[f,b,!1]];BM){if(X1&&(O?(C+=B.slice(0,-1),B=B.charAt(B.length-1)):(C+=B,B="")),H=E.now(),E(C)({type:"tableCell",children:x.tokenizeInline(A,H)},w)),E(B+O),B="",A=""):(B&&(A+=B,B=""),A+=O,O===i&&v!==q-2&&(A+=R.charAt(v+1),v++)),j=!1,v++}G||E(a+h)}return z}}}}}),CD=S({"node_modules/remark-parse/lib/tokenize/paragraph.js"(e,r){"use strict";I();var u=ze(),t=Ui(),a=Eu();r.exports=D;var n=" ",s=` +`,c=" ",i=4;function D(o,l,d){for(var p=this,g=p.options,F=g.commonmark,E=p.blockTokenizers,b=p.interruptParagraph,f=l.indexOf(s),x=l.length,v,h,m,C,w;f=i&&m!==s){f=l.indexOf(s,f+1);continue}}if(h=l.slice(f+1),a(b,E,p,[o,h,!0]))break;if(v=f,f=l.indexOf(s,f+1),f!==-1&&u(l.slice(v,f))===""){f=v;break}}return h=l.slice(0,f),d?!0:(w=o.now(),h=t(h),o(h)({type:"paragraph",children:p.tokenizeInline(h,w)}))}}}),gD=S({"node_modules/remark-parse/lib/locate/escape.js"(e,r){"use strict";I(),r.exports=u;function u(t,a){return t.indexOf("\\",a)}}}),FD=S({"node_modules/remark-parse/lib/tokenize/escape.js"(e,r){"use strict";I();var u=gD();r.exports=n,n.locator=u;var t=` +`,a="\\";function n(s,c,i){var D=this,o,l;if(c.charAt(0)===a&&(o=c.charAt(1),D.escape.indexOf(o)!==-1))return i?!0:(o===t?l={type:"break"}:l={type:"text",value:o},s(a+o)(l))}}}),Xi=S({"node_modules/remark-parse/lib/locate/tag.js"(e,r){"use strict";I(),r.exports=u;function u(t,a){return t.indexOf("<",a)}}}),AD=S({"node_modules/remark-parse/lib/tokenize/auto-link.js"(e,r){"use strict";I();var u=be(),t=xr(),a=Xi();r.exports=l,l.locator=a,l.notInLink=!0;var n="<",s=">",c="@",i="/",D="mailto:",o=D.length;function l(d,p,g){var F=this,E="",b=p.length,f=0,x="",v=!1,h="",m,C,w,q,L;if(p.charAt(0)===n){for(f++,E=n;fk;)R=J+z.lastIndexOf(m),z=q.slice(J,R),y--;if(q.charCodeAt(R-1)===E&&(R--,n(q.charCodeAt(R-1)))){for(U=R-2;n(q.charCodeAt(U));)U--;q.charCodeAt(U)===D&&(R=U)}return _=q.slice(0,R),V=t(_,{nonTerminated:!1}),j&&(V="http://"+V),W=B.enterLink(),B.inlineTokenizers={text:T.text},N=B.tokenizeInline(_,w.now()),B.inlineTokenizers=T,W(),w(_)({type:"link",title:null,url:V,children:N})}}}}}),wD=S({"node_modules/remark-parse/lib/locate/email.js"(e,r){"use strict";I();var u=Me(),t=er(),a=43,n=45,s=46,c=95;r.exports=i;function i(o,l){var d=this,p,g;if(!this.options.gfm||(p=o.indexOf("@",l),p===-1))return-1;if(g=p,g===l||!D(o.charCodeAt(g-1)))return i.call(d,o,p+1);for(;g>l&&D(o.charCodeAt(g-1));)g--;return g}function D(o){return u(o)||t(o)||o===a||o===n||o===s||o===c}}}),BD=S({"node_modules/remark-parse/lib/tokenize/email.js"(e,r){"use strict";I();var u=xr(),t=Me(),a=er(),n=wD();r.exports=l,l.locator=n,l.notInLink=!0;var s=43,c=45,i=46,D=64,o=95;function l(d,p,g){var F=this,E=F.options.gfm,b=F.inlineTokenizers,f=0,x=p.length,v=-1,h,m,C,w;if(E){for(h=p.charCodeAt(f);t(h)||a(h)||h===s||h===c||h===i||h===o;)h=p.charCodeAt(++f);if(f!==0&&h===D){for(f++;f/i;function l(d,p,g){var F=this,E=p.length,b,f;if(!(p.charAt(0)!==n||E<3)&&(b=p.charAt(1),!(!u(b)&&b!==s&&b!==c&&b!==i)&&(f=p.match(a),!!f)))return g?!0:(f=f[0],!F.inLink&&D.test(f)?F.inLink=!0:F.inLink&&o.test(f)&&(F.inLink=!1),d(f)({type:"html",value:f}))}}}),Wi=S({"node_modules/remark-parse/lib/locate/link.js"(e,r){"use strict";I(),r.exports=u;function u(t,a){var n=t.indexOf("[",a),s=t.indexOf("![",a);return s===-1||n=T&&(T=0):T=O}else if(C===p)m++,j+=f.charAt(m);else if((!T||L)&&C===d)M++;else if((!T||L)&&C===g)if(M)M--;else{if(f.charAt(m+1)!==i)return;j+=i,B=!0,m++;break}U+=j,j="",m++}if(B){for(X=U,h+=U+j,m++;m2&&(F===a||F===t)&&(E===a||E===t)){for(l++,o--;la&&t.charAt(n-1)===" ";)n--;return n}}}),zD=S({"node_modules/remark-parse/lib/tokenize/break.js"(e,r){"use strict";I();var u=MD();r.exports=s,s.locator=u;var t=" ",a=` +`,n=2;function s(c,i,D){for(var o=i.length,l=-1,d="",p;++l"u"||u.call(l,g)},i=function(l,d){a&&d.name==="__proto__"?a(l,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):l[d.name]=d.newValue},D=function(l,d){if(d==="__proto__")if(u.call(l,d)){if(n)return n(l,d).value}else return;return l[d]};r.exports=function o(){var l,d,p,g,F,E,b=arguments[0],f=1,x=arguments.length,v=!1;for(typeof b=="boolean"&&(v=b,b=arguments[1]||{},f=2),(b==null||typeof b!="object"&&typeof b!="function")&&(b={});f{if(Object.prototype.toString.call(u)!=="[object Object]")return!1;let t=Object.getPrototypeOf(u);return t===null||t===Object.prototype}}}),WD=S({"node_modules/trough/wrap.js"(e,r){"use strict";I();var u=[].slice;r.exports=t;function t(a,n){var s;return c;function c(){var o=u.call(arguments,0),l=a.length>o.length,d;l&&o.push(i);try{d=a.apply(null,o)}catch(p){if(l&&s)throw p;return i(p)}l||(d&&typeof d.then=="function"?d.then(D,i):d instanceof Error?i(d):D(d))}function i(){s||(s=!0,n.apply(null,arguments))}function D(o){i(null,o)}}}}),KD=S({"node_modules/trough/index.js"(e,r){"use strict";I();var u=WD();r.exports=a,a.wrap=u;var t=[].slice;function a(){var n=[],s={};return s.run=c,s.use=i,s;function c(){var D=-1,o=t.call(arguments,0,-1),l=arguments[arguments.length-1];if(typeof l!="function")throw new Error("Expected function as last argument, not "+l);d.apply(null,[null].concat(o));function d(p){var g=n[++D],F=t.call(arguments,0),E=F.slice(1),b=o.length,f=-1;if(p){l(p);return}for(;++fi.length){for(;d--;)if(i.charCodeAt(d)===47){if(g){o=d+1;break}}else l<0&&(g=!0,l=d+1);return l<0?"":i.slice(o,l)}if(D===i)return"";for(p=-1,F=D.length-1;d--;)if(i.charCodeAt(d)===47){if(g){o=d+1;break}}else p<0&&(g=!0,p=d+1),F>-1&&(i.charCodeAt(d)===D.charCodeAt(F--)?F<0&&(l=d):(F=-1,l=p));return o===l?l=p:l<0&&(l=i.length),i.slice(o,l)}function u(i){var D,o,l;if(c(i),!i.length)return".";for(D=-1,l=i.length;--l;)if(i.charCodeAt(l)===47){if(o){D=l;break}}else o||(o=!0);return D<0?i.charCodeAt(0)===47?"/":".":D===1&&i.charCodeAt(0)===47?"//":i.slice(0,D)}function t(i){var D=-1,o=0,l=-1,d=0,p,g,F;for(c(i),F=i.length;F--;){if(g=i.charCodeAt(F),g===47){if(p){o=F+1;break}continue}l<0&&(p=!0,l=F+1),g===46?D<0?D=F:d!==1&&(d=1):D>-1&&(d=-1)}return D<0||l<0||d===0||d===1&&D===l-1&&D===o+1?"":i.slice(D,l)}function a(){for(var i=-1,D;++i2){if(E=o.lastIndexOf("/"),E!==o.length-1){E<0?(o="",l=0):(o=o.slice(0,E),l=o.length-1-o.lastIndexOf("/")),d=g,p=0;continue}}else if(o.length){o="",l=0,d=g,p=0;continue}}D&&(o=o.length?o+"/..":"..",l=2)}else o.length?o+="/"+i.slice(d+1,g):o=i.slice(d+1,g),l=g-d-1;d=g,p=0}else F===46&&p>-1?p++:p=-1}return o}function c(i){if(typeof i!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(i))}}}),QD=S({"node_modules/vfile/lib/minproc.browser.js"(e){"use strict";I(),e.cwd=r;function r(){return"/"}}}),e2=S({"node_modules/vfile/lib/core.js"(e,r){"use strict";I();var u=ZD(),t=QD(),a=Ki();r.exports=c;var n={}.hasOwnProperty,s=["history","path","basename","stem","extname","dirname"];c.prototype.toString=f,Object.defineProperty(c.prototype,"path",{get:i,set:D}),Object.defineProperty(c.prototype,"dirname",{get:o,set:l}),Object.defineProperty(c.prototype,"basename",{get:d,set:p}),Object.defineProperty(c.prototype,"extname",{get:g,set:F}),Object.defineProperty(c.prototype,"stem",{get:E,set:b});function c(m){var C,w;if(!m)m={};else if(typeof m=="string"||a(m))m={contents:m};else if("message"in m&&"messages"in m)return m;if(!(this instanceof c))return new c(m);for(this.data={},this.messages=[],this.history=[],this.cwd=t.cwd(),w=-1;++w-1)throw new Error("`extname` cannot contain multiple dots")}this.path=u.join(this.dirname,this.stem+(m||""))}function E(){return typeof this.path=="string"?u.basename(this.path,this.extname):void 0}function b(m){v(m,"stem"),x(m,"stem"),this.path=u.join(this.dirname||"",m+(this.extname||""))}function f(m){return(this.contents||"").toString(m)}function x(m,C){if(m&&m.indexOf(u.sep)>-1)throw new Error("`"+C+"` cannot be a path: did not expect `"+u.sep+"`")}function v(m,C){if(!m)throw new Error("`"+C+"` cannot be empty")}function h(m,C){if(!m)throw new Error("Setting `"+C+"` requires `path` to be set too")}}}),r2=S({"node_modules/vfile/lib/index.js"(e,r){"use strict";I();var u=JD(),t=e2();r.exports=t,t.prototype.message=a,t.prototype.info=s,t.prototype.fail=n;function a(c,i,D){var o=new u(c,i,D);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}function n(){var c=this.message.apply(this,arguments);throw c.fatal=!0,c}function s(){var c=this.message.apply(this,arguments);return c.fatal=null,c}}}),u2=S({"node_modules/vfile/index.js"(e,r){"use strict";I(),r.exports=r2()}}),t2=S({"node_modules/unified/index.js"(e,r){"use strict";I();var u=VD(),t=Ki(),a=HD(),n=XD(),s=KD(),c=u2();r.exports=g().freeze();var i=[].slice,D={}.hasOwnProperty,o=s().use(l).use(d).use(p);function l(m,C){C.tree=m.parse(C.file)}function d(m,C,w){m.run(C.tree,C.file,q);function q(L,B,O){L?w(L):(C.tree=B,C.file=O,w())}}function p(m,C){var w=m.stringify(C.tree,C.file);w==null||(typeof w=="string"||t(w)?C.file.contents=w:C.file.result=w)}function g(){var m=[],C=s(),w={},q=-1,L;return B.data=T,B.freeze=O,B.attachers=m,B.use=P,B.parse=j,B.stringify=X,B.run=H,B.runSync=G,B.process=R,B.processSync=J,B;function B(){for(var z=g(),M=-1;++Mc)&&(!w||T===n)){A=L-1,L++,w&&L++,j=L;break}}else O===i&&(L++,T=h.charCodeAt(L+1));L++}if(j!==void 0)return m?!0:(H=h.slice(P,A+1),v(h.slice(0,j))({type:"inlineMath",value:H,data:{hName:"span",hProperties:{className:D.concat(w&&F.inlineMathDouble?[o]:[])},hChildren:[{type:"text",value:H}]}}))}}}}function p(g){let F=g.prototype;F.visitors.inlineMath=E;function E(b){let f="$";return(b.data&&b.data.hProperties&&b.data.hProperties.className||[]).includes(o)&&(f="$$"),f+b.value+f}}}}),i2=S({"node_modules/remark-math/block.js"(e,r){I();var u=Yi();r.exports=o;var t=10,a=32,n=36,s=` +`,c="$",i=2,D=["math","math-display"];function o(){let p=this.Parser,g=this.Compiler;u.isRemarkParser(p)&&l(p),u.isRemarkCompiler(g)&&d(g)}function l(p){let g=p.prototype,F=g.blockMethods,E=g.interruptParagraph,b=g.interruptList,f=g.interruptBlockquote;g.blockTokenizers.math=x,F.splice(F.indexOf("fencedCode")+1,0,"math"),E.splice(E.indexOf("fencedCode")+1,0,["math"]),b.splice(b.indexOf("fencedCode")+1,0,["math"]),f.splice(f.indexOf("fencedCode")+1,0,["math"]);function x(v,h,m){var C=h.length,w=0;let q,L,B,O,T,P,A,j,H,G,X;for(;wG&&h.charCodeAt(O-1)===a;)O--;for(;O>G&&h.charCodeAt(O-1)===n;)H++,O--;for(P<=H&&h.indexOf(c,G)===O&&(j=!0,X=O);G<=X&&G-wG&&h.charCodeAt(X-1)===a;)X--;if((!j||G!==X)&&L.push(h.slice(G,X)),j)break;w=B+1,B=h.indexOf(s,w+1),B=B===-1?C:B}return L=L.join(` +`),v(h.slice(0,B))({type:"math",value:L,data:{hName:"div",hProperties:{className:D.concat()},hChildren:[{type:"text",value:L}]}})}}}}function d(p){let g=p.prototype;g.visitors.math=F;function F(E){return`$$ +`+E.value+` +$$`}}}}),a2=S({"node_modules/remark-math/index.js"(e,r){I();var u=n2(),t=i2();r.exports=a;function a(n){var s=n||{};t.call(this,s),u.call(this,s)}}}),o2=S({"node_modules/remark-footnotes/index.js"(e,r){"use strict";I(),r.exports=g;var u=9,t=10,a=32,n=33,s=58,c=91,i=92,D=93,o=94,l=96,d=4,p=1024;function g(h){var m=this.Parser,C=this.Compiler;F(m)&&b(m,h),E(C)&&f(C)}function F(h){return Boolean(h&&h.prototype&&h.prototype.blockTokenizers)}function E(h){return Boolean(h&&h.prototype&&h.prototype.visitors)}function b(h,m){for(var C=m||{},w=h.prototype,q=w.blockTokenizers,L=w.inlineTokenizers,B=w.blockMethods,O=w.inlineMethods,T=q.definition,P=L.reference,A=[],j=-1,H=B.length,G;++jd&&(ae=void 0,pe=Y);else{if(ae0&&(re=ne[ee-1],re.contentStart===re.contentEnd);)ee--;for(De=y(_.slice(0,re.contentEnd));++Y-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function t(a){let n=a.match(u);if(!n)return{content:a};let{startDelimiter:s,language:c,value:i="",endDelimiter:D}=n.groups,o=c.trim()||"yaml";if(s==="+++"&&(o="toml"),o!=="yaml"&&s!==D)return{content:a};let[l]=n;return{frontMatter:{type:"front-matter",lang:o,value:i,startDelimiter:s,endDelimiter:D,raw:l.replace(/\n$/,"")},content:l.replace(/[^\n]/g," ")+a.slice(l.length)}}r.exports=t}}),s2=S({"src/language-markdown/pragma.js"(e,r){"use strict";I();var u=Ji(),t=["format","prettier"];function a(n){let s=`@(${t.join("|")})`,c=new RegExp([``,`{\\s*\\/\\*\\s*${s}\\s*\\*\\/\\s*}`,``].join("|"),"m"),i=n.match(c);return(i==null?void 0:i.index)===0}r.exports={startWithPragma:a,hasPragma:n=>a(u(n).content.trimStart()),insertPragma:n=>{let s=u(n),c=``;return s.frontMatter?`${s.frontMatter.raw} + +${c} + +${s.content}`:`${c} + +${s.content}`}}}}),Zi=S({"src/language-markdown/loc.js"(e,r){"use strict";I();function u(a){return a.position.start.offset}function t(a){return a.position.end.offset}r.exports={locStart:u,locEnd:t}}}),Qi=S({"src/language-markdown/mdx.js"(e,r){"use strict";I();var u=/^import\s/,t=/^export\s/,a="[a-z][a-z0-9]*(\\.[a-z][a-z0-9]*)*|",n=/|/,s=/^{\s*\/\*(.*)\*\/\s*}/,c=` + +`,i=p=>u.test(p),D=p=>t.test(p),o=(p,g)=>{let F=g.indexOf(c),E=g.slice(0,F);if(D(E)||i(E))return p(E)({type:D(E)?"export":"import",value:E})},l=(p,g)=>{let F=s.exec(g);if(F)return p(F[0])({type:"esComment",value:F[1].trim()})};o.locator=p=>D(p)||i(p)?-1:1,l.locator=(p,g)=>p.indexOf("{",g);function d(){let{Parser:p}=this,{blockTokenizers:g,blockMethods:F,inlineTokenizers:E,inlineMethods:b}=p.prototype;g.esSyntax=o,E.esComment=l,F.splice(F.indexOf("paragraph"),0,"esSyntax"),b.splice(b.indexOf("text"),0,"esComment")}r.exports={esSyntax:d,BLOCKS_REGEX:a,COMMENT_REGEX:n}}}),ea={};Pi(ea,{default:()=>c2});function c2(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var l2=je({"node_modules/escape-string-regexp/index.js"(){I()}}),D2=S({"src/utils/get-last.js"(e,r){"use strict";I();var u=t=>t[t.length-1];r.exports=u}}),ra=S({"node_modules/semver/internal/debug.js"(e,r){I();var u=typeof Qe=="object"&&Qe.env&&Qe.env.NODE_DEBUG&&/\bsemver\b/i.test(Qe.env.NODE_DEBUG)?function(){for(var t=arguments.length,a=new Array(t),n=0;n{};r.exports=u}}),ua=S({"node_modules/semver/internal/constants.js"(e,r){I();var u="2.0.0",t=256,a=Number.MAX_SAFE_INTEGER||9007199254740991,n=16;r.exports={SEMVER_SPEC_VERSION:u,MAX_LENGTH:t,MAX_SAFE_INTEGER:a,MAX_SAFE_COMPONENT_LENGTH:n}}}),f2=S({"node_modules/semver/internal/re.js"(e,r){I();var{MAX_SAFE_COMPONENT_LENGTH:u}=ua(),t=ra();e=r.exports={};var a=e.re=[],n=e.src=[],s=e.t={},c=0,i=(D,o,l)=>{let d=c++;t(D,d,o),s[D]=d,n[d]=o,a[d]=new RegExp(o,l?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*"),i("NUMERICIDENTIFIERLOOSE","[0-9]+"),i("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),i("MAINVERSION",`(${n[s.NUMERICIDENTIFIER]})\\.(${n[s.NUMERICIDENTIFIER]})\\.(${n[s.NUMERICIDENTIFIER]})`),i("MAINVERSIONLOOSE",`(${n[s.NUMERICIDENTIFIERLOOSE]})\\.(${n[s.NUMERICIDENTIFIERLOOSE]})\\.(${n[s.NUMERICIDENTIFIERLOOSE]})`),i("PRERELEASEIDENTIFIER",`(?:${n[s.NUMERICIDENTIFIER]}|${n[s.NONNUMERICIDENTIFIER]})`),i("PRERELEASEIDENTIFIERLOOSE",`(?:${n[s.NUMERICIDENTIFIERLOOSE]}|${n[s.NONNUMERICIDENTIFIER]})`),i("PRERELEASE",`(?:-(${n[s.PRERELEASEIDENTIFIER]}(?:\\.${n[s.PRERELEASEIDENTIFIER]})*))`),i("PRERELEASELOOSE",`(?:-?(${n[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[s.PRERELEASEIDENTIFIERLOOSE]})*))`),i("BUILDIDENTIFIER","[0-9A-Za-z-]+"),i("BUILD",`(?:\\+(${n[s.BUILDIDENTIFIER]}(?:\\.${n[s.BUILDIDENTIFIER]})*))`),i("FULLPLAIN",`v?${n[s.MAINVERSION]}${n[s.PRERELEASE]}?${n[s.BUILD]}?`),i("FULL",`^${n[s.FULLPLAIN]}$`),i("LOOSEPLAIN",`[v=\\s]*${n[s.MAINVERSIONLOOSE]}${n[s.PRERELEASELOOSE]}?${n[s.BUILD]}?`),i("LOOSE",`^${n[s.LOOSEPLAIN]}$`),i("GTLT","((?:<|>)?=?)"),i("XRANGEIDENTIFIERLOOSE",`${n[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),i("XRANGEIDENTIFIER",`${n[s.NUMERICIDENTIFIER]}|x|X|\\*`),i("XRANGEPLAIN",`[v=\\s]*(${n[s.XRANGEIDENTIFIER]})(?:\\.(${n[s.XRANGEIDENTIFIER]})(?:\\.(${n[s.XRANGEIDENTIFIER]})(?:${n[s.PRERELEASE]})?${n[s.BUILD]}?)?)?`),i("XRANGEPLAINLOOSE",`[v=\\s]*(${n[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[s.XRANGEIDENTIFIERLOOSE]})(?:${n[s.PRERELEASELOOSE]})?${n[s.BUILD]}?)?)?`),i("XRANGE",`^${n[s.GTLT]}\\s*${n[s.XRANGEPLAIN]}$`),i("XRANGELOOSE",`^${n[s.GTLT]}\\s*${n[s.XRANGEPLAINLOOSE]}$`),i("COERCE",`(^|[^\\d])(\\d{1,${u}})(?:\\.(\\d{1,${u}}))?(?:\\.(\\d{1,${u}}))?(?:$|[^\\d])`),i("COERCERTL",n[s.COERCE],!0),i("LONETILDE","(?:~>?)"),i("TILDETRIM",`(\\s*)${n[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",i("TILDE",`^${n[s.LONETILDE]}${n[s.XRANGEPLAIN]}$`),i("TILDELOOSE",`^${n[s.LONETILDE]}${n[s.XRANGEPLAINLOOSE]}$`),i("LONECARET","(?:\\^)"),i("CARETTRIM",`(\\s*)${n[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",i("CARET",`^${n[s.LONECARET]}${n[s.XRANGEPLAIN]}$`),i("CARETLOOSE",`^${n[s.LONECARET]}${n[s.XRANGEPLAINLOOSE]}$`),i("COMPARATORLOOSE",`^${n[s.GTLT]}\\s*(${n[s.LOOSEPLAIN]})$|^$`),i("COMPARATOR",`^${n[s.GTLT]}\\s*(${n[s.FULLPLAIN]})$|^$`),i("COMPARATORTRIM",`(\\s*)${n[s.GTLT]}\\s*(${n[s.LOOSEPLAIN]}|${n[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",i("HYPHENRANGE",`^\\s*(${n[s.XRANGEPLAIN]})\\s+-\\s+(${n[s.XRANGEPLAIN]})\\s*$`),i("HYPHENRANGELOOSE",`^\\s*(${n[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[s.XRANGEPLAINLOOSE]})\\s*$`),i("STAR","(<|>)?=?\\s*\\*"),i("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),i("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),p2=S({"node_modules/semver/internal/parse-options.js"(e,r){I();var u=["includePrerelease","loose","rtl"],t=a=>a?typeof a!="object"?{loose:!0}:u.filter(n=>a[n]).reduce((n,s)=>(n[s]=!0,n),{}):{};r.exports=t}}),d2=S({"node_modules/semver/internal/identifiers.js"(e,r){I();var u=/^[0-9]+$/,t=(n,s)=>{let c=u.test(n),i=u.test(s);return c&&i&&(n=+n,s=+s),n===s?0:c&&!i?-1:i&&!c?1:nt(s,n);r.exports={compareIdentifiers:t,rcompareIdentifiers:a}}}),h2=S({"node_modules/semver/classes/semver.js"(e,r){I();var u=ra(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:a}=ua(),{re:n,t:s}=f2(),c=p2(),{compareIdentifiers:i}=d2(),D=class{constructor(o,l){if(l=c(l),o instanceof D){if(o.loose===!!l.loose&&o.includePrerelease===!!l.includePrerelease)return o;o=o.version}else if(typeof o!="string")throw new TypeError(`Invalid Version: ${o}`);if(o.length>t)throw new TypeError(`version is longer than ${t} characters`);u("SemVer",o,l),this.options=l,this.loose=!!l.loose,this.includePrerelease=!!l.includePrerelease;let d=o.trim().match(l.loose?n[s.LOOSE]:n[s.FULL]);if(!d)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>a||this.major<0)throw new TypeError("Invalid major version");if(this.minor>a||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>a||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(p=>{if(/^[0-9]+$/.test(p)){let g=+p;if(g>=0&&g=0;)typeof this.prerelease[d]=="number"&&(this.prerelease[d]++,d=-2);d===-1&&this.prerelease.push(0)}l&&(i(this.prerelease[0],l)===0?isNaN(this.prerelease[1])&&(this.prerelease=[l,0]):this.prerelease=[l,0]);break;default:throw new Error(`invalid increment argument: ${o}`)}return this.format(),this.raw=this.version,this}};r.exports=D}}),Cu=S({"node_modules/semver/functions/compare.js"(e,r){I();var u=h2(),t=(a,n,s)=>new u(a,s).compare(new u(n,s));r.exports=t}}),v2=S({"node_modules/semver/functions/lt.js"(e,r){I();var u=Cu(),t=(a,n,s)=>u(a,n,s)<0;r.exports=t}}),m2=S({"node_modules/semver/functions/gte.js"(e,r){I();var u=Cu(),t=(a,n,s)=>u(a,n,s)>=0;r.exports=t}}),E2=S({"src/utils/arrayify.js"(e,r){"use strict";I(),r.exports=(u,t)=>Object.entries(u).map(a=>{let[n,s]=a;return Object.assign({[t]:n},s)})}}),C2=S({"package.json"(e,r){r.exports={version:"2.8.8"}}}),g2=S({"node_modules/outdent/lib/index.js"(e,r){"use strict";I(),Object.defineProperty(e,"__esModule",{value:!0}),e.outdent=void 0;function u(){for(var f=[],x=0;xtypeof l=="string"||typeof l=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"acorn",since:"2.6.0",description:"JavaScript"},{value:"espree",since:"2.2.0",description:"JavaScript"},{value:"meriyah",since:"2.2.0",description:"JavaScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:"2.3.0",description:"Ember / Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:i,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin",cliCategory:t},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:i,description:u` + Custom directory that contains prettier plugins in node_modules subdirectory. + Overrides default behavior when plugins are searched relatively to the location of Prettier. + Multiple values are accepted. + `,exception:l=>typeof l=="string"||typeof l=="object",cliName:"plugin-search-dir",cliCategory:t},printWidth:{since:"0.0.0",category:i,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},rangeEnd:{since:"1.4.0",category:D,type:"int",default:Number.POSITIVE_INFINITY,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` + Format code ending at a given character offset (exclusive). + The range will extend forwards to the end of the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:a},rangeStart:{since:"1.4.0",category:D,type:"int",default:0,range:{start:0,end:Number.POSITIVE_INFINITY,step:1},description:u` + Format code starting at a given character offset. + The range will extend backwards to the start of the first line containing the selected statement. + This option cannot be used with --cursor-offset. + `,cliCategory:a},requirePragma:{since:"1.7.0",category:D,type:"boolean",default:!1,description:u` + Require either '@prettier' or '@format' to be present in the file's first docblock comment + in order for it to be formatted. + `,cliCategory:s},tabWidth:{type:"int",category:i,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:Number.POSITIVE_INFINITY,step:1}},useTabs:{since:"1.0.0",category:i,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{since:"2.1.0",category:i,type:"choice",default:[{since:"2.1.0",value:"auto"}],description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};r.exports={CATEGORY_CONFIG:t,CATEGORY_EDITOR:a,CATEGORY_FORMAT:n,CATEGORY_OTHER:s,CATEGORY_OUTPUT:c,CATEGORY_GLOBAL:i,CATEGORY_SPECIAL:D,options:o}}}),A2=S({"src/main/support.js"(e,r){"use strict";I();var u={compare:Cu(),lt:v2(),gte:m2()},t=E2(),a=C2().version,n=F2().options;function s(){let{plugins:i=[],showUnreleased:D=!1,showDeprecated:o=!1,showInternal:l=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=a.split("-",1)[0],p=i.flatMap(f=>f.languages||[]).filter(F),g=t(Object.assign({},...i.map(f=>{let{options:x}=f;return x}),n),"name").filter(f=>F(f)&&E(f)).sort((f,x)=>f.name===x.name?0:f.name{f=Object.assign({},f),Array.isArray(f.default)&&(f.default=f.default.length===1?f.default[0].value:f.default.filter(F).sort((v,h)=>u.compare(h.since,v.since))[0].value),Array.isArray(f.choices)&&(f.choices=f.choices.filter(v=>F(v)&&E(v)),f.name==="parser"&&c(f,p,i));let x=Object.fromEntries(i.filter(v=>v.defaultOptions&&v.defaultOptions[f.name]!==void 0).map(v=>[v.name,v.defaultOptions[f.name]]));return Object.assign(Object.assign({},f),{},{pluginDefaults:x})});return{languages:p,options:g};function F(f){return D||!("since"in f)||f.since&&u.gte(d,f.since)}function E(f){return o||!("deprecated"in f)||f.deprecated&&u.lt(d,f.deprecated)}function b(f){if(l)return f;let{cliName:x,cliCategory:v,cliDescription:h}=f;return Ol(f,_l)}}function c(i,D,o){let l=new Set(i.choices.map(d=>d.value));for(let d of D)if(d.parsers){for(let p of d.parsers)if(!l.has(p)){l.add(p);let g=o.find(E=>E.parsers&&E.parsers[p]),F=d.name;g&&g.name&&(F+=` (plugin: ${g.name})`),i.choices.push({value:p,description:F})}}}r.exports={getSupportInfo:s}}}),x2=S({"src/utils/is-non-empty-array.js"(e,r){"use strict";I();function u(t){return Array.isArray(t)&&t.length>0}r.exports=u}});function b2(){let{onlyFirst:e=!1}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var y2=je({"node_modules/strip-ansi/node_modules/ansi-regex/index.js"(){I()}});function w2(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(b2(),"")}var B2=je({"node_modules/strip-ansi/index.js"(){I(),y2()}});function k2(e){return Number.isInteger(e)?e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141):!1}var q2=je({"node_modules/is-fullwidth-code-point/index.js"(){I()}}),_2=S({"node_modules/emoji-regex/index.js"(e,r){"use strict";I(),r.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\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|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\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]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}}}),ta={};Pi(ta,{default:()=>O2});function O2(e){if(typeof e!="string"||e.length===0||(e=w2(e),e.length===0))return 0;e=e.replace((0,na.default)()," ");let r=0;for(let u=0;u=127&&t<=159||t>=768&&t<=879||(t>65535&&u++,r+=k2(t)?2:1)}return r}var na,I2=je({"node_modules/string-width/index.js"(){I(),B2(),q2(),na=Rl(_2())}}),S2=S({"src/utils/get-string-width.js"(e,r){"use strict";I();var u=(I2(),zi(ta)).default,t=/[^\x20-\x7F]/;function a(n){return n?t.test(n)?u(n):n.length:0}r.exports=a}}),gu=S({"src/utils/text/skip.js"(e,r){"use strict";I();function u(c){return(i,D,o)=>{let l=o&&o.backwards;if(D===!1)return!1;let{length:d}=i,p=D;for(;p>=0&&pk[k.length-2];function E(k){return(y,_,N)=>{let V=N&&N.backwards;if(_===!1)return!1;let{length:W}=y,K=_;for(;K>=0&&K2&&arguments[2]!==void 0?arguments[2]:{},N=i(k,_.backwards?y-1:y,_),V=p(k,N,_);return N!==V}function f(k,y,_){for(let N=y;N<_;++N)if(k.charAt(N)===` +`)return!0;return!1}function x(k,y,_){let N=_(y)-1;N=i(k,N,{backwards:!0}),N=p(k,N,{backwards:!0}),N=i(k,N,{backwards:!0});let V=p(k,N,{backwards:!0});return N!==V}function v(k,y){let _=null,N=y;for(;N!==_;)_=N,N=D(k,N),N=l(k,N),N=i(k,N);return N=d(k,N),N=p(k,N),N!==!1&&b(k,N)}function h(k,y,_){return v(k,_(y))}function m(k,y,_){return g(k,_(y))}function C(k,y,_){return k.charAt(m(k,y,_))}function w(k,y){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return i(k,_.backwards?y-1:y,_)!==y}function q(k,y){let _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,N=0;for(let V=_;VY?W:V}return K}function O(k,y){let _=k.slice(1,-1),N=y.parser==="json"||y.parser==="json5"&&y.quoteProps==="preserve"&&!y.singleQuote?'"':y.__isInHtmlAttribute?"'":B(_,y.singleQuote?"'":'"').quote;return T(_,N,!(y.parser==="css"||y.parser==="less"||y.parser==="scss"||y.__embeddedInHtml))}function T(k,y,_){let N=y==='"'?"'":'"',V=/\\(.)|(["'])/gs,W=k.replace(V,(K,ee,Y)=>ee===N?ee:Y===y?"\\"+Y:Y||(_&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(ee)?ee:"\\"+ee));return y+W+y}function P(k){return k.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function A(k,y){let _=k.match(new RegExp(`(${u(y)})+`,"g"));return _===null?0:_.reduce((N,V)=>Math.max(N,V.length/y.length),0)}function j(k,y){let _=k.match(new RegExp(`(${u(y)})+`,"g"));if(_===null)return 0;let N=new Map,V=0;for(let W of _){let K=W.length/y.length;N.set(K,!0),K>V&&(V=K)}for(let W=1;W{let{name:W}=V;return W.toLowerCase()===k})||_.find(V=>{let{aliases:W}=V;return Array.isArray(W)&&W.includes(k)})||_.find(V=>{let{extensions:W}=V;return Array.isArray(W)&&W.includes(`.${k}`)});return N&&N.parsers[0]}function z(k){return k&&k.type==="front-matter"}function M(k){let y=new WeakMap;return function(_){return y.has(_)||y.set(_,Symbol(k)),y.get(_)}}function U(k){let y=k.type||k.kind||"(unknown type)",_=String(k.name||k.id&&(typeof k.id=="object"?k.id.name:k.id)||k.key&&(typeof k.key=="object"?k.key.name:k.key)||k.value&&(typeof k.value=="object"?"":String(k.value))||k.operator||"");return _.length>20&&(_=_.slice(0,19)+"\u2026"),y+(_?" "+_:"")}r.exports={inferParserByLanguage:J,getStringWidth:s,getMaxContinuousCount:A,getMinNotPresentContinuousCount:j,getPenultimate:F,getLast:t,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:g,getNextNonSpaceNonCommentCharacterIndex:m,getNextNonSpaceNonCommentCharacter:C,skip:E,skipWhitespace:c,skipSpaces:i,skipToLineEnd:D,skipEverythingButNewLine:o,skipInlineComment:l,skipTrailingComment:d,skipNewline:p,isNextLineEmptyAfterIndex:v,isNextLineEmpty:h,isPreviousLineEmpty:x,hasNewline:b,hasNewlineInRange:f,hasSpaces:w,getAlignmentSize:q,getIndentSize:L,getPreferredQuote:B,printString:O,printNumber:P,makeString:T,addLeadingComment:G,addDanglingComment:X,addTrailingComment:R,isFrontMatterNode:z,isNonEmptyArray:n,createGroupIdMapper:M}}}),L2=S({"src/language-markdown/constants.evaluate.js"(e,r){r.exports={cjkPattern:"(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"}}}),R2=S({"src/language-markdown/utils.js"(e,r){"use strict";I();var{getLast:u}=N2(),{locStart:t,locEnd:a}=Zi(),{cjkPattern:n,kPattern:s,punctuationPattern:c}=L2(),i=["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],D=[...i,"tableCell","paragraph","heading"],o=new RegExp(s),l=new RegExp(c);function d(f,x){let v="non-cjk",h="cj-letter",m="k-letter",C="cjk-punctuation",w=[],q=(x.proseWrap==="preserve"?f:f.replace(new RegExp(`(${n}) +(${n})`,"g"),"$1$2")).split(/([\t\n ]+)/);for(let[B,O]of q.entries()){if(B%2===1){w.push({type:"whitespace",value:/\n/.test(O)?` +`:" "});continue}if((B===0||B===q.length-1)&&O==="")continue;let T=O.split(new RegExp(`(${n})`));for(let[P,A]of T.entries())if(!((P===0||P===T.length-1)&&A==="")){if(P%2===0){A!==""&&L({type:"word",value:A,kind:v,hasLeadingPunctuation:l.test(A[0]),hasTrailingPunctuation:l.test(u(A))});continue}L(l.test(A)?{type:"word",value:A,kind:C,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:A,kind:o.test(A)?m:h,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return w;function L(B){let O=u(w);O&&O.type==="word"&&(O.kind===v&&B.kind===h&&!O.hasTrailingPunctuation||O.kind===h&&B.kind===v&&!B.hasLeadingPunctuation?w.push({type:"whitespace",value:" "}):!T(v,C)&&![O.value,B.value].some(P=>/\u3000/.test(P))&&w.push({type:"whitespace",value:""})),w.push(B);function T(P,A){return O.kind===P&&B.kind===A||O.kind===A&&B.kind===P}}}function p(f,x){let[,v,h,m]=x.slice(f.position.start.offset,f.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:v,marker:h,leadingSpaces:m}}function g(f,x){if(!f.ordered||f.children.length<2)return!1;let v=Number(p(f.children[0],x.originalText).numberText),h=Number(p(f.children[1],x.originalText).numberText);if(v===0&&f.children.length>2){let m=Number(p(f.children[2],x.originalText).numberText);return h===1&&m===1}return h===1}function F(f,x){let{value:v}=f;return f.position.end.offset===x.length&&v.endsWith(` +`)&&x.endsWith(` +`)?v.slice(0,-1):v}function E(f,x){return function v(h,m,C){let w=Object.assign({},x(h,m,C));return w.children&&(w.children=w.children.map((q,L)=>v(q,L,[w,...C]))),w}(f,null,[])}function b(f){if((f==null?void 0:f.type)!=="link"||f.children.length!==1)return!1;let[x]=f.children;return t(f)===t(x)&&a(f)===a(x)}r.exports={mapAst:E,splitText:d,punctuationPattern:c,getFencedCodeBlockValue:F,getOrderedListItemInfo:p,hasGitDiffFriendlyOrderedList:g,INLINE_NODE_TYPES:i,INLINE_NODE_WRAPPER_TYPES:D,isAutolink:b}}}),j2=S({"src/language-markdown/unified-plugins/html-to-jsx.js"(e,r){"use strict";I();var u=Qi(),{mapAst:t,INLINE_NODE_WRAPPER_TYPES:a}=R2();function n(){return s=>t(s,(c,i,D)=>{let[o]=D;return c.type!=="html"||u.COMMENT_REGEX.test(c.value)||a.includes(o.type)?c:Object.assign(Object.assign({},c),{},{type:"jsx"})})}r.exports=n}}),P2=S({"src/language-markdown/unified-plugins/front-matter.js"(e,r){"use strict";I();var u=Ji();function t(){let a=this.Parser.prototype;a.blockMethods=["frontMatter",...a.blockMethods],a.blockTokenizers.frontMatter=n;function n(s,c){let i=u(c);if(i.frontMatter)return s(i.frontMatter.raw)(i.frontMatter)}n.onlyAtStart=!0}r.exports=t}}),M2=S({"src/language-markdown/unified-plugins/liquid.js"(e,r){"use strict";I();function u(){let t=this.Parser.prototype,a=t.inlineMethods;a.splice(a.indexOf("text"),0,"liquid"),t.inlineTokenizers.liquid=n;function n(s,c){let i=c.match(/^({%.*?%}|{{.*?}})/s);if(i)return s(i[0])({type:"liquidNode",value:i[0]})}n.locator=function(s,c){return s.indexOf("{",c)}}r.exports=u}}),z2=S({"src/language-markdown/unified-plugins/wiki-link.js"(e,r){"use strict";I();function u(){let t="wikiLink",a=/^\[\[(?.+?)]]/s,n=this.Parser.prototype,s=n.inlineMethods;s.splice(s.indexOf("link"),0,t),n.inlineTokenizers.wikiLink=c;function c(i,D){let o=a.exec(D);if(o){let l=o.groups.linkContents.trim();return i(o[0])({type:t,value:l})}}c.locator=function(i,D){return i.indexOf("[",D)}}r.exports=u}}),$2=S({"src/language-markdown/unified-plugins/loose-items.js"(e,r){"use strict";I();function u(){let t=this.Parser.prototype,a=t.blockTokenizers.list;function n(s,c,i){return c.type==="listItem"&&(c.loose=c.spread||s.charAt(s.length-1)===` +`,c.loose&&(i.loose=!0)),c}t.blockTokenizers.list=function(c,i,D){function o(l){let d=c(l);function p(g,F){return d(n(l,g,F),F)}return p.reset=function(g,F){return d.reset(n(l,g,F),F)},p}return o.now=c.now,a.call(this,o,i,D)}}r.exports=u}});I();var U2=GD(),G2=t2(),V2=a2(),H2=o2(),X2=s2(),{locStart:W2,locEnd:K2}=Zi(),Li=Qi(),Y2=j2(),J2=P2(),Z2=M2(),Q2=z2(),ef=$2();function sa(e){let{isMDX:r}=e;return u=>{let t=G2().use(U2,Object.assign({commonmark:!0},r&&{blocks:[Li.BLOCKS_REGEX]})).use(H2).use(J2).use(V2).use(r?Li.esSyntax:Ri).use(Z2).use(r?Y2:Ri).use(Q2).use(ef);return t.runSync(t.parse(u))}}function Ri(e){return e}var ca={astFormat:"mdast",hasPragma:X2.hasPragma,locStart:W2,locEnd:K2},ji=Object.assign(Object.assign({},ca),{},{parse:sa({isMDX:!1})}),rf=Object.assign(Object.assign({},ca),{},{parse:sa({isMDX:!0})});la.exports={parsers:{remark:ji,markdown:ji,mdx:rf}}});return uf();}); + +/***/ }, + +/***/ 52132 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var B=(a,g)=>()=>(g||a((g={exports:{}}).exports,g),g.exports);var k2=B((X3,Fu)=>{var A1=function(a){return a&&a.Math==Math&&a};Fu.exports=A1(typeof globalThis=="object"&&globalThis)||A1(typeof window=="object"&&window)||A1(typeof self=="object"&&self)||A1(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var D2=B((z3,Lu)=>{Lu.exports=function(a){try{return!!a()}catch{return!0}}});var S2=B((W3,Ou)=>{var uo=D2();Ou.exports=!uo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var ue=B((K3,Tu)=>{var io=D2();Tu.exports=!io(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var E1=B((Y3,Iu)=>{var no=ue(),P1=Function.prototype.call;Iu.exports=no?P1.bind(P1):function(){return P1.apply(P1,arguments)}});var ju=B(Nu=>{"use strict";var Ru={}.propertyIsEnumerable,Vu=Object.getOwnPropertyDescriptor,to=Vu&&!Ru.call({1:2},1);Nu.f=to?function(g){var b=Vu(this,g);return!!b&&b.enumerable}:Ru});var ie=B((Q3,_u)=>{_u.exports=function(a,g){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:g}}});var F2=B((G3,Ju)=>{var Mu=ue(),Uu=Function.prototype,ne=Uu.call,oo=Mu&&Uu.bind.bind(ne,ne);Ju.exports=Mu?oo:function(a){return function(){return ne.apply(a,arguments)}}});var Xu=B((x3,Hu)=>{var $u=F2(),lo=$u({}.toString),fo=$u("".slice);Hu.exports=function(a){return fo(lo(a),8,-1)}});var Wu=B((p3,zu)=>{var co=F2(),so=D2(),ao=Xu(),te=Object,go=co("".split);zu.exports=so(function(){return!te("z").propertyIsEnumerable(0)})?function(a){return ao(a)=="String"?go(a,""):te(a)}:te});var oe=B((e6,Ku)=>{Ku.exports=function(a){return a==null}});var le=B((u6,Yu)=>{var ho=oe(),mo=TypeError;Yu.exports=function(a){if(ho(a))throw mo("Can't call method on "+a);return a}});var C1=B((i6,Zu)=>{var bo=Wu(),ko=le();Zu.exports=function(a){return bo(ko(a))}});var ce=B((n6,Qu)=>{var fe=typeof document=="object"&&document.all,ro=typeof fe>"u"&&fe!==void 0;Qu.exports={all:fe,IS_HTMLDDA:ro}});var A2=B((t6,xu)=>{var Gu=ce(),vo=Gu.all;xu.exports=Gu.IS_HTMLDDA?function(a){return typeof a=="function"||a===vo}:function(a){return typeof a=="function"}});var Z2=B((o6,ui)=>{var pu=A2(),ei=ce(),yo=ei.all;ui.exports=ei.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:pu(a)||a===yo}:function(a){return typeof a=="object"?a!==null:pu(a)}});var D1=B((l6,ii)=>{var se=k2(),Ao=A2(),Po=function(a){return Ao(a)?a:void 0};ii.exports=function(a,g){return arguments.length<2?Po(se[a]):se[a]&&se[a][g]}});var ti=B((f6,ni)=>{var Eo=F2();ni.exports=Eo({}.isPrototypeOf)});var li=B((c6,oi)=>{var Co=D1();oi.exports=Co("navigator","userAgent")||""});var hi=B((s6,gi)=>{var di=k2(),ae=li(),fi=di.process,ci=di.Deno,si=fi&&fi.versions||ci&&ci.version,ai=si&&si.v8,P2,w1;ai&&(P2=ai.split("."),w1=P2[0]>0&&P2[0]<4?1:+(P2[0]+P2[1]));!w1&&ae&&(P2=ae.match(/Edge\/(\d+)/),(!P2||P2[1]>=74)&&(P2=ae.match(/Chrome\/(\d+)/),P2&&(w1=+P2[1])));gi.exports=w1});var de=B((a6,bi)=>{var mi=hi(),Do=D2();bi.exports=!!Object.getOwnPropertySymbols&&!Do(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&mi&&mi<41})});var ge=B((d6,ki)=>{var wo=de();ki.exports=wo&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var he=B((g6,ri)=>{var qo=D1(),Bo=A2(),So=ti(),Fo=ge(),Lo=Object;ri.exports=Fo?function(a){return typeof a=="symbol"}:function(a){var g=qo("Symbol");return Bo(g)&&So(g.prototype,Lo(a))}});var yi=B((h6,vi)=>{var Oo=String;vi.exports=function(a){try{return Oo(a)}catch{return"Object"}}});var Pi=B((m6,Ai)=>{var To=A2(),Io=yi(),Ro=TypeError;Ai.exports=function(a){if(To(a))return a;throw Ro(Io(a)+" is not a function")}});var Ci=B((b6,Ei)=>{var Vo=Pi(),No=oe();Ei.exports=function(a,g){var b=a[g];return No(b)?void 0:Vo(b)}});var wi=B((k6,Di)=>{var me=E1(),be=A2(),ke=Z2(),jo=TypeError;Di.exports=function(a,g){var b,f;if(g==="string"&&be(b=a.toString)&&!ke(f=me(b,a))||be(b=a.valueOf)&&!ke(f=me(b,a))||g!=="string"&&be(b=a.toString)&&!ke(f=me(b,a)))return f;throw jo("Can't convert object to primitive value")}});var Bi=B((r6,qi)=>{qi.exports=!1});var q1=B((v6,Fi)=>{var Si=k2(),_o=Object.defineProperty;Fi.exports=function(a,g){try{_o(Si,a,{value:g,configurable:!0,writable:!0})}catch{Si[a]=g}return g}});var B1=B((y6,Oi)=>{var Mo=k2(),Uo=q1(),Li="__core-js_shared__",Jo=Mo[Li]||Uo(Li,{});Oi.exports=Jo});var re=B((A6,Ii)=>{var $o=Bi(),Ti=B1();(Ii.exports=function(a,g){return Ti[a]||(Ti[a]=g!==void 0?g:{})})("versions",[]).push({version:"3.26.1",mode:$o?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Vi=B((P6,Ri)=>{var Ho=le(),Xo=Object;Ri.exports=function(a){return Xo(Ho(a))}});var R2=B((E6,Ni)=>{var zo=F2(),Wo=Vi(),Ko=zo({}.hasOwnProperty);Ni.exports=Object.hasOwn||function(g,b){return Ko(Wo(g),b)}});var ve=B((C6,ji)=>{var Yo=F2(),Zo=0,Qo=Math.random(),Go=Yo(1 .toString);ji.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Go(++Zo+Qo,36)}});var Hi=B((D6,$i)=>{var xo=k2(),po=re(),_i=R2(),el=ve(),Mi=de(),Ji=ge(),Q2=po("wks"),$2=xo.Symbol,Ui=$2&&$2.for,ul=Ji?$2:$2&&$2.withoutSetter||el;$i.exports=function(a){if(!_i(Q2,a)||!(Mi||typeof Q2[a]=="string")){var g="Symbol."+a;Mi&&_i($2,a)?Q2[a]=$2[a]:Ji&&Ui?Q2[a]=Ui(g):Q2[a]=ul(g)}return Q2[a]}});var Ki=B((w6,Wi)=>{var il=E1(),Xi=Z2(),zi=he(),nl=Ci(),tl=wi(),ol=Hi(),ll=TypeError,fl=ol("toPrimitive");Wi.exports=function(a,g){if(!Xi(a)||zi(a))return a;var b=nl(a,fl),f;if(b){if(g===void 0&&(g="default"),f=il(b,a,g),!Xi(f)||zi(f))return f;throw ll("Can't convert object to primitive value")}return g===void 0&&(g="number"),tl(a,g)}});var ye=B((q6,Yi)=>{var cl=Ki(),sl=he();Yi.exports=function(a){var g=cl(a,"string");return sl(g)?g:g+""}});var Gi=B((B6,Qi)=>{var al=k2(),Zi=Z2(),Ae=al.document,dl=Zi(Ae)&&Zi(Ae.createElement);Qi.exports=function(a){return dl?Ae.createElement(a):{}}});var Pe=B((S6,xi)=>{var gl=S2(),hl=D2(),ml=Gi();xi.exports=!gl&&!hl(function(){return Object.defineProperty(ml("div"),"a",{get:function(){return 7}}).a!=7})});var Ee=B(en=>{var bl=S2(),kl=E1(),rl=ju(),vl=ie(),yl=C1(),Al=ye(),Pl=R2(),El=Pe(),pi=Object.getOwnPropertyDescriptor;en.f=bl?pi:function(g,b){if(g=yl(g),b=Al(b),El)try{return pi(g,b)}catch{}if(Pl(g,b))return vl(!kl(rl.f,g,b),g[b])}});var nn=B((L6,un)=>{var Cl=S2(),Dl=D2();un.exports=Cl&&Dl(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var S1=B((O6,tn)=>{var wl=Z2(),ql=String,Bl=TypeError;tn.exports=function(a){if(wl(a))return a;throw Bl(ql(a)+" is not an object")}});var u1=B(ln=>{var Sl=S2(),Fl=Pe(),Ll=nn(),F1=S1(),on=ye(),Ol=TypeError,Ce=Object.defineProperty,Tl=Object.getOwnPropertyDescriptor,De="enumerable",we="configurable",qe="writable";ln.f=Sl?Ll?function(g,b,f){if(F1(g),b=on(b),F1(f),typeof g=="function"&&b==="prototype"&&"value"in f&&qe in f&&!f[qe]){var A=Tl(g,b);A&&A[qe]&&(g[b]=f.value,f={configurable:we in f?f[we]:A[we],enumerable:De in f?f[De]:A[De],writable:!1})}return Ce(g,b,f)}:Ce:function(g,b,f){if(F1(g),b=on(b),F1(f),Fl)try{return Ce(g,b,f)}catch{}if("get"in f||"set"in f)throw Ol("Accessors not supported");return"value"in f&&(g[b]=f.value),g}});var Be=B((I6,fn)=>{var Il=S2(),Rl=u1(),Vl=ie();fn.exports=Il?function(a,g,b){return Rl.f(a,g,Vl(1,b))}:function(a,g,b){return a[g]=b,a}});var an=B((R6,sn)=>{var Se=S2(),Nl=R2(),cn=Function.prototype,jl=Se&&Object.getOwnPropertyDescriptor,Fe=Nl(cn,"name"),_l=Fe&&function(){}.name==="something",Ml=Fe&&(!Se||Se&&jl(cn,"name").configurable);sn.exports={EXISTS:Fe,PROPER:_l,CONFIGURABLE:Ml}});var gn=B((V6,dn)=>{var Ul=F2(),Jl=A2(),Le=B1(),$l=Ul(Function.toString);Jl(Le.inspectSource)||(Le.inspectSource=function(a){return $l(a)});dn.exports=Le.inspectSource});var bn=B((N6,mn)=>{var Hl=k2(),Xl=A2(),hn=Hl.WeakMap;mn.exports=Xl(hn)&&/native code/.test(String(hn))});var vn=B((j6,rn)=>{var zl=re(),Wl=ve(),kn=zl("keys");rn.exports=function(a){return kn[a]||(kn[a]=Wl(a))}});var Oe=B((_6,yn)=>{yn.exports={}});var Cn=B((M6,En)=>{var Kl=bn(),Pn=k2(),Yl=Z2(),Zl=Be(),Te=R2(),Ie=B1(),Ql=vn(),Gl=Oe(),An="Object already initialized",Re=Pn.TypeError,xl=Pn.WeakMap,L1,i1,O1,pl=function(a){return O1(a)?i1(a):L1(a,{})},e4=function(a){return function(g){var b;if(!Yl(g)||(b=i1(g)).type!==a)throw Re("Incompatible receiver, "+a+" required");return b}};Kl||Ie.state?(E2=Ie.state||(Ie.state=new xl),E2.get=E2.get,E2.has=E2.has,E2.set=E2.set,L1=function(a,g){if(E2.has(a))throw Re(An);return g.facade=a,E2.set(a,g),g},i1=function(a){return E2.get(a)||{}},O1=function(a){return E2.has(a)}):(H2=Ql("state"),Gl[H2]=!0,L1=function(a,g){if(Te(a,H2))throw Re(An);return g.facade=a,Zl(a,H2,g),g},i1=function(a){return Te(a,H2)?a[H2]:{}},O1=function(a){return Te(a,H2)});var E2,H2;En.exports={set:L1,get:i1,has:O1,enforce:pl,getterFor:e4}});var Ne=B((U6,wn)=>{var u4=D2(),i4=A2(),T1=R2(),Ve=S2(),n4=an().CONFIGURABLE,t4=gn(),Dn=Cn(),o4=Dn.enforce,l4=Dn.get,I1=Object.defineProperty,f4=Ve&&!u4(function(){return I1(function(){},"length",{value:8}).length!==8}),c4=String(String).split("String"),s4=wn.exports=function(a,g,b){String(g).slice(0,7)==="Symbol("&&(g="["+String(g).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),b&&b.getter&&(g="get "+g),b&&b.setter&&(g="set "+g),(!T1(a,"name")||n4&&a.name!==g)&&(Ve?I1(a,"name",{value:g,configurable:!0}):a.name=g),f4&&b&&T1(b,"arity")&&a.length!==b.arity&&I1(a,"length",{value:b.arity});try{b&&T1(b,"constructor")&&b.constructor?Ve&&I1(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var f=o4(a);return T1(f,"source")||(f.source=c4.join(typeof g=="string"?g:"")),a};Function.prototype.toString=s4(function(){return i4(this)&&l4(this).source||t4(this)},"toString")});var Bn=B((J6,qn)=>{var a4=A2(),d4=u1(),g4=Ne(),h4=q1();qn.exports=function(a,g,b,f){f||(f={});var A=f.enumerable,L=f.name!==void 0?f.name:g;if(a4(b)&&g4(b,L,f),f.global)A?a[g]=b:h4(g,b);else{try{f.unsafe?a[g]&&(A=!0):delete a[g]}catch{}A?a[g]=b:d4.f(a,g,{value:b,enumerable:!1,configurable:!f.nonConfigurable,writable:!f.nonWritable})}return a}});var Fn=B(($6,Sn)=>{var m4=Math.ceil,b4=Math.floor;Sn.exports=Math.trunc||function(g){var b=+g;return(b>0?b4:m4)(b)}});var je=B((H6,Ln)=>{var k4=Fn();Ln.exports=function(a){var g=+a;return g!==g||g===0?0:k4(g)}});var Tn=B((X6,On)=>{var r4=je(),v4=Math.max,y4=Math.min;On.exports=function(a,g){var b=r4(a);return b<0?v4(b+g,0):y4(b,g)}});var Rn=B((z6,In)=>{var A4=je(),P4=Math.min;In.exports=function(a){return a>0?P4(A4(a),9007199254740991):0}});var Nn=B((W6,Vn)=>{var E4=Rn();Vn.exports=function(a){return E4(a.length)}});var Mn=B((K6,_n)=>{var C4=C1(),D4=Tn(),w4=Nn(),jn=function(a){return function(g,b,f){var A=C4(g),L=w4(A),S=D4(f,L),V;if(a&&b!=b){for(;L>S;)if(V=A[S++],V!=V)return!0}else for(;L>S;S++)if((a||S in A)&&A[S]===b)return a||S||0;return!a&&-1}};_n.exports={includes:jn(!0),indexOf:jn(!1)}});var $n=B((Y6,Jn)=>{var q4=F2(),_e=R2(),B4=C1(),S4=Mn().indexOf,F4=Oe(),Un=q4([].push);Jn.exports=function(a,g){var b=B4(a),f=0,A=[],L;for(L in b)!_e(F4,L)&&_e(b,L)&&Un(A,L);for(;g.length>f;)_e(b,L=g[f++])&&(~S4(A,L)||Un(A,L));return A}});var Xn=B((Z6,Hn)=>{Hn.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Wn=B(zn=>{var L4=$n(),O4=Xn(),T4=O4.concat("length","prototype");zn.f=Object.getOwnPropertyNames||function(g){return L4(g,T4)}});var Yn=B(Kn=>{Kn.f=Object.getOwnPropertySymbols});var Qn=B((x6,Zn)=>{var I4=D1(),R4=F2(),V4=Wn(),N4=Yn(),j4=S1(),_4=R4([].concat);Zn.exports=I4("Reflect","ownKeys")||function(g){var b=V4.f(j4(g)),f=N4.f;return f?_4(b,f(g)):b}});var pn=B((p6,xn)=>{var Gn=R2(),M4=Qn(),U4=Ee(),J4=u1();xn.exports=function(a,g,b){for(var f=M4(g),A=J4.f,L=U4.f,S=0;S{var $4=D2(),H4=A2(),X4=/#|\.prototype\./,n1=function(a,g){var b=W4[z4(a)];return b==Y4?!0:b==K4?!1:H4(g)?$4(g):!!g},z4=n1.normalize=function(a){return String(a).replace(X4,".").toLowerCase()},W4=n1.data={},K4=n1.NATIVE="N",Y4=n1.POLYFILL="P";e0.exports=n1});var n0=B((uf,i0)=>{var Me=k2(),Z4=Ee().f,Q4=Be(),G4=Bn(),x4=q1(),p4=pn(),e3=u0();i0.exports=function(a,g){var b=a.target,f=a.global,A=a.stat,L,S,V,r,X,Y;if(f?S=Me:A?S=Me[b]||x4(b,{}):S=(Me[b]||{}).prototype,S)for(V in g){if(X=g[V],a.dontCallGetSet?(Y=Z4(S,V),r=Y&&Y.value):r=S[V],L=e3(f?V:b+(A?".":"#")+V,a.forced),!L&&r!==void 0){if(typeof X==typeof r)continue;p4(X,r)}(a.sham||r&&r.sham)&&Q4(X,"sham",!0),G4(S,V,X,a)}}});var t0=B(()=>{var u3=n0(),Ue=k2();u3({global:!0,forced:Ue.globalThis!==Ue},{globalThis:Ue})});var o0=B(()=>{t0()});var c0=B((ff,f0)=>{var l0=Ne(),i3=u1();f0.exports=function(a,g,b){return b.get&&l0(b.get,g,{getter:!0}),b.set&&l0(b.set,g,{setter:!0}),i3.f(a,g,b)}});var a0=B((cf,s0)=>{"use strict";var n3=S1();s0.exports=function(){var a=n3(this),g="";return a.hasIndices&&(g+="d"),a.global&&(g+="g"),a.ignoreCase&&(g+="i"),a.multiline&&(g+="m"),a.dotAll&&(g+="s"),a.unicode&&(g+="u"),a.unicodeSets&&(g+="v"),a.sticky&&(g+="y"),g}});var h0=B(()=>{var t3=k2(),o3=S2(),l3=c0(),f3=a0(),c3=D2(),d0=t3.RegExp,g0=d0.prototype,s3=o3&&c3(function(){var a=!0;try{d0(".","d")}catch{a=!1}var g={},b="",f=a?"dgimsy":"gimsy",A=function(r,X){Object.defineProperty(g,r,{get:function(){return b+=X,!0}})},L={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(L.hasIndices="d");for(var S in L)A(S,L[S]);var V=Object.getOwnPropertyDescriptor(g0,"flags").get.call(g);return V!==f||b!==f});s3&&l3(g0,"flags",{configurable:!0,get:f3})});var $3=B((df,O0)=>{o0();h0();var Xe=Object.defineProperty,a3=Object.getOwnPropertyDescriptor,ze=Object.getOwnPropertyNames,d3=Object.prototype.hasOwnProperty,b0=(a,g)=>function(){return a&&(g=(0,a[ze(a)[0]])(a=0)),g},t2=(a,g)=>function(){return g||(0,a[ze(a)[0]])((g={exports:{}}).exports,g),g.exports},g3=(a,g)=>{for(var b in g)Xe(a,b,{get:g[b],enumerable:!0})},h3=(a,g,b,f)=>{if(g&&typeof g=="object"||typeof g=="function")for(let A of ze(g))!d3.call(a,A)&&A!==b&&Xe(a,A,{get:()=>g[A],enumerable:!(f=a3(g,A))||f.enumerable});return a},m3=a=>h3(Xe({},"__esModule",{value:!0}),a),n2=b0({""(){}}),k0=t2({"src/common/parser-create-error.js"(a,g){"use strict";n2();function b(f,A){let L=new SyntaxError(f+" ("+A.start.line+":"+A.start.column+")");return L.loc=A,L}g.exports=b}}),b3=t2({"src/utils/try-combinations.js"(a,g){"use strict";n2();function b(){let f;for(var A=arguments.length,L=new Array(A),S=0;SHe,arch:()=>k3,cpus:()=>D0,default:()=>F0,endianness:()=>v0,freemem:()=>E0,getNetworkInterfaces:()=>S0,hostname:()=>y0,loadavg:()=>A0,networkInterfaces:()=>B0,platform:()=>r3,release:()=>q0,tmpDir:()=>Je,tmpdir:()=>$e,totalmem:()=>C0,type:()=>w0,uptime:()=>P0});function v0(){if(typeof R1>"u"){var a=new ArrayBuffer(2),g=new Uint8Array(a),b=new Uint16Array(a);if(g[0]=1,g[1]=2,b[0]===258)R1="BE";else if(b[0]===513)R1="LE";else throw new Error("unable to figure out endianess")}return R1}function y0(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function A0(){return[]}function P0(){return 0}function E0(){return Number.MAX_VALUE}function C0(){return Number.MAX_VALUE}function D0(){return[]}function w0(){return"Browser"}function q0(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function B0(){}function S0(){}function k3(){return"javascript"}function r3(){return"browser"}function Je(){return"/tmp"}var R1,$e,He,F0,v3=b0({"node-modules-polyfills:os"(){n2(),$e=Je,He=` +`,F0={EOL:He,tmpdir:$e,tmpDir:Je,networkInterfaces:B0,getNetworkInterfaces:S0,release:q0,type:w0,cpus:D0,totalmem:C0,freemem:E0,uptime:P0,loadavg:A0,hostname:y0,endianness:v0}}}),y3=t2({"node-modules-polyfills-commonjs:os"(a,g){n2();var b=(v3(),m3(r0));if(b&&b.default){g.exports=b.default;for(let f in b)g.exports[f]=b[f]}else b&&(g.exports=b)}}),A3=t2({"node_modules/detect-newline/index.js"(a,g){"use strict";n2();var b=f=>{if(typeof f!="string")throw new TypeError("Expected a string");let A=f.match(/(?:\r?\n)/g)||[];if(A.length===0)return;let L=A.filter(V=>V===`\r +`).length,S=A.length-L;return L>S?`\r +`:` +`};g.exports=b,g.exports.graceful=f=>typeof f=="string"&&b(f)||` +`}}),P3=t2({"node_modules/jest-docblock/build/index.js"(a){"use strict";n2(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=T,a.parse=w2,a.parseWithComments=C,a.print=J,a.strip=z;function g(){let U=y3();return g=function(){return U},U}function b(){let U=f(A3());return b=function(){return U},U}function f(U){return U&&U.__esModule?U:{default:U}}var A=/\*\/$/,L=/^\/\*\*?/,S=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,V=/(^|\s+)\/\/([^\r\n]*)/g,r=/^(\r?\n)+/,X=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,Y=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,G=/(\r?\n|^) *\* ?/g,u2=[];function T(U){let e2=U.match(S);return e2?e2[0].trimLeft():""}function z(U){let e2=U.match(S);return e2&&e2[0]?U.substring(e2[0].length):U}function w2(U){return C(U).pragmas}function C(U){let e2=(0,b().default)(U)||g().EOL;U=U.replace(L,"").replace(A,"").replace(G,"$1");let g2="";for(;g2!==U;)g2=U,U=U.replace(X,`${e2}$1 $2${e2}`);U=U.replace(r,"").trimRight();let l2=Object.create(null),V2=U.replace(Y,"").replace(r,"").trimRight(),f2;for(;f2=Y.exec(U);){let N2=f2[2].replace(V,"");typeof l2[f2[1]]=="string"||Array.isArray(l2[f2[1]])?l2[f2[1]]=u2.concat(l2[f2[1]],N2):l2[f2[1]]=N2}return{comments:V2,pragmas:l2}}function J(U){let{comments:e2="",pragmas:g2={}}=U,l2=(0,b().default)(e2)||g().EOL,V2="/**",f2=" *",N2=" */",q2=Object.keys(g2),V1=q2.map(a2=>p(a2,g2[a2])).reduce((a2,t1)=>a2.concat(t1),[]).map(a2=>`${f2} ${a2}${l2}`).join("");if(!e2){if(q2.length===0)return"";if(q2.length===1&&!Array.isArray(g2[q2[0]])){let a2=g2[q2[0]];return`${V2} ${p(q2[0],a2)[0]}${N2}`}}let N1=e2.split(l2).map(a2=>`${f2} ${a2}`).join(l2)+l2;return V2+l2+(e2?N1:"")+(e2&&q2.length?f2+l2:"")+V1+N2}function p(U,e2){return u2.concat(e2).map(g2=>`@${U} ${g2}`.trim())}}}),E3=t2({"src/common/end-of-line.js"(a,g){"use strict";n2();function b(S){let V=S.indexOf("\r");return V>=0?S.charAt(V+1)===` +`?"crlf":"cr":"lf"}function f(S){switch(S){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function A(S,V){let r;switch(V){case` +`:r=/\n/g;break;case"\r":r=/\r/g;break;case`\r +`:r=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(V)}.`)}let X=S.match(r);return X?X.length:0}function L(S){return S.replace(/\r\n?/g,` +`)}g.exports={guessEndOfLine:b,convertEndOfLineToChars:f,countEndOfLineChars:A,normalizeEndOfLine:L}}}),C3=t2({"src/language-js/utils/get-shebang.js"(a,g){"use strict";n2();function b(f){if(!f.startsWith("#!"))return"";let A=f.indexOf(` +`);return A===-1?f:f.slice(0,A)}g.exports=b}}),D3=t2({"src/language-js/pragma.js"(a,g){"use strict";n2();var{parseWithComments:b,strip:f,extract:A,print:L}=P3(),{normalizeEndOfLine:S}=E3(),V=C3();function r(G){let u2=V(G);u2&&(G=G.slice(u2.length+1));let T=A(G),{pragmas:z,comments:w2}=b(T);return{shebang:u2,text:G,pragmas:z,comments:w2}}function X(G){let u2=Object.keys(r(G).pragmas);return u2.includes("prettier")||u2.includes("format")}function Y(G){let{shebang:u2,text:T,pragmas:z,comments:w2}=r(G),C=f(T),J=L({pragmas:Object.assign({format:""},z),comments:w2.trimStart()});return(u2?`${u2} +`:"")+S(J)+(C.startsWith(` +`)?` +`:` + +`)+C}g.exports={hasPragma:X,insertPragma:Y}}}),w3=t2({"src/utils/is-non-empty-array.js"(a,g){"use strict";n2();function b(f){return Array.isArray(f)&&f.length>0}g.exports=b}}),L0=t2({"src/language-js/loc.js"(a,g){"use strict";n2();var b=w3();function f(r){var X,Y;let G=r.range?r.range[0]:r.start,u2=(X=(Y=r.declaration)===null||Y===void 0?void 0:Y.decorators)!==null&&X!==void 0?X:r.decorators;return b(u2)?Math.min(f(u2[0]),G):G}function A(r){return r.range?r.range[1]:r.end}function L(r,X){let Y=f(r);return Number.isInteger(Y)&&Y===f(X)}function S(r,X){let Y=A(r);return Number.isInteger(Y)&&Y===A(X)}function V(r,X){return L(r,X)&&S(r,X)}g.exports={locStart:f,locEnd:A,hasSameLocStart:L,hasSameLoc:V}}}),q3=t2({"src/language-js/parse/utils/create-parser.js"(a,g){"use strict";n2();var{hasPragma:b}=D3(),{locStart:f,locEnd:A}=L0();function L(S){return S=typeof S=="function"?{parse:S}:S,Object.assign({astFormat:"estree",hasPragma:b,locStart:f,locEnd:A},S)}g.exports=L}}),B3=t2({"src/language-js/utils/is-ts-keyword-type.js"(a,g){"use strict";n2();function b(f){let{type:A}=f;return A.startsWith("TS")&&A.endsWith("Keyword")}g.exports=b}}),S3=t2({"src/language-js/utils/is-block-comment.js"(a,g){"use strict";n2();var b=new Set(["Block","CommentBlock","MultiLine"]),f=A=>b.has(A==null?void 0:A.type);g.exports=f}}),F3=t2({"src/language-js/utils/is-type-cast-comment.js"(a,g){"use strict";n2();var b=S3();function f(A){return b(A)&&A.value[0]==="*"&&/@(?:type|satisfies)\b/.test(A.value)}g.exports=f}}),L3=t2({"src/utils/get-last.js"(a,g){"use strict";n2();var b=f=>f[f.length-1];g.exports=b}}),O3=t2({"src/language-js/parse/postprocess/visit-node.js"(a,g){"use strict";n2();function b(f,A){if(Array.isArray(f)){for(let L=0;L{J.leadingComments&&J.leadingComments.some(L)&&C.add(b(J))}),T=V(T,J=>{if(J.type==="ParenthesizedExpression"){let{expression:p}=J;if(p.type==="TypeCastExpression")return p.range=J.range,p;let U=b(J);if(!C.has(U))return p.extra=Object.assign(Object.assign({},p.extra),{},{parenthesized:!0}),p}})}return T=V(T,C=>{switch(C.type){case"ChainExpression":return Y(C.expression);case"LogicalExpression":{if(G(C))return u2(C);break}case"VariableDeclaration":{let J=S(C.declarations);J&&J.init&&w2(C,J);break}case"TSParenthesizedType":return A(C.typeAnnotation)||C.typeAnnotation.type==="TSThisType"||(C.typeAnnotation.range=[b(C),f(C)]),C.typeAnnotation;case"TSTypeParameter":if(typeof C.name=="string"){let J=b(C);C.name={type:"Identifier",name:C.name,range:[J,J+C.name.length]}}break;case"ObjectExpression":if(z.parser==="typescript"){let J=C.properties.find(p=>p.type==="Property"&&p.value.type==="TSEmptyBodyFunctionExpression");J&&r(J.value,"Unexpected token.")}break;case"SequenceExpression":{let J=S(C.expressions);C.range=[b(C),Math.min(f(J),f(C))];break}case"TopicReference":z.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:J}=C;if(z.parser==="meriyah"&&J&&J.type==="Identifier"){let p=z.originalText.slice(b(J),f(J));(p.startsWith('"')||p.startsWith("'"))&&(C.exported=Object.assign(Object.assign({},C.exported),{},{type:"Literal",value:C.exported.name,raw:p}))}break}case"PropertyDefinition":if(z.parser==="meriyah"&&C.static&&!C.computed&&!C.key){let J="static",p=b(C);Object.assign(C,{static:!1,key:{type:"Identifier",name:J,range:[p,p+J.length]}})}break}}),T;function w2(C,J){z.originalText[f(J)]!==";"&&(C.range=[b(C),f(J)])}}function Y(T){switch(T.type){case"CallExpression":T.type="OptionalCallExpression",T.callee=Y(T.callee);break;case"MemberExpression":T.type="OptionalMemberExpression",T.object=Y(T.object);break;case"TSNonNullExpression":T.expression=Y(T.expression);break}return T}function G(T){return T.type==="LogicalExpression"&&T.right.type==="LogicalExpression"&&T.operator===T.right.operator}function u2(T){return G(T)?u2({type:"LogicalExpression",operator:T.operator,left:u2({type:"LogicalExpression",operator:T.operator,left:T.left,right:T.right.left,range:[b(T.left),f(T.right.left)]}),right:T.right.right,range:[b(T),f(T)]}):T}g.exports=X}}),R3=t2({"node_modules/meriyah/dist/meriyah.cjs"(a){"use strict";n2(),Object.defineProperty(a,"__esModule",{value:!0});var g={[0]:"Unexpected token",[28]:"Unexpected token: '%0'",[1]:"Octal escape sequences are not allowed in strict mode",[2]:"Octal escape sequences are not allowed in template strings",[3]:"Unexpected token `#`",[4]:"Illegal Unicode escape sequence",[5]:"Invalid code point %0",[6]:"Invalid hexadecimal escape sequence",[8]:"Octal literals are not allowed in strict mode",[7]:"Decimal integer literals with a leading zero are forbidden in strict mode",[9]:"Expected number in radix %0",[145]:"Invalid left-hand side assignment to a destructible right-hand side",[10]:"Non-number found after exponent indicator",[11]:"Invalid BigIntLiteral",[12]:"No identifiers allowed directly after numeric literal",[13]:"Escapes \\8 or \\9 are not syntactically valid escapes",[14]:"Unterminated string literal",[15]:"Unterminated template literal",[16]:"Multiline comment was not closed properly",[17]:"The identifier contained dynamic unicode escape that was not closed",[18]:"Illegal character '%0'",[19]:"Missing hexadecimal digits",[20]:"Invalid implicit octal",[21]:"Invalid line break in string literal",[22]:"Only unicode escapes are legal in identifier names",[23]:"Expected '%0'",[24]:"Invalid left-hand side in assignment",[25]:"Invalid left-hand side in async arrow",[26]:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',[27]:"Member access on super must be in a method",[29]:"Await expression not allowed in formal parameter",[30]:"Yield expression not allowed in formal parameter",[92]:"Unexpected token: 'escaped keyword'",[31]:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",[119]:"Async functions can only be declared at the top level or inside a block",[32]:"Unterminated regular expression",[33]:"Unexpected regular expression flag",[34]:"Duplicate regular expression flag '%0'",[35]:"%0 functions must have exactly %1 argument%2",[36]:"Setter function argument must not be a rest parameter",[37]:"%0 declaration must have a name in this context",[38]:"Function name may not contain any reserved words or be eval or arguments in strict mode",[39]:"The rest operator is missing an argument",[40]:"A getter cannot be a generator",[41]:"A computed property name must be followed by a colon or paren",[130]:"Object literal keys that are strings or numbers must be a method or have a colon",[43]:"Found `* async x(){}` but this should be `async * x(){}`",[42]:"Getters and setters can not be generators",[44]:"'%0' can not be generator method",[45]:"No line break is allowed after '=>'",[46]:"The left-hand side of the arrow can only be destructed through assignment",[47]:"The binding declaration is not destructible",[48]:"Async arrow can not be followed by new expression",[49]:"Classes may not have a static property named 'prototype'",[50]:"Class constructor may not be a %0",[51]:"Duplicate constructor method in class",[52]:"Invalid increment/decrement operand",[53]:"Invalid use of `new` keyword on an increment/decrement expression",[54]:"`=>` is an invalid assignment target",[55]:"Rest element may not have a trailing comma",[56]:"Missing initializer in %0 declaration",[57]:"'for-%0' loop head declarations can not have an initializer",[58]:"Invalid left-hand side in for-%0 loop: Must have a single binding",[59]:"Invalid shorthand property initializer",[60]:"Property name __proto__ appears more than once in object literal",[61]:"Let is disallowed as a lexically bound name",[62]:"Invalid use of '%0' inside new expression",[63]:"Illegal 'use strict' directive in function with non-simple parameter list",[64]:'Identifier "let" disallowed as left-hand side expression in strict mode',[65]:"Illegal continue statement",[66]:"Illegal break statement",[67]:"Cannot have `let[...]` as a var name in strict mode",[68]:"Invalid destructuring assignment target",[69]:"Rest parameter may not have a default initializer",[70]:"The rest argument must the be last parameter",[71]:"Invalid rest argument",[73]:"In strict mode code, functions can only be declared at top level or inside a block",[74]:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",[75]:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",[76]:"Class declaration can't appear in single-statement context",[77]:"Invalid left-hand side in for-%0",[78]:"Invalid assignment in for-%0",[79]:"for await (... of ...) is only valid in async functions and async generators",[80]:"The first token after the template expression should be a continuation of the template",[82]:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",[81]:"`let \n [` is a restricted production at the start of a statement",[83]:"Catch clause requires exactly one parameter, not more (and no trailing comma)",[84]:"Catch clause parameter does not support default values",[85]:"Missing catch or finally after try",[86]:"More than one default clause in switch statement",[87]:"Illegal newline after throw",[88]:"Strict mode code may not include a with statement",[89]:"Illegal return statement",[90]:"The left hand side of the for-header binding declaration is not destructible",[91]:"new.target only allowed within functions",[93]:"'#' not followed by identifier",[99]:"Invalid keyword",[98]:"Can not use 'let' as a class name",[97]:"'A lexical declaration can't define a 'let' binding",[96]:"Can not use `let` as variable name in strict mode",[94]:"'%0' may not be used as an identifier in this context",[95]:"Await is only valid in async functions",[100]:"The %0 keyword can only be used with the module goal",[101]:"Unicode codepoint must not be greater than 0x10FFFF",[102]:"%0 source must be string",[103]:"Only a identifier can be used to indicate alias",[104]:"Only '*' or '{...}' can be imported after default",[105]:"Trailing decorator may be followed by method",[106]:"Decorators can't be used with a constructor",[108]:"HTML comments are only allowed with web compatibility (Annex B)",[109]:"The identifier 'let' must not be in expression position in strict mode",[110]:"Cannot assign to `eval` and `arguments` in strict mode",[111]:"The left-hand side of a for-of loop may not start with 'let'",[112]:"Block body arrows can not be immediately invoked without a group",[113]:"Block body arrows can not be immediately accessed without a group",[114]:"Unexpected strict mode reserved word",[115]:"Unexpected eval or arguments in strict mode",[116]:"Decorators must not be followed by a semicolon",[117]:"Calling delete on expression not allowed in strict mode",[118]:"Pattern can not have a tail",[120]:"Can not have a `yield` expression on the left side of a ternary",[121]:"An arrow function can not have a postfix update operator",[122]:"Invalid object literal key character after generator star",[123]:"Private fields can not be deleted",[125]:"Classes may not have a field called constructor",[124]:"Classes may not have a private element named constructor",[126]:"A class field initializer may not contain arguments",[127]:"Generators can only be declared at the top level or inside a block",[128]:"Async methods are a restricted production and cannot have a newline following it",[129]:"Unexpected character after object literal property name",[131]:"Invalid key token",[132]:"Label '%0' has already been declared",[133]:"continue statement must be nested within an iteration statement",[134]:"Undefined label '%0'",[135]:"Trailing comma is disallowed inside import(...) arguments",[136]:"import() requires exactly one argument",[137]:"Cannot use new with import(...)",[138]:"... is not allowed in import()",[139]:"Expected '=>'",[140]:"Duplicate binding '%0'",[141]:"Cannot export a duplicate name '%0'",[144]:"Duplicate %0 for-binding",[142]:"Exported binding '%0' needs to refer to a top-level declared variable",[143]:"Unexpected private field",[147]:"Numeric separators are not allowed at the end of numeric literals",[146]:"Only one underscore is allowed as numeric separator",[148]:"JSX value should be either an expression or a quoted JSX text",[149]:"Expected corresponding JSX closing tag for %0",[150]:"Adjacent JSX elements must be wrapped in an enclosing tag",[151]:"JSX attributes must only be assigned a non-empty 'expression'",[152]:"'%0' has already been declared",[153]:"'%0' shadowed a catch clause binding",[154]:"Dot property must be an identifier",[155]:"Encountered invalid input after spread/rest argument",[156]:"Catch without try",[157]:"Finally without try",[158]:"Expected corresponding closing tag for JSX fragment",[159]:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",[160]:"Invalid tagged template on optional chain",[161]:"Invalid optional chain from super property",[162]:"Invalid optional chain from new expression",[163]:'Cannot use "import.meta" outside a module',[164]:"Leading decorators must be attached to a class declaration"},b=class extends SyntaxError{constructor(e,u,i,n){for(var t=arguments.length,o=new Array(t>4?t-4:0),l=4;lo[m]);super(`${c}`),this.index=e,this.line=u,this.column=i,this.description=c,this.loc={line:u,column:i}}};function f(e,u){for(var i=arguments.length,n=new Array(i>2?i-2:0),t=2;t4?t-4:0),l=4;l{let i=new Uint32Array(104448),n=0,t=0;for(;n<3540;){let o=e[n++];if(o<0)t-=o;else{let l=e[n++];o&2&&(l=u[l]),o&1?i.fill(l,t,t+=e[n++]):i[t++]=l}}return i})([-1,2,24,2,25,2,5,-1,0,77595648,3,44,2,3,0,14,2,57,2,58,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,59,3,0,4,0,4294966523,3,0,4,2,16,2,60,2,0,0,4294836735,0,3221225471,0,4294901942,2,61,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,17,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,131,2,6,2,56,-1,2,37,0,4294443263,2,1,3,0,3,0,4294901711,2,39,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,194,2,3,0,3825204735,0,123747807,0,65487,0,4294828015,0,4092591615,0,1080049119,0,458703,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,66,0,4284449919,0,851904,2,4,2,11,0,67076095,-1,2,67,0,1073741743,0,4093591391,-1,0,50331649,0,3265266687,2,32,0,4294844415,0,4278190047,2,18,2,129,-1,3,0,2,2,21,2,0,2,9,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,10,0,261632,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,2088959,2,27,2,8,0,909311,3,0,2,0,814743551,2,41,0,67057664,3,0,2,2,40,2,0,2,28,2,0,2,29,2,7,0,268374015,2,26,2,49,2,0,2,76,0,134153215,-1,2,6,2,0,2,7,0,2684354559,0,67044351,0,3221160064,0,1,-1,3,0,2,2,42,0,1046528,3,0,3,2,8,2,0,2,51,0,4294960127,2,9,2,38,2,10,0,4294377472,2,11,3,0,7,0,4227858431,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-1,2,124,0,1048577,2,82,2,13,-1,2,13,0,131042,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,1046559,2,0,2,14,2,0,0,2147516671,2,20,3,86,2,2,0,-16,2,87,0,524222462,2,4,2,0,0,4269801471,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,2,121,2,0,0,3220242431,3,0,3,2,19,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,2,0,0,4351,2,0,2,8,3,0,2,0,67043391,0,3909091327,2,0,2,22,2,8,2,18,3,0,2,0,67076097,2,7,2,0,2,20,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,97,2,98,2,15,2,21,3,0,3,0,67057663,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,3774349439,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,2,23,0,1638399,2,172,2,105,3,0,3,2,18,2,24,2,25,2,5,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-3,2,150,-4,2,18,2,0,2,35,0,1,2,0,2,62,2,28,2,11,2,9,2,0,2,110,-1,3,0,4,2,9,2,21,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277137519,0,2269118463,-1,3,18,2,-1,2,32,2,36,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,46,-10,2,0,0,203775,-2,2,18,2,43,2,35,-2,2,17,2,117,2,20,3,0,2,2,36,0,2147549120,2,0,2,11,2,17,2,135,2,0,2,37,2,52,0,5242879,3,0,2,0,402644511,-1,2,120,0,1090519039,-2,2,122,2,38,2,0,0,67045375,2,39,0,4226678271,0,3766565279,0,2039759,-4,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,40,2,41,-1,2,10,2,42,-6,2,0,2,11,-3,3,0,2,0,2147484671,2,125,0,4190109695,2,50,-2,2,126,0,4244635647,0,27,2,0,2,7,2,43,2,0,2,63,-1,2,0,2,40,-8,2,54,2,44,0,67043329,2,127,2,45,0,8388351,-2,2,128,0,3028287487,2,46,2,130,0,33259519,2,41,-9,2,20,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,2,41,-2,2,17,2,49,2,0,2,20,2,50,2,132,2,23,-21,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,0,1677656575,-166,0,4161266656,0,4071,0,15360,-4,0,28,-13,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,0,4294954999,2,0,-16,2,0,2,88,2,0,0,2105343,0,4160749584,0,65534,-42,0,4194303871,0,2011,-6,2,0,0,1073684479,0,17407,-11,2,0,2,31,-40,3,0,6,0,8323103,-1,3,0,2,2,42,-37,2,55,2,144,2,145,2,146,2,147,2,148,-105,2,24,-32,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-22381,3,0,7,2,23,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,57,2,58,-3,0,3168731136,0,4294956864,2,1,2,0,2,59,3,0,4,0,4294966275,3,0,4,2,16,2,60,2,0,2,33,-1,2,17,2,61,-1,2,0,2,56,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,23,2,62,3,0,2,0,131135,2,95,0,70256639,0,71303167,0,272,2,40,2,56,-1,2,37,2,30,-1,2,96,2,63,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,65,2,64,0,33554435,2,123,2,65,2,151,0,131075,0,3594373096,0,67094296,2,64,-1,0,4294828e3,0,603979263,2,160,0,3,0,4294828001,0,602930687,2,183,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,66,2,36,-1,2,4,0,917503,2,36,-1,2,67,0,537788335,0,4026531935,-1,0,1,-1,2,32,2,68,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,14,2,15,3,0,10,2,69,2,0,2,70,2,71,2,72,2,0,2,73,2,0,2,11,-1,2,23,3,0,2,2,12,2,4,3,0,18,2,74,2,5,3,0,2,2,75,0,253951,3,19,2,0,122879,2,0,2,8,0,276824064,-2,3,0,2,2,40,2,0,0,4294903295,2,0,2,29,2,7,-1,2,17,2,49,2,0,2,76,2,41,-1,2,20,2,0,2,27,-2,0,128,-2,2,77,2,8,0,4064,-1,2,119,0,4227907585,2,0,2,118,2,0,2,48,2,173,2,9,2,38,2,10,-1,0,74440192,3,0,6,-2,3,0,8,2,12,2,0,2,78,2,9,2,0,2,79,2,80,2,81,-3,2,82,2,13,-3,2,83,2,84,2,85,2,0,2,33,-83,2,0,2,53,2,7,3,0,4,0,817183,2,0,2,14,2,0,0,33023,2,20,3,86,2,-17,2,87,0,524157950,2,4,2,0,2,88,2,4,2,0,2,15,2,77,2,16,3,0,2,2,47,2,0,-1,2,17,-16,3,0,206,-2,3,0,655,2,18,3,0,36,2,68,-1,2,17,2,9,3,0,8,2,89,0,3072,2,0,0,2147516415,2,9,3,0,2,2,23,2,90,2,91,3,0,2,2,92,2,0,2,93,2,94,0,4294965179,0,7,2,0,2,8,2,91,2,8,-1,0,1761345536,2,95,0,4294901823,2,36,2,18,2,96,2,34,2,166,0,2080440287,2,0,2,33,2,143,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,97,2,98,2,15,2,21,3,0,3,0,7,3,0,349,2,99,2,100,2,6,-264,3,0,11,2,22,3,0,2,2,31,-1,0,2700607615,2,101,2,102,3,0,2,2,19,2,103,3,0,10,2,9,2,17,2,0,2,45,2,0,2,30,2,104,-3,2,105,3,0,3,2,18,-1,3,5,2,2,26,2,0,2,7,2,106,-1,2,107,2,108,2,109,-1,3,0,3,2,11,-2,2,0,2,27,-8,2,18,2,0,2,35,-1,2,0,2,62,2,28,2,29,2,9,2,0,2,110,-1,3,0,4,2,9,2,17,2,111,2,6,2,0,2,112,2,0,2,48,-4,3,0,9,2,20,2,29,2,30,-4,2,113,2,114,2,29,2,20,2,7,-2,2,115,2,29,2,31,-2,2,0,2,116,-2,0,4277075969,2,29,-1,3,18,2,-1,2,32,2,117,2,0,3,29,2,2,34,2,19,-3,3,0,2,2,33,-1,2,0,2,34,2,0,2,34,2,0,2,48,-10,2,0,0,197631,-2,2,18,2,43,2,118,-2,2,17,2,117,2,20,2,119,2,51,-2,2,119,2,23,2,17,2,33,2,119,2,36,0,4294901904,0,4718591,2,119,2,34,0,335544350,-1,2,120,2,121,-2,2,122,2,38,2,7,-1,2,123,2,65,0,3758161920,0,3,-4,2,0,2,27,0,2147485568,0,3,2,0,2,23,0,176,-5,2,0,2,47,2,186,-1,2,0,2,23,2,197,-1,2,0,0,16779263,-2,2,11,-7,2,0,2,121,-3,3,0,2,2,124,2,125,0,2147549183,0,2,-2,2,126,2,35,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,-1,2,0,2,40,-8,2,54,2,47,0,1,2,127,2,23,-3,2,128,2,35,2,129,2,130,0,16778239,-10,2,34,-5,2,64,-2,3,0,28,2,31,-3,3,0,3,2,47,3,0,6,2,48,-85,3,0,33,2,47,-126,3,0,18,2,36,-269,3,0,17,2,40,2,7,-3,2,17,2,131,2,0,2,23,2,48,2,132,2,23,-21,3,0,2,-4,3,0,2,0,67583,-1,2,103,-2,0,11,3,0,191,2,51,3,0,38,2,29,-1,2,33,-279,3,0,8,2,7,-1,2,133,2,52,3,0,11,2,6,-72,3,0,3,2,134,2,135,-187,3,0,2,2,37,2,0,2,136,2,137,2,55,2,0,2,138,2,139,2,140,3,0,10,2,141,2,142,2,15,3,37,2,3,53,2,3,54,2,2,143,-73,2,0,0,1065361407,0,16384,-11,2,0,2,121,-40,3,0,6,2,117,-1,3,0,2,0,2063,-37,2,55,2,144,2,145,2,146,2,147,2,148,-138,3,0,1334,2,9,-1,3,0,129,2,27,3,0,6,2,9,3,0,180,2,149,3,0,233,0,1,-96,3,0,16,2,9,-47,3,0,154,2,56,-28517,2,0,0,1,-1,2,124,2,0,0,8193,-21,2,193,0,10255,0,4,-11,2,64,2,171,-1,0,71680,-1,2,161,0,4292900864,0,805306431,-5,2,150,-1,2,157,-1,0,6144,-2,2,127,-1,2,154,-1,0,2147532800,2,151,2,165,2,0,2,164,0,524032,0,4,-4,2,190,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,152,0,4294886464,0,33292336,0,417809,2,152,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,153,0,469762560,0,4171219488,0,8323120,2,153,0,202375680,0,3214918176,0,4294508592,2,153,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,0,2013265920,2,177,2,0,0,2089,0,3221225552,0,201375904,2,0,-2,0,256,0,122880,0,16777216,2,150,0,4160757760,2,0,-6,2,167,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,154,2,159,2,178,-2,2,162,-20,0,3758096385,-2,2,155,0,4292878336,2,90,2,169,0,4294057984,-2,2,163,2,156,2,175,-2,2,155,-1,2,182,-1,2,170,2,124,0,4026593280,0,14,0,4292919296,-1,2,158,0,939588608,-1,0,805306368,-1,2,124,0,1610612736,2,156,2,157,2,4,2,0,-2,2,158,2,159,-3,0,267386880,-1,2,160,0,7168,-1,0,65024,2,154,2,161,2,179,-7,2,168,-8,2,162,-1,0,1426112704,2,163,-1,2,164,0,271581216,0,2149777408,2,23,2,161,2,124,0,851967,2,180,-1,2,23,2,181,-4,2,158,-20,2,195,2,165,-56,0,3145728,2,185,-4,2,166,2,124,-4,0,32505856,-1,2,167,-1,0,2147385088,2,90,1,2155905152,2,-3,2,103,2,0,2,168,-2,2,169,-6,2,170,0,4026597375,0,1,-1,0,1,-1,2,171,-3,2,117,2,64,-2,2,166,-2,2,176,2,124,-878,2,159,-36,2,172,-1,2,201,-10,2,188,-5,2,174,-6,0,4294965251,2,27,-1,2,173,-1,2,174,-2,0,4227874752,-3,0,2146435072,2,159,-2,0,1006649344,2,124,-1,2,90,0,201375744,-3,0,134217720,2,90,0,4286677377,0,32896,-1,2,158,-3,2,175,-349,2,176,0,1920,2,177,3,0,264,-11,2,157,-2,2,178,2,0,0,520617856,0,2692743168,0,36,-3,0,524284,-11,2,23,-1,2,187,-1,2,184,0,3221291007,2,178,-1,2,202,0,2158720,-3,2,159,0,1,-4,2,124,0,3808625411,0,3489628288,2,200,0,1207959680,0,3221274624,2,0,-3,2,179,0,120,0,7340032,-2,2,180,2,4,2,23,2,163,3,0,4,2,159,-1,2,181,2,177,-1,0,8176,2,182,2,179,2,183,-1,0,4290773232,2,0,-4,2,163,2,189,0,15728640,2,177,-1,2,161,-1,0,4294934512,3,0,4,-9,2,90,2,170,2,184,3,0,4,0,704,0,1849688064,2,185,-1,2,124,0,4294901887,2,0,0,130547712,0,1879048192,2,199,3,0,2,-1,2,186,2,187,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,192,0,16252928,0,3791388672,2,38,3,0,2,-2,2,196,2,0,-1,2,103,-1,0,66584576,-1,2,191,3,0,9,2,124,-1,0,4294755328,3,0,2,-1,2,161,2,178,3,0,2,2,23,2,188,2,90,-2,0,245760,0,2147418112,-1,2,150,2,203,0,4227923456,-1,2,164,2,161,2,90,-3,0,4292870145,0,262144,2,124,3,0,2,0,1073758848,2,189,-1,0,4227921920,2,190,0,68289024,0,528402016,0,4292927536,3,0,4,-2,0,268435456,2,91,-2,2,191,3,0,5,-1,2,192,2,163,2,0,-2,0,4227923936,2,62,-1,2,155,2,95,2,0,2,154,2,158,3,0,6,-1,2,177,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,193,2,77,-2,2,161,-2,2,119,-1,2,155,3,0,8,0,512,0,8388608,2,194,2,172,2,187,0,4286578944,3,0,2,0,1152,0,1266679808,2,191,0,576,0,4261707776,2,95,3,0,9,2,155,3,0,5,2,16,-1,0,2147221504,-28,2,178,3,0,3,-3,0,4292902912,-6,2,96,3,0,85,-33,0,4294934528,3,0,126,-18,2,195,3,0,269,-17,2,155,2,124,2,198,3,0,2,2,23,0,4290822144,-2,0,67174336,0,520093700,2,17,3,0,21,-2,2,179,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,174,-38,2,170,2,0,2,196,3,0,279,-8,2,124,2,0,0,4294508543,0,65295,-11,2,177,3,0,72,-3,0,3758159872,0,201391616,3,0,155,-7,2,170,-1,0,384,-1,0,133693440,-3,2,196,-2,2,26,3,0,4,2,169,-2,2,90,2,155,3,0,4,-2,2,164,-1,2,150,0,335552923,2,197,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,0,12288,-21,0,134213632,0,4294901761,3,0,42,0,100663424,0,4294965284,3,0,6,-1,0,3221282816,2,198,3,0,11,-1,2,199,3,0,40,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,35,-1,2,94,3,0,2,0,1,2,163,3,0,6,2,197,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,45,3,0,8,-1,2,158,-2,2,169,0,98304,0,65537,2,170,-5,0,4294950912,2,0,2,118,0,65528,2,177,0,4294770176,2,26,3,0,4,-30,2,174,0,3758153728,-3,2,169,-2,2,155,2,188,2,158,-1,2,191,-1,2,161,0,4294754304,3,0,2,-3,0,33554432,-2,2,200,-3,2,169,0,4175478784,2,201,0,4286643712,0,4286644216,2,0,-4,2,202,-1,2,165,0,4227923967,3,0,32,-1334,2,163,2,0,-129,2,94,-6,2,163,-180,2,203,-233,2,4,3,0,96,-16,2,163,3,0,47,-154,2,165,3,0,22381,-7,2,17,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4160749567,4294901759,4294901760,536870911,262143,8388607,4294902783,4294918143,65535,67043328,2281701374,4294967232,2097151,4294903807,4194303,255,67108863,4294967039,511,524287,131071,127,4292870143,4294902271,4294549487,33554431,1023,67047423,4294901888,4286578687,4294770687,67043583,32767,15,2047999,67043343,16777215,4294902e3,4294934527,4294966783,4294967279,2047,262083,20511,4290772991,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,4294967264,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,2044,4292870144,4294966272,4294967280,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4294966591,2445279231,3670015,3238002687,31,63,4294967288,4294705151,4095,3221208447,4294549472,2147483648,4285526655,4294966527,4294705152,4294966143,64,4294966719,16383,3774873592,458752,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4087,184024726,2862017156,1593309078,268434431,268434414,4294901763,536870912,2952790016,202506752,139264,402653184,4261412864,4227922944,49152,61440,3758096384,117440512,65280,3233808384,3221225472,2097152,4294965248,32768,57152,67108864,4293918720,4290772992,25165824,57344,4227915776,4278190080,4227907584,65520,4026531840,4227858432,4160749568,3758129152,4294836224,63488,1073741824,4294967040,4194304,251658240,196608,4294963200,64512,417808,4227923712,12582912,50331648,65472,4294967168,4294966784,16,4294917120,2080374784,4096,65408,524288,65532]);function r(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function X(e,u){if((u&64512)!==55296)return 0;let i=e.source.charCodeAt(e.index+1);return(i&64512)!==56320?0:(u=e.currentChar=65536+((u&1023)<<10)+(i&1023),V[(u>>>5)+0]>>>u&31&1||f(e,18,T(u)),e.index++,e.column++,1)}function Y(e,u){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,u&4||(e.column=0,e.line++)}function G(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function u2(e){return e===160||e===65279||e===133||e===5760||e>=8192&&e<=8203||e===8239||e===8287||e===12288||e===8201||e===65519}function T(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(e>>>10)+String.fromCharCode(e&1023)}function z(e){return e<65?e-48:e-65+10&15}function w2(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 132:return"TemplateLiteral";default:return(e&143360)===143360?"Identifier":(e&4096)===4096?"Keyword":"Punctuator"}}var C=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],J=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];function U(e){return e<=127?J[e]:V[(e>>>5)+34816]>>>e&31&1}function e2(e){return e<=127?p[e]:V[(e>>>5)+0]>>>e&31&1||e===8204||e===8205}var g2=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];function l2(e){let u=e.source;e.currentChar===35&&u.charCodeAt(e.index+1)===33&&(r(e),r(e),f2(e,u,0,4,e.tokenPos,e.linePos,e.colPos))}function V2(e,u,i,n,t,o,l,c){return n&2048&&f(e,0),f2(e,u,i,t,o,l,c)}function f2(e,u,i,n,t,o,l){let{index:c}=e;for(e.tokenPos=e.index,e.linePos=e.line,e.colPos=e.column;e.index=e.source.length)return f(e,32)}let t=e.index-1,o=0,l=e.currentChar,{index:c}=e;for(;e2(l);){switch(l){case 103:o&2&&f(e,34,"g"),o|=2;break;case 105:o&1&&f(e,34,"i"),o|=1;break;case 109:o&4&&f(e,34,"m"),o|=4;break;case 117:o&16&&f(e,34,"g"),o|=16;break;case 121:o&8&&f(e,34,"y"),o|=8;break;case 115:o&32&&f(e,34,"s"),o|=32;break;default:f(e,33)}l=r(e)}let s=e.source.slice(c,e.index),m=e.source.slice(i,t);return e.tokenRegExp={pattern:m,flags:s},u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),e.tokenValue=V1(e,m,s),65540}function V1(e,u,i){try{return new RegExp(u,i)}catch{f(e,32)}}function N1(e,u,i){let{index:n}=e,t="",o=r(e),l=e.index;for(;!(C[o]&8);){if(o===i)return t+=e.source.slice(l,e.index),r(e),u&512&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=t,134283267;if((o&8)===8&&o===92){if(t+=e.source.slice(l,e.index),o=r(e),o<127||o===8232||o===8233){let c=a2(e,u,o);c>=0?t+=T(c):t1(e,c,0)}else t+=T(o);l=e.index+1}e.index>=e.end&&f(e,14),o=r(e)}f(e,14)}function a2(e,u,i){switch(i){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||e.currentChar!==125?-4:t}else{if(!(C[n]&64))return-4;let t=e.source.charCodeAt(e.index+1);if(!(C[t]&64))return-4;let o=e.source.charCodeAt(e.index+2);if(!(C[o]&64))return-4;let l=e.source.charCodeAt(e.index+3);return C[l]&64?(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),z(n)<<12|z(t)<<8|z(o)<<4|z(l)):-4}}case 56:case 57:if(!(u&256))return-3;default:return i}}function t1(e,u,i){switch(u){case-1:return;case-2:f(e,i?2:1);case-3:f(e,13);case-4:f(e,6);case-5:f(e,101)}}function We(e,u){let{index:i}=e,n=67174409,t="",o=r(e);for(;o!==96;){if(o===36&&e.source.charCodeAt(e.index+1)===123){r(e),n=67174408;break}else if((o&8)===8&&o===92)if(o=r(e),o>126)t+=T(o);else{let l=a2(e,u|1024,o);if(l>=0)t+=T(l);else if(l!==-1&&u&65536){t=void 0,o=T0(e,o),o<0&&(n=67174408);break}else t1(e,l,1)}else e.index=e.end&&f(e,15),o=r(e)}return r(e),e.tokenValue=t,e.tokenRaw=e.source.slice(i+1,e.index-(n===67174409?1:2)),n}function T0(e,u){for(;u!==96;){switch(u){case 36:{let i=e.index+1;if(i=e.end&&f(e,15),u=r(e)}return u}function I0(e,u){return e.index>=e.end&&f(e,0),e.index--,e.column--,We(e,u)}function Ke(e,u,i){let n=e.currentChar,t=0,o=9,l=i&64?0:1,c=0,s=0;if(i&64)t="."+o1(e,n),n=e.currentChar,n===110&&f(e,11);else{if(n===48)if(n=r(e),(n|32)===120){for(i=136,n=r(e);C[n]&4160;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*16+z(n),c++,n=r(e)}(c<1||!s)&&f(e,c<1?19:147)}else if((n|32)===111){for(i=132,n=r(e);C[n]&4128;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*8+(n-48),c++,n=r(e)}(c<1||!s)&&f(e,c<1?0:147)}else if((n|32)===98){for(i=130,n=r(e);C[n]&4224;){if(n===95){s||f(e,146),s=0,n=r(e);continue}s=1,t=t*2+(n-48),c++,n=r(e)}(c<1||!s)&&f(e,c<1?0:147)}else if(C[n]&32)for(u&1024&&f(e,1),i=1;C[n]&16;){if(C[n]&512){i=32,l=0;break}t=t*8+(n-48),n=r(e)}else C[n]&512?(u&1024&&f(e,1),e.flags|=64,i=32):n===95&&f(e,0);if(i&48){if(l){for(;o>=0&&C[n]&4112;){if(n===95){n=r(e),(n===95||i&32)&&S(e.index,e.line,e.index+1,146),s=1;continue}s=0,t=10*t+(n-48),n=r(e),--o}if(s&&S(e.index,e.line,e.index+1,147),o>=0&&!U(n)&&n!==46)return e.tokenValue=t,u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283266}t+=o1(e,n),n=e.currentChar,n===46&&(r(e)===95&&f(e,0),i=64,t+="."+o1(e,e.currentChar),n=e.currentChar)}}let m=e.index,k=0;if(n===110&&i&128)k=1,n=r(e);else if((n|32)===101){n=r(e),C[n]&256&&(n=r(e));let{index:h}=e;(C[n]&16)<1&&f(e,10),t+=e.source.substring(m,h)+o1(e,n),n=e.currentChar}return(e.index","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"","++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],Ye=Object.create(null,{this:{value:86113},function:{value:86106},if:{value:20571},return:{value:20574},var:{value:86090},else:{value:20565},for:{value:20569},new:{value:86109},in:{value:8738868},typeof:{value:16863277},while:{value:20580},case:{value:20558},break:{value:20557},try:{value:20579},catch:{value:20559},delete:{value:16863278},throw:{value:86114},switch:{value:86112},continue:{value:20561},default:{value:20563},instanceof:{value:8476725},do:{value:20564},void:{value:16863279},finally:{value:20568},async:{value:209007},await:{value:209008},class:{value:86096},const:{value:86092},constructor:{value:12401},debugger:{value:20562},export:{value:20566},extends:{value:20567},false:{value:86021},from:{value:12404},get:{value:12402},implements:{value:36966},import:{value:86108},interface:{value:36967},let:{value:241739},null:{value:86023},of:{value:274549},package:{value:36968},private:{value:36969},protected:{value:36970},public:{value:36971},set:{value:12403},static:{value:36972},super:{value:86111},true:{value:86022},with:{value:20581},yield:{value:241773},enum:{value:86134},eval:{value:537079927},as:{value:77934},arguments:{value:537079928},target:{value:143494},meta:{value:143495}});function Ze(e,u,i){for(;p[r(e)];);return e.tokenValue=e.source.slice(e.tokenPos,e.index),e.currentChar!==92&&e.currentChar<126?Ye[e.tokenValue]||208897:j1(e,u,0,i)}function R0(e,u){let i=Qe(e);return e2(i)||f(e,4),e.tokenValue=T(i),j1(e,u,1,C[i]&4)}function j1(e,u,i,n){let t=e.index;for(;e.index=2&&o<=11){let l=Ye[e.tokenValue];return l===void 0?208897:i?u&1024?l===209008&&!(u&4196352)?l:l===36972||(l&36864)===36864?122:121:u&1073741824&&!(u&8192)&&(l&20480)===20480?l:l===241773?u&1073741824?143483:u&2097152?121:l:l===209007&&u&1073741824?143483:(l&36864)===36864||l===209008&&!(u&4194304)?l:121:l}return 208897}function V0(e){return U(r(e))||f(e,93),131}function Qe(e){return e.source.charCodeAt(e.index+1)!==117&&f(e,4),e.currentChar=e.source.charCodeAt(e.index+=2),N0(e)}function N0(e){let u=0,i=e.currentChar;if(i===123){let l=e.index-2;for(;C[r(e)]&64;)u=u<<4|z(e.currentChar),u>1114111&&S(l,e.line,e.index+1,101);return e.currentChar!==125&&S(l,e.line,e.index-1,6),r(e),u}C[i]&64||f(e,6);let n=e.source.charCodeAt(e.index+1);C[n]&64||f(e,6);let t=e.source.charCodeAt(e.index+2);C[t]&64||f(e,6);let o=e.source.charCodeAt(e.index+3);return C[o]&64||f(e,6),u=z(i)<<12|z(n)<<8|z(t)<<4|z(o),e.currentChar=e.source.charCodeAt(e.index+=4),u}var Ge=[129,129,129,129,129,129,129,129,129,128,136,128,128,130,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,128,16842800,134283267,131,208897,8457015,8455751,134283267,67174411,16,8457014,25233970,18,25233971,67108877,8457016,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456258,1077936157,8456259,22,133,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,137,20,8455497,208897,132,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8455240,1074790415,16842801,129];function E(e,u){if(e.flags=(e.flags|1)^1,e.startPos=e.index,e.startColumn=e.column,e.startLine=e.line,e.token=xe(e,u,0),e.onToken&&e.token!==1048576){let i={start:{line:e.linePos,column:e.colPos},end:{line:e.line,column:e.column}};e.onToken(w2(e.token),e.tokenPos,e.index,i)}}function xe(e,u,i){let n=e.index===0,t=e.source,o=e.index,l=e.line,c=e.column;for(;e.index=e.end)return 8457014;let d=e.currentChar;return d===61?(r(e),4194340):d!==42?8457014:r(e)!==61?8457273:(r(e),4194337)}case 8455497:return r(e)!==61?8455497:(r(e),4194343);case 25233970:{r(e);let d=e.currentChar;return d===43?(r(e),33619995):d===61?(r(e),4194338):25233970}case 25233971:{r(e);let d=e.currentChar;if(d===45){if(r(e),(i&1||n)&&e.currentChar===62){u&256||f(e,108),r(e),i=V2(e,t,i,u,3,o,l,c),o=e.tokenPos,l=e.linePos,c=e.colPos;continue}return 33619996}return d===61?(r(e),4194339):25233971}case 8457016:{if(r(e),e.index=48&&h<=57)return Ke(e,u,80);if(h===46){let d=e.index+1;if(d=48&&d<=57)))return r(e),67108991}return 22}}}else{if((s^8232)<=1){i=i&-5|1,G(e);continue}if((s&64512)===55296||V[(s>>>5)+34816]>>>s&31&1)return(s&64512)===56320&&(s=(s&1023)<<10|s&1023|65536,V[(s>>>5)+0]>>>s&31&1||f(e,18,T(s)),e.index++,e.currentChar=s),e.column++,e.tokenValue="",j1(e,u,0,0);if(u2(s)){r(e);continue}f(e,18,T(s))}}return 1048576}var j0={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acute:"\xB4",acy:"\u0430",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atilde:"\xE3",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedil:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacute:"\xED",ic:"\u2063",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thorn:"\xFE",tilde:"\u02DC",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},pe={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376};function _0(e){return e.replace(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g,u=>{if(u.charAt(1)==="#"){let i=u.charAt(2),n=i==="X"||i==="x"?parseInt(u.slice(3),16):parseInt(u.slice(2),10);return M0(n)}return j0[u.slice(1,-1)]||u})}function M0(e){return e>=55296&&e<=57343||e>1114111?"\uFFFD":(e in pe&&(e=pe[e]),String.fromCodePoint(e))}function U0(e,u){return e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.token=C[e.currentChar]&8192?J0(e,u):xe(e,u,0),e.token}function J0(e,u){let i=e.currentChar,n=r(e),t=e.index;for(;n!==i;)e.index>=e.end&&f(e,14),n=r(e);return n!==i&&f(e,14),e.tokenValue=e.source.slice(t,e.index),r(e),u&512&&(e.tokenRaw=e.source.slice(e.tokenPos,e.index)),134283267}function j2(e,u){if(e.startPos=e.tokenPos=e.index,e.startColumn=e.colPos=e.column,e.startLine=e.linePos=e.line,e.index>=e.end)return e.token=1048576;switch(Ge[e.source.charCodeAt(e.index)]){case 8456258:{r(e),e.currentChar===47?(r(e),e.token=25):e.token=8456258;break}case 2162700:{r(e),e.token=2162700;break}default:{let n=0;for(;e.index2?o-2:0),c=2;c1&&t&32&&e.token&262144&&f(e,58,Z[e.token&255]),l}function cu(e,u,i,n,t){let{token:o,tokenPos:l,linePos:c,colPos:s}=e,m=null,k=Du(e,u,i,n,t,l,c,s);return e.token===1077936157?(E(e,u|32768),m=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),(t&32||(o&2097152)<1)&&(e.token===274549||e.token===8738868&&(o&2097152||(n&4)<1||u&1024))&&L(l,e.line,e.index-3,57,e.token===274549?"of":"in")):(n&16||(o&2097152)>0)&&(e.token&262144)!==262144&&f(e,56,n&16?"const":"destructuring"),v(e,u,l,c,s,{type:"VariableDeclarator",id:k,init:m})}function gt(e,u,i,n,t,o,l){E(e,u);let c=(u&4194304)>0&&M(e,u,209008);q(e,u|32768,67174411),i&&(i=i2(i,1));let s=null,m=null,k=0,h=null,d=e.token===86090||e.token===241739||e.token===86092,y,{token:w,tokenPos:D,linePos:F,colPos:O}=e;if(d?w===241739?(h=$(e,u,0),e.token&2240512?(e.token===8738868?u&1024&&f(e,64):h=v(e,u,D,F,O,{type:"VariableDeclaration",kind:"let",declarations:z2(e,u|134217728,i,8,32)}),e.assignable=1):u&1024?f(e,64):(d=!1,e.assignable=1,h=H(e,u,h,0,0,D,F,O),e.token===274549&&f(e,111))):(E(e,u),h=v(e,u,D,F,O,w===86090?{type:"VariableDeclaration",kind:"var",declarations:z2(e,u|134217728,i,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:z2(e,u|134217728,i,16,32)}),e.assignable=1):w===1074790417?c&&f(e,79):(w&2097152)===2097152?(h=w===2162700?b2(e,u,void 0,1,0,0,2,32,D,F,O):m2(e,u,void 0,1,0,0,2,32,D,F,O),k=e.destructible,u&256&&k&64&&f(e,60),e.assignable=k&16?2:1,h=H(e,u|134217728,h,0,0,e.tokenPos,e.linePos,e.colPos)):h=h2(e,u|134217728,1,0,1,D,F,O),(e.token&262144)===262144){if(e.token===274549){e.assignable&2&&f(e,77,c?"await":"of"),r2(e,h),E(e,u|32768),y=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),q(e,u|32768,16);let I=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForOfStatement",left:h,right:y,body:I,await:c})}e.assignable&2&&f(e,77,"in"),r2(e,h),E(e,u|32768),c&&f(e,79),y=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos),q(e,u|32768,16);let x=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForInStatement",body:x,left:h,right:y})}c&&f(e,79),d||(k&8&&e.token!==1077936157&&f(e,77,"loop"),h=Q(e,u|134217728,0,0,D,F,O,h)),e.token===18&&(h=O2(e,u,0,e.tokenPos,e.linePos,e.colPos,h)),q(e,u|32768,1074790417),e.token!==1074790417&&(s=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),q(e,u|32768,1074790417),e.token!==16&&(m=o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),q(e,u|32768,16);let N=p2(e,u,i,n);return v(e,u,t,o,l,{type:"ForStatement",init:h,test:s,update:m,body:N})}function su(e,u,i){return J1(u,e.token)||f(e,114),(e.token&537079808)===537079808&&f(e,115),i&&L2(e,u,i,e.tokenValue,8,0),$(e,u,0)}function ht(e,u,i){let n=e.tokenPos,t=e.linePos,o=e.colPos;E(e,u);let l=null,{tokenPos:c,linePos:s,colPos:m}=e,k=[];if(e.token===134283267)l=c2(e,u);else{if(e.token&143360){let h=su(e,u,i);if(k=[v(e,u,c,s,m,{type:"ImportDefaultSpecifier",local:h})],M(e,u,18))switch(e.token){case 8457014:k.push(au(e,u,i));break;case 2162700:du(e,u,i,k);break;default:f(e,104)}}else switch(e.token){case 8457014:k=[au(e,u,i)];break;case 2162700:du(e,u,i,k);break;case 67174411:return hu(e,u,n,t,o);case 67108877:return gu(e,u,n,t,o);default:f(e,28,Z[e.token&255])}l=mt(e,u)}return s2(e,u|32768),v(e,u,n,t,o,{type:"ImportDeclaration",specifiers:k,source:l})}function au(e,u,i){let{tokenPos:n,linePos:t,colPos:o}=e;return E(e,u),q(e,u,77934),(e.token&134217728)===134217728&&L(n,e.line,e.index,28,Z[e.token&255]),v(e,u,n,t,o,{type:"ImportNamespaceSpecifier",local:su(e,u,i)})}function mt(e,u){return M(e,u,12404),e.token!==134283267&&f(e,102,"Import"),c2(e,u)}function du(e,u,i,n){for(E(e,u);e.token&143360;){let{token:t,tokenValue:o,tokenPos:l,linePos:c,colPos:s}=e,m=$(e,u,0),k;M(e,u,77934)?((e.token&134217728)===134217728||e.token===18?f(e,103):l1(e,u,16,e.token,0),o=e.tokenValue,k=$(e,u,0)):(l1(e,u,16,t,0),k=m),i&&L2(e,u,i,o,8,0),n.push(v(e,u,l,c,s,{type:"ImportSpecifier",local:k,imported:m})),e.token!==1074790415&&q(e,u,18)}return q(e,u,1074790415),n}function gu(e,u,i,n,t){let o=bu(e,u,v(e,u,i,n,t,{type:"Identifier",name:"import"}),i,n,t);return o=H(e,u,o,0,0,i,n,t),o=Q(e,u,0,0,i,n,t,o),X2(e,u,o,i,n,t)}function hu(e,u,i,n,t){let o=ku(e,u,0,i,n,t);return o=H(e,u,o,0,0,i,n,t),X2(e,u,o,i,n,t)}function bt(e,u,i){let n=e.tokenPos,t=e.linePos,o=e.colPos;E(e,u|32768);let l=[],c=null,s=null,m;if(M(e,u|32768,20563)){switch(e.token){case 86106:{c=I2(e,u,i,4,1,1,0,e.tokenPos,e.linePos,e.colPos);break}case 133:case 86096:c=x1(e,u,i,1,e.tokenPos,e.linePos,e.colPos);break;case 209007:let{tokenPos:k,linePos:h,colPos:d}=e;c=$(e,u,0);let{flags:y}=e;(y&1)<1&&(e.token===86106?c=I2(e,u,i,4,1,1,1,k,h,d):e.token===67174411?(c=G1(e,u,c,1,1,0,y,k,h,d),c=H(e,u,c,0,0,k,h,d),c=Q(e,u,0,0,k,h,d,c)):e.token&143360&&(i&&(i=c1(e,u,e.tokenValue)),c=$(e,u,0),c=e1(e,u,i,[c],1,k,h,d)));break;default:c=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos),s2(e,u|32768)}return i&&M2(e,"default"),v(e,u,n,t,o,{type:"ExportDefaultDeclaration",declaration:c})}switch(e.token){case 8457014:{E(e,u);let y=null;return M(e,u,77934)&&(i&&M2(e,e.tokenValue),y=$(e,u,0)),q(e,u,12404),e.token!==134283267&&f(e,102,"Export"),s=c2(e,u),s2(e,u|32768),v(e,u,n,t,o,{type:"ExportAllDeclaration",source:s,exported:y})}case 2162700:{E(e,u);let y=[],w=[];for(;e.token&143360;){let{tokenPos:D,tokenValue:F,linePos:O,colPos:N}=e,x=$(e,u,0),I;e.token===77934?(E(e,u),(e.token&134217728)===134217728&&f(e,103),i&&(y.push(e.tokenValue),w.push(F)),I=$(e,u,0)):(i&&(y.push(e.tokenValue),w.push(e.tokenValue)),I=x),l.push(v(e,u,D,O,N,{type:"ExportSpecifier",local:x,exported:I})),e.token!==1074790415&&q(e,u,18)}if(q(e,u,1074790415),M(e,u,12404))e.token!==134283267&&f(e,102,"Export"),s=c2(e,u);else if(i){let D=0,F=y.length;for(;D0)&8738868,k,h;for(e.assignable=2;e.token&8454144&&(k=e.token,h=k&3840,(k&524288&&c&268435456||c&524288&&k&268435456)&&f(e,159),!(h+((k===8457273)<<8)-((m===k)<<12)<=l));)E(e,u|32768),s=v(e,u,n,t,o,{type:k&524288||k&268435456?"LogicalExpression":"BinaryExpression",left:s,right:T2(e,u,i,e.tokenPos,e.linePos,e.colPos,h,k,h2(e,u,0,i,1,e.tokenPos,e.linePos,e.colPos)),operator:Z[k&255]});return e.token===1077936157&&f(e,24),s}function kt(e,u,i,n,t,o,l){i||f(e,0);let c=e.token;E(e,u|32768);let s=h2(e,u,0,l,1,e.tokenPos,e.linePos,e.colPos);return e.token===8457273&&f(e,31),u&1024&&c===16863278&&(s.type==="Identifier"?f(e,117):$0(s)&&f(e,123)),e.assignable=2,v(e,u,n,t,o,{type:"UnaryExpression",operator:Z[c&255],argument:s,prefix:!0})}function rt(e,u,i,n,t,o,l,c,s,m){let{token:k}=e,h=$(e,u,o),{flags:d}=e;if((d&1)<1){if(e.token===86106)return vu(e,u,1,i,c,s,m);if((e.token&143360)===143360)return n||f(e,0),Pu(e,u,t,c,s,m)}return!l&&e.token===67174411?G1(e,u,h,t,1,0,d,c,s,m):e.token===10?($1(e,u,k,1),l&&f(e,48),h1(e,u,e.tokenValue,h,l,t,0,c,s,m)):h}function vt(e,u,i,n,t,o,l){if(i&&(e.destructible|=256),u&2097152){E(e,u|32768),u&8388608&&f(e,30),n||f(e,24),e.token===22&&f(e,120);let c=null,s=!1;return(e.flags&1)<1&&(s=M(e,u|32768,8457014),(e.token&77824||s)&&(c=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos))),e.assignable=2,v(e,u,t,o,l,{type:"YieldExpression",argument:c,delegate:s})}return u&1024&&f(e,94,"yield"),Q1(e,u,t,o,l)}function yt(e,u,i,n,t,o,l){if(n&&(e.destructible|=128),u&4194304||u&2048&&u&8192){i&&f(e,0),u&8388608&&L(e.index,e.line,e.index,29),E(e,u|32768);let c=h2(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.token===8457273&&f(e,31),e.assignable=2,v(e,u,t,o,l,{type:"AwaitExpression",argument:c})}return u&2048&&f(e,95),Q1(e,u,t,o,l)}function d1(e,u,i,n,t,o){let{tokenPos:l,linePos:c,colPos:s}=e;q(e,u|32768,2162700);let m=[],k=u;if(e.token!==1074790415){for(;e.token===134283267;){let{index:h,tokenPos:d,tokenValue:y,token:w}=e,D=c2(e,u);eu(e,h,d,y)&&(u|=1024,e.flags&128&&L(e.index,e.line,e.tokenPos,63),e.flags&64&&L(e.index,e.line,e.tokenPos,8)),m.push(z1(e,u,D,w,d,e.linePos,e.colPos))}u&1024&&(t&&((t&537079808)===537079808&&f(e,115),(t&36864)===36864&&f(e,38)),e.flags&512&&f(e,115),e.flags&256&&f(e,114)),u&64&&i&&o!==void 0&&(k&1024)<1&&(u&8192)<1&&A(o)}for(e.flags=(e.flags|512|256|64)^832,e.destructible=(e.destructible|256)^256;e.token!==1074790415;)m.push(G2(e,u,i,4,{}));return q(e,n&24?u|32768:u,1074790415),e.flags&=-193,e.token===1077936157&&f(e,24),v(e,u,l,c,s,{type:"BlockStatement",body:m})}function At(e,u,i,n,t){switch(E(e,u),e.token){case 67108991:f(e,161);case 67174411:{(u&524288)<1&&f(e,26),u&16384&&f(e,27),e.assignable=2;break}case 69271571:case 67108877:{(u&262144)<1&&f(e,27),u&16384&&f(e,27),e.assignable=1;break}default:f(e,28,"super")}return v(e,u,i,n,t,{type:"Super"})}function h2(e,u,i,n,t,o,l,c){let s=d2(e,u,2,0,i,0,n,t,o,l,c);return H(e,u,s,n,0,o,l,c)}function Pt(e,u,i,n,t,o){e.assignable&2&&f(e,52);let{token:l}=e;return E(e,u),e.assignable=2,v(e,u,n,t,o,{type:"UpdateExpression",argument:i,operator:Z[l&255],prefix:!1})}function H(e,u,i,n,t,o,l,c){if((e.token&33619968)===33619968&&(e.flags&1)<1)i=Pt(e,u,i,o,l,c);else if((e.token&67108864)===67108864){switch(u=(u|134217728)^134217728,e.token){case 67108877:{E(e,(u|1073741824|8192)^8192),e.assignable=1;let s=mu(e,u);i=v(e,u,o,l,c,{type:"MemberExpression",object:i,computed:!1,property:s});break}case 69271571:{let s=!1;(e.flags&2048)===2048&&(s=!0,e.flags=(e.flags|2048)^2048),E(e,u|32768);let{tokenPos:m,linePos:k,colPos:h}=e,d=o2(e,u,n,1,m,k,h);q(e,u,20),e.assignable=1,i=v(e,u,o,l,c,{type:"MemberExpression",object:i,computed:!0,property:d}),s&&(e.flags|=2048);break}case 67174411:{if((e.flags&1024)===1024)return e.flags=(e.flags|1024)^1024,i;let s=!1;(e.flags&2048)===2048&&(s=!0,e.flags=(e.flags|2048)^2048);let m=Z1(e,u,n);e.assignable=2,i=v(e,u,o,l,c,{type:"CallExpression",callee:i,arguments:m}),s&&(e.flags|=2048);break}case 67108991:{E(e,(u|1073741824|8192)^8192),e.flags|=2048,e.assignable=2,i=Et(e,u,i,o,l,c);break}default:(e.flags&2048)===2048&&f(e,160),e.assignable=2,i=v(e,u,o,l,c,{type:"TaggedTemplateExpression",tag:i,quasi:e.token===67174408?Y1(e,u|65536):K1(e,u,e.tokenPos,e.linePos,e.colPos)})}i=H(e,u,i,0,1,o,l,c)}return t===0&&(e.flags&2048)===2048&&(e.flags=(e.flags|2048)^2048,i=v(e,u,o,l,c,{type:"ChainExpression",expression:i})),i}function Et(e,u,i,n,t,o){let l=!1,c;if((e.token===69271571||e.token===67174411)&&(e.flags&2048)===2048&&(l=!0,e.flags=(e.flags|2048)^2048),e.token===69271571){E(e,u|32768);let{tokenPos:s,linePos:m,colPos:k}=e,h=o2(e,u,0,1,s,m,k);q(e,u,20),e.assignable=2,c=v(e,u,n,t,o,{type:"MemberExpression",object:i,computed:!0,optional:!0,property:h})}else if(e.token===67174411){let s=Z1(e,u,0);e.assignable=2,c=v(e,u,n,t,o,{type:"CallExpression",callee:i,arguments:s,optional:!0})}else{(e.token&143360)<1&&f(e,154);let s=$(e,u,0);e.assignable=2,c=v(e,u,n,t,o,{type:"MemberExpression",object:i,computed:!1,optional:!0,property:s})}return l&&(e.flags|=2048),c}function mu(e,u){return(e.token&143360)<1&&e.token!==131&&f(e,154),u&1&&e.token===131?r1(e,u,e.tokenPos,e.linePos,e.colPos):$(e,u,0)}function Ct(e,u,i,n,t,o,l){i&&f(e,53),n||f(e,0);let{token:c}=e;E(e,u|32768);let s=h2(e,u,0,0,1,e.tokenPos,e.linePos,e.colPos);return e.assignable&2&&f(e,52),e.assignable=2,v(e,u,t,o,l,{type:"UpdateExpression",argument:s,operator:Z[c&255],prefix:!0})}function d2(e,u,i,n,t,o,l,c,s,m,k){if((e.token&143360)===143360){switch(e.token){case 209008:return yt(e,u,n,l,s,m,k);case 241773:return vt(e,u,l,t,s,m,k);case 209007:return rt(e,u,l,c,t,o,n,s,m,k)}let{token:h,tokenValue:d}=e,y=$(e,u|65536,o);return e.token===10?(c||f(e,0),$1(e,u,h,1),h1(e,u,d,y,n,t,0,s,m,k)):(u&16384&&h===537079928&&f(e,126),h===241739&&(u&1024&&f(e,109),i&24&&f(e,97)),e.assignable=u&1024&&(h&537079808)===537079808?2:1,y)}if((e.token&134217728)===134217728)return c2(e,u);switch(e.token){case 33619995:case 33619996:return Ct(e,u,n,c,s,m,k);case 16863278:case 16842800:case 16842801:case 25233970:case 25233971:case 16863277:case 16863279:return kt(e,u,c,s,m,k,l);case 86106:return vu(e,u,0,l,s,m,k);case 2162700:return Ft(e,u,t?0:1,l,s,m,k);case 69271571:return St(e,u,t?0:1,l,s,m,k);case 67174411:return Ot(e,u,t,1,0,s,m,k);case 86021:case 86022:case 86023:return qt(e,u,s,m,k);case 86113:return Bt(e,u);case 65540:return Rt(e,u,s,m,k);case 133:case 86096:return Vt(e,u,l,s,m,k);case 86111:return At(e,u,s,m,k);case 67174409:return K1(e,u,s,m,k);case 67174408:return Y1(e,u);case 86109:return Tt(e,u,l,s,m,k);case 134283389:return ru(e,u,s,m,k);case 131:return r1(e,u,s,m,k);case 86108:return Dt(e,u,n,l,s,m,k);case 8456258:if(u&16)return ee(e,u,1,s,m,k);default:if(J1(u,e.token))return Q1(e,u,s,m,k);f(e,28,Z[e.token&255])}}function Dt(e,u,i,n,t,o,l){let c=$(e,u,0);return e.token===67108877?bu(e,u,c,t,o,l):(i&&f(e,137),c=ku(e,u,n,t,o,l),e.assignable=2,H(e,u,c,n,0,t,o,l))}function bu(e,u,i,n,t,o){return u&2048||f(e,163),E(e,u),e.token!==143495&&e.tokenValue!=="meta"&&f(e,28,Z[e.token&255]),e.assignable=2,v(e,u,n,t,o,{type:"MetaProperty",meta:i,property:$(e,u,0)})}function ku(e,u,i,n,t,o){q(e,u|32768,67174411),e.token===14&&f(e,138);let l=K(e,u,1,0,i,e.tokenPos,e.linePos,e.colPos);return q(e,u,16),v(e,u,n,t,o,{type:"ImportExpression",source:l})}function ru(e,u,i,n,t){let{tokenRaw:o,tokenValue:l}=e;return E(e,u),e.assignable=2,v(e,u,i,n,t,u&512?{type:"Literal",value:l,bigint:o.slice(0,-1),raw:o}:{type:"Literal",value:l,bigint:o.slice(0,-1)})}function K1(e,u,i,n,t){e.assignable=2;let{tokenValue:o,tokenRaw:l,tokenPos:c,linePos:s,colPos:m}=e;q(e,u,67174409);let k=[g1(e,u,o,l,c,s,m,!0)];return v(e,u,i,n,t,{type:"TemplateLiteral",expressions:[],quasis:k})}function Y1(e,u){u=(u|134217728)^134217728;let{tokenValue:i,tokenRaw:n,tokenPos:t,linePos:o,colPos:l}=e;q(e,u|32768,67174408);let c=[g1(e,u,i,n,t,o,l,!1)],s=[o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)];for(e.token!==1074790415&&f(e,80);(e.token=I0(e,u))!==67174409;){let{tokenValue:m,tokenRaw:k,tokenPos:h,linePos:d,colPos:y}=e;q(e,u|32768,67174408),c.push(g1(e,u,m,k,h,d,y,!1)),s.push(o2(e,u,0,1,e.tokenPos,e.linePos,e.colPos)),e.token!==1074790415&&f(e,80)}{let{tokenValue:m,tokenRaw:k,tokenPos:h,linePos:d,colPos:y}=e;q(e,u,67174409),c.push(g1(e,u,m,k,h,d,y,!0))}return v(e,u,t,o,l,{type:"TemplateLiteral",expressions:s,quasis:c})}function g1(e,u,i,n,t,o,l,c){let s=v(e,u,t,o,l,{type:"TemplateElement",value:{cooked:i,raw:n},tail:c}),m=c?1:2;return u&2&&(s.start+=1,s.range[0]+=1,s.end-=m,s.range[1]-=m),u&4&&(s.loc.start.column+=1,s.loc.end.column-=m),s}function wt(e,u,i,n,t){u=(u|134217728)^134217728,q(e,u|32768,14);let o=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return e.assignable=1,v(e,u,i,n,t,{type:"SpreadElement",argument:o})}function Z1(e,u,i){E(e,u|32768);let n=[];if(e.token===16)return E(e,u),n;for(;e.token!==16&&(e.token===14?n.push(wt(e,u,e.tokenPos,e.linePos,e.colPos)):n.push(K(e,u,1,0,i,e.tokenPos,e.linePos,e.colPos)),!(e.token!==18||(E(e,u|32768),e.token===16))););return q(e,u,16),n}function $(e,u,i){let{tokenValue:n,tokenPos:t,linePos:o,colPos:l}=e;return E(e,u),v(e,u,t,o,l,u&268435456?{type:"Identifier",name:n,pattern:i===1}:{type:"Identifier",name:n})}function c2(e,u){let{tokenValue:i,tokenRaw:n,tokenPos:t,linePos:o,colPos:l}=e;return e.token===134283389?ru(e,u,t,o,l):(E(e,u),e.assignable=2,v(e,u,t,o,l,u&512?{type:"Literal",value:i,raw:n}:{type:"Literal",value:i}))}function qt(e,u,i,n,t){let o=Z[e.token&255],l=e.token===86023?null:o==="true";return E(e,u),e.assignable=2,v(e,u,i,n,t,u&512?{type:"Literal",value:l,raw:o}:{type:"Literal",value:l})}function Bt(e,u){let{tokenPos:i,linePos:n,colPos:t}=e;return E(e,u),e.assignable=2,v(e,u,i,n,t,{type:"ThisExpression"})}function I2(e,u,i,n,t,o,l,c,s,m){E(e,u|32768);let k=t?M1(e,u,8457014):0,h=null,d,y=i?_2():void 0;if(e.token===67174411)(o&1)<1&&f(e,37,"Function");else{let F=n&4&&((u&8192)<1||(u&2048)<1)?4:64;uu(e,u|(u&3072)<<11,e.token),i&&(F&4?tu(e,u,i,e.tokenValue,F):L2(e,u,i,e.tokenValue,F,n),y=i2(y,256),o&&o&2&&M2(e,e.tokenValue)),d=e.token,e.token&143360?h=$(e,u,0):f(e,28,Z[e.token&255])}u=(u|32243712)^32243712|67108864|l*2+k<<21|(k?0:1073741824),i&&(y=i2(y,512));let w=Au(e,u|8388608,y,0,1),D=d1(e,(u|8192|4096|131072)^143360,i?i2(y,128):y,8,d,i?y.scopeError:void 0);return v(e,u,c,s,m,{type:"FunctionDeclaration",id:h,params:w,body:D,async:l===1,generator:k===1})}function vu(e,u,i,n,t,o,l){E(e,u|32768);let c=M1(e,u,8457014),s=i*2+c<<21,m=null,k,h=u&64?_2():void 0;(e.token&176128)>0&&(uu(e,(u|32243712)^32243712|s,e.token),h&&(h=i2(h,256)),k=e.token,m=$(e,u,0)),u=(u|32243712)^32243712|67108864|s|(c?0:1073741824),h&&(h=i2(h,512));let d=Au(e,u|8388608,h,n,1),y=d1(e,u&-134377473,h&&i2(h,128),0,k,void 0);return e.assignable=2,v(e,u,t,o,l,{type:"FunctionExpression",id:m,params:d,body:y,async:i===1,generator:c===1})}function St(e,u,i,n,t,o,l){let c=m2(e,u,void 0,i,n,0,2,0,t,o,l);return u&256&&e.destructible&64&&f(e,60),e.destructible&8&&f(e,59),c}function m2(e,u,i,n,t,o,l,c,s,m,k){E(e,u|32768);let h=[],d=0;for(u=(u|134217728)^134217728;e.token!==20;)if(M(e,u|32768,18))h.push(null);else{let w,{token:D,tokenPos:F,linePos:O,colPos:N,tokenValue:x}=e;if(D&143360)if(w=d2(e,u,l,0,1,0,t,1,F,O,N),e.token===1077936157){e.assignable&2&&f(e,24),E(e,u|32768),i&&B2(e,u,i,x,l,c);let I=K(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);w=v(e,u,F,O,N,o?{type:"AssignmentPattern",left:w,right:I}:{type:"AssignmentExpression",operator:"=",left:w,right:I}),d|=e.destructible&256?256:0|e.destructible&128?128:0}else e.token===18||e.token===20?(e.assignable&2?d|=16:i&&B2(e,u,i,x,l,c),d|=e.destructible&256?256:0|e.destructible&128?128:0):(d|=l&1?32:(l&2)<1?16:0,w=H(e,u,w,t,0,F,O,N),e.token!==18&&e.token!==20?(e.token!==1077936157&&(d|=16),w=Q(e,u,t,o,F,O,N,w)):e.token!==1077936157&&(d|=e.assignable&2?16:32));else D&2097152?(w=e.token===2162700?b2(e,u,i,0,t,o,l,c,F,O,N):m2(e,u,i,0,t,o,l,c,F,O,N),d|=e.destructible,e.assignable=e.destructible&16?2:1,e.token===18||e.token===20?e.assignable&2&&(d|=16):e.destructible&8?f(e,68):(w=H(e,u,w,t,0,F,O,N),d=e.assignable&2?16:0,e.token!==18&&e.token!==20?w=Q(e,u,t,o,F,O,N,w):e.token!==1077936157&&(d|=e.assignable&2?16:32))):D===14?(w=W2(e,u,i,20,l,c,0,t,o,F,O,N),d|=e.destructible,e.token!==18&&e.token!==20&&f(e,28,Z[e.token&255])):(w=h2(e,u,1,0,1,F,O,N),e.token!==18&&e.token!==20?(w=Q(e,u,t,o,F,O,N,w),(l&3)<1&&D===67174411&&(d|=16)):e.assignable&2?d|=16:D===67174411&&(d|=e.assignable&1&&l&3?32:16));if(h.push(w),M(e,u|32768,18)){if(e.token===20)break}else break}q(e,u,20);let y=v(e,u,s,m,k,{type:o?"ArrayPattern":"ArrayExpression",elements:h});return!n&&e.token&4194304?yu(e,u,d,t,o,s,m,k,y):(e.destructible=d,y)}function yu(e,u,i,n,t,o,l,c,s){e.token!==1077936157&&f(e,24),E(e,u|32768),i&16&&f(e,24),t||r2(e,s);let{tokenPos:m,linePos:k,colPos:h}=e,d=K(e,u,1,1,n,m,k,h);return e.destructible=(i|64|8)^72|(e.destructible&128?128:0)|(e.destructible&256?256:0),v(e,u,o,l,c,t?{type:"AssignmentPattern",left:s,right:d}:{type:"AssignmentExpression",left:s,operator:"=",right:d})}function W2(e,u,i,n,t,o,l,c,s,m,k,h){E(e,u|32768);let d=null,y=0,{token:w,tokenValue:D,tokenPos:F,linePos:O,colPos:N}=e;if(w&143360)e.assignable=1,d=d2(e,u,t,0,1,0,c,1,F,O,N),w=e.token,d=H(e,u,d,c,0,F,O,N),e.token!==18&&e.token!==n&&(e.assignable&2&&e.token===1077936157&&f(e,68),y|=16,d=Q(e,u,c,s,F,O,N,d)),e.assignable&2?y|=16:w===n||w===18?i&&B2(e,u,i,D,t,o):y|=32,y|=e.destructible&128?128:0;else if(w===n)f(e,39);else if(w&2097152)d=e.token===2162700?b2(e,u,i,1,c,s,t,o,F,O,N):m2(e,u,i,1,c,s,t,o,F,O,N),w=e.token,w!==1077936157&&w!==n&&w!==18?(e.destructible&8&&f(e,68),d=H(e,u,d,c,0,F,O,N),y|=e.assignable&2?16:0,(e.token&4194304)===4194304?(e.token!==1077936157&&(y|=16),d=Q(e,u,c,s,F,O,N,d)):((e.token&8454144)===8454144&&(d=T2(e,u,1,F,O,N,4,w,d)),M(e,u|32768,22)&&(d=U2(e,u,d,F,O,N)),y|=e.assignable&2?16:32)):y|=n===1074790415&&w!==1077936157?16:e.destructible;else{y|=32,d=h2(e,u,1,c,1,e.tokenPos,e.linePos,e.colPos);let{token:x,tokenPos:I,linePos:W,colPos:P}=e;return x===1077936157&&x!==n&&x!==18?(e.assignable&2&&f(e,24),d=Q(e,u,c,s,I,W,P,d),y|=16):(x===18?y|=16:x!==n&&(d=Q(e,u,c,s,I,W,P,d)),y|=e.assignable&1?32:16),e.destructible=y,e.token!==n&&e.token!==18&&f(e,155),v(e,u,m,k,h,{type:s?"RestElement":"SpreadElement",argument:d})}if(e.token!==n)if(t&1&&(y|=l?16:32),M(e,u|32768,1077936157)){y&16&&f(e,24),r2(e,d);let x=K(e,u,1,1,c,e.tokenPos,e.linePos,e.colPos);d=v(e,u,F,O,N,s?{type:"AssignmentPattern",left:d,right:x}:{type:"AssignmentExpression",left:d,operator:"=",right:x}),y=16}else y|=16;return e.destructible=y,v(e,u,m,k,h,{type:s?"RestElement":"SpreadElement",argument:d})}function v2(e,u,i,n,t,o,l){let c=(i&64)<1?31981568:14680064;u=(u|c)^c|(i&88)<<18|100925440;let s=u&64?i2(_2(),512):void 0,m=Lt(e,u|8388608,s,i,1,n);s&&(s=i2(s,128));let k=d1(e,u&-134230017,s,0,void 0,void 0);return v(e,u,t,o,l,{type:"FunctionExpression",params:m,body:k,async:(i&16)>0,generator:(i&8)>0,id:null})}function Ft(e,u,i,n,t,o,l){let c=b2(e,u,void 0,i,n,0,2,0,t,o,l);return u&256&&e.destructible&64&&f(e,60),e.destructible&8&&f(e,59),c}function b2(e,u,i,n,t,o,l,c,s,m,k){E(e,u);let h=[],d=0,y=0;for(u=(u|134217728)^134217728;e.token!==1074790415;){let{token:D,tokenValue:F,linePos:O,colPos:N,tokenPos:x}=e;if(D===14)h.push(W2(e,u,i,1074790415,l,c,0,t,o,x,O,N));else{let I=0,W=null,P,y2=e.token;if(e.token&143360||e.token===121)if(W=$(e,u,0),e.token===18||e.token===1074790415||e.token===1077936157)if(I|=4,u&1024&&(D&537079808)===537079808?d|=16:l1(e,u,l,D,0),i&&B2(e,u,i,F,l,c),M(e,u|32768,1077936157)){d|=8;let R=K(e,u,1,1,t,e.tokenPos,e.linePos,e.colPos);d|=e.destructible&256?256:0|e.destructible&128?128:0,P=v(e,u,x,O,N,{type:"AssignmentPattern",left:u&-2147483648?Object.assign({},W):W,right:R})}else d|=(D===209008?128:0)|(D===121?16:0),P=u&-2147483648?Object.assign({},W):W;else if(M(e,u|32768,21)){let{tokenPos:R,linePos:_,colPos:j}=e;if(F==="__proto__"&&y++,e.token&143360){let J2=e.token,Y2=e.tokenValue;d|=y2===121?16:0,P=d2(e,u,l,0,1,0,t,1,R,_,j);let{token:C2}=e;P=H(e,u,P,t,0,R,_,j),e.token===18||e.token===1074790415?C2===1077936157||C2===1074790415||C2===18?(d|=e.destructible&128?128:0,e.assignable&2?d|=16:i&&(J2&143360)===143360&&B2(e,u,i,Y2,l,c)):d|=e.assignable&1?32:16:(e.token&4194304)===4194304?(e.assignable&2?d|=16:C2!==1077936157?d|=32:i&&B2(e,u,i,Y2,l,c),P=Q(e,u,t,o,R,_,j,P)):(d|=16,(e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,C2,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)))}else(e.token&2097152)===2097152?(P=e.token===69271571?m2(e,u,i,0,t,o,l,c,R,_,j):b2(e,u,i,0,t,o,l,c,R,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):e.destructible&8?f(e,68):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?16:0,(e.token&4194304)===4194304?P=a1(e,u,t,o,R,_,j,P):((e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,D,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)),d|=e.assignable&2?16:32))):(P=h2(e,u,1,t,1,R,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?16:0,e.token!==18&&D!==1074790415&&(e.token!==1077936157&&(d|=16),P=Q(e,u,t,o,R,_,j,P))))}else e.token===69271571?(d|=16,D===209007&&(I|=16),I|=(D===12402?256:D===12403?512:1)|2,W=K2(e,u,t),d|=e.assignable,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token&143360?(d|=16,D===121&&f(e,92),D===209007&&(e.flags&1&&f(e,128),I|=16),W=$(e,u,0),I|=D===12402?256:D===12403?512:1,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token===67174411?(d|=16,I|=1,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):e.token===8457014?(d|=16,D===12402||D===12403?f(e,40):D===143483&&f(e,92),E(e,u),I|=9|(D===209007?16:0),e.token&143360?W=$(e,u,0):(e.token&134217728)===134217728?W=c2(e,u):e.token===69271571?(I|=2,W=K2(e,u,t),d|=e.assignable):f(e,28,Z[e.token&255]),P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):(e.token&134217728)===134217728?(D===209007&&(I|=16),I|=D===12402?256:D===12403?512:1,d|=16,W=c2(e,u),P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):f(e,129);else if((e.token&134217728)===134217728)if(W=c2(e,u),e.token===21){q(e,u|32768,21);let{tokenPos:R,linePos:_,colPos:j}=e;if(F==="__proto__"&&y++,e.token&143360){P=d2(e,u,l,0,1,0,t,1,R,_,j);let{token:J2,tokenValue:Y2}=e;P=H(e,u,P,t,0,R,_,j),e.token===18||e.token===1074790415?J2===1077936157||J2===1074790415||J2===18?e.assignable&2?d|=16:i&&B2(e,u,i,Y2,l,c):d|=e.assignable&1?32:16:e.token===1077936157?(e.assignable&2&&(d|=16),P=Q(e,u,t,o,R,_,j,P)):(d|=16,P=Q(e,u,t,o,R,_,j,P))}else(e.token&2097152)===2097152?(P=e.token===69271571?m2(e,u,i,0,t,o,l,c,R,_,j):b2(e,u,i,0,t,o,l,c,R,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(e.destructible&8)!==8&&(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?16:0,(e.token&4194304)===4194304?P=a1(e,u,t,o,R,_,j,P):((e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,D,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)),d|=e.assignable&2?16:32))):(P=h2(e,u,1,0,1,R,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&1?0:16,e.token!==18&&e.token!==1074790415&&(e.token!==1077936157&&(d|=16),P=Q(e,u,t,o,R,_,j,P))))}else e.token===67174411?(I|=1,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos),d=e.assignable|16):f(e,130);else if(e.token===69271571)if(W=K2(e,u,t),d|=e.destructible&256?256:0,I|=2,e.token===21){E(e,u|32768);let{tokenPos:R,linePos:_,colPos:j,tokenValue:J2,token:Y2}=e;if(e.token&143360){P=d2(e,u,l,0,1,0,t,1,R,_,j);let{token:C2}=e;P=H(e,u,P,t,0,R,_,j),(e.token&4194304)===4194304?(d|=e.assignable&2?16:C2===1077936157?0:32,P=a1(e,u,t,o,R,_,j,P)):e.token===18||e.token===1074790415?C2===1077936157||C2===1074790415||C2===18?e.assignable&2?d|=16:i&&(Y2&143360)===143360&&B2(e,u,i,J2,l,c):d|=e.assignable&1?32:16:(d|=16,P=Q(e,u,t,o,R,_,j,P))}else(e.token&2097152)===2097152?(P=e.token===69271571?m2(e,u,i,0,t,o,l,c,R,_,j):b2(e,u,i,0,t,o,l,c,R,_,j),d=e.destructible,e.assignable=d&16?2:1,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):d&8?f(e,59):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&2?d|16:0,(e.token&4194304)===4194304?(e.token!==1077936157&&(d|=16),P=a1(e,u,t,o,R,_,j,P)):((e.token&8454144)===8454144&&(P=T2(e,u,1,R,_,j,4,D,P)),M(e,u|32768,22)&&(P=U2(e,u,P,R,_,j)),d|=e.assignable&2?16:32))):(P=h2(e,u,1,0,1,R,_,j),d|=e.assignable&1?32:16,e.token===18||e.token===1074790415?e.assignable&2&&(d|=16):(P=H(e,u,P,t,0,R,_,j),d=e.assignable&1?0:16,e.token!==18&&e.token!==1074790415&&(e.token!==1077936157&&(d|=16),P=Q(e,u,t,o,R,_,j,P))))}else e.token===67174411?(I|=1,P=v2(e,u,I,t,e.tokenPos,O,N),d=16):f(e,41);else if(D===8457014)if(q(e,u|32768,8457014),I|=8,e.token&143360){let{token:R,line:_,index:j}=e;W=$(e,u,0),I|=1,e.token===67174411?(d|=16,P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):L(j,_,j,R===209007?43:R===12402||e.token===12403?42:44,Z[R&255])}else(e.token&134217728)===134217728?(d|=16,W=c2(e,u),I|=1,P=v2(e,u,I,t,x,O,N)):e.token===69271571?(d|=16,I|=3,W=K2(e,u,t),P=v2(e,u,I,t,e.tokenPos,e.linePos,e.colPos)):f(e,122);else f(e,28,Z[D&255]);d|=e.destructible&128?128:0,e.destructible=d,h.push(v(e,u,x,O,N,{type:"Property",key:W,value:P,kind:I&768?I&512?"set":"get":"init",computed:(I&2)>0,method:(I&1)>0,shorthand:(I&4)>0}))}if(d|=e.destructible,e.token!==18)break;E(e,u)}q(e,u,1074790415),y>1&&(d|=64);let w=v(e,u,s,m,k,{type:o?"ObjectPattern":"ObjectExpression",properties:h});return!n&&e.token&4194304?yu(e,u,d,t,o,s,m,k,w):(e.destructible=d,w)}function Lt(e,u,i,n,t,o){q(e,u,67174411);let l=[];if(e.flags=(e.flags|128)^128,e.token===16)return n&512&&f(e,35,"Setter","one",""),E(e,u),l;n&256&&f(e,35,"Getter","no","s"),n&512&&e.token===14&&f(e,36),u=(u|134217728)^134217728;let c=0,s=0;for(;e.token!==18;){let m=null,{tokenPos:k,linePos:h,colPos:d}=e;if(e.token&143360?((u&1024)<1&&((e.token&36864)===36864&&(e.flags|=256),(e.token&537079808)===537079808&&(e.flags|=512)),m=p1(e,u,i,n|1,0,k,h,d)):(e.token===2162700?m=b2(e,u,i,1,o,1,t,0,k,h,d):e.token===69271571?m=m2(e,u,i,1,o,1,t,0,k,h,d):e.token===14&&(m=W2(e,u,i,16,t,0,0,o,1,k,h,d)),s=1,e.destructible&48&&f(e,47)),e.token===1077936157){E(e,u|32768),s=1;let y=K(e,u,1,1,0,e.tokenPos,e.linePos,e.colPos);m=v(e,u,k,h,d,{type:"AssignmentPattern",left:m,right:y})}if(c++,l.push(m),!M(e,u,18)||e.token===16)break}return n&512&&c!==1&&f(e,35,"Setter","one",""),i&&i.scopeError!==void 0&&A(i.scopeError),s&&(e.flags|=128),q(e,u,16),l}function K2(e,u,i){E(e,u|32768);let n=K(e,(u|134217728)^134217728,1,0,i,e.tokenPos,e.linePos,e.colPos);return q(e,u,20),n}function Ot(e,u,i,n,t,o,l,c){e.flags=(e.flags|128)^128;let{tokenPos:s,linePos:m,colPos:k}=e;E(e,u|32768|1073741824);let h=u&64?i2(_2(),1024):void 0;if(u=(u|134217728)^134217728,M(e,u,16))return m1(e,u,h,[],i,0,o,l,c);let d=0;e.destructible&=-385;let y,w=[],D=0,F=0,{tokenPos:O,linePos:N,colPos:x}=e;for(e.assignable=1;e.token!==16;){let{token:I,tokenPos:W,linePos:P,colPos:y2}=e;if(I&143360)h&&L2(e,u,h,e.tokenValue,1,0),y=d2(e,u,n,0,1,0,1,1,W,P,y2),e.token===16||e.token===18?e.assignable&2?(d|=16,F=1):((I&537079808)===537079808||(I&36864)===36864)&&(F=1):(e.token===1077936157?F=1:d|=16,y=H(e,u,y,1,0,W,P,y2),e.token!==16&&e.token!==18&&(y=Q(e,u,1,0,W,P,y2,y)));else if((I&2097152)===2097152)y=I===2162700?b2(e,u|1073741824,h,0,1,0,n,t,W,P,y2):m2(e,u|1073741824,h,0,1,0,n,t,W,P,y2),d|=e.destructible,F=1,e.assignable=2,e.token!==16&&e.token!==18&&(d&8&&f(e,118),y=H(e,u,y,0,0,W,P,y2),d|=16,e.token!==16&&e.token!==18&&(y=Q(e,u,0,0,W,P,y2,y)));else if(I===14){y=W2(e,u,h,16,n,t,0,1,0,W,P,y2),e.destructible&16&&f(e,71),F=1,D&&(e.token===16||e.token===18)&&w.push(y),d|=8;break}else{if(d|=16,y=K(e,u,1,0,1,W,P,y2),D&&(e.token===16||e.token===18)&&w.push(y),e.token===18&&(D||(D=1,w=[y])),D){for(;M(e,u|32768,18);)w.push(K(e,u,1,0,1,e.tokenPos,e.linePos,e.colPos));e.assignable=2,y=v(e,u,O,N,x,{type:"SequenceExpression",expressions:w})}return q(e,u,16),e.destructible=d,y}if(D&&(e.token===16||e.token===18)&&w.push(y),!M(e,u|32768,18))break;if(D||(D=1,w=[y]),e.token===16){d|=8;break}}return D&&(e.assignable=2,y=v(e,u,O,N,x,{type:"SequenceExpression",expressions:w})),q(e,u,16),d&16&&d&8&&f(e,145),d|=e.destructible&256?256:0|e.destructible&128?128:0,e.token===10?(d&48&&f(e,46),u&4196352&&d&128&&f(e,29),u&2098176&&d&256&&f(e,30),F&&(e.flags|=128),m1(e,u,h,D?w:[y],i,0,o,l,c)):(d&8&&f(e,139),e.destructible=(e.destructible|256)^256|d,u&128?v(e,u,s,m,k,{type:"ParenthesizedExpression",expression:y}):y)}function Q1(e,u,i,n,t){let{tokenValue:o}=e,l=$(e,u,0);if(e.assignable=1,e.token===10){let c;return u&64&&(c=c1(e,u,o)),e.flags=(e.flags|128)^128,e1(e,u,c,[l],0,i,n,t)}return l}function h1(e,u,i,n,t,o,l,c,s,m){o||f(e,54),t&&f(e,48),e.flags&=-129;let k=u&64?c1(e,u,i):void 0;return e1(e,u,k,[n],l,c,s,m)}function m1(e,u,i,n,t,o,l,c,s){t||f(e,54);for(let m=0;m0&&e.tokenValue==="constructor"&&f(e,106),e.token===1074790415&&f(e,105),M(e,u,1074790417)){d>0&&f(e,116);continue}k.push(Cu(e,u,n,i,t,h,0,l,e.tokenPos,e.linePos,e.colPos))}return q(e,o&8?u|32768:u,1074790415),v(e,u,c,s,m,{type:"ClassBody",body:k})}function Cu(e,u,i,n,t,o,l,c,s,m,k){let h=l?32:0,d=null,{token:y,tokenPos:w,linePos:D,colPos:F}=e;if(y&176128)switch(d=$(e,u,0),y){case 36972:if(!l&&e.token!==67174411)return Cu(e,u,i,n,t,o,1,c,s,m,k);break;case 209007:if(e.token!==67174411&&(e.flags&1)<1){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=16|(M1(e,u,8457014)?8:0)}break;case 12402:if(e.token!==67174411){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=256}break;case 12403:if(e.token!==67174411){if(u&1&&(e.token&1073741824)===1073741824)return v1(e,u,d,h,o,w,D,F);h|=512}break}else y===69271571?(h|=2,d=K2(e,n,c)):(y&134217728)===134217728?d=c2(e,u):y===8457014?(h|=8,E(e,u)):u&1&&e.token===131?(h|=4096,d=r1(e,u|16384,w,D,F)):u&1&&(e.token&1073741824)===1073741824?h|=128:y===122?(d=$(e,u,0),e.token!==67174411&&f(e,28,Z[e.token&255])):f(e,28,Z[e.token&255]);if(h&792&&(e.token&143360?d=$(e,u,0):(e.token&134217728)===134217728?d=c2(e,u):e.token===69271571?(h|=2,d=K2(e,u,0)):e.token===122?d=$(e,u,0):u&1&&e.token===131?(h|=4096,d=r1(e,u,w,D,F)):f(e,131)),(h&2)<1&&(e.tokenValue==="constructor"?((e.token&1073741824)===1073741824?f(e,125):(h&32)<1&&e.token===67174411&&(h&920?f(e,50,"accessor"):(u&524288)<1&&(e.flags&32?f(e,51):e.flags|=32)),h|=64):(h&4096)<1&&h&824&&e.tokenValue==="prototype"&&f(e,49)),u&1&&e.token!==67174411)return v1(e,u,d,h,o,w,D,F);let O=v2(e,u,h,c,e.tokenPos,e.linePos,e.colPos);return v(e,u,s,m,k,u&1?{type:"MethodDefinition",kind:(h&32)<1&&h&64?"constructor":h&256?"get":h&512?"set":"method",static:(h&32)>0,computed:(h&2)>0,key:d,decorators:o,value:O}:{type:"MethodDefinition",kind:(h&32)<1&&h&64?"constructor":h&256?"get":h&512?"set":"method",static:(h&32)>0,computed:(h&2)>0,key:d,value:O})}function r1(e,u,i,n,t){E(e,u);let{tokenValue:o}=e;return o==="constructor"&&f(e,124),E(e,u),v(e,u,i,n,t,{type:"PrivateIdentifier",name:o})}function v1(e,u,i,n,t,o,l,c){let s=null;if(n&8&&f(e,0),e.token===1077936157){E(e,u|32768);let{tokenPos:m,linePos:k,colPos:h}=e;e.token===537079928&&f(e,115),s=d2(e,u|16384,2,0,1,0,0,1,m,k,h),(e.token&1073741824)!==1073741824&&(s=H(e,u|16384,s,0,0,m,k,h),s=Q(e,u|16384,0,0,m,k,h,s),e.token===18&&(s=O2(e,u,0,o,l,c,s)))}return v(e,u,o,l,c,{type:"PropertyDefinition",key:i,value:s,static:(n&32)>0,computed:(n&2)>0,decorators:t})}function Du(e,u,i,n,t,o,l,c){if(e.token&143360)return p1(e,u,i,n,t,o,l,c);(e.token&2097152)!==2097152&&f(e,28,Z[e.token&255]);let s=e.token===69271571?m2(e,u,i,1,0,1,n,t,o,l,c):b2(e,u,i,1,0,1,n,t,o,l,c);return e.destructible&16&&f(e,47),e.destructible&32&&f(e,47),s}function p1(e,u,i,n,t,o,l,c){let{tokenValue:s,token:m}=e;return u&1024&&((m&537079808)===537079808?f(e,115):(m&36864)===36864&&f(e,114)),(m&20480)===20480&&f(e,99),u&2099200&&m===241773&&f(e,30),m===241739&&n&24&&f(e,97),u&4196352&&m===209008&&f(e,95),E(e,u),i&&B2(e,u,i,s,n,t),v(e,u,o,l,c,{type:"Identifier",name:s})}function ee(e,u,i,n,t,o){if(E(e,u),e.token===8456259)return v(e,u,n,t,o,{type:"JSXFragment",openingFragment:jt(e,u,n,t,o),children:wu(e,u),closingFragment:Mt(e,u,i,e.tokenPos,e.linePos,e.colPos)});let l=null,c=[],s=$t(e,u,i,n,t,o);if(!s.selfClosing){c=wu(e,u),l=_t(e,u,i,e.tokenPos,e.linePos,e.colPos);let m=f1(l.name);f1(s.name)!==m&&f(e,149,m)}return v(e,u,n,t,o,{type:"JSXElement",children:c,openingElement:s,closingElement:l})}function jt(e,u,i,n,t){return j2(e,u),v(e,u,i,n,t,{type:"JSXOpeningFragment"})}function _t(e,u,i,n,t,o){q(e,u,25);let l=qu(e,u,e.tokenPos,e.linePos,e.colPos);return i?q(e,u,8456259):e.token=j2(e,u),v(e,u,n,t,o,{type:"JSXClosingElement",name:l})}function Mt(e,u,i,n,t,o){return q(e,u,25),q(e,u,8456259),v(e,u,n,t,o,{type:"JSXClosingFragment"})}function wu(e,u){let i=[];for(;e.token!==25;)e.index=e.tokenPos=e.startPos,e.column=e.colPos=e.startColumn,e.line=e.linePos=e.startLine,j2(e,u),i.push(Ut(e,u,e.tokenPos,e.linePos,e.colPos));return i}function Ut(e,u,i,n,t){if(e.token===138)return Jt(e,u,i,n,t);if(e.token===2162700)return Su(e,u,0,0,i,n,t);if(e.token===8456258)return ee(e,u,0,i,n,t);f(e,0)}function Jt(e,u,i,n,t){j2(e,u);let o={type:"JSXText",value:e.tokenValue};return u&512&&(o.raw=e.tokenRaw),v(e,u,i,n,t,o)}function $t(e,u,i,n,t,o){(e.token&143360)!==143360&&(e.token&4096)!==4096&&f(e,0);let l=qu(e,u,e.tokenPos,e.linePos,e.colPos),c=Xt(e,u),s=e.token===8457016;return e.token===8456259?j2(e,u):(q(e,u,8457016),i?q(e,u,8456259):j2(e,u)),v(e,u,n,t,o,{type:"JSXOpeningElement",name:l,attributes:c,selfClosing:s})}function qu(e,u,i,n,t){_1(e);let o=y1(e,u,i,n,t);if(e.token===21)return Bu(e,u,o,i,n,t);for(;M(e,u,67108877);)_1(e),o=Ht(e,u,o,i,n,t);return o}function Ht(e,u,i,n,t,o){let l=y1(e,u,e.tokenPos,e.linePos,e.colPos);return v(e,u,n,t,o,{type:"JSXMemberExpression",object:i,property:l})}function Xt(e,u){let i=[];for(;e.token!==8457016&&e.token!==8456259&&e.token!==1048576;)i.push(Wt(e,u,e.tokenPos,e.linePos,e.colPos));return i}function zt(e,u,i,n,t){E(e,u),q(e,u,14);let o=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return q(e,u,1074790415),v(e,u,i,n,t,{type:"JSXSpreadAttribute",argument:o})}function Wt(e,u,i,n,t){if(e.token===2162700)return zt(e,u,i,n,t);_1(e);let o=null,l=y1(e,u,i,n,t);if(e.token===21&&(l=Bu(e,u,l,i,n,t)),e.token===1077936157){let c=U0(e,u),{tokenPos:s,linePos:m,colPos:k}=e;switch(c){case 134283267:o=c2(e,u);break;case 8456258:o=ee(e,u,1,s,m,k);break;case 2162700:o=Su(e,u,1,1,s,m,k);break;default:f(e,148)}}return v(e,u,i,n,t,{type:"JSXAttribute",value:o,name:l})}function Bu(e,u,i,n,t,o){q(e,u,21);let l=y1(e,u,e.tokenPos,e.linePos,e.colPos);return v(e,u,n,t,o,{type:"JSXNamespacedName",namespace:i,name:l})}function Su(e,u,i,n,t,o,l){E(e,u|32768);let{tokenPos:c,linePos:s,colPos:m}=e;if(e.token===14)return Kt(e,u,c,s,m);let k=null;return e.token===1074790415?(n&&f(e,151),k=Yt(e,u,e.startPos,e.startLine,e.startColumn)):k=K(e,u,1,0,0,c,s,m),i?q(e,u,1074790415):j2(e,u),v(e,u,t,o,l,{type:"JSXExpressionContainer",expression:k})}function Kt(e,u,i,n,t){q(e,u,14);let o=K(e,u,1,0,0,e.tokenPos,e.linePos,e.colPos);return q(e,u,1074790415),v(e,u,i,n,t,{type:"JSXSpreadChild",expression:o})}function Yt(e,u,i,n,t){return e.startPos=e.tokenPos,e.startLine=e.linePos,e.startColumn=e.colPos,v(e,u,i,n,t,{type:"JSXEmptyExpression"})}function y1(e,u,i,n,t){let{tokenValue:o}=e;return E(e,u),v(e,u,i,n,t,{type:"JSXIdentifier",name:o})}var Zt=Object.freeze({__proto__:null}),Qt="4.2.1",Gt=Qt;function xt(e,u){return H1(e,u,0)}function pt(e,u){return H1(e,u,3072)}function eo(e,u){return H1(e,u,0)}a.ESTree=Zt,a.parse=eo,a.parseModule=pt,a.parseScript=xt,a.version=Gt}});n2();var V3=k0(),N3=b3(),j3=q3(),_3=I3(),M3={module:!0,next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,identifierPattern:!1,jsx:!0,specDeviation:!0,uniqueKeyInPattern:!1};function m0(a,g){let{parse:b}=R3(),f=[],A=[],L=b(a,Object.assign(Object.assign({},M3),{},{module:g,onComment:f,onToken:A}));return L.comments=f,L.tokens=A,L}function U3(a){let{message:g,line:b,column:f}=a,A=(g.match(/^\[(?\d+):(?\d+)]: (?.*)$/)||{}).groups;return A&&(g=A.message,typeof b!="number"&&(b=Number(A.line),f=Number(A.column))),typeof b!="number"?a:V3(g,{start:{line:b,column:f}})}function J3(a,g){let b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{result:f,error:A}=N3(()=>m0(a,!0),()=>m0(a,!1));if(!f)throw U3(A);return b.originalText=a,_3(f,b)}O0.exports={parsers:{meriyah:j3(J3)}}});return $3();}); + +/***/ }, + +/***/ 52502 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var U=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var pe=U((wp,Gt)=>{var er=function(e){return e&&e.Math==Math&&e};Gt.exports=er(typeof globalThis=="object"&&globalThis)||er(typeof window=="object"&&window)||er(typeof self=="object"&&self)||er(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var be=U((_p,Ht)=>{Ht.exports=function(e){try{return!!e()}catch{return!0}}});var Oe=U((bp,Jt)=>{var _a=be();Jt.exports=!_a(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var Tr=U((xp,Kt)=>{var ba=be();Kt.exports=!ba(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})});var tr=U((Sp,Qt)=>{var xa=Tr(),rr=Function.prototype.call;Qt.exports=xa?rr.bind(rr):function(){return rr.apply(rr,arguments)}});var en=U(Zt=>{"use strict";var Yt={}.propertyIsEnumerable,Xt=Object.getOwnPropertyDescriptor,Sa=Xt&&!Yt.call({1:2},1);Zt.f=Sa?function(n){var i=Xt(this,n);return!!i&&i.enumerable}:Yt});var Er=U((Op,rn)=>{rn.exports=function(e,n){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:n}}});var xe=U((Tp,sn)=>{var tn=Tr(),nn=Function.prototype,qr=nn.call,ka=tn&&nn.bind.bind(qr,qr);sn.exports=tn?ka:function(e){return function(){return qr.apply(e,arguments)}}});var un=U((Ep,an)=>{var on=xe(),Oa=on({}.toString),Ta=on("".slice);an.exports=function(e){return Ta(Oa(e),8,-1)}});var ln=U((qp,cn)=>{var Ea=xe(),qa=be(),Aa=un(),Ar=Object,Pa=Ea("".split);cn.exports=qa(function(){return!Ar("z").propertyIsEnumerable(0)})?function(e){return Aa(e)=="String"?Pa(e,""):Ar(e)}:Ar});var Pr=U((Ap,fn)=>{fn.exports=function(e){return e==null}});var Ir=U((Pp,pn)=>{var Ia=Pr(),Ra=TypeError;pn.exports=function(e){if(Ia(e))throw Ra("Can't call method on "+e);return e}});var nr=U((Ip,hn)=>{var Ca=ln(),Na=Ir();hn.exports=function(e){return Ca(Na(e))}});var Cr=U((Rp,dn)=>{var Rr=typeof document=="object"&&document.all,ja=typeof Rr>"u"&&Rr!==void 0;dn.exports={all:Rr,IS_HTMLDDA:ja}});var he=U((Cp,mn)=>{var vn=Cr(),Ma=vn.all;mn.exports=vn.IS_HTMLDDA?function(e){return typeof e=="function"||e===Ma}:function(e){return typeof e=="function"}});var Me=U((Np,wn)=>{var gn=he(),yn=Cr(),Da=yn.all;wn.exports=yn.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:gn(e)||e===Da}:function(e){return typeof e=="object"?e!==null:gn(e)}});var ir=U((jp,_n)=>{var Nr=pe(),La=he(),za=function(e){return La(e)?e:void 0};_n.exports=function(e,n){return arguments.length<2?za(Nr[e]):Nr[e]&&Nr[e][n]}});var xn=U((Mp,bn)=>{var Ba=xe();bn.exports=Ba({}.isPrototypeOf)});var kn=U((Dp,Sn)=>{var Fa=ir();Sn.exports=Fa("navigator","userAgent")||""});var In=U((Lp,Pn)=>{var An=pe(),jr=kn(),On=An.process,Tn=An.Deno,En=On&&On.versions||Tn&&Tn.version,qn=En&&En.v8,de,sr;qn&&(de=qn.split("."),sr=de[0]>0&&de[0]<4?1:+(de[0]+de[1]));!sr&&jr&&(de=jr.match(/Edge\/(\d+)/),(!de||de[1]>=74)&&(de=jr.match(/Chrome\/(\d+)/),de&&(sr=+de[1])));Pn.exports=sr});var Mr=U((zp,Cn)=>{var Rn=In(),Ua=be();Cn.exports=!!Object.getOwnPropertySymbols&&!Ua(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Rn&&Rn<41})});var Dr=U((Bp,Nn)=>{var $a=Mr();Nn.exports=$a&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var Lr=U((Fp,jn)=>{var Wa=ir(),Va=he(),Ga=xn(),Ha=Dr(),Ja=Object;jn.exports=Ha?function(e){return typeof e=="symbol"}:function(e){var n=Wa("Symbol");return Va(n)&&Ga(n.prototype,Ja(e))}});var Dn=U((Up,Mn)=>{var Ka=String;Mn.exports=function(e){try{return Ka(e)}catch{return"Object"}}});var zn=U(($p,Ln)=>{var Qa=he(),Ya=Dn(),Xa=TypeError;Ln.exports=function(e){if(Qa(e))return e;throw Xa(Ya(e)+" is not a function")}});var Fn=U((Wp,Bn)=>{var Za=zn(),eu=Pr();Bn.exports=function(e,n){var i=e[n];return eu(i)?void 0:Za(i)}});var $n=U((Vp,Un)=>{var zr=tr(),Br=he(),Fr=Me(),ru=TypeError;Un.exports=function(e,n){var i,u;if(n==="string"&&Br(i=e.toString)&&!Fr(u=zr(i,e))||Br(i=e.valueOf)&&!Fr(u=zr(i,e))||n!=="string"&&Br(i=e.toString)&&!Fr(u=zr(i,e)))return u;throw ru("Can't convert object to primitive value")}});var Vn=U((Gp,Wn)=>{Wn.exports=!1});var or=U((Hp,Hn)=>{var Gn=pe(),tu=Object.defineProperty;Hn.exports=function(e,n){try{tu(Gn,e,{value:n,configurable:!0,writable:!0})}catch{Gn[e]=n}return n}});var ar=U((Jp,Kn)=>{var nu=pe(),iu=or(),Jn="__core-js_shared__",su=nu[Jn]||iu(Jn,{});Kn.exports=su});var Ur=U((Kp,Yn)=>{var ou=Vn(),Qn=ar();(Yn.exports=function(e,n){return Qn[e]||(Qn[e]=n!==void 0?n:{})})("versions",[]).push({version:"3.26.1",mode:ou?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Zn=U((Qp,Xn)=>{var au=Ir(),uu=Object;Xn.exports=function(e){return uu(au(e))}});var Te=U((Yp,ei)=>{var cu=xe(),lu=Zn(),fu=cu({}.hasOwnProperty);ei.exports=Object.hasOwn||function(n,i){return fu(lu(n),i)}});var $r=U((Xp,ri)=>{var pu=xe(),hu=0,du=Math.random(),vu=pu(1 .toString);ri.exports=function(e){return"Symbol("+(e===void 0?"":e)+")_"+vu(++hu+du,36)}});var ai=U((Zp,oi)=>{var mu=pe(),gu=Ur(),ti=Te(),yu=$r(),ni=Mr(),si=Dr(),De=gu("wks"),Ee=mu.Symbol,ii=Ee&&Ee.for,wu=si?Ee:Ee&&Ee.withoutSetter||yu;oi.exports=function(e){if(!ti(De,e)||!(ni||typeof De[e]=="string")){var n="Symbol."+e;ni&&ti(Ee,e)?De[e]=Ee[e]:si&&ii?De[e]=ii(n):De[e]=wu(n)}return De[e]}});var fi=U((eh,li)=>{var _u=tr(),ui=Me(),ci=Lr(),bu=Fn(),xu=$n(),Su=ai(),ku=TypeError,Ou=Su("toPrimitive");li.exports=function(e,n){if(!ui(e)||ci(e))return e;var i=bu(e,Ou),u;if(i){if(n===void 0&&(n="default"),u=_u(i,e,n),!ui(u)||ci(u))return u;throw ku("Can't convert object to primitive value")}return n===void 0&&(n="number"),xu(e,n)}});var Wr=U((rh,pi)=>{var Tu=fi(),Eu=Lr();pi.exports=function(e){var n=Tu(e,"string");return Eu(n)?n:n+""}});var vi=U((th,di)=>{var qu=pe(),hi=Me(),Vr=qu.document,Au=hi(Vr)&&hi(Vr.createElement);di.exports=function(e){return Au?Vr.createElement(e):{}}});var Gr=U((nh,mi)=>{var Pu=Oe(),Iu=be(),Ru=vi();mi.exports=!Pu&&!Iu(function(){return Object.defineProperty(Ru("div"),"a",{get:function(){return 7}}).a!=7})});var Hr=U(yi=>{var Cu=Oe(),Nu=tr(),ju=en(),Mu=Er(),Du=nr(),Lu=Wr(),zu=Te(),Bu=Gr(),gi=Object.getOwnPropertyDescriptor;yi.f=Cu?gi:function(n,i){if(n=Du(n),i=Lu(i),Bu)try{return gi(n,i)}catch{}if(zu(n,i))return Mu(!Nu(ju.f,n,i),n[i])}});var _i=U((sh,wi)=>{var Fu=Oe(),Uu=be();wi.exports=Fu&&Uu(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var Jr=U((oh,bi)=>{var $u=Me(),Wu=String,Vu=TypeError;bi.exports=function(e){if($u(e))return e;throw Vu(Wu(e)+" is not an object")}});var cr=U(Si=>{var Gu=Oe(),Hu=Gr(),Ju=_i(),ur=Jr(),xi=Wr(),Ku=TypeError,Kr=Object.defineProperty,Qu=Object.getOwnPropertyDescriptor,Qr="enumerable",Yr="configurable",Xr="writable";Si.f=Gu?Ju?function(n,i,u){if(ur(n),i=xi(i),ur(u),typeof n=="function"&&i==="prototype"&&"value"in u&&Xr in u&&!u[Xr]){var o=Qu(n,i);o&&o[Xr]&&(n[i]=u.value,u={configurable:Yr in u?u[Yr]:o[Yr],enumerable:Qr in u?u[Qr]:o[Qr],writable:!1})}return Kr(n,i,u)}:Kr:function(n,i,u){if(ur(n),i=xi(i),ur(u),Hu)try{return Kr(n,i,u)}catch{}if("get"in u||"set"in u)throw Ku("Accessors not supported");return"value"in u&&(n[i]=u.value),n}});var Zr=U((uh,ki)=>{var Yu=Oe(),Xu=cr(),Zu=Er();ki.exports=Yu?function(e,n,i){return Xu.f(e,n,Zu(1,i))}:function(e,n,i){return e[n]=i,e}});var Ei=U((ch,Ti)=>{var et=Oe(),ec=Te(),Oi=Function.prototype,rc=et&&Object.getOwnPropertyDescriptor,rt=ec(Oi,"name"),tc=rt&&function(){}.name==="something",nc=rt&&(!et||et&&rc(Oi,"name").configurable);Ti.exports={EXISTS:rt,PROPER:tc,CONFIGURABLE:nc}});var Ai=U((lh,qi)=>{var ic=xe(),sc=he(),tt=ar(),oc=ic(Function.toString);sc(tt.inspectSource)||(tt.inspectSource=function(e){return oc(e)});qi.exports=tt.inspectSource});var Ri=U((fh,Ii)=>{var ac=pe(),uc=he(),Pi=ac.WeakMap;Ii.exports=uc(Pi)&&/native code/.test(String(Pi))});var ji=U((ph,Ni)=>{var cc=Ur(),lc=$r(),Ci=cc("keys");Ni.exports=function(e){return Ci[e]||(Ci[e]=lc(e))}});var nt=U((hh,Mi)=>{Mi.exports={}});var Bi=U((dh,zi)=>{var fc=Ri(),Li=pe(),pc=Me(),hc=Zr(),it=Te(),st=ar(),dc=ji(),vc=nt(),Di="Object already initialized",ot=Li.TypeError,mc=Li.WeakMap,lr,Fe,fr,gc=function(e){return fr(e)?Fe(e):lr(e,{})},yc=function(e){return function(n){var i;if(!pc(n)||(i=Fe(n)).type!==e)throw ot("Incompatible receiver, "+e+" required");return i}};fc||st.state?(ve=st.state||(st.state=new mc),ve.get=ve.get,ve.has=ve.has,ve.set=ve.set,lr=function(e,n){if(ve.has(e))throw ot(Di);return n.facade=e,ve.set(e,n),n},Fe=function(e){return ve.get(e)||{}},fr=function(e){return ve.has(e)}):(qe=dc("state"),vc[qe]=!0,lr=function(e,n){if(it(e,qe))throw ot(Di);return n.facade=e,hc(e,qe,n),n},Fe=function(e){return it(e,qe)?e[qe]:{}},fr=function(e){return it(e,qe)});var ve,qe;zi.exports={set:lr,get:Fe,has:fr,enforce:gc,getterFor:yc}});var $i=U((vh,Ui)=>{var wc=be(),_c=he(),pr=Te(),at=Oe(),bc=Ei().CONFIGURABLE,xc=Ai(),Fi=Bi(),Sc=Fi.enforce,kc=Fi.get,hr=Object.defineProperty,Oc=at&&!wc(function(){return hr(function(){},"length",{value:8}).length!==8}),Tc=String(String).split("String"),Ec=Ui.exports=function(e,n,i){String(n).slice(0,7)==="Symbol("&&(n="["+String(n).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),i&&i.getter&&(n="get "+n),i&&i.setter&&(n="set "+n),(!pr(e,"name")||bc&&e.name!==n)&&(at?hr(e,"name",{value:n,configurable:!0}):e.name=n),Oc&&i&&pr(i,"arity")&&e.length!==i.arity&&hr(e,"length",{value:i.arity});try{i&&pr(i,"constructor")&&i.constructor?at&&hr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var u=Sc(e);return pr(u,"source")||(u.source=Tc.join(typeof n=="string"?n:"")),e};Function.prototype.toString=Ec(function(){return _c(this)&&kc(this).source||xc(this)},"toString")});var Vi=U((mh,Wi)=>{var qc=he(),Ac=cr(),Pc=$i(),Ic=or();Wi.exports=function(e,n,i,u){u||(u={});var o=u.enumerable,h=u.name!==void 0?u.name:n;if(qc(i)&&Pc(i,h,u),u.global)o?e[n]=i:Ic(n,i);else{try{u.unsafe?e[n]&&(o=!0):delete e[n]}catch{}o?e[n]=i:Ac.f(e,n,{value:i,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return e}});var Hi=U((gh,Gi)=>{var Rc=Math.ceil,Cc=Math.floor;Gi.exports=Math.trunc||function(n){var i=+n;return(i>0?Cc:Rc)(i)}});var ut=U((yh,Ji)=>{var Nc=Hi();Ji.exports=function(e){var n=+e;return n!==n||n===0?0:Nc(n)}});var Qi=U((wh,Ki)=>{var jc=ut(),Mc=Math.max,Dc=Math.min;Ki.exports=function(e,n){var i=jc(e);return i<0?Mc(i+n,0):Dc(i,n)}});var Xi=U((_h,Yi)=>{var Lc=ut(),zc=Math.min;Yi.exports=function(e){return e>0?zc(Lc(e),9007199254740991):0}});var es=U((bh,Zi)=>{var Bc=Xi();Zi.exports=function(e){return Bc(e.length)}});var ns=U((xh,ts)=>{var Fc=nr(),Uc=Qi(),$c=es(),rs=function(e){return function(n,i,u){var o=Fc(n),h=$c(o),l=Uc(u,h),p;if(e&&i!=i){for(;h>l;)if(p=o[l++],p!=p)return!0}else for(;h>l;l++)if((e||l in o)&&o[l]===i)return e||l||0;return!e&&-1}};ts.exports={includes:rs(!0),indexOf:rs(!1)}});var os=U((Sh,ss)=>{var Wc=xe(),ct=Te(),Vc=nr(),Gc=ns().indexOf,Hc=nt(),is=Wc([].push);ss.exports=function(e,n){var i=Vc(e),u=0,o=[],h;for(h in i)!ct(Hc,h)&&ct(i,h)&&is(o,h);for(;n.length>u;)ct(i,h=n[u++])&&(~Gc(o,h)||is(o,h));return o}});var us=U((kh,as)=>{as.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ls=U(cs=>{var Jc=os(),Kc=us(),Qc=Kc.concat("length","prototype");cs.f=Object.getOwnPropertyNames||function(n){return Jc(n,Qc)}});var ps=U(fs=>{fs.f=Object.getOwnPropertySymbols});var ds=U((Eh,hs)=>{var Yc=ir(),Xc=xe(),Zc=ls(),el=ps(),rl=Jr(),tl=Xc([].concat);hs.exports=Yc("Reflect","ownKeys")||function(n){var i=Zc.f(rl(n)),u=el.f;return u?tl(i,u(n)):i}});var gs=U((qh,ms)=>{var vs=Te(),nl=ds(),il=Hr(),sl=cr();ms.exports=function(e,n,i){for(var u=nl(n),o=sl.f,h=il.f,l=0;l{var ol=be(),al=he(),ul=/#|\.prototype\./,Ue=function(e,n){var i=ll[cl(e)];return i==pl?!0:i==fl?!1:al(n)?ol(n):!!n},cl=Ue.normalize=function(e){return String(e).replace(ul,".").toLowerCase()},ll=Ue.data={},fl=Ue.NATIVE="N",pl=Ue.POLYFILL="P";ys.exports=Ue});var bs=U((Ph,_s)=>{var lt=pe(),hl=Hr().f,dl=Zr(),vl=Vi(),ml=or(),gl=gs(),yl=ws();_s.exports=function(e,n){var i=e.target,u=e.global,o=e.stat,h,l,p,m,c,t;if(u?l=lt:o?l=lt[i]||ml(i,{}):l=(lt[i]||{}).prototype,l)for(p in n){if(c=n[p],e.dontCallGetSet?(t=hl(l,p),m=t&&t.value):m=l[p],h=yl(u?p:i+(o?".":"#")+p,e.forced),!h&&m!==void 0){if(typeof c==typeof m)continue;gl(c,m)}(e.sham||m&&m.sham)&&dl(c,"sham",!0),vl(l,p,c,e)}}});var xs=U(()=>{var wl=bs(),ft=pe();wl({global:!0,forced:ft.globalThis!==ft},{globalThis:ft})});var Ss=U(()=>{xs()});var gp=U((Fh,wa)=>{Ss();var Et=Object.defineProperty,_l=Object.getOwnPropertyDescriptor,qt=Object.getOwnPropertyNames,bl=Object.prototype.hasOwnProperty,Le=(e,n)=>function(){return e&&(n=(0,e[qt(e)[0]])(e=0)),n},P=(e,n)=>function(){return n||(0,e[qt(e)[0]])((n={exports:{}}).exports,n),n.exports},At=(e,n)=>{for(var i in n)Et(e,i,{get:n[i],enumerable:!0})},xl=(e,n,i,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of qt(n))!bl.call(e,o)&&o!==i&&Et(e,o,{get:()=>n[o],enumerable:!(u=_l(n,o))||u.enumerable});return e},Pt=e=>xl(Et({},"__esModule",{value:!0}),e),A=Le({""(){}}),Sl=P({"src/common/parser-create-error.js"(e,n){"use strict";A();function i(u,o){let h=new SyntaxError(u+" ("+o.start.line+":"+o.start.column+")");return h.loc=o,h}n.exports=i}}),Us=P({"src/utils/get-last.js"(e,n){"use strict";A();var i=u=>u[u.length-1];n.exports=i}}),$s=P({"src/utils/front-matter/parse.js"(e,n){"use strict";A();var i=new RegExp("^(?-{3}|\\+{3})(?[^\\n]*)\\n(?:|(?.*?)\\n)(?\\k|\\.{3})[^\\S\\n]*(?:\\n|$)","s");function u(o){let h=o.match(i);if(!h)return{content:o};let{startDelimiter:l,language:p,value:m="",endDelimiter:c}=h.groups,t=p.trim()||"yaml";if(l==="+++"&&(t="toml"),t!=="yaml"&&l!==c)return{content:o};let[r]=h;return{frontMatter:{type:"front-matter",lang:t,value:m,startDelimiter:l,endDelimiter:c,raw:r.replace(/\n$/,"")},content:r.replace(/[^\n]/g," ")+o.slice(r.length)}}n.exports=u}}),Ws={};At(Ws,{EOL:()=>bt,arch:()=>kl,cpus:()=>Ys,default:()=>to,endianness:()=>Vs,freemem:()=>Ks,getNetworkInterfaces:()=>ro,hostname:()=>Gs,loadavg:()=>Hs,networkInterfaces:()=>eo,platform:()=>Ol,release:()=>Zs,tmpDir:()=>wt,tmpdir:()=>_t,totalmem:()=>Qs,type:()=>Xs,uptime:()=>Js});function Vs(){if(typeof dr>"u"){var e=new ArrayBuffer(2),n=new Uint8Array(e),i=new Uint16Array(e);if(n[0]=1,n[1]=2,i[0]===258)dr="BE";else if(i[0]===513)dr="LE";else throw new Error("unable to figure out endianess")}return dr}function Gs(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function Hs(){return[]}function Js(){return 0}function Ks(){return Number.MAX_VALUE}function Qs(){return Number.MAX_VALUE}function Ys(){return[]}function Xs(){return"Browser"}function Zs(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function eo(){}function ro(){}function kl(){return"javascript"}function Ol(){return"browser"}function wt(){return"/tmp"}var dr,_t,bt,to,Tl=Le({"node-modules-polyfills:os"(){A(),_t=wt,bt=` +`,to={EOL:bt,tmpdir:_t,tmpDir:wt,networkInterfaces:eo,getNetworkInterfaces:ro,release:Zs,type:Xs,cpus:Ys,totalmem:Qs,freemem:Ks,uptime:Js,loadavg:Hs,hostname:Gs,endianness:Vs}}}),El=P({"node-modules-polyfills-commonjs:os"(e,n){A();var i=(Tl(),Pt(Ws));if(i&&i.default){n.exports=i.default;for(let u in i)n.exports[u]=i[u]}else i&&(n.exports=i)}}),ql=P({"node_modules/detect-newline/index.js"(e,n){"use strict";A();var i=u=>{if(typeof u!="string")throw new TypeError("Expected a string");let o=u.match(/(?:\r?\n)/g)||[];if(o.length===0)return;let h=o.filter(p=>p===`\r +`).length,l=o.length-h;return h>l?`\r +`:` +`};n.exports=i,n.exports.graceful=u=>typeof u=="string"&&i(u)||` +`}}),Al=P({"node_modules/jest-docblock/build/index.js"(e){"use strict";A(),Object.defineProperty(e,"__esModule",{value:!0}),e.extract=s,e.parse=g,e.parseWithComments=v,e.print=y,e.strip=f;function n(){let d=El();return n=function(){return d},d}function i(){let d=u(ql());return i=function(){return d},d}function u(d){return d&&d.__esModule?d:{default:d}}var o=/\*\/$/,h=/^\/\*\*?/,l=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,p=/(^|\s+)\/\/([^\r\n]*)/g,m=/^(\r?\n)+/,c=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,t=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,r=/(\r?\n|^) *\* ?/g,a=[];function s(d){let _=d.match(l);return _?_[0].trimLeft():""}function f(d){let _=d.match(l);return _&&_[0]?d.substring(_[0].length):d}function g(d){return v(d).pragmas}function v(d){let _=(0,i().default)(d)||n().EOL;d=d.replace(h,"").replace(o,"").replace(r,"$1");let k="";for(;k!==d;)k=d,d=d.replace(c,`${_}$1 $2${_}`);d=d.replace(m,"").trimRight();let x=Object.create(null),N=d.replace(t,"").replace(m,"").trimRight(),I;for(;I=t.exec(d);){let W=I[2].replace(p,"");typeof x[I[1]]=="string"||Array.isArray(x[I[1]])?x[I[1]]=a.concat(x[I[1]],W):x[I[1]]=W}return{comments:N,pragmas:x}}function y(d){let{comments:_="",pragmas:k={}}=d,x=(0,i().default)(_)||n().EOL,N="/**",I=" *",W=" */",$=Object.keys(k),H=$.map(V=>w(V,k[V])).reduce((V,B)=>V.concat(B),[]).map(V=>`${I} ${V}${x}`).join("");if(!_){if($.length===0)return"";if($.length===1&&!Array.isArray(k[$[0]])){let V=k[$[0]];return`${N} ${w($[0],V)[0]}${W}`}}let D=_.split(x).map(V=>`${I} ${V}`).join(x)+x;return N+x+(_?D:"")+(_&&$.length?I+x:"")+H+W}function w(d,_){return a.concat(_).map(k=>`@${d} ${k}`.trim())}}}),Pl=P({"src/common/end-of-line.js"(e,n){"use strict";A();function i(l){let p=l.indexOf("\r");return p>=0?l.charAt(p+1)===` +`?"crlf":"cr":"lf"}function u(l){switch(l){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function o(l,p){let m;switch(p){case` +`:m=/\n/g;break;case"\r":m=/\r/g;break;case`\r +`:m=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(p)}.`)}let c=l.match(m);return c?c.length:0}function h(l){return l.replace(/\r\n?/g,` +`)}n.exports={guessEndOfLine:i,convertEndOfLineToChars:u,countEndOfLineChars:o,normalizeEndOfLine:h}}}),Il=P({"src/language-js/utils/get-shebang.js"(e,n){"use strict";A();function i(u){if(!u.startsWith("#!"))return"";let o=u.indexOf(` +`);return o===-1?u:u.slice(0,o)}n.exports=i}}),Rl=P({"src/language-js/pragma.js"(e,n){"use strict";A();var{parseWithComments:i,strip:u,extract:o,print:h}=Al(),{normalizeEndOfLine:l}=Pl(),p=Il();function m(r){let a=p(r);a&&(r=r.slice(a.length+1));let s=o(r),{pragmas:f,comments:g}=i(s);return{shebang:a,text:r,pragmas:f,comments:g}}function c(r){let a=Object.keys(m(r).pragmas);return a.includes("prettier")||a.includes("format")}function t(r){let{shebang:a,text:s,pragmas:f,comments:g}=m(r),v=u(s),y=h({pragmas:Object.assign({format:""},f),comments:g.trimStart()});return(a?`${a} +`:"")+l(y)+(v.startsWith(` +`)?` +`:` + +`)+v}n.exports={hasPragma:c,insertPragma:t}}}),Cl=P({"src/language-css/pragma.js"(e,n){"use strict";A();var i=Rl(),u=$s();function o(l){return i.hasPragma(u(l).content)}function h(l){let{frontMatter:p,content:m}=u(l);return(p?p.raw+` + +`:"")+i.insertPragma(m)}n.exports={hasPragma:o,insertPragma:h}}}),Nl=P({"src/utils/text/skip.js"(e,n){"use strict";A();function i(p){return(m,c,t)=>{let r=t&&t.backwards;if(c===!1)return!1;let{length:a}=m,s=c;for(;s>=0&&s0}n.exports=i}}),Dl=P({"src/language-css/utils/has-scss-interpolation.js"(e,n){"use strict";A();var i=Ml();function u(o){if(i(o)){for(let h=o.length-1;h>0;h--)if(o[h].type==="word"&&o[h].value==="{"&&o[h-1].type==="word"&&o[h-1].value.endsWith("#"))return!0}return!1}n.exports=u}}),Ll=P({"src/language-css/utils/has-string-or-function.js"(e,n){"use strict";A();function i(u){return u.some(o=>o.type==="string"||o.type==="func")}n.exports=i}}),zl=P({"src/language-css/utils/is-less-parser.js"(e,n){"use strict";A();function i(u){return u.parser==="css"||u.parser==="less"}n.exports=i}}),Bl=P({"src/language-css/utils/is-scss.js"(e,n){"use strict";A();function i(u,o){return u==="less"||u==="scss"?u==="scss":/(?:\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/.test(o)}n.exports=i}}),Fl=P({"src/language-css/utils/is-scss-nested-property-node.js"(e,n){"use strict";A();function i(u){return u.selector?u.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*\n/,"").trim().endsWith(":"):!1}n.exports=i}}),Ul=P({"src/language-css/utils/is-scss-variable.js"(e,n){"use strict";A();function i(u){return Boolean((u==null?void 0:u.type)==="word"&&u.value.startsWith("$"))}n.exports=i}}),$l=P({"src/language-css/utils/stringify-node.js"(e,n){"use strict";A();function i(u){var o,h,l;if(u.groups){var p,m,c;let y=((p=u.open)===null||p===void 0?void 0:p.value)||"",w=u.groups.map(_=>i(_)).join(((m=u.groups[0])===null||m===void 0?void 0:m.type)==="comma_group"?",":""),d=((c=u.close)===null||c===void 0?void 0:c.value)||"";return y+w+d}let t=((o=u.raws)===null||o===void 0?void 0:o.before)||"",r=((h=u.raws)===null||h===void 0?void 0:h.quote)||"",a=u.type==="atword"?"@":"",s=u.value||"",f=u.unit||"",g=u.group?i(u.group):"",v=((l=u.raws)===null||l===void 0?void 0:l.after)||"";return t+r+a+s+r+f+g+v}n.exports=i}}),Wl=P({"src/language-css/utils/is-module-rule-name.js"(e,n){"use strict";A();var i=new Set(["import","use","forward"]);function u(o){return i.has(o)}n.exports=u}}),we=P({"node_modules/postcss-values-parser/lib/node.js"(e,n){"use strict";A();var i=function(u,o){let h=new u.constructor;for(let l in u){if(!u.hasOwnProperty(l))continue;let p=u[l],m=typeof p;l==="parent"&&m==="object"?o&&(h[l]=o):l==="source"?h[l]=p:p instanceof Array?h[l]=p.map(c=>i(c,h)):l!=="before"&&l!=="after"&&l!=="between"&&l!=="semicolon"&&(m==="object"&&p!==null&&(p=i(p)),h[l]=p)}return h};n.exports=class{constructor(o){o=o||{},this.raws={before:"",after:""};for(let h in o)this[h]=o[h]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(o){o=o||{};let h=i(this);for(let l in o)h[l]=o[l];return h}cloneBefore(o){o=o||{};let h=this.clone(o);return this.parent.insertBefore(this,h),h}cloneAfter(o){o=o||{};let h=this.clone(o);return this.parent.insertAfter(this,h),h}replaceWith(){let o=Array.prototype.slice.call(arguments);if(this.parent){for(let h of o)this.parent.insertBefore(this,h);this.remove()}return this}moveTo(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.append(this),this}moveBefore(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.parent.insertBefore(o,this),this}moveAfter(o){return this.cleanRaws(this.root()===o.root()),this.remove(),o.parent.insertAfter(o,this),this}next(){let o=this.parent.index(this);return this.parent.nodes[o+1]}prev(){let o=this.parent.index(this);return this.parent.nodes[o-1]}toJSON(){let o={};for(let h in this){if(!this.hasOwnProperty(h)||h==="parent")continue;let l=this[h];l instanceof Array?o[h]=l.map(p=>typeof p=="object"&&p.toJSON?p.toJSON():p):typeof l=="object"&&l.toJSON?o[h]=l.toJSON():o[h]=l}return o}root(){let o=this;for(;o.parent;)o=o.parent;return o}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}positionInside(o){let h=this.toString(),l=this.source.start.column,p=this.source.start.line;for(let m=0;m{let p=o(h,l);return p!==!1&&h.walk&&(p=h.walk(o)),p})}walkType(o,h){if(!o||!h)throw new Error("Parameters {type} and {callback} are required.");let l=typeof o=="function";return this.walk((p,m)=>{if(l&&p instanceof o||!l&&p.type===o)return h.call(this,p,m)})}append(o){return o.parent=this,this.nodes.push(o),this}prepend(o){return o.parent=this,this.nodes.unshift(o),this}cleanRaws(o){if(super.cleanRaws(o),this.nodes)for(let h of this.nodes)h.cleanRaws(o)}insertAfter(o,h){let l=this.index(o),p;this.nodes.splice(l+1,0,h);for(let m in this.indexes)p=this.indexes[m],l<=p&&(this.indexes[m]=p+this.nodes.length);return this}insertBefore(o,h){let l=this.index(o),p;this.nodes.splice(l,0,h);for(let m in this.indexes)p=this.indexes[m],l<=p&&(this.indexes[m]=p+this.nodes.length);return this}removeChild(o){o=this.index(o),this.nodes[o].parent=void 0,this.nodes.splice(o,1);let h;for(let l in this.indexes)h=this.indexes[l],h>=o&&(this.indexes[l]=h-1);return this}removeAll(){for(let o of this.nodes)o.parent=void 0;return this.nodes=[],this}every(o){return this.nodes.every(o)}some(o){return this.nodes.some(o)}index(o){return typeof o=="number"?o:this.nodes.indexOf(o)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let o=this.nodes.map(String).join("");return this.value&&(o=this.value+o),this.raws.before&&(o=this.raws.before+o),this.raws.after&&(o+=this.raws.after),o}};u.registerWalker=o=>{let h="walk"+o.name;h.lastIndexOf("s")!==h.length-1&&(h+="s"),!u.prototype[h]&&(u.prototype[h]=function(l){return this.walkType(o,l)})},n.exports=u}}),Vl=P({"node_modules/postcss-values-parser/lib/root.js"(e,n){"use strict";A();var i=ae();n.exports=class extends i{constructor(o){super(o),this.type="root"}}}}),io=P({"node_modules/postcss-values-parser/lib/value.js"(e,n){"use strict";A();var i=ae();n.exports=class extends i{constructor(o){super(o),this.type="value",this.unbalanced=0}}}}),so=P({"node_modules/postcss-values-parser/lib/atword.js"(e,n){"use strict";A();var i=ae(),u=class extends i{constructor(o){super(o),this.type="atword"}toString(){let o=this.quoted?this.raws.quote:"";return[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};i.registerWalker(u),n.exports=u}}),oo=P({"node_modules/postcss-values-parser/lib/colon.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="colon"}};i.registerWalker(o),n.exports=o}}),ao=P({"node_modules/postcss-values-parser/lib/comma.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="comma"}};i.registerWalker(o),n.exports=o}}),uo=P({"node_modules/postcss-values-parser/lib/comment.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="comment",this.inline=Object(h).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};i.registerWalker(o),n.exports=o}}),co=P({"node_modules/postcss-values-parser/lib/function.js"(e,n){"use strict";A();var i=ae(),u=class extends i{constructor(o){super(o),this.type="func",this.unbalanced=-1}};i.registerWalker(u),n.exports=u}}),lo=P({"node_modules/postcss-values-parser/lib/number.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="number",this.unit=Object(h).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};i.registerWalker(o),n.exports=o}}),fo=P({"node_modules/postcss-values-parser/lib/operator.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="operator"}};i.registerWalker(o),n.exports=o}}),po=P({"node_modules/postcss-values-parser/lib/paren.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="paren",this.parenType=""}};i.registerWalker(o),n.exports=o}}),ho=P({"node_modules/postcss-values-parser/lib/string.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="string"}toString(){let h=this.quoted?this.raws.quote:"";return[this.raws.before,h,this.value+"",h,this.raws.after].join("")}};i.registerWalker(o),n.exports=o}}),vo=P({"node_modules/postcss-values-parser/lib/word.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="word"}};i.registerWalker(o),n.exports=o}}),mo=P({"node_modules/postcss-values-parser/lib/unicode-range.js"(e,n){"use strict";A();var i=ae(),u=we(),o=class extends u{constructor(h){super(h),this.type="unicode-range"}};i.registerWalker(o),n.exports=o}});function go(){throw new Error("setTimeout has not been defined")}function yo(){throw new Error("clearTimeout has not been defined")}function wo(e){if(Se===setTimeout)return setTimeout(e,0);if((Se===go||!Se)&&setTimeout)return Se=setTimeout,setTimeout(e,0);try{return Se(e,0)}catch{try{return Se.call(null,e,0)}catch{return Se.call(this,e,0)}}}function Gl(e){if(ke===clearTimeout)return clearTimeout(e);if((ke===yo||!ke)&&clearTimeout)return ke=clearTimeout,clearTimeout(e);try{return ke(e)}catch{try{return ke.call(null,e)}catch{return ke.call(this,e)}}}function Hl(){!Ne||!Ce||(Ne=!1,Ce.length?me=Ce.concat(me):We=-1,me.length&&_o())}function _o(){if(!Ne){var e=wo(Hl);Ne=!0;for(var n=me.length;n;){for(Ce=me,me=[];++We1)for(var i=1;iMt,debuglog:()=>Oo,default:()=>No,deprecate:()=>Rt,format:()=>wr,inherits:()=>It,inspect:()=>ye,isArray:()=>Ct,isBoolean:()=>_r,isBuffer:()=>Ao,isDate:()=>gr,isError:()=>He,isFunction:()=>Je,isNull:()=>Ke,isNullOrUndefined:()=>To,isNumber:()=>Nt,isObject:()=>je,isPrimitive:()=>qo,isRegExp:()=>Ge,isString:()=>Qe,isSymbol:()=>Eo,isUndefined:()=>ge,log:()=>Po});function wr(e){if(!Qe(e)){for(var n=[],i=0;i=o)return p;switch(p){case"%s":return String(u[i++]);case"%d":return Number(u[i++]);case"%j":try{return JSON.stringify(u[i++])}catch{return"[Circular]"}default:return p}}),l=u[i];i=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),_r(n)?i.showHidden=n:n&&Mt(i,n),ge(i.showHidden)&&(i.showHidden=!1),ge(i.depth)&&(i.depth=2),ge(i.colors)&&(i.colors=!1),ge(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=nf),mr(i,e,i.depth)}function nf(e,n){var i=ye.styles[n];return i?"\x1B["+ye.colors[i][0]+"m"+e+"\x1B["+ye.colors[i][1]+"m":e}function sf(e,n){return e}function of(e){var n={};return e.forEach(function(i,u){n[i]=!0}),n}function mr(e,n,i){if(e.customInspect&&n&&Je(n.inspect)&&n.inspect!==ye&&!(n.constructor&&n.constructor.prototype===n)){var u=n.inspect(i,e);return Qe(u)||(u=mr(e,u,i)),u}var o=af(e,n);if(o)return o;var h=Object.keys(n),l=of(h);if(e.showHidden&&(h=Object.getOwnPropertyNames(n)),He(n)&&(h.indexOf("message")>=0||h.indexOf("description")>=0))return ht(n);if(h.length===0){if(Je(n)){var p=n.name?": "+n.name:"";return e.stylize("[Function"+p+"]","special")}if(Ge(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(gr(n))return e.stylize(Date.prototype.toString.call(n),"date");if(He(n))return ht(n)}var m="",c=!1,t=["{","}"];if(Ct(n)&&(c=!0,t=["[","]"]),Je(n)){var r=n.name?": "+n.name:"";m=" [Function"+r+"]"}if(Ge(n)&&(m=" "+RegExp.prototype.toString.call(n)),gr(n)&&(m=" "+Date.prototype.toUTCString.call(n)),He(n)&&(m=" "+ht(n)),h.length===0&&(!c||n.length==0))return t[0]+m+t[1];if(i<0)return Ge(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special");e.seen.push(n);var a;return c?a=uf(e,n,i,l,h):a=h.map(function(s){return xt(e,n,i,l,s,c)}),e.seen.pop(),cf(a,m,t)}function af(e,n){if(ge(n))return e.stylize("undefined","undefined");if(Qe(n)){var i="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(i,"string")}if(Nt(n))return e.stylize(""+n,"number");if(_r(n))return e.stylize(""+n,"boolean");if(Ke(n))return e.stylize("null","null")}function ht(e){return"["+Error.prototype.toString.call(e)+"]"}function uf(e,n,i,u,o){for(var h=[],l=0,p=n.length;l-1&&(h?p=p.split(` +`).map(function(c){return" "+c}).join(` +`).substr(2):p=` +`+p.split(` +`).map(function(c){return" "+c}).join(` +`))):p=e.stylize("[Circular]","special")),ge(l)){if(h&&o.match(/^\d+$/))return p;l=JSON.stringify(""+o),l.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(l=l.substr(1,l.length-2),l=e.stylize(l,"name")):(l=l.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),l=e.stylize(l,"string"))}return l+": "+p}function cf(e,n,i){var u=0,o=e.reduce(function(h,l){return u++,l.indexOf(` +`)>=0&&u++,h+l.replace(/\u001b\[\d\d?m/g,"").length+1},0);return o>60?i[0]+(n===""?"":n+` + `)+" "+e.join(`, + `)+" "+i[1]:i[0]+n+" "+e.join(", ")+" "+i[1]}function Ct(e){return Array.isArray(e)}function _r(e){return typeof e=="boolean"}function Ke(e){return e===null}function To(e){return e==null}function Nt(e){return typeof e=="number"}function Qe(e){return typeof e=="string"}function Eo(e){return typeof e=="symbol"}function ge(e){return e===void 0}function Ge(e){return je(e)&&jt(e)==="[object RegExp]"}function je(e){return typeof e=="object"&&e!==null}function gr(e){return je(e)&&jt(e)==="[object Date]"}function He(e){return je(e)&&(jt(e)==="[object Error]"||e instanceof Error)}function Je(e){return typeof e=="function"}function qo(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e>"u"}function Ao(e){return Buffer.isBuffer(e)}function jt(e){return Object.prototype.toString.call(e)}function dt(e){return e<10?"0"+e.toString(10):e.toString(10)}function lf(){var e=new Date,n=[dt(e.getHours()),dt(e.getMinutes()),dt(e.getSeconds())].join(":");return[e.getDate(),Co[e.getMonth()],n].join(" ")}function Po(){console.log("%s - %s",lf(),wr.apply(null,arguments))}function Mt(e,n){if(!n||!je(n))return e;for(var i=Object.keys(n),u=i.length;u--;)e[i[u]]=n[i[u]];return e}function Io(e,n){return Object.prototype.hasOwnProperty.call(e,n)}var Ro,$e,vt,Co,No,ff=Le({"node-modules-polyfills:util"(){A(),rf(),tf(),Ro=/%[sdj%]/g,$e={},ye.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},ye.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},Co=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],No={inherits:It,_extend:Mt,log:Po,isBuffer:Ao,isPrimitive:qo,isFunction:Je,isError:He,isDate:gr,isObject:je,isRegExp:Ge,isUndefined:ge,isSymbol:Eo,isString:Qe,isNumber:Nt,isNullOrUndefined:To,isNull:Ke,isBoolean:_r,isArray:Ct,inspect:ye,deprecate:Rt,format:wr,debuglog:Oo}}}),pf=P({"node-modules-polyfills-commonjs:util"(e,n){A();var i=(ff(),Pt(ko));if(i&&i.default){n.exports=i.default;for(let u in i)n.exports[u]=i[u]}else i&&(n.exports=i)}}),hf=P({"node_modules/postcss-values-parser/lib/errors/TokenizeError.js"(e,n){"use strict";A();var i=class extends Error{constructor(u){super(u),this.name=this.constructor.name,this.message=u||"An error ocurred while tokzenizing.",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(u).stack}};n.exports=i}}),df=P({"node_modules/postcss-values-parser/lib/tokenize.js"(e,n){"use strict";A();var i="{".charCodeAt(0),u="}".charCodeAt(0),o="(".charCodeAt(0),h=")".charCodeAt(0),l="'".charCodeAt(0),p='"'.charCodeAt(0),m="\\".charCodeAt(0),c="/".charCodeAt(0),t=".".charCodeAt(0),r=",".charCodeAt(0),a=":".charCodeAt(0),s="*".charCodeAt(0),f="-".charCodeAt(0),g="+".charCodeAt(0),v="#".charCodeAt(0),y=` +`.charCodeAt(0),w=" ".charCodeAt(0),d="\f".charCodeAt(0),_=" ".charCodeAt(0),k="\r".charCodeAt(0),x="@".charCodeAt(0),N="e".charCodeAt(0),I="E".charCodeAt(0),W="0".charCodeAt(0),$="9".charCodeAt(0),H="u".charCodeAt(0),D="U".charCodeAt(0),V=/[ \n\t\r\{\(\)'"\\;,/]/g,B=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,O=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,j=/^[a-z0-9]/i,C=/^[a-f0-9?\-]/i,R=pf(),X=hf();n.exports=function(Q,K){K=K||{};let J=[],M=Q.valueOf(),Y=M.length,G=-1,E=1,S=0,b=0,L=null,q,T,F,z,ee,te,ue,le,re,ne,oe,ie;function ce(Ze){let _e=R.format("Unclosed %s at line: %d, column: %d, token: %d",Ze,E,S-G,S);throw new X(_e)}function fe(){let Ze=R.format("Syntax error at line: %d, column: %d, token: %d",E,S-G,S);throw new X(Ze)}for(;S0&&J[J.length-1][0]==="word"&&J[J.length-1][1]==="url",J.push(["(","(",E,S-G,E,T-G,S]);break;case h:b--,L=L&&b>0,J.push([")",")",E,S-G,E,T-G,S]);break;case l:case p:F=q===l?"'":'"',T=S;do for(ne=!1,T=M.indexOf(F,T+1),T===-1&&ce("quote",F),oe=T;M.charCodeAt(oe-1)===m;)oe-=1,ne=!ne;while(ne);J.push(["string",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T;break;case x:V.lastIndex=S+1,V.test(M),V.lastIndex===0?T=M.length-1:T=V.lastIndex-2,J.push(["atword",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T;break;case m:T=S,q=M.charCodeAt(T+1),ue&&q!==c&&q!==w&&q!==y&&q!==_&&q!==k&&q!==d&&(T+=1),J.push(["word",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T;break;case g:case f:case s:T=S+1,ie=M.slice(S+1,T+1);let Ze=M.slice(S-1,S);if(q===f&&ie.charCodeAt(0)===f){T++,J.push(["word",M.slice(S,T),E,S-G,E,T-G,S]),S=T-1;break}J.push(["operator",M.slice(S,T),E,S-G,E,T-G,S]),S=T-1;break;default:if(q===c&&(M.charCodeAt(S+1)===s||K.loose&&!L&&M.charCodeAt(S+1)===c)){if(M.charCodeAt(S+1)===s)T=M.indexOf("*/",S+2)+1,T===0&&ce("comment","*/");else{let Be=M.indexOf(` +`,S+2);T=Be!==-1?Be-1:Y}te=M.slice(S,T+1),z=te.split(` +`),ee=z.length-1,ee>0?(le=E+ee,re=T-z[ee].length):(le=E,re=G),J.push(["comment",te,E,S-G,le,T-re,S]),G=re,E=le,S=T}else if(q===v&&!j.test(M.slice(S+1,S+2)))T=S+1,J.push(["#",M.slice(S,T),E,S-G,E,T-G,S]),S=T-1;else if((q===H||q===D)&&M.charCodeAt(S+1)===g){T=S+2;do T+=1,q=M.charCodeAt(T);while(T=W&&q<=$&&(_e=O),_e.lastIndex=S+1,_e.test(M),_e.lastIndex===0?T=M.length-1:T=_e.lastIndex-2,_e===O||q===t){let Be=M.charCodeAt(T),Wt=M.charCodeAt(T+1),Vt=M.charCodeAt(T+2);(Be===N||Be===I)&&(Wt===f||Wt===g)&&Vt>=W&&Vt<=$&&(O.lastIndex=T+2,O.test(M),O.lastIndex===0?T=M.length-1:T=O.lastIndex-2)}J.push(["word",M.slice(S,T+1),E,S-G,E,T-G,S]),S=T}break}S++}return J}}}),jo=P({"node_modules/flatten/index.js"(e,n){A(),n.exports=function(u,o){if(o=typeof o=="number"?o:1/0,!o)return Array.isArray(u)?u.map(function(l){return l}):u;return h(u,1);function h(l,p){return l.reduce(function(m,c){return Array.isArray(c)&&px-N)}n.exports=class{constructor(x,N){let I={loose:!1};this.cache=[],this.input=x,this.options=Object.assign({},I,N),this.position=0,this.unbalanced=0,this.root=new i;let W=new u;this.root.append(W),this.current=W,this.tokens=g(x,this.options)}parse(){return this.loop()}colon(){let x=this.currToken;this.newNode(new h({value:x[1],source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6]})),this.position++}comma(){let x=this.currToken;this.newNode(new l({value:x[1],source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6]})),this.position++}comment(){let x=!1,N=this.currToken[1].replace(/\/\*|\*\//g,""),I;this.options.loose&&N.startsWith("//")&&(N=N.substring(2),x=!0),I=new p({value:N,inline:x,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(I),this.position++}error(x,N){throw new d(x+` at line: ${N[2]}, column ${N[3]}`)}loop(){for(;this.position0&&(this.current.type==="func"&&this.current.value==="calc"?this.prevToken[0]!=="space"&&this.prevToken[0]!=="("?this.error("Syntax Error",this.currToken):this.nextToken[0]!=="space"&&this.nextToken[0]!=="word"?this.error("Syntax Error",this.currToken):this.nextToken[0]==="word"&&this.current.last.type!=="operator"&&this.current.last.value!=="("&&this.error("Syntax Error",this.currToken):(this.nextToken[0]==="space"||this.nextToken[0]==="operator"||this.prevToken[0]==="operator")&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&this.current.last.type==="operator")&&this.nextToken[0]==="word")return this.word()}else if(this.nextToken[0]==="word")return this.word()}return N=new t({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(N)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word();break}}parenOpen(){let x=1,N=this.position+1,I=this.currToken,W;for(;N=this.tokens.length-1&&!this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",x),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let x=this.currToken;this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.raws.after+=x[1],this.position++):(this.spaces=x[1],this.position++)}unicodeRange(){let x=this.currToken;this.newNode(new f({value:x[1],source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6]})),this.position++}splitWord(){let x=this.nextToken,N=this.currToken[1],I=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/,W=/^(?!\#([a-z0-9]+))[\#\{\}]/gi,$,H;if(!W.test(N))for(;x&&x[0]==="word";){this.position++;let D=this.currToken[1];N+=D,x=this.nextToken}$=y(N,"@"),H=_(w(v([[0],$]))),H.forEach((D,V)=>{let B=H[V+1]||N.length,O=N.slice(D,B),j;if(~$.indexOf(D))j=new o({value:O.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+D},end:{line:this.currToken[4],column:this.currToken[3]+(B-1)}},sourceIndex:this.currToken[6]+H[V]});else if(I.test(this.currToken[1])){let C=O.replace(I,"");j=new c({value:O.replace(C,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+D},end:{line:this.currToken[4],column:this.currToken[3]+(B-1)}},sourceIndex:this.currToken[6]+H[V],unit:C})}else j=new(x&&x[0]==="("?m:s)({value:O,source:{start:{line:this.currToken[2],column:this.currToken[3]+D},end:{line:this.currToken[4],column:this.currToken[3]+(B-1)}},sourceIndex:this.currToken[6]+H[V]}),j.type==="word"?(j.isHex=/^#(.+)/.test(O),j.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(O)):this.cache.push(this.current);this.newNode(j)}),this.position++}string(){let x=this.currToken,N=this.currToken[1],I=/^(\"|\')/,W=I.test(N),$="",H;W&&($=N.match(I)[0],N=N.slice(1,N.length-1)),H=new a({value:N,source:{start:{line:x[2],column:x[3]},end:{line:x[4],column:x[5]}},sourceIndex:x[6],quoted:W}),H.raws.quote=$,this.newNode(H),this.position++}word(){return this.splitWord()}newNode(x){return this.spaces&&(x.raws.before+=this.spaces,this.spaces=""),this.current.append(x)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}}),gf=P({"node_modules/postcss-values-parser/lib/index.js"(e,n){"use strict";A();var i=mf(),u=so(),o=oo(),h=ao(),l=uo(),p=co(),m=lo(),c=fo(),t=po(),r=ho(),a=mo(),s=io(),f=vo(),g=function(v,y){return new i(v,y)};g.atword=function(v){return new u(v)},g.colon=function(v){return new o(Object.assign({value:":"},v))},g.comma=function(v){return new h(Object.assign({value:","},v))},g.comment=function(v){return new l(v)},g.func=function(v){return new p(v)},g.number=function(v){return new m(v)},g.operator=function(v){return new c(v)},g.paren=function(v){return new t(Object.assign({value:"("},v))},g.string=function(v){return new r(Object.assign({quote:"'"},v))},g.value=function(v){return new s(v)},g.word=function(v){return new f(v)},g.unicodeRange=function(v){return new a(v)},n.exports=g}}),ze=P({"node_modules/postcss-selector-parser/dist/selectors/node.js"(e,n){"use strict";A(),e.__esModule=!0;var i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l};function u(l,p){if(!(l instanceof p))throw new TypeError("Cannot call a class as a function")}var o=function l(p,m){if((typeof p>"u"?"undefined":i(p))!=="object")return p;var c=new p.constructor;for(var t in p)if(p.hasOwnProperty(t)){var r=p[t],a=typeof r>"u"?"undefined":i(r);t==="parent"&&a==="object"?m&&(c[t]=m):r instanceof Array?c[t]=r.map(function(s){return l(s,c)}):c[t]=l(r,c)}return c},h=function(){function l(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};u(this,l);for(var m in p)this[m]=p[m];var c=p.spaces;c=c===void 0?{}:c;var t=c.before,r=t===void 0?"":t,a=c.after,s=a===void 0?"":a;this.spaces={before:r,after:s}}return l.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},l.prototype.replaceWith=function(){if(this.parent){for(var m in arguments)this.parent.insertBefore(this,arguments[m]);this.remove()}return this},l.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},l.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},l.prototype.clone=function(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=o(this);for(var t in m)c[t]=m[t];return c},l.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},l}();e.default=h,n.exports=e.default}}),se=P({"node_modules/postcss-selector-parser/dist/selectors/types.js"(e){"use strict";A(),e.__esModule=!0;var n=e.TAG="tag",i=e.STRING="string",u=e.SELECTOR="selector",o=e.ROOT="root",h=e.PSEUDO="pseudo",l=e.NESTING="nesting",p=e.ID="id",m=e.COMMENT="comment",c=e.COMBINATOR="combinator",t=e.CLASS="class",r=e.ATTRIBUTE="attribute",a=e.UNIVERSAL="universal"}}),Dt=P({"node_modules/postcss-selector-parser/dist/selectors/container.js"(e,n){"use strict";A(),e.__esModule=!0;var i=function(){function s(f,g){for(var v=0;v=v&&(this.indexes[w]=y-1);return this},f.prototype.removeAll=function(){for(var w=this.nodes,v=Array.isArray(w),y=0,w=v?w:w[Symbol.iterator]();;){var d;if(v){if(y>=w.length)break;d=w[y++]}else{if(y=w.next(),y.done)break;d=y.value}var _=d;_.parent=void 0}return this.nodes=[],this},f.prototype.empty=function(){return this.removeAll()},f.prototype.insertAfter=function(v,y){var w=this.index(v);this.nodes.splice(w+1,0,y);var d=void 0;for(var _ in this.indexes)d=this.indexes[_],w<=d&&(this.indexes[_]=d+this.nodes.length);return this},f.prototype.insertBefore=function(v,y){var w=this.index(v);this.nodes.splice(w,0,y);var d=void 0;for(var _ in this.indexes)d=this.indexes[_],w<=d&&(this.indexes[_]=d+this.nodes.length);return this},f.prototype.each=function(v){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var y=this.lastEach;if(this.indexes[y]=0,!!this.length){for(var w=void 0,d=void 0;this.indexes[y],\[\]\\]|\/(?=\*)/g;function H(D){for(var V=[],B=D.css.valueOf(),O=void 0,j=void 0,C=void 0,R=void 0,X=void 0,Z=void 0,Q=void 0,K=void 0,J=void 0,M=void 0,Y=void 0,G=B.length,E=-1,S=1,b=0,L=function(T,F){if(D.safe)B+=F,j=B.length-1;else throw D.error("Unclosed "+T,S,b-E,b)};b0?(K=S+X,J=j-R[X].length):(K=S,J=E),V.push(["comment",Z,S,b-E,K,j-J,b]),E=J,S=K,b=j):($.lastIndex=b+1,$.test(B),$.lastIndex===0?j=B.length-1:j=$.lastIndex-2,V.push(["word",B.slice(b,j+1),S,b-E,S,j-E,b]),b=j);break}b++}return V}n.exports=e.default}}),_f=P({"node_modules/postcss-selector-parser/dist/parser.js"(e,n){"use strict";A(),e.__esModule=!0;var i=function(){function E(S,b){for(var L=0;L1?(F[0]===""&&(F[0]=!0),z.attribute=this.parseValue(F[2]),z.namespace=this.parseNamespace(F[0])):z.attribute=this.parseValue(T[0]),L=new $.default(z),T[2]){var ee=T[2].split(/(\s+i\s*?)$/),te=ee[0].trim();L.value=this.lossy?te:ee[0],ee[1]&&(L.insensitive=!0,this.lossy||(L.raws.insensitive=ee[1])),L.quoted=te[0]==="'"||te[0]==='"',L.raws.unquoted=L.quoted?te.slice(1,-1):te}this.newNode(L),this.position++},E.prototype.combinator=function(){if(this.currToken[1]==="|")return this.namespace();for(var b=new B.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&b.nextToken&&b.nextToken[0]==="("&&b.error("Misplaced parenthesis.")})}else this.error('Unexpected "'+this.currToken[0]+'" found.')},E.prototype.space=function(){var b=this.currToken;this.position===0||this.prevToken[0]===","||this.prevToken[0]==="("?(this.spaces=this.parseSpace(b[1]),this.position++):this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.spaces.after=this.parseSpace(b[1]),this.position++):this.combinator()},E.prototype.string=function(){var b=this.currToken;this.newNode(new x.default({value:this.currToken[1],source:{start:{line:b[2],column:b[3]},end:{line:b[4],column:b[5]}},sourceIndex:b[6]})),this.position++},E.prototype.universal=function(b){var L=this.nextToken;if(L&&L[1]==="|")return this.position++,this.namespace();this.newNode(new D.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),b),this.position++},E.prototype.splitWord=function(b,L){for(var q=this,T=this.nextToken,F=this.currToken[1];T&&T[0]==="word";){this.position++;var z=this.currToken[1];if(F+=z,z.lastIndexOf("\\")===z.length-1){var ee=this.nextToken;ee&&ee[0]==="space"&&(F+=this.parseSpace(ee[1]," "),this.position++)}T=this.nextToken}var te=(0,l.default)(F,"."),ue=(0,l.default)(F,"#"),le=(0,l.default)(F,"#{");le.length&&(ue=ue.filter(function(ne){return!~le.indexOf(ne)}));var re=(0,R.default)((0,m.default)((0,o.default)([[0],te,ue])));re.forEach(function(ne,oe){var ie=re[oe+1]||F.length,ce=F.slice(ne,ie);if(oe===0&&L)return L.call(q,ce,re.length);var fe=void 0;~te.indexOf(ne)?fe=new f.default({value:ce.slice(1),source:{start:{line:q.currToken[2],column:q.currToken[3]+ne},end:{line:q.currToken[4],column:q.currToken[3]+(ie-1)}},sourceIndex:q.currToken[6]+re[oe]}):~ue.indexOf(ne)?fe=new w.default({value:ce.slice(1),source:{start:{line:q.currToken[2],column:q.currToken[3]+ne},end:{line:q.currToken[4],column:q.currToken[3]+(ie-1)}},sourceIndex:q.currToken[6]+re[oe]}):fe=new _.default({value:ce,source:{start:{line:q.currToken[2],column:q.currToken[3]+ne},end:{line:q.currToken[4],column:q.currToken[3]+(ie-1)}},sourceIndex:q.currToken[6]+re[oe]}),q.newNode(fe,b)}),this.position++},E.prototype.word=function(b){var L=this.nextToken;return L&&L[1]==="|"?(this.position++,this.namespace()):this.splitWord(b)},E.prototype.loop=function(){for(;this.position1&&arguments[1]!==void 0?arguments[1]:{},a=new o.default({css:t,error:function(f){throw new Error(f)},options:r});return this.res=a,this.func(a),this},i(m,[{key:"result",get:function(){return String(this.res)}}]),m}();e.default=p,n.exports=e.default}}),xf=P({"node_modules/postcss-selector-parser/dist/index.js"(e,n){"use strict";A(),e.__esModule=!0;var i=bf(),u=O(i),o=Go(),h=O(o),l=Bo(),p=O(l),m=Jo(),c=O(m),t=Fo(),r=O(t),a=Uo(),s=O(a),f=Ko(),g=O(f),v=Vo(),y=O(v),w=Lo(),d=O(w),_=zo(),k=O(_),x=Wo(),N=O(x),I=$o(),W=O(I),$=Ho(),H=O($),D=se(),V=B(D);function B(C){if(C&&C.__esModule)return C;var R={};if(C!=null)for(var X in C)Object.prototype.hasOwnProperty.call(C,X)&&(R[X]=C[X]);return R.default=C,R}function O(C){return C&&C.__esModule?C:{default:C}}var j=function(R){return new u.default(R)};j.attribute=function(C){return new h.default(C)},j.className=function(C){return new p.default(C)},j.combinator=function(C){return new c.default(C)},j.comment=function(C){return new r.default(C)},j.id=function(C){return new s.default(C)},j.nesting=function(C){return new g.default(C)},j.pseudo=function(C){return new y.default(C)},j.root=function(C){return new d.default(C)},j.selector=function(C){return new k.default(C)},j.string=function(C){return new N.default(C)},j.tag=function(C){return new W.default(C)},j.universal=function(C){return new H.default(C)},Object.keys(V).forEach(function(C){C!=="__esModule"&&(j[C]=V[C])}),e.default=j,n.exports=e.default}}),Qo=P({"node_modules/postcss-media-query-parser/dist/nodes/Node.js"(e){"use strict";A(),Object.defineProperty(e,"__esModule",{value:!0});function n(i){this.after=i.after,this.before=i.before,this.type=i.type,this.value=i.value,this.sourceIndex=i.sourceIndex}e.default=n}}),Yo=P({"node_modules/postcss-media-query-parser/dist/nodes/Container.js"(e){"use strict";A(),Object.defineProperty(e,"__esModule",{value:!0});var n=Qo(),i=u(n);function u(h){return h&&h.__esModule?h:{default:h}}function o(h){var l=this;this.constructor(h),this.nodes=h.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:""),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach(function(p){p.parent=l})}o.prototype=Object.create(i.default.prototype),o.constructor=i.default,o.prototype.walk=function(l,p){for(var m=typeof l=="string"||l instanceof RegExp,c=m?p:l,t=typeof l=="string"?new RegExp(l):l,r=0;r0&&(r[w-1].after=f.before),f.type===void 0){if(w>0){if(r[w-1].type==="media-feature-expression"){f.type="keyword";continue}if(r[w-1].value==="not"||r[w-1].value==="only"){f.type="media-type";continue}if(r[w-1].value==="and"){f.type="media-feature-expression";continue}r[w-1].type==="media-type"&&(r[w+1]?f.type=r[w+1].type==="media-feature-expression"?"keyword":"media-feature-expression":f.type="media-feature-expression")}if(w===0){if(!r[w+1]){f.type="media-type";continue}if(r[w+1]&&(r[w+1].type==="media-feature-expression"||r[w+1].type==="keyword")){f.type="media-type";continue}if(r[w+2]){if(r[w+2].type==="media-feature-expression"){f.type="media-type",r[w+1].type="keyword";continue}if(r[w+2].type==="keyword"){f.type="keyword",r[w+1].type="media-type";continue}}if(r[w+3]&&r[w+3].type==="media-feature-expression"){f.type="keyword",r[w+1].type="media-type",r[w+2].type="keyword";continue}}}return r}function m(c){var t=[],r=0,a=0,s=/^(\s*)url\s*\(/.exec(c);if(s!==null){for(var f=s[0].length,g=1;g>0;){var v=c[f];v==="("&&g++,v===")"&&g--,f++}t.unshift(new i.default({type:"url",value:c.substring(0,f).trim(),sourceIndex:s[1].length,before:s[1],after:/^(\s*)/.exec(c.substring(f))[1]})),r=f}for(var y=r;yna,default:()=>sa,delimiter:()=>kt,dirname:()=>ta,extname:()=>ia,isAbsolute:()=>zt,join:()=>ea,normalize:()=>Lt,relative:()=>ra,resolve:()=>yr,sep:()=>St});function Zo(e,n){for(var i=0,u=e.length-1;u>=0;u--){var o=e[u];o==="."?e.splice(u,1):o===".."?(e.splice(u,1),i++):i&&(e.splice(u,1),i--)}if(n)for(;i--;i)e.unshift("..");return e}function yr(){for(var e="",n=!1,i=arguments.length-1;i>=-1&&!n;i--){var u=i>=0?arguments[i]:"/";if(typeof u!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!u)continue;e=u+"/"+e,n=u.charAt(0)==="/"}return e=Zo(Bt(e.split("/"),function(o){return!!o}),!n).join("/"),(n?"/":"")+e||"."}function Lt(e){var n=zt(e),i=oa(e,-1)==="/";return e=Zo(Bt(e.split("/"),function(u){return!!u}),!n).join("/"),!e&&!n&&(e="."),e&&i&&(e+="/"),(n?"/":"")+e}function zt(e){return e.charAt(0)==="/"}function ea(){var e=Array.prototype.slice.call(arguments,0);return Lt(Bt(e,function(n,i){if(typeof n!="string")throw new TypeError("Arguments to path.join must be strings");return n}).join("/"))}function ra(e,n){e=yr(e).substr(1),n=yr(n).substr(1);function i(c){for(var t=0;t=0&&c[r]==="";r--);return t>r?[]:c.slice(t,r-t+1)}for(var u=i(e.split("/")),o=i(n.split("/")),h=Math.min(u.length,o.length),l=h,p=0;p"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function t(g){return Function.toString.call(g).indexOf("[native code]")!==-1}function r(g,v){return r=Object.setPrototypeOf||function(w,d){return w.__proto__=d,w},r(g,v)}function a(g){return a=Object.setPrototypeOf?Object.getPrototypeOf:function(y){return y.__proto__||Object.getPrototypeOf(y)},a(g)}var s=function(g){l(v,g);function v(w,d,_,k,x,N){var I;return I=g.call(this,w)||this,I.name="CssSyntaxError",I.reason=w,x&&(I.file=x),k&&(I.source=k),N&&(I.plugin=N),typeof d<"u"&&typeof _<"u"&&(I.line=d,I.column=_),I.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(h(I),v),I}var y=v.prototype;return y.setMessage=function(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason},y.showSourceCode=function(d){var _=this;if(!this.source)return"";var k=this.source;u.default&&(typeof d>"u"&&(d=i.default.isColorSupported),d&&(k=(0,u.default)(k)));var x=k.split(/\r?\n/),N=Math.max(this.line-3,0),I=Math.min(this.line+2,x.length),W=String(I).length;function $(D){return d&&i.default.red?i.default.red(i.default.bold(D)):D}function H(D){return d&&i.default.gray?i.default.gray(D):D}return x.slice(N,I).map(function(D,V){var B=N+1+V,O=" "+(" "+B).slice(-W)+" | ";if(B===_.line){var j=H(O.replace(/\d/g," "))+D.slice(0,_.column-1).replace(/[^\t]/g," ");return $(">")+H(O)+D+` + `+j+$("^")}return" "+H(O)+D}).join(` +`)},y.toString=function(){var d=this.showSourceCode();return d&&(d=` + +`+d+` +`),this.name+": "+this.message+d},v}(p(Error)),f=s;e.default=f,n.exports=e.default}}),Af=P({"node_modules/postcss/lib/previous-map.js"(e,n){A(),n.exports=class{}}}),xr=P({"node_modules/postcss/lib/input.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=h(Tf()),u=h(aa()),o=h(Af());function h(r){return r&&r.__esModule?r:{default:r}}function l(r,a){for(var s=0;s"u"||typeof s=="object"&&!s.toString)throw new Error("PostCSS received "+s+" instead of CSS string");this.css=s.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,f.from&&(/^\w+:\/\//.test(f.from)||i.default.isAbsolute(f.from)?this.file=f.from:this.file=i.default.resolve(f.from));var g=new o.default(this.css,f);if(g.text){this.map=g;var v=g.consumer().file;!this.file&&v&&(this.file=this.mapResolve(v))}this.file||(m+=1,this.id=""),this.map&&(this.map.file=this.from)}var a=r.prototype;return a.error=function(f,g,v,y){y===void 0&&(y={});var w,d=this.origin(g,v);return d?w=new u.default(f,d.line,d.column,d.source,d.file,y.plugin):w=new u.default(f,g,v,this.css,this.file,y.plugin),w.input={line:g,column:v,source:this.css},this.file&&(w.input.file=this.file),w},a.origin=function(f,g){if(!this.map)return!1;var v=this.map.consumer(),y=v.originalPositionFor({line:f,column:g});if(!y.source)return!1;var w={file:this.mapResolve(y.source),line:y.line,column:y.column},d=v.sourceContentFor(y.source);return d&&(w.source=d),w},a.mapResolve=function(f){return/^\w+:\/\//.test(f)?f:i.default.resolve(this.map.consumer().sourceRoot||".",f)},p(r,[{key:"from",get:function(){return this.file||this.id}}]),r}(),t=c;e.default=t,n.exports=e.default}}),Sr=P({"node_modules/postcss/lib/stringifier.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i={colon:": ",indent:" ",beforeDecl:` +`,beforeRule:` +`,beforeOpen:" ",beforeClose:` +`,beforeComment:` +`,after:` +`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function u(l){return l[0].toUpperCase()+l.slice(1)}var o=function(){function l(m){this.builder=m}var p=l.prototype;return p.stringify=function(c,t){this[c.type](c,t)},p.root=function(c){this.body(c),c.raws.after&&this.builder(c.raws.after)},p.comment=function(c){var t=this.raw(c,"left","commentLeft"),r=this.raw(c,"right","commentRight");this.builder("/*"+t+c.text+r+"*/",c)},p.decl=function(c,t){var r=this.raw(c,"between","colon"),a=c.prop+r+this.rawValue(c,"value");c.important&&(a+=c.raws.important||" !important"),t&&(a+=";"),this.builder(a,c)},p.rule=function(c){this.block(c,this.rawValue(c,"selector")),c.raws.ownSemicolon&&this.builder(c.raws.ownSemicolon,c,"end")},p.atrule=function(c,t){var r="@"+c.name,a=c.params?this.rawValue(c,"params"):"";if(typeof c.raws.afterName<"u"?r+=c.raws.afterName:a&&(r+=" "),c.nodes)this.block(c,r+a);else{var s=(c.raws.between||"")+(t?";":"");this.builder(r+a+s,c)}},p.body=function(c){for(var t=c.nodes.length-1;t>0&&c.nodes[t].type==="comment";)t-=1;for(var r=this.raw(c,"semicolon"),a=0;a"u"&&(a=i[r]),f.rawCache[r]=a,a},p.rawSemicolon=function(c){var t;return c.walk(function(r){if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(t=r.raws.semicolon,typeof t<"u"))return!1}),t},p.rawEmptyBody=function(c){var t;return c.walk(function(r){if(r.nodes&&r.nodes.length===0&&(t=r.raws.after,typeof t<"u"))return!1}),t},p.rawIndent=function(c){if(c.raws.indent)return c.raws.indent;var t;return c.walk(function(r){var a=r.parent;if(a&&a!==c&&a.parent&&a.parent===c&&typeof r.raws.before<"u"){var s=r.raws.before.split(` +`);return t=s[s.length-1],t=t.replace(/[^\s]/g,""),!1}}),t},p.rawBeforeComment=function(c,t){var r;return c.walkComments(function(a){if(typeof a.raws.before<"u")return r=a.raws.before,r.indexOf(` +`)!==-1&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/[^\s]/g,"")),r},p.rawBeforeDecl=function(c,t){var r;return c.walkDecls(function(a){if(typeof a.raws.before<"u")return r=a.raws.before,r.indexOf(` +`)!==-1&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/[^\s]/g,"")),r},p.rawBeforeRule=function(c){var t;return c.walk(function(r){if(r.nodes&&(r.parent!==c||c.first!==r)&&typeof r.raws.before<"u")return t=r.raws.before,t.indexOf(` +`)!==-1&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/[^\s]/g,"")),t},p.rawBeforeClose=function(c){var t;return c.walk(function(r){if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return t=r.raws.after,t.indexOf(` +`)!==-1&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/[^\s]/g,"")),t},p.rawBeforeOpen=function(c){var t;return c.walk(function(r){if(r.type!=="decl"&&(t=r.raws.between,typeof t<"u"))return!1}),t},p.rawColon=function(c){var t;return c.walkDecls(function(r){if(typeof r.raws.between<"u")return t=r.raws.between.replace(/[^\s:]/g,""),!1}),t},p.beforeAfter=function(c,t){var r;c.type==="decl"?r=this.raw(c,null,"beforeDecl"):c.type==="comment"?r=this.raw(c,null,"beforeComment"):t==="before"?r=this.raw(c,null,"beforeRule"):r=this.raw(c,null,"beforeClose");for(var a=c.parent,s=0;a&&a.type!=="root";)s+=1,a=a.parent;if(r.indexOf(` +`)!==-1){var f=this.raw(c,null,"indent");if(f.length)for(var g=0;g=S}function ue(re){if(F.length)return F.pop();if(!(q>=S)){var ne=re?re.ignoreUnclosed:!1;switch(B=D.charCodeAt(q),(B===l||B===m||B===t&&D.charCodeAt(q+1)!==l)&&(b=q,L+=1),B){case l:case p:case c:case t:case m:O=q;do O+=1,B=D.charCodeAt(O),B===l&&(b=O,L+=1);while(B===p||B===l||B===c||B===t||B===m);E=["space",D.slice(q,O)],q=O-1;break;case r:case a:case g:case v:case d:case y:case f:var oe=String.fromCharCode(B);E=[oe,oe,L,q-b];break;case s:if(Y=T.length?T.pop()[1]:"",G=D.charCodeAt(q+1),Y==="url"&&G!==i&&G!==u&&G!==p&&G!==l&&G!==c&&G!==m&&G!==t){O=q;do{if(J=!1,O=D.indexOf(")",O+1),O===-1)if(V||ne){O=q;break}else ee("bracket");for(M=O;D.charCodeAt(M-1)===o;)M-=1,J=!J}while(J);E=["brackets",D.slice(q,O+1),L,q-b,L,O-b],q=O}else O=D.indexOf(")",q+1),X=D.slice(q,O+1),O===-1||N.test(X)?E=["(","(",L,q-b]:(E=["brackets",X,L,q-b,L,O-b],q=O);break;case i:case u:j=B===i?"'":'"',O=q;do{if(J=!1,O=D.indexOf(j,O+1),O===-1)if(V||ne){O=q+1;break}else ee("string");for(M=O;D.charCodeAt(M-1)===o;)M-=1,J=!J}while(J);X=D.slice(q,O+1),C=X.split(` +`),R=C.length-1,R>0?(Q=L+R,K=O-C[R].length):(Q=L,K=b),E=["string",D.slice(q,O+1),L,q-b,Q,O-K],b=K,L=Q,q=O;break;case _:k.lastIndex=q+1,k.test(D),k.lastIndex===0?O=D.length-1:O=k.lastIndex-2,E=["at-word",D.slice(q,O+1),L,q-b,L,O-b],q=O;break;case o:for(O=q,Z=!0;D.charCodeAt(O+1)===o;)O+=1,Z=!Z;if(B=D.charCodeAt(O+1),Z&&B!==h&&B!==p&&B!==l&&B!==c&&B!==t&&B!==m&&(O+=1,I.test(D.charAt(O)))){for(;I.test(D.charAt(O+1));)O+=1;D.charCodeAt(O+1)===p&&(O+=1)}E=["word",D.slice(q,O+1),L,q-b,L,O-b],q=O;break;default:B===h&&D.charCodeAt(q+1)===w?(O=D.indexOf("*/",q+2)+1,O===0&&(V||ne?O=D.length:ee("comment")),X=D.slice(q,O+1),C=X.split(` +`),R=C.length-1,R>0?(Q=L+R,K=O-C[R].length):(Q=L,K=b),E=["comment",X,L,q-b,Q,O-K],b=K,L=Q,q=O):(x.lastIndex=q+1,x.test(D),x.lastIndex===0?O=D.length-1:O=x.lastIndex-2,E=["word",D.slice(q,O+1),L,q-b,L,O-b],T.push(E),q=O);break}return q++,E}}function le(re){F.push(re)}return{back:le,nextToken:ue,endOfFile:te,position:z}}n.exports=e.default}}),la=P({"node_modules/postcss/lib/parse.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=o($t()),u=o(xr());function o(p){return p&&p.__esModule?p:{default:p}}function h(p,m){var c=new u.default(p,m),t=new i.default(c);try{t.parse()}catch(r){throw r}return t.root}var l=h;e.default=l,n.exports=e.default}}),Pf=P({"node_modules/postcss/lib/list.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i={split:function(h,l,p){for(var m=[],c="",t=!1,r=0,a=!1,s=!1,f=0;f0&&(r-=1):r===0&&l.indexOf(g)!==-1&&(t=!0),t?(c!==""&&m.push(c.trim()),c="",t=!1):c+=g}return(p||c!=="")&&m.push(c.trim()),m},space:function(h){var l=[" ",` +`," "];return i.split(h,l)},comma:function(h){return i.split(h,[","],!0)}},u=i;e.default=u,n.exports=e.default}}),fa=P({"node_modules/postcss/lib/rule.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=o(Or()),u=o(Pf());function o(t){return t&&t.__esModule?t:{default:t}}function h(t,r){for(var a=0;a"u"||g[Symbol.iterator]==null){if(Array.isArray(g)||(y=p(g))||v&&g&&typeof g.length=="number"){y&&(g=y);var w=0;return function(){return w>=g.length?{done:!0}:{done:!1,value:g[w++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return y=g[Symbol.iterator](),y.next.bind(y)}function p(g,v){if(g){if(typeof g=="string")return m(g,v);var y=Object.prototype.toString.call(g).slice(8,-1);if(y==="Object"&&g.constructor&&(y=g.constructor.name),y==="Map"||y==="Set")return Array.from(g);if(y==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(y))return m(g,v)}}function m(g,v){(v==null||v>g.length)&&(v=g.length);for(var y=0,w=new Array(v);y=d&&(this.indexes[k]=_-1);return this},y.removeAll=function(){for(var d=l(this.nodes),_;!(_=d()).done;){var k=_.value;k.parent=void 0}return this.nodes=[],this},y.replaceValues=function(d,_,k){return k||(k=_,_={}),this.walkDecls(function(x){_.props&&_.props.indexOf(x.prop)===-1||_.fast&&x.value.indexOf(_.fast)===-1||(x.value=x.value.replace(d,k))}),this},y.every=function(d){return this.nodes.every(d)},y.some=function(d){return this.nodes.some(d)},y.index=function(d){return typeof d=="number"?d:this.nodes.indexOf(d)},y.normalize=function(d,_){var k=this;if(typeof d=="string"){var x=la();d=a(x(d).nodes)}else if(Array.isArray(d)){d=d.slice(0);for(var N=l(d),I;!(I=N()).done;){var W=I.value;W.parent&&W.parent.removeChild(W,"ignore")}}else if(d.type==="root"){d=d.nodes.slice(0);for(var $=l(d),H;!(H=$()).done;){var D=H.value;D.parent&&D.parent.removeChild(D,"ignore")}}else if(d.type)d=[d];else if(d.prop){if(typeof d.value>"u")throw new Error("Value field is missed in node creation");typeof d.value!="string"&&(d.value=String(d.value)),d=[new i.default(d)]}else if(d.selector){var V=fa();d=[new V(d)]}else if(d.name){var B=pa();d=[new B(d)]}else if(d.text)d=[new u.default(d)];else throw new Error("Unknown node type in node creation");var O=d.map(function(j){return j.parent&&j.parent.removeChild(j),typeof j.raws.before>"u"&&_&&typeof _.raws.before<"u"&&(j.raws.before=_.raws.before.replace(/[^\s]/g,"")),j.parent=k,j});return O},t(v,[{key:"first",get:function(){if(this.nodes)return this.nodes[0]}},{key:"last",get:function(){if(this.nodes)return this.nodes[this.nodes.length-1]}}]),v}(o.default),f=s;e.default=f,n.exports=e.default}}),pa=P({"node_modules/postcss/lib/at-rule.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=u(Or());function u(p){return p&&p.__esModule?p:{default:p}}function o(p,m){p.prototype=Object.create(m.prototype),p.prototype.constructor=p,p.__proto__=m}var h=function(p){o(m,p);function m(t){var r;return r=p.call(this,t)||this,r.type="atrule",r}var c=m.prototype;return c.append=function(){var r;this.nodes||(this.nodes=[]);for(var a=arguments.length,s=new Array(a),f=0;f"u"||v[Symbol.iterator]==null){if(Array.isArray(v)||(w=c(v))||y&&v&&typeof v.length=="number"){w&&(v=w);var d=0;return function(){return d>=v.length?{done:!0}:{done:!1,value:v[d++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return w=v[Symbol.iterator](),w.next.bind(w)}function c(v,y){if(v){if(typeof v=="string")return t(v,y);var w=Object.prototype.toString.call(v).slice(8,-1);if(w==="Object"&&v.constructor&&(w=v.constructor.name),w==="Map"||w==="Set")return Array.from(v);if(w==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(w))return t(v,y)}}function t(v,y){(y==null||y>v.length)&&(y=v.length);for(var w=0,d=new Array(y);w"u"&&(_.map={}),_.map.inline||(_.map.inline=!1),_.map.prev=d.map);else{var x=l.default;_.syntax&&(x=_.syntax.parse),_.parser&&(x=_.parser),x.parse&&(x=x.parse);try{k=x(d,_)}catch(N){this.error=N}}this.result=new h.default(w,k,_)}var y=v.prototype;return y.warnings=function(){return this.sync().warnings()},y.toString=function(){return this.css},y.then=function(d,_){return this.async().then(d,_)},y.catch=function(d){return this.async().catch(d)},y.finally=function(d){return this.async().then(d,d)},y.handleError=function(d,_){try{if(this.error=d,d.name==="CssSyntaxError"&&!d.plugin)d.plugin=_.postcssPlugin,d.setMessage();else if(_.postcssVersion&&!1)// removed by dead control flow +{ var k, x, N, I, W; }}catch($){console&&console.error&&console.error($)}},y.asyncTick=function(d,_){var k=this;if(this.plugin>=this.processor.plugins.length)return this.processed=!0,d();try{var x=this.processor.plugins[this.plugin],N=this.run(x);this.plugin+=1,s(N)?N.then(function(){k.asyncTick(d,_)}).catch(function(I){k.handleError(I,x),k.processed=!0,_(I)}):this.asyncTick(d,_)}catch(I){this.processed=!0,_(I)}},y.async=function(){var d=this;return this.processed?new Promise(function(_,k){d.error?k(d.error):_(d.stringify())}):this.processing?this.processing:(this.processing=new Promise(function(_,k){if(d.error)return k(d.error);d.plugin=0,d.asyncTick(_,k)}).then(function(){return d.processed=!0,d.stringify()}),this.processing)},y.sync=function(){if(this.processed)return this.result;if(this.processed=!0,this.processing)throw new Error("Use process(css).then(cb) to work with async plugins");if(this.error)throw this.error;for(var d=m(this.result.processor.plugins),_;!(_=d()).done;){var k=_.value,x=this.run(k);if(s(x))throw new Error("Use process(css).then(cb) to work with async plugins")}return this.result},y.run=function(d){this.result.lastPlugin=d;try{return d(this.result.root,this.result)}catch(_){throw this.handleError(_,d),_}},y.stringify=function(){if(this.stringified)return this.result;this.stringified=!0,this.sync();var d=this.result.opts,_=u.default;d.syntax&&(_=d.syntax.stringify),d.stringifier&&(_=d.stringifier),_.stringify&&(_=_.stringify);var k=new i.default(_,this.result.root,this.result.opts),x=k.generate();return this.result.css=x[0],this.result.map=x[1],this.result},a(v,[{key:"processor",get:function(){return this.result.processor}},{key:"opts",get:function(){return this.result.opts}},{key:"css",get:function(){return this.stringify().css}},{key:"content",get:function(){return this.stringify().content}},{key:"map",get:function(){return this.stringify().map}},{key:"root",get:function(){return this.sync().root}},{key:"messages",get:function(){return this.sync().messages}}]),v}(),g=f;e.default=g,n.exports=e.default}}),jf=P({"node_modules/postcss/lib/processor.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=u(ha());function u(c){return c&&c.__esModule?c:{default:c}}function o(c,t){var r;if(typeof Symbol>"u"||c[Symbol.iterator]==null){if(Array.isArray(c)||(r=h(c))||t&&c&&typeof c.length=="number"){r&&(c=r);var a=0;return function(){return a>=c.length?{done:!0}:{done:!1,value:c[a++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return r=c[Symbol.iterator](),r.next.bind(r)}function h(c,t){if(c){if(typeof c=="string")return l(c,t);var r=Object.prototype.toString.call(c).slice(8,-1);if(r==="Object"&&c.constructor&&(r=c.constructor.name),r==="Map"||r==="Set")return Array.from(c);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return l(c,t)}}function l(c,t){(t==null||t>c.length)&&(t=c.length);for(var r=0,a=new Array(t);r"u"||t[Symbol.iterator]==null){if(Array.isArray(t)||(a=h(t))||r&&t&&typeof t.length=="number"){a&&(t=a);var s=0;return function(){return s>=t.length?{done:!0}:{done:!1,value:t[s++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}return a=t[Symbol.iterator](),a.next.bind(a)}function h(t,r){if(t){if(typeof t=="string")return l(t,r);var a=Object.prototype.toString.call(t).slice(8,-1);if(a==="Object"&&t.constructor&&(a=t.constructor.name),a==="Map"||a==="Set")return Array.from(t);if(a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return l(t,r)}}function l(t,r){(r==null||r>t.length)&&(r=t.length);for(var a=0,s=new Array(r);a1&&(this.nodes[1].raws.before=this.nodes[v].raws.before),t.prototype.removeChild.call(this,f)},a.normalize=function(f,g,v){var y=t.prototype.normalize.call(this,f);if(g){if(v==="prepend")this.nodes.length>1?g.raws.before=this.nodes[1].raws.before:delete g.raws.before;else if(this.first!==g)for(var w=o(y),d;!(d=w()).done;){var _=d.value;_.raws.before=g.raws.before}}return y},a.toResult=function(f){f===void 0&&(f={});var g=ha(),v=jf(),y=new g(new v,this,f);return y.stringify()},r}(i.default),c=m;e.default=c,n.exports=e.default}}),$t=P({"node_modules/postcss/lib/parser.js"(e,n){"use strict";A(),e.__esModule=!0,e.default=void 0;var i=m(ca()),u=m(Ut()),o=m(kr()),h=m(pa()),l=m(Mf()),p=m(fa());function m(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(a){this.input=a,this.root=new l.default,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:a,start:{line:1,column:1}}}var r=t.prototype;return r.createTokenizer=function(){this.tokenizer=(0,u.default)(this.input)},r.parse=function(){for(var s;!this.tokenizer.endOfFile();)switch(s=this.tokenizer.nextToken(),s[0]){case"space":this.spaces+=s[1];break;case";":this.freeSemicolon(s);break;case"}":this.end(s);break;case"comment":this.comment(s);break;case"at-word":this.atrule(s);break;case"{":this.emptyRule(s);break;default:this.other(s);break}this.endFile()},r.comment=function(s){var f=new o.default;this.init(f,s[2],s[3]),f.source.end={line:s[4],column:s[5]};var g=s[1].slice(2,-2);if(/^\s*$/.test(g))f.text="",f.raws.left=g,f.raws.right="";else{var v=g.match(/^(\s*)([^]*[^\s])(\s*)$/);f.text=v[2],f.raws.left=v[1],f.raws.right=v[3]}},r.emptyRule=function(s){var f=new p.default;this.init(f,s[2],s[3]),f.selector="",f.raws.between="",this.current=f},r.other=function(s){for(var f=!1,g=null,v=!1,y=null,w=[],d=[],_=s;_;){if(g=_[0],d.push(_),g==="("||g==="[")y||(y=_),w.push(g==="("?")":"]");else if(w.length===0)if(g===";")if(v){this.decl(d);return}else break;else if(g==="{"){this.rule(d);return}else if(g==="}"){this.tokenizer.back(d.pop()),f=!0;break}else g===":"&&(v=!0);else g===w[w.length-1]&&(w.pop(),w.length===0&&(y=null));_=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(f=!0),w.length>0&&this.unclosedBracket(y),f&&v){for(;d.length&&(_=d[d.length-1][0],!(_!=="space"&&_!=="comment"));)this.tokenizer.back(d.pop());this.decl(d)}else this.unknownWord(d)},r.rule=function(s){s.pop();var f=new p.default;this.init(f,s[0][2],s[0][3]),f.raws.between=this.spacesAndCommentsFromEnd(s),this.raw(f,"selector",s),this.current=f},r.decl=function(s){var f=new i.default;this.init(f);var g=s[s.length-1];for(g[0]===";"&&(this.semicolon=!0,s.pop()),g[4]?f.source.end={line:g[4],column:g[5]}:f.source.end={line:g[2],column:g[3]};s[0][0]!=="word";)s.length===1&&this.unknownWord(s),f.raws.before+=s.shift()[1];for(f.source.start={line:s[0][2],column:s[0][3]},f.prop="";s.length;){var v=s[0][0];if(v===":"||v==="space"||v==="comment")break;f.prop+=s.shift()[1]}f.raws.between="";for(var y;s.length;)if(y=s.shift(),y[0]===":"){f.raws.between+=y[1];break}else y[0]==="word"&&/\w/.test(y[1])&&this.unknownWord([y]),f.raws.between+=y[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1)),f.raws.between+=this.spacesAndCommentsFromStart(s),this.precheckMissedSemicolon(s);for(var w=s.length-1;w>0;w--){if(y=s[w],y[1].toLowerCase()==="!important"){f.important=!0;var d=this.stringFrom(s,w);d=this.spacesFromEnd(s)+d,d!==" !important"&&(f.raws.important=d);break}else if(y[1].toLowerCase()==="important"){for(var _=s.slice(0),k="",x=w;x>0;x--){var N=_[x][0];if(k.trim().indexOf("!")===0&&N!=="space")break;k=_.pop()[1]+k}k.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=k,s=_)}if(y[0]!=="space"&&y[0]!=="comment")break}this.raw(f,"value",s),f.value.indexOf(":")!==-1&&this.checkMissedSemicolon(s)},r.atrule=function(s){var f=new h.default;f.name=s[1].slice(1),f.name===""&&this.unnamedAtrule(f,s),this.init(f,s[2],s[3]);for(var g,v,y=!1,w=!1,d=[];!this.tokenizer.endOfFile();){if(s=this.tokenizer.nextToken(),s[0]===";"){f.source.end={line:s[2],column:s[3]},this.semicolon=!0;break}else if(s[0]==="{"){w=!0;break}else if(s[0]==="}"){if(d.length>0){for(v=d.length-1,g=d[v];g&&g[0]==="space";)g=d[--v];g&&(f.source.end={line:g[4],column:g[5]})}this.end(s);break}else d.push(s);if(this.tokenizer.endOfFile()){y=!0;break}}f.raws.between=this.spacesAndCommentsFromEnd(d),d.length?(f.raws.afterName=this.spacesAndCommentsFromStart(d),this.raw(f,"params",d),y&&(s=d[d.length-1],f.source.end={line:s[4],column:s[5]},this.spaces=f.raws.between,f.raws.between="")):(f.raws.afterName="",f.params=""),w&&(f.nodes=[],this.current=f)},r.end=function(s){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end={line:s[2],column:s[3]},this.current=this.current.parent):this.unexpectedClose(s)},r.endFile=function(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces},r.freeSemicolon=function(s){if(this.spaces+=s[1],this.current.nodes){var f=this.current.nodes[this.current.nodes.length-1];f&&f.type==="rule"&&!f.raws.ownSemicolon&&(f.raws.ownSemicolon=this.spaces,this.spaces="")}},r.init=function(s,f,g){this.current.push(s),s.source={start:{line:f,column:g},input:this.input},s.raws.before=this.spaces,this.spaces="",s.type!=="comment"&&(this.semicolon=!1)},r.raw=function(s,f,g){for(var v,y,w=g.length,d="",_=!0,k,x,N=/^([.|#])?([\w])+/i,I=0;I=0&&(v=s[y],!(v[0]!=="space"&&(g+=1,g===2)));y--);throw this.input.error("Missed semicolon",v[2],v[3])}},t}();e.default=c,n.exports=e.default}}),Df=P({"node_modules/postcss-less/lib/nodes/inline-comment.js"(e,n){A();var i=Ut(),u=xr();n.exports={isInlineComment(o){if(o[0]==="word"&&o[1].slice(0,2)==="//"){let h=o,l=[],p;for(;o;){if(/\r?\n/.test(o[1])){if(/['"].*\r?\n/.test(o[1])){l.push(o[1].substring(0,o[1].indexOf(` +`)));let c=o[1].substring(o[1].indexOf(` +`));c+=this.input.css.valueOf().substring(this.tokenizer.position()),this.input=new u(c),this.tokenizer=i(this.input)}else this.tokenizer.back(o);break}l.push(o[1]),p=o,o=this.tokenizer.nextToken({ignoreUnclosed:!0})}let m=["comment",l.join(""),h[2],h[3],p[2],p[3]];return this.inlineComment(m),!0}else if(o[1]==="/"){let h=this.tokenizer.nextToken({ignoreUnclosed:!0});if(h[0]==="comment"&&/^\/\*/.test(h[1]))return h[0]="word",h[1]=h[1].slice(1),o[1]="//",this.tokenizer.back(h),n.exports.isInlineComment.bind(this)(o)}return!1}}}}),Lf=P({"node_modules/postcss-less/lib/nodes/interpolation.js"(e,n){A(),n.exports={interpolation(i){let u=i,o=[i],h=["word","{","}"];if(i=this.tokenizer.nextToken(),u[1].length>1||i[0]!=="{")return this.tokenizer.back(i),!1;for(;i&&h.includes(i[0]);)o.push(i),i=this.tokenizer.nextToken();let l=o.map(r=>r[1]);[u]=o;let p=o.pop(),m=[u[2],u[3]],c=[p[4]||p[2],p[5]||p[3]],t=["word",l.join("")].concat(m,c);return this.tokenizer.back(i),this.tokenizer.back(t),!0}}}}),zf=P({"node_modules/postcss-less/lib/nodes/mixin.js"(e,n){A();var i=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,u=/\.[0-9]/,o=h=>{let[,l]=h,[p]=l;return(p==="."||p==="#")&&i.test(l)===!1&&u.test(l)===!1};n.exports={isMixinToken:o}}}),Bf=P({"node_modules/postcss-less/lib/nodes/import.js"(e,n){A();var i=Ut(),u=/^url\((.+)\)/;n.exports=o=>{let{name:h,params:l=""}=o;if(h==="import"&&l.length){o.import=!0;let p=i({css:l});for(o.filename=l.replace(u,"$1");!p.endOfFile();){let[m,c]=p.nextToken();if(m==="word"&&c==="url")return;if(m==="brackets"){o.options=c,o.filename=l.replace(c,"").trim();break}}}}}}),Ff=P({"node_modules/postcss-less/lib/nodes/variable.js"(e,n){A();var i=/:$/,u=/^:(\s+)?/;n.exports=o=>{let{name:h,params:l=""}=o;if(o.name.slice(-1)===":"){if(i.test(h)){let[p]=h.match(i);o.name=h.replace(p,""),o.raws.afterName=p+(o.raws.afterName||""),o.variable=!0,o.value=o.params}if(u.test(l)){let[p]=l.match(u);o.value=l.replace(p,""),o.raws.afterName=(o.raws.afterName||"")+p,o.variable=!0}}}}}),Uf=P({"node_modules/postcss-less/lib/LessParser.js"(e,n){A();var i=kr(),u=$t(),{isInlineComment:o}=Df(),{interpolation:h}=Lf(),{isMixinToken:l}=zf(),p=Bf(),m=Ff(),c=/(!\s*important)$/i;n.exports=class extends u{constructor(){super(...arguments),this.lastNode=null}atrule(r){h.bind(this)(r)||(super.atrule(r),p(this.lastNode),m(this.lastNode))}decl(){super.decl(...arguments),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(r){r[0][1]=` ${r[0][1]}`;let a=r.findIndex(y=>y[0]==="("),s=r.reverse().find(y=>y[0]===")"),f=r.reverse().indexOf(s),v=r.splice(a,f).map(y=>y[1]).join("");for(let y of r.reverse())this.tokenizer.back(y);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=v}init(r,a,s){super.init(r,a,s),this.lastNode=r}inlineComment(r){let a=new i,s=r[1].slice(2);if(this.init(a,r[2],r[3]),a.source.end={line:r[4],column:r[5]},a.inline=!0,a.raws.begin="//",/^\s*$/.test(s))a.text="",a.raws.left=s,a.raws.right="";else{let f=s.match(/^(\s*)([^]*[^\s])(\s*)$/);[,a.raws.left,a.text,a.raws.right]=f}}mixin(r){let[a]=r,s=a[1].slice(0,1),f=r.findIndex(d=>d[0]==="brackets"),g=r.findIndex(d=>d[0]==="("),v="";if((f<0||f>3)&&g>0){let d=r.reduce((V,B,O)=>B[0]===")"?O:V),k=r.slice(g,d+g).map(V=>V[1]).join(""),[x]=r.slice(g),N=[x[2],x[3]],[I]=r.slice(d,d+1),W=[I[2],I[3]],$=["brackets",k].concat(N,W),H=r.slice(0,g),D=r.slice(d+1);r=H,r.push($),r=r.concat(D)}let y=[];for(let d of r)if((d[1]==="!"||y.length)&&y.push(d),d[1]==="important")break;if(y.length){let[d]=y,_=r.indexOf(d),k=y[y.length-1],x=[d[2],d[3]],N=[k[4],k[5]],W=["word",y.map($=>$[1]).join("")].concat(x,N);r.splice(_,y.length,W)}let w=r.findIndex(d=>c.test(d[1]));w>0&&([,v]=r[w],r.splice(w,1));for(let d of r.reverse())this.tokenizer.back(d);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=s,v&&(this.lastNode.important=!0,this.lastNode.raws.important=v)}other(r){o.bind(this)(r)||super.other(r)}rule(r){let a=r[r.length-1],s=r[r.length-2];if(s[0]==="at-word"&&a[0]==="{"&&(this.tokenizer.back(a),h.bind(this)(s))){let g=this.tokenizer.nextToken();r=r.slice(0,r.length-2).concat([g]);for(let v of r.reverse())this.tokenizer.back(v);return}super.rule(r),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(r){let[a]=r;if(r[0][1]==="each"&&r[1][0]==="("){this.each(r);return}if(l(a)){this.mixin(r);return}super.unknownWord(r)}}}}),$f=P({"node_modules/postcss-less/lib/LessStringifier.js"(e,n){A();var i=Sr();n.exports=class extends i{atrule(o,h){if(!o.mixin&&!o.variable&&!o.function){super.atrule(o,h);return}let p=`${o.function?"":o.raws.identifier||"@"}${o.name}`,m=o.params?this.rawValue(o,"params"):"",c=o.raws.important||"";if(o.variable&&(m=o.value),typeof o.raws.afterName<"u"?p+=o.raws.afterName:m&&(p+=" "),o.nodes)this.block(o,p+m+c);else{let t=(o.raws.between||"")+c+(h?";":"");this.builder(p+m+t,o)}}comment(o){if(o.inline){let h=this.raw(o,"left","commentLeft"),l=this.raw(o,"right","commentRight");this.builder(`//${h}${o.text}${l}`,o)}else super.comment(o)}}}}),Wf=P({"node_modules/postcss-less/lib/index.js"(e,n){A();var i=xr(),u=Uf(),o=$f();n.exports={parse(h,l){let p=new i(h,l),m=new u(p);return m.parse(),m.root},stringify(h,l){new o(l).stringify(h)},nodeToString(h){let l="";return n.exports.stringify(h,p=>{l+=p}),l}}}}),Vf=P({"node_modules/postcss-scss/lib/scss-stringifier.js"(e,n){"use strict";A();function i(h,l){h.prototype=Object.create(l.prototype),h.prototype.constructor=h,h.__proto__=l}var u=Sr(),o=function(h){i(l,h);function l(){return h.apply(this,arguments)||this}var p=l.prototype;return p.comment=function(c){var t=this.raw(c,"left","commentLeft"),r=this.raw(c,"right","commentRight");if(c.raws.inline){var a=c.raws.text||c.text;this.builder("//"+t+a+r,c)}else this.builder("/*"+t+c.text+r+"*/",c)},p.decl=function(c,t){if(!c.isNested)h.prototype.decl.call(this,c,t);else{var r=this.raw(c,"between","colon"),a=c.prop+r+this.rawValue(c,"value");c.important&&(a+=c.raws.important||" !important"),this.builder(a+"{",c,"start");var s;c.nodes&&c.nodes.length?(this.body(c),s=this.raw(c,"after")):s=this.raw(c,"after","emptyBody"),s&&this.builder(s),this.builder("}",c,"end")}},p.rawValue=function(c,t){var r=c[t],a=c.raws[t];return a&&a.value===r?a.scss?a.scss:a.raw:r},l}(u);n.exports=o}}),Gf=P({"node_modules/postcss-scss/lib/scss-stringify.js"(e,n){"use strict";A();var i=Vf();n.exports=function(o,h){var l=new i(h);l.stringify(o)}}}),Hf=P({"node_modules/postcss-scss/lib/nested-declaration.js"(e,n){"use strict";A();function i(h,l){h.prototype=Object.create(l.prototype),h.prototype.constructor=h,h.__proto__=l}var u=Or(),o=function(h){i(l,h);function l(p){var m;return m=h.call(this,p)||this,m.type="decl",m.isNested=!0,m.nodes||(m.nodes=[]),m}return l}(u);n.exports=o}}),Jf=P({"node_modules/postcss-scss/lib/scss-tokenize.js"(e,n){"use strict";A();var i="'".charCodeAt(0),u='"'.charCodeAt(0),o="\\".charCodeAt(0),h="/".charCodeAt(0),l=` +`.charCodeAt(0),p=" ".charCodeAt(0),m="\f".charCodeAt(0),c=" ".charCodeAt(0),t="\r".charCodeAt(0),r="[".charCodeAt(0),a="]".charCodeAt(0),s="(".charCodeAt(0),f=")".charCodeAt(0),g="{".charCodeAt(0),v="}".charCodeAt(0),y=";".charCodeAt(0),w="*".charCodeAt(0),d=":".charCodeAt(0),_="@".charCodeAt(0),k=",".charCodeAt(0),x="#".charCodeAt(0),N=/[ \n\t\r\f{}()'"\\;/[\]#]/g,I=/[ \n\t\r\f(){}:;@!'"\\\][#]|\/(?=\*)/g,W=/.[\\/("'\n]/,$=/[a-f0-9]/i,H=/[\r\f\n]/g;n.exports=function(V,B){B===void 0&&(B={});var O=V.css.valueOf(),j=B.ignoreErrors,C,R,X,Z,Q,K,J,M,Y,G,E,S,b,L,q=O.length,T=-1,F=1,z=0,ee=[],te=[];function ue(ie){throw V.error("Unclosed "+ie,F,z-T)}function le(){return te.length===0&&z>=q}function re(){for(var ie=1,ce=!1,fe=!1;ie>0;)R+=1,O.length<=R&&ue("interpolation"),C=O.charCodeAt(R),S=O.charCodeAt(R+1),ce?!fe&&C===ce?(ce=!1,fe=!1):C===o?fe=!G:fe&&(fe=!1):C===i||C===u?ce=C:C===v?ie-=1:C===x&&S===g&&(ie+=1)}function ne(){if(te.length)return te.pop();if(!(z>=q)){switch(C=O.charCodeAt(z),(C===l||C===m||C===t&&O.charCodeAt(z+1)!==l)&&(T=z,F+=1),C){case l:case p:case c:case t:case m:R=z;do R+=1,C=O.charCodeAt(R),C===l&&(T=R,F+=1);while(C===p||C===l||C===c||C===t||C===m);b=["space",O.slice(z,R)],z=R-1;break;case r:b=["[","[",F,z-T];break;case a:b=["]","]",F,z-T];break;case g:b=["{","{",F,z-T];break;case v:b=["}","}",F,z-T];break;case k:b=["word",",",F,z-T,F,z-T+1];break;case d:b=[":",":",F,z-T];break;case y:b=[";",";",F,z-T];break;case s:if(E=ee.length?ee.pop()[1]:"",S=O.charCodeAt(z+1),E==="url"&&S!==i&&S!==u){for(L=1,G=!1,R=z+1;R<=O.length-1;){if(S=O.charCodeAt(R),S===o)G=!G;else if(S===s)L+=1;else if(S===f&&(L-=1,L===0))break;R+=1}K=O.slice(z,R+1),Z=K.split(` +`),Q=Z.length-1,Q>0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["brackets",K,F,z-T,M,R-Y],T=Y,F=M,z=R}else R=O.indexOf(")",z+1),K=O.slice(z,R+1),R===-1||W.test(K)?b=["(","(",F,z-T]:(b=["brackets",K,F,z-T,F,R-T],z=R);break;case f:b=[")",")",F,z-T];break;case i:case u:for(X=C,R=z,G=!1;R0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["string",O.slice(z,R+1),F,z-T,M,R-Y],T=Y,F=M,z=R;break;case _:N.lastIndex=z+1,N.test(O),N.lastIndex===0?R=O.length-1:R=N.lastIndex-2,b=["at-word",O.slice(z,R+1),F,z-T,F,R-T],z=R;break;case o:for(R=z,J=!0;O.charCodeAt(R+1)===o;)R+=1,J=!J;if(C=O.charCodeAt(R+1),J&&C!==h&&C!==p&&C!==l&&C!==c&&C!==t&&C!==m&&(R+=1,$.test(O.charAt(R)))){for(;$.test(O.charAt(R+1));)R+=1;O.charCodeAt(R+1)===p&&(R+=1)}b=["word",O.slice(z,R+1),F,z-T,F,R-T],z=R;break;default:S=O.charCodeAt(z+1),C===x&&S===g?(R=z,re(),K=O.slice(z,R+1),Z=K.split(` +`),Q=Z.length-1,Q>0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["word",K,F,z-T,M,R-Y],T=Y,F=M,z=R):C===h&&S===w?(R=O.indexOf("*/",z+2)+1,R===0&&(j?R=O.length:ue("comment")),K=O.slice(z,R+1),Z=K.split(` +`),Q=Z.length-1,Q>0?(M=F+Q,Y=R-Z[Q].length):(M=F,Y=T),b=["comment",K,F,z-T,M,R-Y],T=Y,F=M,z=R):C===h&&S===h?(H.lastIndex=z+1,H.test(O),H.lastIndex===0?R=O.length-1:R=H.lastIndex-2,K=O.slice(z,R+1),b=["comment",K,F,z-T,F,R-T,"inline"],z=R):(I.lastIndex=z+1,I.test(O),I.lastIndex===0?R=O.length-1:R=I.lastIndex-2,b=["word",O.slice(z,R+1),F,z-T,F,R-T],ee.push(b),z=R);break}return z++,b}}function oe(ie){te.push(ie)}return{back:oe,nextToken:ne,endOfFile:le}}}}),Kf=P({"node_modules/postcss-scss/lib/scss-parser.js"(e,n){"use strict";A();function i(m,c){m.prototype=Object.create(c.prototype),m.prototype.constructor=m,m.__proto__=c}var u=kr(),o=$t(),h=Hf(),l=Jf(),p=function(m){i(c,m);function c(){return m.apply(this,arguments)||this}var t=c.prototype;return t.createTokenizer=function(){this.tokenizer=l(this.input)},t.rule=function(a){for(var s=!1,f=0,g="",w=a,v=Array.isArray(w),y=0,w=v?w:w[Symbol.iterator]();;){var d;if(v){if(y>=w.length)break;d=w[y++]}else{if(y=w.next(),y.done)break;d=y.value}var _=d;if(s)_[0]!=="comment"&&_[0]!=="{"&&(g+=_[1]);else{if(_[0]==="space"&&_[1].indexOf(` +`)!==-1)break;_[0]==="("?f+=1:_[0]===")"?f-=1:f===0&&_[0]===":"&&(s=!0)}}if(!s||g.trim()===""||/^[a-zA-Z-:#]/.test(g))m.prototype.rule.call(this,a);else{a.pop();var k=new h;this.init(k);var x=a[a.length-1];for(x[4]?k.source.end={line:x[4],column:x[5]}:k.source.end={line:x[2],column:x[3]};a[0][0]!=="word";)k.raws.before+=a.shift()[1];for(k.source.start={line:a[0][2],column:a[0][3]},k.prop="";a.length;){var N=a[0][0];if(N===":"||N==="space"||N==="comment")break;k.prop+=a.shift()[1]}k.raws.between="";for(var I;a.length;)if(I=a.shift(),I[0]===":"){k.raws.between+=I[1];break}else k.raws.between+=I[1];(k.prop[0]==="_"||k.prop[0]==="*")&&(k.raws.before+=k.prop[0],k.prop=k.prop.slice(1)),k.raws.between+=this.spacesAndCommentsFromStart(a),this.precheckMissedSemicolon(a);for(var W=a.length-1;W>0;W--){if(I=a[W],I[1]==="!important"){k.important=!0;var $=this.stringFrom(a,W);$=this.spacesFromEnd(a)+$,$!==" !important"&&(k.raws.important=$);break}else if(I[1]==="important"){for(var H=a.slice(0),D="",V=W;V>0;V--){var B=H[V][0];if(D.trim().indexOf("!")===0&&B!=="space")break;D=H.pop()[1]+D}D.trim().indexOf("!")===0&&(k.important=!0,k.raws.important=D,a=H)}if(I[0]!=="space"&&I[0]!=="comment")break}this.raw(k,"value",a),k.value.indexOf(":")!==-1&&this.checkMissedSemicolon(a),this.current=k}},t.comment=function(a){if(a[6]==="inline"){var s=new u;this.init(s,a[2],a[3]),s.raws.inline=!0,s.source.end={line:a[4],column:a[5]};var f=a[1].slice(2);if(/^\s*$/.test(f))s.text="",s.raws.left=f,s.raws.right="";else{var g=f.match(/^(\s*)([^]*[^\s])(\s*)$/),v=g[2].replace(/(\*\/|\/\*)/g,"*//*");s.text=v,s.raws.left=g[1],s.raws.right=g[3],s.raws.text=g[2]}}else m.prototype.comment.call(this,a)},t.raw=function(a,s,f){if(m.prototype.raw.call(this,a,s,f),a.raws[s]){var g=a.raws[s].raw;a.raws[s].raw=f.reduce(function(v,y){if(y[0]==="comment"&&y[6]==="inline"){var w=y[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*");return v+"/*"+w+"*/"}else return v+y[1]},""),g!==a.raws[s].raw&&(a.raws[s].scss=g)}},c}(o);n.exports=p}}),Qf=P({"node_modules/postcss-scss/lib/scss-parse.js"(e,n){"use strict";A();var i=xr(),u=Kf();n.exports=function(h,l){var p=new i(h,l),m=new u(p);return m.parse(),m.root}}}),Yf=P({"node_modules/postcss-scss/lib/scss-syntax.js"(e,n){"use strict";A();var i=Gf(),u=Qf();n.exports={parse:u,stringify:i}}});A();var Xf=Sl(),mt=Us(),Zf=$s(),{hasPragma:ep}=Cl(),{locStart:rp,locEnd:tp}=no(),{calculateLoc:np,replaceQuotesInInlineComments:ip}=no(),sp=Dl(),op=Ll(),gt=zl(),da=Bl(),ap=Fl(),up=Ul(),cp=$l(),lp=Wl(),fp=e=>{for(;e.parent;)e=e.parent;return e};function pp(e,n){let{nodes:i}=e,u={open:null,close:null,groups:[],type:"paren_group"},o=[u],h=u,l={groups:[],type:"comma_group"},p=[l];for(let m=0;m0&&u.groups.push(l),u.close=c,p.length===1)throw new Error("Unbalanced parenthesis");p.pop(),l=mt(p),l.groups.push(u),o.pop(),u=mt(o)}else c.type==="comma"?(u.groups.push(l),l={groups:[],type:"comma_group"},p[p.length-1]=l):l.groups.push(c)}return l.groups.length>0&&u.groups.push(l),h}function vr(e){return e.type==="paren_group"&&!e.open&&!e.close&&e.groups.length===1||e.type==="comma_group"&&e.groups.length===1?vr(e.groups[0]):e.type==="paren_group"||e.type==="comma_group"?Object.assign(Object.assign({},e),{},{groups:e.groups.map(vr)}):e}function Xe(e,n,i){if(e&&typeof e=="object"){delete e.parent;for(let u in e)Xe(e[u],n,i),u==="type"&&typeof e[u]=="string"&&!e[u].startsWith(n)&&(!i||!i.test(e[u]))&&(e[u]=n+e[u])}return e}function va(e){if(e&&typeof e=="object"){delete e.parent;for(let n in e)va(e[n]);!Array.isArray(e)&&e.value&&!e.type&&(e.type="unknown")}return e}function ma(e,n){if(e&&typeof e=="object"){for(let i in e)i!=="parent"&&(ma(e[i],n),i==="nodes"&&(e.group=vr(pp(e,n)),delete e[i]));delete e.parent}return e}function Pe(e,n){let i=gf(),u=null;try{u=i(e,{loose:!0}).parse()}catch{return{type:"value-unknown",value:e}}u.text=e;let o=ma(u,n);return Xe(o,"value-",/^selector-/)}function Re(e){if(/\/\/|\/\*/.test(e))return{type:"selector-unknown",value:e.trim()};let n=xf(),i=null;try{n(u=>{i=u}).process(e)}catch{return{type:"selector-unknown",value:e}}return Xe(i,"selector-")}function hp(e){let n=kf().default,i=null;try{i=n(e)}catch{return{type:"selector-unknown",value:e}}return Xe(va(i),"media-")}var dp=/(\s*)(!default).*$/,vp=/(\s*)(!global).*$/;function ga(e,n){if(e&&typeof e=="object"){delete e.parent;for(let m in e)ga(e[m],n);if(!e.type)return e;e.raws||(e.raws={});let h="";if(typeof e.selector=="string"){var i;h=e.raws.selector?(i=e.raws.selector.scss)!==null&&i!==void 0?i:e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(h+=e.raws.between),e.raws.selector=h}let l="";if(typeof e.value=="string"){var u;l=e.raws.value?(u=e.raws.value.scss)!==null&&u!==void 0?u:e.raws.value.raw:e.value,l=l.trim(),e.raws.value=l}let p="";if(typeof e.params=="string"){var o;p=e.raws.params?(o=e.raws.params.scss)!==null&&o!==void 0?o:e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(p=e.raws.afterName+p),e.raws.between&&e.raws.between.trim().length>0&&(p=p+e.raws.between),p=p.trim(),e.raws.params=p}if(h.trim().length>0)return h.startsWith("@")&&h.endsWith(":")?e:e.mixin?(e.selector=Pe(h,n),e):(ap(e)&&(e.isSCSSNesterProperty=!0),e.selector=Re(h),e);if(l.length>0){let m=l.match(dp);m&&(l=l.slice(0,m.index),e.scssDefault=!0,m[0].trim()!=="!default"&&(e.raws.scssDefault=m[0]));let c=l.match(vp);if(c&&(l=l.slice(0,c.index),e.scssGlobal=!0,c[0].trim()!=="!global"&&(e.raws.scssGlobal=c[0])),l.startsWith("progid:"))return{type:"value-unknown",value:l};e.value=Pe(l,n)}if(gt(n)&&e.type==="css-decl"&&l.startsWith("extend(")&&(e.extend||(e.extend=e.raws.between===":"),e.extend&&!e.selector&&(delete e.value,e.selector=Re(l.slice(7,-1)))),e.type==="css-atrule"){if(gt(n)){if(e.mixin){let m=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=Re(m),delete e.params,e}if(e.function)return e}if(n.parser==="css"&&e.name==="custom-selector"){let m=e.params.match(/:--\S+\s+/)[0].trim();return e.customSelector=m,e.selector=Re(e.params.slice(m.length).trim()),delete e.params,e}if(gt(n)){if(e.name.includes(":")&&!e.params){e.variable=!0;let m=e.name.split(":");e.name=m[0],e.value=Pe(m.slice(1).join(":"),n)}if(!["page","nest","keyframes"].includes(e.name)&&e.params&&e.params[0]===":"){e.variable=!0;let m=e.params.slice(1);m&&(e.value=Pe(m,n)),e.raws.afterName+=":"}if(e.variable)return delete e.params,e.value||delete e.value,e}}if(e.type==="css-atrule"&&p.length>0){let{name:m}=e,c=e.name.toLowerCase();return m==="warn"||m==="error"?(e.params={type:"media-unknown",value:p},e):m==="extend"||m==="nest"?(e.selector=Re(p),delete e.params,e):m==="at-root"?(/^\(\s*(?:without|with)\s*:.+\)$/s.test(p)?e.params=Pe(p,n):(e.selector=Re(p),delete e.params),e):lp(c)?(e.import=!0,delete e.filename,e.params=Pe(p,n),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(m)?(p=p.replace(/(\$\S+?)(\s+)?\.{3}/,"$1...$2"),p=p.replace(/^(?!if)(\S+)(\s+)\(/,"$1($2"),e.value=Pe(p,n),delete e.params,e):["media","custom-media"].includes(c)?p.includes("#{")?{type:"media-unknown",value:p}:(e.params=hp(p),e):(e.params=p,e)}}return e}function ya(e,n,i){let u=Zf(n),{frontMatter:o}=u;n=u.content;let h;try{h=e(n)}catch(l){let{name:p,reason:m,line:c,column:t}=l;throw typeof c!="number"?l:Xf(`${p}: ${m}`,{start:{line:c,column:t}})}return h=ga(Xe(h,"css-"),i),np(h,n),o&&(o.source={startOffset:0,endOffset:o.raw.length},h.nodes.unshift(o)),h}function mp(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=da(i.parser,e)?[Tt,Ot]:[Ot,Tt],h;for(let l of o)try{return l(e,n,i)}catch(p){h=h||p}if(h)throw h}function Ot(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u=Wf();return ya(o=>u.parse(ip(o)),e,i)}function Tt(e,n){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},{parse:u}=Yf();return ya(u,e,i)}var yt={astFormat:"postcss",hasPragma:ep,locStart:rp,locEnd:tp};wa.exports={parsers:{css:Object.assign(Object.assign({},yt),{},{parse:mp}),less:Object.assign(Object.assign({},yt),{},{parse:Ot}),scss:Object.assign(Object.assign({},yt),{},{parse:Tt})}}});return gp();}); + +/***/ }, + +/***/ 16972 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var dt=(a,_)=>()=>(_||a((_={exports:{}}).exports,_),_.exports);var Mi=dt((dH,J7)=>{var Yh=function(a){return a&&a.Math==Math&&a};J7.exports=Yh(typeof globalThis=="object"&&globalThis)||Yh(typeof window=="object"&&window)||Yh(typeof self=="object"&&self)||Yh(typeof global=="object"&&global)||function(){return this}()||Function("return this")()});var Ha=dt((mH,F7)=>{F7.exports=function(a){try{return!!a()}catch{return!0}}});var As=dt((hH,B7)=>{var tq=Ha();B7.exports=!tq(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})});var p6=dt((gH,q7)=>{var rq=Ha();q7.exports=!rq(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var Zh=dt((yH,U7)=>{var nq=p6(),Qh=Function.prototype.call;U7.exports=nq?Qh.bind(Qh):function(){return Qh.apply(Qh,arguments)}});var H7=dt(V7=>{"use strict";var z7={}.propertyIsEnumerable,W7=Object.getOwnPropertyDescriptor,iq=W7&&!z7.call({1:2},1);V7.f=iq?function(_){var v=W7(this,_);return!!v&&v.enumerable}:z7});var f6=dt((bH,G7)=>{G7.exports=function(a,_){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:_}}});var Ps=dt((TH,X7)=>{var $7=p6(),K7=Function.prototype,d6=K7.call,aq=$7&&K7.bind.bind(d6,d6);X7.exports=$7?aq:function(a){return function(){return d6.apply(a,arguments)}}});var Z7=dt((SH,Q7)=>{var Y7=Ps(),sq=Y7({}.toString),oq=Y7("".slice);Q7.exports=function(a){return oq(sq(a),8,-1)}});var tw=dt((xH,ew)=>{var _q=Ps(),cq=Ha(),lq=Z7(),m6=Object,uq=_q("".split);ew.exports=cq(function(){return!m6("z").propertyIsEnumerable(0)})?function(a){return lq(a)=="String"?uq(a,""):m6(a)}:m6});var h6=dt((EH,rw)=>{rw.exports=function(a){return a==null}});var g6=dt((wH,nw)=>{var pq=h6(),fq=TypeError;nw.exports=function(a){if(pq(a))throw fq("Can't call method on "+a);return a}});var e1=dt((CH,iw)=>{var dq=tw(),mq=g6();iw.exports=function(a){return dq(mq(a))}});var v6=dt((AH,aw)=>{var y6=typeof document=="object"&&document.all,hq=typeof y6>"u"&&y6!==void 0;aw.exports={all:y6,IS_HTMLDDA:hq}});var aa=dt((PH,ow)=>{var sw=v6(),gq=sw.all;ow.exports=sw.IS_HTMLDDA?function(a){return typeof a=="function"||a===gq}:function(a){return typeof a=="function"}});var Jc=dt((DH,lw)=>{var _w=aa(),cw=v6(),yq=cw.all;lw.exports=cw.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:_w(a)||a===yq}:function(a){return typeof a=="object"?a!==null:_w(a)}});var t1=dt((kH,uw)=>{var b6=Mi(),vq=aa(),bq=function(a){return vq(a)?a:void 0};uw.exports=function(a,_){return arguments.length<2?bq(b6[a]):b6[a]&&b6[a][_]}});var fw=dt((IH,pw)=>{var Tq=Ps();pw.exports=Tq({}.isPrototypeOf)});var mw=dt((NH,dw)=>{var Sq=t1();dw.exports=Sq("navigator","userAgent")||""});var Sw=dt((OH,Tw)=>{var bw=Mi(),T6=mw(),hw=bw.process,gw=bw.Deno,yw=hw&&hw.versions||gw&&gw.version,vw=yw&&yw.v8,sa,r1;vw&&(sa=vw.split("."),r1=sa[0]>0&&sa[0]<4?1:+(sa[0]+sa[1]));!r1&&T6&&(sa=T6.match(/Edge\/(\d+)/),(!sa||sa[1]>=74)&&(sa=T6.match(/Chrome\/(\d+)/),sa&&(r1=+sa[1])));Tw.exports=r1});var S6=dt((MH,Ew)=>{var xw=Sw(),xq=Ha();Ew.exports=!!Object.getOwnPropertySymbols&&!xq(function(){var a=Symbol();return!String(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&xw&&xw<41})});var x6=dt((LH,ww)=>{var Eq=S6();ww.exports=Eq&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var E6=dt((RH,Cw)=>{var wq=t1(),Cq=aa(),Aq=fw(),Pq=x6(),Dq=Object;Cw.exports=Pq?function(a){return typeof a=="symbol"}:function(a){var _=wq("Symbol");return Cq(_)&&Aq(_.prototype,Dq(a))}});var Pw=dt((jH,Aw)=>{var kq=String;Aw.exports=function(a){try{return kq(a)}catch{return"Object"}}});var kw=dt((JH,Dw)=>{var Iq=aa(),Nq=Pw(),Oq=TypeError;Dw.exports=function(a){if(Iq(a))return a;throw Oq(Nq(a)+" is not a function")}});var Nw=dt((FH,Iw)=>{var Mq=kw(),Lq=h6();Iw.exports=function(a,_){var v=a[_];return Lq(v)?void 0:Mq(v)}});var Mw=dt((BH,Ow)=>{var w6=Zh(),C6=aa(),A6=Jc(),Rq=TypeError;Ow.exports=function(a,_){var v,h;if(_==="string"&&C6(v=a.toString)&&!A6(h=w6(v,a))||C6(v=a.valueOf)&&!A6(h=w6(v,a))||_!=="string"&&C6(v=a.toString)&&!A6(h=w6(v,a)))return h;throw Rq("Can't convert object to primitive value")}});var Rw=dt((qH,Lw)=>{Lw.exports=!1});var n1=dt((UH,Jw)=>{var jw=Mi(),jq=Object.defineProperty;Jw.exports=function(a,_){try{jq(jw,a,{value:_,configurable:!0,writable:!0})}catch{jw[a]=_}return _}});var i1=dt((zH,Bw)=>{var Jq=Mi(),Fq=n1(),Fw="__core-js_shared__",Bq=Jq[Fw]||Fq(Fw,{});Bw.exports=Bq});var P6=dt((WH,Uw)=>{var qq=Rw(),qw=i1();(Uw.exports=function(a,_){return qw[a]||(qw[a]=_!==void 0?_:{})})("versions",[]).push({version:"3.26.1",mode:qq?"pure":"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE",source:"https://github.com/zloirock/core-js"})});var Ww=dt((VH,zw)=>{var Uq=g6(),zq=Object;zw.exports=function(a){return zq(Uq(a))}});var oo=dt((HH,Vw)=>{var Wq=Ps(),Vq=Ww(),Hq=Wq({}.hasOwnProperty);Vw.exports=Object.hasOwn||function(_,v){return Hq(Vq(_),v)}});var D6=dt((GH,Hw)=>{var Gq=Ps(),$q=0,Kq=Math.random(),Xq=Gq(1 .toString);Hw.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+Xq(++$q+Kq,36)}});var Qw=dt(($H,Yw)=>{var Yq=Mi(),Qq=P6(),Gw=oo(),Zq=D6(),$w=S6(),Xw=x6(),Fc=Qq("wks"),p_=Yq.Symbol,Kw=p_&&p_.for,eU=Xw?p_:p_&&p_.withoutSetter||Zq;Yw.exports=function(a){if(!Gw(Fc,a)||!($w||typeof Fc[a]=="string")){var _="Symbol."+a;$w&&Gw(p_,a)?Fc[a]=p_[a]:Xw&&Kw?Fc[a]=Kw(_):Fc[a]=eU(_)}return Fc[a]}});var rC=dt((KH,tC)=>{var tU=Zh(),Zw=Jc(),eC=E6(),rU=Nw(),nU=Mw(),iU=Qw(),aU=TypeError,sU=iU("toPrimitive");tC.exports=function(a,_){if(!Zw(a)||eC(a))return a;var v=rU(a,sU),h;if(v){if(_===void 0&&(_="default"),h=tU(v,a,_),!Zw(h)||eC(h))return h;throw aU("Can't convert object to primitive value")}return _===void 0&&(_="number"),nU(a,_)}});var k6=dt((XH,nC)=>{var oU=rC(),_U=E6();nC.exports=function(a){var _=oU(a,"string");return _U(_)?_:_+""}});var sC=dt((YH,aC)=>{var cU=Mi(),iC=Jc(),I6=cU.document,lU=iC(I6)&&iC(I6.createElement);aC.exports=function(a){return lU?I6.createElement(a):{}}});var N6=dt((QH,oC)=>{var uU=As(),pU=Ha(),fU=sC();oC.exports=!uU&&!pU(function(){return Object.defineProperty(fU("div"),"a",{get:function(){return 7}}).a!=7})});var O6=dt(cC=>{var dU=As(),mU=Zh(),hU=H7(),gU=f6(),yU=e1(),vU=k6(),bU=oo(),TU=N6(),_C=Object.getOwnPropertyDescriptor;cC.f=dU?_C:function(_,v){if(_=yU(_),v=vU(v),TU)try{return _C(_,v)}catch{}if(bU(_,v))return gU(!mU(hU.f,_,v),_[v])}});var uC=dt((eG,lC)=>{var SU=As(),xU=Ha();lC.exports=SU&&xU(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42})});var a1=dt((tG,pC)=>{var EU=Jc(),wU=String,CU=TypeError;pC.exports=function(a){if(EU(a))return a;throw CU(wU(a)+" is not an object")}});var dp=dt(dC=>{var AU=As(),PU=N6(),DU=uC(),s1=a1(),fC=k6(),kU=TypeError,M6=Object.defineProperty,IU=Object.getOwnPropertyDescriptor,L6="enumerable",R6="configurable",j6="writable";dC.f=AU?DU?function(_,v,h){if(s1(_),v=fC(v),s1(h),typeof _=="function"&&v==="prototype"&&"value"in h&&j6 in h&&!h[j6]){var D=IU(_,v);D&&D[j6]&&(_[v]=h.value,h={configurable:R6 in h?h[R6]:D[R6],enumerable:L6 in h?h[L6]:D[L6],writable:!1})}return M6(_,v,h)}:M6:function(_,v,h){if(s1(_),v=fC(v),s1(h),PU)try{return M6(_,v,h)}catch{}if("get"in h||"set"in h)throw kU("Accessors not supported");return"value"in h&&(_[v]=h.value),_}});var J6=dt((nG,mC)=>{var NU=As(),OU=dp(),MU=f6();mC.exports=NU?function(a,_,v){return OU.f(a,_,MU(1,v))}:function(a,_,v){return a[_]=v,a}});var yC=dt((iG,gC)=>{var F6=As(),LU=oo(),hC=Function.prototype,RU=F6&&Object.getOwnPropertyDescriptor,B6=LU(hC,"name"),jU=B6&&function(){}.name==="something",JU=B6&&(!F6||F6&&RU(hC,"name").configurable);gC.exports={EXISTS:B6,PROPER:jU,CONFIGURABLE:JU}});var bC=dt((aG,vC)=>{var FU=Ps(),BU=aa(),q6=i1(),qU=FU(Function.toString);BU(q6.inspectSource)||(q6.inspectSource=function(a){return qU(a)});vC.exports=q6.inspectSource});var xC=dt((sG,SC)=>{var UU=Mi(),zU=aa(),TC=UU.WeakMap;SC.exports=zU(TC)&&/native code/.test(String(TC))});var CC=dt((oG,wC)=>{var WU=P6(),VU=D6(),EC=WU("keys");wC.exports=function(a){return EC[a]||(EC[a]=VU(a))}});var U6=dt((_G,AC)=>{AC.exports={}});var IC=dt((cG,kC)=>{var HU=xC(),DC=Mi(),GU=Jc(),$U=J6(),z6=oo(),W6=i1(),KU=CC(),XU=U6(),PC="Object already initialized",V6=DC.TypeError,YU=DC.WeakMap,o1,mp,_1,QU=function(a){return _1(a)?mp(a):o1(a,{})},ZU=function(a){return function(_){var v;if(!GU(_)||(v=mp(_)).type!==a)throw V6("Incompatible receiver, "+a+" required");return v}};HU||W6.state?(oa=W6.state||(W6.state=new YU),oa.get=oa.get,oa.has=oa.has,oa.set=oa.set,o1=function(a,_){if(oa.has(a))throw V6(PC);return _.facade=a,oa.set(a,_),_},mp=function(a){return oa.get(a)||{}},_1=function(a){return oa.has(a)}):(f_=KU("state"),XU[f_]=!0,o1=function(a,_){if(z6(a,f_))throw V6(PC);return _.facade=a,$U(a,f_,_),_},mp=function(a){return z6(a,f_)?a[f_]:{}},_1=function(a){return z6(a,f_)});var oa,f_;kC.exports={set:o1,get:mp,has:_1,enforce:QU,getterFor:ZU}});var G6=dt((lG,OC)=>{var ez=Ha(),tz=aa(),c1=oo(),H6=As(),rz=yC().CONFIGURABLE,nz=bC(),NC=IC(),iz=NC.enforce,az=NC.get,l1=Object.defineProperty,sz=H6&&!ez(function(){return l1(function(){},"length",{value:8}).length!==8}),oz=String(String).split("String"),_z=OC.exports=function(a,_,v){String(_).slice(0,7)==="Symbol("&&(_="["+String(_).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),v&&v.getter&&(_="get "+_),v&&v.setter&&(_="set "+_),(!c1(a,"name")||rz&&a.name!==_)&&(H6?l1(a,"name",{value:_,configurable:!0}):a.name=_),sz&&v&&c1(v,"arity")&&a.length!==v.arity&&l1(a,"length",{value:v.arity});try{v&&c1(v,"constructor")&&v.constructor?H6&&l1(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var h=iz(a);return c1(h,"source")||(h.source=oz.join(typeof _=="string"?_:"")),a};Function.prototype.toString=_z(function(){return tz(this)&&az(this).source||nz(this)},"toString")});var LC=dt((uG,MC)=>{var cz=aa(),lz=dp(),uz=G6(),pz=n1();MC.exports=function(a,_,v,h){h||(h={});var D=h.enumerable,P=h.name!==void 0?h.name:_;if(cz(v)&&uz(v,P,h),h.global)D?a[_]=v:pz(_,v);else{try{h.unsafe?a[_]&&(D=!0):delete a[_]}catch{}D?a[_]=v:lz.f(a,_,{value:v,enumerable:!1,configurable:!h.nonConfigurable,writable:!h.nonWritable})}return a}});var jC=dt((pG,RC)=>{var fz=Math.ceil,dz=Math.floor;RC.exports=Math.trunc||function(_){var v=+_;return(v>0?dz:fz)(v)}});var $6=dt((fG,JC)=>{var mz=jC();JC.exports=function(a){var _=+a;return _!==_||_===0?0:mz(_)}});var BC=dt((dG,FC)=>{var hz=$6(),gz=Math.max,yz=Math.min;FC.exports=function(a,_){var v=hz(a);return v<0?gz(v+_,0):yz(v,_)}});var UC=dt((mG,qC)=>{var vz=$6(),bz=Math.min;qC.exports=function(a){return a>0?bz(vz(a),9007199254740991):0}});var WC=dt((hG,zC)=>{var Tz=UC();zC.exports=function(a){return Tz(a.length)}});var GC=dt((gG,HC)=>{var Sz=e1(),xz=BC(),Ez=WC(),VC=function(a){return function(_,v,h){var D=Sz(_),P=Ez(D),y=xz(h,P),m;if(a&&v!=v){for(;P>y;)if(m=D[y++],m!=m)return!0}else for(;P>y;y++)if((a||y in D)&&D[y]===v)return a||y||0;return!a&&-1}};HC.exports={includes:VC(!0),indexOf:VC(!1)}});var XC=dt((yG,KC)=>{var wz=Ps(),K6=oo(),Cz=e1(),Az=GC().indexOf,Pz=U6(),$C=wz([].push);KC.exports=function(a,_){var v=Cz(a),h=0,D=[],P;for(P in v)!K6(Pz,P)&&K6(v,P)&&$C(D,P);for(;_.length>h;)K6(v,P=_[h++])&&(~Az(D,P)||$C(D,P));return D}});var QC=dt((vG,YC)=>{YC.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var e9=dt(ZC=>{var Dz=XC(),kz=QC(),Iz=kz.concat("length","prototype");ZC.f=Object.getOwnPropertyNames||function(_){return Dz(_,Iz)}});var r9=dt(t9=>{t9.f=Object.getOwnPropertySymbols});var i9=dt((SG,n9)=>{var Nz=t1(),Oz=Ps(),Mz=e9(),Lz=r9(),Rz=a1(),jz=Oz([].concat);n9.exports=Nz("Reflect","ownKeys")||function(_){var v=Mz.f(Rz(_)),h=Lz.f;return h?jz(v,h(_)):v}});var o9=dt((xG,s9)=>{var a9=oo(),Jz=i9(),Fz=O6(),Bz=dp();s9.exports=function(a,_,v){for(var h=Jz(_),D=Bz.f,P=Fz.f,y=0;y{var qz=Ha(),Uz=aa(),zz=/#|\.prototype\./,hp=function(a,_){var v=Vz[Wz(a)];return v==Gz?!0:v==Hz?!1:Uz(_)?qz(_):!!_},Wz=hp.normalize=function(a){return String(a).replace(zz,".").toLowerCase()},Vz=hp.data={},Hz=hp.NATIVE="N",Gz=hp.POLYFILL="P";_9.exports=hp});var u9=dt((wG,l9)=>{var X6=Mi(),$z=O6().f,Kz=J6(),Xz=LC(),Yz=n1(),Qz=o9(),Zz=c9();l9.exports=function(a,_){var v=a.target,h=a.global,D=a.stat,P,y,m,C,d,E;if(h?y=X6:D?y=X6[v]||Yz(v,{}):y=(X6[v]||{}).prototype,y)for(m in _){if(d=_[m],a.dontCallGetSet?(E=$z(y,m),C=E&&E.value):C=y[m],P=Zz(h?m:v+(D?".":"#")+m,a.forced),!P&&C!==void 0){if(typeof d==typeof C)continue;Qz(d,C)}(a.sham||C&&C.sham)&&Kz(d,"sham",!0),Xz(y,m,d,a)}}});var p9=dt(()=>{var eW=u9(),Y6=Mi();eW({global:!0,forced:Y6.globalThis!==Y6},{globalThis:Y6})});var f9=dt(()=>{p9()});var h9=dt((kG,m9)=>{var d9=G6(),tW=dp();m9.exports=function(a,_,v){return v.get&&d9(v.get,_,{getter:!0}),v.set&&d9(v.set,_,{setter:!0}),tW.f(a,_,v)}});var y9=dt((IG,g9)=>{"use strict";var rW=a1();g9.exports=function(){var a=rW(this),_="";return a.hasIndices&&(_+="d"),a.global&&(_+="g"),a.ignoreCase&&(_+="i"),a.multiline&&(_+="m"),a.dotAll&&(_+="s"),a.unicode&&(_+="u"),a.unicodeSets&&(_+="v"),a.sticky&&(_+="y"),_}});var T9=dt(()=>{var nW=Mi(),iW=As(),aW=h9(),sW=y9(),oW=Ha(),v9=nW.RegExp,b9=v9.prototype,_W=iW&&oW(function(){var a=!0;try{v9(".","d")}catch{a=!1}var _={},v="",h=a?"dgimsy":"gimsy",D=function(C,d){Object.defineProperty(_,C,{get:function(){return v+=d,!0}})},P={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(P.hasIndices="d");for(var y in P)D(y,P[y]);var m=Object.getOwnPropertyDescriptor(b9,"flags").get.call(_);return m!==h||v!==h});_W&&aW(b9,"flags",{configurable:!0,get:sW})});var uH=dt((MG,v5)=>{f9();T9();var iT=Object.defineProperty,cW=Object.getOwnPropertyDescriptor,aT=Object.getOwnPropertyNames,lW=Object.prototype.hasOwnProperty,yp=(a,_)=>function(){return a&&(_=(0,a[aT(a)[0]])(a=0)),_},Oe=(a,_)=>function(){return _||(0,a[aT(a)[0]])((_={exports:{}}).exports,_),_.exports},m1=(a,_)=>{for(var v in _)iT(a,v,{get:_[v],enumerable:!0})},uW=(a,_,v,h)=>{if(_&&typeof _=="object"||typeof _=="function")for(let D of aT(_))!lW.call(a,D)&&D!==v&&iT(a,D,{get:()=>_[D],enumerable:!(h=cW(_,D))||h.enumerable});return a},Li=a=>uW(iT({},"__esModule",{value:!0}),a),cn,De=yp({""(){cn={env:{},argv:[]}}}),w9=Oe({"src/common/parser-create-error.js"(a,_){"use strict";De();function v(h,D){let P=new SyntaxError(h+" ("+D.start.line+":"+D.start.column+")");return P.loc=D,P}_.exports=v}}),pW=Oe({"src/utils/try-combinations.js"(a,_){"use strict";De();function v(){let h;for(var D=arguments.length,P=new Array(D),y=0;yeT,arch:()=>fW,cpus:()=>O9,default:()=>J9,endianness:()=>A9,freemem:()=>I9,getNetworkInterfaces:()=>j9,hostname:()=>P9,loadavg:()=>D9,networkInterfaces:()=>R9,platform:()=>dW,release:()=>L9,tmpDir:()=>Q6,tmpdir:()=>Z6,totalmem:()=>N9,type:()=>M9,uptime:()=>k9});function A9(){if(typeof u1>"u"){var a=new ArrayBuffer(2),_=new Uint8Array(a),v=new Uint16Array(a);if(_[0]=1,_[1]=2,v[0]===258)u1="BE";else if(v[0]===513)u1="LE";else throw new Error("unable to figure out endianess")}return u1}function P9(){return typeof globalThis.location<"u"?globalThis.location.hostname:""}function D9(){return[]}function k9(){return 0}function I9(){return Number.MAX_VALUE}function N9(){return Number.MAX_VALUE}function O9(){return[]}function M9(){return"Browser"}function L9(){return typeof globalThis.navigator<"u"?globalThis.navigator.appVersion:""}function R9(){}function j9(){}function fW(){return"javascript"}function dW(){return"browser"}function Q6(){return"/tmp"}var u1,Z6,eT,J9,mW=yp({"node-modules-polyfills:os"(){De(),Z6=Q6,eT=` +`,J9={EOL:eT,tmpdir:Z6,tmpDir:Q6,networkInterfaces:R9,getNetworkInterfaces:j9,release:L9,type:M9,cpus:O9,totalmem:N9,freemem:I9,uptime:k9,loadavg:D9,hostname:P9,endianness:A9}}}),hW=Oe({"node-modules-polyfills-commonjs:os"(a,_){De();var v=(mW(),Li(C9));if(v&&v.default){_.exports=v.default;for(let h in v)_.exports[h]=v[h]}else v&&(_.exports=v)}}),gW=Oe({"node_modules/detect-newline/index.js"(a,_){"use strict";De();var v=h=>{if(typeof h!="string")throw new TypeError("Expected a string");let D=h.match(/(?:\r?\n)/g)||[];if(D.length===0)return;let P=D.filter(m=>m===`\r +`).length,y=D.length-P;return P>y?`\r +`:` +`};_.exports=v,_.exports.graceful=h=>typeof h=="string"&&v(h)||` +`}}),yW=Oe({"node_modules/jest-docblock/build/index.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.extract=M,a.parse=W,a.parseWithComments=K,a.print=ce,a.strip=q;function _(){let me=hW();return _=function(){return me},me}function v(){let me=h(gW());return v=function(){return me},me}function h(me){return me&&me.__esModule?me:{default:me}}var D=/\*\/$/,P=/^\/\*\*?/,y=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,m=/(^|\s+)\/\/([^\r\n]*)/g,C=/^(\r?\n)+/,d=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,E=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,I=/(\r?\n|^) *\* ?/g,c=[];function M(me){let Ae=me.match(y);return Ae?Ae[0].trimLeft():""}function q(me){let Ae=me.match(y);return Ae&&Ae[0]?me.substring(Ae[0].length):me}function W(me){return K(me).pragmas}function K(me){let Ae=(0,v().default)(me)||_().EOL;me=me.replace(P,"").replace(D,"").replace(I,"$1");let te="";for(;te!==me;)te=me,me=me.replace(d,`${Ae}$1 $2${Ae}`);me=me.replace(C,"").trimRight();let he=Object.create(null),Pe=me.replace(E,"").replace(C,"").trimRight(),R;for(;R=E.exec(me);){let pe=R[2].replace(m,"");typeof he[R[1]]=="string"||Array.isArray(he[R[1]])?he[R[1]]=c.concat(he[R[1]],pe):he[R[1]]=pe}return{comments:Pe,pragmas:he}}function ce(me){let{comments:Ae="",pragmas:te={}}=me,he=(0,v().default)(Ae)||_().EOL,Pe="/**",R=" *",pe=" */",ke=Object.keys(te),Je=ke.map(ee=>Ie(ee,te[ee])).reduce((ee,je)=>ee.concat(je),[]).map(ee=>`${R} ${ee}${he}`).join("");if(!Ae){if(ke.length===0)return"";if(ke.length===1&&!Array.isArray(te[ke[0]])){let ee=te[ke[0]];return`${Pe} ${Ie(ke[0],ee)[0]}${pe}`}}let Xe=Ae.split(he).map(ee=>`${R} ${ee}`).join(he)+he;return Pe+he+(Ae?Xe:"")+(Ae&&ke.length?R+he:"")+Je+pe}function Ie(me,Ae){return c.concat(Ae).map(te=>`@${me} ${te}`.trim())}}}),vW=Oe({"src/common/end-of-line.js"(a,_){"use strict";De();function v(y){let m=y.indexOf("\r");return m>=0?y.charAt(m+1)===` +`?"crlf":"cr":"lf"}function h(y){switch(y){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function D(y,m){let C;switch(m){case` +`:C=/\n/g;break;case"\r":C=/\r/g;break;case`\r +`:C=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(m)}.`)}let d=y.match(C);return d?d.length:0}function P(y){return y.replace(/\r\n?/g,` +`)}_.exports={guessEndOfLine:v,convertEndOfLineToChars:h,countEndOfLineChars:D,normalizeEndOfLine:P}}}),bW=Oe({"src/language-js/utils/get-shebang.js"(a,_){"use strict";De();function v(h){if(!h.startsWith("#!"))return"";let D=h.indexOf(` +`);return D===-1?h:h.slice(0,D)}_.exports=v}}),TW=Oe({"src/language-js/pragma.js"(a,_){"use strict";De();var{parseWithComments:v,strip:h,extract:D,print:P}=yW(),{normalizeEndOfLine:y}=vW(),m=bW();function C(I){let c=m(I);c&&(I=I.slice(c.length+1));let M=D(I),{pragmas:q,comments:W}=v(M);return{shebang:c,text:I,pragmas:q,comments:W}}function d(I){let c=Object.keys(C(I).pragmas);return c.includes("prettier")||c.includes("format")}function E(I){let{shebang:c,text:M,pragmas:q,comments:W}=C(I),K=h(M),ce=P({pragmas:Object.assign({format:""},q),comments:W.trimStart()});return(c?`${c} +`:"")+y(ce)+(K.startsWith(` +`)?` +`:` + +`)+K}_.exports={hasPragma:d,insertPragma:E}}}),F9=Oe({"src/utils/is-non-empty-array.js"(a,_){"use strict";De();function v(h){return Array.isArray(h)&&h.length>0}_.exports=v}}),B9=Oe({"src/language-js/loc.js"(a,_){"use strict";De();var v=F9();function h(C){var d,E;let I=C.range?C.range[0]:C.start,c=(d=(E=C.declaration)===null||E===void 0?void 0:E.decorators)!==null&&d!==void 0?d:C.decorators;return v(c)?Math.min(h(c[0]),I):I}function D(C){return C.range?C.range[1]:C.end}function P(C,d){let E=h(C);return Number.isInteger(E)&&E===h(d)}function y(C,d){let E=D(C);return Number.isInteger(E)&&E===D(d)}function m(C,d){return P(C,d)&&y(C,d)}_.exports={locStart:h,locEnd:D,hasSameLocStart:P,hasSameLoc:m}}}),SW=Oe({"src/language-js/parse/utils/create-parser.js"(a,_){"use strict";De();var{hasPragma:v}=TW(),{locStart:h,locEnd:D}=B9();function P(y){return y=typeof y=="function"?{parse:y}:y,Object.assign({astFormat:"estree",hasPragma:v,locStart:h,locEnd:D},y)}_.exports=P}}),xW=Oe({"src/language-js/parse/utils/replace-hashbang.js"(a,_){"use strict";De();function v(h){return h.charAt(0)==="#"&&h.charAt(1)==="!"?"//"+h.slice(2):h}_.exports=v}}),EW=Oe({"src/language-js/utils/is-ts-keyword-type.js"(a,_){"use strict";De();function v(h){let{type:D}=h;return D.startsWith("TS")&&D.endsWith("Keyword")}_.exports=v}}),wW=Oe({"src/language-js/utils/is-block-comment.js"(a,_){"use strict";De();var v=new Set(["Block","CommentBlock","MultiLine"]),h=D=>v.has(D==null?void 0:D.type);_.exports=h}}),CW=Oe({"src/language-js/utils/is-type-cast-comment.js"(a,_){"use strict";De();var v=wW();function h(D){return v(D)&&D.value[0]==="*"&&/@(?:type|satisfies)\b/.test(D.value)}_.exports=h}}),AW=Oe({"src/utils/get-last.js"(a,_){"use strict";De();var v=h=>h[h.length-1];_.exports=v}}),q9=Oe({"src/language-js/parse/postprocess/visit-node.js"(a,_){"use strict";De();function v(h,D){if(Array.isArray(h)){for(let P=0;P{ce.leadingComments&&ce.leadingComments.some(P)&&K.add(v(ce))}),M=m(M,ce=>{if(ce.type==="ParenthesizedExpression"){let{expression:Ie}=ce;if(Ie.type==="TypeCastExpression")return Ie.range=ce.range,Ie;let me=v(ce);if(!K.has(me))return Ie.extra=Object.assign(Object.assign({},Ie.extra),{},{parenthesized:!0}),Ie}})}return M=m(M,K=>{switch(K.type){case"ChainExpression":return E(K.expression);case"LogicalExpression":{if(I(K))return c(K);break}case"VariableDeclaration":{let ce=y(K.declarations);ce&&ce.init&&W(K,ce);break}case"TSParenthesizedType":return D(K.typeAnnotation)||K.typeAnnotation.type==="TSThisType"||(K.typeAnnotation.range=[v(K),h(K)]),K.typeAnnotation;case"TSTypeParameter":if(typeof K.name=="string"){let ce=v(K);K.name={type:"Identifier",name:K.name,range:[ce,ce+K.name.length]}}break;case"ObjectExpression":if(q.parser==="typescript"){let ce=K.properties.find(Ie=>Ie.type==="Property"&&Ie.value.type==="TSEmptyBodyFunctionExpression");ce&&C(ce.value,"Unexpected token.")}break;case"SequenceExpression":{let ce=y(K.expressions);K.range=[v(K),Math.min(h(ce),h(K))];break}case"TopicReference":q.__isUsingHackPipeline=!0;break;case"ExportAllDeclaration":{let{exported:ce}=K;if(q.parser==="meriyah"&&ce&&ce.type==="Identifier"){let Ie=q.originalText.slice(v(ce),h(ce));(Ie.startsWith('"')||Ie.startsWith("'"))&&(K.exported=Object.assign(Object.assign({},K.exported),{},{type:"Literal",value:K.exported.name,raw:Ie}))}break}case"PropertyDefinition":if(q.parser==="meriyah"&&K.static&&!K.computed&&!K.key){let ce="static",Ie=v(K);Object.assign(K,{static:!1,key:{type:"Identifier",name:ce,range:[Ie,Ie+ce.length]}})}break}}),M;function W(K,ce){q.originalText[h(ce)]!==";"&&(K.range=[v(K),h(ce)])}}function E(M){switch(M.type){case"CallExpression":M.type="OptionalCallExpression",M.callee=E(M.callee);break;case"MemberExpression":M.type="OptionalMemberExpression",M.object=E(M.object);break;case"TSNonNullExpression":M.expression=E(M.expression);break}return M}function I(M){return M.type==="LogicalExpression"&&M.right.type==="LogicalExpression"&&M.operator===M.right.operator}function c(M){return I(M)?c({type:"LogicalExpression",operator:M.operator,left:c({type:"LogicalExpression",operator:M.operator,left:M.left,right:M.right.left,range:[v(M.left),h(M.right.left)]}),right:M.right.right,range:[v(M),h(M)]}):M}_.exports=d}}),vr=Oe({"node_modules/typescript/lib/typescript.js"(a,_){De();var v=Object.defineProperty,h=Object.getOwnPropertyNames,D=(e,t)=>function(){return e&&(t=(0,e[h(e)[0]])(e=0)),t},P=(e,t)=>function(){return t||(0,e[h(e)[0]])((t={exports:{}}).exports,t),t.exports},y=(e,t)=>{for(var r in t)v(e,r,{get:t[r],enumerable:!0})},m,C,d,E=D({"src/compiler/corePublic.ts"(){"use strict";m="5.0",C="5.0.2",d=(e=>(e[e.LessThan=-1]="LessThan",e[e.EqualTo=0]="EqualTo",e[e.GreaterThan=1]="GreaterThan",e))(d||{})}});function I(e){return e?e.length:0}function c(e,t){if(e)for(let r=0;r=0;r--){let s=t(e[r],r);if(s)return s}}function q(e,t){if(e!==void 0)for(let r=0;r=0;s--){let f=e[s];if(t(f,s))return f}}function he(e,t,r){if(e===void 0)return-1;for(let s=r!=null?r:0;s=0;s--)if(t(e[s],s))return s;return-1}function R(e,t){for(let r=0;r2&&arguments[2]!==void 0?arguments[2]:fa;if(e){for(let s of e)if(r(s,t))return!0}return!1}function ke(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;return e.length===t.length&&e.every((s,f)=>r(s,t[f]))}function Je(e,t,r){for(let s=r||0;s{let x=t(f,s);if(x!==void 0){let[w,A]=x;w!==void 0&&A!==void 0&&r.set(w,A)}}),r}function la(e,t,r){if(e.has(t))return e.get(t);let s=r();return e.set(t,s),s}function ua(e,t){return e.has(t)?!1:(e.add(t),!0)}function*Ka(e){yield e}function co(e,t,r){let s;if(e){s=[];let f=e.length,x,w,A=0,g=0;for(;A{let[x,w]=t(f,s);r.set(x,w)}),r}function Ke(e,t){if(e)if(t){for(let r of e)if(t(r))return!0}else return e.length>0;return!1}function Et(e,t,r){let s;for(let f=0;fe[w])}function Uc(e,t){let r=[];for(let s of e)qn(r,s,t);return r}function ji(e,t,r){return e.length===0?[]:e.length===1?e.slice():r?m_(e,t,r):Uc(e,t)}function lo(e,t){if(e.length===0)return Bt;let r=e[0],s=[r];for(let f=1;f0&&(f&=-2),f&2&&s(x,g)>0&&(f&=-3),x=g}return f}function Hc(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fa;if(!e||!t)return e===t;if(e.length!==t.length)return!1;for(let s=0;s0&&Y.assertGreaterThanOrEqual(r(t[x],t[x-1]),0);t:for(let w=f;fw&&Y.assertGreaterThanOrEqual(r(e[f],e[f-1]),0),r(t[x],e[f])){case-1:s.push(t[x]);continue e;case 0:continue e;case 1:continue t}}return s}function tr(e,t){return t===void 0?e:e===void 0?[t]:(e.push(t),e)}function $c(e,t){return e===void 0?t:t===void 0?e:ir(e)?ir(t)?Ft(e,t):tr(e,t):ir(t)?tr(t,e):[e,t]}function po(e,t){return t<0?e.length+t:t}function jr(e,t,r,s){if(t===void 0||t.length===0)return e;if(e===void 0)return t.slice(r,s);r=r===void 0?0:po(t,r),s=s===void 0?t.length:po(t,s);for(let f=r;fr(e[s],e[f])||Vr(s,f))}function Is(e,t){return e.length===0?e:e.slice().sort(t)}function*y_(e){for(let t=e.length-1;t>=0;t--)yield e[t]}function Ns(e,t){let r=Wr(e);return ks(e,r,t),r.map(s=>e[s])}function Kc(e,t,r,s){for(;r>1),g=r(e[A],A);switch(s(g,t)){case-1:x=A+1;break;case 0:return A;case 1:w=A-1;break}}return~x}function Qa(e,t,r,s,f){if(e&&e.length>0){let x=e.length;if(x>0){let w=s===void 0||s<0?0:s,A=f===void 0||w+f>x-1?x-1:w+f,g;for(arguments.length<=2?(g=e[w],w++):g=r;w<=A;)g=t(g,e[w],w),w++;return g}}return r}function Jr(e,t){return ni.call(e,t)}function Qc(e,t){return ni.call(e,t)?e[t]:void 0}function ho(e){let t=[];for(let r in e)ni.call(e,r)&&t.push(r);return t}function T_(e){let t=[];do{let r=Object.getOwnPropertyNames(e);for(let s of r)qn(t,s)}while(e=Object.getPrototypeOf(e));return t}function go(e){let t=[];for(let r in e)ni.call(e,r)&&t.push(e[r]);return t}function yo(e,t){let r=new Array(e);for(let s=0;s1?t-1:0),s=1;s2&&arguments[2]!==void 0?arguments[2]:fa;if(e===t)return!0;if(!e||!t)return!1;for(let s in e)if(ni.call(e,s)&&(!ni.call(t,s)||!r(e[s],t[s])))return!1;for(let s in t)if(ni.call(t,s)&&!ni.call(e,s))return!1;return!0}function Zc(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=new Map;for(let f of e){let x=t(f);x!==void 0&&s.set(x,r(f))}return s}function Os(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=[];for(let f of e)s[t(f)]=r(f);return s}function bo(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr,s=Be();for(let f of e)s.add(t(f),r(f));return s}function el(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Za(bo(e,t).values(),r)}function x_(e,t){var r;let s={};if(e)for(let f of e){let x=`${t(f)}`;((r=s[x])!=null?r:s[x]=[]).push(f)}return s}function E_(e){let t={};for(let r in e)ni.call(e,r)&&(t[r]=e[r]);return t}function S(e,t){let r={};for(let s in t)ni.call(t,s)&&(r[s]=t[s]);for(let s in e)ni.call(e,s)&&(r[s]=e[s]);return r}function H(e,t){for(let r in t)ni.call(t,r)&&(e[r]=t[r])}function le(e,t){return t?t.bind(e):void 0}function Be(){let e=new Map;return e.add=rt,e.remove=ut,e}function rt(e,t){let r=this.get(e);return r?r.push(t):this.set(e,r=[t]),r}function ut(e,t){let r=this.get(e);r&&(bT(r,t),r.length||this.delete(e))}function Ht(){return Be()}function Fr(e){let t=(e==null?void 0:e.slice())||[],r=0;function s(){return r===t.length}function f(){t.push(...arguments)}function x(){if(s())throw new Error("Queue is empty");let w=t[r];if(t[r]=void 0,r++,r>100&&r>t.length>>1){let A=t.length-r;t.copyWithin(0,r),t.length=A,r=0}return w}return{enqueue:f,dequeue:x,isEmpty:s}}function Cr(e,t){let r=new Map,s=0;function*f(){for(let w of r.values())ir(w)?yield*w:yield w}let x={has(w){let A=e(w);if(!r.has(A))return!1;let g=r.get(A);if(!ir(g))return t(g,w);for(let B of g)if(t(B,w))return!0;return!1},add(w){let A=e(w);if(r.has(A)){let g=r.get(A);if(ir(g))pe(g,w,t)||(g.push(w),s++);else{let B=g;t(B,w)||(r.set(A,[B,w]),s++)}}else r.set(A,w),s++;return this},delete(w){let A=e(w);if(!r.has(A))return!1;let g=r.get(A);if(ir(g)){for(let B=0;Bf(),[Symbol.toStringTag]:r[Symbol.toStringTag]};return x}function ir(e){return Array.isArray(e)}function en(e){return ir(e)?e:[e]}function Ji(e){return typeof e=="string"}function gi(e){return typeof e=="number"}function ln(e,t){return e!==void 0&&t(e)?e:void 0}function ti(e,t){return e!==void 0&&t(e)?e:Y.fail(`Invalid cast. The supplied value ${e} did not pass the test '${Y.getFunctionName(t)}'.`)}function yn(e){}function w_(){return!1}function vp(){return!0}function C1(){}function rr(e){return e}function bp(e){return e.toLowerCase()}function Tp(e){return G1.test(e)?e.replace(G1,bp):e}function A1(){throw new Error("Not implemented")}function tl(e){let t;return()=>(e&&(t=e(),e=void 0),t)}function An(e){let t=new Map;return r=>{let s=`${typeof r}:${r}`,f=t.get(s);return f===void 0&&!t.has(s)&&(f=e(r),t.set(s,f)),f}}function P1(e){let t=new WeakMap;return r=>{let s=t.get(r);return s===void 0&&!t.has(r)&&(s=e(r),t.set(r,s)),s}}function D1(e,t){return function(){for(var r=arguments.length,s=new Array(r),f=0;fQa(x,(A,g)=>g(A),w)}else return s?x=>s(r(t(e(x)))):r?x=>r(t(e(x))):t?x=>t(e(x)):e?x=>e(x):x=>x}function fa(e,t){return e===t}function Ms(e,t){return e===t||e!==void 0&&t!==void 0&&e.toUpperCase()===t.toUpperCase()}function To(e,t){return fa(e,t)}function Sp(e,t){return e===t?0:e===void 0?-1:t===void 0?1:et(r,s)===-1?r:s)}function C_(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toUpperCase(),t=t.toUpperCase(),et?1:0)}function O1(e,t){return e===t?0:e===void 0?-1:t===void 0?1:(e=e.toLowerCase(),t=t.toLowerCase(),et?1:0)}function ri(e,t){return Sp(e,t)}function rl(e){return e?C_:ri}function M1(){return Ap}function xp(e){Ap!==e&&(Ap=e,K1=void 0)}function L1(e,t){return(K1||(K1=AT(Ap)))(e,t)}function R1(e,t,r,s){return e===t?0:e===void 0?-1:t===void 0?1:s(e[r],t[r])}function j1(e,t){return Vr(e?1:0,t?1:0)}function Ep(e,t,r){let s=Math.max(2,Math.floor(e.length*.34)),f=Math.floor(e.length*.4)+1,x;for(let w of t){let A=r(w);if(A!==void 0&&Math.abs(A.length-e.length)<=s){if(A===e||A.length<3&&A.toLowerCase()!==e.toLowerCase())continue;let g=J1(e,A,f-.1);if(g===void 0)continue;Y.assert(gr?A-r:1),N=Math.floor(t.length>r+A?r+A:t.length);f[0]=A;let X=A;for(let $=1;$r)return;let F=s;s=f,f=F}let w=s[t.length];return w>r?void 0:w}function es(e,t){let r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}function F1(e,t){return es(e,t)?e.slice(0,e.length-t.length):e}function B1(e,t){return es(e,t)?e.slice(0,e.length-t.length):void 0}function Fi(e,t){return e.indexOf(t)!==-1}function q1(e){let t=e.length;for(let r=t-1;r>0;r--){let s=e.charCodeAt(r);if(s>=48&&s<=57)do--r,s=e.charCodeAt(r);while(r>0&&s>=48&&s<=57);else if(r>4&&(s===110||s===78)){if(--r,s=e.charCodeAt(r),s!==105&&s!==73||(--r,s=e.charCodeAt(r),s!==109&&s!==77))break;--r,s=e.charCodeAt(r)}else break;if(s!==45&&s!==46)break;t=r}return t===e.length?e:e.slice(0,t)}function J(e,t){for(let r=0;rr===t)}function b5(e,t){for(let r=0;rf&&(f=w.prefix.length,s=x)}return s}function Pn(e,t){return e.lastIndexOf(t,0)===0}function x5(e,t){return Pn(e,t)?e.substr(t.length):e}function ST(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rr;return Pn(r(e),r(t))?e.substring(t.length):void 0}function z1(e,t){let{prefix:r,suffix:s}=e;return t.length>=r.length+s.length&&Pn(t,r)&&es(t,s)}function E5(e,t){return r=>e(r)&&t(r)}function W1(){for(var e=arguments.length,t=new Array(e),r=0;r2&&arguments[2]!==void 0?arguments[2]:" ";return t<=e.length?e:r.repeat(t-e.length)+e}function k5(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:" ";return t<=e.length?e:e+r.repeat(t-e.length)}function I5(e,t){if(e){let r=e.length,s=0;for(;s=0&&os(e.charCodeAt(t));)t--;return e.slice(0,t+1)}function M5(){return typeof cn<"u"&&cn.nextTick&&!cn.browser&&typeof _=="object"}var Bt,V1,ET,H1,wT,ni,CT,G1,$1,AT,K1,Ap,Pp,X1,nl,L5=D({"src/compiler/core.ts"(){"use strict";nn(),Bt=[],V1=new Map,ET=new Set,H1=(e=>(e[e.None=0]="None",e[e.CaseSensitive=1]="CaseSensitive",e[e.CaseInsensitive=2]="CaseInsensitive",e[e.Both=3]="Both",e))(H1||{}),wT=Array.prototype.at?(e,t)=>e==null?void 0:e.at(t):(e,t)=>{if(e&&(t=po(e,t),t(e[e.None=0]="None",e[e.Normal=1]="Normal",e[e.Aggressive=2]="Aggressive",e[e.VeryAggressive=3]="VeryAggressive",e))($1||{}),AT=(()=>{let e,t,r=A();return g;function s(B,N,X){if(B===N)return 0;if(B===void 0)return-1;if(N===void 0)return 1;let F=X(B,N);return F<0?-1:F>0?1:0}function f(B){let N=new Intl.Collator(B,{usage:"sort",sensitivity:"variant"}).compare;return(X,F)=>s(X,F,N)}function x(B){if(B!==void 0)return w();return(X,F)=>s(X,F,N);function N(X,F){return X.localeCompare(F)}}function w(){return(X,F)=>s(X,F,B);function B(X,F){return N(X.toUpperCase(),F.toUpperCase())||N(X,F)}function N(X,F){return XF?1:0}}function A(){return typeof Intl=="object"&&typeof Intl.Collator=="function"?f:typeof String.prototype.localeCompare=="function"&&typeof String.prototype.toLocaleUpperCase=="function"&&"a".localeCompare("B")<0?x:w}function g(B){return B===void 0?e||(e=r(B)):B==="en-US"?t||(t=r(B)):r(B)}})(),Pp=String.prototype.trim?e=>e.trim():e=>X1(nl(e)),X1=String.prototype.trimEnd?e=>e.trimEnd():O5,nl=String.prototype.trimStart?e=>e.trimStart():e=>e.replace(/^\s+/g,"")}}),Y1,Y,PT=D({"src/compiler/debug.ts"(){"use strict";nn(),nn(),Y1=(e=>(e[e.Off=0]="Off",e[e.Error=1]="Error",e[e.Warning=2]="Warning",e[e.Info=3]="Info",e[e.Verbose=4]="Verbose",e))(Y1||{}),(e=>{let t=0;e.currentLogLevel=2,e.isDebugging=!1;function r(ue){return e.currentLogLevel<=ue}e.shouldLog=r;function s(ue,He){e.loggingHost&&r(ue)&&e.loggingHost.log(ue,He)}function f(ue){s(3,ue)}e.log=f,(ue=>{function He(zt){s(1,zt)}ue.error=He;function _t(zt){s(2,zt)}ue.warn=_t;function ft(zt){s(3,zt)}ue.log=ft;function Kt(zt){s(4,zt)}ue.trace=Kt})(f=e.log||(e.log={}));let x={};function w(){return t}e.getAssertionLevel=w;function A(ue){let He=t;if(t=ue,ue>He)for(let _t of ho(x)){let ft=x[_t];ft!==void 0&&e[_t]!==ft.assertion&&ue>=ft.level&&(e[_t]=ft,x[_t]=void 0)}}e.setAssertionLevel=A;function g(ue){return t>=ue}e.shouldAssert=g;function B(ue,He){return g(ue)?!0:(x[He]={level:ue,assertion:e[He]},e[He]=yn,!1)}function N(ue,He){debugger;let _t=new Error(ue?`Debug Failure. ${ue}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(_t,He||N),_t}e.fail=N;function X(ue,He,_t){return N(`${He||"Unexpected node."}\r +Node ${mr(ue.kind)} was unexpected.`,_t||X)}e.failBadSyntaxKind=X;function F(ue,He,_t,ft){ue||(He=He?`False expression: ${He}`:"False expression.",_t&&(He+=`\r +Verbose Debug Information: `+(typeof _t=="string"?_t:_t())),N(He,ft||F))}e.assert=F;function $(ue,He,_t,ft,Kt){if(ue!==He){let zt=_t?ft?`${_t} ${ft}`:_t:"";N(`Expected ${ue} === ${He}. ${zt}`,Kt||$)}}e.assertEqual=$;function ae(ue,He,_t,ft){ue>=He&&N(`Expected ${ue} < ${He}. ${_t||""}`,ft||ae)}e.assertLessThan=ae;function Te(ue,He,_t){ue>He&&N(`Expected ${ue} <= ${He}`,_t||Te)}e.assertLessThanOrEqual=Te;function Se(ue,He,_t){ue= ${He}`,_t||Se)}e.assertGreaterThanOrEqual=Se;function Ye(ue,He,_t){ue==null&&N(He,_t||Ye)}e.assertIsDefined=Ye;function Ne(ue,He,_t){return Ye(ue,He,_t||Ne),ue}e.checkDefined=Ne;function oe(ue,He,_t){for(let ft of ue)Ye(ft,He,_t||oe)}e.assertEachIsDefined=oe;function Ve(ue,He,_t){return oe(ue,He,_t||Ve),ue}e.checkEachDefined=Ve;function pt(ue){let He=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Illegal value:",_t=arguments.length>2?arguments[2]:void 0,ft=typeof ue=="object"&&Jr(ue,"kind")&&Jr(ue,"pos")?"SyntaxKind: "+mr(ue.kind):JSON.stringify(ue);return N(`${He} ${ft}`,_t||pt)}e.assertNever=pt;function Gt(ue,He,_t,ft){B(1,"assertEachNode")&&F(He===void 0||me(ue,He),_t||"Unexpected node.",()=>`Node array did not pass test '${pn(He)}'.`,ft||Gt)}e.assertEachNode=Gt;function Nt(ue,He,_t,ft){B(1,"assertNode")&&F(ue!==void 0&&(He===void 0||He(ue)),_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} did not pass test '${pn(He)}'.`,ft||Nt)}e.assertNode=Nt;function Xt(ue,He,_t,ft){B(1,"assertNotNode")&&F(ue===void 0||He===void 0||!He(ue),_t||"Unexpected node.",()=>`Node ${mr(ue.kind)} should not have passed test '${pn(He)}'.`,ft||Xt)}e.assertNotNode=Xt;function er(ue,He,_t,ft){B(1,"assertOptionalNode")&&F(He===void 0||ue===void 0||He(ue),_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} did not pass test '${pn(He)}'.`,ft||er)}e.assertOptionalNode=er;function Tn(ue,He,_t,ft){B(1,"assertOptionalToken")&&F(He===void 0||ue===void 0||ue.kind===He,_t||"Unexpected node.",()=>`Node ${mr(ue==null?void 0:ue.kind)} was not a '${mr(He)}' token.`,ft||Tn)}e.assertOptionalToken=Tn;function Hr(ue,He,_t){B(1,"assertMissingNode")&&F(ue===void 0,He||"Unexpected node.",()=>`Node ${mr(ue.kind)} was unexpected'.`,_t||Hr)}e.assertMissingNode=Hr;function Gi(ue){}e.type=Gi;function pn(ue){if(typeof ue!="function")return"";if(Jr(ue,"name"))return ue.name;{let He=Function.prototype.toString.call(ue),_t=/^function\s+([\w\$]+)\s*\(/.exec(He);return _t?_t[1]:""}}e.getFunctionName=pn;function fn(ue){return`{ name: ${dl(ue.escapedName)}; flags: ${Sn(ue.flags)}; declarations: ${Ze(ue.declarations,He=>mr(He.kind))} }`}e.formatSymbol=fn;function Ut(){let ue=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,He=arguments.length>1?arguments[1]:void 0,_t=arguments.length>2?arguments[2]:void 0,ft=an(He);if(ue===0)return ft.length>0&&ft[0][0]===0?ft[0][1]:"0";if(_t){let Kt=[],zt=ue;for(let[xe,Le]of ft){if(xe>ue)break;xe!==0&&xe&ue&&(Kt.push(Le),zt&=~xe)}if(zt===0)return Kt.join("|")}else for(let[Kt,zt]of ft)if(Kt===ue)return zt;return ue.toString()}e.formatEnum=Ut;let kn=new Map;function an(ue){let He=kn.get(ue);if(He)return He;let _t=[];for(let Kt in ue){let zt=ue[Kt];typeof zt=="number"&&_t.push([zt,Kt])}let ft=Ns(_t,(Kt,zt)=>Vr(Kt[0],zt[0]));return kn.set(ue,ft),ft}function mr(ue){return Ut(ue,Np,!1)}e.formatSyntaxKind=mr;function $i(ue){return Ut(ue,zp,!1)}e.formatSnippetKind=$i;function dn(ue){return Ut(ue,Op,!0)}e.formatNodeFlags=dn;function Ur(ue){return Ut(ue,Mp,!0)}e.formatModifierFlags=Ur;function Gr(ue){return Ut(ue,Up,!0)}e.formatTransformFlags=Gr;function _r(ue){return Ut(ue,Wp,!0)}e.formatEmitFlags=_r;function Sn(ue){return Ut(ue,jp,!0)}e.formatSymbolFlags=Sn;function In(ue){return Ut(ue,Jp,!0)}e.formatTypeFlags=In;function pr(ue){return Ut(ue,Bp,!0)}e.formatSignatureFlags=pr;function Zt(ue){return Ut(ue,Fp,!0)}e.formatObjectFlags=Zt;function Or(ue){return Ut(ue,il,!0)}e.formatFlowFlags=Or;function Nn(ue){return Ut(ue,Lp,!0)}e.formatRelationComparisonResult=Nn;function ar(ue){return Ut(ue,CheckMode,!0)}e.formatCheckMode=ar;function oi(ue){return Ut(ue,SignatureCheckMode,!0)}e.formatSignatureCheckMode=oi;function cr(ue){return Ut(ue,TypeFacts,!0)}e.formatTypeFacts=cr;let $r=!1,hr;function On(ue){"__debugFlowFlags"in ue||Object.defineProperties(ue,{__tsDebuggerDisplay:{value(){let He=this.flags&2?"FlowStart":this.flags&4?"FlowBranchLabel":this.flags&8?"FlowLoopLabel":this.flags&16?"FlowAssignment":this.flags&32?"FlowTrueCondition":this.flags&64?"FlowFalseCondition":this.flags&128?"FlowSwitchClause":this.flags&256?"FlowArrayMutation":this.flags&512?"FlowCall":this.flags&1024?"FlowReduceLabel":this.flags&1?"FlowUnreachable":"UnknownFlow",_t=this.flags&~(2048-1);return`${He}${_t?` (${Or(_t)})`:""}`}},__debugFlowFlags:{get(){return Ut(this.flags,il,!0)}},__debugToString:{value(){return St(this)}}})}function nr(ue){$r&&(typeof Object.setPrototypeOf=="function"?(hr||(hr=Object.create(Object.prototype),On(hr)),Object.setPrototypeOf(ue,hr)):On(ue))}e.attachFlowNodeDebugInfo=nr;let br;function Kr(ue){"__tsDebuggerDisplay"in ue||Object.defineProperties(ue,{__tsDebuggerDisplay:{value(He){return He=String(He).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/,"]"),`NodeArray ${He}`}}})}function wa(ue){$r&&(typeof Object.setPrototypeOf=="function"?(br||(br=Object.create(Array.prototype),Kr(br)),Object.setPrototypeOf(ue,br)):Kr(ue))}e.attachNodeArrayDebugInfo=wa;function $n(){if($r)return;let ue=new WeakMap,He=new WeakMap;Object.defineProperties(lr.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let ft=this.flags&33554432?"TransientSymbol":"Symbol",Kt=this.flags&-33554433;return`${ft} '${rf(this)}'${Kt?` (${Sn(Kt)})`:""}`}},__debugFlags:{get(){return Sn(this.flags)}}}),Object.defineProperties(lr.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let ft=this.flags&98304?"NullableType":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:this.flags&8192?"UniqueESSymbolType":this.flags&32?"EnumType":this.flags&67359327?`IntrinsicType ${this.intrinsicName}`:this.flags&1048576?"UnionType":this.flags&2097152?"IntersectionType":this.flags&4194304?"IndexType":this.flags&8388608?"IndexedAccessType":this.flags&16777216?"ConditionalType":this.flags&33554432?"SubstitutionType":this.flags&262144?"TypeParameter":this.flags&524288?this.objectFlags&3?"InterfaceType":this.objectFlags&4?"TypeReference":this.objectFlags&8?"TupleType":this.objectFlags&16?"AnonymousType":this.objectFlags&32?"MappedType":this.objectFlags&1024?"ReverseMappedType":this.objectFlags&256?"EvolvingArrayType":"ObjectType":"Type",Kt=this.flags&524288?this.objectFlags&-1344:0;return`${ft}${this.symbol?` '${rf(this.symbol)}'`:""}${Kt?` (${Zt(Kt)})`:""}`}},__debugFlags:{get(){return In(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?Zt(this.objectFlags):""}},__debugTypeToString:{value(){let ft=ue.get(this);return ft===void 0&&(ft=this.checker.typeToString(this),ue.set(this,ft)),ft}}}),Object.defineProperties(lr.getSignatureConstructor().prototype,{__debugFlags:{get(){return pr(this.flags)}},__debugSignatureToString:{value(){var ft;return(ft=this.checker)==null?void 0:ft.signatureToString(this)}}});let _t=[lr.getNodeConstructor(),lr.getIdentifierConstructor(),lr.getTokenConstructor(),lr.getSourceFileConstructor()];for(let ft of _t)Jr(ft.prototype,"__debugKind")||Object.defineProperties(ft.prototype,{__tsDebuggerDisplay:{value(){return`${cs(this)?"GeneratedIdentifier":yt(this)?`Identifier '${qr(this)}'`:vn(this)?`PrivateIdentifier '${qr(this)}'`:Gn(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:zs(this)?`NumericLiteral ${this.text}`:Uv(this)?`BigIntLiteral ${this.text}n`:Fo(this)?"TypeParameterDeclaration":Vs(this)?"ParameterDeclaration":nc(this)?"ConstructorDeclaration":Gl(this)?"GetAccessorDeclaration":ic(this)?"SetAccessorDeclaration":Vv(this)?"CallSignatureDeclaration":R8(this)?"ConstructSignatureDeclaration":Hv(this)?"IndexSignatureDeclaration":j8(this)?"TypePredicateNode":ac(this)?"TypeReferenceNode":$l(this)?"FunctionTypeNode":Gv(this)?"ConstructorTypeNode":J8(this)?"TypeQueryNode":id(this)?"TypeLiteralNode":F8(this)?"ArrayTypeNode":B8(this)?"TupleTypeNode":q8(this)?"OptionalTypeNode":U8(this)?"RestTypeNode":z8(this)?"UnionTypeNode":W8(this)?"IntersectionTypeNode":V8(this)?"ConditionalTypeNode":H8(this)?"InferTypeNode":Kv(this)?"ParenthesizedTypeNode":Xv(this)?"ThisTypeNode":G8(this)?"TypeOperatorNode":$8(this)?"IndexedAccessTypeNode":K8(this)?"MappedTypeNode":Yv(this)?"LiteralTypeNode":$v(this)?"NamedTupleMember":Kl(this)?"ImportTypeNode":mr(this.kind)}${this.flags?` (${dn(this.flags)})`:""}`}},__debugKind:{get(){return mr(this.kind)}},__debugNodeFlags:{get(){return dn(this.flags)}},__debugModifierFlags:{get(){return Ur(Y4(this))}},__debugTransformFlags:{get(){return Gr(this.transformFlags)}},__debugIsParseTreeNode:{get(){return pl(this)}},__debugEmitFlags:{get(){return _r(xi(this))}},__debugGetText:{value(Kt){if(fs(this))return"";let zt=He.get(this);if(zt===void 0){let xe=fl(this),Le=xe&&Si(xe);zt=Le?No(Le,xe,Kt):"",He.set(this,zt)}return zt}}});$r=!0}e.enableDebugInfo=$n;function Ki(ue){let He=ue&7,_t=He===0?"in out":He===3?"[bivariant]":He===2?"in":He===1?"out":He===4?"[independent]":"";return ue&8?_t+=" (unmeasurable)":ue&16&&(_t+=" (unreliable)"),_t}e.formatVariance=Ki;class Mn{__debugToString(){var He;switch(this.kind){case 3:return((He=this.debugInfo)==null?void 0:He.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return ce(this.sources,this.targets||Ze(this.sources,()=>"any"),(_t,ft)=>`${_t.__debugTypeToString()} -> ${typeof ft=="string"?ft:ft.__debugTypeToString()}`).join(", ");case 2:return ce(this.sources,this.targets,(_t,ft)=>`${_t.__debugTypeToString()} -> ${ft().__debugTypeToString()}`).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(` +`).join(` + `)} +m2: ${this.mapper2.__debugToString().split(` +`).join(` + `)}`;default:return pt(this)}}}e.DebugTypeMapper=Mn;function _i(ue){return e.isDebugging?Object.setPrototypeOf(ue,Mn.prototype):ue}e.attachDebugPrototypeIfDebug=_i;function Ca(ue){return console.log(St(ue))}e.printControlFlowGraph=Ca;function St(ue){let He=-1;function _t(U){return U.id||(U.id=He,He--),U.id}let ft;(U=>{U.lr="\u2500",U.ud="\u2502",U.dr="\u256D",U.dl="\u256E",U.ul="\u256F",U.ur="\u2570",U.udr="\u251C",U.udl="\u2524",U.dlr="\u252C",U.ulr="\u2534",U.udlr="\u256B"})(ft||(ft={}));let Kt;(U=>{U[U.None=0]="None",U[U.Up=1]="Up",U[U.Down=2]="Down",U[U.Left=4]="Left",U[U.Right=8]="Right",U[U.UpDown=3]="UpDown",U[U.LeftRight=12]="LeftRight",U[U.UpLeft=5]="UpLeft",U[U.UpRight=9]="UpRight",U[U.DownLeft=6]="DownLeft",U[U.DownRight=10]="DownRight",U[U.UpDownLeft=7]="UpDownLeft",U[U.UpDownRight=11]="UpDownRight",U[U.UpLeftRight=13]="UpLeftRight",U[U.DownLeftRight=14]="DownLeftRight",U[U.UpDownLeftRight=15]="UpDownLeftRight",U[U.NoChildren=16]="NoChildren"})(Kt||(Kt={}));let zt=2032,xe=882,Le=Object.create(null),Re=[],ot=[],Ct=Aa(ue,new Set);for(let U of Re)U.text=xn(U.flowNode,U.circular),$s(U);let Mt=li(Ct),It=Yi(Mt);return Qi(Ct,0),Dt();function Mr(U){return!!(U.flags&128)}function gr(U){return!!(U.flags&12)&&!!U.antecedents}function Ln(U){return!!(U.flags&zt)}function ys(U){return!!(U.flags&xe)}function ci(U){let L=[];for(let fe of U.edges)fe.source===U&&L.push(fe.target);return L}function Xi(U){let L=[];for(let fe of U.edges)fe.target===U&&L.push(fe.source);return L}function Aa(U,L){let fe=_t(U),T=Le[fe];if(T&&L.has(U))return T.circular=!0,T={id:-1,flowNode:U,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},Re.push(T),T;if(L.add(U),!T)if(Le[fe]=T={id:fe,flowNode:U,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},Re.push(T),gr(U))for(let it of U.antecedents)vs(T,it,L);else Ln(U)&&vs(T,U.antecedent,L);return L.delete(U),T}function vs(U,L,fe){let T=Aa(L,fe),it={source:U,target:T};ot.push(it),U.edges.push(it),T.edges.push(it)}function $s(U){if(U.level!==-1)return U.level;let L=0;for(let fe of Xi(U))L=Math.max(L,$s(fe)+1);return U.level=L}function li(U){let L=0;for(let fe of ci(U))L=Math.max(L,li(fe));return L+1}function Yi(U){let L=Z(Array(U),0);for(let fe of Re)L[fe.level]=Math.max(L[fe.level],fe.text.length);return L}function Qi(U,L){if(U.lane===-1){U.lane=L,U.endLane=L;let fe=ci(U);for(let T=0;T0&&L++;let it=fe[T];Qi(it,L),it.endLane>U.endLane&&(L=it.endLane)}U.endLane=L}}function bs(U){if(U&2)return"Start";if(U&4)return"Branch";if(U&8)return"Loop";if(U&16)return"Assignment";if(U&32)return"True";if(U&64)return"False";if(U&128)return"SwitchClause";if(U&256)return"ArrayMutation";if(U&512)return"Call";if(U&1024)return"ReduceLabel";if(U&1)return"Unreachable";throw new Error}function Ai(U){let L=Si(U);return No(L,U,!1)}function xn(U,L){let fe=bs(U.flags);if(L&&(fe=`${fe}#${_t(U)}`),ys(U))U.node&&(fe+=` (${Ai(U.node)})`);else if(Mr(U)){let T=[];for(let it=U.clauseStart;itMath.max(_e,Ge.lane),0)+1,fe=Z(Array(L),""),T=It.map(()=>Array(L)),it=It.map(()=>Z(Array(L),0));for(let _e of Re){T[_e.level][_e.lane]=_e;let Ge=ci(_e);for(let jt=0;jt0&&($t|=1),jt0&&($t|=1),jt0?it[_e-1][Ge]:0,jt=Ge>0?it[_e][Ge-1]:0,Yt=it[_e][Ge];Yt||(bt&8&&(Yt|=12),jt&2&&(Yt|=3),it[_e][Ge]=Yt)}for(let _e=0;_e0?U.repeat(L):"";let fe="";for(;fe.length{},j5=()=>{},J5=()=>{},ts=Date.now,F5=()=>{},Dp=new Proxy(()=>{},{get:()=>Dp});function DT(e){var t;if(Q1){let r=(t=Z1.get(e))!=null?t:0;Z1.set(e,r+1),Ip.set(e,ts()),kp==null||kp.mark(e),typeof onProfilerEvent=="function"&&onProfilerEvent(e)}}function B5(e,t,r){var s,f;if(Q1){let x=(s=r!==void 0?Ip.get(r):void 0)!=null?s:ts(),w=(f=t!==void 0?Ip.get(t):void 0)!=null?f:kT,A=eg.get(e)||0;eg.set(e,A+(x-w)),kp==null||kp.measure(e,t,r)}}var kp,q5,Q1,kT,Ip,Z1,eg,pH=D({"src/compiler/performance.ts"(){"use strict";nn(),q5={enter:yn,exit:yn},Q1=!1,kT=ts(),Ip=new Map,Z1=new Map,eg=new Map}}),IT=()=>{},U5=()=>{},rs;function z5(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=qp[e.category];return t?r.toLowerCase():r}var Np,Op,Mp,tg,Lp,rg,ng,il,ig,Rp,ag,sg,og,_g,cg,lg,ug,pg,fg,dg,mg,hg,gg,yg,vg,jp,bg,Tg,Sg,xg,Jp,Fp,Eg,wg,Cg,Ag,Pg,Bp,Dg,kg,Ig,Ng,Og,Mg,qp,Lg,Rg,jg,Jg,Fg,Bg,qg,Ug,zg,Wg,Vg,Hg,Gg,$g,Kg,Up,zp,Wp,Xg,Yg,Qg,Zg,ey,ty,ry,ny,Vp,NT=D({"src/compiler/types.ts"(){"use strict";Np=(e=>(e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NumericLiteral=8]="NumericLiteral",e[e.BigIntLiteral=9]="BigIntLiteral",e[e.StringLiteral=10]="StringLiteral",e[e.JsxText=11]="JsxText",e[e.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=13]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=15]="TemplateHead",e[e.TemplateMiddle=16]="TemplateMiddle",e[e.TemplateTail=17]="TemplateTail",e[e.OpenBraceToken=18]="OpenBraceToken",e[e.CloseBraceToken=19]="CloseBraceToken",e[e.OpenParenToken=20]="OpenParenToken",e[e.CloseParenToken=21]="CloseParenToken",e[e.OpenBracketToken=22]="OpenBracketToken",e[e.CloseBracketToken=23]="CloseBracketToken",e[e.DotToken=24]="DotToken",e[e.DotDotDotToken=25]="DotDotDotToken",e[e.SemicolonToken=26]="SemicolonToken",e[e.CommaToken=27]="CommaToken",e[e.QuestionDotToken=28]="QuestionDotToken",e[e.LessThanToken=29]="LessThanToken",e[e.LessThanSlashToken=30]="LessThanSlashToken",e[e.GreaterThanToken=31]="GreaterThanToken",e[e.LessThanEqualsToken=32]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=34]="EqualsEqualsToken",e[e.ExclamationEqualsToken=35]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",e[e.PlusToken=39]="PlusToken",e[e.MinusToken=40]="MinusToken",e[e.AsteriskToken=41]="AsteriskToken",e[e.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",e[e.SlashToken=43]="SlashToken",e[e.PercentToken=44]="PercentToken",e[e.PlusPlusToken=45]="PlusPlusToken",e[e.MinusMinusToken=46]="MinusMinusToken",e[e.LessThanLessThanToken=47]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=50]="AmpersandToken",e[e.BarToken=51]="BarToken",e[e.CaretToken=52]="CaretToken",e[e.ExclamationToken=53]="ExclamationToken",e[e.TildeToken=54]="TildeToken",e[e.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",e[e.BarBarToken=56]="BarBarToken",e[e.QuestionToken=57]="QuestionToken",e[e.ColonToken=58]="ColonToken",e[e.AtToken=59]="AtToken",e[e.QuestionQuestionToken=60]="QuestionQuestionToken",e[e.BacktickToken=61]="BacktickToken",e[e.HashToken=62]="HashToken",e[e.EqualsToken=63]="EqualsToken",e[e.PlusEqualsToken=64]="PlusEqualsToken",e[e.MinusEqualsToken=65]="MinusEqualsToken",e[e.AsteriskEqualsToken=66]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=67]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=68]="SlashEqualsToken",e[e.PercentEqualsToken=69]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=70]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=73]="AmpersandEqualsToken",e[e.BarEqualsToken=74]="BarEqualsToken",e[e.BarBarEqualsToken=75]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=76]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=77]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=78]="CaretEqualsToken",e[e.Identifier=79]="Identifier",e[e.PrivateIdentifier=80]="PrivateIdentifier",e[e.BreakKeyword=81]="BreakKeyword",e[e.CaseKeyword=82]="CaseKeyword",e[e.CatchKeyword=83]="CatchKeyword",e[e.ClassKeyword=84]="ClassKeyword",e[e.ConstKeyword=85]="ConstKeyword",e[e.ContinueKeyword=86]="ContinueKeyword",e[e.DebuggerKeyword=87]="DebuggerKeyword",e[e.DefaultKeyword=88]="DefaultKeyword",e[e.DeleteKeyword=89]="DeleteKeyword",e[e.DoKeyword=90]="DoKeyword",e[e.ElseKeyword=91]="ElseKeyword",e[e.EnumKeyword=92]="EnumKeyword",e[e.ExportKeyword=93]="ExportKeyword",e[e.ExtendsKeyword=94]="ExtendsKeyword",e[e.FalseKeyword=95]="FalseKeyword",e[e.FinallyKeyword=96]="FinallyKeyword",e[e.ForKeyword=97]="ForKeyword",e[e.FunctionKeyword=98]="FunctionKeyword",e[e.IfKeyword=99]="IfKeyword",e[e.ImportKeyword=100]="ImportKeyword",e[e.InKeyword=101]="InKeyword",e[e.InstanceOfKeyword=102]="InstanceOfKeyword",e[e.NewKeyword=103]="NewKeyword",e[e.NullKeyword=104]="NullKeyword",e[e.ReturnKeyword=105]="ReturnKeyword",e[e.SuperKeyword=106]="SuperKeyword",e[e.SwitchKeyword=107]="SwitchKeyword",e[e.ThisKeyword=108]="ThisKeyword",e[e.ThrowKeyword=109]="ThrowKeyword",e[e.TrueKeyword=110]="TrueKeyword",e[e.TryKeyword=111]="TryKeyword",e[e.TypeOfKeyword=112]="TypeOfKeyword",e[e.VarKeyword=113]="VarKeyword",e[e.VoidKeyword=114]="VoidKeyword",e[e.WhileKeyword=115]="WhileKeyword",e[e.WithKeyword=116]="WithKeyword",e[e.ImplementsKeyword=117]="ImplementsKeyword",e[e.InterfaceKeyword=118]="InterfaceKeyword",e[e.LetKeyword=119]="LetKeyword",e[e.PackageKeyword=120]="PackageKeyword",e[e.PrivateKeyword=121]="PrivateKeyword",e[e.ProtectedKeyword=122]="ProtectedKeyword",e[e.PublicKeyword=123]="PublicKeyword",e[e.StaticKeyword=124]="StaticKeyword",e[e.YieldKeyword=125]="YieldKeyword",e[e.AbstractKeyword=126]="AbstractKeyword",e[e.AccessorKeyword=127]="AccessorKeyword",e[e.AsKeyword=128]="AsKeyword",e[e.AssertsKeyword=129]="AssertsKeyword",e[e.AssertKeyword=130]="AssertKeyword",e[e.AnyKeyword=131]="AnyKeyword",e[e.AsyncKeyword=132]="AsyncKeyword",e[e.AwaitKeyword=133]="AwaitKeyword",e[e.BooleanKeyword=134]="BooleanKeyword",e[e.ConstructorKeyword=135]="ConstructorKeyword",e[e.DeclareKeyword=136]="DeclareKeyword",e[e.GetKeyword=137]="GetKeyword",e[e.InferKeyword=138]="InferKeyword",e[e.IntrinsicKeyword=139]="IntrinsicKeyword",e[e.IsKeyword=140]="IsKeyword",e[e.KeyOfKeyword=141]="KeyOfKeyword",e[e.ModuleKeyword=142]="ModuleKeyword",e[e.NamespaceKeyword=143]="NamespaceKeyword",e[e.NeverKeyword=144]="NeverKeyword",e[e.OutKeyword=145]="OutKeyword",e[e.ReadonlyKeyword=146]="ReadonlyKeyword",e[e.RequireKeyword=147]="RequireKeyword",e[e.NumberKeyword=148]="NumberKeyword",e[e.ObjectKeyword=149]="ObjectKeyword",e[e.SatisfiesKeyword=150]="SatisfiesKeyword",e[e.SetKeyword=151]="SetKeyword",e[e.StringKeyword=152]="StringKeyword",e[e.SymbolKeyword=153]="SymbolKeyword",e[e.TypeKeyword=154]="TypeKeyword",e[e.UndefinedKeyword=155]="UndefinedKeyword",e[e.UniqueKeyword=156]="UniqueKeyword",e[e.UnknownKeyword=157]="UnknownKeyword",e[e.FromKeyword=158]="FromKeyword",e[e.GlobalKeyword=159]="GlobalKeyword",e[e.BigIntKeyword=160]="BigIntKeyword",e[e.OverrideKeyword=161]="OverrideKeyword",e[e.OfKeyword=162]="OfKeyword",e[e.QualifiedName=163]="QualifiedName",e[e.ComputedPropertyName=164]="ComputedPropertyName",e[e.TypeParameter=165]="TypeParameter",e[e.Parameter=166]="Parameter",e[e.Decorator=167]="Decorator",e[e.PropertySignature=168]="PropertySignature",e[e.PropertyDeclaration=169]="PropertyDeclaration",e[e.MethodSignature=170]="MethodSignature",e[e.MethodDeclaration=171]="MethodDeclaration",e[e.ClassStaticBlockDeclaration=172]="ClassStaticBlockDeclaration",e[e.Constructor=173]="Constructor",e[e.GetAccessor=174]="GetAccessor",e[e.SetAccessor=175]="SetAccessor",e[e.CallSignature=176]="CallSignature",e[e.ConstructSignature=177]="ConstructSignature",e[e.IndexSignature=178]="IndexSignature",e[e.TypePredicate=179]="TypePredicate",e[e.TypeReference=180]="TypeReference",e[e.FunctionType=181]="FunctionType",e[e.ConstructorType=182]="ConstructorType",e[e.TypeQuery=183]="TypeQuery",e[e.TypeLiteral=184]="TypeLiteral",e[e.ArrayType=185]="ArrayType",e[e.TupleType=186]="TupleType",e[e.OptionalType=187]="OptionalType",e[e.RestType=188]="RestType",e[e.UnionType=189]="UnionType",e[e.IntersectionType=190]="IntersectionType",e[e.ConditionalType=191]="ConditionalType",e[e.InferType=192]="InferType",e[e.ParenthesizedType=193]="ParenthesizedType",e[e.ThisType=194]="ThisType",e[e.TypeOperator=195]="TypeOperator",e[e.IndexedAccessType=196]="IndexedAccessType",e[e.MappedType=197]="MappedType",e[e.LiteralType=198]="LiteralType",e[e.NamedTupleMember=199]="NamedTupleMember",e[e.TemplateLiteralType=200]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=201]="TemplateLiteralTypeSpan",e[e.ImportType=202]="ImportType",e[e.ObjectBindingPattern=203]="ObjectBindingPattern",e[e.ArrayBindingPattern=204]="ArrayBindingPattern",e[e.BindingElement=205]="BindingElement",e[e.ArrayLiteralExpression=206]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=207]="ObjectLiteralExpression",e[e.PropertyAccessExpression=208]="PropertyAccessExpression",e[e.ElementAccessExpression=209]="ElementAccessExpression",e[e.CallExpression=210]="CallExpression",e[e.NewExpression=211]="NewExpression",e[e.TaggedTemplateExpression=212]="TaggedTemplateExpression",e[e.TypeAssertionExpression=213]="TypeAssertionExpression",e[e.ParenthesizedExpression=214]="ParenthesizedExpression",e[e.FunctionExpression=215]="FunctionExpression",e[e.ArrowFunction=216]="ArrowFunction",e[e.DeleteExpression=217]="DeleteExpression",e[e.TypeOfExpression=218]="TypeOfExpression",e[e.VoidExpression=219]="VoidExpression",e[e.AwaitExpression=220]="AwaitExpression",e[e.PrefixUnaryExpression=221]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=222]="PostfixUnaryExpression",e[e.BinaryExpression=223]="BinaryExpression",e[e.ConditionalExpression=224]="ConditionalExpression",e[e.TemplateExpression=225]="TemplateExpression",e[e.YieldExpression=226]="YieldExpression",e[e.SpreadElement=227]="SpreadElement",e[e.ClassExpression=228]="ClassExpression",e[e.OmittedExpression=229]="OmittedExpression",e[e.ExpressionWithTypeArguments=230]="ExpressionWithTypeArguments",e[e.AsExpression=231]="AsExpression",e[e.NonNullExpression=232]="NonNullExpression",e[e.MetaProperty=233]="MetaProperty",e[e.SyntheticExpression=234]="SyntheticExpression",e[e.SatisfiesExpression=235]="SatisfiesExpression",e[e.TemplateSpan=236]="TemplateSpan",e[e.SemicolonClassElement=237]="SemicolonClassElement",e[e.Block=238]="Block",e[e.EmptyStatement=239]="EmptyStatement",e[e.VariableStatement=240]="VariableStatement",e[e.ExpressionStatement=241]="ExpressionStatement",e[e.IfStatement=242]="IfStatement",e[e.DoStatement=243]="DoStatement",e[e.WhileStatement=244]="WhileStatement",e[e.ForStatement=245]="ForStatement",e[e.ForInStatement=246]="ForInStatement",e[e.ForOfStatement=247]="ForOfStatement",e[e.ContinueStatement=248]="ContinueStatement",e[e.BreakStatement=249]="BreakStatement",e[e.ReturnStatement=250]="ReturnStatement",e[e.WithStatement=251]="WithStatement",e[e.SwitchStatement=252]="SwitchStatement",e[e.LabeledStatement=253]="LabeledStatement",e[e.ThrowStatement=254]="ThrowStatement",e[e.TryStatement=255]="TryStatement",e[e.DebuggerStatement=256]="DebuggerStatement",e[e.VariableDeclaration=257]="VariableDeclaration",e[e.VariableDeclarationList=258]="VariableDeclarationList",e[e.FunctionDeclaration=259]="FunctionDeclaration",e[e.ClassDeclaration=260]="ClassDeclaration",e[e.InterfaceDeclaration=261]="InterfaceDeclaration",e[e.TypeAliasDeclaration=262]="TypeAliasDeclaration",e[e.EnumDeclaration=263]="EnumDeclaration",e[e.ModuleDeclaration=264]="ModuleDeclaration",e[e.ModuleBlock=265]="ModuleBlock",e[e.CaseBlock=266]="CaseBlock",e[e.NamespaceExportDeclaration=267]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=268]="ImportEqualsDeclaration",e[e.ImportDeclaration=269]="ImportDeclaration",e[e.ImportClause=270]="ImportClause",e[e.NamespaceImport=271]="NamespaceImport",e[e.NamedImports=272]="NamedImports",e[e.ImportSpecifier=273]="ImportSpecifier",e[e.ExportAssignment=274]="ExportAssignment",e[e.ExportDeclaration=275]="ExportDeclaration",e[e.NamedExports=276]="NamedExports",e[e.NamespaceExport=277]="NamespaceExport",e[e.ExportSpecifier=278]="ExportSpecifier",e[e.MissingDeclaration=279]="MissingDeclaration",e[e.ExternalModuleReference=280]="ExternalModuleReference",e[e.JsxElement=281]="JsxElement",e[e.JsxSelfClosingElement=282]="JsxSelfClosingElement",e[e.JsxOpeningElement=283]="JsxOpeningElement",e[e.JsxClosingElement=284]="JsxClosingElement",e[e.JsxFragment=285]="JsxFragment",e[e.JsxOpeningFragment=286]="JsxOpeningFragment",e[e.JsxClosingFragment=287]="JsxClosingFragment",e[e.JsxAttribute=288]="JsxAttribute",e[e.JsxAttributes=289]="JsxAttributes",e[e.JsxSpreadAttribute=290]="JsxSpreadAttribute",e[e.JsxExpression=291]="JsxExpression",e[e.CaseClause=292]="CaseClause",e[e.DefaultClause=293]="DefaultClause",e[e.HeritageClause=294]="HeritageClause",e[e.CatchClause=295]="CatchClause",e[e.AssertClause=296]="AssertClause",e[e.AssertEntry=297]="AssertEntry",e[e.ImportTypeAssertionContainer=298]="ImportTypeAssertionContainer",e[e.PropertyAssignment=299]="PropertyAssignment",e[e.ShorthandPropertyAssignment=300]="ShorthandPropertyAssignment",e[e.SpreadAssignment=301]="SpreadAssignment",e[e.EnumMember=302]="EnumMember",e[e.UnparsedPrologue=303]="UnparsedPrologue",e[e.UnparsedPrepend=304]="UnparsedPrepend",e[e.UnparsedText=305]="UnparsedText",e[e.UnparsedInternalText=306]="UnparsedInternalText",e[e.UnparsedSyntheticReference=307]="UnparsedSyntheticReference",e[e.SourceFile=308]="SourceFile",e[e.Bundle=309]="Bundle",e[e.UnparsedSource=310]="UnparsedSource",e[e.InputFiles=311]="InputFiles",e[e.JSDocTypeExpression=312]="JSDocTypeExpression",e[e.JSDocNameReference=313]="JSDocNameReference",e[e.JSDocMemberName=314]="JSDocMemberName",e[e.JSDocAllType=315]="JSDocAllType",e[e.JSDocUnknownType=316]="JSDocUnknownType",e[e.JSDocNullableType=317]="JSDocNullableType",e[e.JSDocNonNullableType=318]="JSDocNonNullableType",e[e.JSDocOptionalType=319]="JSDocOptionalType",e[e.JSDocFunctionType=320]="JSDocFunctionType",e[e.JSDocVariadicType=321]="JSDocVariadicType",e[e.JSDocNamepathType=322]="JSDocNamepathType",e[e.JSDoc=323]="JSDoc",e[e.JSDocComment=323]="JSDocComment",e[e.JSDocText=324]="JSDocText",e[e.JSDocTypeLiteral=325]="JSDocTypeLiteral",e[e.JSDocSignature=326]="JSDocSignature",e[e.JSDocLink=327]="JSDocLink",e[e.JSDocLinkCode=328]="JSDocLinkCode",e[e.JSDocLinkPlain=329]="JSDocLinkPlain",e[e.JSDocTag=330]="JSDocTag",e[e.JSDocAugmentsTag=331]="JSDocAugmentsTag",e[e.JSDocImplementsTag=332]="JSDocImplementsTag",e[e.JSDocAuthorTag=333]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=334]="JSDocDeprecatedTag",e[e.JSDocClassTag=335]="JSDocClassTag",e[e.JSDocPublicTag=336]="JSDocPublicTag",e[e.JSDocPrivateTag=337]="JSDocPrivateTag",e[e.JSDocProtectedTag=338]="JSDocProtectedTag",e[e.JSDocReadonlyTag=339]="JSDocReadonlyTag",e[e.JSDocOverrideTag=340]="JSDocOverrideTag",e[e.JSDocCallbackTag=341]="JSDocCallbackTag",e[e.JSDocOverloadTag=342]="JSDocOverloadTag",e[e.JSDocEnumTag=343]="JSDocEnumTag",e[e.JSDocParameterTag=344]="JSDocParameterTag",e[e.JSDocReturnTag=345]="JSDocReturnTag",e[e.JSDocThisTag=346]="JSDocThisTag",e[e.JSDocTypeTag=347]="JSDocTypeTag",e[e.JSDocTemplateTag=348]="JSDocTemplateTag",e[e.JSDocTypedefTag=349]="JSDocTypedefTag",e[e.JSDocSeeTag=350]="JSDocSeeTag",e[e.JSDocPropertyTag=351]="JSDocPropertyTag",e[e.JSDocThrowsTag=352]="JSDocThrowsTag",e[e.JSDocSatisfiesTag=353]="JSDocSatisfiesTag",e[e.SyntaxList=354]="SyntaxList",e[e.NotEmittedStatement=355]="NotEmittedStatement",e[e.PartiallyEmittedExpression=356]="PartiallyEmittedExpression",e[e.CommaListExpression=357]="CommaListExpression",e[e.MergeDeclarationMarker=358]="MergeDeclarationMarker",e[e.EndOfDeclarationMarker=359]="EndOfDeclarationMarker",e[e.SyntheticReferenceExpression=360]="SyntheticReferenceExpression",e[e.Count=361]="Count",e[e.FirstAssignment=63]="FirstAssignment",e[e.LastAssignment=78]="LastAssignment",e[e.FirstCompoundAssignment=64]="FirstCompoundAssignment",e[e.LastCompoundAssignment=78]="LastCompoundAssignment",e[e.FirstReservedWord=81]="FirstReservedWord",e[e.LastReservedWord=116]="LastReservedWord",e[e.FirstKeyword=81]="FirstKeyword",e[e.LastKeyword=162]="LastKeyword",e[e.FirstFutureReservedWord=117]="FirstFutureReservedWord",e[e.LastFutureReservedWord=125]="LastFutureReservedWord",e[e.FirstTypeNode=179]="FirstTypeNode",e[e.LastTypeNode=202]="LastTypeNode",e[e.FirstPunctuation=18]="FirstPunctuation",e[e.LastPunctuation=78]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=162]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=8]="FirstLiteralToken",e[e.LastLiteralToken=14]="LastLiteralToken",e[e.FirstTemplateToken=14]="FirstTemplateToken",e[e.LastTemplateToken=17]="LastTemplateToken",e[e.FirstBinaryOperator=29]="FirstBinaryOperator",e[e.LastBinaryOperator=78]="LastBinaryOperator",e[e.FirstStatement=240]="FirstStatement",e[e.LastStatement=256]="LastStatement",e[e.FirstNode=163]="FirstNode",e[e.FirstJSDocNode=312]="FirstJSDocNode",e[e.LastJSDocNode=353]="LastJSDocNode",e[e.FirstJSDocTagNode=330]="FirstJSDocTagNode",e[e.LastJSDocTagNode=353]="LastJSDocTagNode",e[e.FirstContextualKeyword=126]="FirstContextualKeyword",e[e.LastContextualKeyword=162]="LastContextualKeyword",e))(Np||{}),Op=(e=>(e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.NestedNamespace=4]="NestedNamespace",e[e.Synthesized=8]="Synthesized",e[e.Namespace=16]="Namespace",e[e.OptionalChain=32]="OptionalChain",e[e.ExportContext=64]="ExportContext",e[e.ContainsThis=128]="ContainsThis",e[e.HasImplicitReturn=256]="HasImplicitReturn",e[e.HasExplicitReturn=512]="HasExplicitReturn",e[e.GlobalAugmentation=1024]="GlobalAugmentation",e[e.HasAsyncFunctions=2048]="HasAsyncFunctions",e[e.DisallowInContext=4096]="DisallowInContext",e[e.YieldContext=8192]="YieldContext",e[e.DecoratorContext=16384]="DecoratorContext",e[e.AwaitContext=32768]="AwaitContext",e[e.DisallowConditionalTypesContext=65536]="DisallowConditionalTypesContext",e[e.ThisNodeHasError=131072]="ThisNodeHasError",e[e.JavaScriptFile=262144]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=524288]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=1048576]="HasAggregatedChildData",e[e.PossiblyContainsDynamicImport=2097152]="PossiblyContainsDynamicImport",e[e.PossiblyContainsImportMeta=4194304]="PossiblyContainsImportMeta",e[e.JSDoc=8388608]="JSDoc",e[e.Ambient=16777216]="Ambient",e[e.InWithStatement=33554432]="InWithStatement",e[e.JsonFile=67108864]="JsonFile",e[e.TypeCached=134217728]="TypeCached",e[e.Deprecated=268435456]="Deprecated",e[e.BlockScoped=3]="BlockScoped",e[e.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",e[e.ContextFlags=50720768]="ContextFlags",e[e.TypeExcludesFlags=40960]="TypeExcludesFlags",e[e.PermanentlySetIncrementalFlags=6291456]="PermanentlySetIncrementalFlags",e[e.IdentifierHasExtendedUnicodeEscape=128]="IdentifierHasExtendedUnicodeEscape",e[e.IdentifierIsInJSDocNamespace=2048]="IdentifierIsInJSDocNamespace",e))(Op||{}),Mp=(e=>(e[e.None=0]="None",e[e.Export=1]="Export",e[e.Ambient=2]="Ambient",e[e.Public=4]="Public",e[e.Private=8]="Private",e[e.Protected=16]="Protected",e[e.Static=32]="Static",e[e.Readonly=64]="Readonly",e[e.Accessor=128]="Accessor",e[e.Abstract=256]="Abstract",e[e.Async=512]="Async",e[e.Default=1024]="Default",e[e.Const=2048]="Const",e[e.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",e[e.Deprecated=8192]="Deprecated",e[e.Override=16384]="Override",e[e.In=32768]="In",e[e.Out=65536]="Out",e[e.Decorator=131072]="Decorator",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=28]="AccessibilityModifier",e[e.ParameterPropertyModifier=16476]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=117086]="TypeScriptModifier",e[e.ExportDefault=1025]="ExportDefault",e[e.All=258047]="All",e[e.Modifier=126975]="Modifier",e))(Mp||{}),tg=(e=>(e[e.None=0]="None",e[e.IntrinsicNamedElement=1]="IntrinsicNamedElement",e[e.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",e[e.IntrinsicElement=3]="IntrinsicElement",e))(tg||{}),Lp=(e=>(e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.Reported=4]="Reported",e[e.ReportsUnmeasurable=8]="ReportsUnmeasurable",e[e.ReportsUnreliable=16]="ReportsUnreliable",e[e.ReportsMask=24]="ReportsMask",e))(Lp||{}),rg=(e=>(e[e.None=0]="None",e[e.Auto=1]="Auto",e[e.Loop=2]="Loop",e[e.Unique=3]="Unique",e[e.Node=4]="Node",e[e.KindMask=7]="KindMask",e[e.ReservedInNestedScopes=8]="ReservedInNestedScopes",e[e.Optimistic=16]="Optimistic",e[e.FileLevel=32]="FileLevel",e[e.AllowNameSubstitution=64]="AllowNameSubstitution",e))(rg||{}),ng=(e=>(e[e.None=0]="None",e[e.PrecedingLineBreak=1]="PrecedingLineBreak",e[e.PrecedingJSDocComment=2]="PrecedingJSDocComment",e[e.Unterminated=4]="Unterminated",e[e.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",e[e.Scientific=16]="Scientific",e[e.Octal=32]="Octal",e[e.HexSpecifier=64]="HexSpecifier",e[e.BinarySpecifier=128]="BinarySpecifier",e[e.OctalSpecifier=256]="OctalSpecifier",e[e.ContainsSeparator=512]="ContainsSeparator",e[e.UnicodeEscape=1024]="UnicodeEscape",e[e.ContainsInvalidEscape=2048]="ContainsInvalidEscape",e[e.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",e[e.NumericLiteralFlags=1008]="NumericLiteralFlags",e[e.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",e))(ng||{}),il=(e=>(e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Call=512]="Call",e[e.ReduceLabel=1024]="ReduceLabel",e[e.Referenced=2048]="Referenced",e[e.Shared=4096]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition",e))(il||{}),ig=(e=>(e[e.ExpectError=0]="ExpectError",e[e.Ignore=1]="Ignore",e))(ig||{}),Rp=class{},ag=(e=>(e[e.RootFile=0]="RootFile",e[e.SourceFromProjectReference=1]="SourceFromProjectReference",e[e.OutputFromProjectReference=2]="OutputFromProjectReference",e[e.Import=3]="Import",e[e.ReferenceFile=4]="ReferenceFile",e[e.TypeReferenceDirective=5]="TypeReferenceDirective",e[e.LibFile=6]="LibFile",e[e.LibReferenceDirective=7]="LibReferenceDirective",e[e.AutomaticTypeDirectiveFile=8]="AutomaticTypeDirectiveFile",e))(ag||{}),sg=(e=>(e[e.FilePreprocessingReferencedDiagnostic=0]="FilePreprocessingReferencedDiagnostic",e[e.FilePreprocessingFileExplainingDiagnostic=1]="FilePreprocessingFileExplainingDiagnostic",e[e.ResolutionDiagnostics=2]="ResolutionDiagnostics",e))(sg||{}),og=(e=>(e[e.Js=0]="Js",e[e.Dts=1]="Dts",e))(og||{}),_g=(e=>(e[e.Not=0]="Not",e[e.SafeModules=1]="SafeModules",e[e.Completely=2]="Completely",e))(_g||{}),cg=(e=>(e[e.Success=0]="Success",e[e.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",e[e.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",e[e.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",e[e.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",e))(cg||{}),lg=(e=>(e[e.Ok=0]="Ok",e[e.NeedsOverride=1]="NeedsOverride",e[e.HasInvalidOverride=2]="HasInvalidOverride",e))(lg||{}),ug=(e=>(e[e.None=0]="None",e[e.Literal=1]="Literal",e[e.Subtype=2]="Subtype",e))(ug||{}),pg=(e=>(e[e.None=0]="None",e[e.Signature=1]="Signature",e[e.NoConstraints=2]="NoConstraints",e[e.Completions=4]="Completions",e[e.SkipBindingPatterns=8]="SkipBindingPatterns",e))(pg||{}),fg=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",e[e.AllowQualifiedNameInPlaceOfIdentifier=65536]="AllowQualifiedNameInPlaceOfIdentifier",e[e.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",e[e.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",e[e.AllowEmptyTuple=524288]="AllowEmptyTuple",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",e[e.WriteComputedProps=1073741824]="WriteComputedProps",e[e.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",e[e.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",e[e.IgnoreErrors=70221824]="IgnoreErrors",e[e.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.InInitialEntityName=16777216]="InInitialEntityName",e))(fg||{}),dg=(e=>(e[e.None=0]="None",e[e.NoTruncation=1]="NoTruncation",e[e.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",e[e.UseStructuralFallback=8]="UseStructuralFallback",e[e.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",e[e.UseFullyQualifiedType=64]="UseFullyQualifiedType",e[e.SuppressAnyReturnType=256]="SuppressAnyReturnType",e[e.MultilineObjectLiterals=1024]="MultilineObjectLiterals",e[e.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",e[e.UseTypeOfFunction=4096]="UseTypeOfFunction",e[e.OmitParameterModifiers=8192]="OmitParameterModifiers",e[e.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",e[e.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",e[e.NoTypeReduction=536870912]="NoTypeReduction",e[e.OmitThisParameter=33554432]="OmitThisParameter",e[e.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",e[e.AddUndefined=131072]="AddUndefined",e[e.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",e[e.InArrayType=524288]="InArrayType",e[e.InElementType=2097152]="InElementType",e[e.InFirstTypeArgument=4194304]="InFirstTypeArgument",e[e.InTypeAlias=8388608]="InTypeAlias",e[e.NodeBuilderFlagsMask=848330091]="NodeBuilderFlagsMask",e))(dg||{}),mg=(e=>(e[e.None=0]="None",e[e.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",e[e.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",e[e.AllowAnyNodeKind=4]="AllowAnyNodeKind",e[e.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",e[e.WriteComputedProps=16]="WriteComputedProps",e[e.DoNotIncludeSymbolChain=32]="DoNotIncludeSymbolChain",e))(mg||{}),hg=(e=>(e[e.Accessible=0]="Accessible",e[e.NotAccessible=1]="NotAccessible",e[e.CannotBeNamed=2]="CannotBeNamed",e))(hg||{}),gg=(e=>(e[e.UnionOrIntersection=0]="UnionOrIntersection",e[e.Spread=1]="Spread",e))(gg||{}),yg=(e=>(e[e.This=0]="This",e[e.Identifier=1]="Identifier",e[e.AssertsThis=2]="AssertsThis",e[e.AssertsIdentifier=3]="AssertsIdentifier",e))(yg||{}),vg=(e=>(e[e.Unknown=0]="Unknown",e[e.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",e[e.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",e[e.NumberLikeType=3]="NumberLikeType",e[e.BigIntLikeType=4]="BigIntLikeType",e[e.StringLikeType=5]="StringLikeType",e[e.BooleanType=6]="BooleanType",e[e.ArrayLikeType=7]="ArrayLikeType",e[e.ESSymbolType=8]="ESSymbolType",e[e.Promise=9]="Promise",e[e.TypeWithCallSignature=10]="TypeWithCallSignature",e[e.ObjectType=11]="ObjectType",e))(vg||{}),jp=(e=>(e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.Alias=2097152]="Alias",e[e.Prototype=4194304]="Prototype",e[e.ExportStar=8388608]="ExportStar",e[e.Optional=16777216]="Optional",e[e.Transient=33554432]="Transient",e[e.Assignment=67108864]="Assignment",e[e.ModuleExports=134217728]="ModuleExports",e[e.All=67108863]="All",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=111551]="Value",e[e.Type=788968]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",e[e.ParameterExcludes=111551]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=110991]="FunctionExcludes",e[e.ClassExcludes=899503]="ClassExcludes",e[e.InterfaceExcludes=788872]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=110735]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=103359]="MethodExcludes",e[e.GetAccessorExcludes=46015]="GetAccessorExcludes",e[e.SetAccessorExcludes=78783]="SetAccessorExcludes",e[e.AccessorExcludes=13247]="AccessorExcludes",e[e.TypeParameterExcludes=526824]="TypeParameterExcludes",e[e.TypeAliasExcludes=788968]="TypeAliasExcludes",e[e.AliasExcludes=2097152]="AliasExcludes",e[e.ModuleMember=2623475]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.ClassMember=106500]="ClassMember",e[e.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",e[e.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",e[e.Classifiable=2885600]="Classifiable",e[e.LateBindingContainer=6256]="LateBindingContainer",e))(jp||{}),bg=(e=>(e[e.Numeric=0]="Numeric",e[e.Literal=1]="Literal",e))(bg||{}),Tg=(e=>(e[e.None=0]="None",e[e.Instantiated=1]="Instantiated",e[e.SyntheticProperty=2]="SyntheticProperty",e[e.SyntheticMethod=4]="SyntheticMethod",e[e.Readonly=8]="Readonly",e[e.ReadPartial=16]="ReadPartial",e[e.WritePartial=32]="WritePartial",e[e.HasNonUniformType=64]="HasNonUniformType",e[e.HasLiteralType=128]="HasLiteralType",e[e.ContainsPublic=256]="ContainsPublic",e[e.ContainsProtected=512]="ContainsProtected",e[e.ContainsPrivate=1024]="ContainsPrivate",e[e.ContainsStatic=2048]="ContainsStatic",e[e.Late=4096]="Late",e[e.ReverseMapped=8192]="ReverseMapped",e[e.OptionalParameter=16384]="OptionalParameter",e[e.RestParameter=32768]="RestParameter",e[e.DeferredType=65536]="DeferredType",e[e.HasNeverType=131072]="HasNeverType",e[e.Mapped=262144]="Mapped",e[e.StripOptional=524288]="StripOptional",e[e.Unresolved=1048576]="Unresolved",e[e.Synthetic=6]="Synthetic",e[e.Discriminant=192]="Discriminant",e[e.Partial=48]="Partial",e))(Tg||{}),Sg=(e=>(e.Call="__call",e.Constructor="__constructor",e.New="__new",e.Index="__index",e.ExportStar="__export",e.Global="__global",e.Missing="__missing",e.Type="__type",e.Object="__object",e.JSXAttributes="__jsxAttributes",e.Class="__class",e.Function="__function",e.Computed="__computed",e.Resolving="__resolving__",e.ExportEquals="export=",e.Default="default",e.This="this",e))(Sg||{}),xg=(e=>(e[e.None=0]="None",e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.CaptureNewTarget=8]="CaptureNewTarget",e[e.SuperInstance=16]="SuperInstance",e[e.SuperStatic=32]="SuperStatic",e[e.ContextChecked=64]="ContextChecked",e[e.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",e[e.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",e[e.CaptureArguments=512]="CaptureArguments",e[e.EnumValuesComputed=1024]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",e[e.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",e[e.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",e[e.ClassWithBodyScopedClassBinding=65536]="ClassWithBodyScopedClassBinding",e[e.BodyScopedClassBinding=131072]="BodyScopedClassBinding",e[e.NeedsLoopOutParameter=262144]="NeedsLoopOutParameter",e[e.AssignmentsMarked=524288]="AssignmentsMarked",e[e.ClassWithConstructorReference=1048576]="ClassWithConstructorReference",e[e.ConstructorReferenceInClass=2097152]="ConstructorReferenceInClass",e[e.ContainsClassWithPrivateIdentifiers=4194304]="ContainsClassWithPrivateIdentifiers",e[e.ContainsSuperPropertyInStaticInitializer=8388608]="ContainsSuperPropertyInStaticInitializer",e[e.InCheckIdentifier=16777216]="InCheckIdentifier",e))(xg||{}),Jp=(e=>(e[e.Any=1]="Any",e[e.Unknown=2]="Unknown",e[e.String=4]="String",e[e.Number=8]="Number",e[e.Boolean=16]="Boolean",e[e.Enum=32]="Enum",e[e.BigInt=64]="BigInt",e[e.StringLiteral=128]="StringLiteral",e[e.NumberLiteral=256]="NumberLiteral",e[e.BooleanLiteral=512]="BooleanLiteral",e[e.EnumLiteral=1024]="EnumLiteral",e[e.BigIntLiteral=2048]="BigIntLiteral",e[e.ESSymbol=4096]="ESSymbol",e[e.UniqueESSymbol=8192]="UniqueESSymbol",e[e.Void=16384]="Void",e[e.Undefined=32768]="Undefined",e[e.Null=65536]="Null",e[e.Never=131072]="Never",e[e.TypeParameter=262144]="TypeParameter",e[e.Object=524288]="Object",e[e.Union=1048576]="Union",e[e.Intersection=2097152]="Intersection",e[e.Index=4194304]="Index",e[e.IndexedAccess=8388608]="IndexedAccess",e[e.Conditional=16777216]="Conditional",e[e.Substitution=33554432]="Substitution",e[e.NonPrimitive=67108864]="NonPrimitive",e[e.TemplateLiteral=134217728]="TemplateLiteral",e[e.StringMapping=268435456]="StringMapping",e[e.AnyOrUnknown=3]="AnyOrUnknown",e[e.Nullable=98304]="Nullable",e[e.Literal=2944]="Literal",e[e.Unit=109472]="Unit",e[e.Freshable=2976]="Freshable",e[e.StringOrNumberLiteral=384]="StringOrNumberLiteral",e[e.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",e[e.DefinitelyFalsy=117632]="DefinitelyFalsy",e[e.PossiblyFalsy=117724]="PossiblyFalsy",e[e.Intrinsic=67359327]="Intrinsic",e[e.Primitive=134348796]="Primitive",e[e.StringLike=402653316]="StringLike",e[e.NumberLike=296]="NumberLike",e[e.BigIntLike=2112]="BigIntLike",e[e.BooleanLike=528]="BooleanLike",e[e.EnumLike=1056]="EnumLike",e[e.ESSymbolLike=12288]="ESSymbolLike",e[e.VoidLike=49152]="VoidLike",e[e.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",e[e.DisjointDomains=469892092]="DisjointDomains",e[e.UnionOrIntersection=3145728]="UnionOrIntersection",e[e.StructuredType=3670016]="StructuredType",e[e.TypeVariable=8650752]="TypeVariable",e[e.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",e[e.InstantiablePrimitive=406847488]="InstantiablePrimitive",e[e.Instantiable=465829888]="Instantiable",e[e.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",e[e.ObjectFlagsType=3899393]="ObjectFlagsType",e[e.Simplifiable=25165824]="Simplifiable",e[e.Singleton=67358815]="Singleton",e[e.Narrowable=536624127]="Narrowable",e[e.IncludesMask=205258751]="IncludesMask",e[e.IncludesMissingType=262144]="IncludesMissingType",e[e.IncludesNonWideningType=4194304]="IncludesNonWideningType",e[e.IncludesWildcard=8388608]="IncludesWildcard",e[e.IncludesEmptyObject=16777216]="IncludesEmptyObject",e[e.IncludesInstantiable=33554432]="IncludesInstantiable",e[e.NotPrimitiveUnion=36323363]="NotPrimitiveUnion",e))(Jp||{}),Fp=(e=>(e[e.None=0]="None",e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ReverseMapped=1024]="ReverseMapped",e[e.JsxAttributes=2048]="JsxAttributes",e[e.JSLiteral=4096]="JSLiteral",e[e.FreshLiteral=8192]="FreshLiteral",e[e.ArrayLiteral=16384]="ArrayLiteral",e[e.PrimitiveUnion=32768]="PrimitiveUnion",e[e.ContainsWideningType=65536]="ContainsWideningType",e[e.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",e[e.NonInferrableType=262144]="NonInferrableType",e[e.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",e[e.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",e[e.ClassOrInterface=3]="ClassOrInterface",e[e.RequiresWidening=196608]="RequiresWidening",e[e.PropagatingFlags=458752]="PropagatingFlags",e[e.ObjectTypeKindMask=1343]="ObjectTypeKindMask",e[e.ContainsSpread=2097152]="ContainsSpread",e[e.ObjectRestType=4194304]="ObjectRestType",e[e.InstantiationExpressionType=8388608]="InstantiationExpressionType",e[e.IsClassInstanceClone=16777216]="IsClassInstanceClone",e[e.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",e[e.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",e[e.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",e[e.IsGenericObjectType=4194304]="IsGenericObjectType",e[e.IsGenericIndexType=8388608]="IsGenericIndexType",e[e.IsGenericType=12582912]="IsGenericType",e[e.ContainsIntersections=16777216]="ContainsIntersections",e[e.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",e[e.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",e[e.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",e[e.IsNeverIntersection=33554432]="IsNeverIntersection",e))(Fp||{}),Eg=(e=>(e[e.Invariant=0]="Invariant",e[e.Covariant=1]="Covariant",e[e.Contravariant=2]="Contravariant",e[e.Bivariant=3]="Bivariant",e[e.Independent=4]="Independent",e[e.VarianceMask=7]="VarianceMask",e[e.Unmeasurable=8]="Unmeasurable",e[e.Unreliable=16]="Unreliable",e[e.AllowsStructuralFallback=24]="AllowsStructuralFallback",e))(Eg||{}),wg=(e=>(e[e.Required=1]="Required",e[e.Optional=2]="Optional",e[e.Rest=4]="Rest",e[e.Variadic=8]="Variadic",e[e.Fixed=3]="Fixed",e[e.Variable=12]="Variable",e[e.NonRequired=14]="NonRequired",e[e.NonRest=11]="NonRest",e))(wg||{}),Cg=(e=>(e[e.None=0]="None",e[e.IncludeUndefined=1]="IncludeUndefined",e[e.NoIndexSignatures=2]="NoIndexSignatures",e[e.Writing=4]="Writing",e[e.CacheSymbol=8]="CacheSymbol",e[e.NoTupleBoundsCheck=16]="NoTupleBoundsCheck",e[e.ExpressionPosition=32]="ExpressionPosition",e[e.ReportDeprecated=64]="ReportDeprecated",e[e.SuppressNoImplicitAnyError=128]="SuppressNoImplicitAnyError",e[e.Contextual=256]="Contextual",e[e.Persistent=1]="Persistent",e))(Cg||{}),Ag=(e=>(e[e.Component=0]="Component",e[e.Function=1]="Function",e[e.Mixed=2]="Mixed",e))(Ag||{}),Pg=(e=>(e[e.Call=0]="Call",e[e.Construct=1]="Construct",e))(Pg||{}),Bp=(e=>(e[e.None=0]="None",e[e.HasRestParameter=1]="HasRestParameter",e[e.HasLiteralTypes=2]="HasLiteralTypes",e[e.Abstract=4]="Abstract",e[e.IsInnerCallChain=8]="IsInnerCallChain",e[e.IsOuterCallChain=16]="IsOuterCallChain",e[e.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",e[e.PropagatingFlags=39]="PropagatingFlags",e[e.CallChainFlags=24]="CallChainFlags",e))(Bp||{}),Dg=(e=>(e[e.String=0]="String",e[e.Number=1]="Number",e))(Dg||{}),kg=(e=>(e[e.Simple=0]="Simple",e[e.Array=1]="Array",e[e.Deferred=2]="Deferred",e[e.Function=3]="Function",e[e.Composite=4]="Composite",e[e.Merged=5]="Merged",e))(kg||{}),Ig=(e=>(e[e.None=0]="None",e[e.NakedTypeVariable=1]="NakedTypeVariable",e[e.SpeculativeTuple=2]="SpeculativeTuple",e[e.SubstituteSource=4]="SubstituteSource",e[e.HomomorphicMappedType=8]="HomomorphicMappedType",e[e.PartialHomomorphicMappedType=16]="PartialHomomorphicMappedType",e[e.MappedTypeConstraint=32]="MappedTypeConstraint",e[e.ContravariantConditional=64]="ContravariantConditional",e[e.ReturnType=128]="ReturnType",e[e.LiteralKeyof=256]="LiteralKeyof",e[e.NoConstraints=512]="NoConstraints",e[e.AlwaysStrict=1024]="AlwaysStrict",e[e.MaxValue=2048]="MaxValue",e[e.PriorityImpliesCombination=416]="PriorityImpliesCombination",e[e.Circularity=-1]="Circularity",e))(Ig||{}),Ng=(e=>(e[e.None=0]="None",e[e.NoDefault=1]="NoDefault",e[e.AnyDefault=2]="AnyDefault",e[e.SkippedGenericFunction=4]="SkippedGenericFunction",e))(Ng||{}),Og=(e=>(e[e.False=0]="False",e[e.Unknown=1]="Unknown",e[e.Maybe=3]="Maybe",e[e.True=-1]="True",e))(Og||{}),Mg=(e=>(e[e.None=0]="None",e[e.ExportsProperty=1]="ExportsProperty",e[e.ModuleExports=2]="ModuleExports",e[e.PrototypeProperty=3]="PrototypeProperty",e[e.ThisProperty=4]="ThisProperty",e[e.Property=5]="Property",e[e.Prototype=6]="Prototype",e[e.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",e[e.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",e[e.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",e))(Mg||{}),qp=(e=>(e[e.Warning=0]="Warning",e[e.Error=1]="Error",e[e.Suggestion=2]="Suggestion",e[e.Message=3]="Message",e))(qp||{}),Lg=(e=>(e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs",e[e.Node10=2]="Node10",e[e.Node16=3]="Node16",e[e.NodeNext=99]="NodeNext",e[e.Bundler=100]="Bundler",e))(Lg||{}),Rg=(e=>(e[e.Legacy=1]="Legacy",e[e.Auto=2]="Auto",e[e.Force=3]="Force",e))(Rg||{}),jg=(e=>(e[e.FixedPollingInterval=0]="FixedPollingInterval",e[e.PriorityPollingInterval=1]="PriorityPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e[e.UseFsEvents=4]="UseFsEvents",e[e.UseFsEventsOnParentDirectory=5]="UseFsEventsOnParentDirectory",e))(jg||{}),Jg=(e=>(e[e.UseFsEvents=0]="UseFsEvents",e[e.FixedPollingInterval=1]="FixedPollingInterval",e[e.DynamicPriorityPolling=2]="DynamicPriorityPolling",e[e.FixedChunkSizePolling=3]="FixedChunkSizePolling",e))(Jg||{}),Fg=(e=>(e[e.FixedInterval=0]="FixedInterval",e[e.PriorityInterval=1]="PriorityInterval",e[e.DynamicPriority=2]="DynamicPriority",e[e.FixedChunkSize=3]="FixedChunkSize",e))(Fg||{}),Bg=(e=>(e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ES2020=6]="ES2020",e[e.ES2022=7]="ES2022",e[e.ESNext=99]="ESNext",e[e.Node16=100]="Node16",e[e.NodeNext=199]="NodeNext",e))(Bg||{}),qg=(e=>(e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative",e[e.ReactJSX=4]="ReactJSX",e[e.ReactJSXDev=5]="ReactJSXDev",e))(qg||{}),Ug=(e=>(e[e.Remove=0]="Remove",e[e.Preserve=1]="Preserve",e[e.Error=2]="Error",e))(Ug||{}),zg=(e=>(e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed",e))(zg||{}),Wg=(e=>(e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX",e[e.External=5]="External",e[e.JSON=6]="JSON",e[e.Deferred=7]="Deferred",e))(Wg||{}),Vg=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ES2021=8]="ES2021",e[e.ES2022=9]="ES2022",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(Vg||{}),Hg=(e=>(e[e.Standard=0]="Standard",e[e.JSX=1]="JSX",e))(Hg||{}),Gg=(e=>(e[e.None=0]="None",e[e.Recursive=1]="Recursive",e))(Gg||{}),$g=(e=>(e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab",e))($g||{}),Kg=(e=>(e.Ts=".ts",e.Tsx=".tsx",e.Dts=".d.ts",e.Js=".js",e.Jsx=".jsx",e.Json=".json",e.TsBuildInfo=".tsbuildinfo",e.Mjs=".mjs",e.Mts=".mts",e.Dmts=".d.mts",e.Cjs=".cjs",e.Cts=".cts",e.Dcts=".d.cts",e))(Kg||{}),Up=(e=>(e[e.None=0]="None",e[e.ContainsTypeScript=1]="ContainsTypeScript",e[e.ContainsJsx=2]="ContainsJsx",e[e.ContainsESNext=4]="ContainsESNext",e[e.ContainsES2022=8]="ContainsES2022",e[e.ContainsES2021=16]="ContainsES2021",e[e.ContainsES2020=32]="ContainsES2020",e[e.ContainsES2019=64]="ContainsES2019",e[e.ContainsES2018=128]="ContainsES2018",e[e.ContainsES2017=256]="ContainsES2017",e[e.ContainsES2016=512]="ContainsES2016",e[e.ContainsES2015=1024]="ContainsES2015",e[e.ContainsGenerator=2048]="ContainsGenerator",e[e.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",e[e.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",e[e.ContainsLexicalThis=16384]="ContainsLexicalThis",e[e.ContainsRestOrSpread=32768]="ContainsRestOrSpread",e[e.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",e[e.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=524288]="ContainsBindingPattern",e[e.ContainsYield=1048576]="ContainsYield",e[e.ContainsAwait=2097152]="ContainsAwait",e[e.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",e[e.ContainsDynamicImport=8388608]="ContainsDynamicImport",e[e.ContainsClassFields=16777216]="ContainsClassFields",e[e.ContainsDecorators=33554432]="ContainsDecorators",e[e.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",e[e.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",e[e.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",e[e.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",e[e.HasComputedFlags=-2147483648]="HasComputedFlags",e[e.AssertTypeScript=1]="AssertTypeScript",e[e.AssertJsx=2]="AssertJsx",e[e.AssertESNext=4]="AssertESNext",e[e.AssertES2022=8]="AssertES2022",e[e.AssertES2021=16]="AssertES2021",e[e.AssertES2020=32]="AssertES2020",e[e.AssertES2019=64]="AssertES2019",e[e.AssertES2018=128]="AssertES2018",e[e.AssertES2017=256]="AssertES2017",e[e.AssertES2016=512]="AssertES2016",e[e.AssertES2015=1024]="AssertES2015",e[e.AssertGenerator=2048]="AssertGenerator",e[e.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",e[e.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",e[e.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",e[e.NodeExcludes=-2147483648]="NodeExcludes",e[e.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",e[e.FunctionExcludes=-1937940480]="FunctionExcludes",e[e.ConstructorExcludes=-1937948672]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",e[e.PropertyExcludes=-2013249536]="PropertyExcludes",e[e.ClassExcludes=-2147344384]="ClassExcludes",e[e.ModuleExcludes=-1941676032]="ModuleExcludes",e[e.TypeExcludes=-2]="TypeExcludes",e[e.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",e[e.ParameterExcludes=-2147483648]="ParameterExcludes",e[e.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",e[e.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",e[e.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",e[e.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",e))(Up||{}),zp=(e=>(e[e.TabStop=0]="TabStop",e[e.Placeholder=1]="Placeholder",e[e.Choice=2]="Choice",e[e.Variable=3]="Variable",e))(zp||{}),Wp=(e=>(e[e.None=0]="None",e[e.SingleLine=1]="SingleLine",e[e.MultiLine=2]="MultiLine",e[e.AdviseOnEmitNode=4]="AdviseOnEmitNode",e[e.NoSubstitution=8]="NoSubstitution",e[e.CapturesThis=16]="CapturesThis",e[e.NoLeadingSourceMap=32]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=64]="NoTrailingSourceMap",e[e.NoSourceMap=96]="NoSourceMap",e[e.NoNestedSourceMaps=128]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=768]="NoTokenSourceMaps",e[e.NoLeadingComments=1024]="NoLeadingComments",e[e.NoTrailingComments=2048]="NoTrailingComments",e[e.NoComments=3072]="NoComments",e[e.NoNestedComments=4096]="NoNestedComments",e[e.HelperName=8192]="HelperName",e[e.ExportName=16384]="ExportName",e[e.LocalName=32768]="LocalName",e[e.InternalName=65536]="InternalName",e[e.Indented=131072]="Indented",e[e.NoIndentation=262144]="NoIndentation",e[e.AsyncFunctionBody=524288]="AsyncFunctionBody",e[e.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",e[e.CustomPrologue=2097152]="CustomPrologue",e[e.NoHoisting=4194304]="NoHoisting",e[e.HasEndOfDeclarationMarker=8388608]="HasEndOfDeclarationMarker",e[e.Iterator=16777216]="Iterator",e[e.NoAsciiEscaping=33554432]="NoAsciiEscaping",e))(Wp||{}),Xg=(e=>(e[e.None=0]="None",e[e.TypeScriptClassWrapper=1]="TypeScriptClassWrapper",e[e.NeverApplyImportHelper=2]="NeverApplyImportHelper",e[e.IgnoreSourceNewlines=4]="IgnoreSourceNewlines",e[e.Immutable=8]="Immutable",e[e.IndirectCall=16]="IndirectCall",e[e.TransformPrivateStaticElements=32]="TransformPrivateStaticElements",e))(Xg||{}),Yg=(e=>(e[e.Extends=1]="Extends",e[e.Assign=2]="Assign",e[e.Rest=4]="Rest",e[e.Decorate=8]="Decorate",e[e.ESDecorateAndRunInitializers=8]="ESDecorateAndRunInitializers",e[e.Metadata=16]="Metadata",e[e.Param=32]="Param",e[e.Awaiter=64]="Awaiter",e[e.Generator=128]="Generator",e[e.Values=256]="Values",e[e.Read=512]="Read",e[e.SpreadArray=1024]="SpreadArray",e[e.Await=2048]="Await",e[e.AsyncGenerator=4096]="AsyncGenerator",e[e.AsyncDelegator=8192]="AsyncDelegator",e[e.AsyncValues=16384]="AsyncValues",e[e.ExportStar=32768]="ExportStar",e[e.ImportStar=65536]="ImportStar",e[e.ImportDefault=131072]="ImportDefault",e[e.MakeTemplateObject=262144]="MakeTemplateObject",e[e.ClassPrivateFieldGet=524288]="ClassPrivateFieldGet",e[e.ClassPrivateFieldSet=1048576]="ClassPrivateFieldSet",e[e.ClassPrivateFieldIn=2097152]="ClassPrivateFieldIn",e[e.CreateBinding=4194304]="CreateBinding",e[e.SetFunctionName=8388608]="SetFunctionName",e[e.PropKey=16777216]="PropKey",e[e.FirstEmitHelper=1]="FirstEmitHelper",e[e.LastEmitHelper=16777216]="LastEmitHelper",e[e.ForOfIncludes=256]="ForOfIncludes",e[e.ForAwaitOfIncludes=16384]="ForAwaitOfIncludes",e[e.AsyncGeneratorIncludes=6144]="AsyncGeneratorIncludes",e[e.AsyncDelegatorIncludes=26624]="AsyncDelegatorIncludes",e[e.SpreadIncludes=1536]="SpreadIncludes",e))(Yg||{}),Qg=(e=>(e[e.SourceFile=0]="SourceFile",e[e.Expression=1]="Expression",e[e.IdentifierName=2]="IdentifierName",e[e.MappedTypeParameter=3]="MappedTypeParameter",e[e.Unspecified=4]="Unspecified",e[e.EmbeddedStatement=5]="EmbeddedStatement",e[e.JsxAttributeValue=6]="JsxAttributeValue",e))(Qg||{}),Zg=(e=>(e[e.Parentheses=1]="Parentheses",e[e.TypeAssertions=2]="TypeAssertions",e[e.NonNullAssertions=4]="NonNullAssertions",e[e.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",e[e.Assertions=6]="Assertions",e[e.All=15]="All",e[e.ExcludeJSDocTypeAssertion=16]="ExcludeJSDocTypeAssertion",e))(Zg||{}),ey=(e=>(e[e.None=0]="None",e[e.InParameters=1]="InParameters",e[e.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",e))(ey||{}),ty=(e=>(e.Prologue="prologue",e.EmitHelpers="emitHelpers",e.NoDefaultLib="no-default-lib",e.Reference="reference",e.Type="type",e.TypeResolutionModeRequire="type-require",e.TypeResolutionModeImport="type-import",e.Lib="lib",e.Prepend="prepend",e.Text="text",e.Internal="internal",e))(ty||{}),ry=(e=>(e[e.None=0]="None",e[e.SingleLine=0]="SingleLine",e[e.MultiLine=1]="MultiLine",e[e.PreserveLines=2]="PreserveLines",e[e.LinesMask=3]="LinesMask",e[e.NotDelimited=0]="NotDelimited",e[e.BarDelimited=4]="BarDelimited",e[e.AmpersandDelimited=8]="AmpersandDelimited",e[e.CommaDelimited=16]="CommaDelimited",e[e.AsteriskDelimited=32]="AsteriskDelimited",e[e.DelimitersMask=60]="DelimitersMask",e[e.AllowTrailingComma=64]="AllowTrailingComma",e[e.Indented=128]="Indented",e[e.SpaceBetweenBraces=256]="SpaceBetweenBraces",e[e.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",e[e.Braces=1024]="Braces",e[e.Parenthesis=2048]="Parenthesis",e[e.AngleBrackets=4096]="AngleBrackets",e[e.SquareBrackets=8192]="SquareBrackets",e[e.BracketsMask=15360]="BracketsMask",e[e.OptionalIfUndefined=16384]="OptionalIfUndefined",e[e.OptionalIfEmpty=32768]="OptionalIfEmpty",e[e.Optional=49152]="Optional",e[e.PreferNewLine=65536]="PreferNewLine",e[e.NoTrailingNewLine=131072]="NoTrailingNewLine",e[e.NoInterveningComments=262144]="NoInterveningComments",e[e.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",e[e.SingleElement=1048576]="SingleElement",e[e.SpaceAfterList=2097152]="SpaceAfterList",e[e.Modifiers=2359808]="Modifiers",e[e.HeritageClauses=512]="HeritageClauses",e[e.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",e[e.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",e[e.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",e[e.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",e[e.UnionTypeConstituents=516]="UnionTypeConstituents",e[e.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",e[e.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",e[e.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",e[e.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",e[e.ImportClauseEntries=526226]="ImportClauseEntries",e[e.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",e[e.CommaListElements=528]="CommaListElements",e[e.CallExpressionArguments=2576]="CallExpressionArguments",e[e.NewExpressionArguments=18960]="NewExpressionArguments",e[e.TemplateExpressionSpans=262144]="TemplateExpressionSpans",e[e.SingleLineBlockStatements=768]="SingleLineBlockStatements",e[e.MultiLineBlockStatements=129]="MultiLineBlockStatements",e[e.VariableDeclarationList=528]="VariableDeclarationList",e[e.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",e[e.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",e[e.ClassHeritageClauses=0]="ClassHeritageClauses",e[e.ClassMembers=129]="ClassMembers",e[e.InterfaceMembers=129]="InterfaceMembers",e[e.EnumMembers=145]="EnumMembers",e[e.CaseBlockClauses=129]="CaseBlockClauses",e[e.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",e[e.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",e[e.JsxElementAttributes=262656]="JsxElementAttributes",e[e.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",e[e.HeritageClauseTypes=528]="HeritageClauseTypes",e[e.SourceFileStatements=131073]="SourceFileStatements",e[e.Decorators=2146305]="Decorators",e[e.TypeArguments=53776]="TypeArguments",e[e.TypeParameters=53776]="TypeParameters",e[e.Parameters=2576]="Parameters",e[e.IndexSignatureParameters=8848]="IndexSignatureParameters",e[e.JSDocComment=33]="JSDocComment",e))(ry||{}),ny=(e=>(e[e.None=0]="None",e[e.TripleSlashXML=1]="TripleSlashXML",e[e.SingleLine=2]="SingleLine",e[e.MultiLine=4]="MultiLine",e[e.All=7]="All",e[e.Default=7]="Default",e))(ny||{}),Vp={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}}}}),W5=()=>{},iy;function ay(e){return e===47||e===92}function V5(e){return al(e)<0}function A_(e){return al(e)>0}function H5(e){let t=al(e);return t>0&&t===e.length}function sy(e){return al(e)!==0}function So(e){return/^\.\.?($|[\\/])/.test(e)}function G5(e){return!sy(e)&&!So(e)}function OT(e){return Fi(sl(e),".")}function ns(e,t){return e.length>t.length&&es(e,t)}function da(e,t){for(let r of t)if(ns(e,r))return!0;return!1}function Hp(e){return e.length>0&&ay(e.charCodeAt(e.length-1))}function MT(e){return e>=97&&e<=122||e>=65&&e<=90}function $5(e,t){let r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){let s=e.charCodeAt(t+2);if(s===97||s===65)return t+3}return-1}function al(e){if(!e)return 0;let t=e.charCodeAt(0);if(t===47||t===92){if(e.charCodeAt(1)!==t)return 1;let s=e.indexOf(t===47?zn:py,2);return s<0?e.length:s+1}if(MT(t)&&e.charCodeAt(1)===58){let s=e.charCodeAt(2);if(s===47||s===92)return 3;if(e.length===2)return 2}let r=e.indexOf(fy);if(r!==-1){let s=r+fy.length,f=e.indexOf(zn,s);if(f!==-1){let x=e.slice(0,r),w=e.slice(s,f);if(x==="file"&&(w===""||w==="localhost")&&MT(e.charCodeAt(f+1))){let A=$5(e,f+2);if(A!==-1){if(e.charCodeAt(A)===47)return~(A+1);if(A===e.length)return~A}}return~(f+1)}return~e.length}return 0}function Bi(e){let t=al(e);return t<0?~t:t}function ma(e){e=Eo(e);let t=Bi(e);return t===e.length?e:(e=P_(e),e.slice(0,Math.max(t,e.lastIndexOf(zn))))}function sl(e,t,r){if(e=Eo(e),Bi(e)===e.length)return"";e=P_(e);let f=e.slice(Math.max(Bi(e),e.lastIndexOf(zn)+1)),x=t!==void 0&&r!==void 0?Gp(f,t,r):void 0;return x?f.slice(0,f.length-x.length):f}function LT(e,t,r){if(Pn(t,".")||(t="."+t),e.length>=t.length&&e.charCodeAt(e.length-t.length)===46){let s=e.slice(e.length-t.length);if(r(s,t))return s}}function K5(e,t,r){if(typeof t=="string")return LT(e,t,r)||"";for(let s of t){let f=LT(e,s,r);if(f)return f}return""}function Gp(e,t,r){if(t)return K5(P_(e),t,r?Ms:To);let s=sl(e),f=s.lastIndexOf(".");return f>=0?s.substring(f):""}function X5(e,t){let r=e.substring(0,t),s=e.substring(t).split(zn);return s.length&&!Cn(s)&&s.pop(),[r,...s]}function qi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e=tn(t,e),X5(e,Bi(e))}function xo(e){return e.length===0?"":(e[0]&&wo(e[0]))+e.slice(1).join(zn)}function Eo(e){return e.indexOf("\\")!==-1?e.replace(BT,zn):e}function is(e){if(!Ke(e))return[];let t=[e[0]];for(let r=1;r1){if(t[t.length-1]!==".."){t.pop();continue}}else if(t[0])continue}t.push(s)}}return t}function tn(e){e&&(e=Eo(e));for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s1?t-1:0),s=1;s0==Bi(t)>0,"Paths must either both be absolute or both be relative");let x=ly(e,t,(typeof r=="boolean"?r:!1)?Ms:To,typeof r=="function"?r:rr);return xo(x)}function nA(e,t,r){return A_(e)?uy(t,e,t,r,!1):e}function iA(e,t,r){return _y(JT(ma(e),t,r))}function uy(e,t,r,s,f){let x=ly(oy(r,e),oy(r,t),To,s),w=x[0];if(f&&A_(w)){let A=w.charAt(0)===zn?"file://":"file:///";x[0]=A+w}return xo(x)}function FT(e,t){for(;;){let r=t(e);if(r!==void 0)return r;let s=ma(e);if(s===e)return;e=s}}function aA(e){return es(e,"/node_modules")}var zn,py,fy,BT,ol,sA=D({"src/compiler/path.ts"(){"use strict";nn(),zn="/",py="\\",fy="://",BT=/\\/g,ol=/(?:\/\/)|(?:^|\/)\.\.?(?:$|\/)/}});function i(e,t,r,s,f,x,w){return{code:e,category:t,key:r,message:s,reportsUnnecessary:f,elidedInCompatabilityPyramid:x,reportsDeprecated:w}}var ve,oA=D({"src/compiler/diagnosticInformationMap.generated.ts"(){"use strict";NT(),ve={Unterminated_string_literal:i(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:i(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:i(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:i(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:i(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:i(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:i(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:i(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:i(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:i(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:i(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:i(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:i(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:i(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:i(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:i(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:i(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:i(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:i(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:i(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:i(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:i(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:i(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:i(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:i(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:i(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:i(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:i(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:i(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:i(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:i(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:i(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:i(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:i(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:i(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:i(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:i(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:i(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:i(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:i(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:i(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:i(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055","Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:i(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:i(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:i(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:i(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:i(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:i(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:i(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:i(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:i(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:i(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:i(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:i(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:i(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:i(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:i(1085,1,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:i(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:i(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:i(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:i(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:i(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:i(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:i(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:i(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:i(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:i(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:i(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:i(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:i(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:i(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:i(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:i(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:i(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:i(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:i(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:i(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:i(1110,1,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:i(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:i(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:i(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:i(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:i(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:i(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:i(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:i(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:i(1121,1,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:i(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:i(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:i(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:i(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:i(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:i(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:i(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:i(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:i(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:i(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:i(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:i(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:i(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:i(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:i(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:i(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:i(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:i(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:i(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:i(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:i(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:i(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:i(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:i(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:i(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:i(1155,1,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:i(1156,1,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:i(1157,1,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:i(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:i(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:i(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:i(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:i(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:i(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:i(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:i(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:i(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:i(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:i(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:i(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:i(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:i(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:i(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:i(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:i(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:i(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:i(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:i(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:i(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:i(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:i(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:i(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:i(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:i(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:i(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:i(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:i(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:i(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:i(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:i(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:i(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:i(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:i(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:i(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:i(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:i(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:i(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:i(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:i(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:i(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:i(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:i(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:i(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:i(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:i(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:i(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:i(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:i(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:i(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:i(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:i(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:i(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:i(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:i(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:i(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:i(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:i(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:i(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:i(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:i(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:i(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:i(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:i(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:i(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:i(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:i(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:i(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:i(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:i(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:i(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:i(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:i(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:i(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:i(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:i(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:i(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:i(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:i(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:i(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:i(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:i(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:i(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:i(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:i(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:i(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:i(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:i(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:i(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:i(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:i(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:i(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:i(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:i(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:i(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:i(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:i(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:i(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:i(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:i(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:i(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:i(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:i(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:i(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:i(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:i(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:i(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:i(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:i(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1286,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286","ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:i(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:i(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),with_statements_are_not_allowed_in_an_async_function_block:i(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:i(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:i(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:i(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:i(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:i(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:i(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:i(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:i(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:i(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:i(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:i(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:i(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nodenext:i(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_or_nod_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', or 'nodenext'."),Argument_of_dynamic_import_cannot_be_spread_element:i(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:i(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:i(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:i(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:i(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:i(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:i(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:i(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:i(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:i(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:i(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:i(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:i(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:i(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:i(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:i(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:i(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:i(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:i(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:i(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:i(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:i(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:i(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:i(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:i(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:i(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:i(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:i(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:i(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:i(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:i(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:i(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:i(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:i(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:i(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:i(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:i(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:i(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:i(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:i(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:i(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:i(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:i(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set_to_error:i(1371,1,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_importsNotUsedAsValues_is_set__1371","This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:i(1373,3,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:i(1374,3,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:i(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:i(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:i(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:i(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:i(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:i(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:i(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:i(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:i(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:i(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:i(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:i(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:i(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:i(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:i(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:i(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:i(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:i(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:i(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:i(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:i(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:i(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:i(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:i(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:i(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:i(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:i(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:i(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:i(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:i(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:i(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:i(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:i(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:i(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:i(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:i(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:i(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:i(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:i(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:i(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:i(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:i(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:i(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:i(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:i(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:i(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:i(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:i(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:i(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:i(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_or_nodenext_and_the_target_option_is_set_to_es2017_or_higher:i(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', or 'nodenext', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:i(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:i(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:i(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:i(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:i(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:i(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:i(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:i(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:i(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:i(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:i(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1444,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedMod_1444","'{0}' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveValueImports_and_isolatedModules_are_both_enabled:i(1446,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_preserveVa_1446","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:i(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:i(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments:i(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_assertion_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional assertion as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:i(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext:i(1452,1,"resolution_mode_assertions_are_only_supported_when_moduleResolution_is_node16_or_nodenext_1452","'resolution-mode' assertions are only supported when `moduleResolution` is `node16` or `nodenext`."),resolution_mode_should_be_either_require_or_import:i(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:i(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:i(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:i(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:i(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:i(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:i(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:i(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:i(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:i(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:i(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:i(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:i(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:i(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:i(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:i(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:i(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:i(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:i(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:i(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:i(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:i(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:i(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:i(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),The_types_of_0_are_incompatible_between_these_types:i(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:i(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:i(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:i(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:i(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:i(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:i(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:i(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:i(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:i(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:i(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:i(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:i(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:i(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:i(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:i(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:i(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:i(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:i(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:i(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:i(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:i(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:i(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:i(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:i(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:i(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:i(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:i(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:i(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:i(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:i(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:i(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:i(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:i(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:i(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:i(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:i(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:i(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:i(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:i(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:i(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:i(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:i(2333,1,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:i(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:i(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:i(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:i(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:i(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:i(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:i(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:i(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:i(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:i(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:i(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:i(2346,1,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:i(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:i(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:i(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:i(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:i(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:i(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:i(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:i(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:i(2355,1,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:i(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:i(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:i(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:i(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:i(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:i(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:i(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:i(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:i(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:i(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:i(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:i(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:i(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:i(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:i(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:i(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:i(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:i(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:i(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type:i(2380,1,"The_return_type_of_a_get_accessor_must_be_assignable_to_its_set_accessor_type_2380","The return type of a 'get' accessor must be assignable to its 'set' accessor type"),Overload_signatures_must_all_be_exported_or_non_exported:i(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:i(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:i(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:i(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:i(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:i(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:i(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:i(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:i(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:i(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:i(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:i(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:i(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:i(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:i(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:i(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:i(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:i(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:i(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:i(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:i(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:i(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:i(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:i(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:i(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:i(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:i(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:i(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:i(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:i(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:i(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:i(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:i(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:i(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:i(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:i(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:i(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:i(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:i(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:i(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:i(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:i(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:i(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:i(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:i(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:i(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:i(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:i(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:i(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:i(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:i(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:i(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:i(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:i(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:i(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:i(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:i(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:i(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:i(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:i(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:i(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:i(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:i(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:i(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:i(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:i(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:i(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:i(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:i(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:i(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:i(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:i(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:i(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:i(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:i(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:i(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:i(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:i(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:i(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:i(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:i(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:i(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:i(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:i(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:i(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:i(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:i(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:i(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:i(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:i(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:i(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:i(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:i(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:i(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:i(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:i(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:i(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:i(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:i(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:i(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:i(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:i(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:i(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:i(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:i(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:i(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:i(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:i(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:i(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:i(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:i(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:i(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:i(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:i(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:i(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:i(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:i(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:i(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:i(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:i(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:i(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:i(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:i(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:i(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method:i(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:i(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:i(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:i(2525,1,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","Initializer provides no value for this binding element and the binding element has no default value."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:i(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:i(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:i(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:i(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:i(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:i(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:i(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:i(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:i(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:i(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:i(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:i(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:i(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:i(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:i(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:i(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:i(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:i(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:i(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:i(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:i(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:i(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:i(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:i(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:i(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:i(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:i(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:i(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:i(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:i(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:i(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:i(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:i(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:i(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:i(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:i(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:i(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:i(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:i(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:i(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:i(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:i(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:i(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:i(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:i(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:i(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:i(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:i(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:i(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:i(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:i(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:i(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:i(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:i(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:i(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:i(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:i(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:i(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:i(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:i(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:i(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:i(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:i(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:i(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:i(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:i(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:i(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:i(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:i(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:i(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:i(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:i(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:i(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:i(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:i(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:i(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:i(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:i(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:i(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:i(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:i(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:i(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:i(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:i(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:i(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:i(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:i(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:i(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:i(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:i(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:i(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:i(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:i(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:i(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:i(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:i(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:i(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:i(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:i(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),JSX_expressions_must_have_one_parent_element:i(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:i(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:i(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:i(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:i(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:i(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:i(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:i(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:i(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:i(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:i(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:i(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:i(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:i(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:i(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:i(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:i(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:i(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:i(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:i(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:i(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:i(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:i(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:i(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:i(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:i(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:i(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:i(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:i(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:i(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:i(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:i(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:i(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:i(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:i(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:i(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:i(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:i(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:i(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:i(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:i(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:i(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:i(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:i(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:i(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2705,1,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","An async function or method in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:i(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:i(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:i(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:i(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:i(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:i(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:i(2712,1,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:i(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:i(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:i(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:i(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:i(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:i(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:i(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:i(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:i(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:i(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:i(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:i(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:i(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:i(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:i(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:i(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:i(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:i(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:i(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:i(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:i(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:i(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:i(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:i(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:i(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:i(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:i(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:i(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:i(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:i(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:i(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:i(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:i(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:i(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:i(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:i(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:i(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:i(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:i(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:i(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:i(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:i(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:i(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:i(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:i(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:i(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:i(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:i(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:i(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:i(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:i(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:i(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:i(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:i(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:i(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:i(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:i(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:i(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:i(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:i(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:i(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:i(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:i(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:i(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:i(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:i(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:i(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:i(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:i(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:i(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:i(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:i(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:i(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:i(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:i(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:i(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:i(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:i(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:i(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:i(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:i(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:i(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:i(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:i(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:i(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:i(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:i(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:i(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:i(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:i(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:i(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:i(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:i(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:i(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:i(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:i(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:i(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:i(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:i(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:i(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:i(2815,1,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:i(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:i(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:i(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:i(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:i(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext:i(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_or_nodenext_2821","Import assertions are only supported when the '--module' option is set to 'esnext' or 'nodenext'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:i(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Cannot_find_namespace_0_Did_you_mean_1:i(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:i(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:i(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_EcmaScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in EcmaScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls:i(2836,1,"Import_assertions_are_not_allowed_on_statements_that_transpile_to_commonjs_require_calls_2836","Import assertions are not allowed on statements that transpile to commonjs 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:i(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:i(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:i(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_classes:i(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_an_interface_can_only_extend_named_types_and_clas_2840","An interface cannot extend a primitive type like '{0}'; an interface can only extend named types and classes"),The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_feature_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(2841,1,"The_type_of_this_expression_cannot_be_named_without_a_resolution_mode_assertion_which_is_an_unstable_2841","The type of this expression cannot be named without a 'resolution-mode' assertion, which is an unstable feature. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:i(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:i(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:i(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:i(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:i(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),Import_declaration_0_is_using_private_name_1:i(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:i(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:i(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:i(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:i(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:i(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:i(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:i(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:i(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:i(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:i(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:i(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:i(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:i(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:i(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:i(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:i(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:i(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:i(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:i(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:i(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:i(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:i(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:i(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:i(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:i(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:i(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:i(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:i(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:i(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:i(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:i(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:i(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict:i(4090,1,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:i(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:i(4094,1,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:i(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:i(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:i(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:i(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:i(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:i(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:i(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:i(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:i(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:i(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:i(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:i(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:i(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:i(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:i(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:i(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:i(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:i(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:i(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:i(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:i(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:i(4125,1,"resolution_mode_assertions_are_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_wi_4125","'resolution-mode' assertions are unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),The_current_host_does_not_support_the_0_option:i(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:i(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:i(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:i(5014,1,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:i(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:i(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:i(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:i(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:i(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:i(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:i(5048,1,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:i(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:i(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:i(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:i(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:i(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:i(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:i(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:i(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:i(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:i(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:i(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:i(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:i(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:i(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:i(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:i(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:i(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:i(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:i(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:i(5071,1,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:i(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:i(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:i(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:i(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:i(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:i(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:i(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:i(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:i(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:i(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:i(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:i(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:i(5084,1,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:i(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:i(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:i(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:i(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:i(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:i(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:i(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:i(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:i(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:i(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later:i(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:i(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:i(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:i(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:i(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:i(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:i(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:i(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:i(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:i(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:i(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:i(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:i(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:i(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:i(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:i(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:i(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:i(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:i(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:i(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:i(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:i(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:i(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:i(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:i(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:i(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:i(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:i(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:i(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:i(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:i(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:i(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:i(6024,3,"options_6024","options"),file:i(6025,3,"file_6025","file"),Examples_Colon_0:i(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:i(6027,3,"Options_Colon_6027","Options:"),Version_0:i(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:i(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:i(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:i(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:i(6034,3,"KIND_6034","KIND"),FILE:i(6035,3,"FILE_6035","FILE"),VERSION:i(6036,3,"VERSION_6036","VERSION"),LOCATION:i(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:i(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:i(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:i(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:i(6041,3,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:i(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:i(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:i(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:i(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:i(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:i(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:i(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:i(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:i(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:i(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:i(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:i(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:i(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:i(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:i(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:i(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:i(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:i(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:i(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:i(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:i(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:i(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:i(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:i(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:i(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:i(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:i(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:i(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:i(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:i(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),File_0_has_an_unsupported_extension_so_skipping_it:i(6081,3,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:i(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:i(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:i(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:i(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:i(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:i(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:i(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:i(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:i(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:i(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:i(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:i(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:i(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:i(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:i(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:i(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:i(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:i(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:i(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:i(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:i(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:i(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:i(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:i(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:i(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:i(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:i(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:i(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:i(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:i(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:i(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:i(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:i(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:i(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:i(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:i(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:i(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:i(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:i(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:i(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:i(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:i(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:i(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:i(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:i(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:i(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:i(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:i(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:i(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:i(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:i(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:i(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:i(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:i(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:i(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:i(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:i(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:i(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified:i(6145,3,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:i(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:i(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:i(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:i(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:i(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:i(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:i(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:i(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:i(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:i(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:i(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:i(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:i(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:i(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:i(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:i(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:i(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:i(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Do_not_truncate_error_messages:i(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:i(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:i(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:i(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:i(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:i(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:i(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:i(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:i(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:i(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:i(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:i(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:i(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:i(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:i(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:i(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:i(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:i(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:i(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:i(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:i(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:i(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:i(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:i(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:i(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:i(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:i(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:i(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:i(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:i(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:i(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:i(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:i(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:i(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:i(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:i(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:i(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:i(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:i(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:i(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:i(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:i(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:i(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:i(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:i(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:i(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:i(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:i(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:i(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:i(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:i(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:i(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:i(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:i(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:i(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:i(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:i(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:i(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:i(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:i(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:i(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:i(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:i(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:i(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:i(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:i(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:i(6244,3,"Modules_6244","Modules"),File_Management:i(6245,3,"File_Management_6245","File Management"),Emit:i(6246,3,"Emit_6246","Emit"),JavaScript_Support:i(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:i(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:i(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:i(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:i(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:i(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:i(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:i(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:i(6255,3,"Projects_6255","Projects"),Output_Formatting:i(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:i(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:i(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_1:i(6259,3,"Found_1_error_in_1_6259","Found 1 error in {1}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:i(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:i(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:i(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:i(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:i(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:i(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:i(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:i(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:i(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:i(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:i(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:i(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:i(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278",`There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),Enable_project_compilation:i(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:i(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:i(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:i(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:i(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:i(6308,1,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:i(6309,1,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:i(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:i(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:i(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:i(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:i(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:i(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:i(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:i(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:i(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:i(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:i(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:i(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:i(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:i(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:i(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:i(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:i(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:i(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:i(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:i(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:i(6372,3,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:i(6373,3,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:i(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:i(6375,3,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:i(6376,3,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:i(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:i(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:i(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:i(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:i(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:i(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:i(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:i(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:i(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:i(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:i(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:i(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:i(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:i(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:i(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:i(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:i(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:i(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:i(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:i(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:i(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:i(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:i(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:i(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:i(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:i(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:i(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:i(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:i(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:i(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:i(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:i(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:i(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:i(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:i(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:i(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:i(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:i(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:i(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:i(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:i(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:i(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:i(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:i(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:i(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:i(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:i(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:i(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:i(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:i(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:i(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:i(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:i(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:i(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:i(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:i(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:i(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:i(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:i(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:i(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:i(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:i(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:i(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:i(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:i(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:i(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:i(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:i(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:i(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:i(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:i(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:i(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:i(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:i(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:i(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:i(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:i(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:i(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:i(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:i(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:i(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:i(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:i(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:i(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:i(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:i(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:i(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:i(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:i(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:i(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:i(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:i(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:i(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:i(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:i(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:i(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:i(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:i(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:i(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:i(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:i(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:i(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:i(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:i(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:i(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:i(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:i(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:i(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:i(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:i(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:i(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:i(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:i(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:i(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:i(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:i(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:i(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:i(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:i(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:i(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:i(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:i(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:i(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:i(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:i(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:i(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:i(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:i(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:i(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:i(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:i(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:i(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:i(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:i(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:i(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:i(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:i(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:i(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:i(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:i(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:i(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:i(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:i(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:i(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:i(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:i(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:i(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:i(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:i(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:i(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:i(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:i(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:i(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:i(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:i(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:i(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Default_catch_clause_variables_as_unknown_instead_of_any:i(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:i(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),one_of_Colon:i(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:i(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:i(6902,3,"type_Colon_6902","type:"),default_Colon:i(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:i(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:i(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:i(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:i(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:i(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:i(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:i(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:i(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:i(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:i(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:i(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:i(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:i(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:i(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:i(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:i(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:i(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:i(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:i(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:i(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:i(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:i(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:i(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:i(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:i(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:i(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:i(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:i(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:i(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:i(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:i(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:i(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:i(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:i(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:i(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:i(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:i(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:i(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:i(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:i(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:i(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:i(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:i(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:i(7025,1,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:i(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:i(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:i(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:i(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:i(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:i(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:i(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:i(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:i(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:i(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:i(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:i(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:i(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:i(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:i(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:i(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:i(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:i(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:i(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:i(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:i(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:i(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:i(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:i(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:i(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:i(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:i(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:i(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:i(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:i(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:i(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:i(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:i(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:i(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:i(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:i(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:i(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:i(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:i(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:i(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:i(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:i(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:i(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:i(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:i(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:i(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:i(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:i(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:i(8017,1,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:i(8018,1,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:i(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:i(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:i(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:i(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:i(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:i(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:i(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:i(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:i(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:i(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:i(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:i(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:i(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:i(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:i(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:i(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:i(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:i(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:i(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:i(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:i(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:i(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:i(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:i(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:i(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:i(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:i(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:i(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:i(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:i(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:i(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:i(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:i(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:i(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:i(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:i(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:i(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:i(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:i(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:i(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:i(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:i(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:i(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:i(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:i(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:i(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:i(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:i(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:i(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:i(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:i(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:i(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:i(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:i(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:i(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:i(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:i(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:i(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:i(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:i(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:i(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:i(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:i(90013,3,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:i(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:i(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:i(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:i(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:i(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:i(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:i(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:i(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:i(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:i(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:i(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:i(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:i(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:i(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:i(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:i(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:i(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:i(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:i(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:i(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:i(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:i(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:i(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:i(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:i(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:i(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:i(90055,3,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:i(90056,3,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:i(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:i(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:i(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:i(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Convert_function_to_an_ES2015_class:i(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:i(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:i(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:i(95005,3,"Extract_function_95005","Extract function"),Extract_constant:i(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:i(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:i(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:i(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:i(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:i(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:i(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:i(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:i(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:i(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:i(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:i(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:i(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:i(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:i(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:i(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:i(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:i(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:i(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:i(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:i(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:i(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:i(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:i(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:i(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:i(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:i(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:i(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:i(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:i(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:i(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:i(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:i(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:i(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:i(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:i(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:i(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:i(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:i(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:i(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:i(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:i(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:i(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:i(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:i(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:i(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:i(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:i(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:i(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:i(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:i(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:i(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:i(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:i(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:i(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:i(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:i(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:i(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:i(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:i(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:i(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:i(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:i(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:i(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:i(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:i(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:i(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:i(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:i(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:i(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:i(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:i(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:i(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:i(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:i(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:i(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:i(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:i(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:i(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:i(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:i(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:i(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:i(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:i(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:i(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:i(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:i(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:i(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:i(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:i(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:i(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:i(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:i(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:i(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:i(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:i(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:i(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:i(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:i(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:i(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:i(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:i(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:i(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:i(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:i(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:i(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:i(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:i(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:i(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:i(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:i(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:i(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:i(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:i(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:i(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:i(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:i(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:i(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:i(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:i(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:i(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:i(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:i(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:i(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:i(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:i(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:i(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:i(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:i(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:i(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:i(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:i(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:i(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:i(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:i(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:i(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:i(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:i(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:i(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:i(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:i(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:i(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:i(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:i(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenation:i(95154,3,"Can_only_convert_string_concatenation_95154","Can only convert string concatenation"),Selection_is_not_a_valid_statement_or_statements:i(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:i(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:i(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:i(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:i(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:i(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:i(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:i(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:i(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:i(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:i(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:i(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:i(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:i(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:i(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:i(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:i(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:i(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:i(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:i(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:i(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:i(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:i(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:i(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:i(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:i(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:i(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:i(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:i(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:i(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:i(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:i(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:i(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:i(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:i(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:i(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:i(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:i(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:i(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:i(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:i(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:i(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:i(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:i(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:i(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:i(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),Await_expression_cannot_be_used_inside_a_class_static_block:i(18037,1,"Await_expression_cannot_be_used_inside_a_class_static_block_18037","Await expression cannot be used inside a class static block."),For_await_loops_cannot_be_used_inside_a_class_static_block:i(18038,1,"For_await_loops_cannot_be_used_inside_a_class_static_block_18038","'For await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:i(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:i(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:i(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:i(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:i(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:i(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:i(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:i(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:i(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:i(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:i(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:i(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string.")}}});function fr(e){return e>=79}function qT(e){return e===31||fr(e)}function D_(e,t){if(e=2?D_(e,ZT):t===1?D_(e,YT):D_(e,KT)}function _A(e,t){return t>=2?D_(e,eS):t===1?D_(e,QT):D_(e,XT)}function cA(e){let t=[];return e.forEach((r,s)=>{t[r]=s}),t}function Br(e){return nS[e]}function _l(e){return Ty.get(e)}function Kp(e){let t=[],r=0,s=0;for(;r127&&un(f)&&(t.push(s),s=r);break}}return t.push(s),t}function lA(e,t,r,s){return e.getPositionOfLineAndCharacter?e.getPositionOfLineAndCharacter(t,r,s):dy(ss(e),t,r,e.text,s)}function dy(e,t,r,s,f){(t<0||t>=e.length)&&(f?t=t<0?0:t>=e.length?e.length-1:t:Y.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${s!==void 0?ke(e,Kp(s)):"unknown"}`));let x=e[t]+r;return f?x>e[t+1]?e[t+1]:typeof s=="string"&&x>s.length?s.length:x:(t=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}function un(e){return e===10||e===13||e===8232||e===8233}function O_(e){return e>=48&&e<=57}function Xp(e){return O_(e)||e>=65&&e<=70||e>=97&&e<=102}function uA(e){return e<=1114111}function hy(e){return e>=48&&e<=55}function pA(e,t){let r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 124:case 61:case 62:return!0;case 35:return t===0;default:return r>127}}function Ar(e,t,r,s,f){if(hs(t))return t;let x=!1;for(;;){let w=e.charCodeAt(t);switch(w){case 13:e.charCodeAt(t+1)===10&&t++;case 10:if(t++,r)return t;x=!!f;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(s)break;if(e.charCodeAt(t+1)===47){for(t+=2;t127&&os(w)){t++;continue}break}return t}}function Co(e,t){if(Y.assert(t>=0),t===0||un(e.charCodeAt(t-1))){let r=e.charCodeAt(t);if(t+ll=0&&r127&&os(ae)){X&&un(ae)&&(N=!0),r++;continue}break e}}return X&&($=f(A,g,B,N,x,$)),$}function fA(e,t,r,s){return Yp(!1,e,t,!1,r,s)}function dA(e,t,r,s){return Yp(!1,e,t,!0,r,s)}function zT(e,t,r,s,f){return Yp(!0,e,t,!1,r,s,f)}function WT(e,t,r,s,f){return Yp(!0,e,t,!0,r,s,f)}function VT(e,t,r,s,f){let x=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[];return x.push({kind:r,pos:e,end:t,hasTrailingNewLine:s}),x}function Ao(e,t){return zT(e,t,VT,void 0,void 0)}function HT(e,t){return WT(e,t,VT,void 0,void 0)}function GT(e){let t=Qp.exec(e);if(t)return t[0]}function Wn(e,t){return e>=65&&e<=90||e>=97&&e<=122||e===36||e===95||e>127&&UT(e,t)}function Rs(e,t,r){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===36||e===95||(r===1?e===45||e===58:!1)||e>127&&_A(e,t)}function vy(e,t,r){let s=ii(e,0);if(!Wn(s,t))return!1;for(let f=yi(s);f2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3?arguments[3]:void 0,f=arguments.length>4?arguments[4]:void 0,x=arguments.length>5?arguments[5]:void 0,w=arguments.length>6?arguments[6]:void 0;var A=s,g,B,N,X,F,$,ae,Te,Se=0;ue(A,x,w);var Ye={getStartPos:()=>N,getTextPos:()=>g,getToken:()=>F,getTokenPos:()=>X,getTokenText:()=>A.substring(X,g),getTokenValue:()=>$,hasUnicodeEscape:()=>(ae&1024)!==0,hasExtendedUnicodeEscape:()=>(ae&8)!==0,hasPrecedingLineBreak:()=>(ae&1)!==0,hasPrecedingJSDocComment:()=>(ae&2)!==0,isIdentifier:()=>F===79||F>116,isReservedWord:()=>F>=81&&F<=116,isUnterminated:()=>(ae&4)!==0,getCommentDirectives:()=>Te,getNumericLiteralFlags:()=>ae&1008,getTokenFlags:()=>ae,reScanGreaterToken:Sn,reScanAsteriskEqualsToken:In,reScanSlashToken:pr,reScanTemplateToken:Nn,reScanTemplateHeadOrNoSubstitutionTemplate:ar,scanJsxIdentifier:nr,scanJsxAttributeValue:br,reScanJsxAttributeValue:Kr,reScanJsxToken:oi,reScanLessThanToken:cr,reScanHashToken:$r,reScanQuestionToken:hr,reScanInvalidIdentifier:Gr,scanJsxToken:On,scanJsDocToken:wa,scan:Ur,getText:Ca,clearCommentDirectives:St,setText:ue,setScriptTarget:_t,setLanguageVariant:ft,setOnError:He,setTextPos:Kt,setInJSDocType:zt,tryScan:_i,lookAhead:Mn,scanRange:Ki};return Y.isDebugging&&Object.defineProperty(Ye,"__debugShowCurrentPositionInText",{get:()=>{let xe=Ye.getText();return xe.slice(0,Ye.getStartPos())+"\u2551"+xe.slice(Ye.getStartPos())}}),Ye;function Ne(xe){let Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g,Re=arguments.length>2?arguments[2]:void 0;if(f){let ot=g;g=Le,f(xe,Re||0),g=ot}}function oe(){let xe=g,Le=!1,Re=!1,ot="";for(;;){let Ct=A.charCodeAt(g);if(Ct===95){ae|=512,Le?(Le=!1,Re=!0,ot+=A.substring(xe,g)):Ne(Re?ve.Multiple_consecutive_numeric_separators_are_not_permitted:ve.Numeric_separators_are_not_allowed_here,g,1),g++,xe=g;continue}if(O_(Ct)){Le=!0,Re=!1,g++;continue}break}return A.charCodeAt(g-1)===95&&Ne(ve.Numeric_separators_are_not_allowed_here,g-1,1),ot+A.substring(xe,g)}function Ve(){let xe=g,Le=oe(),Re,ot;A.charCodeAt(g)===46&&(g++,Re=oe());let Ct=g;if(A.charCodeAt(g)===69||A.charCodeAt(g)===101){g++,ae|=16,(A.charCodeAt(g)===43||A.charCodeAt(g)===45)&&g++;let It=g,Mr=oe();Mr?(ot=A.substring(Ct,It)+Mr,Ct=g):Ne(ve.Digit_expected)}let Mt;if(ae&512?(Mt=Le,Re&&(Mt+="."+Re),ot&&(Mt+=ot)):Mt=A.substring(xe,Ct),Re!==void 0||ae&16)return pt(xe,Re===void 0&&!!(ae&16)),{type:8,value:""+ +Mt};{$=Mt;let It=dn();return pt(xe),{type:It,value:$}}}function pt(xe,Le){if(!Wn(ii(A,g),e))return;let Re=g,{length:ot}=an();ot===1&&A[Re]==="n"?Ne(Le?ve.A_bigint_literal_cannot_use_exponential_notation:ve.A_bigint_literal_must_be_an_integer,xe,Re-xe+1):(Ne(ve.An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal,Re,ot),g=Re)}function Gt(){let xe=g;for(;hy(A.charCodeAt(g));)g++;return+A.substring(xe,g)}function Nt(xe,Le){let Re=er(xe,!1,Le);return Re?parseInt(Re,16):-1}function Xt(xe,Le){return er(xe,!0,Le)}function er(xe,Le,Re){let ot=[],Ct=!1,Mt=!1;for(;ot.length=65&&It<=70)It+=97-65;else if(!(It>=48&&It<=57||It>=97&&It<=102))break;ot.push(It),g++,Mt=!1}return ot.length0&&arguments[0]!==void 0?arguments[0]:!1,Le=A.charCodeAt(g);g++;let Re="",ot=g;for(;;){if(g>=B){Re+=A.substring(ot,g),ae|=4,Ne(ve.Unterminated_string_literal);break}let Ct=A.charCodeAt(g);if(Ct===Le){Re+=A.substring(ot,g),g++;break}if(Ct===92&&!xe){Re+=A.substring(ot,g),Re+=Gi(),ot=g;continue}if(un(Ct)&&!xe){Re+=A.substring(ot,g),ae|=4,Ne(ve.Unterminated_string_literal);break}g++}return Re}function Hr(xe){let Le=A.charCodeAt(g)===96;g++;let Re=g,ot="",Ct;for(;;){if(g>=B){ot+=A.substring(Re,g),ae|=4,Ne(ve.Unterminated_template_literal),Ct=Le?14:17;break}let Mt=A.charCodeAt(g);if(Mt===96){ot+=A.substring(Re,g),g++,Ct=Le?14:17;break}if(Mt===36&&g+1=B)return Ne(ve.Unexpected_end_of_text),"";let Re=A.charCodeAt(g);switch(g++,Re){case 48:return xe&&g=0?String.fromCharCode(Le):(Ne(ve.Hexadecimal_digit_expected),"")}function fn(){let xe=Xt(1,!1),Le=xe?parseInt(xe,16):-1,Re=!1;return Le<0?(Ne(ve.Hexadecimal_digit_expected),Re=!0):Le>1114111&&(Ne(ve.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive),Re=!0),g>=B?(Ne(ve.Unexpected_end_of_text),Re=!0):A.charCodeAt(g)===125?g++:(Ne(ve.Unterminated_Unicode_escape_sequence),Re=!0),Re?"":by(Le)}function Ut(){if(g+5=0&&Rs(Re,e)){g+=3,ae|=8,xe+=fn(),Le=g;continue}if(Re=Ut(),!(Re>=0&&Rs(Re,e)))break;ae|=1024,xe+=A.substring(Le,g),xe+=by(Re),g+=6,Le=g}else break}return xe+=A.substring(Le,g),xe}function mr(){let xe=$.length;if(xe>=2&&xe<=12){let Le=$.charCodeAt(0);if(Le>=97&&Le<=122){let Re=$T.get($);if(Re!==void 0)return F=Re}}return F=79}function $i(xe){let Le="",Re=!1,ot=!1;for(;;){let Ct=A.charCodeAt(g);if(Ct===95){ae|=512,Re?(Re=!1,ot=!0):Ne(ot?ve.Multiple_consecutive_numeric_separators_are_not_permitted:ve.Numeric_separators_are_not_allowed_here,g,1),g++;continue}if(Re=!0,!O_(Ct)||Ct-48>=xe)break;Le+=A[g],g++,ot=!1}return A.charCodeAt(g-1)===95&&Ne(ve.Numeric_separators_are_not_allowed_here,g-1,1),Le}function dn(){return A.charCodeAt(g)===110?($+="n",ae&384&&($=Hf($)+"n"),g++,9):($=""+(ae&128?parseInt($.slice(2),2):ae&256?parseInt($.slice(2),8):+$),8)}function Ur(){N=g,ae=0;let xe=!1;for(;;){if(X=g,g>=B)return F=1;let Le=ii(A,g);if(Le===35&&g===0&&gy(A,g)){if(g=yy(A,g),t)continue;return F=6}switch(Le){case 10:case 13:if(ae|=1,t){g++;continue}else return Le===13&&g+1=0&&Wn(Re,e))return g+=3,ae|=8,$=fn()+an(),F=mr();let ot=Ut();return ot>=0&&Wn(ot,e)?(g+=6,ae|=1024,$=String.fromCharCode(ot)+an(),F=mr()):(Ne(ve.Invalid_character),g++,F=0);case 35:if(g!==0&&A[g+1]==="!")return Ne(ve.can_only_be_used_at_the_start_of_a_file),g++,F=0;let Ct=ii(A,g+1);if(Ct===92){g++;let Mr=kn();if(Mr>=0&&Wn(Mr,e))return g+=3,ae|=8,$="#"+fn()+an(),F=80;let gr=Ut();if(gr>=0&&Wn(gr,e))return g+=6,ae|=1024,$="#"+String.fromCharCode(gr)+an(),F=80;g--}return Wn(Ct,e)?(g++,_r(Ct,e)):($="#",Ne(ve.Invalid_character,g++,yi(Le))),F=80;default:let Mt=_r(Le,e);if(Mt)return F=Mt;if(N_(Le)){g+=yi(Le);continue}else if(un(Le)){ae|=1,g+=yi(Le);continue}let It=yi(Le);return Ne(ve.Invalid_character,g,It),g+=It,F=0}}}function Gr(){Y.assert(F===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),g=X=N,ae=0;let xe=ii(A,g),Le=_r(xe,99);return Le?F=Le:(g+=yi(xe),F)}function _r(xe,Le){let Re=xe;if(Wn(Re,Le)){for(g+=yi(Re);g0&&arguments[0]!==void 0?arguments[0]:!0;return g=X=N,F=On(xe)}function cr(){return F===47?(g=X+1,F=29):F}function $r(){return F===80?(g=X+1,F=62):F}function hr(){return Y.assert(F===60,"'reScanQuestionToken' should only be called on a '??'"),g=X+1,F=57}function On(){let xe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(N=X=g,g>=B)return F=1;let Le=A.charCodeAt(g);if(Le===60)return A.charCodeAt(g+1)===47?(g+=2,F=30):(g++,F=29);if(Le===123)return g++,F=18;let Re=0;for(;g0)break;os(Le)||(Re=g)}g++}return $=A.substring(N,g),Re===-1?12:11}function nr(){if(fr(F)){let xe=!1;for(;g=B)return F=1;let xe=ii(A,g);switch(g+=yi(xe),xe){case 9:case 11:case 12:case 32:for(;g=0&&Wn(Le,e))return g+=3,ae|=8,$=fn()+an(),F=mr();let Re=Ut();return Re>=0&&Wn(Re,e)?(g+=6,ae|=1024,$=String.fromCharCode(Re)+an(),F=mr()):(g++,F=0)}if(Wn(xe,e)){let Le=xe;for(;g=0),g=xe,N=xe,X=xe,F=0,$=void 0,ae=0}function zt(xe){Se+=xe?1:-1}}function yi(e){return e>=65536?2:1}function mA(e){if(Y.assert(0<=e&&e<=1114111),e<=65535)return String.fromCharCode(e);let t=Math.floor((e-65536)/1024)+55296,r=(e-65536)%1024+56320;return String.fromCharCode(t,r)}function by(e){return iS(e)}var cl,$T,Ty,KT,XT,YT,QT,ZT,eS,tS,rS,nS,ll,Qp,ii,iS,hA=D({"src/compiler/scanner.ts"(){"use strict";nn(),cl={abstract:126,accessor:127,any:131,as:128,asserts:129,assert:130,bigint:160,boolean:134,break:81,case:82,catch:83,class:84,continue:86,const:85,constructor:135,debugger:87,declare:136,default:88,delete:89,do:90,else:91,enum:92,export:93,extends:94,false:95,finally:96,for:97,from:158,function:98,get:137,if:99,implements:117,import:100,in:101,infer:138,instanceof:102,interface:118,intrinsic:139,is:140,keyof:141,let:119,module:142,namespace:143,never:144,new:103,null:104,number:148,object:149,package:120,private:121,protected:122,public:123,override:161,out:145,readonly:146,require:147,global:159,return:105,satisfies:150,set:151,static:124,string:152,super:106,switch:107,symbol:153,this:108,throw:109,true:110,try:111,type:154,typeof:112,undefined:155,unique:156,unknown:157,var:113,void:114,while:115,with:116,yield:125,async:132,await:133,of:162},$T=new Map(Object.entries(cl)),Ty=new Map(Object.entries(Object.assign(Object.assign({},cl),{},{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":63,"+=":64,"-=":65,"*=":66,"**=":67,"/=":68,"%=":69,"<<=":70,">>=":71,">>>=":72,"&=":73,"|=":74,"^=":78,"||=":75,"&&=":76,"??=":77,"@":59,"#":62,"`":61}))),KT=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],XT=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],YT=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],QT=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],ZT=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],eS=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],tS=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,rS=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,nS=cA(Ty),ll=7,Qp=/^#!.*/,ii=String.prototype.codePointAt?(e,t)=>e.codePointAt(t):function(t,r){let s=t.length;if(r<0||r>=s)return;let f=t.charCodeAt(r);if(f>=55296&&f<=56319&&s>r+1){let x=t.charCodeAt(r+1);if(x>=56320&&x<=57343)return(f-55296)*1024+x-56320+65536}return f},iS=String.fromCodePoint?e=>String.fromCodePoint(e):mA}});function gA(e){return So(e)||A_(e)}function yA(e){return uo(e,av)}function aS(e){switch(Uf(e)){case 99:return"lib.esnext.full.d.ts";case 9:return"lib.es2022.full.d.ts";case 8:return"lib.es2021.full.d.ts";case 7:return"lib.es2020.full.d.ts";case 6:return"lib.es2019.full.d.ts";case 5:return"lib.es2018.full.d.ts";case 4:return"lib.es2017.full.d.ts";case 3:return"lib.es2016.full.d.ts";case 2:return"lib.es6.d.ts";default:return"lib.d.ts"}}function Ir(e){return e.start+e.length}function sS(e){return e.length===0}function vA(e,t){return t>=e.start&&t=e.pos&&t<=e.end}function TA(e,t){return t.start>=e.start&&Ir(t)<=Ir(e)}function SA(e,t){return oS(e,t)!==void 0}function oS(e,t){let r=_S(e,t);return r&&r.length===0?void 0:r}function xA(e,t){return Sy(e.start,e.length,t.start,t.length)}function EA(e,t,r){return Sy(e.start,e.length,t,r)}function Sy(e,t,r,s){let f=e+t,x=r+s;return r<=f&&x>=e}function wA(e,t){return t<=Ir(e)&&t>=e.start}function _S(e,t){let r=Math.max(e.start,t.start),s=Math.min(Ir(e),Ir(t));return r<=s?ha(r,s):void 0}function L_(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function ha(e,t){return L_(e,t-e)}function R_(e){return L_(e.span.start,e.newLength)}function cS(e){return sS(e.span)&&e.newLength===0}function Zp(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function CA(e){if(e.length===0)return Vy;if(e.length===1)return e[0];let t=e[0],r=t.span.start,s=Ir(t.span),f=r+t.newLength;for(let x=1;xt.flags)}function DA(e,t,r){let s=e.toLowerCase(),f=/^([a-z]+)([_\-]([a-z]+))?$/.exec(s);if(!f){r&&r.push(Ol(ve.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,"en","ja-jp"));return}let x=f[1],w=f[3];pe(Hy,s)&&!A(x,w,r)&&A(x,void 0,r),xp(e);function A(g,B,N){let X=Un(t.getExecutingFilePath()),F=ma(X),$=tn(F,g);if(B&&($=$+"-"+B),$=t.resolvePath(tn($,"diagnosticMessages.generated.json")),!t.fileExists($))return!1;let ae="";try{ae=t.readFile($)}catch{return N&&N.push(Ol(ve.Unable_to_open_file_0,$)),!1}try{yx(JSON.parse(ae))}catch{return N&&N.push(Ol(ve.Corrupted_locale_file_0,$)),!1}return!0}}function ul(e,t){if(e)for(;e.original!==void 0;)e=e.original;return!e||!t||t(e)?e:void 0}function zi(e,t){for(;e;){let r=t(e);if(r==="quit")return;if(r)return e;e=e.parent}}function pl(e){return(e.flags&8)===0}function fl(e,t){if(e===void 0||pl(e))return e;for(e=e.original;e;){if(pl(e))return!t||t(e)?e:void 0;e=e.original}}function vi(e){return e.length>=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?"_"+e:e}function dl(e){let t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}function qr(e){return dl(e.escapedText)}function dS(e){let t=_l(e.escapedText);return t?ln(t,ba):void 0}function rf(e){return e.valueDeclaration&&zS(e.valueDeclaration)?qr(e.valueDeclaration.name):dl(e.escapedName)}function mS(e){let t=e.parent.parent;if(t){if(ko(t))return nf(t);switch(t.kind){case 240:if(t.declarationList&&t.declarationList.declarations[0])return nf(t.declarationList.declarations[0]);break;case 241:let r=t.expression;switch(r.kind===223&&r.operatorToken.kind===63&&(r=r.left),r.kind){case 208:return r.name;case 209:let s=r.argumentExpression;if(yt(s))return s}break;case 214:return nf(t.expression);case 253:{if(ko(t.statement)||mf(t.statement))return nf(t.statement);break}}}}function nf(e){let t=ml(e);return t&&yt(t)?t:void 0}function hS(e,t){return!!(af(e)&&yt(e.name)&&qr(e.name)===qr(t)||zo(e)&&Ke(e.declarationList.declarations,r=>hS(r,t)))}function gS(e){return e.name||mS(e)}function af(e){return!!e.name}function Ey(e){switch(e.kind){case 79:return e;case 351:case 344:{let{name:r}=e;if(r.kind===163)return r.right;break}case 210:case 223:{let r=e;switch(ps(r)){case 1:case 4:case 5:case 3:return Cf(r.left);case 7:case 8:case 9:return r.arguments[1];default:return}}case 349:return gS(e);case 343:return mS(e);case 274:{let{expression:r}=e;return yt(r)?r:void 0}case 209:let t=e;if(x0(t))return t.argumentExpression}return e.name}function ml(e){if(e!==void 0)return Ey(e)||(ad(e)||sd(e)||_d(e)?yS(e):void 0)}function yS(e){if(e.parent){if(lc(e.parent)||Xl(e.parent))return e.parent.name;if(ur(e.parent)&&e===e.parent.right){if(yt(e.parent.left))return e.parent.left;if(Lo(e.parent.left))return Cf(e.parent.left)}else if(Vi(e.parent)&&yt(e.parent.name))return e.parent.name}else return}function kA(e){if(Il(e))return ee(e.modifiers,zl)}function sf(e){if(rn(e,126975))return ee(e.modifiers,Oy)}function vS(e,t){if(e.name)if(yt(e.name)){let r=e.name.escapedText;return j_(e.parent,t).filter(s=>pc(s)&&yt(s.name)&&s.name.escapedText===r)}else{let r=e.parent.parameters.indexOf(e);Y.assert(r>-1,"Parameters should always be in their parents' parameter list");let s=j_(e.parent,t).filter(pc);if(rGo(s)&&s.typeParameters.some(f=>f.name.escapedText===r))}function SS(e){return TS(e,!1)}function xS(e){return TS(e,!0)}function IA(e){return!!Nr(e,pc)}function ES(e){return Nr(e,md)}function wS(e){return MS(e,hE)}function NA(e){return Nr(e,pE)}function OA(e){return Nr(e,d2)}function CS(e){return Nr(e,d2,!0)}function MA(e){return Nr(e,m2)}function AS(e){return Nr(e,m2,!0)}function LA(e){return Nr(e,h2)}function PS(e){return Nr(e,h2,!0)}function RA(e){return Nr(e,g2)}function DS(e){return Nr(e,g2,!0)}function kS(e){return Nr(e,fE,!0)}function jA(e){return Nr(e,v2)}function IS(e){return Nr(e,v2,!0)}function JA(e){return Nr(e,dE)}function FA(e){return Nr(e,mE)}function NS(e){return Nr(e,b2)}function BA(e){return Nr(e,Go)}function wy(e){return Nr(e,T2)}function _f(e){let t=Nr(e,au);if(t&&t.typeExpression&&t.typeExpression.type)return t}function cf(e){let t=Nr(e,au);return!t&&Vs(e)&&(t=Ae(of(e),r=>!!r.typeExpression)),t&&t.typeExpression&&t.typeExpression.type}function OS(e){let t=NS(e);if(t&&t.typeExpression)return t.typeExpression.type;let r=_f(e);if(r&&r.typeExpression){let s=r.typeExpression.type;if(id(s)){let f=Ae(s.members,Vv);return f&&f.type}if($l(s)||dd(s))return s.type}}function j_(e,t){var r,s;if(!Af(e))return Bt;let f=(r=e.jsDoc)==null?void 0:r.jsDocCache;if(f===void 0||t){let x=r4(e,t);Y.assert(x.length<2||x[0]!==x[1]),f=ne(x,w=>Ho(w)?w.tags:w),t||((s=e.jsDoc)!=null||(e.jsDoc=[]),e.jsDoc.jsDocCache=f)}return f}function hl(e){return j_(e,!1)}function qA(e){return j_(e,!0)}function Nr(e,t,r){return Ae(j_(e,r),t)}function MS(e,t){return hl(e).filter(t)}function UA(e,t){return hl(e).filter(r=>r.kind===t)}function zA(e){return typeof e=="string"?e:e==null?void 0:e.map(t=>t.kind===324?t.text:WA(t)).join("")}function WA(e){let t=e.kind===327?"link":e.kind===328?"linkcode":"linkplain",r=e.name?ls(e.name):"",s=e.name&&e.text.startsWith("://")?"":" ";return`{@${t} ${r}${s}${e.text}}`}function VA(e){if(iu(e)){if(y2(e.parent)){let t=P0(e.parent);if(t&&I(t.tags))return ne(t.tags,r=>Go(r)?r.typeParameters:void 0)}return Bt}if(Cl(e))return Y.assert(e.parent.kind===323),ne(e.parent.tags,t=>Go(t)?t.typeParameters:void 0);if(e.typeParameters||IE(e)&&e.typeParameters)return e.typeParameters;if(Pr(e)){let t=F4(e);if(t.length)return t;let r=cf(e);if(r&&$l(r)&&r.typeParameters)return r.typeParameters}return Bt}function HA(e){return e.constraint?e.constraint:Go(e.parent)&&e===e.parent.typeParameters[0]?e.parent.constraint:void 0}function js(e){return e.kind===79||e.kind===80}function GA(e){return e.kind===175||e.kind===174}function LS(e){return bn(e)&&!!(e.flags&32)}function RS(e){return gs(e)&&!!(e.flags&32)}function Cy(e){return sc(e)&&!!(e.flags&32)}function Ay(e){let t=e.kind;return!!(e.flags&32)&&(t===208||t===209||t===210||t===232)}function Py(e){return Ay(e)&&!Uo(e)&&!!e.questionDotToken}function $A(e){return Py(e.parent)&&e.parent.expression===e}function KA(e){return!Ay(e.parent)||Py(e.parent)||e!==e.parent.expression}function XA(e){return e.kind===223&&e.operatorToken.kind===60}function jS(e){return ac(e)&&yt(e.typeName)&&e.typeName.escapedText==="const"&&!e.typeArguments}function lf(e){return $o(e,8)}function JS(e){return Uo(e)&&!!(e.flags&32)}function YA(e){return e.kind===249||e.kind===248}function QA(e){return e.kind===277||e.kind===276}function FS(e){switch(e.kind){case 305:case 306:return!0;default:return!1}}function ZA(e){return FS(e)||e.kind===303||e.kind===307}function Dy(e){return e.kind===351||e.kind===344}function eP(e){return gl(e.kind)}function gl(e){return e>=163}function BS(e){return e>=0&&e<=162}function tP(e){return BS(e.kind)}function _s(e){return Jr(e,"pos")&&Jr(e,"end")}function ky(e){return 8<=e&&e<=14}function Iy(e){return ky(e.kind)}function rP(e){switch(e.kind){case 207:case 206:case 13:case 215:case 228:return!0}return!1}function yl(e){return 14<=e&&e<=17}function nP(e){return yl(e.kind)}function iP(e){let t=e.kind;return t===16||t===17}function aP(e){return nE(e)||aE(e)}function qS(e){switch(e.kind){case 273:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 271:return e.parent.isTypeOnly;case 270:case 268:return e.isTypeOnly}return!1}function US(e){switch(e.kind){case 278:return e.isTypeOnly||e.parent.parent.isTypeOnly;case 275:return e.isTypeOnly&&!!e.moduleSpecifier&&!e.exportClause;case 277:return e.parent.isTypeOnly}return!1}function sP(e){return qS(e)||US(e)}function oP(e){return Gn(e)||yt(e)}function _P(e){return e.kind===10||yl(e.kind)}function cs(e){var t;return yt(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function Ny(e){var t;return vn(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function zS(e){return(Bo(e)||Ly(e))&&vn(e.name)}function cP(e){return bn(e)&&vn(e.name)}function Wi(e){switch(e){case 126:case 127:case 132:case 85:case 136:case 88:case 93:case 101:case 123:case 121:case 122:case 146:case 124:case 145:case 161:return!0}return!1}function WS(e){return!!(Q0(e)&16476)}function VS(e){return WS(e)||e===124||e===161||e===127}function Oy(e){return Wi(e.kind)}function lP(e){let t=e.kind;return t===163||t===79}function vl(e){let t=e.kind;return t===79||t===80||t===10||t===8||t===164}function uP(e){let t=e.kind;return t===79||t===203||t===204}function ga(e){return!!e&&My(e.kind)}function uf(e){return!!e&&(My(e.kind)||Hl(e))}function HS(e){return e&&GS(e.kind)}function pP(e){return e.kind===110||e.kind===95}function GS(e){switch(e){case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function My(e){switch(e){case 170:case 176:case 326:case 177:case 178:case 181:case 320:case 182:return!0;default:return GS(e)}}function fP(e){return wi(e)||rE(e)||Ql(e)&&ga(e.parent)}function Js(e){let t=e.kind;return t===173||t===169||t===171||t===174||t===175||t===178||t===172||t===237}function bi(e){return e&&(e.kind===260||e.kind===228)}function pf(e){return e&&(e.kind===174||e.kind===175)}function $S(e){return Bo(e)&&H4(e)}function Ly(e){switch(e.kind){case 171:case 174:case 175:return!0;default:return!1}}function dP(e){switch(e.kind){case 171:case 174:case 175:case 169:return!0;default:return!1}}function ff(e){return Oy(e)||zl(e)}function Ry(e){let t=e.kind;return t===177||t===176||t===168||t===170||t===178||t===174||t===175}function mP(e){return Ry(e)||Js(e)}function jy(e){let t=e.kind;return t===299||t===300||t===301||t===171||t===174||t===175}function Jy(e){return hx(e.kind)}function hP(e){switch(e.kind){case 181:case 182:return!0}return!1}function df(e){if(e){let t=e.kind;return t===204||t===203}return!1}function KS(e){let t=e.kind;return t===206||t===207}function gP(e){let t=e.kind;return t===205||t===229}function Fy(e){switch(e.kind){case 257:case 166:case 205:return!0}return!1}function yP(e){return Vi(e)||Vs(e)||YS(e)||ZS(e)}function vP(e){return XS(e)||QS(e)}function XS(e){switch(e.kind){case 203:case 207:return!0}return!1}function YS(e){switch(e.kind){case 205:case 299:case 300:case 301:return!0}return!1}function QS(e){switch(e.kind){case 204:case 206:return!0}return!1}function ZS(e){switch(e.kind){case 205:case 229:case 227:case 206:case 207:case 79:case 208:case 209:return!0}return ms(e,!0)}function bP(e){let t=e.kind;return t===208||t===163||t===202}function TP(e){let t=e.kind;return t===208||t===163}function SP(e){switch(e.kind){case 283:case 282:case 210:case 211:case 212:case 167:return!0;default:return!1}}function xP(e){return e.kind===210||e.kind===211}function EP(e){let t=e.kind;return t===225||t===14}function Do(e){return e3(lf(e).kind)}function e3(e){switch(e){case 208:case 209:case 211:case 210:case 281:case 282:case 285:case 212:case 206:case 214:case 207:case 228:case 215:case 79:case 80:case 13:case 8:case 9:case 10:case 14:case 225:case 95:case 104:case 108:case 110:case 106:case 232:case 230:case 233:case 100:case 279:return!0;default:return!1}}function t3(e){return r3(lf(e).kind)}function r3(e){switch(e){case 221:case 222:case 217:case 218:case 219:case 220:case 213:return!0;default:return e3(e)}}function wP(e){switch(e.kind){case 222:return!0;case 221:return e.operator===45||e.operator===46;default:return!1}}function CP(e){switch(e.kind){case 104:case 110:case 95:case 221:return!0;default:return Iy(e)}}function mf(e){return AP(lf(e).kind)}function AP(e){switch(e){case 224:case 226:case 216:case 223:case 227:case 231:case 229:case 357:case 356:case 235:return!0;default:return r3(e)}}function PP(e){let t=e.kind;return t===213||t===231}function DP(e){return c2(e)||Z8(e)}function n3(e,t){switch(e.kind){case 245:case 246:case 247:case 243:case 244:return!0;case 253:return t&&n3(e.statement,t)}return!1}function i3(e){return Vo(e)||cc(e)}function kP(e){return Ke(e,i3)}function IP(e){return!bf(e)&&!Vo(e)&&!rn(e,1)&&!yf(e)}function NP(e){return bf(e)||Vo(e)||rn(e,1)}function OP(e){return e.kind===246||e.kind===247}function MP(e){return Ql(e)||mf(e)}function LP(e){return Ql(e)}function RP(e){return r2(e)||mf(e)}function jP(e){let t=e.kind;return t===265||t===264||t===79}function JP(e){let t=e.kind;return t===265||t===264}function FP(e){let t=e.kind;return t===79||t===264}function BP(e){let t=e.kind;return t===272||t===271}function qP(e){return e.kind===264||e.kind===263}function UP(e){switch(e.kind){case 216:case 223:case 205:case 210:case 176:case 260:case 228:case 172:case 173:case 182:case 177:case 209:case 263:case 302:case 274:case 275:case 278:case 259:case 215:case 181:case 174:case 79:case 270:case 268:case 273:case 178:case 261:case 341:case 343:case 320:case 344:case 351:case 326:case 349:case 325:case 288:case 289:case 290:case 197:case 171:case 170:case 264:case 199:case 277:case 267:case 271:case 211:case 14:case 8:case 207:case 166:case 208:case 299:case 169:case 168:case 175:case 300:case 308:case 301:case 10:case 262:case 184:case 165:case 257:return!0;default:return!1}}function zP(e){switch(e.kind){case 216:case 238:case 176:case 266:case 295:case 172:case 191:case 173:case 182:case 177:case 245:case 246:case 247:case 259:case 215:case 181:case 174:case 178:case 341:case 343:case 320:case 326:case 349:case 197:case 171:case 170:case 264:case 175:case 308:case 262:return!0;default:return!1}}function WP(e){return e===216||e===205||e===260||e===228||e===172||e===173||e===263||e===302||e===278||e===259||e===215||e===174||e===270||e===268||e===273||e===261||e===288||e===171||e===170||e===264||e===267||e===271||e===277||e===166||e===299||e===169||e===168||e===175||e===300||e===262||e===165||e===257||e===349||e===341||e===351}function By(e){return e===259||e===279||e===260||e===261||e===262||e===263||e===264||e===269||e===268||e===275||e===274||e===267}function qy(e){return e===249||e===248||e===256||e===243||e===241||e===239||e===246||e===247||e===245||e===242||e===253||e===250||e===252||e===254||e===255||e===240||e===244||e===251||e===355||e===359||e===358}function ko(e){return e.kind===165?e.parent&&e.parent.kind!==348||Pr(e):WP(e.kind)}function VP(e){return By(e.kind)}function HP(e){return qy(e.kind)}function a3(e){let t=e.kind;return qy(t)||By(t)||GP(e)}function GP(e){return e.kind!==238||e.parent!==void 0&&(e.parent.kind===255||e.parent.kind===295)?!1:!O3(e)}function s3(e){let t=e.kind;return qy(t)||By(t)||t===238}function $P(e){let t=e.kind;return t===280||t===163||t===79}function KP(e){let t=e.kind;return t===108||t===79||t===208}function o3(e){let t=e.kind;return t===281||t===291||t===282||t===11||t===285}function XP(e){let t=e.kind;return t===288||t===290}function YP(e){let t=e.kind;return t===10||t===291}function _3(e){let t=e.kind;return t===283||t===282}function QP(e){let t=e.kind;return t===292||t===293}function Uy(e){return e.kind>=312&&e.kind<=353}function c3(e){return e.kind===323||e.kind===322||e.kind===324||Sl(e)||zy(e)||f2(e)||iu(e)}function zy(e){return e.kind>=330&&e.kind<=353}function bl(e){return e.kind===175}function Tl(e){return e.kind===174}function ya(e){if(!Af(e))return!1;let{jsDoc:t}=e;return!!t&&t.length>0}function ZP(e){return!!e.type}function l3(e){return!!e.initializer}function eD(e){switch(e.kind){case 257:case 166:case 205:case 169:case 299:case 302:return!0;default:return!1}}function Wy(e){return e.kind===288||e.kind===290||jy(e)}function tD(e){return e.kind===180||e.kind===230}function rD(e){let t=Gy;for(let r of e){if(!r.length)continue;let s=0;for(;sr.kind===t)}function oD(e){let t=new Map;if(e)for(let r of e)t.set(r.escapedName,r);return t}function $y(e){return(e.flags&33554432)!==0}function _D(){var e="";let t=r=>e+=r;return{getText:()=>e,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(r,s)=>t(r),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>e.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!e.length&&os(e.charCodeAt(e.length-1)),writeLine:()=>e+=" ",increaseIndent:yn,decreaseIndent:yn,clear:()=>e=""}}function cD(e,t){return e.configFilePath!==t.configFilePath||p3(e,t)}function p3(e,t){return J_(e,t,moduleResolutionOptionDeclarations)}function lD(e,t){return J_(e,t,optionsAffectingProgramStructure)}function J_(e,t,r){return e!==t&&r.some(s=>!gv(uv(e,s),uv(t,s)))}function uD(e,t){for(;;){let r=t(e);if(r==="quit")return;if(r!==void 0)return r;if(wi(e))return;e=e.parent}}function pD(e,t){let r=e.entries();for(let[s,f]of r){let x=t(f,s);if(x)return x}}function fD(e,t){let r=e.keys();for(let s of r){let f=t(s);if(f)return f}}function dD(e,t){e.forEach((r,s)=>{t.set(s,r)})}function mD(e){let t=Z_.getText();try{return e(Z_),Z_.getText()}finally{Z_.clear(),Z_.writeKeyword(t)}}function hf(e){return e.end-e.pos}function hD(e,t,r){var s,f;return(f=(s=e==null?void 0:e.resolvedModules)==null?void 0:s.get(t,r))==null?void 0:f.resolvedModule}function gD(e,t,r,s){e.resolvedModules||(e.resolvedModules=createModeAwareCache()),e.resolvedModules.set(t,s,r)}function yD(e,t,r,s){e.resolvedTypeReferenceDirectiveNames||(e.resolvedTypeReferenceDirectiveNames=createModeAwareCache()),e.resolvedTypeReferenceDirectiveNames.set(t,s,r)}function vD(e,t,r){var s,f;return(f=(s=e==null?void 0:e.resolvedTypeReferenceDirectiveNames)==null?void 0:s.get(t,r))==null?void 0:f.resolvedTypeReferenceDirective}function bD(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular}function TD(e,t){return e===t||e.resolvedModule===t.resolvedModule||!!e.resolvedModule&&!!t.resolvedModule&&e.resolvedModule.isExternalLibraryImport===t.resolvedModule.isExternalLibraryImport&&e.resolvedModule.extension===t.resolvedModule.extension&&e.resolvedModule.resolvedFileName===t.resolvedModule.resolvedFileName&&e.resolvedModule.originalPath===t.resolvedModule.originalPath&&SD(e.resolvedModule.packageId,t.resolvedModule.packageId)}function SD(e,t){return e===t||!!e&&!!t&&e.name===t.name&&e.subModuleName===t.subModuleName&&e.version===t.version}function f3(e){let{name:t,subModuleName:r}=e;return r?`${t}/${r}`:t}function xD(e){return`${f3(e)}@${e.version}`}function ED(e,t){return e===t||e.resolvedTypeReferenceDirective===t.resolvedTypeReferenceDirective||!!e.resolvedTypeReferenceDirective&&!!t.resolvedTypeReferenceDirective&&e.resolvedTypeReferenceDirective.resolvedFileName===t.resolvedTypeReferenceDirective.resolvedFileName&&!!e.resolvedTypeReferenceDirective.primary==!!t.resolvedTypeReferenceDirective.primary&&e.resolvedTypeReferenceDirective.originalPath===t.resolvedTypeReferenceDirective.originalPath}function wD(e,t,r,s,f,x){Y.assert(e.length===r.length);for(let w=0;w=0),ss(t)[e]}function ID(e){let t=Si(e),r=Ls(t,e.pos);return`${t.fileName}(${r.line+1},${r.character+1})`}function d3(e,t){Y.assert(e>=0);let r=ss(t),s=e,f=t.text;if(s+1===r.length)return f.length-1;{let x=r[s],w=r[s+1]-1;for(Y.assert(un(f.charCodeAt(w)));x<=w&&un(f.charCodeAt(w));)w--;return w}}function m3(e,t,r){return!(r&&r(t))&&!e.identifiers.has(t)}function va(e){return e===void 0?!0:e.pos===e.end&&e.pos>=0&&e.kind!==1}function xl(e){return!va(e)}function ND(e,t){return Fo(e)?t===e.expression:Hl(e)?t===e.modifiers:Wl(e)?t===e.initializer:Bo(e)?t===e.questionToken&&$S(e):lc(e)?t===e.modifiers||t===e.questionToken||t===e.exclamationToken||F_(e.modifiers,t,ff):nu(e)?t===e.equalsToken||t===e.modifiers||t===e.questionToken||t===e.exclamationToken||F_(e.modifiers,t,ff):Vl(e)?t===e.exclamationToken:nc(e)?t===e.typeParameters||t===e.type||F_(e.typeParameters,t,Fo):Gl(e)?t===e.typeParameters||F_(e.typeParameters,t,Fo):ic(e)?t===e.typeParameters||t===e.type||F_(e.typeParameters,t,Fo):a2(e)?t===e.modifiers||F_(e.modifiers,t,ff):!1}function F_(e,t,r){return!e||ir(t)||!r(t)?!1:pe(e,t)}function h3(e,t,r){if(t===void 0||t.length===0)return e;let s=0;for(;s[`${Ls(e,w.range.end).line}`,w])),s=new Map;return{getUnusedExpectations:f,markUsed:x};function f(){return Za(r.entries()).filter(w=>{let[A,g]=w;return g.type===0&&!s.get(A)}).map(w=>{let[A,g]=w;return g})}function x(w){return r.has(`${w}`)?(s.set(`${w}`,!0),!0):!1}}function Io(e,t,r){return va(e)?e.pos:Uy(e)||e.kind===11?Ar((t||Si(e)).text,e.pos,!1,!0):r&&ya(e)?Io(e.jsDoc[0],t):e.kind===354&&e._children.length>0?Io(e._children[0],t,r):Ar((t||Si(e)).text,e.pos,!1,!1,q3(e))}function FD(e,t){let r=!va(e)&&fc(e)?te(e.modifiers,zl):void 0;return r?Ar((t||Si(e)).text,r.end):Io(e,t)}function No(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return B_(e.text,t,r)}function BD(e){return!!zi(e,lE)}function b3(e){return!!(cc(e)&&e.exportClause&&ld(e.exportClause)&&e.exportClause.name.escapedText==="default")}function B_(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(va(t))return"";let s=e.substring(r?t.pos:Ar(e,t.pos),t.end);return BD(t)&&(s=s.split(/\r\n|\n|\r/).map(f=>nl(f.replace(/^\s*\*/,""))).join(` +`)),s}function gf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return No(Si(e),e,t)}function qD(e){return e.pos}function UD(e,t){return Ya(e,t,qD,Vr)}function xi(e){let t=e.emitNode;return t&&t.flags||0}function zD(e){let t=e.emitNode;return t&&t.internalFlags||0}function WD(e,t,r){var s;if(t&&VD(e,r))return No(t,e);switch(e.kind){case 10:{let f=r&2?A4:r&1||xi(e)&33554432?Nf:Of;return e.singleQuote?"'"+f(e.text,39)+"'":'"'+f(e.text,34)+'"'}case 14:case 15:case 16:case 17:{let f=r&1||xi(e)&33554432?Nf:Of,x=(s=e.rawText)!=null?s:SN(f(e.text,96));switch(e.kind){case 14:return"`"+x+"`";case 15:return"`"+x+"${";case 16:return"}"+x+"${";case 17:return"}"+x+"`"}break}case 8:case 9:return e.text;case 13:return r&4&&e.isUnterminated?e.text+(e.text.charCodeAt(e.text.length-1)===92?" /":"/"):e.text}return Y.fail(`Literal kind '${e.kind}' not accounted for.`)}function VD(e,t){return fs(e)||!e.parent||t&4&&e.isUnterminated?!1:zs(e)&&e.numericLiteralFlags&512?!!(t&8):!Uv(e)}function HD(e){return Ji(e)?'"'+Of(e)+'"':""+e}function GD(e){return sl(e).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}function $D(e){return(tf(e)&3)!==0||T3(e)}function T3(e){let t=If(e);return t.kind===257&&t.parent.kind===295}function yf(e){return Ea(e)&&(e.name.kind===10||vf(e))}function KD(e){return Ea(e)&&e.name.kind===10}function XD(e){return Ea(e)&&Gn(e.name)}function S3(e){return Ea(e)||yt(e)}function YD(e){return QD(e.valueDeclaration)}function QD(e){return!!e&&e.kind===264&&!e.body}function ZD(e){return e.kind===308||e.kind===264||uf(e)}function vf(e){return!!(e.flags&1024)}function Xy(e){return yf(e)&&x3(e)}function x3(e){switch(e.parent.kind){case 308:return Qo(e.parent);case 265:return yf(e.parent.parent)&&wi(e.parent.parent.parent)&&!Qo(e.parent.parent.parent)}return!1}function E3(e){var t;return(t=e.declarations)==null?void 0:t.find(r=>!Xy(r)&&!(Ea(r)&&vf(r)))}function ek(e){return e===1||e===100||e===199}function Yy(e,t){return Qo(e)||zf(t)||ek(Ei(t))&&!!e.commonJsModuleIndicator}function tk(e,t){switch(e.scriptKind){case 1:case 3:case 2:case 4:break;default:return!1}return e.isDeclarationFile?!1:lv(t,"alwaysStrict")||SE(e.statements)?!0:Qo(e)||zf(t)?Ei(t)>=5?!0:!t.noImplicitUseStrict:!1}function rk(e){return!!(e.flags&16777216)||rn(e,2)}function w3(e,t){switch(e.kind){case 308:case 266:case 295:case 264:case 245:case 246:case 247:case 173:case 171:case 174:case 175:case 259:case 215:case 216:case 169:case 172:return!0;case 238:return!uf(t)}return!1}function nk(e){switch(Y.type(e),e.kind){case 341:case 349:case 326:return!0;default:return C3(e)}}function C3(e){switch(Y.type(e),e.kind){case 176:case 177:case 170:case 178:case 181:case 182:case 320:case 260:case 228:case 261:case 262:case 348:case 259:case 171:case 173:case 174:case 175:case 215:case 216:return!0;default:return!1}}function Qy(e){switch(e.kind){case 269:case 268:return!0;default:return!1}}function ik(e){return Qy(e)||Ef(e)}function ak(e){switch(e.kind){case 269:case 268:case 240:case 260:case 259:case 264:case 262:case 261:case 263:return!0;default:return!1}}function sk(e){return bf(e)||Ea(e)||Kl(e)||s0(e)}function bf(e){return Qy(e)||cc(e)}function Zy(e){return zi(e.parent,t=>w3(t,t.parent))}function ok(e,t){let r=Zy(e);for(;r;)t(r),r=Zy(r)}function A3(e){return!e||hf(e)===0?"(Missing)":gf(e)}function _k(e){return e.declaration?A3(e.declaration.parameters[0].name):void 0}function ck(e){return e.kind===164&&!Ta(e.expression)}function e0(e){var t;switch(e.kind){case 79:case 80:return(t=e.emitNode)!=null&&t.autoGenerate?void 0:e.escapedText;case 10:case 8:case 14:return vi(e.text);case 164:return Ta(e.expression)?vi(e.expression.text):void 0;default:return Y.assertNever(e)}}function lk(e){return Y.checkDefined(e0(e))}function ls(e){switch(e.kind){case 108:return"this";case 80:case 79:return hf(e)===0?qr(e):gf(e);case 163:return ls(e.left)+"."+ls(e.right);case 208:return yt(e.name)||vn(e.name)?ls(e.expression)+"."+ls(e.name):Y.assertNever(e.name);case 314:return ls(e.left)+ls(e.right);default:return Y.assertNever(e)}}function uk(e,t,r,s,f,x){let w=Si(e);return P3(w,e,t,r,s,f,x)}function pk(e,t,r,s,f,x,w){let A=Ar(e.text,t.pos);return iv(e,A,t.end-A,r,s,f,x,w)}function P3(e,t,r,s,f,x,w){let A=i0(e,t);return iv(e,A.start,A.length,r,s,f,x,w)}function fk(e,t,r,s){let f=i0(e,t);return r0(e,f.start,f.length,r,s)}function dk(e,t,r,s){let f=Ar(e.text,t.pos);return r0(e,f,t.end-f,r,s)}function t0(e,t,r){Y.assertGreaterThanOrEqual(t,0),Y.assertGreaterThanOrEqual(r,0),e&&(Y.assertLessThanOrEqual(t,e.text.length),Y.assertLessThanOrEqual(t+r,e.text.length))}function r0(e,t,r,s,f){return t0(e,t,r),{file:e,start:t,length:r,code:s.code,category:s.category,messageText:s.next?s:s.messageText,relatedInformation:f}}function mk(e,t,r){return{file:e,start:0,length:0,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}}function hk(e){return typeof e.messageText=="string"?{code:e.code,category:e.category,messageText:e.messageText,next:e.next}:e.messageText}function gk(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}}function n0(e,t){let r=Po(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);r.scan();let s=r.getTokenPos();return ha(s,r.getTextPos())}function yk(e,t){let r=Po(e.languageVersion,!0,e.languageVariant,e.text,void 0,t);return r.scan(),r.getToken()}function vk(e,t){let r=Ar(e.text,t.pos);if(t.body&&t.body.kind===238){let{line:s}=Ls(e,t.body.pos),{line:f}=Ls(e,t.body.end);if(s0?t.statements[0].pos:t.end;return ha(w,A)}if(r===void 0)return n0(e,t.pos);Y.assert(!Ho(r));let s=va(r),f=s||td(t)?r.pos:Ar(e.text,r.pos);return s?(Y.assert(f===r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),Y.assert(f===r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")):(Y.assert(f>=r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),Y.assert(f<=r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),ha(f,r.end)}function bk(e){return(e.externalModuleIndicator||e.commonJsModuleIndicator)!==void 0}function a0(e){return e.scriptKind===6}function Tk(e){return!!(ef(e)&2048)}function Sk(e){return!!(ef(e)&64&&!lS(e,e.parent))}function D3(e){return!!(tf(e)&2)}function xk(e){return!!(tf(e)&1)}function Ek(e){return e.kind===210&&e.expression.kind===106}function s0(e){return e.kind===210&&e.expression.kind===100}function o0(e){return t2(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function k3(e){return Kl(e)&&Yv(e.argument)&&Gn(e.argument.literal)}function us(e){return e.kind===241&&e.expression.kind===10}function Tf(e){return!!(xi(e)&2097152)}function _0(e){return Tf(e)&&Wo(e)}function wk(e){return yt(e.name)&&!e.initializer}function c0(e){return Tf(e)&&zo(e)&&me(e.declarationList.declarations,wk)}function Ck(e,t){return e.kind!==11?Ao(t.text,e.pos):void 0}function I3(e,t){let r=e.kind===166||e.kind===165||e.kind===215||e.kind===216||e.kind===214||e.kind===257||e.kind===278?Ft(HT(t,e.pos),Ao(t,e.pos)):Ao(t,e.pos);return ee(r,s=>t.charCodeAt(s.pos+1)===42&&t.charCodeAt(s.pos+2)===42&&t.charCodeAt(s.pos+3)!==47)}function l0(e){if(179<=e.kind&&e.kind<=202)return!0;switch(e.kind){case 131:case 157:case 148:case 160:case 152:case 134:case 153:case 149:case 155:case 144:return!0;case 114:return e.parent.kind!==219;case 230:return ru(e.parent)&&!Z0(e);case 165:return e.parent.kind===197||e.parent.kind===192;case 79:(e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e)&&(e=e.parent),Y.assert(e.kind===79||e.kind===163||e.kind===208,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 163:case 208:case 108:{let{parent:t}=e;if(t.kind===183)return!1;if(t.kind===202)return!t.isTypeOf;if(179<=t.kind&&t.kind<=202)return!0;switch(t.kind){case 230:return ru(t.parent)&&!Z0(t);case 165:return e===t.constraint;case 348:return e===t.constraint;case 169:case 168:case 166:case 257:return e===t.type;case 259:case 215:case 216:case 173:case 171:case 170:case 174:case 175:return e===t.type;case 176:case 177:case 178:return e===t.type;case 213:return e===t.type;case 210:case 211:return pe(t.typeArguments,e);case 212:return!1}}}return!1}function Ak(e,t){for(;e;){if(e.kind===t)return!0;e=e.parent}return!1}function Pk(e,t){return r(e);function r(s){switch(s.kind){case 250:return t(s);case 266:case 238:case 242:case 243:case 244:case 245:case 246:case 247:case 251:case 252:case 292:case 293:case 253:case 255:case 295:return xr(s,r)}}}function Dk(e,t){return r(e);function r(s){switch(s.kind){case 226:t(s);let f=s.expression;f&&r(f);return;case 263:case 261:case 264:case 262:return;default:if(ga(s)){if(s.name&&s.name.kind===164){r(s.name.expression);return}}else l0(s)||xr(s,r)}}}function kk(e){return e&&e.kind===185?e.elementType:e&&e.kind===180?Xa(e.typeArguments):void 0}function Ik(e){switch(e.kind){case 261:case 260:case 228:case 184:return e.members;case 207:return e.properties}}function u0(e){if(e)switch(e.kind){case 205:case 302:case 166:case 299:case 169:case 168:case 300:case 257:return!0}return!1}function Nk(e){return u0(e)||pf(e)}function N3(e){return e.parent.kind===258&&e.parent.parent.kind===240}function Ok(e){return Pr(e)?Hs(e.parent)&&ur(e.parent.parent)&&ps(e.parent.parent)===2||p0(e.parent):!1}function p0(e){return Pr(e)?ur(e)&&ps(e)===1:!1}function Mk(e){return(Vi(e)?D3(e)&&yt(e.name)&&N3(e):Bo(e)?$0(e)&&Lf(e):Wl(e)&&$0(e))||p0(e)}function Lk(e){switch(e.kind){case 171:case 170:case 173:case 174:case 175:case 259:case 215:return!0}return!1}function Rk(e,t){for(;;){if(t&&t(e),e.statement.kind!==253)return e.statement;e=e.statement}}function O3(e){return e&&e.kind===238&&ga(e.parent)}function jk(e){return e&&e.kind===171&&e.parent.kind===207}function Jk(e){return(e.kind===171||e.kind===174||e.kind===175)&&(e.parent.kind===207||e.parent.kind===228)}function Fk(e){return e&&e.kind===1}function Bk(e){return e&&e.kind===0}function f0(e,t,r){return e.properties.filter(s=>{if(s.kind===299){let f=e0(s.name);return t===f||!!r&&r===f}return!1})}function qk(e,t,r){return q(f0(e,t),s=>Yl(s.initializer)?Ae(s.initializer.elements,f=>Gn(f)&&f.text===r):void 0)}function M3(e){if(e&&e.statements.length){let t=e.statements[0].expression;return ln(t,Hs)}}function Uk(e,t,r){return q(L3(e,t),s=>Yl(s.initializer)?Ae(s.initializer.elements,f=>Gn(f)&&f.text===r):void 0)}function L3(e,t){let r=M3(e);return r?f0(r,t):Bt}function zk(e){return zi(e.parent,ga)}function Wk(e){return zi(e.parent,HS)}function Vk(e){return zi(e.parent,bi)}function Hk(e){return zi(e.parent,t=>bi(t)||ga(t)?"quit":Hl(t))}function Gk(e){return zi(e.parent,uf)}function d0(e,t,r){for(Y.assert(e.kind!==308);;){if(e=e.parent,!e)return Y.fail();switch(e.kind){case 164:if(r&&bi(e.parent.parent))return e;e=e.parent.parent;break;case 167:e.parent.kind===166&&Js(e.parent.parent)?e=e.parent.parent:Js(e.parent)&&(e=e.parent);break;case 216:if(!t)continue;case 259:case 215:case 264:case 172:case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 176:case 177:case 178:case 263:case 308:return e}}}function $k(e){switch(e.kind){case 216:case 259:case 215:case 169:return!0;case 238:switch(e.parent.kind){case 173:case 171:case 174:case 175:return!0;default:return!1}default:return!1}}function Kk(e){yt(e)&&(_c(e.parent)||Wo(e.parent))&&e.parent.name===e&&(e=e.parent);let t=d0(e,!0,!1);return wi(t)}function Xk(e){let t=d0(e,!1,!1);if(t)switch(t.kind){case 173:case 259:case 215:return t}}function Yk(e,t){for(;;){if(e=e.parent,!e)return;switch(e.kind){case 164:e=e.parent;break;case 259:case 215:case 216:if(!t)continue;case 169:case 168:case 171:case 170:case 173:case 174:case 175:case 172:return e;case 167:e.parent.kind===166&&Js(e.parent.parent)?e=e.parent.parent:Js(e.parent)&&(e=e.parent);break}}}function Qk(e){if(e.kind===215||e.kind===216){let t=e,r=e.parent;for(;r.kind===214;)t=r,r=r.parent;if(r.kind===210&&r.expression===t)return r}}function Zk(e){return e.kind===106||Sf(e)}function Sf(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===106}function eI(e){let t=e.kind;return(t===208||t===209)&&e.expression.kind===108}function tI(e){var t;return!!e&&Vi(e)&&((t=e.initializer)==null?void 0:t.kind)===108}function rI(e){return!!e&&(nu(e)||lc(e))&&ur(e.parent.parent)&&e.parent.parent.operatorToken.kind===63&&e.parent.parent.right.kind===108}function nI(e){switch(e.kind){case 180:return e.typeName;case 230:return Bs(e.expression)?e.expression:void 0;case 79:case 163:return e}}function iI(e){switch(e.kind){case 212:return e.tag;case 283:case 282:return e.tagName;default:return e.expression}}function R3(e,t,r,s){if(e&&af(t)&&vn(t.name))return!1;switch(t.kind){case 260:return!0;case 228:return!e;case 169:return r!==void 0&&(e?_c(r):bi(r)&&!W4(t)&&!V4(t));case 174:case 175:case 171:return t.body!==void 0&&r!==void 0&&(e?_c(r):bi(r));case 166:return e?r!==void 0&&r.body!==void 0&&(r.kind===173||r.kind===171||r.kind===175)&&j4(r)!==t&&s!==void 0&&s.kind===260:!1}return!1}function q_(e,t,r,s){return Il(t)&&R3(e,t,r,s)}function m0(e,t,r,s){return q_(e,t,r,s)||h0(e,t,r)}function h0(e,t,r){switch(t.kind){case 260:return Ke(t.members,s=>m0(e,s,t,r));case 228:return!e&&Ke(t.members,s=>m0(e,s,t,r));case 171:case 175:case 173:return Ke(t.parameters,s=>q_(e,s,t,r));default:return!1}}function aI(e,t){if(q_(e,t))return!0;let r=R4(t);return!!r&&h0(e,r,t)}function sI(e,t,r){let s;if(pf(t)){let{firstAccessor:f,secondAccessor:x,setAccessor:w}=W0(r.members,t),A=Il(f)?f:x&&Il(x)?x:void 0;if(!A||t!==A)return!1;s=w==null?void 0:w.parameters}else Vl(t)&&(s=t.parameters);if(q_(e,t,r))return!0;if(s){for(let f of s)if(!kl(f)&&q_(e,f,t,r))return!0}return!1}function j3(e){if(e.textSourceNode){switch(e.textSourceNode.kind){case 10:return j3(e.textSourceNode);case 14:return e.text===""}return!1}return e.text===""}function xf(e){let{parent:t}=e;return t.kind===283||t.kind===282||t.kind===284?t.tagName===e:!1}function g0(e){switch(e.kind){case 106:case 104:case 110:case 95:case 13:case 206:case 207:case 208:case 209:case 210:case 211:case 212:case 231:case 213:case 235:case 232:case 214:case 215:case 228:case 216:case 219:case 217:case 218:case 221:case 222:case 223:case 224:case 227:case 225:case 229:case 281:case 282:case 285:case 226:case 220:case 233:return!0;case 230:return!ru(e.parent)&&!md(e.parent);case 163:for(;e.parent.kind===163;)e=e.parent;return e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e);case 314:for(;uc(e.parent);)e=e.parent;return e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e);case 80:return ur(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===101;case 79:if(e.parent.kind===183||Sl(e.parent)||fd(e.parent)||uc(e.parent)||xf(e))return!0;case 8:case 9:case 10:case 14:case 108:return J3(e);default:return!1}}function J3(e){let{parent:t}=e;switch(t.kind){case 257:case 166:case 169:case 168:case 302:case 299:case 205:return t.initializer===e;case 241:case 242:case 243:case 244:case 250:case 251:case 252:case 292:case 254:return t.expression===e;case 245:let r=t;return r.initializer===e&&r.initializer.kind!==258||r.condition===e||r.incrementor===e;case 246:case 247:let s=t;return s.initializer===e&&s.initializer.kind!==258||s.expression===e;case 213:case 231:return e===t.expression;case 236:return e===t.expression;case 164:return e===t.expression;case 167:case 291:case 290:case 301:return!0;case 230:return t.expression===e&&!l0(t);case 300:return t.objectAssignmentInitializer===e;case 235:return e===t.expression;default:return g0(t)}}function F3(e){for(;e.kind===163||e.kind===79;)e=e.parent;return e.kind===183}function oI(e){return ld(e)&&!!e.parent.moduleSpecifier}function B3(e){return e.kind===268&&e.moduleReference.kind===280}function _I(e){return Y.assert(B3(e)),e.moduleReference.expression}function cI(e){return Ef(e)&&rv(e.initializer).arguments[0]}function lI(e){return e.kind===268&&e.moduleReference.kind!==280}function y0(e){return Pr(e)}function uI(e){return!Pr(e)}function Pr(e){return!!e&&!!(e.flags&262144)}function pI(e){return!!e&&!!(e.flags&67108864)}function fI(e){return!a0(e)}function q3(e){return!!e&&!!(e.flags&8388608)}function dI(e){return ac(e)&&yt(e.typeName)&&e.typeName.escapedText==="Object"&&e.typeArguments&&e.typeArguments.length===2&&(e.typeArguments[0].kind===152||e.typeArguments[0].kind===148)}function El(e,t){if(e.kind!==210)return!1;let{expression:r,arguments:s}=e;if(r.kind!==79||r.escapedText!=="require"||s.length!==1)return!1;let f=s[0];return!t||Ti(f)}function U3(e){return z3(e,!1)}function Ef(e){return z3(e,!0)}function mI(e){return Xl(e)&&Ef(e.parent.parent)}function z3(e,t){return Vi(e)&&!!e.initializer&&El(t?rv(e.initializer):e.initializer,!0)}function W3(e){return zo(e)&&e.declarationList.declarations.length>0&&me(e.declarationList.declarations,t=>U3(t))}function hI(e){return e===39||e===34}function gI(e,t){return No(t,e).charCodeAt(0)===34}function v0(e){return ur(e)||Lo(e)||yt(e)||sc(e)}function V3(e){return Pr(e)&&e.initializer&&ur(e.initializer)&&(e.initializer.operatorToken.kind===56||e.initializer.operatorToken.kind===60)&&e.name&&Bs(e.name)&&z_(e.name,e.initializer.left)?e.initializer.right:e.initializer}function yI(e){let t=V3(e);return t&&U_(t,Nl(e.name))}function vI(e,t){return c(e.properties,r=>lc(r)&&yt(r.name)&&r.name.escapedText==="value"&&r.initializer&&U_(r.initializer,t))}function bI(e){if(e&&e.parent&&ur(e.parent)&&e.parent.operatorToken.kind===63){let t=Nl(e.parent.left);return U_(e.parent.right,t)||TI(e.parent.left,e.parent.right,t)}if(e&&sc(e)&&S0(e)){let t=vI(e.arguments[2],e.arguments[1].text==="prototype");if(t)return t}}function U_(e,t){if(sc(e)){let r=Pl(e.expression);return r.kind===215||r.kind===216?e:void 0}if(e.kind===215||e.kind===228||e.kind===216||Hs(e)&&(e.properties.length===0||t))return e}function TI(e,t,r){let s=ur(t)&&(t.operatorToken.kind===56||t.operatorToken.kind===60)&&U_(t.right,r);if(s&&z_(e,t.left))return s}function SI(e){let t=Vi(e.parent)?e.parent.name:ur(e.parent)&&e.parent.operatorToken.kind===63?e.parent.left:void 0;return t&&U_(e.right,Nl(t))&&Bs(t)&&z_(t,e.left)}function xI(e){if(ur(e.parent)){let t=(e.parent.operatorToken.kind===56||e.parent.operatorToken.kind===60)&&ur(e.parent.parent)?e.parent.parent:e.parent;if(t.operatorToken.kind===63&&yt(t.left))return t.left}else if(Vi(e.parent))return e.parent.name}function z_(e,t){return L0(e)&&L0(t)?kf(e)===kf(t):js(e)&&wf(t)&&(t.expression.kind===108||yt(t.expression)&&(t.expression.escapedText==="window"||t.expression.escapedText==="self"||t.expression.escapedText==="global"))?z_(e,$3(t)):wf(e)&&wf(t)?Fs(e)===Fs(t)&&z_(e.expression,t.expression):!1}function b0(e){for(;ms(e,!0);)e=e.right;return e}function H3(e){return yt(e)&&e.escapedText==="exports"}function G3(e){return yt(e)&&e.escapedText==="module"}function T0(e){return(bn(e)||wl(e))&&G3(e.expression)&&Fs(e)==="exports"}function ps(e){let t=EI(e);return t===5||Pr(e)?t:0}function S0(e){return I(e.arguments)===3&&bn(e.expression)&&yt(e.expression.expression)&&qr(e.expression.expression)==="Object"&&qr(e.expression.name)==="defineProperty"&&Ta(e.arguments[1])&&V_(e.arguments[0],!0)}function wf(e){return bn(e)||wl(e)}function wl(e){return gs(e)&&Ta(e.argumentExpression)}function W_(e,t){return bn(e)&&(!t&&e.expression.kind===108||yt(e.name)&&V_(e.expression,!0))||x0(e,t)}function x0(e,t){return wl(e)&&(!t&&e.expression.kind===108||Bs(e.expression)||W_(e.expression,!0))}function V_(e,t){return Bs(e)||W_(e,t)}function $3(e){return bn(e)?e.name:e.argumentExpression}function EI(e){if(sc(e)){if(!S0(e))return 0;let t=e.arguments[0];return H3(t)||T0(t)?8:W_(t)&&Fs(t)==="prototype"?9:7}return e.operatorToken.kind!==63||!Lo(e.left)||wI(b0(e))?0:V_(e.left.expression,!0)&&Fs(e.left)==="prototype"&&Hs(X3(e))?6:K3(e.left)}function wI(e){return Qv(e)&&zs(e.expression)&&e.expression.text==="0"}function Cf(e){if(bn(e))return e.name;let t=Pl(e.argumentExpression);return zs(t)||Ti(t)?t:e}function Fs(e){let t=Cf(e);if(t){if(yt(t))return t.escapedText;if(Ti(t)||zs(t))return vi(t.text)}}function K3(e){if(e.expression.kind===108)return 4;if(T0(e))return 2;if(V_(e.expression,!0)){if(Nl(e.expression))return 3;let t=e;for(;!yt(t.expression);)t=t.expression;let r=t.expression;if((r.escapedText==="exports"||r.escapedText==="module"&&Fs(t)==="exports")&&W_(e))return 1;if(V_(e,!0)||gs(e)&&M0(e))return 5}return 0}function X3(e){for(;ur(e.right);)e=e.right;return e.right}function CI(e){return ur(e)&&ps(e)===3}function AI(e){return Pr(e)&&e.parent&&e.parent.kind===241&&(!gs(e)||wl(e))&&!!_f(e.parent)}function PI(e,t){let{valueDeclaration:r}=e;(!r||!(t.flags&16777216&&!Pr(t)&&!(r.flags&16777216))&&v0(r)&&!v0(t)||r.kind!==t.kind&&S3(r))&&(e.valueDeclaration=t)}function DI(e){if(!e||!e.valueDeclaration)return!1;let t=e.valueDeclaration;return t.kind===259||Vi(t)&&t.initializer&&ga(t.initializer)}function kI(e){var t,r;switch(e.kind){case 257:case 205:return(t=zi(e.initializer,s=>El(s,!0)))==null?void 0:t.arguments[0];case 269:return ln(e.moduleSpecifier,Ti);case 268:return ln((r=ln(e.moduleReference,ud))==null?void 0:r.expression,Ti);case 270:case 277:return ln(e.parent.moduleSpecifier,Ti);case 271:case 278:return ln(e.parent.parent.moduleSpecifier,Ti);case 273:return ln(e.parent.parent.parent.moduleSpecifier,Ti);default:Y.assertNever(e)}}function II(e){return Y3(e)||Y.failBadSyntaxKind(e.parent)}function Y3(e){switch(e.parent.kind){case 269:case 275:return e.parent;case 280:return e.parent.parent;case 210:return s0(e.parent)||El(e.parent,!1)?e.parent:void 0;case 198:return Y.assert(Gn(e)),ln(e.parent.parent,Kl);default:return}}function E0(e){switch(e.kind){case 269:case 275:return e.moduleSpecifier;case 268:return e.moduleReference.kind===280?e.moduleReference.expression:void 0;case 202:return k3(e)?e.argument.literal:void 0;case 210:return e.arguments[0];case 264:return e.name.kind===10?e.name:void 0;default:return Y.assertNever(e)}}function Q3(e){switch(e.kind){case 269:return e.importClause&&ln(e.importClause.namedBindings,_2);case 268:return e;case 275:return e.exportClause&&ln(e.exportClause,ld);default:return Y.assertNever(e)}}function Z3(e){return e.kind===269&&!!e.importClause&&!!e.importClause.name}function NI(e,t){if(e.name){let r=t(e);if(r)return r}if(e.namedBindings){let r=_2(e.namedBindings)?t(e.namedBindings):c(e.namedBindings.elements,t);if(r)return r}}function OI(e){if(e)switch(e.kind){case 166:case 171:case 170:case 300:case 299:case 169:case 168:return e.questionToken!==void 0}return!1}function MI(e){let t=dd(e)?pa(e.parameters):void 0,r=ln(t&&t.name,yt);return!!r&&r.escapedText==="new"}function Cl(e){return e.kind===349||e.kind===341||e.kind===343}function LI(e){return Cl(e)||n2(e)}function RI(e){return Zl(e)&&ur(e.expression)&&e.expression.operatorToken.kind===63?b0(e.expression):void 0}function e4(e){return Zl(e)&&ur(e.expression)&&ps(e.expression)!==0&&ur(e.expression.right)&&(e.expression.right.operatorToken.kind===56||e.expression.right.operatorToken.kind===60)?e.expression.right.right:void 0}function w0(e){switch(e.kind){case 240:let t=Al(e);return t&&t.initializer;case 169:return e.initializer;case 299:return e.initializer}}function Al(e){return zo(e)?pa(e.declarationList.declarations):void 0}function t4(e){return Ea(e)&&e.body&&e.body.kind===264?e.body:void 0}function jI(e){if(e.kind>=240&&e.kind<=256)return!0;switch(e.kind){case 79:case 108:case 106:case 163:case 233:case 209:case 208:case 205:case 215:case 216:case 171:case 174:case 175:return!0;default:return!1}}function Af(e){switch(e.kind){case 216:case 223:case 238:case 249:case 176:case 292:case 260:case 228:case 172:case 173:case 182:case 177:case 248:case 256:case 243:case 209:case 239:case 1:case 263:case 302:case 274:case 275:case 278:case 241:case 246:case 247:case 245:case 259:case 215:case 181:case 174:case 79:case 242:case 269:case 268:case 178:case 261:case 320:case 326:case 253:case 171:case 170:case 264:case 199:case 267:case 207:case 166:case 214:case 208:case 299:case 169:case 168:case 250:case 175:case 300:case 301:case 252:case 254:case 255:case 262:case 165:case 257:case 240:case 244:case 251:return!0;default:return!1}}function r4(e,t){let r;u0(e)&&l3(e)&&ya(e.initializer)&&(r=jr(r,n4(e,Zn(e.initializer.jsDoc))));let s=e;for(;s&&s.parent;){if(ya(s)&&(r=jr(r,n4(e,Zn(s.jsDoc)))),s.kind===166){r=jr(r,(t?bS:of)(s));break}if(s.kind===165){r=jr(r,(t?xS:SS)(s));break}s=a4(s)}return r||Bt}function n4(e,t){if(Ho(t)){let r=ee(t.tags,s=>i4(e,s));return t.tags===r?[t]:r}return i4(e,t)?[t]:void 0}function i4(e,t){return!(au(t)||T2(t))||!t.parent||!Ho(t.parent)||!qo(t.parent.parent)||t.parent.parent===e}function a4(e){let t=e.parent;if(t.kind===299||t.kind===274||t.kind===169||t.kind===241&&e.kind===208||t.kind===250||t4(t)||ur(e)&&e.operatorToken.kind===63)return t;if(t.parent&&(Al(t.parent)===e||ur(t)&&t.operatorToken.kind===63))return t.parent;if(t.parent&&t.parent.parent&&(Al(t.parent.parent)||w0(t.parent.parent)===e||e4(t.parent.parent)))return t.parent.parent}function JI(e){if(e.symbol)return e.symbol;if(!yt(e.name))return;let t=e.name.escapedText,r=C0(e);if(!r)return;let s=Ae(r.parameters,f=>f.name.kind===79&&f.name.escapedText===t);return s&&s.symbol}function FI(e){if(Ho(e.parent)&&e.parent.tags){let t=Ae(e.parent.tags,Cl);if(t)return t}return C0(e)}function C0(e){let t=A0(e);if(t)return Wl(t)&&t.type&&ga(t.type)?t.type:ga(t)?t:void 0}function A0(e){let t=s4(e);if(t)return e4(t)||RI(t)||w0(t)||Al(t)||t4(t)||t}function s4(e){let t=P0(e);if(!t)return;let r=t.parent;if(r&&r.jsDoc&&t===Cn(r.jsDoc))return r}function P0(e){return zi(e.parent,Ho)}function BI(e){let t=e.name.escapedText,{typeParameters:r}=e.parent.parent.parent;return r&&Ae(r,s=>s.name.escapedText===t)}function qI(e){return!!e.typeArguments}function o4(e){let t=e.parent;for(;;){switch(t.kind){case 223:let r=t.operatorToken.kind;return G_(r)&&t.left===e?r===63||jf(r)?1:2:0;case 221:case 222:let s=t.operator;return s===45||s===46?2:0;case 246:case 247:return t.initializer===e?1:0;case 214:case 206:case 227:case 232:e=t;break;case 301:e=t.parent;break;case 300:if(t.name!==e)return 0;e=t.parent;break;case 299:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function UI(e){return o4(e)!==0}function zI(e){switch(e.kind){case 238:case 240:case 251:case 242:case 252:case 266:case 292:case 293:case 253:case 245:case 246:case 247:case 243:case 244:case 255:case 295:return!0}return!1}function WI(e){return ad(e)||sd(e)||Ly(e)||Wo(e)||nc(e)}function _4(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function VI(e){return _4(e,193)}function D0(e){return _4(e,214)}function HI(e){let t;for(;e&&e.kind===193;)t=e,e=e.parent;return[t,e]}function GI(e){for(;Kv(e);)e=e.type;return e}function Pl(e,t){return $o(e,t?17:1)}function $I(e){return e.kind!==208&&e.kind!==209?!1:(e=D0(e.parent),e&&e.kind===217)}function KI(e,t){for(;e;){if(e===t)return!0;e=e.parent}return!1}function c4(e){return!wi(e)&&!df(e)&&ko(e.parent)&&e.parent.name===e}function XI(e){let t=e.parent;switch(e.kind){case 10:case 14:case 8:if(Ws(t))return t.parent;case 79:if(ko(t))return t.name===e?t:void 0;if(rc(t)){let r=t.parent;return pc(r)&&r.name===t?r:void 0}else{let r=t.parent;return ur(r)&&ps(r)!==0&&(r.left.symbol||r.symbol)&&ml(r)===e?r:void 0}case 80:return ko(t)&&t.name===e?t:void 0;default:return}}function l4(e){return Ta(e)&&e.parent.kind===164&&ko(e.parent.parent)}function YI(e){let t=e.parent;switch(t.kind){case 169:case 168:case 171:case 170:case 174:case 175:case 302:case 299:case 208:return t.name===e;case 163:return t.right===e;case 205:case 273:return t.propertyName===e;case 278:case 288:case 282:case 283:case 284:return!0}return!1}function QI(e){return e.kind===268||e.kind===267||e.kind===270&&e.name||e.kind===271||e.kind===277||e.kind===273||e.kind===278||e.kind===274&&I0(e)?!0:Pr(e)&&(ur(e)&&ps(e)===2&&I0(e)||bn(e)&&ur(e.parent)&&e.parent.left===e&&e.parent.operatorToken.kind===63&&k0(e.parent.right))}function u4(e){switch(e.parent.kind){case 270:case 273:case 271:case 278:case 274:case 268:case 277:return e.parent;case 163:do e=e.parent;while(e.parent.kind===163);return u4(e)}}function k0(e){return Bs(e)||_d(e)}function I0(e){let t=p4(e);return k0(t)}function p4(e){return Vo(e)?e.expression:e.right}function ZI(e){return e.kind===300?e.name:e.kind===299?e.initializer:e.parent.right}function f4(e){let t=d4(e);if(t&&Pr(e)){let r=ES(e);if(r)return r.class}return t}function d4(e){let t=Pf(e.heritageClauses,94);return t&&t.types.length>0?t.types[0]:void 0}function m4(e){if(Pr(e))return wS(e).map(t=>t.class);{let t=Pf(e.heritageClauses,117);return t==null?void 0:t.types}}function h4(e){return eu(e)?g4(e)||Bt:bi(e)&&Ft(Cp(f4(e)),m4(e))||Bt}function g4(e){let t=Pf(e.heritageClauses,94);return t?t.types:void 0}function Pf(e,t){if(e){for(let r of e)if(r.token===t)return r}}function eN(e,t){for(;e;){if(e.kind===t)return e;e=e.parent}}function ba(e){return 81<=e&&e<=162}function N0(e){return 126<=e&&e<=162}function y4(e){return ba(e)&&!N0(e)}function tN(e){return 117<=e&&e<=125}function rN(e){let t=_l(e);return t!==void 0&&y4(t)}function nN(e){let t=_l(e);return t!==void 0&&ba(t)}function iN(e){let t=dS(e);return!!t&&!N0(t)}function aN(e){return 2<=e&&e<=7}function sN(e){if(!e)return 4;let t=0;switch(e.kind){case 259:case 215:case 171:e.asteriskToken&&(t|=1);case 216:rn(e,512)&&(t|=2);break}return e.body||(t|=4),t}function oN(e){switch(e.kind){case 259:case 215:case 216:case 171:return e.body!==void 0&&e.asteriskToken===void 0&&rn(e,512)}return!1}function Ta(e){return Ti(e)||zs(e)}function O0(e){return od(e)&&(e.operator===39||e.operator===40)&&zs(e.operand)}function v4(e){let t=ml(e);return!!t&&M0(t)}function M0(e){if(!(e.kind===164||e.kind===209))return!1;let t=gs(e)?Pl(e.argumentExpression):e.expression;return!Ta(t)&&!O0(t)}function Df(e){switch(e.kind){case 79:case 80:return e.escapedText;case 10:case 8:return vi(e.text);case 164:let t=e.expression;return Ta(t)?vi(t.text):O0(t)?t.operator===40?Br(t.operator)+t.operand.text:t.operand.text:void 0;default:return Y.assertNever(e)}}function L0(e){switch(e.kind){case 79:case 10:case 14:case 8:return!0;default:return!1}}function kf(e){return js(e)?qr(e):e.text}function b4(e){return js(e)?e.escapedText:vi(e.text)}function _N(e){return`__@${getSymbolId(e)}@${e.escapedName}`}function cN(e,t){return`__#${getSymbolId(e)}@${t}`}function lN(e){return Pn(e.escapedName,"__@")}function uN(e){return Pn(e.escapedName,"__#")}function pN(e){return e.kind===79&&e.escapedText==="Symbol"}function T4(e){return yt(e)?qr(e)==="__proto__":Gn(e)&&e.text==="__proto__"}function H_(e,t){switch(e=$o(e),e.kind){case 228:case 215:if(e.name)return!1;break;case 216:break;default:return!1}return typeof t=="function"?t(e):!0}function S4(e){switch(e.kind){case 299:return!T4(e.name);case 300:return!!e.objectAssignmentInitializer;case 257:return yt(e.name)&&!!e.initializer;case 166:return yt(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 205:return yt(e.name)&&!!e.initializer&&!e.dotDotDotToken;case 169:return!!e.initializer;case 223:switch(e.operatorToken.kind){case 63:case 76:case 75:case 77:return yt(e.left)}break;case 274:return!0}return!1}function fN(e,t){if(!S4(e))return!1;switch(e.kind){case 299:return H_(e.initializer,t);case 300:return H_(e.objectAssignmentInitializer,t);case 257:case 166:case 205:case 169:return H_(e.initializer,t);case 223:return H_(e.right,t);case 274:return H_(e.expression,t)}}function dN(e){return e.escapedText==="push"||e.escapedText==="unshift"}function mN(e){return If(e).kind===166}function If(e){for(;e.kind===205;)e=e.parent.parent;return e}function hN(e){let t=e.kind;return t===173||t===215||t===259||t===216||t===171||t===174||t===175||t===264||t===308}function fs(e){return hs(e.pos)||hs(e.end)}function gN(e){return fl(e,wi)||e}function yN(e){let t=R0(e),r=e.kind===211&&e.arguments!==void 0;return x4(e.kind,t,r)}function x4(e,t,r){switch(e){case 211:return r?0:1;case 221:case 218:case 219:case 217:case 220:case 224:case 226:return 1;case 223:switch(t){case 42:case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 1}}return 0}function vN(e){let t=R0(e),r=e.kind===211&&e.arguments!==void 0;return E4(e.kind,t,r)}function R0(e){return e.kind===223?e.operatorToken.kind:e.kind===221||e.kind===222?e.operator:e.kind}function E4(e,t,r){switch(e){case 357:return 0;case 227:return 1;case 226:return 2;case 224:return 4;case 223:switch(t){case 27:return 0;case 63:case 64:case 65:case 67:case 66:case 68:case 69:case 70:case 71:case 72:case 73:case 78:case 74:case 75:case 76:case 77:return 3;default:return Dl(t)}case 213:case 232:case 221:case 218:case 219:case 217:case 220:return 16;case 222:return 17;case 210:return 18;case 211:return r?19:18;case 212:case 208:case 209:case 233:return 19;case 231:case 235:return 11;case 108:case 106:case 79:case 80:case 104:case 110:case 95:case 8:case 9:case 10:case 206:case 207:case 215:case 216:case 228:case 13:case 14:case 225:case 214:case 229:case 281:case 282:case 285:return 20;default:return-1}}function Dl(e){switch(e){case 60:return 4;case 56:return 5;case 55:return 6;case 51:return 7;case 52:return 8;case 50:return 9;case 34:case 35:case 36:case 37:return 10;case 29:case 31:case 32:case 33:case 102:case 101:case 128:case 150:return 11;case 47:case 48:case 49:return 12;case 39:case 40:return 13;case 41:case 43:case 44:return 14;case 42:return 15}return-1}function bN(e){return ee(e,t=>{switch(t.kind){case 291:return!!t.expression;case 11:return!t.containsOnlyTriviaWhiteSpaces;default:return!0}})}function TN(){let e=[],t=[],r=new Map,s=!1;return{add:x,lookup:f,getGlobalDiagnostics:w,getDiagnostics:A};function f(g){let B;if(g.file?B=r.get(g.file.fileName):B=e,!B)return;let N=Ya(B,g,rr,qf);if(N>=0)return B[N]}function x(g){let B;g.file?(B=r.get(g.file.fileName),B||(B=[],r.set(g.file.fileName,B),Qn(t,g.file.fileName,ri))):(s&&(s=!1,e=e.slice()),B=e),Qn(B,g,qf)}function w(){return s=!0,e}function A(g){if(g)return r.get(g)||[];let B=ge(t,N=>r.get(N));return e.length&&B.unshift(...e),B}}function SN(e){return e.replace(s8,"\\${")}function w4(e){return e&&!!(k8(e)?e.templateFlags:e.head.templateFlags||Ke(e.templateSpans,t=>!!t.literal.templateFlags))}function C4(e){return"\\u"+("0000"+e.toString(16).toUpperCase()).slice(-4)}function xN(e,t,r){if(e.charCodeAt(0)===0){let s=r.charCodeAt(t+e.length);return s>=48&&s<=57?"\\x00":"\\0"}return l8.get(e)||C4(e.charCodeAt(0))}function Nf(e,t){let r=t===96?c8:t===39?_8:o8;return e.replace(r,xN)}function Of(e,t){return e=Nf(e,t),Cv.test(e)?e.replace(Cv,r=>C4(r.charCodeAt(0))):e}function EN(e){return"&#x"+e.toString(16).toUpperCase()+";"}function wN(e){return e.charCodeAt(0)===0?"�":f8.get(e)||EN(e.charCodeAt(0))}function A4(e,t){let r=t===39?p8:u8;return e.replace(r,wN)}function CN(e){let t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&AN(e.charCodeAt(0))?e.substring(1,t-1):e}function AN(e){return e===39||e===34||e===96}function P4(e){let t=e.charCodeAt(0);return t>=97&&t<=122||Fi(e,"-")||Fi(e,":")}function j0(e){let t=jo[1];for(let r=jo.length;r<=e;r++)jo.push(jo[r-1]+t);return jo[e]}function Oo(){return jo[1].length}function PN(){return Fi(C,"-dev")||Fi(C,"-insiders")}function DN(e){var t,r,s,f,x,w=!1;function A(Se){let Ye=Kp(Se);Ye.length>1?(f=f+Ye.length-1,x=t.length-Se.length+Zn(Ye),s=x-t.length===0):s=!1}function g(Se){Se&&Se.length&&(s&&(Se=j0(r)+Se,s=!1),t+=Se,A(Se))}function B(Se){Se&&(w=!1),g(Se)}function N(Se){Se&&(w=!0),g(Se)}function X(){t="",r=0,s=!0,f=0,x=0,w=!1}function F(Se){Se!==void 0&&(t+=Se,A(Se),w=!1)}function $(Se){Se&&Se.length&&B(Se)}function ae(Se){(!s||Se)&&(t+=e,f++,x=t.length,s=!0,w=!1)}function Te(){return s?t.length:t.length+e.length}return X(),{write:B,rawWrite:F,writeLiteral:$,writeLine:ae,increaseIndent:()=>{r++},decreaseIndent:()=>{r--},getIndent:()=>r,getTextPos:()=>t.length,getLine:()=>f,getColumn:()=>s?r*Oo():t.length-x,getText:()=>t,isAtStartOfLine:()=>s,hasTrailingComment:()=>w,hasTrailingWhitespace:()=>!!t.length&&os(t.charCodeAt(t.length-1)),clear:X,writeKeyword:B,writeOperator:B,writeParameter:B,writeProperty:B,writePunctuation:B,writeSpace:B,writeStringLiteral:B,writeSymbol:(Se,Ye)=>B(Se),writeTrailingSemicolon:B,writeComment:N,getTextPosWithWriteLine:Te}}function kN(e){let t=!1;function r(){t&&(e.writeTrailingSemicolon(";"),t=!1)}return Object.assign(Object.assign({},e),{},{writeTrailingSemicolon(){t=!0},writeLiteral(s){r(),e.writeLiteral(s)},writeStringLiteral(s){r(),e.writeStringLiteral(s)},writeSymbol(s,f){r(),e.writeSymbol(s,f)},writePunctuation(s){r(),e.writePunctuation(s)},writeKeyword(s){r(),e.writeKeyword(s)},writeOperator(s){r(),e.writeOperator(s)},writeParameter(s){r(),e.writeParameter(s)},writeSpace(s){r(),e.writeSpace(s)},writeProperty(s){r(),e.writeProperty(s)},writeComment(s){r(),e.writeComment(s)},writeLine(){r(),e.writeLine()},increaseIndent(){r(),e.increaseIndent()},decreaseIndent(){r(),e.decreaseIndent()}})}function J0(e){return e.useCaseSensitiveFileNames?e.useCaseSensitiveFileNames():!1}function D4(e){return wp(J0(e))}function k4(e,t,r){return t.moduleName||F0(e,t.fileName,r&&r.fileName)}function I4(e,t){return e.getCanonicalFileName(as(t,e.getCurrentDirectory()))}function IN(e,t,r){let s=t.getExternalModuleFileFromDeclaration(r);if(!s||s.isDeclarationFile)return;let f=E0(r);if(!(f&&Ti(f)&&!So(f.text)&&I4(e,s.path).indexOf(I4(e,wo(e.getCommonSourceDirectory())))===-1))return k4(e,s)}function F0(e,t,r){let s=g=>e.getCanonicalFileName(g),f=Ui(r?ma(r):e.getCommonSourceDirectory(),e.getCurrentDirectory(),s),x=as(t,e.getCurrentDirectory()),w=uy(f,x,f,s,!1),A=Ll(w);return r?_y(A):A}function NN(e,t,r){let s=t.getCompilerOptions(),f;return s.outDir?f=Ll(M4(e,t,s.outDir)):f=Ll(e),f+r}function ON(e,t){return N4(e,t.getCompilerOptions(),t.getCurrentDirectory(),t.getCommonSourceDirectory(),r=>t.getCanonicalFileName(r))}function N4(e,t,r,s,f){let x=t.declarationDir||t.outDir,w=x?U0(e,x,r,s,f):e,A=O4(w);return Ll(w)+A}function O4(e){return da(e,[".mjs",".mts"])?".d.mts":da(e,[".cjs",".cts"])?".d.cts":da(e,[".json"])?".d.json.ts":".d.ts"}function MN(e){return da(e,[".d.mts",".mjs",".mts"])?[".mts",".mjs"]:da(e,[".d.cts",".cjs",".cts"])?[".cts",".cjs"]:da(e,[".d.json.ts"])?[".json"]:[".tsx",".ts",".jsx",".js"]}function B0(e){return e.outFile||e.out}function LN(e,t){var r,s;if(e.paths)return(s=e.baseUrl)!=null?s:Y.checkDefined(e.pathsBasePath||((r=t.getCurrentDirectory)==null?void 0:r.call(t)),"Encountered 'paths' without a 'baseUrl', config file, or host 'getCurrentDirectory'.")}function RN(e,t,r){let s=e.getCompilerOptions();if(B0(s)){let f=Ei(s),x=s.emitDeclarationOnly||f===2||f===4;return ee(e.getSourceFiles(),w=>(x||!Qo(w))&&q0(w,e,r))}else{let f=t===void 0?e.getSourceFiles():[t];return ee(f,x=>q0(x,e,r))}}function q0(e,t,r){return!(t.getCompilerOptions().noEmitForJsFiles&&y0(e))&&!e.isDeclarationFile&&!t.isSourceFileFromExternalLibrary(e)&&(r||!(a0(e)&&t.getResolvedProjectReferenceToRedirect(e.fileName))&&!t.isSourceOfProjectReferenceRedirect(e.fileName))}function M4(e,t,r){return U0(e,r,t.getCurrentDirectory(),t.getCommonSourceDirectory(),s=>t.getCanonicalFileName(s))}function U0(e,t,r,s,f){let x=as(e,r);return x=f(x).indexOf(f(s))===0?x.substring(s.length):x,tn(t,x)}function jN(e,t,r,s,f,x,w){e.writeFile(r,s,f,A=>{t.add(Ol(ve.Could_not_write_file_0_Colon_1,r,A))},x,w)}function L4(e,t,r){if(e.length>Bi(e)&&!r(e)){let s=ma(e);L4(s,t,r),t(e)}}function JN(e,t,r,s,f,x){try{s(e,t,r)}catch{L4(ma(Un(e)),f,x),s(e,t,r)}}function FN(e,t){let r=ss(e);return k_(r,t)}function ds(e,t){return k_(e,t)}function R4(e){return Ae(e.members,t=>nc(t)&&xl(t.body))}function z0(e){if(e&&e.parameters.length>0){let t=e.parameters.length===2&&kl(e.parameters[0]);return e.parameters[t?1:0]}}function BN(e){let t=z0(e);return t&&t.type}function j4(e){if(e.parameters.length&&!iu(e)){let t=e.parameters[0];if(kl(t))return t}}function kl(e){return Mf(e.name)}function Mf(e){return!!e&&e.kind===79&&J4(e)}function qN(e){if(!Mf(e))return!1;for(;rc(e.parent)&&e.parent.left===e;)e=e.parent;return e.parent.kind===183}function J4(e){return e.escapedText==="this"}function W0(e,t){let r,s,f,x;return v4(t)?(r=t,t.kind===174?f=t:t.kind===175?x=t:Y.fail("Accessor has wrong kind")):c(e,w=>{if(pf(w)&&G0(w)===G0(t)){let A=Df(w.name),g=Df(t.name);A===g&&(r?s||(s=w):r=w,w.kind===174&&!f&&(f=w),w.kind===175&&!x&&(x=w))}}),{firstAccessor:r,secondAccessor:s,getAccessor:f,setAccessor:x}}function V0(e){if(!Pr(e)&&Wo(e))return;let t=e.type;return t||!Pr(e)?t:Dy(e)?e.typeExpression&&e.typeExpression.type:cf(e)}function UN(e){return e.type}function zN(e){return iu(e)?e.type&&e.type.typeExpression&&e.type.typeExpression.type:e.type||(Pr(e)?OS(e):void 0)}function F4(e){return ne(hl(e),t=>WN(t)?t.typeParameters:void 0)}function WN(e){return Go(e)&&!(e.parent.kind===323&&(e.parent.tags.some(Cl)||e.parent.tags.some(y2)))}function VN(e){let t=z0(e);return t&&V0(t)}function B4(e,t,r,s){q4(e,t,r.pos,s)}function q4(e,t,r,s){s&&s.length&&r!==s[0].pos&&ds(e,r)!==ds(e,s[0].pos)&&t.writeLine()}function HN(e,t,r,s){r!==s&&ds(e,r)!==ds(e,s)&&t.writeLine()}function U4(e,t,r,s,f,x,w,A){if(s&&s.length>0){f&&r.writeSpace(" ");let g=!1;for(let B of s)g&&(r.writeSpace(" "),g=!1),A(e,t,r,B.pos,B.end,w),B.hasTrailingNewLine?r.writeLine():g=!0;g&&x&&r.writeSpace(" ")}}function GN(e,t,r,s,f,x,w){let A,g;if(w?f.pos===0&&(A=ee(Ao(e,f.pos),B)):A=Ao(e,f.pos),A){let N=[],X;for(let F of A){if(X){let $=ds(t,X.end);if(ds(t,F.pos)>=$+2)break}N.push(F),X=F}if(N.length){let F=ds(t,Zn(N).end);ds(t,Ar(e,f.pos))>=F+2&&(B4(t,r,f,A),U4(e,t,r,N,!1,!0,x,s),g={nodePos:f.pos,detachedCommentEndPos:Zn(N).end})}}return g;function B(N){return v3(e,N.pos)}}function $N(e,t,r,s,f,x){if(e.charCodeAt(s+1)===42){let w=my(t,s),A=t.length,g;for(let B=s,N=w.line;B0){let ae=$%Oo(),Te=j0(($-ae)/Oo());for(r.rawWrite(Te);ae;)r.rawWrite(" "),ae--}else r.rawWrite("")}KN(e,f,r,x,B,X),B=X}}else r.writeComment(e.substring(s,f))}function KN(e,t,r,s,f,x){let w=Math.min(t,x-1),A=Pp(e.substring(f,w));A?(r.writeComment(A),w!==t&&r.writeLine()):r.rawWrite(s)}function z4(e,t,r){let s=0;for(;t=0&&e.kind<=162?0:(e.modifierFlagsCache&536870912||(e.modifierFlagsCache=Y0(e)|536870912),t&&!(e.modifierFlagsCache&4096)&&(r||Pr(e))&&e.parent&&(e.modifierFlagsCache|=X4(e)|4096),e.modifierFlagsCache&-536875009)}function Rf(e){return K0(e,!0)}function K4(e){return K0(e,!0,!0)}function X0(e){return K0(e,!1)}function X4(e){let t=0;return e.parent&&!Vs(e)&&(Pr(e)&&(CS(e)&&(t|=4),AS(e)&&(t|=8),PS(e)&&(t|=16),DS(e)&&(t|=64),kS(e)&&(t|=16384)),IS(e)&&(t|=8192)),t}function Y4(e){return Y0(e)|X4(e)}function Y0(e){let t=fc(e)?Vn(e.modifiers):0;return(e.flags&4||e.kind===79&&e.flags&2048)&&(t|=1),t}function Vn(e){let t=0;if(e)for(let r of e)t|=Q0(r.kind);return t}function Q0(e){switch(e){case 124:return 32;case 123:return 4;case 122:return 16;case 121:return 8;case 126:return 256;case 127:return 128;case 93:return 1;case 136:return 2;case 85:return 2048;case 88:return 1024;case 132:return 512;case 146:return 64;case 161:return 16384;case 101:return 32768;case 145:return 65536;case 167:return 131072}return 0}function Q4(e){return e===56||e===55}function ZN(e){return Q4(e)||e===53}function jf(e){return e===75||e===76||e===77}function eO(e){return ur(e)&&jf(e.operatorToken.kind)}function Z4(e){return Q4(e)||e===60}function tO(e){return ur(e)&&Z4(e.operatorToken.kind)}function G_(e){return e>=63&&e<=78}function ex(e){let t=tx(e);return t&&!t.isImplements?t.class:void 0}function tx(e){if(e2(e)){if(ru(e.parent)&&bi(e.parent.parent))return{class:e.parent.parent,isImplements:e.parent.token===117};if(md(e.parent)){let t=A0(e.parent);if(t&&bi(t))return{class:t,isImplements:!1}}}}function ms(e,t){return ur(e)&&(t?e.operatorToken.kind===63:G_(e.operatorToken.kind))&&Do(e.left)}function rO(e){return ms(e.parent)&&e.parent.left===e}function nO(e){if(ms(e,!0)){let t=e.left.kind;return t===207||t===206}return!1}function Z0(e){return ex(e)!==void 0}function Bs(e){return e.kind===79||rx(e)}function iO(e){switch(e.kind){case 79:return e;case 163:do e=e.left;while(e.kind!==79);return e;case 208:do e=e.expression;while(e.kind!==79);return e}}function ev(e){return e.kind===79||e.kind===108||e.kind===106||e.kind===233||e.kind===208&&ev(e.expression)||e.kind===214&&ev(e.expression)}function rx(e){return bn(e)&&yt(e.name)&&Bs(e.expression)}function tv(e){if(bn(e)){let t=tv(e.expression);if(t!==void 0)return t+"."+ls(e.name)}else if(gs(e)){let t=tv(e.expression);if(t!==void 0&&vl(e.argumentExpression))return t+"."+Df(e.argumentExpression)}else if(yt(e))return dl(e.escapedText)}function Nl(e){return W_(e)&&Fs(e)==="prototype"}function aO(e){return e.parent.kind===163&&e.parent.right===e||e.parent.kind===208&&e.parent.name===e}function nx(e){return bn(e.parent)&&e.parent.name===e||gs(e.parent)&&e.parent.argumentExpression===e}function sO(e){return rc(e.parent)&&e.parent.right===e||bn(e.parent)&&e.parent.name===e||uc(e.parent)&&e.parent.right===e}function oO(e){return e.kind===207&&e.properties.length===0}function _O(e){return e.kind===206&&e.elements.length===0}function cO(e){if(!(!lO(e)||!e.declarations)){for(let t of e.declarations)if(t.localSymbol)return t.localSymbol}}function lO(e){return e&&I(e.declarations)>0&&rn(e.declarations[0],1024)}function uO(e){return Ae(y8,t=>ns(e,t))}function pO(e){let t=[],r=e.length;for(let s=0;s>6|192),t.push(f&63|128)):f<65536?(t.push(f>>12|224),t.push(f>>6&63|128),t.push(f&63|128)):f<131072?(t.push(f>>18|240),t.push(f>>12&63|128),t.push(f>>6&63|128),t.push(f&63|128)):Y.assert(!1,"Unexpected code point")}return t}function ix(e){let t="",r=pO(e),s=0,f=r.length,x,w,A,g;for(;s>2,w=(r[s]&3)<<4|r[s+1]>>4,A=(r[s+1]&15)<<2|r[s+2]>>6,g=r[s+2]&63,s+1>=f?A=g=64:s+2>=f&&(g=64),t+=xa.charAt(x)+xa.charAt(w)+xa.charAt(A)+xa.charAt(g),s+=3;return t}function fO(e){let t="",r=0,s=e.length;for(;r>4&3,N=(w&15)<<4|A>>2&15,X=(A&3)<<6|g&63;N===0&&A!==0?s.push(B):X===0&&g!==0?s.push(B,N):s.push(B,N,X),f+=4}return fO(s)}function ax(e,t){let r=Ji(t)?t:t.readFile(e);if(!r)return;let s=parseConfigFileTextToJson(e,r);return s.error?void 0:s.config}function hO(e,t){return ax(e,t)||{}}function sx(e,t){return!t.directoryExists||t.directoryExists(e)}function ox(e){switch(e.newLine){case 0:return d8;case 1:case void 0:return m8}}function Jf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e;return Y.assert(t>=e||t===-1),{pos:e,end:t}}function gO(e,t){return Jf(e.pos,t)}function Ff(e,t){return Jf(t,e.end)}function _x(e){let t=fc(e)?te(e.modifiers,zl):void 0;return t&&!hs(t.end)?Ff(e,t.end):e}function yO(e){if(Bo(e)||Vl(e))return Ff(e,e.name.pos);let t=fc(e)?Cn(e.modifiers):void 0;return t&&!hs(t.end)?Ff(e,t.end):_x(e)}function vO(e){return e.pos===e.end}function bO(e,t){return Jf(e,e+Br(t).length)}function TO(e,t){return cx(e,e,t)}function SO(e,t,r){return $_(K_(e,r,!1),K_(t,r,!1),r)}function xO(e,t,r){return $_(e.end,t.end,r)}function cx(e,t,r){return $_(K_(e,r,!1),t.end,r)}function EO(e,t,r){return $_(e.end,K_(t,r,!1),r)}function wO(e,t,r,s){let f=K_(t,r,s);return I_(r,e.end,f)}function CO(e,t,r){return I_(r,e.end,t.end)}function AO(e,t){return!$_(e.pos,e.end,t)}function $_(e,t,r){return I_(r,e,t)===0}function K_(e,t,r){return hs(e.pos)?-1:Ar(t.text,e.pos,!1,r)}function PO(e,t,r,s){let f=Ar(r.text,e,!1,s),x=kO(f,t,r);return I_(r,x!=null?x:t,f)}function DO(e,t,r,s){let f=Ar(r.text,e,!1,s);return I_(r,e,Math.min(t,f))}function kO(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0;for(;e-- >t;)if(!os(r.text.charCodeAt(e)))return e}function IO(e){let t=fl(e);if(t)switch(t.parent.kind){case 263:case 264:return t===t.parent.name}return!1}function NO(e){return ee(e.declarations,lx)}function lx(e){return Vi(e)&&e.initializer!==void 0}function OO(e){return e.watch&&Jr(e,"watch")}function MO(e){e.close()}function ux(e){return e.flags&33554432?e.links.checkFlags:0}function LO(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.valueDeclaration){let r=t&&e.declarations&&Ae(e.declarations,ic)||e.flags&32768&&Ae(e.declarations,Gl)||e.valueDeclaration,s=ef(r);return e.parent&&e.parent.flags&32?s:s&-29}if(ux(e)&6){let r=e.links.checkFlags,s=r&1024?8:r&256?4:16,f=r&2048?32:0;return s|f}return e.flags&4194304?36:0}function RO(e,t){return e.flags&2097152?t.getAliasedSymbol(e):e}function jO(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags}function JO(e){return Mo(e)===1}function FO(e){return Mo(e)!==0}function Mo(e){let{parent:t}=e;if(!t)return 0;switch(t.kind){case 214:return Mo(t);case 222:case 221:let{operator:s}=t;return s===45||s===46?r():0;case 223:let{left:f,operatorToken:x}=t;return f===e&&G_(x.kind)?x.kind===63?1:r():0;case 208:return t.name!==e?0:Mo(t);case 299:{let w=Mo(t.parent);return e===t.name?BO(w):w}case 300:return e===t.objectAssignmentInitializer?0:Mo(t.parent);case 206:return Mo(t);default:return 0}function r(){return t.parent&&D0(t.parent).kind===241?1:2}}function BO(e){switch(e){case 0:return 1;case 1:return 0;case 2:return 2;default:return Y.assertNever(e)}}function px(e,t){if(!e||!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(typeof e[r]=="object"){if(!px(e[r],t[r]))return!1}else if(typeof e[r]!="function"&&e[r]!==t[r])return!1;return!0}function qO(e,t){e.forEach(t),e.clear()}function fx(e,t,r){let{onDeleteValue:s,onExistingValue:f}=r;e.forEach((x,w)=>{let A=t.get(w);A===void 0?(e.delete(w),s(x,w)):f&&f(x,A,w)})}function UO(e,t,r){fx(e,t,r);let{createNewValue:s}=r;t.forEach((f,x)=>{e.has(x)||e.set(x,s(x,f))})}function zO(e){if(e.flags&32){let t=dx(e);return!!t&&rn(t,256)}return!1}function dx(e){var t;return(t=e.declarations)==null?void 0:t.find(bi)}function Bf(e){return e.flags&3899393?e.objectFlags:0}function WO(e,t){return!!FT(e,r=>t(r)?!0:void 0)}function VO(e){return!!e&&!!e.declarations&&!!e.declarations[0]&&a2(e.declarations[0])}function HO(e){let{moduleSpecifier:t}=e;return Gn(t)?t.text:gf(t)}function mx(e){let t;return xr(e,r=>{xl(r)&&(t=r)},r=>{for(let s=r.length-1;s>=0;s--)if(xl(r[s])){t=r[s];break}}),t}function GO(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.has(t)?!1:(e.set(t,r),!0)}function $O(e){return bi(e)||eu(e)||id(e)}function hx(e){return e>=179&&e<=202||e===131||e===157||e===148||e===160||e===149||e===134||e===152||e===153||e===114||e===155||e===144||e===139||e===230||e===315||e===316||e===317||e===318||e===319||e===320||e===321}function Lo(e){return e.kind===208||e.kind===209}function KO(e){return e.kind===208?e.name:(Y.assert(e.kind===209),e.argumentExpression)}function XO(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}}function YO(e){return e.kind===272||e.kind===276}function rv(e){for(;Lo(e);)e=e.expression;return e}function QO(e,t){if(Lo(e.parent)&&nx(e))return r(e.parent);function r(s){if(s.kind===208){let f=t(s.name);if(f!==void 0)return f}else if(s.kind===209)if(yt(s.argumentExpression)||Ti(s.argumentExpression)){let f=t(s.argumentExpression);if(f!==void 0)return f}else return;if(Lo(s.expression))return r(s.expression);if(yt(s.expression))return t(s.expression)}}function ZO(e,t){for(;;){switch(e.kind){case 222:e=e.operand;continue;case 223:e=e.left;continue;case 224:e=e.condition;continue;case 212:e=e.tag;continue;case 210:if(t)return e;case 231:case 209:case 208:case 232:case 356:case 235:e=e.expression;continue}return e}}function eM(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.isAssigned=void 0,this.links=void 0}function tM(e,t){this.flags=t,(Y.isDebugging||rs)&&(this.checker=e)}function rM(e,t){this.flags=t,Y.isDebugging&&(this.checker=e)}function nv(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function nM(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function iM(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function aM(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||(s=>s)}function sM(e){Av.push(e),e(lr)}function gx(e){Object.assign(lr,e),c(Av,t=>t(lr))}function X_(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;return e.replace(/{(\d+)}/g,(s,f)=>""+Y.checkDefined(t[+f+r]))}function yx(e){jl=e}function vx(e){!jl&&e&&(jl=e())}function Y_(e){return jl&&jl[e.key]||e.message}function Ro(e,t,r,s){t0(void 0,t,r);let f=Y_(s);return arguments.length>4&&(f=X_(f,arguments,4)),{file:void 0,start:t,length:r,messageText:f,category:s.category,code:s.code,reportsUnnecessary:s.reportsUnnecessary,fileName:e}}function oM(e){return e.file===void 0&&e.start!==void 0&&e.length!==void 0&&typeof e.fileName=="string"}function bx(e,t){let r=t.fileName||"",s=t.text.length;Y.assertEqual(e.fileName,r),Y.assertLessThanOrEqual(e.start,s),Y.assertLessThanOrEqual(e.start+e.length,s);let f={file:t,start:e.start,length:e.length,messageText:e.messageText,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary};if(e.relatedInformation){f.relatedInformation=[];for(let x of e.relatedInformation)oM(x)&&x.fileName===r?(Y.assertLessThanOrEqual(x.start,s),Y.assertLessThanOrEqual(x.start+x.length,s),f.relatedInformation.push(bx(x,t))):f.relatedInformation.push(x)}return f}function qs(e,t){let r=[];for(let s of e)r.push(bx(s,t));return r}function iv(e,t,r,s){t0(e,t,r);let f=Y_(s);return arguments.length>4&&(f=X_(f,arguments,4)),{file:e,start:t,length:r,messageText:f,category:s.category,code:s.code,reportsUnnecessary:s.reportsUnnecessary,reportsDeprecated:s.reportsDeprecated}}function _M(e,t){let r=Y_(t);return arguments.length>2&&(r=X_(r,arguments,2)),r}function Ol(e){let t=Y_(e);return arguments.length>1&&(t=X_(t,arguments,1)),{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary,reportsDeprecated:e.reportsDeprecated}}function cM(e,t){return{file:void 0,start:void 0,length:void 0,code:e.code,category:e.category,messageText:e.next?e:e.messageText,relatedInformation:t}}function lM(e,t){let r=Y_(t);return arguments.length>2&&(r=X_(r,arguments,2)),{messageText:r,category:t.category,code:t.code,next:e===void 0||Array.isArray(e)?e:[e]}}function uM(e,t){let r=e;for(;r.next;)r=r.next[0];r.next=[t]}function Tx(e){return e.file?e.file.path:void 0}function av(e,t){return qf(e,t)||pM(e,t)||0}function qf(e,t){return ri(Tx(e),Tx(t))||Vr(e.start,t.start)||Vr(e.length,t.length)||Vr(e.code,t.code)||Sx(e.messageText,t.messageText)||0}function pM(e,t){return!e.relatedInformation&&!t.relatedInformation?0:e.relatedInformation&&t.relatedInformation?Vr(e.relatedInformation.length,t.relatedInformation.length)||c(e.relatedInformation,(r,s)=>{let f=t.relatedInformation[s];return av(r,f)})||0:e.relatedInformation?-1:1}function Sx(e,t){if(typeof e=="string"&&typeof t=="string")return ri(e,t);if(typeof e=="string")return-1;if(typeof t=="string")return 1;let r=ri(e.messageText,t.messageText);if(r)return r;if(!e.next&&!t.next)return 0;if(!e.next)return-1;if(!t.next)return 1;let s=Math.min(e.next.length,t.next.length);for(let f=0;ft.next.length?1:0}function sv(e){return e===4||e===2||e===1||e===6?1:0}function xx(e){if(e.transformFlags&2)return _3(e)||pd(e)?e:xr(e,xx)}function fM(e){return e.isDeclarationFile?void 0:xx(e)}function dM(e){return(e.impliedNodeFormat===99||da(e.fileName,[".cjs",".cts",".mjs",".mts"]))&&!e.isDeclarationFile?!0:void 0}function Ex(e){switch(wx(e)){case 3:return f=>{f.externalModuleIndicator=ou(f)||!f.isDeclarationFile||void 0};case 1:return f=>{f.externalModuleIndicator=ou(f)};case 2:let t=[ou];(e.jsx===4||e.jsx===5)&&t.push(fM),t.push(dM);let r=W1(...t);return f=>void(f.externalModuleIndicator=r(f))}}function Uf(e){var t;return(t=e.target)!=null?t:e.module===100&&9||e.module===199&&99||1}function Ei(e){return typeof e.module=="number"?e.module:Uf(e)>=2?5:1}function mM(e){return e>=5&&e<=99}function Ml(e){let t=e.moduleResolution;if(t===void 0)switch(Ei(e)){case 1:t=2;break;case 100:t=3;break;case 199:t=99;break;default:t=1;break}return t}function wx(e){return e.moduleDetection||(Ei(e)===100||Ei(e)===199?3:2)}function hM(e){switch(Ei(e)){case 1:case 2:case 5:case 6:case 7:case 99:case 100:case 199:return!0;default:return!1}}function zf(e){return!!(e.isolatedModules||e.verbatimModuleSyntax)}function gM(e){return e.verbatimModuleSyntax||e.isolatedModules&&e.preserveValueImports}function yM(e){return e.allowUnreachableCode===!1}function vM(e){return e.allowUnusedLabels===!1}function bM(e){return!!(cv(e)&&e.declarationMap)}function ov(e){if(e.esModuleInterop!==void 0)return e.esModuleInterop;switch(Ei(e)){case 100:case 199:return!0}}function TM(e){return e.allowSyntheticDefaultImports!==void 0?e.allowSyntheticDefaultImports:ov(e)||Ei(e)===4||Ml(e)===100}function _v(e){return e>=3&&e<=99||e===100}function SM(e){let t=Ml(e);if(!_v(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function xM(e){let t=Ml(e);if(!_v(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}function Cx(e){return e.resolveJsonModule!==void 0?e.resolveJsonModule:Ml(e)===100}function cv(e){return!!(e.declaration||e.composite)}function EM(e){return!!(e.preserveConstEnums||zf(e))}function wM(e){return!!(e.incremental||e.composite)}function lv(e,t){return e[t]===void 0?!!e.strict:!!e[t]}function Ax(e){return e.allowJs===void 0?!!e.checkJs:e.allowJs}function CM(e){return e.useDefineForClassFields===void 0?Uf(e)>=9:e.useDefineForClassFields}function AM(e,t){return J_(t,e,semanticDiagnosticsOptionDeclarations)}function PM(e,t){return J_(t,e,affectsEmitOptionDeclarations)}function DM(e,t){return J_(t,e,affectsDeclarationPathOptionDeclarations)}function uv(e,t){return t.strictFlag?lv(e,t.name):e[t.name]}function kM(e){let t=e.jsx;return t===2||t===4||t===5}function IM(e,t){let r=t==null?void 0:t.pragmas.get("jsximportsource"),s=ir(r)?r[r.length-1]:r;return e.jsx===4||e.jsx===5||e.jsxImportSource||s?(s==null?void 0:s.arguments.factory)||e.jsxImportSource||"react":void 0}function NM(e,t){return e?`${e}/${t.jsx===5?"jsx-dev-runtime":"jsx-runtime"}`:void 0}function OM(e){let t=!1;for(let r=0;rf,getSymlinkedDirectories:()=>r,getSymlinkedDirectoriesByRealpath:()=>s,setSymlinkedFile:(A,g)=>(f||(f=new Map)).set(A,g),setSymlinkedDirectory:(A,g)=>{let B=Ui(A,e,t);Hx(B)||(B=wo(B),g!==!1&&!(r!=null&&r.has(B))&&(s||(s=Be())).add(wo(g.realPath),A),(r||(r=new Map)).set(B,g))},setSymlinksFromResolutions(A,g){var B,N;Y.assert(!x),x=!0;for(let X of A)(B=X.resolvedModules)==null||B.forEach(F=>w(this,F.resolvedModule)),(N=X.resolvedTypeReferenceDirectiveNames)==null||N.forEach(F=>w(this,F.resolvedTypeReferenceDirective));g.forEach(X=>w(this,X.resolvedTypeReferenceDirective))},hasProcessedResolutions:()=>x};function w(A,g){if(!g||!g.originalPath||!g.resolvedFileName)return;let{resolvedFileName:B,originalPath:N}=g;A.setSymlinkedFile(Ui(N,e,t),B);let[X,F]=LM(B,N,e,t)||Bt;X&&F&&A.setSymlinkedDirectory(F,{real:X,realPath:Ui(X,e,t)})}}function LM(e,t,r,s){let f=qi(as(e,r)),x=qi(as(t,r)),w=!1;for(;f.length>=2&&x.length>=2&&!Px(f[f.length-2],s)&&!Px(x[x.length-2],s)&&s(f[f.length-1])===s(x[x.length-1]);)f.pop(),x.pop(),w=!0;return w?[xo(f),xo(x)]:void 0}function Px(e,t){return e!==void 0&&(t(e)==="node_modules"||Pn(e,"@"))}function RM(e){return ay(e.charCodeAt(0))?e.slice(1):void 0}function jM(e,t,r){let s=ST(e,t,r);return s===void 0?void 0:RM(s)}function JM(e){return e.replace(Xf,FM)}function FM(e){return"\\"+e}function Wf(e,t,r){let s=pv(e,t,r);return!s||!s.length?void 0:`^(${s.map(w=>`(${w})`).join("|")})${r==="exclude"?"($|/)":"$"}`}function pv(e,t,r){if(!(e===void 0||e.length===0))return ne(e,s=>s&&kx(s,t,r,Nv[r]))}function Dx(e){return!/[.*?]/.test(e)}function BM(e,t,r){let s=e&&kx(e,t,r,Nv[r]);return s&&`^(${s})${r==="exclude"?"($|/)":"$"}`}function kx(e,t,r,s){let{singleAsteriskRegexFragment:f,doubleAsteriskRegexFragment:x,replaceWildcardCharacter:w}=s,A="",g=!1,B=$p(e,t),N=Zn(B);if(r!=="exclude"&&N==="**")return;B[0]=P_(B[0]),Dx(N)&&B.push("**","*");let X=0;for(let F of B){if(F==="**")A+=x;else if(r==="directories"&&(A+="(",X++),g&&(A+=zn),r!=="exclude"){let $="";F.charCodeAt(0)===42?($+="([^./]"+f+")?",F=F.substr(1)):F.charCodeAt(0)===63&&($+="[^./]",F=F.substr(1)),$+=F.replace(Xf,w),$!==F&&(A+=Yf),A+=$}else A+=F.replace(Xf,w);g=!0}for(;X>0;)A+=")?",X--;return A}function fv(e,t){return e==="*"?t:e==="?"?"[^/]":"\\"+e}function Ix(e,t,r,s,f){e=Un(e),f=Un(f);let x=tn(f,e);return{includeFilePatterns:Ze(pv(r,x,"files"),w=>`^${w}$`),includeFilePattern:Wf(r,x,"files"),includeDirectoryPattern:Wf(r,x,"directories"),excludePattern:Wf(t,x,"exclude"),basePaths:UM(e,r,s)}}function Vf(e,t){return new RegExp(e,t?"":"i")}function qM(e,t,r,s,f,x,w,A,g){e=Un(e),x=Un(x);let B=Ix(e,r,s,f,x),N=B.includeFilePatterns&&B.includeFilePatterns.map(Ye=>Vf(Ye,f)),X=B.includeDirectoryPattern&&Vf(B.includeDirectoryPattern,f),F=B.excludePattern&&Vf(B.excludePattern,f),$=N?N.map(()=>[]):[[]],ae=new Map,Te=wp(f);for(let Ye of B.basePaths)Se(Ye,tn(x,Ye),w);return ct($);function Se(Ye,Ne,oe){let Ve=Te(g(Ne));if(ae.has(Ve))return;ae.set(Ve,!0);let{files:pt,directories:Gt}=A(Ye);for(let Nt of Is(pt,ri)){let Xt=tn(Ye,Nt),er=tn(Ne,Nt);if(!(t&&!da(Xt,t))&&!(F&&F.test(er)))if(!N)$[0].push(Xt);else{let Tn=he(N,Hr=>Hr.test(er));Tn!==-1&&$[Tn].push(Xt)}}if(!(oe!==void 0&&(oe--,oe===0)))for(let Nt of Is(Gt,ri)){let Xt=tn(Ye,Nt),er=tn(Ne,Nt);(!X||X.test(er))&&(!F||!F.test(er))&&Se(Xt,er,oe)}}}function UM(e,t,r){let s=[e];if(t){let f=[];for(let x of t){let w=A_(x)?x:Un(tn(e,x));f.push(zM(w))}f.sort(rl(!r));for(let x of f)me(s,w=>!jT(w,x,e,!r))&&s.push(x)}return s}function zM(e){let t=Je(e,h8);return t<0?OT(e)?P_(ma(e)):e:e.substring(0,e.lastIndexOf(zn,t))}function Nx(e,t){return t||Ox(e)||3}function Ox(e){switch(e.substr(e.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}function Mx(e,t){let r=e&&Ax(e);if(!t||t.length===0)return r?Jl:Jo;let s=r?Jl:Jo,f=ct(s);return[...s,...qt(t,w=>w.scriptKind===7||r&&WM(w.scriptKind)&&f.indexOf(w.extension)===-1?[w.extension]:void 0)]}function Lx(e,t){return!e||!Cx(e)?t:t===Jl?v8:t===Jo?g8:[...t,[".json"]]}function WM(e){return e===1||e===2}function dv(e){return Ke(Lv,t=>ns(e,t))}function mv(e){return Ke(Ov,t=>ns(e,t))}function Rx(e){let{imports:t}=e,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:W1(dv,mv);return q(t,s=>{let{text:f}=s;return So(f)?r(f):void 0})||!1}function VM(e,t,r,s){if(e==="js"||t===99)return shouldAllowImportingTsExtension(r)&&f()!==2?3:2;if(e==="minimal")return 0;if(e==="index")return 1;if(!shouldAllowImportingTsExtension(r))return Rx(s)?2:0;return f();function f(){let x=!1,w=s.imports.length?s.imports.map(A=>A.text):y0(s)?HM(s).map(A=>A.arguments[0].text):Bt;for(let A of w)if(So(A)){if(mv(A))return 3;dv(A)&&(x=!0)}return x?2:0}}function HM(e){let t=0,r;for(let s of e.statements){if(t>3)break;W3(s)?r=Ft(r,s.declarationList.declarations.map(f=>f.initializer)):Zl(s)&&El(s.expression,!0)?r=tr(r,s.expression):t++}return r||Bt}function GM(e,t,r){if(!e)return!1;let s=Mx(t,r);for(let f of ct(Lx(t,s)))if(ns(e,f))return!0;return!1}function jx(e){let t=e.match(/\//g);return t?t.length:0}function $M(e,t){return Vr(jx(e),jx(t))}function Ll(e){for(let t of Qf){let r=Jx(e,t);if(r!==void 0)return r}return e}function Jx(e,t){return ns(e,t)?Fx(e,t):void 0}function Fx(e,t){return e.substring(0,e.length-t.length)}function KM(e,t){return RT(e,t,Qf,!1)}function Bx(e){let t=e.indexOf("*");return t===-1?e:e.indexOf("*",t+1)!==-1?void 0:{prefix:e.substr(0,t),suffix:e.substr(t+1)}}function XM(e){return qt(ho(e),t=>Bx(t))}function hs(e){return!(e>=0)}function qx(e){return e===".ts"||e===".tsx"||e===".d.ts"||e===".cts"||e===".mts"||e===".d.mts"||e===".d.cts"||Pn(e,".d.")&&es(e,".ts")}function YM(e){return qx(e)||e===".json"}function QM(e){let t=hv(e);return t!==void 0?t:Y.fail(`File ${e} has unknown extension.`)}function ZM(e){return hv(e)!==void 0}function hv(e){return Ae(Qf,t=>ns(e,t))}function eL(e,t){return e.checkJsDirective?e.checkJsDirective.enabled:t.checkJs}function tL(e,t){let r=[];for(let s of e){if(s===t)return t;Ji(s)||r.push(s)}return TT(r,s=>s,t)}function rL(e,t){let r=e.indexOf(t);return Y.assert(r!==-1),e.slice(r)}function Rl(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;ss&&(s=x)}return{min:r,max:s}}function iL(e){return{pos:Io(e),end:e.end}}function aL(e,t){let r=t.pos-1,s=Math.min(e.text.length,Ar(e.text,t.end)+1);return{pos:r,end:s}}function sL(e,t,r){return t.skipLibCheck&&e.isDeclarationFile||t.skipDefaultLibCheck&&e.hasNoDefaultLib||r.isSourceOfProjectReferenceRedirect(e.fileName)}function gv(e,t){return e===t||typeof e=="object"&&e!==null&&typeof t=="object"&&t!==null&&S_(e,t,gv)}function Hf(e){let t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:let B=e.length-1,N=0;for(;e.charCodeAt(N)===48;)N++;return e.slice(N,B)||"0"}let r=2,s=e.length-1,f=(s-r)*t,x=new Uint16Array((f>>>4)+(f&15?1:0));for(let B=s-1,N=0;B>=r;B--,N+=t){let X=N>>>4,F=e.charCodeAt(B),ae=(F<=57?F-48:10+F-(F<=70?65:97))<<(N&15);x[X]|=ae;let Te=ae>>>16;Te&&(x[X+1]|=Te)}let w="",A=x.length-1,g=!0;for(;g;){let B=0;g=!1;for(let N=A;N>=0;N--){let X=B<<16|x[N],F=X/10|0;x[N]=F,B=X-F*10,F&&!g&&(A=N,g=!0)}w=B+w}return w}function yv(e){let{negative:t,base10Value:r}=e;return(t&&r!=="0"?"-":"")+r}function oL(e){if(zx(e,!1))return Ux(e)}function Ux(e){let t=e.startsWith("-"),r=Hf(`${t?e.slice(1):e}n`);return{negative:t,base10Value:r}}function zx(e,t){if(e==="")return!1;let r=Po(99,!1),s=!0;r.setOnError(()=>s=!1),r.setText(e+"n");let f=r.scan(),x=f===40;x&&(f=r.scan());let w=r.getTokenFlags();return s&&f===9&&r.getTextPos()===e.length+1&&!(w&512)&&(!t||e===yv({negative:x,base10Value:Hf(r.getTokenValue())}))}function _L(e){return!!(e.flags&16777216)||F3(e)||uL(e)||lL(e)||!(g0(e)||cL(e))}function cL(e){return yt(e)&&nu(e.parent)&&e.parent.name===e}function lL(e){for(;e.kind===79||e.kind===208;)e=e.parent;if(e.kind!==164)return!1;if(rn(e.parent,256))return!0;let t=e.parent.parent.kind;return t===261||t===184}function uL(e){if(e.kind!==79)return!1;let t=zi(e.parent,r=>{switch(r.kind){case 294:return!0;case 208:case 230:return!1;default:return"quit"}});return(t==null?void 0:t.token)===117||(t==null?void 0:t.parent.kind)===261}function pL(e){return ac(e)&&yt(e.typeName)}function fL(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fa;if(e.length<2)return!0;let r=e[0];for(let s=1,f=e.length;sFi(e,t))}function yL(e){if(!e.parent)return;switch(e.kind){case 165:let{parent:r}=e;return r.kind===192?void 0:r.typeParameters;case 166:return e.parent.parameters;case 201:return e.parent.templateSpans;case 236:return e.parent.templateSpans;case 167:{let{parent:s}=e;return ME(s)?s.modifiers:void 0}case 294:return e.parent.heritageClauses}let{parent:t}=e;if(zy(e))return f2(e.parent)?void 0:e.parent.tags;switch(t.kind){case 184:case 261:return Ry(e)?t.members:void 0;case 189:case 190:return t.types;case 186:case 206:case 357:case 272:case 276:return t.elements;case 207:case 289:return t.properties;case 210:case 211:return Jy(e)?t.typeArguments:t.expression===e?void 0:t.arguments;case 281:case 285:return o3(e)?t.children:void 0;case 283:case 282:return Jy(e)?t.typeArguments:void 0;case 238:case 292:case 293:case 265:return t.statements;case 266:return t.clauses;case 260:case 228:return Js(e)?t.members:void 0;case 263:return cE(e)?t.members:void 0;case 308:return t.statements}}function vL(e){if(!e.typeParameters){if(Ke(e.parameters,t=>!V0(t)))return!0;if(e.kind!==216){let t=pa(e.parameters);if(!(t&&kl(t)))return!0}}return!1}function bL(e){return e==="Infinity"||e==="-Infinity"||e==="NaN"}function Gx(e){return e.kind===257&&e.parent.kind===295}function TL(e){let t=e.valueDeclaration&&If(e.valueDeclaration);return!!t&&(Vs(t)||Gx(t))}function SL(e){return e.kind===215||e.kind===216}function xL(e){return e.replace(/\$/gm,()=>"\\$")}function $x(e){return(+e).toString()===e}function EL(e,t,r,s){return vy(e,t)?si.createIdentifier(e):!s&&$x(e)&&+e>=0?si.createNumericLiteral(+e):si.createStringLiteral(e,!!r)}function Kx(e){return!!(e.flags&262144&&e.isThisType)}function wL(e){let t=0,r=0,s=0,f=0,x;(B=>{B[B.BeforeNodeModules=0]="BeforeNodeModules",B[B.NodeModules=1]="NodeModules",B[B.Scope=2]="Scope",B[B.PackageContent=3]="PackageContent"})(x||(x={}));let w=0,A=0,g=0;for(;A>=0;)switch(w=A,A=e.indexOf("/",w+1),g){case 0:e.indexOf(nodeModulesPathPart,w)===w&&(t=w,r=A,g=1);break;case 1:case 2:g===1&&e.charAt(w+1)==="@"?g=2:(s=A,g=3);break;case 3:e.indexOf(nodeModulesPathPart,w)===w?g=1:g=3;break}return f=w,g>1?{topLevelNodeModulesIndex:t,topLevelPackageNameIndex:r,packageRootIndex:s,fileNameIndex:f}:void 0}function CL(e){var t;return e.kind===344?(t=e.typeExpression)==null?void 0:t.type:e.type}function Xx(e){switch(e.kind){case 165:case 260:case 261:case 262:case 263:case 349:case 341:case 343:return!0;case 270:return e.isTypeOnly;case 273:case 278:return e.parent.parent.isTypeOnly;default:return!1}}function AL(e){return i2(e)||zo(e)||Wo(e)||_c(e)||eu(e)||Xx(e)||Ea(e)&&!Xy(e)&&!vf(e)}function Yx(e){if(!Dy(e))return!1;let{isBracketed:t,typeExpression:r}=e;return t||!!r&&r.type.kind===319}function PL(e,t){if(e.length===0)return!1;let r=e.charCodeAt(0);return r===35?e.length>1&&Wn(e.charCodeAt(1),t):Wn(r,t)}function Qx(e){var t;return((t=getSnippetElement(e))==null?void 0:t.kind)===0}function Zx(e){return Pr(e)&&(e.type&&e.type.kind===319||of(e).some(t=>{let{isBracketed:r,typeExpression:s}=t;return r||!!s&&s.type.kind===319}))}function DL(e){switch(e.kind){case 169:case 168:return!!e.questionToken;case 166:return!!e.questionToken||Zx(e);case 351:case 344:return Yx(e);default:return!1}}function kL(e){let t=e.kind;return(t===208||t===209)&&Uo(e.expression)}function IL(e){return Pr(e)&&qo(e)&&ya(e)&&!!wy(e)}function NL(e){return Y.checkDefined(e8(e))}function e8(e){let t=wy(e);return t&&t.typeExpression&&t.typeExpression.type}var t8,Kf,r8,n8,Z_,vv,bv,i8,Tv,a8,Sv,xv,Ev,wv,s8,o8,_8,c8,l8,Cv,u8,p8,f8,jo,xa,d8,m8,lr,Av,jl,Xf,h8,Pv,Yf,Dv,kv,Iv,Nv,Jo,Ov,g8,y8,Mv,Lv,Jl,v8,Rv,b8,jv,Qf,T8,OL=D({"src/compiler/utilities.ts"(){"use strict";nn(),t8=[],Kf="tslib",r8=160,n8=1e6,Z_=_D(),vv=(e=>(e[e.None=0]="None",e[e.NeverAsciiEscape=1]="NeverAsciiEscape",e[e.JsxAttributeEscape=2]="JsxAttributeEscape",e[e.TerminateUnterminatedLiterals=4]="TerminateUnterminatedLiterals",e[e.AllowNumericSeparator=8]="AllowNumericSeparator",e))(vv||{}),bv=/^(\/\/\/\s*/,i8=/^(\/\/\/\s*/,Tv=/^(\/\/\/\s*/,a8=/^(\/\/\/\s*/,Sv=(e=>(e[e.None=0]="None",e[e.Definite=1]="Definite",e[e.Compound=2]="Compound",e))(Sv||{}),xv=(e=>(e[e.Normal=0]="Normal",e[e.Generator=1]="Generator",e[e.Async=2]="Async",e[e.Invalid=4]="Invalid",e[e.AsyncGenerator=3]="AsyncGenerator",e))(xv||{}),Ev=(e=>(e[e.Left=0]="Left",e[e.Right=1]="Right",e))(Ev||{}),wv=(e=>(e[e.Comma=0]="Comma",e[e.Spread=1]="Spread",e[e.Yield=2]="Yield",e[e.Assignment=3]="Assignment",e[e.Conditional=4]="Conditional",e[e.Coalesce=4]="Coalesce",e[e.LogicalOR=5]="LogicalOR",e[e.LogicalAND=6]="LogicalAND",e[e.BitwiseOR=7]="BitwiseOR",e[e.BitwiseXOR=8]="BitwiseXOR",e[e.BitwiseAND=9]="BitwiseAND",e[e.Equality=10]="Equality",e[e.Relational=11]="Relational",e[e.Shift=12]="Shift",e[e.Additive=13]="Additive",e[e.Multiplicative=14]="Multiplicative",e[e.Exponentiation=15]="Exponentiation",e[e.Unary=16]="Unary",e[e.Update=17]="Update",e[e.LeftHandSide=18]="LeftHandSide",e[e.Member=19]="Member",e[e.Primary=20]="Primary",e[e.Highest=20]="Highest",e[e.Lowest=0]="Lowest",e[e.Invalid=-1]="Invalid",e))(wv||{}),s8=/\$\{/g,o8=/[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,_8=/[\\\'\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,c8=/\r\n|[\\\`\u0000-\u001f\t\v\f\b\r\u2028\u2029\u0085]/g,l8=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"})),Cv=/[^\u0000-\u007F]/g,u8=/[\"\u0000-\u001f\u2028\u2029\u0085]/g,p8=/[\'\u0000-\u001f\u2028\u2029\u0085]/g,f8=new Map(Object.entries({'"':""","'":"'"})),jo=[""," "],xa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d8=`\r +`,m8=` +`,lr={getNodeConstructor:()=>nv,getTokenConstructor:()=>nM,getIdentifierConstructor:()=>iM,getPrivateIdentifierConstructor:()=>nv,getSourceFileConstructor:()=>nv,getSymbolConstructor:()=>eM,getTypeConstructor:()=>tM,getSignatureConstructor:()=>rM,getSourceMapSourceConstructor:()=>aM},Av=[],Xf=/[^\w\s\/]/g,h8=[42,63],Pv=["node_modules","bower_components","jspm_packages"],Yf=`(?!(${Pv.join("|")})(/|$))`,Dv={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${Yf}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>fv(e,Dv.singleAsteriskRegexFragment)},kv={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${Yf}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>fv(e,kv.singleAsteriskRegexFragment)},Iv={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:e=>fv(e,Iv.singleAsteriskRegexFragment)},Nv={files:Dv,directories:kv,exclude:Iv},Jo=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],Ov=ct(Jo),g8=[...Jo,[".json"]],y8=[".d.ts",".d.cts",".d.mts",".cts",".mts",".ts",".tsx",".cts",".mts"],Mv=[[".js",".jsx"],[".mjs"],[".cjs"]],Lv=ct(Mv),Jl=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],v8=[...Jl,[".json"]],Rv=[".d.ts",".d.cts",".d.mts"],b8=[".ts",".cts",".mts",".tsx"],jv=(e=>(e[e.Minimal=0]="Minimal",e[e.Index=1]="Index",e[e.JsExtension=2]="JsExtension",e[e.TsExtension=3]="TsExtension",e))(jv||{}),Qf=[".d.ts",".d.mts",".d.cts",".mjs",".mts",".cjs",".cts",".ts",".js",".tsx",".jsx",".json"],T8={files:Bt,directories:Bt}}});function S8(){let e,t,r,s,f;return{createBaseSourceFileNode:x,createBaseIdentifierNode:w,createBasePrivateIdentifierNode:A,createBaseTokenNode:g,createBaseNode:B};function x(N){return new(f||(f=lr.getSourceFileConstructor()))(N,-1,-1)}function w(N){return new(r||(r=lr.getIdentifierConstructor()))(N,-1,-1)}function A(N){return new(s||(s=lr.getPrivateIdentifierConstructor()))(N,-1,-1)}function g(N){return new(t||(t=lr.getTokenConstructor()))(N,-1,-1)}function B(N){return new(e||(e=lr.getNodeConstructor()))(N,-1,-1)}}var ML=D({"src/compiler/factory/baseNodeFactory.ts"(){"use strict";nn()}}),Jv,LL=D({"src/compiler/factory/parenthesizerRules.ts"(){"use strict";nn(),Jv={getParenthesizeLeftSideOfBinaryForOperator:e=>rr,getParenthesizeRightSideOfBinaryForOperator:e=>rr,parenthesizeLeftSideOfBinary:(e,t)=>t,parenthesizeRightSideOfBinary:(e,t,r)=>r,parenthesizeExpressionOfComputedPropertyName:rr,parenthesizeConditionOfConditionalExpression:rr,parenthesizeBranchOfConditionalExpression:rr,parenthesizeExpressionOfExportDefault:rr,parenthesizeExpressionOfNew:e=>ti(e,Do),parenthesizeLeftSideOfAccess:e=>ti(e,Do),parenthesizeOperandOfPostfixUnary:e=>ti(e,Do),parenthesizeOperandOfPrefixUnary:e=>ti(e,t3),parenthesizeExpressionsOfCommaDelimitedList:e=>ti(e,_s),parenthesizeExpressionForDisallowedComma:rr,parenthesizeExpressionOfExpressionStatement:rr,parenthesizeConciseBodyOfArrowFunction:rr,parenthesizeCheckTypeOfConditionalType:rr,parenthesizeExtendsTypeOfConditionalType:rr,parenthesizeConstituentTypesOfUnionType:e=>ti(e,_s),parenthesizeConstituentTypeOfUnionType:rr,parenthesizeConstituentTypesOfIntersectionType:e=>ti(e,_s),parenthesizeConstituentTypeOfIntersectionType:rr,parenthesizeOperandOfTypeOperator:rr,parenthesizeOperandOfReadonlyTypeOperator:rr,parenthesizeNonArrayTypeOfPostfixType:rr,parenthesizeElementTypesOfTupleType:e=>ti(e,_s),parenthesizeElementTypeOfTupleType:rr,parenthesizeTypeOfOptionalType:rr,parenthesizeTypeArguments:e=>e&&ti(e,_s),parenthesizeLeadingTypeArgument:rr}}}),RL=()=>{},x8=()=>new Proxy({},{get:()=>()=>{}});function jL(e){Bv.push(e)}function Zf(e,t){let r=e&8?JL:FL,s=tl(()=>e&1?Jv:createParenthesizerRules(Ye)),f=tl(()=>e&2?nullNodeConverters:x8(Ye)),x=An(n=>(o,l)=>xu(o,n,l)),w=An(n=>o=>Tu(n,o)),A=An(n=>o=>Su(o,n)),g=An(n=>()=>db(n)),B=An(n=>o=>Ac(n,o)),N=An(n=>(o,l)=>mb(n,o,l)),X=An(n=>(o,l)=>Km(n,o,l)),F=An(n=>(o,l)=>Xm(n,o,l)),$=An(n=>(o,l)=>ph(n,o,l)),ae=An(n=>(o,l,p)=>Cb(n,o,l,p)),Te=An(n=>(o,l,p)=>fh(n,o,l,p)),Se=An(n=>(o,l,p,k)=>Ab(n,o,l,p,k)),Ye={get parenthesizer(){return s()},get converters(){return f()},baseFactory:t,flags:e,createNodeArray:Ne,createNumericLiteral:Gt,createBigIntLiteral:Nt,createStringLiteral:er,createStringLiteralFromNode:Tn,createRegularExpressionLiteral:Hr,createLiteralLikeNode:Gi,createIdentifier:Ut,createTempVariable:kn,createLoopVariable:an,createUniqueName:mr,getGeneratedNameForNode:$i,createPrivateIdentifier:Ur,createUniquePrivateName:_r,getGeneratedPrivateNameForNode:Sn,createToken:pr,createSuper:Zt,createThis:Or,createNull:Nn,createTrue:ar,createFalse:oi,createModifier:cr,createModifiersFromModifierFlags:$r,createQualifiedName:hr,updateQualifiedName:On,createComputedPropertyName:nr,updateComputedPropertyName:br,createTypeParameterDeclaration:Kr,updateTypeParameterDeclaration:wa,createParameterDeclaration:$n,updateParameterDeclaration:Ki,createDecorator:Mn,updateDecorator:_i,createPropertySignature:Ca,updatePropertySignature:St,createPropertyDeclaration:He,updatePropertyDeclaration:_t,createMethodSignature:ft,updateMethodSignature:Kt,createMethodDeclaration:zt,updateMethodDeclaration:xe,createConstructorDeclaration:Mt,updateConstructorDeclaration:It,createGetAccessorDeclaration:gr,updateGetAccessorDeclaration:Ln,createSetAccessorDeclaration:ci,updateSetAccessorDeclaration:Xi,createCallSignature:vs,updateCallSignature:$s,createConstructSignature:li,updateConstructSignature:Yi,createIndexSignature:Qi,updateIndexSignature:bs,createClassStaticBlockDeclaration:Re,updateClassStaticBlockDeclaration:ot,createTemplateLiteralTypeSpan:Ai,updateTemplateLiteralTypeSpan:xn,createKeywordTypeNode:Dt,createTypePredicateNode:Pi,updateTypePredicateNode:Z,createTypeReferenceNode:ie,updateTypeReferenceNode:U,createFunctionTypeNode:L,updateFunctionTypeNode:fe,createConstructorTypeNode:it,updateConstructorTypeNode:Ge,createTypeQueryNode:Yt,updateTypeQueryNode:$t,createTypeLiteralNode:Wt,updateTypeLiteralNode:Xr,createArrayTypeNode:Dr,updateArrayTypeNode:Lr,createTupleTypeNode:yr,updateTupleTypeNode:Rn,createNamedTupleMember:wt,updateNamedTupleMember:Tr,createOptionalTypeNode:Tt,updateOptionalTypeNode:kt,createRestTypeNode:de,updateRestTypeNode:jn,createUnionTypeNode:e_,updateUnionTypeNode:mc,createIntersectionTypeNode:Da,updateIntersectionTypeNode:Ts,createConditionalTypeNode:Ot,updateConditionalTypeNode:dr,createInferTypeNode:Dd,updateInferTypeNode:ea,createImportTypeNode:Id,updateImportTypeNode:ka,createParenthesizedType:t_,updateParenthesizedType:En,createThisTypeNode:Er,createTypeOperatorNode:Q,updateTypeOperatorNode:Jn,createIndexedAccessTypeNode:Ia,updateIndexedAccessTypeNode:Ss,createMappedTypeNode:hc,updateMappedTypeNode:wr,createLiteralTypeNode:zr,updateLiteralTypeNode:xs,createTemplateLiteralType:kd,updateTemplateLiteralType:sn,createObjectBindingPattern:Nd,updateObjectBindingPattern:R2,createArrayBindingPattern:Es,updateArrayBindingPattern:j2,createBindingElement:gc,updateBindingElement:Ks,createArrayLiteralExpression:uu,updateArrayLiteralExpression:Od,createObjectLiteralExpression:r_,updateObjectLiteralExpression:J2,createPropertyAccessExpression:e&4?(n,o)=>setEmitFlags(ta(n,o),262144):ta,updatePropertyAccessExpression:Ld,createPropertyAccessChain:e&4?(n,o,l)=>setEmitFlags(Xs(n,o,l),262144):Xs,updatePropertyAccessChain:Rd,createElementAccessExpression:pu,updateElementAccessExpression:F2,createElementAccessChain:fu,updateElementAccessChain:jd,createCallExpression:Na,updateCallExpression:B2,createCallChain:du,updateCallChain:Kn,createNewExpression:vc,updateNewExpression:mu,createTaggedTemplateExpression:hu,updateTaggedTemplateExpression:q2,createTypeAssertion:Fd,updateTypeAssertion:Bd,createParenthesizedExpression:gu,updateParenthesizedExpression:qd,createFunctionExpression:yu,updateFunctionExpression:Ud,createArrowFunction:vu,updateArrowFunction:zd,createDeleteExpression:bu,updateDeleteExpression:U2,createTypeOfExpression:mn,updateTypeOfExpression:z2,createVoidExpression:ui,updateVoidExpression:W2,createAwaitExpression:Oa,updateAwaitExpression:Ys,createPrefixUnaryExpression:Tu,updatePrefixUnaryExpression:bc,createPostfixUnaryExpression:Su,updatePostfixUnaryExpression:Wd,createBinaryExpression:xu,updateBinaryExpression:V2,createConditionalExpression:Eu,updateConditionalExpression:H2,createTemplateExpression:Di,updateTemplateExpression:Hd,createTemplateHead:Sc,createTemplateMiddle:Cu,createTemplateTail:G2,createNoSubstitutionTemplateLiteral:$d,createTemplateLiteralLikeNode:Qs,createYieldExpression:Kd,updateYieldExpression:$2,createSpreadElement:Xd,updateSpreadElement:K2,createClassExpression:Yd,updateClassExpression:xc,createOmittedExpression:X2,createExpressionWithTypeArguments:Qd,updateExpressionWithTypeArguments:Xn,createAsExpression:Ec,updateAsExpression:Zd,createNonNullExpression:em,updateNonNullExpression:Au,createSatisfiesExpression:tm,updateSatisfiesExpression:Pu,createNonNullChain:pi,updateNonNullChain:rm,createMetaProperty:wc,updateMetaProperty:ra,createTemplateSpan:i_,updateTemplateSpan:nm,createSemicolonClassElement:im,createBlock:Zs,updateBlock:am,createVariableStatement:sm,updateVariableStatement:om,createEmptyStatement:Du,createExpressionStatement:a_,updateExpressionStatement:Y2,createIfStatement:ku,updateIfStatement:Q2,createDoStatement:Iu,updateDoStatement:Z2,createWhileStatement:_m,updateWhileStatement:eb,createForStatement:Nu,updateForStatement:cm,createForInStatement:lm,updateForInStatement:tb,createForOfStatement:um,updateForOfStatement:rb,createContinueStatement:pm,updateContinueStatement:fm,createBreakStatement:Ou,updateBreakStatement:dm,createReturnStatement:mm,updateReturnStatement:nb,createWithStatement:Mu,updateWithStatement:hm,createSwitchStatement:Lu,updateSwitchStatement:eo,createLabeledStatement:gm,updateLabeledStatement:ym,createThrowStatement:vm,updateThrowStatement:ib,createTryStatement:bm,updateTryStatement:ab,createDebuggerStatement:Tm,createVariableDeclaration:Cc,updateVariableDeclaration:Sm,createVariableDeclarationList:Ru,updateVariableDeclarationList:sb,createFunctionDeclaration:xm,updateFunctionDeclaration:ju,createClassDeclaration:Em,updateClassDeclaration:Ju,createInterfaceDeclaration:wm,updateInterfaceDeclaration:Cm,createTypeAliasDeclaration:sr,updateTypeAliasDeclaration:Ma,createEnumDeclaration:Fu,updateEnumDeclaration:La,createModuleDeclaration:Am,updateModuleDeclaration:Sr,createModuleBlock:Ra,updateModuleBlock:Yr,createCaseBlock:Pm,updateCaseBlock:_b,createNamespaceExportDeclaration:Dm,updateNamespaceExportDeclaration:km,createImportEqualsDeclaration:Im,updateImportEqualsDeclaration:Nm,createImportDeclaration:Om,updateImportDeclaration:Mm,createImportClause:Lm,updateImportClause:Rm,createAssertClause:Bu,updateAssertClause:lb,createAssertEntry:s_,updateAssertEntry:jm,createImportTypeAssertionContainer:qu,updateImportTypeAssertionContainer:Jm,createNamespaceImport:Fm,updateNamespaceImport:Uu,createNamespaceExport:Bm,updateNamespaceExport:qm,createNamedImports:Um,updateNamedImports:ub,createImportSpecifier:zm,updateImportSpecifier:pb,createExportAssignment:zu,updateExportAssignment:Wu,createExportDeclaration:na,updateExportDeclaration:Wm,createNamedExports:to,updateNamedExports:Hm,createExportSpecifier:Vu,updateExportSpecifier:o_,createMissingDeclaration:fb,createExternalModuleReference:Gm,updateExternalModuleReference:$m,get createJSDocAllType(){return g(315)},get createJSDocUnknownType(){return g(316)},get createJSDocNonNullableType(){return X(318)},get updateJSDocNonNullableType(){return F(318)},get createJSDocNullableType(){return X(317)},get updateJSDocNullableType(){return F(317)},get createJSDocOptionalType(){return B(319)},get updateJSDocOptionalType(){return N(319)},get createJSDocVariadicType(){return B(321)},get updateJSDocVariadicType(){return N(321)},get createJSDocNamepathType(){return B(322)},get updateJSDocNamepathType(){return N(322)},createJSDocFunctionType:Ym,updateJSDocFunctionType:hb,createJSDocTypeLiteral:Qm,updateJSDocTypeLiteral:gb,createJSDocTypeExpression:Zm,updateJSDocTypeExpression:yb,createJSDocSignature:eh,updateJSDocSignature:Hu,createJSDocTemplateTag:__,updateJSDocTemplateTag:Gu,createJSDocTypedefTag:$u,updateJSDocTypedefTag:th,createJSDocParameterTag:Pc,updateJSDocParameterTag:vb,createJSDocPropertyTag:Ku,updateJSDocPropertyTag:bb,createJSDocCallbackTag:rh,updateJSDocCallbackTag:nh,createJSDocOverloadTag:ih,updateJSDocOverloadTag:ah,createJSDocAugmentsTag:sh,updateJSDocAugmentsTag:Xu,createJSDocImplementsTag:Yu,updateJSDocImplementsTag:wb,createJSDocSeeTag:ro,updateJSDocSeeTag:Tb,createJSDocNameReference:ws,updateJSDocNameReference:Dc,createJSDocMemberName:oh,updateJSDocMemberName:Sb,createJSDocLink:_h,updateJSDocLink:xb,createJSDocLinkCode:ch,updateJSDocLinkCode:lh,createJSDocLinkPlain:uh,updateJSDocLinkPlain:Eb,get createJSDocTypeTag(){return Te(347)},get updateJSDocTypeTag(){return Se(347)},get createJSDocReturnTag(){return Te(345)},get updateJSDocReturnTag(){return Se(345)},get createJSDocThisTag(){return Te(346)},get updateJSDocThisTag(){return Se(346)},get createJSDocAuthorTag(){return $(333)},get updateJSDocAuthorTag(){return ae(333)},get createJSDocClassTag(){return $(335)},get updateJSDocClassTag(){return ae(335)},get createJSDocPublicTag(){return $(336)},get updateJSDocPublicTag(){return ae(336)},get createJSDocPrivateTag(){return $(337)},get updateJSDocPrivateTag(){return ae(337)},get createJSDocProtectedTag(){return $(338)},get updateJSDocProtectedTag(){return ae(338)},get createJSDocReadonlyTag(){return $(339)},get updateJSDocReadonlyTag(){return ae(339)},get createJSDocOverrideTag(){return $(340)},get updateJSDocOverrideTag(){return ae(340)},get createJSDocDeprecatedTag(){return $(334)},get updateJSDocDeprecatedTag(){return ae(334)},get createJSDocThrowsTag(){return Te(352)},get updateJSDocThrowsTag(){return Se(352)},get createJSDocSatisfiesTag(){return Te(353)},get updateJSDocSatisfiesTag(){return Se(353)},createJSDocEnumTag:mh,updateJSDocEnumTag:Db,createJSDocUnknownTag:dh,updateJSDocUnknownTag:Pb,createJSDocText:hh,updateJSDocText:Qu,createJSDocComment:gh,updateJSDocComment:yh,createJsxElement:Zu,updateJsxElement:kb,createJsxSelfClosingElement:c_,updateJsxSelfClosingElement:vh,createJsxOpeningElement:bh,updateJsxOpeningElement:Ib,createJsxClosingElement:on,updateJsxClosingElement:Th,createJsxFragment:ep,createJsxText:l_,updateJsxText:Ob,createJsxOpeningFragment:kc,createJsxJsxClosingFragment:Mb,updateJsxFragment:Nb,createJsxAttribute:Sh,updateJsxAttribute:Lb,createJsxAttributes:xh,updateJsxAttributes:tp,createJsxSpreadAttribute:no,updateJsxSpreadAttribute:Rb,createJsxExpression:Ic,updateJsxExpression:Eh,createCaseClause:wh,updateCaseClause:rp,createDefaultClause:np,updateDefaultClause:jb,createHeritageClause:Ch,updateHeritageClause:Ah,createCatchClause:ip,updateCatchClause:Ph,createPropertyAssignment:Fa,updatePropertyAssignment:Jb,createShorthandPropertyAssignment:Dh,updateShorthandPropertyAssignment:Bb,createSpreadAssignment:ap,updateSpreadAssignment:ki,createEnumMember:sp,updateEnumMember:qb,createSourceFile:Ub,updateSourceFile:Mh,createRedirectedSourceFile:Ih,createBundle:Lh,updateBundle:Wb,createUnparsedSource:Nc,createUnparsedPrologue:Vb,createUnparsedPrepend:Hb,createUnparsedTextLike:Gb,createUnparsedSyntheticReference:$b,createInputFiles:Kb,createSyntheticExpression:Rh,createSyntaxList:jh,createNotEmittedStatement:Jh,createPartiallyEmittedExpression:Fh,updatePartiallyEmittedExpression:Bh,createCommaListExpression:Mc,updateCommaListExpression:Xb,createEndOfDeclarationMarker:Yb,createMergeDeclarationMarker:Qb,createSyntheticReferenceExpression:Uh,updateSyntheticReferenceExpression:_p,cloneNode:cp,get createComma(){return x(27)},get createAssignment(){return x(63)},get createLogicalOr(){return x(56)},get createLogicalAnd(){return x(55)},get createBitwiseOr(){return x(51)},get createBitwiseXor(){return x(52)},get createBitwiseAnd(){return x(50)},get createStrictEquality(){return x(36)},get createStrictInequality(){return x(37)},get createEquality(){return x(34)},get createInequality(){return x(35)},get createLessThan(){return x(29)},get createLessThanEquals(){return x(32)},get createGreaterThan(){return x(31)},get createGreaterThanEquals(){return x(33)},get createLeftShift(){return x(47)},get createRightShift(){return x(48)},get createUnsignedRightShift(){return x(49)},get createAdd(){return x(39)},get createSubtract(){return x(40)},get createMultiply(){return x(41)},get createDivide(){return x(43)},get createModulo(){return x(44)},get createExponent(){return x(42)},get createPrefixPlus(){return w(39)},get createPrefixMinus(){return w(40)},get createPrefixIncrement(){return w(45)},get createPrefixDecrement(){return w(46)},get createBitwiseNot(){return w(54)},get createLogicalNot(){return w(53)},get createPostfixIncrement(){return A(45)},get createPostfixDecrement(){return A(46)},createImmediatelyInvokedFunctionExpression:n6,createImmediatelyInvokedArrowFunction:Lc,createVoidZero:Rc,createExportDefault:zh,createExternalModuleExport:i6,createTypeCheck:a6,createMethodCall:Ba,createGlobalMethodCall:io,createFunctionBindCall:s6,createFunctionCallCall:o6,createFunctionApplyCall:_6,createArraySliceCall:Wh,createArrayConcatCall:Vh,createObjectDefinePropertyCall:u,createObjectGetOwnPropertyDescriptorCall:b,createReflectGetCall:O,createReflectSetCall:j,createPropertyDescriptor:re,createCallBinding:Jt,createAssignmentTargetWrapper:Lt,inlineExpressions:At,getInternalName:Fn,getLocalName:di,getExportName:Ii,getDeclarationName:_n,getNamespaceMemberName:qa,getExternalModuleOrNamespaceExportName:Hh,restoreOuterExpressions:We,restoreEnclosingLabel:$e,createUseStrictPrologue:wn,copyPrologue:lp,copyStandardPrologue:Ua,copyCustomPrologue:up,ensureUseStrict:Qr,liftToBlock:jc,mergeLexicalEnvironment:$h,updateModifiers:Kh};return c(Bv,n=>n(Ye)),Ye;function Ne(n,o){if(n===void 0||n===Bt)n=[];else if(_s(n)){if(o===void 0||n.hasTrailingComma===o)return n.transformFlags===void 0&&E8(n),Y.attachNodeArrayDebugInfo(n),n;let k=n.slice();return k.pos=n.pos,k.end=n.end,k.hasTrailingComma=o,k.transformFlags=n.transformFlags,Y.attachNodeArrayDebugInfo(k),k}let l=n.length,p=l>=1&&l<=4?n.slice():n;return p.pos=-1,p.end=-1,p.hasTrailingComma=!!o,p.transformFlags=0,E8(p),Y.attachNodeArrayDebugInfo(p),p}function oe(n){return t.createBaseNode(n)}function Ve(n){let o=oe(n);return o.symbol=void 0,o.localSymbol=void 0,o}function pt(n,o){return n!==o&&(n.typeArguments=o.typeArguments),r(n,o)}function Gt(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=Ve(8);return l.text=typeof n=="number"?n+"":n,l.numericLiteralFlags=o,o&384&&(l.transformFlags|=1024),l}function Nt(n){let o=In(9);return o.text=typeof n=="string"?n:yv(n)+"n",o.transformFlags|=4,o}function Xt(n,o){let l=Ve(10);return l.text=n,l.singleQuote=o,l}function er(n,o,l){let p=Xt(n,o);return p.hasExtendedUnicodeEscape=l,l&&(p.transformFlags|=1024),p}function Tn(n){let o=Xt(kf(n),void 0);return o.textSourceNode=n,o}function Hr(n){let o=In(13);return o.text=n,o}function Gi(n,o){switch(n){case 8:return Gt(o,0);case 9:return Nt(o);case 10:return er(o,void 0);case 11:return l_(o,!1);case 12:return l_(o,!0);case 13:return Hr(o);case 14:return Qs(n,o,void 0,0)}}function pn(n){let o=t.createBaseIdentifierNode(79);return o.escapedText=n,o.jsDoc=void 0,o.flowNode=void 0,o.symbol=void 0,o}function fn(n,o,l,p){let k=pn(vi(n));return setIdentifierAutoGenerate(k,{flags:o,id:Bl,prefix:l,suffix:p}),Bl++,k}function Ut(n,o,l){o===void 0&&n&&(o=_l(n)),o===79&&(o=void 0);let p=pn(vi(n));return l&&(p.flags|=128),p.escapedText==="await"&&(p.transformFlags|=67108864),p.flags&128&&(p.transformFlags|=1024),p}function kn(n,o,l,p){let k=1;o&&(k|=8);let V=fn("",k,l,p);return n&&n(V),V}function an(n){let o=2;return n&&(o|=8),fn("",o,void 0,void 0)}function mr(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return Y.assert(!(o&7),"Argument out of range: flags"),Y.assert((o&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),fn(n,3|o,l,p)}function $i(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;Y.assert(!(o&7),"Argument out of range: flags");let k=n?js(n)?bd(!1,l,n,p,qr):`generated@${getNodeId(n)}`:"";(l||p)&&(o|=16);let V=fn(k,4|o,l,p);return V.original=n,V}function dn(n){let o=t.createBasePrivateIdentifierNode(80);return o.escapedText=n,o.transformFlags|=16777216,o}function Ur(n){return Pn(n,"#")||Y.fail("First character of private identifier must be #: "+n),dn(vi(n))}function Gr(n,o,l,p){let k=dn(vi(n));return setIdentifierAutoGenerate(k,{flags:o,id:Bl,prefix:l,suffix:p}),Bl++,k}function _r(n,o,l){n&&!Pn(n,"#")&&Y.fail("First character of private identifier must be #: "+n);let p=8|(n?3:1);return Gr(n!=null?n:"",p,o,l)}function Sn(n,o,l){let p=js(n)?bd(!0,o,n,l,qr):`#generated@${getNodeId(n)}`,V=Gr(p,4|(o||l?16:0),o,l);return V.original=n,V}function In(n){return t.createBaseTokenNode(n)}function pr(n){Y.assert(n>=0&&n<=162,"Invalid token"),Y.assert(n<=14||n>=17,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),Y.assert(n<=8||n>=14,"Invalid token. Use 'createLiteralLikeNode' to create literals."),Y.assert(n!==79,"Invalid token. Use 'createIdentifier' to create identifiers");let o=In(n),l=0;switch(n){case 132:l=384;break;case 123:case 121:case 122:case 146:case 126:case 136:case 85:case 131:case 148:case 160:case 144:case 149:case 101:case 145:case 161:case 152:case 134:case 153:case 114:case 157:case 155:l=1;break;case 106:l=134218752,o.flowNode=void 0;break;case 124:l=1024;break;case 127:l=16777216;break;case 108:l=16384,o.flowNode=void 0;break}return l&&(o.transformFlags|=l),o}function Zt(){return pr(106)}function Or(){return pr(108)}function Nn(){return pr(104)}function ar(){return pr(110)}function oi(){return pr(95)}function cr(n){return pr(n)}function $r(n){let o=[];return n&1&&o.push(cr(93)),n&2&&o.push(cr(136)),n&1024&&o.push(cr(88)),n&2048&&o.push(cr(85)),n&4&&o.push(cr(123)),n&8&&o.push(cr(121)),n&16&&o.push(cr(122)),n&256&&o.push(cr(126)),n&32&&o.push(cr(124)),n&16384&&o.push(cr(161)),n&64&&o.push(cr(146)),n&128&&o.push(cr(127)),n&512&&o.push(cr(132)),n&32768&&o.push(cr(101)),n&65536&&o.push(cr(145)),o.length?o:void 0}function hr(n,o){let l=oe(163);return l.left=n,l.right=Qt(o),l.transformFlags|=ye(l.left)|ec(l.right),l.flowNode=void 0,l}function On(n,o,l){return n.left!==o||n.right!==l?r(hr(o,l),n):n}function nr(n){let o=oe(164);return o.expression=s().parenthesizeExpressionOfComputedPropertyName(n),o.transformFlags|=ye(o.expression)|1024|131072,o}function br(n,o){return n.expression!==o?r(nr(o),n):n}function Kr(n,o,l,p){let k=Ve(165);return k.modifiers=xt(n),k.name=Qt(o),k.constraint=l,k.default=p,k.transformFlags=1,k.expression=void 0,k.jsDoc=void 0,k}function wa(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.constraint!==p||n.default!==k?r(Kr(o,l,p,k),n):n}function $n(n,o,l,p,k,V){var we,et;let ht=Ve(166);return ht.modifiers=xt(n),ht.dotDotDotToken=o,ht.name=Qt(l),ht.questionToken=p,ht.type=k,ht.initializer=Wa(V),Mf(ht.name)?ht.transformFlags=1:ht.transformFlags=gt(ht.modifiers)|ye(ht.dotDotDotToken)|ai(ht.name)|ye(ht.questionToken)|ye(ht.initializer)|(((we=ht.questionToken)!=null?we:ht.type)?1:0)|(((et=ht.dotDotDotToken)!=null?et:ht.initializer)?1024:0)|(Vn(ht.modifiers)&16476?8192:0),ht.jsDoc=void 0,ht}function Ki(n,o,l,p,k,V,we){return n.modifiers!==o||n.dotDotDotToken!==l||n.name!==p||n.questionToken!==k||n.type!==V||n.initializer!==we?r($n(o,l,p,k,V,we),n):n}function Mn(n){let o=oe(167);return o.expression=s().parenthesizeLeftSideOfAccess(n,!1),o.transformFlags|=ye(o.expression)|1|8192|33554432,o}function _i(n,o){return n.expression!==o?r(Mn(o),n):n}function Ca(n,o,l,p){let k=Ve(168);return k.modifiers=xt(n),k.name=Qt(o),k.type=p,k.questionToken=l,k.transformFlags=1,k.initializer=void 0,k.jsDoc=void 0,k}function St(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.questionToken!==p||n.type!==k?ue(Ca(o,l,p,k),n):n}function ue(n,o){return n!==o&&(n.initializer=o.initializer),r(n,o)}function He(n,o,l,p,k){let V=Ve(169);V.modifiers=xt(n),V.name=Qt(o),V.questionToken=l&&ql(l)?l:void 0,V.exclamationToken=l&&rd(l)?l:void 0,V.type=p,V.initializer=Wa(k);let we=V.flags&16777216||Vn(V.modifiers)&2;return V.transformFlags=gt(V.modifiers)|ai(V.name)|ye(V.initializer)|(we||V.questionToken||V.exclamationToken||V.type?1:0)|(Ws(V.name)||Vn(V.modifiers)&32&&V.initializer?8192:0)|16777216,V.jsDoc=void 0,V}function _t(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.questionToken!==(p!==void 0&&ql(p)?p:void 0)||n.exclamationToken!==(p!==void 0&&rd(p)?p:void 0)||n.type!==k||n.initializer!==V?r(He(o,l,p,k,V),n):n}function ft(n,o,l,p,k,V){let we=Ve(170);return we.modifiers=xt(n),we.name=Qt(o),we.questionToken=l,we.typeParameters=xt(p),we.parameters=xt(k),we.type=V,we.transformFlags=1,we.jsDoc=void 0,we.locals=void 0,we.nextContainer=void 0,we.typeArguments=void 0,we}function Kt(n,o,l,p,k,V,we){return n.modifiers!==o||n.name!==l||n.questionToken!==p||n.typeParameters!==k||n.parameters!==V||n.type!==we?pt(ft(o,l,p,k,V,we),n):n}function zt(n,o,l,p,k,V,we,et){let ht=Ve(171);if(ht.modifiers=xt(n),ht.asteriskToken=o,ht.name=Qt(l),ht.questionToken=p,ht.exclamationToken=void 0,ht.typeParameters=xt(k),ht.parameters=Ne(V),ht.type=we,ht.body=et,!ht.body)ht.transformFlags=1;else{let hn=Vn(ht.modifiers)&512,Ni=!!ht.asteriskToken,ia=hn&&Ni;ht.transformFlags=gt(ht.modifiers)|ye(ht.asteriskToken)|ai(ht.name)|ye(ht.questionToken)|gt(ht.typeParameters)|gt(ht.parameters)|ye(ht.type)|ye(ht.body)&-67108865|(ia?128:hn?256:Ni?2048:0)|(ht.questionToken||ht.typeParameters||ht.type?1:0)|1024}return ht.typeArguments=void 0,ht.jsDoc=void 0,ht.locals=void 0,ht.nextContainer=void 0,ht.flowNode=void 0,ht.endFlowNode=void 0,ht.returnFlowNode=void 0,ht}function xe(n,o,l,p,k,V,we,et,ht){return n.modifiers!==o||n.asteriskToken!==l||n.name!==p||n.questionToken!==k||n.typeParameters!==V||n.parameters!==we||n.type!==et||n.body!==ht?Le(zt(o,l,p,k,V,we,et,ht),n):n}function Le(n,o){return n!==o&&(n.exclamationToken=o.exclamationToken),r(n,o)}function Re(n){let o=Ve(172);return o.body=n,o.transformFlags=ye(n)|16777216,o.modifiers=void 0,o.jsDoc=void 0,o.locals=void 0,o.nextContainer=void 0,o.endFlowNode=void 0,o.returnFlowNode=void 0,o}function ot(n,o){return n.body!==o?Ct(Re(o),n):n}function Ct(n,o){return n!==o&&(n.modifiers=o.modifiers),r(n,o)}function Mt(n,o,l){let p=Ve(173);return p.modifiers=xt(n),p.parameters=Ne(o),p.body=l,p.transformFlags=gt(p.modifiers)|gt(p.parameters)|ye(p.body)&-67108865|1024,p.typeParameters=void 0,p.type=void 0,p.typeArguments=void 0,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.endFlowNode=void 0,p.returnFlowNode=void 0,p}function It(n,o,l,p){return n.modifiers!==o||n.parameters!==l||n.body!==p?Mr(Mt(o,l,p),n):n}function Mr(n,o){return n!==o&&(n.typeParameters=o.typeParameters,n.type=o.type),pt(n,o)}function gr(n,o,l,p,k){let V=Ve(174);return V.modifiers=xt(n),V.name=Qt(o),V.parameters=Ne(l),V.type=p,V.body=k,V.body?V.transformFlags=gt(V.modifiers)|ai(V.name)|gt(V.parameters)|ye(V.type)|ye(V.body)&-67108865|(V.type?1:0):V.transformFlags=1,V.typeArguments=void 0,V.typeParameters=void 0,V.jsDoc=void 0,V.locals=void 0,V.nextContainer=void 0,V.flowNode=void 0,V.endFlowNode=void 0,V.returnFlowNode=void 0,V}function Ln(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.parameters!==p||n.type!==k||n.body!==V?ys(gr(o,l,p,k,V),n):n}function ys(n,o){return n!==o&&(n.typeParameters=o.typeParameters),pt(n,o)}function ci(n,o,l,p){let k=Ve(175);return k.modifiers=xt(n),k.name=Qt(o),k.parameters=Ne(l),k.body=p,k.body?k.transformFlags=gt(k.modifiers)|ai(k.name)|gt(k.parameters)|ye(k.body)&-67108865|(k.type?1:0):k.transformFlags=1,k.typeArguments=void 0,k.typeParameters=void 0,k.type=void 0,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k.endFlowNode=void 0,k.returnFlowNode=void 0,k}function Xi(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.parameters!==p||n.body!==k?Aa(ci(o,l,p,k),n):n}function Aa(n,o){return n!==o&&(n.typeParameters=o.typeParameters,n.type=o.type),pt(n,o)}function vs(n,o,l){let p=Ve(176);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function $s(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?pt(vs(o,l,p),n):n}function li(n,o,l){let p=Ve(177);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function Yi(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?pt(li(o,l,p),n):n}function Qi(n,o,l){let p=Ve(178);return p.modifiers=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function bs(n,o,l,p){return n.parameters!==l||n.type!==p||n.modifiers!==o?pt(Qi(o,l,p),n):n}function Ai(n,o){let l=oe(201);return l.type=n,l.literal=o,l.transformFlags=1,l}function xn(n,o,l){return n.type!==o||n.literal!==l?r(Ai(o,l),n):n}function Dt(n){return pr(n)}function Pi(n,o,l){let p=oe(179);return p.assertsModifier=n,p.parameterName=Qt(o),p.type=l,p.transformFlags=1,p}function Z(n,o,l,p){return n.assertsModifier!==o||n.parameterName!==l||n.type!==p?r(Pi(o,l,p),n):n}function ie(n,o){let l=oe(180);return l.typeName=Qt(n),l.typeArguments=o&&s().parenthesizeTypeArguments(Ne(o)),l.transformFlags=1,l}function U(n,o,l){return n.typeName!==o||n.typeArguments!==l?r(ie(o,l),n):n}function L(n,o,l){let p=Ve(181);return p.typeParameters=xt(n),p.parameters=xt(o),p.type=l,p.transformFlags=1,p.modifiers=void 0,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.typeArguments=void 0,p}function fe(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?T(L(o,l,p),n):n}function T(n,o){return n!==o&&(n.modifiers=o.modifiers),pt(n,o)}function it(){return arguments.length===4?mt(...arguments):arguments.length===3?_e(...arguments):Y.fail("Incorrect number of arguments specified.")}function mt(n,o,l,p){let k=Ve(182);return k.modifiers=xt(n),k.typeParameters=xt(o),k.parameters=xt(l),k.type=p,k.transformFlags=1,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.typeArguments=void 0,k}function _e(n,o,l){return mt(void 0,n,o,l)}function Ge(){return arguments.length===5?bt(...arguments):arguments.length===4?jt(...arguments):Y.fail("Incorrect number of arguments specified.")}function bt(n,o,l,p,k){return n.modifiers!==o||n.typeParameters!==l||n.parameters!==p||n.type!==k?pt(it(o,l,p,k),n):n}function jt(n,o,l,p){return bt(n,n.modifiers,o,l,p)}function Yt(n,o){let l=oe(183);return l.exprName=n,l.typeArguments=o&&s().parenthesizeTypeArguments(o),l.transformFlags=1,l}function $t(n,o,l){return n.exprName!==o||n.typeArguments!==l?r(Yt(o,l),n):n}function Wt(n){let o=Ve(184);return o.members=Ne(n),o.transformFlags=1,o}function Xr(n,o){return n.members!==o?r(Wt(o),n):n}function Dr(n){let o=oe(185);return o.elementType=s().parenthesizeNonArrayTypeOfPostfixType(n),o.transformFlags=1,o}function Lr(n,o){return n.elementType!==o?r(Dr(o),n):n}function yr(n){let o=oe(186);return o.elements=Ne(s().parenthesizeElementTypesOfTupleType(n)),o.transformFlags=1,o}function Rn(n,o){return n.elements!==o?r(yr(o),n):n}function wt(n,o,l,p){let k=Ve(199);return k.dotDotDotToken=n,k.name=o,k.questionToken=l,k.type=p,k.transformFlags=1,k.jsDoc=void 0,k}function Tr(n,o,l,p,k){return n.dotDotDotToken!==o||n.name!==l||n.questionToken!==p||n.type!==k?r(wt(o,l,p,k),n):n}function Tt(n){let o=oe(187);return o.type=s().parenthesizeTypeOfOptionalType(n),o.transformFlags=1,o}function kt(n,o){return n.type!==o?r(Tt(o),n):n}function de(n){let o=oe(188);return o.type=n,o.transformFlags=1,o}function jn(n,o){return n.type!==o?r(de(o),n):n}function Zi(n,o,l){let p=oe(n);return p.types=Ye.createNodeArray(l(o)),p.transformFlags=1,p}function Pa(n,o,l){return n.types!==o?r(Zi(n.kind,o,l),n):n}function e_(n){return Zi(189,n,s().parenthesizeConstituentTypesOfUnionType)}function mc(n,o){return Pa(n,o,s().parenthesizeConstituentTypesOfUnionType)}function Da(n){return Zi(190,n,s().parenthesizeConstituentTypesOfIntersectionType)}function Ts(n,o){return Pa(n,o,s().parenthesizeConstituentTypesOfIntersectionType)}function Ot(n,o,l,p){let k=oe(191);return k.checkType=s().parenthesizeCheckTypeOfConditionalType(n),k.extendsType=s().parenthesizeExtendsTypeOfConditionalType(o),k.trueType=l,k.falseType=p,k.transformFlags=1,k.locals=void 0,k.nextContainer=void 0,k}function dr(n,o,l,p,k){return n.checkType!==o||n.extendsType!==l||n.trueType!==p||n.falseType!==k?r(Ot(o,l,p,k),n):n}function Dd(n){let o=oe(192);return o.typeParameter=n,o.transformFlags=1,o}function ea(n,o){return n.typeParameter!==o?r(Dd(o),n):n}function kd(n,o){let l=oe(200);return l.head=n,l.templateSpans=Ne(o),l.transformFlags=1,l}function sn(n,o,l){return n.head!==o||n.templateSpans!==l?r(kd(o,l),n):n}function Id(n,o,l,p){let k=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,V=oe(202);return V.argument=n,V.assertions=o,V.qualifier=l,V.typeArguments=p&&s().parenthesizeTypeArguments(p),V.isTypeOf=k,V.transformFlags=1,V}function ka(n,o,l,p,k){let V=arguments.length>5&&arguments[5]!==void 0?arguments[5]:n.isTypeOf;return n.argument!==o||n.assertions!==l||n.qualifier!==p||n.typeArguments!==k||n.isTypeOf!==V?r(Id(o,l,p,k,V),n):n}function t_(n){let o=oe(193);return o.type=n,o.transformFlags=1,o}function En(n,o){return n.type!==o?r(t_(o),n):n}function Er(){let n=oe(194);return n.transformFlags=1,n}function Q(n,o){let l=oe(195);return l.operator=n,l.type=n===146?s().parenthesizeOperandOfReadonlyTypeOperator(o):s().parenthesizeOperandOfTypeOperator(o),l.transformFlags=1,l}function Jn(n,o){return n.type!==o?r(Q(n.operator,o),n):n}function Ia(n,o){let l=oe(196);return l.objectType=s().parenthesizeNonArrayTypeOfPostfixType(n),l.indexType=o,l.transformFlags=1,l}function Ss(n,o,l){return n.objectType!==o||n.indexType!==l?r(Ia(o,l),n):n}function hc(n,o,l,p,k,V){let we=Ve(197);return we.readonlyToken=n,we.typeParameter=o,we.nameType=l,we.questionToken=p,we.type=k,we.members=V&&Ne(V),we.transformFlags=1,we.locals=void 0,we.nextContainer=void 0,we}function wr(n,o,l,p,k,V,we){return n.readonlyToken!==o||n.typeParameter!==l||n.nameType!==p||n.questionToken!==k||n.type!==V||n.members!==we?r(hc(o,l,p,k,V,we),n):n}function zr(n){let o=oe(198);return o.literal=n,o.transformFlags=1,o}function xs(n,o){return n.literal!==o?r(zr(o),n):n}function Nd(n){let o=oe(203);return o.elements=Ne(n),o.transformFlags|=gt(o.elements)|1024|524288,o.transformFlags&32768&&(o.transformFlags|=65664),o}function R2(n,o){return n.elements!==o?r(Nd(o),n):n}function Es(n){let o=oe(204);return o.elements=Ne(n),o.transformFlags|=gt(o.elements)|1024|524288,o}function j2(n,o){return n.elements!==o?r(Es(o),n):n}function gc(n,o,l,p){let k=Ve(205);return k.dotDotDotToken=n,k.propertyName=Qt(o),k.name=Qt(l),k.initializer=Wa(p),k.transformFlags|=ye(k.dotDotDotToken)|ai(k.propertyName)|ai(k.name)|ye(k.initializer)|(k.dotDotDotToken?32768:0)|1024,k.flowNode=void 0,k}function Ks(n,o,l,p,k){return n.propertyName!==l||n.dotDotDotToken!==o||n.name!==p||n.initializer!==k?r(gc(o,l,p,k),n):n}function uu(n,o){let l=oe(206),p=n&&Cn(n),k=Ne(n,p&&cd(p)?!0:void 0);return l.elements=s().parenthesizeExpressionsOfCommaDelimitedList(k),l.multiLine=o,l.transformFlags|=gt(l.elements),l}function Od(n,o){return n.elements!==o?r(uu(o,n.multiLine),n):n}function r_(n,o){let l=Ve(207);return l.properties=Ne(n),l.multiLine=o,l.transformFlags|=gt(l.properties),l.jsDoc=void 0,l}function J2(n,o){return n.properties!==o?r(r_(o,n.multiLine),n):n}function Md(n,o,l){let p=Ve(208);return p.expression=n,p.questionDotToken=o,p.name=l,p.transformFlags=ye(p.expression)|ye(p.questionDotToken)|(yt(p.name)?ec(p.name):ye(p.name)|536870912),p.jsDoc=void 0,p.flowNode=void 0,p}function ta(n,o){let l=Md(s().parenthesizeLeftSideOfAccess(n,!1),void 0,Qt(o));return nd(n)&&(l.transformFlags|=384),l}function Ld(n,o,l){return LS(n)?Rd(n,o,n.questionDotToken,ti(l,yt)):n.expression!==o||n.name!==l?r(ta(o,l),n):n}function Xs(n,o,l){let p=Md(s().parenthesizeLeftSideOfAccess(n,!0),o,Qt(l));return p.flags|=32,p.transformFlags|=32,p}function Rd(n,o,l,p){return Y.assert(!!(n.flags&32),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),n.expression!==o||n.questionDotToken!==l||n.name!==p?r(Xs(o,l,p),n):n}function yc(n,o,l){let p=Ve(209);return p.expression=n,p.questionDotToken=o,p.argumentExpression=l,p.transformFlags|=ye(p.expression)|ye(p.questionDotToken)|ye(p.argumentExpression),p.jsDoc=void 0,p.flowNode=void 0,p}function pu(n,o){let l=yc(s().parenthesizeLeftSideOfAccess(n,!1),void 0,za(o));return nd(n)&&(l.transformFlags|=384),l}function F2(n,o,l){return RS(n)?jd(n,o,n.questionDotToken,l):n.expression!==o||n.argumentExpression!==l?r(pu(o,l),n):n}function fu(n,o,l){let p=yc(s().parenthesizeLeftSideOfAccess(n,!0),o,za(l));return p.flags|=32,p.transformFlags|=32,p}function jd(n,o,l,p){return Y.assert(!!(n.flags&32),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),n.expression!==o||n.questionDotToken!==l||n.argumentExpression!==p?r(fu(o,l,p),n):n}function Jd(n,o,l,p){let k=Ve(210);return k.expression=n,k.questionDotToken=o,k.typeArguments=l,k.arguments=p,k.transformFlags|=ye(k.expression)|ye(k.questionDotToken)|gt(k.typeArguments)|gt(k.arguments),k.typeArguments&&(k.transformFlags|=1),Sf(k.expression)&&(k.transformFlags|=16384),k}function Na(n,o,l){let p=Jd(s().parenthesizeLeftSideOfAccess(n,!1),void 0,xt(o),s().parenthesizeExpressionsOfCommaDelimitedList(Ne(l)));return M8(p.expression)&&(p.transformFlags|=8388608),p}function B2(n,o,l,p){return Cy(n)?Kn(n,o,n.questionDotToken,l,p):n.expression!==o||n.typeArguments!==l||n.arguments!==p?r(Na(o,l,p),n):n}function du(n,o,l,p){let k=Jd(s().parenthesizeLeftSideOfAccess(n,!0),o,xt(l),s().parenthesizeExpressionsOfCommaDelimitedList(Ne(p)));return k.flags|=32,k.transformFlags|=32,k}function Kn(n,o,l,p,k){return Y.assert(!!(n.flags&32),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),n.expression!==o||n.questionDotToken!==l||n.typeArguments!==p||n.arguments!==k?r(du(o,l,p,k),n):n}function vc(n,o,l){let p=Ve(211);return p.expression=s().parenthesizeExpressionOfNew(n),p.typeArguments=xt(o),p.arguments=l?s().parenthesizeExpressionsOfCommaDelimitedList(l):void 0,p.transformFlags|=ye(p.expression)|gt(p.typeArguments)|gt(p.arguments)|32,p.typeArguments&&(p.transformFlags|=1),p}function mu(n,o,l,p){return n.expression!==o||n.typeArguments!==l||n.arguments!==p?r(vc(o,l,p),n):n}function hu(n,o,l){let p=oe(212);return p.tag=s().parenthesizeLeftSideOfAccess(n,!1),p.typeArguments=xt(o),p.template=l,p.transformFlags|=ye(p.tag)|gt(p.typeArguments)|ye(p.template)|1024,p.typeArguments&&(p.transformFlags|=1),w4(p.template)&&(p.transformFlags|=128),p}function q2(n,o,l,p){return n.tag!==o||n.typeArguments!==l||n.template!==p?r(hu(o,l,p),n):n}function Fd(n,o){let l=oe(213);return l.expression=s().parenthesizeOperandOfPrefixUnary(o),l.type=n,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Bd(n,o,l){return n.type!==o||n.expression!==l?r(Fd(o,l),n):n}function gu(n){let o=oe(214);return o.expression=n,o.transformFlags=ye(o.expression),o.jsDoc=void 0,o}function qd(n,o){return n.expression!==o?r(gu(o),n):n}function yu(n,o,l,p,k,V,we){let et=Ve(215);et.modifiers=xt(n),et.asteriskToken=o,et.name=Qt(l),et.typeParameters=xt(p),et.parameters=Ne(k),et.type=V,et.body=we;let ht=Vn(et.modifiers)&512,hn=!!et.asteriskToken,Ni=ht&&hn;return et.transformFlags=gt(et.modifiers)|ye(et.asteriskToken)|ai(et.name)|gt(et.typeParameters)|gt(et.parameters)|ye(et.type)|ye(et.body)&-67108865|(Ni?128:ht?256:hn?2048:0)|(et.typeParameters||et.type?1:0)|4194304,et.typeArguments=void 0,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.flowNode=void 0,et.endFlowNode=void 0,et.returnFlowNode=void 0,et}function Ud(n,o,l,p,k,V,we,et){return n.name!==p||n.modifiers!==o||n.asteriskToken!==l||n.typeParameters!==k||n.parameters!==V||n.type!==we||n.body!==et?pt(yu(o,l,p,k,V,we,et),n):n}function vu(n,o,l,p,k,V){let we=Ve(216);we.modifiers=xt(n),we.typeParameters=xt(o),we.parameters=Ne(l),we.type=p,we.equalsGreaterThanToken=k!=null?k:pr(38),we.body=s().parenthesizeConciseBodyOfArrowFunction(V);let et=Vn(we.modifiers)&512;return we.transformFlags=gt(we.modifiers)|gt(we.typeParameters)|gt(we.parameters)|ye(we.type)|ye(we.equalsGreaterThanToken)|ye(we.body)&-67108865|(we.typeParameters||we.type?1:0)|(et?16640:0)|1024,we.typeArguments=void 0,we.jsDoc=void 0,we.locals=void 0,we.nextContainer=void 0,we.flowNode=void 0,we.endFlowNode=void 0,we.returnFlowNode=void 0,we}function zd(n,o,l,p,k,V,we){return n.modifiers!==o||n.typeParameters!==l||n.parameters!==p||n.type!==k||n.equalsGreaterThanToken!==V||n.body!==we?pt(vu(o,l,p,k,V,we),n):n}function bu(n){let o=oe(217);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function U2(n,o){return n.expression!==o?r(bu(o),n):n}function mn(n){let o=oe(218);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function z2(n,o){return n.expression!==o?r(mn(o),n):n}function ui(n){let o=oe(219);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression),o}function W2(n,o){return n.expression!==o?r(ui(o),n):n}function Oa(n){let o=oe(220);return o.expression=s().parenthesizeOperandOfPrefixUnary(n),o.transformFlags|=ye(o.expression)|256|128|2097152,o}function Ys(n,o){return n.expression!==o?r(Oa(o),n):n}function Tu(n,o){let l=oe(221);return l.operator=n,l.operand=s().parenthesizeOperandOfPrefixUnary(o),l.transformFlags|=ye(l.operand),(n===45||n===46)&&yt(l.operand)&&!cs(l.operand)&&!E2(l.operand)&&(l.transformFlags|=268435456),l}function bc(n,o){return n.operand!==o?r(Tu(n.operator,o),n):n}function Su(n,o){let l=oe(222);return l.operator=o,l.operand=s().parenthesizeOperandOfPostfixUnary(n),l.transformFlags|=ye(l.operand),yt(l.operand)&&!cs(l.operand)&&!E2(l.operand)&&(l.transformFlags|=268435456),l}function Wd(n,o){return n.operand!==o?r(Su(o,n.operator),n):n}function xu(n,o,l){let p=Ve(223),k=c6(o),V=k.kind;return p.left=s().parenthesizeLeftSideOfBinary(V,n),p.operatorToken=k,p.right=s().parenthesizeRightSideOfBinary(V,p.left,l),p.transformFlags|=ye(p.left)|ye(p.operatorToken)|ye(p.right),V===60?p.transformFlags|=32:V===63?Hs(p.left)?p.transformFlags|=5248|Vd(p.left):Yl(p.left)&&(p.transformFlags|=5120|Vd(p.left)):V===42||V===67?p.transformFlags|=512:jf(V)&&(p.transformFlags|=16),V===101&&vn(p.left)&&(p.transformFlags|=536870912),p.jsDoc=void 0,p}function Vd(n){return A2(n)?65536:0}function V2(n,o,l,p){return n.left!==o||n.operatorToken!==l||n.right!==p?r(xu(o,l,p),n):n}function Eu(n,o,l,p,k){let V=oe(224);return V.condition=s().parenthesizeConditionOfConditionalExpression(n),V.questionToken=o!=null?o:pr(57),V.whenTrue=s().parenthesizeBranchOfConditionalExpression(l),V.colonToken=p!=null?p:pr(58),V.whenFalse=s().parenthesizeBranchOfConditionalExpression(k),V.transformFlags|=ye(V.condition)|ye(V.questionToken)|ye(V.whenTrue)|ye(V.colonToken)|ye(V.whenFalse),V}function H2(n,o,l,p,k,V){return n.condition!==o||n.questionToken!==l||n.whenTrue!==p||n.colonToken!==k||n.whenFalse!==V?r(Eu(o,l,p,k,V),n):n}function Di(n,o){let l=oe(225);return l.head=n,l.templateSpans=Ne(o),l.transformFlags|=ye(l.head)|gt(l.templateSpans)|1024,l}function Hd(n,o,l){return n.head!==o||n.templateSpans!==l?r(Di(o,l),n):n}function Tc(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;Y.assert(!(p&-2049),"Unsupported template flags.");let k;if(l!==void 0&&l!==o&&(k=BL(n,l),typeof k=="object"))return Y.fail("Invalid raw text");if(o===void 0){if(k===void 0)return Y.fail("Arguments 'text' and 'rawText' may not both be undefined.");o=k}else k!==void 0&&Y.assert(o===k,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return o}function Gd(n){let o=1024;return n&&(o|=128),o}function n_(n,o,l,p){let k=In(n);return k.text=o,k.rawText=l,k.templateFlags=p&2048,k.transformFlags=Gd(k.templateFlags),k}function wu(n,o,l,p){let k=Ve(n);return k.text=o,k.rawText=l,k.templateFlags=p&2048,k.transformFlags=Gd(k.templateFlags),k}function Qs(n,o,l,p){return n===14?wu(n,o,l,p):n_(n,o,l,p)}function Sc(n,o,l){return n=Tc(15,n,o,l),Qs(15,n,o,l)}function Cu(n,o,l){return n=Tc(15,n,o,l),Qs(16,n,o,l)}function G2(n,o,l){return n=Tc(15,n,o,l),Qs(17,n,o,l)}function $d(n,o,l){return n=Tc(15,n,o,l),wu(14,n,o,l)}function Kd(n,o){Y.assert(!n||!!o,"A `YieldExpression` with an asteriskToken must have an expression.");let l=oe(226);return l.expression=o&&s().parenthesizeExpressionForDisallowedComma(o),l.asteriskToken=n,l.transformFlags|=ye(l.expression)|ye(l.asteriskToken)|1024|128|1048576,l}function $2(n,o,l){return n.expression!==l||n.asteriskToken!==o?r(Kd(o,l),n):n}function Xd(n){let o=oe(227);return o.expression=s().parenthesizeExpressionForDisallowedComma(n),o.transformFlags|=ye(o.expression)|1024|32768,o}function K2(n,o){return n.expression!==o?r(Xd(o),n):n}function Yd(n,o,l,p,k){let V=Ve(228);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Ne(k),V.transformFlags|=gt(V.modifiers)|ai(V.name)|gt(V.typeParameters)|gt(V.heritageClauses)|gt(V.members)|(V.typeParameters?1:0)|1024,V.jsDoc=void 0,V}function xc(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(Yd(o,l,p,k,V),n):n}function X2(){return oe(229)}function Qd(n,o){let l=oe(230);return l.expression=s().parenthesizeLeftSideOfAccess(n,!1),l.typeArguments=o&&s().parenthesizeTypeArguments(o),l.transformFlags|=ye(l.expression)|gt(l.typeArguments)|1024,l}function Xn(n,o,l){return n.expression!==o||n.typeArguments!==l?r(Qd(o,l),n):n}function Ec(n,o){let l=oe(231);return l.expression=n,l.type=o,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Zd(n,o,l){return n.expression!==o||n.type!==l?r(Ec(o,l),n):n}function em(n){let o=oe(232);return o.expression=s().parenthesizeLeftSideOfAccess(n,!1),o.transformFlags|=ye(o.expression)|1,o}function Au(n,o){return JS(n)?rm(n,o):n.expression!==o?r(em(o),n):n}function tm(n,o){let l=oe(235);return l.expression=n,l.type=o,l.transformFlags|=ye(l.expression)|ye(l.type)|1,l}function Pu(n,o,l){return n.expression!==o||n.type!==l?r(tm(o,l),n):n}function pi(n){let o=oe(232);return o.flags|=32,o.expression=s().parenthesizeLeftSideOfAccess(n,!0),o.transformFlags|=ye(o.expression)|1,o}function rm(n,o){return Y.assert(!!(n.flags&32),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),n.expression!==o?r(pi(o),n):n}function wc(n,o){let l=oe(233);switch(l.keywordToken=n,l.name=o,l.transformFlags|=ye(l.name),n){case 103:l.transformFlags|=1024;break;case 100:l.transformFlags|=4;break;default:return Y.assertNever(n)}return l.flowNode=void 0,l}function ra(n,o){return n.name!==o?r(wc(n.keywordToken,o),n):n}function i_(n,o){let l=oe(236);return l.expression=n,l.literal=o,l.transformFlags|=ye(l.expression)|ye(l.literal)|1024,l}function nm(n,o,l){return n.expression!==o||n.literal!==l?r(i_(o,l),n):n}function im(){let n=oe(237);return n.transformFlags|=1024,n}function Zs(n,o){let l=oe(238);return l.statements=Ne(n),l.multiLine=o,l.transformFlags|=gt(l.statements),l.jsDoc=void 0,l.locals=void 0,l.nextContainer=void 0,l}function am(n,o){return n.statements!==o?r(Zs(o,n.multiLine),n):n}function sm(n,o){let l=oe(240);return l.modifiers=xt(n),l.declarationList=ir(o)?Ru(o):o,l.transformFlags|=gt(l.modifiers)|ye(l.declarationList),Vn(l.modifiers)&2&&(l.transformFlags=1),l.jsDoc=void 0,l.flowNode=void 0,l}function om(n,o,l){return n.modifiers!==o||n.declarationList!==l?r(sm(o,l),n):n}function Du(){let n=oe(239);return n.jsDoc=void 0,n}function a_(n){let o=oe(241);return o.expression=s().parenthesizeExpressionOfExpressionStatement(n),o.transformFlags|=ye(o.expression),o.jsDoc=void 0,o.flowNode=void 0,o}function Y2(n,o){return n.expression!==o?r(a_(o),n):n}function ku(n,o,l){let p=oe(242);return p.expression=n,p.thenStatement=Yn(o),p.elseStatement=Yn(l),p.transformFlags|=ye(p.expression)|ye(p.thenStatement)|ye(p.elseStatement),p.jsDoc=void 0,p.flowNode=void 0,p}function Q2(n,o,l,p){return n.expression!==o||n.thenStatement!==l||n.elseStatement!==p?r(ku(o,l,p),n):n}function Iu(n,o){let l=oe(243);return l.statement=Yn(n),l.expression=o,l.transformFlags|=ye(l.statement)|ye(l.expression),l.jsDoc=void 0,l.flowNode=void 0,l}function Z2(n,o,l){return n.statement!==o||n.expression!==l?r(Iu(o,l),n):n}function _m(n,o){let l=oe(244);return l.expression=n,l.statement=Yn(o),l.transformFlags|=ye(l.expression)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function eb(n,o,l){return n.expression!==o||n.statement!==l?r(_m(o,l),n):n}function Nu(n,o,l,p){let k=oe(245);return k.initializer=n,k.condition=o,k.incrementor=l,k.statement=Yn(p),k.transformFlags|=ye(k.initializer)|ye(k.condition)|ye(k.incrementor)|ye(k.statement),k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k}function cm(n,o,l,p,k){return n.initializer!==o||n.condition!==l||n.incrementor!==p||n.statement!==k?r(Nu(o,l,p,k),n):n}function lm(n,o,l){let p=oe(246);return p.initializer=n,p.expression=o,p.statement=Yn(l),p.transformFlags|=ye(p.initializer)|ye(p.expression)|ye(p.statement),p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p.flowNode=void 0,p}function tb(n,o,l,p){return n.initializer!==o||n.expression!==l||n.statement!==p?r(lm(o,l,p),n):n}function um(n,o,l,p){let k=oe(247);return k.awaitModifier=n,k.initializer=o,k.expression=s().parenthesizeExpressionForDisallowedComma(l),k.statement=Yn(p),k.transformFlags|=ye(k.awaitModifier)|ye(k.initializer)|ye(k.expression)|ye(k.statement)|1024,n&&(k.transformFlags|=128),k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k.flowNode=void 0,k}function rb(n,o,l,p,k){return n.awaitModifier!==o||n.initializer!==l||n.expression!==p||n.statement!==k?r(um(o,l,p,k),n):n}function pm(n){let o=oe(248);return o.label=Qt(n),o.transformFlags|=ye(o.label)|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function fm(n,o){return n.label!==o?r(pm(o),n):n}function Ou(n){let o=oe(249);return o.label=Qt(n),o.transformFlags|=ye(o.label)|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function dm(n,o){return n.label!==o?r(Ou(o),n):n}function mm(n){let o=oe(250);return o.expression=n,o.transformFlags|=ye(o.expression)|128|4194304,o.jsDoc=void 0,o.flowNode=void 0,o}function nb(n,o){return n.expression!==o?r(mm(o),n):n}function Mu(n,o){let l=oe(251);return l.expression=n,l.statement=Yn(o),l.transformFlags|=ye(l.expression)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function hm(n,o,l){return n.expression!==o||n.statement!==l?r(Mu(o,l),n):n}function Lu(n,o){let l=oe(252);return l.expression=s().parenthesizeExpressionForDisallowedComma(n),l.caseBlock=o,l.transformFlags|=ye(l.expression)|ye(l.caseBlock),l.jsDoc=void 0,l.flowNode=void 0,l.possiblyExhaustive=!1,l}function eo(n,o,l){return n.expression!==o||n.caseBlock!==l?r(Lu(o,l),n):n}function gm(n,o){let l=oe(253);return l.label=Qt(n),l.statement=Yn(o),l.transformFlags|=ye(l.label)|ye(l.statement),l.jsDoc=void 0,l.flowNode=void 0,l}function ym(n,o,l){return n.label!==o||n.statement!==l?r(gm(o,l),n):n}function vm(n){let o=oe(254);return o.expression=n,o.transformFlags|=ye(o.expression),o.jsDoc=void 0,o.flowNode=void 0,o}function ib(n,o){return n.expression!==o?r(vm(o),n):n}function bm(n,o,l){let p=oe(255);return p.tryBlock=n,p.catchClause=o,p.finallyBlock=l,p.transformFlags|=ye(p.tryBlock)|ye(p.catchClause)|ye(p.finallyBlock),p.jsDoc=void 0,p.flowNode=void 0,p}function ab(n,o,l,p){return n.tryBlock!==o||n.catchClause!==l||n.finallyBlock!==p?r(bm(o,l,p),n):n}function Tm(){let n=oe(256);return n.jsDoc=void 0,n.flowNode=void 0,n}function Cc(n,o,l,p){var k;let V=Ve(257);return V.name=Qt(n),V.exclamationToken=o,V.type=l,V.initializer=Wa(p),V.transformFlags|=ai(V.name)|ye(V.initializer)|(((k=V.exclamationToken)!=null?k:V.type)?1:0),V.jsDoc=void 0,V}function Sm(n,o,l,p,k){return n.name!==o||n.type!==p||n.exclamationToken!==l||n.initializer!==k?r(Cc(o,l,p,k),n):n}function Ru(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,l=oe(258);return l.flags|=o&3,l.declarations=Ne(n),l.transformFlags|=gt(l.declarations)|4194304,o&3&&(l.transformFlags|=263168),l}function sb(n,o){return n.declarations!==o?r(Ru(o,n.flags),n):n}function xm(n,o,l,p,k,V,we){let et=Ve(259);if(et.modifiers=xt(n),et.asteriskToken=o,et.name=Qt(l),et.typeParameters=xt(p),et.parameters=Ne(k),et.type=V,et.body=we,!et.body||Vn(et.modifiers)&2)et.transformFlags=1;else{let ht=Vn(et.modifiers)&512,hn=!!et.asteriskToken,Ni=ht&&hn;et.transformFlags=gt(et.modifiers)|ye(et.asteriskToken)|ai(et.name)|gt(et.typeParameters)|gt(et.parameters)|ye(et.type)|ye(et.body)&-67108865|(Ni?128:ht?256:hn?2048:0)|(et.typeParameters||et.type?1:0)|4194304}return et.typeArguments=void 0,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.endFlowNode=void 0,et.returnFlowNode=void 0,et}function ju(n,o,l,p,k,V,we,et){return n.modifiers!==o||n.asteriskToken!==l||n.name!==p||n.typeParameters!==k||n.parameters!==V||n.type!==we||n.body!==et?ob(xm(o,l,p,k,V,we,et),n):n}function ob(n,o){return n!==o&&n.modifiers===o.modifiers&&(n.modifiers=o.modifiers),pt(n,o)}function Em(n,o,l,p,k){let V=Ve(260);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Ne(k),Vn(V.modifiers)&2?V.transformFlags=1:(V.transformFlags|=gt(V.modifiers)|ai(V.name)|gt(V.typeParameters)|gt(V.heritageClauses)|gt(V.members)|(V.typeParameters?1:0)|1024,V.transformFlags&8192&&(V.transformFlags|=1)),V.jsDoc=void 0,V}function Ju(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(Em(o,l,p,k,V),n):n}function wm(n,o,l,p,k){let V=Ve(261);return V.modifiers=xt(n),V.name=Qt(o),V.typeParameters=xt(l),V.heritageClauses=xt(p),V.members=Ne(k),V.transformFlags=1,V.jsDoc=void 0,V}function Cm(n,o,l,p,k,V){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.heritageClauses!==k||n.members!==V?r(wm(o,l,p,k,V),n):n}function sr(n,o,l,p){let k=Ve(262);return k.modifiers=xt(n),k.name=Qt(o),k.typeParameters=xt(l),k.type=p,k.transformFlags=1,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k}function Ma(n,o,l,p,k){return n.modifiers!==o||n.name!==l||n.typeParameters!==p||n.type!==k?r(sr(o,l,p,k),n):n}function Fu(n,o,l){let p=Ve(263);return p.modifiers=xt(n),p.name=Qt(o),p.members=Ne(l),p.transformFlags|=gt(p.modifiers)|ye(p.name)|gt(p.members)|1,p.transformFlags&=-67108865,p.jsDoc=void 0,p}function La(n,o,l,p){return n.modifiers!==o||n.name!==l||n.members!==p?r(Fu(o,l,p),n):n}function Am(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,k=Ve(264);return k.modifiers=xt(n),k.flags|=p&1044,k.name=o,k.body=l,Vn(k.modifiers)&2?k.transformFlags=1:k.transformFlags|=gt(k.modifiers)|ye(k.name)|ye(k.body)|1,k.transformFlags&=-67108865,k.jsDoc=void 0,k.locals=void 0,k.nextContainer=void 0,k}function Sr(n,o,l,p){return n.modifiers!==o||n.name!==l||n.body!==p?r(Am(o,l,p,n.flags),n):n}function Ra(n){let o=oe(265);return o.statements=Ne(n),o.transformFlags|=gt(o.statements),o.jsDoc=void 0,o}function Yr(n,o){return n.statements!==o?r(Ra(o),n):n}function Pm(n){let o=oe(266);return o.clauses=Ne(n),o.transformFlags|=gt(o.clauses),o.locals=void 0,o.nextContainer=void 0,o}function _b(n,o){return n.clauses!==o?r(Pm(o),n):n}function Dm(n){let o=Ve(267);return o.name=Qt(n),o.transformFlags|=ec(o.name)|1,o.modifiers=void 0,o.jsDoc=void 0,o}function km(n,o){return n.name!==o?cb(Dm(o),n):n}function cb(n,o){return n!==o&&(n.modifiers=o.modifiers),r(n,o)}function Im(n,o,l,p){let k=Ve(268);return k.modifiers=xt(n),k.name=Qt(l),k.isTypeOnly=o,k.moduleReference=p,k.transformFlags|=gt(k.modifiers)|ec(k.name)|ye(k.moduleReference),ud(k.moduleReference)||(k.transformFlags|=1),k.transformFlags&=-67108865,k.jsDoc=void 0,k}function Nm(n,o,l,p,k){return n.modifiers!==o||n.isTypeOnly!==l||n.name!==p||n.moduleReference!==k?r(Im(o,l,p,k),n):n}function Om(n,o,l,p){let k=oe(269);return k.modifiers=xt(n),k.importClause=o,k.moduleSpecifier=l,k.assertClause=p,k.transformFlags|=ye(k.importClause)|ye(k.moduleSpecifier),k.transformFlags&=-67108865,k.jsDoc=void 0,k}function Mm(n,o,l,p,k){return n.modifiers!==o||n.importClause!==l||n.moduleSpecifier!==p||n.assertClause!==k?r(Om(o,l,p,k),n):n}function Lm(n,o,l){let p=Ve(270);return p.isTypeOnly=n,p.name=o,p.namedBindings=l,p.transformFlags|=ye(p.name)|ye(p.namedBindings),n&&(p.transformFlags|=1),p.transformFlags&=-67108865,p}function Rm(n,o,l,p){return n.isTypeOnly!==o||n.name!==l||n.namedBindings!==p?r(Lm(o,l,p),n):n}function Bu(n,o){let l=oe(296);return l.elements=Ne(n),l.multiLine=o,l.transformFlags|=4,l}function lb(n,o,l){return n.elements!==o||n.multiLine!==l?r(Bu(o,l),n):n}function s_(n,o){let l=oe(297);return l.name=n,l.value=o,l.transformFlags|=4,l}function jm(n,o,l){return n.name!==o||n.value!==l?r(s_(o,l),n):n}function qu(n,o){let l=oe(298);return l.assertClause=n,l.multiLine=o,l}function Jm(n,o,l){return n.assertClause!==o||n.multiLine!==l?r(qu(o,l),n):n}function Fm(n){let o=Ve(271);return o.name=n,o.transformFlags|=ye(o.name),o.transformFlags&=-67108865,o}function Uu(n,o){return n.name!==o?r(Fm(o),n):n}function Bm(n){let o=Ve(277);return o.name=n,o.transformFlags|=ye(o.name)|4,o.transformFlags&=-67108865,o}function qm(n,o){return n.name!==o?r(Bm(o),n):n}function Um(n){let o=oe(272);return o.elements=Ne(n),o.transformFlags|=gt(o.elements),o.transformFlags&=-67108865,o}function ub(n,o){return n.elements!==o?r(Um(o),n):n}function zm(n,o,l){let p=Ve(273);return p.isTypeOnly=n,p.propertyName=o,p.name=l,p.transformFlags|=ye(p.propertyName)|ye(p.name),p.transformFlags&=-67108865,p}function pb(n,o,l,p){return n.isTypeOnly!==o||n.propertyName!==l||n.name!==p?r(zm(o,l,p),n):n}function zu(n,o,l){let p=Ve(274);return p.modifiers=xt(n),p.isExportEquals=o,p.expression=o?s().parenthesizeRightSideOfBinary(63,void 0,l):s().parenthesizeExpressionOfExportDefault(l),p.transformFlags|=gt(p.modifiers)|ye(p.expression),p.transformFlags&=-67108865,p.jsDoc=void 0,p}function Wu(n,o,l){return n.modifiers!==o||n.expression!==l?r(zu(o,n.isExportEquals,l),n):n}function na(n,o,l,p,k){let V=Ve(275);return V.modifiers=xt(n),V.isTypeOnly=o,V.exportClause=l,V.moduleSpecifier=p,V.assertClause=k,V.transformFlags|=gt(V.modifiers)|ye(V.exportClause)|ye(V.moduleSpecifier),V.transformFlags&=-67108865,V.jsDoc=void 0,V}function Wm(n,o,l,p,k,V){return n.modifiers!==o||n.isTypeOnly!==l||n.exportClause!==p||n.moduleSpecifier!==k||n.assertClause!==V?Vm(na(o,l,p,k,V),n):n}function Vm(n,o){return n!==o&&n.modifiers===o.modifiers&&(n.modifiers=o.modifiers),r(n,o)}function to(n){let o=oe(276);return o.elements=Ne(n),o.transformFlags|=gt(o.elements),o.transformFlags&=-67108865,o}function Hm(n,o){return n.elements!==o?r(to(o),n):n}function Vu(n,o,l){let p=oe(278);return p.isTypeOnly=n,p.propertyName=Qt(o),p.name=Qt(l),p.transformFlags|=ye(p.propertyName)|ye(p.name),p.transformFlags&=-67108865,p.jsDoc=void 0,p}function o_(n,o,l,p){return n.isTypeOnly!==o||n.propertyName!==l||n.name!==p?r(Vu(o,l,p),n):n}function fb(){let n=Ve(279);return n.jsDoc=void 0,n}function Gm(n){let o=oe(280);return o.expression=n,o.transformFlags|=ye(o.expression),o.transformFlags&=-67108865,o}function $m(n,o){return n.expression!==o?r(Gm(o),n):n}function db(n){return oe(n)}function Km(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=Ac(n,l?o&&s().parenthesizeNonArrayTypeOfPostfixType(o):o);return p.postfix=l,p}function Ac(n,o){let l=oe(n);return l.type=o,l}function Xm(n,o,l){return o.type!==l?r(Km(n,l,o.postfix),o):o}function mb(n,o,l){return o.type!==l?r(Ac(n,l),o):o}function Ym(n,o){let l=Ve(320);return l.parameters=xt(n),l.type=o,l.transformFlags=gt(l.parameters)|(l.type?1:0),l.jsDoc=void 0,l.locals=void 0,l.nextContainer=void 0,l.typeArguments=void 0,l}function hb(n,o,l){return n.parameters!==o||n.type!==l?r(Ym(o,l),n):n}function Qm(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=Ve(325);return l.jsDocPropertyTags=xt(n),l.isArrayType=o,l}function gb(n,o,l){return n.jsDocPropertyTags!==o||n.isArrayType!==l?r(Qm(o,l),n):n}function Zm(n){let o=oe(312);return o.type=n,o}function yb(n,o){return n.type!==o?r(Zm(o),n):n}function eh(n,o,l){let p=Ve(326);return p.typeParameters=xt(n),p.parameters=Ne(o),p.type=l,p.jsDoc=void 0,p.locals=void 0,p.nextContainer=void 0,p}function Hu(n,o,l,p){return n.typeParameters!==o||n.parameters!==l||n.type!==p?r(eh(o,l,p),n):n}function fi(n){let o=ed(n.kind);return n.tagName.escapedText===vi(o)?n.tagName:Ut(o)}function ja(n,o,l){let p=oe(n);return p.tagName=o,p.comment=l,p}function Ja(n,o,l){let p=Ve(n);return p.tagName=o,p.comment=l,p}function __(n,o,l,p){let k=ja(348,n!=null?n:Ut("template"),p);return k.constraint=o,k.typeParameters=Ne(l),k}function Gu(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.constraint!==l||n.typeParameters!==p||n.comment!==k?r(__(o,l,p,k),n):n}function $u(n,o,l,p){let k=Ja(349,n!=null?n:Ut("typedef"),p);return k.typeExpression=o,k.fullName=l,k.name=w2(l),k.locals=void 0,k.nextContainer=void 0,k}function th(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.typeExpression!==l||n.fullName!==p||n.comment!==k?r($u(o,l,p,k),n):n}function Pc(n,o,l,p,k,V){let we=Ja(344,n!=null?n:Ut("param"),V);return we.typeExpression=p,we.name=o,we.isNameFirst=!!k,we.isBracketed=l,we}function vb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0,V=arguments.length>5?arguments[5]:void 0,we=arguments.length>6?arguments[6]:void 0;return n.tagName!==o||n.name!==l||n.isBracketed!==p||n.typeExpression!==k||n.isNameFirst!==V||n.comment!==we?r(Pc(o,l,p,k,V,we),n):n}function Ku(n,o,l,p,k,V){let we=Ja(351,n!=null?n:Ut("prop"),V);return we.typeExpression=p,we.name=o,we.isNameFirst=!!k,we.isBracketed=l,we}function bb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0,V=arguments.length>5?arguments[5]:void 0,we=arguments.length>6?arguments[6]:void 0;return n.tagName!==o||n.name!==l||n.isBracketed!==p||n.typeExpression!==k||n.isNameFirst!==V||n.comment!==we?r(Ku(o,l,p,k,V,we),n):n}function rh(n,o,l,p){let k=Ja(341,n!=null?n:Ut("callback"),p);return k.typeExpression=o,k.fullName=l,k.name=w2(l),k.locals=void 0,k.nextContainer=void 0,k}function nh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return n.tagName!==o||n.typeExpression!==l||n.fullName!==p||n.comment!==k?r(rh(o,l,p,k),n):n}function ih(n,o,l){let p=ja(342,n!=null?n:Ut("overload"),l);return p.typeExpression=o,p}function ah(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.typeExpression!==l||n.comment!==p?r(ih(o,l,p),n):n}function sh(n,o,l){let p=ja(331,n!=null?n:Ut("augments"),l);return p.class=o,p}function Xu(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.class!==l||n.comment!==p?r(sh(o,l,p),n):n}function Yu(n,o,l){let p=ja(332,n!=null?n:Ut("implements"),l);return p.class=o,p}function ro(n,o,l){let p=ja(350,n!=null?n:Ut("see"),l);return p.name=o,p}function Tb(n,o,l,p){return n.tagName!==o||n.name!==l||n.comment!==p?r(ro(o,l,p),n):n}function ws(n){let o=oe(313);return o.name=n,o}function Dc(n,o){return n.name!==o?r(ws(o),n):n}function oh(n,o){let l=oe(314);return l.left=n,l.right=o,l.transformFlags|=ye(l.left)|ye(l.right),l}function Sb(n,o,l){return n.left!==o||n.right!==l?r(oh(o,l),n):n}function _h(n,o){let l=oe(327);return l.name=n,l.text=o,l}function xb(n,o,l){return n.name!==o?r(_h(o,l),n):n}function ch(n,o){let l=oe(328);return l.name=n,l.text=o,l}function lh(n,o,l){return n.name!==o?r(ch(o,l),n):n}function uh(n,o){let l=oe(329);return l.name=n,l.text=o,l}function Eb(n,o,l){return n.name!==o?r(uh(o,l),n):n}function wb(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.class!==l||n.comment!==p?r(Yu(o,l,p),n):n}function ph(n,o,l){return ja(n,o!=null?o:Ut(ed(n)),l)}function Cb(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(o),p=arguments.length>3?arguments[3]:void 0;return o.tagName!==l||o.comment!==p?r(ph(n,l,p),o):o}function fh(n,o,l,p){let k=ja(n,o!=null?o:Ut(ed(n)),p);return k.typeExpression=l,k}function Ab(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:fi(o),p=arguments.length>3?arguments[3]:void 0,k=arguments.length>4?arguments[4]:void 0;return o.tagName!==l||o.typeExpression!==p||o.comment!==k?r(fh(n,l,p,k),o):o}function dh(n,o){return ja(330,n,o)}function Pb(n,o,l){return n.tagName!==o||n.comment!==l?r(dh(o,l),n):n}function mh(n,o,l){let p=Ja(343,n!=null?n:Ut(ed(343)),l);return p.typeExpression=o,p.locals=void 0,p.nextContainer=void 0,p}function Db(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fi(n),l=arguments.length>2?arguments[2]:void 0,p=arguments.length>3?arguments[3]:void 0;return n.tagName!==o||n.typeExpression!==l||n.comment!==p?r(mh(o,l,p),n):n}function hh(n){let o=oe(324);return o.text=n,o}function Qu(n,o){return n.text!==o?r(hh(o),n):n}function gh(n,o){let l=oe(323);return l.comment=n,l.tags=xt(o),l}function yh(n,o,l){return n.comment!==o||n.tags!==l?r(gh(o,l),n):n}function Zu(n,o,l){let p=oe(281);return p.openingElement=n,p.children=Ne(o),p.closingElement=l,p.transformFlags|=ye(p.openingElement)|gt(p.children)|ye(p.closingElement)|2,p}function kb(n,o,l,p){return n.openingElement!==o||n.children!==l||n.closingElement!==p?r(Zu(o,l,p),n):n}function c_(n,o,l){let p=oe(282);return p.tagName=n,p.typeArguments=xt(o),p.attributes=l,p.transformFlags|=ye(p.tagName)|gt(p.typeArguments)|ye(p.attributes)|2,p.typeArguments&&(p.transformFlags|=1),p}function vh(n,o,l,p){return n.tagName!==o||n.typeArguments!==l||n.attributes!==p?r(c_(o,l,p),n):n}function bh(n,o,l){let p=oe(283);return p.tagName=n,p.typeArguments=xt(o),p.attributes=l,p.transformFlags|=ye(p.tagName)|gt(p.typeArguments)|ye(p.attributes)|2,o&&(p.transformFlags|=1),p}function Ib(n,o,l,p){return n.tagName!==o||n.typeArguments!==l||n.attributes!==p?r(bh(o,l,p),n):n}function on(n){let o=oe(284);return o.tagName=n,o.transformFlags|=ye(o.tagName)|2,o}function Th(n,o){return n.tagName!==o?r(on(o),n):n}function ep(n,o,l){let p=oe(285);return p.openingFragment=n,p.children=Ne(o),p.closingFragment=l,p.transformFlags|=ye(p.openingFragment)|gt(p.children)|ye(p.closingFragment)|2,p}function Nb(n,o,l,p){return n.openingFragment!==o||n.children!==l||n.closingFragment!==p?r(ep(o,l,p),n):n}function l_(n,o){let l=oe(11);return l.text=n,l.containsOnlyTriviaWhiteSpaces=!!o,l.transformFlags|=2,l}function Ob(n,o,l){return n.text!==o||n.containsOnlyTriviaWhiteSpaces!==l?r(l_(o,l),n):n}function kc(){let n=oe(286);return n.transformFlags|=2,n}function Mb(){let n=oe(287);return n.transformFlags|=2,n}function Sh(n,o){let l=Ve(288);return l.name=n,l.initializer=o,l.transformFlags|=ye(l.name)|ye(l.initializer)|2,l}function Lb(n,o,l){return n.name!==o||n.initializer!==l?r(Sh(o,l),n):n}function xh(n){let o=Ve(289);return o.properties=Ne(n),o.transformFlags|=gt(o.properties)|2,o}function tp(n,o){return n.properties!==o?r(xh(o),n):n}function no(n){let o=oe(290);return o.expression=n,o.transformFlags|=ye(o.expression)|2,o}function Rb(n,o){return n.expression!==o?r(no(o),n):n}function Ic(n,o){let l=oe(291);return l.dotDotDotToken=n,l.expression=o,l.transformFlags|=ye(l.dotDotDotToken)|ye(l.expression)|2,l}function Eh(n,o){return n.expression!==o?r(Ic(n.dotDotDotToken,o),n):n}function wh(n,o){let l=oe(292);return l.expression=s().parenthesizeExpressionForDisallowedComma(n),l.statements=Ne(o),l.transformFlags|=ye(l.expression)|gt(l.statements),l.jsDoc=void 0,l}function rp(n,o,l){return n.expression!==o||n.statements!==l?r(wh(o,l),n):n}function np(n){let o=oe(293);return o.statements=Ne(n),o.transformFlags=gt(o.statements),o}function jb(n,o){return n.statements!==o?r(np(o),n):n}function Ch(n,o){let l=oe(294);switch(l.token=n,l.types=Ne(o),l.transformFlags|=gt(l.types),n){case 94:l.transformFlags|=1024;break;case 117:l.transformFlags|=1;break;default:return Y.assertNever(n)}return l}function Ah(n,o){return n.types!==o?r(Ch(n.token,o),n):n}function ip(n,o){let l=oe(295);return l.variableDeclaration=Xh(n),l.block=o,l.transformFlags|=ye(l.variableDeclaration)|ye(l.block)|(n?0:64),l.locals=void 0,l.nextContainer=void 0,l}function Ph(n,o,l){return n.variableDeclaration!==o||n.block!==l?r(ip(o,l),n):n}function Fa(n,o){let l=Ve(299);return l.name=Qt(n),l.initializer=s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ai(l.name)|ye(l.initializer),l.modifiers=void 0,l.questionToken=void 0,l.exclamationToken=void 0,l.jsDoc=void 0,l}function Jb(n,o,l){return n.name!==o||n.initializer!==l?Fb(Fa(o,l),n):n}function Fb(n,o){return n!==o&&(n.modifiers=o.modifiers,n.questionToken=o.questionToken,n.exclamationToken=o.exclamationToken),r(n,o)}function Dh(n,o){let l=Ve(300);return l.name=Qt(n),l.objectAssignmentInitializer=o&&s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ec(l.name)|ye(l.objectAssignmentInitializer)|1024,l.equalsToken=void 0,l.modifiers=void 0,l.questionToken=void 0,l.exclamationToken=void 0,l.jsDoc=void 0,l}function Bb(n,o,l){return n.name!==o||n.objectAssignmentInitializer!==l?kh(Dh(o,l),n):n}function kh(n,o){return n!==o&&(n.modifiers=o.modifiers,n.questionToken=o.questionToken,n.exclamationToken=o.exclamationToken,n.equalsToken=o.equalsToken),r(n,o)}function ap(n){let o=Ve(301);return o.expression=s().parenthesizeExpressionForDisallowedComma(n),o.transformFlags|=ye(o.expression)|128|65536,o.jsDoc=void 0,o}function ki(n,o){return n.expression!==o?r(ap(o),n):n}function sp(n,o){let l=Ve(302);return l.name=Qt(n),l.initializer=o&&s().parenthesizeExpressionForDisallowedComma(o),l.transformFlags|=ye(l.name)|ye(l.initializer)|1,l.jsDoc=void 0,l}function qb(n,o,l){return n.name!==o||n.initializer!==l?r(sp(o,l),n):n}function Ub(n,o,l){let p=t.createBaseSourceFileNode(308);return p.statements=Ne(n),p.endOfFileToken=o,p.flags|=l,p.text="",p.fileName="",p.path="",p.resolvedPath="",p.originalFileName="",p.languageVersion=0,p.languageVariant=0,p.scriptKind=0,p.isDeclarationFile=!1,p.hasNoDefaultLib=!1,p.transformFlags|=gt(p.statements)|ye(p.endOfFileToken),p.locals=void 0,p.nextContainer=void 0,p.endFlowNode=void 0,p.nodeCount=0,p.identifierCount=0,p.symbolCount=0,p.parseDiagnostics=void 0,p.bindDiagnostics=void 0,p.bindSuggestionDiagnostics=void 0,p.lineMap=void 0,p.externalModuleIndicator=void 0,p.setExternalModuleIndicator=void 0,p.pragmas=void 0,p.checkJsDirective=void 0,p.referencedFiles=void 0,p.typeReferenceDirectives=void 0,p.libReferenceDirectives=void 0,p.amdDependencies=void 0,p.commentDirectives=void 0,p.identifiers=void 0,p.packageJsonLocations=void 0,p.packageJsonScope=void 0,p.imports=void 0,p.moduleAugmentations=void 0,p.ambientModuleNames=void 0,p.resolvedModules=void 0,p.classifiableNames=void 0,p.impliedNodeFormat=void 0,p}function Ih(n){let o=Object.create(n.redirectTarget);return Object.defineProperties(o,{id:{get(){return this.redirectInfo.redirectTarget.id},set(l){this.redirectInfo.redirectTarget.id=l}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(l){this.redirectInfo.redirectTarget.symbol=l}}}),o.redirectInfo=n,o}function Nh(n){let o=Ih(n.redirectInfo);return o.flags|=n.flags&-9,o.fileName=n.fileName,o.path=n.path,o.resolvedPath=n.resolvedPath,o.originalFileName=n.originalFileName,o.packageJsonLocations=n.packageJsonLocations,o.packageJsonScope=n.packageJsonScope,o.emitNode=void 0,o}function op(n){let o=t.createBaseSourceFileNode(308);o.flags|=n.flags&-9;for(let l in n)if(!(Jr(o,l)||!Jr(n,l))){if(l==="emitNode"){o.emitNode=void 0;continue}o[l]=n[l]}return o}function Oh(n){let o=n.redirectInfo?Nh(n):op(n);return Dn(o,n),o}function zb(n,o,l,p,k,V,we){let et=Oh(n);return et.statements=Ne(o),et.isDeclarationFile=l,et.referencedFiles=p,et.typeReferenceDirectives=k,et.hasNoDefaultLib=V,et.libReferenceDirectives=we,et.transformFlags=gt(et.statements)|ye(et.endOfFileToken),et}function Mh(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:n.isDeclarationFile,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:n.referencedFiles,k=arguments.length>4&&arguments[4]!==void 0?arguments[4]:n.typeReferenceDirectives,V=arguments.length>5&&arguments[5]!==void 0?arguments[5]:n.hasNoDefaultLib,we=arguments.length>6&&arguments[6]!==void 0?arguments[6]:n.libReferenceDirectives;return n.statements!==o||n.isDeclarationFile!==l||n.referencedFiles!==p||n.typeReferenceDirectives!==k||n.hasNoDefaultLib!==V||n.libReferenceDirectives!==we?r(zb(n,o,l,p,k,V,we),n):n}function Lh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bt,l=oe(309);return l.prepends=o,l.sourceFiles=n,l.syntheticFileReferences=void 0,l.syntheticTypeReferences=void 0,l.syntheticLibReferences=void 0,l.hasNoDefaultLib=void 0,l}function Wb(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Bt;return n.sourceFiles!==o||n.prepends!==l?r(Lh(o,l),n):n}function Nc(n,o,l){let p=oe(310);return p.prologues=n,p.syntheticReferences=o,p.texts=l,p.fileName="",p.text="",p.referencedFiles=Bt,p.libReferenceDirectives=Bt,p.getLineAndCharacterOfPosition=k=>Ls(p,k),p}function Oc(n,o){let l=oe(n);return l.data=o,l}function Vb(n){return Oc(303,n)}function Hb(n,o){let l=Oc(304,n);return l.texts=o,l}function Gb(n,o){return Oc(o?306:305,n)}function $b(n){let o=oe(307);return o.data=n.data,o.section=n,o}function Kb(){let n=oe(311);return n.javascriptText="",n.declarationText="",n}function Rh(n){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=arguments.length>2?arguments[2]:void 0,p=oe(234);return p.type=n,p.isSpread=o,p.tupleNameSource=l,p}function jh(n){let o=oe(354);return o._children=n,o}function Jh(n){let o=oe(355);return o.original=n,Rt(o,n),o}function Fh(n,o){let l=oe(356);return l.expression=n,l.original=o,l.transformFlags|=ye(l.expression)|1,Rt(l,o),l}function Bh(n,o){return n.expression!==o?r(Fh(o,n.original),n):n}function qh(n){if(fs(n)&&!pl(n)&&!n.original&&!n.emitNode&&!n.id){if(oc(n))return n.elements;if(ur(n)&&I8(n.operatorToken))return[n.left,n.right]}return n}function Mc(n){let o=oe(357);return o.elements=Ne(at(n,qh)),o.transformFlags|=gt(o.elements),o}function Xb(n,o){return n.elements!==o?r(Mc(o),n):n}function Yb(n){let o=oe(359);return o.emitNode={},o.original=n,o}function Qb(n){let o=oe(358);return o.emitNode={},o.original=n,o}function Uh(n,o){let l=oe(360);return l.expression=n,l.thisArg=o,l.transformFlags|=ye(l.expression)|ye(l.thisArg),l}function _p(n,o,l){return n.expression!==o||n.thisArg!==l?r(Uh(o,l),n):n}function Zb(n){let o=pn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),setIdentifierAutoGenerate(o,Object.assign({},n.emitNode.autoGenerate)),o}function e6(n){let o=pn(n.escapedText);o.flags|=n.flags&-9,o.jsDoc=n.jsDoc,o.flowNode=n.flowNode,o.symbol=n.symbol,o.transformFlags=n.transformFlags,Dn(o,n);let l=getIdentifierTypeArguments(n);return l&&setIdentifierTypeArguments(o,l),o}function t6(n){let o=dn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),setIdentifierAutoGenerate(o,Object.assign({},n.emitNode.autoGenerate)),o}function r6(n){let o=dn(n.escapedText);return o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n),o}function cp(n){if(n===void 0)return n;if(wi(n))return Oh(n);if(cs(n))return Zb(n);if(yt(n))return e6(n);if(Ny(n))return t6(n);if(vn(n))return r6(n);let o=gl(n.kind)?t.createBaseNode(n.kind):t.createBaseTokenNode(n.kind);o.flags|=n.flags&-9,o.transformFlags=n.transformFlags,Dn(o,n);for(let l in n)Jr(o,l)||!Jr(n,l)||(o[l]=n[l]);return o}function n6(n,o,l){return Na(yu(void 0,void 0,void 0,void 0,o?[o]:[],void 0,Zs(n,!0)),void 0,l?[l]:[])}function Lc(n,o,l){return Na(vu(void 0,void 0,o?[o]:[],void 0,void 0,Zs(n,!0)),void 0,l?[l]:[])}function Rc(){return ui(Gt("0"))}function zh(n){return zu(void 0,!1,n)}function i6(n){return na(void 0,!1,to([Vu(!1,void 0,n)]))}function a6(n,o){return o==="undefined"?Ye.createStrictEquality(n,Rc()):Ye.createStrictEquality(mn(n),er(o))}function Ba(n,o,l){return Cy(n)?du(Xs(n,void 0,o),void 0,void 0,l):Na(ta(n,o),void 0,l)}function s6(n,o,l){return Ba(n,"bind",[o,...l])}function o6(n,o,l){return Ba(n,"call",[o,...l])}function _6(n,o,l){return Ba(n,"apply",[o,l])}function io(n,o,l){return Ba(Ut(n),o,l)}function Wh(n,o){return Ba(n,"slice",o===void 0?[]:[za(o)])}function Vh(n,o){return Ba(n,"concat",o)}function u(n,o,l){return io("Object","defineProperty",[n,za(o),l])}function b(n,o){return io("Object","getOwnPropertyDescriptor",[n,za(o)])}function O(n,o,l){return io("Reflect","get",l?[n,o,l]:[n,o])}function j(n,o,l,p){return io("Reflect","set",p?[n,o,l,p]:[n,o,l])}function z(n,o,l){return l?(n.push(Fa(o,l)),!0):!1}function re(n,o){let l=[];z(l,"enumerable",za(n.enumerable)),z(l,"configurable",za(n.configurable));let p=z(l,"writable",za(n.writable));p=z(l,"value",n.value)||p;let k=z(l,"get",n.get);return k=z(l,"set",n.set)||k,Y.assert(!(p&&k),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),r_(l,!o)}function Ee(n,o){switch(n.kind){case 214:return qd(n,o);case 213:return Bd(n,n.type,o);case 231:return Zd(n,o,n.type);case 235:return Pu(n,o,n.type);case 232:return Au(n,o);case 356:return Bh(n,o)}}function qe(n){return qo(n)&&fs(n)&&fs(getSourceMapRange(n))&&fs(getCommentRange(n))&&!Ke(getSyntheticLeadingComments(n))&&!Ke(getSyntheticTrailingComments(n))}function We(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:15;return n&&yd(n,l)&&!qe(n)?Ee(n,We(n.expression,o)):o}function $e(n,o,l){if(!o)return n;let p=ym(o,o.label,tE(o.statement)?$e(n,o.statement):n);return l&&l(o),p}function lt(n,o){let l=Pl(n);switch(l.kind){case 79:return o;case 108:case 8:case 9:case 10:return!1;case 206:return l.elements.length!==0;case 207:return l.properties.length>0;default:return!0}}function Jt(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,k=$o(n,15),V,we;return Sf(k)?(V=Or(),we=k):nd(k)?(V=Or(),we=l!==void 0&&l<2?Rt(Ut("_super"),k):k):xi(k)&8192?(V=Rc(),we=s().parenthesizeLeftSideOfAccess(k,!1)):bn(k)?lt(k.expression,p)?(V=kn(o),we=ta(Rt(Ye.createAssignment(V,k.expression),k.expression),k.name),Rt(we,k)):(V=k.expression,we=k):gs(k)?lt(k.expression,p)?(V=kn(o),we=pu(Rt(Ye.createAssignment(V,k.expression),k.expression),k.argumentExpression),Rt(we,k)):(V=k.expression,we=k):(V=Rc(),we=s().parenthesizeLeftSideOfAccess(n,!1)),{target:we,thisArg:V}}function Lt(n,o){return ta(gu(r_([ci(void 0,"value",[$n(void 0,void 0,n,void 0,void 0,void 0)],Zs([a_(o)]))])),"value")}function At(n){return n.length>10?Mc(n):Qa(n,Ye.createComma)}function kr(n,o,l){let p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,k=ml(n);if(k&&yt(k)&&!cs(k)){let V=Sa(Rt(cp(k),k),k.parent);return p|=xi(k),l||(p|=96),o||(p|=3072),p&&setEmitFlags(V,p),V}return $i(n)}function Fn(n,o,l){return kr(n,o,l,98304)}function di(n,o,l){return kr(n,o,l,32768)}function Ii(n,o,l){return kr(n,o,l,16384)}function _n(n,o,l){return kr(n,o,l)}function qa(n,o,l,p){let k=ta(n,fs(o)?o:cp(o));Rt(k,o);let V=0;return p||(V|=96),l||(V|=3072),V&&setEmitFlags(k,V),k}function Hh(n,o,l,p){return n&&rn(o,1)?qa(n,kr(o),l,p):Ii(o,l,p)}function lp(n,o,l,p){let k=Ua(n,o,0,l);return up(n,o,k,p)}function Gh(n){return Gn(n.expression)&&n.expression.text==="use strict"}function wn(){return vd(a_(er("use strict")))}function Ua(n,o){let l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,p=arguments.length>3?arguments[3]:void 0;Y.assert(o.length===0,"Prologue directives should be at the first statement in the target statements array");let k=!1,V=n.length;for(;l4&&arguments[4]!==void 0?arguments[4]:vp,V=n.length;for(;l!==void 0&&let&&hn.splice(k,0,...o.slice(et,ht)),et>we&&hn.splice(p,0,...o.slice(we,et)),we>V&&hn.splice(l,0,...o.slice(V,we)),V>0)if(l===0)hn.splice(0,0,...o.slice(0,V));else{let Ni=new Map;for(let ia=0;ia=0;ia--){let Oi=o[ia];Ni.has(Oi.expression.text)||hn.unshift(Oi)}}return _s(n)?Rt(Ne(hn,n.hasTrailingComma),n):n}function Kh(n,o){var l;let p;return typeof o=="number"?p=$r(o):p=o,Fo(n)?wa(n,p,n.name,n.constraint,n.default):Vs(n)?Ki(n,p,n.dotDotDotToken,n.name,n.questionToken,n.type,n.initializer):Gv(n)?bt(n,p,n.typeParameters,n.parameters,n.type):Wl(n)?St(n,p,n.name,n.questionToken,n.type):Bo(n)?_t(n,p,n.name,(l=n.questionToken)!=null?l:n.exclamationToken,n.type,n.initializer):L8(n)?Kt(n,p,n.name,n.questionToken,n.typeParameters,n.parameters,n.type):Vl(n)?xe(n,p,n.asteriskToken,n.name,n.questionToken,n.typeParameters,n.parameters,n.type,n.body):nc(n)?It(n,p,n.parameters,n.body):Gl(n)?Ln(n,p,n.name,n.parameters,n.type,n.body):ic(n)?Xi(n,p,n.name,n.parameters,n.body):Hv(n)?bs(n,p,n.parameters,n.type):ad(n)?Ud(n,p,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body):sd(n)?zd(n,p,n.typeParameters,n.parameters,n.type,n.equalsGreaterThanToken,n.body):_d(n)?xc(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):zo(n)?om(n,p,n.declarationList):Wo(n)?ju(n,p,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body):_c(n)?Ju(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):eu(n)?Cm(n,p,n.name,n.typeParameters,n.heritageClauses,n.members):n2(n)?Ma(n,p,n.name,n.typeParameters,n.type):i2(n)?La(n,p,n.name,n.members):Ea(n)?Sr(n,p,n.name,n.body):s2(n)?Nm(n,p,n.isTypeOnly,n.name,n.moduleReference):o2(n)?Mm(n,p,n.importClause,n.moduleSpecifier,n.assertClause):Vo(n)?Wu(n,p,n.expression):cc(n)?Wm(n,p,n.isTypeOnly,n.exportClause,n.moduleSpecifier,n.assertClause):Y.assertNever(n)}function xt(n){return n?Ne(n):void 0}function Qt(n){return typeof n=="string"?Ut(n):n}function za(n){return typeof n=="string"?er(n):typeof n=="number"?Gt(n):typeof n=="boolean"?n?ar():oi():n}function Wa(n){return n&&s().parenthesizeExpressionForDisallowedComma(n)}function c6(n){return typeof n=="number"?pr(n):n}function Yn(n){return n&&c2(n)?Rt(Dn(Du(),n),n):n}function Xh(n){return typeof n=="string"||n&&!Vi(n)?Cc(n,void 0,void 0,void 0):n}}function JL(e,t){return e!==t&&Rt(e,t),e}function FL(e,t){return e!==t&&(Dn(e,t),Rt(e,t)),e}function ed(e){switch(e){case 347:return"type";case 345:return"returns";case 346:return"this";case 343:return"enum";case 333:return"author";case 335:return"class";case 336:return"public";case 337:return"private";case 338:return"protected";case 339:return"readonly";case 340:return"override";case 348:return"template";case 349:return"typedef";case 344:return"param";case 351:return"prop";case 341:return"callback";case 342:return"overload";case 331:return"augments";case 332:return"implements";default:return Y.fail(`Unsupported kind: ${Y.formatSyntaxKind(e)}`)}}function BL(e,t){switch(Hn||(Hn=Po(99,!1,0)),e){case 14:Hn.setText("`"+t+"`");break;case 15:Hn.setText("`"+t+"${");break;case 16:Hn.setText("}"+t+"${");break;case 17:Hn.setText("}"+t+"`");break}let r=Hn.scan();if(r===19&&(r=Hn.reScanTemplateToken(!1)),Hn.isUnterminated())return Hn.setText(void 0),qv;let s;switch(r){case 14:case 15:case 16:case 17:s=Hn.getTokenValue();break}return s===void 0||Hn.scan()!==1?(Hn.setText(void 0),qv):(Hn.setText(void 0),s)}function ai(e){return e&&yt(e)?ec(e):ye(e)}function ec(e){return ye(e)&-67108865}function qL(e,t){return t|e.transformFlags&134234112}function ye(e){if(!e)return 0;let t=e.transformFlags&~w8(e.kind);return af(e)&&vl(e.name)?qL(e.name,t):t}function gt(e){return e?e.transformFlags:0}function E8(e){let t=0;for(let r of e)t|=ye(r);e.transformFlags=t}function w8(e){if(e>=179&&e<=202)return-2;switch(e){case 210:case 211:case 206:return-2147450880;case 264:return-1941676032;case 166:return-2147483648;case 216:return-2072174592;case 215:case 259:return-1937940480;case 258:return-2146893824;case 260:case 228:return-2147344384;case 173:return-1937948672;case 169:return-2013249536;case 171:case 174:case 175:return-2005057536;case 131:case 148:case 160:case 144:case 152:case 149:case 134:case 153:case 114:case 165:case 168:case 170:case 176:case 177:case 178:case 261:case 262:return-2;case 207:return-2147278848;case 295:return-2147418112;case 203:case 204:return-2147450880;case 213:case 235:case 231:case 356:case 214:case 106:return-2147483648;case 208:case 209:return-2147483648;default:return-2147483648}}function Fl(e){return e.flags|=8,e}function UL(e,t,r){let s,f,x,w,A,g,B,N,X,F;Ji(e)?(x="",w=e,A=e.length,g=t,B=r):(Y.assert(t==="js"||t==="dts"),x=(t==="js"?e.javascriptPath:e.declarationPath)||"",g=t==="js"?e.javascriptMapPath:e.declarationMapPath,N=()=>t==="js"?e.javascriptText:e.declarationText,X=()=>t==="js"?e.javascriptMapText:e.declarationMapText,A=()=>N().length,e.buildInfo&&e.buildInfo.bundle&&(Y.assert(r===void 0||typeof r=="boolean"),s=r,f=t==="js"?e.buildInfo.bundle.js:e.buildInfo.bundle.dts,F=e.oldFileOfCurrentEmit));let $=F?WL(Y.checkDefined(f)):zL(f,s,A);return $.fileName=x,$.sourceMapPath=g,$.oldFileOfCurrentEmit=F,N&&X?(Object.defineProperty($,"text",{get:N}),Object.defineProperty($,"sourceMapText",{get:X})):(Y.assert(!F),$.text=w!=null?w:"",$.sourceMapText=B),$}function zL(e,t,r){let s,f,x,w,A,g,B,N;for(let F of e?e.sections:Bt)switch(F.kind){case"prologue":s=tr(s,Rt(si.createUnparsedPrologue(F.data),F));break;case"emitHelpers":f=tr(f,getAllUnscopedEmitHelpers().get(F.data));break;case"no-default-lib":N=!0;break;case"reference":x=tr(x,{pos:-1,end:-1,fileName:F.data});break;case"type":w=tr(w,{pos:-1,end:-1,fileName:F.data});break;case"type-import":w=tr(w,{pos:-1,end:-1,fileName:F.data,resolutionMode:99});break;case"type-require":w=tr(w,{pos:-1,end:-1,fileName:F.data,resolutionMode:1});break;case"lib":A=tr(A,{pos:-1,end:-1,fileName:F.data});break;case"prepend":let $;for(let ae of F.texts)(!t||ae.kind!=="internal")&&($=tr($,Rt(si.createUnparsedTextLike(ae.data,ae.kind==="internal"),ae)));g=jr(g,$),B=tr(B,si.createUnparsedPrepend(F.data,$!=null?$:Bt));break;case"internal":if(t){B||(B=[]);break}case"text":B=tr(B,Rt(si.createUnparsedTextLike(F.data,F.kind==="internal"),F));break;default:Y.assertNever(F)}if(!B){let F=si.createUnparsedTextLike(void 0,!1);$f(F,0,typeof r=="function"?r():r),B=[F]}let X=dc.createUnparsedSource(s!=null?s:Bt,void 0,B);return Q_(s,X),Q_(B,X),Q_(g,X),X.hasNoDefaultLib=N,X.helpers=f,X.referencedFiles=x||Bt,X.typeReferenceDirectives=w,X.libReferenceDirectives=A||Bt,X}function WL(e){let t,r;for(let f of e.sections)switch(f.kind){case"internal":case"text":t=tr(t,Rt(si.createUnparsedTextLike(f.data,f.kind==="internal"),f));break;case"no-default-lib":case"reference":case"type":case"type-import":case"type-require":case"lib":r=tr(r,Rt(si.createUnparsedSyntheticReference(f),f));break;case"prologue":case"emitHelpers":case"prepend":break;default:Y.assertNever(f)}let s=si.createUnparsedSource(Bt,r,t!=null?t:Bt);return Q_(r,s),Q_(t,s),s.helpers=Ze(e.sources&&e.sources.helpers,f=>getAllUnscopedEmitHelpers().get(f)),s}function VL(e,t,r,s,f,x){return Ji(e)?A8(void 0,e,r,s,void 0,t,f,x):C8(e,t,r,s,f,x)}function C8(e,t,r,s,f,x,w,A){let g=dc.createInputFiles();g.javascriptPath=t,g.javascriptMapPath=r,g.declarationPath=s,g.declarationMapPath=f,g.buildInfoPath=x;let B=new Map,N=ae=>{if(ae===void 0)return;let Te=B.get(ae);return Te===void 0&&(Te=e(ae),B.set(ae,Te!==void 0?Te:!1)),Te!==!1?Te:void 0},X=ae=>{let Te=N(ae);return Te!==void 0?Te:`/* Input file ${ae} was missing */\r +`},F;return Object.defineProperties(g,{javascriptText:{get:()=>X(t)},javascriptMapText:{get:()=>N(r)},declarationText:{get:()=>X(Y.checkDefined(s))},declarationMapText:{get:()=>N(f)},buildInfo:{get:()=>{var ae,Te;if(F===void 0&&x)if(w!=null&&w.getBuildInfo)F=(ae=w.getBuildInfo(x,A.configFilePath))!=null?ae:!1;else{let Se=N(x);F=Se!==void 0&&(Te=getBuildInfo(x,Se))!=null?Te:!1}return F||void 0}}}),g}function A8(e,t,r,s,f,x,w,A,g,B,N){let X=dc.createInputFiles();return X.javascriptPath=e,X.javascriptText=t,X.javascriptMapPath=r,X.javascriptMapText=s,X.declarationPath=f,X.declarationText=x,X.declarationMapPath=w,X.declarationMapText=A,X.buildInfoPath=g,X.buildInfo=B,X.oldFileOfCurrentEmit=N,X}function HL(e,t,r){return new(D8||(D8=lr.getSourceMapSourceConstructor()))(e,t,r)}function Dn(e,t){if(e.original=t,t){let r=t.emitNode;r&&(e.emitNode=GL(r,e.emitNode))}return e}function GL(e,t){let{flags:r,internalFlags:s,leadingComments:f,trailingComments:x,commentRange:w,sourceMapRange:A,tokenSourceMapRanges:g,constantValue:B,helpers:N,startsOnNewLine:X,snippetElement:F}=e;if(t||(t={}),f&&(t.leadingComments=jr(f.slice(),t.leadingComments)),x&&(t.trailingComments=jr(x.slice(),t.trailingComments)),r&&(t.flags=r),s&&(t.internalFlags=s&-9),w&&(t.commentRange=w),A&&(t.sourceMapRange=A),g&&(t.tokenSourceMapRanges=$L(g,t.tokenSourceMapRanges)),B!==void 0&&(t.constantValue=B),N)for(let $ of N)t.helpers=g_(t.helpers,$);return X!==void 0&&(t.startsOnNewLine=X),F!==void 0&&(t.snippetElement=F),t}function $L(e,t){t||(t=[]);for(let r in e)t[r]=e[r];return t}var Bl,Fv,Bv,Hn,qv,tc,P8,si,D8,KL=D({"src/compiler/factory/nodeFactory.ts"(){"use strict";nn(),Bl=0,Fv=(e=>(e[e.None=0]="None",e[e.NoParenthesizerRules=1]="NoParenthesizerRules",e[e.NoNodeConverters=2]="NoNodeConverters",e[e.NoIndentationOnFreshPropertyAccess=4]="NoIndentationOnFreshPropertyAccess",e[e.NoOriginalNode=8]="NoOriginalNode",e))(Fv||{}),Bv=[],qv={},tc=S8(),P8={createBaseSourceFileNode:e=>Fl(tc.createBaseSourceFileNode(e)),createBaseIdentifierNode:e=>Fl(tc.createBaseIdentifierNode(e)),createBasePrivateIdentifierNode:e=>Fl(tc.createBasePrivateIdentifierNode(e)),createBaseTokenNode:e=>Fl(tc.createBaseTokenNode(e)),createBaseNode:e=>Fl(tc.createBaseNode(e))},si=Zf(4,P8)}}),XL=()=>{},YL=()=>{};function zs(e){return e.kind===8}function Uv(e){return e.kind===9}function Gn(e){return e.kind===10}function td(e){return e.kind===11}function QL(e){return e.kind===13}function k8(e){return e.kind===14}function ZL(e){return e.kind===15}function eR(e){return e.kind===16}function tR(e){return e.kind===17}function rR(e){return e.kind===25}function I8(e){return e.kind===27}function zv(e){return e.kind===39}function Wv(e){return e.kind===40}function nR(e){return e.kind===41}function rd(e){return e.kind===53}function ql(e){return e.kind===57}function iR(e){return e.kind===58}function aR(e){return e.kind===28}function sR(e){return e.kind===38}function yt(e){return e.kind===79}function vn(e){return e.kind===80}function N8(e){return e.kind===93}function oR(e){return e.kind===88}function Ul(e){return e.kind===132}function _R(e){return e.kind===129}function cR(e){return e.kind===133}function O8(e){return e.kind===146}function lR(e){return e.kind===124}function uR(e){return e.kind===126}function pR(e){return e.kind===161}function fR(e){return e.kind===127}function nd(e){return e.kind===106}function M8(e){return e.kind===100}function dR(e){return e.kind===82}function rc(e){return e.kind===163}function Ws(e){return e.kind===164}function Fo(e){return e.kind===165}function Vs(e){return e.kind===166}function zl(e){return e.kind===167}function Wl(e){return e.kind===168}function Bo(e){return e.kind===169}function L8(e){return e.kind===170}function Vl(e){return e.kind===171}function Hl(e){return e.kind===172}function nc(e){return e.kind===173}function Gl(e){return e.kind===174}function ic(e){return e.kind===175}function Vv(e){return e.kind===176}function R8(e){return e.kind===177}function Hv(e){return e.kind===178}function j8(e){return e.kind===179}function ac(e){return e.kind===180}function $l(e){return e.kind===181}function Gv(e){return e.kind===182}function J8(e){return e.kind===183}function id(e){return e.kind===184}function F8(e){return e.kind===185}function B8(e){return e.kind===186}function $v(e){return e.kind===199}function q8(e){return e.kind===187}function U8(e){return e.kind===188}function z8(e){return e.kind===189}function W8(e){return e.kind===190}function V8(e){return e.kind===191}function H8(e){return e.kind===192}function Kv(e){return e.kind===193}function Xv(e){return e.kind===194}function G8(e){return e.kind===195}function $8(e){return e.kind===196}function K8(e){return e.kind===197}function Yv(e){return e.kind===198}function Kl(e){return e.kind===202}function mR(e){return e.kind===201}function hR(e){return e.kind===200}function gR(e){return e.kind===203}function yR(e){return e.kind===204}function Xl(e){return e.kind===205}function Yl(e){return e.kind===206}function Hs(e){return e.kind===207}function bn(e){return e.kind===208}function gs(e){return e.kind===209}function sc(e){return e.kind===210}function X8(e){return e.kind===211}function Y8(e){return e.kind===212}function vR(e){return e.kind===213}function qo(e){return e.kind===214}function ad(e){return e.kind===215}function sd(e){return e.kind===216}function bR(e){return e.kind===217}function TR(e){return e.kind===218}function Qv(e){return e.kind===219}function SR(e){return e.kind===220}function od(e){return e.kind===221}function Q8(e){return e.kind===222}function ur(e){return e.kind===223}function xR(e){return e.kind===224}function ER(e){return e.kind===225}function wR(e){return e.kind===226}function Zv(e){return e.kind===227}function _d(e){return e.kind===228}function cd(e){return e.kind===229}function e2(e){return e.kind===230}function CR(e){return e.kind===231}function AR(e){return e.kind===235}function Uo(e){return e.kind===232}function t2(e){return e.kind===233}function PR(e){return e.kind===234}function Z8(e){return e.kind===356}function oc(e){return e.kind===357}function DR(e){return e.kind===236}function kR(e){return e.kind===237}function Ql(e){return e.kind===238}function zo(e){return e.kind===240}function IR(e){return e.kind===239}function Zl(e){return e.kind===241}function NR(e){return e.kind===242}function OR(e){return e.kind===243}function MR(e){return e.kind===244}function eE(e){return e.kind===245}function LR(e){return e.kind===246}function RR(e){return e.kind===247}function jR(e){return e.kind===248}function JR(e){return e.kind===249}function FR(e){return e.kind===250}function BR(e){return e.kind===251}function qR(e){return e.kind===252}function tE(e){return e.kind===253}function UR(e){return e.kind===254}function zR(e){return e.kind===255}function WR(e){return e.kind===256}function Vi(e){return e.kind===257}function r2(e){return e.kind===258}function Wo(e){return e.kind===259}function _c(e){return e.kind===260}function eu(e){return e.kind===261}function n2(e){return e.kind===262}function i2(e){return e.kind===263}function Ea(e){return e.kind===264}function rE(e){return e.kind===265}function VR(e){return e.kind===266}function a2(e){return e.kind===267}function s2(e){return e.kind===268}function o2(e){return e.kind===269}function HR(e){return e.kind===270}function GR(e){return e.kind===298}function $R(e){return e.kind===296}function KR(e){return e.kind===297}function _2(e){return e.kind===271}function ld(e){return e.kind===277}function XR(e){return e.kind===272}function nE(e){return e.kind===273}function Vo(e){return e.kind===274}function cc(e){return e.kind===275}function iE(e){return e.kind===276}function aE(e){return e.kind===278}function YR(e){return e.kind===279}function c2(e){return e.kind===355}function QR(e){return e.kind===360}function ZR(e){return e.kind===358}function ej(e){return e.kind===359}function ud(e){return e.kind===280}function l2(e){return e.kind===281}function tj(e){return e.kind===282}function tu(e){return e.kind===283}function sE(e){return e.kind===284}function pd(e){return e.kind===285}function u2(e){return e.kind===286}function rj(e){return e.kind===287}function nj(e){return e.kind===288}function p2(e){return e.kind===289}function ij(e){return e.kind===290}function aj(e){return e.kind===291}function sj(e){return e.kind===292}function oE(e){return e.kind===293}function ru(e){return e.kind===294}function oj(e){return e.kind===295}function lc(e){return e.kind===299}function nu(e){return e.kind===300}function _E(e){return e.kind===301}function cE(e){return e.kind===302}function _j(e){return e.kind===304}function wi(e){return e.kind===308}function cj(e){return e.kind===309}function lj(e){return e.kind===310}function lE(e){return e.kind===312}function fd(e){return e.kind===313}function uc(e){return e.kind===314}function uj(e){return e.kind===327}function pj(e){return e.kind===328}function fj(e){return e.kind===329}function dj(e){return e.kind===315}function mj(e){return e.kind===316}function uE(e){return e.kind===317}function hj(e){return e.kind===318}function gj(e){return e.kind===319}function dd(e){return e.kind===320}function yj(e){return e.kind===321}function vj(e){return e.kind===322}function Ho(e){return e.kind===323}function f2(e){return e.kind===325}function iu(e){return e.kind===326}function md(e){return e.kind===331}function bj(e){return e.kind===333}function pE(e){return e.kind===335}function Tj(e){return e.kind===341}function d2(e){return e.kind===336}function m2(e){return e.kind===337}function h2(e){return e.kind===338}function g2(e){return e.kind===339}function fE(e){return e.kind===340}function y2(e){return e.kind===342}function v2(e){return e.kind===334}function Sj(e){return e.kind===350}function dE(e){return e.kind===343}function pc(e){return e.kind===344}function b2(e){return e.kind===345}function mE(e){return e.kind===346}function au(e){return e.kind===347}function Go(e){return e.kind===348}function xj(e){return e.kind===349}function Ej(e){return e.kind===330}function wj(e){return e.kind===351}function hE(e){return e.kind===332}function T2(e){return e.kind===353}function Cj(e){return e.kind===352}function Aj(e){return e.kind===354}var Pj=D({"src/compiler/factory/nodeTests.ts"(){"use strict";nn()}});function Dj(e){return e.createExportDeclaration(void 0,!1,e.createNamedExports([]),void 0)}function hd(e,t,r,s){if(Ws(r))return Rt(e.createElementAccessExpression(t,r.expression),s);{let f=Rt(js(r)?e.createPropertyAccessExpression(t,r):e.createElementAccessExpression(t,r),r);return addEmitFlags(f,128),f}}function S2(e,t){let r=dc.createIdentifier(e||"React");return Sa(r,fl(t)),r}function x2(e,t,r){if(rc(t)){let s=x2(e,t.left,r),f=e.createIdentifier(qr(t.right));return f.escapedText=t.right.escapedText,e.createPropertyAccessExpression(s,f)}else return S2(qr(t),r)}function gE(e,t,r,s){return t?x2(e,t,s):e.createPropertyAccessExpression(S2(r,s),"createElement")}function kj(e,t,r,s){return t?x2(e,t,s):e.createPropertyAccessExpression(S2(r,s),"Fragment")}function Ij(e,t,r,s,f,x){let w=[r];if(s&&w.push(s),f&&f.length>0)if(s||w.push(e.createNull()),f.length>1)for(let A of f)vd(A),w.push(A);else w.push(f[0]);return Rt(e.createCallExpression(t,void 0,w),x)}function Nj(e,t,r,s,f,x,w){let g=[kj(e,r,s,x),e.createNull()];if(f&&f.length>0)if(f.length>1)for(let B of f)vd(B),g.push(B);else g.push(f[0]);return Rt(e.createCallExpression(gE(e,t,s,x),void 0,g),w)}function Oj(e,t,r){if(r2(t)){let s=fo(t.declarations),f=e.updateVariableDeclaration(s,s.name,void 0,void 0,r);return Rt(e.createVariableStatement(void 0,e.updateVariableDeclarationList(t,[f])),t)}else{let s=Rt(e.createAssignment(t,r),t);return Rt(e.createExpressionStatement(s),t)}}function Mj(e,t,r){return Ql(t)?e.updateBlock(t,Rt(e.createNodeArray([r,...t.statements]),t.statements)):e.createBlock(e.createNodeArray([t,r]),!0)}function yE(e,t){if(rc(t)){let r=yE(e,t.left),s=Sa(Rt(e.cloneNode(t.right),t.right),t.right.parent);return Rt(e.createPropertyAccessExpression(r,s),t)}else return Sa(Rt(e.cloneNode(t),t),t.parent)}function vE(e,t){return yt(t)?e.createStringLiteralFromNode(t):Ws(t)?Sa(Rt(e.cloneNode(t.expression),t.expression),t.expression.parent):Sa(Rt(e.cloneNode(t),t),t.parent)}function Lj(e,t,r,s,f){let{firstAccessor:x,getAccessor:w,setAccessor:A}=W0(t,r);if(r===x)return Rt(e.createObjectDefinePropertyCall(s,vE(e,r.name),e.createPropertyDescriptor({enumerable:e.createFalse(),configurable:!0,get:w&&Rt(Dn(e.createFunctionExpression(sf(w),void 0,void 0,void 0,w.parameters,void 0,w.body),w),w),set:A&&Rt(Dn(e.createFunctionExpression(sf(A),void 0,void 0,void 0,A.parameters,void 0,A.body),A),A)},!f)),x)}function Rj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),t.initializer),t),t)}function jj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),e.cloneNode(t.name)),t),t)}function Jj(e,t,r){return Dn(Rt(e.createAssignment(hd(e,r,t.name,t.name),Dn(Rt(e.createFunctionExpression(sf(t),t.asteriskToken,void 0,void 0,t.parameters,void 0,t.body),t),t)),t),t)}function Fj(e,t,r,s){switch(r.name&&vn(r.name)&&Y.failBadSyntaxKind(r.name,"Private identifiers are not allowed in object literals."),r.kind){case 174:case 175:return Lj(e,t.properties,r,s,!!t.multiLine);case 299:return Rj(e,r,s);case 300:return jj(e,r,s);case 171:return Jj(e,r,s)}}function Bj(e,t,r,s,f){let x=t.operator;Y.assert(x===45||x===46,"Expected 'node' to be a pre- or post-increment or pre- or post-decrement expression");let w=e.createTempVariable(s);r=e.createAssignment(w,r),Rt(r,t.operand);let A=od(t)?e.createPrefixUnaryExpression(x,w):e.createPostfixUnaryExpression(w,x);return Rt(A,t),f&&(A=e.createAssignment(f,A),Rt(A,t)),r=e.createComma(r,A),Rt(r,t),Q8(t)&&(r=e.createComma(r,w),Rt(r,t)),r}function qj(e){return(xi(e)&65536)!==0}function E2(e){return(xi(e)&32768)!==0}function Uj(e){return(xi(e)&16384)!==0}function bE(e){return Gn(e.expression)&&e.expression.text==="use strict"}function TE(e){for(let t of e)if(us(t)){if(bE(t))return t}else break}function SE(e){let t=pa(e);return t!==void 0&&us(t)&&bE(t)}function gd(e){return e.kind===223&&e.operatorToken.kind===27}function zj(e){return gd(e)||oc(e)}function xE(e){return qo(e)&&Pr(e)&&!!_f(e)}function Wj(e){let t=cf(e);return Y.assertIsDefined(t),t}function yd(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;switch(e.kind){case 214:return t&16&&xE(e)?!1:(t&1)!==0;case 213:case 231:case 230:case 235:return(t&2)!==0;case 232:return(t&4)!==0;case 356:return(t&8)!==0}return!1}function $o(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15;for(;yd(e,t);)e=e.expression;return e}function Vj(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:15,r=e.parent;for(;yd(r,t);)r=r.parent,Y.assert(r);return r}function Hj(e){return $o(e,6)}function vd(e){return setStartsOnNewLine(e,!0)}function EE(e){let t=ul(e,wi),r=t&&t.emitNode;return r&&r.externalHelpersModuleName}function Gj(e){let t=ul(e,wi),r=t&&t.emitNode;return!!r&&(!!r.externalHelpersModuleName||!!r.externalHelpers)}function $j(e,t,r,s,f,x,w){if(s.importHelpers&&Yy(r,s)){let A,g=Ei(s);if(g>=5&&g<=99||r.impliedNodeFormat===99){let B=getEmitHelpers(r);if(B){let N=[];for(let X of B)if(!X.scoped){let F=X.importName;F&&qn(N,F)}if(Ke(N)){N.sort(ri),A=e.createNamedImports(Ze(N,$=>m3(r,$)?e.createImportSpecifier(!1,void 0,e.createIdentifier($)):e.createImportSpecifier(!1,e.createIdentifier($),t.getUnscopedHelperName($))));let X=ul(r,wi),F=getOrCreateEmitNode(X);F.externalHelpers=!0}}}else{let B=wE(e,r,s,f,x||w);B&&(A=e.createNamespaceImport(B))}if(A){let B=e.createImportDeclaration(void 0,e.createImportClause(!1,void 0,A),e.createStringLiteral(Kf),void 0);return addInternalEmitFlags(B,2),B}}}function wE(e,t,r,s,f){if(r.importHelpers&&Yy(t,r)){let x=EE(t);if(x)return x;let w=Ei(r),A=(s||ov(r)&&f)&&w!==4&&(w<5||t.impliedNodeFormat===1);if(!A){let g=getEmitHelpers(t);if(g){for(let B of g)if(!B.scoped){A=!0;break}}}if(A){let g=ul(t,wi),B=getOrCreateEmitNode(g);return B.externalHelpersModuleName||(B.externalHelpersModuleName=e.createUniqueName(Kf))}}}function Kj(e,t,r){let s=Q3(t);if(s&&!Z3(t)&&!b3(t)){let f=s.name;return cs(f)?f:e.createIdentifier(No(r,f)||qr(f))}if(t.kind===269&&t.importClause||t.kind===275&&t.moduleSpecifier)return e.getGeneratedNameForNode(t)}function Xj(e,t,r,s,f,x){let w=E0(t);if(w&&Gn(w))return Qj(t,s,e,f,x)||Yj(e,w,r)||e.cloneNode(w)}function Yj(e,t,r){let s=r.renamedDependencies&&r.renamedDependencies.get(t.text);return s?e.createStringLiteral(s):void 0}function CE(e,t,r,s){if(t){if(t.moduleName)return e.createStringLiteral(t.moduleName);if(!t.isDeclarationFile&&B0(s))return e.createStringLiteral(F0(r,t.fileName))}}function Qj(e,t,r,s,f){return CE(r,s.getExternalModuleFileFromDeclaration(e),t,f)}function AE(e){if(Fy(e))return e.initializer;if(lc(e)){let t=e.initializer;return ms(t,!0)?t.right:void 0}if(nu(e))return e.objectAssignmentInitializer;if(ms(e,!0))return e.right;if(Zv(e))return AE(e.expression)}function Ko(e){if(Fy(e))return e.name;if(jy(e)){switch(e.kind){case 299:return Ko(e.initializer);case 300:return e.name;case 301:return Ko(e.expression)}return}return ms(e,!0)?Ko(e.left):Zv(e)?Ko(e.expression):e}function Zj(e){switch(e.kind){case 166:case 205:return e.dotDotDotToken;case 227:case 301:return e}}function eJ(e){let t=PE(e);return Y.assert(!!t||_E(e),"Invalid property name for binding element."),t}function PE(e){switch(e.kind){case 205:if(e.propertyName){let r=e.propertyName;return vn(r)?Y.failBadSyntaxKind(r):Ws(r)&&DE(r.expression)?r.expression:r}break;case 299:if(e.name){let r=e.name;return vn(r)?Y.failBadSyntaxKind(r):Ws(r)&&DE(r.expression)?r.expression:r}break;case 301:return e.name&&vn(e.name)?Y.failBadSyntaxKind(e.name):e.name}let t=Ko(e);if(t&&vl(t))return t}function DE(e){let t=e.kind;return t===10||t===8}function kE(e){switch(e.kind){case 203:case 204:case 206:return e.elements;case 207:return e.properties}}function w2(e){if(e){let t=e;for(;;){if(yt(t)||!t.body)return yt(t)?t:t.name;t=t.body}}}function tJ(e){let t=e.kind;return t===173||t===175}function IE(e){let t=e.kind;return t===173||t===174||t===175}function rJ(e){let t=e.kind;return t===299||t===300||t===259||t===173||t===178||t===172||t===279||t===240||t===261||t===262||t===263||t===264||t===268||t===269||t===267||t===275||t===274}function nJ(e){let t=e.kind;return t===172||t===299||t===300||t===279||t===267}function iJ(e){return ql(e)||rd(e)}function aJ(e){return yt(e)||Xv(e)}function sJ(e){return O8(e)||zv(e)||Wv(e)}function oJ(e){return ql(e)||zv(e)||Wv(e)}function _J(e){return yt(e)||Gn(e)}function cJ(e){let t=e.kind;return t===104||t===110||t===95||Iy(e)||od(e)}function lJ(e){return e===42}function uJ(e){return e===41||e===43||e===44}function pJ(e){return lJ(e)||uJ(e)}function fJ(e){return e===39||e===40}function dJ(e){return fJ(e)||pJ(e)}function mJ(e){return e===47||e===48||e===49}function hJ(e){return mJ(e)||dJ(e)}function gJ(e){return e===29||e===32||e===31||e===33||e===102||e===101}function yJ(e){return gJ(e)||hJ(e)}function vJ(e){return e===34||e===36||e===35||e===37}function bJ(e){return vJ(e)||yJ(e)}function TJ(e){return e===50||e===51||e===52}function SJ(e){return TJ(e)||bJ(e)}function xJ(e){return e===55||e===56}function EJ(e){return xJ(e)||SJ(e)}function wJ(e){return e===60||EJ(e)||G_(e)}function CJ(e){return wJ(e)||e===27}function AJ(e){return CJ(e.kind)}function PJ(e,t,r,s,f,x){let w=new OE(e,t,r,s,f,x);return A;function A(g,B){let N={value:void 0},X=[Td.enter],F=[g],$=[void 0],ae=0;for(;X[ae]!==Td.done;)ae=X[ae](w,ae,X,F,$,N,B);return Y.assertEqual(ae,0),N.value}}function NE(e){return e===93||e===88}function DJ(e){let t=e.kind;return NE(t)}function kJ(e){let t=e.kind;return Wi(t)&&!NE(t)}function IJ(e,t){if(t!==void 0)return t.length===0?t:Rt(e.createNodeArray([],t.hasTrailingComma),t)}function NJ(e){var t;let r=e.emitNode.autoGenerate;if(r.flags&4){let s=r.id,f=e,x=f.original;for(;x;){f=x;let w=(t=f.emitNode)==null?void 0:t.autoGenerate;if(js(f)&&(w===void 0||w.flags&4&&w.id!==s))break;x=f.original}return f}return e}function C2(e,t){return typeof e=="object"?bd(!1,e.prefix,e.node,e.suffix,t):typeof e=="string"?e.length>0&&e.charCodeAt(0)===35?e.slice(1):e:""}function OJ(e,t){return typeof e=="string"?e:MJ(e,Y.checkDefined(t))}function MJ(e,t){return Ny(e)?t(e).slice(1):cs(e)?t(e):vn(e)?e.escapedText.slice(1):qr(e)}function bd(e,t,r,s,f){return t=C2(t,f),s=C2(s,f),r=OJ(r,f),`${e?"#":""}${t}${r}${s}`}function LJ(e,t,r,s){return e.updatePropertyDeclaration(t,r,e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage"),void 0,void 0,s)}function RJ(e,t,r,s){return e.createGetAccessorDeclaration(r,s,[],void 0,e.createBlock([e.createReturnStatement(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")))]))}function jJ(e,t,r,s){return e.createSetAccessorDeclaration(r,s,[e.createParameterDeclaration(void 0,void 0,"value")],e.createBlock([e.createExpressionStatement(e.createAssignment(e.createPropertyAccessExpression(e.createThis(),e.getGeneratedPrivateNameForNode(t.name,void 0,"_accessor_storage")),e.createIdentifier("value")))]))}function JJ(e){let t=e.expression;for(;;){if(t=$o(t),oc(t)){t=Zn(t.elements);continue}if(gd(t)){t=t.right;continue}if(ms(t,!0)&&cs(t.left))return t;break}}function FJ(e){return qo(e)&&fs(e)&&!e.emitNode}function su(e,t){if(FJ(e))su(e.expression,t);else if(gd(e))su(e.left,t),su(e.right,t);else if(oc(e))for(let r of e.elements)su(r,t);else t.push(e)}function BJ(e){let t=[];return su(e,t),t}function A2(e){if(e.transformFlags&65536)return!0;if(e.transformFlags&128)for(let t of kE(e)){let r=Ko(t);if(r&&KS(r)&&(r.transformFlags&65536||r.transformFlags&128&&A2(r)))return!0}return!1}var Td,OE,qJ=D({"src/compiler/factory/utilities.ts"(){"use strict";nn(),(e=>{function t(N,X,F,$,ae,Te,Se){let Ye=X>0?ae[X-1]:void 0;return Y.assertEqual(F[X],t),ae[X]=N.onEnter($[X],Ye,Se),F[X]=A(N,t),X}e.enter=t;function r(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],r),Y.assertIsDefined(N.onLeft),F[X]=A(N,r);let Ye=N.onLeft($[X].left,ae[X],$[X]);return Ye?(B(X,$,Ye),g(X,F,$,ae,Ye)):X}e.left=r;function s(N,X,F,$,ae,Te,Se){return Y.assertEqual(F[X],s),Y.assertIsDefined(N.onOperator),F[X]=A(N,s),N.onOperator($[X].operatorToken,ae[X],$[X]),X}e.operator=s;function f(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],f),Y.assertIsDefined(N.onRight),F[X]=A(N,f);let Ye=N.onRight($[X].right,ae[X],$[X]);return Ye?(B(X,$,Ye),g(X,F,$,ae,Ye)):X}e.right=f;function x(N,X,F,$,ae,Te,Se){Y.assertEqual(F[X],x),F[X]=A(N,x);let Ye=N.onExit($[X],ae[X]);if(X>0){if(X--,N.foldState){let Ne=F[X]===x?"right":"left";ae[X]=N.foldState(ae[X],Ye,Ne)}}else Te.value=Ye;return X}e.exit=x;function w(N,X,F,$,ae,Te,Se){return Y.assertEqual(F[X],w),X}e.done=w;function A(N,X){switch(X){case t:if(N.onLeft)return r;case r:if(N.onOperator)return s;case s:if(N.onRight)return f;case f:return x;case x:return w;case w:return w;default:Y.fail("Invalid state")}}e.nextState=A;function g(N,X,F,$,ae){return N++,X[N]=t,F[N]=ae,$[N]=void 0,N}function B(N,X,F){if(Y.shouldAssert(2))for(;N>=0;)Y.assert(X[N]!==F,"Circular traversal detected."),N--}})(Td||(Td={})),OE=class{constructor(e,t,r,s,f,x){this.onEnter=e,this.onLeft=t,this.onOperator=r,this.onRight=s,this.onExit=f,this.foldState=x}}}});function Rt(e,t){return t?Us(e,t.pos,t.end):e}function fc(e){let t=e.kind;return t===165||t===166||t===168||t===169||t===170||t===171||t===173||t===174||t===175||t===178||t===182||t===215||t===216||t===228||t===240||t===259||t===260||t===261||t===262||t===263||t===264||t===268||t===269||t===274||t===275}function ME(e){let t=e.kind;return t===166||t===169||t===171||t===174||t===175||t===228||t===260}var UJ=D({"src/compiler/factory/utilitiesPublic.ts"(){"use strict";nn()}});function G(e,t){return t&&e(t)}function ze(e,t,r){if(r){if(t)return t(r);for(let s of r){let f=e(s);if(f)return f}}}function LE(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===42&&e.charCodeAt(t+3)!==47}function ou(e){return c(e.statements,zJ)||WJ(e)}function zJ(e){return fc(e)&&VJ(e,93)||s2(e)&&ud(e.moduleReference)||o2(e)||Vo(e)||cc(e)?e:void 0}function WJ(e){return e.flags&4194304?RE(e):void 0}function RE(e){return HJ(e)?e:xr(e,RE)}function VJ(e,t){return Ke(e.modifiers,r=>r.kind===t)}function HJ(e){return t2(e)&&e.keywordToken===100&&e.name.escapedText==="meta"}function jE(e,t,r){return ze(t,r,e.typeParameters)||ze(t,r,e.parameters)||G(t,e.type)}function JE(e,t,r){return ze(t,r,e.types)}function FE(e,t,r){return G(t,e.type)}function BE(e,t,r){return ze(t,r,e.elements)}function qE(e,t,r){return G(t,e.expression)||G(t,e.questionDotToken)||ze(t,r,e.typeArguments)||ze(t,r,e.arguments)}function UE(e,t,r){return ze(t,r,e.statements)}function zE(e,t,r){return G(t,e.label)}function WE(e,t,r){return ze(t,r,e.modifiers)||G(t,e.name)||ze(t,r,e.typeParameters)||ze(t,r,e.heritageClauses)||ze(t,r,e.members)}function VE(e,t,r){return ze(t,r,e.elements)}function HE(e,t,r){return G(t,e.propertyName)||G(t,e.name)}function GE(e,t,r){return G(t,e.tagName)||ze(t,r,e.typeArguments)||G(t,e.attributes)}function Xo(e,t,r){return G(t,e.type)}function $E(e,t,r){return G(t,e.tagName)||(e.isNameFirst?G(t,e.name)||G(t,e.typeExpression):G(t,e.typeExpression)||G(t,e.name))||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function Yo(e,t,r){return G(t,e.tagName)||G(t,e.typeExpression)||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function P2(e,t,r){return G(t,e.name)}function Gs(e,t,r){return G(t,e.tagName)||(typeof e.comment=="string"?void 0:ze(t,r,e.comment))}function GJ(e,t,r){return G(t,e.expression)}function xr(e,t,r){if(e===void 0||e.kind<=162)return;let s=o7[e.kind];return s===void 0?void 0:s(e,t,r)}function D2(e,t,r){let s=KE(e),f=[];for(;f.length=0;--A)s.push(x[A]),f.push(w)}else{let A=t(x,w);if(A){if(A==="skip")continue;return A}if(x.kind>=163)for(let g of KE(x))s.push(g),f.push(x)}}}function KE(e){let t=[];return xr(e,r,r),t;function r(s){t.unshift(s)}}function XE(e){e.externalModuleIndicator=ou(e)}function YE(e,t,r){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,f=arguments.length>4?arguments[4]:void 0;var x,w;(x=rs)==null||x.push(rs.Phase.Parse,"createSourceFile",{path:e},!0),DT("beforeParse");let A;Dp.logStartParseSourceFile(e);let{languageVersion:g,setExternalModuleIndicator:B,impliedNodeFormat:N}=typeof r=="object"?r:{languageVersion:r};if(g===100)A=Ci.parseSourceFile(e,t,g,void 0,s,6,yn);else{let X=N===void 0?B:F=>(F.impliedNodeFormat=N,(B||XE)(F));A=Ci.parseSourceFile(e,t,g,void 0,s,f,X)}return Dp.logStopParseSourceFile(),DT("afterParse"),B5("Parse","beforeParse","afterParse"),(w=rs)==null||w.pop(),A}function $J(e,t){return Ci.parseIsolatedEntityName(e,t)}function KJ(e,t){return Ci.parseJsonText(e,t)}function Qo(e){return e.externalModuleIndicator!==void 0}function k2(e,t,r){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,f=Sd.updateSourceFile(e,t,r,s);return f.flags|=e.flags&6291456,f}function XJ(e,t,r){let s=Ci.JSDocParser.parseIsolatedJSDocComment(e,t,r);return s&&s.jsDoc&&Ci.fixupParentReferences(s.jsDoc),s}function YJ(e,t,r){return Ci.JSDocParser.parseJSDocTypeExpressionForTests(e,t,r)}function QE(e){return da(e,Rv)||ns(e,".ts")&&Fi(sl(e),".d.")}function QJ(e,t,r,s){if(e){if(e==="import")return 99;if(e==="require")return 1;s(t,r-t,ve.resolution_mode_should_be_either_require_or_import)}}function ZE(e,t){let r=[];for(let s of Ao(t,0)||Bt){let f=t.substring(s.pos,s.end);eF(r,s,f)}e.pragmas=new Map;for(let s of r){if(e.pragmas.has(s.name)){let f=e.pragmas.get(s.name);f instanceof Array?f.push(s.args):e.pragmas.set(s.name,[f,s.args]);continue}e.pragmas.set(s.name,s.args)}}function e7(e,t){e.checkJsDirective=void 0,e.referencedFiles=[],e.typeReferenceDirectives=[],e.libReferenceDirectives=[],e.amdDependencies=[],e.hasNoDefaultLib=!1,e.pragmas.forEach((r,s)=>{switch(s){case"reference":{let f=e.referencedFiles,x=e.typeReferenceDirectives,w=e.libReferenceDirectives;c(en(r),A=>{let{types:g,lib:B,path:N,["resolution-mode"]:X}=A.arguments;if(A.arguments["no-default-lib"])e.hasNoDefaultLib=!0;else if(g){let F=QJ(X,g.pos,g.end,t);x.push(Object.assign({pos:g.pos,end:g.end,fileName:g.value},F?{resolutionMode:F}:{}))}else B?w.push({pos:B.pos,end:B.end,fileName:B.value}):N?f.push({pos:N.pos,end:N.end,fileName:N.value}):t(A.range.pos,A.range.end-A.range.pos,ve.Invalid_reference_directive_syntax)});break}case"amd-dependency":{e.amdDependencies=Ze(en(r),f=>({name:f.arguments.name,path:f.arguments.path}));break}case"amd-module":{if(r instanceof Array)for(let f of r)e.moduleName&&t(f.range.pos,f.range.end-f.range.pos,ve.An_AMD_module_cannot_have_multiple_name_assignments),e.moduleName=f.arguments.name;else e.moduleName=r.arguments.name;break}case"ts-nocheck":case"ts-check":{c(en(r),f=>{(!e.checkJsDirective||f.range.pos>e.checkJsDirective.pos)&&(e.checkJsDirective={enabled:s==="ts-check",end:f.range.end,pos:f.range.pos})});break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:Y.fail("Unhandled pragma kind")}})}function ZJ(e){if(xd.has(e))return xd.get(e);let t=new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return xd.set(e,t),t}function eF(e,t,r){let s=t.kind===2&&_7.exec(r);if(s){let x=s[1].toLowerCase(),w=Vp[x];if(!w||!(w.kind&1))return;if(w.args){let A={};for(let g of w.args){let N=ZJ(g.name).exec(r);if(!N&&!g.optional)return;if(N){let X=N[2]||N[3];if(g.captureSpan){let F=t.pos+N.index+N[1].length+1;A[g.name]={value:X,pos:F,end:F+X.length}}else A[g.name]=X}}e.push({name:x,args:{arguments:A,range:t}})}else e.push({name:x,args:{arguments:{},range:t}});return}let f=t.kind===2&&c7.exec(r);if(f)return t7(e,t,2,f);if(t.kind===3){let x=/@(\S+)(\s+.*)?$/gim,w;for(;w=x.exec(r);)t7(e,t,4,w)}}function t7(e,t,r,s){if(!s)return;let f=s[1].toLowerCase(),x=Vp[f];if(!x||!(x.kind&r))return;let w=s[2],A=tF(x,w);A!=="fail"&&e.push({name:f,args:{arguments:A,range:t}})}function tF(e,t){if(!t)return{};if(!e.args)return{};let r=Pp(t).split(/\s+/),s={};for(let f=0;fnew(s7||(s7=lr.getSourceFileConstructor()))(e,-1,-1),createBaseIdentifierNode:e=>new(i7||(i7=lr.getIdentifierConstructor()))(e,-1,-1),createBasePrivateIdentifierNode:e=>new(a7||(a7=lr.getPrivateIdentifierConstructor()))(e,-1,-1),createBaseTokenNode:e=>new(n7||(n7=lr.getTokenConstructor()))(e,-1,-1),createBaseNode:e=>new(r7||(r7=lr.getNodeConstructor()))(e,-1,-1)},dc=Zf(1,I2),o7={[163]:function(t,r,s){return G(r,t.left)||G(r,t.right)},[165]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.constraint)||G(r,t.default)||G(r,t.expression)},[300]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.equalsToken)||G(r,t.objectAssignmentInitializer)},[301]:function(t,r,s){return G(r,t.expression)},[166]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.dotDotDotToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)||G(r,t.initializer)},[169]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.type)||G(r,t.initializer)},[168]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)||G(r,t.initializer)},[299]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||G(r,t.initializer)},[257]:function(t,r,s){return G(r,t.name)||G(r,t.exclamationToken)||G(r,t.type)||G(r,t.initializer)},[205]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.propertyName)||G(r,t.name)||G(r,t.initializer)},[178]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[182]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[181]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[176]:jE,[177]:jE,[171]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.exclamationToken)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[170]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.questionToken)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)},[173]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[174]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[175]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[259]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[215]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.asteriskToken)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.body)},[216]:function(t,r,s){return ze(r,s,t.modifiers)||ze(r,s,t.typeParameters)||ze(r,s,t.parameters)||G(r,t.type)||G(r,t.equalsGreaterThanToken)||G(r,t.body)},[172]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.body)},[180]:function(t,r,s){return G(r,t.typeName)||ze(r,s,t.typeArguments)},[179]:function(t,r,s){return G(r,t.assertsModifier)||G(r,t.parameterName)||G(r,t.type)},[183]:function(t,r,s){return G(r,t.exprName)||ze(r,s,t.typeArguments)},[184]:function(t,r,s){return ze(r,s,t.members)},[185]:function(t,r,s){return G(r,t.elementType)},[186]:function(t,r,s){return ze(r,s,t.elements)},[189]:JE,[190]:JE,[191]:function(t,r,s){return G(r,t.checkType)||G(r,t.extendsType)||G(r,t.trueType)||G(r,t.falseType)},[192]:function(t,r,s){return G(r,t.typeParameter)},[202]:function(t,r,s){return G(r,t.argument)||G(r,t.assertions)||G(r,t.qualifier)||ze(r,s,t.typeArguments)},[298]:function(t,r,s){return G(r,t.assertClause)},[193]:FE,[195]:FE,[196]:function(t,r,s){return G(r,t.objectType)||G(r,t.indexType)},[197]:function(t,r,s){return G(r,t.readonlyToken)||G(r,t.typeParameter)||G(r,t.nameType)||G(r,t.questionToken)||G(r,t.type)||ze(r,s,t.members)},[198]:function(t,r,s){return G(r,t.literal)},[199]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.name)||G(r,t.questionToken)||G(r,t.type)},[203]:BE,[204]:BE,[206]:function(t,r,s){return ze(r,s,t.elements)},[207]:function(t,r,s){return ze(r,s,t.properties)},[208]:function(t,r,s){return G(r,t.expression)||G(r,t.questionDotToken)||G(r,t.name)},[209]:function(t,r,s){return G(r,t.expression)||G(r,t.questionDotToken)||G(r,t.argumentExpression)},[210]:qE,[211]:qE,[212]:function(t,r,s){return G(r,t.tag)||G(r,t.questionDotToken)||ze(r,s,t.typeArguments)||G(r,t.template)},[213]:function(t,r,s){return G(r,t.type)||G(r,t.expression)},[214]:function(t,r,s){return G(r,t.expression)},[217]:function(t,r,s){return G(r,t.expression)},[218]:function(t,r,s){return G(r,t.expression)},[219]:function(t,r,s){return G(r,t.expression)},[221]:function(t,r,s){return G(r,t.operand)},[226]:function(t,r,s){return G(r,t.asteriskToken)||G(r,t.expression)},[220]:function(t,r,s){return G(r,t.expression)},[222]:function(t,r,s){return G(r,t.operand)},[223]:function(t,r,s){return G(r,t.left)||G(r,t.operatorToken)||G(r,t.right)},[231]:function(t,r,s){return G(r,t.expression)||G(r,t.type)},[232]:function(t,r,s){return G(r,t.expression)},[235]:function(t,r,s){return G(r,t.expression)||G(r,t.type)},[233]:function(t,r,s){return G(r,t.name)},[224]:function(t,r,s){return G(r,t.condition)||G(r,t.questionToken)||G(r,t.whenTrue)||G(r,t.colonToken)||G(r,t.whenFalse)},[227]:function(t,r,s){return G(r,t.expression)},[238]:UE,[265]:UE,[308]:function(t,r,s){return ze(r,s,t.statements)||G(r,t.endOfFileToken)},[240]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.declarationList)},[258]:function(t,r,s){return ze(r,s,t.declarations)},[241]:function(t,r,s){return G(r,t.expression)},[242]:function(t,r,s){return G(r,t.expression)||G(r,t.thenStatement)||G(r,t.elseStatement)},[243]:function(t,r,s){return G(r,t.statement)||G(r,t.expression)},[244]:function(t,r,s){return G(r,t.expression)||G(r,t.statement)},[245]:function(t,r,s){return G(r,t.initializer)||G(r,t.condition)||G(r,t.incrementor)||G(r,t.statement)},[246]:function(t,r,s){return G(r,t.initializer)||G(r,t.expression)||G(r,t.statement)},[247]:function(t,r,s){return G(r,t.awaitModifier)||G(r,t.initializer)||G(r,t.expression)||G(r,t.statement)},[248]:zE,[249]:zE,[250]:function(t,r,s){return G(r,t.expression)},[251]:function(t,r,s){return G(r,t.expression)||G(r,t.statement)},[252]:function(t,r,s){return G(r,t.expression)||G(r,t.caseBlock)},[266]:function(t,r,s){return ze(r,s,t.clauses)},[292]:function(t,r,s){return G(r,t.expression)||ze(r,s,t.statements)},[293]:function(t,r,s){return ze(r,s,t.statements)},[253]:function(t,r,s){return G(r,t.label)||G(r,t.statement)},[254]:function(t,r,s){return G(r,t.expression)},[255]:function(t,r,s){return G(r,t.tryBlock)||G(r,t.catchClause)||G(r,t.finallyBlock)},[295]:function(t,r,s){return G(r,t.variableDeclaration)||G(r,t.block)},[167]:function(t,r,s){return G(r,t.expression)},[260]:WE,[228]:WE,[261]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||ze(r,s,t.heritageClauses)||ze(r,s,t.members)},[262]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.typeParameters)||G(r,t.type)},[263]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||ze(r,s,t.members)},[302]:function(t,r,s){return G(r,t.name)||G(r,t.initializer)},[264]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.body)},[268]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)||G(r,t.moduleReference)},[269]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.importClause)||G(r,t.moduleSpecifier)||G(r,t.assertClause)},[270]:function(t,r,s){return G(r,t.name)||G(r,t.namedBindings)},[296]:function(t,r,s){return ze(r,s,t.elements)},[297]:function(t,r,s){return G(r,t.name)||G(r,t.value)},[267]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.name)},[271]:function(t,r,s){return G(r,t.name)},[277]:function(t,r,s){return G(r,t.name)},[272]:VE,[276]:VE,[275]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.exportClause)||G(r,t.moduleSpecifier)||G(r,t.assertClause)},[273]:HE,[278]:HE,[274]:function(t,r,s){return ze(r,s,t.modifiers)||G(r,t.expression)},[225]:function(t,r,s){return G(r,t.head)||ze(r,s,t.templateSpans)},[236]:function(t,r,s){return G(r,t.expression)||G(r,t.literal)},[200]:function(t,r,s){return G(r,t.head)||ze(r,s,t.templateSpans)},[201]:function(t,r,s){return G(r,t.type)||G(r,t.literal)},[164]:function(t,r,s){return G(r,t.expression)},[294]:function(t,r,s){return ze(r,s,t.types)},[230]:function(t,r,s){return G(r,t.expression)||ze(r,s,t.typeArguments)},[280]:function(t,r,s){return G(r,t.expression)},[279]:function(t,r,s){return ze(r,s,t.modifiers)},[357]:function(t,r,s){return ze(r,s,t.elements)},[281]:function(t,r,s){return G(r,t.openingElement)||ze(r,s,t.children)||G(r,t.closingElement)},[285]:function(t,r,s){return G(r,t.openingFragment)||ze(r,s,t.children)||G(r,t.closingFragment)},[282]:GE,[283]:GE,[289]:function(t,r,s){return ze(r,s,t.properties)},[288]:function(t,r,s){return G(r,t.name)||G(r,t.initializer)},[290]:function(t,r,s){return G(r,t.expression)},[291]:function(t,r,s){return G(r,t.dotDotDotToken)||G(r,t.expression)},[284]:function(t,r,s){return G(r,t.tagName)},[187]:Xo,[188]:Xo,[312]:Xo,[318]:Xo,[317]:Xo,[319]:Xo,[321]:Xo,[320]:function(t,r,s){return ze(r,s,t.parameters)||G(r,t.type)},[323]:function(t,r,s){return(typeof t.comment=="string"?void 0:ze(r,s,t.comment))||ze(r,s,t.tags)},[350]:function(t,r,s){return G(r,t.tagName)||G(r,t.name)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[313]:function(t,r,s){return G(r,t.name)},[314]:function(t,r,s){return G(r,t.left)||G(r,t.right)},[344]:$E,[351]:$E,[333]:function(t,r,s){return G(r,t.tagName)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[332]:function(t,r,s){return G(r,t.tagName)||G(r,t.class)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[331]:function(t,r,s){return G(r,t.tagName)||G(r,t.class)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[348]:function(t,r,s){return G(r,t.tagName)||G(r,t.constraint)||ze(r,s,t.typeParameters)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[349]:function(t,r,s){return G(r,t.tagName)||(t.typeExpression&&t.typeExpression.kind===312?G(r,t.typeExpression)||G(r,t.fullName)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment)):G(r,t.fullName)||G(r,t.typeExpression)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment)))},[341]:function(t,r,s){return G(r,t.tagName)||G(r,t.fullName)||G(r,t.typeExpression)||(typeof t.comment=="string"?void 0:ze(r,s,t.comment))},[345]:Yo,[347]:Yo,[346]:Yo,[343]:Yo,[353]:Yo,[352]:Yo,[342]:Yo,[326]:function(t,r,s){return c(t.typeParameters,r)||c(t.parameters,r)||G(r,t.type)},[327]:P2,[328]:P2,[329]:P2,[325]:function(t,r,s){return c(t.jsDocPropertyTags,r)},[330]:Gs,[335]:Gs,[336]:Gs,[337]:Gs,[338]:Gs,[339]:Gs,[334]:Gs,[340]:Gs,[356]:GJ},(e=>{var t=Po(99,!0),r=20480,s,f,x,w,A;function g(u){return oi++,u}var B={createBaseSourceFileNode:u=>g(new A(u,0,0)),createBaseIdentifierNode:u=>g(new x(u,0,0)),createBasePrivateIdentifierNode:u=>g(new w(u,0,0)),createBaseTokenNode:u=>g(new f(u,0,0)),createBaseNode:u=>g(new s(u,0,0))},N=Zf(11,B),{createNodeArray:X,createNumericLiteral:F,createStringLiteral:$,createLiteralLikeNode:ae,createIdentifier:Te,createPrivateIdentifier:Se,createToken:Ye,createArrayLiteralExpression:Ne,createObjectLiteralExpression:oe,createPropertyAccessExpression:Ve,createPropertyAccessChain:pt,createElementAccessExpression:Gt,createElementAccessChain:Nt,createCallExpression:Xt,createCallChain:er,createNewExpression:Tn,createParenthesizedExpression:Hr,createBlock:Gi,createVariableStatement:pn,createExpressionStatement:fn,createIfStatement:Ut,createWhileStatement:kn,createForStatement:an,createForOfStatement:mr,createVariableDeclaration:$i,createVariableDeclarationList:dn}=N,Ur,Gr,_r,Sn,In,pr,Zt,Or,Nn,ar,oi,cr,$r,hr,On,nr,br=!0,Kr=!1;function wa(u,b,O,j){let z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,re=arguments.length>5?arguments[5]:void 0,Ee=arguments.length>6?arguments[6]:void 0;var qe;if(re=Nx(u,re),re===6){let $e=Ki(u,b,O,j,z);return convertToObjectWorker($e,(qe=$e.statements[0])==null?void 0:qe.expression,$e.parseDiagnostics,!1,void 0,void 0),$e.referencedFiles=Bt,$e.typeReferenceDirectives=Bt,$e.libReferenceDirectives=Bt,$e.amdDependencies=Bt,$e.hasNoDefaultLib=!1,$e.pragmas=V1,$e}Mn(u,b,O,j,re);let We=Ca(O,z,re,Ee||XE);return _i(),We}e.parseSourceFile=wa;function $n(u,b){Mn("",u,b,void 0,1),_e();let O=Ys(!0),j=T()===1&&!Zt.length;return _i(),j?O:void 0}e.parseIsolatedEntityName=$n;function Ki(u,b){let O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:2,j=arguments.length>3?arguments[3]:void 0,z=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;Mn(u,b,O,j,6),Gr=nr,_e();let re=L(),Ee,qe;if(T()===1)Ee=Er([],re,re),qe=sn();else{let lt;for(;T()!==1;){let At;switch(T()){case 22:At=ah();break;case 110:case 95:case 104:At=sn();break;case 40:wt(()=>_e()===8&&_e()!==58)?At=qm():At=Xu();break;case 8:case 10:if(wt(()=>_e()!==58)){At=Di();break}default:At=Xu();break}lt&&ir(lt)?lt.push(At):lt?lt=[lt,At]:(lt=At,T()!==1&&Dt(ve.Unexpected_token))}let Jt=ir(lt)?Q(Ne(lt),re):Y.checkDefined(lt),Lt=fn(Jt);Q(Lt,re),Ee=Er([Lt],re),qe=ea(1,ve.Unexpected_token)}let We=Kt(u,2,6,!1,Ee,qe,Gr,yn);z&&ft(We),We.nodeCount=oi,We.identifierCount=$r,We.identifiers=cr,We.parseDiagnostics=qs(Zt,We),Or&&(We.jsDocDiagnostics=qs(Or,We));let $e=We;return _i(),$e}e.parseJsonText=Ki;function Mn(u,b,O,j,z){switch(s=lr.getNodeConstructor(),f=lr.getTokenConstructor(),x=lr.getIdentifierConstructor(),w=lr.getPrivateIdentifierConstructor(),A=lr.getSourceFileConstructor(),Ur=Un(u),_r=b,Sn=O,Nn=j,In=z,pr=sv(z),Zt=[],hr=0,cr=new Map,$r=0,oi=0,Gr=0,br=!0,In){case 1:case 2:nr=262144;break;case 6:nr=67371008;break;default:nr=0;break}Kr=!1,t.setText(_r),t.setOnError(U),t.setScriptTarget(Sn),t.setLanguageVariant(pr)}function _i(){t.clearCommentDirectives(),t.setText(""),t.setOnError(void 0),_r=void 0,Sn=void 0,Nn=void 0,In=void 0,pr=void 0,Gr=0,Zt=void 0,Or=void 0,hr=0,cr=void 0,On=void 0,br=!0}function Ca(u,b,O,j){let z=QE(Ur);z&&(nr|=16777216),Gr=nr,_e();let re=Kn(0,on);Y.assert(T()===1);let Ee=He(sn()),qe=Kt(Ur,u,O,z,re,Ee,Gr,j);return ZE(qe,_r),e7(qe,We),qe.commentDirectives=t.getCommentDirectives(),qe.nodeCount=oi,qe.identifierCount=$r,qe.identifiers=cr,qe.parseDiagnostics=qs(Zt,qe),Or&&(qe.jsDocDiagnostics=qs(Or,qe)),b&&ft(qe),qe;function We($e,lt,Jt){Zt.push(Ro(Ur,$e,lt,Jt))}}function St(u,b){return b?He(u):u}let ue=!1;function He(u){Y.assert(!u.jsDoc);let b=qt(I3(u,_r),O=>Vh.parseJSDocComment(u,O.pos,O.end-O.pos));return b.length&&(u.jsDoc=b),ue&&(ue=!1,u.flags|=268435456),u}function _t(u){let b=Nn,O=Sd.createSyntaxCursor(u);Nn={currentNode:lt};let j=[],z=Zt;Zt=[];let re=0,Ee=We(u.statements,0);for(;Ee!==-1;){let Jt=u.statements[re],Lt=u.statements[Ee];jr(j,u.statements,re,Ee),re=$e(u.statements,Ee);let At=he(z,Fn=>Fn.start>=Jt.pos),kr=At>=0?he(z,Fn=>Fn.start>=Lt.pos,At):-1;At>=0&&jr(Zt,z,At,kr>=0?kr:void 0),Rn(()=>{let Fn=nr;for(nr|=32768,t.setTextPos(Lt.pos),_e();T()!==1;){let di=t.getStartPos(),Ii=vc(0,on);if(j.push(Ii),di===t.getStartPos()&&_e(),re>=0){let _n=u.statements[re];if(Ii.end===_n.pos)break;Ii.end>_n.pos&&(re=$e(u.statements,re+1))}}nr=Fn},2),Ee=re>=0?We(u.statements,re):-1}if(re>=0){let Jt=u.statements[re];jr(j,u.statements,re);let Lt=he(z,At=>At.start>=Jt.pos);Lt>=0&&jr(Zt,z,Lt)}return Nn=b,N.updateSourceFile(u,Rt(X(j),u.statements));function qe(Jt){return!(Jt.flags&32768)&&!!(Jt.transformFlags&67108864)}function We(Jt,Lt){for(let At=Lt;At116}function kt(){return T()===79?!0:T()===125&&Yi()||T()===133&&xn()?!1:T()>116}function de(u,b){let O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return T()===u?(O&&_e(),!0):(b?Dt(b):Dt(ve._0_expected,Br(u)),!1)}let jn=Object.keys(cl).filter(u=>u.length>2);function Zi(u){var b;if(Y8(u)){Z(Ar(_r,u.template.pos),u.template.end,ve.Module_declaration_names_may_only_use_or_quoted_strings);return}let O=yt(u)?qr(u):void 0;if(!O||!vy(O,Sn)){Dt(ve._0_expected,Br(26));return}let j=Ar(_r,u.pos);switch(O){case"const":case"let":case"var":Z(j,u.end,ve.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":Pa(ve.Interface_name_cannot_be_0,ve.Interface_must_be_given_a_name,18);return;case"is":Z(j,t.getTextPos(),ve.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":Pa(ve.Namespace_name_cannot_be_0,ve.Namespace_must_be_given_a_name,18);return;case"type":Pa(ve.Type_alias_name_cannot_be_0,ve.Type_alias_must_be_given_a_name,63);return}let z=(b=Ep(O,jn,re=>re))!=null?b:e_(O);if(z){Z(j,u.end,ve.Unknown_keyword_or_identifier_Did_you_mean_0,z);return}T()!==0&&Z(j,u.end,ve.Unexpected_keyword_or_identifier)}function Pa(u,b,O){T()===O?Dt(b):Dt(u,t.getTokenValue())}function e_(u){for(let b of jn)if(u.length>b.length+2&&Pn(u,b))return`${b} ${u.slice(b.length)}`}function mc(u,b,O){if(T()===59&&!t.hasPrecedingLineBreak()){Dt(ve.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(T()===20){Dt(ve.Cannot_start_a_function_call_in_a_type_annotation),_e();return}if(b&&!ka()){O?Dt(ve._0_expected,Br(26)):Dt(ve.Expected_for_property_initializer);return}if(!t_()){if(O){Dt(ve._0_expected,Br(26));return}Zi(u)}}function Da(u){return T()===u?(Ge(),!0):(Dt(ve._0_expected,Br(u)),!1)}function Ts(u,b,O,j){if(T()===b){_e();return}let z=Dt(ve._0_expected,Br(b));O&&z&&Rl(z,Ro(Ur,j,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,Br(u),Br(b)))}function Ot(u){return T()===u?(_e(),!0):!1}function dr(u){if(T()===u)return sn()}function Dd(u){if(T()===u)return Id()}function ea(u,b,O){return dr(u)||Jn(u,!1,b||ve._0_expected,O||Br(u))}function kd(u){return Dd(u)||Jn(u,!1,ve._0_expected,Br(u))}function sn(){let u=L(),b=T();return _e(),Q(Ye(b),u)}function Id(){let u=L(),b=T();return Ge(),Q(Ye(b),u)}function ka(){return T()===26?!0:T()===19||T()===1||t.hasPrecedingLineBreak()}function t_(){return ka()?(T()===26&&_e(),!0):!1}function En(){return t_()||de(26)}function Er(u,b,O,j){let z=X(u,j);return Us(z,b,O!=null?O:t.getStartPos()),z}function Q(u,b,O){return Us(u,b,O!=null?O:t.getStartPos()),nr&&(u.flags|=nr),Kr&&(Kr=!1,u.flags|=131072),u}function Jn(u,b,O,j){b?Pi(t.getStartPos(),0,O,j):O&&Dt(O,j);let z=L(),re=u===79?Te("",void 0):yl(u)?N.createTemplateLiteralLikeNode(u,"","",void 0):u===8?F("",void 0):u===10?$("",void 0):u===279?N.createMissingDeclaration():Ye(u);return Q(re,z)}function Ia(u){let b=cr.get(u);return b===void 0&&cr.set(u,b=u),b}function Ss(u,b,O){if(u){$r++;let qe=L(),We=T(),$e=Ia(t.getTokenValue()),lt=t.hasExtendedUnicodeEscape();return it(),Q(Te($e,We,lt),qe)}if(T()===80)return Dt(O||ve.Private_identifiers_are_not_allowed_outside_class_bodies),Ss(!0);if(T()===0&&t.tryScan(()=>t.reScanInvalidIdentifier()===79))return Ss(!0);$r++;let j=T()===1,z=t.isReservedWord(),re=t.getTokenText(),Ee=z?ve.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:ve.Identifier_expected;return Jn(79,j,b||Ee,re)}function hc(u){return Ss(Tt(),void 0,u)}function wr(u,b){return Ss(kt(),u,b)}function zr(u){return Ss(fr(T()),u)}function xs(){return fr(T())||T()===10||T()===8}function Nd(){return fr(T())||T()===10}function R2(u){if(T()===10||T()===8){let b=Di();return b.text=Ia(b.text),b}return u&&T()===22?j2():T()===80?gc():zr()}function Es(){return R2(!0)}function j2(){let u=L();de(22);let b=It(Sr);return de(23),Q(N.createComputedPropertyName(b),u)}function gc(){let u=L(),b=Se(Ia(t.getTokenValue()));return _e(),Q(b,u)}function Ks(u){return T()===u&&Tr(Od)}function uu(){return _e(),t.hasPrecedingLineBreak()?!1:ta()}function Od(){switch(T()){case 85:return _e()===92;case 93:return _e(),T()===88?wt(Ld):T()===154?wt(J2):r_();case 88:return Ld();case 124:case 137:case 151:return _e(),ta();default:return uu()}}function r_(){return T()===59||T()!==41&&T()!==128&&T()!==18&&ta()}function J2(){return _e(),r_()}function Md(){return Wi(T())&&Tr(Od)}function ta(){return T()===22||T()===18||T()===41||T()===25||xs()}function Ld(){return _e(),T()===84||T()===98||T()===118||T()===59||T()===126&&wt(gh)||T()===132&&wt(yh)}function Xs(u,b){if(mu(u))return!0;switch(u){case 0:case 1:case 3:return!(T()===26&&b)&&vh();case 2:return T()===82||T()===88;case 4:return wt(om);case 5:return wt(Jb)||T()===26&&!b;case 6:return T()===22||xs();case 12:switch(T()){case 22:case 41:case 25:case 24:return!0;default:return xs()}case 18:return xs();case 9:return T()===22||T()===25||xs();case 24:return Nd();case 7:return T()===18?wt(Rd):b?kt()&&!fu():Fu()&&!fu();case 8:return tp();case 10:return T()===27||T()===25||tp();case 19:return T()===101||T()===85||kt();case 15:switch(T()){case 27:case 24:return!0}case 11:return T()===25||La();case 16:return Ec(!1);case 17:return Ec(!0);case 20:case 21:return T()===27||eo();case 22:return Oc();case 23:return fr(T());case 13:return fr(T())||T()===18;case 14:return!0}return Y.fail("Non-exhaustive case in 'isListElement'.")}function Rd(){if(Y.assert(T()===18),_e()===19){let u=_e();return u===27||u===18||u===94||u===117}return!0}function yc(){return _e(),kt()}function pu(){return _e(),fr(T())}function F2(){return _e(),qT(T())}function fu(){return T()===117||T()===94?wt(jd):!1}function jd(){return _e(),La()}function Jd(){return _e(),eo()}function Na(u){if(T()===1)return!0;switch(u){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return T()===19;case 3:return T()===19||T()===82||T()===88;case 7:return T()===18||T()===94||T()===117;case 8:return B2();case 19:return T()===31||T()===20||T()===18||T()===94||T()===117;case 11:return T()===21||T()===26;case 15:case 21:case 10:return T()===23;case 17:case 16:case 18:return T()===21||T()===23;case 20:return T()!==27;case 22:return T()===18||T()===19;case 13:return T()===31||T()===43;case 14:return T()===29&&wt(Xb);default:return!1}}function B2(){return!!(ka()||jm(T())||T()===38)}function du(){for(let u=0;u<25;u++)if(hr&1<=0)}function z2(u){return u===6?ve.An_enum_member_name_must_be_followed_by_a_or:void 0}function ui(){let u=Er([],L());return u.isMissingList=!0,u}function W2(u){return!!u.isMissingList}function Oa(u,b,O,j){if(de(O)){let z=mn(u,b);return de(j),z}return ui()}function Ys(u,b){let O=L(),j=u?zr(b):wr(b);for(;Ot(24)&&T()!==29;)j=Q(N.createQualifiedName(j,bc(u,!1)),O);return j}function Tu(u,b){return Q(N.createQualifiedName(u,b),u.pos)}function bc(u,b){if(t.hasPrecedingLineBreak()&&fr(T())&&wt(Qu))return Jn(79,!0,ve.Identifier_expected);if(T()===80){let O=gc();return b?O:Jn(79,!0,ve.Identifier_expected)}return u?zr():wr()}function Su(u){let b=L(),O=[],j;do j=H2(u),O.push(j);while(j.literal.kind===16);return Er(O,b)}function Wd(u){let b=L();return Q(N.createTemplateExpression(Hd(u),Su(u)),b)}function xu(){let u=L();return Q(N.createTemplateLiteralType(Hd(!1),Vd()),u)}function Vd(){let u=L(),b=[],O;do O=V2(),b.push(O);while(O.literal.kind===16);return Er(b,u)}function V2(){let u=L();return Q(N.createTemplateLiteralTypeSpan(sr(),Eu(!1)),u)}function Eu(u){return T()===19?(Yt(u),Tc()):ea(17,ve._0_expected,Br(19))}function H2(u){let b=L();return Q(N.createTemplateSpan(It(Sr),Eu(u)),b)}function Di(){return n_(T())}function Hd(u){u&&$t();let b=n_(T());return Y.assert(b.kind===15,"Template head has wrong token kind"),b}function Tc(){let u=n_(T());return Y.assert(u.kind===16||u.kind===17,"Template fragment has wrong token kind"),u}function Gd(u){let b=u===14||u===17,O=t.getTokenText();return O.substring(1,O.length-(t.isUnterminated()?0:b?1:2))}function n_(u){let b=L(),O=yl(u)?N.createTemplateLiteralLikeNode(u,t.getTokenValue(),Gd(u),t.getTokenFlags()&2048):u===8?F(t.getTokenValue(),t.getNumericLiteralFlags()):u===10?$(t.getTokenValue(),void 0,t.hasExtendedUnicodeEscape()):ky(u)?ae(u,t.getTokenValue()):Y.fail();return t.hasExtendedUnicodeEscape()&&(O.hasExtendedUnicodeEscape=!0),t.isUnterminated()&&(O.isUnterminated=!0),_e(),Q(O,b)}function wu(){return Ys(!0,ve.Type_expected)}function Qs(){if(!t.hasPrecedingLineBreak()&&Wt()===29)return Oa(20,sr,29,31)}function Sc(){let u=L();return Q(N.createTypeReferenceNode(wu(),Qs()),u)}function Cu(u){switch(u.kind){case 180:return va(u.typeName);case 181:case 182:{let{parameters:b,type:O}=u;return W2(b)||Cu(O)}case 193:return Cu(u.type);default:return!1}}function G2(u){return _e(),Q(N.createTypePredicateNode(void 0,u,sr()),u.pos)}function $d(){let u=L();return _e(),Q(N.createThisTypeNode(),u)}function Kd(){let u=L();return _e(),Q(N.createJSDocAllType(),u)}function $2(){let u=L();return _e(),Q(N.createJSDocNonNullableType(Lu(),!1),u)}function Xd(){let u=L();return _e(),T()===27||T()===19||T()===21||T()===31||T()===63||T()===51?Q(N.createJSDocUnknownType(),u):Q(N.createJSDocNullableType(sr(),!1),u)}function K2(){let u=L(),b=fe();if(wt(qh)){_e();let O=ra(36),j=pi(58,!1);return St(Q(N.createJSDocFunctionType(O,j),u),b)}return Q(N.createTypeReferenceNode(zr(),void 0),u)}function Yd(){let u=L(),b;return(T()===108||T()===103)&&(b=zr(),de(58)),Q(N.createParameterDeclaration(void 0,void 0,b,void 0,xc(),void 0),u)}function xc(){t.setInJSDocType(!0);let u=L();if(Ot(142)){let j=N.createJSDocNamepathType(void 0);e:for(;;)switch(T()){case 19:case 1:case 27:case 5:break e;default:Ge()}return t.setInJSDocType(!1),Q(j,u)}let b=Ot(25),O=Ju();return t.setInJSDocType(!1),b&&(O=Q(N.createJSDocVariadicType(O),u)),T()===63?(_e(),Q(N.createJSDocOptionalType(O),u)):O}function X2(){let u=L();de(112);let b=Ys(!0),O=t.hasPrecedingLineBreak()?void 0:Nc();return Q(N.createTypeQueryNode(b,O),u)}function Qd(){let u=L(),b=ki(!1,!0),O=wr(),j,z;Ot(94)&&(eo()||!La()?j=sr():z=Wu());let re=Ot(63)?sr():void 0,Ee=N.createTypeParameterDeclaration(b,O,j,re);return Ee.expression=z,Q(Ee,u)}function Xn(){if(T()===29)return Oa(19,Qd,29,31)}function Ec(u){return T()===25||tp()||Wi(T())||T()===59||eo(!u)}function Zd(u){let b=no(ve.Private_identifiers_cannot_be_used_as_parameters);return hf(b)===0&&!Ke(u)&&Wi(T())&&_e(),b}function em(){return Tt()||T()===22||T()===18}function Au(u){return Pu(u)}function tm(u){return Pu(u,!1)}function Pu(u){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,O=L(),j=fe(),z=u?Xi(()=>ki(!0)):Aa(()=>ki(!0));if(T()===108){let We=N.createParameterDeclaration(z,void 0,Ss(!0),void 0,Ma(),void 0),$e=pa(z);return $e&&ie($e,ve.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),St(Q(We,O),j)}let re=br;br=!1;let Ee=dr(25);if(!b&&!em())return;let qe=St(Q(N.createParameterDeclaration(z,Ee,Zd(z),dr(57),Ma(),Ra()),O),j);return br=re,qe}function pi(u,b){if(rm(u,b))return gr(Ju)}function rm(u,b){return u===38?(de(u),!0):Ot(58)?!0:b&&T()===38?(Dt(ve._0_expected,Br(58)),_e(),!0):!1}function wc(u,b){let O=Yi(),j=xn();Le(!!(u&1)),ot(!!(u&2));let z=u&32?mn(17,Yd):mn(16,()=>b?Au(j):tm(j));return Le(O),ot(j),z}function ra(u){if(!de(20))return ui();let b=wc(u,!0);return de(21),b}function i_(){Ot(27)||En()}function nm(u){let b=L(),O=fe();u===177&&de(103);let j=Xn(),z=ra(4),re=pi(58,!0);i_();let Ee=u===176?N.createCallSignature(j,z,re):N.createConstructSignature(j,z,re);return St(Q(Ee,b),O)}function im(){return T()===22&&wt(Zs)}function Zs(){if(_e(),T()===25||T()===23)return!0;if(Wi(T())){if(_e(),kt())return!0}else if(kt())_e();else return!1;return T()===58||T()===27?!0:T()!==57?!1:(_e(),T()===58||T()===27||T()===23)}function am(u,b,O){let j=Oa(16,()=>Au(!1),22,23),z=Ma();i_();let re=N.createIndexSignature(O,j,z);return St(Q(re,u),b)}function sm(u,b,O){let j=Es(),z=dr(57),re;if(T()===20||T()===29){let Ee=Xn(),qe=ra(4),We=pi(58,!0);re=N.createMethodSignature(O,j,z,Ee,qe,We)}else{let Ee=Ma();re=N.createPropertySignature(O,j,z,Ee),T()===63&&(re.initializer=Ra())}return i_(),St(Q(re,u),b)}function om(){if(T()===20||T()===29||T()===137||T()===151)return!0;let u=!1;for(;Wi(T());)u=!0,_e();return T()===22?!0:(xs()&&(u=!0,_e()),u?T()===20||T()===29||T()===57||T()===58||T()===27||ka():!1)}function Du(){if(T()===20||T()===29)return nm(176);if(T()===103&&wt(a_))return nm(177);let u=L(),b=fe(),O=ki(!1);return Ks(137)?Fa(u,b,O,174,4):Ks(151)?Fa(u,b,O,175,4):im()?am(u,b,O):sm(u,b,O)}function a_(){return _e(),T()===20||T()===29}function Y2(){return _e()===24}function ku(){switch(_e()){case 20:case 29:case 24:return!0}return!1}function Q2(){let u=L();return Q(N.createTypeLiteralNode(Iu()),u)}function Iu(){let u;return de(18)?(u=Kn(4,Du),de(19)):u=ui(),u}function Z2(){return _e(),T()===39||T()===40?_e()===146:(T()===146&&_e(),T()===22&&yc()&&_e()===101)}function _m(){let u=L(),b=zr();de(101);let O=sr();return Q(N.createTypeParameterDeclaration(void 0,b,O,void 0),u)}function eb(){let u=L();de(18);let b;(T()===146||T()===39||T()===40)&&(b=sn(),b.kind!==146&&de(146)),de(22);let O=_m(),j=Ot(128)?sr():void 0;de(23);let z;(T()===57||T()===39||T()===40)&&(z=sn(),z.kind!==57&&de(57));let re=Ma();En();let Ee=Kn(4,Du);return de(19),Q(N.createMappedTypeNode(b,O,j,z,re,Ee),u)}function Nu(){let u=L();if(Ot(25))return Q(N.createRestTypeNode(sr()),u);let b=sr();if(uE(b)&&b.pos===b.type.pos){let O=N.createOptionalTypeNode(b.type);return Rt(O,b),O.flags=b.flags,O}return b}function cm(){return _e()===58||T()===57&&_e()===58}function lm(){return T()===25?fr(_e())&&cm():fr(T())&&cm()}function tb(){if(wt(lm)){let u=L(),b=fe(),O=dr(25),j=zr(),z=dr(57);de(58);let re=Nu(),Ee=N.createNamedTupleMember(O,j,z,re);return St(Q(Ee,u),b)}return Nu()}function um(){let u=L();return Q(N.createTupleTypeNode(Oa(21,tb,22,23)),u)}function rb(){let u=L();de(20);let b=sr();return de(21),Q(N.createParenthesizedType(b),u)}function pm(){let u;if(T()===126){let b=L();_e();let O=Q(Ye(126),b);u=Er([O],b)}return u}function fm(){let u=L(),b=fe(),O=pm(),j=Ot(103);Y.assert(!O||j,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");let z=Xn(),re=ra(4),Ee=pi(38,!1),qe=j?N.createConstructorTypeNode(O,z,re,Ee):N.createFunctionTypeNode(z,re,Ee);return St(Q(qe,u),b)}function Ou(){let u=sn();return T()===24?void 0:u}function dm(u){let b=L();u&&_e();let O=T()===110||T()===95||T()===104?sn():n_(T());return u&&(O=Q(N.createPrefixUnaryExpression(40,O),b)),Q(N.createLiteralTypeNode(O),b)}function mm(){return _e(),T()===100}function nb(){let u=L(),b=t.getTokenPos();de(18);let O=t.hasPrecedingLineBreak();de(130),de(58);let j=_p(!0);if(!de(19)){let z=Cn(Zt);z&&z.code===ve._0_expected.code&&Rl(z,Ro(Ur,b,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(N.createImportTypeAssertionContainer(j,O),u)}function Mu(){Gr|=2097152;let u=L(),b=Ot(112);de(100),de(20);let O=sr(),j;Ot(27)&&(j=nb()),de(21);let z=Ot(24)?wu():void 0,re=Qs();return Q(N.createImportTypeNode(O,j,z,re,b),u)}function hm(){return _e(),T()===8||T()===9}function Lu(){switch(T()){case 131:case 157:case 152:case 148:case 160:case 153:case 134:case 155:case 144:case 149:return Tr(Ou)||Sc();case 66:t.reScanAsteriskEqualsToken();case 41:return Kd();case 60:t.reScanQuestionToken();case 57:return Xd();case 98:return K2();case 53:return $2();case 14:case 10:case 8:case 9:case 110:case 95:case 104:return dm();case 40:return wt(hm)?dm(!0):Sc();case 114:return sn();case 108:{let u=$d();return T()===140&&!t.hasPrecedingLineBreak()?G2(u):u}case 112:return wt(mm)?Mu():X2();case 18:return wt(Z2)?eb():Q2();case 22:return um();case 20:return rb();case 100:return Mu();case 129:return wt(Qu)?Cm():Sc();case 15:return xu();default:return Sc()}}function eo(u){switch(T()){case 131:case 157:case 152:case 148:case 160:case 134:case 146:case 153:case 156:case 114:case 155:case 104:case 108:case 112:case 144:case 18:case 22:case 29:case 51:case 50:case 103:case 10:case 8:case 9:case 110:case 95:case 149:case 41:case 57:case 53:case 25:case 138:case 100:case 129:case 14:case 15:return!0;case 98:return!u;case 40:return!u&&wt(hm);case 20:return!u&&wt(gm);default:return kt()}}function gm(){return _e(),T()===21||Ec(!1)||eo()}function ym(){let u=L(),b=Lu();for(;!t.hasPrecedingLineBreak();)switch(T()){case 53:_e(),b=Q(N.createJSDocNonNullableType(b,!0),u);break;case 57:if(wt(Jd))return b;_e(),b=Q(N.createJSDocNullableType(b,!0),u);break;case 22:if(de(22),eo()){let O=sr();de(23),b=Q(N.createIndexedAccessTypeNode(b,O),u)}else de(23),b=Q(N.createArrayTypeNode(b),u);break;default:return b}return b}function vm(u){let b=L();return de(u),Q(N.createTypeOperatorNode(u,Tm()),b)}function ib(){if(Ot(94)){let u=Ln(sr);if(bs()||T()!==57)return u}}function bm(){let u=L(),b=wr(),O=Tr(ib),j=N.createTypeParameterDeclaration(void 0,b,O);return Q(j,u)}function ab(){let u=L();return de(138),Q(N.createInferTypeNode(bm()),u)}function Tm(){let u=T();switch(u){case 141:case 156:case 146:return vm(u);case 138:return ab()}return gr(ym)}function Cc(u){if(ju()){let b=fm(),O;return $l(b)?O=u?ve.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:ve.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:O=u?ve.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:ve.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,ie(b,O),b}}function Sm(u,b,O){let j=L(),z=u===51,re=Ot(u),Ee=re&&Cc(z)||b();if(T()===u||re){let qe=[Ee];for(;Ot(u);)qe.push(Cc(z)||b());Ee=Q(O(Er(qe,j)),j)}return Ee}function Ru(){return Sm(50,Tm,N.createIntersectionTypeNode)}function sb(){return Sm(51,Ru,N.createUnionTypeNode)}function xm(){return _e(),T()===103}function ju(){return T()===29||T()===20&&wt(Em)?!0:T()===103||T()===126&&wt(xm)}function ob(){if(Wi(T())&&ki(!1),kt()||T()===108)return _e(),!0;if(T()===22||T()===18){let u=Zt.length;return no(),u===Zt.length}return!1}function Em(){return _e(),!!(T()===21||T()===25||ob()&&(T()===58||T()===27||T()===57||T()===63||T()===21&&(_e(),T()===38)))}function Ju(){let u=L(),b=kt()&&Tr(wm),O=sr();return b?Q(N.createTypePredicateNode(void 0,b,O),u):O}function wm(){let u=wr();if(T()===140&&!t.hasPrecedingLineBreak())return _e(),u}function Cm(){let u=L(),b=ea(129),O=T()===108?$d():wr(),j=Ot(140)?sr():void 0;return Q(N.createTypePredicateNode(b,O,j),u)}function sr(){if(nr&40960)return Ct(40960,sr);if(ju())return fm();let u=L(),b=sb();if(!bs()&&!t.hasPrecedingLineBreak()&&Ot(94)){let O=Ln(sr);de(57);let j=gr(sr);de(58);let z=gr(sr);return Q(N.createConditionalTypeNode(b,O,j,z),u)}return b}function Ma(){return Ot(58)?sr():void 0}function Fu(){switch(T()){case 108:case 106:case 104:case 110:case 95:case 8:case 9:case 10:case 14:case 15:case 20:case 22:case 18:case 98:case 84:case 103:case 43:case 68:case 79:return!0;case 100:return wt(ku);default:return kt()}}function La(){if(Fu())return!0;switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 45:case 46:case 29:case 133:case 125:case 80:case 59:return!0;default:return Jm()?!0:kt()}}function Am(){return T()!==18&&T()!==98&&T()!==84&&T()!==59&&La()}function Sr(){let u=Ai();u&&Re(!1);let b=L(),O=Yr(!0),j;for(;j=dr(27);)O=Uu(O,j,Yr(!0),b);return u&&Re(!0),O}function Ra(){return Ot(63)?Yr(!0):void 0}function Yr(u){if(Pm())return Dm();let b=cb(u)||Mm(u);if(b)return b;let O=L(),j=s_(0);return j.kind===79&&T()===38?km(O,j,u,void 0):Do(j)&&G_(bt())?Uu(j,sn(),Yr(u),O):lb(j,O,u)}function Pm(){return T()===125?Yi()?!0:wt(Zu):!1}function _b(){return _e(),!t.hasPrecedingLineBreak()&&kt()}function Dm(){let u=L();return _e(),!t.hasPrecedingLineBreak()&&(T()===41||La())?Q(N.createYieldExpression(dr(41),Yr(!0)),u):Q(N.createYieldExpression(void 0,void 0),u)}function km(u,b,O,j){Y.assert(T()===38,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");let z=N.createParameterDeclaration(void 0,void 0,b,void 0,void 0,void 0);Q(z,b.pos);let re=Er([z],z.pos,z.end),Ee=ea(38),qe=Bu(!!j,O),We=N.createArrowFunction(j,void 0,re,void 0,Ee,qe);return He(Q(We,u))}function cb(u){let b=Im();if(b!==0)return b===1?Rm(!0,!0):Tr(()=>Om(u))}function Im(){return T()===20||T()===29||T()===132?wt(Nm):T()===38?1:0}function Nm(){if(T()===132&&(_e(),t.hasPrecedingLineBreak()||T()!==20&&T()!==29))return 0;let u=T(),b=_e();if(u===20){if(b===21)switch(_e()){case 38:case 58:case 18:return 1;default:return 0}if(b===22||b===18)return 2;if(b===25)return 1;if(Wi(b)&&b!==132&&wt(yc))return _e()===128?0:1;if(!kt()&&b!==108)return 0;switch(_e()){case 58:return 1;case 57:return _e(),T()===58||T()===27||T()===63||T()===21?1:0;case 27:case 63:case 21:return 2}return 0}else return Y.assert(u===29),!kt()&&T()!==85?0:pr===1?wt(()=>{Ot(85);let j=_e();if(j===94)switch(_e()){case 63:case 31:case 43:return!1;default:return!0}else if(j===27||j===63)return!0;return!1})?1:0:2}function Om(u){let b=t.getTokenPos();if(On!=null&&On.has(b))return;let O=Rm(!1,u);return O||(On||(On=new Set)).add(b),O}function Mm(u){if(T()===132&&wt(Lm)===1){let b=L(),O=sp(),j=s_(0);return km(b,j,u,O)}}function Lm(){if(T()===132){if(_e(),t.hasPrecedingLineBreak()||T()===38)return 0;let u=s_(0);if(!t.hasPrecedingLineBreak()&&u.kind===79&&T()===38)return 1}return 0}function Rm(u,b){let O=L(),j=fe(),z=sp(),re=Ke(z,Ul)?2:0,Ee=Xn(),qe;if(de(20)){if(u)qe=wc(re,u);else{let di=wc(re,u);if(!di)return;qe=di}if(!de(21)&&!u)return}else{if(!u)return;qe=ui()}let We=T()===58,$e=pi(58,!1);if($e&&!u&&Cu($e))return;let lt=$e;for(;(lt==null?void 0:lt.kind)===193;)lt=lt.type;let Jt=lt&&dd(lt);if(!u&&T()!==38&&(Jt||T()!==18))return;let Lt=T(),At=ea(38),kr=Lt===38||Lt===18?Bu(Ke(z,Ul),b):wr();if(!b&&We&&T()!==58)return;let Fn=N.createArrowFunction(z,Ee,qe,$e,At,kr);return St(Q(Fn,O),j)}function Bu(u,b){if(T()===18)return Dc(u?2:0);if(T()!==26&&T()!==98&&T()!==84&&vh()&&!Am())return Dc(16|(u?2:0));let O=br;br=!1;let j=u?Xi(()=>Yr(b)):Aa(()=>Yr(b));return br=O,j}function lb(u,b,O){let j=dr(57);if(!j)return u;let z;return Q(N.createConditionalExpression(u,j,Ct(r,()=>Yr(!1)),z=ea(58),xl(z)?Yr(O):Jn(79,!1,ve._0_expected,Br(58))),b)}function s_(u){let b=L(),O=Wu();return qu(u,O,b)}function jm(u){return u===101||u===162}function qu(u,b,O){for(;;){bt();let j=Dl(T());if(!(T()===42?j>=u:j>u)||T()===101&&Qi())break;if(T()===128||T()===150){if(t.hasPrecedingLineBreak())break;{let re=T();_e(),b=re===150?Fm(b,sr()):Bm(b,sr())}}else b=Uu(b,sn(),s_(j),O)}return b}function Jm(){return Qi()&&T()===101?!1:Dl(T())>0}function Fm(u,b){return Q(N.createSatisfiesExpression(u,b),u.pos)}function Uu(u,b,O,j){return Q(N.createBinaryExpression(u,b,O),j)}function Bm(u,b){return Q(N.createAsExpression(u,b),u.pos)}function qm(){let u=L();return Q(N.createPrefixUnaryExpression(T(),mt(na)),u)}function Um(){let u=L();return Q(N.createDeleteExpression(mt(na)),u)}function ub(){let u=L();return Q(N.createTypeOfExpression(mt(na)),u)}function zm(){let u=L();return Q(N.createVoidExpression(mt(na)),u)}function pb(){return T()===133?xn()?!0:wt(Zu):!1}function zu(){let u=L();return Q(N.createAwaitExpression(mt(na)),u)}function Wu(){if(Wm()){let O=L(),j=Vm();return T()===42?qu(Dl(T()),j,O):j}let u=T(),b=na();if(T()===42){let O=Ar(_r,b.pos),{end:j}=b;b.kind===213?Z(O,j,ve.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):Z(O,j,ve.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,Br(u))}return b}function na(){switch(T()){case 39:case 40:case 54:case 53:return qm();case 89:return Um();case 112:return ub();case 114:return zm();case 29:return pr===1?o_(!0):Zm();case 133:if(pb())return zu();default:return Vm()}}function Wm(){switch(T()){case 39:case 40:case 54:case 53:case 89:case 112:case 114:case 133:return!1;case 29:if(pr!==1)return!1;default:return!0}}function Vm(){if(T()===45||T()===46){let b=L();return Q(N.createPrefixUnaryExpression(T(),mt(to)),b)}else if(pr===1&&T()===29&&wt(F2))return o_(!0);let u=to();if(Y.assert(Do(u)),(T()===45||T()===46)&&!t.hasPrecedingLineBreak()){let b=T();return _e(),Q(N.createPostfixUnaryExpression(u,b),u.pos)}return u}function to(){let u=L(),b;return T()===100?wt(a_)?(Gr|=2097152,b=sn()):wt(Y2)?(_e(),_e(),b=Q(N.createMetaProperty(100,zr()),u),Gr|=4194304):b=Hm():b=T()===106?Vu():Hm(),$u(u,b)}function Hm(){let u=L(),b=Ku();return Ja(u,b,!0)}function Vu(){let u=L(),b=sn();if(T()===29){let O=L(),j=Tr(Pc);j!==void 0&&(Z(O,L(),ve.super_may_not_use_type_arguments),__()||(b=N.createExpressionWithTypeArguments(b,j)))}return T()===20||T()===24||T()===22?b:(ea(24,ve.super_must_be_followed_by_an_argument_list_or_member_access),Q(Ve(b,bc(!0,!0)),u))}function o_(u,b,O){let j=L(),z=Km(u),re;if(z.kind===283){let Ee=$m(z),qe,We=Ee[Ee.length-1];if((We==null?void 0:We.kind)===281&&!Hi(We.openingElement.tagName,We.closingElement.tagName)&&Hi(z.tagName,We.closingElement.tagName)){let $e=We.children.end,lt=Q(N.createJsxElement(We.openingElement,We.children,Q(N.createJsxClosingElement(Q(Te(""),$e,$e)),$e,$e)),We.openingElement.pos,$e);Ee=Er([...Ee.slice(0,Ee.length-1),lt],Ee.pos,$e),qe=We.closingElement}else qe=Qm(z,u),Hi(z.tagName,qe.tagName)||(O&&tu(O)&&Hi(qe.tagName,O.tagName)?ie(z.tagName,ve.JSX_element_0_has_no_corresponding_closing_tag,B_(_r,z.tagName)):ie(qe.tagName,ve.Expected_corresponding_JSX_closing_tag_for_0,B_(_r,z.tagName)));re=Q(N.createJsxElement(z,Ee,qe),j)}else z.kind===286?re=Q(N.createJsxFragment(z,$m(z),gb(u)),j):(Y.assert(z.kind===282),re=z);if(u&&T()===29){let Ee=typeof b>"u"?re.pos:b,qe=Tr(()=>o_(!0,Ee));if(qe){let We=Jn(27,!1);return $f(We,qe.pos,0),Z(Ar(_r,Ee),qe.end,ve.JSX_expressions_must_have_one_parent_element),Q(N.createBinaryExpression(re,We,qe),j)}}return re}function fb(){let u=L(),b=N.createJsxText(t.getTokenValue(),ar===12);return ar=t.scanJsxToken(),Q(b,u)}function Gm(u,b){switch(b){case 1:if(u2(u))ie(u,ve.JSX_fragment_has_no_corresponding_closing_tag);else{let O=u.tagName,j=Ar(_r,O.pos);Z(j,O.end,ve.JSX_element_0_has_no_corresponding_closing_tag,B_(_r,u.tagName))}return;case 30:case 7:return;case 11:case 12:return fb();case 18:return Xm(!1);case 29:return o_(!1,void 0,u);default:return Y.assertNever(b)}}function $m(u){let b=[],O=L(),j=hr;for(hr|=1<<14;;){let z=Gm(u,ar=t.reScanJsxToken());if(!z||(b.push(z),tu(u)&&(z==null?void 0:z.kind)===281&&!Hi(z.openingElement.tagName,z.closingElement.tagName)&&Hi(u.tagName,z.closingElement.tagName)))break}return hr=j,Er(b,O)}function db(){let u=L();return Q(N.createJsxAttributes(Kn(13,mb)),u)}function Km(u){let b=L();if(de(29),T()===31)return Lr(),Q(N.createJsxOpeningFragment(),b);let O=Ac(),j=nr&262144?void 0:Nc(),z=db(),re;return T()===31?(Lr(),re=N.createJsxOpeningElement(O,j,z)):(de(43),de(31,void 0,!1)&&(u?_e():Lr()),re=N.createJsxSelfClosingElement(O,j,z)),Q(re,b)}function Ac(){let u=L();Dr();let b=T()===108?sn():zr();for(;Ot(24);)b=Q(Ve(b,bc(!0,!1)),u);return b}function Xm(u){let b=L();if(!de(18))return;let O,j;return T()!==19&&(O=dr(25),j=Sr()),u?de(19):de(19,void 0,!1)&&Lr(),Q(N.createJsxExpression(O,j),b)}function mb(){if(T()===18)return hb();Dr();let u=L();return Q(N.createJsxAttribute(zr(),Ym()),u)}function Ym(){if(T()===63){if(yr()===10)return Di();if(T()===18)return Xm(!0);if(T()===29)return o_(!0);Dt(ve.or_JSX_element_expected)}}function hb(){let u=L();de(18),de(25);let b=Sr();return de(19),Q(N.createJsxSpreadAttribute(b),u)}function Qm(u,b){let O=L();de(30);let j=Ac();return de(31,void 0,!1)&&(b||!Hi(u.tagName,j)?_e():Lr()),Q(N.createJsxClosingElement(j),O)}function gb(u){let b=L();return de(30),de(31,ve.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(u?_e():Lr()),Q(N.createJsxJsxClosingFragment(),b)}function Zm(){Y.assert(pr!==1,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");let u=L();de(29);let b=sr();de(31);let O=na();return Q(N.createTypeAssertion(b,O),u)}function yb(){return _e(),fr(T())||T()===22||__()}function eh(){return T()===28&&wt(yb)}function Hu(u){if(u.flags&32)return!0;if(Uo(u)){let b=u.expression;for(;Uo(b)&&!(b.flags&32);)b=b.expression;if(b.flags&32){for(;Uo(u);)u.flags|=32,u=u.expression;return!0}}return!1}function fi(u,b,O){let j=bc(!0,!0),z=O||Hu(b),re=z?pt(b,O,j):Ve(b,j);if(z&&vn(re.name)&&ie(re.name,ve.An_optional_chain_cannot_contain_private_identifiers),e2(b)&&b.typeArguments){let Ee=b.typeArguments.pos-1,qe=Ar(_r,b.typeArguments.end)+1;Z(Ee,qe,ve.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Q(re,u)}function ja(u,b,O){let j;if(T()===23)j=Jn(79,!0,ve.An_element_access_expression_should_take_an_argument);else{let re=It(Sr);Ta(re)&&(re.text=Ia(re.text)),j=re}de(23);let z=O||Hu(b)?Nt(b,O,j):Gt(b,j);return Q(z,u)}function Ja(u,b,O){for(;;){let j,z=!1;if(O&&eh()?(j=ea(28),z=fr(T())):z=Ot(24),z){b=fi(u,b,j);continue}if((j||!Ai())&&Ot(22)){b=ja(u,b,j);continue}if(__()){b=!j&&b.kind===230?Gu(u,b.expression,j,b.typeArguments):Gu(u,b,j,void 0);continue}if(!j){if(T()===53&&!t.hasPrecedingLineBreak()){_e(),b=Q(N.createNonNullExpression(b),u);continue}let re=Tr(Pc);if(re){b=Q(N.createExpressionWithTypeArguments(b,re),u);continue}}return b}}function __(){return T()===14||T()===15}function Gu(u,b,O,j){let z=N.createTaggedTemplateExpression(b,j,T()===14?($t(),Di()):Wd(!0));return(O||b.flags&32)&&(z.flags|=32),z.questionDotToken=O,Q(z,u)}function $u(u,b){for(;;){b=Ja(u,b,!0);let O,j=dr(28);if(j&&(O=Tr(Pc),__())){b=Gu(u,b,j,O);continue}if(O||T()===20){!j&&b.kind===230&&(O=b.typeArguments,b=b.expression);let z=th(),re=j||Hu(b)?er(b,j,O,z):Xt(b,O,z);b=Q(re,u);continue}if(j){let z=Jn(79,!1,ve.Identifier_expected);b=Q(pt(b,j,z),u)}break}return b}function th(){de(20);let u=mn(11,ih);return de(21),u}function Pc(){if(nr&262144||Wt()!==29)return;_e();let u=mn(20,sr);if(bt()===31)return _e(),u&&vb()?u:void 0}function vb(){switch(T()){case 20:case 14:case 15:return!0;case 29:case 31:case 39:case 40:return!1}return t.hasPrecedingLineBreak()||Jm()||!La()}function Ku(){switch(T()){case 8:case 9:case 10:case 14:return Di();case 108:case 106:case 104:case 110:case 95:return sn();case 20:return bb();case 22:return ah();case 18:return Xu();case 132:if(!wt(yh))break;return Yu();case 59:return Ub();case 84:return Ih();case 98:return Yu();case 103:return Tb();case 43:case 68:if(jt()===13)return Di();break;case 15:return Wd(!1);case 80:return gc()}return wr(ve.Expression_expected)}function bb(){let u=L(),b=fe();de(20);let O=It(Sr);return de(21),St(Q(Hr(O),u),b)}function rh(){let u=L();de(25);let b=Yr(!0);return Q(N.createSpreadElement(b),u)}function nh(){return T()===25?rh():T()===27?Q(N.createOmittedExpression(),L()):Yr(!0)}function ih(){return Ct(r,nh)}function ah(){let u=L(),b=t.getTokenPos(),O=de(22),j=t.hasPrecedingLineBreak(),z=mn(15,nh);return Ts(22,23,O,b),Q(Ne(z,j),u)}function sh(){let u=L(),b=fe();if(dr(25)){let lt=Yr(!0);return St(Q(N.createSpreadAssignment(lt),u),b)}let O=ki(!0);if(Ks(137))return Fa(u,b,O,174,0);if(Ks(151))return Fa(u,b,O,175,0);let j=dr(41),z=kt(),re=Es(),Ee=dr(57),qe=dr(53);if(j||T()===20||T()===29)return Ah(u,b,O,j,re,Ee,qe);let We;if(z&&T()!==58){let lt=dr(63),Jt=lt?It(()=>Yr(!0)):void 0;We=N.createShorthandPropertyAssignment(re,Jt),We.equalsToken=lt}else{de(58);let lt=It(()=>Yr(!0));We=N.createPropertyAssignment(re,lt)}return We.modifiers=O,We.questionToken=Ee,We.exclamationToken=qe,St(Q(We,u),b)}function Xu(){let u=L(),b=t.getTokenPos(),O=de(18),j=t.hasPrecedingLineBreak(),z=mn(12,sh,!0);return Ts(18,19,O,b),Q(oe(z,j),u)}function Yu(){let u=Ai();Re(!1);let b=L(),O=fe(),j=ki(!1);de(98);let z=dr(41),re=z?1:0,Ee=Ke(j,Ul)?2:0,qe=re&&Ee?vs(ro):re?ys(ro):Ee?Xi(ro):ro(),We=Xn(),$e=ra(re|Ee),lt=pi(58,!1),Jt=Dc(re|Ee);Re(u);let Lt=N.createFunctionExpression(j,z,qe,We,$e,lt,Jt);return St(Q(Lt,b),O)}function ro(){return Tt()?hc():void 0}function Tb(){let u=L();if(de(103),Ot(24)){let re=zr();return Q(N.createMetaProperty(103,re),u)}let b=L(),O=Ja(b,Ku(),!1),j;O.kind===230&&(j=O.typeArguments,O=O.expression),T()===28&&Dt(ve.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,B_(_r,O));let z=T()===20?th():void 0;return Q(Tn(O,j,z),u)}function ws(u,b){let O=L(),j=fe(),z=t.getTokenPos(),re=de(18,b);if(re||u){let Ee=t.hasPrecedingLineBreak(),qe=Kn(1,on);Ts(18,19,re,z);let We=St(Q(Gi(qe,Ee),O),j);return T()===63&&(Dt(ve.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),_e()),We}else{let Ee=ui();return St(Q(Gi(Ee,void 0),O),j)}}function Dc(u,b){let O=Yi();Le(!!(u&1));let j=xn();ot(!!(u&2));let z=br;br=!1;let re=Ai();re&&Re(!1);let Ee=ws(!!(u&16),b);return re&&Re(!0),br=z,Le(O),ot(j),Ee}function oh(){let u=L(),b=fe();return de(26),St(Q(N.createEmptyStatement(),u),b)}function Sb(){let u=L(),b=fe();de(99);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=on(),Ee=Ot(91)?on():void 0;return St(Q(Ut(z,re,Ee),u),b)}function _h(){let u=L(),b=fe();de(90);let O=on();de(115);let j=t.getTokenPos(),z=de(20),re=It(Sr);return Ts(20,21,z,j),Ot(26),St(Q(N.createDoStatement(O,re),u),b)}function xb(){let u=L(),b=fe();de(115);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=on();return St(Q(kn(z,re),u),b)}function ch(){let u=L(),b=fe();de(97);let O=dr(133);de(20);let j;T()!==26&&(T()===113||T()===119||T()===85?j=Eh(!0):j=Mr(Sr));let z;if(O?de(162):Ot(162)){let re=It(()=>Yr(!0));de(21),z=mr(O,j,re,on())}else if(Ot(101)){let re=It(Sr);de(21),z=N.createForInStatement(j,re,on())}else{de(26);let re=T()!==26&&T()!==21?It(Sr):void 0;de(26);let Ee=T()!==21?It(Sr):void 0;de(21),z=an(j,re,Ee,on())}return St(Q(z,u),b)}function lh(u){let b=L(),O=fe();de(u===249?81:86);let j=ka()?void 0:wr();En();let z=u===249?N.createBreakStatement(j):N.createContinueStatement(j);return St(Q(z,b),O)}function uh(){let u=L(),b=fe();de(105);let O=ka()?void 0:It(Sr);return En(),St(Q(N.createReturnStatement(O),u),b)}function Eb(){let u=L(),b=fe();de(116);let O=t.getTokenPos(),j=de(20),z=It(Sr);Ts(20,21,j,O);let re=Mt(33554432,on);return St(Q(N.createWithStatement(z,re),u),b)}function wb(){let u=L(),b=fe();de(82);let O=It(Sr);de(58);let j=Kn(3,on);return St(Q(N.createCaseClause(O,j),u),b)}function ph(){let u=L();de(88),de(58);let b=Kn(3,on);return Q(N.createDefaultClause(b),u)}function Cb(){return T()===82?wb():ph()}function fh(){let u=L();de(18);let b=Kn(2,Cb);return de(19),Q(N.createCaseBlock(b),u)}function Ab(){let u=L(),b=fe();de(107),de(20);let O=It(Sr);de(21);let j=fh();return St(Q(N.createSwitchStatement(O,j),u),b)}function dh(){let u=L(),b=fe();de(109);let O=t.hasPrecedingLineBreak()?void 0:It(Sr);return O===void 0&&($r++,O=Q(Te(""),L())),t_()||Zi(O),St(Q(N.createThrowStatement(O),u),b)}function Pb(){let u=L(),b=fe();de(111);let O=ws(!1),j=T()===83?mh():void 0,z;return(!j||T()===96)&&(de(96,ve.catch_or_finally_expected),z=ws(!1)),St(Q(N.createTryStatement(O,j,z),u),b)}function mh(){let u=L();de(83);let b;Ot(20)?(b=Ic(),de(21)):b=void 0;let O=ws(!1);return Q(N.createCatchClause(b,O),u)}function Db(){let u=L(),b=fe();return de(87),En(),St(Q(N.createDebuggerStatement(),u),b)}function hh(){let u=L(),b=fe(),O,j=T()===20,z=It(Sr);return yt(z)&&Ot(58)?O=N.createLabeledStatement(z,on()):(t_()||Zi(z),O=fn(z),j&&(b=!1)),St(Q(O,u),b)}function Qu(){return _e(),fr(T())&&!t.hasPrecedingLineBreak()}function gh(){return _e(),T()===84&&!t.hasPrecedingLineBreak()}function yh(){return _e(),T()===98&&!t.hasPrecedingLineBreak()}function Zu(){return _e(),(fr(T())||T()===8||T()===9||T()===10)&&!t.hasPrecedingLineBreak()}function kb(){for(;;)switch(T()){case 113:case 119:case 85:case 98:case 84:case 92:return!0;case 118:case 154:return _b();case 142:case 143:return Ob();case 126:case 127:case 132:case 136:case 121:case 122:case 123:case 146:if(_e(),t.hasPrecedingLineBreak())return!1;continue;case 159:return _e(),T()===18||T()===79||T()===93;case 100:return _e(),T()===10||T()===41||T()===18||fr(T());case 93:let u=_e();if(u===154&&(u=wt(_e)),u===63||u===41||u===18||u===88||u===128||u===59)return!0;continue;case 124:_e();continue;default:return!1}}function c_(){return wt(kb)}function vh(){switch(T()){case 59:case 26:case 18:case 113:case 119:case 98:case 84:case 92:case 99:case 90:case 115:case 97:case 86:case 81:case 105:case 116:case 107:case 109:case 111:case 87:case 83:case 96:return!0;case 100:return c_()||wt(ku);case 85:case 93:return c_();case 132:case 136:case 118:case 142:case 143:case 154:case 159:return!0;case 127:case 123:case 121:case 122:case 124:case 146:return c_()||!wt(Qu);default:return La()}}function bh(){return _e(),Tt()||T()===18||T()===22}function Ib(){return wt(bh)}function on(){switch(T()){case 26:return oh();case 18:return ws(!1);case 113:return rp(L(),fe(),void 0);case 119:if(Ib())return rp(L(),fe(),void 0);break;case 98:return np(L(),fe(),void 0);case 84:return Nh(L(),fe(),void 0);case 99:return Sb();case 90:return _h();case 115:return xb();case 97:return ch();case 86:return lh(248);case 81:return lh(249);case 105:return uh();case 116:return Eb();case 107:return Ab();case 109:return dh();case 111:case 83:case 96:return Pb();case 87:return Db();case 59:return ep();case 132:case 118:case 154:case 142:case 143:case 136:case 85:case 92:case 93:case 100:case 121:case 122:case 123:case 126:case 127:case 124:case 146:case 159:if(c_())return ep();break}return hh()}function Th(u){return u.kind===136}function ep(){let u=L(),b=fe(),O=ki(!0);if(Ke(O,Th)){let z=Nb(u);if(z)return z;for(let re of O)re.flags|=16777216;return Mt(16777216,()=>l_(u,b,O))}else return l_(u,b,O)}function Nb(u){return Mt(16777216,()=>{let b=mu(hr,u);if(b)return hu(b)})}function l_(u,b,O){switch(T()){case 113:case 119:case 85:return rp(u,b,O);case 98:return np(u,b,O);case 84:return Nh(u,b,O);case 118:return Hb(u,b,O);case 154:return Gb(u,b,O);case 92:return Kb(u,b,O);case 159:case 142:case 143:return Fh(u,b,O);case 100:return Qb(u,b,O);case 93:switch(_e(),T()){case 88:case 63:return _6(u,b,O);case 128:return Yb(u,b,O);default:return o6(u,b,O)}default:if(O){let j=Jn(279,!0,ve.Declaration_expected);return Gf(j,u),j.modifiers=O,j}return}}function Ob(){return _e(),!t.hasPrecedingLineBreak()&&(kt()||T()===10)}function kc(u,b){if(T()!==18){if(u&4){i_();return}if(ka()){En();return}}return Dc(u,b)}function Mb(){let u=L();if(T()===27)return Q(N.createOmittedExpression(),u);let b=dr(25),O=no(),j=Ra();return Q(N.createBindingElement(b,void 0,O,j),u)}function Sh(){let u=L(),b=dr(25),O=Tt(),j=Es(),z;O&&T()!==58?(z=j,j=void 0):(de(58),z=no());let re=Ra();return Q(N.createBindingElement(b,j,z,re),u)}function Lb(){let u=L();de(18);let b=mn(9,Sh);return de(19),Q(N.createObjectBindingPattern(b),u)}function xh(){let u=L();de(22);let b=mn(10,Mb);return de(23),Q(N.createArrayBindingPattern(b),u)}function tp(){return T()===18||T()===22||T()===80||Tt()}function no(u){return T()===22?xh():T()===18?Lb():hc(u)}function Rb(){return Ic(!0)}function Ic(u){let b=L(),O=fe(),j=no(ve.Private_identifiers_are_not_allowed_in_variable_declarations),z;u&&j.kind===79&&T()===53&&!t.hasPrecedingLineBreak()&&(z=sn());let re=Ma(),Ee=jm(T())?void 0:Ra(),qe=$i(j,z,re,Ee);return St(Q(qe,b),O)}function Eh(u){let b=L(),O=0;switch(T()){case 113:break;case 119:O|=1;break;case 85:O|=2;break;default:Y.fail()}_e();let j;if(T()===162&&wt(wh))j=ui();else{let z=Qi();xe(u),j=mn(8,u?Ic:Rb),xe(z)}return Q(dn(j,O),b)}function wh(){return yc()&&_e()===21}function rp(u,b,O){let j=Eh(!1);En();let z=pn(O,j);return St(Q(z,u),b)}function np(u,b,O){let j=xn(),z=Vn(O);de(98);let re=dr(41),Ee=z&1024?ro():hc(),qe=re?1:0,We=z&512?2:0,$e=Xn();z&1&&ot(!0);let lt=ra(qe|We),Jt=pi(58,!1),Lt=kc(qe|We,ve.or_expected);ot(j);let At=N.createFunctionDeclaration(O,re,Ee,$e,lt,Jt,Lt);return St(Q(At,u),b)}function jb(){if(T()===135)return de(135);if(T()===10&&wt(_e)===20)return Tr(()=>{let u=Di();return u.text==="constructor"?u:void 0})}function Ch(u,b,O){return Tr(()=>{if(jb()){let j=Xn(),z=ra(0),re=pi(58,!1),Ee=kc(0,ve.or_expected),qe=N.createConstructorDeclaration(O,z,Ee);return qe.typeParameters=j,qe.type=re,St(Q(qe,u),b)}})}function Ah(u,b,O,j,z,re,Ee,qe){let We=j?1:0,$e=Ke(O,Ul)?2:0,lt=Xn(),Jt=ra(We|$e),Lt=pi(58,!1),At=kc(We|$e,qe),kr=N.createMethodDeclaration(O,j,z,re,lt,Jt,Lt,At);return kr.exclamationToken=Ee,St(Q(kr,u),b)}function ip(u,b,O,j,z){let re=!z&&!t.hasPrecedingLineBreak()?dr(53):void 0,Ee=Ma(),qe=Ct(45056,Ra);mc(j,Ee,qe);let We=N.createPropertyDeclaration(O,j,z||re,Ee,qe);return St(Q(We,u),b)}function Ph(u,b,O){let j=dr(41),z=Es(),re=dr(57);return j||T()===20||T()===29?Ah(u,b,O,j,z,re,void 0,ve.or_expected):ip(u,b,O,z,re)}function Fa(u,b,O,j,z){let re=Es(),Ee=Xn(),qe=ra(0),We=pi(58,!1),$e=kc(z),lt=j===174?N.createGetAccessorDeclaration(O,re,qe,We,$e):N.createSetAccessorDeclaration(O,re,qe,$e);return lt.typeParameters=Ee,ic(lt)&&(lt.type=We),St(Q(lt,u),b)}function Jb(){let u;if(T()===59)return!0;for(;Wi(T());){if(u=T(),VS(u))return!0;_e()}if(T()===41||(xs()&&(u=T(),_e()),T()===22))return!0;if(u!==void 0){if(!ba(u)||u===151||u===137)return!0;switch(T()){case 20:case 29:case 53:case 58:case 63:case 57:return!0;default:return ka()}}return!1}function Fb(u,b,O){ea(124);let j=Dh(),z=St(Q(N.createClassStaticBlockDeclaration(j),u),b);return z.modifiers=O,z}function Dh(){let u=Yi(),b=xn();Le(!1),ot(!0);let O=ws(!1);return Le(u),ot(b),O}function Bb(){if(xn()&&T()===133){let u=L(),b=wr(ve.Expression_expected);_e();let O=Ja(u,b,!0);return $u(u,O)}return to()}function kh(){let u=L();if(!Ot(59))return;let b=ci(Bb);return Q(N.createDecorator(b),u)}function ap(u,b,O){let j=L(),z=T();if(T()===85&&b){if(!Tr(uu))return}else{if(O&&T()===124&&wt(Mc))return;if(u&&T()===124)return;if(!Md())return}return Q(Ye(z),j)}function ki(u,b,O){let j=L(),z,re,Ee,qe=!1,We=!1,$e=!1;if(u&&T()===59)for(;re=kh();)z=tr(z,re);for(;Ee=ap(qe,b,O);)Ee.kind===124&&(qe=!0),z=tr(z,Ee),We=!0;if(We&&u&&T()===59)for(;re=kh();)z=tr(z,re),$e=!0;if($e)for(;Ee=ap(qe,b,O);)Ee.kind===124&&(qe=!0),z=tr(z,Ee);return z&&Er(z,j)}function sp(){let u;if(T()===132){let b=L();_e();let O=Q(Ye(132),b);u=Er([O],b)}return u}function qb(){let u=L();if(T()===26)return _e(),Q(N.createSemicolonClassElement(),u);let b=fe(),O=ki(!0,!0,!0);if(T()===124&&wt(Mc))return Fb(u,b,O);if(Ks(137))return Fa(u,b,O,174,0);if(Ks(151))return Fa(u,b,O,175,0);if(T()===135||T()===10){let j=Ch(u,b,O);if(j)return j}if(im())return am(u,b,O);if(fr(T())||T()===10||T()===8||T()===41||T()===22)if(Ke(O,Th)){for(let z of O)z.flags|=16777216;return Mt(16777216,()=>Ph(u,b,O))}else return Ph(u,b,O);if(O){let j=Jn(79,!0,ve.Declaration_expected);return ip(u,b,O,j,void 0)}return Y.fail("Should not have attempted to parse class member declaration.")}function Ub(){let u=L(),b=fe(),O=ki(!0);if(T()===84)return op(u,b,O,228);let j=Jn(279,!0,ve.Expression_expected);return Gf(j,u),j.modifiers=O,j}function Ih(){return op(L(),fe(),void 0,228)}function Nh(u,b,O){return op(u,b,O,260)}function op(u,b,O,j){let z=xn();de(84);let re=Oh(),Ee=Xn();Ke(O,N8)&&ot(!0);let qe=Mh(),We;de(18)?(We=Vb(),de(19)):We=ui(),ot(z);let $e=j===260?N.createClassDeclaration(O,re,Ee,qe,We):N.createClassExpression(O,re,Ee,qe,We);return St(Q($e,u),b)}function Oh(){return Tt()&&!zb()?Ss(Tt()):void 0}function zb(){return T()===117&&wt(pu)}function Mh(){if(Oc())return Kn(22,Lh)}function Lh(){let u=L(),b=T();Y.assert(b===94||b===117),_e();let O=mn(7,Wb);return Q(N.createHeritageClause(b,O),u)}function Wb(){let u=L(),b=to();if(b.kind===230)return b;let O=Nc();return Q(N.createExpressionWithTypeArguments(b,O),u)}function Nc(){return T()===29?Oa(20,sr,29,31):void 0}function Oc(){return T()===94||T()===117}function Vb(){return Kn(5,qb)}function Hb(u,b,O){de(118);let j=wr(),z=Xn(),re=Mh(),Ee=Iu(),qe=N.createInterfaceDeclaration(O,j,z,re,Ee);return St(Q(qe,u),b)}function Gb(u,b,O){de(154);let j=wr(),z=Xn();de(63);let re=T()===139&&Tr(Ou)||sr();En();let Ee=N.createTypeAliasDeclaration(O,j,z,re);return St(Q(Ee,u),b)}function $b(){let u=L(),b=fe(),O=Es(),j=It(Ra);return St(Q(N.createEnumMember(O,j),u),b)}function Kb(u,b,O){de(92);let j=wr(),z;de(18)?(z=$s(()=>mn(6,$b)),de(19)):z=ui();let re=N.createEnumDeclaration(O,j,z);return St(Q(re,u),b)}function Rh(){let u=L(),b;return de(18)?(b=Kn(1,on),de(19)):b=ui(),Q(N.createModuleBlock(b),u)}function jh(u,b,O,j){let z=j&16,re=wr(),Ee=Ot(24)?jh(L(),!1,void 0,4|z):Rh(),qe=N.createModuleDeclaration(O,re,Ee,j);return St(Q(qe,u),b)}function Jh(u,b,O){let j=0,z;T()===159?(z=wr(),j|=1024):(z=Di(),z.text=Ia(z.text));let re;T()===18?re=Rh():En();let Ee=N.createModuleDeclaration(O,z,re,j);return St(Q(Ee,u),b)}function Fh(u,b,O){let j=0;if(T()===159)return Jh(u,b,O);if(Ot(143))j|=16;else if(de(142),T()===10)return Jh(u,b,O);return jh(u,b,O,j)}function Bh(){return T()===147&&wt(qh)}function qh(){return _e()===20}function Mc(){return _e()===18}function Xb(){return _e()===43}function Yb(u,b,O){de(128),de(143);let j=wr();En();let z=N.createNamespaceExportDeclaration(j);return z.modifiers=O,St(Q(z,u),b)}function Qb(u,b,O){de(100);let j=t.getStartPos(),z;kt()&&(z=wr());let re=!1;if(T()!==158&&(z==null?void 0:z.escapedText)==="type"&&(kt()||Zb())&&(re=!0,z=kt()?wr():void 0),z&&!e6())return t6(u,b,O,z,re);let Ee;(z||T()===41||T()===18)&&(Ee=r6(z,j,re),de(158));let qe=Lc(),We;T()===130&&!t.hasPrecedingLineBreak()&&(We=_p()),En();let $e=N.createImportDeclaration(O,Ee,qe,We);return St(Q($e,u),b)}function Uh(){let u=L(),b=fr(T())?zr():n_(10);de(58);let O=Yr(!0);return Q(N.createAssertEntry(b,O),u)}function _p(u){let b=L();u||de(130);let O=t.getTokenPos();if(de(18)){let j=t.hasPrecedingLineBreak(),z=mn(24,Uh,!0);if(!de(19)){let re=Cn(Zt);re&&re.code===ve._0_expected.code&&Rl(re,Ro(Ur,O,1,ve.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Q(N.createAssertClause(z,j),b)}else{let j=Er([],L(),void 0,!1);return Q(N.createAssertClause(j,!1),b)}}function Zb(){return T()===41||T()===18}function e6(){return T()===27||T()===158}function t6(u,b,O,j,z){de(63);let re=cp();En();let Ee=N.createImportEqualsDeclaration(O,z,j,re);return St(Q(Ee,u),b)}function r6(u,b,O){let j;return(!u||Ot(27))&&(j=T()===41?Rc():zh(272)),Q(N.createImportClause(O,u,j),b)}function cp(){return Bh()?n6():Ys(!1)}function n6(){let u=L();de(147),de(20);let b=Lc();return de(21),Q(N.createExternalModuleReference(b),u)}function Lc(){if(T()===10){let u=Di();return u.text=Ia(u.text),u}else return Sr()}function Rc(){let u=L();de(41),de(128);let b=wr();return Q(N.createNamespaceImport(b),u)}function zh(u){let b=L(),O=u===272?N.createNamedImports(Oa(23,a6,18,19)):N.createNamedExports(Oa(23,i6,18,19));return Q(O,b)}function i6(){let u=fe();return St(Ba(278),u)}function a6(){return Ba(273)}function Ba(u){let b=L(),O=ba(T())&&!kt(),j=t.getTokenPos(),z=t.getTextPos(),re=!1,Ee,qe=!0,We=zr();if(We.escapedText==="type")if(T()===128){let Jt=zr();if(T()===128){let Lt=zr();fr(T())?(re=!0,Ee=Jt,We=lt(),qe=!1):(Ee=We,We=Lt,qe=!1)}else fr(T())?(Ee=We,qe=!1,We=lt()):(re=!0,We=Jt)}else fr(T())&&(re=!0,We=lt());qe&&T()===128&&(Ee=We,de(128),We=lt()),u===273&&O&&Z(j,z,ve.Identifier_expected);let $e=u===273?N.createImportSpecifier(re,Ee,We):N.createExportSpecifier(re,Ee,We);return Q($e,b);function lt(){return O=ba(T())&&!kt(),j=t.getTokenPos(),z=t.getTextPos(),zr()}}function s6(u){return Q(N.createNamespaceExport(zr()),u)}function o6(u,b,O){let j=xn();ot(!0);let z,re,Ee,qe=Ot(154),We=L();Ot(41)?(Ot(128)&&(z=s6(We)),de(158),re=Lc()):(z=zh(276),(T()===158||T()===10&&!t.hasPrecedingLineBreak())&&(de(158),re=Lc())),re&&T()===130&&!t.hasPrecedingLineBreak()&&(Ee=_p()),En(),ot(j);let $e=N.createExportDeclaration(O,qe,z,re,Ee);return St(Q($e,u),b)}function _6(u,b,O){let j=xn();ot(!0);let z;Ot(63)?z=!0:de(88);let re=Yr(!0);En(),ot(j);let Ee=N.createExportAssignment(O,z,re);return St(Q(Ee,u),b)}let io;(u=>{u[u.SourceElements=0]="SourceElements",u[u.BlockStatements=1]="BlockStatements",u[u.SwitchClauses=2]="SwitchClauses",u[u.SwitchClauseStatements=3]="SwitchClauseStatements",u[u.TypeMembers=4]="TypeMembers",u[u.ClassMembers=5]="ClassMembers",u[u.EnumMembers=6]="EnumMembers",u[u.HeritageClauseElement=7]="HeritageClauseElement",u[u.VariableDeclarations=8]="VariableDeclarations",u[u.ObjectBindingElements=9]="ObjectBindingElements",u[u.ArrayBindingElements=10]="ArrayBindingElements",u[u.ArgumentExpressions=11]="ArgumentExpressions",u[u.ObjectLiteralMembers=12]="ObjectLiteralMembers",u[u.JsxAttributes=13]="JsxAttributes",u[u.JsxChildren=14]="JsxChildren",u[u.ArrayLiteralMembers=15]="ArrayLiteralMembers",u[u.Parameters=16]="Parameters",u[u.JSDocParameters=17]="JSDocParameters",u[u.RestProperties=18]="RestProperties",u[u.TypeParameters=19]="TypeParameters",u[u.TypeArguments=20]="TypeArguments",u[u.TupleElementTypes=21]="TupleElementTypes",u[u.HeritageClauses=22]="HeritageClauses",u[u.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",u[u.AssertEntries=24]="AssertEntries",u[u.Count=25]="Count"})(io||(io={}));let Wh;(u=>{u[u.False=0]="False",u[u.True=1]="True",u[u.Unknown=2]="Unknown"})(Wh||(Wh={}));let Vh;(u=>{function b($e,lt,Jt){Mn("file.js",$e,99,void 0,1),t.setText($e,lt,Jt),ar=t.scan();let Lt=O(),At=Kt("file.js",99,1,!1,[],Ye(1),0,yn),kr=qs(Zt,At);return Or&&(At.jsDocDiagnostics=qs(Or,At)),_i(),Lt?{jsDocTypeExpression:Lt,diagnostics:kr}:void 0}u.parseJSDocTypeExpressionForTests=b;function O($e){let lt=L(),Jt=($e?Ot:de)(18),Lt=Mt(8388608,xc);(!$e||Jt)&&Da(19);let At=N.createJSDocTypeExpression(Lt);return ft(At),Q(At,lt)}u.parseJSDocTypeExpression=O;function j(){let $e=L(),lt=Ot(18),Jt=L(),Lt=Ys(!1);for(;T()===80;)Xr(),Ge(),Lt=Q(N.createJSDocMemberName(Lt,wr()),Jt);lt&&Da(19);let At=N.createJSDocNameReference(Lt);return ft(At),Q(At,$e)}u.parseJSDocNameReference=j;function z($e,lt,Jt){Mn("",$e,99,void 0,1);let Lt=Mt(8388608,()=>We(lt,Jt)),kr=qs(Zt,{languageVariant:0,text:$e});return _i(),Lt?{jsDoc:Lt,diagnostics:kr}:void 0}u.parseIsolatedJSDocComment=z;function re($e,lt,Jt){let Lt=ar,At=Zt.length,kr=Kr,Fn=Mt(8388608,()=>We(lt,Jt));return Sa(Fn,$e),nr&262144&&(Or||(Or=[]),Or.push(...Zt)),ar=Lt,Zt.length=At,Kr=kr,Fn}u.parseJSDocComment=re;let Ee;($e=>{$e[$e.BeginningOfLine=0]="BeginningOfLine",$e[$e.SawAsterisk=1]="SawAsterisk",$e[$e.SavingComments=2]="SavingComments",$e[$e.SavingBackticks=3]="SavingBackticks"})(Ee||(Ee={}));let qe;($e=>{$e[$e.Property=1]="Property",$e[$e.Parameter=2]="Parameter",$e[$e.CallbackParameter=4]="CallbackParameter"})(qe||(qe={}));function We(){let $e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,lt=arguments.length>1?arguments[1]:void 0,Jt=_r,Lt=lt===void 0?Jt.length:$e+lt;if(lt=Lt-$e,Y.assert($e>=0),Y.assert($e<=Lt),Y.assert(Lt<=Jt.length),!LE(Jt,$e))return;let At,kr,Fn,di,Ii,_n=[],qa=[];return t.scanRange($e+3,lt-5,()=>{let se=1,Me,Ce=$e-(Jt.lastIndexOf(` +`,$e)+1)+4;function Ue(vt){Me||(Me=Ce),_n.push(vt),Ce+=vt.length}for(Ge();u_(5););u_(4)&&(se=0,Ce=0);e:for(;;){switch(T()){case 59:se===0||se===1?(lp(_n),Ii||(Ii=L()),za(up(Ce)),se=0,Me=void 0):Ue(t.getTokenText());break;case 4:_n.push(t.getTokenText()),se=0,Ce=0;break;case 41:let vt=t.getTokenText();se===1||se===2?(se=2,Ue(vt)):(se=1,Ce+=vt.length);break;case 5:let Vt=t.getTokenText();se===2?_n.push(Vt):Me!==void 0&&Ce+Vt.length>Me&&_n.push(Vt.slice(Me-Ce)),Ce+=Vt.length;break;case 1:break e;case 18:se=2;let Rr=t.getStartPos(),gn=t.getTextPos()-1,mi=$h(gn);if(mi){di||Hh(_n),qa.push(Q(N.createJSDocText(_n.join("")),di!=null?di:$e,Rr)),qa.push(mi),_n=[],di=t.getTextPos();break}default:se=2,Ue(t.getTokenText());break}Ge()}lp(_n),qa.length&&_n.length&&qa.push(Q(N.createJSDocText(_n.join("")),di!=null?di:$e,Ii)),qa.length&&At&&Y.assertIsDefined(Ii,"having parsed tags implies that the end of the comment span should be set");let Qe=At&&Er(At,kr,Fn);return Q(N.createJSDocComment(qa.length?Er(qa,$e,Ii):_n.length?_n.join(""):void 0,Qe),$e,Lt)});function Hh(se){for(;se.length&&(se[0]===` +`||se[0]==="\r");)se.shift()}function lp(se){for(;se.length&&se[se.length-1].trim()==="";)se.pop()}function Gh(){for(;;){if(Ge(),T()===1)return!0;if(!(T()===5||T()===4))return!1}}function wn(){if(!((T()===5||T()===4)&&wt(Gh)))for(;T()===5||T()===4;)Ge()}function Ua(){if((T()===5||T()===4)&&wt(Gh))return"";let se=t.hasPrecedingLineBreak(),Me=!1,Ce="";for(;se&&T()===41||T()===5||T()===4;)Ce+=t.getTokenText(),T()===4?(se=!0,Me=!0,Ce=""):T()===41&&(se=!1),Ge();return Me?Ce:""}function up(se){Y.assert(T()===59);let Me=t.getTokenPos();Ge();let Ce=ao(void 0),Ue=Ua(),Qe;switch(Ce.escapedText){case"author":Qe=V(Me,Ce,se,Ue);break;case"implements":Qe=et(Me,Ce,se,Ue);break;case"augments":case"extends":Qe=ht(Me,Ce,se,Ue);break;case"class":case"constructor":Qe=Oi(Me,N.createJSDocClassTag,Ce,se,Ue);break;case"public":Qe=Oi(Me,N.createJSDocPublicTag,Ce,se,Ue);break;case"private":Qe=Oi(Me,N.createJSDocPrivateTag,Ce,se,Ue);break;case"protected":Qe=Oi(Me,N.createJSDocProtectedTag,Ce,se,Ue);break;case"readonly":Qe=Oi(Me,N.createJSDocReadonlyTag,Ce,se,Ue);break;case"override":Qe=Oi(Me,N.createJSDocOverrideTag,Ce,se,Ue);break;case"deprecated":ue=!0,Qe=Oi(Me,N.createJSDocDeprecatedTag,Ce,se,Ue);break;case"this":Qe=qB(Me,Ce,se,Ue);break;case"enum":Qe=UB(Me,Ce,se,Ue);break;case"arg":case"argument":case"param":return Xh(Me,Ce,2,se);case"return":case"returns":Qe=o(Me,Ce,se,Ue);break;case"template":Qe=QB(Me,Ce,se,Ue);break;case"type":Qe=l(Me,Ce,se,Ue);break;case"typedef":Qe=zB(Me,Ce,se,Ue);break;case"callback":Qe=VB(Me,Ce,se,Ue);break;case"overload":Qe=HB(Me,Ce,se,Ue);break;case"satisfies":Qe=hn(Me,Ce,se,Ue);break;case"see":Qe=p(Me,Ce,se,Ue);break;case"exception":case"throws":Qe=k(Me,Ce,se,Ue);break;default:Qe=Qt(Me,Ce,se,Ue);break}return Qe}function Qr(se,Me,Ce,Ue){return Ue||(Ce+=Me-se),jc(Ce,Ue.slice(Ce))}function jc(se,Me){let Ce=L(),Ue=[],Qe=[],vt,Vt=0,Rr=!0,gn;function mi(hi){gn||(gn=se),Ue.push(hi),se+=hi.length}Me!==void 0&&(Me!==""&&mi(Me),Vt=1);let Va=T();e:for(;;){switch(Va){case 4:Vt=0,Ue.push(t.getTokenText()),se=0;break;case 59:if(Vt===3||Vt===2&&(!Rr||wt(Cs))){Ue.push(t.getTokenText());break}t.setTextPos(t.getTextPos()-1);case 1:break e;case 5:if(Vt===2||Vt===3)mi(t.getTokenText());else{let so=t.getTokenText();gn!==void 0&&se+so.length>gn&&Ue.push(so.slice(gn-se)),se+=so.length}break;case 18:Vt=2;let hi=t.getStartPos(),pp=t.getTextPos()-1,fp=$h(pp);fp?(Qe.push(Q(N.createJSDocText(Ue.join("")),vt!=null?vt:Ce,hi)),Qe.push(fp),Ue=[],vt=t.getTextPos()):mi(t.getTokenText());break;case 61:Vt===3?Vt=2:Vt=3,mi(t.getTokenText());break;case 41:if(Vt===0){Vt=1,se+=1;break}default:Vt!==3&&(Vt=2),mi(t.getTokenText());break}Rr=T()===5,Va=Ge()}if(Hh(Ue),lp(Ue),Qe.length)return Ue.length&&Qe.push(Q(N.createJSDocText(Ue.join("")),vt!=null?vt:Ce)),Er(Qe,Ce,t.getTextPos());if(Ue.length)return Ue.join("")}function Cs(){let se=Ge();return se===5||se===4}function $h(se){let Me=Tr(Kh);if(!Me)return;Ge(),wn();let Ce=L(),Ue=fr(T())?Ys(!0):void 0;if(Ue)for(;T()===80;)Xr(),Ge(),Ue=Q(N.createJSDocMemberName(Ue,wr()),Ce);let Qe=[];for(;T()!==19&&T()!==4&&T()!==1;)Qe.push(t.getTokenText()),Ge();let vt=Me==="link"?N.createJSDocLink:Me==="linkcode"?N.createJSDocLinkCode:N.createJSDocLinkPlain;return Q(vt(Ue,Qe.join("")),se,t.getTextPos())}function Kh(){if(Ua(),T()===18&&Ge()===59&&fr(Ge())){let se=t.getTokenValue();if(xt(se))return se}}function xt(se){return se==="link"||se==="linkcode"||se==="linkplain"}function Qt(se,Me,Ce,Ue){return Q(N.createJSDocUnknownTag(Me,Qr(se,L(),Ce,Ue)),se)}function za(se){se&&(At?At.push(se):(At=[se],kr=se.pos),Fn=se.end)}function Wa(){return Ua(),T()===18?O():void 0}function c6(){let se=u_(22);se&&wn();let Me=u_(61),Ce=ZB();return Me&&kd(61),se&&(wn(),dr(63)&&Sr(),de(23)),{name:Ce,isBracketed:se}}function Yn(se){switch(se.kind){case 149:return!0;case 185:return Yn(se.elementType);default:return ac(se)&&yt(se.typeName)&&se.typeName.escapedText==="Object"&&!se.typeArguments}}function Xh(se,Me,Ce,Ue){let Qe=Wa(),vt=!Qe;Ua();let{name:Vt,isBracketed:Rr}=c6(),gn=Ua();vt&&!wt(Kh)&&(Qe=Wa());let mi=Qr(se,L(),Ue,gn),Va=Ce!==4&&n(Qe,Vt,Ce,Ue);Va&&(Qe=Va,vt=!0);let hi=Ce===1?N.createJSDocPropertyTag(Me,Vt,Rr,Qe,vt,mi):N.createJSDocParameterTag(Me,Vt,Rr,Qe,vt,mi);return Q(hi,se)}function n(se,Me,Ce,Ue){if(se&&Yn(se.type)){let Qe=L(),vt,Vt;for(;vt=Tr(()=>u6(Ce,Ue,Me));)(vt.kind===344||vt.kind===351)&&(Vt=tr(Vt,vt));if(Vt){let Rr=Q(N.createJSDocTypeLiteral(Vt,se.type.kind===185),Qe);return Q(N.createJSDocTypeExpression(Rr),Qe)}}}function o(se,Me,Ce,Ue){Ke(At,b2)&&Z(Me.pos,t.getTokenPos(),ve._0_tag_already_specified,Me.escapedText);let Qe=Wa();return Q(N.createJSDocReturnTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function l(se,Me,Ce,Ue){Ke(At,au)&&Z(Me.pos,t.getTokenPos(),ve._0_tag_already_specified,Me.escapedText);let Qe=O(!0),vt=Ce!==void 0&&Ue!==void 0?Qr(se,L(),Ce,Ue):void 0;return Q(N.createJSDocTypeTag(Me,Qe,vt),se)}function p(se,Me,Ce,Ue){let vt=T()===22||wt(()=>Ge()===59&&fr(Ge())&&xt(t.getTokenValue()))?void 0:j(),Vt=Ce!==void 0&&Ue!==void 0?Qr(se,L(),Ce,Ue):void 0;return Q(N.createJSDocSeeTag(Me,vt,Vt),se)}function k(se,Me,Ce,Ue){let Qe=Wa(),vt=Qr(se,L(),Ce,Ue);return Q(N.createJSDocThrowsTag(Me,Qe,vt),se)}function V(se,Me,Ce,Ue){let Qe=L(),vt=we(),Vt=t.getStartPos(),Rr=Qr(se,Vt,Ce,Ue);Rr||(Vt=t.getStartPos());let gn=typeof Rr!="string"?Er(Ft([Q(vt,Qe,Vt)],Rr),Qe):vt.text+Rr;return Q(N.createJSDocAuthorTag(Me,gn),se)}function we(){let se=[],Me=!1,Ce=t.getToken();for(;Ce!==1&&Ce!==4;){if(Ce===29)Me=!0;else{if(Ce===59&&!Me)break;if(Ce===31&&Me){se.push(t.getTokenText()),t.setTextPos(t.getTokenPos()+1);break}}se.push(t.getTokenText()),Ce=Ge()}return N.createJSDocText(se.join(""))}function et(se,Me,Ce,Ue){let Qe=Ni();return Q(N.createJSDocImplementsTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function ht(se,Me,Ce,Ue){let Qe=Ni();return Q(N.createJSDocAugmentsTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function hn(se,Me,Ce,Ue){let Qe=O(!1),vt=Ce!==void 0&&Ue!==void 0?Qr(se,L(),Ce,Ue):void 0;return Q(N.createJSDocSatisfiesTag(Me,Qe,vt),se)}function Ni(){let se=Ot(18),Me=L(),Ce=ia(),Ue=Nc(),Qe=N.createExpressionWithTypeArguments(Ce,Ue),vt=Q(Qe,Me);return se&&de(19),vt}function ia(){let se=L(),Me=ao();for(;Ot(24);){let Ce=ao();Me=Q(Ve(Me,Ce),se)}return Me}function Oi(se,Me,Ce,Ue,Qe){return Q(Me(Ce,Qr(se,L(),Ue,Qe)),se)}function qB(se,Me,Ce,Ue){let Qe=O(!0);return wn(),Q(N.createJSDocThisTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function UB(se,Me,Ce,Ue){let Qe=O(!0);return wn(),Q(N.createJSDocEnumTag(Me,Qe,Qr(se,L(),Ce,Ue)),se)}function zB(se,Me,Ce,Ue){var Qe;let vt=Wa();Ua();let Vt=l6();wn();let Rr=jc(Ce),gn;if(!vt||Yn(vt.type)){let Va,hi,pp,fp=!1;for(;Va=Tr(()=>$B(Ce));)if(fp=!0,Va.kind===347)if(hi){let so=Dt(ve.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);so&&Rl(so,Ro(Ur,0,0,ve.The_tag_was_first_specified_here));break}else hi=Va;else pp=tr(pp,Va);if(fp){let so=vt&&vt.type.kind===185,eq=N.createJSDocTypeLiteral(pp,so);vt=hi&&hi.typeExpression&&!Yn(hi.typeExpression.type)?hi.typeExpression:Q(eq,se),gn=vt.end}}gn=gn||Rr!==void 0?L():((Qe=Vt!=null?Vt:vt)!=null?Qe:Me).end,Rr||(Rr=Qr(se,gn,Ce,Ue));let mi=N.createJSDocTypedefTag(Me,vt,Vt,Rr);return Q(mi,se,gn)}function l6(se){let Me=t.getTokenPos();if(!fr(T()))return;let Ce=ao();if(Ot(24)){let Ue=l6(!0),Qe=N.createModuleDeclaration(void 0,Ce,Ue,se?4:void 0);return Q(Qe,Me)}return se&&(Ce.flags|=2048),Ce}function WB(se){let Me=L(),Ce,Ue;for(;Ce=Tr(()=>u6(4,se));)Ue=tr(Ue,Ce);return Er(Ue||[],Me)}function j7(se,Me){let Ce=WB(Me),Ue=Tr(()=>{if(u_(59)){let Qe=up(Me);if(Qe&&Qe.kind===345)return Qe}});return Q(N.createJSDocSignature(void 0,Ce,Ue),se)}function VB(se,Me,Ce,Ue){let Qe=l6();wn();let vt=jc(Ce),Vt=j7(se,Ce);vt||(vt=Qr(se,L(),Ce,Ue));let Rr=vt!==void 0?L():Vt.end;return Q(N.createJSDocCallbackTag(Me,Vt,Qe,vt),se,Rr)}function HB(se,Me,Ce,Ue){wn();let Qe=jc(Ce),vt=j7(se,Ce);Qe||(Qe=Qr(se,L(),Ce,Ue));let Vt=Qe!==void 0?L():vt.end;return Q(N.createJSDocOverloadTag(Me,vt,Qe),se,Vt)}function GB(se,Me){for(;!yt(se)||!yt(Me);)if(!yt(se)&&!yt(Me)&&se.right.escapedText===Me.right.escapedText)se=se.left,Me=Me.left;else return!1;return se.escapedText===Me.escapedText}function $B(se){return u6(1,se)}function u6(se,Me,Ce){let Ue=!0,Qe=!1;for(;;)switch(Ge()){case 59:if(Ue){let vt=KB(se,Me);return vt&&(vt.kind===344||vt.kind===351)&&se!==4&&Ce&&(yt(vt.name)||!GB(Ce,vt.name.left))?!1:vt}Qe=!1;break;case 4:Ue=!0,Qe=!1;break;case 41:Qe&&(Ue=!1),Qe=!0;break;case 79:Ue=!1;break;case 1:return!1}}function KB(se,Me){Y.assert(T()===59);let Ce=t.getStartPos();Ge();let Ue=ao();wn();let Qe;switch(Ue.escapedText){case"type":return se===1&&l(Ce,Ue);case"prop":case"property":Qe=1;break;case"arg":case"argument":case"param":Qe=6;break;default:return!1}return se&Qe?Xh(Ce,Ue,se,Me):!1}function XB(){let se=L(),Me=u_(22);Me&&wn();let Ce=ao(ve.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),Ue;if(Me&&(wn(),de(63),Ue=Mt(8388608,xc),de(23)),!va(Ce))return Q(N.createTypeParameterDeclaration(void 0,Ce,void 0,Ue),se)}function YB(){let se=L(),Me=[];do{wn();let Ce=XB();Ce!==void 0&&Me.push(Ce),Ua()}while(u_(27));return Er(Me,se)}function QB(se,Me,Ce,Ue){let Qe=T()===18?O():void 0,vt=YB();return Q(N.createJSDocTemplateTag(Me,Qe,vt,Qr(se,L(),Ce,Ue)),se)}function u_(se){return T()===se?(Ge(),!0):!1}function ZB(){let se=ao();for(Ot(22)&&de(23);Ot(24);){let Me=ao();Ot(22)&&de(23),se=Tu(se,Me)}return se}function ao(se){if(!fr(T()))return Jn(79,!se,se||ve.Identifier_expected);$r++;let Me=t.getTokenPos(),Ce=t.getTextPos(),Ue=T(),Qe=Ia(t.getTokenValue()),vt=Q(Te(Qe,Ue),Me,Ce);return Ge(),vt}}})(Vh=e.JSDocParser||(e.JSDocParser={}))})(Ci||(Ci={})),(e=>{function t($,ae,Te,Se){if(Se=Se||Y.shouldAssert(2),N($,ae,Te,Se),cS(Te))return $;if($.statements.length===0)return Ci.parseSourceFile($.fileName,ae,$.languageVersion,void 0,!0,$.scriptKind,$.setExternalModuleIndicator);let Ye=$;Y.assert(!Ye.hasBeenIncrementallyParsed),Ye.hasBeenIncrementallyParsed=!0,Ci.fixupParentReferences(Ye);let Ne=$.text,oe=X($),Ve=g($,Te);N($,ae,Ve,Se),Y.assert(Ve.span.start<=Te.span.start),Y.assert(Ir(Ve.span)===Ir(Te.span)),Y.assert(Ir(R_(Ve))===Ir(R_(Te)));let pt=R_(Ve).length-Ve.span.length;A(Ye,Ve.span.start,Ir(Ve.span),Ir(R_(Ve)),pt,Ne,ae,Se);let Gt=Ci.parseSourceFile($.fileName,ae,$.languageVersion,oe,!0,$.scriptKind,$.setExternalModuleIndicator);return Gt.commentDirectives=r($.commentDirectives,Gt.commentDirectives,Ve.span.start,Ir(Ve.span),pt,Ne,ae,Se),Gt.impliedNodeFormat=$.impliedNodeFormat,Gt}e.updateSourceFile=t;function r($,ae,Te,Se,Ye,Ne,oe,Ve){if(!$)return ae;let pt,Gt=!1;for(let Xt of $){let{range:er,type:Tn}=Xt;if(er.endSe){Nt();let Hr={range:{pos:er.pos+Ye,end:er.end+Ye},type:Tn};pt=tr(pt,Hr),Ve&&Y.assert(Ne.substring(er.pos,er.end)===oe.substring(Hr.range.pos,Hr.range.end))}}return Nt(),pt;function Nt(){Gt||(Gt=!0,pt?ae&&pt.push(...ae):pt=ae)}}function s($,ae,Te,Se,Ye,Ne){ae?Ve($):oe($);return;function oe(pt){let Gt="";if(Ne&&f(pt)&&(Gt=Se.substring(pt.pos,pt.end)),pt._children&&(pt._children=void 0),Us(pt,pt.pos+Te,pt.end+Te),Ne&&f(pt)&&Y.assert(Gt===Ye.substring(pt.pos,pt.end)),xr(pt,oe,Ve),ya(pt))for(let Nt of pt.jsDoc)oe(Nt);w(pt,Ne)}function Ve(pt){pt._children=void 0,Us(pt,pt.pos+Te,pt.end+Te);for(let Gt of pt)oe(Gt)}}function f($){switch($.kind){case 10:case 8:case 79:return!0}return!1}function x($,ae,Te,Se,Ye){Y.assert($.end>=ae,"Adjusting an element that was entirely before the change range"),Y.assert($.pos<=Te,"Adjusting an element that was entirely after the change range"),Y.assert($.pos<=$.end);let Ne=Math.min($.pos,Se),oe=$.end>=Te?$.end+Ye:Math.min($.end,Se);Y.assert(Ne<=oe),$.parent&&(Y.assertGreaterThanOrEqual(Ne,$.parent.pos),Y.assertLessThanOrEqual(oe,$.parent.end)),Us($,Ne,oe)}function w($,ae){if(ae){let Te=$.pos,Se=Ye=>{Y.assert(Ye.pos>=Te),Te=Ye.end};if(ya($))for(let Ye of $.jsDoc)Se(Ye);xr($,Se),Y.assert(Te<=$.end)}}function A($,ae,Te,Se,Ye,Ne,oe,Ve){pt($);return;function pt(Nt){if(Y.assert(Nt.pos<=Nt.end),Nt.pos>Te){s(Nt,!1,Ye,Ne,oe,Ve);return}let Xt=Nt.end;if(Xt>=ae){if(Nt.intersectsChange=!0,Nt._children=void 0,x(Nt,ae,Te,Se,Ye),xr(Nt,pt,Gt),ya(Nt))for(let er of Nt.jsDoc)pt(er);w(Nt,Ve);return}Y.assert(XtTe){s(Nt,!0,Ye,Ne,oe,Ve);return}let Xt=Nt.end;if(Xt>=ae){Nt.intersectsChange=!0,Nt._children=void 0,x(Nt,ae,Te,Se,Ye);for(let er of Nt)pt(er);return}Y.assert(Xt0&&oe<=1;oe++){let Ve=B($,Se);Y.assert(Ve.pos<=Se);let pt=Ve.pos;Se=Math.max(0,pt-1)}let Ye=ha(Se,Ir(ae.span)),Ne=ae.newLength+(ae.span.start-Se);return Zp(Ye,Ne)}function B($,ae){let Te=$,Se;if(xr($,Ne),Se){let oe=Ye(Se);oe.pos>Te.pos&&(Te=oe)}return Te;function Ye(oe){for(;;){let Ve=mx(oe);if(Ve)oe=Ve;else return oe}}function Ne(oe){if(!va(oe))if(oe.pos<=ae){if(oe.pos>=Te.pos&&(Te=oe),aeae),!0}}function N($,ae,Te,Se){let Ye=$.text;if(Te&&(Y.assert(Ye.length-Te.span.length+Te.newLength===ae.length),Se||Y.shouldAssert(3))){let Ne=Ye.substr(0,Te.span.start),oe=ae.substr(0,Te.span.start);Y.assert(Ne===oe);let Ve=Ye.substring(Ir(Te.span),Ye.length),pt=ae.substring(Ir(R_(Te)),ae.length);Y.assert(Ve===pt)}}function X($){let ae=$.statements,Te=0;Y.assert(Te=Gt.pos&&oe=Gt.pos&&oe{$[$.Value=-1]="Value"})(F||(F={}))})(Sd||(Sd={})),xd=new Map,_7=/^\/\/\/\s*<(\S+)\s.*?\/>/im,c7=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im}}),nF=()=>{},iF=()=>{},aF=()=>{},sF=()=>{},oF=()=>{},_F=()=>{},cF=()=>{},lF=()=>{},uF=()=>{},pF=()=>{},fF=()=>{},dF=()=>{},mF=()=>{},hF=()=>{},gF=()=>{},yF=()=>{},vF=()=>{},bF=()=>{},TF=()=>{},SF=()=>{},xF=()=>{},EF=()=>{},wF=()=>{},CF=()=>{},AF=()=>{},PF=()=>{},DF=()=>{},kF=()=>{},IF=()=>{},NF=()=>{},OF=()=>{},MF=()=>{},LF=()=>{},RF=()=>{},jF=()=>{},JF=()=>{},FF=()=>{},BF=()=>{},qF=()=>{},UF=()=>{},zF=()=>{},WF=()=>{},VF=()=>{},HF=()=>{},GF=()=>{},$F=()=>{},nn=D({"src/compiler/_namespaces/ts.ts"(){"use strict";E(),L5(),PT(),R5(),j5(),F5(),U5(),NT(),W5(),sA(),oA(),hA(),iD(),OL(),ML(),LL(),RL(),KL(),XL(),YL(),Pj(),qJ(),UJ(),rF(),nF(),iF(),aF(),sF(),_F(),cF(),lF(),uF(),pF(),fF(),dF(),mF(),hF(),gF(),yF(),vF(),bF(),TF(),SF(),xF(),EF(),wF(),CF(),AF(),PF(),DF(),kF(),IF(),NF(),OF(),MF(),LF(),RF(),jF(),JF(),FF(),BF(),qF(),UF(),zF(),WF(),VF(),HF(),GF(),$F(),oF(),IT()}}),l7=()=>{},KF=()=>{},u7=()=>{},Zo,u7=()=>{PT(),Zo=Po(99,!0)},XF=()=>{},YF=()=>{},QF=()=>{},ZF=()=>{},eB=()=>{},tB=()=>{},rB=()=>{},nB=()=>{},iB=()=>{},aB=()=>{},p7=()=>{},f7=()=>{};function d7(e,t,r,s){let f=gl(e)?new wd(e,t,r):e===79?new Ad(79,t,r):e===80?new Pd(80,t,r):new O2(e,t,r);return f.parent=s,f.flags=s.flags&50720768,f}function sB(e,t){if(!gl(e.kind))return Bt;let r=[];if(c3(e))return e.forEachChild(w=>{r.push(w)}),r;Zo.setText((t||e.getSourceFile()).text);let s=e.pos,f=w=>{_u(r,s,w.pos,e),r.push(w),s=w.end},x=w=>{_u(r,s,w.pos,e),r.push(oB(w,e)),s=w.end};return c(e.jsDoc,f),s=e.pos,e.forEachChild(f,x),_u(r,s,e.end,e),Zo.setText(void 0),r}function _u(e,t,r,s){for(Zo.setTextPos(t);tt.tagName.text==="inheritDoc"||t.tagName.text==="inheritdoc")}function Ed(e,t){if(!e)return Bt;let r=ts_JsDoc_exports.getJsDocTagsFromDeclarations(e,t);if(t&&(r.length===0||e.some(m7))){let s=new Set;for(let f of e){let x=h7(t,f,w=>{var A;if(!s.has(w))return s.add(w),f.kind===174||f.kind===175?w.getContextualJsDocTags(f,t):((A=w.declarations)==null?void 0:A.length)===1?w.getJsDocTags():void 0});x&&(r=[...x,...r])}}return r}function cu(e,t){if(!e)return Bt;let r=ts_JsDoc_exports.getJsDocCommentsFromDeclarations(e,t);if(t&&(r.length===0||e.some(m7))){let s=new Set;for(let f of e){let x=h7(t,f,w=>{if(!s.has(w))return s.add(w),f.kind===174||f.kind===175?w.getContextualDocumentationComment(f,t):w.getDocumentationComment(t)});x&&(r=r.length===0?x.slice():x.concat(lineBreakPart(),r))}}return r}function h7(e,t,r){var s;let f=((s=t.parent)==null?void 0:s.kind)===173?t.parent.parent:t.parent;if(!f)return;let x=Lf(t);return q(h4(f),w=>{let A=e.getTypeAtLocation(w),g=x&&A.symbol?e.getTypeOfSymbol(A.symbol):A,B=e.getPropertyOfType(g,t.symbol.name);return B?r(B):void 0})}function _B(){return{getNodeConstructor:()=>wd,getTokenConstructor:()=>O2,getIdentifierConstructor:()=>Ad,getPrivateIdentifierConstructor:()=>Pd,getSourceFileConstructor:()=>P7,getSymbolConstructor:()=>w7,getTypeConstructor:()=>C7,getSignatureConstructor:()=>A7,getSourceMapSourceConstructor:()=>D7}}function lu(e){let t=!0;for(let s in e)if(Jr(e,s)&&!g7(s)){t=!1;break}if(t)return e;let r={};for(let s in e)if(Jr(e,s)){let f=g7(s)?s:s.charAt(0).toLowerCase()+s.substr(1);r[f]=e[s]}return r}function g7(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function cB(e){return e?Ze(e,t=>t.text).join(""):""}function y7(){return{target:1,jsx:1}}function v7(){return ts_codefix_exports.getSupportedErrorCodes()}function b7(e,t,r){e.version=r,e.scriptSnapshot=t}function N2(e,t,r,s,f,x){let w=YE(e,getSnapshotText(t),r,f,x);return b7(w,t,s),w}function T7(e,t,r,s,f){if(s&&r!==e.version){let w,A=s.span.start!==0?e.text.substr(0,s.span.start):"",g=Ir(s.span)!==e.text.length?e.text.substr(Ir(s.span)):"";if(s.newLength===0)w=A&&g?A+g:A||g;else{let N=t.getText(s.span.start,s.span.start+s.newLength);w=A&&g?A+N+g:A?A+N:N+g}let B=k2(e,w,s,f);return b7(B,t,r),B.nameTable=void 0,e!==B&&e.scriptSnapshot&&(e.scriptSnapshot.dispose&&e.scriptSnapshot.dispose(),e.scriptSnapshot=void 0),B}let x={languageVersion:e.languageVersion,impliedNodeFormat:e.impliedNodeFormat,setExternalModuleIndicator:e.setExternalModuleIndicator};return N2(e.fileName,t,x,r,!0,e.scriptKind)}function lB(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:createDocumentRegistry(e.useCaseSensitiveFileNames&&e.useCaseSensitiveFileNames(),e.getCurrentDirectory()),r=arguments.length>2?arguments[2]:void 0;var s;let f;r===void 0?f=0:typeof r=="boolean"?f=r?2:0:f=r;let x=new k7(e),w,A,g=0,B=e.getCancellationToken?new N7(e.getCancellationToken()):I7,N=e.getCurrentDirectory();vx((s=e.getLocalizedDiagnosticMessages)==null?void 0:s.bind(e));function X(Z){e.log&&e.log(Z)}let F=J0(e),$=wp(F),ae=getSourceMapper({useCaseSensitiveFileNames:()=>F,getCurrentDirectory:()=>N,getProgram:Ye,fileExists:le(e,e.fileExists),readFile:le(e,e.readFile),getDocumentPositionMapper:le(e,e.getDocumentPositionMapper),getSourceFileLike:le(e,e.getSourceFileLike),log:X});function Te(Z){let ie=w.getSourceFile(Z);if(!ie){let U=new Error(`Could not find source file: '${Z}'.`);throw U.ProgramFiles=w.getSourceFiles().map(L=>L.fileName),U}return ie}function Se(){var Z,ie,U;if(Y.assert(f!==2),e.getProjectVersion){let Tt=e.getProjectVersion();if(Tt){if(A===Tt&&!((Z=e.hasChangedAutomaticTypeDirectiveNames)!=null&&Z.call(e)))return;A=Tt}}let L=e.getTypeRootsVersion?e.getTypeRootsVersion():0;g!==L&&(X("TypeRoots version has changed; provide new program"),w=void 0,g=L);let fe=e.getScriptFileNames().slice(),T=e.getCompilationSettings()||y7(),it=e.hasInvalidatedResolutions||w_,mt=le(e,e.hasChangedAutomaticTypeDirectiveNames),_e=(ie=e.getProjectReferences)==null?void 0:ie.call(e),Ge,bt={getSourceFile:wt,getSourceFileByPath:Tr,getCancellationToken:()=>B,getCanonicalFileName:$,useCaseSensitiveFileNames:()=>F,getNewLine:()=>ox(T),getDefaultLibFileName:Tt=>e.getDefaultLibFileName(Tt),writeFile:yn,getCurrentDirectory:()=>N,fileExists:Tt=>e.fileExists(Tt),readFile:Tt=>e.readFile&&e.readFile(Tt),getSymlinkCache:le(e,e.getSymlinkCache),realpath:le(e,e.realpath),directoryExists:Tt=>sx(Tt,e),getDirectories:Tt=>e.getDirectories?e.getDirectories(Tt):[],readDirectory:(Tt,kt,de,jn,Zi)=>(Y.checkDefined(e.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),e.readDirectory(Tt,kt,de,jn,Zi)),onReleaseOldSourceFile:Rn,onReleaseParsedCommandLine:yr,hasInvalidatedResolutions:it,hasChangedAutomaticTypeDirectiveNames:mt,trace:le(e,e.trace),resolveModuleNames:le(e,e.resolveModuleNames),getModuleResolutionCache:le(e,e.getModuleResolutionCache),createHash:le(e,e.createHash),resolveTypeReferenceDirectives:le(e,e.resolveTypeReferenceDirectives),resolveModuleNameLiterals:le(e,e.resolveModuleNameLiterals),resolveTypeReferenceDirectiveReferences:le(e,e.resolveTypeReferenceDirectiveReferences),useSourceOfProjectReferenceRedirect:le(e,e.useSourceOfProjectReferenceRedirect),getParsedCommandLine:Dr},jt=bt.getSourceFile,{getSourceFileWithCache:Yt}=changeCompilerHostLikeToUseCache(bt,Tt=>Ui(Tt,N,$),function(){for(var Tt=arguments.length,kt=new Array(Tt),de=0;debt.fileExists(Tt),readFile:Tt=>bt.readFile(Tt),readDirectory:function(){return bt.readDirectory(...arguments)},trace:bt.trace,getCurrentDirectory:bt.getCurrentDirectory,onUnRecoverableConfigFileDiagnostic:yn},Wt=t.getKeyForCompilationSettings(T);if(isProgramUptoDate(w,fe,T,(Tt,kt)=>e.getScriptVersion(kt),Tt=>bt.fileExists(Tt),it,mt,Dr,_e))return;let Xr={rootNames:fe,options:T,host:bt,oldProgram:w,projectReferences:_e};w=createProgram(Xr),bt=void 0,Ge=void 0,ae.clearCache(),w.getTypeChecker();return;function Dr(Tt){let kt=Ui(Tt,N,$),de=Ge==null?void 0:Ge.get(kt);if(de!==void 0)return de||void 0;let jn=e.getParsedCommandLine?e.getParsedCommandLine(Tt):Lr(Tt);return(Ge||(Ge=new Map)).set(kt,jn||!1),jn}function Lr(Tt){let kt=wt(Tt,100);if(kt)return kt.path=Ui(Tt,N,$),kt.resolvedPath=kt.path,kt.originalFileName=kt.fileName,parseJsonSourceFileConfigFileContent(kt,$t,as(ma(Tt),N),void 0,as(Tt,N))}function yr(Tt,kt,de){var jn;e.getParsedCommandLine?(jn=e.onReleaseParsedCommandLine)==null||jn.call(e,Tt,kt,de):kt&&Rn(kt.sourceFile,de)}function Rn(Tt,kt){let de=t.getKeyForCompilationSettings(kt);t.releaseDocumentWithKey(Tt.resolvedPath,de,Tt.scriptKind,Tt.impliedNodeFormat)}function wt(Tt,kt,de,jn){return Tr(Tt,Ui(Tt,N,$),kt,de,jn)}function Tr(Tt,kt,de,jn,Zi){Y.assert(bt,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");let Pa=e.getScriptSnapshot(Tt);if(!Pa)return;let e_=getScriptKind(Tt,e),mc=e.getScriptVersion(Tt);if(!Zi){let Da=w&&w.getSourceFileByPath(kt);if(Da){if(e_===Da.scriptKind)return t.updateDocumentWithKey(Tt,kt,e,Wt,Pa,mc,e_,de);t.releaseDocumentWithKey(Da.resolvedPath,t.getKeyForCompilationSettings(w.getCompilerOptions()),Da.scriptKind,Da.impliedNodeFormat)}}return t.acquireDocumentWithKey(Tt,kt,e,Wt,Pa,mc,e_,de)}}function Ye(){if(f===2){Y.assert(w===void 0);return}return Se(),w}function Ne(){var Z;return(Z=e.getPackageJsonAutoImportProvider)==null?void 0:Z.call(e)}function oe(Z,ie){let U=w.getTypeChecker(),L=fe();if(!L)return!1;for(let it of Z)for(let mt of it.references){let _e=T(mt);if(Y.assertIsDefined(_e),ie.has(mt)||ts_FindAllReferences_exports.isDeclarationOfSymbol(_e,L)){ie.add(mt),mt.isDefinition=!0;let Ge=getMappedDocumentSpan(mt,ae,le(e,e.fileExists));Ge&&ie.add(Ge)}else mt.isDefinition=!1}return!0;function fe(){for(let it of Z)for(let mt of it.references){if(ie.has(mt)){let Ge=T(mt);return Y.assertIsDefined(Ge),U.getSymbolAtLocation(Ge)}let _e=getMappedDocumentSpan(mt,ae,le(e,e.fileExists));if(_e&&ie.has(_e)){let Ge=T(_e);if(Ge)return U.getSymbolAtLocation(Ge)}}}function T(it){let mt=w.getSourceFile(it.fileName);if(!mt)return;let _e=getTouchingPropertyName(mt,it.textSpan.start);return ts_FindAllReferences_exports.Core.getAdjustedNode(_e,{use:ts_FindAllReferences_exports.FindReferencesUse.References})}}function Ve(){w=void 0}function pt(){if(w){let Z=t.getKeyForCompilationSettings(w.getCompilerOptions());c(w.getSourceFiles(),ie=>t.releaseDocumentWithKey(ie.resolvedPath,Z,ie.scriptKind,ie.impliedNodeFormat)),w=void 0}e=void 0}function Gt(Z){return Se(),w.getSyntacticDiagnostics(Te(Z),B).slice()}function Nt(Z){Se();let ie=Te(Z),U=w.getSemanticDiagnostics(ie,B);if(!cv(w.getCompilerOptions()))return U.slice();let L=w.getDeclarationDiagnostics(ie,B);return[...U,...L]}function Xt(Z){return Se(),computeSuggestionDiagnostics(Te(Z),w,B)}function er(){return Se(),[...w.getOptionsDiagnostics(B),...w.getGlobalDiagnostics(B)]}function Tn(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,L=arguments.length>3?arguments[3]:void 0,fe=Object.assign(Object.assign({},U),{},{includeCompletionsForModuleExports:U.includeCompletionsForModuleExports||U.includeExternalModuleExports,includeCompletionsWithInsertText:U.includeCompletionsWithInsertText||U.includeInsertTextCompletions});return Se(),ts_Completions_exports.getCompletionsAtPosition(e,w,X,Te(Z),ie,fe,U.triggerCharacter,U.triggerKind,B,L&&ts_formatting_exports.getFormatContext(L,e),U.includeSymbol)}function Hr(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions,it=arguments.length>6?arguments[6]:void 0;return Se(),ts_Completions_exports.getCompletionEntryDetails(w,X,Te(Z),ie,{name:U,source:fe,data:it},e,L&&ts_formatting_exports.getFormatContext(L,e),T,B)}function Gi(Z,ie,U,L){let fe=arguments.length>4&&arguments[4]!==void 0?arguments[4]:emptyOptions;return Se(),ts_Completions_exports.getCompletionEntrySymbol(w,X,Te(Z),ie,{name:U,source:L},e,fe)}function pn(Z,ie){Se();let U=Te(Z),L=getTouchingPropertyName(U,ie);if(L===U)return;let fe=w.getTypeChecker(),T=fn(L),it=mB(T,fe);if(!it||fe.isUnknownSymbol(it)){let jt=Ut(U,T,ie)?fe.getTypeAtLocation(T):void 0;return jt&&{kind:"",kindModifiers:"",textSpan:createTextSpanFromNode(T,U),displayParts:fe.runWithCancellationToken(B,Yt=>typeToDisplayParts(Yt,jt,getContainerNode(T))),documentation:jt.symbol?jt.symbol.getDocumentationComment(fe):void 0,tags:jt.symbol?jt.symbol.getJsDocTags(fe):void 0}}let{symbolKind:mt,displayParts:_e,documentation:Ge,tags:bt}=fe.runWithCancellationToken(B,jt=>ts_SymbolDisplay_exports.getSymbolDisplayPartsDocumentationAndSymbolKind(jt,it,U,getContainerNode(T),T));return{kind:mt,kindModifiers:ts_SymbolDisplay_exports.getSymbolModifiers(fe,it),textSpan:createTextSpanFromNode(T,U),displayParts:_e,documentation:Ge,tags:bt}}function fn(Z){return X8(Z.parent)&&Z.pos===Z.parent.pos?Z.parent.expression:$v(Z.parent)&&Z.pos===Z.parent.pos||o0(Z.parent)&&Z.parent.name===Z?Z.parent:Z}function Ut(Z,ie,U){switch(ie.kind){case 79:return!isLabelName(ie)&&!isTagName(ie)&&!jS(ie.parent);case 208:case 163:return!isInComment(Z,U);case 108:case 194:case 106:case 199:return!0;case 233:return o0(ie);default:return!1}}function kn(Z,ie,U,L){return Se(),ts_GoToDefinition_exports.getDefinitionAtPosition(w,Te(Z),ie,U,L)}function an(Z,ie){return Se(),ts_GoToDefinition_exports.getDefinitionAndBoundSpan(w,Te(Z),ie)}function mr(Z,ie){return Se(),ts_GoToDefinition_exports.getTypeDefinitionAtPosition(w.getTypeChecker(),Te(Z),ie)}function $i(Z,ie){return Se(),ts_FindAllReferences_exports.getImplementationsAtPosition(w,B,w.getSourceFiles(),Te(Z),ie)}function dn(Z,ie){return ne(Ur(Z,ie,[Z]),U=>U.highlightSpans.map(L=>Object.assign(Object.assign({fileName:U.fileName,textSpan:L.textSpan,isWriteAccess:L.kind==="writtenReference"},L.isInString&&{isInString:!0}),L.contextSpan&&{contextSpan:L.contextSpan})))}function Ur(Z,ie,U){let L=Un(Z);Y.assert(U.some(it=>Un(it)===L)),Se();let fe=qt(U,it=>w.getSourceFile(it)),T=Te(Z);return DocumentHighlights.getDocumentHighlights(w,B,T,ie,fe)}function Gr(Z,ie,U,L,fe){Se();let T=Te(Z),it=getAdjustedRenameLocation(getTouchingPropertyName(T,ie));if(ts_Rename_exports.nodeIsEligibleForRename(it))if(yt(it)&&(tu(it.parent)||sE(it.parent))&&P4(it.escapedText)){let{openingElement:mt,closingElement:_e}=it.parent.parent;return[mt,_e].map(Ge=>{let bt=createTextSpanFromNode(Ge.tagName,T);return Object.assign({fileName:T.fileName,textSpan:bt},ts_FindAllReferences_exports.toContextSpan(bt,T,Ge.parent))})}else return Sn(it,ie,{findInStrings:U,findInComments:L,providePrefixAndSuffixTextForRename:fe,use:ts_FindAllReferences_exports.FindReferencesUse.Rename},(mt,_e,Ge)=>ts_FindAllReferences_exports.toRenameLocation(mt,_e,Ge,fe||!1))}function _r(Z,ie){return Se(),Sn(getTouchingPropertyName(Te(Z),ie),ie,{use:ts_FindAllReferences_exports.FindReferencesUse.References},ts_FindAllReferences_exports.toReferenceEntry)}function Sn(Z,ie,U,L){Se();let fe=U&&U.use===ts_FindAllReferences_exports.FindReferencesUse.Rename?w.getSourceFiles().filter(T=>!w.isSourceFileDefaultLibrary(T)):w.getSourceFiles();return ts_FindAllReferences_exports.findReferenceOrRenameEntries(w,B,fe,Z,ie,U,L)}function In(Z,ie){return Se(),ts_FindAllReferences_exports.findReferencedSymbols(w,B,w.getSourceFiles(),Te(Z),ie)}function pr(Z){return Se(),ts_FindAllReferences_exports.Core.getReferencesForFileName(Z,w,w.getSourceFiles()).map(ts_FindAllReferences_exports.toReferenceEntry)}function Zt(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;Se();let fe=U?[Te(U)]:w.getSourceFiles();return getNavigateToItems(fe,w.getTypeChecker(),B,Z,ie,L)}function Or(Z,ie,U){Se();let L=Te(Z),fe=e.getCustomTransformers&&e.getCustomTransformers();return getFileEmitOutput(w,L,!!ie,B,fe,U)}function Nn(Z,ie){let{triggerReason:U}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let L=Te(Z);return ts_SignatureHelp_exports.getSignatureHelpItems(w,L,ie,U,B)}function ar(Z){return x.getCurrentSourceFile(Z)}function oi(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=getTouchingPropertyName(L,ie);if(fe===L)return;switch(fe.kind){case 208:case 163:case 10:case 95:case 110:case 104:case 106:case 108:case 194:case 79:break;default:return}let T=fe;for(;;)if(isRightSideOfPropertyAccess(T)||isRightSideOfQualifiedName(T))T=T.parent;else if(isNameOfModuleDeclaration(T))if(T.parent.parent.kind===264&&T.parent.parent.body===T.parent)T=T.parent.parent.name;else break;else break;return ha(T.getStart(),fe.getEnd())}function cr(Z,ie){let U=x.getCurrentSourceFile(Z);return ts_BreakpointResolver_exports.spanInSourceFileAtLocation(U,ie)}function $r(Z){return getNavigationBarItems(x.getCurrentSourceFile(Z),B)}function hr(Z){return getNavigationTree(x.getCurrentSourceFile(Z),B)}function On(Z,ie,U){return Se(),(U||"original")==="2020"?ts_classifier_exports.v2020.getSemanticClassifications(w,B,Te(Z),ie):getSemanticClassifications(w.getTypeChecker(),B,Te(Z),w.getClassifiableNames(),ie)}function nr(Z,ie,U){return Se(),(U||"original")==="original"?getEncodedSemanticClassifications(w.getTypeChecker(),B,Te(Z),w.getClassifiableNames(),ie):ts_classifier_exports.v2020.getEncodedSemanticClassifications(w,B,Te(Z),ie)}function br(Z,ie){return getSyntacticClassifications(B,x.getCurrentSourceFile(Z),ie)}function Kr(Z,ie){return getEncodedSyntacticClassifications(B,x.getCurrentSourceFile(Z),ie)}function wa(Z){let ie=x.getCurrentSourceFile(Z);return ts_OutliningElementsCollector_exports.collectElements(ie,B)}let $n=new Map(Object.entries({[18]:19,[20]:21,[22]:23,[31]:29}));$n.forEach((Z,ie)=>$n.set(Z.toString(),Number(ie)));function Ki(Z,ie){let U=x.getCurrentSourceFile(Z),L=getTouchingToken(U,ie),fe=L.getStart(U)===ie?$n.get(L.kind.toString()):void 0,T=fe&&findChildOfKind(L.parent,fe,U);return T?[createTextSpanFromNode(L,U),createTextSpanFromNode(T,U)].sort((it,mt)=>it.start-mt.start):Bt}function Mn(Z,ie,U){let L=ts(),fe=lu(U),T=x.getCurrentSourceFile(Z);X("getIndentationAtPosition: getCurrentSourceFile: "+(ts()-L)),L=ts();let it=ts_formatting_exports.SmartIndenter.getIndentation(ie,T,fe);return X("getIndentationAtPosition: computeIndentation : "+(ts()-L)),it}function _i(Z,ie,U,L){let fe=x.getCurrentSourceFile(Z);return ts_formatting_exports.formatSelection(ie,U,fe,ts_formatting_exports.getFormatContext(lu(L),e))}function Ca(Z,ie){return ts_formatting_exports.formatDocument(x.getCurrentSourceFile(Z),ts_formatting_exports.getFormatContext(lu(ie),e))}function St(Z,ie,U,L){let fe=x.getCurrentSourceFile(Z),T=ts_formatting_exports.getFormatContext(lu(L),e);if(!isInComment(fe,ie))switch(U){case"{":return ts_formatting_exports.formatOnOpeningCurly(ie,fe,T);case"}":return ts_formatting_exports.formatOnClosingCurly(ie,fe,T);case";":return ts_formatting_exports.formatOnSemicolon(ie,fe,T);case` +`:return ts_formatting_exports.formatOnEnter(ie,fe,T)}return[]}function ue(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let it=Te(Z),mt=ha(ie,U),_e=ts_formatting_exports.getFormatContext(fe,e);return ne(ji(L,fa,Vr),Ge=>(B.throwIfCancellationRequested(),ts_codefix_exports.getFixes({errorCode:Ge,sourceFile:it,span:mt,program:w,host:e,cancellationToken:B,formatContext:_e,preferences:T})))}function He(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;Se(),Y.assert(Z.type==="file");let fe=Te(Z.fileName),T=ts_formatting_exports.getFormatContext(U,e);return ts_codefix_exports.getAllFixes({fixId:ie,sourceFile:fe,program:w,host:e,cancellationToken:B,formatContext:T,preferences:L})}function _t(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;var L;Se(),Y.assert(Z.type==="file");let fe=Te(Z.fileName),T=ts_formatting_exports.getFormatContext(ie,e),it=(L=Z.mode)!=null?L:Z.skipDestructiveCodeActions?"SortAndCombine":"All";return ts_OrganizeImports_exports.organizeImports(fe,T,e,w,U,it)}function ft(Z,ie,U){let L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:emptyOptions;return getEditsForFileRename(Ye(),Z,ie,e,ts_formatting_exports.getFormatContext(U,e),L,ae)}function Kt(Z,ie){let U=typeof Z=="string"?ie:Z;return ir(U)?Promise.all(U.map(L=>zt(L))):zt(U)}function zt(Z){let ie=U=>Ui(U,N,$);return Y.assertEqual(Z.type,"install package"),e.installPackage?e.installPackage({fileName:ie(Z.file),packageName:Z.packageName}):Promise.reject("Host does not implement `installPackage`")}function xe(Z,ie,U,L){let fe=L?ts_formatting_exports.getFormatContext(L,e).options:void 0;return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(e,fe),x.getCurrentSourceFile(Z),ie,U)}function Le(Z,ie,U){if(U===60)return!1;let L=x.getCurrentSourceFile(Z);if(isInString(L,ie))return!1;if(isInsideJsxElementOrAttribute(L,ie))return U===123;if(isInTemplateString(L,ie))return!1;switch(U){case 39:case 34:case 96:return!isInComment(L,ie)}return!0}function Re(Z,ie){let U=x.getCurrentSourceFile(Z),L=findPrecedingToken(ie,U);if(!L)return;let fe=L.kind===31&&tu(L.parent)?L.parent.parent:td(L)&&l2(L.parent)?L.parent:void 0;if(fe&&gr(fe))return{newText:``};let T=L.kind===31&&u2(L.parent)?L.parent.parent:td(L)&&pd(L.parent)?L.parent:void 0;if(T&&Ln(T))return{newText:""}}function ot(Z,ie){return{lineStarts:Z.getLineStarts(),firstLine:Z.getLineAndCharacterOfPosition(ie.pos).line,lastLine:Z.getLineAndCharacterOfPosition(ie.end).line}}function Ct(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=[],{lineStarts:T,firstLine:it,lastLine:mt}=ot(L,ie),_e=U||!1,Ge=Number.MAX_VALUE,bt=new Map,jt=new RegExp(/\S/),Yt=isInsideJsxElement(L,T[it]),$t=Yt?"{/*":"//";for(let Wt=it;Wt<=mt;Wt++){let Xr=L.text.substring(T[Wt],L.getLineEndOfPosition(T[Wt])),Dr=jt.exec(Xr);Dr&&(Ge=Math.min(Ge,Dr.index),bt.set(Wt.toString(),Dr.index),Xr.substr(Dr.index,$t.length)!==$t&&(_e=U===void 0||U))}for(let Wt=it;Wt<=mt;Wt++){if(it!==mt&&T[Wt]===ie.end)continue;let Xr=bt.get(Wt.toString());Xr!==void 0&&(Yt?fe.push.apply(fe,Mt(Z,{pos:T[Wt]+Ge,end:L.getLineEndOfPosition(T[Wt])},_e,Yt)):_e?fe.push({newText:$t,span:{length:0,start:T[Wt]+Ge}}):L.text.substr(T[Wt]+Xr,$t.length)===$t&&fe.push({newText:"",span:{length:$t.length,start:T[Wt]+Xr}}))}return fe}function Mt(Z,ie,U,L){var fe;let T=x.getCurrentSourceFile(Z),it=[],{text:mt}=T,_e=!1,Ge=U||!1,bt=[],{pos:jt}=ie,Yt=L!==void 0?L:isInsideJsxElement(T,jt),$t=Yt?"{/*":"/*",Wt=Yt?"*/}":"*/",Xr=Yt?"\\{\\/\\*":"\\/\\*",Dr=Yt?"\\*\\/\\}":"\\*\\/";for(;jt<=ie.end;){let Lr=mt.substr(jt,$t.length)===$t?$t.length:0,yr=isInComment(T,jt+Lr);if(yr)Yt&&(yr.pos--,yr.end++),bt.push(yr.pos),yr.kind===3&&bt.push(yr.end),_e=!0,jt=yr.end+1;else{let Rn=mt.substring(jt,ie.end).search(`(${Xr})|(${Dr})`);Ge=U!==void 0?U:Ge||!isTextWhiteSpaceLike(mt,jt,Rn===-1?ie.end:jt+Rn),jt=Rn===-1?ie.end+1:jt+Rn+Wt.length}}if(Ge||!_e){((fe=isInComment(T,ie.pos))==null?void 0:fe.kind)!==2&&Qn(bt,ie.pos,Vr),Qn(bt,ie.end,Vr);let Lr=bt[0];mt.substr(Lr,$t.length)!==$t&&it.push({newText:$t,span:{length:0,start:Lr}});for(let yr=1;yr0?Lr-Wt.length:0,Rn=mt.substr(yr,Wt.length)===Wt?Wt.length:0;it.push({newText:"",span:{length:$t.length,start:Lr-Rn}})}return it}function It(Z,ie){let U=x.getCurrentSourceFile(Z),{firstLine:L,lastLine:fe}=ot(U,ie);return L===fe&&ie.pos!==ie.end?Mt(Z,ie,!0):Ct(Z,ie,!0)}function Mr(Z,ie){let U=x.getCurrentSourceFile(Z),L=[],{pos:fe}=ie,{end:T}=ie;fe===T&&(T+=isInsideJsxElement(U,fe)?2:1);for(let it=fe;it<=T;it++){let mt=isInComment(U,it);if(mt){switch(mt.kind){case 2:L.push.apply(L,Ct(Z,{end:mt.end,pos:mt.pos+1},!1));break;case 3:L.push.apply(L,Mt(Z,{end:mt.end,pos:mt.pos+1},!1))}it=mt.end+1}}return L}function gr(Z){let{openingElement:ie,closingElement:U,parent:L}=Z;return!Hi(ie.tagName,U.tagName)||l2(L)&&Hi(ie.tagName,L.openingElement.tagName)&&gr(L)}function Ln(Z){let{closingFragment:ie,parent:U}=Z;return!!(ie.flags&131072)||pd(U)&&Ln(U)}function ys(Z,ie,U){let L=x.getCurrentSourceFile(Z),fe=ts_formatting_exports.getRangeOfEnclosingComment(L,ie);return fe&&(!U||fe.kind===3)?createTextSpanFromRange(fe):void 0}function ci(Z,ie){Se();let U=Te(Z);B.throwIfCancellationRequested();let L=U.text,fe=[];if(ie.length>0&&!_e(U.fileName)){let Ge=it(),bt;for(;bt=Ge.exec(L);){B.throwIfCancellationRequested();let jt=3;Y.assert(bt.length===ie.length+jt);let Yt=bt[1],$t=bt.index+Yt.length;if(!isInComment(U,$t))continue;let Wt;for(let Dr=0;Dr"("+T(yr.text)+")").join("|")+")",Wt=/(?:$|\*\/)/.source,Xr=/(?:.*?)/.source,Dr="("+$t+Xr+")",Lr=Yt+Dr+Wt;return new RegExp(Lr,"gim")}function mt(Ge){return Ge>=97&&Ge<=122||Ge>=65&&Ge<=90||Ge>=48&&Ge<=57}function _e(Ge){return Fi(Ge,"/node_modules/")}}function Xi(Z,ie,U){return Se(),ts_Rename_exports.getRenameInfo(w,Te(Z),ie,U||{})}function Aa(Z,ie,U,L,fe,T){let[it,mt]=typeof ie=="number"?[ie,void 0]:[ie.pos,ie.end];return{file:Z,startPosition:it,endPosition:mt,program:Ye(),host:e,formatContext:ts_formatting_exports.getFormatContext(L,e),cancellationToken:B,preferences:U,triggerReason:fe,kind:T}}function vs(Z,ie,U){return{file:Z,program:Ye(),host:e,span:ie,preferences:U,cancellationToken:B}}function $s(Z,ie){return ts_SmartSelectionRange_exports.getSmartSelectionRange(ie,x.getCurrentSourceFile(Z))}function li(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions,L=arguments.length>3?arguments[3]:void 0,fe=arguments.length>4?arguments[4]:void 0;Se();let T=Te(Z);return ts_refactor_exports.getApplicableRefactors(Aa(T,ie,U,emptyOptions,L,fe))}function Yi(Z,ie,U,L,fe){let T=arguments.length>5&&arguments[5]!==void 0?arguments[5]:emptyOptions;Se();let it=Te(Z);return ts_refactor_exports.getEditsForRefactor(Aa(it,U,T,ie),L,fe)}function Qi(Z,ie){return ie===0?{line:0,character:0}:ae.toLineColumnOffset(Z,ie)}function bs(Z,ie){Se();let U=ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,getTouchingPropertyName(Te(Z),ie));return U&&mapOneOrMany(U,L=>ts_CallHierarchy_exports.createCallHierarchyItem(w,L))}function Ai(Z,ie){Se();let U=Te(Z),L=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,ie===0?U:getTouchingPropertyName(U,ie)));return L?ts_CallHierarchy_exports.getIncomingCalls(w,L,B):[]}function xn(Z,ie){Se();let U=Te(Z),L=firstOrOnly(ts_CallHierarchy_exports.resolveCallHierarchyDeclaration(w,ie===0?U:getTouchingPropertyName(U,ie)));return L?ts_CallHierarchy_exports.getOutgoingCalls(w,L):[]}function Dt(Z,ie){let U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:emptyOptions;Se();let L=Te(Z);return ts_InlayHints_exports.provideInlayHints(vs(L,ie,U))}let Pi={dispose:pt,cleanupSemanticCache:Ve,getSyntacticDiagnostics:Gt,getSemanticDiagnostics:Nt,getSuggestionDiagnostics:Xt,getCompilerOptionsDiagnostics:er,getSyntacticClassifications:br,getSemanticClassifications:On,getEncodedSyntacticClassifications:Kr,getEncodedSemanticClassifications:nr,getCompletionsAtPosition:Tn,getCompletionEntryDetails:Hr,getCompletionEntrySymbol:Gi,getSignatureHelpItems:Nn,getQuickInfoAtPosition:pn,getDefinitionAtPosition:kn,getDefinitionAndBoundSpan:an,getImplementationAtPosition:$i,getTypeDefinitionAtPosition:mr,getReferencesAtPosition:_r,findReferences:In,getFileReferences:pr,getOccurrencesAtPosition:dn,getDocumentHighlights:Ur,getNameOrDottedNameSpan:oi,getBreakpointStatementAtPosition:cr,getNavigateToItems:Zt,getRenameInfo:Xi,getSmartSelectionRange:$s,findRenameLocations:Gr,getNavigationBarItems:$r,getNavigationTree:hr,getOutliningSpans:wa,getTodoComments:ci,getBraceMatchingAtPosition:Ki,getIndentationAtPosition:Mn,getFormattingEditsForRange:_i,getFormattingEditsForDocument:Ca,getFormattingEditsAfterKeystroke:St,getDocCommentTemplateAtPosition:xe,isValidBraceCompletionAtPosition:Le,getJsxClosingTagAtPosition:Re,getSpanOfEnclosingComment:ys,getCodeFixesAtPosition:ue,getCombinedCodeFix:He,applyCodeActionCommand:Kt,organizeImports:_t,getEditsForFileRename:ft,getEmitOutput:Or,getNonBoundSourceFile:ar,getProgram:Ye,getCurrentProgram:()=>w,getAutoImportProvider:Ne,updateIsDefinitionOfReferencedSymbols:oe,getApplicableRefactors:li,getEditsForRefactor:Yi,toLineColumnOffset:Qi,getSourceMapper:()=>ae,clearSourceMapperCache:()=>ae.clearCache(),prepareCallHierarchy:bs,provideCallHierarchyIncomingCalls:Ai,provideCallHierarchyOutgoingCalls:xn,toggleLineComment:Ct,toggleMultilineComment:Mt,commentSelection:It,uncommentSelection:Mr,provideInlayHints:Dt,getSupportedCodeFixes:v7};switch(f){case 0:break;case 1:M2.forEach(Z=>Pi[Z]=()=>{throw new Error(`LanguageService Operation: ${Z} not allowed in LanguageServiceMode.PartialSemantic`)});break;case 2:M7.forEach(Z=>Pi[Z]=()=>{throw new Error(`LanguageService Operation: ${Z} not allowed in LanguageServiceMode.Syntactic`)});break;default:Y.assertNever(f)}return Pi}function uB(e){return e.nameTable||pB(e),e.nameTable}function pB(e){let t=e.nameTable=new Map;e.forEachChild(function r(s){if(yt(s)&&!isTagName(s)&&s.escapedText||Ta(s)&&fB(s)){let f=b4(s);t.set(f,t.get(f)===void 0?s.pos:-1)}else if(vn(s)){let f=s.escapedText;t.set(f,t.get(f)===void 0?s.pos:-1)}if(xr(s,r),ya(s))for(let f of s.jsDoc)xr(f,r)})}function fB(e){return c4(e)||e.parent.kind===280||hB(e)||l4(e)}function S7(e){let t=dB(e);return t&&(Hs(t.parent)||p2(t.parent))?t:void 0}function dB(e){switch(e.kind){case 10:case 14:case 8:if(e.parent.kind===164)return Wy(e.parent.parent)?e.parent.parent:void 0;case 79:return Wy(e.parent)&&(e.parent.parent.kind===207||e.parent.parent.kind===289)&&e.parent.name===e?e.parent:void 0}}function mB(e,t){let r=S7(e);if(r){let s=t.getContextualType(r.parent),f=s&&x7(r,t,s,!1);if(f&&f.length===1)return fo(f)}return t.getSymbolAtLocation(e)}function x7(e,t,r,s){let f=getNameFromPropertyName(e.name);if(!f)return Bt;if(!r.isUnion()){let w=r.getProperty(f);return w?[w]:Bt}let x=qt(r.types,w=>(Hs(e.parent)||p2(e.parent))&&t.isTypeInvalidDueToUnionDiscriminant(w,e.parent)?void 0:w.getProperty(f));if(s&&(x.length===0||x.length===r.types.length)){let w=r.getProperty(f);if(w)return[w]}return x.length===0?qt(r.types,w=>w.getProperty(f)):x}function hB(e){return e&&e.parent&&e.parent.kind===209&&e.parent.argumentExpression===e}function gB(e){if(iy)return tn(ma(Un(iy.getExecutingFilePath())),aS(e));throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}var E7,wd,Cd,w7,O2,Ad,Pd,C7,A7,P7,D7,k7,I7,N7,O7,M2,M7,yB=D({"src/services/services.ts"(){"use strict";L2(),L2(),p7(),f7(),E7="0.8",wd=class{constructor(e,t,r){this.pos=t,this.end=r,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.kind=e}assertHasRealPosition(e){Y.assert(!hs(this.pos)&&!hs(this.end),e||"Node must have a real position for this operation")}getSourceFile(){return Si(this)}getStart(e,t){return this.assertHasRealPosition(),Io(this,e,t)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos}getFullText(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(e){return this.getChildren(e).length}getChildAt(e,t){return this.getChildren(t)[e]}getChildren(e){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),this._children||(this._children=sB(this,e))}getFirstToken(e){this.assertHasRealPosition();let t=this.getChildren(e);if(!t.length)return;let r=Ae(t,s=>s.kind<312||s.kind>353);return r.kind<163?r:r.getFirstToken(e)}getLastToken(e){this.assertHasRealPosition();let t=this.getChildren(e),r=Cn(t);if(r)return r.kind<163?r:r.getLastToken(e)}forEachChild(e,t){return xr(this,e,t)}},Cd=class{constructor(e,t){this.pos=e,this.end=t,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0}getSourceFile(){return Si(this)}getStart(e,t){return Io(this,e,t)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(e){return this.getEnd()-this.getStart(e)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(e){return this.getStart(e)-this.pos}getFullText(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(e){return this.getChildren()[e]}getChildren(){return this.kind===1&&this.jsDoc||Bt}getFirstToken(){}getLastToken(){}forEachChild(){}},w7=class{constructor(e,t){this.id=0,this.mergeId=0,this.flags=e,this.escapedName=t}getFlags(){return this.flags}get name(){return rf(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(e){if(!this.documentationComment)if(this.documentationComment=Bt,!this.declarations&&$y(this)&&this.links.target&&$y(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let t=this.links.target.links.tupleLabelDeclaration;this.documentationComment=cu([t],e)}else this.documentationComment=cu(this.declarations,e);return this.documentationComment}getContextualDocumentationComment(e,t){if(e){if(Tl(e)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=cu(ee(this.declarations,Tl),t)),I(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(bl(e)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=cu(ee(this.declarations,bl),t)),I(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(t)}getJsDocTags(e){return this.tags===void 0&&(this.tags=Ed(this.declarations,e)),this.tags}getContextualJsDocTags(e,t){if(e){if(Tl(e)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=Ed(ee(this.declarations,Tl),t)),I(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(bl(e)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=Ed(ee(this.declarations,bl),t)),I(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(t)}},O2=class extends Cd{constructor(e,t,r){super(t,r),this.kind=e}},Ad=class extends Cd{constructor(e,t,r){super(t,r),this.kind=79}get text(){return qr(this)}},Ad.prototype.kind=79,Pd=class extends Cd{constructor(e,t,r){super(t,r),this.kind=80}get text(){return qr(this)}},Pd.prototype.kind=80,C7=class{constructor(e,t){this.checker=e,this.flags=t}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(e){return this.checker.getPropertyOfType(this,e)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(Bf(this)&3)}isClass(){return!!(Bf(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(Bf(this)&4)return this.checker.getTypeArguments(this)}},A7=class{constructor(e,t){this.checker=e,this.flags=t}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(e){let t=this.checker.getParameterType(this,e);if(t.isIndexType()&&Kx(t.type)){let r=t.type.getConstraint();if(r)return this.checker.getIndexType(r)}return t}getDocumentationComment(){return this.documentationComment||(this.documentationComment=cu(Cp(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=Ed(Cp(this.declaration),this.checker))}},P7=class extends wd{constructor(e,t,r){super(e,t,r),this.kind=308}update(e,t){return k2(this,e,t)}getLineAndCharacterOfPosition(e){return Ls(this,e)}getLineStarts(){return ss(this)}getPositionOfLineAndCharacter(e,t,r){return dy(ss(this),e,t,this.text,r)}getLineEndOfPosition(e){let{line:t}=this.getLineAndCharacterOfPosition(e),r=this.getLineStarts(),s;t+1>=r.length&&(s=this.getEnd()),s||(s=r[t+1]-1);let f=this.getFullText();return f[s]===` +`&&f[s-1]==="\r"?s-1:s}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let e=Be();return this.forEachChild(f),e;function t(x){let w=s(x);w&&e.add(w,x)}function r(x){let w=e.get(x);return w||e.set(x,w=[]),w}function s(x){let w=Ey(x);return w&&(Ws(w)&&bn(w.expression)?w.expression.name.text:vl(w)?getNameFromPropertyName(w):void 0)}function f(x){switch(x.kind){case 259:case 215:case 171:case 170:let w=x,A=s(w);if(A){let N=r(A),X=Cn(N);X&&w.parent===X.parent&&w.symbol===X.symbol?w.body&&!X.body&&(N[N.length-1]=w):N.push(w)}xr(x,f);break;case 260:case 228:case 261:case 262:case 263:case 264:case 268:case 278:case 273:case 270:case 271:case 174:case 175:case 184:t(x),xr(x,f);break;case 166:if(!rn(x,16476))break;case 257:case 205:{let N=x;if(df(N.name)){xr(N.name,f);break}N.initializer&&f(N.initializer)}case 302:case 169:case 168:t(x);break;case 275:let g=x;g.exportClause&&(iE(g.exportClause)?c(g.exportClause.elements,f):f(g.exportClause.name));break;case 269:let B=x.importClause;B&&(B.name&&t(B.name),B.namedBindings&&(B.namedBindings.kind===271?t(B.namedBindings):c(B.namedBindings.elements,f)));break;case 223:ps(x)!==0&&t(x);default:xr(x,f)}}}},D7=class{constructor(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}getLineAndCharacterOfPosition(e){return Ls(this,e)}},k7=class{constructor(e){this.host=e}getCurrentSourceFile(e){var t,r,s,f,x,w,A,g;let B=this.host.getScriptSnapshot(e);if(!B)throw new Error("Could not find file: '"+e+"'.");let N=getScriptKind(e,this.host),X=this.host.getScriptVersion(e),F;if(this.currentFileName!==e){let $={languageVersion:99,impliedNodeFormat:getImpliedNodeFormatForFile(Ui(e,this.host.getCurrentDirectory(),((s=(r=(t=this.host).getCompilerHost)==null?void 0:r.call(t))==null?void 0:s.getCanonicalFileName)||D4(this.host)),(g=(A=(w=(x=(f=this.host).getCompilerHost)==null?void 0:x.call(f))==null?void 0:w.getModuleResolutionCache)==null?void 0:A.call(w))==null?void 0:g.getPackageJsonInfoCache(),this.host,this.host.getCompilationSettings()),setExternalModuleIndicator:Ex(this.host.getCompilationSettings())};F=N2(e,B,$,X,!0,N)}else if(this.currentFileVersion!==X){let $=B.getChangeRange(this.currentFileScriptSnapshot);F=T7(this.currentSourceFile,B,X,$)}return F&&(this.currentFileVersion=X,this.currentFileName=e,this.currentFileScriptSnapshot=B,this.currentSourceFile=F),this.currentSourceFile}},I7={isCancellationRequested:w_,throwIfCancellationRequested:yn},N7=class{constructor(e){this.cancellationToken=e}isCancellationRequested(){return this.cancellationToken.isCancellationRequested()}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=rs)==null||e.instant(rs.Phase.Session,"cancellationThrown",{kind:"CancellationTokenObject"}),new Rp}},O7=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20;this.hostCancellationToken=e,this.throttleWaitMilliseconds=t,this.lastCancellationCheckTime=0}isCancellationRequested(){let e=ts();return Math.abs(e-this.lastCancellationCheckTime)>=this.throttleWaitMilliseconds?(this.lastCancellationCheckTime=e,this.hostCancellationToken.isCancellationRequested()):!1}throwIfCancellationRequested(){var e;if(this.isCancellationRequested())throw(e=rs)==null||e.instant(rs.Phase.Session,"cancellationThrown",{kind:"ThrottledCancellationToken"}),new Rp}},M2=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes"],M7=[...M2,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"],gx(_B())}}),vB=()=>{},bB=()=>{},TB=()=>{},SB=()=>{},xB=()=>{},EB=()=>{},wB=()=>{},CB=()=>{},AB=()=>{},PB=()=>{},DB=()=>{},kB=()=>{},IB=()=>{},NB=()=>{},OB=()=>{},MB=()=>{},LB=()=>{},RB=()=>{},jB=()=>{},JB=()=>{},L2=D({"src/services/_namespaces/ts.ts"(){"use strict";nn(),l7(),KF(),u7(),XF(),YF(),QF(),ZF(),eB(),tB(),rB(),nB(),iB(),aB(),yB(),vB(),bB(),TB(),SB(),xB(),EB(),wB(),CB(),AB(),PB(),DB(),p7(),f7(),kB(),IB(),NB(),OB(),MB(),LB(),RB(),jB(),JB()}}),FB=()=>{},L7={};y(L7,{ANONYMOUS:()=>ANONYMOUS,AccessFlags:()=>Cg,AssertionLevel:()=>$1,AssignmentDeclarationKind:()=>Mg,AssignmentKind:()=>Sv,Associativity:()=>Ev,BreakpointResolver:()=>ts_BreakpointResolver_exports,BuilderFileEmit:()=>BuilderFileEmit,BuilderProgramKind:()=>BuilderProgramKind,BuilderState:()=>BuilderState,BundleFileSectionKind:()=>ty,CallHierarchy:()=>ts_CallHierarchy_exports,CharacterCodes:()=>$g,CheckFlags:()=>Tg,CheckMode:()=>CheckMode,ClassificationType:()=>ClassificationType,ClassificationTypeNames:()=>ClassificationTypeNames,CommentDirectiveType:()=>ig,Comparison:()=>d,CompletionInfoFlags:()=>CompletionInfoFlags,CompletionTriggerKind:()=>CompletionTriggerKind,Completions:()=>ts_Completions_exports,ConfigFileProgramReloadLevel:()=>ConfigFileProgramReloadLevel,ContextFlags:()=>pg,CoreServicesShimHostAdapter:()=>CoreServicesShimHostAdapter,Debug:()=>Y,DiagnosticCategory:()=>qp,Diagnostics:()=>ve,DocumentHighlights:()=>DocumentHighlights,ElementFlags:()=>wg,EmitFlags:()=>Wp,EmitHint:()=>Qg,EmitOnly:()=>og,EndOfLineState:()=>EndOfLineState,EnumKind:()=>bg,ExitStatus:()=>cg,ExportKind:()=>ExportKind,Extension:()=>Kg,ExternalEmitHelpers:()=>Yg,FileIncludeKind:()=>ag,FilePreprocessingDiagnosticsKind:()=>sg,FileSystemEntryKind:()=>FileSystemEntryKind,FileWatcherEventKind:()=>FileWatcherEventKind,FindAllReferences:()=>ts_FindAllReferences_exports,FlattenLevel:()=>FlattenLevel,FlowFlags:()=>il,ForegroundColorEscapeSequences:()=>ForegroundColorEscapeSequences,FunctionFlags:()=>xv,GeneratedIdentifierFlags:()=>rg,GetLiteralTextFlags:()=>vv,GoToDefinition:()=>ts_GoToDefinition_exports,HighlightSpanKind:()=>HighlightSpanKind,ImportKind:()=>ImportKind,ImportsNotUsedAsValues:()=>Ug,IndentStyle:()=>IndentStyle,IndexKind:()=>Dg,InferenceFlags:()=>Ng,InferencePriority:()=>Ig,InlayHintKind:()=>InlayHintKind,InlayHints:()=>ts_InlayHints_exports,InternalEmitFlags:()=>Xg,InternalSymbolName:()=>Sg,InvalidatedProjectKind:()=>InvalidatedProjectKind,JsDoc:()=>ts_JsDoc_exports,JsTyping:()=>ts_JsTyping_exports,JsxEmit:()=>qg,JsxFlags:()=>tg,JsxReferenceKind:()=>Ag,LanguageServiceMode:()=>LanguageServiceMode,LanguageServiceShimHostAdapter:()=>LanguageServiceShimHostAdapter,LanguageVariant:()=>Hg,LexicalEnvironmentFlags:()=>ey,ListFormat:()=>ry,LogLevel:()=>Y1,MemberOverrideStatus:()=>lg,ModifierFlags:()=>Mp,ModuleDetectionKind:()=>Rg,ModuleInstanceState:()=>ModuleInstanceState,ModuleKind:()=>Bg,ModuleResolutionKind:()=>Lg,ModuleSpecifierEnding:()=>jv,NavigateTo:()=>ts_NavigateTo_exports,NavigationBar:()=>ts_NavigationBar_exports,NewLineKind:()=>zg,NodeBuilderFlags:()=>fg,NodeCheckFlags:()=>xg,NodeFactoryFlags:()=>Fv,NodeFlags:()=>Op,NodeResolutionFeatures:()=>NodeResolutionFeatures,ObjectFlags:()=>Fp,OperationCanceledException:()=>Rp,OperatorPrecedence:()=>wv,OrganizeImports:()=>ts_OrganizeImports_exports,OrganizeImportsMode:()=>OrganizeImportsMode,OuterExpressionKinds:()=>Zg,OutliningElementsCollector:()=>ts_OutliningElementsCollector_exports,OutliningSpanKind:()=>OutliningSpanKind,OutputFileType:()=>OutputFileType,PackageJsonAutoImportPreference:()=>PackageJsonAutoImportPreference,PackageJsonDependencyGroup:()=>PackageJsonDependencyGroup,PatternMatchKind:()=>PatternMatchKind,PollingInterval:()=>PollingInterval,PollingWatchKind:()=>Fg,PragmaKindFlags:()=>ny,PrivateIdentifierKind:()=>PrivateIdentifierKind,ProcessLevel:()=>ProcessLevel,QuotePreference:()=>QuotePreference,RelationComparisonResult:()=>Lp,Rename:()=>ts_Rename_exports,ScriptElementKind:()=>ScriptElementKind,ScriptElementKindModifier:()=>ScriptElementKindModifier,ScriptKind:()=>Wg,ScriptSnapshot:()=>ScriptSnapshot,ScriptTarget:()=>Vg,SemanticClassificationFormat:()=>SemanticClassificationFormat,SemanticMeaning:()=>SemanticMeaning,SemicolonPreference:()=>SemicolonPreference,SignatureCheckMode:()=>SignatureCheckMode,SignatureFlags:()=>Bp,SignatureHelp:()=>ts_SignatureHelp_exports,SignatureKind:()=>Pg,SmartSelectionRange:()=>ts_SmartSelectionRange_exports,SnippetKind:()=>zp,SortKind:()=>H1,StructureIsReused:()=>_g,SymbolAccessibility:()=>hg,SymbolDisplay:()=>ts_SymbolDisplay_exports,SymbolDisplayPartKind:()=>SymbolDisplayPartKind,SymbolFlags:()=>jp,SymbolFormatFlags:()=>mg,SyntaxKind:()=>Np,SyntheticSymbolKind:()=>gg,Ternary:()=>Og,ThrottledCancellationToken:()=>O7,TokenClass:()=>TokenClass,TokenFlags:()=>ng,TransformFlags:()=>Up,TypeFacts:()=>TypeFacts,TypeFlags:()=>Jp,TypeFormatFlags:()=>dg,TypeMapKind:()=>kg,TypePredicateKind:()=>yg,TypeReferenceSerializationKind:()=>vg,TypeScriptServicesFactory:()=>TypeScriptServicesFactory,UnionReduction:()=>ug,UpToDateStatusType:()=>UpToDateStatusType,VarianceFlags:()=>Eg,Version:()=>Version,VersionRange:()=>VersionRange,WatchDirectoryFlags:()=>Gg,WatchDirectoryKind:()=>Jg,WatchFileKind:()=>jg,WatchLogLevel:()=>WatchLogLevel,WatchType:()=>WatchType,accessPrivateIdentifier:()=>accessPrivateIdentifier,addEmitFlags:()=>addEmitFlags,addEmitHelper:()=>addEmitHelper,addEmitHelpers:()=>addEmitHelpers,addInternalEmitFlags:()=>addInternalEmitFlags,addNodeFactoryPatcher:()=>jL,addObjectAllocatorPatcher:()=>sM,addRange:()=>jr,addRelatedInfo:()=>Rl,addSyntheticLeadingComment:()=>addSyntheticLeadingComment,addSyntheticTrailingComment:()=>addSyntheticTrailingComment,addToSeen:()=>GO,advancedAsyncSuperHelper:()=>advancedAsyncSuperHelper,affectsDeclarationPathOptionDeclarations:()=>affectsDeclarationPathOptionDeclarations,affectsEmitOptionDeclarations:()=>affectsEmitOptionDeclarations,allKeysStartWithDot:()=>allKeysStartWithDot,altDirectorySeparator:()=>py,and:()=>E5,append:()=>tr,appendIfUnique:()=>g_,arrayFrom:()=>Za,arrayIsEqualTo:()=>Hc,arrayIsHomogeneous:()=>fL,arrayIsSorted:()=>Wc,arrayOf:()=>yo,arrayReverseIterator:()=>y_,arrayToMap:()=>Zc,arrayToMultiMap:()=>bo,arrayToNumericMap:()=>Os,arraysEqual:()=>ke,assertType:()=>C5,assign:()=>vo,assignHelper:()=>assignHelper,asyncDelegator:()=>asyncDelegator,asyncGeneratorHelper:()=>asyncGeneratorHelper,asyncSuperHelper:()=>asyncSuperHelper,asyncValues:()=>asyncValues,attachFileToDiagnostics:()=>qs,awaitHelper:()=>awaitHelper,awaiterHelper:()=>awaiterHelper,base64decode:()=>mO,base64encode:()=>dO,binarySearch:()=>Ya,binarySearchKey:()=>b_,bindSourceFile:()=>bindSourceFile,breakIntoCharacterSpans:()=>breakIntoCharacterSpans,breakIntoWordSpans:()=>breakIntoWordSpans,buildLinkParts:()=>buildLinkParts,buildOpts:()=>buildOpts,buildOverload:()=>buildOverload,bundlerModuleNameResolver:()=>bundlerModuleNameResolver,canBeConvertedToAsync:()=>canBeConvertedToAsync,canHaveDecorators:()=>ME,canHaveExportModifier:()=>AL,canHaveFlowNode:()=>jI,canHaveIllegalDecorators:()=>rJ,canHaveIllegalModifiers:()=>nJ,canHaveIllegalType:()=>tJ,canHaveIllegalTypeParameters:()=>IE,canHaveJSDoc:()=>Af,canHaveLocals:()=>zP,canHaveModifiers:()=>fc,canHaveSymbol:()=>UP,canJsonReportNoInputFiles:()=>canJsonReportNoInputFiles,canProduceDiagnostics:()=>canProduceDiagnostics,canUsePropertyAccess:()=>PL,canWatchDirectoryOrFile:()=>canWatchDirectoryOrFile,cartesianProduct:()=>P5,cast:()=>ti,chainBundle:()=>chainBundle,chainDiagnosticMessages:()=>lM,changeAnyExtension:()=>RT,changeCompilerHostLikeToUseCache:()=>changeCompilerHostLikeToUseCache,changeExtension:()=>KM,changesAffectModuleResolution:()=>cD,changesAffectingProgramStructure:()=>lD,childIsDecorated:()=>h0,classElementOrClassElementParameterIsDecorated:()=>sI,classOrConstructorParameterIsDecorated:()=>aI,classPrivateFieldGetHelper:()=>classPrivateFieldGetHelper,classPrivateFieldInHelper:()=>classPrivateFieldInHelper,classPrivateFieldSetHelper:()=>classPrivateFieldSetHelper,classicNameResolver:()=>classicNameResolver,classifier:()=>ts_classifier_exports,cleanExtendedConfigCache:()=>cleanExtendedConfigCache,clear:()=>nt,clearMap:()=>qO,clearSharedExtendedConfigFileWatcher:()=>clearSharedExtendedConfigFileWatcher,climbPastPropertyAccess:()=>climbPastPropertyAccess,climbPastPropertyOrElementAccess:()=>climbPastPropertyOrElementAccess,clone:()=>E_,cloneCompilerOptions:()=>cloneCompilerOptions,closeFileWatcher:()=>MO,closeFileWatcherOf:()=>closeFileWatcherOf,codefix:()=>ts_codefix_exports,collapseTextChangeRangesAcrossMultipleVersions:()=>CA,collectExternalModuleInfo:()=>collectExternalModuleInfo,combine:()=>$c,combinePaths:()=>tn,commentPragmas:()=>Vp,commonOptionsWithBuild:()=>commonOptionsWithBuild,commonPackageFolders:()=>Pv,compact:()=>Gc,compareBooleans:()=>j1,compareDataObjects:()=>px,compareDiagnostics:()=>av,compareDiagnosticsSkipRelatedInformation:()=>qf,compareEmitHelpers:()=>compareEmitHelpers,compareNumberOfDirectorySeparators:()=>$M,comparePaths:()=>tA,comparePathsCaseInsensitive:()=>eA,comparePathsCaseSensitive:()=>Z5,comparePatternKeys:()=>comparePatternKeys,compareProperties:()=>R1,compareStringsCaseInsensitive:()=>C_,compareStringsCaseInsensitiveEslintCompatible:()=>O1,compareStringsCaseSensitive:()=>ri,compareStringsCaseSensitiveUI:()=>L1,compareTextSpans:()=>I1,compareValues:()=>Vr,compileOnSaveCommandLineOption:()=>compileOnSaveCommandLineOption,compilerOptionsAffectDeclarationPath:()=>DM,compilerOptionsAffectEmit:()=>PM,compilerOptionsAffectSemanticDiagnostics:()=>AM,compilerOptionsDidYouMeanDiagnostics:()=>compilerOptionsDidYouMeanDiagnostics,compilerOptionsIndicateEsModules:()=>compilerOptionsIndicateEsModules,compose:()=>k1,computeCommonSourceDirectoryOfFilenames:()=>computeCommonSourceDirectoryOfFilenames,computeLineAndCharacterOfPosition:()=>my,computeLineOfPosition:()=>k_,computeLineStarts:()=>Kp,computePositionOfLineAndCharacter:()=>dy,computeSignature:()=>computeSignature,computeSignatureWithDiagnostics:()=>computeSignatureWithDiagnostics,computeSuggestionDiagnostics:()=>computeSuggestionDiagnostics,concatenate:()=>Ft,concatenateDiagnosticMessageChains:()=>uM,consumesNodeCoreModules:()=>consumesNodeCoreModules,contains:()=>pe,containsIgnoredPath:()=>Hx,containsObjectRestOrSpread:()=>A2,containsParseError:()=>Ky,containsPath:()=>jT,convertCompilerOptionsForTelemetry:()=>convertCompilerOptionsForTelemetry,convertCompilerOptionsFromJson:()=>convertCompilerOptionsFromJson,convertJsonOption:()=>convertJsonOption,convertToBase64:()=>ix,convertToObject:()=>convertToObject,convertToObjectWorker:()=>convertToObjectWorker,convertToOptionsWithAbsolutePaths:()=>convertToOptionsWithAbsolutePaths,convertToRelativePath:()=>nA,convertToTSConfig:()=>convertToTSConfig,convertTypeAcquisitionFromJson:()=>convertTypeAcquisitionFromJson,copyComments:()=>copyComments,copyEntries:()=>dD,copyLeadingComments:()=>copyLeadingComments,copyProperties:()=>H,copyTrailingAsLeadingComments:()=>copyTrailingAsLeadingComments,copyTrailingComments:()=>copyTrailingComments,couldStartTrivia:()=>pA,countWhere:()=>Xe,createAbstractBuilder:()=>createAbstractBuilder,createAccessorPropertyBackingField:()=>LJ,createAccessorPropertyGetRedirector:()=>RJ,createAccessorPropertySetRedirector:()=>jJ,createBaseNodeFactory:()=>S8,createBinaryExpressionTrampoline:()=>PJ,createBindingHelper:()=>createBindingHelper,createBuildInfo:()=>createBuildInfo,createBuilderProgram:()=>createBuilderProgram,createBuilderProgramUsingProgramBuildInfo:()=>createBuilderProgramUsingProgramBuildInfo,createBuilderStatusReporter:()=>createBuilderStatusReporter,createCacheWithRedirects:()=>createCacheWithRedirects,createCacheableExportInfoMap:()=>createCacheableExportInfoMap,createCachedDirectoryStructureHost:()=>createCachedDirectoryStructureHost,createClassifier:()=>createClassifier,createCommentDirectivesMap:()=>JD,createCompilerDiagnostic:()=>Ol,createCompilerDiagnosticForInvalidCustomType:()=>createCompilerDiagnosticForInvalidCustomType,createCompilerDiagnosticFromMessageChain:()=>cM,createCompilerHost:()=>createCompilerHost,createCompilerHostFromProgramHost:()=>createCompilerHostFromProgramHost,createCompilerHostWorker:()=>createCompilerHostWorker,createDetachedDiagnostic:()=>Ro,createDiagnosticCollection:()=>TN,createDiagnosticForFileFromMessageChain:()=>mk,createDiagnosticForNode:()=>uk,createDiagnosticForNodeArray:()=>pk,createDiagnosticForNodeArrayFromMessageChain:()=>dk,createDiagnosticForNodeFromMessageChain:()=>fk,createDiagnosticForNodeInSourceFile:()=>P3,createDiagnosticForRange:()=>gk,createDiagnosticMessageChainFromDiagnostic:()=>hk,createDiagnosticReporter:()=>createDiagnosticReporter,createDocumentPositionMapper:()=>createDocumentPositionMapper,createDocumentRegistry:()=>createDocumentRegistry,createDocumentRegistryInternal:()=>createDocumentRegistryInternal,createEmitAndSemanticDiagnosticsBuilderProgram:()=>createEmitAndSemanticDiagnosticsBuilderProgram,createEmitHelperFactory:()=>createEmitHelperFactory,createEmptyExports:()=>Dj,createExpressionForJsxElement:()=>Ij,createExpressionForJsxFragment:()=>Nj,createExpressionForObjectLiteralElementLike:()=>Fj,createExpressionForPropertyName:()=>vE,createExpressionFromEntityName:()=>yE,createExternalHelpersImportDeclarationIfNeeded:()=>$j,createFileDiagnostic:()=>iv,createFileDiagnosticFromMessageChain:()=>r0,createForOfBindingStatement:()=>Oj,createGetCanonicalFileName:()=>wp,createGetSourceFile:()=>createGetSourceFile,createGetSymbolAccessibilityDiagnosticForNode:()=>createGetSymbolAccessibilityDiagnosticForNode,createGetSymbolAccessibilityDiagnosticForNodeName:()=>createGetSymbolAccessibilityDiagnosticForNodeName,createGetSymbolWalker:()=>createGetSymbolWalker,createIncrementalCompilerHost:()=>createIncrementalCompilerHost,createIncrementalProgram:()=>createIncrementalProgram,createInputFiles:()=>VL,createInputFilesWithFilePaths:()=>C8,createInputFilesWithFileTexts:()=>A8,createJsxFactoryExpression:()=>gE,createLanguageService:()=>lB,createLanguageServiceSourceFile:()=>N2,createMemberAccessForPropertyName:()=>hd,createModeAwareCache:()=>createModeAwareCache,createModeAwareCacheKey:()=>createModeAwareCacheKey,createModuleResolutionCache:()=>createModuleResolutionCache,createModuleResolutionLoader:()=>createModuleResolutionLoader,createModuleSpecifierResolutionHost:()=>createModuleSpecifierResolutionHost,createMultiMap:()=>Be,createNodeConverters:()=>x8,createNodeFactory:()=>Zf,createOptionNameMap:()=>createOptionNameMap,createOverload:()=>createOverload,createPackageJsonImportFilter:()=>createPackageJsonImportFilter,createPackageJsonInfo:()=>createPackageJsonInfo,createParenthesizerRules:()=>createParenthesizerRules,createPatternMatcher:()=>createPatternMatcher,createPrependNodes:()=>createPrependNodes,createPrinter:()=>createPrinter,createPrinterWithDefaults:()=>createPrinterWithDefaults,createPrinterWithRemoveComments:()=>createPrinterWithRemoveComments,createPrinterWithRemoveCommentsNeverAsciiEscape:()=>createPrinterWithRemoveCommentsNeverAsciiEscape,createPrinterWithRemoveCommentsOmitTrailingSemicolon:()=>createPrinterWithRemoveCommentsOmitTrailingSemicolon,createProgram:()=>createProgram,createProgramHost:()=>createProgramHost,createPropertyNameNodeForIdentifierOrLiteral:()=>EL,createQueue:()=>Fr,createRange:()=>Jf,createRedirectedBuilderProgram:()=>createRedirectedBuilderProgram,createResolutionCache:()=>createResolutionCache,createRuntimeTypeSerializer:()=>createRuntimeTypeSerializer,createScanner:()=>Po,createSemanticDiagnosticsBuilderProgram:()=>createSemanticDiagnosticsBuilderProgram,createSet:()=>Cr,createSolutionBuilder:()=>createSolutionBuilder,createSolutionBuilderHost:()=>createSolutionBuilderHost,createSolutionBuilderWithWatch:()=>createSolutionBuilderWithWatch,createSolutionBuilderWithWatchHost:()=>createSolutionBuilderWithWatchHost,createSortedArray:()=>zc,createSourceFile:()=>YE,createSourceMapGenerator:()=>createSourceMapGenerator,createSourceMapSource:()=>HL,createSuperAccessVariableStatement:()=>createSuperAccessVariableStatement,createSymbolTable:()=>oD,createSymlinkCache:()=>MM,createSystemWatchFunctions:()=>createSystemWatchFunctions,createTextChange:()=>createTextChange,createTextChangeFromStartLength:()=>createTextChangeFromStartLength,createTextChangeRange:()=>Zp,createTextRangeFromNode:()=>createTextRangeFromNode,createTextRangeFromSpan:()=>createTextRangeFromSpan,createTextSpan:()=>L_,createTextSpanFromBounds:()=>ha,createTextSpanFromNode:()=>createTextSpanFromNode,createTextSpanFromRange:()=>createTextSpanFromRange,createTextSpanFromStringLiteralLikeContent:()=>createTextSpanFromStringLiteralLikeContent,createTextWriter:()=>DN,createTokenRange:()=>bO,createTypeChecker:()=>createTypeChecker,createTypeReferenceDirectiveResolutionCache:()=>createTypeReferenceDirectiveResolutionCache,createTypeReferenceResolutionLoader:()=>createTypeReferenceResolutionLoader,createUnderscoreEscapedMultiMap:()=>Ht,createUnparsedSourceFile:()=>UL,createWatchCompilerHost:()=>createWatchCompilerHost2,createWatchCompilerHostOfConfigFile:()=>createWatchCompilerHostOfConfigFile,createWatchCompilerHostOfFilesAndCompilerOptions:()=>createWatchCompilerHostOfFilesAndCompilerOptions,createWatchFactory:()=>createWatchFactory,createWatchHost:()=>createWatchHost,createWatchProgram:()=>createWatchProgram,createWatchStatusReporter:()=>createWatchStatusReporter,createWriteFileMeasuringIO:()=>createWriteFileMeasuringIO,declarationNameToString:()=>A3,decodeMappings:()=>decodeMappings,decodedTextSpanIntersectsWith:()=>Sy,decorateHelper:()=>decorateHelper,deduplicate:()=>ji,defaultIncludeSpec:()=>defaultIncludeSpec,defaultInitCompilerOptions:()=>defaultInitCompilerOptions,defaultMaximumTruncationLength:()=>r8,detectSortCaseSensitivity:()=>Vc,diagnosticCategoryName:()=>z5,diagnosticToString:()=>diagnosticToString,directoryProbablyExists:()=>sx,directorySeparator:()=>zn,displayPart:()=>displayPart,displayPartsToString:()=>cB,disposeEmitNodes:()=>disposeEmitNodes,documentSpansEqual:()=>documentSpansEqual,dumpTracingLegend:()=>dumpTracingLegend,elementAt:()=>wT,elideNodes:()=>IJ,emitComments:()=>U4,emitDetachedComments:()=>GN,emitFiles:()=>emitFiles,emitFilesAndReportErrors:()=>emitFilesAndReportErrors,emitFilesAndReportErrorsAndGetExitStatus:()=>emitFilesAndReportErrorsAndGetExitStatus,emitModuleKindIsNonNodeESM:()=>mM,emitNewLineBeforeLeadingCommentOfPosition:()=>HN,emitNewLineBeforeLeadingComments:()=>B4,emitNewLineBeforeLeadingCommentsOfPosition:()=>q4,emitSkippedWithNoDiagnostics:()=>emitSkippedWithNoDiagnostics,emitUsingBuildInfo:()=>emitUsingBuildInfo,emptyArray:()=>Bt,emptyFileSystemEntries:()=>T8,emptyMap:()=>V1,emptyOptions:()=>emptyOptions,emptySet:()=>ET,endsWith:()=>es,ensurePathIsNonModuleName:()=>_y,ensureScriptKind:()=>Nx,ensureTrailingDirectorySeparator:()=>wo,entityNameToString:()=>ls,enumerateInsertsAndDeletes:()=>A5,equalOwnProperties:()=>S_,equateStringsCaseInsensitive:()=>Ms,equateStringsCaseSensitive:()=>To,equateValues:()=>fa,esDecorateHelper:()=>esDecorateHelper,escapeJsxAttributeString:()=>A4,escapeLeadingUnderscores:()=>vi,escapeNonAsciiString:()=>Of,escapeSnippetText:()=>xL,escapeString:()=>Nf,every:()=>me,expandPreOrPostfixIncrementOrDecrementExpression:()=>Bj,explainFiles:()=>explainFiles,explainIfFileIsRedirectAndImpliedFormat:()=>explainIfFileIsRedirectAndImpliedFormat,exportAssignmentIsAlias:()=>I0,exportStarHelper:()=>exportStarHelper,expressionResultIsUnused:()=>gL,extend:()=>S,extendsHelper:()=>extendsHelper,extensionFromPath:()=>QM,extensionIsTS:()=>qx,externalHelpersModuleNameText:()=>Kf,factory:()=>si,fileExtensionIs:()=>ns,fileExtensionIsOneOf:()=>da,fileIncludeReasonToDiagnostics:()=>fileIncludeReasonToDiagnostics,filter:()=>ee,filterMutate:()=>je,filterSemanticDiagnostics:()=>filterSemanticDiagnostics,find:()=>Ae,findAncestor:()=>zi,findBestPatternMatch:()=>TT,findChildOfKind:()=>findChildOfKind,findComputedPropertyNameCacheAssignment:()=>JJ,findConfigFile:()=>findConfigFile,findContainingList:()=>findContainingList,findDiagnosticForNode:()=>findDiagnosticForNode,findFirstNonJsxWhitespaceToken:()=>findFirstNonJsxWhitespaceToken,findIndex:()=>he,findLast:()=>te,findLastIndex:()=>Pe,findListItemInfo:()=>findListItemInfo,findMap:()=>R,findModifier:()=>findModifier,findNextToken:()=>findNextToken,findPackageJson:()=>findPackageJson,findPackageJsons:()=>findPackageJsons,findPrecedingMatchingToken:()=>findPrecedingMatchingToken,findPrecedingToken:()=>findPrecedingToken,findSuperStatementIndex:()=>findSuperStatementIndex,findTokenOnLeftOfPosition:()=>findTokenOnLeftOfPosition,findUseStrictPrologue:()=>TE,first:()=>fo,firstDefined:()=>q,firstDefinedIterator:()=>W,firstIterator:()=>v_,firstOrOnly:()=>firstOrOnly,firstOrUndefined:()=>pa,firstOrUndefinedIterator:()=>Xc,fixupCompilerOptions:()=>fixupCompilerOptions,flatMap:()=>ne,flatMapIterator:()=>Fe,flatMapToMutable:()=>ge,flatten:()=>ct,flattenCommaList:()=>BJ,flattenDestructuringAssignment:()=>flattenDestructuringAssignment,flattenDestructuringBinding:()=>flattenDestructuringBinding,flattenDiagnosticMessageText:()=>flattenDiagnosticMessageText,forEach:()=>c,forEachAncestor:()=>uD,forEachAncestorDirectory:()=>FT,forEachChild:()=>xr,forEachChildRecursively:()=>D2,forEachEmittedFile:()=>forEachEmittedFile,forEachEnclosingBlockScopeContainer:()=>ok,forEachEntry:()=>pD,forEachExternalModuleToImportFrom:()=>forEachExternalModuleToImportFrom,forEachImportClauseDeclaration:()=>NI,forEachKey:()=>fD,forEachLeadingCommentRange:()=>fA,forEachNameInAccessChainWalkingLeft:()=>QO,forEachResolvedProjectReference:()=>forEachResolvedProjectReference,forEachReturnStatement:()=>Pk,forEachRight:()=>M,forEachTrailingCommentRange:()=>dA,forEachUnique:()=>forEachUnique,forEachYieldExpression:()=>Dk,forSomeAncestorDirectory:()=>WO,formatColorAndReset:()=>formatColorAndReset,formatDiagnostic:()=>formatDiagnostic,formatDiagnostics:()=>formatDiagnostics,formatDiagnosticsWithColorAndContext:()=>formatDiagnosticsWithColorAndContext,formatGeneratedName:()=>bd,formatGeneratedNamePart:()=>C2,formatLocation:()=>formatLocation,formatMessage:()=>_M,formatStringFromArgs:()=>X_,formatting:()=>ts_formatting_exports,fullTripleSlashAMDReferencePathRegEx:()=>Tv,fullTripleSlashReferencePathRegEx:()=>bv,generateDjb2Hash:()=>generateDjb2Hash,generateTSConfig:()=>generateTSConfig,generatorHelper:()=>generatorHelper,getAdjustedReferenceLocation:()=>getAdjustedReferenceLocation,getAdjustedRenameLocation:()=>getAdjustedRenameLocation,getAliasDeclarationFromName:()=>u4,getAllAccessorDeclarations:()=>W0,getAllDecoratorsOfClass:()=>getAllDecoratorsOfClass,getAllDecoratorsOfClassElement:()=>getAllDecoratorsOfClassElement,getAllJSDocTags:()=>MS,getAllJSDocTagsOfKind:()=>UA,getAllKeys:()=>T_,getAllProjectOutputs:()=>getAllProjectOutputs,getAllSuperTypeNodes:()=>h4,getAllUnscopedEmitHelpers:()=>getAllUnscopedEmitHelpers,getAllowJSCompilerOption:()=>Ax,getAllowSyntheticDefaultImports:()=>TM,getAncestor:()=>eN,getAnyExtensionFromPath:()=>Gp,getAreDeclarationMapsEnabled:()=>bM,getAssignedExpandoInitializer:()=>bI,getAssignedName:()=>yS,getAssignmentDeclarationKind:()=>ps,getAssignmentDeclarationPropertyAccessKind:()=>K3,getAssignmentTargetKind:()=>o4,getAutomaticTypeDirectiveNames:()=>getAutomaticTypeDirectiveNames,getBaseFileName:()=>sl,getBinaryOperatorPrecedence:()=>Dl,getBuildInfo:()=>getBuildInfo,getBuildInfoFileVersionMap:()=>getBuildInfoFileVersionMap,getBuildInfoText:()=>getBuildInfoText,getBuildOrderFromAnyBuildOrder:()=>getBuildOrderFromAnyBuildOrder,getBuilderCreationParameters:()=>getBuilderCreationParameters,getBuilderFileEmit:()=>getBuilderFileEmit,getCheckFlags:()=>ux,getClassExtendsHeritageElement:()=>d4,getClassLikeDeclarationOfSymbol:()=>dx,getCombinedLocalAndExportSymbolFlags:()=>jO,getCombinedModifierFlags:()=>ef,getCombinedNodeFlags:()=>tf,getCombinedNodeFlagsAlwaysIncludeJSDoc:()=>PA,getCommentRange:()=>getCommentRange,getCommonSourceDirectory:()=>getCommonSourceDirectory,getCommonSourceDirectoryOfConfig:()=>getCommonSourceDirectoryOfConfig,getCompilerOptionValue:()=>uv,getCompilerOptionsDiffValue:()=>getCompilerOptionsDiffValue,getConditions:()=>getConditions,getConfigFileParsingDiagnostics:()=>getConfigFileParsingDiagnostics,getConstantValue:()=>getConstantValue,getContainerNode:()=>getContainerNode,getContainingClass:()=>Vk,getContainingClassStaticBlock:()=>Hk,getContainingFunction:()=>zk,getContainingFunctionDeclaration:()=>Wk,getContainingFunctionOrClassStaticBlock:()=>Gk,getContainingNodeArray:()=>yL,getContainingObjectLiteralElement:()=>S7,getContextualTypeFromParent:()=>getContextualTypeFromParent,getContextualTypeFromParentOrAncestorTypeNode:()=>getContextualTypeFromParentOrAncestorTypeNode,getCurrentTime:()=>getCurrentTime,getDeclarationDiagnostics:()=>getDeclarationDiagnostics,getDeclarationEmitExtensionForPath:()=>O4,getDeclarationEmitOutputFilePath:()=>ON,getDeclarationEmitOutputFilePathWorker:()=>N4,getDeclarationFromName:()=>XI,getDeclarationModifierFlagsFromSymbol:()=>LO,getDeclarationOfKind:()=>aD,getDeclarationsOfKind:()=>sD,getDeclaredExpandoInitializer:()=>yI,getDecorators:()=>kA,getDefaultCompilerOptions:()=>y7,getDefaultExportInfoWorker:()=>getDefaultExportInfoWorker,getDefaultFormatCodeSettings:()=>getDefaultFormatCodeSettings,getDefaultLibFileName:()=>aS,getDefaultLibFilePath:()=>gB,getDefaultLikeExportInfo:()=>getDefaultLikeExportInfo,getDiagnosticText:()=>getDiagnosticText,getDiagnosticsWithinSpan:()=>getDiagnosticsWithinSpan,getDirectoryPath:()=>ma,getDocumentPositionMapper:()=>getDocumentPositionMapper,getESModuleInterop:()=>ov,getEditsForFileRename:()=>getEditsForFileRename,getEffectiveBaseTypeNode:()=>f4,getEffectiveConstraintOfTypeParameter:()=>HA,getEffectiveContainerForJSDocTemplateTag:()=>FI,getEffectiveImplementsTypeNodes:()=>m4,getEffectiveInitializer:()=>V3,getEffectiveJSDocHost:()=>A0,getEffectiveModifierFlags:()=>Rf,getEffectiveModifierFlagsAlwaysIncludeJSDoc:()=>K4,getEffectiveModifierFlagsNoCache:()=>Y4,getEffectiveReturnTypeNode:()=>zN,getEffectiveSetAccessorTypeAnnotationNode:()=>VN,getEffectiveTypeAnnotationNode:()=>V0,getEffectiveTypeParameterDeclarations:()=>VA,getEffectiveTypeRoots:()=>getEffectiveTypeRoots,getElementOrPropertyAccessArgumentExpressionOrName:()=>Cf,getElementOrPropertyAccessName:()=>Fs,getElementsOfBindingOrAssignmentPattern:()=>kE,getEmitDeclarations:()=>cv,getEmitFlags:()=>xi,getEmitHelpers:()=>getEmitHelpers,getEmitModuleDetectionKind:()=>wx,getEmitModuleKind:()=>Ei,getEmitModuleResolutionKind:()=>Ml,getEmitScriptTarget:()=>Uf,getEnclosingBlockScopeContainer:()=>Zy,getEncodedSemanticClassifications:()=>getEncodedSemanticClassifications,getEncodedSyntacticClassifications:()=>getEncodedSyntacticClassifications,getEndLinePosition:()=>d3,getEntityNameFromTypeNode:()=>nI,getEntrypointsFromPackageJsonInfo:()=>getEntrypointsFromPackageJsonInfo,getErrorCountForSummary:()=>getErrorCountForSummary,getErrorSpanForNode:()=>i0,getErrorSummaryText:()=>getErrorSummaryText,getEscapedTextOfIdentifierOrLiteral:()=>b4,getExpandoInitializer:()=>U_,getExportAssignmentExpression:()=>p4,getExportInfoMap:()=>getExportInfoMap,getExportNeedsImportStarHelper:()=>getExportNeedsImportStarHelper,getExpressionAssociativity:()=>yN,getExpressionPrecedence:()=>vN,getExternalHelpersModuleName:()=>EE,getExternalModuleImportEqualsDeclarationExpression:()=>_I,getExternalModuleName:()=>E0,getExternalModuleNameFromDeclaration:()=>IN,getExternalModuleNameFromPath:()=>F0,getExternalModuleNameLiteral:()=>Xj,getExternalModuleRequireArgument:()=>cI,getFallbackOptions:()=>getFallbackOptions,getFileEmitOutput:()=>getFileEmitOutput,getFileMatcherPatterns:()=>Ix,getFileNamesFromConfigSpecs:()=>getFileNamesFromConfigSpecs,getFileWatcherEventKind:()=>getFileWatcherEventKind,getFilesInErrorForSummary:()=>getFilesInErrorForSummary,getFirstConstructorWithBody:()=>R4,getFirstIdentifier:()=>iO,getFirstNonSpaceCharacterPosition:()=>getFirstNonSpaceCharacterPosition,getFirstProjectOutput:()=>getFirstProjectOutput,getFixableErrorSpanExpression:()=>getFixableErrorSpanExpression,getFormatCodeSettingsForWriting:()=>getFormatCodeSettingsForWriting,getFullWidth:()=>hf,getFunctionFlags:()=>sN,getHeritageClause:()=>Pf,getHostSignatureFromJSDoc:()=>C0,getIdentifierAutoGenerate:()=>getIdentifierAutoGenerate,getIdentifierGeneratedImportReference:()=>getIdentifierGeneratedImportReference,getIdentifierTypeArguments:()=>getIdentifierTypeArguments,getImmediatelyInvokedFunctionExpression:()=>Qk,getImpliedNodeFormatForFile:()=>getImpliedNodeFormatForFile,getImpliedNodeFormatForFileWorker:()=>getImpliedNodeFormatForFileWorker,getImportNeedsImportDefaultHelper:()=>getImportNeedsImportDefaultHelper,getImportNeedsImportStarHelper:()=>getImportNeedsImportStarHelper,getIndentSize:()=>Oo,getIndentString:()=>j0,getInitializedVariables:()=>NO,getInitializerOfBinaryExpression:()=>X3,getInitializerOfBindingOrAssignmentElement:()=>AE,getInterfaceBaseTypeNodes:()=>g4,getInternalEmitFlags:()=>zD,getInvokedExpression:()=>iI,getIsolatedModules:()=>zf,getJSDocAugmentsTag:()=>ES,getJSDocClassTag:()=>NA,getJSDocCommentRanges:()=>I3,getJSDocCommentsAndTags:()=>r4,getJSDocDeprecatedTag:()=>jA,getJSDocDeprecatedTagNoCache:()=>IS,getJSDocEnumTag:()=>JA,getJSDocHost:()=>s4,getJSDocImplementsTags:()=>wS,getJSDocOverrideTagNoCache:()=>kS,getJSDocParameterTags:()=>of,getJSDocParameterTagsNoCache:()=>bS,getJSDocPrivateTag:()=>MA,getJSDocPrivateTagNoCache:()=>AS,getJSDocProtectedTag:()=>LA,getJSDocProtectedTagNoCache:()=>PS,getJSDocPublicTag:()=>OA,getJSDocPublicTagNoCache:()=>CS,getJSDocReadonlyTag:()=>RA,getJSDocReadonlyTagNoCache:()=>DS,getJSDocReturnTag:()=>NS,getJSDocReturnType:()=>OS,getJSDocRoot:()=>P0,getJSDocSatisfiesExpressionType:()=>NL,getJSDocSatisfiesTag:()=>wy,getJSDocTags:()=>hl,getJSDocTagsNoCache:()=>qA,getJSDocTemplateTag:()=>BA,getJSDocThisTag:()=>FA,getJSDocType:()=>cf,getJSDocTypeAliasName:()=>w2,getJSDocTypeAssertionType:()=>Wj,getJSDocTypeParameterDeclarations:()=>F4,getJSDocTypeParameterTags:()=>SS,getJSDocTypeParameterTagsNoCache:()=>xS,getJSDocTypeTag:()=>_f,getJSXImplicitImportBase:()=>IM,getJSXRuntimeImport:()=>NM,getJSXTransformEnabled:()=>kM,getKeyForCompilerOptions:()=>getKeyForCompilerOptions,getLanguageVariant:()=>sv,getLastChild:()=>mx,getLeadingCommentRanges:()=>Ao,getLeadingCommentRangesOfNode:()=>Ck,getLeftmostAccessExpression:()=>rv,getLeftmostExpression:()=>ZO,getLineAndCharacterOfPosition:()=>Ls,getLineInfo:()=>getLineInfo,getLineOfLocalPosition:()=>FN,getLineOfLocalPositionFromLineMap:()=>ds,getLineStartPositionForPosition:()=>getLineStartPositionForPosition,getLineStarts:()=>ss,getLinesBetweenPositionAndNextNonWhitespaceCharacter:()=>DO,getLinesBetweenPositionAndPrecedingNonWhitespaceCharacter:()=>PO,getLinesBetweenPositions:()=>I_,getLinesBetweenRangeEndAndRangeStart:()=>wO,getLinesBetweenRangeEndPositions:()=>CO,getLiteralText:()=>WD,getLocalNameForExternalImport:()=>Kj,getLocalSymbolForExportDefault:()=>cO,getLocaleSpecificMessage:()=>Y_,getLocaleTimeString:()=>getLocaleTimeString,getMappedContextSpan:()=>getMappedContextSpan,getMappedDocumentSpan:()=>getMappedDocumentSpan,getMappedLocation:()=>getMappedLocation,getMatchedFileSpec:()=>getMatchedFileSpec,getMatchedIncludeSpec:()=>getMatchedIncludeSpec,getMeaningFromDeclaration:()=>getMeaningFromDeclaration,getMeaningFromLocation:()=>getMeaningFromLocation,getMembersOfDeclaration:()=>Ik,getModeForFileReference:()=>getModeForFileReference,getModeForResolutionAtIndex:()=>getModeForResolutionAtIndex,getModeForUsageLocation:()=>getModeForUsageLocation,getModifiedTime:()=>getModifiedTime,getModifiers:()=>sf,getModuleInstanceState:()=>getModuleInstanceState,getModuleNameStringLiteralAt:()=>getModuleNameStringLiteralAt,getModuleSpecifierEndingPreference:()=>VM,getModuleSpecifierResolverHost:()=>getModuleSpecifierResolverHost,getNameForExportedSymbol:()=>getNameForExportedSymbol,getNameFromIndexInfo:()=>_k,getNameFromPropertyName:()=>getNameFromPropertyName,getNameOfAccessExpression:()=>KO,getNameOfCompilerOptionValue:()=>getNameOfCompilerOptionValue,getNameOfDeclaration:()=>ml,getNameOfExpando:()=>xI,getNameOfJSDocTypedef:()=>gS,getNameOrArgument:()=>$3,getNameTable:()=>uB,getNamesForExportedSymbol:()=>getNamesForExportedSymbol,getNamespaceDeclarationNode:()=>Q3,getNewLineCharacter:()=>ox,getNewLineKind:()=>getNewLineKind,getNewLineOrDefaultFromHost:()=>getNewLineOrDefaultFromHost,getNewTargetContainer:()=>Xk,getNextJSDocCommentLocation:()=>a4,getNodeForGeneratedName:()=>NJ,getNodeId:()=>getNodeId,getNodeKind:()=>getNodeKind,getNodeModifiers:()=>getNodeModifiers,getNodeModulePathParts:()=>wL,getNonAssignedNameOfDeclaration:()=>Ey,getNonAssignmentOperatorForCompoundAssignment:()=>getNonAssignmentOperatorForCompoundAssignment,getNonAugmentationDeclaration:()=>E3,getNonDecoratorTokenPosOfNode:()=>FD,getNormalizedAbsolutePath:()=>as,getNormalizedAbsolutePathWithoutRoot:()=>Q5,getNormalizedPathComponents:()=>$p,getObjectFlags:()=>Bf,getOperator:()=>R0,getOperatorAssociativity:()=>x4,getOperatorPrecedence:()=>E4,getOptionFromName:()=>getOptionFromName,getOptionsNameMap:()=>getOptionsNameMap,getOrCreateEmitNode:()=>getOrCreateEmitNode,getOrCreateExternalHelpersModuleNameIfNeeded:()=>wE,getOrUpdate:()=>la,getOriginalNode:()=>ul,getOriginalNodeId:()=>getOriginalNodeId,getOriginalSourceFile:()=>gN,getOutputDeclarationFileName:()=>getOutputDeclarationFileName,getOutputExtension:()=>getOutputExtension,getOutputFileNames:()=>getOutputFileNames,getOutputPathsFor:()=>getOutputPathsFor,getOutputPathsForBundle:()=>getOutputPathsForBundle,getOwnEmitOutputFilePath:()=>NN,getOwnKeys:()=>ho,getOwnValues:()=>go,getPackageJsonInfo:()=>getPackageJsonInfo,getPackageJsonTypesVersionsPaths:()=>getPackageJsonTypesVersionsPaths,getPackageJsonsVisibleToFile:()=>getPackageJsonsVisibleToFile,getPackageNameFromTypesPackageName:()=>getPackageNameFromTypesPackageName,getPackageScopeForPath:()=>getPackageScopeForPath,getParameterSymbolFromJSDoc:()=>JI,getParameterTypeNode:()=>CL,getParentNodeInSpan:()=>getParentNodeInSpan,getParseTreeNode:()=>fl,getParsedCommandLineOfConfigFile:()=>getParsedCommandLineOfConfigFile,getPathComponents:()=>qi,getPathComponentsRelativeTo:()=>ly,getPathFromPathComponents:()=>xo,getPathUpdater:()=>getPathUpdater,getPathsBasePath:()=>LN,getPatternFromSpec:()=>BM,getPendingEmitKind:()=>getPendingEmitKind,getPositionOfLineAndCharacter:()=>lA,getPossibleGenericSignatures:()=>getPossibleGenericSignatures,getPossibleOriginalInputExtensionForExtension:()=>MN,getPossibleTypeArgumentsInfo:()=>getPossibleTypeArgumentsInfo,getPreEmitDiagnostics:()=>getPreEmitDiagnostics,getPrecedingNonSpaceCharacterPosition:()=>getPrecedingNonSpaceCharacterPosition,getPrivateIdentifier:()=>getPrivateIdentifier,getProperties:()=>getProperties,getProperty:()=>Qc,getPropertyArrayElementValue:()=>qk,getPropertyAssignment:()=>f0,getPropertyAssignmentAliasLikeExpression:()=>ZI,getPropertyNameForPropertyNameNode:()=>Df,getPropertyNameForUniqueESSymbol:()=>_N,getPropertyNameOfBindingOrAssignmentElement:()=>eJ,getPropertySymbolFromBindingElement:()=>getPropertySymbolFromBindingElement,getPropertySymbolsFromContextualType:()=>x7,getQuoteFromPreference:()=>getQuoteFromPreference,getQuotePreference:()=>getQuotePreference,getRangesWhere:()=>Et,getRefactorContextSpan:()=>getRefactorContextSpan,getReferencedFileLocation:()=>getReferencedFileLocation,getRegexFromPattern:()=>Vf,getRegularExpressionForWildcard:()=>Wf,getRegularExpressionsForWildcards:()=>pv,getRelativePathFromDirectory:()=>JT,getRelativePathFromFile:()=>iA,getRelativePathToDirectoryOrUrl:()=>uy,getRenameLocation:()=>getRenameLocation,getReplacementSpanForContextToken:()=>getReplacementSpanForContextToken,getResolutionDiagnostic:()=>getResolutionDiagnostic,getResolutionModeOverrideForClause:()=>getResolutionModeOverrideForClause,getResolveJsonModule:()=>Cx,getResolvePackageJsonExports:()=>SM,getResolvePackageJsonImports:()=>xM,getResolvedExternalModuleName:()=>k4,getResolvedModule:()=>hD,getResolvedTypeReferenceDirective:()=>vD,getRestIndicatorOfBindingOrAssignmentElement:()=>Zj,getRestParameterElementType:()=>kk,getRightMostAssignedExpression:()=>b0,getRootDeclaration:()=>If,getRootLength:()=>Bi,getScriptKind:()=>getScriptKind,getScriptKindFromFileName:()=>Ox,getScriptTargetFeatures:()=>getScriptTargetFeatures,getSelectedEffectiveModifierFlags:()=>G4,getSelectedSyntacticModifierFlags:()=>$4,getSemanticClassifications:()=>getSemanticClassifications,getSemanticJsxChildren:()=>bN,getSetAccessorTypeAnnotationNode:()=>BN,getSetAccessorValueParameter:()=>z0,getSetExternalModuleIndicator:()=>Ex,getShebang:()=>GT,getSingleInitializerOfVariableStatementOrPropertyDeclaration:()=>w0,getSingleVariableOfVariableStatement:()=>Al,getSnapshotText:()=>getSnapshotText,getSnippetElement:()=>getSnippetElement,getSourceFileOfModule:()=>AD,getSourceFileOfNode:()=>Si,getSourceFilePathInNewDir:()=>M4,getSourceFilePathInNewDirWorker:()=>U0,getSourceFileVersionAsHashFromText:()=>getSourceFileVersionAsHashFromText,getSourceFilesToEmit:()=>RN,getSourceMapRange:()=>getSourceMapRange,getSourceMapper:()=>getSourceMapper,getSourceTextOfNodeFromSourceFile:()=>No,getSpanOfTokenAtPosition:()=>n0,getSpellingSuggestion:()=>Ep,getStartPositionOfLine:()=>kD,getStartPositionOfRange:()=>K_,getStartsOnNewLine:()=>getStartsOnNewLine,getStaticPropertiesAndClassStaticBlock:()=>getStaticPropertiesAndClassStaticBlock,getStrictOptionValue:()=>lv,getStringComparer:()=>rl,getSuperCallFromStatement:()=>getSuperCallFromStatement,getSuperContainer:()=>Yk,getSupportedCodeFixes:()=>v7,getSupportedExtensions:()=>Mx,getSupportedExtensionsWithJsonIfResolveJsonModule:()=>Lx,getSwitchedType:()=>getSwitchedType,getSymbolId:()=>getSymbolId,getSymbolNameForPrivateIdentifier:()=>cN,getSymbolTarget:()=>getSymbolTarget,getSyntacticClassifications:()=>getSyntacticClassifications,getSyntacticModifierFlags:()=>X0,getSyntacticModifierFlagsNoCache:()=>Y0,getSynthesizedDeepClone:()=>getSynthesizedDeepClone,getSynthesizedDeepCloneWithReplacements:()=>getSynthesizedDeepCloneWithReplacements,getSynthesizedDeepClones:()=>getSynthesizedDeepClones,getSynthesizedDeepClonesWithReplacements:()=>getSynthesizedDeepClonesWithReplacements,getSyntheticLeadingComments:()=>getSyntheticLeadingComments,getSyntheticTrailingComments:()=>getSyntheticTrailingComments,getTargetLabel:()=>getTargetLabel,getTargetOfBindingOrAssignmentElement:()=>Ko,getTemporaryModuleResolutionState:()=>getTemporaryModuleResolutionState,getTextOfConstantValue:()=>HD,getTextOfIdentifierOrLiteral:()=>kf,getTextOfJSDocComment:()=>zA,getTextOfNode:()=>gf,getTextOfNodeFromSourceText:()=>B_,getTextOfPropertyName:()=>lk,getThisContainer:()=>d0,getThisParameter:()=>j4,getTokenAtPosition:()=>getTokenAtPosition,getTokenPosOfNode:()=>Io,getTokenSourceMapRange:()=>getTokenSourceMapRange,getTouchingPropertyName:()=>getTouchingPropertyName,getTouchingToken:()=>getTouchingToken,getTrailingCommentRanges:()=>HT,getTrailingSemicolonDeferringWriter:()=>kN,getTransformFlagsSubtreeExclusions:()=>w8,getTransformers:()=>getTransformers,getTsBuildInfoEmitOutputFilePath:()=>getTsBuildInfoEmitOutputFilePath,getTsConfigObjectLiteralExpression:()=>M3,getTsConfigPropArray:()=>L3,getTsConfigPropArrayElementValue:()=>Uk,getTypeAnnotationNode:()=>UN,getTypeArgumentOrTypeParameterList:()=>getTypeArgumentOrTypeParameterList,getTypeKeywordOfTypeOnlyImport:()=>getTypeKeywordOfTypeOnlyImport,getTypeNode:()=>getTypeNode,getTypeNodeIfAccessible:()=>getTypeNodeIfAccessible,getTypeParameterFromJsDoc:()=>BI,getTypeParameterOwner:()=>AA,getTypesPackageName:()=>getTypesPackageName,getUILocale:()=>M1,getUniqueName:()=>getUniqueName,getUniqueSymbolId:()=>getUniqueSymbolId,getUseDefineForClassFields:()=>CM,getWatchErrorSummaryDiagnosticMessage:()=>getWatchErrorSummaryDiagnosticMessage,getWatchFactory:()=>getWatchFactory,group:()=>el,groupBy:()=>x_,guessIndentation:()=>rD,handleNoEmitOptions:()=>handleNoEmitOptions,hasAbstractModifier:()=>W4,hasAccessorModifier:()=>H4,hasAmbientModifier:()=>V4,hasChangesInResolutions:()=>wD,hasChildOfKind:()=>hasChildOfKind,hasContextSensitiveParameters:()=>vL,hasDecorators:()=>Il,hasDocComment:()=>hasDocComment,hasDynamicName:()=>v4,hasEffectiveModifier:()=>H0,hasEffectiveModifiers:()=>XN,hasEffectiveReadonlyModifier:()=>$0,hasExtension:()=>OT,hasIndexSignature:()=>hasIndexSignature,hasInitializer:()=>l3,hasInvalidEscape:()=>w4,hasJSDocNodes:()=>ya,hasJSDocParameterTags:()=>IA,hasJSFileExtension:()=>dv,hasJsonModuleEmitEnabled:()=>hM,hasOnlyExpressionInitializer:()=>eD,hasOverrideModifier:()=>QN,hasPossibleExternalModuleReference:()=>sk,hasProperty:()=>Jr,hasPropertyAccessExpressionWithName:()=>hasPropertyAccessExpressionWithName,hasQuestionToken:()=>OI,hasRecordedExternalHelpers:()=>Gj,hasRestParameter:()=>nD,hasScopeMarker:()=>kP,hasStaticModifier:()=>Lf,hasSyntacticModifier:()=>rn,hasSyntacticModifiers:()=>YN,hasTSFileExtension:()=>mv,hasTabstop:()=>Qx,hasTrailingDirectorySeparator:()=>Hp,hasType:()=>ZP,hasTypeArguments:()=>qI,hasZeroOrOneAsteriskCharacter:()=>OM,helperString:()=>helperString,hostGetCanonicalFileName:()=>D4,hostUsesCaseSensitiveFileNames:()=>J0,idText:()=>qr,identifierIsThisKeyword:()=>J4,identifierToKeywordKind:()=>dS,identity:()=>rr,identitySourceMapConsumer:()=>identitySourceMapConsumer,ignoreSourceNewlines:()=>ignoreSourceNewlines,ignoredPaths:()=>ignoredPaths,importDefaultHelper:()=>importDefaultHelper,importFromModuleSpecifier:()=>II,importNameElisionDisabled:()=>gM,importStarHelper:()=>importStarHelper,indexOfAnyCharCode:()=>Je,indexOfNode:()=>UD,indicesOf:()=>Wr,inferredTypesContainingFile:()=>inferredTypesContainingFile,insertImports:()=>insertImports,insertLeadingStatement:()=>Mj,insertSorted:()=>Qn,insertStatementAfterCustomPrologue:()=>RD,insertStatementAfterStandardPrologue:()=>LD,insertStatementsAfterCustomPrologue:()=>MD,insertStatementsAfterStandardPrologue:()=>OD,intersperse:()=>Ie,introducesArgumentsExoticObject:()=>Lk,inverseJsxOptionMap:()=>inverseJsxOptionMap,isAbstractConstructorSymbol:()=>zO,isAbstractModifier:()=>uR,isAccessExpression:()=>Lo,isAccessibilityModifier:()=>isAccessibilityModifier,isAccessor:()=>pf,isAccessorModifier:()=>fR,isAliasSymbolDeclaration:()=>QI,isAliasableExpression:()=>k0,isAmbientModule:()=>yf,isAmbientPropertyDeclaration:()=>rk,isAnonymousFunctionDefinition:()=>H_,isAnyDirectorySeparator:()=>ay,isAnyImportOrBareOrAccessedRequire:()=>ik,isAnyImportOrReExport:()=>bf,isAnyImportSyntax:()=>Qy,isAnySupportedFileExtension:()=>ZM,isApplicableVersionedTypesKey:()=>isApplicableVersionedTypesKey,isArgumentExpressionOfElementAccess:()=>isArgumentExpressionOfElementAccess,isArray:()=>ir,isArrayBindingElement:()=>gP,isArrayBindingOrAssignmentElement:()=>ZS,isArrayBindingOrAssignmentPattern:()=>QS,isArrayBindingPattern:()=>yR,isArrayLiteralExpression:()=>Yl,isArrayLiteralOrObjectLiteralDestructuringPattern:()=>isArrayLiteralOrObjectLiteralDestructuringPattern,isArrayTypeNode:()=>F8,isArrowFunction:()=>sd,isAsExpression:()=>CR,isAssertClause:()=>$R,isAssertEntry:()=>KR,isAssertionExpression:()=>PP,isAssertionKey:()=>oP,isAssertsKeyword:()=>_R,isAssignmentDeclaration:()=>v0,isAssignmentExpression:()=>ms,isAssignmentOperator:()=>G_,isAssignmentPattern:()=>KS,isAssignmentTarget:()=>UI,isAsteriskToken:()=>nR,isAsyncFunction:()=>oN,isAsyncModifier:()=>Ul,isAutoAccessorPropertyDeclaration:()=>$S,isAwaitExpression:()=>SR,isAwaitKeyword:()=>cR,isBigIntLiteral:()=>Uv,isBinaryExpression:()=>ur,isBinaryOperatorToken:()=>AJ,isBindableObjectDefinePropertyCall:()=>S0,isBindableStaticAccessExpression:()=>W_,isBindableStaticElementAccessExpression:()=>x0,isBindableStaticNameExpression:()=>V_,isBindingElement:()=>Xl,isBindingElementOfBareOrAccessedRequire:()=>mI,isBindingName:()=>uP,isBindingOrAssignmentElement:()=>yP,isBindingOrAssignmentPattern:()=>vP,isBindingPattern:()=>df,isBlock:()=>Ql,isBlockOrCatchScoped:()=>$D,isBlockScope:()=>w3,isBlockScopedContainerTopLevel:()=>ZD,isBooleanLiteral:()=>pP,isBreakOrContinueStatement:()=>YA,isBreakStatement:()=>JR,isBuildInfoFile:()=>isBuildInfoFile,isBuilderProgram:()=>isBuilderProgram2,isBundle:()=>cj,isBundleFileTextLike:()=>XO,isCallChain:()=>Cy,isCallExpression:()=>sc,isCallExpressionTarget:()=>isCallExpressionTarget,isCallLikeExpression:()=>SP,isCallOrNewExpression:()=>xP,isCallOrNewExpressionTarget:()=>isCallOrNewExpressionTarget,isCallSignatureDeclaration:()=>Vv,isCallToHelper:()=>isCallToHelper,isCaseBlock:()=>VR,isCaseClause:()=>sj,isCaseKeyword:()=>dR,isCaseOrDefaultClause:()=>QP,isCatchClause:()=>oj,isCatchClauseVariableDeclaration:()=>Gx,isCatchClauseVariableDeclarationOrBindingElement:()=>T3,isCheckJsEnabledForFile:()=>eL,isChildOfNodeWithKind:()=>Ak,isCircularBuildOrder:()=>isCircularBuildOrder,isClassDeclaration:()=>_c,isClassElement:()=>Js,isClassExpression:()=>_d,isClassLike:()=>bi,isClassMemberModifier:()=>VS,isClassOrTypeElement:()=>mP,isClassStaticBlockDeclaration:()=>Hl,isCollapsedRange:()=>vO,isColonToken:()=>iR,isCommaExpression:()=>gd,isCommaListExpression:()=>oc,isCommaSequence:()=>zj,isCommaToken:()=>I8,isComment:()=>isComment,isCommonJsExportPropertyAssignment:()=>p0,isCommonJsExportedExpression:()=>Ok,isCompoundAssignment:()=>isCompoundAssignment,isComputedNonLiteralName:()=>ck,isComputedPropertyName:()=>Ws,isConciseBody:()=>MP,isConditionalExpression:()=>xR,isConditionalTypeNode:()=>V8,isConstTypeReference:()=>jS,isConstructSignatureDeclaration:()=>R8,isConstructorDeclaration:()=>nc,isConstructorTypeNode:()=>Gv,isContextualKeyword:()=>N0,isContinueStatement:()=>jR,isCustomPrologue:()=>Tf,isDebuggerStatement:()=>WR,isDeclaration:()=>ko,isDeclarationBindingElement:()=>Fy,isDeclarationFileName:()=>QE,isDeclarationName:()=>c4,isDeclarationNameOfEnumOrNamespace:()=>IO,isDeclarationReadonly:()=>Sk,isDeclarationStatement:()=>VP,isDeclarationWithTypeParameterChildren:()=>C3,isDeclarationWithTypeParameters:()=>nk,isDecorator:()=>zl,isDecoratorTarget:()=>isDecoratorTarget,isDefaultClause:()=>oE,isDefaultImport:()=>Z3,isDefaultModifier:()=>oR,isDefaultedExpandoInitializer:()=>SI,isDeleteExpression:()=>bR,isDeleteTarget:()=>$I,isDeprecatedDeclaration:()=>isDeprecatedDeclaration,isDestructuringAssignment:()=>nO,isDiagnosticWithLocation:()=>isDiagnosticWithLocation,isDiskPathRoot:()=>H5,isDoStatement:()=>OR,isDotDotDotToken:()=>rR,isDottedName:()=>ev,isDynamicName:()=>M0,isESSymbolIdentifier:()=>pN,isEffectiveExternalModule:()=>Yy,isEffectiveModuleDeclaration:()=>S3,isEffectiveStrictModeSourceFile:()=>tk,isElementAccessChain:()=>RS,isElementAccessExpression:()=>gs,isEmittedFileOfProgram:()=>isEmittedFileOfProgram,isEmptyArrayLiteral:()=>_O,isEmptyBindingElement:()=>pS,isEmptyBindingPattern:()=>uS,isEmptyObjectLiteral:()=>oO,isEmptyStatement:()=>IR,isEmptyStringLiteral:()=>j3,isEndOfDeclarationMarker:()=>ej,isEntityName:()=>lP,isEntityNameExpression:()=>Bs,isEnumConst:()=>Tk,isEnumDeclaration:()=>i2,isEnumMember:()=>cE,isEqualityOperatorKind:()=>isEqualityOperatorKind,isEqualsGreaterThanToken:()=>sR,isExclamationToken:()=>rd,isExcludedFile:()=>isExcludedFile,isExclusivelyTypeOnlyImportOrExport:()=>isExclusivelyTypeOnlyImportOrExport,isExportAssignment:()=>Vo,isExportDeclaration:()=>cc,isExportModifier:()=>N8,isExportName:()=>Uj,isExportNamespaceAsDefaultDeclaration:()=>b3,isExportOrDefaultModifier:()=>DJ,isExportSpecifier:()=>aE,isExportsIdentifier:()=>H3,isExportsOrModuleExportsOrAlias:()=>isExportsOrModuleExportsOrAlias,isExpression:()=>mf,isExpressionNode:()=>g0,isExpressionOfExternalModuleImportEqualsDeclaration:()=>isExpressionOfExternalModuleImportEqualsDeclaration,isExpressionOfOptionalChainRoot:()=>$A,isExpressionStatement:()=>Zl,isExpressionWithTypeArguments:()=>e2,isExpressionWithTypeArgumentsInClassExtendsClause:()=>Z0,isExternalModule:()=>Qo,isExternalModuleAugmentation:()=>Xy,isExternalModuleImportEqualsDeclaration:()=>B3,isExternalModuleIndicator:()=>NP,isExternalModuleNameRelative:()=>gA,isExternalModuleReference:()=>ud,isExternalModuleSymbol:()=>isExternalModuleSymbol,isExternalOrCommonJsModule:()=>bk,isFileLevelUniqueName:()=>m3,isFileProbablyExternalModule:()=>ou,isFirstDeclarationOfSymbolParameter:()=>isFirstDeclarationOfSymbolParameter,isFixablePromiseHandler:()=>isFixablePromiseHandler,isForInOrOfStatement:()=>OP,isForInStatement:()=>LR,isForInitializer:()=>RP,isForOfStatement:()=>RR,isForStatement:()=>eE,isFunctionBlock:()=>O3,isFunctionBody:()=>LP,isFunctionDeclaration:()=>Wo,isFunctionExpression:()=>ad,isFunctionExpressionOrArrowFunction:()=>SL,isFunctionLike:()=>ga,isFunctionLikeDeclaration:()=>HS,isFunctionLikeKind:()=>My,isFunctionLikeOrClassStaticBlockDeclaration:()=>uf,isFunctionOrConstructorTypeNode:()=>hP,isFunctionOrModuleBlock:()=>fP,isFunctionSymbol:()=>DI,isFunctionTypeNode:()=>$l,isFutureReservedKeyword:()=>tN,isGeneratedIdentifier:()=>cs,isGeneratedPrivateIdentifier:()=>Ny,isGetAccessor:()=>Tl,isGetAccessorDeclaration:()=>Gl,isGetOrSetAccessorDeclaration:()=>GA,isGlobalDeclaration:()=>isGlobalDeclaration,isGlobalScopeAugmentation:()=>vf,isGrammarError:()=>ND,isHeritageClause:()=>ru,isHoistedFunction:()=>_0,isHoistedVariableStatement:()=>c0,isIdentifier:()=>yt,isIdentifierANonContextualKeyword:()=>iN,isIdentifierName:()=>YI,isIdentifierOrThisTypeNode:()=>aJ,isIdentifierPart:()=>Rs,isIdentifierStart:()=>Wn,isIdentifierText:()=>vy,isIdentifierTypePredicate:()=>Fk,isIdentifierTypeReference:()=>pL,isIfStatement:()=>NR,isIgnoredFileFromWildCardWatching:()=>isIgnoredFileFromWildCardWatching,isImplicitGlob:()=>Dx,isImportCall:()=>s0,isImportClause:()=>HR,isImportDeclaration:()=>o2,isImportEqualsDeclaration:()=>s2,isImportKeyword:()=>M8,isImportMeta:()=>o0,isImportOrExportSpecifier:()=>aP,isImportOrExportSpecifierName:()=>isImportOrExportSpecifierName,isImportSpecifier:()=>nE,isImportTypeAssertionContainer:()=>GR,isImportTypeNode:()=>Kl,isImportableFile:()=>isImportableFile,isInComment:()=>isInComment,isInExpressionContext:()=>J3,isInJSDoc:()=>q3,isInJSFile:()=>Pr,isInJSXText:()=>isInJSXText,isInJsonFile:()=>pI,isInNonReferenceComment:()=>isInNonReferenceComment,isInReferenceComment:()=>isInReferenceComment,isInRightSideOfInternalImportEqualsDeclaration:()=>isInRightSideOfInternalImportEqualsDeclaration,isInString:()=>isInString,isInTemplateString:()=>isInTemplateString,isInTopLevelContext:()=>Kk,isIncrementalCompilation:()=>wM,isIndexSignatureDeclaration:()=>Hv,isIndexedAccessTypeNode:()=>$8,isInferTypeNode:()=>H8,isInfinityOrNaNString:()=>bL,isInitializedProperty:()=>isInitializedProperty,isInitializedVariable:()=>lx,isInsideJsxElement:()=>isInsideJsxElement,isInsideJsxElementOrAttribute:()=>isInsideJsxElementOrAttribute,isInsideNodeModules:()=>isInsideNodeModules,isInsideTemplateLiteral:()=>isInsideTemplateLiteral,isInstantiatedModule:()=>isInstantiatedModule,isInterfaceDeclaration:()=>eu,isInternalDeclaration:()=>isInternalDeclaration,isInternalModuleImportEqualsDeclaration:()=>lI,isInternalName:()=>qj,isIntersectionTypeNode:()=>W8,isIntrinsicJsxName:()=>P4,isIterationStatement:()=>n3,isJSDoc:()=>Ho,isJSDocAllType:()=>dj,isJSDocAugmentsTag:()=>md,isJSDocAuthorTag:()=>bj,isJSDocCallbackTag:()=>Tj,isJSDocClassTag:()=>pE,isJSDocCommentContainingNode:()=>c3,isJSDocConstructSignature:()=>MI,isJSDocDeprecatedTag:()=>v2,isJSDocEnumTag:()=>dE,isJSDocFunctionType:()=>dd,isJSDocImplementsTag:()=>hE,isJSDocIndexSignature:()=>dI,isJSDocLikeText:()=>LE,isJSDocLink:()=>uj,isJSDocLinkCode:()=>pj,isJSDocLinkLike:()=>Sl,isJSDocLinkPlain:()=>fj,isJSDocMemberName:()=>uc,isJSDocNameReference:()=>fd,isJSDocNamepathType:()=>vj,isJSDocNamespaceBody:()=>FP,isJSDocNode:()=>Uy,isJSDocNonNullableType:()=>hj,isJSDocNullableType:()=>uE,isJSDocOptionalParameter:()=>Zx,isJSDocOptionalType:()=>gj,isJSDocOverloadTag:()=>y2,isJSDocOverrideTag:()=>fE,isJSDocParameterTag:()=>pc,isJSDocPrivateTag:()=>m2,isJSDocPropertyLikeTag:()=>Dy,isJSDocPropertyTag:()=>wj,isJSDocProtectedTag:()=>h2,isJSDocPublicTag:()=>d2,isJSDocReadonlyTag:()=>g2,isJSDocReturnTag:()=>b2,isJSDocSatisfiesExpression:()=>IL,isJSDocSatisfiesTag:()=>T2,isJSDocSeeTag:()=>Sj,isJSDocSignature:()=>iu,isJSDocTag:()=>zy,isJSDocTemplateTag:()=>Go,isJSDocThisTag:()=>mE,isJSDocThrowsTag:()=>Cj,isJSDocTypeAlias:()=>Cl,isJSDocTypeAssertion:()=>xE,isJSDocTypeExpression:()=>lE,isJSDocTypeLiteral:()=>f2,isJSDocTypeTag:()=>au,isJSDocTypedefTag:()=>xj,isJSDocUnknownTag:()=>Ej,isJSDocUnknownType:()=>mj,isJSDocVariadicType:()=>yj,isJSXTagName:()=>xf,isJsonEqual:()=>gv,isJsonSourceFile:()=>a0,isJsxAttribute:()=>nj,isJsxAttributeLike:()=>XP,isJsxAttributes:()=>p2,isJsxChild:()=>o3,isJsxClosingElement:()=>sE,isJsxClosingFragment:()=>rj,isJsxElement:()=>l2,isJsxExpression:()=>aj,isJsxFragment:()=>pd,isJsxOpeningElement:()=>tu,isJsxOpeningFragment:()=>u2,isJsxOpeningLikeElement:()=>_3,isJsxOpeningLikeElementTagName:()=>isJsxOpeningLikeElementTagName,isJsxSelfClosingElement:()=>tj,isJsxSpreadAttribute:()=>ij,isJsxTagNameExpression:()=>KP,isJsxText:()=>td,isJumpStatementTarget:()=>isJumpStatementTarget,isKeyword:()=>ba,isKnownSymbol:()=>lN,isLabelName:()=>isLabelName,isLabelOfLabeledStatement:()=>isLabelOfLabeledStatement,isLabeledStatement:()=>tE,isLateVisibilityPaintedStatement:()=>ak,isLeftHandSideExpression:()=>Do,isLeftHandSideOfAssignment:()=>rO,isLet:()=>xk,isLineBreak:()=>un,isLiteralComputedPropertyDeclarationName:()=>l4,isLiteralExpression:()=>Iy,isLiteralExpressionOfObject:()=>rP,isLiteralImportTypeNode:()=>k3,isLiteralKind:()=>ky,isLiteralLikeAccess:()=>wf,isLiteralLikeElementAccess:()=>wl,isLiteralNameOfPropertyDeclarationOrIndexAccess:()=>isLiteralNameOfPropertyDeclarationOrIndexAccess,isLiteralTypeLikeExpression:()=>cJ,isLiteralTypeLiteral:()=>CP,isLiteralTypeNode:()=>Yv,isLocalName:()=>E2,isLogicalOperator:()=>ZN,isLogicalOrCoalescingAssignmentExpression:()=>eO,isLogicalOrCoalescingAssignmentOperator:()=>jf,isLogicalOrCoalescingBinaryExpression:()=>tO,isLogicalOrCoalescingBinaryOperator:()=>Z4,isMappedTypeNode:()=>K8,isMemberName:()=>js,isMergeDeclarationMarker:()=>ZR,isMetaProperty:()=>t2,isMethodDeclaration:()=>Vl,isMethodOrAccessor:()=>Ly,isMethodSignature:()=>L8,isMinusToken:()=>Wv,isMissingDeclaration:()=>YR,isModifier:()=>Oy,isModifierKind:()=>Wi,isModifierLike:()=>ff,isModuleAugmentationExternal:()=>x3,isModuleBlock:()=>rE,isModuleBody:()=>jP,isModuleDeclaration:()=>Ea,isModuleExportsAccessExpression:()=>T0,isModuleIdentifier:()=>G3,isModuleName:()=>_J,isModuleOrEnumDeclaration:()=>qP,isModuleReference:()=>$P,isModuleSpecifierLike:()=>isModuleSpecifierLike,isModuleWithStringLiteralName:()=>KD,isNameOfFunctionDeclaration:()=>isNameOfFunctionDeclaration,isNameOfModuleDeclaration:()=>isNameOfModuleDeclaration,isNamedClassElement:()=>dP,isNamedDeclaration:()=>af,isNamedEvaluation:()=>fN,isNamedEvaluationSource:()=>S4,isNamedExportBindings:()=>QA,isNamedExports:()=>iE,isNamedImportBindings:()=>BP,isNamedImports:()=>XR,isNamedImportsOrExports:()=>YO,isNamedTupleMember:()=>$v,isNamespaceBody:()=>JP,isNamespaceExport:()=>ld,isNamespaceExportDeclaration:()=>a2,isNamespaceImport:()=>_2,isNamespaceReexportDeclaration:()=>oI,isNewExpression:()=>X8,isNewExpressionTarget:()=>isNewExpressionTarget,isNightly:()=>PN,isNoSubstitutionTemplateLiteral:()=>k8,isNode:()=>eP,isNodeArray:()=>_s,isNodeArrayMultiLine:()=>AO,isNodeDescendantOf:()=>KI,isNodeKind:()=>gl,isNodeLikeSystem:()=>M5,isNodeModulesDirectory:()=>aA,isNodeWithPossibleHoistedDeclaration:()=>zI,isNonContextualKeyword:()=>y4,isNonExportDefaultModifier:()=>kJ,isNonGlobalAmbientModule:()=>XD,isNonGlobalDeclaration:()=>isNonGlobalDeclaration,isNonNullAccess:()=>kL,isNonNullChain:()=>JS,isNonNullExpression:()=>Uo,isNonStaticMethodOrAccessorWithPrivateName:()=>isNonStaticMethodOrAccessorWithPrivateName,isNotEmittedOrPartiallyEmittedNode:()=>DP,isNotEmittedStatement:()=>c2,isNullishCoalesce:()=>XA,isNumber:()=>gi,isNumericLiteral:()=>zs,isNumericLiteralName:()=>$x,isObjectBindingElementWithoutPropertyName:()=>isObjectBindingElementWithoutPropertyName,isObjectBindingOrAssignmentElement:()=>YS,isObjectBindingOrAssignmentPattern:()=>XS,isObjectBindingPattern:()=>gR,isObjectLiteralElement:()=>Wy,isObjectLiteralElementLike:()=>jy,isObjectLiteralExpression:()=>Hs,isObjectLiteralMethod:()=>jk,isObjectLiteralOrClassExpressionMethodOrAccessor:()=>Jk,isObjectTypeDeclaration:()=>$O,isOctalDigit:()=>hy,isOmittedExpression:()=>cd,isOptionalChain:()=>Ay,isOptionalChainRoot:()=>Py,isOptionalDeclaration:()=>DL,isOptionalJSDocPropertyLikeTag:()=>Yx,isOptionalTypeNode:()=>q8,isOuterExpression:()=>yd,isOutermostOptionalChain:()=>KA,isOverrideModifier:()=>pR,isPackedArrayLiteral:()=>hL,isParameter:()=>Vs,isParameterDeclaration:()=>mN,isParameterOrCatchClauseVariable:()=>TL,isParameterPropertyDeclaration:()=>lS,isParameterPropertyModifier:()=>WS,isParenthesizedExpression:()=>qo,isParenthesizedTypeNode:()=>Kv,isParseTreeNode:()=>pl,isPartOfTypeNode:()=>l0,isPartOfTypeQuery:()=>F3,isPartiallyEmittedExpression:()=>Z8,isPatternMatch:()=>z1,isPinnedComment:()=>v3,isPlainJsFile:()=>PD,isPlusToken:()=>zv,isPossiblyTypeArgumentPosition:()=>isPossiblyTypeArgumentPosition,isPostfixUnaryExpression:()=>Q8,isPrefixUnaryExpression:()=>od,isPrivateIdentifier:()=>vn,isPrivateIdentifierClassElementDeclaration:()=>zS,isPrivateIdentifierPropertyAccessExpression:()=>cP,isPrivateIdentifierSymbol:()=>uN,isProgramBundleEmitBuildInfo:()=>isProgramBundleEmitBuildInfo,isProgramUptoDate:()=>isProgramUptoDate,isPrologueDirective:()=>us,isPropertyAccessChain:()=>LS,isPropertyAccessEntityNameExpression:()=>rx,isPropertyAccessExpression:()=>bn,isPropertyAccessOrQualifiedName:()=>TP,isPropertyAccessOrQualifiedNameOrImportTypeNode:()=>bP,isPropertyAssignment:()=>lc,isPropertyDeclaration:()=>Bo,isPropertyName:()=>vl,isPropertyNameLiteral:()=>L0,isPropertySignature:()=>Wl,isProtoSetter:()=>T4,isPrototypeAccess:()=>Nl,isPrototypePropertyAssignment:()=>CI,isPunctuation:()=>isPunctuation,isPushOrUnshiftIdentifier:()=>dN,isQualifiedName:()=>rc,isQuestionDotToken:()=>aR,isQuestionOrExclamationToken:()=>iJ,isQuestionOrPlusOrMinusToken:()=>oJ,isQuestionToken:()=>ql,isRawSourceMap:()=>isRawSourceMap,isReadonlyKeyword:()=>O8,isReadonlyKeywordOrPlusOrMinusToken:()=>sJ,isRecognizedTripleSlashComment:()=>jD,isReferenceFileLocation:()=>isReferenceFileLocation,isReferencedFile:()=>isReferencedFile,isRegularExpressionLiteral:()=>QL,isRequireCall:()=>El,isRequireVariableStatement:()=>W3,isRestParameter:()=>u3,isRestTypeNode:()=>U8,isReturnStatement:()=>FR,isReturnStatementWithFixablePromiseHandler:()=>isReturnStatementWithFixablePromiseHandler,isRightSideOfAccessExpression:()=>nx,isRightSideOfPropertyAccess:()=>isRightSideOfPropertyAccess,isRightSideOfQualifiedName:()=>isRightSideOfQualifiedName,isRightSideOfQualifiedNameOrPropertyAccess:()=>aO,isRightSideOfQualifiedNameOrPropertyAccessOrJSDocMemberName:()=>sO,isRootedDiskPath:()=>A_,isSameEntityName:()=>z_,isSatisfiesExpression:()=>AR,isScopeMarker:()=>i3,isSemicolonClassElement:()=>kR,isSetAccessor:()=>bl,isSetAccessorDeclaration:()=>ic,isShebangTrivia:()=>gy,isShorthandAmbientModuleSymbol:()=>YD,isShorthandPropertyAssignment:()=>nu,isSignedNumericLiteral:()=>O0,isSimpleCopiableExpression:()=>isSimpleCopiableExpression,isSimpleInlineableExpression:()=>isSimpleInlineableExpression,isSingleOrDoubleQuote:()=>hI,isSourceFile:()=>wi,isSourceFileFromLibrary:()=>isSourceFileFromLibrary,isSourceFileJS:()=>y0,isSourceFileNotJS:()=>uI,isSourceFileNotJson:()=>fI,isSourceMapping:()=>isSourceMapping,isSpecialPropertyDeclaration:()=>AI,isSpreadAssignment:()=>_E,isSpreadElement:()=>Zv,isStatement:()=>a3,isStatementButNotDeclaration:()=>HP,isStatementOrBlock:()=>s3,isStatementWithLocals:()=>DD,isStatic:()=>G0,isStaticModifier:()=>lR,isString:()=>Ji,isStringAKeyword:()=>nN,isStringANonContextualKeyword:()=>rN,isStringAndEmptyAnonymousObjectIntersection:()=>isStringAndEmptyAnonymousObjectIntersection,isStringDoubleQuoted:()=>gI,isStringLiteral:()=>Gn,isStringLiteralLike:()=>Ti,isStringLiteralOrJsxExpression:()=>YP,isStringLiteralOrTemplate:()=>isStringLiteralOrTemplate,isStringOrNumericLiteralLike:()=>Ta,isStringOrRegularExpressionOrTemplateLiteral:()=>isStringOrRegularExpressionOrTemplateLiteral,isStringTextContainingNode:()=>_P,isSuperCall:()=>Ek,isSuperKeyword:()=>nd,isSuperOrSuperProperty:()=>Zk,isSuperProperty:()=>Sf,isSupportedSourceFileName:()=>GM,isSwitchStatement:()=>qR,isSyntaxList:()=>Aj,isSyntheticExpression:()=>PR,isSyntheticReference:()=>QR,isTagName:()=>isTagName,isTaggedTemplateExpression:()=>Y8,isTaggedTemplateTag:()=>isTaggedTemplateTag,isTemplateExpression:()=>ER,isTemplateHead:()=>ZL,isTemplateLiteral:()=>EP,isTemplateLiteralKind:()=>yl,isTemplateLiteralToken:()=>nP,isTemplateLiteralTypeNode:()=>hR,isTemplateLiteralTypeSpan:()=>mR,isTemplateMiddle:()=>eR,isTemplateMiddleOrTemplateTail:()=>iP,isTemplateSpan:()=>DR,isTemplateTail:()=>tR,isTextWhiteSpaceLike:()=>isTextWhiteSpaceLike,isThis:()=>isThis,isThisContainerOrFunctionBlock:()=>$k,isThisIdentifier:()=>Mf,isThisInTypeQuery:()=>qN,isThisInitializedDeclaration:()=>tI,isThisInitializedObjectBindingExpression:()=>rI,isThisProperty:()=>eI,isThisTypeNode:()=>Xv,isThisTypeParameter:()=>Kx,isThisTypePredicate:()=>Bk,isThrowStatement:()=>UR,isToken:()=>tP,isTokenKind:()=>BS,isTraceEnabled:()=>isTraceEnabled,isTransientSymbol:()=>$y,isTrivia:()=>aN,isTryStatement:()=>zR,isTupleTypeNode:()=>B8,isTypeAlias:()=>LI,isTypeAliasDeclaration:()=>n2,isTypeAssertionExpression:()=>vR,isTypeDeclaration:()=>Xx,isTypeElement:()=>Ry,isTypeKeyword:()=>isTypeKeyword,isTypeKeywordToken:()=>isTypeKeywordToken,isTypeKeywordTokenOrIdentifier:()=>isTypeKeywordTokenOrIdentifier,isTypeLiteralNode:()=>id,isTypeNode:()=>Jy,isTypeNodeKind:()=>hx,isTypeOfExpression:()=>TR,isTypeOnlyExportDeclaration:()=>US,isTypeOnlyImportDeclaration:()=>qS,isTypeOnlyImportOrExportDeclaration:()=>sP,isTypeOperatorNode:()=>G8,isTypeParameterDeclaration:()=>Fo,isTypePredicateNode:()=>j8,isTypeQueryNode:()=>J8,isTypeReferenceNode:()=>ac,isTypeReferenceType:()=>tD,isUMDExportSymbol:()=>VO,isUnaryExpression:()=>t3,isUnaryExpressionWithWrite:()=>wP,isUnicodeIdentifierStart:()=>UT,isUnionTypeNode:()=>z8,isUnparsedNode:()=>ZA,isUnparsedPrepend:()=>_j,isUnparsedSource:()=>lj,isUnparsedTextLike:()=>FS,isUrl:()=>V5,isValidBigIntString:()=>zx,isValidESSymbolDeclaration:()=>Mk,isValidTypeOnlyAliasUseSite:()=>_L,isValueSignatureDeclaration:()=>WI,isVarConst:()=>D3,isVariableDeclaration:()=>Vi,isVariableDeclarationInVariableStatement:()=>N3,isVariableDeclarationInitializedToBareOrAccessedRequire:()=>Ef,isVariableDeclarationInitializedToRequire:()=>U3,isVariableDeclarationList:()=>r2,isVariableLike:()=>u0,isVariableLikeOrAccessor:()=>Nk,isVariableStatement:()=>zo,isVoidExpression:()=>Qv,isWatchSet:()=>OO,isWhileStatement:()=>MR,isWhiteSpaceLike:()=>os,isWhiteSpaceSingleLine:()=>N_,isWithStatement:()=>BR,isWriteAccess:()=>FO,isWriteOnlyAccess:()=>JO,isYieldExpression:()=>wR,jsxModeNeedsExplicitImport:()=>jsxModeNeedsExplicitImport,keywordPart:()=>keywordPart,last:()=>Zn,lastOrUndefined:()=>Cn,length:()=>I,libMap:()=>libMap,libs:()=>libs,lineBreakPart:()=>lineBreakPart,linkNamePart:()=>linkNamePart,linkPart:()=>linkPart,linkTextPart:()=>linkTextPart,listFiles:()=>listFiles,loadModuleFromGlobalCache:()=>loadModuleFromGlobalCache,loadWithModeAwareCache:()=>loadWithModeAwareCache,makeIdentifierFromModuleName:()=>GD,makeImport:()=>makeImport,makeImportIfNecessary:()=>makeImportIfNecessary,makeStringLiteral:()=>makeStringLiteral,mangleScopedPackageName:()=>mangleScopedPackageName,map:()=>Ze,mapAllOrFail:()=>Pt,mapDefined:()=>qt,mapDefinedEntries:()=>Ri,mapDefinedIterator:()=>Zr,mapEntries:()=>be,mapIterator:()=>st,mapOneOrMany:()=>mapOneOrMany,mapToDisplayParts:()=>mapToDisplayParts,matchFiles:()=>qM,matchPatternOrExact:()=>tL,matchedText:()=>S5,matchesExclude:()=>matchesExclude,maybeBind:()=>le,maybeSetLocalizedDiagnosticMessages:()=>vx,memoize:()=>tl,memoizeCached:()=>D1,memoizeOne:()=>An,memoizeWeak:()=>P1,metadataHelper:()=>metadataHelper,min:()=>N1,minAndMax:()=>nL,missingFileModifiedTime:()=>missingFileModifiedTime,modifierToFlag:()=>Q0,modifiersToFlags:()=>Vn,moduleOptionDeclaration:()=>moduleOptionDeclaration,moduleResolutionIsEqualTo:()=>TD,moduleResolutionNameAndModeGetter:()=>moduleResolutionNameAndModeGetter,moduleResolutionOptionDeclarations:()=>moduleResolutionOptionDeclarations,moduleResolutionSupportsPackageJsonExportsAndImports:()=>_v,moduleResolutionUsesNodeModules:()=>moduleResolutionUsesNodeModules,moduleSpecifiers:()=>ts_moduleSpecifiers_exports,moveEmitHelpers:()=>moveEmitHelpers,moveRangeEnd:()=>gO,moveRangePastDecorators:()=>_x,moveRangePastModifiers:()=>yO,moveRangePos:()=>Ff,moveSyntheticComments:()=>moveSyntheticComments,mutateMap:()=>UO,mutateMapSkippingNewValues:()=>fx,needsParentheses:()=>needsParentheses,needsScopeMarker:()=>IP,newCaseClauseTracker:()=>newCaseClauseTracker,newPrivateEnvironment:()=>newPrivateEnvironment,noEmitNotification:()=>noEmitNotification,noEmitSubstitution:()=>noEmitSubstitution,noTransformers:()=>noTransformers,noTruncationMaximumTruncationLength:()=>n8,nodeCanBeDecorated:()=>R3,nodeHasName:()=>hS,nodeIsDecorated:()=>q_,nodeIsMissing:()=>va,nodeIsPresent:()=>xl,nodeIsSynthesized:()=>fs,nodeModuleNameResolver:()=>nodeModuleNameResolver,nodeModulesPathPart:()=>nodeModulesPathPart,nodeNextJsonConfigResolver:()=>nodeNextJsonConfigResolver,nodeOrChildIsDecorated:()=>m0,nodeOverlapsWithStartEnd:()=>nodeOverlapsWithStartEnd,nodePosToString:()=>ID,nodeSeenTracker:()=>nodeSeenTracker,nodeStartsNewLexicalEnvironment:()=>hN,nodeToDisplayParts:()=>nodeToDisplayParts,noop:()=>yn,noopFileWatcher:()=>noopFileWatcher,noopPush:()=>CT,normalizePath:()=>Un,normalizeSlashes:()=>Eo,not:()=>w5,notImplemented:()=>A1,notImplementedResolver:()=>notImplementedResolver,nullNodeConverters:()=>nullNodeConverters,nullParenthesizerRules:()=>Jv,nullTransformationContext:()=>nullTransformationContext,objectAllocator:()=>lr,operatorPart:()=>operatorPart,optionDeclarations:()=>optionDeclarations,optionMapToObject:()=>optionMapToObject,optionsAffectingProgramStructure:()=>optionsAffectingProgramStructure,optionsForBuild:()=>optionsForBuild,optionsForWatch:()=>optionsForWatch,optionsHaveChanges:()=>J_,optionsHaveModuleResolutionChanges:()=>p3,or:()=>W1,orderedRemoveItem:()=>J,orderedRemoveItemAt:()=>vT,outFile:()=>B0,packageIdToPackageName:()=>f3,packageIdToString:()=>xD,padLeft:()=>D5,padRight:()=>k5,paramHelper:()=>paramHelper,parameterIsThisKeyword:()=>kl,parameterNamePart:()=>parameterNamePart,parseBaseNodeFactory:()=>I2,parseBigInt:()=>oL,parseBuildCommand:()=>parseBuildCommand,parseCommandLine:()=>parseCommandLine,parseCommandLineWorker:()=>parseCommandLineWorker,parseConfigFileTextToJson:()=>parseConfigFileTextToJson,parseConfigFileWithSystem:()=>parseConfigFileWithSystem,parseConfigHostFromCompilerHostLike:()=>parseConfigHostFromCompilerHostLike,parseCustomTypeOption:()=>parseCustomTypeOption,parseIsolatedEntityName:()=>$J,parseIsolatedJSDocComment:()=>XJ,parseJSDocTypeExpressionForTests:()=>YJ,parseJsonConfigFileContent:()=>parseJsonConfigFileContent,parseJsonSourceFileConfigFileContent:()=>parseJsonSourceFileConfigFileContent,parseJsonText:()=>KJ,parseListTypeOption:()=>parseListTypeOption,parseNodeFactory:()=>dc,parseNodeModuleFromPath:()=>parseNodeModuleFromPath,parsePackageName:()=>parsePackageName,parsePseudoBigInt:()=>Hf,parseValidBigInt:()=>Ux,patchWriteFileEnsuringDirectory:()=>patchWriteFileEnsuringDirectory,pathContainsNodeModules:()=>pathContainsNodeModules,pathIsAbsolute:()=>sy,pathIsBareSpecifier:()=>G5,pathIsRelative:()=>So,patternText:()=>T5,perfLogger:()=>Dp,performIncrementalCompilation:()=>performIncrementalCompilation,performance:()=>ts_performance_exports,plainJSErrors:()=>plainJSErrors,positionBelongsToNode:()=>positionBelongsToNode,positionIsASICandidate:()=>positionIsASICandidate,positionIsSynthesized:()=>hs,positionsAreOnSameLine:()=>$_,preProcessFile:()=>preProcessFile,probablyUsesSemicolons:()=>probablyUsesSemicolons,processCommentPragmas:()=>ZE,processPragmasIntoFields:()=>e7,processTaggedTemplateExpression:()=>processTaggedTemplateExpression,programContainsEsModules:()=>programContainsEsModules,programContainsModules:()=>programContainsModules,projectReferenceIsEqualTo:()=>bD,propKeyHelper:()=>propKeyHelper,propertyNamePart:()=>propertyNamePart,pseudoBigIntToString:()=>yv,punctuationPart:()=>punctuationPart,pushIfUnique:()=>qn,quote:()=>quote,quotePreferenceFromString:()=>quotePreferenceFromString,rangeContainsPosition:()=>rangeContainsPosition,rangeContainsPositionExclusive:()=>rangeContainsPositionExclusive,rangeContainsRange:()=>rangeContainsRange,rangeContainsRangeExclusive:()=>rangeContainsRangeExclusive,rangeContainsStartEnd:()=>rangeContainsStartEnd,rangeEndIsOnSameLineAsRangeStart:()=>EO,rangeEndPositionsAreOnSameLine:()=>xO,rangeEquals:()=>Kc,rangeIsOnSingleLine:()=>TO,rangeOfNode:()=>iL,rangeOfTypeParameters:()=>aL,rangeOverlapsWithStartEnd:()=>rangeOverlapsWithStartEnd,rangeStartIsOnSameLineAsRangeEnd:()=>cx,rangeStartPositionsAreOnSameLine:()=>SO,readBuilderProgram:()=>readBuilderProgram,readConfigFile:()=>readConfigFile,readHelper:()=>readHelper,readJson:()=>hO,readJsonConfigFile:()=>readJsonConfigFile,readJsonOrUndefined:()=>ax,realizeDiagnostics:()=>realizeDiagnostics,reduceEachLeadingCommentRange:()=>zT,reduceEachTrailingCommentRange:()=>WT,reduceLeft:()=>Qa,reduceLeftIterator:()=>K,reducePathComponents:()=>is,refactor:()=>ts_refactor_exports,regExpEscape:()=>JM,relativeComplement:()=>h_,removeAllComments:()=>removeAllComments,removeEmitHelper:()=>removeEmitHelper,removeExtension:()=>Fx,removeFileExtension:()=>Ll,removeIgnoredPath:()=>removeIgnoredPath,removeMinAndVersionNumbers:()=>q1,removeOptionality:()=>removeOptionality,removePrefix:()=>x5,removeSuffix:()=>F1,removeTrailingDirectorySeparator:()=>P_,repeatString:()=>repeatString,replaceElement:()=>ei,resolutionExtensionIsTSOrJson:()=>YM,resolveConfigFileProjectName:()=>resolveConfigFileProjectName,resolveJSModule:()=>resolveJSModule,resolveModuleName:()=>resolveModuleName,resolveModuleNameFromCache:()=>resolveModuleNameFromCache,resolvePackageNameToPackageJson:()=>resolvePackageNameToPackageJson,resolvePath:()=>oy,resolveProjectReferencePath:()=>resolveProjectReferencePath,resolveTripleslashReference:()=>resolveTripleslashReference,resolveTypeReferenceDirective:()=>resolveTypeReferenceDirective,resolvingEmptyArray:()=>t8,restHelper:()=>restHelper,returnFalse:()=>w_,returnNoopFileWatcher:()=>returnNoopFileWatcher,returnTrue:()=>vp,returnUndefined:()=>C1,returnsPromise:()=>returnsPromise,runInitializersHelper:()=>runInitializersHelper,sameFlatMap:()=>at,sameMap:()=>tt,sameMapping:()=>sameMapping,scanShebangTrivia:()=>yy,scanTokenAtPosition:()=>yk,scanner:()=>Zo,screenStartingMessageCodes:()=>screenStartingMessageCodes,semanticDiagnosticsOptionDeclarations:()=>semanticDiagnosticsOptionDeclarations,serializeCompilerOptions:()=>serializeCompilerOptions,server:()=>ts_server_exports,servicesVersion:()=>E7,setCommentRange:()=>setCommentRange,setConfigFileInOptions:()=>setConfigFileInOptions,setConstantValue:()=>setConstantValue,setEachParent:()=>Q_,setEmitFlags:()=>setEmitFlags,setFunctionNameHelper:()=>setFunctionNameHelper,setGetSourceFileAsHashVersioned:()=>setGetSourceFileAsHashVersioned,setIdentifierAutoGenerate:()=>setIdentifierAutoGenerate,setIdentifierGeneratedImportReference:()=>setIdentifierGeneratedImportReference,setIdentifierTypeArguments:()=>setIdentifierTypeArguments,setInternalEmitFlags:()=>setInternalEmitFlags,setLocalizedDiagnosticMessages:()=>yx,setModuleDefaultHelper:()=>setModuleDefaultHelper,setNodeFlags:()=>dL,setObjectAllocator:()=>gx,setOriginalNode:()=>Dn,setParent:()=>Sa,setParentRecursive:()=>Vx,setPrivateIdentifier:()=>setPrivateIdentifier,setResolvedModule:()=>gD,setResolvedTypeReferenceDirective:()=>yD,setSnippetElement:()=>setSnippetElement,setSourceMapRange:()=>setSourceMapRange,setStackTraceLimit:()=>setStackTraceLimit,setStartsOnNewLine:()=>setStartsOnNewLine,setSyntheticLeadingComments:()=>setSyntheticLeadingComments,setSyntheticTrailingComments:()=>setSyntheticTrailingComments,setSys:()=>setSys,setSysLog:()=>setSysLog,setTextRange:()=>Rt,setTextRangeEnd:()=>Wx,setTextRangePos:()=>Gf,setTextRangePosEnd:()=>Us,setTextRangePosWidth:()=>$f,setTokenSourceMapRange:()=>setTokenSourceMapRange,setTypeNode:()=>setTypeNode,setUILocale:()=>xp,setValueDeclaration:()=>PI,shouldAllowImportingTsExtension:()=>shouldAllowImportingTsExtension,shouldPreserveConstEnums:()=>EM,shouldUseUriStyleNodeCoreModules:()=>shouldUseUriStyleNodeCoreModules,showModuleSpecifier:()=>HO,signatureHasLiteralTypes:()=>signatureHasLiteralTypes,signatureHasRestParameter:()=>signatureHasRestParameter,signatureToDisplayParts:()=>signatureToDisplayParts,single:()=>Yc,singleElementArray:()=>Cp,singleIterator:()=>Ka,singleOrMany:()=>mo,singleOrUndefined:()=>Xa,skipAlias:()=>RO,skipAssertions:()=>Hj,skipConstraint:()=>skipConstraint,skipOuterExpressions:()=>$o,skipParentheses:()=>Pl,skipPartiallyEmittedExpressions:()=>lf,skipTrivia:()=>Ar,skipTypeChecking:()=>sL,skipTypeParentheses:()=>GI,skipWhile:()=>N5,sliceAfter:()=>rL,some:()=>Ke,sort:()=>Is,sortAndDeduplicate:()=>uo,sortAndDeduplicateDiagnostics:()=>yA,sourceFileAffectingCompilerOptions:()=>sourceFileAffectingCompilerOptions,sourceFileMayBeEmitted:()=>q0,sourceMapCommentRegExp:()=>sourceMapCommentRegExp,sourceMapCommentRegExpDontCareLineStart:()=>sourceMapCommentRegExpDontCareLineStart,spacePart:()=>spacePart,spanMap:()=>co,spreadArrayHelper:()=>spreadArrayHelper,stableSort:()=>Ns,startEndContainsRange:()=>startEndContainsRange,startEndOverlapsWithStartEnd:()=>startEndOverlapsWithStartEnd,startOnNewLine:()=>vd,startTracing:()=>startTracing,startsWith:()=>Pn,startsWithDirectory:()=>rA,startsWithUnderscore:()=>startsWithUnderscore,startsWithUseStrict:()=>SE,stringContains:()=>Fi,stringContainsAt:()=>stringContainsAt,stringToToken:()=>_l,stripQuotes:()=>CN,supportedDeclarationExtensions:()=>Rv,supportedJSExtensions:()=>Mv,supportedJSExtensionsFlat:()=>Lv,supportedLocaleDirectories:()=>Hy,supportedTSExtensions:()=>Jo,supportedTSExtensionsFlat:()=>Ov,supportedTSImplementationExtensions:()=>b8,suppressLeadingAndTrailingTrivia:()=>suppressLeadingAndTrailingTrivia,suppressLeadingTrivia:()=>suppressLeadingTrivia,suppressTrailingTrivia:()=>suppressTrailingTrivia,symbolEscapedNameNoDefault:()=>symbolEscapedNameNoDefault,symbolName:()=>rf,symbolNameNoDefault:()=>symbolNameNoDefault,symbolPart:()=>symbolPart,symbolToDisplayParts:()=>symbolToDisplayParts,syntaxMayBeASICandidate:()=>syntaxMayBeASICandidate,syntaxRequiresTrailingSemicolonOrASI:()=>syntaxRequiresTrailingSemicolonOrASI,sys:()=>iy,sysLog:()=>sysLog,tagNamesAreEquivalent:()=>Hi,takeWhile:()=>I5,targetOptionDeclaration:()=>targetOptionDeclaration,templateObjectHelper:()=>templateObjectHelper,testFormatSettings:()=>testFormatSettings,textChangeRangeIsUnchanged:()=>cS,textChangeRangeNewSpan:()=>R_,textChanges:()=>ts_textChanges_exports,textOrKeywordPart:()=>textOrKeywordPart,textPart:()=>textPart,textRangeContainsPositionInclusive:()=>bA,textSpanContainsPosition:()=>vA,textSpanContainsTextSpan:()=>TA,textSpanEnd:()=>Ir,textSpanIntersection:()=>_S,textSpanIntersectsWith:()=>EA,textSpanIntersectsWithPosition:()=>wA,textSpanIntersectsWithTextSpan:()=>xA,textSpanIsEmpty:()=>sS,textSpanOverlap:()=>oS,textSpanOverlapsWith:()=>SA,textSpansEqual:()=>textSpansEqual,textToKeywordObj:()=>cl,timestamp:()=>ts,toArray:()=>en,toBuilderFileEmit:()=>toBuilderFileEmit,toBuilderStateFileInfoForMultiEmit:()=>toBuilderStateFileInfoForMultiEmit,toEditorSettings:()=>lu,toFileNameLowerCase:()=>Tp,toLowerCase:()=>bp,toPath:()=>Ui,toProgramEmitPending:()=>toProgramEmitPending,tokenIsIdentifierOrKeyword:()=>fr,tokenIsIdentifierOrKeywordOrGreaterThan:()=>qT,tokenToString:()=>Br,trace:()=>trace,tracing:()=>rs,tracingEnabled:()=>tracingEnabled,transform:()=>transform,transformClassFields:()=>transformClassFields,transformDeclarations:()=>transformDeclarations,transformECMAScriptModule:()=>transformECMAScriptModule,transformES2015:()=>transformES2015,transformES2016:()=>transformES2016,transformES2017:()=>transformES2017,transformES2018:()=>transformES2018,transformES2019:()=>transformES2019,transformES2020:()=>transformES2020,transformES2021:()=>transformES2021,transformES5:()=>transformES5,transformESDecorators:()=>transformESDecorators,transformESNext:()=>transformESNext,transformGenerators:()=>transformGenerators,transformJsx:()=>transformJsx,transformLegacyDecorators:()=>transformLegacyDecorators,transformModule:()=>transformModule,transformNodeModule:()=>transformNodeModule,transformNodes:()=>transformNodes,transformSystemModule:()=>transformSystemModule,transformTypeScript:()=>transformTypeScript,transpile:()=>transpile,transpileModule:()=>transpileModule,transpileOptionValueCompilerOptions:()=>transpileOptionValueCompilerOptions,trimString:()=>Pp,trimStringEnd:()=>X1,trimStringStart:()=>nl,tryAddToSet:()=>ua,tryAndIgnoreErrors:()=>tryAndIgnoreErrors,tryCast:()=>ln,tryDirectoryExists:()=>tryDirectoryExists,tryExtractTSExtension:()=>uO,tryFileExists:()=>tryFileExists,tryGetClassExtendingExpressionWithTypeArguments:()=>ex,tryGetClassImplementingOrExtendingExpressionWithTypeArguments:()=>tx,tryGetDirectories:()=>tryGetDirectories,tryGetExtensionFromPath:()=>hv,tryGetImportFromModuleSpecifier:()=>Y3,tryGetJSDocSatisfiesTypeNode:()=>e8,tryGetModuleNameFromFile:()=>CE,tryGetModuleSpecifierFromDeclaration:()=>kI,tryGetNativePerformanceHooks:()=>J5,tryGetPropertyAccessOrIdentifierToString:()=>tv,tryGetPropertyNameOfBindingOrAssignmentElement:()=>PE,tryGetSourceMappingURL:()=>tryGetSourceMappingURL,tryGetTextOfPropertyName:()=>e0,tryIOAndConsumeErrors:()=>tryIOAndConsumeErrors,tryParsePattern:()=>Bx,tryParsePatterns:()=>XM,tryParseRawSourceMap:()=>tryParseRawSourceMap,tryReadDirectory:()=>tryReadDirectory,tryReadFile:()=>tryReadFile,tryRemoveDirectoryPrefix:()=>jM,tryRemoveExtension:()=>Jx,tryRemovePrefix:()=>ST,tryRemoveSuffix:()=>B1,typeAcquisitionDeclarations:()=>typeAcquisitionDeclarations,typeAliasNamePart:()=>typeAliasNamePart,typeDirectiveIsEqualTo:()=>ED,typeKeywords:()=>typeKeywords,typeParameterNamePart:()=>typeParameterNamePart,typeReferenceResolutionNameAndModeGetter:()=>typeReferenceResolutionNameAndModeGetter,typeToDisplayParts:()=>typeToDisplayParts,unchangedPollThresholds:()=>unchangedPollThresholds,unchangedTextChangeRange:()=>Vy,unescapeLeadingUnderscores:()=>dl,unmangleScopedPackageName:()=>unmangleScopedPackageName,unorderedRemoveItem:()=>bT,unorderedRemoveItemAt:()=>U1,unreachableCodeIsError:()=>yM,unusedLabelIsError:()=>vM,unwrapInnermostStatementOfLabel:()=>Rk,updateErrorForNoInputFiles:()=>updateErrorForNoInputFiles,updateLanguageServiceSourceFile:()=>T7,updateMissingFilePathsWatch:()=>updateMissingFilePathsWatch,updatePackageJsonWatch:()=>updatePackageJsonWatch,updateResolutionField:()=>updateResolutionField,updateSharedExtendedConfigFileWatcher:()=>updateSharedExtendedConfigFileWatcher,updateSourceFile:()=>k2,updateWatchingWildcardDirectories:()=>updateWatchingWildcardDirectories,usesExtensionsOnImports:()=>Rx,usingSingleLineStringWriter:()=>mD,utf16EncodeAsString:()=>by,validateLocaleAndSetLanguage:()=>DA,valuesHelper:()=>valuesHelper,version:()=>C,versionMajorMinor:()=>m,visitArray:()=>visitArray,visitCommaListElements:()=>visitCommaListElements,visitEachChild:()=>visitEachChild,visitFunctionBody:()=>visitFunctionBody,visitIterationBody:()=>visitIterationBody,visitLexicalEnvironment:()=>visitLexicalEnvironment,visitNode:()=>visitNode,visitNodes:()=>visitNodes2,visitParameterList:()=>visitParameterList,walkUpBindingElementsAndPatterns:()=>fS,walkUpLexicalEnvironments:()=>walkUpLexicalEnvironments,walkUpOuterExpressions:()=>Vj,walkUpParenthesizedExpressions:()=>D0,walkUpParenthesizedTypes:()=>VI,walkUpParenthesizedTypesAndGetParentAndChild:()=>HI,whitespaceOrMapCommentRegExp:()=>whitespaceOrMapCommentRegExp,writeCommentRange:()=>$N,writeFile:()=>jN,writeFileEnsuringDirectories:()=>JN,zipToModeAwareCache:()=>zipToModeAwareCache,zipWith:()=>ce});var R7=D({"src/typescript/_namespaces/ts.ts"(){"use strict";nn(),l7(),L2(),FB()}}),BB=P({"src/typescript/typescript.ts"(e,t){R7(),R7(),typeof console<"u"&&(Y.loggingHost={log(r,s){switch(r){case 1:return console.error(s);case 2:return console.warn(s);case 3:return console.log(s);case 4:return console.log(s)}}}),t.exports=L7}});_.exports=BB()}}),DW=Oe({"src/language-js/parse/postprocess/typescript.js"(a,_){"use strict";De();var v=F9(),h=q9(),D=U9(),P={AbstractKeyword:126,SourceFile:308,PropertyDeclaration:169};function y(c){for(;c&&c.kind!==P.SourceFile;)c=c.parent;return c}function m(c,M){let q=y(c),[W,K]=[c.getStart(),c.end].map(ce=>{let{line:Ie,character:me}=q.getLineAndCharacterOfPosition(ce);return{line:Ie+1,column:me}});D({loc:{start:W,end:K}},M)}function C(c){let M=vr();return[!0,!1].some(q=>M.nodeCanBeDecorated(q,c,c.parent,c.parent.parent))}function d(c){let{modifiers:M}=c;if(!v(M))return;let q=vr(),{SyntaxKind:W}=q;for(let K of M)q.isDecorator(K)&&!C(c)&&(c.kind===W.MethodDeclaration&&!q.nodeIsPresent(c.body)&&m(K,"A decorator can only decorate a method implementation, not an overload."),m(K,"Decorators are not valid here."))}function E(c,M){c.kind!==P.PropertyDeclaration||c.modifiers&&!c.modifiers.some(q=>q.kind===P.AbstractKeyword)||c.initializer&&M.value===null&&D(M,"Abstract property cannot have an initializer")}function I(c,M){if(!/@|abstract/.test(M.originalText))return;let{esTreeNodeToTSNodeMap:q,tsNodeToESTreeNodeMap:W}=c;h(c.ast,K=>{let ce=q.get(K);if(!ce)return;let Ie=W.get(ce);Ie===K&&(d(ce),E(ce,Ie))})}_.exports={throwErrorForInvalidNodes:I}}}),Ga=Oe({"scripts/build/shims/debug.cjs"(a,_){"use strict";De(),_.exports=()=>()=>{}}}),h1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/constants.js"(a,_){De();var v="2.0.0",h=256,D=Number.MAX_SAFE_INTEGER||9007199254740991,P=16;_.exports={SEMVER_SPEC_VERSION:v,MAX_LENGTH:h,MAX_SAFE_INTEGER:D,MAX_SAFE_COMPONENT_LENGTH:P}}}),g1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/debug.js"(a,_){De();var v=typeof cn=="object"&&cn.env&&cn.env.NODE_DEBUG&&/\bsemver\b/i.test(cn.env.NODE_DEBUG)?function(){for(var h=arguments.length,D=new Array(h),P=0;P{};_.exports=v}}),Bc=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/re.js"(a,_){De();var{MAX_SAFE_COMPONENT_LENGTH:v}=h1(),h=g1();a=_.exports={};var D=a.re=[],P=a.src=[],y=a.t={},m=0,C=(d,E,I)=>{let c=m++;h(d,c,E),y[d]=c,P[c]=E,D[c]=new RegExp(E,I?"g":void 0)};C("NUMERICIDENTIFIER","0|[1-9]\\d*"),C("NUMERICIDENTIFIERLOOSE","[0-9]+"),C("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),C("MAINVERSION",`(${P[y.NUMERICIDENTIFIER]})\\.(${P[y.NUMERICIDENTIFIER]})\\.(${P[y.NUMERICIDENTIFIER]})`),C("MAINVERSIONLOOSE",`(${P[y.NUMERICIDENTIFIERLOOSE]})\\.(${P[y.NUMERICIDENTIFIERLOOSE]})\\.(${P[y.NUMERICIDENTIFIERLOOSE]})`),C("PRERELEASEIDENTIFIER",`(?:${P[y.NUMERICIDENTIFIER]}|${P[y.NONNUMERICIDENTIFIER]})`),C("PRERELEASEIDENTIFIERLOOSE",`(?:${P[y.NUMERICIDENTIFIERLOOSE]}|${P[y.NONNUMERICIDENTIFIER]})`),C("PRERELEASE",`(?:-(${P[y.PRERELEASEIDENTIFIER]}(?:\\.${P[y.PRERELEASEIDENTIFIER]})*))`),C("PRERELEASELOOSE",`(?:-?(${P[y.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${P[y.PRERELEASEIDENTIFIERLOOSE]})*))`),C("BUILDIDENTIFIER","[0-9A-Za-z-]+"),C("BUILD",`(?:\\+(${P[y.BUILDIDENTIFIER]}(?:\\.${P[y.BUILDIDENTIFIER]})*))`),C("FULLPLAIN",`v?${P[y.MAINVERSION]}${P[y.PRERELEASE]}?${P[y.BUILD]}?`),C("FULL",`^${P[y.FULLPLAIN]}$`),C("LOOSEPLAIN",`[v=\\s]*${P[y.MAINVERSIONLOOSE]}${P[y.PRERELEASELOOSE]}?${P[y.BUILD]}?`),C("LOOSE",`^${P[y.LOOSEPLAIN]}$`),C("GTLT","((?:<|>)?=?)"),C("XRANGEIDENTIFIERLOOSE",`${P[y.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),C("XRANGEIDENTIFIER",`${P[y.NUMERICIDENTIFIER]}|x|X|\\*`),C("XRANGEPLAIN",`[v=\\s]*(${P[y.XRANGEIDENTIFIER]})(?:\\.(${P[y.XRANGEIDENTIFIER]})(?:\\.(${P[y.XRANGEIDENTIFIER]})(?:${P[y.PRERELEASE]})?${P[y.BUILD]}?)?)?`),C("XRANGEPLAINLOOSE",`[v=\\s]*(${P[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${P[y.XRANGEIDENTIFIERLOOSE]})(?:${P[y.PRERELEASELOOSE]})?${P[y.BUILD]}?)?)?`),C("XRANGE",`^${P[y.GTLT]}\\s*${P[y.XRANGEPLAIN]}$`),C("XRANGELOOSE",`^${P[y.GTLT]}\\s*${P[y.XRANGEPLAINLOOSE]}$`),C("COERCE",`(^|[^\\d])(\\d{1,${v}})(?:\\.(\\d{1,${v}}))?(?:\\.(\\d{1,${v}}))?(?:$|[^\\d])`),C("COERCERTL",P[y.COERCE],!0),C("LONETILDE","(?:~>?)"),C("TILDETRIM",`(\\s*)${P[y.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",C("TILDE",`^${P[y.LONETILDE]}${P[y.XRANGEPLAIN]}$`),C("TILDELOOSE",`^${P[y.LONETILDE]}${P[y.XRANGEPLAINLOOSE]}$`),C("LONECARET","(?:\\^)"),C("CARETTRIM",`(\\s*)${P[y.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",C("CARET",`^${P[y.LONECARET]}${P[y.XRANGEPLAIN]}$`),C("CARETLOOSE",`^${P[y.LONECARET]}${P[y.XRANGEPLAINLOOSE]}$`),C("COMPARATORLOOSE",`^${P[y.GTLT]}\\s*(${P[y.LOOSEPLAIN]})$|^$`),C("COMPARATOR",`^${P[y.GTLT]}\\s*(${P[y.FULLPLAIN]})$|^$`),C("COMPARATORTRIM",`(\\s*)${P[y.GTLT]}\\s*(${P[y.LOOSEPLAIN]}|${P[y.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",C("HYPHENRANGE",`^\\s*(${P[y.XRANGEPLAIN]})\\s+-\\s+(${P[y.XRANGEPLAIN]})\\s*$`),C("HYPHENRANGELOOSE",`^\\s*(${P[y.XRANGEPLAINLOOSE]})\\s+-\\s+(${P[y.XRANGEPLAINLOOSE]})\\s*$`),C("STAR","(<|>)?=?\\s*\\*"),C("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),C("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),y1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/parse-options.js"(a,_){De();var v=["includePrerelease","loose","rtl"],h=D=>D?typeof D!="object"?{loose:!0}:v.filter(P=>D[P]).reduce((P,y)=>(P[y]=!0,P),{}):{};_.exports=h}}),z9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/internal/identifiers.js"(a,_){De();var v=/^[0-9]+$/,h=(P,y)=>{let m=v.test(P),C=v.test(y);return m&&C&&(P=+P,y=+y),P===y?0:m&&!C?-1:C&&!m?1:Ph(y,P);_.exports={compareIdentifiers:h,rcompareIdentifiers:D}}}),Bn=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/semver.js"(a,_){De();var v=g1(),{MAX_LENGTH:h,MAX_SAFE_INTEGER:D}=h1(),{re:P,t:y}=Bc(),m=y1(),{compareIdentifiers:C}=z9(),d=class{constructor(E,I){if(I=m(I),E instanceof d){if(E.loose===!!I.loose&&E.includePrerelease===!!I.includePrerelease)return E;E=E.version}else if(typeof E!="string")throw new TypeError(`Invalid Version: ${E}`);if(E.length>h)throw new TypeError(`version is longer than ${h} characters`);v("SemVer",E,I),this.options=I,this.loose=!!I.loose,this.includePrerelease=!!I.includePrerelease;let c=E.trim().match(I.loose?P[y.LOOSE]:P[y.FULL]);if(!c)throw new TypeError(`Invalid Version: ${E}`);if(this.raw=E,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>D||this.major<0)throw new TypeError("Invalid major version");if(this.minor>D||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>D||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(M=>{if(/^[0-9]+$/.test(M)){let q=+M;if(q>=0&&q=0;)typeof this.prerelease[c]=="number"&&(this.prerelease[c]++,c=-2);c===-1&&this.prerelease.push(0)}I&&(C(this.prerelease[0],I)===0?isNaN(this.prerelease[1])&&(this.prerelease=[I,0]):this.prerelease=[I,0]);break;default:throw new Error(`invalid increment argument: ${E}`)}return this.format(),this.raw=this.version,this}};_.exports=d}}),qc=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/parse.js"(a,_){De();var{MAX_LENGTH:v}=h1(),{re:h,t:D}=Bc(),P=Bn(),y=y1(),m=(C,d)=>{if(d=y(d),C instanceof P)return C;if(typeof C!="string"||C.length>v||!(d.loose?h[D.LOOSE]:h[D.FULL]).test(C))return null;try{return new P(C,d)}catch{return null}};_.exports=m}}),kW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/valid.js"(a,_){De();var v=qc(),h=(D,P)=>{let y=v(D,P);return y?y.version:null};_.exports=h}}),IW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/clean.js"(a,_){De();var v=qc(),h=(D,P)=>{let y=v(D.trim().replace(/^[=v]+/,""),P);return y?y.version:null};_.exports=h}}),NW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/inc.js"(a,_){De();var v=Bn(),h=(D,P,y,m)=>{typeof y=="string"&&(m=y,y=void 0);try{return new v(D instanceof v?D.version:D,y).inc(P,m).version}catch{return null}};_.exports=h}}),_a=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare.js"(a,_){De();var v=Bn(),h=(D,P,y)=>new v(D,y).compare(new v(P,y));_.exports=h}}),sT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/eq.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)===0;_.exports=h}}),OW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/diff.js"(a,_){De();var v=qc(),h=sT(),D=(P,y)=>{if(h(P,y))return null;{let m=v(P),C=v(y),d=m.prerelease.length||C.prerelease.length,E=d?"pre":"",I=d?"prerelease":"";for(let c in m)if((c==="major"||c==="minor"||c==="patch")&&m[c]!==C[c])return E+c;return I}};_.exports=D}}),MW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/major.js"(a,_){De();var v=Bn(),h=(D,P)=>new v(D,P).major;_.exports=h}}),LW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/minor.js"(a,_){De();var v=Bn(),h=(D,P)=>new v(D,P).minor;_.exports=h}}),RW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/patch.js"(a,_){De();var v=Bn(),h=(D,P)=>new v(D,P).patch;_.exports=h}}),jW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/prerelease.js"(a,_){De();var v=qc(),h=(D,P)=>{let y=v(D,P);return y&&y.prerelease.length?y.prerelease:null};_.exports=h}}),JW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rcompare.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(P,D,y);_.exports=h}}),FW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-loose.js"(a,_){De();var v=_a(),h=(D,P)=>v(D,P,!0);_.exports=h}}),oT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/compare-build.js"(a,_){De();var v=Bn(),h=(D,P,y)=>{let m=new v(D,y),C=new v(P,y);return m.compare(C)||m.compareBuild(C)};_.exports=h}}),BW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/sort.js"(a,_){De();var v=oT(),h=(D,P)=>D.sort((y,m)=>v(y,m,P));_.exports=h}}),qW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/rsort.js"(a,_){De();var v=oT(),h=(D,P)=>D.sort((y,m)=>v(m,y,P));_.exports=h}}),v1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gt.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)>0;_.exports=h}}),_T=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lt.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)<0;_.exports=h}}),W9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/neq.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)!==0;_.exports=h}}),cT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/gte.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)>=0;_.exports=h}}),lT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/lte.js"(a,_){De();var v=_a(),h=(D,P,y)=>v(D,P,y)<=0;_.exports=h}}),V9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/cmp.js"(a,_){De();var v=sT(),h=W9(),D=v1(),P=cT(),y=_T(),m=lT(),C=(d,E,I,c)=>{switch(E){case"===":return typeof d=="object"&&(d=d.version),typeof I=="object"&&(I=I.version),d===I;case"!==":return typeof d=="object"&&(d=d.version),typeof I=="object"&&(I=I.version),d!==I;case"":case"=":case"==":return v(d,I,c);case"!=":return h(d,I,c);case">":return D(d,I,c);case">=":return P(d,I,c);case"<":return y(d,I,c);case"<=":return m(d,I,c);default:throw new TypeError(`Invalid operator: ${E}`)}};_.exports=C}}),UW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/coerce.js"(a,_){De();var v=Bn(),h=qc(),{re:D,t:P}=Bc(),y=(m,C)=>{if(m instanceof v)return m;if(typeof m=="number"&&(m=String(m)),typeof m!="string")return null;C=C||{};let d=null;if(!C.rtl)d=m.match(D[P.COERCE]);else{let E;for(;(E=D[P.COERCERTL].exec(m))&&(!d||d.index+d[0].length!==m.length);)(!d||E.index+E[0].length!==d.index+d[0].length)&&(d=E),D[P.COERCERTL].lastIndex=E.index+E[1].length+E[2].length;D[P.COERCERTL].lastIndex=-1}return d===null?null:h(`${d[2]}.${d[3]||"0"}.${d[4]||"0"}`,C)};_.exports=y}}),zW=Oe({"node_modules/yallist/iterator.js"(a,_){"use strict";De(),_.exports=function(v){v.prototype[Symbol.iterator]=function*(){for(let h=this.head;h;h=h.next)yield h.value}}}}),WW=Oe({"node_modules/yallist/yallist.js"(a,_){"use strict";De(),_.exports=v,v.Node=y,v.create=v;function v(m){var C=this;if(C instanceof v||(C=new v),C.tail=null,C.head=null,C.length=0,m&&typeof m.forEach=="function")m.forEach(function(I){C.push(I)});else if(arguments.length>0)for(var d=0,E=arguments.length;d1)d=C;else if(this.head)E=this.head.next,d=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var I=0;E!==null;I++)d=m(d,E.value,I),E=E.next;return d},v.prototype.reduceReverse=function(m,C){var d,E=this.tail;if(arguments.length>1)d=C;else if(this.tail)E=this.tail.prev,d=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var I=this.length-1;E!==null;I--)d=m(d,E.value,I),E=E.prev;return d},v.prototype.toArray=function(){for(var m=new Array(this.length),C=0,d=this.head;d!==null;C++)m[C]=d.value,d=d.next;return m},v.prototype.toArrayReverse=function(){for(var m=new Array(this.length),C=0,d=this.tail;d!==null;C++)m[C]=d.value,d=d.prev;return m},v.prototype.slice=function(m,C){C=C||this.length,C<0&&(C+=this.length),m=m||0,m<0&&(m+=this.length);var d=new v;if(Cthis.length&&(C=this.length);for(var E=0,I=this.head;I!==null&&Ethis.length&&(C=this.length);for(var E=this.length,I=this.tail;I!==null&&E>C;E--)I=I.prev;for(;I!==null&&E>m;E--,I=I.prev)d.push(I.value);return d},v.prototype.splice=function(m,C){m>this.length&&(m=this.length-1),m<0&&(m=this.length+m);for(var d=0,E=this.head;E!==null&&d1,q=class{constructor(te){if(typeof te=="number"&&(te={max:te}),te||(te={}),te.max&&(typeof te.max!="number"||te.max<0))throw new TypeError("max must be a non-negative number");let he=this[h]=te.max||1/0,Pe=te.length||M;if(this[P]=typeof Pe!="function"?M:Pe,this[y]=te.stale||!1,te.maxAge&&typeof te.maxAge!="number")throw new TypeError("maxAge must be a number");this[m]=te.maxAge||0,this[C]=te.dispose,this[d]=te.noDisposeOnSet||!1,this[c]=te.updateAgeOnGet||!1,this.reset()}set max(te){if(typeof te!="number"||te<0)throw new TypeError("max must be a non-negative number");this[h]=te||1/0,ce(this)}get max(){return this[h]}set allowStale(te){this[y]=!!te}get allowStale(){return this[y]}set maxAge(te){if(typeof te!="number")throw new TypeError("maxAge must be a non-negative number");this[m]=te,ce(this)}get maxAge(){return this[m]}set lengthCalculator(te){typeof te!="function"&&(te=M),te!==this[P]&&(this[P]=te,this[D]=0,this[E].forEach(he=>{he.length=this[P](he.value,he.key),this[D]+=he.length})),ce(this)}get lengthCalculator(){return this[P]}get length(){return this[D]}get itemCount(){return this[E].length}rforEach(te,he){he=he||this;for(let Pe=this[E].tail;Pe!==null;){let R=Pe.prev;Ae(this,te,Pe,he),Pe=R}}forEach(te,he){he=he||this;for(let Pe=this[E].head;Pe!==null;){let R=Pe.next;Ae(this,te,Pe,he),Pe=R}}keys(){return this[E].toArray().map(te=>te.key)}values(){return this[E].toArray().map(te=>te.value)}reset(){this[C]&&this[E]&&this[E].length&&this[E].forEach(te=>this[C](te.key,te.value)),this[I]=new Map,this[E]=new v,this[D]=0}dump(){return this[E].map(te=>K(this,te)?!1:{k:te.key,v:te.value,e:te.now+(te.maxAge||0)}).toArray().filter(te=>te)}dumpLru(){return this[E]}set(te,he,Pe){if(Pe=Pe||this[m],Pe&&typeof Pe!="number")throw new TypeError("maxAge must be a number");let R=Pe?Date.now():0,pe=this[P](he,te);if(this[I].has(te)){if(pe>this[h])return Ie(this,this[I].get(te)),!1;let Xe=this[I].get(te).value;return this[C]&&(this[d]||this[C](te,Xe.value)),Xe.now=R,Xe.maxAge=Pe,Xe.value=he,this[D]+=pe-Xe.length,Xe.length=pe,this.get(te),ce(this),!0}let ke=new me(te,he,pe,R,Pe);return ke.length>this[h]?(this[C]&&this[C](te,he),!1):(this[D]+=ke.length,this[E].unshift(ke),this[I].set(te,this[E].head),ce(this),!0)}has(te){if(!this[I].has(te))return!1;let he=this[I].get(te).value;return!K(this,he)}get(te){return W(this,te,!0)}peek(te){return W(this,te,!1)}pop(){let te=this[E].tail;return te?(Ie(this,te),te.value):null}del(te){Ie(this,this[I].get(te))}load(te){this.reset();let he=Date.now();for(let Pe=te.length-1;Pe>=0;Pe--){let R=te[Pe],pe=R.e||0;if(pe===0)this.set(R.k,R.v);else{let ke=pe-he;ke>0&&this.set(R.k,R.v,ke)}}}prune(){this[I].forEach((te,he)=>W(this,he,!1))}},W=(te,he,Pe)=>{let R=te[I].get(he);if(R){let pe=R.value;if(K(te,pe)){if(Ie(te,R),!te[y])return}else Pe&&(te[c]&&(R.value.now=Date.now()),te[E].unshiftNode(R));return pe.value}},K=(te,he)=>{if(!he||!he.maxAge&&!te[m])return!1;let Pe=Date.now()-he.now;return he.maxAge?Pe>he.maxAge:te[m]&&Pe>te[m]},ce=te=>{if(te[D]>te[h])for(let he=te[E].tail;te[D]>te[h]&&he!==null;){let Pe=he.prev;Ie(te,he),he=Pe}},Ie=(te,he)=>{if(he){let Pe=he.value;te[C]&&te[C](Pe.key,Pe.value),te[D]-=Pe.length,te[I].delete(Pe.key),te[E].removeNode(he)}},me=class{constructor(te,he,Pe,R,pe){this.key=te,this.value=he,this.length=Pe,this.now=R,this.maxAge=pe||0}},Ae=(te,he,Pe,R)=>{let pe=Pe.value;K(te,pe)&&(Ie(te,Pe),te[y]||(pe=void 0)),pe&&he.call(R,pe.value,pe.key,te)};_.exports=q}}),ca=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/range.js"(a,_){De();var v=class{constructor(ee,je){if(je=P(je),ee instanceof v)return ee.loose===!!je.loose&&ee.includePrerelease===!!je.includePrerelease?ee:new v(ee.raw,je);if(ee instanceof y)return this.raw=ee.value,this.set=[[ee]],this.format(),this;if(this.options=je,this.loose=!!je.loose,this.includePrerelease=!!je.includePrerelease,this.raw=ee,this.set=ee.split("||").map(nt=>this.parseRange(nt.trim())).filter(nt=>nt.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${ee}`);if(this.set.length>1){let nt=this.set[0];if(this.set=this.set.filter(Ze=>!q(Ze[0])),this.set.length===0)this.set=[nt];else if(this.set.length>1){for(let Ze of this.set)if(Ze.length===1&&W(Ze[0])){this.set=[Ze];break}}}this.format()}format(){return this.range=this.set.map(ee=>ee.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(ee){ee=ee.trim();let nt=`parseRange:${Object.keys(this.options).join(",")}:${ee}`,Ze=D.get(nt);if(Ze)return Ze;let st=this.options.loose,tt=st?d[E.HYPHENRANGELOOSE]:d[E.HYPHENRANGE];ee=ee.replace(tt,Je(this.options.includePrerelease)),m("hyphen replace",ee),ee=ee.replace(d[E.COMPARATORTRIM],I),m("comparator trim",ee),ee=ee.replace(d[E.TILDETRIM],c),ee=ee.replace(d[E.CARETTRIM],M),ee=ee.split(/\s+/).join(" ");let ct=ee.split(" ").map(at=>ce(at,this.options)).join(" ").split(/\s+/).map(at=>ke(at,this.options));st&&(ct=ct.filter(at=>(m("loose invalid filter",at,this.options),!!at.match(d[E.COMPARATORLOOSE])))),m("range list",ct);let ne=new Map,ge=ct.map(at=>new y(at,this.options));for(let at of ge){if(q(at))return[at];ne.set(at.value,at)}ne.size>1&&ne.has("")&&ne.delete("");let Fe=[...ne.values()];return D.set(nt,Fe),Fe}intersects(ee,je){if(!(ee instanceof v))throw new TypeError("a Range is required");return this.set.some(nt=>K(nt,je)&&ee.set.some(Ze=>K(Ze,je)&&nt.every(st=>Ze.every(tt=>st.intersects(tt,je)))))}test(ee){if(!ee)return!1;if(typeof ee=="string")try{ee=new C(ee,this.options)}catch{return!1}for(let je=0;jeee.value==="<0.0.0-0",W=ee=>ee.value==="",K=(ee,je)=>{let nt=!0,Ze=ee.slice(),st=Ze.pop();for(;nt&&Ze.length;)nt=Ze.every(tt=>st.intersects(tt,je)),st=Ze.pop();return nt},ce=(ee,je)=>(m("comp",ee,je),ee=te(ee,je),m("caret",ee),ee=me(ee,je),m("tildes",ee),ee=Pe(ee,je),m("xrange",ee),ee=pe(ee,je),m("stars",ee),ee),Ie=ee=>!ee||ee.toLowerCase()==="x"||ee==="*",me=(ee,je)=>ee.trim().split(/\s+/).map(nt=>Ae(nt,je)).join(" "),Ae=(ee,je)=>{let nt=je.loose?d[E.TILDELOOSE]:d[E.TILDE];return ee.replace(nt,(Ze,st,tt,ct,ne)=>{m("tilde",ee,Ze,st,tt,ct,ne);let ge;return Ie(st)?ge="":Ie(tt)?ge=`>=${st}.0.0 <${+st+1}.0.0-0`:Ie(ct)?ge=`>=${st}.${tt}.0 <${st}.${+tt+1}.0-0`:ne?(m("replaceTilde pr",ne),ge=`>=${st}.${tt}.${ct}-${ne} <${st}.${+tt+1}.0-0`):ge=`>=${st}.${tt}.${ct} <${st}.${+tt+1}.0-0`,m("tilde return",ge),ge})},te=(ee,je)=>ee.trim().split(/\s+/).map(nt=>he(nt,je)).join(" "),he=(ee,je)=>{m("caret",ee,je);let nt=je.loose?d[E.CARETLOOSE]:d[E.CARET],Ze=je.includePrerelease?"-0":"";return ee.replace(nt,(st,tt,ct,ne,ge)=>{m("caret",ee,st,tt,ct,ne,ge);let Fe;return Ie(tt)?Fe="":Ie(ct)?Fe=`>=${tt}.0.0${Ze} <${+tt+1}.0.0-0`:Ie(ne)?tt==="0"?Fe=`>=${tt}.${ct}.0${Ze} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.0${Ze} <${+tt+1}.0.0-0`:ge?(m("replaceCaret pr",ge),tt==="0"?ct==="0"?Fe=`>=${tt}.${ct}.${ne}-${ge} <${tt}.${ct}.${+ne+1}-0`:Fe=`>=${tt}.${ct}.${ne}-${ge} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.${ne}-${ge} <${+tt+1}.0.0-0`):(m("no pr"),tt==="0"?ct==="0"?Fe=`>=${tt}.${ct}.${ne}${Ze} <${tt}.${ct}.${+ne+1}-0`:Fe=`>=${tt}.${ct}.${ne}${Ze} <${tt}.${+ct+1}.0-0`:Fe=`>=${tt}.${ct}.${ne} <${+tt+1}.0.0-0`),m("caret return",Fe),Fe})},Pe=(ee,je)=>(m("replaceXRanges",ee,je),ee.split(/\s+/).map(nt=>R(nt,je)).join(" ")),R=(ee,je)=>{ee=ee.trim();let nt=je.loose?d[E.XRANGELOOSE]:d[E.XRANGE];return ee.replace(nt,(Ze,st,tt,ct,ne,ge)=>{m("xRange",ee,Ze,st,tt,ct,ne,ge);let Fe=Ie(tt),at=Fe||Ie(ct),Pt=at||Ie(ne),qt=Pt;return st==="="&&qt&&(st=""),ge=je.includePrerelease?"-0":"",Fe?st===">"||st==="<"?Ze="<0.0.0-0":Ze="*":st&&qt?(at&&(ct=0),ne=0,st===">"?(st=">=",at?(tt=+tt+1,ct=0,ne=0):(ct=+ct+1,ne=0)):st==="<="&&(st="<",at?tt=+tt+1:ct=+ct+1),st==="<"&&(ge="-0"),Ze=`${st+tt}.${ct}.${ne}${ge}`):at?Ze=`>=${tt}.0.0${ge} <${+tt+1}.0.0-0`:Pt&&(Ze=`>=${tt}.${ct}.0${ge} <${tt}.${+ct+1}.0-0`),m("xRange return",Ze),Ze})},pe=(ee,je)=>(m("replaceStars",ee,je),ee.trim().replace(d[E.STAR],"")),ke=(ee,je)=>(m("replaceGTE0",ee,je),ee.trim().replace(d[je.includePrerelease?E.GTE0PRE:E.GTE0],"")),Je=ee=>(je,nt,Ze,st,tt,ct,ne,ge,Fe,at,Pt,qt,Zr)=>(Ie(Ze)?nt="":Ie(st)?nt=`>=${Ze}.0.0${ee?"-0":""}`:Ie(tt)?nt=`>=${Ze}.${st}.0${ee?"-0":""}`:ct?nt=`>=${nt}`:nt=`>=${nt}${ee?"-0":""}`,Ie(Fe)?ge="":Ie(at)?ge=`<${+Fe+1}.0.0-0`:Ie(Pt)?ge=`<${Fe}.${+at+1}.0-0`:qt?ge=`<=${Fe}.${at}.${Pt}-${qt}`:ee?ge=`<${Fe}.${at}.${+Pt+1}-0`:ge=`<=${ge}`,`${nt} ${ge}`.trim()),Xe=(ee,je,nt)=>{for(let Ze=0;Ze0){let st=ee[Ze].semver;if(st.major===je.major&&st.minor===je.minor&&st.patch===je.patch)return!0}return!1}return!0}}}),b1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/classes/comparator.js"(a,_){De();var v=Symbol("SemVer ANY"),h=class{static get ANY(){return v}constructor(I,c){if(c=D(c),I instanceof h){if(I.loose===!!c.loose)return I;I=I.value}C("comparator",I,c),this.options=c,this.loose=!!c.loose,this.parse(I),this.semver===v?this.value="":this.value=this.operator+this.semver.version,C("comp",this)}parse(I){let c=this.options.loose?P[y.COMPARATORLOOSE]:P[y.COMPARATOR],M=I.match(c);if(!M)throw new TypeError(`Invalid comparator: ${I}`);this.operator=M[1]!==void 0?M[1]:"",this.operator==="="&&(this.operator=""),M[2]?this.semver=new d(M[2],this.options.loose):this.semver=v}toString(){return this.value}test(I){if(C("Comparator.test",I,this.options.loose),this.semver===v||I===v)return!0;if(typeof I=="string")try{I=new d(I,this.options)}catch{return!1}return m(I,this.operator,this.semver,this.options)}intersects(I,c){if(!(I instanceof h))throw new TypeError("a Comparator is required");if((!c||typeof c!="object")&&(c={loose:!!c,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new E(I.value,c).test(this.value);if(I.operator==="")return I.value===""?!0:new E(this.value,c).test(I.semver);let M=(this.operator===">="||this.operator===">")&&(I.operator===">="||I.operator===">"),q=(this.operator==="<="||this.operator==="<")&&(I.operator==="<="||I.operator==="<"),W=this.semver.version===I.semver.version,K=(this.operator===">="||this.operator==="<=")&&(I.operator===">="||I.operator==="<="),ce=m(this.semver,"<",I.semver,c)&&(this.operator===">="||this.operator===">")&&(I.operator==="<="||I.operator==="<"),Ie=m(this.semver,">",I.semver,c)&&(this.operator==="<="||this.operator==="<")&&(I.operator===">="||I.operator===">");return M||q||W&&K||ce||Ie}};_.exports=h;var D=y1(),{re:P,t:y}=Bc(),m=V9(),C=g1(),d=Bn(),E=ca()}}),T1=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/functions/satisfies.js"(a,_){De();var v=ca(),h=(D,P,y)=>{try{P=new v(P,y)}catch{return!1}return P.test(D)};_.exports=h}}),HW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/to-comparators.js"(a,_){De();var v=ca(),h=(D,P)=>new v(D,P).set.map(y=>y.map(m=>m.value).join(" ").trim().split(" "));_.exports=h}}),GW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/max-satisfying.js"(a,_){De();var v=Bn(),h=ca(),D=(P,y,m)=>{let C=null,d=null,E=null;try{E=new h(y,m)}catch{return null}return P.forEach(I=>{E.test(I)&&(!C||d.compare(I)===-1)&&(C=I,d=new v(C,m))}),C};_.exports=D}}),$W=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-satisfying.js"(a,_){De();var v=Bn(),h=ca(),D=(P,y,m)=>{let C=null,d=null,E=null;try{E=new h(y,m)}catch{return null}return P.forEach(I=>{E.test(I)&&(!C||d.compare(I)===1)&&(C=I,d=new v(C,m))}),C};_.exports=D}}),KW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/min-version.js"(a,_){De();var v=Bn(),h=ca(),D=v1(),P=(y,m)=>{y=new h(y,m);let C=new v("0.0.0");if(y.test(C)||(C=new v("0.0.0-0"),y.test(C)))return C;C=null;for(let d=0;d{let M=new v(c.semver.version);switch(c.operator){case">":M.prerelease.length===0?M.patch++:M.prerelease.push(0),M.raw=M.format();case"":case">=":(!I||D(M,I))&&(I=M);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),I&&(!C||D(C,I))&&(C=I)}return C&&y.test(C)?C:null};_.exports=P}}),XW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/valid.js"(a,_){De();var v=ca(),h=(D,P)=>{try{return new v(D,P).range||"*"}catch{return null}};_.exports=h}}),uT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/outside.js"(a,_){De();var v=Bn(),h=b1(),{ANY:D}=h,P=ca(),y=T1(),m=v1(),C=_T(),d=lT(),E=cT(),I=(c,M,q,W)=>{c=new v(c,W),M=new P(M,W);let K,ce,Ie,me,Ae;switch(q){case">":K=m,ce=d,Ie=C,me=">",Ae=">=";break;case"<":K=C,ce=E,Ie=m,me="<",Ae="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(y(c,M,W))return!1;for(let te=0;te{pe.semver===D&&(pe=new h(">=0.0.0")),Pe=Pe||pe,R=R||pe,K(pe.semver,Pe.semver,W)?Pe=pe:Ie(pe.semver,R.semver,W)&&(R=pe)}),Pe.operator===me||Pe.operator===Ae||(!R.operator||R.operator===me)&&ce(c,R.semver))return!1;if(R.operator===Ae&&Ie(c,R.semver))return!1}return!0};_.exports=I}}),YW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/gtr.js"(a,_){De();var v=uT(),h=(D,P,y)=>v(D,P,">",y);_.exports=h}}),QW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/ltr.js"(a,_){De();var v=uT(),h=(D,P,y)=>v(D,P,"<",y);_.exports=h}}),ZW=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/intersects.js"(a,_){De();var v=ca(),h=(D,P,y)=>(D=new v(D,y),P=new v(P,y),D.intersects(P));_.exports=h}}),eV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/ranges/simplify.js"(a,_){De();var v=T1(),h=_a();_.exports=(D,P,y)=>{let m=[],C=null,d=null,E=D.sort((q,W)=>h(q,W,y));for(let q of E)v(q,P,y)?(d=q,C||(C=q)):(d&&m.push([C,d]),d=null,C=null);C&&m.push([C,null]);let I=[];for(let[q,W]of m)q===W?I.push(q):!W&&q===E[0]?I.push("*"):W?q===E[0]?I.push(`<=${W}`):I.push(`${q} - ${W}`):I.push(`>=${q}`);let c=I.join(" || "),M=typeof P.raw=="string"?P.raw:String(P);return c.length2&&arguments[2]!==void 0?arguments[2]:{};if(I===c)return!0;I=new v(I,M),c=new v(c,M);let q=!1;e:for(let W of I.set){for(let K of c.set){let ce=C(W,K,M);if(q=q||ce!==null,ce)continue e}if(q)return!1}return!0},C=(I,c,M)=>{if(I===c)return!0;if(I.length===1&&I[0].semver===D){if(c.length===1&&c[0].semver===D)return!0;M.includePrerelease?I=[new h(">=0.0.0-0")]:I=[new h(">=0.0.0")]}if(c.length===1&&c[0].semver===D){if(M.includePrerelease)return!0;c=[new h(">=0.0.0")]}let q=new Set,W,K;for(let R of I)R.operator===">"||R.operator===">="?W=d(W,R,M):R.operator==="<"||R.operator==="<="?K=E(K,R,M):q.add(R.semver);if(q.size>1)return null;let ce;if(W&&K){if(ce=y(W.semver,K.semver,M),ce>0)return null;if(ce===0&&(W.operator!==">="||K.operator!=="<="))return null}for(let R of q){if(W&&!P(R,String(W),M)||K&&!P(R,String(K),M))return null;for(let pe of c)if(!P(R,String(pe),M))return!1;return!0}let Ie,me,Ae,te,he=K&&!M.includePrerelease&&K.semver.prerelease.length?K.semver:!1,Pe=W&&!M.includePrerelease&&W.semver.prerelease.length?W.semver:!1;he&&he.prerelease.length===1&&K.operator==="<"&&he.prerelease[0]===0&&(he=!1);for(let R of c){if(te=te||R.operator===">"||R.operator===">=",Ae=Ae||R.operator==="<"||R.operator==="<=",W){if(Pe&&R.semver.prerelease&&R.semver.prerelease.length&&R.semver.major===Pe.major&&R.semver.minor===Pe.minor&&R.semver.patch===Pe.patch&&(Pe=!1),R.operator===">"||R.operator===">="){if(Ie=d(W,R,M),Ie===R&&Ie!==W)return!1}else if(W.operator===">="&&!P(W.semver,String(R),M))return!1}if(K){if(he&&R.semver.prerelease&&R.semver.prerelease.length&&R.semver.major===he.major&&R.semver.minor===he.minor&&R.semver.patch===he.patch&&(he=!1),R.operator==="<"||R.operator==="<="){if(me=E(K,R,M),me===R&&me!==K)return!1}else if(K.operator==="<="&&!P(K.semver,String(R),M))return!1}if(!R.operator&&(K||W)&&ce!==0)return!1}return!(W&&Ae&&!K&&ce!==0||K&&te&&!W&&ce!==0||Pe||he)},d=(I,c,M)=>{if(!I)return c;let q=y(I.semver,c.semver,M);return q>0?I:q<0||c.operator===">"&&I.operator===">="?c:I},E=(I,c,M)=>{if(!I)return c;let q=y(I.semver,c.semver,M);return q<0?I:q>0||c.operator==="<"&&I.operator==="<="?c:I};_.exports=m}}),pT=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/semver/index.js"(a,_){De();var v=Bc(),h=h1(),D=Bn(),P=z9(),y=qc(),m=kW(),C=IW(),d=NW(),E=OW(),I=MW(),c=LW(),M=RW(),q=jW(),W=_a(),K=JW(),ce=FW(),Ie=oT(),me=BW(),Ae=qW(),te=v1(),he=_T(),Pe=sT(),R=W9(),pe=cT(),ke=lT(),Je=V9(),Xe=UW(),ee=b1(),je=ca(),nt=T1(),Ze=HW(),st=GW(),tt=$W(),ct=KW(),ne=XW(),ge=uT(),Fe=YW(),at=QW(),Pt=ZW(),qt=eV(),Zr=tV();_.exports={parse:y,valid:m,clean:C,inc:d,diff:E,major:I,minor:c,patch:M,prerelease:q,compare:W,rcompare:K,compareLoose:ce,compareBuild:Ie,sort:me,rsort:Ae,gt:te,lt:he,eq:Pe,neq:R,gte:pe,lte:ke,cmp:Je,coerce:Xe,Comparator:ee,Range:je,satisfies:nt,toComparators:Ze,maxSatisfying:st,minSatisfying:tt,minVersion:ct,validRange:ne,outside:ge,gtr:Fe,ltr:at,intersects:Pt,simplifyRange:qt,subset:Zr,SemVer:D,re:v.re,src:v.src,tokens:v.t,SEMVER_SPEC_VERSION:h.SEMVER_SPEC_VERSION,compareIdentifiers:P.compareIdentifiers,rcompareIdentifiers:P.rcompareIdentifiers}}}),S1=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/version-check.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__setModuleDefault||(Object.create?function(C,d){Object.defineProperty(C,"default",{enumerable:!0,value:d})}:function(C,d){C.default=d}),h=a&&a.__importStar||function(C){if(C&&C.__esModule)return C;var d={};if(C!=null)for(var E in C)E!=="default"&&Object.prototype.hasOwnProperty.call(C,E)&&_(d,C,E);return v(d,C),d};Object.defineProperty(a,"__esModule",{value:!0}),a.typescriptVersionIsAtLeast=void 0;var D=h(pT()),P=h(vr()),y=["3.7","3.8","3.9","4.0","4.1","4.2","4.3","4.4","4.5","4.6","4.7","4.8","4.9","5.0"],m={};a.typescriptVersionIsAtLeast=m;for(let C of y)m[C]=!0}}),fT=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/getModifiers.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E};Object.defineProperty(a,"__esModule",{value:!0}),a.getDecorators=a.getModifiers=void 0;var D=h(vr()),P=S1(),y=P.typescriptVersionIsAtLeast["4.8"];function m(d){var E;if(d!=null){if(y){if(D.canHaveModifiers(d)){let I=D.getModifiers(d);return I?Array.from(I):void 0}return}return(E=d.modifiers)===null||E===void 0?void 0:E.filter(I=>!D.isDecorator(I))}}a.getModifiers=m;function C(d){var E;if(d!=null){if(y){if(D.canHaveDecorators(d)){let I=D.getDecorators(d);return I?Array.from(I):void 0}return}return(E=d.decorators)===null||E===void 0?void 0:E.filter(D.isDecorator)}}a.getDecorators=C}}),rV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/jsx/xhtml-entities.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.xhtmlEntities=void 0,a.xhtmlEntities={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"}}}),H9=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/generated/ast-spec.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var _;(function(h){h.AccessorProperty="AccessorProperty",h.ArrayExpression="ArrayExpression",h.ArrayPattern="ArrayPattern",h.ArrowFunctionExpression="ArrowFunctionExpression",h.AssignmentExpression="AssignmentExpression",h.AssignmentPattern="AssignmentPattern",h.AwaitExpression="AwaitExpression",h.BinaryExpression="BinaryExpression",h.BlockStatement="BlockStatement",h.BreakStatement="BreakStatement",h.CallExpression="CallExpression",h.CatchClause="CatchClause",h.ChainExpression="ChainExpression",h.ClassBody="ClassBody",h.ClassDeclaration="ClassDeclaration",h.ClassExpression="ClassExpression",h.ConditionalExpression="ConditionalExpression",h.ContinueStatement="ContinueStatement",h.DebuggerStatement="DebuggerStatement",h.Decorator="Decorator",h.DoWhileStatement="DoWhileStatement",h.EmptyStatement="EmptyStatement",h.ExportAllDeclaration="ExportAllDeclaration",h.ExportDefaultDeclaration="ExportDefaultDeclaration",h.ExportNamedDeclaration="ExportNamedDeclaration",h.ExportSpecifier="ExportSpecifier",h.ExpressionStatement="ExpressionStatement",h.ForInStatement="ForInStatement",h.ForOfStatement="ForOfStatement",h.ForStatement="ForStatement",h.FunctionDeclaration="FunctionDeclaration",h.FunctionExpression="FunctionExpression",h.Identifier="Identifier",h.IfStatement="IfStatement",h.ImportAttribute="ImportAttribute",h.ImportDeclaration="ImportDeclaration",h.ImportDefaultSpecifier="ImportDefaultSpecifier",h.ImportExpression="ImportExpression",h.ImportNamespaceSpecifier="ImportNamespaceSpecifier",h.ImportSpecifier="ImportSpecifier",h.JSXAttribute="JSXAttribute",h.JSXClosingElement="JSXClosingElement",h.JSXClosingFragment="JSXClosingFragment",h.JSXElement="JSXElement",h.JSXEmptyExpression="JSXEmptyExpression",h.JSXExpressionContainer="JSXExpressionContainer",h.JSXFragment="JSXFragment",h.JSXIdentifier="JSXIdentifier",h.JSXMemberExpression="JSXMemberExpression",h.JSXNamespacedName="JSXNamespacedName",h.JSXOpeningElement="JSXOpeningElement",h.JSXOpeningFragment="JSXOpeningFragment",h.JSXSpreadAttribute="JSXSpreadAttribute",h.JSXSpreadChild="JSXSpreadChild",h.JSXText="JSXText",h.LabeledStatement="LabeledStatement",h.Literal="Literal",h.LogicalExpression="LogicalExpression",h.MemberExpression="MemberExpression",h.MetaProperty="MetaProperty",h.MethodDefinition="MethodDefinition",h.NewExpression="NewExpression",h.ObjectExpression="ObjectExpression",h.ObjectPattern="ObjectPattern",h.PrivateIdentifier="PrivateIdentifier",h.Program="Program",h.Property="Property",h.PropertyDefinition="PropertyDefinition",h.RestElement="RestElement",h.ReturnStatement="ReturnStatement",h.SequenceExpression="SequenceExpression",h.SpreadElement="SpreadElement",h.StaticBlock="StaticBlock",h.Super="Super",h.SwitchCase="SwitchCase",h.SwitchStatement="SwitchStatement",h.TaggedTemplateExpression="TaggedTemplateExpression",h.TemplateElement="TemplateElement",h.TemplateLiteral="TemplateLiteral",h.ThisExpression="ThisExpression",h.ThrowStatement="ThrowStatement",h.TryStatement="TryStatement",h.UnaryExpression="UnaryExpression",h.UpdateExpression="UpdateExpression",h.VariableDeclaration="VariableDeclaration",h.VariableDeclarator="VariableDeclarator",h.WhileStatement="WhileStatement",h.WithStatement="WithStatement",h.YieldExpression="YieldExpression",h.TSAbstractAccessorProperty="TSAbstractAccessorProperty",h.TSAbstractKeyword="TSAbstractKeyword",h.TSAbstractMethodDefinition="TSAbstractMethodDefinition",h.TSAbstractPropertyDefinition="TSAbstractPropertyDefinition",h.TSAnyKeyword="TSAnyKeyword",h.TSArrayType="TSArrayType",h.TSAsExpression="TSAsExpression",h.TSAsyncKeyword="TSAsyncKeyword",h.TSBigIntKeyword="TSBigIntKeyword",h.TSBooleanKeyword="TSBooleanKeyword",h.TSCallSignatureDeclaration="TSCallSignatureDeclaration",h.TSClassImplements="TSClassImplements",h.TSConditionalType="TSConditionalType",h.TSConstructorType="TSConstructorType",h.TSConstructSignatureDeclaration="TSConstructSignatureDeclaration",h.TSDeclareFunction="TSDeclareFunction",h.TSDeclareKeyword="TSDeclareKeyword",h.TSEmptyBodyFunctionExpression="TSEmptyBodyFunctionExpression",h.TSEnumDeclaration="TSEnumDeclaration",h.TSEnumMember="TSEnumMember",h.TSExportAssignment="TSExportAssignment",h.TSExportKeyword="TSExportKeyword",h.TSExternalModuleReference="TSExternalModuleReference",h.TSFunctionType="TSFunctionType",h.TSInstantiationExpression="TSInstantiationExpression",h.TSImportEqualsDeclaration="TSImportEqualsDeclaration",h.TSImportType="TSImportType",h.TSIndexedAccessType="TSIndexedAccessType",h.TSIndexSignature="TSIndexSignature",h.TSInferType="TSInferType",h.TSInterfaceBody="TSInterfaceBody",h.TSInterfaceDeclaration="TSInterfaceDeclaration",h.TSInterfaceHeritage="TSInterfaceHeritage",h.TSIntersectionType="TSIntersectionType",h.TSIntrinsicKeyword="TSIntrinsicKeyword",h.TSLiteralType="TSLiteralType",h.TSMappedType="TSMappedType",h.TSMethodSignature="TSMethodSignature",h.TSModuleBlock="TSModuleBlock",h.TSModuleDeclaration="TSModuleDeclaration",h.TSNamedTupleMember="TSNamedTupleMember",h.TSNamespaceExportDeclaration="TSNamespaceExportDeclaration",h.TSNeverKeyword="TSNeverKeyword",h.TSNonNullExpression="TSNonNullExpression",h.TSNullKeyword="TSNullKeyword",h.TSNumberKeyword="TSNumberKeyword",h.TSObjectKeyword="TSObjectKeyword",h.TSOptionalType="TSOptionalType",h.TSParameterProperty="TSParameterProperty",h.TSPrivateKeyword="TSPrivateKeyword",h.TSPropertySignature="TSPropertySignature",h.TSProtectedKeyword="TSProtectedKeyword",h.TSPublicKeyword="TSPublicKeyword",h.TSQualifiedName="TSQualifiedName",h.TSReadonlyKeyword="TSReadonlyKeyword",h.TSRestType="TSRestType",h.TSSatisfiesExpression="TSSatisfiesExpression",h.TSStaticKeyword="TSStaticKeyword",h.TSStringKeyword="TSStringKeyword",h.TSSymbolKeyword="TSSymbolKeyword",h.TSTemplateLiteralType="TSTemplateLiteralType",h.TSThisType="TSThisType",h.TSTupleType="TSTupleType",h.TSTypeAliasDeclaration="TSTypeAliasDeclaration",h.TSTypeAnnotation="TSTypeAnnotation",h.TSTypeAssertion="TSTypeAssertion",h.TSTypeLiteral="TSTypeLiteral",h.TSTypeOperator="TSTypeOperator",h.TSTypeParameter="TSTypeParameter",h.TSTypeParameterDeclaration="TSTypeParameterDeclaration",h.TSTypeParameterInstantiation="TSTypeParameterInstantiation",h.TSTypePredicate="TSTypePredicate",h.TSTypeQuery="TSTypeQuery",h.TSTypeReference="TSTypeReference",h.TSUndefinedKeyword="TSUndefinedKeyword",h.TSUnionType="TSUnionType",h.TSUnknownKeyword="TSUnknownKeyword",h.TSVoidKeyword="TSVoidKeyword"})(_=a.AST_NODE_TYPES||(a.AST_NODE_TYPES={}));var v;(function(h){h.Boolean="Boolean",h.Identifier="Identifier",h.JSXIdentifier="JSXIdentifier",h.JSXText="JSXText",h.Keyword="Keyword",h.Null="Null",h.Numeric="Numeric",h.Punctuator="Punctuator",h.RegularExpression="RegularExpression",h.String="String",h.Template="Template",h.Block="Block",h.Line="Line"})(v=a.AST_TOKEN_TYPES||(a.AST_TOKEN_TYPES={}))}}),nV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/lib.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),iV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/parser-options.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),aV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/ts-estree.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__setModuleDefault||(Object.create?function(D,P){Object.defineProperty(D,"default",{enumerable:!0,value:P})}:function(D,P){D.default=P}),h=a&&a.__importStar||function(D){if(D&&D.__esModule)return D;var P={};if(D!=null)for(var y in D)y!=="default"&&Object.prototype.hasOwnProperty.call(D,y)&&_(P,D,y);return v(P,D),P};Object.defineProperty(a,"__esModule",{value:!0}),a.TSESTree=void 0,a.TSESTree=h(H9())}}),sV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types/dist/index.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__exportStar||function(D,P){for(var y in D)y!=="default"&&!Object.prototype.hasOwnProperty.call(P,y)&&_(P,D,y)};Object.defineProperty(a,"__esModule",{value:!0}),a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var h=H9();Object.defineProperty(a,"AST_NODE_TYPES",{enumerable:!0,get:function(){return h.AST_NODE_TYPES}}),Object.defineProperty(a,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return h.AST_TOKEN_TYPES}}),v(nV(),a),v(iV(),a),v(aV(),a)}}),oV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),_V=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0})}}),x1=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(D,P,y,m){m===void 0&&(m=y);var C=Object.getOwnPropertyDescriptor(P,y);(!C||("get"in C?!P.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return P[y]}}),Object.defineProperty(D,m,C)}:function(D,P,y,m){m===void 0&&(m=y),D[m]=P[y]}),v=a&&a.__exportStar||function(D,P){for(var y in D)y!=="default"&&!Object.prototype.hasOwnProperty.call(P,y)&&_(P,D,y)};Object.defineProperty(a,"__esModule",{value:!0}),a.TSESTree=a.AST_TOKEN_TYPES=a.AST_NODE_TYPES=void 0;var h=sV();Object.defineProperty(a,"AST_NODE_TYPES",{enumerable:!0,get:function(){return h.AST_NODE_TYPES}}),Object.defineProperty(a,"AST_TOKEN_TYPES",{enumerable:!0,get:function(){return h.AST_TOKEN_TYPES}}),Object.defineProperty(a,"TSESTree",{enumerable:!0,get:function(){return h.TSESTree}}),v(oV(),a),v(_V(),a)}}),E1=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/node-utils.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(be,Ke,Et,Ft){Ft===void 0&&(Ft=Et);var or=Object.getOwnPropertyDescriptor(Ke,Et);(!or||("get"in or?!Ke.__esModule:or.writable||or.configurable))&&(or={enumerable:!0,get:function(){return Ke[Et]}}),Object.defineProperty(be,Ft,or)}:function(be,Ke,Et,Ft){Ft===void 0&&(Ft=Et),be[Ft]=Ke[Et]}),v=a&&a.__setModuleDefault||(Object.create?function(be,Ke){Object.defineProperty(be,"default",{enumerable:!0,value:Ke})}:function(be,Ke){be.default=Ke}),h=a&&a.__importStar||function(be){if(be&&be.__esModule)return be;var Ke={};if(be!=null)for(var Et in be)Et!=="default"&&Object.prototype.hasOwnProperty.call(be,Et)&&_(Ke,be,Et);return v(Ke,be),Ke};Object.defineProperty(a,"__esModule",{value:!0}),a.isThisInTypeQuery=a.isThisIdentifier=a.identifierIsThisKeyword=a.firstDefined=a.nodeHasTokens=a.createError=a.TSError=a.convertTokens=a.convertToken=a.getTokenType=a.isChildUnwrappableOptionalChain=a.isChainExpression=a.isOptional=a.isComputedProperty=a.unescapeStringLiteralText=a.hasJSXAncestor=a.findFirstMatchingAncestor=a.findNextToken=a.getTSNodeAccessibility=a.getDeclarationKind=a.isJSXToken=a.isToken=a.getRange=a.canContainDirective=a.getLocFor=a.getLineAndCharacterFor=a.getBinaryExpressionType=a.isJSDocComment=a.isComment=a.isComma=a.getLastModifier=a.hasModifier=a.isESTreeClassMember=a.getTextForTokenKind=a.isLogicalOperator=a.isAssignmentOperator=void 0;var D=h(vr()),P=fT(),y=rV(),m=x1(),C=S1(),d=C.typescriptVersionIsAtLeast["5.0"],E=D.SyntaxKind,I=[E.BarBarToken,E.AmpersandAmpersandToken,E.QuestionQuestionToken];function c(be){return be.kind>=E.FirstAssignment&&be.kind<=E.LastAssignment}a.isAssignmentOperator=c;function M(be){return I.includes(be.kind)}a.isLogicalOperator=M;function q(be){return D.tokenToString(be)}a.getTextForTokenKind=q;function W(be){return be.kind!==E.SemicolonClassElement}a.isESTreeClassMember=W;function K(be,Ke){let Et=(0,P.getModifiers)(Ke);return(Et==null?void 0:Et.some(Ft=>Ft.kind===be))===!0}a.hasModifier=K;function ce(be){var Ke;let Et=(0,P.getModifiers)(be);return Et==null?null:(Ke=Et[Et.length-1])!==null&&Ke!==void 0?Ke:null}a.getLastModifier=ce;function Ie(be){return be.kind===E.CommaToken}a.isComma=Ie;function me(be){return be.kind===E.SingleLineCommentTrivia||be.kind===E.MultiLineCommentTrivia}a.isComment=me;function Ae(be){return be.kind===E.JSDocComment}a.isJSDocComment=Ae;function te(be){return c(be)?m.AST_NODE_TYPES.AssignmentExpression:M(be)?m.AST_NODE_TYPES.LogicalExpression:m.AST_NODE_TYPES.BinaryExpression}a.getBinaryExpressionType=te;function he(be,Ke){let Et=Ke.getLineAndCharacterOfPosition(be);return{line:Et.line+1,column:Et.character}}a.getLineAndCharacterFor=he;function Pe(be,Ke,Et){return{start:he(be,Et),end:he(Ke,Et)}}a.getLocFor=Pe;function R(be){if(be.kind===D.SyntaxKind.Block)switch(be.parent.kind){case D.SyntaxKind.Constructor:case D.SyntaxKind.GetAccessor:case D.SyntaxKind.SetAccessor:case D.SyntaxKind.ArrowFunction:case D.SyntaxKind.FunctionExpression:case D.SyntaxKind.FunctionDeclaration:case D.SyntaxKind.MethodDeclaration:return!0;default:return!1}return!0}a.canContainDirective=R;function pe(be,Ke){return[be.getStart(Ke),be.getEnd()]}a.getRange=pe;function ke(be){return be.kind>=E.FirstToken&&be.kind<=E.LastToken}a.isToken=ke;function Je(be){return be.kind>=E.JsxElement&&be.kind<=E.JsxAttribute}a.isJSXToken=Je;function Xe(be){return be.flags&D.NodeFlags.Let?"let":be.flags&D.NodeFlags.Const?"const":"var"}a.getDeclarationKind=Xe;function ee(be){let Ke=(0,P.getModifiers)(be);if(Ke==null)return null;for(let Et of Ke)switch(Et.kind){case E.PublicKeyword:return"public";case E.ProtectedKeyword:return"protected";case E.PrivateKeyword:return"private";default:break}return null}a.getTSNodeAccessibility=ee;function je(be,Ke,Et){return Ft(Ke);function Ft(or){return D.isToken(or)&&or.pos===be.end?or:la(or.getChildren(Et),Wr=>(Wr.pos<=be.pos&&Wr.end>be.end||Wr.pos===be.end)&&Ri(Wr,Et)?Ft(Wr):void 0)}}a.findNextToken=je;function nt(be,Ke){for(;be;){if(Ke(be))return be;be=be.parent}}a.findFirstMatchingAncestor=nt;function Ze(be){return!!nt(be,Je)}a.hasJSXAncestor=Ze;function st(be){return be.replace(/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,Ke=>{let Et=Ke.slice(1,-1);if(Et[0]==="#"){let Ft=Et[1]==="x"?parseInt(Et.slice(2),16):parseInt(Et.slice(1),10);return Ft>1114111?Ke:String.fromCodePoint(Ft)}return y.xhtmlEntities[Et]||Ke})}a.unescapeStringLiteralText=st;function tt(be){return be.kind===E.ComputedPropertyName}a.isComputedProperty=tt;function ct(be){return be.questionToken?be.questionToken.kind===E.QuestionToken:!1}a.isOptional=ct;function ne(be){return be.type===m.AST_NODE_TYPES.ChainExpression}a.isChainExpression=ne;function ge(be,Ke){return ne(Ke)&&be.expression.kind!==D.SyntaxKind.ParenthesizedExpression}a.isChildUnwrappableOptionalChain=ge;function Fe(be){let Ke;if(d&&be.kind===E.Identifier?Ke=D.identifierToKeywordKind(be):"originalKeywordKind"in be&&(Ke=be.originalKeywordKind),Ke)return Ke===E.NullKeyword?m.AST_TOKEN_TYPES.Null:Ke>=E.FirstFutureReservedWord&&Ke<=E.LastKeyword?m.AST_TOKEN_TYPES.Identifier:m.AST_TOKEN_TYPES.Keyword;if(be.kind>=E.FirstKeyword&&be.kind<=E.LastFutureReservedWord)return be.kind===E.FalseKeyword||be.kind===E.TrueKeyword?m.AST_TOKEN_TYPES.Boolean:m.AST_TOKEN_TYPES.Keyword;if(be.kind>=E.FirstPunctuation&&be.kind<=E.LastPunctuation)return m.AST_TOKEN_TYPES.Punctuator;if(be.kind>=E.NoSubstitutionTemplateLiteral&&be.kind<=E.TemplateTail)return m.AST_TOKEN_TYPES.Template;switch(be.kind){case E.NumericLiteral:return m.AST_TOKEN_TYPES.Numeric;case E.JsxText:return m.AST_TOKEN_TYPES.JSXText;case E.StringLiteral:return be.parent&&(be.parent.kind===E.JsxAttribute||be.parent.kind===E.JsxElement)?m.AST_TOKEN_TYPES.JSXText:m.AST_TOKEN_TYPES.String;case E.RegularExpressionLiteral:return m.AST_TOKEN_TYPES.RegularExpression;case E.Identifier:case E.ConstructorKeyword:case E.GetKeyword:case E.SetKeyword:default:}return be.parent&&be.kind===E.Identifier&&(Je(be.parent)||be.parent.kind===E.PropertyAccessExpression&&Ze(be))?m.AST_TOKEN_TYPES.JSXIdentifier:m.AST_TOKEN_TYPES.Identifier}a.getTokenType=Fe;function at(be,Ke){let Et=be.kind===E.JsxText?be.getFullStart():be.getStart(Ke),Ft=be.getEnd(),or=Ke.text.slice(Et,Ft),Wr=Fe(be);return Wr===m.AST_TOKEN_TYPES.RegularExpression?{type:Wr,value:or,range:[Et,Ft],loc:Pe(Et,Ft,Ke),regex:{pattern:or.slice(1,or.lastIndexOf("/")),flags:or.slice(or.lastIndexOf("/")+1)}}:{type:Wr,value:or,range:[Et,Ft],loc:Pe(Et,Ft,Ke)}}a.convertToken=at;function Pt(be){let Ke=[];function Et(Ft){if(!(me(Ft)||Ae(Ft)))if(ke(Ft)&&Ft.kind!==E.EndOfFileToken){let or=at(Ft,be);or&&Ke.push(or)}else Ft.getChildren(be).forEach(Et)}return Et(be),Ke}a.convertTokens=Pt;var qt=class extends Error{constructor(be,Ke,Et,Ft,or){super(be),this.fileName=Ke,this.index=Et,this.lineNumber=Ft,this.column=or,Object.defineProperty(this,"name",{value:new.target.name,enumerable:!1,configurable:!0})}};a.TSError=qt;function Zr(be,Ke,Et){let Ft=be.getLineAndCharacterOfPosition(Ke);return new qt(Et,be.fileName,Ke,Ft.line+1,Ft.character)}a.createError=Zr;function Ri(be,Ke){return be.kind===E.EndOfFileToken?!!be.jsDoc:be.getWidth(Ke)!==0}a.nodeHasTokens=Ri;function la(be,Ke){if(be!==void 0)for(let Et=0;Et{let K=this.convertChild(W);if(q)if(K!=null&&K.expression&&D.isExpressionStatement(W)&&D.isStringLiteral(W.expression)){let ce=K.expression.raw;return K.directive=ce.slice(1,-1),K}else q=!1;return K}).filter(W=>W)}convertTypeArgumentsToTypeParameters(c,M){let q=(0,y.findNextToken)(c,this.ast,this.ast);return this.createNode(M,{type:m.AST_NODE_TYPES.TSTypeParameterInstantiation,range:[c.pos-1,q.end],params:c.map(W=>this.convertType(W))})}convertTSTypeParametersToTypeParametersDeclaration(c){let M=(0,y.findNextToken)(c,this.ast,this.ast);return{type:m.AST_NODE_TYPES.TSTypeParameterDeclaration,range:[c.pos-1,M.end],loc:(0,y.getLocFor)(c.pos-1,M.end,this.ast),params:c.map(q=>this.convertType(q))}}convertParameters(c){return c!=null&&c.length?c.map(M=>{let q=this.convertChild(M),W=(0,P.getDecorators)(M);return W!=null&&W.length&&(q.decorators=W.map(K=>this.convertChild(K))),q}):[]}convertChainExpression(c,M){let{child:q,isOptional:W}=(()=>c.type===m.AST_NODE_TYPES.MemberExpression?{child:c.object,isOptional:c.optional}:c.type===m.AST_NODE_TYPES.CallExpression?{child:c.callee,isOptional:c.optional}:{child:c.expression,isOptional:!1})(),K=(0,y.isChildUnwrappableOptionalChain)(M,q);if(!K&&!W)return c;if(K&&(0,y.isChainExpression)(q)){let ce=q.expression;c.type===m.AST_NODE_TYPES.MemberExpression?c.object=ce:c.type===m.AST_NODE_TYPES.CallExpression?c.callee=ce:c.expression=ce}return this.createNode(M,{type:m.AST_NODE_TYPES.ChainExpression,expression:c})}deeplyCopy(c){if(c.kind===D.SyntaxKind.JSDocFunctionType)throw(0,y.createError)(this.ast,c.pos,"JSDoc types can only be used inside documentation comments.");let M=`TS${d[c.kind]}`;if(this.options.errorOnUnknownASTType&&!m.AST_NODE_TYPES[M])throw new Error(`Unknown AST_NODE_TYPE: "${M}"`);let q=this.createNode(c,{type:M});"type"in c&&(q.typeAnnotation=c.type&&"kind"in c.type&&D.isTypeNode(c.type)?this.convertTypeAnnotation(c.type,c):null),"typeArguments"in c&&(q.typeParameters=c.typeArguments&&"pos"in c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):null),"typeParameters"in c&&(q.typeParameters=c.typeParameters&&"pos"in c.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters):null);let W=(0,P.getDecorators)(c);W!=null&&W.length&&(q.decorators=W.map(ce=>this.convertChild(ce)));let K=new Set(["_children","decorators","end","flags","illegalDecorators","heritageClauses","locals","localSymbol","jsDoc","kind","modifierFlagsCache","modifiers","nextContainer","parent","pos","symbol","transformFlags","type","typeArguments","typeParameters"]);return Object.entries(c).filter(ce=>{let[Ie]=ce;return!K.has(Ie)}).forEach(ce=>{let[Ie,me]=ce;Array.isArray(me)?q[Ie]=me.map(Ae=>this.convertChild(Ae)):me&&typeof me=="object"&&me.kind?q[Ie]=this.convertChild(me):q[Ie]=me}),q}convertJSXIdentifier(c){let M=this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:c.getText()});return this.registerTSNodeInNodeMap(c,M),M}convertJSXNamespaceOrIdentifier(c){let M=c.getText(),q=M.indexOf(":");if(q>0){let W=(0,y.getRange)(c,this.ast),K=this.createNode(c,{type:m.AST_NODE_TYPES.JSXNamespacedName,namespace:this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:M.slice(0,q),range:[W[0],W[0]+q]}),name:this.createNode(c,{type:m.AST_NODE_TYPES.JSXIdentifier,name:M.slice(q+1),range:[W[0]+q+1,W[1]]}),range:W});return this.registerTSNodeInNodeMap(c,K),K}return this.convertJSXIdentifier(c)}convertJSXTagName(c,M){let q;switch(c.kind){case d.PropertyAccessExpression:if(c.name.kind===d.PrivateIdentifier)throw new Error("Non-private identifier expected.");q=this.createNode(c,{type:m.AST_NODE_TYPES.JSXMemberExpression,object:this.convertJSXTagName(c.expression,M),property:this.convertJSXIdentifier(c.name)});break;case d.ThisKeyword:case d.Identifier:default:return this.convertJSXNamespaceOrIdentifier(c)}return this.registerTSNodeInNodeMap(c,q),q}convertMethodSignature(c){let M=this.createNode(c,{type:m.AST_NODE_TYPES.TSMethodSignature,computed:(0,y.isComputedProperty)(c.name),key:this.convertChild(c.name),params:this.convertParameters(c.parameters),kind:(()=>{switch(c.kind){case d.GetAccessor:return"get";case d.SetAccessor:return"set";case d.MethodSignature:return"method"}})()});(0,y.isOptional)(c)&&(M.optional=!0),c.type&&(M.returnType=this.convertTypeAnnotation(c.type,c)),(0,y.hasModifier)(d.ReadonlyKeyword,c)&&(M.readonly=!0),c.typeParameters&&(M.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters));let q=(0,y.getTSNodeAccessibility)(c);return q&&(M.accessibility=q),(0,y.hasModifier)(d.ExportKeyword,c)&&(M.export=!0),(0,y.hasModifier)(d.StaticKeyword,c)&&(M.static=!0),M}convertAssertClasue(c){return c===void 0?[]:c.elements.map(M=>this.convertChild(M))}applyModifiersToResult(c,M){if(!M)return;let q=[];for(let W of M)switch(W.kind){case d.ExportKeyword:case d.DefaultKeyword:break;case d.ConstKeyword:c.const=!0;break;case d.DeclareKeyword:c.declare=!0;break;default:q.push(this.convertChild(W));break}q.length>0&&(c.modifiers=q)}fixParentLocation(c,M){M[0]c.range[1]&&(c.range[1]=M[1],c.loc.end=(0,y.getLineAndCharacterFor)(c.range[1],this.ast))}assertModuleSpecifier(c,M){var q;if(!M&&c.moduleSpecifier==null)throw(0,y.createError)(this.ast,c.pos,"Module specifier must be a string literal.");if(c.moduleSpecifier&&((q=c.moduleSpecifier)===null||q===void 0?void 0:q.kind)!==d.StringLiteral)throw(0,y.createError)(this.ast,c.moduleSpecifier.pos,"Module specifier must be a string literal.")}convertNode(c,M){var q,W,K,ce,Ie,me,Ae,te,he,Pe;switch(c.kind){case d.SourceFile:return this.createNode(c,{type:m.AST_NODE_TYPES.Program,body:this.convertBodyExpressions(c.statements,c),sourceType:c.externalModuleIndicator?"module":"script",range:[c.getStart(this.ast),c.endOfFileToken.end]});case d.Block:return this.createNode(c,{type:m.AST_NODE_TYPES.BlockStatement,body:this.convertBodyExpressions(c.statements,c)});case d.Identifier:return(0,y.isThisInTypeQuery)(c)?this.createNode(c,{type:m.AST_NODE_TYPES.ThisExpression}):this.createNode(c,{type:m.AST_NODE_TYPES.Identifier,name:c.text});case d.PrivateIdentifier:return this.createNode(c,{type:m.AST_NODE_TYPES.PrivateIdentifier,name:c.text.slice(1)});case d.WithStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.WithStatement,object:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ReturnStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ReturnStatement,argument:this.convertChild(c.expression)});case d.LabeledStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.LabeledStatement,label:this.convertChild(c.label),body:this.convertChild(c.statement)});case d.ContinueStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ContinueStatement,label:this.convertChild(c.label)});case d.BreakStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.BreakStatement,label:this.convertChild(c.label)});case d.IfStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.IfStatement,test:this.convertChild(c.expression),consequent:this.convertChild(c.thenStatement),alternate:this.convertChild(c.elseStatement)});case d.SwitchStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.SwitchStatement,discriminant:this.convertChild(c.expression),cases:c.caseBlock.clauses.map(R=>this.convertChild(R))});case d.CaseClause:case d.DefaultClause:return this.createNode(c,{type:m.AST_NODE_TYPES.SwitchCase,test:c.kind===d.CaseClause?this.convertChild(c.expression):null,consequent:c.statements.map(R=>this.convertChild(R))});case d.ThrowStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ThrowStatement,argument:this.convertChild(c.expression)});case d.TryStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.TryStatement,block:this.convertChild(c.tryBlock),handler:this.convertChild(c.catchClause),finalizer:this.convertChild(c.finallyBlock)});case d.CatchClause:return this.createNode(c,{type:m.AST_NODE_TYPES.CatchClause,param:c.variableDeclaration?this.convertBindingNameWithTypeAnnotation(c.variableDeclaration.name,c.variableDeclaration.type):null,body:this.convertChild(c.block)});case d.WhileStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.WhileStatement,test:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.DoStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.DoWhileStatement,test:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ForStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForStatement,init:this.convertChild(c.initializer),test:this.convertChild(c.condition),update:this.convertChild(c.incrementor),body:this.convertChild(c.statement)});case d.ForInStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForInStatement,left:this.convertPattern(c.initializer),right:this.convertChild(c.expression),body:this.convertChild(c.statement)});case d.ForOfStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ForOfStatement,left:this.convertPattern(c.initializer),right:this.convertChild(c.expression),body:this.convertChild(c.statement),await:Boolean(c.awaitModifier&&c.awaitModifier.kind===d.AwaitKeyword)});case d.FunctionDeclaration:{let R=(0,y.hasModifier)(d.DeclareKeyword,c),pe=this.createNode(c,{type:R||!c.body?m.AST_NODE_TYPES.TSDeclareFunction:m.AST_NODE_TYPES.FunctionDeclaration,id:this.convertChild(c.name),generator:!!c.asteriskToken,expression:!1,async:(0,y.hasModifier)(d.AsyncKeyword,c),params:this.convertParameters(c.parameters),body:this.convertChild(c.body)||void 0});return c.type&&(pe.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R&&(pe.declare=!0),this.fixExports(c,pe)}case d.VariableDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclarator,id:this.convertBindingNameWithTypeAnnotation(c.name,c.type,c),init:this.convertChild(c.initializer)});return c.exclamationToken&&(R.definite=!0),R}case d.VariableStatement:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclaration,declarations:c.declarationList.declarations.map(pe=>this.convertChild(pe)),kind:(0,y.getDeclarationKind)(c.declarationList)});return(0,y.hasModifier)(d.DeclareKeyword,c)&&(R.declare=!0),this.fixExports(c,R)}case d.VariableDeclarationList:return this.createNode(c,{type:m.AST_NODE_TYPES.VariableDeclaration,declarations:c.declarations.map(R=>this.convertChild(R)),kind:(0,y.getDeclarationKind)(c)});case d.ExpressionStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.ExpressionStatement,expression:this.convertChild(c.expression)});case d.ThisKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.ThisExpression});case d.ArrayLiteralExpression:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.ArrayPattern,elements:c.elements.map(R=>this.convertPattern(R))}):this.createNode(c,{type:m.AST_NODE_TYPES.ArrayExpression,elements:c.elements.map(R=>this.convertChild(R))});case d.ObjectLiteralExpression:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.ObjectPattern,properties:c.properties.map(R=>this.convertPattern(R))}):this.createNode(c,{type:m.AST_NODE_TYPES.ObjectExpression,properties:c.properties.map(R=>this.convertChild(R))});case d.PropertyAssignment:return this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.converter(c.initializer,c,this.inTypeMode,this.allowPattern),computed:(0,y.isComputedProperty)(c.name),method:!1,shorthand:!1,kind:"init"});case d.ShorthandPropertyAssignment:return c.objectAssignmentInitializer?this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(c.name),right:this.convertChild(c.objectAssignmentInitializer)}),computed:!1,method:!1,shorthand:!0,kind:"init"}):this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:this.convertChild(c.name),computed:!1,method:!1,shorthand:!0,kind:"init"});case d.ComputedPropertyName:return this.convertChild(c.expression);case d.PropertyDeclaration:{let R=(0,y.hasModifier)(d.AbstractKeyword,c),pe=(0,y.hasModifier)(d.AccessorKeyword,c),ke=(()=>pe?R?m.AST_NODE_TYPES.TSAbstractAccessorProperty:m.AST_NODE_TYPES.AccessorProperty:R?m.AST_NODE_TYPES.TSAbstractPropertyDefinition:m.AST_NODE_TYPES.PropertyDefinition)(),Je=this.createNode(c,{type:ke,key:this.convertChild(c.name),value:R?null:this.convertChild(c.initializer),computed:(0,y.isComputedProperty)(c.name),static:(0,y.hasModifier)(d.StaticKeyword,c),readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,declare:(0,y.hasModifier)(d.DeclareKeyword,c),override:(0,y.hasModifier)(d.OverrideKeyword,c)});c.type&&(Je.typeAnnotation=this.convertTypeAnnotation(c.type,c));let Xe=(0,P.getDecorators)(c);Xe&&(Je.decorators=Xe.map(je=>this.convertChild(je)));let ee=(0,y.getTSNodeAccessibility)(c);return ee&&(Je.accessibility=ee),(c.name.kind===d.Identifier||c.name.kind===d.ComputedPropertyName||c.name.kind===d.PrivateIdentifier)&&c.questionToken&&(Je.optional=!0),c.exclamationToken&&(Je.definite=!0),Je.key.type===m.AST_NODE_TYPES.Literal&&c.questionToken&&(Je.optional=!0),Je}case d.GetAccessor:case d.SetAccessor:if(c.parent.kind===d.InterfaceDeclaration||c.parent.kind===d.TypeLiteral)return this.convertMethodSignature(c);case d.MethodDeclaration:{let R=this.createNode(c,{type:c.body?m.AST_NODE_TYPES.FunctionExpression:m.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,generator:!!c.asteriskToken,expression:!1,async:(0,y.hasModifier)(d.AsyncKeyword,c),body:this.convertChild(c.body),range:[c.parameters.pos-1,c.end],params:[]});c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters),this.fixParentLocation(R,R.typeParameters.range));let pe;if(M.kind===d.ObjectLiteralExpression)R.params=c.parameters.map(ke=>this.convertChild(ke)),pe=this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild(c.name),value:R,computed:(0,y.isComputedProperty)(c.name),method:c.kind===d.MethodDeclaration,shorthand:!1,kind:"init"});else{R.params=this.convertParameters(c.parameters);let ke=(0,y.hasModifier)(d.AbstractKeyword,c)?m.AST_NODE_TYPES.TSAbstractMethodDefinition:m.AST_NODE_TYPES.MethodDefinition;pe=this.createNode(c,{type:ke,key:this.convertChild(c.name),value:R,computed:(0,y.isComputedProperty)(c.name),static:(0,y.hasModifier)(d.StaticKeyword,c),kind:"method",override:(0,y.hasModifier)(d.OverrideKeyword,c)});let Je=(0,P.getDecorators)(c);Je&&(pe.decorators=Je.map(ee=>this.convertChild(ee)));let Xe=(0,y.getTSNodeAccessibility)(c);Xe&&(pe.accessibility=Xe)}return c.questionToken&&(pe.optional=!0),c.kind===d.GetAccessor?pe.kind="get":c.kind===d.SetAccessor?pe.kind="set":!pe.static&&c.name.kind===d.StringLiteral&&c.name.text==="constructor"&&pe.type!==m.AST_NODE_TYPES.Property&&(pe.kind="constructor"),pe}case d.Constructor:{let R=(0,y.getLastModifier)(c),pe=R&&(0,y.findNextToken)(R,c,this.ast)||c.getFirstToken(),ke=this.createNode(c,{type:c.body?m.AST_NODE_TYPES.FunctionExpression:m.AST_NODE_TYPES.TSEmptyBodyFunctionExpression,id:null,params:this.convertParameters(c.parameters),generator:!1,expression:!1,async:!1,body:this.convertChild(c.body),range:[c.parameters.pos-1,c.end]});c.typeParameters&&(ke.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters),this.fixParentLocation(ke,ke.typeParameters.range)),c.type&&(ke.returnType=this.convertTypeAnnotation(c.type,c));let Je=this.createNode(c,{type:m.AST_NODE_TYPES.Identifier,name:"constructor",range:[pe.getStart(this.ast),pe.end]}),Xe=(0,y.hasModifier)(d.StaticKeyword,c),ee=this.createNode(c,{type:(0,y.hasModifier)(d.AbstractKeyword,c)?m.AST_NODE_TYPES.TSAbstractMethodDefinition:m.AST_NODE_TYPES.MethodDefinition,key:Je,value:ke,computed:!1,static:Xe,kind:Xe?"method":"constructor",override:!1}),je=(0,y.getTSNodeAccessibility)(c);return je&&(ee.accessibility=je),ee}case d.FunctionExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.FunctionExpression,id:this.convertChild(c.name),generator:!!c.asteriskToken,params:this.convertParameters(c.parameters),body:this.convertChild(c.body),async:(0,y.hasModifier)(d.AsyncKeyword,c),expression:!1});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.SuperKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Super});case d.ArrayBindingPattern:return this.createNode(c,{type:m.AST_NODE_TYPES.ArrayPattern,elements:c.elements.map(R=>this.convertPattern(R))});case d.OmittedExpression:return null;case d.ObjectBindingPattern:return this.createNode(c,{type:m.AST_NODE_TYPES.ObjectPattern,properties:c.elements.map(R=>this.convertPattern(R))});case d.BindingElement:if(M.kind===d.ArrayBindingPattern){let R=this.convertChild(c.name,M);return c.initializer?this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:R,right:this.convertChild(c.initializer)}):c.dotDotDotToken?this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:R}):R}else{let R;return c.dotDotDotToken?R=this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertChild((q=c.propertyName)!==null&&q!==void 0?q:c.name)}):R=this.createNode(c,{type:m.AST_NODE_TYPES.Property,key:this.convertChild((W=c.propertyName)!==null&&W!==void 0?W:c.name),value:this.convertChild(c.name),computed:Boolean(c.propertyName&&c.propertyName.kind===d.ComputedPropertyName),method:!1,shorthand:!c.propertyName,kind:"init"}),c.initializer&&(R.value=this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertChild(c.name),right:this.convertChild(c.initializer),range:[c.name.getStart(this.ast),c.initializer.end]})),R}case d.ArrowFunction:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.ArrowFunctionExpression,generator:!1,id:null,params:this.convertParameters(c.parameters),body:this.convertChild(c.body),async:(0,y.hasModifier)(d.AsyncKeyword,c),expression:c.body.kind!==d.Block});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.YieldExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.YieldExpression,delegate:!!c.asteriskToken,argument:this.convertChild(c.expression)});case d.AwaitExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.AwaitExpression,argument:this.convertChild(c.expression)});case d.NoSubstitutionTemplateLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.TemplateLiteral,quasis:[this.createNode(c,{type:m.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(c.getStart(this.ast)+1,c.end-1),cooked:c.text},tail:!0})],expressions:[]});case d.TemplateExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TemplateLiteral,quasis:[this.convertChild(c.head)],expressions:[]});return c.templateSpans.forEach(pe=>{R.expressions.push(this.convertChild(pe.expression)),R.quasis.push(this.convertChild(pe.literal))}),R}case d.TaggedTemplateExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TaggedTemplateExpression,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,tag:this.convertChild(c.tag),quasi:this.convertChild(c.template)});case d.TemplateHead:case d.TemplateMiddle:case d.TemplateTail:{let R=c.kind===d.TemplateTail;return this.createNode(c,{type:m.AST_NODE_TYPES.TemplateElement,value:{raw:this.ast.text.slice(c.getStart(this.ast)+1,c.end-(R?1:2)),cooked:c.text},tail:R})}case d.SpreadAssignment:case d.SpreadElement:return this.allowPattern?this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertPattern(c.expression)}):this.createNode(c,{type:m.AST_NODE_TYPES.SpreadElement,argument:this.convertChild(c.expression)});case d.Parameter:{let R,pe;return c.dotDotDotToken?R=pe=this.createNode(c,{type:m.AST_NODE_TYPES.RestElement,argument:this.convertChild(c.name)}):c.initializer?(R=this.convertChild(c.name),pe=this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:R,right:this.convertChild(c.initializer)}),(0,P.getModifiers)(c)&&(pe.range[0]=R.range[0],pe.loc=(0,y.getLocFor)(pe.range[0],pe.range[1],this.ast))):R=pe=this.convertChild(c.name,M),c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c),this.fixParentLocation(R,R.typeAnnotation.range)),c.questionToken&&(c.questionToken.end>R.range[1]&&(R.range[1]=c.questionToken.end,R.loc.end=(0,y.getLineAndCharacterFor)(R.range[1],this.ast)),R.optional=!0),(0,P.getModifiers)(c)?this.createNode(c,{type:m.AST_NODE_TYPES.TSParameterProperty,accessibility:(K=(0,y.getTSNodeAccessibility)(c))!==null&&K!==void 0?K:void 0,readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,static:(0,y.hasModifier)(d.StaticKeyword,c)||void 0,export:(0,y.hasModifier)(d.ExportKeyword,c)||void 0,override:(0,y.hasModifier)(d.OverrideKeyword,c)||void 0,parameter:pe}):pe}case d.ClassDeclaration:case d.ClassExpression:{let R=(ce=c.heritageClauses)!==null&&ce!==void 0?ce:[],pe=c.kind===d.ClassDeclaration?m.AST_NODE_TYPES.ClassDeclaration:m.AST_NODE_TYPES.ClassExpression,ke=R.find(nt=>nt.token===d.ExtendsKeyword),Je=R.find(nt=>nt.token===d.ImplementsKeyword),Xe=this.createNode(c,{type:pe,id:this.convertChild(c.name),body:this.createNode(c,{type:m.AST_NODE_TYPES.ClassBody,body:[],range:[c.members.pos-1,c.end]}),superClass:ke!=null&&ke.types[0]?this.convertChild(ke.types[0].expression):null});if(ke){if(ke.types.length>1)throw(0,y.createError)(this.ast,ke.types[1].pos,"Classes can only extend a single class.");!((Ie=ke.types[0])===null||Ie===void 0)&&Ie.typeArguments&&(Xe.superTypeParameters=this.convertTypeArgumentsToTypeParameters(ke.types[0].typeArguments,ke.types[0]))}c.typeParameters&&(Xe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),Je&&(Xe.implements=Je.types.map(nt=>this.convertChild(nt))),(0,y.hasModifier)(d.AbstractKeyword,c)&&(Xe.abstract=!0),(0,y.hasModifier)(d.DeclareKeyword,c)&&(Xe.declare=!0);let ee=(0,P.getDecorators)(c);ee&&(Xe.decorators=ee.map(nt=>this.convertChild(nt)));let je=c.members.filter(y.isESTreeClassMember);return je.length&&(Xe.body.body=je.map(nt=>this.convertChild(nt))),this.fixExports(c,Xe)}case d.ModuleBlock:return this.createNode(c,{type:m.AST_NODE_TYPES.TSModuleBlock,body:this.convertBodyExpressions(c.statements,c)});case d.ImportDeclaration:{this.assertModuleSpecifier(c,!1);let R=this.createNode(c,{type:m.AST_NODE_TYPES.ImportDeclaration,source:this.convertChild(c.moduleSpecifier),specifiers:[],importKind:"value",assertions:this.convertAssertClasue(c.assertClause)});if(c.importClause&&(c.importClause.isTypeOnly&&(R.importKind="type"),c.importClause.name&&R.specifiers.push(this.convertChild(c.importClause)),c.importClause.namedBindings))switch(c.importClause.namedBindings.kind){case d.NamespaceImport:R.specifiers.push(this.convertChild(c.importClause.namedBindings));break;case d.NamedImports:R.specifiers=R.specifiers.concat(c.importClause.namedBindings.elements.map(pe=>this.convertChild(pe)));break}return R}case d.NamespaceImport:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportNamespaceSpecifier,local:this.convertChild(c.name)});case d.ImportSpecifier:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportSpecifier,local:this.convertChild(c.name),imported:this.convertChild((me=c.propertyName)!==null&&me!==void 0?me:c.name),importKind:c.isTypeOnly?"type":"value"});case d.ImportClause:{let R=this.convertChild(c.name);return this.createNode(c,{type:m.AST_NODE_TYPES.ImportDefaultSpecifier,local:R,range:R.range})}case d.ExportDeclaration:return((Ae=c.exportClause)===null||Ae===void 0?void 0:Ae.kind)===d.NamedExports?(this.assertModuleSpecifier(c,!0),this.createNode(c,{type:m.AST_NODE_TYPES.ExportNamedDeclaration,source:this.convertChild(c.moduleSpecifier),specifiers:c.exportClause.elements.map(R=>this.convertChild(R)),exportKind:c.isTypeOnly?"type":"value",declaration:null,assertions:this.convertAssertClasue(c.assertClause)})):(this.assertModuleSpecifier(c,!1),this.createNode(c,{type:m.AST_NODE_TYPES.ExportAllDeclaration,source:this.convertChild(c.moduleSpecifier),exportKind:c.isTypeOnly?"type":"value",exported:c.exportClause&&c.exportClause.kind===d.NamespaceExport?this.convertChild(c.exportClause.name):null,assertions:this.convertAssertClasue(c.assertClause)}));case d.ExportSpecifier:return this.createNode(c,{type:m.AST_NODE_TYPES.ExportSpecifier,local:this.convertChild((te=c.propertyName)!==null&&te!==void 0?te:c.name),exported:this.convertChild(c.name),exportKind:c.isTypeOnly?"type":"value"});case d.ExportAssignment:return c.isExportEquals?this.createNode(c,{type:m.AST_NODE_TYPES.TSExportAssignment,expression:this.convertChild(c.expression)}):this.createNode(c,{type:m.AST_NODE_TYPES.ExportDefaultDeclaration,declaration:this.convertChild(c.expression),exportKind:"value"});case d.PrefixUnaryExpression:case d.PostfixUnaryExpression:{let R=(0,y.getTextForTokenKind)(c.operator);return R==="++"||R==="--"?this.createNode(c,{type:m.AST_NODE_TYPES.UpdateExpression,operator:R,prefix:c.kind===d.PrefixUnaryExpression,argument:this.convertChild(c.operand)}):this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:R,prefix:c.kind===d.PrefixUnaryExpression,argument:this.convertChild(c.operand)})}case d.DeleteExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"delete",prefix:!0,argument:this.convertChild(c.expression)});case d.VoidExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"void",prefix:!0,argument:this.convertChild(c.expression)});case d.TypeOfExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.UnaryExpression,operator:"typeof",prefix:!0,argument:this.convertChild(c.expression)});case d.TypeOperator:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeOperator,operator:(0,y.getTextForTokenKind)(c.operator),typeAnnotation:this.convertChild(c.type)});case d.BinaryExpression:if((0,y.isComma)(c.operatorToken)){let R=this.createNode(c,{type:m.AST_NODE_TYPES.SequenceExpression,expressions:[]}),pe=this.convertChild(c.left);return pe.type===m.AST_NODE_TYPES.SequenceExpression&&c.left.kind!==d.ParenthesizedExpression?R.expressions=R.expressions.concat(pe.expressions):R.expressions.push(pe),R.expressions.push(this.convertChild(c.right)),R}else{let R=(0,y.getBinaryExpressionType)(c.operatorToken);return this.allowPattern&&R===m.AST_NODE_TYPES.AssignmentExpression?this.createNode(c,{type:m.AST_NODE_TYPES.AssignmentPattern,left:this.convertPattern(c.left,c),right:this.convertChild(c.right)}):this.createNode(c,{type:R,operator:(0,y.getTextForTokenKind)(c.operatorToken.kind),left:this.converter(c.left,c,this.inTypeMode,R===m.AST_NODE_TYPES.AssignmentExpression),right:this.convertChild(c.right)})}case d.PropertyAccessExpression:{let R=this.convertChild(c.expression),pe=this.convertChild(c.name),ke=!1,Je=this.createNode(c,{type:m.AST_NODE_TYPES.MemberExpression,object:R,property:pe,computed:ke,optional:c.questionDotToken!==void 0});return this.convertChainExpression(Je,c)}case d.ElementAccessExpression:{let R=this.convertChild(c.expression),pe=this.convertChild(c.argumentExpression),ke=!0,Je=this.createNode(c,{type:m.AST_NODE_TYPES.MemberExpression,object:R,property:pe,computed:ke,optional:c.questionDotToken!==void 0});return this.convertChainExpression(Je,c)}case d.CallExpression:{if(c.expression.kind===d.ImportKeyword){if(c.arguments.length!==1&&c.arguments.length!==2)throw(0,y.createError)(this.ast,c.arguments.pos,"Dynamic import requires exactly one or two arguments.");return this.createNode(c,{type:m.AST_NODE_TYPES.ImportExpression,source:this.convertChild(c.arguments[0]),attributes:c.arguments[1]?this.convertChild(c.arguments[1]):null})}let R=this.convertChild(c.expression),pe=c.arguments.map(Je=>this.convertChild(Je)),ke=this.createNode(c,{type:m.AST_NODE_TYPES.CallExpression,callee:R,arguments:pe,optional:c.questionDotToken!==void 0});return c.typeArguments&&(ke.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),this.convertChainExpression(ke,c)}case d.NewExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.NewExpression,callee:this.convertChild(c.expression),arguments:c.arguments?c.arguments.map(pe=>this.convertChild(pe)):[]});return c.typeArguments&&(R.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),R}case d.ConditionalExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.ConditionalExpression,test:this.convertChild(c.condition),consequent:this.convertChild(c.whenTrue),alternate:this.convertChild(c.whenFalse)});case d.MetaProperty:return this.createNode(c,{type:m.AST_NODE_TYPES.MetaProperty,meta:this.createNode(c.getFirstToken(),{type:m.AST_NODE_TYPES.Identifier,name:(0,y.getTextForTokenKind)(c.keywordToken)}),property:this.convertChild(c.name)});case d.Decorator:return this.createNode(c,{type:m.AST_NODE_TYPES.Decorator,expression:this.convertChild(c.expression)});case d.StringLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:M.kind===d.JsxAttribute?(0,y.unescapeStringLiteralText)(c.text):c.text,raw:c.getText()});case d.NumericLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:Number(c.text),raw:c.getText()});case d.BigIntLiteral:{let R=(0,y.getRange)(c,this.ast),pe=this.ast.text.slice(R[0],R[1]),ke=pe.slice(0,-1).replace(/_/g,""),Je=typeof BigInt<"u"?BigInt(ke):null;return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,raw:pe,value:Je,bigint:Je==null?ke:String(Je),range:R})}case d.RegularExpressionLiteral:{let R=c.text.slice(1,c.text.lastIndexOf("/")),pe=c.text.slice(c.text.lastIndexOf("/")+1),ke=null;try{ke=new RegExp(R,pe)}catch{ke=null}return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:ke,raw:c.text,regex:{pattern:R,flags:pe}})}case d.TrueKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:!0,raw:"true"});case d.FalseKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:!1,raw:"false"});case d.NullKeyword:return!C.typescriptVersionIsAtLeast["4.0"]&&this.inTypeMode?this.createNode(c,{type:m.AST_NODE_TYPES.TSNullKeyword}):this.createNode(c,{type:m.AST_NODE_TYPES.Literal,value:null,raw:"null"});case d.EmptyStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.EmptyStatement});case d.DebuggerStatement:return this.createNode(c,{type:m.AST_NODE_TYPES.DebuggerStatement});case d.JsxElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXElement,openingElement:this.convertChild(c.openingElement),closingElement:this.convertChild(c.closingElement),children:c.children.map(R=>this.convertChild(R))});case d.JsxFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXFragment,openingFragment:this.convertChild(c.openingFragment),closingFragment:this.convertChild(c.closingFragment),children:c.children.map(R=>this.convertChild(R))});case d.JsxSelfClosingElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXElement,openingElement:this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningElement,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,selfClosing:!0,name:this.convertJSXTagName(c.tagName,c),attributes:c.attributes.properties.map(R=>this.convertChild(R)),range:(0,y.getRange)(c,this.ast)}),closingElement:null,children:[]});case d.JsxOpeningElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningElement,typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0,selfClosing:!1,name:this.convertJSXTagName(c.tagName,c),attributes:c.attributes.properties.map(R=>this.convertChild(R))});case d.JsxClosingElement:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXClosingElement,name:this.convertJSXTagName(c.tagName,c)});case d.JsxOpeningFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXOpeningFragment});case d.JsxClosingFragment:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXClosingFragment});case d.JsxExpression:{let R=c.expression?this.convertChild(c.expression):this.createNode(c,{type:m.AST_NODE_TYPES.JSXEmptyExpression,range:[c.getStart(this.ast)+1,c.getEnd()-1]});return c.dotDotDotToken?this.createNode(c,{type:m.AST_NODE_TYPES.JSXSpreadChild,expression:R}):this.createNode(c,{type:m.AST_NODE_TYPES.JSXExpressionContainer,expression:R})}case d.JsxAttribute:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(c.name),value:this.convertChild(c.initializer)});case d.JsxText:{let R=c.getFullStart(),pe=c.getEnd(),ke=this.ast.text.slice(R,pe);return this.createNode(c,{type:m.AST_NODE_TYPES.JSXText,value:(0,y.unescapeStringLiteralText)(ke),raw:ke,range:[R,pe]})}case d.JsxSpreadAttribute:return this.createNode(c,{type:m.AST_NODE_TYPES.JSXSpreadAttribute,argument:this.convertChild(c.expression)});case d.QualifiedName:return this.createNode(c,{type:m.AST_NODE_TYPES.TSQualifiedName,left:this.convertChild(c.left),right:this.convertChild(c.right)});case d.TypeReference:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeReference,typeName:this.convertType(c.typeName),typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):void 0});case d.TypeParameter:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeParameter,name:this.convertType(c.name),constraint:c.constraint?this.convertType(c.constraint):void 0,default:c.default?this.convertType(c.default):void 0,in:(0,y.hasModifier)(d.InKeyword,c),out:(0,y.hasModifier)(d.OutKeyword,c),const:(0,y.hasModifier)(d.ConstKeyword,c)});case d.ThisType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSThisType});case d.AnyKeyword:case d.BigIntKeyword:case d.BooleanKeyword:case d.NeverKeyword:case d.NumberKeyword:case d.ObjectKeyword:case d.StringKeyword:case d.SymbolKeyword:case d.UnknownKeyword:case d.VoidKeyword:case d.UndefinedKeyword:case d.IntrinsicKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES[`TS${d[c.kind]}`]});case d.NonNullExpression:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSNonNullExpression,expression:this.convertChild(c.expression)});return this.convertChainExpression(R,c)}case d.TypeLiteral:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeLiteral,members:c.members.map(R=>this.convertChild(R))});case d.ArrayType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSArrayType,elementType:this.convertType(c.elementType)});case d.IndexedAccessType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSIndexedAccessType,objectType:this.convertType(c.objectType),indexType:this.convertType(c.indexType)});case d.ConditionalType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSConditionalType,checkType:this.convertType(c.checkType),extendsType:this.convertType(c.extendsType),trueType:this.convertType(c.trueType),falseType:this.convertType(c.falseType)});case d.TypeQuery:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeQuery,exprName:this.convertType(c.exprName),typeParameters:c.typeArguments&&this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)});case d.MappedType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSMappedType,typeParameter:this.convertType(c.typeParameter),nameType:(he=this.convertType(c.nameType))!==null&&he!==void 0?he:null});return c.readonlyToken&&(c.readonlyToken.kind===d.ReadonlyKeyword?R.readonly=!0:R.readonly=(0,y.getTextForTokenKind)(c.readonlyToken.kind)),c.questionToken&&(c.questionToken.kind===d.QuestionToken?R.optional=!0:R.optional=(0,y.getTextForTokenKind)(c.questionToken.kind)),c.type&&(R.typeAnnotation=this.convertType(c.type)),R}case d.ParenthesizedExpression:return this.convertChild(c.expression,M);case d.TypeAliasDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeAliasDeclaration,id:this.convertChild(c.name),typeAnnotation:this.convertType(c.type)});return(0,y.hasModifier)(d.DeclareKeyword,c)&&(R.declare=!0),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),this.fixExports(c,R)}case d.MethodSignature:return this.convertMethodSignature(c);case d.PropertySignature:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSPropertySignature,optional:(0,y.isOptional)(c)||void 0,computed:(0,y.isComputedProperty)(c.name),key:this.convertChild(c.name),typeAnnotation:c.type?this.convertTypeAnnotation(c.type,c):void 0,initializer:this.convertChild(c.initializer)||void 0,readonly:(0,y.hasModifier)(d.ReadonlyKeyword,c)||void 0,static:(0,y.hasModifier)(d.StaticKeyword,c)||void 0,export:(0,y.hasModifier)(d.ExportKeyword,c)||void 0}),pe=(0,y.getTSNodeAccessibility)(c);return pe&&(R.accessibility=pe),R}case d.IndexSignature:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSIndexSignature,parameters:c.parameters.map(ke=>this.convertChild(ke))});c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c)),(0,y.hasModifier)(d.ReadonlyKeyword,c)&&(R.readonly=!0);let pe=(0,y.getTSNodeAccessibility)(c);return pe&&(R.accessibility=pe),(0,y.hasModifier)(d.ExportKeyword,c)&&(R.export=!0),(0,y.hasModifier)(d.StaticKeyword,c)&&(R.static=!0),R}case d.ConstructorType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSConstructorType,params:this.convertParameters(c.parameters),abstract:(0,y.hasModifier)(d.AbstractKeyword,c)});return c.type&&(R.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(R.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R}case d.FunctionType:case d.ConstructSignature:case d.CallSignature:{let R=c.kind===d.ConstructSignature?m.AST_NODE_TYPES.TSConstructSignatureDeclaration:c.kind===d.CallSignature?m.AST_NODE_TYPES.TSCallSignatureDeclaration:m.AST_NODE_TYPES.TSFunctionType,pe=this.createNode(c,{type:R,params:this.convertParameters(c.parameters)});return c.type&&(pe.returnType=this.convertTypeAnnotation(c.type,c)),c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),pe}case d.ExpressionWithTypeArguments:{let R=M.kind,pe=R===d.InterfaceDeclaration?m.AST_NODE_TYPES.TSInterfaceHeritage:R===d.HeritageClause?m.AST_NODE_TYPES.TSClassImplements:m.AST_NODE_TYPES.TSInstantiationExpression,ke=this.createNode(c,{type:pe,expression:this.convertChild(c.expression)});return c.typeArguments&&(ke.typeParameters=this.convertTypeArgumentsToTypeParameters(c.typeArguments,c)),ke}case d.InterfaceDeclaration:{let R=(Pe=c.heritageClauses)!==null&&Pe!==void 0?Pe:[],pe=this.createNode(c,{type:m.AST_NODE_TYPES.TSInterfaceDeclaration,body:this.createNode(c,{type:m.AST_NODE_TYPES.TSInterfaceBody,body:c.members.map(ke=>this.convertChild(ke)),range:[c.members.pos-1,c.end]}),id:this.convertChild(c.name)});if(c.typeParameters&&(pe.typeParameters=this.convertTSTypeParametersToTypeParametersDeclaration(c.typeParameters)),R.length>0){let ke=[],Je=[];for(let Xe of R)if(Xe.token===d.ExtendsKeyword)for(let ee of Xe.types)ke.push(this.convertChild(ee,c));else for(let ee of Xe.types)Je.push(this.convertChild(ee,c));ke.length&&(pe.extends=ke),Je.length&&(pe.implements=Je)}return(0,y.hasModifier)(d.AbstractKeyword,c)&&(pe.abstract=!0),(0,y.hasModifier)(d.DeclareKeyword,c)&&(pe.declare=!0),this.fixExports(c,pe)}case d.TypePredicate:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTypePredicate,asserts:c.assertsModifier!==void 0,parameterName:this.convertChild(c.parameterName),typeAnnotation:null});return c.type&&(R.typeAnnotation=this.convertTypeAnnotation(c.type,c),R.typeAnnotation.loc=R.typeAnnotation.typeAnnotation.loc,R.typeAnnotation.range=R.typeAnnotation.typeAnnotation.range),R}case d.ImportType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSImportType,isTypeOf:!!c.isTypeOf,parameter:this.convertChild(c.argument),qualifier:this.convertChild(c.qualifier),typeParameters:c.typeArguments?this.convertTypeArgumentsToTypeParameters(c.typeArguments,c):null});case d.EnumDeclaration:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSEnumDeclaration,id:this.convertChild(c.name),members:c.members.map(pe=>this.convertChild(pe))});return this.applyModifiersToResult(R,(0,P.getModifiers)(c)),this.fixExports(c,R)}case d.EnumMember:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSEnumMember,id:this.convertChild(c.name)});return c.initializer&&(R.initializer=this.convertChild(c.initializer)),c.name.kind===D.SyntaxKind.ComputedPropertyName&&(R.computed=!0),R}case d.ModuleDeclaration:{let R=this.createNode(c,Object.assign({type:m.AST_NODE_TYPES.TSModuleDeclaration},(()=>{let pe=this.convertChild(c.name),ke=this.convertChild(c.body);if(c.flags&D.NodeFlags.GlobalAugmentation){if(ke==null||ke.type===m.AST_NODE_TYPES.TSModuleDeclaration)throw new Error("Expected a valid module body");if(pe.type!==m.AST_NODE_TYPES.Identifier)throw new Error("global module augmentation must have an Identifier id");return{kind:"global",id:pe,body:ke,global:!0}}else if(c.flags&D.NodeFlags.Namespace){if(ke==null)throw new Error("Expected a module body");if(pe.type!==m.AST_NODE_TYPES.Identifier)throw new Error("`namespace`s must have an Identifier id");return{kind:"namespace",id:pe,body:ke}}else return Object.assign({kind:"module",id:pe},ke!=null?{body:ke}:{})})()));return this.applyModifiersToResult(R,(0,P.getModifiers)(c)),this.fixExports(c,R)}case d.ParenthesizedType:return this.convertType(c.type);case d.UnionType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSUnionType,types:c.types.map(R=>this.convertType(R))});case d.IntersectionType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSIntersectionType,types:c.types.map(R=>this.convertType(R))});case d.AsExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSAsExpression,expression:this.convertChild(c.expression),typeAnnotation:this.convertType(c.type)});case d.InferType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSInferType,typeParameter:this.convertType(c.typeParameter)});case d.LiteralType:return C.typescriptVersionIsAtLeast["4.0"]&&c.literal.kind===d.NullKeyword?this.createNode(c.literal,{type:m.AST_NODE_TYPES.TSNullKeyword}):this.createNode(c,{type:m.AST_NODE_TYPES.TSLiteralType,literal:this.convertType(c.literal)});case d.TypeAssertionExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSTypeAssertion,typeAnnotation:this.convertType(c.type),expression:this.convertChild(c.expression)});case d.ImportEqualsDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.TSImportEqualsDeclaration,id:this.convertChild(c.name),moduleReference:this.convertChild(c.moduleReference),importKind:c.isTypeOnly?"type":"value",isExport:(0,y.hasModifier)(d.ExportKeyword,c)});case d.ExternalModuleReference:return this.createNode(c,{type:m.AST_NODE_TYPES.TSExternalModuleReference,expression:this.convertChild(c.expression)});case d.NamespaceExportDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.TSNamespaceExportDeclaration,id:this.convertChild(c.name)});case d.AbstractKeyword:return this.createNode(c,{type:m.AST_NODE_TYPES.TSAbstractKeyword});case d.TupleType:{let R="elementTypes"in c?c.elementTypes.map(pe=>this.convertType(pe)):c.elements.map(pe=>this.convertType(pe));return this.createNode(c,{type:m.AST_NODE_TYPES.TSTupleType,elementTypes:R})}case d.NamedTupleMember:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSNamedTupleMember,elementType:this.convertType(c.type,c),label:this.convertChild(c.name,c),optional:c.questionToken!=null});return c.dotDotDotToken?(R.range[0]=R.label.range[0],R.loc.start=R.label.loc.start,this.createNode(c,{type:m.AST_NODE_TYPES.TSRestType,typeAnnotation:R})):R}case d.OptionalType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSOptionalType,typeAnnotation:this.convertType(c.type)});case d.RestType:return this.createNode(c,{type:m.AST_NODE_TYPES.TSRestType,typeAnnotation:this.convertType(c.type)});case d.TemplateLiteralType:{let R=this.createNode(c,{type:m.AST_NODE_TYPES.TSTemplateLiteralType,quasis:[this.convertChild(c.head)],types:[]});return c.templateSpans.forEach(pe=>{R.types.push(this.convertChild(pe.type)),R.quasis.push(this.convertChild(pe.literal))}),R}case d.ClassStaticBlockDeclaration:return this.createNode(c,{type:m.AST_NODE_TYPES.StaticBlock,body:this.convertBodyExpressions(c.body.statements,c)});case d.AssertEntry:return this.createNode(c,{type:m.AST_NODE_TYPES.ImportAttribute,key:this.convertChild(c.name),value:this.convertChild(c.value)});case d.SatisfiesExpression:return this.createNode(c,{type:m.AST_NODE_TYPES.TSSatisfiesExpression,expression:this.convertChild(c.expression),typeAnnotation:this.convertChild(c.type)});default:return this.deeplyCopy(c)}}};a.Converter=I}}),$a={};m1($a,{__assign:()=>f1,__asyncDelegator:()=>TV,__asyncGenerator:()=>bV,__asyncValues:()=>SV,__await:()=>gp,__awaiter:()=>dV,__classPrivateFieldGet:()=>CV,__classPrivateFieldSet:()=>AV,__createBinding:()=>hV,__decorate:()=>uV,__exportStar:()=>gV,__extends:()=>cV,__generator:()=>mV,__importDefault:()=>wV,__importStar:()=>EV,__makeTemplateObject:()=>xV,__metadata:()=>fV,__param:()=>pV,__read:()=>$9,__rest:()=>lV,__spread:()=>yV,__spreadArrays:()=>vV,__values:()=>tT});function cV(a,_){p1(a,_);function v(){this.constructor=a}a.prototype=_===null?Object.create(_):(v.prototype=_.prototype,new v)}function lV(a,_){var v={};for(var h in a)Object.prototype.hasOwnProperty.call(a,h)&&_.indexOf(h)<0&&(v[h]=a[h]);if(a!=null&&typeof Object.getOwnPropertySymbols=="function")for(var D=0,h=Object.getOwnPropertySymbols(a);D=0;m--)(y=a[m])&&(P=(D<3?y(P):D>3?y(_,v,P):y(_,v))||P);return D>3&&P&&Object.defineProperty(_,v,P),P}function pV(a,_){return function(v,h){_(v,h,a)}}function fV(a,_){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(a,_)}function dV(a,_,v,h){function D(P){return P instanceof v?P:new v(function(y){y(P)})}return new(v||(v=Promise))(function(P,y){function m(E){try{d(h.next(E))}catch(I){y(I)}}function C(E){try{d(h.throw(E))}catch(I){y(I)}}function d(E){E.done?P(E.value):D(E.value).then(m,C)}d((h=h.apply(a,_||[])).next())})}function mV(a,_){var v={label:0,sent:function(){if(P[0]&1)throw P[1];return P[1]},trys:[],ops:[]},h,D,P,y;return y={next:m(0),throw:m(1),return:m(2)},typeof Symbol=="function"&&(y[Symbol.iterator]=function(){return this}),y;function m(d){return function(E){return C([d,E])}}function C(d){if(h)throw new TypeError("Generator is already executing.");for(;v;)try{if(h=1,D&&(P=d[0]&2?D.return:d[0]?D.throw||((P=D.return)&&P.call(D),0):D.next)&&!(P=P.call(D,d[1])).done)return P;switch(D=0,P&&(d=[d[0]&2,P.value]),d[0]){case 0:case 1:P=d;break;case 4:return v.label++,{value:d[1],done:!1};case 5:v.label++,D=d[1],d=[0];continue;case 7:d=v.ops.pop(),v.trys.pop();continue;default:if(P=v.trys,!(P=P.length>0&&P[P.length-1])&&(d[0]===6||d[0]===2)){v=0;continue}if(d[0]===3&&(!P||d[1]>P[0]&&d[1]=a.length&&(a=void 0),{value:a&&a[h++],done:!a}}};throw new TypeError(_?"Object is not iterable.":"Symbol.iterator is not defined.")}function $9(a,_){var v=typeof Symbol=="function"&&a[Symbol.iterator];if(!v)return a;var h=v.call(a),D,P=[],y;try{for(;(_===void 0||_-- >0)&&!(D=h.next()).done;)P.push(D.value)}catch(m){y={error:m}}finally{try{D&&!D.done&&(v=h.return)&&v.call(h)}finally{if(y)throw y.error}}return P}function yV(){for(var a=[],_=0;_1||m(c,M)})})}function m(c,M){try{C(h[c](M))}catch(q){I(P[0][3],q)}}function C(c){c.value instanceof gp?Promise.resolve(c.value.v).then(d,E):I(P[0][2],c)}function d(c){m("next",c)}function E(c){m("throw",c)}function I(c,M){c(M),P.shift(),P.length&&m(P[0][0],P[0][1])}}function TV(a){var _,v;return _={},h("next"),h("throw",function(D){throw D}),h("return"),_[Symbol.iterator]=function(){return this},_;function h(D,P){_[D]=a[D]?function(y){return(v=!v)?{value:gp(a[D](y)),done:D==="return"}:P?P(y):y}:P}}function SV(a){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var _=a[Symbol.asyncIterator],v;return _?_.call(a):(a=typeof tT=="function"?tT(a):a[Symbol.iterator](),v={},h("next"),h("throw"),h("return"),v[Symbol.asyncIterator]=function(){return this},v);function h(P){v[P]=a[P]&&function(y){return new Promise(function(m,C){y=a[P](y),D(m,C,y.done,y.value)})}}function D(P,y,m,C){Promise.resolve(C).then(function(d){P({value:d,done:m})},y)}}function xV(a,_){return Object.defineProperty?Object.defineProperty(a,"raw",{value:_}):a.raw=_,a}function EV(a){if(a&&a.__esModule)return a;var _={};if(a!=null)for(var v in a)Object.hasOwnProperty.call(a,v)&&(_[v]=a[v]);return _.default=a,_}function wV(a){return a&&a.__esModule?a:{default:a}}function CV(a,_){if(!_.has(a))throw new TypeError("attempted to get private field on non-instance");return _.get(a)}function AV(a,_,v){if(!_.has(a))throw new TypeError("attempted to set private field on non-instance");return _.set(a,v),v}var p1,f1,Ds=yp({"node_modules/tslib/tslib.es6.js"(){De(),p1=function(a,_){return p1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(v,h){v.__proto__=h}||function(v,h){for(var D in h)h.hasOwnProperty(D)&&(v[D]=h[D])},p1(a,_)},f1=function(){return f1=Object.assign||function(_){for(var v,h=1,D=arguments.length;h=_.SyntaxKind.FirstLiteralToken&&J.kind<=_.SyntaxKind.LastLiteralToken}a.isLiteralExpression=Jr;function Qc(J){return J.kind===_.SyntaxKind.LiteralType}a.isLiteralTypeNode=Qc;function ho(J){return J.kind===_.SyntaxKind.MappedType}a.isMappedTypeNode=ho;function T_(J){return J.kind===_.SyntaxKind.MetaProperty}a.isMetaProperty=T_;function go(J){return J.kind===_.SyntaxKind.MethodDeclaration}a.isMethodDeclaration=go;function yo(J){return J.kind===_.SyntaxKind.MethodSignature}a.isMethodSignature=yo;function Za(J){return J.kind===_.SyntaxKind.ModuleBlock}a.isModuleBlock=Za;function vo(J){return J.kind===_.SyntaxKind.ModuleDeclaration}a.isModuleDeclaration=vo;function S_(J){return J.kind===_.SyntaxKind.NamedExports}a.isNamedExports=S_;function Zc(J){return J.kind===_.SyntaxKind.NamedImports}a.isNamedImports=Zc;function Os(J){return vo(J)&&J.name.kind===_.SyntaxKind.Identifier&&J.body!==void 0&&(J.body.kind===_.SyntaxKind.ModuleBlock||Os(J.body))}a.isNamespaceDeclaration=Os;function bo(J){return J.kind===_.SyntaxKind.NamespaceImport}a.isNamespaceImport=bo;function el(J){return J.kind===_.SyntaxKind.NamespaceExportDeclaration}a.isNamespaceExportDeclaration=el;function x_(J){return J.kind===_.SyntaxKind.NewExpression}a.isNewExpression=x_;function E_(J){return J.kind===_.SyntaxKind.NonNullExpression}a.isNonNullExpression=E_;function S(J){return J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isNoSubstitutionTemplateLiteral=S;function H(J){return J.kind===_.SyntaxKind.NullKeyword}a.isNullLiteral=H;function le(J){return J.kind===_.SyntaxKind.NumericLiteral}a.isNumericLiteral=le;function Be(J){switch(J.kind){case _.SyntaxKind.StringLiteral:case _.SyntaxKind.NumericLiteral:case _.SyntaxKind.NoSubstitutionTemplateLiteral:return!0;default:return!1}}a.isNumericOrStringLikeLiteral=Be;function rt(J){return J.kind===_.SyntaxKind.ObjectBindingPattern}a.isObjectBindingPattern=rt;function ut(J){return J.kind===_.SyntaxKind.ObjectLiteralExpression}a.isObjectLiteralExpression=ut;function Ht(J){return J.kind===_.SyntaxKind.OmittedExpression}a.isOmittedExpression=Ht;function Fr(J){return J.kind===_.SyntaxKind.Parameter}a.isParameterDeclaration=Fr;function Cr(J){return J.kind===_.SyntaxKind.ParenthesizedExpression}a.isParenthesizedExpression=Cr;function ir(J){return J.kind===_.SyntaxKind.ParenthesizedType}a.isParenthesizedTypeNode=ir;function en(J){return J.kind===_.SyntaxKind.PostfixUnaryExpression}a.isPostfixUnaryExpression=en;function Ji(J){return J.kind===_.SyntaxKind.PrefixUnaryExpression}a.isPrefixUnaryExpression=Ji;function gi(J){return J.kind===_.SyntaxKind.PropertyAccessExpression}a.isPropertyAccessExpression=gi;function ln(J){return J.kind===_.SyntaxKind.PropertyAssignment}a.isPropertyAssignment=ln;function ti(J){return J.kind===_.SyntaxKind.PropertyDeclaration}a.isPropertyDeclaration=ti;function yn(J){return J.kind===_.SyntaxKind.PropertySignature}a.isPropertySignature=yn;function w_(J){return J.kind===_.SyntaxKind.QualifiedName}a.isQualifiedName=w_;function vp(J){return J.kind===_.SyntaxKind.RegularExpressionLiteral}a.isRegularExpressionLiteral=vp;function C1(J){return J.kind===_.SyntaxKind.ReturnStatement}a.isReturnStatement=C1;function rr(J){return J.kind===_.SyntaxKind.SetAccessor}a.isSetAccessorDeclaration=rr;function bp(J){return J.kind===_.SyntaxKind.ShorthandPropertyAssignment}a.isShorthandPropertyAssignment=bp;function Tp(J){return J.parameters!==void 0}a.isSignatureDeclaration=Tp;function A1(J){return J.kind===_.SyntaxKind.SourceFile}a.isSourceFile=A1;function tl(J){return J.kind===_.SyntaxKind.SpreadAssignment}a.isSpreadAssignment=tl;function An(J){return J.kind===_.SyntaxKind.SpreadElement}a.isSpreadElement=An;function P1(J){return J.kind===_.SyntaxKind.StringLiteral}a.isStringLiteral=P1;function D1(J){return J.kind===_.SyntaxKind.SwitchStatement}a.isSwitchStatement=D1;function k1(J){return J.kind===_.SyntaxKind.SyntaxList}a.isSyntaxList=k1;function fa(J){return J.kind===_.SyntaxKind.TaggedTemplateExpression}a.isTaggedTemplateExpression=fa;function Ms(J){return J.kind===_.SyntaxKind.TemplateExpression}a.isTemplateExpression=Ms;function To(J){return J.kind===_.SyntaxKind.TemplateExpression||J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isTemplateLiteral=To;function Sp(J){return J.kind===_.SyntaxKind.StringLiteral||J.kind===_.SyntaxKind.NoSubstitutionTemplateLiteral}a.isTextualLiteral=Sp;function Vr(J){return J.kind===_.SyntaxKind.ThrowStatement}a.isThrowStatement=Vr;function I1(J){return J.kind===_.SyntaxKind.TryStatement}a.isTryStatement=I1;function N1(J){return J.kind===_.SyntaxKind.TupleType}a.isTupleTypeNode=N1;function C_(J){return J.kind===_.SyntaxKind.TypeAliasDeclaration}a.isTypeAliasDeclaration=C_;function O1(J){return J.kind===_.SyntaxKind.TypeAssertionExpression}a.isTypeAssertion=O1;function ri(J){return J.kind===_.SyntaxKind.TypeLiteral}a.isTypeLiteralNode=ri;function rl(J){return J.kind===_.SyntaxKind.TypeOfExpression}a.isTypeOfExpression=rl;function M1(J){return J.kind===_.SyntaxKind.TypeOperator}a.isTypeOperatorNode=M1;function xp(J){return J.kind===_.SyntaxKind.TypeParameter}a.isTypeParameterDeclaration=xp;function L1(J){return J.kind===_.SyntaxKind.TypePredicate}a.isTypePredicateNode=L1;function R1(J){return J.kind===_.SyntaxKind.TypeReference}a.isTypeReferenceNode=R1;function j1(J){return J.kind===_.SyntaxKind.TypeQuery}a.isTypeQueryNode=j1;function Ep(J){return J.kind===_.SyntaxKind.UnionType}a.isUnionTypeNode=Ep;function J1(J){return J.kind===_.SyntaxKind.VariableDeclaration}a.isVariableDeclaration=J1;function es(J){return J.kind===_.SyntaxKind.VariableStatement}a.isVariableStatement=es;function F1(J){return J.kind===_.SyntaxKind.VariableDeclarationList}a.isVariableDeclarationList=F1;function B1(J){return J.kind===_.SyntaxKind.VoidExpression}a.isVoidExpression=B1;function Fi(J){return J.kind===_.SyntaxKind.WhileStatement}a.isWhileStatement=Fi;function q1(J){return J.kind===_.SyntaxKind.WithStatement}a.isWithStatement=q1}}),DV=Oe({"node_modules/tsutils/typeguard/2.9/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isImportTypeNode=void 0;var _=(Ds(),Li($a));_.__exportStar(PV(),a);var v=vr();function h(D){return D.kind===v.SyntaxKind.ImportType}a.isImportTypeNode=h}}),kV=Oe({"node_modules/tsutils/typeguard/3.0/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isSyntheticExpression=a.isRestTypeNode=a.isOptionalTypeNode=void 0;var _=(Ds(),Li($a));_.__exportStar(DV(),a);var v=vr();function h(y){return y.kind===v.SyntaxKind.OptionalType}a.isOptionalTypeNode=h;function D(y){return y.kind===v.SyntaxKind.RestType}a.isRestTypeNode=D;function P(y){return y.kind===v.SyntaxKind.SyntheticExpression}a.isSyntheticExpression=P}}),K9=Oe({"node_modules/tsutils/typeguard/3.2/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isBigIntLiteral=void 0;var _=(Ds(),Li($a));_.__exportStar(kV(),a);var v=vr();function h(D){return D.kind===v.SyntaxKind.BigIntLiteral}a.isBigIntLiteral=h}}),X9=Oe({"node_modules/tsutils/typeguard/node.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(K9(),a)}}),IV=Oe({"node_modules/tsutils/typeguard/2.8/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isUniqueESSymbolType=a.isUnionType=a.isUnionOrIntersectionType=a.isTypeVariable=a.isTypeReference=a.isTypeParameter=a.isSubstitutionType=a.isObjectType=a.isLiteralType=a.isIntersectionType=a.isInterfaceType=a.isInstantiableType=a.isIndexedAccessype=a.isIndexedAccessType=a.isGenericType=a.isEnumType=a.isConditionalType=void 0;var _=vr();function v(me){return(me.flags&_.TypeFlags.Conditional)!==0}a.isConditionalType=v;function h(me){return(me.flags&_.TypeFlags.Enum)!==0}a.isEnumType=h;function D(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.ClassOrInterface)!==0&&(me.objectFlags&_.ObjectFlags.Reference)!==0}a.isGenericType=D;function P(me){return(me.flags&_.TypeFlags.IndexedAccess)!==0}a.isIndexedAccessType=P;function y(me){return(me.flags&_.TypeFlags.Index)!==0}a.isIndexedAccessype=y;function m(me){return(me.flags&_.TypeFlags.Instantiable)!==0}a.isInstantiableType=m;function C(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.ClassOrInterface)!==0}a.isInterfaceType=C;function d(me){return(me.flags&_.TypeFlags.Intersection)!==0}a.isIntersectionType=d;function E(me){return(me.flags&(_.TypeFlags.StringOrNumberLiteral|_.TypeFlags.BigIntLiteral))!==0}a.isLiteralType=E;function I(me){return(me.flags&_.TypeFlags.Object)!==0}a.isObjectType=I;function c(me){return(me.flags&_.TypeFlags.Substitution)!==0}a.isSubstitutionType=c;function M(me){return(me.flags&_.TypeFlags.TypeParameter)!==0}a.isTypeParameter=M;function q(me){return(me.flags&_.TypeFlags.Object)!==0&&(me.objectFlags&_.ObjectFlags.Reference)!==0}a.isTypeReference=q;function W(me){return(me.flags&_.TypeFlags.TypeVariable)!==0}a.isTypeVariable=W;function K(me){return(me.flags&_.TypeFlags.UnionOrIntersection)!==0}a.isUnionOrIntersectionType=K;function ce(me){return(me.flags&_.TypeFlags.Union)!==0}a.isUnionType=ce;function Ie(me){return(me.flags&_.TypeFlags.UniqueESSymbol)!==0}a.isUniqueESSymbolType=Ie}}),S9=Oe({"node_modules/tsutils/typeguard/2.9/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(IV(),a)}}),NV=Oe({"node_modules/tsutils/typeguard/3.0/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isTupleTypeReference=a.isTupleType=void 0;var _=(Ds(),Li($a));_.__exportStar(S9(),a);var v=vr(),h=S9();function D(y){return(y.flags&v.TypeFlags.Object&&y.objectFlags&v.ObjectFlags.Tuple)!==0}a.isTupleType=D;function P(y){return h.isTypeReference(y)&&D(y.target)}a.isTupleTypeReference=P}}),Y9=Oe({"node_modules/tsutils/typeguard/3.2/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(NV(),a)}}),OV=Oe({"node_modules/tsutils/typeguard/3.2/index.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(K9(),a),_.__exportStar(Y9(),a)}}),MV=Oe({"node_modules/tsutils/typeguard/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _=(Ds(),Li($a));_.__exportStar(Y9(),a)}}),LV=Oe({"node_modules/tsutils/util/type.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.getBaseClassMemberOfClassElement=a.getIteratorYieldResultFromIteratorResult=a.getInstanceTypeOfClassLikeDeclaration=a.getConstructorTypeOfClassLikeDeclaration=a.getSymbolOfClassLikeDeclaration=a.getPropertyNameFromType=a.symbolHasReadonlyDeclaration=a.isPropertyReadonlyInType=a.getWellKnownSymbolPropertyOfType=a.getPropertyOfType=a.isBooleanLiteralType=a.isFalsyType=a.isThenableType=a.someTypePart=a.intersectionTypeParts=a.unionTypeParts=a.getCallSignaturesOfType=a.isTypeAssignableToString=a.isTypeAssignableToNumber=a.isOptionalChainingUndefinedMarkerType=a.removeOptionalChainingUndefinedMarkerType=a.removeOptionalityFromType=a.isEmptyObjectType=void 0;var _=vr(),v=MV(),h=Q9(),D=X9();function P(ne){if(v.isObjectType(ne)&&ne.objectFlags&_.ObjectFlags.Anonymous&&ne.getProperties().length===0&&ne.getCallSignatures().length===0&&ne.getConstructSignatures().length===0&&ne.getStringIndexType()===void 0&&ne.getNumberIndexType()===void 0){let ge=ne.getBaseTypes();return ge===void 0||ge.every(P)}return!1}a.isEmptyObjectType=P;function y(ne,ge){if(!m(ge,_.TypeFlags.Undefined))return ge;let Fe=m(ge,_.TypeFlags.Null);return ge=ne.getNonNullableType(ge),Fe?ne.getNullableType(ge,_.TypeFlags.Null):ge}a.removeOptionalityFromType=y;function m(ne,ge){for(let Fe of q(ne))if(h.isTypeFlagSet(Fe,ge))return!0;return!1}function C(ne,ge){if(!v.isUnionType(ge))return d(ne,ge)?ge.getNonNullableType():ge;let Fe=0,at=!1;for(let Pt of ge.types)d(ne,Pt)?at=!0:Fe|=Pt.flags;return at?ne.getNullableType(ge.getNonNullableType(),Fe):ge}a.removeOptionalChainingUndefinedMarkerType=C;function d(ne,ge){return h.isTypeFlagSet(ge,_.TypeFlags.Undefined)&&ne.getNullableType(ge.getNonNullableType(),_.TypeFlags.Undefined)!==ge}a.isOptionalChainingUndefinedMarkerType=d;function E(ne,ge){return c(ne,ge,_.TypeFlags.NumberLike)}a.isTypeAssignableToNumber=E;function I(ne,ge){return c(ne,ge,_.TypeFlags.StringLike)}a.isTypeAssignableToString=I;function c(ne,ge,Fe){Fe|=_.TypeFlags.Any;let at;return function Pt(qt){if(v.isTypeParameter(qt)&&qt.symbol!==void 0&&qt.symbol.declarations!==void 0){if(at===void 0)at=new Set([qt]);else if(!at.has(qt))at.add(qt);else return!1;let Zr=qt.symbol.declarations[0];return Zr.constraint===void 0?!0:Pt(ne.getTypeFromTypeNode(Zr.constraint))}return v.isUnionType(qt)?qt.types.every(Pt):v.isIntersectionType(qt)?qt.types.some(Pt):h.isTypeFlagSet(qt,Fe)}(ge)}function M(ne){if(v.isUnionType(ne)){let ge=[];for(let Fe of ne.types)ge.push(...M(Fe));return ge}if(v.isIntersectionType(ne)){let ge;for(let Fe of ne.types){let at=M(Fe);if(at.length!==0){if(ge!==void 0)return[];ge=at}}return ge===void 0?[]:ge}return ne.getCallSignatures()}a.getCallSignaturesOfType=M;function q(ne){return v.isUnionType(ne)?ne.types:[ne]}a.unionTypeParts=q;function W(ne){return v.isIntersectionType(ne)?ne.types:[ne]}a.intersectionTypeParts=W;function K(ne,ge,Fe){return ge(ne)?ne.types.some(Fe):Fe(ne)}a.someTypePart=K;function ce(ne,ge){let Fe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ne.getTypeAtLocation(ge);for(let at of q(ne.getApparentType(Fe))){let Pt=at.getProperty("then");if(Pt===void 0)continue;let qt=ne.getTypeOfSymbolAtLocation(Pt,ge);for(let Zr of q(qt))for(let Ri of Zr.getCallSignatures())if(Ri.parameters.length!==0&&Ie(ne,Ri.parameters[0],ge))return!0}return!1}a.isThenableType=ce;function Ie(ne,ge,Fe){let at=ne.getApparentType(ne.getTypeOfSymbolAtLocation(ge,Fe));if(ge.valueDeclaration.dotDotDotToken&&(at=at.getNumberIndexType(),at===void 0))return!1;for(let Pt of q(at))if(Pt.getCallSignatures().length!==0)return!0;return!1}function me(ne){return ne.flags&(_.TypeFlags.Undefined|_.TypeFlags.Null|_.TypeFlags.Void)?!0:v.isLiteralType(ne)?!ne.value:Ae(ne,!1)}a.isFalsyType=me;function Ae(ne,ge){return h.isTypeFlagSet(ne,_.TypeFlags.BooleanLiteral)&&ne.intrinsicName===(ge?"true":"false")}a.isBooleanLiteralType=Ae;function te(ne,ge){return ge.startsWith("__")?ne.getProperties().find(Fe=>Fe.escapedName===ge):ne.getProperty(ge)}a.getPropertyOfType=te;function he(ne,ge,Fe){let at="__@"+ge;for(let Pt of ne.getProperties()){if(!Pt.name.startsWith(at))continue;let qt=Fe.getApparentType(Fe.getTypeAtLocation(Pt.valueDeclaration.name.expression)).symbol;if(Pt.escapedName===Pe(Fe,qt,ge))return Pt}}a.getWellKnownSymbolPropertyOfType=he;function Pe(ne,ge,Fe){let at=ge&&ne.getTypeOfSymbolAtLocation(ge,ge.valueDeclaration).getProperty(Fe),Pt=at&&ne.getTypeOfSymbolAtLocation(at,at.valueDeclaration);return Pt&&v.isUniqueESSymbolType(Pt)?Pt.escapedName:"__@"+Fe}function R(ne,ge,Fe){let at=!1,Pt=!1;for(let qt of q(ne))if(te(qt,ge)===void 0){let Zr=(h.isNumericPropertyName(ge)?Fe.getIndexInfoOfType(qt,_.IndexKind.Number):void 0)||Fe.getIndexInfoOfType(qt,_.IndexKind.String);if(Zr!==void 0&&Zr.isReadonly){if(at)return!0;Pt=!0}}else{if(Pt||pe(qt,ge,Fe))return!0;at=!0}return!1}a.isPropertyReadonlyInType=R;function pe(ne,ge,Fe){return K(ne,v.isIntersectionType,at=>{let Pt=te(at,ge);if(Pt===void 0)return!1;if(Pt.flags&_.SymbolFlags.Transient){if(/^(?:[1-9]\d*|0)$/.test(ge)&&v.isTupleTypeReference(at))return at.target.readonly;switch(ke(at,ge,Fe)){case!0:return!0;case!1:return!1;default:}}return h.isSymbolFlagSet(Pt,_.SymbolFlags.ValueModule)||Je(Pt,Fe)})}function ke(ne,ge,Fe){if(!v.isObjectType(ne)||!h.isObjectFlagSet(ne,_.ObjectFlags.Mapped))return;let at=ne.symbol.declarations[0];return at.readonlyToken!==void 0&&!/^__@[^@]+$/.test(ge)?at.readonlyToken.kind!==_.SyntaxKind.MinusToken:R(ne.modifiersType,ge,Fe)}function Je(ne,ge){return(ne.flags&_.SymbolFlags.Accessor)===_.SymbolFlags.GetAccessor||ne.declarations!==void 0&&ne.declarations.some(Fe=>h.isModifierFlagSet(Fe,_.ModifierFlags.Readonly)||D.isVariableDeclaration(Fe)&&h.isNodeFlagSet(Fe.parent,_.NodeFlags.Const)||D.isCallExpression(Fe)&&h.isReadonlyAssignmentDeclaration(Fe,ge)||D.isEnumMember(Fe)||(D.isPropertyAssignment(Fe)||D.isShorthandPropertyAssignment(Fe))&&h.isInConstContext(Fe.parent))}a.symbolHasReadonlyDeclaration=Je;function Xe(ne){if(ne.flags&(_.TypeFlags.StringLiteral|_.TypeFlags.NumberLiteral)){let ge=String(ne.value);return{displayName:ge,symbolName:_.escapeLeadingUnderscores(ge)}}if(v.isUniqueESSymbolType(ne))return{displayName:`[${ne.symbol?`${ee(ne.symbol)?"Symbol.":""}${ne.symbol.name}`:ne.escapedName.replace(/^__@|@\d+$/g,"")}]`,symbolName:ne.escapedName}}a.getPropertyNameFromType=Xe;function ee(ne){return h.isSymbolFlagSet(ne,_.SymbolFlags.Property)&&ne.valueDeclaration!==void 0&&D.isInterfaceDeclaration(ne.valueDeclaration.parent)&&ne.valueDeclaration.parent.name.text==="SymbolConstructor"&&je(ne.valueDeclaration.parent)}function je(ne){return h.isNodeFlagSet(ne.parent,_.NodeFlags.GlobalAugmentation)||D.isSourceFile(ne.parent)&&!_.isExternalModule(ne.parent)}function nt(ne,ge){var Fe;return ge.getSymbolAtLocation((Fe=ne.name)!==null&&Fe!==void 0?Fe:h.getChildOfKind(ne,_.SyntaxKind.ClassKeyword))}a.getSymbolOfClassLikeDeclaration=nt;function Ze(ne,ge){return ne.kind===_.SyntaxKind.ClassExpression?ge.getTypeAtLocation(ne):ge.getTypeOfSymbolAtLocation(nt(ne,ge),ne)}a.getConstructorTypeOfClassLikeDeclaration=Ze;function st(ne,ge){return ne.kind===_.SyntaxKind.ClassDeclaration?ge.getTypeAtLocation(ne):ge.getDeclaredTypeOfSymbol(nt(ne,ge))}a.getInstanceTypeOfClassLikeDeclaration=st;function tt(ne,ge,Fe){return v.isUnionType(ne)&&ne.types.find(at=>{let Pt=at.getProperty("done");return Pt!==void 0&&Ae(y(Fe,Fe.getTypeOfSymbolAtLocation(Pt,ge)),!1)})||ne}a.getIteratorYieldResultFromIteratorResult=tt;function ct(ne,ge){if(!D.isClassLikeDeclaration(ne.parent))return;let Fe=h.getBaseOfClassLikeExpression(ne.parent);if(Fe===void 0)return;let at=h.getSingleLateBoundPropertyNameOfPropertyName(ne.name,ge);if(at===void 0)return;let Pt=ge.getTypeAtLocation(h.hasModifier(ne.modifiers,_.SyntaxKind.StaticKeyword)?Fe.expression:Fe);return te(Pt,at.symbolName)}a.getBaseClassMemberOfClassElement=ct}}),Q9=Oe({"node_modules/tsutils/util/util.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.isValidIdentifier=a.getLineBreakStyle=a.getLineRanges=a.forEachComment=a.forEachTokenWithTrivia=a.forEachToken=a.isFunctionWithBody=a.hasOwnThisReference=a.isBlockScopeBoundary=a.isFunctionScopeBoundary=a.isTypeScopeBoundary=a.isScopeBoundary=a.ScopeBoundarySelector=a.ScopeBoundary=a.isInSingleStatementContext=a.isBlockScopedDeclarationStatement=a.isBlockScopedVariableDeclaration=a.isBlockScopedVariableDeclarationList=a.getVariableDeclarationKind=a.VariableDeclarationKind=a.forEachDeclaredVariable=a.forEachDestructuringIdentifier=a.getPropertyName=a.getWrappedNodeAtPosition=a.getAstNodeAtPosition=a.commentText=a.isPositionInComment=a.getCommentAtPosition=a.getTokenAtPosition=a.getNextToken=a.getPreviousToken=a.getNextStatement=a.getPreviousStatement=a.isModifierFlagSet=a.isObjectFlagSet=a.isSymbolFlagSet=a.isTypeFlagSet=a.isNodeFlagSet=a.hasAccessModifier=a.isParameterProperty=a.hasModifier=a.getModifier=a.isThisParameter=a.isKeywordKind=a.isJsDocKind=a.isTypeNodeKind=a.isAssignmentKind=a.isNodeKind=a.isTokenKind=a.getChildOfKind=void 0,a.getBaseOfClassLikeExpression=a.hasExhaustiveCaseClauses=a.formatPseudoBigInt=a.unwrapParentheses=a.getSingleLateBoundPropertyNameOfPropertyName=a.getLateBoundPropertyNamesOfPropertyName=a.getLateBoundPropertyNames=a.getPropertyNameOfWellKnownSymbol=a.isWellKnownSymbolLiterally=a.isBindableObjectDefinePropertyCall=a.isReadonlyAssignmentDeclaration=a.isInConstContext=a.isConstAssertion=a.getTsCheckDirective=a.getCheckJsDirective=a.isAmbientModule=a.isCompilerOptionEnabled=a.isStrictCompilerOptionEnabled=a.getIIFE=a.isAmbientModuleBlock=a.isStatementInAmbientContext=a.findImportLikeNodes=a.findImports=a.ImportKind=a.parseJsDocOfNode=a.getJsDoc=a.canHaveJsDoc=a.isReassignmentTarget=a.getAccessKind=a.AccessKind=a.isExpressionValueUsed=a.getDeclarationOfBindingElement=a.hasSideEffects=a.SideEffectOptions=a.isSameLine=a.isNumericPropertyName=a.isValidJsxIdentifier=a.isValidNumericLiteral=a.isValidPropertyName=a.isValidPropertyAccess=void 0;var _=vr(),v=X9(),h=OV(),D=LV();function P(S,H,le){for(let Be of S.getChildren(le))if(Be.kind===H)return Be}a.getChildOfKind=P;function y(S){return S>=_.SyntaxKind.FirstToken&&S<=_.SyntaxKind.LastToken}a.isTokenKind=y;function m(S){return S>=_.SyntaxKind.FirstNode}a.isNodeKind=m;function C(S){return S>=_.SyntaxKind.FirstAssignment&&S<=_.SyntaxKind.LastAssignment}a.isAssignmentKind=C;function d(S){return S>=_.SyntaxKind.FirstTypeNode&&S<=_.SyntaxKind.LastTypeNode}a.isTypeNodeKind=d;function E(S){return S>=_.SyntaxKind.FirstJSDocNode&&S<=_.SyntaxKind.LastJSDocNode}a.isJsDocKind=E;function I(S){return S>=_.SyntaxKind.FirstKeyword&&S<=_.SyntaxKind.LastKeyword}a.isKeywordKind=I;function c(S){return S.name.kind===_.SyntaxKind.Identifier&&S.name.originalKeywordKind===_.SyntaxKind.ThisKeyword}a.isThisParameter=c;function M(S,H){if(S.modifiers!==void 0){for(let le of S.modifiers)if(le.kind===H)return le}}a.getModifier=M;function q(S){if(S===void 0)return!1;for(var H=arguments.length,le=new Array(H>1?H-1:0),Be=1;Be0)return H.statements[le-1]}}a.getPreviousStatement=Ae;function te(S){let H=S.parent;if(v.isBlockLike(H)){let le=H.statements.indexOf(S);if(le=S.end))return y(S.kind)?S:pe(S,H,le!=null?le:S.getSourceFile(),Be===!0)}a.getTokenAtPosition=R;function pe(S,H,le,Be){if(!Be&&(S=je(S,H),y(S.kind)))return S;e:for(;;){for(let rt of S.getChildren(le))if(rt.end>H&&(Be||rt.kind!==_.SyntaxKind.JSDocComment)){if(y(rt.kind))return rt;S=rt;continue e}return}}function ke(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S,Be=R(le,H,S);if(Be===void 0||Be.kind===_.SyntaxKind.JsxText||H>=Be.end-(_.tokenToString(Be.kind)||"").length)return;let rt=Be.pos===0?(_.getShebang(S.text)||"").length:Be.pos;return rt!==0&&_.forEachTrailingCommentRange(S.text,rt,Je,H)||_.forEachLeadingCommentRange(S.text,rt,Je,H)}a.getCommentAtPosition=ke;function Je(S,H,le,Be,rt){return rt>=S&&rtH||S.end<=H)){for(;m(S.kind);){let le=_.forEachChild(S,Be=>Be.pos<=H&&Be.end>H?Be:void 0);if(le===void 0)break;S=le}return S}}a.getAstNodeAtPosition=je;function nt(S,H){if(S.node.pos>H||S.node.end<=H)return;e:for(;;){for(let le of S.children){if(le.node.pos>H)return S;if(le.node.end>H){S=le;continue e}}return S}}a.getWrappedNodeAtPosition=nt;function Ze(S){if(S.kind===_.SyntaxKind.ComputedPropertyName){let H=Os(S.expression);if(v.isPrefixUnaryExpression(H)){let le=!1;switch(H.operator){case _.SyntaxKind.MinusToken:le=!0;case _.SyntaxKind.PlusToken:return v.isNumericLiteral(H.operand)?`${le?"-":""}${H.operand.text}`:h.isBigIntLiteral(H.operand)?`${le?"-":""}${H.operand.text.slice(0,-1)}`:void 0;default:return}}return h.isBigIntLiteral(H)?H.text.slice(0,-1):v.isNumericOrStringLikeLiteral(H)?H.text:void 0}return S.kind===_.SyntaxKind.PrivateIdentifier?void 0:S.text}a.getPropertyName=Ze;function st(S,H){for(let le of S.elements){if(le.kind!==_.SyntaxKind.BindingElement)continue;let Be;if(le.name.kind===_.SyntaxKind.Identifier?Be=H(le):Be=st(le.name,H),Be)return Be}}a.forEachDestructuringIdentifier=st;function tt(S,H){for(let le of S.declarations){let Be;if(le.name.kind===_.SyntaxKind.Identifier?Be=H(le):Be=st(le.name,H),Be)return Be}}a.forEachDeclaredVariable=tt;var ct;(function(S){S[S.Var=0]="Var",S[S.Let=1]="Let",S[S.Const=2]="Const"})(ct=a.VariableDeclarationKind||(a.VariableDeclarationKind={}));function ne(S){return S.flags&_.NodeFlags.Let?1:S.flags&_.NodeFlags.Const?2:0}a.getVariableDeclarationKind=ne;function ge(S){return(S.flags&_.NodeFlags.BlockScoped)!==0}a.isBlockScopedVariableDeclarationList=ge;function Fe(S){let H=S.parent;return H.kind===_.SyntaxKind.CatchClause||ge(H)}a.isBlockScopedVariableDeclaration=Fe;function at(S){switch(S.kind){case _.SyntaxKind.VariableStatement:return ge(S.declarationList);case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.EnumDeclaration:case _.SyntaxKind.InterfaceDeclaration:case _.SyntaxKind.TypeAliasDeclaration:return!0;default:return!1}}a.isBlockScopedDeclarationStatement=at;function Pt(S){switch(S.parent.kind){case _.SyntaxKind.ForStatement:case _.SyntaxKind.ForInStatement:case _.SyntaxKind.ForOfStatement:case _.SyntaxKind.WhileStatement:case _.SyntaxKind.DoStatement:case _.SyntaxKind.IfStatement:case _.SyntaxKind.WithStatement:case _.SyntaxKind.LabeledStatement:return!0;default:return!1}}a.isInSingleStatementContext=Pt;var qt;(function(S){S[S.None=0]="None",S[S.Function=1]="Function",S[S.Block=2]="Block",S[S.Type=4]="Type",S[S.ConditionalType=8]="ConditionalType"})(qt=a.ScopeBoundary||(a.ScopeBoundary={}));var Zr;(function(S){S[S.Function=1]="Function",S[S.Block=3]="Block",S[S.Type=7]="Type",S[S.InferType=8]="InferType"})(Zr=a.ScopeBoundarySelector||(a.ScopeBoundarySelector={}));function Ri(S){return ua(S)||Ka(S)||la(S)}a.isScopeBoundary=Ri;function la(S){switch(S.kind){case _.SyntaxKind.InterfaceDeclaration:case _.SyntaxKind.TypeAliasDeclaration:case _.SyntaxKind.MappedType:return 4;case _.SyntaxKind.ConditionalType:return 8;default:return 0}}a.isTypeScopeBoundary=la;function ua(S){switch(S.kind){case _.SyntaxKind.FunctionExpression:case _.SyntaxKind.ArrowFunction:case _.SyntaxKind.Constructor:case _.SyntaxKind.ModuleDeclaration:case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.ClassExpression:case _.SyntaxKind.EnumDeclaration:case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.FunctionDeclaration:case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:case _.SyntaxKind.MethodSignature:case _.SyntaxKind.CallSignature:case _.SyntaxKind.ConstructSignature:case _.SyntaxKind.ConstructorType:case _.SyntaxKind.FunctionType:return 1;case _.SyntaxKind.SourceFile:return _.isExternalModule(S)?1:0;default:return 0}}a.isFunctionScopeBoundary=ua;function Ka(S){switch(S.kind){case _.SyntaxKind.Block:let H=S.parent;return H.kind!==_.SyntaxKind.CatchClause&&(H.kind===_.SyntaxKind.SourceFile||!ua(H))?2:0;case _.SyntaxKind.ForStatement:case _.SyntaxKind.ForInStatement:case _.SyntaxKind.ForOfStatement:case _.SyntaxKind.CaseBlock:case _.SyntaxKind.CatchClause:case _.SyntaxKind.WithStatement:return 2;default:return 0}}a.isBlockScopeBoundary=Ka;function co(S){switch(S.kind){case _.SyntaxKind.ClassDeclaration:case _.SyntaxKind.ClassExpression:case _.SyntaxKind.FunctionExpression:return!0;case _.SyntaxKind.FunctionDeclaration:return S.body!==void 0;case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:return S.parent.kind===_.SyntaxKind.ObjectLiteralExpression;default:return!1}}a.hasOwnThisReference=co;function be(S){switch(S.kind){case _.SyntaxKind.GetAccessor:case _.SyntaxKind.SetAccessor:case _.SyntaxKind.FunctionDeclaration:case _.SyntaxKind.MethodDeclaration:case _.SyntaxKind.Constructor:return S.body!==void 0;case _.SyntaxKind.FunctionExpression:case _.SyntaxKind.ArrowFunction:return!0;default:return!1}}a.isFunctionWithBody=be;function Ke(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=[];for(;;){if(y(S.kind))H(S);else if(S.kind!==_.SyntaxKind.JSDocComment){let rt=S.getChildren(le);if(rt.length===1){S=rt[0];continue}for(let ut=rt.length-1;ut>=0;--ut)Be.push(rt[ut])}if(Be.length===0)break;S=Be.pop()}}a.forEachToken=Ke;function Et(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=le.text,rt=_.createScanner(le.languageVersion,!1,le.languageVariant,Be);return Ke(S,ut=>{let Ht=ut.kind===_.SyntaxKind.JsxText||ut.pos===ut.end?ut.pos:ut.getStart(le);if(Ht!==ut.pos){rt.setTextPos(ut.pos);let Fr=rt.scan(),Cr=rt.getTokenPos();for(;Cr2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile(),Be=le.text,rt=le.languageVariant!==_.LanguageVariant.JSX;return Ke(S,Ht=>{if(Ht.pos!==Ht.end&&(Ht.kind!==_.SyntaxKind.JsxText&&_.forEachLeadingCommentRange(Be,Ht.pos===0?(_.getShebang(Be)||"").length:Ht.pos,ut),rt||or(Ht)))return _.forEachTrailingCommentRange(Be,Ht.end,ut)},le);function ut(Ht,Fr,Cr){H(Be,{pos:Ht,end:Fr,kind:Cr})}}a.forEachComment=Ft;function or(S){switch(S.kind){case _.SyntaxKind.CloseBraceToken:return S.parent.kind!==_.SyntaxKind.JsxExpression||!Wr(S.parent.parent);case _.SyntaxKind.GreaterThanToken:switch(S.parent.kind){case _.SyntaxKind.JsxOpeningElement:return S.end!==S.parent.end;case _.SyntaxKind.JsxOpeningFragment:return!1;case _.SyntaxKind.JsxSelfClosingElement:return S.end!==S.parent.end||!Wr(S.parent.parent);case _.SyntaxKind.JsxClosingElement:case _.SyntaxKind.JsxClosingFragment:return!Wr(S.parent.parent.parent)}}return!0}function Wr(S){return S.kind===_.SyntaxKind.JsxElement||S.kind===_.SyntaxKind.JsxFragment}function m_(S){let H=S.getLineStarts(),le=[],Be=H.length,rt=S.text,ut=0;for(let Ht=1;Htut&&_.isLineBreak(rt.charCodeAt(Cr-1));--Cr);le.push({pos:ut,end:Fr,contentLength:Cr-ut}),ut=Fr}return le.push({pos:ut,end:S.end,contentLength:S.end-ut}),le}a.getLineRanges=m_;function Uc(S){let H=S.getLineStarts();return H.length===1||H[1]<2||S.text[H[1]-2]!=="\r"?` +`:`\r +`}a.getLineBreakStyle=Uc;var ji;function lo(S,H){return ji===void 0?ji=_.createScanner(H,!1,void 0,S):(ji.setScriptTarget(H),ji.setText(S)),ji.scan(),ji}function zc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest,le=lo(S,H);return le.isIdentifier()&&le.getTextPos()===S.length&&le.getTokenPos()===0}a.isValidIdentifier=zc;function Qn(S){return S>=65536?2:1}function uo(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(S.length===0)return!1;let le=S.codePointAt(0);if(!_.isIdentifierStart(le,H))return!1;for(let Be=Qn(le);Be1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(uo(S,H))return!0;let le=lo(S,H);return le.getTextPos()===S.length&&le.getToken()===_.SyntaxKind.NumericLiteral&&le.getTokenValue()===S}a.isValidPropertyName=Wc;function Vc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest,le=lo(S,H);return le.getToken()===_.SyntaxKind.NumericLiteral&&le.getTextPos()===S.length&&le.getTokenPos()===0}a.isValidNumericLiteral=Vc;function Hc(S){let H=arguments.length>1&&arguments[1]!==void 0?arguments[1]:_.ScriptTarget.Latest;if(S.length===0)return!1;let le=!1,Be=S.codePointAt(0);if(!_.isIdentifierStart(Be,H))return!1;for(let rt=Qn(Be);rt2&&arguments[2]!==void 0?arguments[2]:S.getSourceFile();if(y_(S)&&S.kind!==_.SyntaxKind.EndOfFileToken){let Be=Ns(S,le);if(Be.length!==0||!H)return Be}return pa(S,S.getStart(le),le,H)}a.parseJsDocOfNode=Kc;function pa(S,H,le,Be){let rt=_[Be&&h_(le,S.pos,H)?"forEachTrailingCommentRange":"forEachLeadingCommentRange"](le.text,S.pos,(en,Ji,gi)=>gi===_.SyntaxKind.MultiLineCommentTrivia&&le.text[en+2]==="*"?{pos:en}:void 0);if(rt===void 0)return[];let ut=rt.pos,Ht=le.text.slice(ut,H),Fr=_.createSourceFile("jsdoc.ts",`${Ht}var a;`,le.languageVersion),Cr=Ns(Fr.statements[0],Fr);for(let en of Cr)ir(en,S);return Cr;function ir(en,Ji){return en.pos+=ut,en.end+=ut,en.parent=Ji,_.forEachChild(en,gi=>ir(gi,en),gi=>{gi.pos+=ut,gi.end+=ut;for(let ln of gi)ir(ln,en)})}}var Xc;(function(S){S[S.ImportDeclaration=1]="ImportDeclaration",S[S.ImportEquals=2]="ImportEquals",S[S.ExportFrom=4]="ExportFrom",S[S.DynamicImport=8]="DynamicImport",S[S.Require=16]="Require",S[S.ImportType=32]="ImportType",S[S.All=63]="All",S[S.AllImports=59]="AllImports",S[S.AllStaticImports=3]="AllStaticImports",S[S.AllImportExpressions=24]="AllImportExpressions",S[S.AllRequireLike=18]="AllRequireLike",S[S.AllNestedImports=56]="AllNestedImports",S[S.AllTopLevelImports=7]="AllTopLevelImports"})(Xc=a.ImportKind||(a.ImportKind={}));function fo(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,Be=[];for(let ut of v_(S,H,le))switch(ut.kind){case _.SyntaxKind.ImportDeclaration:rt(ut.moduleSpecifier);break;case _.SyntaxKind.ImportEqualsDeclaration:rt(ut.moduleReference.expression);break;case _.SyntaxKind.ExportDeclaration:rt(ut.moduleSpecifier);break;case _.SyntaxKind.CallExpression:rt(ut.arguments[0]);break;case _.SyntaxKind.ImportType:v.isLiteralTypeNode(ut.argument)&&rt(ut.argument.literal);break;default:throw new Error("unexpected node")}return Be;function rt(ut){v.isTextualLiteral(ut)&&Be.push(ut)}}a.findImports=fo;function v_(S,H){let le=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return new Cn(S,H,le).find()}a.findImportLikeNodes=v_;var Cn=class{constructor(S,H,le){this._sourceFile=S,this._options=H,this._ignoreFileName=le,this._result=[]}find(){return this._sourceFile.isDeclarationFile&&(this._options&=-25),this._options&7&&this._findImports(this._sourceFile.statements),this._options&56&&this._findNestedImports(),this._result}_findImports(S){for(let H of S)v.isImportDeclaration(H)?this._options&1&&this._result.push(H):v.isImportEqualsDeclaration(H)?this._options&2&&H.moduleReference.kind===_.SyntaxKind.ExternalModuleReference&&this._result.push(H):v.isExportDeclaration(H)?H.moduleSpecifier!==void 0&&this._options&4&&this._result.push(H):v.isModuleDeclaration(H)&&this._findImportsInModule(H)}_findImportsInModule(S){if(S.body!==void 0){if(S.body.kind===_.SyntaxKind.ModuleDeclaration)return this._findImportsInModule(S.body);this._findImports(S.body.statements)}}_findNestedImports(){let S=this._ignoreFileName||(this._sourceFile.flags&_.NodeFlags.JavaScriptFile)!==0,H,le;if((this._options&56)===16){if(!S)return;H=/\brequire\s*[1&&this._result.push(rt.parent)}}else rt.kind===_.SyntaxKind.Identifier&&rt.end-7===Be.index&&rt.parent.kind===_.SyntaxKind.CallExpression&&rt.parent.expression===rt&&rt.parent.arguments.length===1&&this._result.push(rt.parent)}}};function Zn(S){for(;S.flags&_.NodeFlags.NestedNamespace;)S=S.parent;return q(S.modifiers,_.SyntaxKind.DeclareKeyword)||Xa(S.parent)}a.isStatementInAmbientContext=Zn;function Xa(S){for(;S.kind===_.SyntaxKind.ModuleBlock;){do S=S.parent;while(S.flags&_.NodeFlags.NestedNamespace);if(q(S.modifiers,_.SyntaxKind.DeclareKeyword))return!0;S=S.parent}return!1}a.isAmbientModuleBlock=Xa;function Yc(S){let H=S.parent;for(;H.kind===_.SyntaxKind.ParenthesizedExpression;)H=H.parent;return v.isCallExpression(H)&&S.end<=H.expression.end?H:void 0}a.getIIFE=Yc;function mo(S,H){return(S.strict?S[H]!==!1:S[H]===!0)&&(H!=="strictPropertyInitialization"||mo(S,"strictNullChecks"))}a.isStrictCompilerOptionEnabled=mo;function ei(S,H){switch(H){case"stripInternal":case"declarationMap":case"emitDeclarationOnly":return S[H]===!0&&ei(S,"declaration");case"declaration":return S.declaration||ei(S,"composite");case"incremental":return S.incremental===void 0?ei(S,"composite"):S.incremental;case"skipDefaultLibCheck":return S.skipDefaultLibCheck||ei(S,"skipLibCheck");case"suppressImplicitAnyIndexErrors":return S.suppressImplicitAnyIndexErrors===!0&&ei(S,"noImplicitAny");case"allowSyntheticDefaultImports":return S.allowSyntheticDefaultImports!==void 0?S.allowSyntheticDefaultImports:ei(S,"esModuleInterop")||S.module===_.ModuleKind.System;case"noUncheckedIndexedAccess":return S.noUncheckedIndexedAccess===!0&&ei(S,"strictNullChecks");case"allowJs":return S.allowJs===void 0?ei(S,"checkJs"):S.allowJs;case"noImplicitAny":case"noImplicitThis":case"strictNullChecks":case"strictFunctionTypes":case"strictPropertyInitialization":case"alwaysStrict":case"strictBindCallApply":return mo(S,H)}return S[H]===!0}a.isCompilerOptionEnabled=ei;function Ya(S){return S.name.kind===_.SyntaxKind.StringLiteral||(S.flags&_.NodeFlags.GlobalAugmentation)!==0}a.isAmbientModule=Ya;function b_(S){return Qa(S)}a.getCheckJsDirective=b_;function Qa(S){let H;return _.forEachLeadingCommentRange(S,(_.getShebang(S)||"").length,(le,Be,rt)=>{if(rt===_.SyntaxKind.SingleLineCommentTrivia){let ut=S.slice(le,Be),Ht=/^\/{2,3}\s*@ts-(no)?check(?:\s|$)/i.exec(ut);Ht!==null&&(H={pos:le,end:Be,enabled:Ht[1]===void 0})}}),H}a.getTsCheckDirective=Qa;function Jr(S){return v.isTypeReferenceNode(S.type)&&S.type.typeName.kind===_.SyntaxKind.Identifier&&S.type.typeName.escapedText==="const"}a.isConstAssertion=Jr;function Qc(S){let H=S;for(;;){let le=H.parent;e:switch(le.kind){case _.SyntaxKind.TypeAssertionExpression:case _.SyntaxKind.AsExpression:return Jr(le);case _.SyntaxKind.PrefixUnaryExpression:if(H.kind!==_.SyntaxKind.NumericLiteral)return!1;switch(le.operator){case _.SyntaxKind.PlusToken:case _.SyntaxKind.MinusToken:H=le;break e;default:return!1}case _.SyntaxKind.PropertyAssignment:if(le.initializer!==H)return!1;H=le.parent;break;case _.SyntaxKind.ShorthandPropertyAssignment:H=le.parent;break;case _.SyntaxKind.ParenthesizedExpression:case _.SyntaxKind.ArrayLiteralExpression:case _.SyntaxKind.ObjectLiteralExpression:case _.SyntaxKind.TemplateExpression:H=le;break;default:return!1}}}a.isInConstContext=Qc;function ho(S,H){if(!T_(S))return!1;let le=H.getTypeAtLocation(S.arguments[2]);if(le.getProperty("value")===void 0)return le.getProperty("set")===void 0;let Be=le.getProperty("writable");if(Be===void 0)return!1;let rt=Be.valueDeclaration!==void 0&&v.isPropertyAssignment(Be.valueDeclaration)?H.getTypeAtLocation(Be.valueDeclaration.initializer):H.getTypeOfSymbolAtLocation(Be,S.arguments[2]);return D.isBooleanLiteralType(rt,!1)}a.isReadonlyAssignmentDeclaration=ho;function T_(S){return S.arguments.length===3&&v.isEntityNameExpression(S.arguments[0])&&v.isNumericOrStringLikeLiteral(S.arguments[1])&&v.isPropertyAccessExpression(S.expression)&&S.expression.name.escapedText==="defineProperty"&&v.isIdentifier(S.expression.expression)&&S.expression.expression.escapedText==="Object"}a.isBindableObjectDefinePropertyCall=T_;function go(S){return _.isPropertyAccessExpression(S)&&_.isIdentifier(S.expression)&&S.expression.escapedText==="Symbol"}a.isWellKnownSymbolLiterally=go;function yo(S){return{displayName:`[Symbol.${S.name.text}]`,symbolName:"__@"+S.name.text}}a.getPropertyNameOfWellKnownSymbol=yo;var Za=(S=>{let[H,le]=S;return H<"4"||H==="4"&&le<"3"})(_.versionMajorMinor.split("."));function vo(S,H){let le={known:!0,names:[]};if(S=Os(S),Za&&go(S))le.names.push(yo(S));else{let Be=H.getTypeAtLocation(S);for(let rt of D.unionTypeParts(H.getBaseConstraintOfType(Be)||Be)){let ut=D.getPropertyNameFromType(rt);ut?le.names.push(ut):le.known=!1}}return le}a.getLateBoundPropertyNames=vo;function S_(S,H){let le=Ze(S);return le!==void 0?{known:!0,names:[{displayName:le,symbolName:_.escapeLeadingUnderscores(le)}]}:S.kind===_.SyntaxKind.PrivateIdentifier?{known:!0,names:[{displayName:S.text,symbolName:H.getSymbolAtLocation(S).escapedName}]}:vo(S.expression,H)}a.getLateBoundPropertyNamesOfPropertyName=S_;function Zc(S,H){let le=Ze(S);if(le!==void 0)return{displayName:le,symbolName:_.escapeLeadingUnderscores(le)};if(S.kind===_.SyntaxKind.PrivateIdentifier)return{displayName:S.text,symbolName:H.getSymbolAtLocation(S).escapedName};let{expression:Be}=S;return Za&&go(Be)?yo(Be):D.getPropertyNameFromType(H.getTypeAtLocation(Be))}a.getSingleLateBoundPropertyNameOfPropertyName=Zc;function Os(S){for(;S.kind===_.SyntaxKind.ParenthesizedExpression;)S=S.expression;return S}a.unwrapParentheses=Os;function bo(S){return`${S.negative?"-":""}${S.base10Value}n`}a.formatPseudoBigInt=bo;function el(S,H){let le=S.caseBlock.clauses.filter(v.isCaseClause);if(le.length===0)return!1;let Be=D.unionTypeParts(H.getTypeAtLocation(S.expression));if(Be.length>le.length)return!1;let rt=new Set(Be.map(x_));if(rt.has(void 0))return!1;let ut=new Set;for(let Ht of le){let Fr=H.getTypeAtLocation(Ht.expression);if(a.isTypeFlagSet(Fr,_.TypeFlags.Never))continue;let Cr=x_(Fr);if(rt.has(Cr))ut.add(Cr);else if(Cr!=="null"&&Cr!=="undefined")return!1}return rt.size===ut.size}a.hasExhaustiveCaseClauses=el;function x_(S){if(a.isTypeFlagSet(S,_.TypeFlags.Null))return"null";if(a.isTypeFlagSet(S,_.TypeFlags.Undefined))return"undefined";if(a.isTypeFlagSet(S,_.TypeFlags.NumberLiteral))return`${a.isTypeFlagSet(S,_.TypeFlags.EnumLiteral)?"enum:":""}${S.value}`;if(a.isTypeFlagSet(S,_.TypeFlags.StringLiteral))return`${a.isTypeFlagSet(S,_.TypeFlags.EnumLiteral)?"enum:":""}string:${S.value}`;if(a.isTypeFlagSet(S,_.TypeFlags.BigIntLiteral))return bo(S.value);if(h.isUniqueESSymbolType(S))return S.escapedName;if(D.isBooleanLiteralType(S,!0))return"true";if(D.isBooleanLiteralType(S,!1))return"false"}function E_(S){var H;if(((H=S.heritageClauses)===null||H===void 0?void 0:H[0].token)===_.SyntaxKind.ExtendsKeyword)return S.heritageClauses[0].types[0]}a.getBaseOfClassLikeExpression=E_}}),RV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/convert-comments.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E};Object.defineProperty(a,"__esModule",{value:!0}),a.convertComments=void 0;var D=Q9(),P=h(vr()),y=E1(),m=x1();function C(d,E){let I=[];return(0,D.forEachComment)(d,(c,M)=>{let q=M.kind===P.SyntaxKind.SingleLineCommentTrivia?m.AST_TOKEN_TYPES.Line:m.AST_TOKEN_TYPES.Block,W=[M.pos,M.end],K=(0,y.getLocFor)(W[0],W[1],d),ce=W[0]+2,Ie=M.kind===P.SyntaxKind.SingleLineCommentTrivia?W[1]-ce:W[1]-ce-2;I.push({type:q,value:E.slice(ce,ce+Ie),range:W,loc:K})},d),I}a.convertComments=C}}),Z9=Oe({"node_modules/eslint-visitor-keys/dist/eslint-visitor-keys.cjs"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0});var _={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXClosingFragment:[],JSXOpeningFragment:[],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},v=Object.keys(_);for(let m of v)Object.freeze(_[m]);Object.freeze(_);var h=new Set(["parent","leadingComments","trailingComments"]);function D(m){return!h.has(m)&&m[0]!=="_"}function P(m){return Object.keys(m).filter(D)}function y(m){let C=Object.assign({},_);for(let d of Object.keys(m))if(Object.prototype.hasOwnProperty.call(C,d)){let E=new Set(m[d]);for(let I of C[d])E.add(I);C[d]=Object.freeze(Array.from(E))}else C[d]=Object.freeze(Array.from(m[d]));return Object.freeze(C)}a.KEYS=_,a.getKeys=P,a.unionWith=y}}),jV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/get-keys.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.getKeys=void 0;var _=Z9(),v=_.getKeys;a.getKeys=v}}),JV=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__setModuleDefault||(Object.create?function(C,d){Object.defineProperty(C,"default",{enumerable:!0,value:d})}:function(C,d){C.default=d}),h=a&&a.__importStar||function(C){if(C&&C.__esModule)return C;var d={};if(C!=null)for(var E in C)E!=="default"&&Object.prototype.hasOwnProperty.call(C,E)&&_(d,C,E);return v(d,C),d};Object.defineProperty(a,"__esModule",{value:!0}),a.visitorKeys=void 0;var D=h(Z9()),P=(()=>{let C=["typeParameters","params","returnType"],d=[...C,"body"],E=["decorators","key","typeAnnotation"];return{AnonymousFunction:d,Function:["id",...d],FunctionType:C,ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","implements","body"],AbstractPropertyDefinition:["decorators","key","typeAnnotation"],PropertyDefinition:[...E,"value"],TypeAssertion:["expression","typeAnnotation"]}})(),y={AccessorProperty:P.PropertyDefinition,ArrayPattern:["decorators","elements","typeAnnotation"],ArrowFunctionExpression:P.AnonymousFunction,AssignmentPattern:["decorators","left","right","typeAnnotation"],CallExpression:["callee","typeParameters","arguments"],ClassDeclaration:P.ClassDeclaration,ClassExpression:P.ClassDeclaration,Decorator:["expression"],ExportAllDeclaration:["exported","source","assertions"],ExportNamedDeclaration:["declaration","specifiers","source","assertions"],FunctionDeclaration:P.Function,FunctionExpression:P.Function,Identifier:["decorators","typeAnnotation"],ImportAttribute:["key","value"],ImportDeclaration:["specifiers","source","assertions"],ImportExpression:["source","attributes"],JSXClosingFragment:[],JSXOpeningElement:["name","typeParameters","attributes"],JSXOpeningFragment:[],JSXSpreadChild:["expression"],MethodDefinition:["decorators","key","value","typeParameters"],NewExpression:["callee","typeParameters","arguments"],ObjectPattern:["decorators","properties","typeAnnotation"],PropertyDefinition:P.PropertyDefinition,RestElement:["decorators","argument","typeAnnotation"],StaticBlock:["body"],TaggedTemplateExpression:["tag","typeParameters","quasi"],TSAbstractAccessorProperty:P.AbstractPropertyDefinition,TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:P.AbstractPropertyDefinition,TSAnyKeyword:[],TSArrayType:["elementType"],TSAsExpression:P.TypeAssertion,TSAsyncKeyword:[],TSBigIntKeyword:[],TSBooleanKeyword:[],TSCallSignatureDeclaration:P.FunctionType,TSClassImplements:["expression","typeParameters"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSConstructorType:P.FunctionType,TSConstructSignatureDeclaration:P.FunctionType,TSDeclareFunction:P.Function,TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id",...P.FunctionType],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSExportAssignment:["expression"],TSExportKeyword:[],TSExternalModuleReference:["expression"],TSFunctionType:P.FunctionType,TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["parameter","qualifier","typeParameters"],TSIndexedAccessType:["indexType","objectType"],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:["typeParameter"],TSInstantiationExpression:["expression","typeParameters"],TSInterfaceBody:["body"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceHeritage:["expression","typeParameters"],TSIntersectionType:["types"],TSIntrinsicKeyword:[],TSLiteralType:["literal"],TSMappedType:["nameType","typeParameter","typeAnnotation"],TSMethodSignature:["typeParameters","key","params","returnType"],TSModuleBlock:["body"],TSModuleDeclaration:["id","body"],TSNamedTupleMember:["label","elementType"],TSNamespaceExportDeclaration:["id"],TSNeverKeyword:[],TSNonNullExpression:["expression"],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSOptionalType:["typeAnnotation"],TSParameterProperty:["decorators","parameter"],TSPrivateKeyword:[],TSPropertySignature:["typeAnnotation","key","initializer"],TSProtectedKeyword:[],TSPublicKeyword:[],TSQualifiedName:["left","right"],TSReadonlyKeyword:[],TSRestType:["typeAnnotation"],TSSatisfiesExpression:["typeAnnotation","expression"],TSStaticKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSTemplateLiteralType:["quasis","types"],TSThisType:[],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:["typeAnnotation"],TSTypeAssertion:P.TypeAssertion,TSTypeLiteral:["members"],TSTypeOperator:["typeAnnotation"],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:["params"],TSTypeParameterInstantiation:["params"],TSTypePredicate:["typeAnnotation","parameterName"],TSTypeQuery:["exprName","typeParameters"],TSTypeReference:["typeName","typeParameters"],TSUndefinedKeyword:[],TSUnionType:["types"],TSUnknownKeyword:[],TSVoidKeyword:[]},m=D.unionWith(y);a.visitorKeys=m}}),e5=Oe({"node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys/dist/index.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.visitorKeys=a.getKeys=void 0;var _=jV();Object.defineProperty(a,"getKeys",{enumerable:!0,get:function(){return _.getKeys}});var v=JV();Object.defineProperty(a,"visitorKeys",{enumerable:!0,get:function(){return v.visitorKeys}})}}),t5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/simple-traverse.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.simpleTraverse=void 0;var _=e5();function v(y){return y!=null&&typeof y=="object"&&typeof y.type=="string"}function h(y,m){let C=y[m.type];return C!=null?C:[]}var D=class{constructor(y){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;this.allVisitorKeys=_.visitorKeys,this.selectors=y,this.setParentPointers=m}traverse(y,m){if(!v(y))return;this.setParentPointers&&(y.parent=m),"enter"in this.selectors?this.selectors.enter(y,m):y.type in this.selectors&&this.selectors[y.type](y,m);let C=h(this.allVisitorKeys,y);if(!(C.length<1))for(let d of C){let E=y[d];if(Array.isArray(E))for(let I of E)this.traverse(I,y);else this.traverse(E,y)}}};function P(y,m){let C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;new D(m,C).traverse(y,void 0)}a.simpleTraverse=P}}),FV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/ast-converter.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.astConverter=void 0;var _=G9(),v=RV(),h=E1(),D=t5();function P(y,m,C){let{parseDiagnostics:d}=y;if(d.length)throw(0,_.convertError)(d[0]);let E=new _.Converter(y,{errorOnUnknownASTType:m.errorOnUnknownASTType||!1,shouldPreserveNodeMaps:C}),I=E.convertProgram();(!m.range||!m.loc)&&(0,D.simpleTraverse)(I,{enter:M=>{m.range||delete M.range,m.loc||delete M.loc}}),m.tokens&&(I.tokens=(0,h.convertTokens)(y)),m.comment&&(I.comments=(0,v.convertComments)(y,m.code));let c=E.getASTMaps();return{estree:I,astMaps:c}}a.astConverter=P}}),r5={};m1(r5,{basename:()=>o5,default:()=>c5,delimiter:()=>nT,dirname:()=>s5,extname:()=>_5,isAbsolute:()=>mT,join:()=>i5,normalize:()=>dT,relative:()=>a5,resolve:()=>d1,sep:()=>rT});function n5(a,_){for(var v=0,h=a.length-1;h>=0;h--){var D=a[h];D==="."?a.splice(h,1):D===".."?(a.splice(h,1),v++):v&&(a.splice(h,1),v--)}if(_)for(;v--;v)a.unshift("..");return a}function d1(){for(var a="",_=!1,v=arguments.length-1;v>=-1&&!_;v--){var h=v>=0?arguments[v]:"/";if(typeof h!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!h)continue;a=h+"/"+a,_=h.charAt(0)==="/"}return a=n5(hT(a.split("/"),function(D){return!!D}),!_).join("/"),(_?"/":"")+a||"."}function dT(a){var _=mT(a),v=l5(a,-1)==="/";return a=n5(hT(a.split("/"),function(h){return!!h}),!_).join("/"),!a&&!_&&(a="."),a&&v&&(a+="/"),(_?"/":"")+a}function mT(a){return a.charAt(0)==="/"}function i5(){var a=Array.prototype.slice.call(arguments,0);return dT(hT(a,function(_,v){if(typeof _!="string")throw new TypeError("Arguments to path.join must be strings");return _}).join("/"))}function a5(a,_){a=d1(a).substr(1),_=d1(_).substr(1);function v(d){for(var E=0;E=0&&d[I]==="";I--);return E>I?[]:d.slice(E,I-E+1)}for(var h=v(a.split("/")),D=v(_.split("/")),P=Math.min(h.length,D.length),y=P,m=0;mAe:Ae=>Ae.toLowerCase();function c(Ae){let te=P.default.normalize(Ae);return te.endsWith(P.default.sep)&&(te=te.slice(0,-1)),I(te)}a.getCanonicalFileName=c;function M(Ae,te){return P.default.isAbsolute(Ae)?Ae:P.default.join(te||"/prettier-security-dirname-placeholder",Ae)}a.ensureAbsolutePath=M;function q(Ae){return P.default.dirname(Ae)}a.canonicalDirname=q;var W=[y.Extension.Dts,y.Extension.Dcts,y.Extension.Dmts];function K(Ae){var te;return Ae?(te=W.find(he=>Ae.endsWith(he)))!==null&&te!==void 0?te:P.default.extname(Ae):null}function ce(Ae,te){let he=Ae.getSourceFile(te.filePath),Pe=K(te.filePath),R=K(he==null?void 0:he.fileName);if(Pe===R)return he&&{ast:he,program:Ae}}a.getAstFromProgram=ce;function Ie(Ae){let te;try{throw new Error("Dynamic require is not supported")}catch{let Pe=["Could not find the provided parserOptions.moduleResolver.","Hint: use an absolute path if you are not in control over where the ESLint instance runs."];throw new Error(Pe.join(` +`))}// removed by dead control flow +}a.getModuleResolver=Ie;function me(Ae){var te;return!((te=y.sys)===null||te===void 0)&&te.createHash?y.sys.createHash(Ae):Ae}a.createHash=me}}),qV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createDefaultProgram.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(I,c,M,q){q===void 0&&(q=M);var W=Object.getOwnPropertyDescriptor(c,M);(!W||("get"in W?!c.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return c[M]}}),Object.defineProperty(I,q,W)}:function(I,c,M,q){q===void 0&&(q=M),I[q]=c[M]}),v=a&&a.__setModuleDefault||(Object.create?function(I,c){Object.defineProperty(I,"default",{enumerable:!0,value:c})}:function(I,c){I.default=c}),h=a&&a.__importStar||function(I){if(I&&I.__esModule)return I;var c={};if(I!=null)for(var M in I)M!=="default"&&Object.prototype.hasOwnProperty.call(I,M)&&_(c,I,M);return v(c,I),c},D=a&&a.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(a,"__esModule",{value:!0}),a.createDefaultProgram=void 0;var P=D(Ga()),y=D(_o()),m=h(vr()),C=d_(),d=(0,P.default)("typescript-eslint:typescript-estree:createDefaultProgram");function E(I){var c;if(d("Getting default program for: %s",I.filePath||"unnamed file"),((c=I.projects)===null||c===void 0?void 0:c.length)!==1)return;let M=I.projects[0],q=m.getParsedCommandLineOfConfigFile(M,(0,C.createDefaultCompilerOptionsFromExtra)(I),Object.assign(Object.assign({},m.sys),{onUnRecoverableConfigFileDiagnostic:()=>{}}));if(!q)return;let W=m.createCompilerHost(q.options,!0);I.moduleResolver&&(W.resolveModuleNames=(0,C.getModuleResolver)(I.moduleResolver).resolveModuleNames);let K=W.readFile;W.readFile=me=>y.default.normalize(me)===y.default.normalize(I.filePath)?I.code:K(me);let ce=m.createProgram([I.filePath],q.options,W),Ie=ce.getSourceFile(I.filePath);return Ie&&{ast:Ie,program:ce}}a.createDefaultProgram=E}}),gT=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getScriptKind.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(d,E,I,c){c===void 0&&(c=I);var M=Object.getOwnPropertyDescriptor(E,I);(!M||("get"in M?!E.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return E[I]}}),Object.defineProperty(d,c,M)}:function(d,E,I,c){c===void 0&&(c=I),d[c]=E[I]}),v=a&&a.__setModuleDefault||(Object.create?function(d,E){Object.defineProperty(d,"default",{enumerable:!0,value:E})}:function(d,E){d.default=E}),h=a&&a.__importStar||function(d){if(d&&d.__esModule)return d;var E={};if(d!=null)for(var I in d)I!=="default"&&Object.prototype.hasOwnProperty.call(d,I)&&_(E,d,I);return v(E,d),E},D=a&&a.__importDefault||function(d){return d&&d.__esModule?d:{default:d}};Object.defineProperty(a,"__esModule",{value:!0}),a.getLanguageVariant=a.getScriptKind=void 0;var P=D(_o()),y=h(vr());function m(d,E){switch(P.default.extname(d).toLowerCase()){case y.Extension.Js:case y.Extension.Cjs:case y.Extension.Mjs:return y.ScriptKind.JS;case y.Extension.Jsx:return y.ScriptKind.JSX;case y.Extension.Ts:case y.Extension.Cts:case y.Extension.Mts:return y.ScriptKind.TS;case y.Extension.Tsx:return y.ScriptKind.TSX;case y.Extension.Json:return y.ScriptKind.JSON;default:return E?y.ScriptKind.TSX:y.ScriptKind.TS}}a.getScriptKind=m;function C(d){switch(d){case y.ScriptKind.TSX:case y.ScriptKind.JSX:case y.ScriptKind.JS:case y.ScriptKind.JSON:return y.LanguageVariant.JSX;default:return y.LanguageVariant.Standard}}a.getLanguageVariant=C}}),UV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createIsolatedProgram.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(I,c,M,q){q===void 0&&(q=M);var W=Object.getOwnPropertyDescriptor(c,M);(!W||("get"in W?!c.__esModule:W.writable||W.configurable))&&(W={enumerable:!0,get:function(){return c[M]}}),Object.defineProperty(I,q,W)}:function(I,c,M,q){q===void 0&&(q=M),I[q]=c[M]}),v=a&&a.__setModuleDefault||(Object.create?function(I,c){Object.defineProperty(I,"default",{enumerable:!0,value:c})}:function(I,c){I.default=c}),h=a&&a.__importStar||function(I){if(I&&I.__esModule)return I;var c={};if(I!=null)for(var M in I)M!=="default"&&Object.prototype.hasOwnProperty.call(I,M)&&_(c,I,M);return v(c,I),c},D=a&&a.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(a,"__esModule",{value:!0}),a.createIsolatedProgram=void 0;var P=D(Ga()),y=h(vr()),m=gT(),C=d_(),d=(0,P.default)("typescript-eslint:typescript-estree:createIsolatedProgram");function E(I){d("Getting isolated program in %s mode for: %s",I.jsx?"TSX":"TS",I.filePath);let c={fileExists(){return!0},getCanonicalFileName(){return I.filePath},getCurrentDirectory(){return""},getDirectories(){return[]},getDefaultLibFileName(){return"lib.d.ts"},getNewLine(){return` +`},getSourceFile(W){return y.createSourceFile(W,I.code,y.ScriptTarget.Latest,!0,(0,m.getScriptKind)(I.filePath,I.jsx))},readFile(){},useCaseSensitiveFileNames(){return!0},writeFile(){return null}},M=y.createProgram([I.filePath],Object.assign({noResolve:!0,target:y.ScriptTarget.Latest,jsx:I.jsx?y.JsxEmit.Preserve:void 0},(0,C.createDefaultCompilerOptionsFromExtra)(I)),c),q=M.getSourceFile(I.filePath);if(!q)throw new Error("Expected an ast to be returned for the single-file isolated program.");return{ast:q,program:M}}a.createIsolatedProgram=E}}),zV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/describeFilePath.js"(a){"use strict";De();var _=a&&a.__importDefault||function(D){return D&&D.__esModule?D:{default:D}};Object.defineProperty(a,"__esModule",{value:!0}),a.describeFilePath=void 0;var v=_(_o());function h(D,P){let y=v.default.relative(P,D);return y&&!y.startsWith("..")&&!v.default.isAbsolute(y)?`/${y}`:/^[(\w+:)\\/~]/.test(D)||/\.\.[/\\]\.\./.test(y)?D:`/${y}`}a.describeFilePath=h}}),u5={};m1(u5,{default:()=>p5});var p5,WV=yp({"node-modules-polyfills:fs"(){De(),p5={}}}),yT=Oe({"node-modules-polyfills-commonjs:fs"(a,_){De();var v=(WV(),Li(u5));if(v&&v.default){_.exports=v.default;for(let h in v)_.exports[h]=v[h]}else v&&(_.exports=v)}}),f5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/getWatchProgramsForProjects.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(Je,Xe,ee,je){je===void 0&&(je=ee);var nt=Object.getOwnPropertyDescriptor(Xe,ee);(!nt||("get"in nt?!Xe.__esModule:nt.writable||nt.configurable))&&(nt={enumerable:!0,get:function(){return Xe[ee]}}),Object.defineProperty(Je,je,nt)}:function(Je,Xe,ee,je){je===void 0&&(je=ee),Je[je]=Xe[ee]}),v=a&&a.__setModuleDefault||(Object.create?function(Je,Xe){Object.defineProperty(Je,"default",{enumerable:!0,value:Xe})}:function(Je,Xe){Je.default=Xe}),h=a&&a.__importStar||function(Je){if(Je&&Je.__esModule)return Je;var Xe={};if(Je!=null)for(var ee in Je)ee!=="default"&&Object.prototype.hasOwnProperty.call(Je,ee)&&_(Xe,Je,ee);return v(Xe,Je),Xe},D=a&&a.__importDefault||function(Je){return Je&&Je.__esModule?Je:{default:Je}};Object.defineProperty(a,"__esModule",{value:!0}),a.getWatchProgramsForProjects=a.clearWatchCaches=void 0;var P=D(Ga()),y=D(yT()),m=D(pT()),C=h(vr()),d=d_(),E=(0,P.default)("typescript-eslint:typescript-estree:createWatchProgram"),I=new Map,c=new Map,M=new Map,q=new Map,W=new Map,K=new Map;function ce(){I.clear(),c.clear(),M.clear(),K.clear(),q.clear(),W.clear()}a.clearWatchCaches=ce;function Ie(Je){return(Xe,ee)=>{let je=(0,d.getCanonicalFileName)(Xe),nt=(()=>{let Ze=Je.get(je);return Ze||(Ze=new Set,Je.set(je,Ze)),Ze})();return nt.add(ee),{close:()=>{nt.delete(ee)}}}}var me={code:"",filePath:""};function Ae(Je){throw new Error(C.flattenDiagnosticMessageText(Je.messageText,C.sys.newLine))}function te(Je,Xe,ee){let je=ee.EXPERIMENTAL_useSourceOfProjectReferenceRedirect?new Set(Xe.getSourceFiles().map(nt=>(0,d.getCanonicalFileName)(nt.fileName))):new Set(Xe.getRootFileNames().map(nt=>(0,d.getCanonicalFileName)(nt)));return q.set(Je,je),je}function he(Je){let Xe=(0,d.getCanonicalFileName)(Je.filePath),ee=[];me.code=Je.code,me.filePath=Xe;let je=c.get(Xe),nt=(0,d.createHash)(Je.code);K.get(Xe)!==nt&&je&&je.size>0&&je.forEach(st=>st(Xe,C.FileWatcherEventKind.Changed));let Ze=new Set(Je.projects);for(let[st,tt]of I.entries()){if(!Ze.has(st))continue;let ct=q.get(st),ne=null;if(ct||(ne=tt.getProgram().getProgram(),ct=te(st,ne,Je)),ct.has(Xe))return E("Found existing program for file. %s",Xe),ne=ne!=null?ne:tt.getProgram().getProgram(),ne.getTypeChecker(),[ne]}E("File did not belong to any existing programs, moving to create/update. %s",Xe);for(let st of Je.projects){let tt=I.get(st);if(tt){let Fe=ke(tt,Xe,st);if(!Fe)continue;if(Fe.getTypeChecker(),te(st,Fe,Je).has(Xe))return E("Found updated program for file. %s",Xe),[Fe];ee.push(Fe);continue}let ct=R(st,Je);I.set(st,ct);let ne=ct.getProgram().getProgram();if(ne.getTypeChecker(),te(st,ne,Je).has(Xe))return E("Found program for file. %s",Xe),[ne];ee.push(ne)}return ee}a.getWatchProgramsForProjects=he;var Pe=m.default.satisfies(C.version,">=3.9.0-beta",{includePrerelease:!0});function R(Je,Xe){E("Creating watch program for %s.",Je);let ee=C.createWatchCompilerHost(Je,(0,d.createDefaultCompilerOptionsFromExtra)(Xe),C.sys,C.createAbstractBuilder,Ae,()=>{});Xe.moduleResolver&&(ee.resolveModuleNames=(0,d.getModuleResolver)(Xe.moduleResolver).resolveModuleNames);let je=ee.readFile;ee.readFile=(tt,ct)=>{let ne=(0,d.getCanonicalFileName)(tt),ge=ne===me.filePath?me.code:je(ne,ct);return ge!==void 0&&K.set(ne,(0,d.createHash)(ge)),ge},ee.onUnRecoverableConfigFileDiagnostic=Ae,ee.afterProgramCreate=tt=>{let ct=tt.getConfigFileParsingDiagnostics().filter(ne=>ne.category===C.DiagnosticCategory.Error&&ne.code!==18003);ct.length>0&&Ae(ct[0])},ee.watchFile=Ie(c),ee.watchDirectory=Ie(M);let nt=ee.onCachedDirectoryStructureHostCreate;ee.onCachedDirectoryStructureHostCreate=tt=>{let ct=tt.readDirectory;tt.readDirectory=(ne,ge,Fe,at,Pt)=>ct(ne,ge?ge.concat(Xe.extraFileExtensions):void 0,Fe,at,Pt),nt(tt)},ee.extraFileExtensions=Xe.extraFileExtensions.map(tt=>({extension:tt,isMixedContent:!0,scriptKind:C.ScriptKind.Deferred})),ee.trace=E,ee.useSourceOfProjectReferenceRedirect=()=>Xe.EXPERIMENTAL_useSourceOfProjectReferenceRedirect;let Ze;Pe?(ee.setTimeout=void 0,ee.clearTimeout=void 0):(E("Running without timeout fix"),ee.setTimeout=function(tt,ct){for(var ne=arguments.length,ge=new Array(ne>2?ne-2:0),Fe=2;Fe{Ze=void 0});let st=C.createWatchProgram(ee);if(!Pe){let tt=st.getProgram;st.getProgram=()=>(Ze&&Ze(),Ze=void 0,tt.call(st))}return st}function pe(Je){let ee=y.default.statSync(Je).mtimeMs,je=W.get(Je);return W.set(Je,ee),je===void 0?!1:Math.abs(je-ee)>Number.EPSILON}function ke(Je,Xe,ee){let je=Je.getProgram().getProgram();if(cn.env.TSESTREE_NO_INVALIDATION==="true")return je;pe(ee)&&(E("tsconfig has changed - triggering program update. %s",ee),c.get(ee).forEach(at=>at(ee,C.FileWatcherEventKind.Changed)),q.delete(ee));let nt=je.getSourceFile(Xe);if(nt)return je;E("File was not found in program - triggering folder update. %s",Xe);let Ze=(0,d.canonicalDirname)(Xe),st=null,tt=Ze,ct=!1;for(;st!==tt;){st=tt;let at=M.get(st);at&&(at.forEach(Pt=>{Ze!==st&&Pt(Ze,C.FileWatcherEventKind.Changed),Pt(st,C.FileWatcherEventKind.Changed)}),ct=!0),tt=(0,d.canonicalDirname)(st)}if(!ct)return E("No callback found for file, not part of this program. %s",Xe),null;if(q.delete(ee),je=Je.getProgram().getProgram(),nt=je.getSourceFile(Xe),nt)return je;E("File was still not found in program after directory update - checking file deletions. %s",Xe);let ge=je.getRootFileNames().find(at=>!y.default.existsSync(at));if(!ge)return null;let Fe=c.get((0,d.getCanonicalFileName)(ge));return Fe?(E("Marking file as deleted. %s",ge),Fe.forEach(at=>at(ge,C.FileWatcherEventKind.Deleted)),q.delete(ee),je=Je.getProgram().getProgram(),nt=je.getSourceFile(Xe),nt?je:(E("File was still not found in program after deletion check, assuming it is not part of this program. %s",Xe),null)):(E("Could not find watch callbacks for root file. %s",ge),je)}}}),VV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createProjectProgram.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(W,K,ce,Ie){Ie===void 0&&(Ie=ce);var me=Object.getOwnPropertyDescriptor(K,ce);(!me||("get"in me?!K.__esModule:me.writable||me.configurable))&&(me={enumerable:!0,get:function(){return K[ce]}}),Object.defineProperty(W,Ie,me)}:function(W,K,ce,Ie){Ie===void 0&&(Ie=ce),W[Ie]=K[ce]}),v=a&&a.__setModuleDefault||(Object.create?function(W,K){Object.defineProperty(W,"default",{enumerable:!0,value:K})}:function(W,K){W.default=K}),h=a&&a.__importStar||function(W){if(W&&W.__esModule)return W;var K={};if(W!=null)for(var ce in W)ce!=="default"&&Object.prototype.hasOwnProperty.call(W,ce)&&_(K,W,ce);return v(K,W),K},D=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};Object.defineProperty(a,"__esModule",{value:!0}),a.createProjectProgram=void 0;var P=D(Ga()),y=D(_o()),m=h(vr()),C=E1(),d=zV(),E=f5(),I=d_(),c=(0,P.default)("typescript-eslint:typescript-estree:createProjectProgram"),M=[m.Extension.Ts,m.Extension.Tsx,m.Extension.Js,m.Extension.Jsx,m.Extension.Mjs,m.Extension.Mts,m.Extension.Cjs,m.Extension.Cts];function q(W){c("Creating project program for: %s",W.filePath);let K=(0,E.getWatchProgramsForProjects)(W),ce=(0,C.firstDefined)(K,ke=>(0,I.getAstFromProgram)(ke,W));if(ce||W.createDefaultProgram)return ce;let Ie=ke=>(0,d.describeFilePath)(ke,W.tsconfigRootDir),me=(0,d.describeFilePath)(W.filePath,W.tsconfigRootDir),Ae=W.projects.map(Ie),te=Ae.length===1?Ae[0]:` +${Ae.map(ke=>`- ${ke}`).join(` +`)}`,he=[`ESLint was configured to run on \`${me}\` using \`parserOptions.project\`: ${te}`],Pe=!1,R=W.extraFileExtensions||[];R.forEach(ke=>{ke.startsWith(".")||he.push(`Found unexpected extension \`${ke}\` specified with the \`parserOptions.extraFileExtensions\` option. Did you mean \`.${ke}\`?`),M.includes(ke)&&he.push(`You unnecessarily included the extension \`${ke}\` with the \`parserOptions.extraFileExtensions\` option. This extension is already handled by the parser by default.`)});let pe=y.default.extname(W.filePath);if(!M.includes(pe)){let ke=`The extension for the file (\`${pe}\`) is non-standard`;R.length>0?R.includes(pe)||(he.push(`${ke}. It should be added to your existing \`parserOptions.extraFileExtensions\`.`),Pe=!0):(he.push(`${ke}. You should add \`parserOptions.extraFileExtensions\` to your config.`),Pe=!0)}if(!Pe){let[ke,Je]=W.projects.length===1?["that TSConfig does not","that TSConfig"]:["none of those TSConfigs","one of those TSConfigs"];he.push(`However, ${ke} include this file. Either:`,"- Change ESLint's list of included files to not include this file",`- Change ${Je} to include this file`,"- Create a new TSConfig that includes this file and include it in your parserOptions.project","See the typescript-eslint docs for more info: https://typescript-eslint.io/linting/troubleshooting#i-get-errors-telling-me-eslint-was-configured-to-run--however-that-tsconfig-does-not--none-of-those-tsconfigs-include-this-file")}throw new Error(he.join(` +`))}a.createProjectProgram=q}}),HV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/createSourceFile.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(E,I,c,M){M===void 0&&(M=c);var q=Object.getOwnPropertyDescriptor(I,c);(!q||("get"in q?!I.__esModule:q.writable||q.configurable))&&(q={enumerable:!0,get:function(){return I[c]}}),Object.defineProperty(E,M,q)}:function(E,I,c,M){M===void 0&&(M=c),E[M]=I[c]}),v=a&&a.__setModuleDefault||(Object.create?function(E,I){Object.defineProperty(E,"default",{enumerable:!0,value:I})}:function(E,I){E.default=I}),h=a&&a.__importStar||function(E){if(E&&E.__esModule)return E;var I={};if(E!=null)for(var c in E)c!=="default"&&Object.prototype.hasOwnProperty.call(E,c)&&_(I,E,c);return v(I,E),I},D=a&&a.__importDefault||function(E){return E&&E.__esModule?E:{default:E}};Object.defineProperty(a,"__esModule",{value:!0}),a.createSourceFile=void 0;var P=D(Ga()),y=h(vr()),m=gT(),C=(0,P.default)("typescript-eslint:typescript-estree:createSourceFile");function d(E){return C("Getting AST without type information in %s mode for: %s",E.jsx?"TSX":"TS",E.filePath),y.createSourceFile(E.filePath,E.code,y.ScriptTarget.Latest,!0,(0,m.getScriptKind)(E.filePath,E.jsx))}a.createSourceFile=d}}),d5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/create-program/useProvidedPrograms.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(q,W,K,ce){ce===void 0&&(ce=K);var Ie=Object.getOwnPropertyDescriptor(W,K);(!Ie||("get"in Ie?!W.__esModule:Ie.writable||Ie.configurable))&&(Ie={enumerable:!0,get:function(){return W[K]}}),Object.defineProperty(q,ce,Ie)}:function(q,W,K,ce){ce===void 0&&(ce=K),q[ce]=W[K]}),v=a&&a.__setModuleDefault||(Object.create?function(q,W){Object.defineProperty(q,"default",{enumerable:!0,value:W})}:function(q,W){q.default=W}),h=a&&a.__importStar||function(q){if(q&&q.__esModule)return q;var W={};if(q!=null)for(var K in q)K!=="default"&&Object.prototype.hasOwnProperty.call(q,K)&&_(W,q,K);return v(W,q),W},D=a&&a.__importDefault||function(q){return q&&q.__esModule?q:{default:q}};Object.defineProperty(a,"__esModule",{value:!0}),a.createProgramFromConfigFile=a.useProvidedPrograms=void 0;var P=D(Ga()),y=h(yT()),m=h(_o()),C=h(vr()),d=d_(),E=(0,P.default)("typescript-eslint:typescript-estree:useProvidedProgram");function I(q,W){E("Retrieving ast for %s from provided program instance(s)",W.filePath);let K;for(let ce of q)if(K=(0,d.getAstFromProgram)(ce,W),K)break;if(!K){let Ie=['"parserOptions.programs" has been provided for @typescript-eslint/parser.',`The file was not found in any of the provided program instance(s): ${m.relative(W.tsconfigRootDir||"/prettier-security-dirname-placeholder",W.filePath)}`];throw new Error(Ie.join(` +`))}return K.program.getTypeChecker(),K}a.useProvidedPrograms=I;function c(q,W){if(C.sys===void 0)throw new Error("`createProgramFromConfigFile` is only supported in a Node-like environment.");let ce=C.getParsedCommandLineOfConfigFile(q,d.CORE_COMPILER_OPTIONS,{onUnRecoverableConfigFileDiagnostic:me=>{throw new Error(M([me]))},fileExists:y.existsSync,getCurrentDirectory:()=>W&&m.resolve(W)||"/prettier-security-dirname-placeholder",readDirectory:C.sys.readDirectory,readFile:me=>y.readFileSync(me,"utf-8"),useCaseSensitiveFileNames:C.sys.useCaseSensitiveFileNames});if(ce.errors.length)throw new Error(M(ce.errors));let Ie=C.createCompilerHost(ce.options,!0);return C.createProgram(ce.fileNames,ce.options,Ie)}a.createProgramFromConfigFile=c;function M(q){return C.formatDiagnostics(q,{getCanonicalFileName:W=>W,getCurrentDirectory:cn.cwd,getNewLine:()=>` +`})}}}),m5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/ExpiringCache.js"(a){"use strict";De();var _=a&&a.__classPrivateFieldSet||function(m,C,d,E,I){if(E==="m")throw new TypeError("Private method is not writable");if(E==="a"&&!I)throw new TypeError("Private accessor was defined without a setter");if(typeof C=="function"?m!==C||!I:!C.has(m))throw new TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?I.call(m,d):I?I.value=d:C.set(m,d),d},v=a&&a.__classPrivateFieldGet||function(m,C,d,E){if(d==="a"&&!E)throw new TypeError("Private accessor was defined without a getter");if(typeof C=="function"?m!==C||!E:!C.has(m))throw new TypeError("Cannot read private member from an object whose class did not declare it");return d==="m"?E:d==="a"?E.call(m):E?E.value:C.get(m)},h,D;Object.defineProperty(a,"__esModule",{value:!0}),a.ExpiringCache=a.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=void 0,a.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS=30;var P=[0,0],y=class{constructor(m){h.set(this,void 0),D.set(this,new Map),_(this,h,m,"f")}set(m,C){return v(this,D,"f").set(m,{value:C,lastSeen:v(this,h,"f")==="Infinity"?P:cn.hrtime()}),this}get(m){let C=v(this,D,"f").get(m);if((C==null?void 0:C.value)!=null){if(v(this,h,"f")==="Infinity"||cn.hrtime(C.lastSeen)[0]1&&M.length>=E.tsconfigRootDir.length);throw new Error(`project was set to \`true\` but couldn't find any tsconfig.json relative to '${E.filePath}' within '${E.tsconfigRootDir}'.`)}a.getProjectConfigFiles=d}}),$V=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/inferSingleRun.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.inferSingleRun=void 0;var _=_o();function v(h){return(h==null?void 0:h.project)==null||(h==null?void 0:h.programs)!=null||cn.env.TSESTREE_SINGLE_RUN==="false"?!1:!!(cn.env.TSESTREE_SINGLE_RUN==="true"||h!=null&&h.allowAutomaticSingleRunInference&&(cn.env.CI==="true"||cn.argv[1].endsWith((0,_.normalize)("node_modules/.bin/eslint"))))}a.inferSingleRun=v}}),KV=Oe({"node_modules/is-extglob/index.js"(a,_){De(),_.exports=function(h){if(typeof h!="string"||h==="")return!1;for(var D;D=/(\\).|([@?!+*]\(.*\))/g.exec(h);){if(D[2])return!0;h=h.slice(D.index+D[0].length)}return!1}}}),XV=Oe({"node_modules/is-glob/index.js"(a,_){De();var v=KV(),h={"{":"}","(":")","[":"]"},D=function(y){if(y[0]==="!")return!0;for(var m=0,C=-2,d=-2,E=-2,I=-2,c=-2;mm&&(c===-1||c>d||(c=y.indexOf("\\",m),c===-1||c>d)))||E!==-1&&y[m]==="{"&&y[m+1]!=="}"&&(E=y.indexOf("}",m),E>m&&(c=y.indexOf("\\",m),c===-1||c>E))||I!==-1&&y[m]==="("&&y[m+1]==="?"&&/[:!=]/.test(y[m+2])&&y[m+3]!==")"&&(I=y.indexOf(")",m),I>m&&(c=y.indexOf("\\",m),c===-1||c>I))||C!==-1&&y[m]==="("&&y[m+1]!=="|"&&(CC&&(c=y.indexOf("\\",C),c===-1||c>I))))return!0;if(y[m]==="\\"){var M=y[m+1];m+=2;var q=h[M];if(q){var W=y.indexOf(q,m);W!==-1&&(m=W+1)}if(y[m]==="!")return!0}else m++}return!1},P=function(y){if(y[0]==="!")return!0;for(var m=0;m(typeof pe=="string"&&R.push(pe),R),[]).map(R=>R.startsWith("!")?R:`!${R}`),me=I({project:ce,projectFolderIgnoreList:Ie,tsconfigRootDir:M.tsconfigRootDir});if(C==null)C=new y.ExpiringCache(M.singleRun?"Infinity":(K=(W=M.cacheLifetime)===null||W===void 0?void 0:W.glob)!==null&&K!==void 0?K:y.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS);else{let R=C.get(me);if(R)return R}let Ae=ce.filter(R=>!(0,D.default)(R)),te=ce.filter(R=>(0,D.default)(R)),he=new Set(Ae.concat(te.length===0?[]:(0,h.sync)([...te,...Ie],{cwd:M.tsconfigRootDir})).map(R=>(0,P.getCanonicalFileName)((0,P.ensureAbsolutePath)(R,M.tsconfigRootDir))));m("parserOptions.project (excluding ignored) matched projects: %s",he);let Pe=Array.from(he);return C.set(me,Pe),Pe}a.resolveProjectList=E;function I(M){let{project:q,projectFolderIgnoreList:W,tsconfigRootDir:K}=M,ce={tsconfigRootDir:K,project:q,projectFolderIgnoreList:[...W].sort()};return(0,P.createHash)(JSON.stringify(ce))}function c(){C==null||C.clear(),C=null}a.clearGlobResolutionCache=c}}),YV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/warnAboutTSVersion.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(M,q,W,K){K===void 0&&(K=W);var ce=Object.getOwnPropertyDescriptor(q,W);(!ce||("get"in ce?!q.__esModule:ce.writable||ce.configurable))&&(ce={enumerable:!0,get:function(){return q[W]}}),Object.defineProperty(M,K,ce)}:function(M,q,W,K){K===void 0&&(K=W),M[K]=q[W]}),v=a&&a.__setModuleDefault||(Object.create?function(M,q){Object.defineProperty(M,"default",{enumerable:!0,value:q})}:function(M,q){M.default=q}),h=a&&a.__importStar||function(M){if(M&&M.__esModule)return M;var q={};if(M!=null)for(var W in M)W!=="default"&&Object.prototype.hasOwnProperty.call(M,W)&&_(q,M,W);return v(q,M),q},D=a&&a.__importDefault||function(M){return M&&M.__esModule?M:{default:M}};Object.defineProperty(a,"__esModule",{value:!0}),a.warnAboutTSVersion=void 0;var P=D(pT()),y=h(vr()),m=">=3.3.1 <5.1.0",C=["5.0.1-rc"],d=y.version,E=P.default.satisfies(d,[m].concat(C).join(" || ")),I=!1;function c(M){var q;if(!E&&!I){if(typeof cn>"u"?!1:(q=cn.stdout)===null||q===void 0?void 0:q.isTTY){let K="=============",ce=[K,"WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.","You may find that it works just fine, or you may not.",`SUPPORTED TYPESCRIPT VERSIONS: ${m}`,`YOUR TYPESCRIPT VERSION: ${d}`,"Please only submit bug reports when using the officially supported version.",K];M.log(ce.join(` + +`))}I=!0}}a.warnAboutTSVersion=c}}),g5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parseSettings/createParseSettings.js"(a){"use strict";De();var _=a&&a.__importDefault||function(W){return W&&W.__esModule?W:{default:W}};Object.defineProperty(a,"__esModule",{value:!0}),a.clearTSConfigMatchCache=a.createParseSettings=void 0;var v=_(Ga()),h=d_(),D=m5(),P=GV(),y=$V(),m=h5(),C=YV(),d=(0,v.default)("typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings"),E;function I(W){let K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var ce,Ie,me;let Ae=(0,y.inferSingleRun)(K),te=typeof K.tsconfigRootDir=="string"?K.tsconfigRootDir:"/prettier-security-dirname-placeholder",he={code:M(W),comment:K.comment===!0,comments:[],createDefaultProgram:K.createDefaultProgram===!0,debugLevel:K.debugLevel===!0?new Set(["typescript-eslint"]):Array.isArray(K.debugLevel)?new Set(K.debugLevel):new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:K.errorOnUnknownASTType===!0,EXPERIMENTAL_useSourceOfProjectReferenceRedirect:K.EXPERIMENTAL_useSourceOfProjectReferenceRedirect===!0,extraFileExtensions:Array.isArray(K.extraFileExtensions)&&K.extraFileExtensions.every(Pe=>typeof Pe=="string")?K.extraFileExtensions:[],filePath:(0,h.ensureAbsolutePath)(typeof K.filePath=="string"&&K.filePath!==""?K.filePath:q(K.jsx),te),jsx:K.jsx===!0,loc:K.loc===!0,log:typeof K.loggerFn=="function"?K.loggerFn:K.loggerFn===!1?()=>{}:console.log,moduleResolver:(ce=K.moduleResolver)!==null&&ce!==void 0?ce:"",preserveNodeMaps:K.preserveNodeMaps!==!1,programs:Array.isArray(K.programs)?K.programs:null,projects:[],range:K.range===!0,singleRun:Ae,tokens:K.tokens===!0?[]:null,tsconfigMatchCache:E!=null?E:E=new D.ExpiringCache(Ae?"Infinity":(me=(Ie=K.cacheLifetime)===null||Ie===void 0?void 0:Ie.glob)!==null&&me!==void 0?me:D.DEFAULT_TSCONFIG_CACHE_DURATION_SECONDS),tsconfigRootDir:te};if(he.debugLevel.size>0){let Pe=[];he.debugLevel.has("typescript-eslint")&&Pe.push("typescript-eslint:*"),(he.debugLevel.has("eslint")||v.default.enabled("eslint:*,-eslint:code-path"))&&Pe.push("eslint:*,-eslint:code-path"),v.default.enable(Pe.join(","))}if(Array.isArray(K.programs)){if(!K.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");d("parserOptions.programs was provided, so parserOptions.project will be ignored.")}return he.programs||(he.projects=(0,m.resolveProjectList)({cacheLifetime:K.cacheLifetime,project:(0,P.getProjectConfigFiles)(he,K.project),projectFolderIgnoreList:K.projectFolderIgnoreList,singleRun:he.singleRun,tsconfigRootDir:te})),(0,C.warnAboutTSVersion)(he),he}a.createParseSettings=I;function c(){E==null||E.clear()}a.clearTSConfigMatchCache=c;function M(W){return typeof W!="string"?String(W):W}function q(W){return W?"estree.tsx":"estree.ts"}}}),QV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/semantic-or-syntactic-errors.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.getFirstSemanticOrSyntacticError=void 0;var _=vr();function v(P,y){try{let m=h(P.getSyntacticDiagnostics(y));if(m.length)return D(m[0]);let C=h(P.getSemanticDiagnostics(y));return C.length?D(C[0]):void 0}catch(m){console.warn(`Warning From TSC: "${m.message}`);return}}a.getFirstSemanticOrSyntacticError=v;function h(P){return P.filter(y=>{switch(y.code){case 1013:case 1014:case 1044:case 1045:case 1048:case 1049:case 1070:case 1071:case 1085:case 1090:case 1096:case 1097:case 1098:case 1099:case 1117:case 1121:case 1123:case 1141:case 1162:case 1164:case 1172:case 1173:case 1175:case 1176:case 1190:case 1196:case 1200:case 1206:case 1211:case 1242:case 1246:case 1255:case 1308:case 2364:case 2369:case 2452:case 2462:case 8017:case 17012:case 17013:return!0}return!1})}function D(P){return Object.assign(Object.assign({},P),{message:(0,_.flattenDiagnosticMessageText)(P.messageText,_.sys.newLine)})}}}),y5=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/parser.js"(a){"use strict";De();var _=a&&a.__importDefault||function(he){return he&&he.__esModule?he:{default:he}};Object.defineProperty(a,"__esModule",{value:!0}),a.clearParseAndGenerateServicesCalls=a.clearProgramCache=a.parseWithNodeMaps=a.parseAndGenerateServices=a.parse=void 0;var v=_(Ga()),h=FV(),D=G9(),P=qV(),y=UV(),m=VV(),C=HV(),d=d5(),E=g5(),I=QV(),c=(0,v.default)("typescript-eslint:typescript-estree:parser"),M=new Map;function q(){M.clear()}a.clearProgramCache=q;function W(he,Pe){return he.programs&&(0,d.useProvidedPrograms)(he.programs,he)||Pe&&(0,m.createProjectProgram)(he)||Pe&&he.createDefaultProgram&&(0,P.createDefaultProgram)(he)||(0,y.createIsolatedProgram)(he)}function K(he,Pe){let{ast:R}=ce(he,Pe,!1);return R}a.parse=K;function ce(he,Pe,R){let pe=(0,E.createParseSettings)(he,Pe);if(Pe!=null&&Pe.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');let ke=(0,C.createSourceFile)(pe),{estree:Je,astMaps:Xe}=(0,h.astConverter)(ke,pe,R);return{ast:Je,esTreeNodeToTSNodeMap:Xe.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Xe.tsNodeToESTreeNodeMap}}function Ie(he,Pe){return ce(he,Pe,!0)}a.parseWithNodeMaps=Ie;var me={};function Ae(){me={}}a.clearParseAndGenerateServicesCalls=Ae;function te(he,Pe){var R,pe;let ke=(0,E.createParseSettings)(he,Pe);Pe!==void 0&&typeof Pe.errorOnTypeScriptSyntacticAndSemanticIssues=="boolean"&&Pe.errorOnTypeScriptSyntacticAndSemanticIssues&&(ke.errorOnTypeScriptSyntacticAndSemanticIssues=!0),ke.singleRun&&!ke.programs&&((R=ke.projects)===null||R===void 0?void 0:R.length)>0&&(ke.programs={*[Symbol.iterator](){for(let st of ke.projects){let tt=M.get(st);if(tt)yield tt;else{c("Detected single-run/CLI usage, creating Program once ahead of time for project: %s",st);let ct=(0,d.createProgramFromConfigFile)(st);M.set(st,ct),yield ct}}}});let Je=ke.programs!=null||((pe=ke.projects)===null||pe===void 0?void 0:pe.length)>0;ke.singleRun&&Pe.filePath&&(me[Pe.filePath]=(me[Pe.filePath]||0)+1);let{ast:Xe,program:ee}=ke.singleRun&&Pe.filePath&&me[Pe.filePath]>1?(0,y.createIsolatedProgram)(ke):W(ke,Je),je=typeof ke.preserveNodeMaps=="boolean"?ke.preserveNodeMaps:!0,{estree:nt,astMaps:Ze}=(0,h.astConverter)(Xe,ke,je);if(ee&&ke.errorOnTypeScriptSyntacticAndSemanticIssues){let st=(0,I.getFirstSemanticOrSyntacticError)(ee,Xe);if(st)throw(0,D.convertError)(st)}return{ast:nt,services:{hasFullTypeInformation:Je,program:ee,esTreeNodeToTSNodeMap:Ze.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:Ze.tsNodeToESTreeNodeMap}}}a.parseAndGenerateServices=te}}),ZV=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/clear-caches.js"(a){"use strict";De(),Object.defineProperty(a,"__esModule",{value:!0}),a.clearProgramCache=a.clearCaches=void 0;var _=f5(),v=y5(),h=g5(),D=h5();function P(){(0,v.clearProgramCache)(),(0,_.clearWatchCaches)(),(0,h.clearTSConfigMatchCache)(),(0,D.clearGlobCache)()}a.clearCaches=P,a.clearProgramCache=P}}),eH=Oe({"node_modules/@typescript-eslint/typescript-estree/package.json"(a,_){_.exports={name:"@typescript-eslint/typescript-estree",version:"5.55.0",description:"A parser that converts TypeScript source code into an ESTree compatible form",main:"dist/index.js",types:"dist/index.d.ts",files:["dist","_ts3.4","README.md","LICENSE"],engines:{node:"^12.22.0 || ^14.17.0 || >=16.0.0"},repository:{type:"git",url:"https://github.com/typescript-eslint/typescript-eslint.git",directory:"packages/typescript-estree"},bugs:{url:"https://github.com/typescript-eslint/typescript-eslint/issues"},license:"BSD-2-Clause",keywords:["ast","estree","ecmascript","javascript","typescript","parser","syntax"],scripts:{build:"tsc -b tsconfig.build.json",postbuild:"downlevel-dts dist _ts3.4/dist",clean:"tsc -b tsconfig.build.json --clean",postclean:"rimraf dist && rimraf _ts3.4 && rimraf coverage",format:'prettier --write "./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}" --ignore-path ../../.prettierignore',lint:"nx lint",test:"jest --coverage",typecheck:"tsc -p tsconfig.json --noEmit"},dependencies:{"@typescript-eslint/types":"5.55.0","@typescript-eslint/visitor-keys":"5.55.0",debug:"^4.3.4",globby:"^11.1.0","is-glob":"^4.0.3",semver:"^7.3.7",tsutils:"^3.21.0"},devDependencies:{"@babel/code-frame":"*","@babel/parser":"*","@types/babel__code-frame":"*","@types/debug":"*","@types/glob":"*","@types/is-glob":"*","@types/semver":"*","@types/tmp":"*",glob:"*","jest-specific-snapshot":"*","make-dir":"*",tmp:"*",typescript:"*"},peerDependenciesMeta:{typescript:{optional:!0}},funding:{type:"opencollective",url:"https://opencollective.com/typescript-eslint"},typesVersions:{"<3.8":{"*":["_ts3.4/*"]}},gitHead:"877d73327fca3bdbe7e170e8b3a906d090a6de37"}}}),tH=Oe({"node_modules/@typescript-eslint/typescript-estree/dist/index.js"(a){"use strict";De();var _=a&&a.__createBinding||(Object.create?function(C,d,E,I){I===void 0&&(I=E);var c=Object.getOwnPropertyDescriptor(d,E);(!c||("get"in c?!d.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return d[E]}}),Object.defineProperty(C,I,c)}:function(C,d,E,I){I===void 0&&(I=E),C[I]=d[E]}),v=a&&a.__exportStar||function(C,d){for(var E in C)E!=="default"&&!Object.prototype.hasOwnProperty.call(d,E)&&_(d,C,E)};Object.defineProperty(a,"__esModule",{value:!0}),a.version=a.visitorKeys=a.typescriptVersionIsAtLeast=a.createProgram=a.simpleTraverse=a.parseWithNodeMaps=a.parseAndGenerateServices=a.parse=void 0;var h=y5();Object.defineProperty(a,"parse",{enumerable:!0,get:function(){return h.parse}}),Object.defineProperty(a,"parseAndGenerateServices",{enumerable:!0,get:function(){return h.parseAndGenerateServices}}),Object.defineProperty(a,"parseWithNodeMaps",{enumerable:!0,get:function(){return h.parseWithNodeMaps}});var D=t5();Object.defineProperty(a,"simpleTraverse",{enumerable:!0,get:function(){return D.simpleTraverse}}),v(x1(),a);var P=d5();Object.defineProperty(a,"createProgram",{enumerable:!0,get:function(){return P.createProgramFromConfigFile}}),v(gT(),a);var y=S1();Object.defineProperty(a,"typescriptVersionIsAtLeast",{enumerable:!0,get:function(){return y.typescriptVersionIsAtLeast}}),v(fT(),a),v(ZV(),a);var m=e5();Object.defineProperty(a,"visitorKeys",{enumerable:!0,get:function(){return m.visitorKeys}}),a.version=eH().version}});De();var rH=w9(),nH=pW(),iH=SW(),aH=xW(),sH=PW(),{throwErrorForInvalidNodes:oH}=DW(),E9={loc:!0,range:!0,comment:!0,jsx:!0,tokens:!0,loggerFn:!1,project:[]};function _H(a){let{message:_,lineNumber:v,column:h}=a;return typeof v!="number"?a:rH(_,{start:{line:v,column:h+1}})}function cH(a,_){let v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},h=aH(a),D=lH(a),{parseWithNodeMaps:P}=tH(),{result:y,error:m}=nH(()=>P(h,Object.assign(Object.assign({},E9),{},{jsx:D})),()=>P(h,Object.assign(Object.assign({},E9),{},{jsx:!D})));if(!y)throw _H(m);return v.originalText=a,oH(y,v),sH(y.ast,v)}function lH(a){return new RegExp(["(?:^[^\"'`]*)"].join(""),"m").test(a)}v5.exports={parsers:{typescript:iH(cH)}}});return uH();}); + +/***/ }, + +/***/ 44168 +(module) { + +(function(e){if(true)module.exports=e();else // removed by dead control flow +{ var i; }})(function(){"use strict";var yt=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var ln=yt((un,at)=>{var Ye=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,De=Object.getOwnPropertyNames,wt=Object.prototype.hasOwnProperty,Ke=(n,e)=>function(){return n&&(e=(0,n[De(n)[0]])(n=0)),e},D=(n,e)=>function(){return e||(0,n[De(n)[0]])((e={exports:{}}).exports,e),e.exports},St=(n,e)=>{for(var r in e)Ye(n,r,{get:e[r],enumerable:!0})},Et=(n,e,r,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let h of De(e))!wt.call(n,h)&&h!==r&&Ye(n,h,{get:()=>e[h],enumerable:!(c=bt(e,h))||c.enumerable});return n},se=n=>Et(Ye({},"__esModule",{value:!0}),n),Te,Y=Ke({""(){Te={env:{},argv:[]}}}),Mt=D({"src/common/parser-create-error.js"(n,e){"use strict";Y();function r(c,h){let d=new SyntaxError(c+" ("+h.start.line+":"+h.start.column+")");return d.loc=h,d}e.exports=r}}),Ot=D({"src/language-yaml/pragma.js"(n,e){"use strict";Y();function r(d){return/^\s*@(?:prettier|format)\s*$/.test(d)}function c(d){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/.test(d)}function h(d){return`# @format + +${d}`}e.exports={isPragma:r,hasPragma:c,insertPragma:h}}}),Lt=D({"src/language-yaml/loc.js"(n,e){"use strict";Y();function r(h){return h.position.start.offset}function c(h){return h.position.end.offset}e.exports={locStart:r,locEnd:c}}}),te={};St(te,{__assign:()=>qe,__asyncDelegator:()=>Yt,__asyncGenerator:()=>jt,__asyncValues:()=>Dt,__await:()=>Ce,__awaiter:()=>Pt,__classPrivateFieldGet:()=>Qt,__classPrivateFieldSet:()=>Ut,__createBinding:()=>Rt,__decorate:()=>Tt,__exportStar:()=>qt,__extends:()=>At,__generator:()=>It,__importDefault:()=>Vt,__importStar:()=>Wt,__makeTemplateObject:()=>Ft,__metadata:()=>kt,__param:()=>Ct,__read:()=>Je,__rest:()=>Nt,__spread:()=>$t,__spreadArrays:()=>Bt,__values:()=>je});function At(n,e){Re(n,e);function r(){this.constructor=n}n.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}function Nt(n,e){var r={};for(var c in n)Object.prototype.hasOwnProperty.call(n,c)&&e.indexOf(c)<0&&(r[c]=n[c]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var h=0,c=Object.getOwnPropertySymbols(n);h=0;E--)(y=n[E])&&(d=(h<3?y(d):h>3?y(e,r,d):y(e,r))||d);return h>3&&d&&Object.defineProperty(e,r,d),d}function Ct(n,e){return function(r,c){e(r,c,n)}}function kt(n,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(n,e)}function Pt(n,e,r,c){function h(d){return d instanceof r?d:new r(function(y){y(d)})}return new(r||(r=Promise))(function(d,y){function E(M){try{S(c.next(M))}catch(T){y(T)}}function I(M){try{S(c.throw(M))}catch(T){y(T)}}function S(M){M.done?d(M.value):h(M.value).then(E,I)}S((c=c.apply(n,e||[])).next())})}function It(n,e){var r={label:0,sent:function(){if(d[0]&1)throw d[1];return d[1]},trys:[],ops:[]},c,h,d,y;return y={next:E(0),throw:E(1),return:E(2)},typeof Symbol=="function"&&(y[Symbol.iterator]=function(){return this}),y;function E(S){return function(M){return I([S,M])}}function I(S){if(c)throw new TypeError("Generator is already executing.");for(;r;)try{if(c=1,h&&(d=S[0]&2?h.return:S[0]?h.throw||((d=h.return)&&d.call(h),0):h.next)&&!(d=d.call(h,S[1])).done)return d;switch(h=0,d&&(S=[S[0]&2,d.value]),S[0]){case 0:case 1:d=S;break;case 4:return r.label++,{value:S[1],done:!1};case 5:r.label++,h=S[1],S=[0];continue;case 7:S=r.ops.pop(),r.trys.pop();continue;default:if(d=r.trys,!(d=d.length>0&&d[d.length-1])&&(S[0]===6||S[0]===2)){r=0;continue}if(S[0]===3&&(!d||S[1]>d[0]&&S[1]=n.length&&(n=void 0),{value:n&&n[c++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Je(n,e){var r=typeof Symbol=="function"&&n[Symbol.iterator];if(!r)return n;var c=r.call(n),h,d=[],y;try{for(;(e===void 0||e-- >0)&&!(h=c.next()).done;)d.push(h.value)}catch(E){y={error:E}}finally{try{h&&!h.done&&(r=c.return)&&r.call(c)}finally{if(y)throw y.error}}return d}function $t(){for(var n=[],e=0;e1||E(P,C)})})}function E(P,C){try{I(c[P](C))}catch(q){T(d[0][3],q)}}function I(P){P.value instanceof Ce?Promise.resolve(P.value.v).then(S,M):T(d[0][2],P)}function S(P){E("next",P)}function M(P){E("throw",P)}function T(P,C){P(C),d.shift(),d.length&&E(d[0][0],d[0][1])}}function Yt(n){var e,r;return e={},c("next"),c("throw",function(h){throw h}),c("return"),e[Symbol.iterator]=function(){return this},e;function c(h,d){e[h]=n[h]?function(y){return(r=!r)?{value:Ce(n[h](y)),done:h==="return"}:d?d(y):y}:d}}function Dt(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],r;return e?e.call(n):(n=typeof je=="function"?je(n):n[Symbol.iterator](),r={},c("next"),c("throw"),c("return"),r[Symbol.asyncIterator]=function(){return this},r);function c(d){r[d]=n[d]&&function(y){return new Promise(function(E,I){y=n[d](y),h(E,I,y.done,y.value)})}}function h(d,y,E,I){Promise.resolve(I).then(function(S){d({value:S,done:E})},y)}}function Ft(n,e){return Object.defineProperty?Object.defineProperty(n,"raw",{value:e}):n.raw=e,n}function Wt(n){if(n&&n.__esModule)return n;var e={};if(n!=null)for(var r in n)Object.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e.default=n,e}function Vt(n){return n&&n.__esModule?n:{default:n}}function Qt(n,e){if(!e.has(n))throw new TypeError("attempted to get private field on non-instance");return e.get(n)}function Ut(n,e,r){if(!e.has(n))throw new TypeError("attempted to set private field on non-instance");return e.set(n,r),r}var Re,qe,ie=Ke({"node_modules/tslib/tslib.es6.js"(){Y(),Re=function(n,e){return Re=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,c){r.__proto__=c}||function(r,c){for(var h in c)c.hasOwnProperty(h)&&(r[h]=c[h])},Re(n,e)},qe=function(){return qe=Object.assign||function(e){for(var r,c=1,h=arguments.length;cthis.string.length)return null;for(var y=0,E=this.offsets;E[y+1]<=d;)y++;var I=d-E[y];return{line:y,column:I}},h.prototype.indexForLocation=function(d){var y=d.line,E=d.column;return y<0||y>=this.offsets.length||E<0||E>this.lengthOfLine(y)?null:this.offsets[y]+E},h.prototype.lengthOfLine=function(d){var y=this.offsets[d],E=d===this.offsets.length-1?this.string.length:this.offsets[d+1];return E-y},h}();n.LinesAndColumns=c,n.default=c}}),Jt=D({"node_modules/yaml-unist-parser/lib/utils/define-parents.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c){c===void 0&&(c=null),"children"in r&&r.children.forEach(function(h){return e(h,r)}),"anchor"in r&&r.anchor&&e(r.anchor,r),"tag"in r&&r.tag&&e(r.tag,r),"leadingComments"in r&&r.leadingComments.forEach(function(h){return e(h,r)}),"middleComments"in r&&r.middleComments.forEach(function(h){return e(h,r)}),"indicatorComment"in r&&r.indicatorComment&&e(r.indicatorComment,r),"trailingComment"in r&&r.trailingComment&&e(r.trailingComment,r),"endComments"in r&&r.endComments.forEach(function(h){return e(h,r)}),Object.defineProperty(r,"_parent",{value:c,enumerable:!1})}n.defineParents=e}}),Fe=D({"node_modules/yaml-unist-parser/lib/utils/get-point-text.js"(n){"use strict";Y(),n.__esModule=!0;function e(r){return r.line+":"+r.column}n.getPointText=e}}),xt=D({"node_modules/yaml-unist-parser/lib/attach.js"(n){"use strict";Y(),n.__esModule=!0;var e=Jt(),r=Fe();function c(S){e.defineParents(S);var M=h(S),T=S.children.slice();S.comments.sort(function(P,C){return P.position.start.offset-C.position.end.offset}).filter(function(P){return!P._parent}).forEach(function(P){for(;T.length>1&&P.position.start.line>T[0].position.end.line;)T.shift();y(P,M,T[0])})}n.attachComments=c;function h(S){for(var M=Array.from(new Array(S.position.end.line),function(){return{}}),T=0,P=S.comments;T1&&M.type!=="document"&&M.type!=="documentHead"){var C=M.position.end,q=S[C.line-1].trailingAttachableNode;(!q||C.column>=q.position.end.column)&&(S[C.line-1].trailingAttachableNode=M)}if(M.type!=="root"&&M.type!=="document"&&M.type!=="documentHead"&&M.type!=="documentBody")for(var R=M.position,T=R.start,C=R.end,B=[C.line].concat(T.line===C.line?[]:T.line),U=0,f=B;U=t.position.end.column)&&(S[i-1].trailingNode=M)}"children"in M&&M.children.forEach(function(s){d(S,s)})}}function y(S,M,T){var P=S.position.start.line,C=M[P-1].trailingAttachableNode;if(C){if(C.trailingComment)throw new Error("Unexpected multiple trailing comment at "+r.getPointText(S.position.start));e.defineParents(S,C),C.trailingComment=S;return}for(var q=P;q>=T.position.start.line;q--){var R=M[q-1].trailingNode,B=void 0;if(R)B=R;else if(q!==P&&M[q-1].comment)B=M[q-1].comment._parent;else continue;if((B.type==="sequence"||B.type==="mapping")&&(B=B.children[0]),B.type==="mappingItem"){var U=B.children,f=U[0],i=U[1];B=I(f)?f:i}for(;;){if(E(B,S)){e.defineParents(S,B),B.endComments.push(S);return}if(!B._parent)break;B=B._parent}break}for(var q=P+1;q<=T.position.end.line;q++){var t=M[q-1].leadingAttachableNode;if(t){e.defineParents(S,t),t.leadingComments.push(S);return}}var s=T.children[1];e.defineParents(S,s),s.endComments.push(S)}function E(S,M){if(S.position.start.offsetM.position.end.offset)switch(S.type){case"flowMapping":case"flowSequence":return S.children.length===0||M.position.start.line>S.children[S.children.length-1].position.end.line}if(M.position.end.offsetS.position.start.column;case"mappingKey":case"mappingValue":return M.position.start.column>S._parent.position.start.column&&(S.children.length===0||S.children.length===1&&S.children[0].type!=="blockFolded"&&S.children[0].type!=="blockLiteral")&&(S.type==="mappingValue"||I(S));default:return!1}}function I(S){return S.position.start!==S.position.end&&(S.children.length===0||S.position.start.offset!==S.children[0].position.start.offset)}}}),me=D({"node_modules/yaml-unist-parser/lib/factories/node.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c){return{type:r,position:c}}n.createNode=e}}),Ht=D({"node_modules/yaml-unist-parser/lib/factories/root.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d,y){return e.__assign(e.__assign({},r.createNode("root",h)),{children:d,comments:y})}n.createRoot=c}}),Gt=D({"node_modules/yaml-unist-parser/lib/preprocess.js"(n){"use strict";Y(),n.__esModule=!0;function e(r){switch(r.type){case"DOCUMENT":for(var c=r.contents.length-1;c>=0;c--)r.contents[c].type==="BLANK_LINE"?r.contents.splice(c,1):e(r.contents[c]);for(var c=r.directives.length-1;c>=0;c--)r.directives[c].type==="BLANK_LINE"&&r.directives.splice(c,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(var c=r.items.length-1;c>=0;c--){var h=r.items[c];"char"in h||(h.type==="BLANK_LINE"?r.items.splice(c,1):e(h))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":r.node&&e(r.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error("Unexpected node type "+JSON.stringify(r.type))}}n.removeCstBlankLine=e}}),Oe=D({"node_modules/yaml-unist-parser/lib/factories/leading-comment-attachable.js"(n){"use strict";Y(),n.__esModule=!0;function e(){return{leadingComments:[]}}n.createLeadingCommentAttachable=e}}),$e=D({"node_modules/yaml-unist-parser/lib/factories/trailing-comment-attachable.js"(n){"use strict";Y(),n.__esModule=!0;function e(r){return r===void 0&&(r=null),{trailingComment:r}}n.createTrailingCommentAttachable=e}}),Se=D({"node_modules/yaml-unist-parser/lib/factories/comment-attachable.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=$e();function h(){return e.__assign(e.__assign({},r.createLeadingCommentAttachable()),c.createTrailingCommentAttachable())}n.createCommentAttachable=h}}),zt=D({"node_modules/yaml-unist-parser/lib/factories/alias.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=me();function h(d,y,E){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("alias",d)),r.createCommentAttachable()),y),{value:E})}n.createAlias=h}}),Zt=D({"node_modules/yaml-unist-parser/lib/transforms/alias.js"(n){"use strict";Y(),n.__esModule=!0;var e=zt();function r(c,h){var d=c.cstNode;return e.createAlias(h.transformRange({origStart:d.valueRange.origStart-1,origEnd:d.valueRange.origEnd}),h.transformContent(c),d.rawValue)}n.transformAlias=r}}),Xt=D({"node_modules/yaml-unist-parser/lib/factories/block-folded.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"blockFolded"})}n.createBlockFolded=r}}),er=D({"node_modules/yaml-unist-parser/lib/factories/block-value.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=me();function h(d,y,E,I,S,M){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("blockValue",d)),r.createLeadingCommentAttachable()),y),{chomping:E,indent:I,value:S,indicatorComment:M})}n.createBlockValue=h}}),xe=D({"node_modules/yaml-unist-parser/lib/constants.js"(n){"use strict";Y(),n.__esModule=!0;var e;(function(r){r.Tag="!",r.Anchor="&",r.Comment="#"})(e=n.PropLeadingCharacter||(n.PropLeadingCharacter={}))}}),tr=D({"node_modules/yaml-unist-parser/lib/factories/anchor.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("anchor",h)),{value:d})}n.createAnchor=c}}),We=D({"node_modules/yaml-unist-parser/lib/factories/comment.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("comment",h)),{value:d})}n.createComment=c}}),rr=D({"node_modules/yaml-unist-parser/lib/factories/content.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c,h){return{anchor:c,tag:r,middleComments:h}}n.createContent=e}}),nr=D({"node_modules/yaml-unist-parser/lib/factories/tag.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=me();function c(h,d){return e.__assign(e.__assign({},r.createNode("tag",h)),{value:d})}n.createTag=c}}),He=D({"node_modules/yaml-unist-parser/lib/transforms/content.js"(n){"use strict";Y(),n.__esModule=!0;var e=xe(),r=tr(),c=We(),h=rr(),d=nr();function y(E,I,S){S===void 0&&(S=function(){return!1});for(var M=E.cstNode,T=[],P=null,C=null,q=null,R=0,B=M.props;R=0;U--){var f=S.contents[U];if(f.type==="COMMENT"){var i=M.transformNode(f);T&&T.line===i.position.start.line?R.unshift(i):B?P.unshift(i):i.position.start.offset>=S.valueRange.origEnd?q.unshift(i):P.unshift(i)}else B=!0}if(q.length>1)throw new Error("Unexpected multiple document trailing comments at "+d.getPointText(q[1].position.start));if(R.length>1)throw new Error("Unexpected multiple documentHead trailing comments at "+d.getPointText(R[1].position.start));return{comments:P,endComments:C,documentTrailingComment:c.getLast(q)||null,documentHeadTrailingComment:c.getLast(R)||null}}function I(S,M,T){var P=h.getMatchIndex(T.text.slice(S.valueRange.origEnd),/^\.\.\./),C=P===-1?S.valueRange.origEnd:Math.max(0,S.valueRange.origEnd-1);T.text[C-1]==="\r"&&C--;var q=T.transformRange({origStart:M!==null?M.position.start.offset:C,origEnd:C}),R=P===-1?q.end:T.transformOffset(S.valueRange.origEnd+3);return{position:q,documentEndPoint:R}}}}),dr=D({"node_modules/yaml-unist-parser/lib/factories/document-head.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Ee(),c=me(),h=$e();function d(y,E,I,S){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("documentHead",y)),r.createEndCommentAttachable(I)),h.createTrailingCommentAttachable(S)),{children:E})}n.createDocumentHead=d}}),hr=D({"node_modules/yaml-unist-parser/lib/transforms/document-head.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=dr(),c=ze();function h(E,I){var S,M=E.cstNode,T=d(M,I),P=T.directives,C=T.comments,q=T.endComments,R=y(M,P,I),B=R.position,U=R.endMarkerPoint;(S=I.comments).push.apply(S,e.__spreadArrays(C,q));var f=function(i){return i&&I.comments.push(i),r.createDocumentHead(B,P,q,i)};return{createDocumentHeadWithTrailingComment:f,documentHeadEndMarkerPoint:U}}n.transformDocumentHead=h;function d(E,I){for(var S=[],M=[],T=[],P=!1,C=E.directives.length-1;C>=0;C--){var q=I.transformNode(E.directives[C]);q.type==="comment"?P?M.unshift(q):T.unshift(q):(P=!0,S.unshift(q))}return{directives:S,comments:M,endComments:T}}function y(E,I,S){var M=c.getMatchIndex(S.text.slice(0,E.valueRange.origStart),/---\s*$/);M>0&&!/[\r\n]/.test(S.text[M-1])&&(M=-1);var T=M===-1?{origStart:E.valueRange.origStart,origEnd:E.valueRange.origStart}:{origStart:M,origEnd:M+3};return I.length!==0&&(T.origStart=I[0].position.start.offset),{position:S.transformRange(T),endMarkerPoint:M===-1?null:S.transformOffset(M)}}}}),gr=D({"node_modules/yaml-unist-parser/lib/transforms/document.js"(n){"use strict";Y(),n.__esModule=!0;var e=ur(),r=Le(),c=mr(),h=hr();function d(y,E){var I=h.transformDocumentHead(y,E),S=I.createDocumentHeadWithTrailingComment,M=I.documentHeadEndMarkerPoint,T=c.transformDocumentBody(y,E,M),P=T.documentBody,C=T.documentEndPoint,q=T.documentTrailingComment,R=T.documentHeadTrailingComment,B=S(R);return q&&E.comments.push(q),e.createDocument(r.createPosition(B.position.start,C),B,P,q)}n.transformDocument=d}}),Ze=D({"node_modules/yaml-unist-parser/lib/factories/flow-collection.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=Ee(),h=me();function d(y,E,I){return e.__assign(e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("flowCollection",y)),r.createCommentAttachable()),c.createEndCommentAttachable()),E),{children:I})}n.createFlowCollection=d}}),pr=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Ze();function c(h,d,y){return e.__assign(e.__assign({},r.createFlowCollection(h,d,y)),{type:"flowMapping"})}n.createFlowMapping=c}}),Xe=D({"node_modules/yaml-unist-parser/lib/factories/flow-mapping-item.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Oe(),c=me();function h(d,y,E){return e.__assign(e.__assign(e.__assign({},c.createNode("flowMappingItem",d)),r.createLeadingCommentAttachable()),{children:[y,E]})}n.createFlowMappingItem=h}}),Be=D({"node_modules/yaml-unist-parser/lib/utils/extract-comments.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c){for(var h=[],d=0,y=r;d=0;d--)if(h.test(r[d]))return d;return-1}n.findLastCharIndex=e}}),Nr=D({"node_modules/yaml-unist-parser/lib/transforms/plain.js"(n){"use strict";Y(),n.__esModule=!0;var e=Lr(),r=Ar();function c(h,d){var y=h.cstNode;return e.createPlain(d.transformRange({origStart:y.valueRange.origStart,origEnd:r.findLastCharIndex(d.text,y.valueRange.origEnd-1,/\S/)+1}),d.transformContent(h),y.strValue)}n.transformPlain=c}}),Tr=D({"node_modules/yaml-unist-parser/lib/factories/quote-double.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"quoteDouble"})}n.createQuoteDouble=r}}),Cr=D({"node_modules/yaml-unist-parser/lib/factories/quote-value.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=me();function h(d,y,E){return e.__assign(e.__assign(e.__assign(e.__assign({},c.createNode("quoteValue",d)),y),r.createCommentAttachable()),{value:E})}n.createQuoteValue=h}}),nt=D({"node_modules/yaml-unist-parser/lib/transforms/quote-value.js"(n){"use strict";Y(),n.__esModule=!0;var e=Cr();function r(c,h){var d=c.cstNode;return e.createQuoteValue(h.transformRange(d.valueRange),h.transformContent(c),d.strValue)}n.transformAstQuoteValue=r}}),kr=D({"node_modules/yaml-unist-parser/lib/transforms/quote-double.js"(n){"use strict";Y(),n.__esModule=!0;var e=Tr(),r=nt();function c(h,d){return e.createQuoteDouble(r.transformAstQuoteValue(h,d))}n.transformQuoteDouble=c}}),Pr=D({"node_modules/yaml-unist-parser/lib/factories/quote-single.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te));function r(c){return e.__assign(e.__assign({},c),{type:"quoteSingle"})}n.createQuoteSingle=r}}),Ir=D({"node_modules/yaml-unist-parser/lib/transforms/quote-single.js"(n){"use strict";Y(),n.__esModule=!0;var e=Pr(),r=nt();function c(h,d){return e.createQuoteSingle(r.transformAstQuoteValue(h,d))}n.transformQuoteSingle=c}}),Rr=D({"node_modules/yaml-unist-parser/lib/factories/sequence.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Ee(),c=Oe(),h=me();function d(y,E,I){return e.__assign(e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("sequence",y)),c.createLeadingCommentAttachable()),r.createEndCommentAttachable()),E),{children:I})}n.createSequence=d}}),qr=D({"node_modules/yaml-unist-parser/lib/factories/sequence-item.js"(n){"use strict";Y(),n.__esModule=!0;var e=(ie(),se(te)),r=Se(),c=Ee(),h=me();function d(y,E){return e.__assign(e.__assign(e.__assign(e.__assign({},h.createNode("sequenceItem",y)),r.createCommentAttachable()),c.createEndCommentAttachable()),{children:E?[E]:[]})}n.createSequenceItem=d}}),$r=D({"node_modules/yaml-unist-parser/lib/transforms/seq.js"(n){"use strict";Y(),n.__esModule=!0;var e=Le(),r=Rr(),c=qr(),h=Be(),d=Ve(),y=Ae();function E(I,S){var M=h.extractComments(I.cstNode.items,S),T=M.map(function(P,C){d.extractPropComments(P,S);var q=S.transformNode(I.items[C]);return c.createSequenceItem(e.createPosition(S.transformOffset(P.valueRange.origStart),q===null?S.transformOffset(P.valueRange.origStart+1):q.position.end),q)});return r.createSequence(e.createPosition(T[0].position.start,y.getLast(T).position.end),S.transformContent(I),T)}n.transformSeq=E}}),Br=D({"node_modules/yaml-unist-parser/lib/transform.js"(n){"use strict";Y(),n.__esModule=!0;var e=Zt(),r=sr(),c=ar(),h=or(),d=cr(),y=gr(),E=yr(),I=Sr(),S=Or(),M=Nr(),T=kr(),P=Ir(),C=$r();function q(R,B){if(R===null||R.type===void 0&&R.value===null)return null;switch(R.type){case"ALIAS":return e.transformAlias(R,B);case"BLOCK_FOLDED":return r.transformBlockFolded(R,B);case"BLOCK_LITERAL":return c.transformBlockLiteral(R,B);case"COMMENT":return h.transformComment(R,B);case"DIRECTIVE":return d.transformDirective(R,B);case"DOCUMENT":return y.transformDocument(R,B);case"FLOW_MAP":return E.transformFlowMap(R,B);case"FLOW_SEQ":return I.transformFlowSeq(R,B);case"MAP":return S.transformMap(R,B);case"PLAIN":return M.transformPlain(R,B);case"QUOTE_DOUBLE":return T.transformQuoteDouble(R,B);case"QUOTE_SINGLE":return P.transformQuoteSingle(R,B);case"SEQ":return C.transformSeq(R,B);default:throw new Error("Unexpected node type "+R.type)}}n.transformNode=q}}),jr=D({"node_modules/yaml-unist-parser/lib/factories/error.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c,h){var d=new SyntaxError(r);return d.name="YAMLSyntaxError",d.source=c,d.position=h,d}n.createError=e}}),Yr=D({"node_modules/yaml-unist-parser/lib/transforms/error.js"(n){"use strict";Y(),n.__esModule=!0;var e=jr();function r(c,h){var d=c.source.range||c.source.valueRange;return e.createError(c.message,h.text,h.transformRange(d))}n.transformError=r}}),Dr=D({"node_modules/yaml-unist-parser/lib/factories/point.js"(n){"use strict";Y(),n.__esModule=!0;function e(r,c,h){return{offset:r,line:c,column:h}}n.createPoint=e}}),Fr=D({"node_modules/yaml-unist-parser/lib/transforms/offset.js"(n){"use strict";Y(),n.__esModule=!0;var e=Dr();function r(c,h){c<0?c=0:c>h.text.length&&(c=h.text.length);var d=h.locator.locationForIndex(c);return e.createPoint(c,d.line+1,d.column+1)}n.transformOffset=r}}),Wr=D({"node_modules/yaml-unist-parser/lib/transforms/range.js"(n){"use strict";Y(),n.__esModule=!0;var e=Le();function r(c,h){return e.createPosition(h.transformOffset(c.origStart),h.transformOffset(c.origEnd))}n.transformRange=r}}),Vr=D({"node_modules/yaml-unist-parser/lib/utils/add-orig-range.js"(n){"use strict";Y(),n.__esModule=!0;var e=!0;function r(y){if(!y.setOrigRanges()){var E=function(I){if(h(I))return I.origStart=I.start,I.origEnd=I.end,e;if(d(I))return I.origOffset=I.offset,e};y.forEach(function(I){return c(I,E)})}}n.addOrigRange=r;function c(y,E){if(!(!y||typeof y!="object")&&E(y)!==e)for(var I=0,S=Object.keys(y);IM.offset}}}),Me=D({"node_modules/yaml/dist/PlainValue-ec8e588e.js"(n){"use strict";Y();var e={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},r={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},c="tag:yaml.org,2002:",h={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function d(i){let t=[0],s=i.indexOf(` +`);for(;s!==-1;)s+=1,t.push(s),s=i.indexOf(` +`,s);return t}function y(i){let t,s;return typeof i=="string"?(t=d(i),s=i):(Array.isArray(i)&&(i=i[0]),i&&i.context&&(i.lineStarts||(i.lineStarts=d(i.context.src)),t=i.lineStarts,s=i.context.src)),{lineStarts:t,src:s}}function E(i,t){if(typeof i!="number"||i<0)return null;let{lineStarts:s,src:a}=y(t);if(!s||!a||i>a.length)return null;for(let g=0;g=1)||i>s.length)return null;let m=s[i-1],g=s[i];for(;g&&g>m&&a[g-1]===` +`;)--g;return a.slice(m,g)}function S(i,t){let{start:s,end:a}=i,m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:80,g=I(s.line,t);if(!g)return null;let{col:u}=s;if(g.length>m)if(u<=m-10)g=g.substr(0,m-1)+"\u2026";else{let K=Math.round(m/2);g.length>u+K&&(g=g.substr(0,u+K-1)+"\u2026"),u-=g.length-m,g="\u2026"+g.substr(1-m)}let p=1,L="";a&&(a.line===s.line&&u+(a.col-s.col)<=m+1?p=a.col-s.col:(p=Math.min(g.length+1,m)-u,L="\u2026"));let k=u>1?" ".repeat(u-1):"",$="^".repeat(p);return`${g} +${k}${$}${L}`}var M=class{static copy(i){return new M(i.start,i.end)}constructor(i,t){this.start=i,this.end=t||i}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(i,t){let{start:s,end:a}=this;if(i.length===0||a<=i[0])return this.origStart=s,this.origEnd=a,t;let m=t;for(;ms);)++m;this.origStart=s+m;let g=m;for(;m=a);)++m;return this.origEnd=a+m,g}},T=class{static addStringTerminator(i,t,s){if(s[s.length-1]===` +`)return s;let a=T.endOfWhiteSpace(i,t);return a>=i.length||i[a]===` +`?s+` +`:s}static atDocumentBoundary(i,t,s){let a=i[t];if(!a)return!0;let m=i[t-1];if(m&&m!==` +`)return!1;if(s){if(a!==s)return!1}else if(a!==e.DIRECTIVES_END&&a!==e.DOCUMENT_END)return!1;let g=i[t+1],u=i[t+2];if(g!==a||u!==a)return!1;let p=i[t+3];return!p||p===` +`||p===" "||p===" "}static endOfIdentifier(i,t){let s=i[t],a=s==="<",m=a?[` +`," "," ",">"]:[` +`," "," ","[","]","{","}",","];for(;s&&m.indexOf(s)===-1;)s=i[t+=1];return a&&s===">"&&(t+=1),t}static endOfIndent(i,t){let s=i[t];for(;s===" ";)s=i[t+=1];return t}static endOfLine(i,t){let s=i[t];for(;s&&s!==` +`;)s=i[t+=1];return t}static endOfWhiteSpace(i,t){let s=i[t];for(;s===" "||s===" ";)s=i[t+=1];return t}static startOfLine(i,t){let s=i[t-1];if(s===` +`)return t;for(;s&&s!==` +`;)s=i[t-=1];return t+1}static endOfBlockIndent(i,t,s){let a=T.endOfIndent(i,s);if(a>s+t)return a;{let m=T.endOfWhiteSpace(i,a),g=i[m];if(!g||g===` +`)return m}return null}static atBlank(i,t,s){let a=i[t];return a===` +`||a===" "||a===" "||s&&!a}static nextNodeIsIndented(i,t,s){return!i||t<0?!1:t>0?!0:s&&i==="-"}static normalizeOffset(i,t){let s=i[t];return s?s!==` +`&&i[t-1]===` +`?t-1:T.endOfWhiteSpace(i,t):t}static foldNewline(i,t,s){let a=0,m=!1,g="",u=i[t+1];for(;u===" "||u===" "||u===` +`;){switch(u){case` +`:a=0,t+=1,g+=` +`;break;case" ":a<=s&&(m=!0),t=T.endOfWhiteSpace(i,t+2)-1;break;case" ":a+=1,t+=1;break}u=i[t+1]}return g||(g=" "),u&&a<=s&&(m=!0),{fold:g,offset:t,error:m}}constructor(i,t,s){Object.defineProperty(this,"context",{value:s||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=t||[],this.type=i,this.value=null}getPropValue(i,t,s){if(!this.context)return null;let{src:a}=this.context,m=this.props[i];return m&&a[m.start]===t?a.slice(m.start+(s?1:0),m.end):null}get anchor(){for(let i=0;i0?i.join(` +`):null}commentHasRequiredWhitespace(i){let{src:t}=this.context;if(this.header&&i===this.header.end||!this.valueRange)return!1;let{end:s}=this.valueRange;return i!==s||T.atBlank(t,s-1)}get hasComment(){if(this.context){let{src:i}=this.context;for(let t=0;ts.setOrigRange(i,t)),t}toString(){let{context:{src:i},range:t,value:s}=this;if(s!=null)return s;let a=i.slice(t.start,t.end);return T.addStringTerminator(i,t.end,a)}},P=class extends Error{constructor(i,t,s){if(!s||!(t instanceof T))throw new Error(`Invalid arguments for new ${i}`);super(),this.name=i,this.message=s,this.source=t}makePretty(){if(!this.source)return;this.nodeType=this.source.type;let i=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new M(this.offset,this.offset+1);let t=i&&E(this.offset,i);if(t){let s={line:t.line,col:t.col+1};this.linePos={start:t,end:s}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){let{line:t,col:s}=this.linePos.start;this.message+=` at line ${t}, column ${s}`;let a=i&&S(this.linePos,i);a&&(this.message+=`: + +${a} +`)}delete this.source}},C=class extends P{constructor(i,t){super("YAMLReferenceError",i,t)}},q=class extends P{constructor(i,t){super("YAMLSemanticError",i,t)}},R=class extends P{constructor(i,t){super("YAMLSyntaxError",i,t)}},B=class extends P{constructor(i,t){super("YAMLWarning",i,t)}};function U(i,t,s){return t in i?Object.defineProperty(i,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[t]=s,i}var f=class extends T{static endOfLine(i,t,s){let a=i[t],m=t;for(;a&&a!==` +`&&!(s&&(a==="["||a==="]"||a==="{"||a==="}"||a===","));){let g=i[m+1];if(a===":"&&(!g||g===` +`||g===" "||g===" "||s&&g===",")||(a===" "||a===" ")&&g==="#")break;m+=1,a=g}return m}get strValue(){if(!this.valueRange||!this.context)return null;let{start:i,end:t}=this.valueRange,{src:s}=this.context,a=s[t-1];for(;iL?s.slice(L,u+1):p)}else m+=p}let g=s[i];switch(g){case" ":{let u="Plain value cannot start with a tab character";return{errors:[new q(this,u)],str:m}}case"@":case"`":{let u=`Plain value cannot start with reserved character ${g}`;return{errors:[new q(this,u)],str:m}}default:return m}}parseBlockValue(i){let{indent:t,inFlow:s,src:a}=this.context,m=i,g=i;for(let u=a[m];u===` +`&&!T.atDocumentBoundary(a,m+1);u=a[m]){let p=T.endOfBlockIndent(a,t,m+1);if(p===null||a[p]==="#")break;a[p]===` +`?m=p:(g=f.endOfLine(a,p,s),m=g)}return this.valueRange.isEmpty()&&(this.valueRange.start=i),this.valueRange.end=g,g}parse(i,t){this.context=i;let{inFlow:s,src:a}=i,m=t,g=a[m];return g&&g!=="#"&&g!==` +`&&(m=f.endOfLine(a,t,s)),this.valueRange=new M(t,m),m=T.endOfWhiteSpace(a,m),m=this.parseComment(m),(!this.hasComment||this.valueRange.isEmpty())&&(m=this.parseBlockValue(m)),m}};n.Char=e,n.Node=T,n.PlainValue=f,n.Range=M,n.Type=r,n.YAMLError=P,n.YAMLReferenceError=C,n.YAMLSemanticError=q,n.YAMLSyntaxError=R,n.YAMLWarning=B,n._defineProperty=U,n.defaultTagPrefix=c,n.defaultTags=h}}),Jr=D({"node_modules/yaml/dist/parse-cst.js"(n){"use strict";Y();var e=Me(),r=class extends e.Node{constructor(){super(e.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(f,i){return this.context=f,this.range=new e.Range(i,i+1),i+1}},c=class extends e.Node{constructor(f,i){super(f,i),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(f,i){this.context=f;let{parseNode:t,src:s}=f,{atLineStart:a,lineStart:m}=f;!a&&this.type===e.Type.SEQ_ITEM&&(this.error=new e.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));let g=a?i-m:f.indent,u=e.Node.endOfWhiteSpace(s,i+1),p=s[u],L=p==="#",k=[],$=null;for(;p===` +`||p==="#";){if(p==="#"){let V=e.Node.endOfLine(s,u+1);k.push(new e.Range(u,V)),u=V}else{a=!0,m=u+1;let V=e.Node.endOfWhiteSpace(s,m);s[V]===` +`&&k.length===0&&($=new r,m=$.parse({src:s},m)),u=e.Node.endOfIndent(s,m)}p=s[u]}if(e.Node.nextNodeIsIndented(p,u-(m+g),this.type!==e.Type.SEQ_ITEM)?this.node=t({atLineStart:a,inCollection:!1,indent:g,lineStart:m,parent:this},u):p&&m>i+1&&(u=m-1),this.node){if($){let V=f.parent.items||f.parent.contents;V&&V.push($)}k.length&&Array.prototype.push.apply(this.props,k),u=this.node.range.end}else if(L){let V=k[0];this.props.push(V),u=V.end}else u=e.Node.endOfLine(s,i+1);let K=this.node?this.node.valueRange.end:u;return this.valueRange=new e.Range(i,K),u}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.node?this.node.setOrigRanges(f,i):i}toString(){let{context:{src:f},node:i,range:t,value:s}=this;if(s!=null)return s;let a=i?f.slice(t.start,i.range.start)+String(i):f.slice(t.start,t.end);return e.Node.addStringTerminator(f,t.end,a)}},h=class extends e.Node{constructor(){super(e.Type.COMMENT)}parse(f,i){this.context=f;let t=this.parseComment(i);return this.range=new e.Range(i,t),t}};function d(f){let i=f;for(;i instanceof c;)i=i.node;if(!(i instanceof y))return null;let t=i.items.length,s=-1;for(let g=t-1;g>=0;--g){let u=i.items[g];if(u.type===e.Type.COMMENT){let{indent:p,lineStart:L}=u.context;if(p>0&&u.range.start>=L+p)break;s=g}else if(u.type===e.Type.BLANK_LINE)s=g;else break}if(s===-1)return null;let a=i.items.splice(s,t-s),m=a[0].range.start;for(;i.range.end=m,i.valueRange&&i.valueRange.end>m&&(i.valueRange.end=m),i!==f;)i=i.context.parent;return a}var y=class extends e.Node{static nextContentHasIndent(f,i,t){let s=e.Node.endOfLine(f,i)+1;i=e.Node.endOfWhiteSpace(f,s);let a=f[i];return a?i>=s+t?!0:a!=="#"&&a!==` +`?!1:y.nextContentHasIndent(f,i,t):!1}constructor(f){super(f.type===e.Type.SEQ_ITEM?e.Type.SEQ:e.Type.MAP);for(let t=f.props.length-1;t>=0;--t)if(f.props[t].start0}parse(f,i){this.context=f;let{parseNode:t,src:s}=f,a=e.Node.startOfLine(s,i),m=this.items[0];m.context.parent=this,this.valueRange=e.Range.copy(m.valueRange);let g=m.range.start-m.context.lineStart,u=i;u=e.Node.normalizeOffset(s,u);let p=s[u],L=e.Node.endOfWhiteSpace(s,a)===u,k=!1;for(;p;){for(;p===` +`||p==="#";){if(L&&p===` +`&&!k){let V=new r;if(u=V.parse({src:s},u),this.valueRange.end=u,u>=s.length){p=null;break}this.items.push(V),u-=1}else if(p==="#"){if(u=s.length){p=null;break}}if(a=u+1,u=e.Node.endOfIndent(s,a),e.Node.atBlank(s,u)){let V=e.Node.endOfWhiteSpace(s,u),z=s[V];(!z||z===` +`||z==="#")&&(u=V)}p=s[u],L=!0}if(!p)break;if(u!==a+g&&(L||p!==":")){if(ui&&(u=a);break}else if(!this.error){let V="All collection items must start at the same column";this.error=new e.YAMLSyntaxError(this,V)}}if(m.type===e.Type.SEQ_ITEM){if(p!=="-"){a>i&&(u=a);break}}else if(p==="-"&&!this.error){let V=s[u+1];if(!V||V===` +`||V===" "||V===" "){let z="A collection cannot be both a mapping and a sequence";this.error=new e.YAMLSyntaxError(this,z)}}let $=t({atLineStart:L,inCollection:!0,indent:g,lineStart:a,parent:this},u);if(!$)return u;if(this.items.push($),this.valueRange.end=$.valueRange.end,u=e.Node.normalizeOffset(s,$.range.end),p=s[u],L=!1,k=$.includesTrailingLines,p){let V=u-1,z=s[V];for(;z===" "||z===" ";)z=s[--V];z===` +`&&(a=V+1,L=!0)}let K=d($);K&&Array.prototype.push.apply(this.items,K)}return u}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.items.forEach(t=>{i=t.setOrigRanges(f,i)}),i}toString(){let{context:{src:f},items:i,range:t,value:s}=this;if(s!=null)return s;let a=f.slice(t.start,i[0].range.start)+String(i[0]);for(let m=1;m0&&(this.contents=this.directives,this.directives=[]),a}return i[a]?(this.directivesEndMarker=new e.Range(a,a+3),a+3):(s?this.error=new e.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),a)}parseContents(f){let{parseNode:i,src:t}=this.context;this.contents||(this.contents=[]);let s=f;for(;t[s-1]==="-";)s-=1;let a=e.Node.endOfWhiteSpace(t,f),m=s===f;for(this.valueRange=new e.Range(a);!e.Node.atDocumentBoundary(t,a,e.Char.DOCUMENT_END);){switch(t[a]){case` +`:if(m){let g=new r;a=g.parse({src:t},a),a{i=t.setOrigRanges(f,i)}),this.directivesEndMarker&&(i=this.directivesEndMarker.setOrigRange(f,i)),this.contents.forEach(t=>{i=t.setOrigRanges(f,i)}),this.documentEndMarker&&(i=this.documentEndMarker.setOrigRange(f,i)),i}toString(){let{contents:f,directives:i,value:t}=this;if(t!=null)return t;let s=i.join("");return f.length>0&&((i.length>0||f[0].type===e.Type.COMMENT)&&(s+=`--- +`),s+=f.join("")),s[s.length-1]!==` +`&&(s+=` +`),s}},S=class extends e.Node{parse(f,i){this.context=f;let{src:t}=f,s=e.Node.endOfIdentifier(t,i+1);return this.valueRange=new e.Range(i+1,s),s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s}},M={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"},T=class extends e.Node{constructor(f,i){super(f,i),this.blockIndent=null,this.chomping=M.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===M.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:f,end:i}=this.valueRange,{indent:t,src:s}=this.context;if(this.valueRange.isEmpty())return"";let a=null,m=s[i-1];for(;m===` +`||m===" "||m===" ";){if(i-=1,i<=f){if(this.chomping===M.KEEP)break;return""}m===` +`&&(a=i),m=s[i-1]}let g=i+1;a&&(this.chomping===M.KEEP?(g=a,i=this.valueRange.end):i=a);let u=t+this.blockIndent,p=this.type===e.Type.BLOCK_FOLDED,L=!0,k="",$="",K=!1;for(let V=f;Vg&&(g=k);t[p]===` +`?a=p:a=m=e.Node.endOfLine(t,p)}return this.chomping!==M.KEEP&&(a=t[m]?m+1:m),this.valueRange=new e.Range(f+1,a),a}parse(f,i){this.context=f;let{src:t}=f,s=this.parseBlockHeader(i);return s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s=this.parseBlockValue(s),s}setOrigRanges(f,i){return i=super.setOrigRanges(f,i),this.header?this.header.setOrigRange(f,i):i}},P=class extends e.Node{constructor(f,i){super(f,i),this.items=null}prevNodeIsJsonLike(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.items.length,i=this.items[f-1];return!!i&&(i.jsonLike||i.type===e.Type.COMMENT&&this.prevNodeIsJsonLike(f-1))}parse(f,i){this.context=f;let{parseNode:t,src:s}=f,{indent:a,lineStart:m}=f,g=s[i];this.items=[{char:g,offset:i}];let u=e.Node.endOfWhiteSpace(s,i+1);for(g=s[u];g&&g!=="]"&&g!=="}";){switch(g){case` +`:{m=u+1;let p=e.Node.endOfWhiteSpace(s,m);if(s[p]===` +`){let L=new r;m=L.parse({src:s},m),this.items.push(L)}if(u=e.Node.endOfIndent(s,m),u<=m+a&&(g=s[u],u{if(t instanceof e.Node)i=t.setOrigRanges(f,i);else if(f.length===0)t.origOffset=t.offset;else{let s=i;for(;st.offset);)++s;t.origOffset=t.offset+s,i=s}}),i}toString(){let{context:{src:f},items:i,range:t,value:s}=this;if(s!=null)return s;let a=i.filter(u=>u instanceof e.Node),m="",g=t.start;return a.forEach(u=>{let p=f.slice(g,u.range.start);g=u.range.end,m+=p+String(u),m[m.length-1]===` +`&&f[g-1]!==` +`&&f[g]===` +`&&(g+=1)}),m+=f.slice(g,t.end),e.Node.addStringTerminator(f,t.end,m)}},C=class extends e.Node{static endOfQuote(f,i){let t=f[i];for(;t&&t!=='"';)i+=t==="\\"?2:1,t=f[i];return i+1}get strValue(){if(!this.valueRange||!this.context)return null;let f=[],{start:i,end:t}=this.valueRange,{indent:s,src:a}=this.context;a[t-1]!=='"'&&f.push(new e.YAMLSyntaxError(this,'Missing closing "quote'));let m="";for(let g=i+1;gp?a.slice(p,g+1):u)}else m+=u}return f.length>0?{errors:f,str:m}:m}parseCharCode(f,i,t){let{src:s}=this.context,a=s.substr(f,i),g=a.length===i&&/^[0-9a-fA-F]+$/.test(a)?parseInt(a,16):NaN;return isNaN(g)?(t.push(new e.YAMLSyntaxError(this,`Invalid escape sequence ${s.substr(f-2,i+2)}`)),s.substr(f-2,i+2)):String.fromCodePoint(g)}parse(f,i){this.context=f;let{src:t}=f,s=C.endOfQuote(t,i+1);return this.valueRange=new e.Range(i,s),s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s}},q=class extends e.Node{static endOfQuote(f,i){let t=f[i];for(;t;)if(t==="'"){if(f[i+1]!=="'")break;t=f[i+=2]}else t=f[i+=1];return i+1}get strValue(){if(!this.valueRange||!this.context)return null;let f=[],{start:i,end:t}=this.valueRange,{indent:s,src:a}=this.context;a[t-1]!=="'"&&f.push(new e.YAMLSyntaxError(this,"Missing closing 'quote"));let m="";for(let g=i+1;gp?a.slice(p,g+1):u)}else m+=u}return f.length>0?{errors:f,str:m}:m}parse(f,i){this.context=f;let{src:t}=f,s=q.endOfQuote(t,i+1);return this.valueRange=new e.Range(i,s),s=e.Node.endOfWhiteSpace(t,s),s=this.parseComment(s),s}};function R(f,i){switch(f){case e.Type.ALIAS:return new S(f,i);case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:return new T(f,i);case e.Type.FLOW_MAP:case e.Type.FLOW_SEQ:return new P(f,i);case e.Type.MAP_KEY:case e.Type.MAP_VALUE:case e.Type.SEQ_ITEM:return new c(f,i);case e.Type.COMMENT:case e.Type.PLAIN:return new e.PlainValue(f,i);case e.Type.QUOTE_DOUBLE:return new C(f,i);case e.Type.QUOTE_SINGLE:return new q(f,i);default:return null}}var B=class{static parseType(f,i,t){switch(f[i]){case"*":return e.Type.ALIAS;case">":return e.Type.BLOCK_FOLDED;case"|":return e.Type.BLOCK_LITERAL;case"{":return e.Type.FLOW_MAP;case"[":return e.Type.FLOW_SEQ;case"?":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.MAP_KEY:e.Type.PLAIN;case":":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.MAP_VALUE:e.Type.PLAIN;case"-":return!t&&e.Node.atBlank(f,i+1,!0)?e.Type.SEQ_ITEM:e.Type.PLAIN;case'"':return e.Type.QUOTE_DOUBLE;case"'":return e.Type.QUOTE_SINGLE;default:return e.Type.PLAIN}}constructor(){let f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},{atLineStart:i,inCollection:t,inFlow:s,indent:a,lineStart:m,parent:g}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};e._defineProperty(this,"parseNode",(u,p)=>{if(e.Node.atDocumentBoundary(this.src,p))return null;let L=new B(this,u),{props:k,type:$,valueStart:K}=L.parseProps(p),V=R($,k),z=V.parse(L,K);if(V.range=new e.Range(p,z),z<=p&&(V.error=new Error("Node#parse consumed no characters"),V.error.parseEnd=z,V.error.source=V,V.range.end=p+1),L.nodeStartsCollection(V)){!V.error&&!L.atLineStart&&L.parent.type===e.Type.DOCUMENT&&(V.error=new e.YAMLSyntaxError(V,"Block collection must not have preceding content here (e.g. directives-end indicator)"));let ae=new y(V);return z=ae.parse(new B(L),z),ae.range=new e.Range(p,z),ae}return V}),this.atLineStart=i!=null?i:f.atLineStart||!1,this.inCollection=t!=null?t:f.inCollection||!1,this.inFlow=s!=null?s:f.inFlow||!1,this.indent=a!=null?a:f.indent,this.lineStart=m!=null?m:f.lineStart,this.parent=g!=null?g:f.parent||{},this.root=f.root,this.src=f.src}nodeStartsCollection(f){let{inCollection:i,inFlow:t,src:s}=this;if(i||t)return!1;if(f instanceof c)return!0;let a=f.range.end;return s[a]===` +`||s[a-1]===` +`?!1:(a=e.Node.endOfWhiteSpace(s,a),s[a]===":")}parseProps(f){let{inFlow:i,parent:t,src:s}=this,a=[],m=!1;f=this.atLineStart?e.Node.endOfIndent(s,f):e.Node.endOfWhiteSpace(s,f);let g=s[f];for(;g===e.Char.ANCHOR||g===e.Char.COMMENT||g===e.Char.TAG||g===` +`;){if(g===` +`){let p=f,L;do L=p+1,p=e.Node.endOfIndent(s,L);while(s[p]===` +`);let k=p-(L+this.indent),$=t.type===e.Type.SEQ_ITEM&&t.context.atLineStart;if(s[p]!=="#"&&!e.Node.nextNodeIsIndented(s[p],k,!$))break;this.atLineStart=!0,this.lineStart=L,m=!1,f=p}else if(g===e.Char.COMMENT){let p=e.Node.endOfLine(s,f+1);a.push(new e.Range(f,p)),f=p}else{let p=e.Node.endOfIdentifier(s,f+1);g===e.Char.TAG&&s[p]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(s.slice(f+1,p+13))&&(p=e.Node.endOfIdentifier(s,p+5)),a.push(new e.Range(f,p)),m=!0,f=e.Node.endOfWhiteSpace(s,p)}g=s[f]}m&&g===":"&&e.Node.atBlank(s,f+1,!0)&&(f-=1);let u=B.parseType(s,f,i);return{props:a,type:u,valueStart:f}}};function U(f){let i=[];f.indexOf("\r")!==-1&&(f=f.replace(/\r\n?/g,(a,m)=>(a.length>1&&i.push(m),` +`)));let t=[],s=0;do{let a=new I,m=new B({src:f});s=a.parse(m,s),t.push(a)}while(s{if(i.length===0)return!1;for(let m=1;mt.join(`... +`),t}n.parse=U}}),ke=D({"node_modules/yaml/dist/resolveSeq-d03cb037.js"(n){"use strict";Y();var e=Me();function r(o,l,_){return _?`#${_.replace(/[\s\S]^/gm,`$&${l}#`)} +${l}${o}`:o}function c(o,l,_){return _?_.indexOf(` +`)===-1?`${o} #${_}`:`${o} +`+_.replace(/^/gm,`${l||""}#`):o}var h=class{};function d(o,l,_){if(Array.isArray(o))return o.map((v,b)=>d(v,String(b),_));if(o&&typeof o.toJSON=="function"){let v=_&&_.anchors&&_.anchors.get(o);v&&(_.onCreate=w=>{v.res=w,delete _.onCreate});let b=o.toJSON(l,_);return v&&_.onCreate&&_.onCreate(b),b}return(!_||!_.keep)&&typeof o=="bigint"?Number(o):o}var y=class extends h{constructor(o){super(),this.value=o}toJSON(o,l){return l&&l.keep?this.value:d(this.value,o,l)}toString(){return String(this.value)}};function E(o,l,_){let v=_;for(let b=l.length-1;b>=0;--b){let w=l[b];if(Number.isInteger(w)&&w>=0){let A=[];A[w]=v,v=A}else{let A={};Object.defineProperty(A,w,{value:v,writable:!0,enumerable:!0,configurable:!0}),v=A}}return o.createNode(v,!1)}var I=o=>o==null||typeof o=="object"&&o[Symbol.iterator]().next().done,S=class extends h{constructor(o){super(),e._defineProperty(this,"items",[]),this.schema=o}addIn(o,l){if(I(o))this.add(l);else{let[_,...v]=o,b=this.get(_,!0);if(b instanceof S)b.addIn(v,l);else if(b===void 0&&this.schema)this.set(_,E(this.schema,v,l));else throw new Error(`Expected YAML collection at ${_}. Remaining path: ${v}`)}}deleteIn(o){let[l,..._]=o;if(_.length===0)return this.delete(l);let v=this.get(l,!0);if(v instanceof S)return v.deleteIn(_);throw new Error(`Expected YAML collection at ${l}. Remaining path: ${_}`)}getIn(o,l){let[_,...v]=o,b=this.get(_,!0);return v.length===0?!l&&b instanceof y?b.value:b:b instanceof S?b.getIn(v,l):void 0}hasAllNullValues(){return this.items.every(o=>{if(!o||o.type!=="PAIR")return!1;let l=o.value;return l==null||l instanceof y&&l.value==null&&!l.commentBefore&&!l.comment&&!l.tag})}hasIn(o){let[l,..._]=o;if(_.length===0)return this.has(l);let v=this.get(l,!0);return v instanceof S?v.hasIn(_):!1}setIn(o,l){let[_,...v]=o;if(v.length===0)this.set(_,l);else{let b=this.get(_,!0);if(b instanceof S)b.setIn(v,l);else if(b===void 0&&this.schema)this.set(_,E(this.schema,v,l));else throw new Error(`Expected YAML collection at ${_}. Remaining path: ${v}`)}}toJSON(){return null}toString(o,l,_,v){let{blockItem:b,flowChars:w,isMap:A,itemIndent:N}=l,{indent:j,indentStep:F,stringify:Q}=o,H=this.type===e.Type.FLOW_MAP||this.type===e.Type.FLOW_SEQ||o.inFlow;H&&(N+=F);let oe=A&&this.hasAllNullValues();o=Object.assign({},o,{allNullValues:oe,indent:N,inFlow:H,type:null});let le=!1,Z=!1,ee=this.items.reduce((de,ne,he)=>{let ce;ne&&(!le&&ne.spaceBefore&&de.push({type:"comment",str:""}),ne.commentBefore&&ne.commentBefore.match(/^.*$/gm).forEach(Ie=>{de.push({type:"comment",str:`#${Ie}`})}),ne.comment&&(ce=ne.comment),H&&(!le&&ne.spaceBefore||ne.commentBefore||ne.comment||ne.key&&(ne.key.commentBefore||ne.key.comment)||ne.value&&(ne.value.commentBefore||ne.value.comment))&&(Z=!0)),le=!1;let fe=Q(ne,o,()=>ce=null,()=>le=!0);return H&&!Z&&fe.includes(` +`)&&(Z=!0),H&&hece.str);if(Z||he.reduce((ce,fe)=>ce+fe.length+2,2)>S.maxFlowStringSingleLineLength){X=de;for(let ce of he)X+=ce?` +${F}${j}${ce}`:` +`;X+=` +${j}${ne}`}else X=`${de} ${he.join(" ")} ${ne}`}else{let de=ee.map(b);X=de.shift();for(let ne of de)X+=ne?` +${j}${ne}`:` +`}return this.comment?(X+=` +`+this.comment.replace(/^/gm,`${j}#`),_&&_()):le&&v&&v(),X}};e._defineProperty(S,"maxFlowStringSingleLineLength",60);function M(o){let l=o instanceof y?o.value:o;return l&&typeof l=="string"&&(l=Number(l)),Number.isInteger(l)&&l>=0?l:null}var T=class extends S{add(o){this.items.push(o)}delete(o){let l=M(o);return typeof l!="number"?!1:this.items.splice(l,1).length>0}get(o,l){let _=M(o);if(typeof _!="number")return;let v=this.items[_];return!l&&v instanceof y?v.value:v}has(o){let l=M(o);return typeof l=="number"&&lv.type==="comment"?v.str:`- ${v.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(o.indent||"")+" "},l,_):JSON.stringify(this)}},P=(o,l,_)=>l===null?"":typeof l!="object"?String(l):o instanceof h&&_&&_.doc?o.toString({anchors:Object.create(null),doc:_.doc,indent:"",indentStep:_.indentStep,inFlow:!0,inStringifyKey:!0,stringify:_.stringify}):JSON.stringify(l),C=class extends h{constructor(o){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;super(),this.key=o,this.value=l,this.type=C.Type.PAIR}get commentBefore(){return this.key instanceof h?this.key.commentBefore:void 0}set commentBefore(o){if(this.key==null&&(this.key=new y(null)),this.key instanceof h)this.key.commentBefore=o;else{let l="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(l)}}addToJSMap(o,l){let _=d(this.key,"",o);if(l instanceof Map){let v=d(this.value,_,o);l.set(_,v)}else if(l instanceof Set)l.add(_);else{let v=P(this.key,_,o),b=d(this.value,v,o);v in l?Object.defineProperty(l,v,{value:b,writable:!0,enumerable:!0,configurable:!0}):l[v]=b}return l}toJSON(o,l){let _=l&&l.mapAsMap?new Map:{};return this.addToJSMap(l,_)}toString(o,l,_){if(!o||!o.doc)return JSON.stringify(this);let{indent:v,indentSeq:b,simpleKeys:w}=o.doc.options,{key:A,value:N}=this,j=A instanceof h&&A.comment;if(w){if(j)throw new Error("With simple keys, key nodes cannot have comments");if(A instanceof S){let ce="With simple keys, collection cannot be used as a key value";throw new Error(ce)}}let F=!w&&(!A||j||(A instanceof h?A instanceof S||A.type===e.Type.BLOCK_FOLDED||A.type===e.Type.BLOCK_LITERAL:typeof A=="object")),{doc:Q,indent:H,indentStep:oe,stringify:le}=o;o=Object.assign({},o,{implicitKey:!F,indent:H+oe});let Z=!1,ee=le(A,o,()=>j=null,()=>Z=!0);if(ee=c(ee,o.indent,j),!F&&ee.length>1024){if(w)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");F=!0}if(o.allNullValues&&!w)return this.comment?(ee=c(ee,o.indent,this.comment),l&&l()):Z&&!j&&_&&_(),o.inFlow&&!F?ee:`? ${ee}`;ee=F?`? ${ee} +${H}:`:`${ee}:`,this.comment&&(ee=c(ee,o.indent,this.comment),l&&l());let X="",de=null;if(N instanceof h){if(N.spaceBefore&&(X=` +`),N.commentBefore){let ce=N.commentBefore.replace(/^/gm,`${o.indent}#`);X+=` +${ce}`}de=N.comment}else N&&typeof N=="object"&&(N=Q.schema.createNode(N,!0));o.implicitKey=!1,!F&&!this.comment&&N instanceof y&&(o.indentAtStart=ee.length+1),Z=!1,!b&&v>=2&&!o.inFlow&&!F&&N instanceof T&&N.type!==e.Type.FLOW_SEQ&&!N.tag&&!Q.anchors.getName(N)&&(o.indent=o.indent.substr(2));let ne=le(N,o,()=>de=null,()=>Z=!0),he=" ";return X||this.comment?he=`${X} +${o.indent}`:!F&&N instanceof S?(!(ne[0]==="["||ne[0]==="{")||ne.includes(` +`))&&(he=` +${o.indent}`):ne[0]===` +`&&(he=""),Z&&!de&&_&&_(),c(ee+he+ne,o.indent,de)}};e._defineProperty(C,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var q=(o,l)=>{if(o instanceof R){let _=l.get(o.source);return _.count*_.aliasCount}else if(o instanceof S){let _=0;for(let v of o.items){let b=q(v,l);b>_&&(_=b)}return _}else if(o instanceof C){let _=q(o.key,l),v=q(o.value,l);return Math.max(_,v)}return 1},R=class extends h{static stringify(o,l){let{range:_,source:v}=o,{anchors:b,doc:w,implicitKey:A,inStringifyKey:N}=l,j=Object.keys(b).find(Q=>b[Q]===v);if(!j&&N&&(j=w.anchors.getName(v)||w.anchors.newName()),j)return`*${j}${A?" ":""}`;let F=w.anchors.getName(v)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${F} [${_}]`)}constructor(o){super(),this.source=o,this.type=e.Type.ALIAS}set tag(o){throw new Error("Alias nodes cannot have tags")}toJSON(o,l){if(!l)return d(this.source,o,l);let{anchors:_,maxAliasCount:v}=l,b=_.get(this.source);if(!b||b.res===void 0){let w="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new e.YAMLReferenceError(this.cstNode,w):new ReferenceError(w)}if(v>=0&&(b.count+=1,b.aliasCount===0&&(b.aliasCount=q(this.source,_)),b.count*b.aliasCount>v)){let w="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new e.YAMLReferenceError(this.cstNode,w):new ReferenceError(w)}return b.res}toString(o){return R.stringify(this,o)}};e._defineProperty(R,"default",!0);function B(o,l){let _=l instanceof y?l.value:l;for(let v of o)if(v instanceof C&&(v.key===l||v.key===_||v.key&&v.key.value===_))return v}var U=class extends S{add(o,l){o?o instanceof C||(o=new C(o.key||o,o.value)):o=new C(o);let _=B(this.items,o.key),v=this.schema&&this.schema.sortMapEntries;if(_)if(l)_.value=o.value;else throw new Error(`Key ${o.key} already set`);else if(v){let b=this.items.findIndex(w=>v(o,w)<0);b===-1?this.items.push(o):this.items.splice(b,0,o)}else this.items.push(o)}delete(o){let l=B(this.items,o);return l?this.items.splice(this.items.indexOf(l),1).length>0:!1}get(o,l){let _=B(this.items,o),v=_&&_.value;return!l&&v instanceof y?v.value:v}has(o){return!!B(this.items,o)}set(o,l){this.add(new C(o,l),!0)}toJSON(o,l,_){let v=_?new _:l&&l.mapAsMap?new Map:{};l&&l.onCreate&&l.onCreate(v);for(let b of this.items)b.addToJSMap(l,v);return v}toString(o,l,_){if(!o)return JSON.stringify(this);for(let v of this.items)if(!(v instanceof C))throw new Error(`Map items must all be pairs; found ${JSON.stringify(v)} instead`);return super.toString(o,{blockItem:v=>v.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:o.indent||""},l,_)}},f="<<",i=class extends C{constructor(o){if(o instanceof C){let l=o.value;l instanceof T||(l=new T,l.items.push(o.value),l.range=o.value.range),super(o.key,l),this.range=o.range}else super(new y(f),new T);this.type=C.Type.MERGE_PAIR}addToJSMap(o,l){for(let{source:_}of this.value.items){if(!(_ instanceof U))throw new Error("Merge sources must be maps");let v=_.toJSON(null,o,Map);for(let[b,w]of v)l instanceof Map?l.has(b)||l.set(b,w):l instanceof Set?l.add(b):Object.prototype.hasOwnProperty.call(l,b)||Object.defineProperty(l,b,{value:w,writable:!0,enumerable:!0,configurable:!0})}return l}toString(o,l){let _=this.value;if(_.items.length>1)return super.toString(o,l);this.value=_.items[0];let v=super.toString(o,l);return this.value=_,v}},t={defaultType:e.Type.BLOCK_LITERAL,lineWidth:76},s={trueStr:"true",falseStr:"false"},a={asBigInt:!1},m={nullStr:"null"},g={defaultType:e.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function u(o,l,_){for(let{format:v,test:b,resolve:w}of l)if(b){let A=o.match(b);if(A){let N=w.apply(null,A);return N instanceof y||(N=new y(N)),v&&(N.format=v),N}}return _&&(o=_(o)),new y(o)}var p="flow",L="block",k="quoted",$=(o,l)=>{let _=o[l+1];for(;_===" "||_===" ";){do _=o[l+=1];while(_&&_!==` +`);_=o[l+1]}return l};function K(o,l,_,v){let{indentAtStart:b,lineWidth:w=80,minContentWidth:A=20,onFold:N,onOverflow:j}=v;if(!w||w<0)return o;let F=Math.max(1+A,1+w-l.length);if(o.length<=F)return o;let Q=[],H={},oe=w-l.length;typeof b=="number"&&(b>w-Math.max(2,A)?Q.push(0):oe=w-b);let le,Z,ee=!1,X=-1,de=-1,ne=-1;_===L&&(X=$(o,X),X!==-1&&(oe=X+F));for(let ce;ce=o[X+=1];){if(_===k&&ce==="\\"){switch(de=X,o[X+1]){case"x":X+=3;break;case"u":X+=5;break;case"U":X+=9;break;default:X+=1}ne=X}if(ce===` +`)_===L&&(X=$(o,X)),oe=X+F,le=void 0;else{if(ce===" "&&Z&&Z!==" "&&Z!==` +`&&Z!==" "){let fe=o[X+1];fe&&fe!==" "&&fe!==` +`&&fe!==" "&&(le=X)}if(X>=oe)if(le)Q.push(le),oe=le+F,le=void 0;else if(_===k){for(;Z===" "||Z===" ";)Z=ce,ce=o[X+=1],ee=!0;let fe=X>ne+1?X-2:de-1;if(H[fe])return o;Q.push(fe),H[fe]=!0,oe=fe+F,le=void 0}else ee=!0}Z=ce}if(ee&&j&&j(),Q.length===0)return o;N&&N();let he=o.slice(0,Q[0]);for(let ce=0;ce{let{indentAtStart:l}=o;return l?Object.assign({indentAtStart:l},g.fold):g.fold},z=o=>/^(%|---|\.\.\.)/m.test(o);function ae(o,l,_){if(!l||l<0)return!1;let v=l-_,b=o.length;if(b<=v)return!1;for(let w=0,A=0;wv)return!0;if(A=w+1,b-A<=v)return!1}return!0}function ue(o,l){let{implicitKey:_}=l,{jsonEncoding:v,minMultiLineLength:b}=g.doubleQuoted,w=JSON.stringify(o);if(v)return w;let A=l.indent||(z(o)?" ":""),N="",j=0;for(let F=0,Q=w[F];Q;Q=w[++F])if(Q===" "&&w[F+1]==="\\"&&w[F+2]==="n"&&(N+=w.slice(j,F)+"\\ ",F+=1,j=F,Q="\\"),Q==="\\")switch(w[F+1]){case"u":{N+=w.slice(j,F);let H=w.substr(F+2,4);switch(H){case"0000":N+="\\0";break;case"0007":N+="\\a";break;case"000b":N+="\\v";break;case"001b":N+="\\e";break;case"0085":N+="\\N";break;case"00a0":N+="\\_";break;case"2028":N+="\\L";break;case"2029":N+="\\P";break;default:H.substr(0,2)==="00"?N+="\\x"+H.substr(2):N+=w.substr(F,6)}F+=5,j=F+1}break;case"n":if(_||w[F+2]==='"'||w.length";if(!A)return Q+` +`;let H="",oe="";if(A=A.replace(/[\n\t ]*$/,Z=>{let ee=Z.indexOf(` +`);return ee===-1?Q+="-":(A===Z||ee!==Z.length-1)&&(Q+="+",v&&v()),oe=Z.replace(/\n$/,""),""}).replace(/^[\n ]*/,Z=>{Z.indexOf(" ")!==-1&&(Q+=j);let ee=Z.match(/ +$/);return ee?(H=Z.slice(0,-ee[0].length),ee[0]):(H=Z,"")}),oe&&(oe=oe.replace(/\n+(?!\n|$)/g,`$&${N}`)),H&&(H=H.replace(/\n+/g,`$&${N}`)),b&&(Q+=" #"+b.replace(/ ?[\r\n]+/g," "),_&&_()),!A)return`${Q}${j} +${N}${oe}`;if(F)return A=A.replace(/\n+/g,`$&${N}`),`${Q} +${N}${H}${A}${oe}`;A=A.replace(/\n+/g,` +$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${N}`);let le=K(`${H}${A}${oe}`,N,L,g.fold);return`${Q} +${N}${le}`}function O(o,l,_,v){let{comment:b,type:w,value:A}=o,{actualString:N,implicitKey:j,indent:F,inFlow:Q}=l;if(j&&/[\n[\]{},]/.test(A)||Q&&/[[\]{},]/.test(A))return ue(A,l);if(!A||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(A))return j||Q||A.indexOf(` +`)===-1?A.indexOf('"')!==-1&&A.indexOf("'")===-1?pe(A,l):ue(A,l):ge(o,l,_,v);if(!j&&!Q&&w!==e.Type.PLAIN&&A.indexOf(` +`)!==-1)return ge(o,l,_,v);if(F===""&&z(A))return l.forceBlockIndent=!0,ge(o,l,_,v);let H=A.replace(/\n+/g,`$& +${F}`);if(N){let{tags:le}=l.doc.schema;if(typeof u(H,le,le.scalarFallback).value!="string")return ue(A,l)}let oe=j?H:K(H,F,p,V(l));return b&&!Q&&(oe.indexOf(` +`)!==-1||b.indexOf(` +`)!==-1)?(_&&_(),r(oe,F,b)):oe}function W(o,l,_,v){let{defaultType:b}=g,{implicitKey:w,inFlow:A}=l,{type:N,value:j}=o;typeof j!="string"&&(j=String(j),o=Object.assign({},o,{value:j}));let F=H=>{switch(H){case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:return ge(o,l,_,v);case e.Type.QUOTE_DOUBLE:return ue(j,l);case e.Type.QUOTE_SINGLE:return pe(j,l);case e.Type.PLAIN:return O(o,l,_,v);default:return null}};(N!==e.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(j)||(w||A)&&(N===e.Type.BLOCK_FOLDED||N===e.Type.BLOCK_LITERAL))&&(N=e.Type.QUOTE_DOUBLE);let Q=F(N);if(Q===null&&(Q=F(b),Q===null))throw new Error(`Unsupported default string type ${b}`);return Q}function J(o){let{format:l,minFractionDigits:_,tag:v,value:b}=o;if(typeof b=="bigint")return String(b);if(!isFinite(b))return isNaN(b)?".nan":b<0?"-.inf":".inf";let w=JSON.stringify(b);if(!l&&_&&(!v||v==="tag:yaml.org,2002:float")&&/^\d/.test(w)){let A=w.indexOf(".");A<0&&(A=w.length,w+=".");let N=_-(w.length-A-1);for(;N-- >0;)w+="0"}return w}function x(o,l){let _,v;switch(l.type){case e.Type.FLOW_MAP:_="}",v="flow map";break;case e.Type.FLOW_SEQ:_="]",v="flow sequence";break;default:o.push(new e.YAMLSemanticError(l,"Not a flow collection!?"));return}let b;for(let w=l.items.length-1;w>=0;--w){let A=l.items[w];if(!A||A.type!==e.Type.COMMENT){b=A;break}}if(b&&b.char!==_){let w=`Expected ${v} to end with ${_}`,A;typeof b.offset=="number"?(A=new e.YAMLSemanticError(l,w),A.offset=b.offset+1):(A=new e.YAMLSemanticError(b,w),b.range&&b.range.end&&(A.offset=b.range.end-b.range.start)),o.push(A)}}function G(o,l){let _=l.context.src[l.range.start-1];if(_!==` +`&&_!==" "&&_!==" "){let v="Comments must be separated from other tokens by white space characters";o.push(new e.YAMLSemanticError(l,v))}}function re(o,l){let _=String(l),v=_.substr(0,8)+"..."+_.substr(-8);return new e.YAMLSemanticError(o,`The "${v}" key is too long`)}function _e(o,l){for(let{afterKey:_,before:v,comment:b}of l){let w=o.items[v];w?(_&&w.value&&(w=w.value),b===void 0?(_||!w.commentBefore)&&(w.spaceBefore=!0):w.commentBefore?w.commentBefore+=` +`+b:w.commentBefore=b):b!==void 0&&(o.comment?o.comment+=` +`+b:o.comment=b)}}function ye(o,l){let _=l.strValue;return _?typeof _=="string"?_:(_.errors.forEach(v=>{v.source||(v.source=l),o.errors.push(v)}),_.str):""}function be(o,l){let{handle:_,suffix:v}=l.tag,b=o.tagPrefixes.find(w=>w.handle===_);if(!b){let w=o.getDefaults().tagPrefixes;if(w&&(b=w.find(A=>A.handle===_)),!b)throw new e.YAMLSemanticError(l,`The ${_} tag handle is non-default and was not declared.`)}if(!v)throw new e.YAMLSemanticError(l,`The ${_} tag has no suffix.`);if(_==="!"&&(o.version||o.options.version)==="1.0"){if(v[0]==="^")return o.warnings.push(new e.YAMLWarning(l,"YAML 1.0 ^ tag expansion is not supported")),v;if(/[:/]/.test(v)){let w=v.match(/^([a-z0-9-]+)\/(.*)/i);return w?`tag:${w[1]}.yaml.org,2002:${w[2]}`:`tag:${v}`}}return b.prefix+decodeURIComponent(v)}function ve(o,l){let{tag:_,type:v}=l,b=!1;if(_){let{handle:w,suffix:A,verbatim:N}=_;if(N){if(N!=="!"&&N!=="!!")return N;let j=`Verbatim tags aren't resolved, so ${N} is invalid.`;o.errors.push(new e.YAMLSemanticError(l,j))}else if(w==="!"&&!A)b=!0;else try{return be(o,l)}catch(j){o.errors.push(j)}}switch(v){case e.Type.BLOCK_FOLDED:case e.Type.BLOCK_LITERAL:case e.Type.QUOTE_DOUBLE:case e.Type.QUOTE_SINGLE:return e.defaultTags.STR;case e.Type.FLOW_MAP:case e.Type.MAP:return e.defaultTags.MAP;case e.Type.FLOW_SEQ:case e.Type.SEQ:return e.defaultTags.SEQ;case e.Type.PLAIN:return b?e.defaultTags.STR:null;default:return null}}function Ne(o,l,_){let{tags:v}=o.schema,b=[];for(let A of v)if(A.tag===_)if(A.test)b.push(A);else{let N=A.resolve(o,l);return N instanceof S?N:new y(N)}let w=ye(o,l);return typeof w=="string"&&b.length>0?u(w,b,v.scalarFallback):null}function Pe(o){let{type:l}=o;switch(l){case e.Type.FLOW_MAP:case e.Type.MAP:return e.defaultTags.MAP;case e.Type.FLOW_SEQ:case e.Type.SEQ:return e.defaultTags.SEQ;default:return e.defaultTags.STR}}function ot(o,l,_){try{let v=Ne(o,l,_);if(v)return _&&l.tag&&(v.tag=_),v}catch(v){return v.source||(v.source=l),o.errors.push(v),null}try{let v=Pe(l);if(!v)throw new Error(`The tag ${_} is unavailable`);let b=`The tag ${_} is unavailable, falling back to ${v}`;o.warnings.push(new e.YAMLWarning(l,b));let w=Ne(o,l,v);return w.tag=_,w}catch(v){let b=new e.YAMLReferenceError(l,v.message);return b.stack=v.stack,o.errors.push(b),null}}var lt=o=>{if(!o)return!1;let{type:l}=o;return l===e.Type.MAP_KEY||l===e.Type.MAP_VALUE||l===e.Type.SEQ_ITEM};function ct(o,l){let _={before:[],after:[]},v=!1,b=!1,w=lt(l.context.parent)?l.context.parent.props.concat(l.props):l.props;for(let{start:A,end:N}of w)switch(l.context.src[A]){case e.Char.COMMENT:{if(!l.commentHasRequiredWhitespace(A)){let H="Comments must be separated from other tokens by white space characters";o.push(new e.YAMLSemanticError(l,H))}let{header:j,valueRange:F}=l;(F&&(A>F.start||j&&A>j.start)?_.after:_.before).push(l.context.src.slice(A+1,N));break}case e.Char.ANCHOR:if(v){let j="A node can have at most one anchor";o.push(new e.YAMLSemanticError(l,j))}v=!0;break;case e.Char.TAG:if(b){let j="A node can have at most one tag";o.push(new e.YAMLSemanticError(l,j))}b=!0;break}return{comments:_,hasAnchor:v,hasTag:b}}function ut(o,l){let{anchors:_,errors:v,schema:b}=o;if(l.type===e.Type.ALIAS){let A=l.rawValue,N=_.getNode(A);if(!N){let F=`Aliased anchor not found: ${A}`;return v.push(new e.YAMLReferenceError(l,F)),null}let j=new R(N);return _._cstAliases.push(j),j}let w=ve(o,l);if(w)return ot(o,l,w);if(l.type!==e.Type.PLAIN){let A=`Failed to resolve ${l.type} node here`;return v.push(new e.YAMLSyntaxError(l,A)),null}try{let A=ye(o,l);return u(A,b.tags,b.tags.scalarFallback)}catch(A){return A.source||(A.source=l),v.push(A),null}}function we(o,l){if(!l)return null;l.error&&o.errors.push(l.error);let{comments:_,hasAnchor:v,hasTag:b}=ct(o.errors,l);if(v){let{anchors:A}=o,N=l.anchor,j=A.getNode(N);j&&(A.map[A.newName(N)]=j),A.map[N]=l}if(l.type===e.Type.ALIAS&&(v||b)){let A="An alias node must not specify any properties";o.errors.push(new e.YAMLSemanticError(l,A))}let w=ut(o,l);if(w){w.range=[l.range.start,l.range.end],o.options.keepCstNodes&&(w.cstNode=l),o.options.keepNodeTypes&&(w.type=l.type);let A=_.before.join(` +`);A&&(w.commentBefore=w.commentBefore?`${w.commentBefore} +${A}`:A);let N=_.after.join(` +`);N&&(w.comment=w.comment?`${w.comment} +${N}`:N)}return l.resolved=w}function ft(o,l){if(l.type!==e.Type.MAP&&l.type!==e.Type.FLOW_MAP){let A=`A ${l.type} node cannot be resolved as a mapping`;return o.errors.push(new e.YAMLSyntaxError(l,A)),null}let{comments:_,items:v}=l.type===e.Type.FLOW_MAP?gt(o,l):ht(o,l),b=new U;b.items=v,_e(b,_);let w=!1;for(let A=0;A{if(Q instanceof R){let{type:H}=Q.source;return H===e.Type.MAP||H===e.Type.FLOW_MAP?!1:F="Merge nodes aliases can only point to maps"}return F="Merge nodes can only have Alias nodes as values"}),F&&o.errors.push(new e.YAMLSemanticError(l,F))}else for(let j=A+1;j{let{context:{lineStart:l,node:_,src:v},props:b}=o;if(b.length===0)return!1;let{start:w}=b[0];if(_&&w>_.valueRange.start||v[w]!==e.Char.COMMENT)return!1;for(let A=l;A0){j=new e.PlainValue(e.Type.PLAIN,[]),j.context={parent:N,src:N.context.src};let Q=N.range.start+1;if(j.range={start:Q,end:Q},j.valueRange={start:Q,end:Q},typeof N.range.origStart=="number"){let H=N.range.origStart+1;j.range.origStart=j.range.origEnd=H,j.valueRange.origStart=j.valueRange.origEnd=H}}let F=new C(b,we(o,j));dt(N,F),v.push(F),b&&typeof w=="number"&&N.range.start>w+1024&&o.errors.push(re(l,b)),b=void 0,w=null}break;default:b!==void 0&&v.push(new C(b)),b=we(o,N),w=N.range.start,N.error&&o.errors.push(N.error);e:for(let j=A+1;;++j){let F=l.items[j];switch(F&&F.type){case e.Type.BLANK_LINE:case e.Type.COMMENT:continue e;case e.Type.MAP_VALUE:break e;default:{let Q="Implicit map keys need to be followed by map values";o.errors.push(new e.YAMLSemanticError(N,Q));break e}}}if(N.valueRangeContainsNewline){let j="Implicit map keys need to be on a single line";o.errors.push(new e.YAMLSemanticError(N,j))}}}return b!==void 0&&v.push(new C(b)),{comments:_,items:v}}function gt(o,l){let _=[],v=[],b,w=!1,A="{";for(let N=0;Nw instanceof C&&w.key instanceof S)){let w="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";o.warnings.push(new e.YAMLWarning(l,w))}return l.resolved=b,b}function _t(o,l){let _=[],v=[];for(let b=0;bA+1024&&o.errors.push(re(l,w));let{src:Z}=j.context;for(let ee=A;eeu instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(u,p)=>{let L=r.resolveString(u,p);if(typeof Buffer=="function")return Buffer.from(L,"base64");if(typeof atob=="function"){let k=atob(L.replace(/[\n\r]/g,"")),$=new Uint8Array(k.length);for(let K=0;K{let{comment:$,type:K,value:V}=u,z;if(typeof Buffer=="function")z=V instanceof Buffer?V.toString("base64"):Buffer.from(V.buffer).toString("base64");else if(typeof btoa=="function"){let ae="";for(let ue=0;ue1){let V="Each pair must have its own sequence indicator";throw new e.YAMLSemanticError(p,V)}let K=$.items[0]||new r.Pair;$.commentBefore&&(K.commentBefore=K.commentBefore?`${$.commentBefore} +${K.commentBefore}`:$.commentBefore),$.comment&&(K.comment=K.comment?`${$.comment} +${K.comment}`:$.comment),$=K}L.items[k]=$ instanceof r.Pair?$:new r.Pair($)}}return L}function d(u,p,L){let k=new r.YAMLSeq(u);k.tag="tag:yaml.org,2002:pairs";for(let $ of p){let K,V;if(Array.isArray($))if($.length===2)K=$[0],V=$[1];else throw new TypeError(`Expected [key, value] tuple: ${$}`);else if($&&$ instanceof Object){let ae=Object.keys($);if(ae.length===1)K=ae[0],V=$[K];else throw new TypeError(`Expected { key: value } tuple: ${$}`)}else K=$;let z=u.createPair(K,V,L);k.items.push(z)}return k}var y={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:h,createNode:d},E=class extends r.YAMLSeq{constructor(){super(),e._defineProperty(this,"add",r.YAMLMap.prototype.add.bind(this)),e._defineProperty(this,"delete",r.YAMLMap.prototype.delete.bind(this)),e._defineProperty(this,"get",r.YAMLMap.prototype.get.bind(this)),e._defineProperty(this,"has",r.YAMLMap.prototype.has.bind(this)),e._defineProperty(this,"set",r.YAMLMap.prototype.set.bind(this)),this.tag=E.tag}toJSON(u,p){let L=new Map;p&&p.onCreate&&p.onCreate(L);for(let k of this.items){let $,K;if(k instanceof r.Pair?($=r.toJSON(k.key,"",p),K=r.toJSON(k.value,$,p)):$=r.toJSON(k,"",p),L.has($))throw new Error("Ordered maps must not include duplicate keys");L.set($,K)}return L}};e._defineProperty(E,"tag","tag:yaml.org,2002:omap");function I(u,p){let L=h(u,p),k=[];for(let{key:$}of L.items)if($ instanceof r.Scalar)if(k.includes($.value)){let K="Ordered maps must not include duplicate keys";throw new e.YAMLSemanticError(p,K)}else k.push($.value);return Object.assign(new E,L)}function S(u,p,L){let k=d(u,p,L),$=new E;return $.items=k.items,$}var M={identify:u=>u instanceof Map,nodeClass:E,default:!1,tag:"tag:yaml.org,2002:omap",resolve:I,createNode:S},T=class extends r.YAMLMap{constructor(){super(),this.tag=T.tag}add(u){let p=u instanceof r.Pair?u:new r.Pair(u);r.findPair(this.items,p.key)||this.items.push(p)}get(u,p){let L=r.findPair(this.items,u);return!p&&L instanceof r.Pair?L.key instanceof r.Scalar?L.key.value:L.key:L}set(u,p){if(typeof p!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof p}`);let L=r.findPair(this.items,u);L&&!p?this.items.splice(this.items.indexOf(L),1):!L&&p&&this.items.push(new r.Pair(u))}toJSON(u,p){return super.toJSON(u,p,Set)}toString(u,p,L){if(!u)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(u,p,L);throw new Error("Set items must all have null values")}};e._defineProperty(T,"tag","tag:yaml.org,2002:set");function P(u,p){let L=r.resolveMap(u,p);if(!L.hasAllNullValues())throw new e.YAMLSemanticError(p,"Set items must all have null values");return Object.assign(new T,L)}function C(u,p,L){let k=new T;for(let $ of p)k.items.push(u.createPair($,null,L));return k}var q={identify:u=>u instanceof Set,nodeClass:T,default:!1,tag:"tag:yaml.org,2002:set",resolve:P,createNode:C},R=(u,p)=>{let L=p.split(":").reduce((k,$)=>k*60+Number($),0);return u==="-"?-L:L},B=u=>{let{value:p}=u;if(isNaN(p)||!isFinite(p))return r.stringifyNumber(p);let L="";p<0&&(L="-",p=Math.abs(p));let k=[p%60];return p<60?k.unshift(0):(p=Math.round((p-k[0])/60),k.unshift(p%60),p>=60&&(p=Math.round((p-k[0])/60),k.unshift(p))),L+k.map($=>$<10?"0"+String($):String($)).join(":").replace(/000000\d*$/,"")},U={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(u,p,L)=>R(p,L.replace(/_/g,"")),stringify:B},f={identify:u=>typeof u=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(u,p,L)=>R(p,L.replace(/_/g,"")),stringify:B},i={identify:u=>u instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(u,p,L,k,$,K,V,z,ae)=>{z&&(z=(z+"00").substr(1,3));let ue=Date.UTC(p,L-1,k,$||0,K||0,V||0,z||0);if(ae&&ae!=="Z"){let pe=R(ae[0],ae.slice(1));Math.abs(pe)<30&&(pe*=60),ue-=6e4*pe}return new Date(ue)},stringify:u=>{let{value:p}=u;return p.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")}};function t(u){let p=typeof Te<"u"&&Te.env||{};return u?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!p.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!p.YAML_SILENCE_WARNINGS}function s(u,p){if(t(!1)){let L=typeof Te<"u"&&Te.emitWarning;L?L(u,p):console.warn(p?`${p}: ${u}`:u)}}function a(u){if(t(!0)){let p=u.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");s(`The endpoint 'yaml/${p}' will be removed in a future release.`,"DeprecationWarning")}}var m={};function g(u,p){if(!m[u]&&t(!0)){m[u]=!0;let L=`The option '${u}' will be removed in a future release`;L+=p?`, use '${p}' instead.`:".",s(L,"DeprecationWarning")}}n.binary=c,n.floatTime=f,n.intTime=U,n.omap=M,n.pairs=y,n.set=q,n.timestamp=i,n.warn=s,n.warnFileDeprecation=a,n.warnOptionDeprecation=g}}),it=D({"node_modules/yaml/dist/Schema-88e323a7.js"(n){"use strict";Y();var e=Me(),r=ke(),c=st();function h(O,W,J){let x=new r.YAMLMap(O);if(W instanceof Map)for(let[G,re]of W)x.items.push(O.createPair(G,re,J));else if(W&&typeof W=="object")for(let G of Object.keys(W))x.items.push(O.createPair(G,W[G],J));return typeof O.sortMapEntries=="function"&&x.items.sort(O.sortMapEntries),x}var d={createNode:h,default:!0,nodeClass:r.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:r.resolveMap};function y(O,W,J){let x=new r.YAMLSeq(O);if(W&&W[Symbol.iterator])for(let G of W){let re=O.createNode(G,J.wrapScalars,null,J);x.items.push(re)}return x}var E={createNode:y,default:!0,nodeClass:r.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:r.resolveSeq},I={identify:O=>typeof O=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify(O,W,J,x){return W=Object.assign({actualString:!0},W),r.stringifyString(O,W,J,x)},options:r.strOptions},S=[d,E,I],M=O=>typeof O=="bigint"||Number.isInteger(O),T=(O,W,J)=>r.intOptions.asBigInt?BigInt(O):parseInt(W,J);function P(O,W,J){let{value:x}=O;return M(x)&&x>=0?J+x.toString(W):r.stringifyNumber(O)}var C={identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},q={identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:O=>O[0]==="t"||O[0]==="T",options:r.boolOptions,stringify:O=>{let{value:W}=O;return W?r.boolOptions.trueStr:r.boolOptions.falseStr}},R={identify:O=>M(O)&&O>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(O,W)=>T(O,W,8),options:r.intOptions,stringify:O=>P(O,8,"0o")},B={identify:M,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:O=>T(O,O,10),options:r.intOptions,stringify:r.stringifyNumber},U={identify:O=>M(O)&&O>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(O,W)=>T(O,W,16),options:r.intOptions,stringify:O=>P(O,16,"0x")},f={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(O,W)=>W?NaN:O[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},i={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:O=>parseFloat(O),stringify:O=>{let{value:W}=O;return Number(W).toExponential()}},t={identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(O,W,J){let x=W||J,G=new r.Scalar(parseFloat(O));return x&&x[x.length-1]==="0"&&(G.minFractionDigits=x.length),G},stringify:r.stringifyNumber},s=S.concat([C,q,R,B,U,f,i,t]),a=O=>typeof O=="bigint"||Number.isInteger(O),m=O=>{let{value:W}=O;return JSON.stringify(W)},g=[d,E,{identify:O=>typeof O=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify:m},{identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:m},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:O=>O==="true",stringify:m},{identify:a,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:O=>r.intOptions.asBigInt?BigInt(O):parseInt(O,10),stringify:O=>{let{value:W}=O;return a(W)?W.toString():JSON.stringify(W)}},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:O=>parseFloat(O),stringify:m}];g.scalarFallback=O=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(O)}`)};var u=O=>{let{value:W}=O;return W?r.boolOptions.trueStr:r.boolOptions.falseStr},p=O=>typeof O=="bigint"||Number.isInteger(O);function L(O,W,J){let x=W.replace(/_/g,"");if(r.intOptions.asBigInt){switch(J){case 2:x=`0b${x}`;break;case 8:x=`0o${x}`;break;case 16:x=`0x${x}`;break}let re=BigInt(x);return O==="-"?BigInt(-1)*re:re}let G=parseInt(x,J);return O==="-"?-1*G:G}function k(O,W,J){let{value:x}=O;if(p(x)){let G=x.toString(W);return x<0?"-"+J+G.substr(1):J+G}return r.stringifyNumber(O)}var $=S.concat([{identify:O=>O==null,createNode:(O,W,J)=>J.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:r.boolOptions,stringify:u},{identify:O=>typeof O=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:r.boolOptions,stringify:u},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(O,W,J)=>L(W,J,2),stringify:O=>k(O,2,"0b")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(O,W,J)=>L(W,J,8),stringify:O=>k(O,8,"0")},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(O,W,J)=>L(W,J,10),stringify:r.stringifyNumber},{identify:p,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(O,W,J)=>L(W,J,16),stringify:O=>k(O,16,"0x")},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(O,W)=>W?NaN:O[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:O=>parseFloat(O.replace(/_/g,"")),stringify:O=>{let{value:W}=O;return Number(W).toExponential()}},{identify:O=>typeof O=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(O,W){let J=new r.Scalar(parseFloat(O.replace(/_/g,"")));if(W){let x=W.replace(/_/g,"");x[x.length-1]==="0"&&(J.minFractionDigits=x.length)}return J},stringify:r.stringifyNumber}],c.binary,c.omap,c.pairs,c.set,c.intTime,c.floatTime,c.timestamp),K={core:s,failsafe:S,json:g,yaml11:$},V={binary:c.binary,bool:q,float:t,floatExp:i,floatNaN:f,floatTime:c.floatTime,int:B,intHex:U,intOct:R,intTime:c.intTime,map:d,null:C,omap:c.omap,pairs:c.pairs,seq:E,set:c.set,timestamp:c.timestamp};function z(O,W,J){if(W){let x=J.filter(re=>re.tag===W),G=x.find(re=>!re.format)||x[0];if(!G)throw new Error(`Tag ${W} not found`);return G}return J.find(x=>(x.identify&&x.identify(O)||x.class&&O instanceof x.class)&&!x.format)}function ae(O,W,J){if(O instanceof r.Node)return O;let{defaultPrefix:x,onTagObj:G,prevObjects:re,schema:_e,wrapScalars:ye}=J;W&&W.startsWith("!!")&&(W=x+W.slice(2));let be=z(O,W,_e.tags);if(!be){if(typeof O.toJSON=="function"&&(O=O.toJSON()),!O||typeof O!="object")return ye?new r.Scalar(O):O;be=O instanceof Map?d:O[Symbol.iterator]?E:d}G&&(G(be),delete J.onTagObj);let ve={value:void 0,node:void 0};if(O&&typeof O=="object"&&re){let Ne=re.get(O);if(Ne){let Pe=new r.Alias(Ne);return J.aliasNodes.push(Pe),Pe}ve.value=O,re.set(O,ve)}return ve.node=be.createNode?be.createNode(J.schema,O,J):ye?new r.Scalar(O):O,W&&ve.node instanceof r.Node&&(ve.node.tag=W),ve.node}function ue(O,W,J,x){let G=O[x.replace(/\W/g,"")];if(!G){let re=Object.keys(O).map(_e=>JSON.stringify(_e)).join(", ");throw new Error(`Unknown schema "${x}"; use one of ${re}`)}if(Array.isArray(J))for(let re of J)G=G.concat(re);else typeof J=="function"&&(G=J(G.slice()));for(let re=0;reJSON.stringify(ve)).join(", ");throw new Error(`Unknown custom tag "${_e}"; use one of ${be}`)}G[re]=ye}}return G}var pe=(O,W)=>O.keyW.key?1:0,ge=class{constructor(O){let{customTags:W,merge:J,schema:x,sortMapEntries:G,tags:re}=O;this.merge=!!J,this.name=x,this.sortMapEntries=G===!0?pe:G||null,!W&&re&&c.warnOptionDeprecation("tags","customTags"),this.tags=ue(K,V,W||re,x)}createNode(O,W,J,x){let G={defaultPrefix:ge.defaultPrefix,schema:this,wrapScalars:W},re=x?Object.assign(x,G):G;return ae(O,J,re)}createPair(O,W,J){J||(J={wrapScalars:!0});let x=this.createNode(O,J.wrapScalars,null,J),G=this.createNode(W,J.wrapScalars,null,J);return new r.Pair(x,G)}};e._defineProperty(ge,"defaultPrefix",e.defaultTagPrefix),e._defineProperty(ge,"defaultTags",e.defaultTags),n.Schema=ge}}),xr=D({"node_modules/yaml/dist/Document-9b4560a1.js"(n){"use strict";Y();var e=Me(),r=ke(),c=it(),h={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},d={get binary(){return r.binaryOptions},set binary(t){Object.assign(r.binaryOptions,t)},get bool(){return r.boolOptions},set bool(t){Object.assign(r.boolOptions,t)},get int(){return r.intOptions},set int(t){Object.assign(r.intOptions,t)},get null(){return r.nullOptions},set null(t){Object.assign(r.nullOptions,t)},get str(){return r.strOptions},set str(t){Object.assign(r.strOptions,t)}},y={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:e.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:e.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:e.defaultTagPrefix}]}};function E(t,s){if((t.version||t.options.version)==="1.0"){let g=s.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(g)return"!"+g[1];let u=s.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return u?`!${u[1]}/${u[2]}`:`!${s.replace(/^tag:/,"")}`}let a=t.tagPrefixes.find(g=>s.indexOf(g.prefix)===0);if(!a){let g=t.getDefaults().tagPrefixes;a=g&&g.find(u=>s.indexOf(u.prefix)===0)}if(!a)return s[0]==="!"?s:`!<${s}>`;let m=s.substr(a.prefix.length).replace(/[!,[\]{}]/g,g=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"})[g]);return a.handle+m}function I(t,s){if(s instanceof r.Alias)return r.Alias;if(s.tag){let g=t.filter(u=>u.tag===s.tag);if(g.length>0)return g.find(u=>u.format===s.format)||g[0]}let a,m;if(s instanceof r.Scalar){m=s.value;let g=t.filter(u=>u.identify&&u.identify(m)||u.class&&m instanceof u.class);a=g.find(u=>u.format===s.format)||g.find(u=>!u.format)}else m=s,a=t.find(g=>g.nodeClass&&m instanceof g.nodeClass);if(!a){let g=m&&m.constructor?m.constructor.name:typeof m;throw new Error(`Tag not resolved for ${g} value`)}return a}function S(t,s,a){let{anchors:m,doc:g}=a,u=[],p=g.anchors.getName(t);return p&&(m[p]=t,u.push(`&${p}`)),t.tag?u.push(E(g,t.tag)):s.default||u.push(E(g,s.tag)),u.join(" ")}function M(t,s,a,m){let{anchors:g,schema:u}=s.doc,p;if(!(t instanceof r.Node)){let $={aliasNodes:[],onTagObj:K=>p=K,prevObjects:new Map};t=u.createNode(t,!0,null,$);for(let K of $.aliasNodes){K.source=K.source.node;let V=g.getName(K.source);V||(V=g.newName(),g.map[V]=K.source)}}if(t instanceof r.Pair)return t.toString(s,a,m);p||(p=I(u.tags,t));let L=S(t,p,s);L.length>0&&(s.indentAtStart=(s.indentAtStart||0)+L.length+1);let k=typeof p.stringify=="function"?p.stringify(t,s,a,m):t instanceof r.Scalar?r.stringifyString(t,s,a,m):t.toString(s,a,m);return L?t instanceof r.Scalar||k[0]==="{"||k[0]==="["?`${L} ${k}`:`${L} +${s.indent}${k}`:k}var T=class{static validAnchorNode(t){return t instanceof r.Scalar||t instanceof r.YAMLSeq||t instanceof r.YAMLMap}constructor(t){e._defineProperty(this,"map",Object.create(null)),this.prefix=t}createAlias(t,s){return this.setAnchor(t,s),new r.Alias(t)}createMergePair(){let t=new r.Merge;for(var s=arguments.length,a=new Array(s),m=0;m{if(g instanceof r.Alias){if(g.source instanceof r.YAMLMap)return g}else if(g instanceof r.YAMLMap)return this.createAlias(g);throw new Error("Merge sources must be Map nodes or their Aliases")}),t}getName(t){let{map:s}=this;return Object.keys(s).find(a=>s[a]===t)}getNames(){return Object.keys(this.map)}getNode(t){return this.map[t]}newName(t){t||(t=this.prefix);let s=Object.keys(this.map);for(let a=1;;++a){let m=`${t}${a}`;if(!s.includes(m))return m}}resolveNodes(){let{map:t,_cstAliases:s}=this;Object.keys(t).forEach(a=>{t[a]=t[a].resolved}),s.forEach(a=>{a.source=a.source.resolved}),delete this._cstAliases}setAnchor(t,s){if(t!=null&&!T.validAnchorNode(t))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(s&&/[\x00-\x19\s,[\]{}]/.test(s))throw new Error("Anchor names must not contain whitespace or control characters");let{map:a}=this,m=t&&Object.keys(a).find(g=>a[g]===t);if(m)if(s)m!==s&&(delete a[m],a[s]=t);else return m;else{if(!s){if(!t)return null;s=this.newName()}a[s]=t}return s}},P=(t,s)=>{if(t&&typeof t=="object"){let{tag:a}=t;t instanceof r.Collection?(a&&(s[a]=!0),t.items.forEach(m=>P(m,s))):t instanceof r.Pair?(P(t.key,s),P(t.value,s)):t instanceof r.Scalar&&a&&(s[a]=!0)}return s},C=t=>Object.keys(P(t,{}));function q(t,s){let a={before:[],after:[]},m,g=!1;for(let u of s)if(u.valueRange){if(m!==void 0){let L="Document contains trailing content not separated by a ... or --- line";t.errors.push(new e.YAMLSyntaxError(u,L));break}let p=r.resolveNode(t,u);g&&(p.spaceBefore=!0,g=!1),m=p}else u.comment!==null?(m===void 0?a.before:a.after).push(u.comment):u.type===e.Type.BLANK_LINE&&(g=!0,m===void 0&&a.before.length>0&&!t.commentBefore&&(t.commentBefore=a.before.join(` +`),a.before=[]));if(t.contents=m||null,!m)t.comment=a.before.concat(a.after).join(` +`)||null;else{let u=a.before.join(` +`);if(u){let p=m instanceof r.Collection&&m.items[0]?m.items[0]:m;p.commentBefore=p.commentBefore?`${u} +${p.commentBefore}`:u}t.comment=a.after.join(` +`)||null}}function R(t,s){let{tagPrefixes:a}=t,[m,g]=s.parameters;if(!m||!g){let u="Insufficient parameters given for %TAG directive";throw new e.YAMLSemanticError(s,u)}if(a.some(u=>u.handle===m)){let u="The %TAG directive must only be given at most once per handle in the same document.";throw new e.YAMLSemanticError(s,u)}return{handle:m,prefix:g}}function B(t,s){let[a]=s.parameters;if(s.name==="YAML:1.0"&&(a="1.0"),!a){let m="Insufficient parameters given for %YAML directive";throw new e.YAMLSemanticError(s,m)}if(!y[a]){let g=`Document will be parsed as YAML ${t.version||t.options.version} rather than YAML ${a}`;t.warnings.push(new e.YAMLWarning(s,g))}return a}function U(t,s,a){let m=[],g=!1;for(let u of s){let{comment:p,name:L}=u;switch(L){case"TAG":try{t.tagPrefixes.push(R(t,u))}catch(k){t.errors.push(k)}g=!0;break;case"YAML":case"YAML:1.0":if(t.version){let k="The %YAML directive must only be given at most once per document.";t.errors.push(new e.YAMLSemanticError(u,k))}try{t.version=B(t,u)}catch(k){t.errors.push(k)}g=!0;break;default:if(L){let k=`YAML only supports %TAG and %YAML directives, and not %${L}`;t.warnings.push(new e.YAMLWarning(u,k))}}p&&m.push(p)}if(a&&!g&&(t.version||a.version||t.options.version)==="1.1"){let u=p=>{let{handle:L,prefix:k}=p;return{handle:L,prefix:k}};t.tagPrefixes=a.tagPrefixes.map(u),t.version=a.version}t.commentBefore=m.join(` +`)||null}function f(t){if(t instanceof r.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}var i=class{constructor(t){this.anchors=new T(t.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=t,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(t){return f(this.contents),this.contents.add(t)}addIn(t,s){f(this.contents),this.contents.addIn(t,s)}delete(t){return f(this.contents),this.contents.delete(t)}deleteIn(t){return r.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):(f(this.contents),this.contents.deleteIn(t))}getDefaults(){return i.defaults[this.version]||i.defaults[this.options.version]||{}}get(t,s){return this.contents instanceof r.Collection?this.contents.get(t,s):void 0}getIn(t,s){return r.isEmptyPath(t)?!s&&this.contents instanceof r.Scalar?this.contents.value:this.contents:this.contents instanceof r.Collection?this.contents.getIn(t,s):void 0}has(t){return this.contents instanceof r.Collection?this.contents.has(t):!1}hasIn(t){return r.isEmptyPath(t)?this.contents!==void 0:this.contents instanceof r.Collection?this.contents.hasIn(t):!1}set(t,s){f(this.contents),this.contents.set(t,s)}setIn(t,s){r.isEmptyPath(t)?this.contents=s:(f(this.contents),this.contents.setIn(t,s))}setSchema(t,s){if(!t&&!s&&this.schema)return;typeof t=="number"&&(t=t.toFixed(1)),t==="1.0"||t==="1.1"||t==="1.2"?(this.version?this.version=t:this.options.version=t,delete this.options.schema):t&&typeof t=="string"&&(this.options.schema=t),Array.isArray(s)&&(this.options.customTags=s);let a=Object.assign({},this.getDefaults(),this.options);this.schema=new c.Schema(a)}parse(t,s){this.options.keepCstNodes&&(this.cstNode=t),this.options.keepNodeTypes&&(this.type="DOCUMENT");let{directives:a=[],contents:m=[],directivesEndMarker:g,error:u,valueRange:p}=t;if(u&&(u.source||(u.source=this),this.errors.push(u)),U(this,a,s),g&&(this.directivesEndMarker=!0),this.range=p?[p.start,p.end]:null,this.setSchema(),this.anchors._cstAliases=[],q(this,m),this.anchors.resolveNodes(),this.options.prettyErrors){for(let L of this.errors)L instanceof e.YAMLError&&L.makePretty();for(let L of this.warnings)L instanceof e.YAMLError&&L.makePretty()}return this}listNonDefaultTags(){return C(this.contents).filter(t=>t.indexOf(c.Schema.defaultPrefix)!==0)}setTagPrefix(t,s){if(t[0]!=="!"||t[t.length-1]!=="!")throw new Error("Handle must start and end with !");if(s){let a=this.tagPrefixes.find(m=>m.handle===t);a?a.prefix=s:this.tagPrefixes.push({handle:t,prefix:s})}else this.tagPrefixes=this.tagPrefixes.filter(a=>a.handle!==t)}toJSON(t,s){let{keepBlobsInJSON:a,mapAsMap:m,maxAliasCount:g}=this.options,u=a&&(typeof t!="string"||!(this.contents instanceof r.Scalar)),p={doc:this,indentStep:" ",keep:u,mapAsMap:u&&!!m,maxAliasCount:g,stringify:M},L=Object.keys(this.anchors.map);L.length>0&&(p.anchors=new Map(L.map($=>[this.anchors.map[$],{alias:[],aliasCount:0,count:1}])));let k=r.toJSON(this.contents,t,p);if(typeof s=="function"&&p.anchors)for(let{count:$,res:K}of p.anchors.values())s(K,$);return k}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");let t=this.options.indent;if(!Number.isInteger(t)||t<=0){let L=JSON.stringify(t);throw new Error(`"indent" option must be a positive integer, not ${L}`)}this.setSchema();let s=[],a=!1;if(this.version){let L="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?L="%YAML:1.0":this.version==="1.1"&&(L="%YAML 1.1")),s.push(L),a=!0}let m=this.listNonDefaultTags();this.tagPrefixes.forEach(L=>{let{handle:k,prefix:$}=L;m.some(K=>K.indexOf($)===0)&&(s.push(`%TAG ${k} ${$}`),a=!0)}),(a||this.directivesEndMarker)&&s.push("---"),this.commentBefore&&((a||!this.directivesEndMarker)&&s.unshift(""),s.unshift(this.commentBefore.replace(/^/gm,"#")));let g={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(t),stringify:M},u=!1,p=null;if(this.contents){this.contents instanceof r.Node&&(this.contents.spaceBefore&&(a||this.directivesEndMarker)&&s.push(""),this.contents.commentBefore&&s.push(this.contents.commentBefore.replace(/^/gm,"#")),g.forceBlockIndent=!!this.comment,p=this.contents.comment);let L=p?null:()=>u=!0,k=M(this.contents,g,()=>p=null,L);s.push(r.addComment(k,"",p))}else this.contents!==void 0&&s.push(M(this.contents,g));return this.comment&&((!u||p)&&s[s.length-1]!==""&&s.push(""),s.push(this.comment.replace(/^/gm,"#"))),s.join(` +`)+` +`}};e._defineProperty(i,"defaults",y),n.Document=i,n.defaultOptions=h,n.scalarOptions=d}}),Hr=D({"node_modules/yaml/dist/index.js"(n){"use strict";Y();var e=Jr(),r=xr(),c=it(),h=Me(),d=st();ke();function y(C){let q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,R=arguments.length>2?arguments[2]:void 0;R===void 0&&typeof q=="string"&&(R=q,q=!0);let B=Object.assign({},r.Document.defaults[r.defaultOptions.version],r.defaultOptions);return new c.Schema(B).createNode(C,q,R)}var E=class extends r.Document{constructor(C){super(Object.assign({},r.defaultOptions,C))}};function I(C,q){let R=[],B;for(let U of e.parse(C)){let f=new E(q);f.parse(U,B),R.push(f),B=f}return R}function S(C,q){let R=e.parse(C),B=new E(q).parse(R[0]);if(R.length>1){let U="Source contains multiple documents; please use YAML.parseAllDocuments()";B.errors.unshift(new h.YAMLSemanticError(R[1],U))}return B}function M(C,q){let R=S(C,q);if(R.warnings.forEach(B=>d.warn(B)),R.errors.length>0)throw R.errors[0];return R.toJSON()}function T(C,q){let R=new E(q);return R.contents=C,String(R)}var P={createNode:y,defaultOptions:r.defaultOptions,Document:E,parse:M,parseAllDocuments:I,parseCST:e.parse,parseDocument:S,scalarOptions:r.scalarOptions,stringify:T};n.YAML=P}}),Ue=D({"node_modules/yaml/index.js"(n,e){Y(),e.exports=Hr().YAML}}),Gr=D({"node_modules/yaml/dist/util.js"(n){"use strict";Y();var e=ke(),r=Me();n.findPair=e.findPair,n.parseMap=e.resolveMap,n.parseSeq=e.resolveSeq,n.stringifyNumber=e.stringifyNumber,n.stringifyString=e.stringifyString,n.toJSON=e.toJSON,n.Type=r.Type,n.YAMLError=r.YAMLError,n.YAMLReferenceError=r.YAMLReferenceError,n.YAMLSemanticError=r.YAMLSemanticError,n.YAMLSyntaxError=r.YAMLSyntaxError,n.YAMLWarning=r.YAMLWarning}}),zr=D({"node_modules/yaml/util.js"(n){Y();var e=Gr();n.findPair=e.findPair,n.toJSON=e.toJSON,n.parseMap=e.parseMap,n.parseSeq=e.parseSeq,n.stringifyNumber=e.stringifyNumber,n.stringifyString=e.stringifyString,n.Type=e.Type,n.YAMLError=e.YAMLError,n.YAMLReferenceError=e.YAMLReferenceError,n.YAMLSemanticError=e.YAMLSemanticError,n.YAMLSyntaxError=e.YAMLSyntaxError,n.YAMLWarning=e.YAMLWarning}}),Zr=D({"node_modules/yaml-unist-parser/lib/yaml.js"(n){"use strict";Y(),n.__esModule=!0;var e=Ue();n.Document=e.Document;var r=Ue();n.parseCST=r.parseCST;var c=zr();n.YAMLError=c.YAMLError,n.YAMLSyntaxError=c.YAMLSyntaxError,n.YAMLSemanticError=c.YAMLSemanticError}}),Xr=D({"node_modules/yaml-unist-parser/lib/parse.js"(n){"use strict";Y(),n.__esModule=!0;var e=Kt(),r=xt(),c=Ht(),h=Gt(),d=Br(),y=He(),E=Yr(),I=Fr(),S=Wr(),M=Vr(),T=Qr(),P=Kr(),C=Zr();function q(R){var B=C.parseCST(R);M.addOrigRange(B);for(var U=B.map(function(k){return new C.Document({merge:!1,keepCstNodes:!0}).parse(k)}),f=new e.default(R),i=[],t={text:R,locator:f,comments:i,transformOffset:function(k){return I.transformOffset(k,t)},transformRange:function(k){return S.transformRange(k,t)},transformNode:function(k){return d.transformNode(k,t)},transformContent:function(k){return y.transformContent(k,t)}},s=0,a=U;s function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { + exports: {} + }).exports, mod), mod.exports; +}; +var require_resolve_from = __commonJS({ + "node_modules/import-fresh/node_modules/resolve-from/index.js"(exports2, module2) { + "use strict"; + var path = __webpack_require__(16928); + var Module = __webpack_require__(73339); + var fs = __webpack_require__(79896); + var resolveFrom = (fromDir, moduleId, silent) => { + if (typeof fromDir !== "string") { + throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``); + } + if (typeof moduleId !== "string") { + throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``); + } + try { + fromDir = fs.realpathSync(fromDir); + } catch (err) { + if (err.code === "ENOENT") { + fromDir = path.resolve(fromDir); + } else if (silent) { + return null; + } else { + throw err; + } + } + const fromFile = path.join(fromDir, "noop.js"); + const resolveFileName = () => Module._resolveFilename(moduleId, { + id: fromFile, + filename: fromFile, + paths: Module._nodeModulePaths(fromDir) + }); + if (silent) { + try { + return resolveFileName(); + } catch (err) { + return null; + } + } + return resolveFileName(); + }; + module2.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId); + module2.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true); + } +}); +var require_parent_module = __commonJS({ + "scripts/build/shims/parent-module.cjs"(exports2, module2) { + "use strict"; + module2.exports = (file) => file; + } +}); +var require_import_fresh = __commonJS({ + "node_modules/import-fresh/index.js"(exports2, module2) { + "use strict"; + var path = __webpack_require__(16928); + var resolveFrom = require_resolve_from(); + var parentModule = require_parent_module(); + module2.exports = (moduleId) => { + if (typeof moduleId !== "string") { + throw new TypeError("Expected a string"); + } + const parentPath = parentModule(__filename); + const cwd = parentPath ? path.dirname(parentPath) : __dirname; + const filePath = resolveFrom(cwd, moduleId); + const oldModule = __webpack_require__.c[filePath]; + if (oldModule && oldModule.parent) { + let i = oldModule.parent.children.length; + while (i--) { + if (oldModule.parent.children[i].id === filePath) { + oldModule.parent.children.splice(i, 1); + } + } + } + delete __webpack_require__.c[filePath]; + const parent = __webpack_require__.c[parentPath]; + return parent === void 0 ? __webpack_require__(55536)(filePath) : parent.require(filePath); + }; + } +}); +var require_is_arrayish = __commonJS({ + "node_modules/is-arrayish/index.js"(exports2, module2) { + "use strict"; + module2.exports = function isArrayish(obj) { + if (!obj) { + return false; + } + return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && obj.splice instanceof Function; + }; + } +}); +var require_error_ex = __commonJS({ + "node_modules/error-ex/index.js"(exports2, module2) { + "use strict"; + var util = __webpack_require__(39023); + var isArrayish = require_is_arrayish(); + var errorEx = function errorEx2(name, properties) { + if (!name || name.constructor !== String) { + properties = name || {}; + name = Error.name; + } + var errorExError = function ErrorEXError(message) { + if (!this) { + return new ErrorEXError(message); + } + message = message instanceof Error ? message.message : message || this.message; + Error.call(this, message); + Error.captureStackTrace(this, errorExError); + this.name = name; + Object.defineProperty(this, "message", { + configurable: true, + enumerable: false, + get: function() { + var newMessage = message.split(/\r?\n/g); + for (var key in properties) { + if (!properties.hasOwnProperty(key)) { + continue; + } + var modifier = properties[key]; + if ("message" in modifier) { + newMessage = modifier.message(this[key], newMessage) || newMessage; + if (!isArrayish(newMessage)) { + newMessage = [newMessage]; + } + } + } + return newMessage.join("\n"); + }, + set: function(v) { + message = v; + } + }); + var overwrittenStack = null; + var stackDescriptor = Object.getOwnPropertyDescriptor(this, "stack"); + var stackGetter = stackDescriptor.get; + var stackValue = stackDescriptor.value; + delete stackDescriptor.value; + delete stackDescriptor.writable; + stackDescriptor.set = function(newstack) { + overwrittenStack = newstack; + }; + stackDescriptor.get = function() { + var stack = (overwrittenStack || (stackGetter ? stackGetter.call(this) : stackValue)).split(/\r?\n+/g); + if (!overwrittenStack) { + stack[0] = this.name + ": " + this.message; + } + var lineCount = 1; + for (var key in properties) { + if (!properties.hasOwnProperty(key)) { + continue; + } + var modifier = properties[key]; + if ("line" in modifier) { + var line = modifier.line(this[key]); + if (line) { + stack.splice(lineCount++, 0, " " + line); + } + } + if ("stack" in modifier) { + modifier.stack(this[key], stack); + } + } + return stack.join("\n"); + }; + Object.defineProperty(this, "stack", stackDescriptor); + }; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(errorExError.prototype, Error.prototype); + Object.setPrototypeOf(errorExError, Error); + } else { + util.inherits(errorExError, Error); + } + return errorExError; + }; + errorEx.append = function(str, def) { + return { + message: function(v, message) { + v = v || def; + if (v) { + message[0] += " " + str.replace("%s", v.toString()); + } + return message; + } + }; + }; + errorEx.line = function(str, def) { + return { + line: function(v) { + v = v || def; + if (v) { + return str.replace("%s", v.toString()); + } + return null; + } + }; + }; + module2.exports = errorEx; + } +}); +var require_json_parse_even_better_errors = __commonJS({ + "node_modules/json-parse-even-better-errors/index.js"(exports2, module2) { + "use strict"; + var hexify = (char) => { + const h = char.charCodeAt(0).toString(16).toUpperCase(); + return "0x" + (h.length % 2 ? "0" : "") + h; + }; + var parseError = (e, txt, context) => { + if (!txt) { + return { + message: e.message + " while parsing empty string", + position: 0 + }; + } + const badToken = e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i); + const errIdx = badToken ? +badToken[2] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null; + const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${JSON.stringify(badToken[1])} (${hexify(badToken[1])})`) : e.message; + if (errIdx !== null && errIdx !== void 0) { + const start = errIdx <= context ? 0 : errIdx - context; + const end = errIdx + context >= txt.length ? txt.length : errIdx + context; + const slice = (start === 0 ? "" : "...") + txt.slice(start, end) + (end === txt.length ? "" : "..."); + const near = txt === slice ? "" : "near "; + return { + message: msg + ` while parsing ${near}${JSON.stringify(slice)}`, + position: errIdx + }; + } else { + return { + message: msg + ` while parsing '${txt.slice(0, context * 2)}'`, + position: 0 + }; + } + }; + var JSONParseError = class extends SyntaxError { + constructor(er, txt, context, caller) { + context = context || 20; + const metadata = parseError(er, txt, context); + super(metadata.message); + Object.assign(this, metadata); + this.code = "EJSONPARSE"; + this.systemError = er; + Error.captureStackTrace(this, caller || this.constructor); + } + get name() { + return this.constructor.name; + } + set name(n) { + } + get [Symbol.toStringTag]() { + return this.constructor.name; + } + }; + var kIndent = Symbol.for("indent"); + var kNewline = Symbol.for("newline"); + var formatRE = /^\s*[{\[]((?:\r?\n)+)([\s\t]*)/; + var emptyRE = /^(?:\{\}|\[\])((?:\r?\n)+)?$/; + var parseJson = (txt, reviver, context) => { + const parseText = stripBOM(txt); + context = context || 20; + try { + const [, newline = "\n", indent = " "] = parseText.match(emptyRE) || parseText.match(formatRE) || [, "", ""]; + const result = JSON.parse(parseText, reviver); + if (result && typeof result === "object") { + result[kNewline] = newline; + result[kIndent] = indent; + } + return result; + } catch (e) { + if (typeof txt !== "string" && !Buffer.isBuffer(txt)) { + const isEmptyArray = Array.isArray(txt) && txt.length === 0; + throw Object.assign(new TypeError(`Cannot parse ${isEmptyArray ? "an empty array" : String(txt)}`), { + code: "EJSONPARSE", + systemError: e + }); + } + throw new JSONParseError(e, parseText, context, parseJson); + } + }; + var stripBOM = (txt) => String(txt).replace(/^\uFEFF/, ""); + module2.exports = parseJson; + parseJson.JSONParseError = JSONParseError; + parseJson.noExceptions = (txt, reviver) => { + try { + return JSON.parse(stripBOM(txt), reviver); + } catch (e) { + } + }; + } +}); +var require_build = __commonJS({ + "node_modules/parse-json/node_modules/lines-and-columns/build/index.js"(exports2) { + "use strict"; + exports2.__esModule = true; + exports2.LinesAndColumns = void 0; + var LF = "\n"; + var CR = "\r"; + var LinesAndColumns = function() { + function LinesAndColumns2(string) { + this.string = string; + var offsets = [0]; + for (var offset = 0; offset < string.length; ) { + switch (string[offset]) { + case LF: + offset += LF.length; + offsets.push(offset); + break; + case CR: + offset += CR.length; + if (string[offset] === LF) { + offset += LF.length; + } + offsets.push(offset); + break; + default: + offset++; + break; + } + } + this.offsets = offsets; + } + LinesAndColumns2.prototype.locationForIndex = function(index) { + if (index < 0 || index > this.string.length) { + return null; + } + var line = 0; + var offsets = this.offsets; + while (offsets[line + 1] <= index) { + line++; + } + var column = index - offsets[line]; + return { + line, + column + }; + }; + LinesAndColumns2.prototype.indexForLocation = function(location) { + var line = location.line, column = location.column; + if (line < 0 || line >= this.offsets.length) { + return null; + } + if (column < 0 || column > this.lengthOfLine(line)) { + return null; + } + return this.offsets[line] + column; + }; + LinesAndColumns2.prototype.lengthOfLine = function(line) { + var offset = this.offsets[line]; + var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1]; + return nextOffset - offset; + }; + return LinesAndColumns2; + }(); + exports2.LinesAndColumns = LinesAndColumns; + exports2["default"] = LinesAndColumns; + } +}); +var require_js_tokens = __commonJS({ + "node_modules/js-tokens/index.js"(exports2) { + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; + exports2.matchToToken = function(match) { + var token = { + type: "invalid", + value: match[0], + closed: void 0 + }; + if (match[1]) + token.type = "string", token.closed = !!(match[3] || match[4]); + else if (match[5]) + token.type = "comment"; + else if (match[6]) + token.type = "comment", token.closed = !!match[7]; + else if (match[8]) + token.type = "regex"; + else if (match[9]) + token.type = "number"; + else if (match[10]) + token.type = "name"; + else if (match[11]) + token.type = "punctuator"; + else if (match[12]) + token.type = "whitespace"; + return token; + }; + } +}); +var require_identifier = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.isIdentifierChar = isIdentifierChar; + exports2.isIdentifierName = isIdentifierName; + exports2.isIdentifierStart = isIdentifierStart; + var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; + var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; + var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); + var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; + var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191]; + var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + function isInAstralSet(code, set) { + let pos = 65536; + for (let i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) + return false; + pos += set[i + 1]; + if (pos >= code) + return true; + } + return false; + } + function isIdentifierStart(code) { + if (code < 65) + return code === 36; + if (code <= 90) + return true; + if (code < 97) + return code === 95; + if (code <= 122) + return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); + } + function isIdentifierChar(code) { + if (code < 48) + return code === 36; + if (code < 58) + return true; + if (code < 65) + return false; + if (code <= 90) + return true; + if (code < 97) + return code === 95; + if (code <= 122) + return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); + } + function isIdentifierName(name) { + let isFirst = true; + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + if ((cp & 64512) === 55296 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + if ((trail & 64512) === 56320) { + cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); + } + } + if (isFirst) { + isFirst = false; + if (!isIdentifierStart(cp)) { + return false; + } + } else if (!isIdentifierChar(cp)) { + return false; + } + } + return !isFirst; + } + } +}); +var require_keyword = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.isKeyword = isKeyword; + exports2.isReservedWord = isReservedWord; + exports2.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; + exports2.isStrictBindReservedWord = isStrictBindReservedWord; + exports2.isStrictReservedWord = isStrictReservedWord; + var reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] + }; + var keywords = new Set(reservedWords.keyword); + var reservedWordsStrictSet = new Set(reservedWords.strict); + var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; + } + function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); + } + function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); + } + function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); + } + function isKeyword(word) { + return keywords.has(word); + } + } +}); +var require_lib = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + Object.defineProperty(exports2, "isIdentifierChar", { + enumerable: true, + get: function() { + return _identifier.isIdentifierChar; + } + }); + Object.defineProperty(exports2, "isIdentifierName", { + enumerable: true, + get: function() { + return _identifier.isIdentifierName; + } + }); + Object.defineProperty(exports2, "isIdentifierStart", { + enumerable: true, + get: function() { + return _identifier.isIdentifierStart; + } + }); + Object.defineProperty(exports2, "isKeyword", { + enumerable: true, + get: function() { + return _keyword.isKeyword; + } + }); + Object.defineProperty(exports2, "isReservedWord", { + enumerable: true, + get: function() { + return _keyword.isReservedWord; + } + }); + Object.defineProperty(exports2, "isStrictBindOnlyReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindOnlyReservedWord; + } + }); + Object.defineProperty(exports2, "isStrictBindReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindReservedWord; + } + }); + Object.defineProperty(exports2, "isStrictReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictReservedWord; + } + }); + var _identifier = require_identifier(); + var _keyword = require_keyword(); + } +}); +var require_escape_string_regexp = __commonJS({ + "node_modules/@babel/highlight/node_modules/escape-string-regexp/index.js"(exports2, module2) { + "use strict"; + var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + module2.exports = function(str) { + if (typeof str !== "string") { + throw new TypeError("Expected a string"); + } + return str.replace(matchOperatorsRe, "\\$&"); + }; + } +}); +var require_color_name = __commonJS({ + "node_modules/color-name/index.js"(exports2, module2) { + "use strict"; + module2.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] + }; + } +}); +var require_conversions = __commonJS({ + "node_modules/color-convert/conversions.js"(exports2, module2) { + var cssKeywords = require_color_name(); + var reverseKeywords = {}; + for (key in cssKeywords) { + if (cssKeywords.hasOwnProperty(key)) { + reverseKeywords[cssKeywords[key]] = key; + } + } + var key; + var convert = module2.exports = { + rgb: { + channels: 3, + labels: "rgb" + }, + hsl: { + channels: 3, + labels: "hsl" + }, + hsv: { + channels: 3, + labels: "hsv" + }, + hwb: { + channels: 3, + labels: "hwb" + }, + cmyk: { + channels: 4, + labels: "cmyk" + }, + xyz: { + channels: 3, + labels: "xyz" + }, + lab: { + channels: 3, + labels: "lab" + }, + lch: { + channels: 3, + labels: "lch" + }, + hex: { + channels: 1, + labels: ["hex"] + }, + keyword: { + channels: 1, + labels: ["keyword"] + }, + ansi16: { + channels: 1, + labels: ["ansi16"] + }, + ansi256: { + channels: 1, + labels: ["ansi256"] + }, + hcg: { + channels: 3, + labels: ["h", "c", "g"] + }, + apple: { + channels: 3, + labels: ["r16", "g16", "b16"] + }, + gray: { + channels: 1, + labels: ["gray"] + } + }; + for (model in convert) { + if (convert.hasOwnProperty(model)) { + if (!("channels" in convert[model])) { + throw new Error("missing channels property: " + model); + } + if (!("labels" in convert[model])) { + throw new Error("missing channel labels property: " + model); + } + if (convert[model].labels.length !== convert[model].channels) { + throw new Error("channel and label counts mismatch: " + model); + } + channels = convert[model].channels; + labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], "channels", { + value: channels + }); + Object.defineProperty(convert[model], "labels", { + value: labels + }); + } + } + var channels; + var labels; + var model; + convert.rgb.hsl = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + h = Math.min(h * 60, 360); + if (h < 0) { + h += 360; + } + l = (min + max) / 2; + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + return [h, s * 100, l * 100]; + }; + convert.rgb.hsv = function(rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + var diffc = function(c) { + return (v - c) / 6 / diff + 1 / 2; + }; + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = 1 / 3 + rdif - bdif; + } else if (b === v) { + h = 2 / 3 + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + return [h * 360, s * 100, v * 100]; + }; + convert.rgb.hwb = function(rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; + }; + convert.rgb.cmyk = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + return [c * 100, m * 100, y * 100, k * 100]; + }; + function comparativeDistance(x, y) { + return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); + } + convert.rgb.keyword = function(rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + var currentClosestDistance = Infinity; + var currentClosestKeyword; + for (var keyword in cssKeywords) { + if (cssKeywords.hasOwnProperty(keyword)) { + var value = cssKeywords[keyword]; + var distance = comparativeDistance(rgb, value); + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } + return currentClosestKeyword; + }; + convert.keyword.rgb = function(keyword) { + return cssKeywords[keyword]; + }; + convert.rgb.xyz = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; + g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; + b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; + var x = r * 0.4124 + g * 0.3576 + b * 0.1805; + var y = r * 0.2126 + g * 0.7152 + b * 0.0722; + var z = r * 0.0193 + g * 0.1192 + b * 0.9505; + return [x * 100, y * 100, z * 100]; + }; + convert.rgb.lab = function(rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; + }; + convert.hsl.rgb = function(hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + t1 = 2 * l - t2; + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + rgb[i] = val * 255; + } + return rgb; + }; + convert.hsl.hsv = function(hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; + }; + convert.hsv.rgb = function(hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - s * f); + var t = 255 * v * (1 - s * (1 - f)); + v *= 255; + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } + }; + convert.hsv.hsl = function(hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; + }; + convert.hwb.rgb = function(hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + if ((i & 1) !== 0) { + f = 1 - f; + } + n = wh + f * (v - wh); + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: + r = v; + g = n; + b = wh; + break; + case 1: + r = n; + g = v; + b = wh; + break; + case 2: + r = wh; + g = v; + b = n; + break; + case 3: + r = wh; + g = n; + b = v; + break; + case 4: + r = n; + g = wh; + b = v; + break; + case 5: + r = v; + g = wh; + b = n; + break; + } + return [r * 255, g * 255, b * 255]; + }; + convert.cmyk.rgb = function(cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; + }; + convert.xyz.rgb = function(xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + r = x * 3.2406 + y * -1.5372 + z * -0.4986; + g = x * -0.9689 + y * 1.8758 + z * 0.0415; + b = x * 0.0557 + y * -0.204 + z * 1.057; + r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92; + g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92; + b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + return [r * 255, g * 255, b * 255]; + }; + convert.xyz.lab = function(xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; + }; + convert.lab.xyz = function(lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z *= 108.883; + return [x, y, z]; + }; + convert.lab.lch = function(lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + if (h < 0) { + h += 360; + } + c = Math.sqrt(a * a + b * b); + return [l, c, h]; + }; + convert.lch.lab = function(lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + return [l, a, b]; + }; + convert.rgb.ansi16 = function(args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; + value = Math.round(value / 50); + if (value === 0) { + return 30; + } + var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + if (value === 2) { + ansi += 60; + } + return ansi; + }; + convert.hsv.ansi16 = function(args) { + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); + }; + convert.rgb.ansi256 = function(args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + if (r === g && g === b) { + if (r < 8) { + return 16; + } + if (r > 248) { + return 231; + } + return Math.round((r - 8) / 247 * 24) + 232; + } + var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; + }; + convert.ansi16.rgb = function(args) { + var color = args % 10; + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + color = color / 10.5 * 255; + return [color, color, color]; + } + var mult = (~~(args > 50) + 1) * 0.5; + var r = (color & 1) * mult * 255; + var g = (color >> 1 & 1) * mult * 255; + var b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; + }; + convert.ansi256.rgb = function(args) { + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + args -= 16; + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = rem % 6 / 5 * 255; + return [r, g, b]; + }; + convert.rgb.hex = function(args) { + var integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255); + var string = integer.toString(16).toUpperCase(); + return "000000".substring(string.length) + string; + }; + convert.hex.rgb = function(args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + var colorString = match[0]; + if (match[0].length === 3) { + colorString = colorString.split("").map(function(char) { + return char + char; + }).join(""); + } + var integer = parseInt(colorString, 16); + var r = integer >> 16 & 255; + var g = integer >> 8 & 255; + var b = integer & 255; + return [r, g, b]; + }; + convert.rgb.hcg = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = max - min; + var grayscale; + var hue; + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; + }; + convert.hsl.hcg = function(hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + if (l < 0.5) { + c = 2 * s * l; + } else { + c = 2 * s * (1 - l); + } + if (c < 1) { + f = (l - 0.5 * c) / (1 - c); + } + return [hsl[0], c * 100, f * 100]; + }; + convert.hsv.hcg = function(hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var c = s * v; + var f = 0; + if (c < 1) { + f = (v - c) / (1 - c); + } + return [hsv[0], c * 100, f * 100]; + }; + convert.hcg.rgb = function(hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + if (c === 0) { + return [g * 255, g * 255, g * 255]; + } + var pure = [0, 0, 0]; + var hi = h % 1 * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + case 1: + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + case 2: + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + case 3: + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + case 4: + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + default: + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + mg = (1 - c) * g; + return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; + }; + convert.hcg.hsv = function(hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1 - c); + var f = 0; + if (v > 0) { + f = c / v; + } + return [hcg[0], f * 100, v * 100]; + }; + convert.hcg.hsl = function(hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var l = g * (1 - c) + 0.5 * c; + var s = 0; + if (l > 0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1) { + s = c / (2 * (1 - l)); + } + return [hcg[0], s * 100, l * 100]; + }; + convert.hcg.hwb = function(hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; + }; + convert.hwb.hcg = function(hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + if (c < 1) { + g = (v - c) / (1 - c); + } + return [hwb[0], c * 100, g * 100]; + }; + convert.apple.rgb = function(apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; + }; + convert.rgb.apple = function(rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; + }; + convert.gray.rgb = function(args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; + }; + convert.gray.hsl = convert.gray.hsv = function(args) { + return [0, 0, args[0]]; + }; + convert.gray.hwb = function(gray) { + return [0, 100, gray[0]]; + }; + convert.gray.cmyk = function(gray) { + return [0, 0, 0, gray[0]]; + }; + convert.gray.lab = function(gray) { + return [gray[0], 0, 0]; + }; + convert.gray.hex = function(gray) { + var val = Math.round(gray[0] / 100 * 255) & 255; + var integer = (val << 16) + (val << 8) + val; + var string = integer.toString(16).toUpperCase(); + return "000000".substring(string.length) + string; + }; + convert.rgb.gray = function(rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; + }; + } +}); +var require_route = __commonJS({ + "node_modules/color-convert/route.js"(exports2, module2) { + var conversions = require_conversions(); + function buildGraph() { + var graph = {}; + var models = Object.keys(conversions); + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + distance: -1, + parent: null + }; + } + return graph; + } + function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; + graph[fromModel].distance = 0; + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + return graph; + } + function link(from, to) { + return function(args) { + return to(from(args)); + }; + } + function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + fn.conversion = path; + return fn; + } + module2.exports = function(fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + if (node.parent === null) { + continue; + } + conversion[toModel] = wrapConversion(toModel, graph); + } + return conversion; + }; + } +}); +var require_color_convert = __commonJS({ + "node_modules/color-convert/index.js"(exports2, module2) { + var conversions = require_conversions(); + var route = require_route(); + var convert = {}; + var models = Object.keys(conversions); + function wrapRaw(fn) { + var wrappedFn = function(args) { + if (args === void 0 || args === null) { + return args; + } + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + return fn(args); + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; + } + function wrapRounded(fn) { + var wrappedFn = function(args) { + if (args === void 0 || args === null) { + return args; + } + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + var result = fn(args); + if (typeof result === "object") { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + return result; + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; + } + models.forEach(function(fromModel) { + convert[fromModel] = {}; + Object.defineProperty(convert[fromModel], "channels", { + value: conversions[fromModel].channels + }); + Object.defineProperty(convert[fromModel], "labels", { + value: conversions[fromModel].labels + }); + var routes = route(fromModel); + var routeModels = Object.keys(routes); + routeModels.forEach(function(toModel) { + var fn = routes[toModel]; + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); + }); + module2.exports = convert; + } +}); +var require_ansi_styles = __commonJS({ + "node_modules/ansi-styles/index.js"(exports2, module2) { + "use strict"; + var colorConvert = require_color_convert(); + var wrapAnsi16 = (fn, offset) => function() { + const code = fn.apply(colorConvert, arguments); + return `\x1B[${code + offset}m`; + }; + var wrapAnsi256 = (fn, offset) => function() { + const code = fn.apply(colorConvert, arguments); + return `\x1B[${38 + offset};5;${code}m`; + }; + var wrapAnsi16m = (fn, offset) => function() { + const rgb = fn.apply(colorConvert, arguments); + return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; + }; + function assembleStyles() { + const codes = /* @__PURE__ */ new Map(); + const styles = { + modifier: { + reset: [0, 0], + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + styles.color.grey = styles.color.gray; + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + styles[styleName] = { + open: `\x1B[${style[0]}m`, + close: `\x1B[${style[1]}m` + }; + group[styleName] = styles[styleName]; + codes.set(style[0], style[1]); + } + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + Object.defineProperty(styles, "codes", { + value: codes, + enumerable: false + }); + } + const ansi2ansi = (n) => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + styles.color.close = "\x1B[39m"; + styles.bgColor.close = "\x1B[49m"; + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== "object") { + continue; + } + const suite = colorConvert[key]; + if (key === "ansi16") { + key = "ansi"; + } + if ("ansi16" in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + if ("ansi256" in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + if ("rgb" in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + return styles; + } + Object.defineProperty(module2, "exports", { + enumerable: true, + get: assembleStyles + }); + } +}); +var require_has_flag = __commonJS({ + "node_modules/@babel/highlight/node_modules/has-flag/index.js"(exports2, module2) { + "use strict"; + module2.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf("--"); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); + }; + } +}); +var require_supports_color = __commonJS({ + "node_modules/@babel/highlight/node_modules/supports-color/index.js"(exports2, module2) { + "use strict"; + var os = __webpack_require__(70857); + var hasFlag = require_has_flag(); + var env = process.env; + var forceColor; + if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) { + forceColor = false; + } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) { + forceColor = true; + } + if ("FORCE_COLOR" in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; + } + function translateLevel(level) { + if (level === 0) { + return false; + } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; + } + function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) { + return 3; + } + if (hasFlag("color=256")) { + return 2; + } + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + const min = forceColor ? 1 : 0; + if (process.platform === "win32") { + const osRelease = os.release().split("."); + if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + return 1; + } + if ("CI" in env) { + if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env) || env.CI_NAME === "codeship") { + return 1; + } + return min; + } + if ("TEAMCITY_VERSION" in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + if (env.COLORTERM === "truecolor") { + return 3; + } + if ("TERM_PROGRAM" in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (env.TERM_PROGRAM) { + case "iTerm.app": + return version >= 3 ? 3 : 2; + case "Apple_Terminal": + return 2; + } + } + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + if ("COLORTERM" in env) { + return 1; + } + if (env.TERM === "dumb") { + return min; + } + return min; + } + function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); + } + module2.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) + }; + } +}); +var require_templates = __commonJS({ + "node_modules/@babel/highlight/node_modules/chalk/templates.js"(exports2, module2) { + "use strict"; + var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; + var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; + var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; + var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; + var ESCAPES = /* @__PURE__ */ new Map([["n", "\n"], ["r", "\r"], ["t", " "], ["b", "\b"], ["f", "\f"], ["v", "\v"], ["0", "\0"], ["\\", "\\"], ["e", "\x1B"], ["a", "\x07"]]); + function unescape(c) { + if (c[0] === "u" && c.length === 5 || c[0] === "x" && c.length === 3) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + return ESCAPES.get(c) || c; + } + function parseArguments(name, args) { + const results = []; + const chunks = args.trim().split(/\s*,\s*/g); + let matches; + for (const chunk of chunks) { + if (!isNaN(chunk)) { + results.push(Number(chunk)); + } else if (matches = chunk.match(STRING_REGEX)) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } + return results; + } + function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + const results = []; + let matches; + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + return results; + } + function buildStyle(chalk, styles) { + const enabled = {}; + for (const layer of styles) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + let current = chalk; + for (const styleName of Object.keys(enabled)) { + if (Array.isArray(enabled[styleName])) { + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } + if (enabled[styleName].length > 0) { + current = current[styleName].apply(current, enabled[styleName]); + } else { + current = current[styleName]; + } + } + } + return current; + } + module2.exports = (chalk, tmp) => { + const styles = []; + const chunks = []; + let chunk = []; + tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { + if (escapeChar) { + chunk.push(unescape(escapeChar)); + } else if (style) { + const str = chunk.join(""); + chunk = []; + chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); + styles.push({ + inverse, + styles: parseStyle(style) + }); + } else if (close) { + if (styles.length === 0) { + throw new Error("Found extraneous } in Chalk template literal"); + } + chunks.push(buildStyle(chalk, styles)(chunk.join(""))); + chunk = []; + styles.pop(); + } else { + chunk.push(chr); + } + }); + chunks.push(chunk.join("")); + if (styles.length > 0) { + const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`; + throw new Error(errMsg); + } + return chunks.join(""); + }; + } +}); +var require_chalk = __commonJS({ + "node_modules/@babel/highlight/node_modules/chalk/index.js"(exports2, module2) { + "use strict"; + var escapeStringRegexp = require_escape_string_regexp(); + var ansiStyles = require_ansi_styles(); + var stdoutColor = require_supports_color().stdout; + var template = require_templates(); + var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm"); + var levelMapping = ["ansi", "ansi", "ansi256", "ansi16m"]; + var skipModels = /* @__PURE__ */ new Set(["gray"]); + var styles = /* @__PURE__ */ Object.create(null); + function applyOptions(obj, options) { + options = options || {}; + const scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === void 0 ? scLevel : options.level; + obj.enabled = "enabled" in options ? options.enabled : obj.level > 0; + } + function Chalk(options) { + if (!this || !(this instanceof Chalk) || this.template) { + const chalk = {}; + applyOptions(chalk, options); + chalk.template = function() { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + chalk.template.constructor = Chalk; + return chalk.template; + } + applyOptions(this, options); + } + if (isSimpleWindowsTerm) { + ansiStyles.blue.open = "\x1B[94m"; + } + for (const key of Object.keys(ansiStyles)) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), "g"); + styles[key] = { + get() { + const codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + }; + } + styles.visible = { + get() { + return build.call(this, this._styles || [], true, "visible"); + } + }; + ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), "g"); + for (const model of Object.keys(ansiStyles.color.ansi)) { + if (skipModels.has(model)) { + continue; + } + styles[model] = { + get() { + const level = this.level; + return function() { + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; + } + ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), "g"); + for (const model of Object.keys(ansiStyles.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } + const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const level = this.level; + return function() { + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; + } + var proto = Object.defineProperties(() => { + }, styles); + function build(_styles, _empty, key) { + const builder = function() { + return applyStyle.apply(builder, arguments); + }; + builder._styles = _styles; + builder._empty = _empty; + const self = this; + Object.defineProperty(builder, "level", { + enumerable: true, + get() { + return self.level; + }, + set(level) { + self.level = level; + } + }); + Object.defineProperty(builder, "enabled", { + enumerable: true, + get() { + return self.enabled; + }, + set(enabled) { + self.enabled = enabled; + } + }); + builder.hasGrey = this.hasGrey || key === "gray" || key === "grey"; + builder.__proto__ = proto; + return builder; + } + function applyStyle() { + const args = arguments; + const argsLen = args.length; + let str = String(arguments[0]); + if (argsLen === 0) { + return ""; + } + if (argsLen > 1) { + for (let a = 1; a < argsLen; a++) { + str += " " + args[a]; + } + } + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? "" : str; + } + const originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ""; + } + for (const code of this._styles.slice().reverse()) { + str = code.open + str.replace(code.closeRe, code.open) + code.close; + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } + ansiStyles.dim.open = originalDim; + return str; + } + function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + return [].slice.call(arguments, 1).join(" "); + } + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&")); + parts.push(String(strings.raw[i])); + } + return template(chalk, parts.join("")); + } + Object.defineProperties(Chalk.prototype, styles); + module2.exports = Chalk(); + module2.exports.supportsColor = stdoutColor; + module2.exports.default = module2.exports; + } +}); +var require_lib2 = __commonJS({ + "node_modules/@babel/highlight/lib/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.default = highlight; + exports2.getChalk = getChalk; + exports2.shouldHighlight = shouldHighlight; + var _jsTokens = require_js_tokens(); + var _helperValidatorIdentifier = require_lib(); + var _chalk = require_chalk(); + var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]); + function getDefs(chalk) { + return { + keyword: chalk.cyan, + capitalized: chalk.yellow, + jsxIdentifier: chalk.yellow, + punctuator: chalk.yellow, + number: chalk.magenta, + string: chalk.green, + regex: chalk.magenta, + comment: chalk.grey, + invalid: chalk.white.bgRed.bold + }; + } + var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + var BRACKET = /^[()[\]{}]$/; + var tokenize; + { + const JSX_TAG = /^[a-z][\w-]*$/i; + const getTokenType = function(token, offset, text) { + if (token.type === "name") { + if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { + return "keyword"; + } + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) == " colorize(str)).join("\n"); + } else { + highlighted += value; + } + } + return highlighted; + } + function shouldHighlight(options) { + return !!_chalk.supportsColor || options.forceColor; + } + function getChalk(options) { + return options.forceColor ? new _chalk.constructor({ + enabled: true, + level: 1 + }) : _chalk; + } + function highlight(code, options = {}) { + if (code !== "" && shouldHighlight(options)) { + const chalk = getChalk(options); + const defs = getDefs(chalk); + return highlightTokens(defs, code); + } else { + return code; + } + } + } +}); +var require_lib3 = __commonJS({ + "node_modules/@babel/code-frame/lib/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.codeFrameColumns = codeFrameColumns; + exports2.default = _default; + var _highlight = require_lib2(); + var deprecationWarningShown = false; + function getDefs(chalk) { + return { + gutter: chalk.grey, + marker: chalk.red.bold, + message: chalk.red.bold + }; + } + var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + function getMarkerLines(loc, source, opts) { + const startLoc = Object.assign({ + column: 0, + line: -1 + }, loc.start); + const endLoc = Object.assign({}, startLoc, loc.end); + const { + linesAbove = 2, + linesBelow = 3 + } = opts || {}; + const startLine = startLoc.line; + const startColumn = startLoc.column; + const endLine = endLoc.line; + const endColumn = endLoc.column; + let start = Math.max(startLine - (linesAbove + 1), 0); + let end = Math.min(source.length, endLine + linesBelow); + if (startLine === -1) { + start = 0; + } + if (endLine === -1) { + end = source.length; + } + const lineDiff = endLine - startLine; + const markerLines = {}; + if (lineDiff) { + for (let i = 0; i <= lineDiff; i++) { + const lineNumber = i + startLine; + if (!startColumn) { + markerLines[lineNumber] = true; + } else if (i === 0) { + const sourceLength = source[lineNumber - 1].length; + markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; + } else if (i === lineDiff) { + markerLines[lineNumber] = [0, endColumn]; + } else { + const sourceLength = source[lineNumber - i].length; + markerLines[lineNumber] = [0, sourceLength]; + } + } + } else { + if (startColumn === endColumn) { + if (startColumn) { + markerLines[startLine] = [startColumn, 0]; + } else { + markerLines[startLine] = true; + } + } else { + markerLines[startLine] = [startColumn, endColumn - startColumn]; + } + } + return { + start, + end, + markerLines + }; + } + function codeFrameColumns(rawLines, loc, opts = {}) { + const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); + const chalk = (0, _highlight.getChalk)(opts); + const defs = getDefs(chalk); + const maybeHighlight = (chalkFn, string) => { + return highlighted ? chalkFn(string) : string; + }; + const lines = rawLines.split(NEWLINE); + const { + start, + end, + markerLines + } = getMarkerLines(loc, lines, opts); + const hasColumns = loc.start && typeof loc.start.column === "number"; + const numberMaxWidth = String(end).length; + const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; + let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => { + const number = start + 1 + index; + const paddedNumber = ` ${number}`.slice(-numberMaxWidth); + const gutter = ` ${paddedNumber} |`; + const hasMarker = markerLines[number]; + const lastMarkerLine = !markerLines[number + 1]; + if (hasMarker) { + let markerLine = ""; + if (Array.isArray(hasMarker)) { + const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + const numberOfMarkers = hasMarker[1] || 1; + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + if (lastMarkerLine && opts.message) { + markerLine += " " + maybeHighlight(defs.message, opts.message); + } + } + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join(""); + } else { + return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`; + } + }).join("\n"); + if (opts.message && !hasColumns) { + frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message} +${frame}`; + } + if (highlighted) { + return chalk.reset(frame); + } else { + return frame; + } + } + function _default(rawLines, lineNumber, colNumber, opts = {}) { + if (!deprecationWarningShown) { + deprecationWarningShown = true; + const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; + if (process.emitWarning) { + process.emitWarning(message, "DeprecationWarning"); + } else { + const deprecationError = new Error(message); + deprecationError.name = "DeprecationWarning"; + console.warn(new Error(message)); + } + } + colNumber = Math.max(colNumber, 0); + const location = { + start: { + column: colNumber, + line: lineNumber + } + }; + return codeFrameColumns(rawLines, location, opts); + } + } +}); +var require_parse_json = __commonJS({ + "node_modules/parse-json/index.js"(exports2, module2) { + "use strict"; + var errorEx = require_error_ex(); + var fallback = require_json_parse_even_better_errors(); + var { + default: LinesAndColumns + } = require_build(); + var { + codeFrameColumns + } = require_lib3(); + var JSONError = errorEx("JSONError", { + fileName: errorEx.append("in %s"), + codeFrame: errorEx.append("\n\n%s\n") + }); + var parseJson = (string, reviver, filename) => { + if (typeof reviver === "string") { + filename = reviver; + reviver = null; + } + try { + try { + return JSON.parse(string, reviver); + } catch (error) { + fallback(string, reviver); + throw error; + } + } catch (error) { + error.message = error.message.replace(/\n/g, ""); + const indexMatch = error.message.match(/in JSON at position (\d+) while parsing/); + const jsonError = new JSONError(error); + if (filename) { + jsonError.fileName = filename; + } + if (indexMatch && indexMatch.length > 0) { + const lines = new LinesAndColumns(string); + const index = Number(indexMatch[1]); + const location = lines.locationForIndex(index); + const codeFrame = codeFrameColumns(string, { + start: { + line: location.line + 1, + column: location.column + 1 + } + }, { + highlightCode: true + }); + jsonError.codeFrame = codeFrame; + } + throw jsonError; + } + }; + parseJson.JSONError = JSONError; + module2.exports = parseJson; + } +}); +var require_PlainValue_ec8e588e = __commonJS({ + "node_modules/yaml/dist/PlainValue-ec8e588e.js"(exports2) { + "use strict"; + var Char = { + ANCHOR: "&", + COMMENT: "#", + TAG: "!", + DIRECTIVES_END: "-", + DOCUMENT_END: "." + }; + var Type = { + ALIAS: "ALIAS", + BLANK_LINE: "BLANK_LINE", + BLOCK_FOLDED: "BLOCK_FOLDED", + BLOCK_LITERAL: "BLOCK_LITERAL", + COMMENT: "COMMENT", + DIRECTIVE: "DIRECTIVE", + DOCUMENT: "DOCUMENT", + FLOW_MAP: "FLOW_MAP", + FLOW_SEQ: "FLOW_SEQ", + MAP: "MAP", + MAP_KEY: "MAP_KEY", + MAP_VALUE: "MAP_VALUE", + PLAIN: "PLAIN", + QUOTE_DOUBLE: "QUOTE_DOUBLE", + QUOTE_SINGLE: "QUOTE_SINGLE", + SEQ: "SEQ", + SEQ_ITEM: "SEQ_ITEM" + }; + var defaultTagPrefix = "tag:yaml.org,2002:"; + var defaultTags = { + MAP: "tag:yaml.org,2002:map", + SEQ: "tag:yaml.org,2002:seq", + STR: "tag:yaml.org,2002:str" + }; + function findLineStarts(src) { + const ls = [0]; + let offset = src.indexOf("\n"); + while (offset !== -1) { + offset += 1; + ls.push(offset); + offset = src.indexOf("\n", offset); + } + return ls; + } + function getSrcInfo(cst) { + let lineStarts, src; + if (typeof cst === "string") { + lineStarts = findLineStarts(cst); + src = cst; + } else { + if (Array.isArray(cst)) + cst = cst[0]; + if (cst && cst.context) { + if (!cst.lineStarts) + cst.lineStarts = findLineStarts(cst.context.src); + lineStarts = cst.lineStarts; + src = cst.context.src; + } + } + return { + lineStarts, + src + }; + } + function getLinePos(offset, cst) { + if (typeof offset !== "number" || offset < 0) + return null; + const { + lineStarts, + src + } = getSrcInfo(cst); + if (!lineStarts || !src || offset > src.length) + return null; + for (let i = 0; i < lineStarts.length; ++i) { + const start = lineStarts[i]; + if (offset < start) { + return { + line: i, + col: offset - lineStarts[i - 1] + 1 + }; + } + if (offset === start) + return { + line: i + 1, + col: 1 + }; + } + const line = lineStarts.length; + return { + line, + col: offset - lineStarts[line - 1] + 1 + }; + } + function getLine(line, cst) { + const { + lineStarts, + src + } = getSrcInfo(cst); + if (!lineStarts || !(line >= 1) || line > lineStarts.length) + return null; + const start = lineStarts[line - 1]; + let end = lineStarts[line]; + while (end && end > start && src[end - 1] === "\n") + --end; + return src.slice(start, end); + } + function getPrettyContext({ + start, + end + }, cst, maxWidth = 80) { + let src = getLine(start.line, cst); + if (!src) + return null; + let { + col + } = start; + if (src.length > maxWidth) { + if (col <= maxWidth - 10) { + src = src.substr(0, maxWidth - 1) + "\u2026"; + } else { + const halfWidth = Math.round(maxWidth / 2); + if (src.length > col + halfWidth) + src = src.substr(0, col + halfWidth - 1) + "\u2026"; + col -= src.length - maxWidth; + src = "\u2026" + src.substr(1 - maxWidth); + } + } + let errLen = 1; + let errEnd = ""; + if (end) { + if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) { + errLen = end.col - start.col; + } else { + errLen = Math.min(src.length + 1, maxWidth) - col; + errEnd = "\u2026"; + } + } + const offset = col > 1 ? " ".repeat(col - 1) : ""; + const err = "^".repeat(errLen); + return `${src} +${offset}${err}${errEnd}`; + } + var Range = class { + static copy(orig) { + return new Range(orig.start, orig.end); + } + constructor(start, end) { + this.start = start; + this.end = end || start; + } + isEmpty() { + return typeof this.start !== "number" || !this.end || this.end <= this.start; + } + setOrigRange(cr, offset) { + const { + start, + end + } = this; + if (cr.length === 0 || end <= cr[0]) { + this.origStart = start; + this.origEnd = end; + return offset; + } + let i = offset; + while (i < cr.length) { + if (cr[i] > start) + break; + else + ++i; + } + this.origStart = start + i; + const nextOffset = i; + while (i < cr.length) { + if (cr[i] >= end) + break; + else + ++i; + } + this.origEnd = end + i; + return nextOffset; + } + }; + var Node = class { + static addStringTerminator(src, offset, str) { + if (str[str.length - 1] === "\n") + return str; + const next = Node.endOfWhiteSpace(src, offset); + return next >= src.length || src[next] === "\n" ? str + "\n" : str; + } + static atDocumentBoundary(src, offset, sep) { + const ch0 = src[offset]; + if (!ch0) + return true; + const prev = src[offset - 1]; + if (prev && prev !== "\n") + return false; + if (sep) { + if (ch0 !== sep) + return false; + } else { + if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) + return false; + } + const ch1 = src[offset + 1]; + const ch2 = src[offset + 2]; + if (ch1 !== ch0 || ch2 !== ch0) + return false; + const ch3 = src[offset + 3]; + return !ch3 || ch3 === "\n" || ch3 === " " || ch3 === " "; + } + static endOfIdentifier(src, offset) { + let ch = src[offset]; + const isVerbatim = ch === "<"; + const notOk = isVerbatim ? ["\n", " ", " ", ">"] : ["\n", " ", " ", "[", "]", "{", "}", ","]; + while (ch && notOk.indexOf(ch) === -1) + ch = src[offset += 1]; + if (isVerbatim && ch === ">") + offset += 1; + return offset; + } + static endOfIndent(src, offset) { + let ch = src[offset]; + while (ch === " ") + ch = src[offset += 1]; + return offset; + } + static endOfLine(src, offset) { + let ch = src[offset]; + while (ch && ch !== "\n") + ch = src[offset += 1]; + return offset; + } + static endOfWhiteSpace(src, offset) { + let ch = src[offset]; + while (ch === " " || ch === " ") + ch = src[offset += 1]; + return offset; + } + static startOfLine(src, offset) { + let ch = src[offset - 1]; + if (ch === "\n") + return offset; + while (ch && ch !== "\n") + ch = src[offset -= 1]; + return offset + 1; + } + static endOfBlockIndent(src, indent, lineStart) { + const inEnd = Node.endOfIndent(src, lineStart); + if (inEnd > lineStart + indent) { + return inEnd; + } else { + const wsEnd = Node.endOfWhiteSpace(src, inEnd); + const ch = src[wsEnd]; + if (!ch || ch === "\n") + return wsEnd; + } + return null; + } + static atBlank(src, offset, endAsBlank) { + const ch = src[offset]; + return ch === "\n" || ch === " " || ch === " " || endAsBlank && !ch; + } + static nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) { + if (!ch || indentDiff < 0) + return false; + if (indentDiff > 0) + return true; + return indicatorAsIndent && ch === "-"; + } + static normalizeOffset(src, offset) { + const ch = src[offset]; + return !ch ? offset : ch !== "\n" && src[offset - 1] === "\n" ? offset - 1 : Node.endOfWhiteSpace(src, offset); + } + static foldNewline(src, offset, indent) { + let inCount = 0; + let error = false; + let fold = ""; + let ch = src[offset + 1]; + while (ch === " " || ch === " " || ch === "\n") { + switch (ch) { + case "\n": + inCount = 0; + offset += 1; + fold += "\n"; + break; + case " ": + if (inCount <= indent) + error = true; + offset = Node.endOfWhiteSpace(src, offset + 2) - 1; + break; + case " ": + inCount += 1; + offset += 1; + break; + } + ch = src[offset + 1]; + } + if (!fold) + fold = " "; + if (ch && inCount <= indent) + error = true; + return { + fold, + offset, + error + }; + } + constructor(type, props, context) { + Object.defineProperty(this, "context", { + value: context || null, + writable: true + }); + this.error = null; + this.range = null; + this.valueRange = null; + this.props = props || []; + this.type = type; + this.value = null; + } + getPropValue(idx, key, skipKey) { + if (!this.context) + return null; + const { + src + } = this.context; + const prop = this.props[idx]; + return prop && src[prop.start] === key ? src.slice(prop.start + (skipKey ? 1 : 0), prop.end) : null; + } + get anchor() { + for (let i = 0; i < this.props.length; ++i) { + const anchor = this.getPropValue(i, Char.ANCHOR, true); + if (anchor != null) + return anchor; + } + return null; + } + get comment() { + const comments = []; + for (let i = 0; i < this.props.length; ++i) { + const comment = this.getPropValue(i, Char.COMMENT, true); + if (comment != null) + comments.push(comment); + } + return comments.length > 0 ? comments.join("\n") : null; + } + commentHasRequiredWhitespace(start) { + const { + src + } = this.context; + if (this.header && start === this.header.end) + return false; + if (!this.valueRange) + return false; + const { + end + } = this.valueRange; + return start !== end || Node.atBlank(src, end - 1); + } + get hasComment() { + if (this.context) { + const { + src + } = this.context; + for (let i = 0; i < this.props.length; ++i) { + if (src[this.props[i].start] === Char.COMMENT) + return true; + } + } + return false; + } + get hasProps() { + if (this.context) { + const { + src + } = this.context; + for (let i = 0; i < this.props.length; ++i) { + if (src[this.props[i].start] !== Char.COMMENT) + return true; + } + } + return false; + } + get includesTrailingLines() { + return false; + } + get jsonLike() { + const jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE]; + return jsonLikeTypes.indexOf(this.type) !== -1; + } + get rangeAsLinePos() { + if (!this.range || !this.context) + return void 0; + const start = getLinePos(this.range.start, this.context.root); + if (!start) + return void 0; + const end = getLinePos(this.range.end, this.context.root); + return { + start, + end + }; + } + get rawValue() { + if (!this.valueRange || !this.context) + return null; + const { + start, + end + } = this.valueRange; + return this.context.src.slice(start, end); + } + get tag() { + for (let i = 0; i < this.props.length; ++i) { + const tag = this.getPropValue(i, Char.TAG, false); + if (tag != null) { + if (tag[1] === "<") { + return { + verbatim: tag.slice(2, -1) + }; + } else { + const [_, handle, suffix] = tag.match(/^(.*!)([^!]*)$/); + return { + handle, + suffix + }; + } + } + } + return null; + } + get valueRangeContainsNewline() { + if (!this.valueRange || !this.context) + return false; + const { + start, + end + } = this.valueRange; + const { + src + } = this.context; + for (let i = start; i < end; ++i) { + if (src[i] === "\n") + return true; + } + return false; + } + parseComment(start) { + const { + src + } = this.context; + if (src[start] === Char.COMMENT) { + const end = Node.endOfLine(src, start + 1); + const commentRange = new Range(start, end); + this.props.push(commentRange); + return end; + } + return start; + } + setOrigRanges(cr, offset) { + if (this.range) + offset = this.range.setOrigRange(cr, offset); + if (this.valueRange) + this.valueRange.setOrigRange(cr, offset); + this.props.forEach((prop) => prop.setOrigRange(cr, offset)); + return offset; + } + toString() { + const { + context: { + src + }, + range, + value + } = this; + if (value != null) + return value; + const str = src.slice(range.start, range.end); + return Node.addStringTerminator(src, range.end, str); + } + }; + var YAMLError = class extends Error { + constructor(name, source, message) { + if (!message || !(source instanceof Node)) + throw new Error(`Invalid arguments for new ${name}`); + super(); + this.name = name; + this.message = message; + this.source = source; + } + makePretty() { + if (!this.source) + return; + this.nodeType = this.source.type; + const cst = this.source.context && this.source.context.root; + if (typeof this.offset === "number") { + this.range = new Range(this.offset, this.offset + 1); + const start = cst && getLinePos(this.offset, cst); + if (start) { + const end = { + line: start.line, + col: start.col + 1 + }; + this.linePos = { + start, + end + }; + } + delete this.offset; + } else { + this.range = this.source.range; + this.linePos = this.source.rangeAsLinePos; + } + if (this.linePos) { + const { + line, + col + } = this.linePos.start; + this.message += ` at line ${line}, column ${col}`; + const ctx = cst && getPrettyContext(this.linePos, cst); + if (ctx) + this.message += `: + +${ctx} +`; + } + delete this.source; + } + }; + var YAMLReferenceError = class extends YAMLError { + constructor(source, message) { + super("YAMLReferenceError", source, message); + } + }; + var YAMLSemanticError = class extends YAMLError { + constructor(source, message) { + super("YAMLSemanticError", source, message); + } + }; + var YAMLSyntaxError = class extends YAMLError { + constructor(source, message) { + super("YAMLSyntaxError", source, message); + } + }; + var YAMLWarning = class extends YAMLError { + constructor(source, message) { + super("YAMLWarning", source, message); + } + }; + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + var PlainValue = class extends Node { + static endOfLine(src, start, inFlow) { + let ch = src[start]; + let offset = start; + while (ch && ch !== "\n") { + if (inFlow && (ch === "[" || ch === "]" || ch === "{" || ch === "}" || ch === ",")) + break; + const next = src[offset + 1]; + if (ch === ":" && (!next || next === "\n" || next === " " || next === " " || inFlow && next === ",")) + break; + if ((ch === " " || ch === " ") && next === "#") + break; + offset += 1; + ch = next; + } + return offset; + } + get strValue() { + if (!this.valueRange || !this.context) + return null; + let { + start, + end + } = this.valueRange; + const { + src + } = this.context; + let ch = src[end - 1]; + while (start < end && (ch === "\n" || ch === " " || ch === " ")) + ch = src[--end - 1]; + let str = ""; + for (let i = start; i < end; ++i) { + const ch2 = src[i]; + if (ch2 === "\n") { + const { + fold, + offset + } = Node.foldNewline(src, i, -1); + str += fold; + i = offset; + } else if (ch2 === " " || ch2 === " ") { + const wsStart = i; + let next = src[i + 1]; + while (i < end && (next === " " || next === " ")) { + i += 1; + next = src[i + 1]; + } + if (next !== "\n") + str += i > wsStart ? src.slice(wsStart, i + 1) : ch2; + } else { + str += ch2; + } + } + const ch0 = src[start]; + switch (ch0) { + case " ": { + const msg = "Plain value cannot start with a tab character"; + const errors = [new YAMLSemanticError(this, msg)]; + return { + errors, + str + }; + } + case "@": + case "`": { + const msg = `Plain value cannot start with reserved character ${ch0}`; + const errors = [new YAMLSemanticError(this, msg)]; + return { + errors, + str + }; + } + default: + return str; + } + } + parseBlockValue(start) { + const { + indent, + inFlow, + src + } = this.context; + let offset = start; + let valueEnd = start; + for (let ch = src[offset]; ch === "\n"; ch = src[offset]) { + if (Node.atDocumentBoundary(src, offset + 1)) + break; + const end = Node.endOfBlockIndent(src, indent, offset + 1); + if (end === null || src[end] === "#") + break; + if (src[end] === "\n") { + offset = end; + } else { + valueEnd = PlainValue.endOfLine(src, end, inFlow); + offset = valueEnd; + } + } + if (this.valueRange.isEmpty()) + this.valueRange.start = start; + this.valueRange.end = valueEnd; + return valueEnd; + } + parse(context, start) { + this.context = context; + const { + inFlow, + src + } = context; + let offset = start; + const ch = src[offset]; + if (ch && ch !== "#" && ch !== "\n") { + offset = PlainValue.endOfLine(src, start, inFlow); + } + this.valueRange = new Range(start, offset); + offset = Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + if (!this.hasComment || this.valueRange.isEmpty()) { + offset = this.parseBlockValue(offset); + } + return offset; + } + }; + exports2.Char = Char; + exports2.Node = Node; + exports2.PlainValue = PlainValue; + exports2.Range = Range; + exports2.Type = Type; + exports2.YAMLError = YAMLError; + exports2.YAMLReferenceError = YAMLReferenceError; + exports2.YAMLSemanticError = YAMLSemanticError; + exports2.YAMLSyntaxError = YAMLSyntaxError; + exports2.YAMLWarning = YAMLWarning; + exports2._defineProperty = _defineProperty; + exports2.defaultTagPrefix = defaultTagPrefix; + exports2.defaultTags = defaultTags; + } +}); +var require_parse_cst = __commonJS({ + "node_modules/yaml/dist/parse-cst.js"(exports2) { + "use strict"; + var PlainValue = require_PlainValue_ec8e588e(); + var BlankLine = class extends PlainValue.Node { + constructor() { + super(PlainValue.Type.BLANK_LINE); + } + get includesTrailingLines() { + return true; + } + parse(context, start) { + this.context = context; + this.range = new PlainValue.Range(start, start + 1); + return start + 1; + } + }; + var CollectionItem = class extends PlainValue.Node { + constructor(type, props) { + super(type, props); + this.node = null; + } + get includesTrailingLines() { + return !!this.node && this.node.includesTrailingLines; + } + parse(context, start) { + this.context = context; + const { + parseNode, + src + } = context; + let { + atLineStart, + lineStart + } = context; + if (!atLineStart && this.type === PlainValue.Type.SEQ_ITEM) + this.error = new PlainValue.YAMLSemanticError(this, "Sequence items must not have preceding content on the same line"); + const indent = atLineStart ? start - lineStart : context.indent; + let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1); + let ch = src[offset]; + const inlineComment = ch === "#"; + const comments = []; + let blankLine = null; + while (ch === "\n" || ch === "#") { + if (ch === "#") { + const end2 = PlainValue.Node.endOfLine(src, offset + 1); + comments.push(new PlainValue.Range(offset, end2)); + offset = end2; + } else { + atLineStart = true; + lineStart = offset + 1; + const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart); + if (src[wsEnd] === "\n" && comments.length === 0) { + blankLine = new BlankLine(); + lineStart = blankLine.parse({ + src + }, lineStart); + } + offset = PlainValue.Node.endOfIndent(src, lineStart); + } + ch = src[offset]; + } + if (PlainValue.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValue.Type.SEQ_ITEM)) { + this.node = parseNode({ + atLineStart, + inCollection: false, + indent, + lineStart, + parent: this + }, offset); + } else if (ch && lineStart > start + 1) { + offset = lineStart - 1; + } + if (this.node) { + if (blankLine) { + const items = context.parent.items || context.parent.contents; + if (items) + items.push(blankLine); + } + if (comments.length) + Array.prototype.push.apply(this.props, comments); + offset = this.node.range.end; + } else { + if (inlineComment) { + const c = comments[0]; + this.props.push(c); + offset = c.end; + } else { + offset = PlainValue.Node.endOfLine(src, start + 1); + } + } + const end = this.node ? this.node.valueRange.end : offset; + this.valueRange = new PlainValue.Range(start, end); + return offset; + } + setOrigRanges(cr, offset) { + offset = super.setOrigRanges(cr, offset); + return this.node ? this.node.setOrigRanges(cr, offset) : offset; + } + toString() { + const { + context: { + src + }, + node, + range, + value + } = this; + if (value != null) + return value; + const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end); + return PlainValue.Node.addStringTerminator(src, range.end, str); + } + }; + var Comment = class extends PlainValue.Node { + constructor() { + super(PlainValue.Type.COMMENT); + } + parse(context, start) { + this.context = context; + const offset = this.parseComment(start); + this.range = new PlainValue.Range(start, offset); + return offset; + } + }; + function grabCollectionEndComments(node) { + let cnode = node; + while (cnode instanceof CollectionItem) + cnode = cnode.node; + if (!(cnode instanceof Collection)) + return null; + const len = cnode.items.length; + let ci = -1; + for (let i = len - 1; i >= 0; --i) { + const n = cnode.items[i]; + if (n.type === PlainValue.Type.COMMENT) { + const { + indent, + lineStart + } = n.context; + if (indent > 0 && n.range.start >= lineStart + indent) + break; + ci = i; + } else if (n.type === PlainValue.Type.BLANK_LINE) + ci = i; + else + break; + } + if (ci === -1) + return null; + const ca = cnode.items.splice(ci, len - ci); + const prevEnd = ca[0].range.start; + while (true) { + cnode.range.end = prevEnd; + if (cnode.valueRange && cnode.valueRange.end > prevEnd) + cnode.valueRange.end = prevEnd; + if (cnode === node) + break; + cnode = cnode.context.parent; + } + return ca; + } + var Collection = class extends PlainValue.Node { + static nextContentHasIndent(src, offset, indent) { + const lineStart = PlainValue.Node.endOfLine(src, offset) + 1; + offset = PlainValue.Node.endOfWhiteSpace(src, lineStart); + const ch = src[offset]; + if (!ch) + return false; + if (offset >= lineStart + indent) + return true; + if (ch !== "#" && ch !== "\n") + return false; + return Collection.nextContentHasIndent(src, offset, indent); + } + constructor(firstItem) { + super(firstItem.type === PlainValue.Type.SEQ_ITEM ? PlainValue.Type.SEQ : PlainValue.Type.MAP); + for (let i = firstItem.props.length - 1; i >= 0; --i) { + if (firstItem.props[i].start < firstItem.context.lineStart) { + this.props = firstItem.props.slice(0, i + 1); + firstItem.props = firstItem.props.slice(i + 1); + const itemRange = firstItem.props[0] || firstItem.valueRange; + firstItem.range.start = itemRange.start; + break; + } + } + this.items = [firstItem]; + const ec = grabCollectionEndComments(firstItem); + if (ec) + Array.prototype.push.apply(this.items, ec); + } + get includesTrailingLines() { + return this.items.length > 0; + } + parse(context, start) { + this.context = context; + const { + parseNode, + src + } = context; + let lineStart = PlainValue.Node.startOfLine(src, start); + const firstItem = this.items[0]; + firstItem.context.parent = this; + this.valueRange = PlainValue.Range.copy(firstItem.valueRange); + const indent = firstItem.range.start - firstItem.context.lineStart; + let offset = start; + offset = PlainValue.Node.normalizeOffset(src, offset); + let ch = src[offset]; + let atLineStart = PlainValue.Node.endOfWhiteSpace(src, lineStart) === offset; + let prevIncludesTrailingLines = false; + while (ch) { + while (ch === "\n" || ch === "#") { + if (atLineStart && ch === "\n" && !prevIncludesTrailingLines) { + const blankLine = new BlankLine(); + offset = blankLine.parse({ + src + }, offset); + this.valueRange.end = offset; + if (offset >= src.length) { + ch = null; + break; + } + this.items.push(blankLine); + offset -= 1; + } else if (ch === "#") { + if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) { + return offset; + } + const comment = new Comment(); + offset = comment.parse({ + indent, + lineStart, + src + }, offset); + this.items.push(comment); + this.valueRange.end = offset; + if (offset >= src.length) { + ch = null; + break; + } + } + lineStart = offset + 1; + offset = PlainValue.Node.endOfIndent(src, lineStart); + if (PlainValue.Node.atBlank(src, offset)) { + const wsEnd = PlainValue.Node.endOfWhiteSpace(src, offset); + const next = src[wsEnd]; + if (!next || next === "\n" || next === "#") { + offset = wsEnd; + } + } + ch = src[offset]; + atLineStart = true; + } + if (!ch) { + break; + } + if (offset !== lineStart + indent && (atLineStart || ch !== ":")) { + if (offset < lineStart + indent) { + if (lineStart > start) + offset = lineStart; + break; + } else if (!this.error) { + const msg = "All collection items must start at the same column"; + this.error = new PlainValue.YAMLSyntaxError(this, msg); + } + } + if (firstItem.type === PlainValue.Type.SEQ_ITEM) { + if (ch !== "-") { + if (lineStart > start) + offset = lineStart; + break; + } + } else if (ch === "-" && !this.error) { + const next = src[offset + 1]; + if (!next || next === "\n" || next === " " || next === " ") { + const msg = "A collection cannot be both a mapping and a sequence"; + this.error = new PlainValue.YAMLSyntaxError(this, msg); + } + } + const node = parseNode({ + atLineStart, + inCollection: true, + indent, + lineStart, + parent: this + }, offset); + if (!node) + return offset; + this.items.push(node); + this.valueRange.end = node.valueRange.end; + offset = PlainValue.Node.normalizeOffset(src, node.range.end); + ch = src[offset]; + atLineStart = false; + prevIncludesTrailingLines = node.includesTrailingLines; + if (ch) { + let ls = offset - 1; + let prev = src[ls]; + while (prev === " " || prev === " ") + prev = src[--ls]; + if (prev === "\n") { + lineStart = ls + 1; + atLineStart = true; + } + } + const ec = grabCollectionEndComments(node); + if (ec) + Array.prototype.push.apply(this.items, ec); + } + return offset; + } + setOrigRanges(cr, offset) { + offset = super.setOrigRanges(cr, offset); + this.items.forEach((node) => { + offset = node.setOrigRanges(cr, offset); + }); + return offset; + } + toString() { + const { + context: { + src + }, + items, + range, + value + } = this; + if (value != null) + return value; + let str = src.slice(range.start, items[0].range.start) + String(items[0]); + for (let i = 1; i < items.length; ++i) { + const item = items[i]; + const { + atLineStart, + indent + } = item.context; + if (atLineStart) + for (let i2 = 0; i2 < indent; ++i2) + str += " "; + str += String(item); + } + return PlainValue.Node.addStringTerminator(src, range.end, str); + } + }; + var Directive = class extends PlainValue.Node { + constructor() { + super(PlainValue.Type.DIRECTIVE); + this.name = null; + } + get parameters() { + const raw = this.rawValue; + return raw ? raw.trim().split(/[ \t]+/) : []; + } + parseName(start) { + const { + src + } = this.context; + let offset = start; + let ch = src[offset]; + while (ch && ch !== "\n" && ch !== " " && ch !== " ") + ch = src[offset += 1]; + this.name = src.slice(start, offset); + return offset; + } + parseParameters(start) { + const { + src + } = this.context; + let offset = start; + let ch = src[offset]; + while (ch && ch !== "\n" && ch !== "#") + ch = src[offset += 1]; + this.valueRange = new PlainValue.Range(start, offset); + return offset; + } + parse(context, start) { + this.context = context; + let offset = this.parseName(start + 1); + offset = this.parseParameters(offset); + offset = this.parseComment(offset); + this.range = new PlainValue.Range(start, offset); + return offset; + } + }; + var Document = class extends PlainValue.Node { + static startCommentOrEndBlankLine(src, start) { + const offset = PlainValue.Node.endOfWhiteSpace(src, start); + const ch = src[offset]; + return ch === "#" || ch === "\n" ? offset : start; + } + constructor() { + super(PlainValue.Type.DOCUMENT); + this.directives = null; + this.contents = null; + this.directivesEndMarker = null; + this.documentEndMarker = null; + } + parseDirectives(start) { + const { + src + } = this.context; + this.directives = []; + let atLineStart = true; + let hasDirectives = false; + let offset = start; + while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DIRECTIVES_END)) { + offset = Document.startCommentOrEndBlankLine(src, offset); + switch (src[offset]) { + case "\n": + if (atLineStart) { + const blankLine = new BlankLine(); + offset = blankLine.parse({ + src + }, offset); + if (offset < src.length) { + this.directives.push(blankLine); + } + } else { + offset += 1; + atLineStart = true; + } + break; + case "#": + { + const comment = new Comment(); + offset = comment.parse({ + src + }, offset); + this.directives.push(comment); + atLineStart = false; + } + break; + case "%": + { + const directive = new Directive(); + offset = directive.parse({ + parent: this, + src + }, offset); + this.directives.push(directive); + hasDirectives = true; + atLineStart = false; + } + break; + default: + if (hasDirectives) { + this.error = new PlainValue.YAMLSemanticError(this, "Missing directives-end indicator line"); + } else if (this.directives.length > 0) { + this.contents = this.directives; + this.directives = []; + } + return offset; + } + } + if (src[offset]) { + this.directivesEndMarker = new PlainValue.Range(offset, offset + 3); + return offset + 3; + } + if (hasDirectives) { + this.error = new PlainValue.YAMLSemanticError(this, "Missing directives-end indicator line"); + } else if (this.directives.length > 0) { + this.contents = this.directives; + this.directives = []; + } + return offset; + } + parseContents(start) { + const { + parseNode, + src + } = this.context; + if (!this.contents) + this.contents = []; + let lineStart = start; + while (src[lineStart - 1] === "-") + lineStart -= 1; + let offset = PlainValue.Node.endOfWhiteSpace(src, start); + let atLineStart = lineStart === start; + this.valueRange = new PlainValue.Range(offset); + while (!PlainValue.Node.atDocumentBoundary(src, offset, PlainValue.Char.DOCUMENT_END)) { + switch (src[offset]) { + case "\n": + if (atLineStart) { + const blankLine = new BlankLine(); + offset = blankLine.parse({ + src + }, offset); + if (offset < src.length) { + this.contents.push(blankLine); + } + } else { + offset += 1; + atLineStart = true; + } + lineStart = offset; + break; + case "#": + { + const comment = new Comment(); + offset = comment.parse({ + src + }, offset); + this.contents.push(comment); + atLineStart = false; + } + break; + default: { + const iEnd = PlainValue.Node.endOfIndent(src, offset); + const context = { + atLineStart, + indent: -1, + inFlow: false, + inCollection: false, + lineStart, + parent: this + }; + const node = parseNode(context, iEnd); + if (!node) + return this.valueRange.end = iEnd; + this.contents.push(node); + offset = node.range.end; + atLineStart = false; + const ec = grabCollectionEndComments(node); + if (ec) + Array.prototype.push.apply(this.contents, ec); + } + } + offset = Document.startCommentOrEndBlankLine(src, offset); + } + this.valueRange.end = offset; + if (src[offset]) { + this.documentEndMarker = new PlainValue.Range(offset, offset + 3); + offset += 3; + if (src[offset]) { + offset = PlainValue.Node.endOfWhiteSpace(src, offset); + if (src[offset] === "#") { + const comment = new Comment(); + offset = comment.parse({ + src + }, offset); + this.contents.push(comment); + } + switch (src[offset]) { + case "\n": + offset += 1; + break; + case void 0: + break; + default: + this.error = new PlainValue.YAMLSyntaxError(this, "Document end marker line cannot have a non-comment suffix"); + } + } + } + return offset; + } + parse(context, start) { + context.root = this; + this.context = context; + const { + src + } = context; + let offset = src.charCodeAt(start) === 65279 ? start + 1 : start; + offset = this.parseDirectives(offset); + offset = this.parseContents(offset); + return offset; + } + setOrigRanges(cr, offset) { + offset = super.setOrigRanges(cr, offset); + this.directives.forEach((node) => { + offset = node.setOrigRanges(cr, offset); + }); + if (this.directivesEndMarker) + offset = this.directivesEndMarker.setOrigRange(cr, offset); + this.contents.forEach((node) => { + offset = node.setOrigRanges(cr, offset); + }); + if (this.documentEndMarker) + offset = this.documentEndMarker.setOrigRange(cr, offset); + return offset; + } + toString() { + const { + contents, + directives, + value + } = this; + if (value != null) + return value; + let str = directives.join(""); + if (contents.length > 0) { + if (directives.length > 0 || contents[0].type === PlainValue.Type.COMMENT) + str += "---\n"; + str += contents.join(""); + } + if (str[str.length - 1] !== "\n") + str += "\n"; + return str; + } + }; + var Alias = class extends PlainValue.Node { + parse(context, start) { + this.context = context; + const { + src + } = context; + let offset = PlainValue.Node.endOfIdentifier(src, start + 1); + this.valueRange = new PlainValue.Range(start + 1, offset); + offset = PlainValue.Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + return offset; + } + }; + var Chomp = { + CLIP: "CLIP", + KEEP: "KEEP", + STRIP: "STRIP" + }; + var BlockValue = class extends PlainValue.Node { + constructor(type, props) { + super(type, props); + this.blockIndent = null; + this.chomping = Chomp.CLIP; + this.header = null; + } + get includesTrailingLines() { + return this.chomping === Chomp.KEEP; + } + get strValue() { + if (!this.valueRange || !this.context) + return null; + let { + start, + end + } = this.valueRange; + const { + indent, + src + } = this.context; + if (this.valueRange.isEmpty()) + return ""; + let lastNewLine = null; + let ch = src[end - 1]; + while (ch === "\n" || ch === " " || ch === " ") { + end -= 1; + if (end <= start) { + if (this.chomping === Chomp.KEEP) + break; + else + return ""; + } + if (ch === "\n") + lastNewLine = end; + ch = src[end - 1]; + } + let keepStart = end + 1; + if (lastNewLine) { + if (this.chomping === Chomp.KEEP) { + keepStart = lastNewLine; + end = this.valueRange.end; + } else { + end = lastNewLine; + } + } + const bi = indent + this.blockIndent; + const folded = this.type === PlainValue.Type.BLOCK_FOLDED; + let atStart = true; + let str = ""; + let sep = ""; + let prevMoreIndented = false; + for (let i = start; i < end; ++i) { + for (let j = 0; j < bi; ++j) { + if (src[i] !== " ") + break; + i += 1; + } + const ch2 = src[i]; + if (ch2 === "\n") { + if (sep === "\n") + str += "\n"; + else + sep = "\n"; + } else { + const lineEnd = PlainValue.Node.endOfLine(src, i); + const line = src.slice(i, lineEnd); + i = lineEnd; + if (folded && (ch2 === " " || ch2 === " ") && i < keepStart) { + if (sep === " ") + sep = "\n"; + else if (!prevMoreIndented && !atStart && sep === "\n") + sep = "\n\n"; + str += sep + line; + sep = lineEnd < end && src[lineEnd] || ""; + prevMoreIndented = true; + } else { + str += sep + line; + sep = folded && i < keepStart ? " " : "\n"; + prevMoreIndented = false; + } + if (atStart && line !== "") + atStart = false; + } + } + return this.chomping === Chomp.STRIP ? str : str + "\n"; + } + parseBlockHeader(start) { + const { + src + } = this.context; + let offset = start + 1; + let bi = ""; + while (true) { + const ch = src[offset]; + switch (ch) { + case "-": + this.chomping = Chomp.STRIP; + break; + case "+": + this.chomping = Chomp.KEEP; + break; + case "0": + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + case "8": + case "9": + bi += ch; + break; + default: + this.blockIndent = Number(bi) || null; + this.header = new PlainValue.Range(start, offset); + return offset; + } + offset += 1; + } + } + parseBlockValue(start) { + const { + indent, + src + } = this.context; + const explicit = !!this.blockIndent; + let offset = start; + let valueEnd = start; + let minBlockIndent = 1; + for (let ch = src[offset]; ch === "\n"; ch = src[offset]) { + offset += 1; + if (PlainValue.Node.atDocumentBoundary(src, offset)) + break; + const end = PlainValue.Node.endOfBlockIndent(src, indent, offset); + if (end === null) + break; + const ch2 = src[end]; + const lineIndent = end - (offset + indent); + if (!this.blockIndent) { + if (src[end] !== "\n") { + if (lineIndent < minBlockIndent) { + const msg = "Block scalars with more-indented leading empty lines must use an explicit indentation indicator"; + this.error = new PlainValue.YAMLSemanticError(this, msg); + } + this.blockIndent = lineIndent; + } else if (lineIndent > minBlockIndent) { + minBlockIndent = lineIndent; + } + } else if (ch2 && ch2 !== "\n" && lineIndent < this.blockIndent) { + if (src[end] === "#") + break; + if (!this.error) { + const src2 = explicit ? "explicit indentation indicator" : "first line"; + const msg = `Block scalars must not be less indented than their ${src2}`; + this.error = new PlainValue.YAMLSemanticError(this, msg); + } + } + if (src[end] === "\n") { + offset = end; + } else { + offset = valueEnd = PlainValue.Node.endOfLine(src, end); + } + } + if (this.chomping !== Chomp.KEEP) { + offset = src[valueEnd] ? valueEnd + 1 : valueEnd; + } + this.valueRange = new PlainValue.Range(start + 1, offset); + return offset; + } + parse(context, start) { + this.context = context; + const { + src + } = context; + let offset = this.parseBlockHeader(start); + offset = PlainValue.Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + offset = this.parseBlockValue(offset); + return offset; + } + setOrigRanges(cr, offset) { + offset = super.setOrigRanges(cr, offset); + return this.header ? this.header.setOrigRange(cr, offset) : offset; + } + }; + var FlowCollection = class extends PlainValue.Node { + constructor(type, props) { + super(type, props); + this.items = null; + } + prevNodeIsJsonLike(idx = this.items.length) { + const node = this.items[idx - 1]; + return !!node && (node.jsonLike || node.type === PlainValue.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1)); + } + parse(context, start) { + this.context = context; + const { + parseNode, + src + } = context; + let { + indent, + lineStart + } = context; + let char = src[start]; + this.items = [{ + char, + offset: start + }]; + let offset = PlainValue.Node.endOfWhiteSpace(src, start + 1); + char = src[offset]; + while (char && char !== "]" && char !== "}") { + switch (char) { + case "\n": + { + lineStart = offset + 1; + const wsEnd = PlainValue.Node.endOfWhiteSpace(src, lineStart); + if (src[wsEnd] === "\n") { + const blankLine = new BlankLine(); + lineStart = blankLine.parse({ + src + }, lineStart); + this.items.push(blankLine); + } + offset = PlainValue.Node.endOfIndent(src, lineStart); + if (offset <= lineStart + indent) { + char = src[offset]; + if (offset < lineStart + indent || char !== "]" && char !== "}") { + const msg = "Insufficient indentation in flow collection"; + this.error = new PlainValue.YAMLSemanticError(this, msg); + } + } + } + break; + case ",": + { + this.items.push({ + char, + offset + }); + offset += 1; + } + break; + case "#": + { + const comment = new Comment(); + offset = comment.parse({ + src + }, offset); + this.items.push(comment); + } + break; + case "?": + case ":": { + const next = src[offset + 1]; + if (next === "\n" || next === " " || next === " " || next === "," || char === ":" && this.prevNodeIsJsonLike()) { + this.items.push({ + char, + offset + }); + offset += 1; + break; + } + } + default: { + const node = parseNode({ + atLineStart: false, + inCollection: false, + inFlow: true, + indent: -1, + lineStart, + parent: this + }, offset); + if (!node) { + this.valueRange = new PlainValue.Range(start, offset); + return offset; + } + this.items.push(node); + offset = PlainValue.Node.normalizeOffset(src, node.range.end); + } + } + offset = PlainValue.Node.endOfWhiteSpace(src, offset); + char = src[offset]; + } + this.valueRange = new PlainValue.Range(start, offset + 1); + if (char) { + this.items.push({ + char, + offset + }); + offset = PlainValue.Node.endOfWhiteSpace(src, offset + 1); + offset = this.parseComment(offset); + } + return offset; + } + setOrigRanges(cr, offset) { + offset = super.setOrigRanges(cr, offset); + this.items.forEach((node) => { + if (node instanceof PlainValue.Node) { + offset = node.setOrigRanges(cr, offset); + } else if (cr.length === 0) { + node.origOffset = node.offset; + } else { + let i = offset; + while (i < cr.length) { + if (cr[i] > node.offset) + break; + else + ++i; + } + node.origOffset = node.offset + i; + offset = i; + } + }); + return offset; + } + toString() { + const { + context: { + src + }, + items, + range, + value + } = this; + if (value != null) + return value; + const nodes = items.filter((item) => item instanceof PlainValue.Node); + let str = ""; + let prevEnd = range.start; + nodes.forEach((node) => { + const prefix = src.slice(prevEnd, node.range.start); + prevEnd = node.range.end; + str += prefix + String(node); + if (str[str.length - 1] === "\n" && src[prevEnd - 1] !== "\n" && src[prevEnd] === "\n") { + prevEnd += 1; + } + }); + str += src.slice(prevEnd, range.end); + return PlainValue.Node.addStringTerminator(src, range.end, str); + } + }; + var QuoteDouble = class extends PlainValue.Node { + static endOfQuote(src, offset) { + let ch = src[offset]; + while (ch && ch !== '"') { + offset += ch === "\\" ? 2 : 1; + ch = src[offset]; + } + return offset + 1; + } + get strValue() { + if (!this.valueRange || !this.context) + return null; + const errors = []; + const { + start, + end + } = this.valueRange; + const { + indent, + src + } = this.context; + if (src[end - 1] !== '"') + errors.push(new PlainValue.YAMLSyntaxError(this, 'Missing closing "quote')); + let str = ""; + for (let i = start + 1; i < end - 1; ++i) { + const ch = src[i]; + if (ch === "\n") { + if (PlainValue.Node.atDocumentBoundary(src, i + 1)) + errors.push(new PlainValue.YAMLSemanticError(this, "Document boundary indicators are not allowed within string values")); + const { + fold, + offset, + error + } = PlainValue.Node.foldNewline(src, i, indent); + str += fold; + i = offset; + if (error) + errors.push(new PlainValue.YAMLSemanticError(this, "Multi-line double-quoted string needs to be sufficiently indented")); + } else if (ch === "\\") { + i += 1; + switch (src[i]) { + case "0": + str += "\0"; + break; + case "a": + str += "\x07"; + break; + case "b": + str += "\b"; + break; + case "e": + str += "\x1B"; + break; + case "f": + str += "\f"; + break; + case "n": + str += "\n"; + break; + case "r": + str += "\r"; + break; + case "t": + str += " "; + break; + case "v": + str += "\v"; + break; + case "N": + str += "\x85"; + break; + case "_": + str += "\xA0"; + break; + case "L": + str += "\u2028"; + break; + case "P": + str += "\u2029"; + break; + case " ": + str += " "; + break; + case '"': + str += '"'; + break; + case "/": + str += "/"; + break; + case "\\": + str += "\\"; + break; + case " ": + str += " "; + break; + case "x": + str += this.parseCharCode(i + 1, 2, errors); + i += 2; + break; + case "u": + str += this.parseCharCode(i + 1, 4, errors); + i += 4; + break; + case "U": + str += this.parseCharCode(i + 1, 8, errors); + i += 8; + break; + case "\n": + while (src[i + 1] === " " || src[i + 1] === " ") + i += 1; + break; + default: + errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`)); + str += "\\" + src[i]; + } + } else if (ch === " " || ch === " ") { + const wsStart = i; + let next = src[i + 1]; + while (next === " " || next === " ") { + i += 1; + next = src[i + 1]; + } + if (next !== "\n") + str += i > wsStart ? src.slice(wsStart, i + 1) : ch; + } else { + str += ch; + } + } + return errors.length > 0 ? { + errors, + str + } : str; + } + parseCharCode(offset, length, errors) { + const { + src + } = this.context; + const cc = src.substr(offset, length); + const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc); + const code = ok ? parseInt(cc, 16) : NaN; + if (isNaN(code)) { + errors.push(new PlainValue.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`)); + return src.substr(offset - 2, length + 2); + } + return String.fromCodePoint(code); + } + parse(context, start) { + this.context = context; + const { + src + } = context; + let offset = QuoteDouble.endOfQuote(src, start + 1); + this.valueRange = new PlainValue.Range(start, offset); + offset = PlainValue.Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + return offset; + } + }; + var QuoteSingle = class extends PlainValue.Node { + static endOfQuote(src, offset) { + let ch = src[offset]; + while (ch) { + if (ch === "'") { + if (src[offset + 1] !== "'") + break; + ch = src[offset += 2]; + } else { + ch = src[offset += 1]; + } + } + return offset + 1; + } + get strValue() { + if (!this.valueRange || !this.context) + return null; + const errors = []; + const { + start, + end + } = this.valueRange; + const { + indent, + src + } = this.context; + if (src[end - 1] !== "'") + errors.push(new PlainValue.YAMLSyntaxError(this, "Missing closing 'quote")); + let str = ""; + for (let i = start + 1; i < end - 1; ++i) { + const ch = src[i]; + if (ch === "\n") { + if (PlainValue.Node.atDocumentBoundary(src, i + 1)) + errors.push(new PlainValue.YAMLSemanticError(this, "Document boundary indicators are not allowed within string values")); + const { + fold, + offset, + error + } = PlainValue.Node.foldNewline(src, i, indent); + str += fold; + i = offset; + if (error) + errors.push(new PlainValue.YAMLSemanticError(this, "Multi-line single-quoted string needs to be sufficiently indented")); + } else if (ch === "'") { + str += ch; + i += 1; + if (src[i] !== "'") + errors.push(new PlainValue.YAMLSyntaxError(this, "Unescaped single quote? This should not happen.")); + } else if (ch === " " || ch === " ") { + const wsStart = i; + let next = src[i + 1]; + while (next === " " || next === " ") { + i += 1; + next = src[i + 1]; + } + if (next !== "\n") + str += i > wsStart ? src.slice(wsStart, i + 1) : ch; + } else { + str += ch; + } + } + return errors.length > 0 ? { + errors, + str + } : str; + } + parse(context, start) { + this.context = context; + const { + src + } = context; + let offset = QuoteSingle.endOfQuote(src, start + 1); + this.valueRange = new PlainValue.Range(start, offset); + offset = PlainValue.Node.endOfWhiteSpace(src, offset); + offset = this.parseComment(offset); + return offset; + } + }; + function createNewNode(type, props) { + switch (type) { + case PlainValue.Type.ALIAS: + return new Alias(type, props); + case PlainValue.Type.BLOCK_FOLDED: + case PlainValue.Type.BLOCK_LITERAL: + return new BlockValue(type, props); + case PlainValue.Type.FLOW_MAP: + case PlainValue.Type.FLOW_SEQ: + return new FlowCollection(type, props); + case PlainValue.Type.MAP_KEY: + case PlainValue.Type.MAP_VALUE: + case PlainValue.Type.SEQ_ITEM: + return new CollectionItem(type, props); + case PlainValue.Type.COMMENT: + case PlainValue.Type.PLAIN: + return new PlainValue.PlainValue(type, props); + case PlainValue.Type.QUOTE_DOUBLE: + return new QuoteDouble(type, props); + case PlainValue.Type.QUOTE_SINGLE: + return new QuoteSingle(type, props); + default: + return null; + } + } + var ParseContext = class { + static parseType(src, offset, inFlow) { + switch (src[offset]) { + case "*": + return PlainValue.Type.ALIAS; + case ">": + return PlainValue.Type.BLOCK_FOLDED; + case "|": + return PlainValue.Type.BLOCK_LITERAL; + case "{": + return PlainValue.Type.FLOW_MAP; + case "[": + return PlainValue.Type.FLOW_SEQ; + case "?": + return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_KEY : PlainValue.Type.PLAIN; + case ":": + return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.MAP_VALUE : PlainValue.Type.PLAIN; + case "-": + return !inFlow && PlainValue.Node.atBlank(src, offset + 1, true) ? PlainValue.Type.SEQ_ITEM : PlainValue.Type.PLAIN; + case '"': + return PlainValue.Type.QUOTE_DOUBLE; + case "'": + return PlainValue.Type.QUOTE_SINGLE; + default: + return PlainValue.Type.PLAIN; + } + } + constructor(orig = {}, { + atLineStart, + inCollection, + inFlow, + indent, + lineStart, + parent + } = {}) { + PlainValue._defineProperty(this, "parseNode", (overlay, start) => { + if (PlainValue.Node.atDocumentBoundary(this.src, start)) + return null; + const context = new ParseContext(this, overlay); + const { + props, + type, + valueStart + } = context.parseProps(start); + const node = createNewNode(type, props); + let offset = node.parse(context, valueStart); + node.range = new PlainValue.Range(start, offset); + if (offset <= start) { + node.error = new Error(`Node#parse consumed no characters`); + node.error.parseEnd = offset; + node.error.source = node; + node.range.end = start + 1; + } + if (context.nodeStartsCollection(node)) { + if (!node.error && !context.atLineStart && context.parent.type === PlainValue.Type.DOCUMENT) { + node.error = new PlainValue.YAMLSyntaxError(node, "Block collection must not have preceding content here (e.g. directives-end indicator)"); + } + const collection = new Collection(node); + offset = collection.parse(new ParseContext(context), offset); + collection.range = new PlainValue.Range(start, offset); + return collection; + } + return node; + }); + this.atLineStart = atLineStart != null ? atLineStart : orig.atLineStart || false; + this.inCollection = inCollection != null ? inCollection : orig.inCollection || false; + this.inFlow = inFlow != null ? inFlow : orig.inFlow || false; + this.indent = indent != null ? indent : orig.indent; + this.lineStart = lineStart != null ? lineStart : orig.lineStart; + this.parent = parent != null ? parent : orig.parent || {}; + this.root = orig.root; + this.src = orig.src; + } + nodeStartsCollection(node) { + const { + inCollection, + inFlow, + src + } = this; + if (inCollection || inFlow) + return false; + if (node instanceof CollectionItem) + return true; + let offset = node.range.end; + if (src[offset] === "\n" || src[offset - 1] === "\n") + return false; + offset = PlainValue.Node.endOfWhiteSpace(src, offset); + return src[offset] === ":"; + } + parseProps(offset) { + const { + inFlow, + parent, + src + } = this; + const props = []; + let lineHasProps = false; + offset = this.atLineStart ? PlainValue.Node.endOfIndent(src, offset) : PlainValue.Node.endOfWhiteSpace(src, offset); + let ch = src[offset]; + while (ch === PlainValue.Char.ANCHOR || ch === PlainValue.Char.COMMENT || ch === PlainValue.Char.TAG || ch === "\n") { + if (ch === "\n") { + let inEnd = offset; + let lineStart; + do { + lineStart = inEnd + 1; + inEnd = PlainValue.Node.endOfIndent(src, lineStart); + } while (src[inEnd] === "\n"); + const indentDiff = inEnd - (lineStart + this.indent); + const noIndicatorAsIndent = parent.type === PlainValue.Type.SEQ_ITEM && parent.context.atLineStart; + if (src[inEnd] !== "#" && !PlainValue.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) + break; + this.atLineStart = true; + this.lineStart = lineStart; + lineHasProps = false; + offset = inEnd; + } else if (ch === PlainValue.Char.COMMENT) { + const end = PlainValue.Node.endOfLine(src, offset + 1); + props.push(new PlainValue.Range(offset, end)); + offset = end; + } else { + let end = PlainValue.Node.endOfIdentifier(src, offset + 1); + if (ch === PlainValue.Char.TAG && src[end] === "," && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) { + end = PlainValue.Node.endOfIdentifier(src, end + 5); + } + props.push(new PlainValue.Range(offset, end)); + lineHasProps = true; + offset = PlainValue.Node.endOfWhiteSpace(src, end); + } + ch = src[offset]; + } + if (lineHasProps && ch === ":" && PlainValue.Node.atBlank(src, offset + 1, true)) + offset -= 1; + const type = ParseContext.parseType(src, offset, inFlow); + return { + props, + type, + valueStart: offset + }; + } + }; + function parse(src) { + const cr = []; + if (src.indexOf("\r") !== -1) { + src = src.replace(/\r\n?/g, (match, offset2) => { + if (match.length > 1) + cr.push(offset2); + return "\n"; + }); + } + const documents = []; + let offset = 0; + do { + const doc = new Document(); + const context = new ParseContext({ + src + }); + offset = doc.parse(context, offset); + documents.push(doc); + } while (offset < src.length); + documents.setOrigRanges = () => { + if (cr.length === 0) + return false; + for (let i = 1; i < cr.length; ++i) + cr[i] -= i; + let crOffset = 0; + for (let i = 0; i < documents.length; ++i) { + crOffset = documents[i].setOrigRanges(cr, crOffset); + } + cr.splice(0, cr.length); + return true; + }; + documents.toString = () => documents.join("...\n"); + return documents; + } + exports2.parse = parse; + } +}); +var require_resolveSeq_d03cb037 = __commonJS({ + "node_modules/yaml/dist/resolveSeq-d03cb037.js"(exports2) { + "use strict"; + var PlainValue = require_PlainValue_ec8e588e(); + function addCommentBefore(str, indent, comment) { + if (!comment) + return str; + const cc = comment.replace(/[\s\S]^/gm, `$&${indent}#`); + return `#${cc} +${indent}${str}`; + } + function addComment(str, indent, comment) { + return !comment ? str : comment.indexOf("\n") === -1 ? `${str} #${comment}` : `${str} +` + comment.replace(/^/gm, `${indent || ""}#`); + } + var Node = class { + }; + function toJSON(value, arg, ctx) { + if (Array.isArray(value)) + return value.map((v, i) => toJSON(v, String(i), ctx)); + if (value && typeof value.toJSON === "function") { + const anchor = ctx && ctx.anchors && ctx.anchors.get(value); + if (anchor) + ctx.onCreate = (res2) => { + anchor.res = res2; + delete ctx.onCreate; + }; + const res = value.toJSON(arg, ctx); + if (anchor && ctx.onCreate) + ctx.onCreate(res); + return res; + } + if ((!ctx || !ctx.keep) && typeof value === "bigint") + return Number(value); + return value; + } + var Scalar = class extends Node { + constructor(value) { + super(); + this.value = value; + } + toJSON(arg, ctx) { + return ctx && ctx.keep ? this.value : toJSON(this.value, arg, ctx); + } + toString() { + return String(this.value); + } + }; + function collectionFromPath(schema, path, value) { + let v = value; + for (let i = path.length - 1; i >= 0; --i) { + const k = path[i]; + if (Number.isInteger(k) && k >= 0) { + const a = []; + a[k] = v; + v = a; + } else { + const o = {}; + Object.defineProperty(o, k, { + value: v, + writable: true, + enumerable: true, + configurable: true + }); + v = o; + } + } + return schema.createNode(v, false); + } + var isEmptyPath = (path) => path == null || typeof path === "object" && path[Symbol.iterator]().next().done; + var Collection = class extends Node { + constructor(schema) { + super(); + PlainValue._defineProperty(this, "items", []); + this.schema = schema; + } + addIn(path, value) { + if (isEmptyPath(path)) + this.add(value); + else { + const [key, ...rest] = path; + const node = this.get(key, true); + if (node instanceof Collection) + node.addIn(rest, value); + else if (node === void 0 && this.schema) + this.set(key, collectionFromPath(this.schema, rest, value)); + else + throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); + } + } + deleteIn([key, ...rest]) { + if (rest.length === 0) + return this.delete(key); + const node = this.get(key, true); + if (node instanceof Collection) + return node.deleteIn(rest); + else + throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); + } + getIn([key, ...rest], keepScalar) { + const node = this.get(key, true); + if (rest.length === 0) + return !keepScalar && node instanceof Scalar ? node.value : node; + else + return node instanceof Collection ? node.getIn(rest, keepScalar) : void 0; + } + hasAllNullValues() { + return this.items.every((node) => { + if (!node || node.type !== "PAIR") + return false; + const n = node.value; + return n == null || n instanceof Scalar && n.value == null && !n.commentBefore && !n.comment && !n.tag; + }); + } + hasIn([key, ...rest]) { + if (rest.length === 0) + return this.has(key); + const node = this.get(key, true); + return node instanceof Collection ? node.hasIn(rest) : false; + } + setIn([key, ...rest], value) { + if (rest.length === 0) { + this.set(key, value); + } else { + const node = this.get(key, true); + if (node instanceof Collection) + node.setIn(rest, value); + else if (node === void 0 && this.schema) + this.set(key, collectionFromPath(this.schema, rest, value)); + else + throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`); + } + } + toJSON() { + return null; + } + toString(ctx, { + blockItem, + flowChars, + isMap, + itemIndent + }, onComment, onChompKeep) { + const { + indent, + indentStep, + stringify + } = ctx; + const inFlow = this.type === PlainValue.Type.FLOW_MAP || this.type === PlainValue.Type.FLOW_SEQ || ctx.inFlow; + if (inFlow) + itemIndent += indentStep; + const allNullValues = isMap && this.hasAllNullValues(); + ctx = Object.assign({}, ctx, { + allNullValues, + indent: itemIndent, + inFlow, + type: null + }); + let chompKeep = false; + let hasItemWithNewLine = false; + const nodes = this.items.reduce((nodes2, item, i) => { + let comment; + if (item) { + if (!chompKeep && item.spaceBefore) + nodes2.push({ + type: "comment", + str: "" + }); + if (item.commentBefore) + item.commentBefore.match(/^.*$/gm).forEach((line) => { + nodes2.push({ + type: "comment", + str: `#${line}` + }); + }); + if (item.comment) + comment = item.comment; + if (inFlow && (!chompKeep && item.spaceBefore || item.commentBefore || item.comment || item.key && (item.key.commentBefore || item.key.comment) || item.value && (item.value.commentBefore || item.value.comment))) + hasItemWithNewLine = true; + } + chompKeep = false; + let str2 = stringify(item, ctx, () => comment = null, () => chompKeep = true); + if (inFlow && !hasItemWithNewLine && str2.includes("\n")) + hasItemWithNewLine = true; + if (inFlow && i < this.items.length - 1) + str2 += ","; + str2 = addComment(str2, itemIndent, comment); + if (chompKeep && (comment || inFlow)) + chompKeep = false; + nodes2.push({ + type: "item", + str: str2 + }); + return nodes2; + }, []); + let str; + if (nodes.length === 0) { + str = flowChars.start + flowChars.end; + } else if (inFlow) { + const { + start, + end + } = flowChars; + const strings = nodes.map((n) => n.str); + if (hasItemWithNewLine || strings.reduce((sum, str2) => sum + str2.length + 2, 2) > Collection.maxFlowStringSingleLineLength) { + str = start; + for (const s of strings) { + str += s ? ` +${indentStep}${indent}${s}` : "\n"; + } + str += ` +${indent}${end}`; + } else { + str = `${start} ${strings.join(" ")} ${end}`; + } + } else { + const strings = nodes.map(blockItem); + str = strings.shift(); + for (const s of strings) + str += s ? ` +${indent}${s}` : "\n"; + } + if (this.comment) { + str += "\n" + this.comment.replace(/^/gm, `${indent}#`); + if (onComment) + onComment(); + } else if (chompKeep && onChompKeep) + onChompKeep(); + return str; + } + }; + PlainValue._defineProperty(Collection, "maxFlowStringSingleLineLength", 60); + function asItemIndex(key) { + let idx = key instanceof Scalar ? key.value : key; + if (idx && typeof idx === "string") + idx = Number(idx); + return Number.isInteger(idx) && idx >= 0 ? idx : null; + } + var YAMLSeq = class extends Collection { + add(value) { + this.items.push(value); + } + delete(key) { + const idx = asItemIndex(key); + if (typeof idx !== "number") + return false; + const del = this.items.splice(idx, 1); + return del.length > 0; + } + get(key, keepScalar) { + const idx = asItemIndex(key); + if (typeof idx !== "number") + return void 0; + const it = this.items[idx]; + return !keepScalar && it instanceof Scalar ? it.value : it; + } + has(key) { + const idx = asItemIndex(key); + return typeof idx === "number" && idx < this.items.length; + } + set(key, value) { + const idx = asItemIndex(key); + if (typeof idx !== "number") + throw new Error(`Expected a valid index, not ${key}.`); + this.items[idx] = value; + } + toJSON(_, ctx) { + const seq = []; + if (ctx && ctx.onCreate) + ctx.onCreate(seq); + let i = 0; + for (const item of this.items) + seq.push(toJSON(item, String(i++), ctx)); + return seq; + } + toString(ctx, onComment, onChompKeep) { + if (!ctx) + return JSON.stringify(this); + return super.toString(ctx, { + blockItem: (n) => n.type === "comment" ? n.str : `- ${n.str}`, + flowChars: { + start: "[", + end: "]" + }, + isMap: false, + itemIndent: (ctx.indent || "") + " " + }, onComment, onChompKeep); + } + }; + var stringifyKey = (key, jsKey, ctx) => { + if (jsKey === null) + return ""; + if (typeof jsKey !== "object") + return String(jsKey); + if (key instanceof Node && ctx && ctx.doc) + return key.toString({ + anchors: /* @__PURE__ */ Object.create(null), + doc: ctx.doc, + indent: "", + indentStep: ctx.indentStep, + inFlow: true, + inStringifyKey: true, + stringify: ctx.stringify + }); + return JSON.stringify(jsKey); + }; + var Pair = class extends Node { + constructor(key, value = null) { + super(); + this.key = key; + this.value = value; + this.type = Pair.Type.PAIR; + } + get commentBefore() { + return this.key instanceof Node ? this.key.commentBefore : void 0; + } + set commentBefore(cb) { + if (this.key == null) + this.key = new Scalar(null); + if (this.key instanceof Node) + this.key.commentBefore = cb; + else { + const msg = "Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node."; + throw new Error(msg); + } + } + addToJSMap(ctx, map) { + const key = toJSON(this.key, "", ctx); + if (map instanceof Map) { + const value = toJSON(this.value, key, ctx); + map.set(key, value); + } else if (map instanceof Set) { + map.add(key); + } else { + const stringKey = stringifyKey(this.key, key, ctx); + const value = toJSON(this.value, stringKey, ctx); + if (stringKey in map) + Object.defineProperty(map, stringKey, { + value, + writable: true, + enumerable: true, + configurable: true + }); + else + map[stringKey] = value; + } + return map; + } + toJSON(_, ctx) { + const pair = ctx && ctx.mapAsMap ? /* @__PURE__ */ new Map() : {}; + return this.addToJSMap(ctx, pair); + } + toString(ctx, onComment, onChompKeep) { + if (!ctx || !ctx.doc) + return JSON.stringify(this); + const { + indent: indentSize, + indentSeq, + simpleKeys + } = ctx.doc.options; + let { + key, + value + } = this; + let keyComment = key instanceof Node && key.comment; + if (simpleKeys) { + if (keyComment) { + throw new Error("With simple keys, key nodes cannot have comments"); + } + if (key instanceof Collection) { + const msg = "With simple keys, collection cannot be used as a key value"; + throw new Error(msg); + } + } + let explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node ? key instanceof Collection || key.type === PlainValue.Type.BLOCK_FOLDED || key.type === PlainValue.Type.BLOCK_LITERAL : typeof key === "object")); + const { + doc, + indent, + indentStep, + stringify + } = ctx; + ctx = Object.assign({}, ctx, { + implicitKey: !explicitKey, + indent: indent + indentStep + }); + let chompKeep = false; + let str = stringify(key, ctx, () => keyComment = null, () => chompKeep = true); + str = addComment(str, ctx.indent, keyComment); + if (!explicitKey && str.length > 1024) { + if (simpleKeys) + throw new Error("With simple keys, single line scalar must not span more than 1024 characters"); + explicitKey = true; + } + if (ctx.allNullValues && !simpleKeys) { + if (this.comment) { + str = addComment(str, ctx.indent, this.comment); + if (onComment) + onComment(); + } else if (chompKeep && !keyComment && onChompKeep) + onChompKeep(); + return ctx.inFlow && !explicitKey ? str : `? ${str}`; + } + str = explicitKey ? `? ${str} +${indent}:` : `${str}:`; + if (this.comment) { + str = addComment(str, ctx.indent, this.comment); + if (onComment) + onComment(); + } + let vcb = ""; + let valueComment = null; + if (value instanceof Node) { + if (value.spaceBefore) + vcb = "\n"; + if (value.commentBefore) { + const cs = value.commentBefore.replace(/^/gm, `${ctx.indent}#`); + vcb += ` +${cs}`; + } + valueComment = value.comment; + } else if (value && typeof value === "object") { + value = doc.schema.createNode(value, true); + } + ctx.implicitKey = false; + if (!explicitKey && !this.comment && value instanceof Scalar) + ctx.indentAtStart = str.length + 1; + chompKeep = false; + if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValue.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) { + ctx.indent = ctx.indent.substr(2); + } + const valueStr = stringify(value, ctx, () => valueComment = null, () => chompKeep = true); + let ws = " "; + if (vcb || this.comment) { + ws = `${vcb} +${ctx.indent}`; + } else if (!explicitKey && value instanceof Collection) { + const flow = valueStr[0] === "[" || valueStr[0] === "{"; + if (!flow || valueStr.includes("\n")) + ws = ` +${ctx.indent}`; + } else if (valueStr[0] === "\n") + ws = ""; + if (chompKeep && !valueComment && onChompKeep) + onChompKeep(); + return addComment(str + ws + valueStr, ctx.indent, valueComment); + } + }; + PlainValue._defineProperty(Pair, "Type", { + PAIR: "PAIR", + MERGE_PAIR: "MERGE_PAIR" + }); + var getAliasCount = (node, anchors) => { + if (node instanceof Alias) { + const anchor = anchors.get(node.source); + return anchor.count * anchor.aliasCount; + } else if (node instanceof Collection) { + let count = 0; + for (const item of node.items) { + const c = getAliasCount(item, anchors); + if (c > count) + count = c; + } + return count; + } else if (node instanceof Pair) { + const kc = getAliasCount(node.key, anchors); + const vc = getAliasCount(node.value, anchors); + return Math.max(kc, vc); + } + return 1; + }; + var Alias = class extends Node { + static stringify({ + range, + source + }, { + anchors, + doc, + implicitKey, + inStringifyKey + }) { + let anchor = Object.keys(anchors).find((a) => anchors[a] === source); + if (!anchor && inStringifyKey) + anchor = doc.anchors.getName(source) || doc.anchors.newName(); + if (anchor) + return `*${anchor}${implicitKey ? " " : ""}`; + const msg = doc.anchors.getName(source) ? "Alias node must be after source node" : "Source node not found for alias node"; + throw new Error(`${msg} [${range}]`); + } + constructor(source) { + super(); + this.source = source; + this.type = PlainValue.Type.ALIAS; + } + set tag(t) { + throw new Error("Alias nodes cannot have tags"); + } + toJSON(arg, ctx) { + if (!ctx) + return toJSON(this.source, arg, ctx); + const { + anchors, + maxAliasCount + } = ctx; + const anchor = anchors.get(this.source); + if (!anchor || anchor.res === void 0) { + const msg = "This should not happen: Alias anchor was not resolved?"; + if (this.cstNode) + throw new PlainValue.YAMLReferenceError(this.cstNode, msg); + else + throw new ReferenceError(msg); + } + if (maxAliasCount >= 0) { + anchor.count += 1; + if (anchor.aliasCount === 0) + anchor.aliasCount = getAliasCount(this.source, anchors); + if (anchor.count * anchor.aliasCount > maxAliasCount) { + const msg = "Excessive alias count indicates a resource exhaustion attack"; + if (this.cstNode) + throw new PlainValue.YAMLReferenceError(this.cstNode, msg); + else + throw new ReferenceError(msg); + } + } + return anchor.res; + } + toString(ctx) { + return Alias.stringify(this, ctx); + } + }; + PlainValue._defineProperty(Alias, "default", true); + function findPair(items, key) { + const k = key instanceof Scalar ? key.value : key; + for (const it of items) { + if (it instanceof Pair) { + if (it.key === key || it.key === k) + return it; + if (it.key && it.key.value === k) + return it; + } + } + return void 0; + } + var YAMLMap = class extends Collection { + add(pair, overwrite) { + if (!pair) + pair = new Pair(pair); + else if (!(pair instanceof Pair)) + pair = new Pair(pair.key || pair, pair.value); + const prev = findPair(this.items, pair.key); + const sortEntries = this.schema && this.schema.sortMapEntries; + if (prev) { + if (overwrite) + prev.value = pair.value; + else + throw new Error(`Key ${pair.key} already set`); + } else if (sortEntries) { + const i = this.items.findIndex((item) => sortEntries(pair, item) < 0); + if (i === -1) + this.items.push(pair); + else + this.items.splice(i, 0, pair); + } else { + this.items.push(pair); + } + } + delete(key) { + const it = findPair(this.items, key); + if (!it) + return false; + const del = this.items.splice(this.items.indexOf(it), 1); + return del.length > 0; + } + get(key, keepScalar) { + const it = findPair(this.items, key); + const node = it && it.value; + return !keepScalar && node instanceof Scalar ? node.value : node; + } + has(key) { + return !!findPair(this.items, key); + } + set(key, value) { + this.add(new Pair(key, value), true); + } + toJSON(_, ctx, Type) { + const map = Type ? new Type() : ctx && ctx.mapAsMap ? /* @__PURE__ */ new Map() : {}; + if (ctx && ctx.onCreate) + ctx.onCreate(map); + for (const item of this.items) + item.addToJSMap(ctx, map); + return map; + } + toString(ctx, onComment, onChompKeep) { + if (!ctx) + return JSON.stringify(this); + for (const item of this.items) { + if (!(item instanceof Pair)) + throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`); + } + return super.toString(ctx, { + blockItem: (n) => n.str, + flowChars: { + start: "{", + end: "}" + }, + isMap: true, + itemIndent: ctx.indent || "" + }, onComment, onChompKeep); + } + }; + var MERGE_KEY = "<<"; + var Merge = class extends Pair { + constructor(pair) { + if (pair instanceof Pair) { + let seq = pair.value; + if (!(seq instanceof YAMLSeq)) { + seq = new YAMLSeq(); + seq.items.push(pair.value); + seq.range = pair.value.range; + } + super(pair.key, seq); + this.range = pair.range; + } else { + super(new Scalar(MERGE_KEY), new YAMLSeq()); + } + this.type = Pair.Type.MERGE_PAIR; + } + addToJSMap(ctx, map) { + for (const { + source + } of this.value.items) { + if (!(source instanceof YAMLMap)) + throw new Error("Merge sources must be maps"); + const srcMap = source.toJSON(null, ctx, Map); + for (const [key, value] of srcMap) { + if (map instanceof Map) { + if (!map.has(key)) + map.set(key, value); + } else if (map instanceof Set) { + map.add(key); + } else if (!Object.prototype.hasOwnProperty.call(map, key)) { + Object.defineProperty(map, key, { + value, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } + return map; + } + toString(ctx, onComment) { + const seq = this.value; + if (seq.items.length > 1) + return super.toString(ctx, onComment); + this.value = seq.items[0]; + const str = super.toString(ctx, onComment); + this.value = seq; + return str; + } + }; + var binaryOptions = { + defaultType: PlainValue.Type.BLOCK_LITERAL, + lineWidth: 76 + }; + var boolOptions = { + trueStr: "true", + falseStr: "false" + }; + var intOptions = { + asBigInt: false + }; + var nullOptions = { + nullStr: "null" + }; + var strOptions = { + defaultType: PlainValue.Type.PLAIN, + doubleQuoted: { + jsonEncoding: false, + minMultiLineLength: 40 + }, + fold: { + lineWidth: 80, + minContentWidth: 20 + } + }; + function resolveScalar(str, tags, scalarFallback) { + for (const { + format, + test, + resolve + } of tags) { + if (test) { + const match = str.match(test); + if (match) { + let res = resolve.apply(null, match); + if (!(res instanceof Scalar)) + res = new Scalar(res); + if (format) + res.format = format; + return res; + } + } + } + if (scalarFallback) + str = scalarFallback(str); + return new Scalar(str); + } + var FOLD_FLOW = "flow"; + var FOLD_BLOCK = "block"; + var FOLD_QUOTED = "quoted"; + var consumeMoreIndentedLines = (text, i) => { + let ch = text[i + 1]; + while (ch === " " || ch === " ") { + do { + ch = text[i += 1]; + } while (ch && ch !== "\n"); + ch = text[i + 1]; + } + return i; + }; + function foldFlowLines(text, indent, mode, { + indentAtStart, + lineWidth = 80, + minContentWidth = 20, + onFold, + onOverflow + }) { + if (!lineWidth || lineWidth < 0) + return text; + const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length); + if (text.length <= endStep) + return text; + const folds = []; + const escapedFolds = {}; + let end = lineWidth - indent.length; + if (typeof indentAtStart === "number") { + if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) + folds.push(0); + else + end = lineWidth - indentAtStart; + } + let split = void 0; + let prev = void 0; + let overflow = false; + let i = -1; + let escStart = -1; + let escEnd = -1; + if (mode === FOLD_BLOCK) { + i = consumeMoreIndentedLines(text, i); + if (i !== -1) + end = i + endStep; + } + for (let ch; ch = text[i += 1]; ) { + if (mode === FOLD_QUOTED && ch === "\\") { + escStart = i; + switch (text[i + 1]) { + case "x": + i += 3; + break; + case "u": + i += 5; + break; + case "U": + i += 9; + break; + default: + i += 1; + } + escEnd = i; + } + if (ch === "\n") { + if (mode === FOLD_BLOCK) + i = consumeMoreIndentedLines(text, i); + end = i + endStep; + split = void 0; + } else { + if (ch === " " && prev && prev !== " " && prev !== "\n" && prev !== " ") { + const next = text[i + 1]; + if (next && next !== " " && next !== "\n" && next !== " ") + split = i; + } + if (i >= end) { + if (split) { + folds.push(split); + end = split + endStep; + split = void 0; + } else if (mode === FOLD_QUOTED) { + while (prev === " " || prev === " ") { + prev = ch; + ch = text[i += 1]; + overflow = true; + } + const j = i > escEnd + 1 ? i - 2 : escStart - 1; + if (escapedFolds[j]) + return text; + folds.push(j); + escapedFolds[j] = true; + end = j + endStep; + split = void 0; + } else { + overflow = true; + } + } + } + prev = ch; + } + if (overflow && onOverflow) + onOverflow(); + if (folds.length === 0) + return text; + if (onFold) + onFold(); + let res = text.slice(0, folds[0]); + for (let i2 = 0; i2 < folds.length; ++i2) { + const fold = folds[i2]; + const end2 = folds[i2 + 1] || text.length; + if (fold === 0) + res = ` +${indent}${text.slice(0, end2)}`; + else { + if (mode === FOLD_QUOTED && escapedFolds[fold]) + res += `${text[fold]}\\`; + res += ` +${indent}${text.slice(fold + 1, end2)}`; + } + } + return res; + } + var getFoldOptions = ({ + indentAtStart + }) => indentAtStart ? Object.assign({ + indentAtStart + }, strOptions.fold) : strOptions.fold; + var containsDocumentMarker = (str) => /^(%|---|\.\.\.)/m.test(str); + function lineLengthOverLimit(str, lineWidth, indentLength) { + if (!lineWidth || lineWidth < 0) + return false; + const limit = lineWidth - indentLength; + const strLen = str.length; + if (strLen <= limit) + return false; + for (let i = 0, start = 0; i < strLen; ++i) { + if (str[i] === "\n") { + if (i - start > limit) + return true; + start = i + 1; + if (strLen - start <= limit) + return false; + } + } + return true; + } + function doubleQuotedString(value, ctx) { + const { + implicitKey + } = ctx; + const { + jsonEncoding, + minMultiLineLength + } = strOptions.doubleQuoted; + const json = JSON.stringify(value); + if (jsonEncoding) + return json; + const indent = ctx.indent || (containsDocumentMarker(value) ? " " : ""); + let str = ""; + let start = 0; + for (let i = 0, ch = json[i]; ch; ch = json[++i]) { + if (ch === " " && json[i + 1] === "\\" && json[i + 2] === "n") { + str += json.slice(start, i) + "\\ "; + i += 1; + start = i; + ch = "\\"; + } + if (ch === "\\") + switch (json[i + 1]) { + case "u": + { + str += json.slice(start, i); + const code = json.substr(i + 2, 4); + switch (code) { + case "0000": + str += "\\0"; + break; + case "0007": + str += "\\a"; + break; + case "000b": + str += "\\v"; + break; + case "001b": + str += "\\e"; + break; + case "0085": + str += "\\N"; + break; + case "00a0": + str += "\\_"; + break; + case "2028": + str += "\\L"; + break; + case "2029": + str += "\\P"; + break; + default: + if (code.substr(0, 2) === "00") + str += "\\x" + code.substr(2); + else + str += json.substr(i, 6); + } + i += 5; + start = i + 1; + } + break; + case "n": + if (implicitKey || json[i + 2] === '"' || json.length < minMultiLineLength) { + i += 1; + } else { + str += json.slice(start, i) + "\n\n"; + while (json[i + 2] === "\\" && json[i + 3] === "n" && json[i + 4] !== '"') { + str += "\n"; + i += 2; + } + str += indent; + if (json[i + 2] === " ") + str += "\\"; + i += 1; + start = i + 1; + } + break; + default: + i += 1; + } + } + str = start ? str + json.slice(start) : json; + return implicitKey ? str : foldFlowLines(str, indent, FOLD_QUOTED, getFoldOptions(ctx)); + } + function singleQuotedString(value, ctx) { + if (ctx.implicitKey) { + if (/\n/.test(value)) + return doubleQuotedString(value, ctx); + } else { + if (/[ \t]\n|\n[ \t]/.test(value)) + return doubleQuotedString(value, ctx); + } + const indent = ctx.indent || (containsDocumentMarker(value) ? " " : ""); + const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$& +${indent}`) + "'"; + return ctx.implicitKey ? res : foldFlowLines(res, indent, FOLD_FLOW, getFoldOptions(ctx)); + } + function blockString({ + comment, + type, + value + }, ctx, onComment, onChompKeep) { + if (/\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { + return doubleQuotedString(value, ctx); + } + const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? " " : ""); + const indentSize = indent ? "2" : "1"; + const literal = type === PlainValue.Type.BLOCK_FOLDED ? false : type === PlainValue.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth, indent.length); + let header = literal ? "|" : ">"; + if (!value) + return header + "\n"; + let wsStart = ""; + let wsEnd = ""; + value = value.replace(/[\n\t ]*$/, (ws) => { + const n = ws.indexOf("\n"); + if (n === -1) { + header += "-"; + } else if (value === ws || n !== ws.length - 1) { + header += "+"; + if (onChompKeep) + onChompKeep(); + } + wsEnd = ws.replace(/\n$/, ""); + return ""; + }).replace(/^[\n ]*/, (ws) => { + if (ws.indexOf(" ") !== -1) + header += indentSize; + const m = ws.match(/ +$/); + if (m) { + wsStart = ws.slice(0, -m[0].length); + return m[0]; + } else { + wsStart = ws; + return ""; + } + }); + if (wsEnd) + wsEnd = wsEnd.replace(/\n+(?!\n|$)/g, `$&${indent}`); + if (wsStart) + wsStart = wsStart.replace(/\n+/g, `$&${indent}`); + if (comment) { + header += " #" + comment.replace(/ ?[\r\n]+/g, " "); + if (onComment) + onComment(); + } + if (!value) + return `${header}${indentSize} +${indent}${wsEnd}`; + if (literal) { + value = value.replace(/\n+/g, `$&${indent}`); + return `${header} +${indent}${wsStart}${value}${wsEnd}`; + } + value = value.replace(/\n+/g, "\n$&").replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, "$1$2").replace(/\n+/g, `$&${indent}`); + const body = foldFlowLines(`${wsStart}${value}${wsEnd}`, indent, FOLD_BLOCK, strOptions.fold); + return `${header} +${indent}${body}`; + } + function plainString(item, ctx, onComment, onChompKeep) { + const { + comment, + type, + value + } = item; + const { + actualString, + implicitKey, + indent, + inFlow + } = ctx; + if (implicitKey && /[\n[\]{},]/.test(value) || inFlow && /[[\]{},]/.test(value)) { + return doubleQuotedString(value, ctx); + } + if (!value || /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) { + return implicitKey || inFlow || value.indexOf("\n") === -1 ? value.indexOf('"') !== -1 && value.indexOf("'") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep); + } + if (!implicitKey && !inFlow && type !== PlainValue.Type.PLAIN && value.indexOf("\n") !== -1) { + return blockString(item, ctx, onComment, onChompKeep); + } + if (indent === "" && containsDocumentMarker(value)) { + ctx.forceBlockIndent = true; + return blockString(item, ctx, onComment, onChompKeep); + } + const str = value.replace(/\n+/g, `$& +${indent}`); + if (actualString) { + const { + tags + } = ctx.doc.schema; + const resolved = resolveScalar(str, tags, tags.scalarFallback).value; + if (typeof resolved !== "string") + return doubleQuotedString(value, ctx); + } + const body = implicitKey ? str : foldFlowLines(str, indent, FOLD_FLOW, getFoldOptions(ctx)); + if (comment && !inFlow && (body.indexOf("\n") !== -1 || comment.indexOf("\n") !== -1)) { + if (onComment) + onComment(); + return addCommentBefore(body, indent, comment); + } + return body; + } + function stringifyString(item, ctx, onComment, onChompKeep) { + const { + defaultType + } = strOptions; + const { + implicitKey, + inFlow + } = ctx; + let { + type, + value + } = item; + if (typeof value !== "string") { + value = String(value); + item = Object.assign({}, item, { + value + }); + } + const _stringify = (_type) => { + switch (_type) { + case PlainValue.Type.BLOCK_FOLDED: + case PlainValue.Type.BLOCK_LITERAL: + return blockString(item, ctx, onComment, onChompKeep); + case PlainValue.Type.QUOTE_DOUBLE: + return doubleQuotedString(value, ctx); + case PlainValue.Type.QUOTE_SINGLE: + return singleQuotedString(value, ctx); + case PlainValue.Type.PLAIN: + return plainString(item, ctx, onComment, onChompKeep); + default: + return null; + } + }; + if (type !== PlainValue.Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value)) { + type = PlainValue.Type.QUOTE_DOUBLE; + } else if ((implicitKey || inFlow) && (type === PlainValue.Type.BLOCK_FOLDED || type === PlainValue.Type.BLOCK_LITERAL)) { + type = PlainValue.Type.QUOTE_DOUBLE; + } + let res = _stringify(type); + if (res === null) { + res = _stringify(defaultType); + if (res === null) + throw new Error(`Unsupported default string type ${defaultType}`); + } + return res; + } + function stringifyNumber({ + format, + minFractionDigits, + tag, + value + }) { + if (typeof value === "bigint") + return String(value); + if (!isFinite(value)) + return isNaN(value) ? ".nan" : value < 0 ? "-.inf" : ".inf"; + let n = JSON.stringify(value); + if (!format && minFractionDigits && (!tag || tag === "tag:yaml.org,2002:float") && /^\d/.test(n)) { + let i = n.indexOf("."); + if (i < 0) { + i = n.length; + n += "."; + } + let d = minFractionDigits - (n.length - i - 1); + while (d-- > 0) + n += "0"; + } + return n; + } + function checkFlowCollectionEnd(errors, cst) { + let char, name; + switch (cst.type) { + case PlainValue.Type.FLOW_MAP: + char = "}"; + name = "flow map"; + break; + case PlainValue.Type.FLOW_SEQ: + char = "]"; + name = "flow sequence"; + break; + default: + errors.push(new PlainValue.YAMLSemanticError(cst, "Not a flow collection!?")); + return; + } + let lastItem; + for (let i = cst.items.length - 1; i >= 0; --i) { + const item = cst.items[i]; + if (!item || item.type !== PlainValue.Type.COMMENT) { + lastItem = item; + break; + } + } + if (lastItem && lastItem.char !== char) { + const msg = `Expected ${name} to end with ${char}`; + let err; + if (typeof lastItem.offset === "number") { + err = new PlainValue.YAMLSemanticError(cst, msg); + err.offset = lastItem.offset + 1; + } else { + err = new PlainValue.YAMLSemanticError(lastItem, msg); + if (lastItem.range && lastItem.range.end) + err.offset = lastItem.range.end - lastItem.range.start; + } + errors.push(err); + } + } + function checkFlowCommentSpace(errors, comment) { + const prev = comment.context.src[comment.range.start - 1]; + if (prev !== "\n" && prev !== " " && prev !== " ") { + const msg = "Comments must be separated from other tokens by white space characters"; + errors.push(new PlainValue.YAMLSemanticError(comment, msg)); + } + } + function getLongKeyError(source, key) { + const sk = String(key); + const k = sk.substr(0, 8) + "..." + sk.substr(-8); + return new PlainValue.YAMLSemanticError(source, `The "${k}" key is too long`); + } + function resolveComments(collection, comments) { + for (const { + afterKey, + before, + comment + } of comments) { + let item = collection.items[before]; + if (!item) { + if (comment !== void 0) { + if (collection.comment) + collection.comment += "\n" + comment; + else + collection.comment = comment; + } + } else { + if (afterKey && item.value) + item = item.value; + if (comment === void 0) { + if (afterKey || !item.commentBefore) + item.spaceBefore = true; + } else { + if (item.commentBefore) + item.commentBefore += "\n" + comment; + else + item.commentBefore = comment; + } + } + } + } + function resolveString(doc, node) { + const res = node.strValue; + if (!res) + return ""; + if (typeof res === "string") + return res; + res.errors.forEach((error) => { + if (!error.source) + error.source = node; + doc.errors.push(error); + }); + return res.str; + } + function resolveTagHandle(doc, node) { + const { + handle, + suffix + } = node.tag; + let prefix = doc.tagPrefixes.find((p) => p.handle === handle); + if (!prefix) { + const dtp = doc.getDefaults().tagPrefixes; + if (dtp) + prefix = dtp.find((p) => p.handle === handle); + if (!prefix) + throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`); + } + if (!suffix) + throw new PlainValue.YAMLSemanticError(node, `The ${handle} tag has no suffix.`); + if (handle === "!" && (doc.version || doc.options.version) === "1.0") { + if (suffix[0] === "^") { + doc.warnings.push(new PlainValue.YAMLWarning(node, "YAML 1.0 ^ tag expansion is not supported")); + return suffix; + } + if (/[:/]/.test(suffix)) { + const vocab = suffix.match(/^([a-z0-9-]+)\/(.*)/i); + return vocab ? `tag:${vocab[1]}.yaml.org,2002:${vocab[2]}` : `tag:${suffix}`; + } + } + return prefix.prefix + decodeURIComponent(suffix); + } + function resolveTagName(doc, node) { + const { + tag, + type + } = node; + let nonSpecific = false; + if (tag) { + const { + handle, + suffix, + verbatim + } = tag; + if (verbatim) { + if (verbatim !== "!" && verbatim !== "!!") + return verbatim; + const msg = `Verbatim tags aren't resolved, so ${verbatim} is invalid.`; + doc.errors.push(new PlainValue.YAMLSemanticError(node, msg)); + } else if (handle === "!" && !suffix) { + nonSpecific = true; + } else { + try { + return resolveTagHandle(doc, node); + } catch (error) { + doc.errors.push(error); + } + } + } + switch (type) { + case PlainValue.Type.BLOCK_FOLDED: + case PlainValue.Type.BLOCK_LITERAL: + case PlainValue.Type.QUOTE_DOUBLE: + case PlainValue.Type.QUOTE_SINGLE: + return PlainValue.defaultTags.STR; + case PlainValue.Type.FLOW_MAP: + case PlainValue.Type.MAP: + return PlainValue.defaultTags.MAP; + case PlainValue.Type.FLOW_SEQ: + case PlainValue.Type.SEQ: + return PlainValue.defaultTags.SEQ; + case PlainValue.Type.PLAIN: + return nonSpecific ? PlainValue.defaultTags.STR : null; + default: + return null; + } + } + function resolveByTagName(doc, node, tagName) { + const { + tags + } = doc.schema; + const matchWithTest = []; + for (const tag of tags) { + if (tag.tag === tagName) { + if (tag.test) + matchWithTest.push(tag); + else { + const res = tag.resolve(doc, node); + return res instanceof Collection ? res : new Scalar(res); + } + } + } + const str = resolveString(doc, node); + if (typeof str === "string" && matchWithTest.length > 0) + return resolveScalar(str, matchWithTest, tags.scalarFallback); + return null; + } + function getFallbackTagName({ + type + }) { + switch (type) { + case PlainValue.Type.FLOW_MAP: + case PlainValue.Type.MAP: + return PlainValue.defaultTags.MAP; + case PlainValue.Type.FLOW_SEQ: + case PlainValue.Type.SEQ: + return PlainValue.defaultTags.SEQ; + default: + return PlainValue.defaultTags.STR; + } + } + function resolveTag(doc, node, tagName) { + try { + const res = resolveByTagName(doc, node, tagName); + if (res) { + if (tagName && node.tag) + res.tag = tagName; + return res; + } + } catch (error) { + if (!error.source) + error.source = node; + doc.errors.push(error); + return null; + } + try { + const fallback = getFallbackTagName(node); + if (!fallback) + throw new Error(`The tag ${tagName} is unavailable`); + const msg = `The tag ${tagName} is unavailable, falling back to ${fallback}`; + doc.warnings.push(new PlainValue.YAMLWarning(node, msg)); + const res = resolveByTagName(doc, node, fallback); + res.tag = tagName; + return res; + } catch (error) { + const refError = new PlainValue.YAMLReferenceError(node, error.message); + refError.stack = error.stack; + doc.errors.push(refError); + return null; + } + } + var isCollectionItem = (node) => { + if (!node) + return false; + const { + type + } = node; + return type === PlainValue.Type.MAP_KEY || type === PlainValue.Type.MAP_VALUE || type === PlainValue.Type.SEQ_ITEM; + }; + function resolveNodeProps(errors, node) { + const comments = { + before: [], + after: [] + }; + let hasAnchor = false; + let hasTag = false; + const props = isCollectionItem(node.context.parent) ? node.context.parent.props.concat(node.props) : node.props; + for (const { + start, + end + } of props) { + switch (node.context.src[start]) { + case PlainValue.Char.COMMENT: { + if (!node.commentHasRequiredWhitespace(start)) { + const msg = "Comments must be separated from other tokens by white space characters"; + errors.push(new PlainValue.YAMLSemanticError(node, msg)); + } + const { + header, + valueRange + } = node; + const cc = valueRange && (start > valueRange.start || header && start > header.start) ? comments.after : comments.before; + cc.push(node.context.src.slice(start + 1, end)); + break; + } + case PlainValue.Char.ANCHOR: + if (hasAnchor) { + const msg = "A node can have at most one anchor"; + errors.push(new PlainValue.YAMLSemanticError(node, msg)); + } + hasAnchor = true; + break; + case PlainValue.Char.TAG: + if (hasTag) { + const msg = "A node can have at most one tag"; + errors.push(new PlainValue.YAMLSemanticError(node, msg)); + } + hasTag = true; + break; + } + } + return { + comments, + hasAnchor, + hasTag + }; + } + function resolveNodeValue(doc, node) { + const { + anchors, + errors, + schema + } = doc; + if (node.type === PlainValue.Type.ALIAS) { + const name = node.rawValue; + const src = anchors.getNode(name); + if (!src) { + const msg = `Aliased anchor not found: ${name}`; + errors.push(new PlainValue.YAMLReferenceError(node, msg)); + return null; + } + const res = new Alias(src); + anchors._cstAliases.push(res); + return res; + } + const tagName = resolveTagName(doc, node); + if (tagName) + return resolveTag(doc, node, tagName); + if (node.type !== PlainValue.Type.PLAIN) { + const msg = `Failed to resolve ${node.type} node here`; + errors.push(new PlainValue.YAMLSyntaxError(node, msg)); + return null; + } + try { + const str = resolveString(doc, node); + return resolveScalar(str, schema.tags, schema.tags.scalarFallback); + } catch (error) { + if (!error.source) + error.source = node; + errors.push(error); + return null; + } + } + function resolveNode(doc, node) { + if (!node) + return null; + if (node.error) + doc.errors.push(node.error); + const { + comments, + hasAnchor, + hasTag + } = resolveNodeProps(doc.errors, node); + if (hasAnchor) { + const { + anchors + } = doc; + const name = node.anchor; + const prev = anchors.getNode(name); + if (prev) + anchors.map[anchors.newName(name)] = prev; + anchors.map[name] = node; + } + if (node.type === PlainValue.Type.ALIAS && (hasAnchor || hasTag)) { + const msg = "An alias node must not specify any properties"; + doc.errors.push(new PlainValue.YAMLSemanticError(node, msg)); + } + const res = resolveNodeValue(doc, node); + if (res) { + res.range = [node.range.start, node.range.end]; + if (doc.options.keepCstNodes) + res.cstNode = node; + if (doc.options.keepNodeTypes) + res.type = node.type; + const cb = comments.before.join("\n"); + if (cb) { + res.commentBefore = res.commentBefore ? `${res.commentBefore} +${cb}` : cb; + } + const ca = comments.after.join("\n"); + if (ca) + res.comment = res.comment ? `${res.comment} +${ca}` : ca; + } + return node.resolved = res; + } + function resolveMap(doc, cst) { + if (cst.type !== PlainValue.Type.MAP && cst.type !== PlainValue.Type.FLOW_MAP) { + const msg = `A ${cst.type} node cannot be resolved as a mapping`; + doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg)); + return null; + } + const { + comments, + items + } = cst.type === PlainValue.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst); + const map = new YAMLMap(); + map.items = items; + resolveComments(map, comments); + let hasCollectionKey = false; + for (let i = 0; i < items.length; ++i) { + const { + key: iKey + } = items[i]; + if (iKey instanceof Collection) + hasCollectionKey = true; + if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) { + items[i] = new Merge(items[i]); + const sources = items[i].value.items; + let error = null; + sources.some((node) => { + if (node instanceof Alias) { + const { + type + } = node.source; + if (type === PlainValue.Type.MAP || type === PlainValue.Type.FLOW_MAP) + return false; + return error = "Merge nodes aliases can only point to maps"; + } + return error = "Merge nodes can only have Alias nodes as values"; + }); + if (error) + doc.errors.push(new PlainValue.YAMLSemanticError(cst, error)); + } else { + for (let j = i + 1; j < items.length; ++j) { + const { + key: jKey + } = items[j]; + if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, "value") && iKey.value === jKey.value) { + const msg = `Map keys must be unique; "${iKey}" is repeated`; + doc.errors.push(new PlainValue.YAMLSemanticError(cst, msg)); + break; + } + } + } + } + if (hasCollectionKey && !doc.options.mapAsMap) { + const warn = "Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this."; + doc.warnings.push(new PlainValue.YAMLWarning(cst, warn)); + } + cst.resolved = map; + return map; + } + var valueHasPairComment = ({ + context: { + lineStart, + node, + src + }, + props + }) => { + if (props.length === 0) + return false; + const { + start + } = props[0]; + if (node && start > node.valueRange.start) + return false; + if (src[start] !== PlainValue.Char.COMMENT) + return false; + for (let i = lineStart; i < start; ++i) + if (src[i] === "\n") + return false; + return true; + }; + function resolvePairComment(item, pair) { + if (!valueHasPairComment(item)) + return; + const comment = item.getPropValue(0, PlainValue.Char.COMMENT, true); + let found = false; + const cb = pair.value.commentBefore; + if (cb && cb.startsWith(comment)) { + pair.value.commentBefore = cb.substr(comment.length + 1); + found = true; + } else { + const cc = pair.value.comment; + if (!item.node && cc && cc.startsWith(comment)) { + pair.value.comment = cc.substr(comment.length + 1); + found = true; + } + } + if (found) + pair.comment = comment; + } + function resolveBlockMapItems(doc, cst) { + const comments = []; + const items = []; + let key = void 0; + let keyStart = null; + for (let i = 0; i < cst.items.length; ++i) { + const item = cst.items[i]; + switch (item.type) { + case PlainValue.Type.BLANK_LINE: + comments.push({ + afterKey: !!key, + before: items.length + }); + break; + case PlainValue.Type.COMMENT: + comments.push({ + afterKey: !!key, + before: items.length, + comment: item.comment + }); + break; + case PlainValue.Type.MAP_KEY: + if (key !== void 0) + items.push(new Pair(key)); + if (item.error) + doc.errors.push(item.error); + key = resolveNode(doc, item.node); + keyStart = null; + break; + case PlainValue.Type.MAP_VALUE: + { + if (key === void 0) + key = null; + if (item.error) + doc.errors.push(item.error); + if (!item.context.atLineStart && item.node && item.node.type === PlainValue.Type.MAP && !item.node.context.atLineStart) { + const msg = "Nested mappings are not allowed in compact mappings"; + doc.errors.push(new PlainValue.YAMLSemanticError(item.node, msg)); + } + let valueNode = item.node; + if (!valueNode && item.props.length > 0) { + valueNode = new PlainValue.PlainValue(PlainValue.Type.PLAIN, []); + valueNode.context = { + parent: item, + src: item.context.src + }; + const pos = item.range.start + 1; + valueNode.range = { + start: pos, + end: pos + }; + valueNode.valueRange = { + start: pos, + end: pos + }; + if (typeof item.range.origStart === "number") { + const origPos = item.range.origStart + 1; + valueNode.range.origStart = valueNode.range.origEnd = origPos; + valueNode.valueRange.origStart = valueNode.valueRange.origEnd = origPos; + } + } + const pair = new Pair(key, resolveNode(doc, valueNode)); + resolvePairComment(item, pair); + items.push(pair); + if (key && typeof keyStart === "number") { + if (item.range.start > keyStart + 1024) + doc.errors.push(getLongKeyError(cst, key)); + } + key = void 0; + keyStart = null; + } + break; + default: + if (key !== void 0) + items.push(new Pair(key)); + key = resolveNode(doc, item); + keyStart = item.range.start; + if (item.error) + doc.errors.push(item.error); + next: + for (let j = i + 1; ; ++j) { + const nextItem = cst.items[j]; + switch (nextItem && nextItem.type) { + case PlainValue.Type.BLANK_LINE: + case PlainValue.Type.COMMENT: + continue next; + case PlainValue.Type.MAP_VALUE: + break next; + default: { + const msg = "Implicit map keys need to be followed by map values"; + doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); + break next; + } + } + } + if (item.valueRangeContainsNewline) { + const msg = "Implicit map keys need to be on a single line"; + doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); + } + } + } + if (key !== void 0) + items.push(new Pair(key)); + return { + comments, + items + }; + } + function resolveFlowMapItems(doc, cst) { + const comments = []; + const items = []; + let key = void 0; + let explicitKey = false; + let next = "{"; + for (let i = 0; i < cst.items.length; ++i) { + const item = cst.items[i]; + if (typeof item.char === "string") { + const { + char, + offset + } = item; + if (char === "?" && key === void 0 && !explicitKey) { + explicitKey = true; + next = ":"; + continue; + } + if (char === ":") { + if (key === void 0) + key = null; + if (next === ":") { + next = ","; + continue; + } + } else { + if (explicitKey) { + if (key === void 0 && char !== ",") + key = null; + explicitKey = false; + } + if (key !== void 0) { + items.push(new Pair(key)); + key = void 0; + if (char === ",") { + next = ":"; + continue; + } + } + } + if (char === "}") { + if (i === cst.items.length - 1) + continue; + } else if (char === next) { + next = ":"; + continue; + } + const msg = `Flow map contains an unexpected ${char}`; + const err = new PlainValue.YAMLSyntaxError(cst, msg); + err.offset = offset; + doc.errors.push(err); + } else if (item.type === PlainValue.Type.BLANK_LINE) { + comments.push({ + afterKey: !!key, + before: items.length + }); + } else if (item.type === PlainValue.Type.COMMENT) { + checkFlowCommentSpace(doc.errors, item); + comments.push({ + afterKey: !!key, + before: items.length, + comment: item.comment + }); + } else if (key === void 0) { + if (next === ",") + doc.errors.push(new PlainValue.YAMLSemanticError(item, "Separator , missing in flow map")); + key = resolveNode(doc, item); + } else { + if (next !== ",") + doc.errors.push(new PlainValue.YAMLSemanticError(item, "Indicator : missing in flow map entry")); + items.push(new Pair(key, resolveNode(doc, item))); + key = void 0; + explicitKey = false; + } + } + checkFlowCollectionEnd(doc.errors, cst); + if (key !== void 0) + items.push(new Pair(key)); + return { + comments, + items + }; + } + function resolveSeq(doc, cst) { + if (cst.type !== PlainValue.Type.SEQ && cst.type !== PlainValue.Type.FLOW_SEQ) { + const msg = `A ${cst.type} node cannot be resolved as a sequence`; + doc.errors.push(new PlainValue.YAMLSyntaxError(cst, msg)); + return null; + } + const { + comments, + items + } = cst.type === PlainValue.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst); + const seq = new YAMLSeq(); + seq.items = items; + resolveComments(seq, comments); + if (!doc.options.mapAsMap && items.some((it) => it instanceof Pair && it.key instanceof Collection)) { + const warn = "Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this."; + doc.warnings.push(new PlainValue.YAMLWarning(cst, warn)); + } + cst.resolved = seq; + return seq; + } + function resolveBlockSeqItems(doc, cst) { + const comments = []; + const items = []; + for (let i = 0; i < cst.items.length; ++i) { + const item = cst.items[i]; + switch (item.type) { + case PlainValue.Type.BLANK_LINE: + comments.push({ + before: items.length + }); + break; + case PlainValue.Type.COMMENT: + comments.push({ + comment: item.comment, + before: items.length + }); + break; + case PlainValue.Type.SEQ_ITEM: + if (item.error) + doc.errors.push(item.error); + items.push(resolveNode(doc, item.node)); + if (item.hasProps) { + const msg = "Sequence items cannot have tags or anchors before the - indicator"; + doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); + } + break; + default: + if (item.error) + doc.errors.push(item.error); + doc.errors.push(new PlainValue.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`)); + } + } + return { + comments, + items + }; + } + function resolveFlowSeqItems(doc, cst) { + const comments = []; + const items = []; + let explicitKey = false; + let key = void 0; + let keyStart = null; + let next = "["; + let prevItem = null; + for (let i = 0; i < cst.items.length; ++i) { + const item = cst.items[i]; + if (typeof item.char === "string") { + const { + char, + offset + } = item; + if (char !== ":" && (explicitKey || key !== void 0)) { + if (explicitKey && key === void 0) + key = next ? items.pop() : null; + items.push(new Pair(key)); + explicitKey = false; + key = void 0; + keyStart = null; + } + if (char === next) { + next = null; + } else if (!next && char === "?") { + explicitKey = true; + } else if (next !== "[" && char === ":" && key === void 0) { + if (next === ",") { + key = items.pop(); + if (key instanceof Pair) { + const msg = "Chaining flow sequence pairs is invalid"; + const err = new PlainValue.YAMLSemanticError(cst, msg); + err.offset = offset; + doc.errors.push(err); + } + if (!explicitKey && typeof keyStart === "number") { + const keyEnd = item.range ? item.range.start : item.offset; + if (keyEnd > keyStart + 1024) + doc.errors.push(getLongKeyError(cst, key)); + const { + src + } = prevItem.context; + for (let i2 = keyStart; i2 < keyEnd; ++i2) + if (src[i2] === "\n") { + const msg = "Implicit keys of flow sequence pairs need to be on a single line"; + doc.errors.push(new PlainValue.YAMLSemanticError(prevItem, msg)); + break; + } + } + } else { + key = null; + } + keyStart = null; + explicitKey = false; + next = null; + } else if (next === "[" || char !== "]" || i < cst.items.length - 1) { + const msg = `Flow sequence contains an unexpected ${char}`; + const err = new PlainValue.YAMLSyntaxError(cst, msg); + err.offset = offset; + doc.errors.push(err); + } + } else if (item.type === PlainValue.Type.BLANK_LINE) { + comments.push({ + before: items.length + }); + } else if (item.type === PlainValue.Type.COMMENT) { + checkFlowCommentSpace(doc.errors, item); + comments.push({ + comment: item.comment, + before: items.length + }); + } else { + if (next) { + const msg = `Expected a ${next} in flow sequence`; + doc.errors.push(new PlainValue.YAMLSemanticError(item, msg)); + } + const value = resolveNode(doc, item); + if (key === void 0) { + items.push(value); + prevItem = item; + } else { + items.push(new Pair(key, value)); + key = void 0; + } + keyStart = item.range.start; + next = ","; + } + } + checkFlowCollectionEnd(doc.errors, cst); + if (key !== void 0) + items.push(new Pair(key)); + return { + comments, + items + }; + } + exports2.Alias = Alias; + exports2.Collection = Collection; + exports2.Merge = Merge; + exports2.Node = Node; + exports2.Pair = Pair; + exports2.Scalar = Scalar; + exports2.YAMLMap = YAMLMap; + exports2.YAMLSeq = YAMLSeq; + exports2.addComment = addComment; + exports2.binaryOptions = binaryOptions; + exports2.boolOptions = boolOptions; + exports2.findPair = findPair; + exports2.intOptions = intOptions; + exports2.isEmptyPath = isEmptyPath; + exports2.nullOptions = nullOptions; + exports2.resolveMap = resolveMap; + exports2.resolveNode = resolveNode; + exports2.resolveSeq = resolveSeq; + exports2.resolveString = resolveString; + exports2.strOptions = strOptions; + exports2.stringifyNumber = stringifyNumber; + exports2.stringifyString = stringifyString; + exports2.toJSON = toJSON; + } +}); +var require_warnings_1000a372 = __commonJS({ + "node_modules/yaml/dist/warnings-1000a372.js"(exports2) { + "use strict"; + var PlainValue = require_PlainValue_ec8e588e(); + var resolveSeq = require_resolveSeq_d03cb037(); + var binary = { + identify: (value) => value instanceof Uint8Array, + default: false, + tag: "tag:yaml.org,2002:binary", + resolve: (doc, node) => { + const src = resolveSeq.resolveString(doc, node); + if (typeof Buffer === "function") { + return Buffer.from(src, "base64"); + } else if (typeof atob === "function") { + const str = atob(src.replace(/[\n\r]/g, "")); + const buffer = new Uint8Array(str.length); + for (let i = 0; i < str.length; ++i) + buffer[i] = str.charCodeAt(i); + return buffer; + } else { + const msg = "This environment does not support reading binary tags; either Buffer or atob is required"; + doc.errors.push(new PlainValue.YAMLReferenceError(node, msg)); + return null; + } + }, + options: resolveSeq.binaryOptions, + stringify: ({ + comment, + type, + value + }, ctx, onComment, onChompKeep) => { + let src; + if (typeof Buffer === "function") { + src = value instanceof Buffer ? value.toString("base64") : Buffer.from(value.buffer).toString("base64"); + } else if (typeof btoa === "function") { + let s = ""; + for (let i = 0; i < value.length; ++i) + s += String.fromCharCode(value[i]); + src = btoa(s); + } else { + throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required"); + } + if (!type) + type = resolveSeq.binaryOptions.defaultType; + if (type === PlainValue.Type.QUOTE_DOUBLE) { + value = src; + } else { + const { + lineWidth + } = resolveSeq.binaryOptions; + const n = Math.ceil(src.length / lineWidth); + const lines = new Array(n); + for (let i = 0, o = 0; i < n; ++i, o += lineWidth) { + lines[i] = src.substr(o, lineWidth); + } + value = lines.join(type === PlainValue.Type.BLOCK_LITERAL ? "\n" : " "); + } + return resolveSeq.stringifyString({ + comment, + type, + value + }, ctx, onComment, onChompKeep); + } + }; + function parsePairs(doc, cst) { + const seq = resolveSeq.resolveSeq(doc, cst); + for (let i = 0; i < seq.items.length; ++i) { + let item = seq.items[i]; + if (item instanceof resolveSeq.Pair) + continue; + else if (item instanceof resolveSeq.YAMLMap) { + if (item.items.length > 1) { + const msg = "Each pair must have its own sequence indicator"; + throw new PlainValue.YAMLSemanticError(cst, msg); + } + const pair = item.items[0] || new resolveSeq.Pair(); + if (item.commentBefore) + pair.commentBefore = pair.commentBefore ? `${item.commentBefore} +${pair.commentBefore}` : item.commentBefore; + if (item.comment) + pair.comment = pair.comment ? `${item.comment} +${pair.comment}` : item.comment; + item = pair; + } + seq.items[i] = item instanceof resolveSeq.Pair ? item : new resolveSeq.Pair(item); + } + return seq; + } + function createPairs(schema, iterable, ctx) { + const pairs2 = new resolveSeq.YAMLSeq(schema); + pairs2.tag = "tag:yaml.org,2002:pairs"; + for (const it of iterable) { + let key, value; + if (Array.isArray(it)) { + if (it.length === 2) { + key = it[0]; + value = it[1]; + } else + throw new TypeError(`Expected [key, value] tuple: ${it}`); + } else if (it && it instanceof Object) { + const keys = Object.keys(it); + if (keys.length === 1) { + key = keys[0]; + value = it[key]; + } else + throw new TypeError(`Expected { key: value } tuple: ${it}`); + } else { + key = it; + } + const pair = schema.createPair(key, value, ctx); + pairs2.items.push(pair); + } + return pairs2; + } + var pairs = { + default: false, + tag: "tag:yaml.org,2002:pairs", + resolve: parsePairs, + createNode: createPairs + }; + var YAMLOMap = class extends resolveSeq.YAMLSeq { + constructor() { + super(); + PlainValue._defineProperty(this, "add", resolveSeq.YAMLMap.prototype.add.bind(this)); + PlainValue._defineProperty(this, "delete", resolveSeq.YAMLMap.prototype.delete.bind(this)); + PlainValue._defineProperty(this, "get", resolveSeq.YAMLMap.prototype.get.bind(this)); + PlainValue._defineProperty(this, "has", resolveSeq.YAMLMap.prototype.has.bind(this)); + PlainValue._defineProperty(this, "set", resolveSeq.YAMLMap.prototype.set.bind(this)); + this.tag = YAMLOMap.tag; + } + toJSON(_, ctx) { + const map = /* @__PURE__ */ new Map(); + if (ctx && ctx.onCreate) + ctx.onCreate(map); + for (const pair of this.items) { + let key, value; + if (pair instanceof resolveSeq.Pair) { + key = resolveSeq.toJSON(pair.key, "", ctx); + value = resolveSeq.toJSON(pair.value, key, ctx); + } else { + key = resolveSeq.toJSON(pair, "", ctx); + } + if (map.has(key)) + throw new Error("Ordered maps must not include duplicate keys"); + map.set(key, value); + } + return map; + } + }; + PlainValue._defineProperty(YAMLOMap, "tag", "tag:yaml.org,2002:omap"); + function parseOMap(doc, cst) { + const pairs2 = parsePairs(doc, cst); + const seenKeys = []; + for (const { + key + } of pairs2.items) { + if (key instanceof resolveSeq.Scalar) { + if (seenKeys.includes(key.value)) { + const msg = "Ordered maps must not include duplicate keys"; + throw new PlainValue.YAMLSemanticError(cst, msg); + } else { + seenKeys.push(key.value); + } + } + } + return Object.assign(new YAMLOMap(), pairs2); + } + function createOMap(schema, iterable, ctx) { + const pairs2 = createPairs(schema, iterable, ctx); + const omap2 = new YAMLOMap(); + omap2.items = pairs2.items; + return omap2; + } + var omap = { + identify: (value) => value instanceof Map, + nodeClass: YAMLOMap, + default: false, + tag: "tag:yaml.org,2002:omap", + resolve: parseOMap, + createNode: createOMap + }; + var YAMLSet = class extends resolveSeq.YAMLMap { + constructor() { + super(); + this.tag = YAMLSet.tag; + } + add(key) { + const pair = key instanceof resolveSeq.Pair ? key : new resolveSeq.Pair(key); + const prev = resolveSeq.findPair(this.items, pair.key); + if (!prev) + this.items.push(pair); + } + get(key, keepPair) { + const pair = resolveSeq.findPair(this.items, key); + return !keepPair && pair instanceof resolveSeq.Pair ? pair.key instanceof resolveSeq.Scalar ? pair.key.value : pair.key : pair; + } + set(key, value) { + if (typeof value !== "boolean") + throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`); + const prev = resolveSeq.findPair(this.items, key); + if (prev && !value) { + this.items.splice(this.items.indexOf(prev), 1); + } else if (!prev && value) { + this.items.push(new resolveSeq.Pair(key)); + } + } + toJSON(_, ctx) { + return super.toJSON(_, ctx, Set); + } + toString(ctx, onComment, onChompKeep) { + if (!ctx) + return JSON.stringify(this); + if (this.hasAllNullValues()) + return super.toString(ctx, onComment, onChompKeep); + else + throw new Error("Set items must all have null values"); + } + }; + PlainValue._defineProperty(YAMLSet, "tag", "tag:yaml.org,2002:set"); + function parseSet(doc, cst) { + const map = resolveSeq.resolveMap(doc, cst); + if (!map.hasAllNullValues()) + throw new PlainValue.YAMLSemanticError(cst, "Set items must all have null values"); + return Object.assign(new YAMLSet(), map); + } + function createSet(schema, iterable, ctx) { + const set2 = new YAMLSet(); + for (const value of iterable) + set2.items.push(schema.createPair(value, null, ctx)); + return set2; + } + var set = { + identify: (value) => value instanceof Set, + nodeClass: YAMLSet, + default: false, + tag: "tag:yaml.org,2002:set", + resolve: parseSet, + createNode: createSet + }; + var parseSexagesimal = (sign, parts) => { + const n = parts.split(":").reduce((n2, p) => n2 * 60 + Number(p), 0); + return sign === "-" ? -n : n; + }; + var stringifySexagesimal = ({ + value + }) => { + if (isNaN(value) || !isFinite(value)) + return resolveSeq.stringifyNumber(value); + let sign = ""; + if (value < 0) { + sign = "-"; + value = Math.abs(value); + } + const parts = [value % 60]; + if (value < 60) { + parts.unshift(0); + } else { + value = Math.round((value - parts[0]) / 60); + parts.unshift(value % 60); + if (value >= 60) { + value = Math.round((value - parts[0]) / 60); + parts.unshift(value); + } + } + return sign + parts.map((n) => n < 10 ? "0" + String(n) : String(n)).join(":").replace(/000000\d*$/, ""); + }; + var intTime = { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:int", + format: "TIME", + test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/, + resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, "")), + stringify: stringifySexagesimal + }; + var floatTime = { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + format: "TIME", + test: /^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/, + resolve: (str, sign, parts) => parseSexagesimal(sign, parts.replace(/_/g, "")), + stringify: stringifySexagesimal + }; + var timestamp = { + identify: (value) => value instanceof Date, + default: true, + tag: "tag:yaml.org,2002:timestamp", + test: RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"), + resolve: (str, year, month, day, hour, minute, second, millisec, tz) => { + if (millisec) + millisec = (millisec + "00").substr(1, 3); + let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec || 0); + if (tz && tz !== "Z") { + let d = parseSexagesimal(tz[0], tz.slice(1)); + if (Math.abs(d) < 30) + d *= 60; + date -= 6e4 * d; + } + return new Date(date); + }, + stringify: ({ + value + }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, "") + }; + function shouldWarn(deprecation) { + const env = typeof process !== "undefined" && process.env || {}; + if (deprecation) { + if (typeof YAML_SILENCE_DEPRECATION_WARNINGS !== "undefined") + return !YAML_SILENCE_DEPRECATION_WARNINGS; + return !env.YAML_SILENCE_DEPRECATION_WARNINGS; + } + if (typeof YAML_SILENCE_WARNINGS !== "undefined") + return !YAML_SILENCE_WARNINGS; + return !env.YAML_SILENCE_WARNINGS; + } + function warn(warning, type) { + if (shouldWarn(false)) { + const emit = typeof process !== "undefined" && process.emitWarning; + if (emit) + emit(warning, type); + else { + console.warn(type ? `${type}: ${warning}` : warning); + } + } + } + function warnFileDeprecation(filename) { + if (shouldWarn(true)) { + const path = filename.replace(/.*yaml[/\\]/i, "").replace(/\.js$/, "").replace(/\\/g, "/"); + warn(`The endpoint 'yaml/${path}' will be removed in a future release.`, "DeprecationWarning"); + } + } + var warned = {}; + function warnOptionDeprecation(name, alternative) { + if (!warned[name] && shouldWarn(true)) { + warned[name] = true; + let msg = `The option '${name}' will be removed in a future release`; + msg += alternative ? `, use '${alternative}' instead.` : "."; + warn(msg, "DeprecationWarning"); + } + } + exports2.binary = binary; + exports2.floatTime = floatTime; + exports2.intTime = intTime; + exports2.omap = omap; + exports2.pairs = pairs; + exports2.set = set; + exports2.timestamp = timestamp; + exports2.warn = warn; + exports2.warnFileDeprecation = warnFileDeprecation; + exports2.warnOptionDeprecation = warnOptionDeprecation; + } +}); +var require_Schema_88e323a7 = __commonJS({ + "node_modules/yaml/dist/Schema-88e323a7.js"(exports2) { + "use strict"; + var PlainValue = require_PlainValue_ec8e588e(); + var resolveSeq = require_resolveSeq_d03cb037(); + var warnings = require_warnings_1000a372(); + function createMap(schema, obj, ctx) { + const map2 = new resolveSeq.YAMLMap(schema); + if (obj instanceof Map) { + for (const [key, value] of obj) + map2.items.push(schema.createPair(key, value, ctx)); + } else if (obj && typeof obj === "object") { + for (const key of Object.keys(obj)) + map2.items.push(schema.createPair(key, obj[key], ctx)); + } + if (typeof schema.sortMapEntries === "function") { + map2.items.sort(schema.sortMapEntries); + } + return map2; + } + var map = { + createNode: createMap, + default: true, + nodeClass: resolveSeq.YAMLMap, + tag: "tag:yaml.org,2002:map", + resolve: resolveSeq.resolveMap + }; + function createSeq(schema, obj, ctx) { + const seq2 = new resolveSeq.YAMLSeq(schema); + if (obj && obj[Symbol.iterator]) { + for (const it of obj) { + const v = schema.createNode(it, ctx.wrapScalars, null, ctx); + seq2.items.push(v); + } + } + return seq2; + } + var seq = { + createNode: createSeq, + default: true, + nodeClass: resolveSeq.YAMLSeq, + tag: "tag:yaml.org,2002:seq", + resolve: resolveSeq.resolveSeq + }; + var string = { + identify: (value) => typeof value === "string", + default: true, + tag: "tag:yaml.org,2002:str", + resolve: resolveSeq.resolveString, + stringify(item, ctx, onComment, onChompKeep) { + ctx = Object.assign({ + actualString: true + }, ctx); + return resolveSeq.stringifyString(item, ctx, onComment, onChompKeep); + }, + options: resolveSeq.strOptions + }; + var failsafe = [map, seq, string]; + var intIdentify$2 = (value) => typeof value === "bigint" || Number.isInteger(value); + var intResolve$1 = (src, part, radix) => resolveSeq.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix); + function intStringify$1(node, radix, prefix) { + const { + value + } = node; + if (intIdentify$2(value) && value >= 0) + return prefix + value.toString(radix); + return resolveSeq.stringifyNumber(node); + } + var nullObj = { + identify: (value) => value == null, + createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, + default: true, + tag: "tag:yaml.org,2002:null", + test: /^(?:~|[Nn]ull|NULL)?$/, + resolve: () => null, + options: resolveSeq.nullOptions, + stringify: () => resolveSeq.nullOptions.nullStr + }; + var boolObj = { + identify: (value) => typeof value === "boolean", + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/, + resolve: (str) => str[0] === "t" || str[0] === "T", + options: resolveSeq.boolOptions, + stringify: ({ + value + }) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr + }; + var octObj = { + identify: (value) => intIdentify$2(value) && value >= 0, + default: true, + tag: "tag:yaml.org,2002:int", + format: "OCT", + test: /^0o([0-7]+)$/, + resolve: (str, oct) => intResolve$1(str, oct, 8), + options: resolveSeq.intOptions, + stringify: (node) => intStringify$1(node, 8, "0o") + }; + var intObj = { + identify: intIdentify$2, + default: true, + tag: "tag:yaml.org,2002:int", + test: /^[-+]?[0-9]+$/, + resolve: (str) => intResolve$1(str, str, 10), + options: resolveSeq.intOptions, + stringify: resolveSeq.stringifyNumber + }; + var hexObj = { + identify: (value) => intIdentify$2(value) && value >= 0, + default: true, + tag: "tag:yaml.org,2002:int", + format: "HEX", + test: /^0x([0-9a-fA-F]+)$/, + resolve: (str, hex) => intResolve$1(str, hex, 16), + options: resolveSeq.intOptions, + stringify: (node) => intStringify$1(node, 16, "0x") + }; + var nanObj = { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + test: /^(?:[-+]?\.inf|(\.nan))$/i, + resolve: (str, nan) => nan ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY, + stringify: resolveSeq.stringifyNumber + }; + var expObj = { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + format: "EXP", + test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/, + resolve: (str) => parseFloat(str), + stringify: ({ + value + }) => Number(value).toExponential() + }; + var floatObj = { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + test: /^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/, + resolve(str, frac1, frac2) { + const frac = frac1 || frac2; + const node = new resolveSeq.Scalar(parseFloat(str)); + if (frac && frac[frac.length - 1] === "0") + node.minFractionDigits = frac.length; + return node; + }, + stringify: resolveSeq.stringifyNumber + }; + var core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]); + var intIdentify$1 = (value) => typeof value === "bigint" || Number.isInteger(value); + var stringifyJSON = ({ + value + }) => JSON.stringify(value); + var json = [map, seq, { + identify: (value) => typeof value === "string", + default: true, + tag: "tag:yaml.org,2002:str", + resolve: resolveSeq.resolveString, + stringify: stringifyJSON + }, { + identify: (value) => value == null, + createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, + default: true, + tag: "tag:yaml.org,2002:null", + test: /^null$/, + resolve: () => null, + stringify: stringifyJSON + }, { + identify: (value) => typeof value === "boolean", + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^true|false$/, + resolve: (str) => str === "true", + stringify: stringifyJSON + }, { + identify: intIdentify$1, + default: true, + tag: "tag:yaml.org,2002:int", + test: /^-?(?:0|[1-9][0-9]*)$/, + resolve: (str) => resolveSeq.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10), + stringify: ({ + value + }) => intIdentify$1(value) ? value.toString() : JSON.stringify(value) + }, { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/, + resolve: (str) => parseFloat(str), + stringify: stringifyJSON + }]; + json.scalarFallback = (str) => { + throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(str)}`); + }; + var boolStringify = ({ + value + }) => value ? resolveSeq.boolOptions.trueStr : resolveSeq.boolOptions.falseStr; + var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value); + function intResolve(sign, src, radix) { + let str = src.replace(/_/g, ""); + if (resolveSeq.intOptions.asBigInt) { + switch (radix) { + case 2: + str = `0b${str}`; + break; + case 8: + str = `0o${str}`; + break; + case 16: + str = `0x${str}`; + break; + } + const n2 = BigInt(str); + return sign === "-" ? BigInt(-1) * n2 : n2; + } + const n = parseInt(str, radix); + return sign === "-" ? -1 * n : n; + } + function intStringify(node, radix, prefix) { + const { + value + } = node; + if (intIdentify(value)) { + const str = value.toString(radix); + return value < 0 ? "-" + prefix + str.substr(1) : prefix + str; + } + return resolveSeq.stringifyNumber(node); + } + var yaml11 = failsafe.concat([{ + identify: (value) => value == null, + createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq.Scalar(null) : null, + default: true, + tag: "tag:yaml.org,2002:null", + test: /^(?:~|[Nn]ull|NULL)?$/, + resolve: () => null, + options: resolveSeq.nullOptions, + stringify: () => resolveSeq.nullOptions.nullStr + }, { + identify: (value) => typeof value === "boolean", + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/, + resolve: () => true, + options: resolveSeq.boolOptions, + stringify: boolStringify + }, { + identify: (value) => typeof value === "boolean", + default: true, + tag: "tag:yaml.org,2002:bool", + test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i, + resolve: () => false, + options: resolveSeq.boolOptions, + stringify: boolStringify + }, { + identify: intIdentify, + default: true, + tag: "tag:yaml.org,2002:int", + format: "BIN", + test: /^([-+]?)0b([0-1_]+)$/, + resolve: (str, sign, bin) => intResolve(sign, bin, 2), + stringify: (node) => intStringify(node, 2, "0b") + }, { + identify: intIdentify, + default: true, + tag: "tag:yaml.org,2002:int", + format: "OCT", + test: /^([-+]?)0([0-7_]+)$/, + resolve: (str, sign, oct) => intResolve(sign, oct, 8), + stringify: (node) => intStringify(node, 8, "0") + }, { + identify: intIdentify, + default: true, + tag: "tag:yaml.org,2002:int", + test: /^([-+]?)([0-9][0-9_]*)$/, + resolve: (str, sign, abs) => intResolve(sign, abs, 10), + stringify: resolveSeq.stringifyNumber + }, { + identify: intIdentify, + default: true, + tag: "tag:yaml.org,2002:int", + format: "HEX", + test: /^([-+]?)0x([0-9a-fA-F_]+)$/, + resolve: (str, sign, hex) => intResolve(sign, hex, 16), + stringify: (node) => intStringify(node, 16, "0x") + }, { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + test: /^(?:[-+]?\.inf|(\.nan))$/i, + resolve: (str, nan) => nan ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY, + stringify: resolveSeq.stringifyNumber + }, { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + format: "EXP", + test: /^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/, + resolve: (str) => parseFloat(str.replace(/_/g, "")), + stringify: ({ + value + }) => Number(value).toExponential() + }, { + identify: (value) => typeof value === "number", + default: true, + tag: "tag:yaml.org,2002:float", + test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/, + resolve(str, frac) { + const node = new resolveSeq.Scalar(parseFloat(str.replace(/_/g, ""))); + if (frac) { + const f = frac.replace(/_/g, ""); + if (f[f.length - 1] === "0") + node.minFractionDigits = f.length; + } + return node; + }, + stringify: resolveSeq.stringifyNumber + }], warnings.binary, warnings.omap, warnings.pairs, warnings.set, warnings.intTime, warnings.floatTime, warnings.timestamp); + var schemas = { + core, + failsafe, + json, + yaml11 + }; + var tags = { + binary: warnings.binary, + bool: boolObj, + float: floatObj, + floatExp: expObj, + floatNaN: nanObj, + floatTime: warnings.floatTime, + int: intObj, + intHex: hexObj, + intOct: octObj, + intTime: warnings.intTime, + map, + null: nullObj, + omap: warnings.omap, + pairs: warnings.pairs, + seq, + set: warnings.set, + timestamp: warnings.timestamp + }; + function findTagObject(value, tagName, tags2) { + if (tagName) { + const match = tags2.filter((t) => t.tag === tagName); + const tagObj = match.find((t) => !t.format) || match[0]; + if (!tagObj) + throw new Error(`Tag ${tagName} not found`); + return tagObj; + } + return tags2.find((t) => (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format); + } + function createNode(value, tagName, ctx) { + if (value instanceof resolveSeq.Node) + return value; + const { + defaultPrefix, + onTagObj, + prevObjects, + schema, + wrapScalars + } = ctx; + if (tagName && tagName.startsWith("!!")) + tagName = defaultPrefix + tagName.slice(2); + let tagObj = findTagObject(value, tagName, schema.tags); + if (!tagObj) { + if (typeof value.toJSON === "function") + value = value.toJSON(); + if (!value || typeof value !== "object") + return wrapScalars ? new resolveSeq.Scalar(value) : value; + tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map; + } + if (onTagObj) { + onTagObj(tagObj); + delete ctx.onTagObj; + } + const obj = { + value: void 0, + node: void 0 + }; + if (value && typeof value === "object" && prevObjects) { + const prev = prevObjects.get(value); + if (prev) { + const alias = new resolveSeq.Alias(prev); + ctx.aliasNodes.push(alias); + return alias; + } + obj.value = value; + prevObjects.set(value, obj); + } + obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq.Scalar(value) : value; + if (tagName && obj.node instanceof resolveSeq.Node) + obj.node.tag = tagName; + return obj.node; + } + function getSchemaTags(schemas2, knownTags, customTags, schemaId) { + let tags2 = schemas2[schemaId.replace(/\W/g, "")]; + if (!tags2) { + const keys = Object.keys(schemas2).map((key) => JSON.stringify(key)).join(", "); + throw new Error(`Unknown schema "${schemaId}"; use one of ${keys}`); + } + if (Array.isArray(customTags)) { + for (const tag of customTags) + tags2 = tags2.concat(tag); + } else if (typeof customTags === "function") { + tags2 = customTags(tags2.slice()); + } + for (let i = 0; i < tags2.length; ++i) { + const tag = tags2[i]; + if (typeof tag === "string") { + const tagObj = knownTags[tag]; + if (!tagObj) { + const keys = Object.keys(knownTags).map((key) => JSON.stringify(key)).join(", "); + throw new Error(`Unknown custom tag "${tag}"; use one of ${keys}`); + } + tags2[i] = tagObj; + } + } + return tags2; + } + var sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0; + var Schema = class { + constructor({ + customTags, + merge, + schema, + sortMapEntries, + tags: deprecatedCustomTags + }) { + this.merge = !!merge; + this.name = schema; + this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null; + if (!customTags && deprecatedCustomTags) + warnings.warnOptionDeprecation("tags", "customTags"); + this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema); + } + createNode(value, wrapScalars, tagName, ctx) { + const baseCtx = { + defaultPrefix: Schema.defaultPrefix, + schema: this, + wrapScalars + }; + const createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx; + return createNode(value, tagName, createCtx); + } + createPair(key, value, ctx) { + if (!ctx) + ctx = { + wrapScalars: true + }; + const k = this.createNode(key, ctx.wrapScalars, null, ctx); + const v = this.createNode(value, ctx.wrapScalars, null, ctx); + return new resolveSeq.Pair(k, v); + } + }; + PlainValue._defineProperty(Schema, "defaultPrefix", PlainValue.defaultTagPrefix); + PlainValue._defineProperty(Schema, "defaultTags", PlainValue.defaultTags); + exports2.Schema = Schema; + } +}); +var require_Document_9b4560a1 = __commonJS({ + "node_modules/yaml/dist/Document-9b4560a1.js"(exports2) { + "use strict"; + var PlainValue = require_PlainValue_ec8e588e(); + var resolveSeq = require_resolveSeq_d03cb037(); + var Schema = require_Schema_88e323a7(); + var defaultOptions = { + anchorPrefix: "a", + customTags: null, + indent: 2, + indentSeq: true, + keepCstNodes: false, + keepNodeTypes: true, + keepBlobsInJSON: true, + mapAsMap: false, + maxAliasCount: 100, + prettyErrors: false, + simpleKeys: false, + version: "1.2" + }; + var scalarOptions = { + get binary() { + return resolveSeq.binaryOptions; + }, + set binary(opt) { + Object.assign(resolveSeq.binaryOptions, opt); + }, + get bool() { + return resolveSeq.boolOptions; + }, + set bool(opt) { + Object.assign(resolveSeq.boolOptions, opt); + }, + get int() { + return resolveSeq.intOptions; + }, + set int(opt) { + Object.assign(resolveSeq.intOptions, opt); + }, + get null() { + return resolveSeq.nullOptions; + }, + set null(opt) { + Object.assign(resolveSeq.nullOptions, opt); + }, + get str() { + return resolveSeq.strOptions; + }, + set str(opt) { + Object.assign(resolveSeq.strOptions, opt); + } + }; + var documentOptions = { + "1.0": { + schema: "yaml-1.1", + merge: true, + tagPrefixes: [{ + handle: "!", + prefix: PlainValue.defaultTagPrefix + }, { + handle: "!!", + prefix: "tag:private.yaml.org,2002:" + }] + }, + 1.1: { + schema: "yaml-1.1", + merge: true, + tagPrefixes: [{ + handle: "!", + prefix: "!" + }, { + handle: "!!", + prefix: PlainValue.defaultTagPrefix + }] + }, + 1.2: { + schema: "core", + merge: false, + tagPrefixes: [{ + handle: "!", + prefix: "!" + }, { + handle: "!!", + prefix: PlainValue.defaultTagPrefix + }] + } + }; + function stringifyTag(doc, tag) { + if ((doc.version || doc.options.version) === "1.0") { + const priv = tag.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/); + if (priv) + return "!" + priv[1]; + const vocab = tag.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/); + return vocab ? `!${vocab[1]}/${vocab[2]}` : `!${tag.replace(/^tag:/, "")}`; + } + let p = doc.tagPrefixes.find((p2) => tag.indexOf(p2.prefix) === 0); + if (!p) { + const dtp = doc.getDefaults().tagPrefixes; + p = dtp && dtp.find((p2) => tag.indexOf(p2.prefix) === 0); + } + if (!p) + return tag[0] === "!" ? tag : `!<${tag}>`; + const suffix = tag.substr(p.prefix.length).replace(/[!,[\]{}]/g, (ch) => ({ + "!": "%21", + ",": "%2C", + "[": "%5B", + "]": "%5D", + "{": "%7B", + "}": "%7D" + })[ch]); + return p.handle + suffix; + } + function getTagObject(tags, item) { + if (item instanceof resolveSeq.Alias) + return resolveSeq.Alias; + if (item.tag) { + const match = tags.filter((t) => t.tag === item.tag); + if (match.length > 0) + return match.find((t) => t.format === item.format) || match[0]; + } + let tagObj, obj; + if (item instanceof resolveSeq.Scalar) { + obj = item.value; + const match = tags.filter((t) => t.identify && t.identify(obj) || t.class && obj instanceof t.class); + tagObj = match.find((t) => t.format === item.format) || match.find((t) => !t.format); + } else { + obj = item; + tagObj = tags.find((t) => t.nodeClass && obj instanceof t.nodeClass); + } + if (!tagObj) { + const name = obj && obj.constructor ? obj.constructor.name : typeof obj; + throw new Error(`Tag not resolved for ${name} value`); + } + return tagObj; + } + function stringifyProps(node, tagObj, { + anchors, + doc + }) { + const props = []; + const anchor = doc.anchors.getName(node); + if (anchor) { + anchors[anchor] = node; + props.push(`&${anchor}`); + } + if (node.tag) { + props.push(stringifyTag(doc, node.tag)); + } else if (!tagObj.default) { + props.push(stringifyTag(doc, tagObj.tag)); + } + return props.join(" "); + } + function stringify(item, ctx, onComment, onChompKeep) { + const { + anchors, + schema + } = ctx.doc; + let tagObj; + if (!(item instanceof resolveSeq.Node)) { + const createCtx = { + aliasNodes: [], + onTagObj: (o) => tagObj = o, + prevObjects: /* @__PURE__ */ new Map() + }; + item = schema.createNode(item, true, null, createCtx); + for (const alias of createCtx.aliasNodes) { + alias.source = alias.source.node; + let name = anchors.getName(alias.source); + if (!name) { + name = anchors.newName(); + anchors.map[name] = alias.source; + } + } + } + if (item instanceof resolveSeq.Pair) + return item.toString(ctx, onComment, onChompKeep); + if (!tagObj) + tagObj = getTagObject(schema.tags, item); + const props = stringifyProps(item, tagObj, ctx); + if (props.length > 0) + ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1; + const str = typeof tagObj.stringify === "function" ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq.Scalar ? resolveSeq.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep); + if (!props) + return str; + return item instanceof resolveSeq.Scalar || str[0] === "{" || str[0] === "[" ? `${props} ${str}` : `${props} +${ctx.indent}${str}`; + } + var Anchors = class { + static validAnchorNode(node) { + return node instanceof resolveSeq.Scalar || node instanceof resolveSeq.YAMLSeq || node instanceof resolveSeq.YAMLMap; + } + constructor(prefix) { + PlainValue._defineProperty(this, "map", /* @__PURE__ */ Object.create(null)); + this.prefix = prefix; + } + createAlias(node, name) { + this.setAnchor(node, name); + return new resolveSeq.Alias(node); + } + createMergePair(...sources) { + const merge = new resolveSeq.Merge(); + merge.value.items = sources.map((s) => { + if (s instanceof resolveSeq.Alias) { + if (s.source instanceof resolveSeq.YAMLMap) + return s; + } else if (s instanceof resolveSeq.YAMLMap) { + return this.createAlias(s); + } + throw new Error("Merge sources must be Map nodes or their Aliases"); + }); + return merge; + } + getName(node) { + const { + map + } = this; + return Object.keys(map).find((a) => map[a] === node); + } + getNames() { + return Object.keys(this.map); + } + getNode(name) { + return this.map[name]; + } + newName(prefix) { + if (!prefix) + prefix = this.prefix; + const names = Object.keys(this.map); + for (let i = 1; true; ++i) { + const name = `${prefix}${i}`; + if (!names.includes(name)) + return name; + } + } + resolveNodes() { + const { + map, + _cstAliases + } = this; + Object.keys(map).forEach((a) => { + map[a] = map[a].resolved; + }); + _cstAliases.forEach((a) => { + a.source = a.source.resolved; + }); + delete this._cstAliases; + } + setAnchor(node, name) { + if (node != null && !Anchors.validAnchorNode(node)) { + throw new Error("Anchors may only be set for Scalar, Seq and Map nodes"); + } + if (name && /[\x00-\x19\s,[\]{}]/.test(name)) { + throw new Error("Anchor names must not contain whitespace or control characters"); + } + const { + map + } = this; + const prev = node && Object.keys(map).find((a) => map[a] === node); + if (prev) { + if (!name) { + return prev; + } else if (prev !== name) { + delete map[prev]; + map[name] = node; + } + } else { + if (!name) { + if (!node) + return null; + name = this.newName(); + } + map[name] = node; + } + return name; + } + }; + var visit = (node, tags) => { + if (node && typeof node === "object") { + const { + tag + } = node; + if (node instanceof resolveSeq.Collection) { + if (tag) + tags[tag] = true; + node.items.forEach((n) => visit(n, tags)); + } else if (node instanceof resolveSeq.Pair) { + visit(node.key, tags); + visit(node.value, tags); + } else if (node instanceof resolveSeq.Scalar) { + if (tag) + tags[tag] = true; + } + } + return tags; + }; + var listTagNames = (node) => Object.keys(visit(node, {})); + function parseContents(doc, contents) { + const comments = { + before: [], + after: [] + }; + let body = void 0; + let spaceBefore = false; + for (const node of contents) { + if (node.valueRange) { + if (body !== void 0) { + const msg = "Document contains trailing content not separated by a ... or --- line"; + doc.errors.push(new PlainValue.YAMLSyntaxError(node, msg)); + break; + } + const res = resolveSeq.resolveNode(doc, node); + if (spaceBefore) { + res.spaceBefore = true; + spaceBefore = false; + } + body = res; + } else if (node.comment !== null) { + const cc = body === void 0 ? comments.before : comments.after; + cc.push(node.comment); + } else if (node.type === PlainValue.Type.BLANK_LINE) { + spaceBefore = true; + if (body === void 0 && comments.before.length > 0 && !doc.commentBefore) { + doc.commentBefore = comments.before.join("\n"); + comments.before = []; + } + } + } + doc.contents = body || null; + if (!body) { + doc.comment = comments.before.concat(comments.after).join("\n") || null; + } else { + const cb = comments.before.join("\n"); + if (cb) { + const cbNode = body instanceof resolveSeq.Collection && body.items[0] ? body.items[0] : body; + cbNode.commentBefore = cbNode.commentBefore ? `${cb} +${cbNode.commentBefore}` : cb; + } + doc.comment = comments.after.join("\n") || null; + } + } + function resolveTagDirective({ + tagPrefixes + }, directive) { + const [handle, prefix] = directive.parameters; + if (!handle || !prefix) { + const msg = "Insufficient parameters given for %TAG directive"; + throw new PlainValue.YAMLSemanticError(directive, msg); + } + if (tagPrefixes.some((p) => p.handle === handle)) { + const msg = "The %TAG directive must only be given at most once per handle in the same document."; + throw new PlainValue.YAMLSemanticError(directive, msg); + } + return { + handle, + prefix + }; + } + function resolveYamlDirective(doc, directive) { + let [version] = directive.parameters; + if (directive.name === "YAML:1.0") + version = "1.0"; + if (!version) { + const msg = "Insufficient parameters given for %YAML directive"; + throw new PlainValue.YAMLSemanticError(directive, msg); + } + if (!documentOptions[version]) { + const v0 = doc.version || doc.options.version; + const msg = `Document will be parsed as YAML ${v0} rather than YAML ${version}`; + doc.warnings.push(new PlainValue.YAMLWarning(directive, msg)); + } + return version; + } + function parseDirectives(doc, directives, prevDoc) { + const directiveComments = []; + let hasDirectives = false; + for (const directive of directives) { + const { + comment, + name + } = directive; + switch (name) { + case "TAG": + try { + doc.tagPrefixes.push(resolveTagDirective(doc, directive)); + } catch (error) { + doc.errors.push(error); + } + hasDirectives = true; + break; + case "YAML": + case "YAML:1.0": + if (doc.version) { + const msg = "The %YAML directive must only be given at most once per document."; + doc.errors.push(new PlainValue.YAMLSemanticError(directive, msg)); + } + try { + doc.version = resolveYamlDirective(doc, directive); + } catch (error) { + doc.errors.push(error); + } + hasDirectives = true; + break; + default: + if (name) { + const msg = `YAML only supports %TAG and %YAML directives, and not %${name}`; + doc.warnings.push(new PlainValue.YAMLWarning(directive, msg)); + } + } + if (comment) + directiveComments.push(comment); + } + if (prevDoc && !hasDirectives && "1.1" === (doc.version || prevDoc.version || doc.options.version)) { + const copyTagPrefix = ({ + handle, + prefix + }) => ({ + handle, + prefix + }); + doc.tagPrefixes = prevDoc.tagPrefixes.map(copyTagPrefix); + doc.version = prevDoc.version; + } + doc.commentBefore = directiveComments.join("\n") || null; + } + function assertCollection(contents) { + if (contents instanceof resolveSeq.Collection) + return true; + throw new Error("Expected a YAML collection as document contents"); + } + var Document = class { + constructor(options) { + this.anchors = new Anchors(options.anchorPrefix); + this.commentBefore = null; + this.comment = null; + this.contents = null; + this.directivesEndMarker = null; + this.errors = []; + this.options = options; + this.schema = null; + this.tagPrefixes = []; + this.version = null; + this.warnings = []; + } + add(value) { + assertCollection(this.contents); + return this.contents.add(value); + } + addIn(path, value) { + assertCollection(this.contents); + this.contents.addIn(path, value); + } + delete(key) { + assertCollection(this.contents); + return this.contents.delete(key); + } + deleteIn(path) { + if (resolveSeq.isEmptyPath(path)) { + if (this.contents == null) + return false; + this.contents = null; + return true; + } + assertCollection(this.contents); + return this.contents.deleteIn(path); + } + getDefaults() { + return Document.defaults[this.version] || Document.defaults[this.options.version] || {}; + } + get(key, keepScalar) { + return this.contents instanceof resolveSeq.Collection ? this.contents.get(key, keepScalar) : void 0; + } + getIn(path, keepScalar) { + if (resolveSeq.isEmptyPath(path)) + return !keepScalar && this.contents instanceof resolveSeq.Scalar ? this.contents.value : this.contents; + return this.contents instanceof resolveSeq.Collection ? this.contents.getIn(path, keepScalar) : void 0; + } + has(key) { + return this.contents instanceof resolveSeq.Collection ? this.contents.has(key) : false; + } + hasIn(path) { + if (resolveSeq.isEmptyPath(path)) + return this.contents !== void 0; + return this.contents instanceof resolveSeq.Collection ? this.contents.hasIn(path) : false; + } + set(key, value) { + assertCollection(this.contents); + this.contents.set(key, value); + } + setIn(path, value) { + if (resolveSeq.isEmptyPath(path)) + this.contents = value; + else { + assertCollection(this.contents); + this.contents.setIn(path, value); + } + } + setSchema(id, customTags) { + if (!id && !customTags && this.schema) + return; + if (typeof id === "number") + id = id.toFixed(1); + if (id === "1.0" || id === "1.1" || id === "1.2") { + if (this.version) + this.version = id; + else + this.options.version = id; + delete this.options.schema; + } else if (id && typeof id === "string") { + this.options.schema = id; + } + if (Array.isArray(customTags)) + this.options.customTags = customTags; + const opt = Object.assign({}, this.getDefaults(), this.options); + this.schema = new Schema.Schema(opt); + } + parse(node, prevDoc) { + if (this.options.keepCstNodes) + this.cstNode = node; + if (this.options.keepNodeTypes) + this.type = "DOCUMENT"; + const { + directives = [], + contents = [], + directivesEndMarker, + error, + valueRange + } = node; + if (error) { + if (!error.source) + error.source = this; + this.errors.push(error); + } + parseDirectives(this, directives, prevDoc); + if (directivesEndMarker) + this.directivesEndMarker = true; + this.range = valueRange ? [valueRange.start, valueRange.end] : null; + this.setSchema(); + this.anchors._cstAliases = []; + parseContents(this, contents); + this.anchors.resolveNodes(); + if (this.options.prettyErrors) { + for (const error2 of this.errors) + if (error2 instanceof PlainValue.YAMLError) + error2.makePretty(); + for (const warn of this.warnings) + if (warn instanceof PlainValue.YAMLError) + warn.makePretty(); + } + return this; + } + listNonDefaultTags() { + return listTagNames(this.contents).filter((t) => t.indexOf(Schema.Schema.defaultPrefix) !== 0); + } + setTagPrefix(handle, prefix) { + if (handle[0] !== "!" || handle[handle.length - 1] !== "!") + throw new Error("Handle must start and end with !"); + if (prefix) { + const prev = this.tagPrefixes.find((p) => p.handle === handle); + if (prev) + prev.prefix = prefix; + else + this.tagPrefixes.push({ + handle, + prefix + }); + } else { + this.tagPrefixes = this.tagPrefixes.filter((p) => p.handle !== handle); + } + } + toJSON(arg, onAnchor) { + const { + keepBlobsInJSON, + mapAsMap, + maxAliasCount + } = this.options; + const keep = keepBlobsInJSON && (typeof arg !== "string" || !(this.contents instanceof resolveSeq.Scalar)); + const ctx = { + doc: this, + indentStep: " ", + keep, + mapAsMap: keep && !!mapAsMap, + maxAliasCount, + stringify + }; + const anchorNames = Object.keys(this.anchors.map); + if (anchorNames.length > 0) + ctx.anchors = new Map(anchorNames.map((name) => [this.anchors.map[name], { + alias: [], + aliasCount: 0, + count: 1 + }])); + const res = resolveSeq.toJSON(this.contents, arg, ctx); + if (typeof onAnchor === "function" && ctx.anchors) + for (const { + count, + res: res2 + } of ctx.anchors.values()) + onAnchor(res2, count); + return res; + } + toString() { + if (this.errors.length > 0) + throw new Error("Document with errors cannot be stringified"); + const indentSize = this.options.indent; + if (!Number.isInteger(indentSize) || indentSize <= 0) { + const s = JSON.stringify(indentSize); + throw new Error(`"indent" option must be a positive integer, not ${s}`); + } + this.setSchema(); + const lines = []; + let hasDirectives = false; + if (this.version) { + let vd = "%YAML 1.2"; + if (this.schema.name === "yaml-1.1") { + if (this.version === "1.0") + vd = "%YAML:1.0"; + else if (this.version === "1.1") + vd = "%YAML 1.1"; + } + lines.push(vd); + hasDirectives = true; + } + const tagNames = this.listNonDefaultTags(); + this.tagPrefixes.forEach(({ + handle, + prefix + }) => { + if (tagNames.some((t) => t.indexOf(prefix) === 0)) { + lines.push(`%TAG ${handle} ${prefix}`); + hasDirectives = true; + } + }); + if (hasDirectives || this.directivesEndMarker) + lines.push("---"); + if (this.commentBefore) { + if (hasDirectives || !this.directivesEndMarker) + lines.unshift(""); + lines.unshift(this.commentBefore.replace(/^/gm, "#")); + } + const ctx = { + anchors: /* @__PURE__ */ Object.create(null), + doc: this, + indent: "", + indentStep: " ".repeat(indentSize), + stringify + }; + let chompKeep = false; + let contentComment = null; + if (this.contents) { + if (this.contents instanceof resolveSeq.Node) { + if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) + lines.push(""); + if (this.contents.commentBefore) + lines.push(this.contents.commentBefore.replace(/^/gm, "#")); + ctx.forceBlockIndent = !!this.comment; + contentComment = this.contents.comment; + } + const onChompKeep = contentComment ? null : () => chompKeep = true; + const body = stringify(this.contents, ctx, () => contentComment = null, onChompKeep); + lines.push(resolveSeq.addComment(body, "", contentComment)); + } else if (this.contents !== void 0) { + lines.push(stringify(this.contents, ctx)); + } + if (this.comment) { + if ((!chompKeep || contentComment) && lines[lines.length - 1] !== "") + lines.push(""); + lines.push(this.comment.replace(/^/gm, "#")); + } + return lines.join("\n") + "\n"; + } + }; + PlainValue._defineProperty(Document, "defaults", documentOptions); + exports2.Document = Document; + exports2.defaultOptions = defaultOptions; + exports2.scalarOptions = scalarOptions; + } +}); +var require_dist = __commonJS({ + "node_modules/yaml/dist/index.js"(exports2) { + "use strict"; + var parseCst = require_parse_cst(); + var Document$1 = require_Document_9b4560a1(); + var Schema = require_Schema_88e323a7(); + var PlainValue = require_PlainValue_ec8e588e(); + var warnings = require_warnings_1000a372(); + require_resolveSeq_d03cb037(); + function createNode(value, wrapScalars = true, tag) { + if (tag === void 0 && typeof wrapScalars === "string") { + tag = wrapScalars; + wrapScalars = true; + } + const options = Object.assign({}, Document$1.Document.defaults[Document$1.defaultOptions.version], Document$1.defaultOptions); + const schema = new Schema.Schema(options); + return schema.createNode(value, wrapScalars, tag); + } + var Document = class extends Document$1.Document { + constructor(options) { + super(Object.assign({}, Document$1.defaultOptions, options)); + } + }; + function parseAllDocuments(src, options) { + const stream = []; + let prev; + for (const cstDoc of parseCst.parse(src)) { + const doc = new Document(options); + doc.parse(cstDoc, prev); + stream.push(doc); + prev = doc; + } + return stream; + } + function parseDocument(src, options) { + const cst = parseCst.parse(src); + const doc = new Document(options).parse(cst[0]); + if (cst.length > 1) { + const errMsg = "Source contains multiple documents; please use YAML.parseAllDocuments()"; + doc.errors.unshift(new PlainValue.YAMLSemanticError(cst[1], errMsg)); + } + return doc; + } + function parse(src, options) { + const doc = parseDocument(src, options); + doc.warnings.forEach((warning) => warnings.warn(warning)); + if (doc.errors.length > 0) + throw doc.errors[0]; + return doc.toJSON(); + } + function stringify(value, options) { + const doc = new Document(options); + doc.contents = value; + return String(doc); + } + var YAML = { + createNode, + defaultOptions: Document$1.defaultOptions, + Document, + parse, + parseAllDocuments, + parseCST: parseCst.parse, + parseDocument, + scalarOptions: Document$1.scalarOptions, + stringify + }; + exports2.YAML = YAML; + } +}); +var require_yaml = __commonJS({ + "node_modules/yaml/index.js"(exports2, module2) { + module2.exports = require_dist().YAML; + } +}); +var require_loaders = __commonJS({ + "node_modules/cosmiconfig/dist/loaders.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.loaders = void 0; + var importFresh; + var loadJs = function loadJs2(filepath) { + if (importFresh === void 0) { + importFresh = require_import_fresh(); + } + const result = importFresh(filepath); + return result; + }; + var parseJson; + var loadJson = function loadJson2(filepath, content) { + if (parseJson === void 0) { + parseJson = require_parse_json(); + } + try { + const result = parseJson(content); + return result; + } catch (error) { + error.message = `JSON Error in ${filepath}: +${error.message}`; + throw error; + } + }; + var yaml; + var loadYaml = function loadYaml2(filepath, content) { + if (yaml === void 0) { + yaml = require_yaml(); + } + try { + const result = yaml.parse(content, { + prettyErrors: true + }); + return result; + } catch (error) { + error.message = `YAML Error in ${filepath}: +${error.message}`; + throw error; + } + }; + var loaders = { + loadJs, + loadJson, + loadYaml + }; + exports2.loaders = loaders; + } +}); +var require_getPropertyByPath = __commonJS({ + "node_modules/cosmiconfig/dist/getPropertyByPath.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.getPropertyByPath = getPropertyByPath; + function getPropertyByPath(source, path) { + if (typeof path === "string" && Object.prototype.hasOwnProperty.call(source, path)) { + return source[path]; + } + const parsedPath = typeof path === "string" ? path.split(".") : path; + return parsedPath.reduce((previous, key) => { + if (previous === void 0) { + return previous; + } + return previous[key]; + }, source); + } + } +}); +var require_ExplorerBase = __commonJS({ + "node_modules/cosmiconfig/dist/ExplorerBase.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.getExtensionDescription = getExtensionDescription; + exports2.ExplorerBase = void 0; + var _path = _interopRequireDefault(__webpack_require__(16928)); + var _loaders = require_loaders(); + var _getPropertyByPath = require_getPropertyByPath(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + var ExplorerBase = class { + constructor(options) { + if (options.cache === true) { + this.loadCache = /* @__PURE__ */ new Map(); + this.searchCache = /* @__PURE__ */ new Map(); + } + this.config = options; + this.validateConfig(); + } + clearLoadCache() { + if (this.loadCache) { + this.loadCache.clear(); + } + } + clearSearchCache() { + if (this.searchCache) { + this.searchCache.clear(); + } + } + clearCaches() { + this.clearLoadCache(); + this.clearSearchCache(); + } + validateConfig() { + const config = this.config; + config.searchPlaces.forEach((place) => { + const loaderKey = _path.default.extname(place) || "noExt"; + const loader = config.loaders[loaderKey]; + if (!loader) { + throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item "${place}" is invalid`); + } + if (typeof loader !== "function") { + throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: "${typeof loader}"), so searchPlaces item "${place}" is invalid`); + } + }); + } + shouldSearchStopWithResult(result) { + if (result === null) + return false; + if (result.isEmpty && this.config.ignoreEmptySearchPlaces) + return false; + return true; + } + nextDirectoryToSearch(currentDir, currentResult) { + if (this.shouldSearchStopWithResult(currentResult)) { + return null; + } + const nextDir = nextDirUp(currentDir); + if (nextDir === currentDir || currentDir === this.config.stopDir) { + return null; + } + return nextDir; + } + loadPackageProp(filepath, content) { + const parsedContent = _loaders.loaders.loadJson(filepath, content); + const packagePropValue = (0, _getPropertyByPath.getPropertyByPath)(parsedContent, this.config.packageProp); + return packagePropValue || null; + } + getLoaderEntryForFile(filepath) { + if (_path.default.basename(filepath) === "package.json") { + const loader2 = this.loadPackageProp.bind(this); + return loader2; + } + const loaderKey = _path.default.extname(filepath) || "noExt"; + const loader = this.config.loaders[loaderKey]; + if (!loader) { + throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`); + } + return loader; + } + loadedContentToCosmiconfigResult(filepath, loadedContent) { + if (loadedContent === null) { + return null; + } + if (loadedContent === void 0) { + return { + filepath, + config: void 0, + isEmpty: true + }; + } + return { + config: loadedContent, + filepath + }; + } + validateFilePath(filepath) { + if (!filepath) { + throw new Error("load must pass a non-empty string"); + } + } + }; + exports2.ExplorerBase = ExplorerBase; + function nextDirUp(dir) { + return _path.default.dirname(dir); + } + function getExtensionDescription(filepath) { + const ext = _path.default.extname(filepath); + return ext ? `extension "${ext}"` : "files without extensions"; + } + } +}); +var require_readFile = __commonJS({ + "node_modules/cosmiconfig/dist/readFile.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.readFile = readFile; + exports2.readFileSync = readFileSync; + var _fs = _interopRequireDefault(__webpack_require__(79896)); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + async function fsReadFileAsync(pathname, encoding) { + return new Promise((resolve, reject) => { + _fs.default.readFile(pathname, encoding, (error, contents) => { + if (error) { + reject(error); + return; + } + resolve(contents); + }); + }); + } + async function readFile(filepath, options = {}) { + const throwNotFound = options.throwNotFound === true; + try { + const content = await fsReadFileAsync(filepath, "utf8"); + return content; + } catch (error) { + if (throwNotFound === false && (error.code === "ENOENT" || error.code === "EISDIR")) { + return null; + } + throw error; + } + } + function readFileSync(filepath, options = {}) { + const throwNotFound = options.throwNotFound === true; + try { + const content = _fs.default.readFileSync(filepath, "utf8"); + return content; + } catch (error) { + if (throwNotFound === false && (error.code === "ENOENT" || error.code === "EISDIR")) { + return null; + } + throw error; + } + } + } +}); +var require_cacheWrapper = __commonJS({ + "node_modules/cosmiconfig/dist/cacheWrapper.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.cacheWrapper = cacheWrapper; + exports2.cacheWrapperSync = cacheWrapperSync; + async function cacheWrapper(cache, key, fn) { + const cached = cache.get(key); + if (cached !== void 0) { + return cached; + } + const result = await fn(); + cache.set(key, result); + return result; + } + function cacheWrapperSync(cache, key, fn) { + const cached = cache.get(key); + if (cached !== void 0) { + return cached; + } + const result = fn(); + cache.set(key, result); + return result; + } + } +}); +var require_path_type = __commonJS({ + "node_modules/path-type/index.js"(exports2) { + "use strict"; + var { + promisify + } = __webpack_require__(39023); + var fs = __webpack_require__(79896); + async function isType(fsStatType, statsMethodName, filePath) { + if (typeof filePath !== "string") { + throw new TypeError(`Expected a string, got ${typeof filePath}`); + } + try { + const stats = await promisify(fs[fsStatType])(filePath); + return stats[statsMethodName](); + } catch (error) { + if (error.code === "ENOENT") { + return false; + } + throw error; + } + } + function isTypeSync(fsStatType, statsMethodName, filePath) { + if (typeof filePath !== "string") { + throw new TypeError(`Expected a string, got ${typeof filePath}`); + } + try { + return fs[fsStatType](filePath)[statsMethodName](); + } catch (error) { + if (error.code === "ENOENT") { + return false; + } + throw error; + } + } + exports2.isFile = isType.bind(null, "stat", "isFile"); + exports2.isDirectory = isType.bind(null, "stat", "isDirectory"); + exports2.isSymlink = isType.bind(null, "lstat", "isSymbolicLink"); + exports2.isFileSync = isTypeSync.bind(null, "statSync", "isFile"); + exports2.isDirectorySync = isTypeSync.bind(null, "statSync", "isDirectory"); + exports2.isSymlinkSync = isTypeSync.bind(null, "lstatSync", "isSymbolicLink"); + } +}); +var require_getDirectory = __commonJS({ + "node_modules/cosmiconfig/dist/getDirectory.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.getDirectory = getDirectory; + exports2.getDirectorySync = getDirectorySync; + var _path = _interopRequireDefault(__webpack_require__(16928)); + var _pathType = require_path_type(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + async function getDirectory(filepath) { + const filePathIsDirectory = await (0, _pathType.isDirectory)(filepath); + if (filePathIsDirectory === true) { + return filepath; + } + const directory = _path.default.dirname(filepath); + return directory; + } + function getDirectorySync(filepath) { + const filePathIsDirectory = (0, _pathType.isDirectorySync)(filepath); + if (filePathIsDirectory === true) { + return filepath; + } + const directory = _path.default.dirname(filepath); + return directory; + } + } +}); +var require_Explorer = __commonJS({ + "node_modules/cosmiconfig/dist/Explorer.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.Explorer = void 0; + var _path = _interopRequireDefault(__webpack_require__(16928)); + var _ExplorerBase = require_ExplorerBase(); + var _readFile = require_readFile(); + var _cacheWrapper = require_cacheWrapper(); + var _getDirectory = require_getDirectory(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + var Explorer = class extends _ExplorerBase.ExplorerBase { + constructor(options) { + super(options); + } + async search(searchFrom = process.cwd()) { + const startDirectory = await (0, _getDirectory.getDirectory)(searchFrom); + const result = await this.searchFromDirectory(startDirectory); + return result; + } + async searchFromDirectory(dir) { + const absoluteDir = _path.default.resolve(process.cwd(), dir); + const run = async () => { + const result = await this.searchDirectory(absoluteDir); + const nextDir = this.nextDirectoryToSearch(absoluteDir, result); + if (nextDir) { + return this.searchFromDirectory(nextDir); + } + const transformResult = await this.config.transform(result); + return transformResult; + }; + if (this.searchCache) { + return (0, _cacheWrapper.cacheWrapper)(this.searchCache, absoluteDir, run); + } + return run(); + } + async searchDirectory(dir) { + for await (const place of this.config.searchPlaces) { + const placeResult = await this.loadSearchPlace(dir, place); + if (this.shouldSearchStopWithResult(placeResult) === true) { + return placeResult; + } + } + return null; + } + async loadSearchPlace(dir, place) { + const filepath = _path.default.join(dir, place); + const fileContents = await (0, _readFile.readFile)(filepath); + const result = await this.createCosmiconfigResult(filepath, fileContents); + return result; + } + async loadFileContent(filepath, content) { + if (content === null) { + return null; + } + if (content.trim() === "") { + return void 0; + } + const loader = this.getLoaderEntryForFile(filepath); + const loaderResult = await loader(filepath, content); + return loaderResult; + } + async createCosmiconfigResult(filepath, content) { + const fileContent = await this.loadFileContent(filepath, content); + const result = this.loadedContentToCosmiconfigResult(filepath, fileContent); + return result; + } + async load(filepath) { + this.validateFilePath(filepath); + const absoluteFilePath = _path.default.resolve(process.cwd(), filepath); + const runLoad = async () => { + const fileContents = await (0, _readFile.readFile)(absoluteFilePath, { + throwNotFound: true + }); + const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents); + const transformResult = await this.config.transform(result); + return transformResult; + }; + if (this.loadCache) { + return (0, _cacheWrapper.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad); + } + return runLoad(); + } + }; + exports2.Explorer = Explorer; + } +}); +var require_ExplorerSync = __commonJS({ + "node_modules/cosmiconfig/dist/ExplorerSync.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.ExplorerSync = void 0; + var _path = _interopRequireDefault(__webpack_require__(16928)); + var _ExplorerBase = require_ExplorerBase(); + var _readFile = require_readFile(); + var _cacheWrapper = require_cacheWrapper(); + var _getDirectory = require_getDirectory(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + var ExplorerSync = class extends _ExplorerBase.ExplorerBase { + constructor(options) { + super(options); + } + searchSync(searchFrom = process.cwd()) { + const startDirectory = (0, _getDirectory.getDirectorySync)(searchFrom); + const result = this.searchFromDirectorySync(startDirectory); + return result; + } + searchFromDirectorySync(dir) { + const absoluteDir = _path.default.resolve(process.cwd(), dir); + const run = () => { + const result = this.searchDirectorySync(absoluteDir); + const nextDir = this.nextDirectoryToSearch(absoluteDir, result); + if (nextDir) { + return this.searchFromDirectorySync(nextDir); + } + const transformResult = this.config.transform(result); + return transformResult; + }; + if (this.searchCache) { + return (0, _cacheWrapper.cacheWrapperSync)(this.searchCache, absoluteDir, run); + } + return run(); + } + searchDirectorySync(dir) { + for (const place of this.config.searchPlaces) { + const placeResult = this.loadSearchPlaceSync(dir, place); + if (this.shouldSearchStopWithResult(placeResult) === true) { + return placeResult; + } + } + return null; + } + loadSearchPlaceSync(dir, place) { + const filepath = _path.default.join(dir, place); + const content = (0, _readFile.readFileSync)(filepath); + const result = this.createCosmiconfigResultSync(filepath, content); + return result; + } + loadFileContentSync(filepath, content) { + if (content === null) { + return null; + } + if (content.trim() === "") { + return void 0; + } + const loader = this.getLoaderEntryForFile(filepath); + const loaderResult = loader(filepath, content); + return loaderResult; + } + createCosmiconfigResultSync(filepath, content) { + const fileContent = this.loadFileContentSync(filepath, content); + const result = this.loadedContentToCosmiconfigResult(filepath, fileContent); + return result; + } + loadSync(filepath) { + this.validateFilePath(filepath); + const absoluteFilePath = _path.default.resolve(process.cwd(), filepath); + const runLoadSync = () => { + const content = (0, _readFile.readFileSync)(absoluteFilePath, { + throwNotFound: true + }); + const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content); + const transformResult = this.config.transform(cosmiconfigResult); + return transformResult; + }; + if (this.loadCache) { + return (0, _cacheWrapper.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync); + } + return runLoadSync(); + } + }; + exports2.ExplorerSync = ExplorerSync; + } +}); +var require_types = __commonJS({ + "node_modules/cosmiconfig/dist/types.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + } +}); +var require_dist2 = __commonJS({ + "node_modules/cosmiconfig/dist/index.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { + value: true + }); + exports2.cosmiconfig = cosmiconfig; + exports2.cosmiconfigSync = cosmiconfigSync; + exports2.defaultLoaders = void 0; + var _os = _interopRequireDefault(__webpack_require__(70857)); + var _Explorer = require_Explorer(); + var _ExplorerSync = require_ExplorerSync(); + var _loaders = require_loaders(); + var _types = require_types(); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; + } + function cosmiconfig(moduleName, options = {}) { + const normalizedOptions = normalizeOptions(moduleName, options); + const explorer = new _Explorer.Explorer(normalizedOptions); + return { + search: explorer.search.bind(explorer), + load: explorer.load.bind(explorer), + clearLoadCache: explorer.clearLoadCache.bind(explorer), + clearSearchCache: explorer.clearSearchCache.bind(explorer), + clearCaches: explorer.clearCaches.bind(explorer) + }; + } + function cosmiconfigSync(moduleName, options = {}) { + const normalizedOptions = normalizeOptions(moduleName, options); + const explorerSync = new _ExplorerSync.ExplorerSync(normalizedOptions); + return { + search: explorerSync.searchSync.bind(explorerSync), + load: explorerSync.loadSync.bind(explorerSync), + clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync), + clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync), + clearCaches: explorerSync.clearCaches.bind(explorerSync) + }; + } + var defaultLoaders = Object.freeze({ + ".cjs": _loaders.loaders.loadJs, + ".js": _loaders.loaders.loadJs, + ".json": _loaders.loaders.loadJson, + ".yaml": _loaders.loaders.loadYaml, + ".yml": _loaders.loaders.loadYaml, + noExt: _loaders.loaders.loadYaml + }); + exports2.defaultLoaders = defaultLoaders; + var identity = function identity2(x) { + return x; + }; + function normalizeOptions(moduleName, options) { + const defaults = { + packageProp: moduleName, + searchPlaces: ["package.json", `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`], + ignoreEmptySearchPlaces: true, + stopDir: _os.default.homedir(), + cache: true, + transform: identity, + loaders: defaultLoaders + }; + const normalizedOptions = Object.assign(Object.assign(Object.assign({}, defaults), options), {}, { + loaders: Object.assign(Object.assign({}, defaults.loaders), options.loaders) + }); + return normalizedOptions; + } + } +}); +var require_find_parent_dir = __commonJS({ + "node_modules/find-parent-dir/index.js"(exports2, module2) { + "use strict"; + var path = __webpack_require__(16928); + var fs = __webpack_require__(79896); + var exists = fs.exists || path.exists; + var existsSync = fs.existsSync || path.existsSync; + function splitPath(path2) { + var parts = path2.split(/(\/|\\)/); + if (!parts.length) + return parts; + return !parts[0].length ? parts.slice(1) : parts; + } + exports2 = module2.exports = function(currentFullPath, clue, cb) { + function testDir(parts) { + if (parts.length === 0) + return cb(null, null); + var p = parts.join(""); + exists(path.join(p, clue), function(itdoes) { + if (itdoes) + return cb(null, p); + testDir(parts.slice(0, -1)); + }); + } + testDir(splitPath(currentFullPath)); + }; + exports2.sync = function(currentFullPath, clue) { + function testDir(parts) { + if (parts.length === 0) + return null; + var p = parts.join(""); + var itdoes = existsSync(path.join(p, clue)); + return itdoes ? p : testDir(parts.slice(0, -1)); + } + return testDir(splitPath(currentFullPath)); + }; + } +}); +var require_get_stdin = __commonJS({ + "node_modules/get-stdin/index.js"(exports2, module2) { + "use strict"; + var { + stdin + } = process; + module2.exports = async () => { + let result = ""; + if (stdin.isTTY) { + return result; + } + stdin.setEncoding("utf8"); + for await (const chunk of stdin) { + result += chunk; + } + return result; + }; + module2.exports.buffer = async () => { + const result = []; + let length = 0; + if (stdin.isTTY) { + return Buffer.concat([]); + } + for await (const chunk of stdin) { + result.push(chunk); + length += chunk.length; + } + return Buffer.concat(result, length); + }; + } +}); +var require_vendors = __commonJS({ + "node_modules/ci-info/vendors.json"(exports2, module2) { + module2.exports = [{ + name: "AppVeyor", + constant: "APPVEYOR", + env: "APPVEYOR", + pr: "APPVEYOR_PULL_REQUEST_NUMBER" + }, { + name: "Azure Pipelines", + constant: "AZURE_PIPELINES", + env: "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI", + pr: "SYSTEM_PULLREQUEST_PULLREQUESTID" + }, { + name: "Appcircle", + constant: "APPCIRCLE", + env: "AC_APPCIRCLE" + }, { + name: "Bamboo", + constant: "BAMBOO", + env: "bamboo_planKey" + }, { + name: "Bitbucket Pipelines", + constant: "BITBUCKET", + env: "BITBUCKET_COMMIT", + pr: "BITBUCKET_PR_ID" + }, { + name: "Bitrise", + constant: "BITRISE", + env: "BITRISE_IO", + pr: "BITRISE_PULL_REQUEST" + }, { + name: "Buddy", + constant: "BUDDY", + env: "BUDDY_WORKSPACE_ID", + pr: "BUDDY_EXECUTION_PULL_REQUEST_ID" + }, { + name: "Buildkite", + constant: "BUILDKITE", + env: "BUILDKITE", + pr: { + env: "BUILDKITE_PULL_REQUEST", + ne: "false" + } + }, { + name: "CircleCI", + constant: "CIRCLE", + env: "CIRCLECI", + pr: "CIRCLE_PULL_REQUEST" + }, { + name: "Cirrus CI", + constant: "CIRRUS", + env: "CIRRUS_CI", + pr: "CIRRUS_PR" + }, { + name: "AWS CodeBuild", + constant: "CODEBUILD", + env: "CODEBUILD_BUILD_ARN" + }, { + name: "Codefresh", + constant: "CODEFRESH", + env: "CF_BUILD_ID", + pr: { + any: ["CF_PULL_REQUEST_NUMBER", "CF_PULL_REQUEST_ID"] + } + }, { + name: "Codeship", + constant: "CODESHIP", + env: { + CI_NAME: "codeship" + } + }, { + name: "Drone", + constant: "DRONE", + env: "DRONE", + pr: { + DRONE_BUILD_EVENT: "pull_request" + } + }, { + name: "dsari", + constant: "DSARI", + env: "DSARI" + }, { + name: "Expo Application Services", + constant: "EAS", + env: "EAS_BUILD" + }, { + name: "GitHub Actions", + constant: "GITHUB_ACTIONS", + env: "GITHUB_ACTIONS", + pr: { + GITHUB_EVENT_NAME: "pull_request" + } + }, { + name: "GitLab CI", + constant: "GITLAB", + env: "GITLAB_CI", + pr: "CI_MERGE_REQUEST_ID" + }, { + name: "GoCD", + constant: "GOCD", + env: "GO_PIPELINE_LABEL" + }, { + name: "LayerCI", + constant: "LAYERCI", + env: "LAYERCI", + pr: "LAYERCI_PULL_REQUEST" + }, { + name: "Hudson", + constant: "HUDSON", + env: "HUDSON_URL" + }, { + name: "Jenkins", + constant: "JENKINS", + env: ["JENKINS_URL", "BUILD_ID"], + pr: { + any: ["ghprbPullId", "CHANGE_ID"] + } + }, { + name: "Magnum CI", + constant: "MAGNUM", + env: "MAGNUM" + }, { + name: "Netlify CI", + constant: "NETLIFY", + env: "NETLIFY", + pr: { + env: "PULL_REQUEST", + ne: "false" + } + }, { + name: "Nevercode", + constant: "NEVERCODE", + env: "NEVERCODE", + pr: { + env: "NEVERCODE_PULL_REQUEST", + ne: "false" + } + }, { + name: "Render", + constant: "RENDER", + env: "RENDER", + pr: { + IS_PULL_REQUEST: "true" + } + }, { + name: "Sail CI", + constant: "SAIL", + env: "SAILCI", + pr: "SAIL_PULL_REQUEST_NUMBER" + }, { + name: "Semaphore", + constant: "SEMAPHORE", + env: "SEMAPHORE", + pr: "PULL_REQUEST_NUMBER" + }, { + name: "Screwdriver", + constant: "SCREWDRIVER", + env: "SCREWDRIVER", + pr: { + env: "SD_PULL_REQUEST", + ne: "false" + } + }, { + name: "Shippable", + constant: "SHIPPABLE", + env: "SHIPPABLE", + pr: { + IS_PULL_REQUEST: "true" + } + }, { + name: "Solano CI", + constant: "SOLANO", + env: "TDDIUM", + pr: "TDDIUM_PR_ID" + }, { + name: "Strider CD", + constant: "STRIDER", + env: "STRIDER" + }, { + name: "TaskCluster", + constant: "TASKCLUSTER", + env: ["TASK_ID", "RUN_ID"] + }, { + name: "TeamCity", + constant: "TEAMCITY", + env: "TEAMCITY_VERSION" + }, { + name: "Travis CI", + constant: "TRAVIS", + env: "TRAVIS", + pr: { + env: "TRAVIS_PULL_REQUEST", + ne: "false" + } + }, { + name: "Vercel", + constant: "VERCEL", + env: "NOW_BUILDER" + }, { + name: "Visual Studio App Center", + constant: "APPCENTER", + env: "APPCENTER_BUILD_ID" + }]; + } +}); +var require_ci_info = __commonJS({ + "node_modules/ci-info/index.js"(exports2) { + "use strict"; + var vendors = require_vendors(); + var env = process.env; + Object.defineProperty(exports2, "_vendors", { + value: vendors.map(function(v) { + return v.constant; + }) + }); + exports2.name = null; + exports2.isPR = null; + vendors.forEach(function(vendor) { + const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env]; + const isCI = envs.every(function(obj) { + return checkEnv(obj); + }); + exports2[vendor.constant] = isCI; + if (isCI) { + exports2.name = vendor.name; + switch (typeof vendor.pr) { + case "string": + exports2.isPR = !!env[vendor.pr]; + break; + case "object": + if ("env" in vendor.pr) { + exports2.isPR = vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne; + } else if ("any" in vendor.pr) { + exports2.isPR = vendor.pr.any.some(function(key) { + return !!env[key]; + }); + } else { + exports2.isPR = checkEnv(vendor.pr); + } + break; + default: + exports2.isPR = null; + } + } + }); + exports2.isCI = !!(env.CI || env.CONTINUOUS_INTEGRATION || env.BUILD_NUMBER || env.RUN_ID || exports2.name || false); + function checkEnv(obj) { + if (typeof obj === "string") + return !!env[obj]; + return Object.keys(obj).every(function(k) { + return env[k] === obj[k]; + }); + } + } +}); +module.exports = { + cosmiconfig: require_dist2().cosmiconfig, + cosmiconfigSync: require_dist2().cosmiconfigSync, + findParentDir: require_find_parent_dir().sync, + getStdin: require_get_stdin(), + isCI: () => require_ci_info().isCI +}; + + +/***/ }, + +/***/ 55536 +(module) { + +function webpackEmptyContext(req) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +webpackEmptyContext.keys = () => ([]); +webpackEmptyContext.resolve = webpackEmptyContext; +webpackEmptyContext.id = 55536; +module.exports = webpackEmptyContext; + +/***/ }, + +/***/ 27899 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + + +var parseUrl = (__webpack_require__(87016).parse); + +var DEFAULT_PORTS = { + ftp: 21, + gopher: 70, + http: 80, + https: 443, + ws: 80, + wss: 443, +}; + +var stringEndsWith = String.prototype.endsWith || function(s) { + return s.length <= this.length && + this.indexOf(s, this.length - s.length) !== -1; +}; + +/** + * @param {string|object} url - The URL, or the result from url.parse. + * @return {string} The URL of the proxy that should handle the request to the + * given URL. If no proxy is set, this will be an empty string. + */ +function getProxyForUrl(url) { + var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {}; + var proto = parsedUrl.protocol; + var hostname = parsedUrl.host; + var port = parsedUrl.port; + if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') { + return ''; // Don't proxy URLs without a valid scheme or host. + } + + proto = proto.split(':', 1)[0]; + // Stripping ports in this way instead of using parsedUrl.hostname to make + // sure that the brackets around IPv6 addresses are kept. + hostname = hostname.replace(/:\d*$/, ''); + port = parseInt(port) || DEFAULT_PORTS[proto] || 0; + if (!shouldProxy(hostname, port)) { + return ''; // Don't proxy URLs that match NO_PROXY. + } + + var proxy = + getEnv('npm_config_' + proto + '_proxy') || + getEnv(proto + '_proxy') || + getEnv('npm_config_proxy') || + getEnv('all_proxy'); + if (proxy && proxy.indexOf('://') === -1) { + // Missing scheme in proxy, default to the requested URL's scheme. + proxy = proto + '://' + proxy; + } + return proxy; +} + +/** + * Determines whether a given URL should be proxied. + * + * @param {string} hostname - The host name of the URL. + * @param {number} port - The effective port of the URL. + * @returns {boolean} Whether the given URL should be proxied. + * @private + */ +function shouldProxy(hostname, port) { + var NO_PROXY = + (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase(); + if (!NO_PROXY) { + return true; // Always proxy if NO_PROXY is not set. + } + if (NO_PROXY === '*') { + return false; // Never proxy if wildcard is set. + } + + return NO_PROXY.split(/[,\s]/).every(function(proxy) { + if (!proxy) { + return true; // Skip zero-length hosts. + } + var parsedProxy = proxy.match(/^(.+):(\d+)$/); + var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy; + var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0; + if (parsedProxyPort && parsedProxyPort !== port) { + return true; // Skip if ports don't match. + } + + if (!/^[.*]/.test(parsedProxyHostname)) { + // No wildcards, so stop proxying if there is an exact match. + return hostname !== parsedProxyHostname; + } + + if (parsedProxyHostname.charAt(0) === '*') { + // Remove leading wildcard. + parsedProxyHostname = parsedProxyHostname.slice(1); + } + // Stop proxying if the hostname ends with the no_proxy host. + return !stringEndsWith.call(hostname, parsedProxyHostname); + }); +} + +/** + * Get the value for an environment variable. + * + * @param {string} key - The name of the environment variable. + * @return {string} The value of the environment variable. + * @private + */ +function getEnv(key) { + return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || ''; +} + +exports.getProxyForUrl = getProxyForUrl; + + +/***/ }, + +/***/ 78490 +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + NIL: () => (/* reexport */ nil), + parse: () => (/* reexport */ esm_node_parse), + stringify: () => (/* reexport */ esm_node_stringify), + v1: () => (/* reexport */ esm_node_v1), + v3: () => (/* reexport */ esm_node_v3), + v4: () => (/* reexport */ esm_node_v4), + v5: () => (/* reexport */ esm_node_v5), + validate: () => (/* reexport */ esm_node_validate), + version: () => (/* reexport */ esm_node_version) +}); + +// EXTERNAL MODULE: external "crypto" +var external_crypto_ = __webpack_require__(76982); +var external_crypto_default = /*#__PURE__*/__webpack_require__.n(external_crypto_); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/rng.js + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + external_crypto_default().randomFillSync(rnds8Pool); + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} +;// ../deepl-mark/node_modules/uuid/dist/esm-node/regex.js +/* harmony default export */ const regex = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/validate.js + + +function validate(uuid) { + return typeof uuid === 'string' && regex.test(uuid); +} + +/* harmony default export */ const esm_node_validate = (validate); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/stringify.js + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!esm_node_validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +/* harmony default export */ const esm_node_stringify = (stringify); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/v1.js + + // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || esm_node_stringify(b); +} + +/* harmony default export */ const esm_node_v1 = (v1); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/parse.js + + +function parse(uuid) { + if (!esm_node_validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +/* harmony default export */ const esm_node_parse = (parse); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/v35.js + + + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +/* harmony default export */ function v35(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = esm_node_parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return esm_node_stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} +;// ../deepl-mark/node_modules/uuid/dist/esm-node/md5.js + + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return external_crypto_default().createHash('md5').update(bytes).digest(); +} + +/* harmony default export */ const esm_node_md5 = (md5); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/v3.js + + +const v3 = v35('v3', 0x30, esm_node_md5); +/* harmony default export */ const esm_node_v3 = (v3); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/v4.js + + + +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return esm_node_stringify(rnds); +} + +/* harmony default export */ const esm_node_v4 = (v4); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/sha1.js + + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return external_crypto_default().createHash('sha1').update(bytes).digest(); +} + +/* harmony default export */ const esm_node_sha1 = (sha1); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/v5.js + + +const v5 = v35('v5', 0x50, esm_node_sha1); +/* harmony default export */ const esm_node_v5 = (v5); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/nil.js +/* harmony default export */ const nil = ('00000000-0000-0000-0000-000000000000'); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/version.js + + +function version(uuid) { + if (!esm_node_validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +/* harmony default export */ const esm_node_version = (version); +;// ../deepl-mark/node_modules/uuid/dist/esm-node/index.js + + + + + + + + + + +/***/ }, + +/***/ 44119 +(module) { + +/** + * @preserve + * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013) + * + * @author Jens Taylor + * @see http://github.com/homebrewing/brauhaus-diff + * @author Gary Court + * @see http://github.com/garycourt/murmurhash-js + * @author Austin Appleby + * @see http://sites.google.com/site/murmurhash/ + */ +(function(){ + var cache; + + // Call this function without `new` to use the cached object (good for + // single-threaded environments), or with `new` to create a new object. + // + // @param {string} key A UTF-16 or ASCII string + // @param {number} seed An optional positive integer + // @return {object} A MurmurHash3 object for incremental hashing + function MurmurHash3(key, seed) { + var m = this instanceof MurmurHash3 ? this : cache; + m.reset(seed) + if (typeof key === 'string' && key.length > 0) { + m.hash(key); + } + + if (m !== this) { + return m; + } + }; + + // Incrementally add a string to this hash + // + // @param {string} key A UTF-16 or ASCII string + // @return {object} this + MurmurHash3.prototype.hash = function(key) { + var h1, k1, i, top, len; + + len = key.length; + this.len += len; + + k1 = this.k1; + i = 0; + switch (this.rem) { + case 0: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) : 0; + case 1: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 8 : 0; + case 2: k1 ^= len > i ? (key.charCodeAt(i++) & 0xffff) << 16 : 0; + case 3: + k1 ^= len > i ? (key.charCodeAt(i) & 0xff) << 24 : 0; + k1 ^= len > i ? (key.charCodeAt(i++) & 0xff00) >> 8 : 0; + } + + this.rem = (len + this.rem) & 3; // & 3 is same as % 4 + len -= this.rem; + if (len > 0) { + h1 = this.h1; + while (1) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; + + h1 ^= k1; + h1 = (h1 << 13) | (h1 >>> 19); + h1 = (h1 * 5 + 0xe6546b64) & 0xffffffff; + + if (i >= len) { + break; + } + + k1 = ((key.charCodeAt(i++) & 0xffff)) ^ + ((key.charCodeAt(i++) & 0xffff) << 8) ^ + ((key.charCodeAt(i++) & 0xffff) << 16); + top = key.charCodeAt(i++); + k1 ^= ((top & 0xff) << 24) ^ + ((top & 0xff00) >> 8); + } + + k1 = 0; + switch (this.rem) { + case 3: k1 ^= (key.charCodeAt(i + 2) & 0xffff) << 16; + case 2: k1 ^= (key.charCodeAt(i + 1) & 0xffff) << 8; + case 1: k1 ^= (key.charCodeAt(i) & 0xffff); + } + + this.h1 = h1; + } + + this.k1 = k1; + return this; + }; + + // Get the result of this hash + // + // @return {number} The 32-bit hash + MurmurHash3.prototype.result = function() { + var k1, h1; + + k1 = this.k1; + h1 = this.h1; + + if (k1 > 0) { + k1 = (k1 * 0x2d51 + (k1 & 0xffff) * 0xcc9e0000) & 0xffffffff; + k1 = (k1 << 15) | (k1 >>> 17); + k1 = (k1 * 0x3593 + (k1 & 0xffff) * 0x1b870000) & 0xffffffff; + h1 ^= k1; + } + + h1 ^= this.len; + + h1 ^= h1 >>> 16; + h1 = (h1 * 0xca6b + (h1 & 0xffff) * 0x85eb0000) & 0xffffffff; + h1 ^= h1 >>> 13; + h1 = (h1 * 0xae35 + (h1 & 0xffff) * 0xc2b20000) & 0xffffffff; + h1 ^= h1 >>> 16; + + return h1 >>> 0; + }; + + // Reset the hash object for reuse + // + // @param {number} seed An optional positive integer + MurmurHash3.prototype.reset = function(seed) { + this.h1 = typeof seed === 'number' ? seed : 0; + this.rem = this.k1 = this.len = 0; + return this; + }; + + // A cached object to use. This can be safely used if you're in a single- + // threaded environment, otherwise you need to create new hashes to use. + cache = new MurmurHash3(); + + if (true) { + module.exports = MurmurHash3; + } else // removed by dead control flow +{} +}()); + + +/***/ }, + +/***/ 23145 +(module) { + +"use strict"; + + +/** + * @param typeMap [Object] Map of MIME type -> Array[extensions] + * @param ... + */ +function Mime() { + this._types = Object.create(null); + this._extensions = Object.create(null); + + for (let i = 0; i < arguments.length; i++) { + this.define(arguments[i]); + } + + this.define = this.define.bind(this); + this.getType = this.getType.bind(this); + this.getExtension = this.getExtension.bind(this); +} + +/** + * Define mimetype -> extension mappings. Each key is a mime-type that maps + * to an array of extensions associated with the type. The first extension is + * used as the default extension for the type. + * + * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']}); + * + * If a type declares an extension that has already been defined, an error will + * be thrown. To suppress this error and force the extension to be associated + * with the new type, pass `force`=true. Alternatively, you may prefix the + * extension with "*" to map the type to extension, without mapping the + * extension to the type. + * + * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']}); + * + * + * @param map (Object) type definitions + * @param force (Boolean) if true, force overriding of existing definitions + */ +Mime.prototype.define = function(typeMap, force) { + for (let type in typeMap) { + let extensions = typeMap[type].map(function(t) { + return t.toLowerCase(); + }); + type = type.toLowerCase(); + + for (let i = 0; i < extensions.length; i++) { + const ext = extensions[i]; + + // '*' prefix = not the preferred type for this extension. So fixup the + // extension, and skip it. + if (ext[0] === '*') { + continue; + } + + if (!force && (ext in this._types)) { + throw new Error( + 'Attempt to change mapping for "' + ext + + '" extension from "' + this._types[ext] + '" to "' + type + + '". Pass `force=true` to allow this, otherwise remove "' + ext + + '" from the list of extensions for "' + type + '".' + ); + } + + this._types[ext] = type; + } + + // Use first extension as default + if (force || !this._extensions[type]) { + const ext = extensions[0]; + this._extensions[type] = (ext[0] !== '*') ? ext : ext.substr(1); + } + } +}; + +/** + * Lookup a mime type based on extension + */ +Mime.prototype.getType = function(path) { + path = String(path); + let last = path.replace(/^.*[/\\]/, '').toLowerCase(); + let ext = last.replace(/^.*\./, '').toLowerCase(); + + let hasPath = last.length < path.length; + let hasDot = ext.length < last.length - 1; + + return (hasDot || !hasPath) && this._types[ext] || null; +}; + +/** + * Return file extension associated with a mime type + */ +Mime.prototype.getExtension = function(type) { + type = /^\s*([^;\s]*)/.test(type) && RegExp.$1; + return type && this._extensions[type.toLowerCase()] || null; +}; + +module.exports = Mime; + + +/***/ }, + +/***/ 5797 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +let Mime = __webpack_require__(23145); +module.exports = new Mime(__webpack_require__(22598), __webpack_require__(11477)); + + +/***/ }, + +/***/ 11477 +(module) { + +module.exports = {"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.sap.vds":["vds"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}; + +/***/ }, + +/***/ 22598 +(module) { + +module.exports = {"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]}; + +/***/ }, + +/***/ 59177 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +module.exports = writeFile +module.exports.sync = writeFileSync +module.exports._getTmpname = getTmpname // for testing +module.exports._cleanupOnExit = cleanupOnExit + +const fs = __webpack_require__(79896) +const MurmurHash3 = __webpack_require__(44119) +const { onExit } = __webpack_require__(79747) +const path = __webpack_require__(16928) +const { promisify } = __webpack_require__(39023) +const activeFiles = {} + +// if we run inside of a worker_thread, `process.pid` is not unique +/* istanbul ignore next */ +const threadId = (function getId () { + try { + const workerThreads = __webpack_require__(28167) + + /// if we are in main thread, this is set to `0` + return workerThreads.threadId + } catch (e) { + // worker_threads are not available, fallback to 0 + return 0 + } +})() + +let invocations = 0 +function getTmpname (filename) { + return filename + '.' + + MurmurHash3(__filename) + .hash(String(process.pid)) + .hash(String(threadId)) + .hash(String(++invocations)) + .result() +} + +function cleanupOnExit (tmpfile) { + return () => { + try { + fs.unlinkSync(typeof tmpfile === 'function' ? tmpfile() : tmpfile) + } catch { + // ignore errors + } + } +} + +function serializeActiveFile (absoluteName) { + return new Promise(resolve => { + // make a queue if it doesn't already exist + if (!activeFiles[absoluteName]) { + activeFiles[absoluteName] = [] + } + + activeFiles[absoluteName].push(resolve) // add this job to the queue + if (activeFiles[absoluteName].length === 1) { + resolve() + } // kick off the first one + }) +} + +// https://github.com/isaacs/node-graceful-fs/blob/master/polyfills.js#L315-L342 +function isChownErrOk (err) { + if (err.code === 'ENOSYS') { + return true + } + + const nonroot = !process.getuid || process.getuid() !== 0 + if (nonroot) { + if (err.code === 'EINVAL' || err.code === 'EPERM') { + return true + } + } + + return false +} + +async function writeFileAsync (filename, data, options = {}) { + if (typeof options === 'string') { + options = { encoding: options } + } + + let fd + let tmpfile + /* istanbul ignore next -- The closure only gets called when onExit triggers */ + const removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile)) + const absoluteName = path.resolve(filename) + + try { + await serializeActiveFile(absoluteName) + const truename = await promisify(fs.realpath)(filename).catch(() => filename) + tmpfile = getTmpname(truename) + + if (!options.mode || !options.chown) { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + const stats = await promisify(fs.stat)(truename).catch(() => {}) + if (stats) { + if (options.mode == null) { + options.mode = stats.mode + } + + if (options.chown == null && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } + } + } + } + + fd = await promisify(fs.open)(tmpfile, 'w', options.mode) + if (options.tmpfileCreated) { + await options.tmpfileCreated(tmpfile) + } + if (ArrayBuffer.isView(data)) { + await promisify(fs.write)(fd, data, 0, data.length, 0) + } else if (data != null) { + await promisify(fs.write)(fd, String(data), 0, String(options.encoding || 'utf8')) + } + + if (options.fsync !== false) { + await promisify(fs.fsync)(fd) + } + + await promisify(fs.close)(fd) + fd = null + + if (options.chown) { + await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid).catch(err => { + if (!isChownErrOk(err)) { + throw err + } + }) + } + + if (options.mode) { + await promisify(fs.chmod)(tmpfile, options.mode).catch(err => { + if (!isChownErrOk(err)) { + throw err + } + }) + } + + await promisify(fs.rename)(tmpfile, truename) + } finally { + if (fd) { + await promisify(fs.close)(fd).catch( + /* istanbul ignore next */ + () => {} + ) + } + removeOnExitHandler() + await promisify(fs.unlink)(tmpfile).catch(() => {}) + activeFiles[absoluteName].shift() // remove the element added by serializeSameFile + if (activeFiles[absoluteName].length > 0) { + activeFiles[absoluteName][0]() // start next job if one is pending + } else { + delete activeFiles[absoluteName] + } + } +} + +async function writeFile (filename, data, options, callback) { + if (options instanceof Function) { + callback = options + options = {} + } + + const promise = writeFileAsync(filename, data, options) + if (callback) { + try { + const result = await promise + return callback(result) + } catch (err) { + return callback(err) + } + } + + return promise +} + +function writeFileSync (filename, data, options) { + if (typeof options === 'string') { + options = { encoding: options } + } else if (!options) { + options = {} + } + try { + filename = fs.realpathSync(filename) + } catch (ex) { + // it's ok, it'll happen on a not yet existing file + } + const tmpfile = getTmpname(filename) + + if (!options.mode || !options.chown) { + // Either mode or chown is not explicitly set + // Default behavior is to copy it from original file + try { + const stats = fs.statSync(filename) + options = Object.assign({}, options) + if (!options.mode) { + options.mode = stats.mode + } + if (!options.chown && process.getuid) { + options.chown = { uid: stats.uid, gid: stats.gid } + } + } catch (ex) { + // ignore stat errors + } + } + + let fd + const cleanup = cleanupOnExit(tmpfile) + const removeOnExitHandler = onExit(cleanup) + + let threw = true + try { + fd = fs.openSync(tmpfile, 'w', options.mode || 0o666) + if (options.tmpfileCreated) { + options.tmpfileCreated(tmpfile) + } + if (ArrayBuffer.isView(data)) { + fs.writeSync(fd, data, 0, data.length, 0) + } else if (data != null) { + fs.writeSync(fd, String(data), 0, String(options.encoding || 'utf8')) + } + if (options.fsync !== false) { + fs.fsyncSync(fd) + } + + fs.closeSync(fd) + fd = null + + if (options.chown) { + try { + fs.chownSync(tmpfile, options.chown.uid, options.chown.gid) + } catch (err) { + if (!isChownErrOk(err)) { + throw err + } + } + } + + if (options.mode) { + try { + fs.chmodSync(tmpfile, options.mode) + } catch (err) { + if (!isChownErrOk(err)) { + throw err + } + } + } + + fs.renameSync(tmpfile, filename) + threw = false + } finally { + if (fd) { + try { + fs.closeSync(fd) + } catch (ex) { + // ignore close errors at this stage, error may have closed fd already. + } + } + removeOnExitHandler() + if (threw) { + cleanup() + } + } +} + + +/***/ }, + +/***/ 47121 +(module) { + +/* eslint-disable node/no-deprecated-api */ + +var toString = Object.prototype.toString + +var isModern = ( + typeof Buffer !== 'undefined' && + typeof Buffer.alloc === 'function' && + typeof Buffer.allocUnsafe === 'function' && + typeof Buffer.from === 'function' +) + +function isArrayBuffer (input) { + return toString.call(input).slice(8, -1) === 'ArrayBuffer' +} + +function fromArrayBuffer (obj, byteOffset, length) { + byteOffset >>>= 0 + + var maxLength = obj.byteLength - byteOffset + + if (maxLength < 0) { + throw new RangeError("'offset' is out of bounds") + } + + if (length === undefined) { + length = maxLength + } else { + length >>>= 0 + + if (length > maxLength) { + throw new RangeError("'length' is out of bounds") + } + } + + return isModern + ? Buffer.from(obj.slice(byteOffset, byteOffset + length)) + : new Buffer(new Uint8Array(obj.slice(byteOffset, byteOffset + length))) +} + +function fromString (string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + return isModern + ? Buffer.from(string, encoding) + : new Buffer(string, encoding) +} + +function bufferFrom (value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (isArrayBuffer(value)) { + return fromArrayBuffer(value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(value, encodingOrOffset) + } + + return isModern + ? Buffer.from(value) + : new Buffer(value) +} + +module.exports = bufferFrom + + +/***/ }, + +/***/ 37702 +(module, exports, __webpack_require__) { + +/* module decorator */ module = __webpack_require__.nmd(module); +var SourceMapConsumer = (__webpack_require__(19514).SourceMapConsumer); +var path = __webpack_require__(16928); + +var fs; +try { + fs = __webpack_require__(79896); + if (!fs.existsSync || !fs.readFileSync) { + // fs doesn't have all methods we need + fs = null; + } +} catch (err) { + /* nop */ +} + +var bufferFrom = __webpack_require__(47121); + +/** + * Requires a module which is protected against bundler minification. + * + * @param {NodeModule} mod + * @param {string} request + */ +function dynamicRequire(mod, request) { + return mod.require(request); +} + +// Only install once if called multiple times +var errorFormatterInstalled = false; +var uncaughtShimInstalled = false; + +// If true, the caches are reset before a stack trace formatting operation +var emptyCacheBetweenOperations = false; + +// Supports {browser, node, auto} +var environment = "auto"; + +// Maps a file path to a string containing the file contents +var fileContentsCache = {}; + +// Maps a file path to a source map for that file +var sourceMapCache = {}; + +// Regex for detecting source maps +var reSourceMap = /^data:application\/json[^,]+base64,/; + +// Priority list of retrieve handlers +var retrieveFileHandlers = []; +var retrieveMapHandlers = []; + +function isInBrowser() { + if (environment === "browser") + return true; + if (environment === "node") + return false; + return ((typeof window !== 'undefined') && (typeof XMLHttpRequest === 'function') && !(window.require && window.module && window.process && window.process.type === "renderer")); +} + +function hasGlobalProcessEventEmitter() { + return ((typeof process === 'object') && (process !== null) && (typeof process.on === 'function')); +} + +function globalProcessVersion() { + if ((typeof process === 'object') && (process !== null)) { + return process.version; + } else { + return ''; + } +} + +function globalProcessStderr() { + if ((typeof process === 'object') && (process !== null)) { + return process.stderr; + } +} + +function globalProcessExit(code) { + if ((typeof process === 'object') && (process !== null) && (typeof process.exit === 'function')) { + return process.exit(code); + } +} + +function handlerExec(list) { + return function(arg) { + for (var i = 0; i < list.length; i++) { + var ret = list[i](arg); + if (ret) { + return ret; + } + } + return null; + }; +} + +var retrieveFile = handlerExec(retrieveFileHandlers); + +retrieveFileHandlers.push(function(path) { + // Trim the path to make sure there is no extra whitespace. + path = path.trim(); + if (/^file:/.test(path)) { + // existsSync/readFileSync can't handle file protocol, but once stripped, it works + path = path.replace(/file:\/\/\/(\w:)?/, function(protocol, drive) { + return drive ? + '' : // file:///C:/dir/file -> C:/dir/file + '/'; // file:///root-dir/file -> /root-dir/file + }); + } + if (path in fileContentsCache) { + return fileContentsCache[path]; + } + + var contents = ''; + try { + if (!fs) { + // Use SJAX if we are in the browser + var xhr = new XMLHttpRequest(); + xhr.open('GET', path, /** async */ false); + xhr.send(null); + if (xhr.readyState === 4 && xhr.status === 200) { + contents = xhr.responseText; + } + } else if (fs.existsSync(path)) { + // Otherwise, use the filesystem + contents = fs.readFileSync(path, 'utf8'); + } + } catch (er) { + /* ignore any errors */ + } + + return fileContentsCache[path] = contents; +}); + +// Support URLs relative to a directory, but be careful about a protocol prefix +// in case we are in the browser (i.e. directories may start with "http://" or "file:///") +function supportRelativeURL(file, url) { + if (!file) return url; + var dir = path.dirname(file); + var match = /^\w+:\/\/[^\/]*/.exec(dir); + var protocol = match ? match[0] : ''; + var startPath = dir.slice(protocol.length); + if (protocol && /^\/\w\:/.test(startPath)) { + // handle file:///C:/ paths + protocol += '/'; + return protocol + path.resolve(dir.slice(protocol.length), url).replace(/\\/g, '/'); + } + return protocol + path.resolve(dir.slice(protocol.length), url); +} + +function retrieveSourceMapURL(source) { + var fileData; + + if (isInBrowser()) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', source, false); + xhr.send(null); + fileData = xhr.readyState === 4 ? xhr.responseText : null; + + // Support providing a sourceMappingURL via the SourceMap header + var sourceMapHeader = xhr.getResponseHeader("SourceMap") || + xhr.getResponseHeader("X-SourceMap"); + if (sourceMapHeader) { + return sourceMapHeader; + } + } catch (e) { + } + } + + // Get the URL of the source map + fileData = retrieveFile(source); + var re = /(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/mg; + // Keep executing the search to find the *last* sourceMappingURL to avoid + // picking up sourceMappingURLs from comments, strings, etc. + var lastMatch, match; + while (match = re.exec(fileData)) lastMatch = match; + if (!lastMatch) return null; + return lastMatch[1]; +}; + +// Can be overridden by the retrieveSourceMap option to install. Takes a +// generated source filename; returns a {map, optional url} object, or null if +// there is no source map. The map field may be either a string or the parsed +// JSON object (ie, it must be a valid argument to the SourceMapConsumer +// constructor). +var retrieveSourceMap = handlerExec(retrieveMapHandlers); +retrieveMapHandlers.push(function(source) { + var sourceMappingURL = retrieveSourceMapURL(source); + if (!sourceMappingURL) return null; + + // Read the contents of the source map + var sourceMapData; + if (reSourceMap.test(sourceMappingURL)) { + // Support source map URL as a data url + var rawData = sourceMappingURL.slice(sourceMappingURL.indexOf(',') + 1); + sourceMapData = bufferFrom(rawData, "base64").toString(); + sourceMappingURL = source; + } else { + // Support source map URLs relative to the source URL + sourceMappingURL = supportRelativeURL(source, sourceMappingURL); + sourceMapData = retrieveFile(sourceMappingURL); + } + + if (!sourceMapData) { + return null; + } + + return { + url: sourceMappingURL, + map: sourceMapData + }; +}); + +function mapSourcePosition(position) { + var sourceMap = sourceMapCache[position.source]; + if (!sourceMap) { + // Call the (overrideable) retrieveSourceMap function to get the source map. + var urlAndMap = retrieveSourceMap(position.source); + if (urlAndMap) { + sourceMap = sourceMapCache[position.source] = { + url: urlAndMap.url, + map: new SourceMapConsumer(urlAndMap.map) + }; + + // Load all sources stored inline with the source map into the file cache + // to pretend like they are already loaded. They may not exist on disk. + if (sourceMap.map.sourcesContent) { + sourceMap.map.sources.forEach(function(source, i) { + var contents = sourceMap.map.sourcesContent[i]; + if (contents) { + var url = supportRelativeURL(sourceMap.url, source); + fileContentsCache[url] = contents; + } + }); + } + } else { + sourceMap = sourceMapCache[position.source] = { + url: null, + map: null + }; + } + } + + // Resolve the source URL relative to the URL of the source map + if (sourceMap && sourceMap.map && typeof sourceMap.map.originalPositionFor === 'function') { + var originalPosition = sourceMap.map.originalPositionFor(position); + + // Only return the original position if a matching line was found. If no + // matching line is found then we return position instead, which will cause + // the stack trace to print the path and line for the compiled file. It is + // better to give a precise location in the compiled file than a vague + // location in the original file. + if (originalPosition.source !== null) { + originalPosition.source = supportRelativeURL( + sourceMap.url, originalPosition.source); + return originalPosition; + } + } + + return position; +} + +// Parses code generated by FormatEvalOrigin(), a function inside V8: +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js +function mapEvalOrigin(origin) { + // Most eval() calls are in this format + var match = /^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(origin); + if (match) { + var position = mapSourcePosition({ + source: match[2], + line: +match[3], + column: match[4] - 1 + }); + return 'eval at ' + match[1] + ' (' + position.source + ':' + + position.line + ':' + (position.column + 1) + ')'; + } + + // Parse nested eval() calls using recursion + match = /^eval at ([^(]+) \((.+)\)$/.exec(origin); + if (match) { + return 'eval at ' + match[1] + ' (' + mapEvalOrigin(match[2]) + ')'; + } + + // Make sure we still return useful information if we didn't find anything + return origin; +} + +// This is copied almost verbatim from the V8 source code at +// https://code.google.com/p/v8/source/browse/trunk/src/messages.js. The +// implementation of wrapCallSite() used to just forward to the actual source +// code of CallSite.prototype.toString but unfortunately a new release of V8 +// did something to the prototype chain and broke the shim. The only fix I +// could find was copy/paste. +function CallSiteToString() { + var fileName; + var fileLocation = ""; + if (this.isNative()) { + fileLocation = "native"; + } else { + fileName = this.getScriptNameOrSourceURL(); + if (!fileName && this.isEval()) { + fileLocation = this.getEvalOrigin(); + fileLocation += ", "; // Expecting source position to follow. + } + + if (fileName) { + fileLocation += fileName; + } else { + // Source code does not originate from a file and is not native, but we + // can still get the source position inside the source string, e.g. in + // an eval string. + fileLocation += ""; + } + var lineNumber = this.getLineNumber(); + if (lineNumber != null) { + fileLocation += ":" + lineNumber; + var columnNumber = this.getColumnNumber(); + if (columnNumber) { + fileLocation += ":" + columnNumber; + } + } + } + + var line = ""; + var functionName = this.getFunctionName(); + var addSuffix = true; + var isConstructor = this.isConstructor(); + var isMethodCall = !(this.isToplevel() || isConstructor); + if (isMethodCall) { + var typeName = this.getTypeName(); + // Fixes shim to be backward compatable with Node v0 to v4 + if (typeName === "[object Object]") { + typeName = "null"; + } + var methodName = this.getMethodName(); + if (functionName) { + if (typeName && functionName.indexOf(typeName) != 0) { + line += typeName + "."; + } + line += functionName; + if (methodName && functionName.indexOf("." + methodName) != functionName.length - methodName.length - 1) { + line += " [as " + methodName + "]"; + } + } else { + line += typeName + "." + (methodName || ""); + } + } else if (isConstructor) { + line += "new " + (functionName || ""); + } else if (functionName) { + line += functionName; + } else { + line += fileLocation; + addSuffix = false; + } + if (addSuffix) { + line += " (" + fileLocation + ")"; + } + return line; +} + +function cloneCallSite(frame) { + var object = {}; + Object.getOwnPropertyNames(Object.getPrototypeOf(frame)).forEach(function(name) { + object[name] = /^(?:is|get)/.test(name) ? function() { return frame[name].call(frame); } : frame[name]; + }); + object.toString = CallSiteToString; + return object; +} + +function wrapCallSite(frame, state) { + // provides interface backward compatibility + if (state === undefined) { + state = { nextPosition: null, curPosition: null } + } + if(frame.isNative()) { + state.curPosition = null; + return frame; + } + + // Most call sites will return the source file from getFileName(), but code + // passed to eval() ending in "//# sourceURL=..." will return the source file + // from getScriptNameOrSourceURL() instead + var source = frame.getFileName() || frame.getScriptNameOrSourceURL(); + if (source) { + var line = frame.getLineNumber(); + var column = frame.getColumnNumber() - 1; + + // Fix position in Node where some (internal) code is prepended. + // See https://github.com/evanw/node-source-map-support/issues/36 + // Header removed in node at ^10.16 || >=11.11.0 + // v11 is not an LTS candidate, we can just test the one version with it. + // Test node versions for: 10.16-19, 10.20+, 12-19, 20-99, 100+, or 11.11 + var noHeader = /^v(10\.1[6-9]|10\.[2-9][0-9]|10\.[0-9]{3,}|1[2-9]\d*|[2-9]\d|\d{3,}|11\.11)/; + var headerLength = noHeader.test(globalProcessVersion()) ? 0 : 62; + if (line === 1 && column > headerLength && !isInBrowser() && !frame.isEval()) { + column -= headerLength; + } + + var position = mapSourcePosition({ + source: source, + line: line, + column: column + }); + state.curPosition = position; + frame = cloneCallSite(frame); + var originalFunctionName = frame.getFunctionName; + frame.getFunctionName = function() { + if (state.nextPosition == null) { + return originalFunctionName(); + } + return state.nextPosition.name || originalFunctionName(); + }; + frame.getFileName = function() { return position.source; }; + frame.getLineNumber = function() { return position.line; }; + frame.getColumnNumber = function() { return position.column + 1; }; + frame.getScriptNameOrSourceURL = function() { return position.source; }; + return frame; + } + + // Code called using eval() needs special handling + var origin = frame.isEval() && frame.getEvalOrigin(); + if (origin) { + origin = mapEvalOrigin(origin); + frame = cloneCallSite(frame); + frame.getEvalOrigin = function() { return origin; }; + return frame; + } + + // If we get here then we were unable to change the source position + return frame; +} + +// This function is part of the V8 stack trace API, for more info see: +// https://v8.dev/docs/stack-trace-api +function prepareStackTrace(error, stack) { + if (emptyCacheBetweenOperations) { + fileContentsCache = {}; + sourceMapCache = {}; + } + + var name = error.name || 'Error'; + var message = error.message || ''; + var errorString = name + ": " + message; + + var state = { nextPosition: null, curPosition: null }; + var processedStack = []; + for (var i = stack.length - 1; i >= 0; i--) { + processedStack.push('\n at ' + wrapCallSite(stack[i], state)); + state.nextPosition = state.curPosition; + } + state.curPosition = state.nextPosition = null; + return errorString + processedStack.reverse().join(''); +} + +// Generate position and snippet of original source with pointer +function getErrorSource(error) { + var match = /\n at [^(]+ \((.*):(\d+):(\d+)\)/.exec(error.stack); + if (match) { + var source = match[1]; + var line = +match[2]; + var column = +match[3]; + + // Support the inline sourceContents inside the source map + var contents = fileContentsCache[source]; + + // Support files on disk + if (!contents && fs && fs.existsSync(source)) { + try { + contents = fs.readFileSync(source, 'utf8'); + } catch (er) { + contents = ''; + } + } + + // Format the line from the original source code like node does + if (contents) { + var code = contents.split(/(?:\r\n|\r|\n)/)[line - 1]; + if (code) { + return source + ':' + line + '\n' + code + '\n' + + new Array(column).join(' ') + '^'; + } + } + } + return null; +} + +function printErrorAndExit (error) { + var source = getErrorSource(error); + + // Ensure error is printed synchronously and not truncated + var stderr = globalProcessStderr(); + if (stderr && stderr._handle && stderr._handle.setBlocking) { + stderr._handle.setBlocking(true); + } + + if (source) { + console.error(); + console.error(source); + } + + console.error(error.stack); + globalProcessExit(1); +} + +function shimEmitUncaughtException () { + var origEmit = process.emit; + + process.emit = function (type) { + if (type === 'uncaughtException') { + var hasStack = (arguments[1] && arguments[1].stack); + var hasListeners = (this.listeners(type).length > 0); + + if (hasStack && !hasListeners) { + return printErrorAndExit(arguments[1]); + } + } + + return origEmit.apply(this, arguments); + }; +} + +var originalRetrieveFileHandlers = retrieveFileHandlers.slice(0); +var originalRetrieveMapHandlers = retrieveMapHandlers.slice(0); + +exports.wrapCallSite = wrapCallSite; +exports.getErrorSource = getErrorSource; +exports.mapSourcePosition = mapSourcePosition; +exports.retrieveSourceMap = retrieveSourceMap; + +exports.install = function(options) { + options = options || {}; + + if (options.environment) { + environment = options.environment; + if (["node", "browser", "auto"].indexOf(environment) === -1) { + throw new Error("environment " + environment + " was unknown. Available options are {auto, browser, node}") + } + } + + // Allow sources to be found by methods other than reading the files + // directly from disk. + if (options.retrieveFile) { + if (options.overrideRetrieveFile) { + retrieveFileHandlers.length = 0; + } + + retrieveFileHandlers.unshift(options.retrieveFile); + } + + // Allow source maps to be found by methods other than reading the files + // directly from disk. + if (options.retrieveSourceMap) { + if (options.overrideRetrieveSourceMap) { + retrieveMapHandlers.length = 0; + } + + retrieveMapHandlers.unshift(options.retrieveSourceMap); + } + + // Support runtime transpilers that include inline source maps + if (options.hookRequire && !isInBrowser()) { + // Use dynamicRequire to avoid including in browser bundles + var Module = dynamicRequire(module, 'module'); + var $compile = Module.prototype._compile; + + if (!$compile.__sourceMapSupport) { + Module.prototype._compile = function(content, filename) { + fileContentsCache[filename] = content; + sourceMapCache[filename] = undefined; + return $compile.call(this, content, filename); + }; + + Module.prototype._compile.__sourceMapSupport = true; + } + } + + // Configure options + if (!emptyCacheBetweenOperations) { + emptyCacheBetweenOperations = 'emptyCacheBetweenOperations' in options ? + options.emptyCacheBetweenOperations : false; + } + + // Install the error reformatter + if (!errorFormatterInstalled) { + errorFormatterInstalled = true; + Error.prepareStackTrace = prepareStackTrace; + } + + if (!uncaughtShimInstalled) { + var installHandler = 'handleUncaughtExceptions' in options ? + options.handleUncaughtExceptions : true; + + // Do not override 'uncaughtException' with our own handler in Node.js + // Worker threads. Workers pass the error to the main thread as an event, + // rather than printing something to stderr and exiting. + try { + // We need to use `dynamicRequire` because `require` on it's own will be optimized by WebPack/Browserify. + var worker_threads = dynamicRequire(module, 'worker_threads'); + if (worker_threads.isMainThread === false) { + installHandler = false; + } + } catch(e) {} + + // Provide the option to not install the uncaught exception handler. This is + // to support other uncaught exception handlers (in test frameworks, for + // example). If this handler is not installed and there are no other uncaught + // exception handlers, uncaught exceptions will be caught by node's built-in + // exception handler and the process will still be terminated. However, the + // generated JavaScript code will be shown above the stack trace instead of + // the original source code. + if (installHandler && hasGlobalProcessEventEmitter()) { + uncaughtShimInstalled = true; + shimEmitUncaughtException(); + } + } +}; + +exports.resetRetrieveHandlers = function() { + retrieveFileHandlers.length = 0; + retrieveMapHandlers.length = 0; + + retrieveFileHandlers = originalRetrieveFileHandlers.slice(0); + retrieveMapHandlers = originalRetrieveMapHandlers.slice(0); + + retrieveSourceMap = handlerExec(retrieveMapHandlers); + retrieveFile = handlerExec(retrieveFileHandlers); +} + + +/***/ }, + +/***/ 25894 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(94332); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.C = ArraySet; + + +/***/ }, + +/***/ 24127 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = __webpack_require__(27667); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + + +/***/ }, + +/***/ 27667 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; + + +/***/ }, + +/***/ 20902 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; + + +/***/ }, + +/***/ 637 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(94332); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.P = MappingList; + + +/***/ }, + +/***/ 71934 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.g = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + + +/***/ }, + +/***/ 38243 +(__unused_webpack_module, exports, __webpack_require__) { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(94332); +var binarySearch = __webpack_require__(20902); +var ArraySet = (__webpack_require__(25894)/* .ArraySet */ .C); +var base64VLQ = __webpack_require__(24127); +var quickSort = (__webpack_require__(71934)/* .quickSort */ .g); + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +__webpack_unused_export__ = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +__webpack_unused_export__ = IndexedSourceMapConsumer; + + +/***/ }, + +/***/ 9742 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = __webpack_require__(24127); +var util = __webpack_require__(94332); +var ArraySet = (__webpack_require__(25894)/* .ArraySet */ .C); +var MappingList = (__webpack_require__(637)/* .MappingList */ .P); + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.x = SourceMapGenerator; + + +/***/ }, + +/***/ 78282 +(__unused_webpack_module, exports, __webpack_require__) { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = (__webpack_require__(9742)/* .SourceMapGenerator */ .x); +var util = __webpack_require__(94332); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +__webpack_unused_export__ = SourceNode; + + +/***/ }, + +/***/ 94332 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '

/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; + + +/***/ }, + +/***/ 19514 +(__unused_webpack_module, exports, __webpack_require__) { + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +/* unused reexport */ __webpack_require__(9742)/* .SourceMapGenerator */ .x; +exports.SourceMapConsumer = __webpack_require__(38243).SourceMapConsumer; +/* unused reexport */ __webpack_require__(78282); + + +/***/ }, + +/***/ 30283 +(module, __unused_webpack_exports, __webpack_require__) { + +const Utils = __webpack_require__(64070); +const pth = __webpack_require__(16928); +const ZipEntry = __webpack_require__(90016); +const ZipFile = __webpack_require__(37224); + +const get_Bool = (...val) => Utils.findLast(val, (c) => typeof c === "boolean"); +const get_Str = (...val) => Utils.findLast(val, (c) => typeof c === "string"); +const get_Fun = (...val) => Utils.findLast(val, (c) => typeof c === "function"); + +const defaultOptions = { + // option "noSort" : if true it disables files sorting + noSort: false, + // read entries during load (initial loading may be slower) + readEntries: false, + // default method is none + method: Utils.Constants.NONE, + // file system + fs: null +}; + +module.exports = function (/**String*/ input, /** object */ options) { + let inBuffer = null; + + // create object based default options, allowing them to be overwritten + const opts = Object.assign(Object.create(null), defaultOptions); + + // test input variable + if (input && "object" === typeof input) { + // if value is not buffer we accept it to be object with options + if (!(input instanceof Uint8Array)) { + Object.assign(opts, input); + input = opts.input ? opts.input : undefined; + if (opts.input) delete opts.input; + } + + // if input is buffer + if (Buffer.isBuffer(input)) { + inBuffer = input; + opts.method = Utils.Constants.BUFFER; + input = undefined; + } + } + + // assign options + Object.assign(opts, options); + + // instanciate utils filesystem + const filetools = new Utils(opts); + + if (typeof opts.decoder !== "object" || typeof opts.decoder.encode !== "function" || typeof opts.decoder.decode !== "function") { + opts.decoder = Utils.decoder; + } + + // if input is file name we retrieve its content + if (input && "string" === typeof input) { + // load zip file + if (filetools.fs.existsSync(input)) { + opts.method = Utils.Constants.FILE; + opts.filename = input; + inBuffer = filetools.fs.readFileSync(input); + } else { + throw Utils.Errors.INVALID_FILENAME(); + } + } + + // create variable + const _zip = new ZipFile(inBuffer, opts); + + const { canonical, sanitize, zipnamefix } = Utils; + + function getEntry(/**Object*/ entry) { + if (entry && _zip) { + var item; + // If entry was given as a file name + if (typeof entry === "string") item = _zip.getEntry(pth.posix.normalize(entry)); + // if entry was given as a ZipEntry object + if (typeof entry === "object" && typeof entry.entryName !== "undefined" && typeof entry.header !== "undefined") item = _zip.getEntry(entry.entryName); + + if (item) { + return item; + } + } + return null; + } + + function fixPath(zipPath) { + const { join, normalize, sep } = pth.posix; + // convert windows file separators and normalize + return join(pth.isAbsolute(zipPath) ? "/": '.', normalize(sep + zipPath.split("\\").join(sep) + sep)); + } + + function filenameFilter(filterfn) { + if (filterfn instanceof RegExp) { + // if filter is RegExp wrap it + return (function (rx) { + return function (filename) { + return rx.test(filename); + }; + })(filterfn); + } else if ("function" !== typeof filterfn) { + // if filter is not function we will replace it + return () => true; + } + return filterfn; + } + + // keep last character on folders + const relativePath = (local, entry) => { + let lastChar = entry.slice(-1); + lastChar = lastChar === filetools.sep ? filetools.sep : ""; + return pth.relative(local, entry) + lastChar; + }; + + return { + /** + * Extracts the given entry from the archive and returns the content as a Buffer object + * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry + * @param {Buffer|string} [pass] - password + * @return Buffer or Null in case of error + */ + readFile: function (entry, pass) { + var item = getEntry(entry); + return (item && item.getData(pass)) || null; + }, + + /** + * Returns how many child elements has on entry (directories) on files it is always 0 + * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry + * @returns {integer} + */ + childCount: function (entry) { + const item = getEntry(entry); + if (item) { + return _zip.getChildCount(item); + } + }, + + /** + * Asynchronous readFile + * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry + * @param {callback} callback + * + * @return Buffer or Null in case of error + */ + readFileAsync: function (entry, callback) { + var item = getEntry(entry); + if (item) { + item.getDataAsync(callback); + } else { + callback(null, "getEntry failed for:" + entry); + } + }, + + /** + * Extracts the given entry from the archive and returns the content as plain text in the given encoding + * @param {ZipEntry|string} entry - ZipEntry object or String with the full path of the entry + * @param {string} encoding - Optional. If no encoding is specified utf8 is used + * + * @return String + */ + readAsText: function (entry, encoding) { + var item = getEntry(entry); + if (item) { + var data = item.getData(); + if (data && data.length) { + return data.toString(encoding || "utf8"); + } + } + return ""; + }, + + /** + * Asynchronous readAsText + * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry + * @param {callback} callback + * @param {string} [encoding] - Optional. If no encoding is specified utf8 is used + * + * @return String + */ + readAsTextAsync: function (entry, callback, encoding) { + var item = getEntry(entry); + if (item) { + item.getDataAsync(function (data, err) { + if (err) { + callback(data, err); + return; + } + + if (data && data.length) { + callback(data.toString(encoding || "utf8")); + } else { + callback(""); + } + }); + } else { + callback(""); + } + }, + + /** + * Remove the entry from the file or the entry and all it's nested directories and files if the given entry is a directory + * + * @param {ZipEntry|string} entry + * @returns {void} + */ + deleteFile: function (entry, withsubfolders = true) { + // @TODO: test deleteFile + var item = getEntry(entry); + if (item) { + _zip.deleteFile(item.entryName, withsubfolders); + } + }, + + /** + * Remove the entry from the file or directory without affecting any nested entries + * + * @param {ZipEntry|string} entry + * @returns {void} + */ + deleteEntry: function (entry) { + // @TODO: test deleteEntry + var item = getEntry(entry); + if (item) { + _zip.deleteEntry(item.entryName); + } + }, + + /** + * Adds a comment to the zip. The zip must be rewritten after adding the comment. + * + * @param {string} comment + */ + addZipComment: function (comment) { + // @TODO: test addZipComment + _zip.comment = comment; + }, + + /** + * Returns the zip comment + * + * @return String + */ + getZipComment: function () { + return _zip.comment || ""; + }, + + /** + * Adds a comment to a specified zipEntry. The zip must be rewritten after adding the comment + * The comment cannot exceed 65535 characters in length + * + * @param {ZipEntry} entry + * @param {string} comment + */ + addZipEntryComment: function (entry, comment) { + var item = getEntry(entry); + if (item) { + item.comment = comment; + } + }, + + /** + * Returns the comment of the specified entry + * + * @param {ZipEntry} entry + * @return String + */ + getZipEntryComment: function (entry) { + var item = getEntry(entry); + if (item) { + return item.comment || ""; + } + return ""; + }, + + /** + * Updates the content of an existing entry inside the archive. The zip must be rewritten after updating the content + * + * @param {ZipEntry} entry + * @param {Buffer} content + */ + updateFile: function (entry, content) { + var item = getEntry(entry); + if (item) { + item.setData(content); + } + }, + + /** + * Adds a file from the disk to the archive + * + * @param {string} localPath File to add to zip + * @param {string} [zipPath] Optional path inside the zip + * @param {string} [zipName] Optional name for the file + * @param {string} [comment] Optional file comment + */ + addLocalFile: function (localPath, zipPath, zipName, comment) { + if (filetools.fs.existsSync(localPath)) { + // fix ZipPath + zipPath = zipPath ? fixPath(zipPath) : ""; + + // p - local file name + const p = pth.win32.basename(pth.win32.normalize(localPath)); + + // add file name into zippath + zipPath += zipName ? zipName : p; + + // read file attributes + const _attr = filetools.fs.statSync(localPath); + + // get file content + const data = _attr.isFile() ? filetools.fs.readFileSync(localPath) : Buffer.alloc(0); + + // if folder + if (_attr.isDirectory()) zipPath += filetools.sep; + + // add file into zip file + this.addFile(zipPath, data, comment, _attr); + } else { + throw Utils.Errors.FILE_NOT_FOUND(localPath); + } + }, + + /** + * Callback for showing if everything was done. + * + * @callback doneCallback + * @param {Error} err - Error object + * @param {boolean} done - was request fully completed + */ + + /** + * Adds a file from the disk to the archive + * + * @param {(object|string)} options - options object, if it is string it us used as localPath. + * @param {string} options.localPath - Local path to the file. + * @param {string} [options.comment] - Optional file comment. + * @param {string} [options.zipPath] - Optional path inside the zip + * @param {string} [options.zipName] - Optional name for the file + * @param {doneCallback} callback - The callback that handles the response. + */ + addLocalFileAsync: function (options, callback) { + options = typeof options === "object" ? options : { localPath: options }; + const localPath = pth.resolve(options.localPath); + const { comment } = options; + let { zipPath, zipName } = options; + const self = this; + + filetools.fs.stat(localPath, function (err, stats) { + if (err) return callback(err, false); + // fix ZipPath + zipPath = zipPath ? fixPath(zipPath) : ""; + // p - local file name + const p = pth.win32.basename(pth.win32.normalize(localPath)); + // add file name into zippath + zipPath += zipName ? zipName : p; + + if (stats.isFile()) { + filetools.fs.readFile(localPath, function (err, data) { + if (err) return callback(err, false); + self.addFile(zipPath, data, comment, stats); + return setImmediate(callback, undefined, true); + }); + } else if (stats.isDirectory()) { + zipPath += filetools.sep; + self.addFile(zipPath, Buffer.alloc(0), comment, stats); + return setImmediate(callback, undefined, true); + } + }); + }, + + /** + * Adds a local directory and all its nested files and directories to the archive + * + * @param {string} localPath - local path to the folder + * @param {string} [zipPath] - optional path inside zip + * @param {(RegExp|function)} [filter] - optional RegExp or Function if files match will be included. + */ + addLocalFolder: function (localPath, zipPath, filter) { + // Prepare filter + filter = filenameFilter(filter); + + // fix ZipPath + zipPath = zipPath ? fixPath(zipPath) : ""; + + // normalize the path first + localPath = pth.normalize(localPath); + + if (filetools.fs.existsSync(localPath)) { + const items = filetools.findFiles(localPath); + const self = this; + + if (items.length) { + for (const filepath of items) { + const p = pth.join(zipPath, relativePath(localPath, filepath)); + if (filter(p)) { + self.addLocalFile(filepath, pth.dirname(p)); + } + } + } + } else { + throw Utils.Errors.FILE_NOT_FOUND(localPath); + } + }, + + /** + * Asynchronous addLocalFolder + * @param {string} localPath + * @param {callback} callback + * @param {string} [zipPath] optional path inside zip + * @param {RegExp|function} [filter] optional RegExp or Function if files match will + * be included. + */ + addLocalFolderAsync: function (localPath, callback, zipPath, filter) { + // Prepare filter + filter = filenameFilter(filter); + + // fix ZipPath + zipPath = zipPath ? fixPath(zipPath) : ""; + + // normalize the path first + localPath = pth.normalize(localPath); + + var self = this; + filetools.fs.open(localPath, "r", function (err) { + if (err && err.code === "ENOENT") { + callback(undefined, Utils.Errors.FILE_NOT_FOUND(localPath)); + } else if (err) { + callback(undefined, err); + } else { + var items = filetools.findFiles(localPath); + var i = -1; + + var next = function () { + i += 1; + if (i < items.length) { + var filepath = items[i]; + var p = relativePath(localPath, filepath).split("\\").join("/"); //windows fix + p = p + .normalize("NFD") + .replace(/[\u0300-\u036f]/g, "") + .replace(/[^\x20-\x7E]/g, ""); // accent fix + if (filter(p)) { + filetools.fs.stat(filepath, function (er0, stats) { + if (er0) callback(undefined, er0); + if (stats.isFile()) { + filetools.fs.readFile(filepath, function (er1, data) { + if (er1) { + callback(undefined, er1); + } else { + self.addFile(zipPath + p, data, "", stats); + next(); + } + }); + } else { + self.addFile(zipPath + p + "/", Buffer.alloc(0), "", stats); + next(); + } + }); + } else { + process.nextTick(() => { + next(); + }); + } + } else { + callback(true, undefined); + } + }; + + next(); + } + }); + }, + + /** + * Adds a local directory and all its nested files and directories to the archive + * + * @param {object | string} options - options object, if it is string it us used as localPath. + * @param {string} options.localPath - Local path to the folder. + * @param {string} [options.zipPath] - optional path inside zip. + * @param {RegExp|function} [options.filter] - optional RegExp or Function if files match will be included. + * @param {function|string} [options.namefix] - optional function to help fix filename + * @param {doneCallback} callback - The callback that handles the response. + * + */ + addLocalFolderAsync2: function (options, callback) { + const self = this; + options = typeof options === "object" ? options : { localPath: options }; + localPath = pth.resolve(fixPath(options.localPath)); + let { zipPath, filter, namefix } = options; + + if (filter instanceof RegExp) { + filter = (function (rx) { + return function (filename) { + return rx.test(filename); + }; + })(filter); + } else if ("function" !== typeof filter) { + filter = function () { + return true; + }; + } + + // fix ZipPath + zipPath = zipPath ? fixPath(zipPath) : ""; + + // Check Namefix function + if (namefix == "latin1") { + namefix = (str) => + str + .normalize("NFD") + .replace(/[\u0300-\u036f]/g, "") + .replace(/[^\x20-\x7E]/g, ""); // accent fix (latin1 characers only) + } + + if (typeof namefix !== "function") namefix = (str) => str; + + // internal, create relative path + fix the name + const relPathFix = (entry) => pth.join(zipPath, namefix(relativePath(localPath, entry))); + const fileNameFix = (entry) => pth.win32.basename(pth.win32.normalize(namefix(entry))); + + filetools.fs.open(localPath, "r", function (err) { + if (err && err.code === "ENOENT") { + callback(undefined, Utils.Errors.FILE_NOT_FOUND(localPath)); + } else if (err) { + callback(undefined, err); + } else { + filetools.findFilesAsync(localPath, function (err, fileEntries) { + if (err) return callback(err); + fileEntries = fileEntries.filter((dir) => filter(relPathFix(dir))); + if (!fileEntries.length) callback(undefined, false); + + setImmediate( + fileEntries.reverse().reduce(function (next, entry) { + return function (err, done) { + if (err || done === false) return setImmediate(next, err, false); + + self.addLocalFileAsync( + { + localPath: entry, + zipPath: pth.dirname(relPathFix(entry)), + zipName: fileNameFix(entry) + }, + next + ); + }; + }, callback) + ); + }); + } + }); + }, + + /** + * Adds a local directory and all its nested files and directories to the archive + * + * @param {string} localPath - path where files will be extracted + * @param {object} props - optional properties + * @param {string} [props.zipPath] - optional path inside zip + * @param {RegExp|function} [props.filter] - optional RegExp or Function if files match will be included. + * @param {function|string} [props.namefix] - optional function to help fix filename + */ + addLocalFolderPromise: function (localPath, props) { + return new Promise((resolve, reject) => { + this.addLocalFolderAsync2(Object.assign({ localPath }, props), (err, done) => { + if (err) reject(err); + if (done) resolve(this); + }); + }); + }, + + /** + * Allows you to create a entry (file or directory) in the zip file. + * If you want to create a directory the entryName must end in / and a null buffer should be provided. + * Comment and attributes are optional + * + * @param {string} entryName + * @param {Buffer | string} content - file content as buffer or utf8 coded string + * @param {string} [comment] - file comment + * @param {number | object} [attr] - number as unix file permissions, object as filesystem Stats object + */ + addFile: function (entryName, content, comment, attr) { + entryName = zipnamefix(entryName); + let entry = getEntry(entryName); + const update = entry != null; + + // prepare new entry + if (!update) { + entry = new ZipEntry(opts); + entry.entryName = entryName; + } + entry.comment = comment || ""; + + const isStat = "object" === typeof attr && attr instanceof filetools.fs.Stats; + + // last modification time from file stats + if (isStat) { + entry.header.time = attr.mtime; + } + + // Set file attribute + var fileattr = entry.isDirectory ? 0x10 : 0; // (MS-DOS directory flag) + + // extended attributes field for Unix + // set file type either S_IFDIR / S_IFREG + let unix = entry.isDirectory ? 0x4000 : 0x8000; + + if (isStat) { + // File attributes from file stats + unix |= 0xfff & attr.mode; + } else if ("number" === typeof attr) { + // attr from given attr values + unix |= 0xfff & attr; + } else { + // Default values: + unix |= entry.isDirectory ? 0o755 : 0o644; // permissions (drwxr-xr-x) or (-r-wr--r--) + } + + fileattr = (fileattr | (unix << 16)) >>> 0; // add attributes + + entry.attr = fileattr; + + entry.setData(content); + if (!update) _zip.setEntry(entry); + + return entry; + }, + + /** + * Returns an array of ZipEntry objects representing the files and folders inside the archive + * + * @param {string} [password] + * @returns Array + */ + getEntries: function (password) { + _zip.password = password; + return _zip ? _zip.entries : []; + }, + + /** + * Returns a ZipEntry object representing the file or folder specified by ``name``. + * + * @param {string} name + * @return ZipEntry + */ + getEntry: function (/**String*/ name) { + return getEntry(name); + }, + + getEntryCount: function () { + return _zip.getEntryCount(); + }, + + forEach: function (callback) { + return _zip.forEach(callback); + }, + + /** + * Extracts the given entry to the given targetPath + * If the entry is a directory inside the archive, the entire directory and it's subdirectories will be extracted + * + * @param {string|ZipEntry} entry - ZipEntry object or String with the full path of the entry + * @param {string} targetPath - Target folder where to write the file + * @param {boolean} [maintainEntryPath=true] - If maintainEntryPath is true and the entry is inside a folder, the entry folder will be created in targetPath as well. Default is TRUE + * @param {boolean} [overwrite=false] - If the file already exists at the target path, the file will be overwriten if this is true. + * @param {boolean} [keepOriginalPermission=false] - The file will be set as the permission from the entry if this is true. + * @param {string} [outFileName] - String If set will override the filename of the extracted file (Only works if the entry is a file) + * + * @return Boolean + */ + extractEntryTo: function (entry, targetPath, maintainEntryPath, overwrite, keepOriginalPermission, outFileName) { + overwrite = get_Bool(false, overwrite); + keepOriginalPermission = get_Bool(false, keepOriginalPermission); + maintainEntryPath = get_Bool(true, maintainEntryPath); + outFileName = get_Str(keepOriginalPermission, outFileName); + + var item = getEntry(entry); + if (!item) { + throw Utils.Errors.NO_ENTRY(); + } + + var entryName = canonical(item.entryName); + + var target = sanitize(targetPath, outFileName && !item.isDirectory ? outFileName : maintainEntryPath ? entryName : pth.basename(entryName)); + + if (item.isDirectory) { + var children = _zip.getEntryChildren(item); + children.forEach(function (child) { + if (child.isDirectory) return; + var content = child.getData(); + if (!content) { + throw Utils.Errors.CANT_EXTRACT_FILE(); + } + var name = canonical(child.entryName); + var childName = sanitize(targetPath, maintainEntryPath ? name : pth.basename(name)); + // The reverse operation for attr depend on method addFile() + const fileAttr = keepOriginalPermission ? child.header.fileAttr : undefined; + filetools.writeFileTo(childName, content, overwrite, fileAttr); + }); + return true; + } + + var content = item.getData(_zip.password); + if (!content) throw Utils.Errors.CANT_EXTRACT_FILE(); + + if (filetools.fs.existsSync(target) && !overwrite) { + throw Utils.Errors.CANT_OVERRIDE(); + } + // The reverse operation for attr depend on method addFile() + const fileAttr = keepOriginalPermission ? entry.header.fileAttr : undefined; + filetools.writeFileTo(target, content, overwrite, fileAttr); + + return true; + }, + + /** + * Test the archive + * @param {string} [pass] + */ + test: function (pass) { + if (!_zip) { + return false; + } + + for (var entry in _zip.entries) { + try { + if (entry.isDirectory) { + continue; + } + var content = _zip.entries[entry].getData(pass); + if (!content) { + return false; + } + } catch (err) { + return false; + } + } + return true; + }, + + /** + * Extracts the entire archive to the given location + * + * @param {string} targetPath Target location + * @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true. + * Default is FALSE + * @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true. + * Default is FALSE + * @param {string|Buffer} [pass] password + */ + extractAllTo: function (targetPath, overwrite, keepOriginalPermission, pass) { + keepOriginalPermission = get_Bool(false, keepOriginalPermission); + pass = get_Str(keepOriginalPermission, pass); + overwrite = get_Bool(false, overwrite); + if (!_zip) throw Utils.Errors.NO_ZIP(); + + _zip.entries.forEach(function (entry) { + var entryName = sanitize(targetPath, canonical(entry.entryName)); + if (entry.isDirectory) { + filetools.makeDir(entryName); + return; + } + var content = entry.getData(pass); + if (!content) { + throw Utils.Errors.CANT_EXTRACT_FILE(); + } + // The reverse operation for attr depend on method addFile() + const fileAttr = keepOriginalPermission ? entry.header.fileAttr : undefined; + filetools.writeFileTo(entryName, content, overwrite, fileAttr); + try { + filetools.fs.utimesSync(entryName, entry.header.time, entry.header.time); + } catch (err) { + throw Utils.Errors.CANT_EXTRACT_FILE(); + } + }); + }, + + /** + * Asynchronous extractAllTo + * + * @param {string} targetPath Target location + * @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true. + * Default is FALSE + * @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true. + * Default is FALSE + * @param {function} callback The callback will be executed when all entries are extracted successfully or any error is thrown. + */ + extractAllToAsync: function (targetPath, overwrite, keepOriginalPermission, callback) { + callback = get_Fun(overwrite, keepOriginalPermission, callback); + keepOriginalPermission = get_Bool(false, keepOriginalPermission); + overwrite = get_Bool(false, overwrite); + if (!callback) { + return new Promise((resolve, reject) => { + this.extractAllToAsync(targetPath, overwrite, keepOriginalPermission, function (err) { + if (err) { + reject(err); + } else { + resolve(this); + } + }); + }); + } + if (!_zip) { + callback(Utils.Errors.NO_ZIP()); + return; + } + + targetPath = pth.resolve(targetPath); + // convert entryName to + const getPath = (entry) => sanitize(targetPath, pth.normalize(canonical(entry.entryName))); + const getError = (msg, file) => new Error(msg + ': "' + file + '"'); + + // separate directories from files + const dirEntries = []; + const fileEntries = []; + _zip.entries.forEach((e) => { + if (e.isDirectory) { + dirEntries.push(e); + } else { + fileEntries.push(e); + } + }); + + // Create directory entries first synchronously + // this prevents race condition and assures folders are there before writing files + for (const entry of dirEntries) { + const dirPath = getPath(entry); + // The reverse operation for attr depend on method addFile() + const dirAttr = keepOriginalPermission ? entry.header.fileAttr : undefined; + try { + filetools.makeDir(dirPath); + if (dirAttr) filetools.fs.chmodSync(dirPath, dirAttr); + // in unix timestamp will change if files are later added to folder, but still + filetools.fs.utimesSync(dirPath, entry.header.time, entry.header.time); + } catch (er) { + callback(getError("Unable to create folder", dirPath)); + } + } + + fileEntries.reverse().reduce(function (next, entry) { + return function (err) { + if (err) { + next(err); + } else { + const entryName = pth.normalize(canonical(entry.entryName)); + const filePath = sanitize(targetPath, entryName); + entry.getDataAsync(function (content, err_1) { + if (err_1) { + next(err_1); + } else if (!content) { + next(Utils.Errors.CANT_EXTRACT_FILE()); + } else { + // The reverse operation for attr depend on method addFile() + const fileAttr = keepOriginalPermission ? entry.header.fileAttr : undefined; + filetools.writeFileToAsync(filePath, content, overwrite, fileAttr, function (succ) { + if (!succ) { + next(getError("Unable to write file", filePath)); + } + filetools.fs.utimes(filePath, entry.header.time, entry.header.time, function (err_2) { + if (err_2) { + next(getError("Unable to set times", filePath)); + } else { + next(); + } + }); + }); + } + }); + } + }; + }, callback)(); + }, + + /** + * Writes the newly created zip file to disk at the specified location or if a zip was opened and no ``targetFileName`` is provided, it will overwrite the opened zip + * + * @param {string} targetFileName + * @param {function} callback + */ + writeZip: function (targetFileName, callback) { + if (arguments.length === 1) { + if (typeof targetFileName === "function") { + callback = targetFileName; + targetFileName = ""; + } + } + + if (!targetFileName && opts.filename) { + targetFileName = opts.filename; + } + if (!targetFileName) return; + + var zipData = _zip.compressToBuffer(); + if (zipData) { + var ok = filetools.writeFileTo(targetFileName, zipData, true); + if (typeof callback === "function") callback(!ok ? new Error("failed") : null, ""); + } + }, + + /** + * + * @param {string} targetFileName + * @param {object} [props] + * @param {boolean} [props.overwrite=true] If the file already exists at the target path, the file will be overwriten if this is true. + * @param {boolean} [props.perm] The file will be set as the permission from the entry if this is true. + + * @returns {Promise} + */ + writeZipPromise: function (/**String*/ targetFileName, /* object */ props) { + const { overwrite, perm } = Object.assign({ overwrite: true }, props); + + return new Promise((resolve, reject) => { + // find file name + if (!targetFileName && opts.filename) targetFileName = opts.filename; + if (!targetFileName) reject("ADM-ZIP: ZIP File Name Missing"); + + this.toBufferPromise().then((zipData) => { + const ret = (done) => (done ? resolve(done) : reject("ADM-ZIP: Wasn't able to write zip file")); + filetools.writeFileToAsync(targetFileName, zipData, overwrite, perm, ret); + }, reject); + }); + }, + + /** + * @returns {Promise} A promise to the Buffer. + */ + toBufferPromise: function () { + return new Promise((resolve, reject) => { + _zip.toAsyncBuffer(resolve, reject); + }); + }, + + /** + * Returns the content of the entire zip file as a Buffer object + * + * @prop {function} [onSuccess] + * @prop {function} [onFail] + * @prop {function} [onItemStart] + * @prop {function} [onItemEnd] + * @returns {Buffer} + */ + toBuffer: function (onSuccess, onFail, onItemStart, onItemEnd) { + if (typeof onSuccess === "function") { + _zip.toAsyncBuffer(onSuccess, onFail, onItemStart, onItemEnd); + return null; + } + return _zip.compressToBuffer(); + } + }; +}; + + +/***/ }, + +/***/ 78593 +(module, __unused_webpack_exports, __webpack_require__) { + +var Utils = __webpack_require__(64070), + Constants = Utils.Constants; + +/* The central directory file header */ +module.exports = function () { + var _verMade = 20, // v2.0 + _version = 10, // v1.0 + _flags = 0, + _method = 0, + _time = 0, + _crc = 0, + _compressedSize = 0, + _size = 0, + _fnameLen = 0, + _extraLen = 0, + _comLen = 0, + _diskStart = 0, + _inattr = 0, + _attr = 0, + _offset = 0; + + _verMade |= Utils.isWin ? 0x0a00 : 0x0300; + + // Set EFS flag since filename and comment fields are all by default encoded using UTF-8. + // Without it file names may be corrupted for other apps when file names use unicode chars + _flags |= Constants.FLG_EFS; + + const _localHeader = { + extraLen: 0 + }; + + // casting + const uint32 = (val) => Math.max(0, val) >>> 0; + const uint16 = (val) => Math.max(0, val) & 0xffff; + const uint8 = (val) => Math.max(0, val) & 0xff; + + _time = Utils.fromDate2DOS(new Date()); + + return { + get made() { + return _verMade; + }, + set made(val) { + _verMade = val; + }, + + get version() { + return _version; + }, + set version(val) { + _version = val; + }, + + get flags() { + return _flags; + }, + set flags(val) { + _flags = val; + }, + + get flags_efs() { + return (_flags & Constants.FLG_EFS) > 0; + }, + set flags_efs(val) { + if (val) { + _flags |= Constants.FLG_EFS; + } else { + _flags &= ~Constants.FLG_EFS; + } + }, + + get flags_desc() { + return (_flags & Constants.FLG_DESC) > 0; + }, + set flags_desc(val) { + if (val) { + _flags |= Constants.FLG_DESC; + } else { + _flags &= ~Constants.FLG_DESC; + } + }, + + get method() { + return _method; + }, + set method(val) { + switch (val) { + case Constants.STORED: + this.version = 10; + case Constants.DEFLATED: + default: + this.version = 20; + } + _method = val; + }, + + get time() { + return Utils.fromDOS2Date(this.timeval); + }, + set time(val) { + val = new Date(val); + this.timeval = Utils.fromDate2DOS(val); + }, + + get timeval() { + return _time; + }, + set timeval(val) { + _time = uint32(val); + }, + + get timeHighByte() { + return uint8(_time >>> 8); + }, + get crc() { + return _crc; + }, + set crc(val) { + _crc = uint32(val); + }, + + get compressedSize() { + return _compressedSize; + }, + set compressedSize(val) { + _compressedSize = uint32(val); + }, + + get size() { + return _size; + }, + set size(val) { + _size = uint32(val); + }, + + get fileNameLength() { + return _fnameLen; + }, + set fileNameLength(val) { + _fnameLen = val; + }, + + get extraLength() { + return _extraLen; + }, + set extraLength(val) { + _extraLen = val; + }, + + get extraLocalLength() { + return _localHeader.extraLen; + }, + set extraLocalLength(val) { + _localHeader.extraLen = val; + }, + + get commentLength() { + return _comLen; + }, + set commentLength(val) { + _comLen = val; + }, + + get diskNumStart() { + return _diskStart; + }, + set diskNumStart(val) { + _diskStart = uint32(val); + }, + + get inAttr() { + return _inattr; + }, + set inAttr(val) { + _inattr = uint32(val); + }, + + get attr() { + return _attr; + }, + set attr(val) { + _attr = uint32(val); + }, + + // get Unix file permissions + get fileAttr() { + return (_attr || 0) >> 16 & 0xfff; + }, + + get offset() { + return _offset; + }, + set offset(val) { + _offset = uint32(val); + }, + + get encrypted() { + return (_flags & Constants.FLG_ENC) === Constants.FLG_ENC; + }, + + get centralHeaderSize() { + return Constants.CENHDR + _fnameLen + _extraLen + _comLen; + }, + + get realDataOffset() { + return _offset + Constants.LOCHDR + _localHeader.fnameLen + _localHeader.extraLen; + }, + + get localHeader() { + return _localHeader; + }, + + loadLocalHeaderFromBinary: function (/*Buffer*/ input) { + var data = input.slice(_offset, _offset + Constants.LOCHDR); + // 30 bytes and should start with "PK\003\004" + if (data.readUInt32LE(0) !== Constants.LOCSIG) { + throw Utils.Errors.INVALID_LOC(); + } + + // version needed to extract + _localHeader.version = data.readUInt16LE(Constants.LOCVER); + // general purpose bit flag + _localHeader.flags = data.readUInt16LE(Constants.LOCFLG); + // desc flag + _localHeader.flags_desc = (_localHeader.flags & Constants.FLG_DESC) > 0; + // compression method + _localHeader.method = data.readUInt16LE(Constants.LOCHOW); + // modification time (2 bytes time, 2 bytes date) + _localHeader.time = data.readUInt32LE(Constants.LOCTIM); + // uncompressed file crc-32 valu + _localHeader.crc = data.readUInt32LE(Constants.LOCCRC); + // compressed size + _localHeader.compressedSize = data.readUInt32LE(Constants.LOCSIZ); + // uncompressed size + _localHeader.size = data.readUInt32LE(Constants.LOCLEN); + // filename length + _localHeader.fnameLen = data.readUInt16LE(Constants.LOCNAM); + // extra field length + _localHeader.extraLen = data.readUInt16LE(Constants.LOCEXT); + + // read extra data + const extraStart = _offset + Constants.LOCHDR + _localHeader.fnameLen; + const extraEnd = extraStart + _localHeader.extraLen; + return input.slice(extraStart, extraEnd); + }, + + loadFromBinary: function (/*Buffer*/ data) { + // data should be 46 bytes and start with "PK 01 02" + if (data.length !== Constants.CENHDR || data.readUInt32LE(0) !== Constants.CENSIG) { + throw Utils.Errors.INVALID_CEN(); + } + // version made by + _verMade = data.readUInt16LE(Constants.CENVEM); + // version needed to extract + _version = data.readUInt16LE(Constants.CENVER); + // encrypt, decrypt flags + _flags = data.readUInt16LE(Constants.CENFLG); + // compression method + _method = data.readUInt16LE(Constants.CENHOW); + // modification time (2 bytes time, 2 bytes date) + _time = data.readUInt32LE(Constants.CENTIM); + // uncompressed file crc-32 value + _crc = data.readUInt32LE(Constants.CENCRC); + // compressed size + _compressedSize = data.readUInt32LE(Constants.CENSIZ); + // uncompressed size + _size = data.readUInt32LE(Constants.CENLEN); + // filename length + _fnameLen = data.readUInt16LE(Constants.CENNAM); + // extra field length + _extraLen = data.readUInt16LE(Constants.CENEXT); + // file comment length + _comLen = data.readUInt16LE(Constants.CENCOM); + // volume number start + _diskStart = data.readUInt16LE(Constants.CENDSK); + // internal file attributes + _inattr = data.readUInt16LE(Constants.CENATT); + // external file attributes + _attr = data.readUInt32LE(Constants.CENATX); + // LOC header offset + _offset = data.readUInt32LE(Constants.CENOFF); + }, + + localHeaderToBinary: function () { + // LOC header size (30 bytes) + var data = Buffer.alloc(Constants.LOCHDR); + // "PK\003\004" + data.writeUInt32LE(Constants.LOCSIG, 0); + // version needed to extract + data.writeUInt16LE(_version, Constants.LOCVER); + // general purpose bit flag + data.writeUInt16LE(_flags, Constants.LOCFLG); + // compression method + data.writeUInt16LE(_method, Constants.LOCHOW); + // modification time (2 bytes time, 2 bytes date) + data.writeUInt32LE(_time, Constants.LOCTIM); + // uncompressed file crc-32 value + data.writeUInt32LE(_crc, Constants.LOCCRC); + // compressed size + data.writeUInt32LE(_compressedSize, Constants.LOCSIZ); + // uncompressed size + data.writeUInt32LE(_size, Constants.LOCLEN); + // filename length + data.writeUInt16LE(_fnameLen, Constants.LOCNAM); + // extra field length + data.writeUInt16LE(_localHeader.extraLen, Constants.LOCEXT); + return data; + }, + + centralHeaderToBinary: function () { + // CEN header size (46 bytes) + var data = Buffer.alloc(Constants.CENHDR + _fnameLen + _extraLen + _comLen); + // "PK\001\002" + data.writeUInt32LE(Constants.CENSIG, 0); + // version made by + data.writeUInt16LE(_verMade, Constants.CENVEM); + // version needed to extract + data.writeUInt16LE(_version, Constants.CENVER); + // encrypt, decrypt flags + data.writeUInt16LE(_flags, Constants.CENFLG); + // compression method + data.writeUInt16LE(_method, Constants.CENHOW); + // modification time (2 bytes time, 2 bytes date) + data.writeUInt32LE(_time, Constants.CENTIM); + // uncompressed file crc-32 value + data.writeUInt32LE(_crc, Constants.CENCRC); + // compressed size + data.writeUInt32LE(_compressedSize, Constants.CENSIZ); + // uncompressed size + data.writeUInt32LE(_size, Constants.CENLEN); + // filename length + data.writeUInt16LE(_fnameLen, Constants.CENNAM); + // extra field length + data.writeUInt16LE(_extraLen, Constants.CENEXT); + // file comment length + data.writeUInt16LE(_comLen, Constants.CENCOM); + // volume number start + data.writeUInt16LE(_diskStart, Constants.CENDSK); + // internal file attributes + data.writeUInt16LE(_inattr, Constants.CENATT); + // external file attributes + data.writeUInt32LE(_attr, Constants.CENATX); + // LOC header offset + data.writeUInt32LE(_offset, Constants.CENOFF); + return data; + }, + + toJSON: function () { + const bytes = function (nr) { + return nr + " bytes"; + }; + + return { + made: _verMade, + version: _version, + flags: _flags, + method: Utils.methodToString(_method), + time: this.time, + crc: "0x" + _crc.toString(16).toUpperCase(), + compressedSize: bytes(_compressedSize), + size: bytes(_size), + fileNameLength: bytes(_fnameLen), + extraLength: bytes(_extraLen), + commentLength: bytes(_comLen), + diskNumStart: _diskStart, + inAttr: _inattr, + attr: _attr, + offset: _offset, + centralHeaderSize: bytes(Constants.CENHDR + _fnameLen + _extraLen + _comLen) + }; + }, + + toString: function () { + return JSON.stringify(this.toJSON(), null, "\t"); + } + }; +}; + + +/***/ }, + +/***/ 46780 +(__unused_webpack_module, exports, __webpack_require__) { + +exports.EntryHeader = __webpack_require__(78593); +exports.MainHeader = __webpack_require__(72138); + + +/***/ }, + +/***/ 72138 +(module, __unused_webpack_exports, __webpack_require__) { + +var Utils = __webpack_require__(64070), + Constants = Utils.Constants; + +/* The entries in the end of central directory */ +module.exports = function () { + var _volumeEntries = 0, + _totalEntries = 0, + _size = 0, + _offset = 0, + _commentLength = 0; + + return { + get diskEntries() { + return _volumeEntries; + }, + set diskEntries(/*Number*/ val) { + _volumeEntries = _totalEntries = val; + }, + + get totalEntries() { + return _totalEntries; + }, + set totalEntries(/*Number*/ val) { + _totalEntries = _volumeEntries = val; + }, + + get size() { + return _size; + }, + set size(/*Number*/ val) { + _size = val; + }, + + get offset() { + return _offset; + }, + set offset(/*Number*/ val) { + _offset = val; + }, + + get commentLength() { + return _commentLength; + }, + set commentLength(/*Number*/ val) { + _commentLength = val; + }, + + get mainHeaderSize() { + return Constants.ENDHDR + _commentLength; + }, + + loadFromBinary: function (/*Buffer*/ data) { + // data should be 22 bytes and start with "PK 05 06" + // or be 56+ bytes and start with "PK 06 06" for Zip64 + if ( + (data.length !== Constants.ENDHDR || data.readUInt32LE(0) !== Constants.ENDSIG) && + (data.length < Constants.ZIP64HDR || data.readUInt32LE(0) !== Constants.ZIP64SIG) + ) { + throw Utils.Errors.INVALID_END(); + } + + if (data.readUInt32LE(0) === Constants.ENDSIG) { + // number of entries on this volume + _volumeEntries = data.readUInt16LE(Constants.ENDSUB); + // total number of entries + _totalEntries = data.readUInt16LE(Constants.ENDTOT); + // central directory size in bytes + _size = data.readUInt32LE(Constants.ENDSIZ); + // offset of first CEN header + _offset = data.readUInt32LE(Constants.ENDOFF); + // zip file comment length + _commentLength = data.readUInt16LE(Constants.ENDCOM); + } else { + // number of entries on this volume + _volumeEntries = Utils.readBigUInt64LE(data, Constants.ZIP64SUB); + // total number of entries + _totalEntries = Utils.readBigUInt64LE(data, Constants.ZIP64TOT); + // central directory size in bytes + _size = Utils.readBigUInt64LE(data, Constants.ZIP64SIZE); + // offset of first CEN header + _offset = Utils.readBigUInt64LE(data, Constants.ZIP64OFF); + + _commentLength = 0; + } + }, + + toBinary: function () { + var b = Buffer.alloc(Constants.ENDHDR + _commentLength); + // "PK 05 06" signature + b.writeUInt32LE(Constants.ENDSIG, 0); + b.writeUInt32LE(0, 4); + // number of entries on this volume + b.writeUInt16LE(_volumeEntries, Constants.ENDSUB); + // total number of entries + b.writeUInt16LE(_totalEntries, Constants.ENDTOT); + // central directory size in bytes + b.writeUInt32LE(_size, Constants.ENDSIZ); + // offset of first CEN header + b.writeUInt32LE(_offset, Constants.ENDOFF); + // zip file comment length + b.writeUInt16LE(_commentLength, Constants.ENDCOM); + // fill comment memory with spaces so no garbage is left there + b.fill(" ", Constants.ENDHDR); + + return b; + }, + + toJSON: function () { + // creates 0x0000 style output + const offset = function (nr, len) { + let offs = nr.toString(16).toUpperCase(); + while (offs.length < len) offs = "0" + offs; + return "0x" + offs; + }; + + return { + diskEntries: _volumeEntries, + totalEntries: _totalEntries, + size: _size + " bytes", + offset: offset(_offset, 4), + commentLength: _commentLength + }; + }, + + toString: function () { + return JSON.stringify(this.toJSON(), null, "\t"); + } + }; +}; +// Misspelled + + +/***/ }, + +/***/ 53601 +(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = function (/*Buffer*/ inbuf) { + var zlib = __webpack_require__(43106); + + var opts = { chunkSize: (parseInt(inbuf.length / 1024) + 1) * 1024 }; + + return { + deflate: function () { + return zlib.deflateRawSync(inbuf, opts); + }, + + deflateAsync: function (/*Function*/ callback) { + var tmp = zlib.createDeflateRaw(opts), + parts = [], + total = 0; + tmp.on("data", function (data) { + parts.push(data); + total += data.length; + }); + tmp.on("end", function () { + var buf = Buffer.alloc(total), + written = 0; + buf.fill(0); + for (var i = 0; i < parts.length; i++) { + var part = parts[i]; + part.copy(buf, written); + written += part.length; + } + callback && callback(buf); + }); + tmp.end(inbuf); + } + }; +}; + + +/***/ }, + +/***/ 85776 +(__unused_webpack_module, exports, __webpack_require__) { + +exports.Deflater = __webpack_require__(53601); +exports.Inflater = __webpack_require__(25821); +exports.ZipCrypto = __webpack_require__(94014); + + +/***/ }, + +/***/ 25821 +(module, __unused_webpack_exports, __webpack_require__) { + +const version = +(process.versions ? process.versions.node : "").split(".")[0] || 0; + +module.exports = function (/*Buffer*/ inbuf, /*number*/ expectedLength) { + var zlib = __webpack_require__(43106); + const option = version >= 15 && expectedLength > 0 ? { maxOutputLength: expectedLength } : {}; + + return { + inflate: function () { + return zlib.inflateRawSync(inbuf, option); + }, + + inflateAsync: function (/*Function*/ callback) { + var tmp = zlib.createInflateRaw(option), + parts = [], + total = 0; + tmp.on("data", function (data) { + parts.push(data); + total += data.length; + }); + tmp.on("end", function () { + var buf = Buffer.alloc(total), + written = 0; + buf.fill(0); + for (var i = 0; i < parts.length; i++) { + var part = parts[i]; + part.copy(buf, written); + written += part.length; + } + callback && callback(buf); + }); + tmp.end(inbuf); + } + }; +}; + + +/***/ }, + +/***/ 94014 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +// node crypt, we use it for generate salt +// eslint-disable-next-line node/no-unsupported-features/node-builtins +const { randomFillSync } = __webpack_require__(76982); +const Errors = __webpack_require__(1243); + +// generate CRC32 lookup table +const crctable = new Uint32Array(256).map((t, crc) => { + for (let j = 0; j < 8; j++) { + if (0 !== (crc & 1)) { + crc = (crc >>> 1) ^ 0xedb88320; + } else { + crc >>>= 1; + } + } + return crc >>> 0; +}); + +// C-style uInt32 Multiply (discards higher bits, when JS multiply discards lower bits) +const uMul = (a, b) => Math.imul(a, b) >>> 0; + +// crc32 byte single update (actually same function is part of utils.crc32 function :) ) +const crc32update = (pCrc32, bval) => { + return crctable[(pCrc32 ^ bval) & 0xff] ^ (pCrc32 >>> 8); +}; + +// function for generating salt for encrytion header +const genSalt = () => { + if ("function" === typeof randomFillSync) { + return randomFillSync(Buffer.alloc(12)); + } else { + // fallback if function is not defined + return genSalt.node(); + } +}; + +// salt generation with node random function (mainly as fallback) +genSalt.node = () => { + const salt = Buffer.alloc(12); + const len = salt.length; + for (let i = 0; i < len; i++) salt[i] = (Math.random() * 256) & 0xff; + return salt; +}; + +// general config +const config = { + genSalt +}; + +// Class Initkeys handles same basic ops with keys +function Initkeys(pw) { + const pass = Buffer.isBuffer(pw) ? pw : Buffer.from(pw); + this.keys = new Uint32Array([0x12345678, 0x23456789, 0x34567890]); + for (let i = 0; i < pass.length; i++) { + this.updateKeys(pass[i]); + } +} + +Initkeys.prototype.updateKeys = function (byteValue) { + const keys = this.keys; + keys[0] = crc32update(keys[0], byteValue); + keys[1] += keys[0] & 0xff; + keys[1] = uMul(keys[1], 134775813) + 1; + keys[2] = crc32update(keys[2], keys[1] >>> 24); + return byteValue; +}; + +Initkeys.prototype.next = function () { + const k = (this.keys[2] | 2) >>> 0; // key + return (uMul(k, k ^ 1) >> 8) & 0xff; // decode +}; + +function make_decrypter(/*Buffer*/ pwd) { + // 1. Stage initialize key + const keys = new Initkeys(pwd); + + // return decrypter function + return function (/*Buffer*/ data) { + // result - we create new Buffer for results + const result = Buffer.alloc(data.length); + let pos = 0; + // process input data + for (let c of data) { + //c ^= keys.next(); + //result[pos++] = c; // decode & Save Value + result[pos++] = keys.updateKeys(c ^ keys.next()); // update keys with decoded byte + } + return result; + }; +} + +function make_encrypter(/*Buffer*/ pwd) { + // 1. Stage initialize key + const keys = new Initkeys(pwd); + + // return encrypting function, result and pos is here so we dont have to merge buffers later + return function (/*Buffer*/ data, /*Buffer*/ result, /* Number */ pos = 0) { + // result - we create new Buffer for results + if (!result) result = Buffer.alloc(data.length); + // process input data + for (let c of data) { + const k = keys.next(); // save key byte + result[pos++] = c ^ k; // save val + keys.updateKeys(c); // update keys with decoded byte + } + return result; + }; +} + +function decrypt(/*Buffer*/ data, /*Object*/ header, /*String, Buffer*/ pwd) { + if (!data || !Buffer.isBuffer(data) || data.length < 12) { + return Buffer.alloc(0); + } + + // 1. We Initialize and generate decrypting function + const decrypter = make_decrypter(pwd); + + // 2. decrypt salt what is always 12 bytes and is a part of file content + const salt = decrypter(data.slice(0, 12)); + + // if bit 3 (0x08) of the general-purpose flags field is set, check salt[11] with the high byte of the header time + // 2 byte data block (as per Info-Zip spec), otherwise check with the high byte of the header entry + const verifyByte = (header.flags & 0x8) === 0x8 ? header.timeHighByte : header.crc >>> 24; + + //3. does password meet expectations + if (salt[11] !== verifyByte) { + throw Errors.WRONG_PASSWORD(); + } + + // 4. decode content + return decrypter(data.slice(12)); +} + +// lets add way to populate salt, NOT RECOMMENDED for production but maybe useful for testing general functionality +function _salter(data) { + if (Buffer.isBuffer(data) && data.length >= 12) { + // be aware - currently salting buffer data is modified + config.genSalt = function () { + return data.slice(0, 12); + }; + } else if (data === "node") { + // test salt generation with node random function + config.genSalt = genSalt.node; + } else { + // if value is not acceptable config gets reset. + config.genSalt = genSalt; + } +} + +function encrypt(/*Buffer*/ data, /*Object*/ header, /*String, Buffer*/ pwd, /*Boolean*/ oldlike = false) { + // 1. test data if data is not Buffer we make buffer from it + if (data == null) data = Buffer.alloc(0); + // if data is not buffer be make buffer from it + if (!Buffer.isBuffer(data)) data = Buffer.from(data.toString()); + + // 2. We Initialize and generate encrypting function + const encrypter = make_encrypter(pwd); + + // 3. generate salt (12-bytes of random data) + const salt = config.genSalt(); + salt[11] = (header.crc >>> 24) & 0xff; + + // old implementations (before PKZip 2.04g) used two byte check + if (oldlike) salt[10] = (header.crc >>> 16) & 0xff; + + // 4. create output + const result = Buffer.alloc(data.length + 12); + encrypter(salt, result); + + // finally encode content + return encrypter(data, result, 12); +} + +module.exports = { decrypt, encrypt, _salter }; + + +/***/ }, + +/***/ 31383 +(module) { + +module.exports = { + /* The local file header */ + LOCHDR : 30, // LOC header size + LOCSIG : 0x04034b50, // "PK\003\004" + LOCVER : 4, // version needed to extract + LOCFLG : 6, // general purpose bit flag + LOCHOW : 8, // compression method + LOCTIM : 10, // modification time (2 bytes time, 2 bytes date) + LOCCRC : 14, // uncompressed file crc-32 value + LOCSIZ : 18, // compressed size + LOCLEN : 22, // uncompressed size + LOCNAM : 26, // filename length + LOCEXT : 28, // extra field length + + /* The Data descriptor */ + EXTSIG : 0x08074b50, // "PK\007\008" + EXTHDR : 16, // EXT header size + EXTCRC : 4, // uncompressed file crc-32 value + EXTSIZ : 8, // compressed size + EXTLEN : 12, // uncompressed size + + /* The central directory file header */ + CENHDR : 46, // CEN header size + CENSIG : 0x02014b50, // "PK\001\002" + CENVEM : 4, // version made by + CENVER : 6, // version needed to extract + CENFLG : 8, // encrypt, decrypt flags + CENHOW : 10, // compression method + CENTIM : 12, // modification time (2 bytes time, 2 bytes date) + CENCRC : 16, // uncompressed file crc-32 value + CENSIZ : 20, // compressed size + CENLEN : 24, // uncompressed size + CENNAM : 28, // filename length + CENEXT : 30, // extra field length + CENCOM : 32, // file comment length + CENDSK : 34, // volume number start + CENATT : 36, // internal file attributes + CENATX : 38, // external file attributes (host system dependent) + CENOFF : 42, // LOC header offset + + /* The entries in the end of central directory */ + ENDHDR : 22, // END header size + ENDSIG : 0x06054b50, // "PK\005\006" + ENDSUB : 8, // number of entries on this disk + ENDTOT : 10, // total number of entries + ENDSIZ : 12, // central directory size in bytes + ENDOFF : 16, // offset of first CEN header + ENDCOM : 20, // zip file comment length + + END64HDR : 20, // zip64 END header size + END64SIG : 0x07064b50, // zip64 Locator signature, "PK\006\007" + END64START : 4, // number of the disk with the start of the zip64 + END64OFF : 8, // relative offset of the zip64 end of central directory + END64NUMDISKS : 16, // total number of disks + + ZIP64SIG : 0x06064b50, // zip64 signature, "PK\006\006" + ZIP64HDR : 56, // zip64 record minimum size + ZIP64LEAD : 12, // leading bytes at the start of the record, not counted by the value stored in ZIP64SIZE + ZIP64SIZE : 4, // zip64 size of the central directory record + ZIP64VEM : 12, // zip64 version made by + ZIP64VER : 14, // zip64 version needed to extract + ZIP64DSK : 16, // zip64 number of this disk + ZIP64DSKDIR : 20, // number of the disk with the start of the record directory + ZIP64SUB : 24, // number of entries on this disk + ZIP64TOT : 32, // total number of entries + ZIP64SIZB : 40, // zip64 central directory size in bytes + ZIP64OFF : 48, // offset of start of central directory with respect to the starting disk number + ZIP64EXTRA : 56, // extensible data sector + + /* Compression methods */ + STORED : 0, // no compression + SHRUNK : 1, // shrunk + REDUCED1 : 2, // reduced with compression factor 1 + REDUCED2 : 3, // reduced with compression factor 2 + REDUCED3 : 4, // reduced with compression factor 3 + REDUCED4 : 5, // reduced with compression factor 4 + IMPLODED : 6, // imploded + // 7 reserved for Tokenizing compression algorithm + DEFLATED : 8, // deflated + ENHANCED_DEFLATED: 9, // enhanced deflated + PKWARE : 10,// PKWare DCL imploded + // 11 reserved by PKWARE + BZIP2 : 12, // compressed using BZIP2 + // 13 reserved by PKWARE + LZMA : 14, // LZMA + // 15-17 reserved by PKWARE + IBM_TERSE : 18, // compressed using IBM TERSE + IBM_LZ77 : 19, // IBM LZ77 z + AES_ENCRYPT : 99, // WinZIP AES encryption method + + /* General purpose bit flag */ + // values can obtained with expression 2**bitnr + FLG_ENC : 1, // Bit 0: encrypted file + FLG_COMP1 : 2, // Bit 1, compression option + FLG_COMP2 : 4, // Bit 2, compression option + FLG_DESC : 8, // Bit 3, data descriptor + FLG_ENH : 16, // Bit 4, enhanced deflating + FLG_PATCH : 32, // Bit 5, indicates that the file is compressed patched data. + FLG_STR : 64, // Bit 6, strong encryption (patented) + // Bits 7-10: Currently unused. + FLG_EFS : 2048, // Bit 11: Language encoding flag (EFS) + // Bit 12: Reserved by PKWARE for enhanced compression. + // Bit 13: encrypted the Central Directory (patented). + // Bits 14-15: Reserved by PKWARE. + FLG_MSK : 4096, // mask header values + + /* Load type */ + FILE : 2, + BUFFER : 1, + NONE : 0, + + /* 4.5 Extensible data fields */ + EF_ID : 0, + EF_SIZE : 2, + + /* Header IDs */ + ID_ZIP64 : 0x0001, + ID_AVINFO : 0x0007, + ID_PFS : 0x0008, + ID_OS2 : 0x0009, + ID_NTFS : 0x000a, + ID_OPENVMS : 0x000c, + ID_UNIX : 0x000d, + ID_FORK : 0x000e, + ID_PATCH : 0x000f, + ID_X509_PKCS7 : 0x0014, + ID_X509_CERTID_F : 0x0015, + ID_X509_CERTID_C : 0x0016, + ID_STRONGENC : 0x0017, + ID_RECORD_MGT : 0x0018, + ID_X509_PKCS7_RL : 0x0019, + ID_IBM1 : 0x0065, + ID_IBM2 : 0x0066, + ID_POSZIP : 0x4690, + + EF_ZIP64_OR_32 : 0xffffffff, + EF_ZIP64_OR_16 : 0xffff, + EF_ZIP64_SUNCOMP : 0, + EF_ZIP64_SCOMP : 8, + EF_ZIP64_RHO : 16, + EF_ZIP64_DSN : 24 +}; + + +/***/ }, + +/***/ 28698 +(module) { + +module.exports = { + efs: true, + encode: (data) => Buffer.from(data, "utf8"), + decode: (data) => data.toString("utf8") +}; + + +/***/ }, + +/***/ 1243 +(__unused_webpack_module, exports) { + +const errors = { + /* Header error messages */ + INVALID_LOC: "Invalid LOC header (bad signature)", + INVALID_CEN: "Invalid CEN header (bad signature)", + INVALID_END: "Invalid END header (bad signature)", + + /* Descriptor */ + DESCRIPTOR_NOT_EXIST: "No descriptor present", + DESCRIPTOR_UNKNOWN: "Unknown descriptor format", + DESCRIPTOR_FAULTY: "Descriptor data is malformed", + + /* ZipEntry error messages*/ + NO_DATA: "Nothing to decompress", + BAD_CRC: "CRC32 checksum failed {0}", + FILE_IN_THE_WAY: "There is a file in the way: {0}", + UNKNOWN_METHOD: "Invalid/unsupported compression method", + + /* Inflater error messages */ + AVAIL_DATA: "inflate::Available inflate data did not terminate", + INVALID_DISTANCE: "inflate::Invalid literal/length or distance code in fixed or dynamic block", + TO_MANY_CODES: "inflate::Dynamic block code description: too many length or distance codes", + INVALID_REPEAT_LEN: "inflate::Dynamic block code description: repeat more than specified lengths", + INVALID_REPEAT_FIRST: "inflate::Dynamic block code description: repeat lengths with no first length", + INCOMPLETE_CODES: "inflate::Dynamic block code description: code lengths codes incomplete", + INVALID_DYN_DISTANCE: "inflate::Dynamic block code description: invalid distance code lengths", + INVALID_CODES_LEN: "inflate::Dynamic block code description: invalid literal/length code lengths", + INVALID_STORE_BLOCK: "inflate::Stored block length did not match one's complement", + INVALID_BLOCK_TYPE: "inflate::Invalid block type (type == 3)", + + /* ADM-ZIP error messages */ + CANT_EXTRACT_FILE: "Could not extract the file", + CANT_OVERRIDE: "Target file already exists", + DISK_ENTRY_TOO_LARGE: "Number of disk entries is too large", + NO_ZIP: "No zip file was loaded", + NO_ENTRY: "Entry doesn't exist", + DIRECTORY_CONTENT_ERROR: "A directory cannot have content", + FILE_NOT_FOUND: 'File not found: "{0}"', + NOT_IMPLEMENTED: "Not implemented", + INVALID_FILENAME: "Invalid filename", + INVALID_FORMAT: "Invalid or unsupported zip format. No END header found", + INVALID_PASS_PARAM: "Incompatible password parameter", + WRONG_PASSWORD: "Wrong Password", + + /* ADM-ZIP */ + COMMENT_TOO_LONG: "Comment is too long", // Comment can be max 65535 bytes long (NOTE: some non-US characters may take more space) + EXTRA_FIELD_PARSE_ERROR: "Extra field parsing error" +}; + +// template +function E(message) { + return function (...args) { + if (args.length) { // Allow {0} .. {9} arguments in error message, based on argument number + message = message.replace(/\{(\d)\}/g, (_, n) => args[n] || ''); + } + + return new Error('ADM-ZIP: ' + message); + }; +} + +// Init errors with template +for (const msg of Object.keys(errors)) { + exports[msg] = E(errors[msg]); +} + + +/***/ }, + +/***/ 47819 +(module, __unused_webpack_exports, __webpack_require__) { + +const pth = __webpack_require__(16928); + +module.exports = function (/*String*/ path, /*Utils object*/ { fs }) { + var _path = path || "", + _obj = newAttr(), + _stat = null; + + function newAttr() { + return { + directory: false, + readonly: false, + hidden: false, + executable: false, + mtime: 0, + atime: 0 + }; + } + + if (_path && fs.existsSync(_path)) { + _stat = fs.statSync(_path); + _obj.directory = _stat.isDirectory(); + _obj.mtime = _stat.mtime; + _obj.atime = _stat.atime; + _obj.executable = (0o111 & _stat.mode) !== 0; // file is executable who ever har right not just owner + _obj.readonly = (0o200 & _stat.mode) === 0; // readonly if owner has no write right + _obj.hidden = pth.basename(_path)[0] === "."; + } else { + console.warn("Invalid path: " + _path); + } + + return { + get directory() { + return _obj.directory; + }, + + get readOnly() { + return _obj.readonly; + }, + + get hidden() { + return _obj.hidden; + }, + + get mtime() { + return _obj.mtime; + }, + + get atime() { + return _obj.atime; + }, + + get executable() { + return _obj.executable; + }, + + decodeAttributes: function () {}, + + encodeAttributes: function () {}, + + toJSON: function () { + return { + path: _path, + isDirectory: _obj.directory, + isReadOnly: _obj.readonly, + isHidden: _obj.hidden, + isExecutable: _obj.executable, + mTime: _obj.mtime, + aTime: _obj.atime + }; + }, + + toString: function () { + return JSON.stringify(this.toJSON(), null, "\t"); + } + }; +}; + + +/***/ }, + +/***/ 64070 +(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(11527); +module.exports.Constants = __webpack_require__(31383); +module.exports.Errors = __webpack_require__(1243); +module.exports.FileAttr = __webpack_require__(47819); +module.exports.decoder = __webpack_require__(28698); + + +/***/ }, + +/***/ 11527 +(module, __unused_webpack_exports, __webpack_require__) { + +const fsystem = __webpack_require__(79896); +const pth = __webpack_require__(16928); +const Constants = __webpack_require__(31383); +const Errors = __webpack_require__(1243); +const isWin = typeof process === "object" && "win32" === process.platform; + +const is_Obj = (obj) => typeof obj === "object" && obj !== null; + +// generate CRC32 lookup table +const crcTable = new Uint32Array(256).map((t, c) => { + for (let k = 0; k < 8; k++) { + if ((c & 1) !== 0) { + c = 0xedb88320 ^ (c >>> 1); + } else { + c >>>= 1; + } + } + return c >>> 0; +}); + +// UTILS functions + +function Utils(opts) { + this.sep = pth.sep; + this.fs = fsystem; + + if (is_Obj(opts)) { + // custom filesystem + if (is_Obj(opts.fs) && typeof opts.fs.statSync === "function") { + this.fs = opts.fs; + } + } +} + +module.exports = Utils; + +// INSTANTIABLE functions + +Utils.prototype.makeDir = function (/*String*/ folder) { + const self = this; + + // Sync - make directories tree + function mkdirSync(/*String*/ fpath) { + let resolvedPath = fpath.split(self.sep)[0]; + fpath.split(self.sep).forEach(function (name) { + if (!name || name.substr(-1, 1) === ":") return; + resolvedPath += self.sep + name; + var stat; + try { + stat = self.fs.statSync(resolvedPath); + } catch (e) { + if (e.message && e.message.startsWith('ENOENT')) { + self.fs.mkdirSync(resolvedPath); + } else { + throw e; + } + } + if (stat && stat.isFile()) throw Errors.FILE_IN_THE_WAY(`"${resolvedPath}"`); + }); + } + + mkdirSync(folder); +}; + +Utils.prototype.writeFileTo = function (/*String*/ path, /*Buffer*/ content, /*Boolean*/ overwrite, /*Number*/ attr) { + const self = this; + if (self.fs.existsSync(path)) { + if (!overwrite) return false; // cannot overwrite + + var stat = self.fs.statSync(path); + if (stat.isDirectory()) { + return false; + } + } + var folder = pth.dirname(path); + if (!self.fs.existsSync(folder)) { + self.makeDir(folder); + } + + var fd; + try { + fd = self.fs.openSync(path, "w", 0o666); // 0666 + } catch (e) { + self.fs.chmodSync(path, 0o666); + fd = self.fs.openSync(path, "w", 0o666); + } + if (fd) { + try { + self.fs.writeSync(fd, content, 0, content.length, 0); + } finally { + self.fs.closeSync(fd); + } + } + self.fs.chmodSync(path, attr || 0o666); + return true; +}; + +Utils.prototype.writeFileToAsync = function (/*String*/ path, /*Buffer*/ content, /*Boolean*/ overwrite, /*Number*/ attr, /*Function*/ callback) { + if (typeof attr === "function") { + callback = attr; + attr = undefined; + } + + const self = this; + + self.fs.exists(path, function (exist) { + if (exist && !overwrite) return callback(false); + + self.fs.stat(path, function (err, stat) { + if (exist && stat.isDirectory()) { + return callback(false); + } + + var folder = pth.dirname(path); + self.fs.exists(folder, function (exists) { + if (!exists) self.makeDir(folder); + + self.fs.open(path, "w", 0o666, function (err, fd) { + if (err) { + self.fs.chmod(path, 0o666, function () { + self.fs.open(path, "w", 0o666, function (err, fd) { + self.fs.write(fd, content, 0, content.length, 0, function () { + self.fs.close(fd, function () { + self.fs.chmod(path, attr || 0o666, function () { + callback(true); + }); + }); + }); + }); + }); + } else if (fd) { + self.fs.write(fd, content, 0, content.length, 0, function () { + self.fs.close(fd, function () { + self.fs.chmod(path, attr || 0o666, function () { + callback(true); + }); + }); + }); + } else { + self.fs.chmod(path, attr || 0o666, function () { + callback(true); + }); + } + }); + }); + }); + }); +}; + +Utils.prototype.findFiles = function (/*String*/ path) { + const self = this; + + function findSync(/*String*/ dir, /*RegExp*/ pattern, /*Boolean*/ recursive) { + if (typeof pattern === "boolean") { + recursive = pattern; + pattern = undefined; + } + let files = []; + self.fs.readdirSync(dir).forEach(function (file) { + const path = pth.join(dir, file); + const stat = self.fs.statSync(path); + + if (!pattern || pattern.test(path)) { + files.push(pth.normalize(path) + (stat.isDirectory() ? self.sep : "")); + } + + if (stat.isDirectory() && recursive) files = files.concat(findSync(path, pattern, recursive)); + }); + return files; + } + + return findSync(path, undefined, true); +}; + +/** + * Callback for showing if everything was done. + * + * @callback filelistCallback + * @param {Error} err - Error object + * @param {string[]} list - was request fully completed + */ + +/** + * + * @param {string} dir + * @param {filelistCallback} cb + */ +Utils.prototype.findFilesAsync = function (dir, cb) { + const self = this; + let results = []; + self.fs.readdir(dir, function (err, list) { + if (err) return cb(err); + let list_length = list.length; + if (!list_length) return cb(null, results); + list.forEach(function (file) { + file = pth.join(dir, file); + self.fs.stat(file, function (err, stat) { + if (err) return cb(err); + if (stat) { + results.push(pth.normalize(file) + (stat.isDirectory() ? self.sep : "")); + if (stat.isDirectory()) { + self.findFilesAsync(file, function (err, res) { + if (err) return cb(err); + results = results.concat(res); + if (!--list_length) cb(null, results); + }); + } else { + if (!--list_length) cb(null, results); + } + } + }); + }); + }); +}; + +Utils.prototype.getAttributes = function () {}; + +Utils.prototype.setAttributes = function () {}; + +// STATIC functions + +// crc32 single update (it is part of crc32) +Utils.crc32update = function (crc, byte) { + return crcTable[(crc ^ byte) & 0xff] ^ (crc >>> 8); +}; + +Utils.crc32 = function (buf) { + if (typeof buf === "string") { + buf = Buffer.from(buf, "utf8"); + } + + let len = buf.length; + let crc = ~0; + for (let off = 0; off < len; ) crc = Utils.crc32update(crc, buf[off++]); + // xor and cast as uint32 number + return ~crc >>> 0; +}; + +Utils.methodToString = function (/*Number*/ method) { + switch (method) { + case Constants.STORED: + return "STORED (" + method + ")"; + case Constants.DEFLATED: + return "DEFLATED (" + method + ")"; + default: + return "UNSUPPORTED (" + method + ")"; + } +}; + +/** + * removes ".." style path elements + * @param {string} path - fixable path + * @returns string - fixed filepath + */ +Utils.canonical = function (/*string*/ path) { + if (!path) return ""; + // trick normalize think path is absolute + const safeSuffix = pth.posix.normalize("/" + path.split("\\").join("/")); + return pth.join(".", safeSuffix); +}; + +/** + * fix file names in achive + * @param {string} path - fixable path + * @returns string - fixed filepath + */ + +Utils.zipnamefix = function (path) { + if (!path) return ""; + // trick normalize think path is absolute + const safeSuffix = pth.posix.normalize("/" + path.split("\\").join("/")); + return pth.posix.join(".", safeSuffix); +}; + +/** + * + * @param {Array} arr + * @param {function} callback + * @returns + */ +Utils.findLast = function (arr, callback) { + if (!Array.isArray(arr)) throw new TypeError("arr is not array"); + + const len = arr.length >>> 0; + for (let i = len - 1; i >= 0; i--) { + if (callback(arr[i], i, arr)) { + return arr[i]; + } + } + return void 0; +}; + +// make abolute paths taking prefix as root folder +Utils.sanitize = function (/*string*/ prefix, /*string*/ name) { + prefix = pth.resolve(pth.normalize(prefix)); + var parts = name.split("/"); + for (var i = 0, l = parts.length; i < l; i++) { + var path = pth.normalize(pth.join(prefix, parts.slice(i, l).join(pth.sep))); + if (path.indexOf(prefix) === 0) { + return path; + } + } + return pth.normalize(pth.join(prefix, pth.basename(name))); +}; + +// converts buffer, Uint8Array, string types to buffer +Utils.toBuffer = function toBuffer(/*buffer, Uint8Array, string*/ input, /* function */ encoder) { + if (Buffer.isBuffer(input)) { + return input; + } else if (input instanceof Uint8Array) { + return Buffer.from(input); + } else { + // expect string all other values are invalid and return empty buffer + return typeof input === "string" ? encoder(input) : Buffer.alloc(0); + } +}; + +Utils.readBigUInt64LE = function (/*Buffer*/ buffer, /*int*/ index) { + const lo = buffer.readUInt32LE(index); + const hi = buffer.readUInt32LE(index + 4); + return hi * 0x100000000 + lo; +}; + +Utils.fromDOS2Date = function (val) { + return new Date(((val >> 25) & 0x7f) + 1980, Math.max(((val >> 21) & 0x0f) - 1, 0), Math.max((val >> 16) & 0x1f, 1), (val >> 11) & 0x1f, (val >> 5) & 0x3f, (val & 0x1f) << 1); +}; + +Utils.fromDate2DOS = function (val) { + let date = 0; + let time = 0; + if (val.getFullYear() > 1979) { + date = (((val.getFullYear() - 1980) & 0x7f) << 9) | ((val.getMonth() + 1) << 5) | val.getDate(); + time = (val.getHours() << 11) | (val.getMinutes() << 5) | (val.getSeconds() >> 1); + } + return (date << 16) | time; +}; + +Utils.isWin = isWin; // Do we have windows system +Utils.crcTable = crcTable; + + +/***/ }, + +/***/ 90016 +(module, __unused_webpack_exports, __webpack_require__) { + +var Utils = __webpack_require__(64070), + Headers = __webpack_require__(46780), + Constants = Utils.Constants, + Methods = __webpack_require__(85776); + +module.exports = function (/** object */ options, /*Buffer*/ input) { + var _centralHeader = new Headers.EntryHeader(), + _entryName = Buffer.alloc(0), + _comment = Buffer.alloc(0), + _isDirectory = false, + uncompressedData = null, + _extra = Buffer.alloc(0), + _extralocal = Buffer.alloc(0), + _efs = true; + + // assign options + const opts = options; + + const decoder = typeof opts.decoder === "object" ? opts.decoder : Utils.decoder; + _efs = decoder.hasOwnProperty("efs") ? decoder.efs : false; + + function getCompressedDataFromZip() { + //if (!input || !Buffer.isBuffer(input)) { + if (!input || !(input instanceof Uint8Array)) { + return Buffer.alloc(0); + } + _extralocal = _centralHeader.loadLocalHeaderFromBinary(input); + return input.slice(_centralHeader.realDataOffset, _centralHeader.realDataOffset + _centralHeader.compressedSize); + } + + function crc32OK(data) { + // if bit 3 (0x08) of the general-purpose flags field is set, then the CRC-32 and file sizes are not known when the local header is written + if (!_centralHeader.flags_desc && !_centralHeader.localHeader.flags_desc) { + if (Utils.crc32(data) !== _centralHeader.localHeader.crc) { + return false; + } + } else { + const descriptor = {}; + const dataEndOffset = _centralHeader.realDataOffset + _centralHeader.compressedSize; + // no descriptor after compressed data, instead new local header + if (input.readUInt32LE(dataEndOffset) == Constants.LOCSIG || input.readUInt32LE(dataEndOffset) == Constants.CENSIG) { + throw Utils.Errors.DESCRIPTOR_NOT_EXIST(); + } + + // get decriptor data + if (input.readUInt32LE(dataEndOffset) == Constants.EXTSIG) { + // descriptor with signature + descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC); + descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ); + descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN); + } else if (input.readUInt16LE(dataEndOffset + 12) === 0x4b50) { + // descriptor without signature (we check is new header starting where we expect) + descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC - 4); + descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ - 4); + descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN - 4); + } else { + throw Utils.Errors.DESCRIPTOR_UNKNOWN(); + } + + // check data integrity + if (descriptor.compressedSize !== _centralHeader.compressedSize || descriptor.size !== _centralHeader.size || descriptor.crc !== _centralHeader.crc) { + throw Utils.Errors.DESCRIPTOR_FAULTY(); + } + if (Utils.crc32(data) !== descriptor.crc) { + return false; + } + + // @TODO: zip64 bit descriptor fields + // if bit 3 is set and any value in local header "zip64 Extended information" extra field are set 0 (place holder) + // then 64-bit descriptor format is used instead of 32-bit + // central header - "zip64 Extended information" extra field should store real values and not place holders + } + return true; + } + + function decompress(/*Boolean*/ async, /*Function*/ callback, /*String, Buffer*/ pass) { + if (typeof callback === "undefined" && typeof async === "string") { + pass = async; + async = void 0; + } + if (_isDirectory) { + if (async && callback) { + callback(Buffer.alloc(0), Utils.Errors.DIRECTORY_CONTENT_ERROR()); //si added error. + } + return Buffer.alloc(0); + } + + var compressedData = getCompressedDataFromZip(); + + if (compressedData.length === 0) { + // File is empty, nothing to decompress. + if (async && callback) callback(compressedData); + return compressedData; + } + + if (_centralHeader.encrypted) { + if ("string" !== typeof pass && !Buffer.isBuffer(pass)) { + throw Utils.Errors.INVALID_PASS_PARAM(); + } + compressedData = Methods.ZipCrypto.decrypt(compressedData, _centralHeader, pass); + } + + var data = Buffer.alloc(_centralHeader.size); + + switch (_centralHeader.method) { + case Utils.Constants.STORED: + compressedData.copy(data); + if (!crc32OK(data)) { + if (async && callback) callback(data, Utils.Errors.BAD_CRC()); //si added error + throw Utils.Errors.BAD_CRC(); + } else { + //si added otherwise did not seem to return data. + if (async && callback) callback(data); + return data; + } + case Utils.Constants.DEFLATED: + var inflater = new Methods.Inflater(compressedData, _centralHeader.size); + if (!async) { + const result = inflater.inflate(data); + result.copy(data, 0); + if (!crc32OK(data)) { + throw Utils.Errors.BAD_CRC(`"${decoder.decode(_entryName)}"`); + } + return data; + } else { + inflater.inflateAsync(function (result) { + result.copy(result, 0); + if (callback) { + if (!crc32OK(result)) { + callback(result, Utils.Errors.BAD_CRC()); //si added error + } else { + callback(result); + } + } + }); + } + break; + default: + if (async && callback) callback(Buffer.alloc(0), Utils.Errors.UNKNOWN_METHOD()); + throw Utils.Errors.UNKNOWN_METHOD(); + } + } + + function compress(/*Boolean*/ async, /*Function*/ callback) { + if ((!uncompressedData || !uncompressedData.length) && Buffer.isBuffer(input)) { + // no data set or the data wasn't changed to require recompression + if (async && callback) callback(getCompressedDataFromZip()); + return getCompressedDataFromZip(); + } + + if (uncompressedData.length && !_isDirectory) { + var compressedData; + // Local file header + switch (_centralHeader.method) { + case Utils.Constants.STORED: + _centralHeader.compressedSize = _centralHeader.size; + + compressedData = Buffer.alloc(uncompressedData.length); + uncompressedData.copy(compressedData); + + if (async && callback) callback(compressedData); + return compressedData; + default: + case Utils.Constants.DEFLATED: + var deflater = new Methods.Deflater(uncompressedData); + if (!async) { + var deflated = deflater.deflate(); + _centralHeader.compressedSize = deflated.length; + return deflated; + } else { + deflater.deflateAsync(function (data) { + compressedData = Buffer.alloc(data.length); + _centralHeader.compressedSize = data.length; + data.copy(compressedData); + callback && callback(compressedData); + }); + } + deflater = null; + break; + } + } else if (async && callback) { + callback(Buffer.alloc(0)); + } else { + return Buffer.alloc(0); + } + } + + function readUInt64LE(buffer, offset) { + return Utils.readBigUInt64LE(buffer, offset); + } + + function parseExtra(data) { + try { + var offset = 0; + var signature, size, part; + while (offset + 4 < data.length) { + signature = data.readUInt16LE(offset); + offset += 2; + size = data.readUInt16LE(offset); + offset += 2; + part = data.slice(offset, offset + size); + offset += size; + if (Constants.ID_ZIP64 === signature) { + parseZip64ExtendedInformation(part); + } + } + } catch (error) { + throw Utils.Errors.EXTRA_FIELD_PARSE_ERROR(); + } + } + + //Override header field values with values from the ZIP64 extra field + function parseZip64ExtendedInformation(data) { + var size, compressedSize, offset, diskNumStart; + + if (data.length >= Constants.EF_ZIP64_SCOMP) { + size = readUInt64LE(data, Constants.EF_ZIP64_SUNCOMP); + if (_centralHeader.size === Constants.EF_ZIP64_OR_32) { + _centralHeader.size = size; + } + } + if (data.length >= Constants.EF_ZIP64_RHO) { + compressedSize = readUInt64LE(data, Constants.EF_ZIP64_SCOMP); + if (_centralHeader.compressedSize === Constants.EF_ZIP64_OR_32) { + _centralHeader.compressedSize = compressedSize; + } + } + if (data.length >= Constants.EF_ZIP64_DSN) { + offset = readUInt64LE(data, Constants.EF_ZIP64_RHO); + if (_centralHeader.offset === Constants.EF_ZIP64_OR_32) { + _centralHeader.offset = offset; + } + } + if (data.length >= Constants.EF_ZIP64_DSN + 4) { + diskNumStart = data.readUInt32LE(Constants.EF_ZIP64_DSN); + if (_centralHeader.diskNumStart === Constants.EF_ZIP64_OR_16) { + _centralHeader.diskNumStart = diskNumStart; + } + } + } + + return { + get entryName() { + return decoder.decode(_entryName); + }, + get rawEntryName() { + return _entryName; + }, + set entryName(val) { + _entryName = Utils.toBuffer(val, decoder.encode); + var lastChar = _entryName[_entryName.length - 1]; + _isDirectory = lastChar === 47 || lastChar === 92; + _centralHeader.fileNameLength = _entryName.length; + }, + + get efs() { + if (typeof _efs === "function") { + return _efs(this.entryName); + } else { + return _efs; + } + }, + + get extra() { + return _extra; + }, + set extra(val) { + _extra = val; + _centralHeader.extraLength = val.length; + parseExtra(val); + }, + + get comment() { + return decoder.decode(_comment); + }, + set comment(val) { + _comment = Utils.toBuffer(val, decoder.encode); + _centralHeader.commentLength = _comment.length; + if (_comment.length > 0xffff) throw Utils.Errors.COMMENT_TOO_LONG(); + }, + + get name() { + var n = decoder.decode(_entryName); + return _isDirectory + ? n + .substr(n.length - 1) + .split("/") + .pop() + : n.split("/").pop(); + }, + get isDirectory() { + return _isDirectory; + }, + + getCompressedData: function () { + return compress(false, null); + }, + + getCompressedDataAsync: function (/*Function*/ callback) { + compress(true, callback); + }, + + setData: function (value) { + uncompressedData = Utils.toBuffer(value, Utils.decoder.encode); + if (!_isDirectory && uncompressedData.length) { + _centralHeader.size = uncompressedData.length; + _centralHeader.method = Utils.Constants.DEFLATED; + _centralHeader.crc = Utils.crc32(value); + _centralHeader.changed = true; + } else { + // folders and blank files should be stored + _centralHeader.method = Utils.Constants.STORED; + } + }, + + getData: function (pass) { + if (_centralHeader.changed) { + return uncompressedData; + } else { + return decompress(false, null, pass); + } + }, + + getDataAsync: function (/*Function*/ callback, pass) { + if (_centralHeader.changed) { + callback(uncompressedData); + } else { + decompress(true, callback, pass); + } + }, + + set attr(attr) { + _centralHeader.attr = attr; + }, + get attr() { + return _centralHeader.attr; + }, + + set header(/*Buffer*/ data) { + _centralHeader.loadFromBinary(data); + }, + + get header() { + return _centralHeader; + }, + + packCentralHeader: function () { + _centralHeader.flags_efs = this.efs; + _centralHeader.extraLength = _extra.length; + // 1. create header (buffer) + var header = _centralHeader.centralHeaderToBinary(); + var addpos = Utils.Constants.CENHDR; + // 2. add file name + _entryName.copy(header, addpos); + addpos += _entryName.length; + // 3. add extra data + _extra.copy(header, addpos); + addpos += _centralHeader.extraLength; + // 4. add file comment + _comment.copy(header, addpos); + return header; + }, + + packLocalHeader: function () { + let addpos = 0; + _centralHeader.flags_efs = this.efs; + _centralHeader.extraLocalLength = _extralocal.length; + // 1. construct local header Buffer + const localHeaderBuf = _centralHeader.localHeaderToBinary(); + // 2. localHeader - crate header buffer + const localHeader = Buffer.alloc(localHeaderBuf.length + _entryName.length + _centralHeader.extraLocalLength); + // 2.1 add localheader + localHeaderBuf.copy(localHeader, addpos); + addpos += localHeaderBuf.length; + // 2.2 add file name + _entryName.copy(localHeader, addpos); + addpos += _entryName.length; + // 2.3 add extra field + _extralocal.copy(localHeader, addpos); + addpos += _extralocal.length; + + return localHeader; + }, + + toJSON: function () { + const bytes = function (nr) { + return "<" + ((nr && nr.length + " bytes buffer") || "null") + ">"; + }; + + return { + entryName: this.entryName, + name: this.name, + comment: this.comment, + isDirectory: this.isDirectory, + header: _centralHeader.toJSON(), + compressedData: bytes(input), + data: bytes(uncompressedData) + }; + }, + + toString: function () { + return JSON.stringify(this.toJSON(), null, "\t"); + } + }; +}; + + +/***/ }, + +/***/ 37224 +(module, __unused_webpack_exports, __webpack_require__) { + +const ZipEntry = __webpack_require__(90016); +const Headers = __webpack_require__(46780); +const Utils = __webpack_require__(64070); + +module.exports = function (/*Buffer|null*/ inBuffer, /** object */ options) { + var entryList = [], + entryTable = {}, + _comment = Buffer.alloc(0), + mainHeader = new Headers.MainHeader(), + loadedEntries = false; + var password = null; + const temporary = new Set(); + + // assign options + const opts = options; + + const { noSort, decoder } = opts; + + if (inBuffer) { + // is a memory buffer + readMainHeader(opts.readEntries); + } else { + // none. is a new file + loadedEntries = true; + } + + function makeTemporaryFolders() { + const foldersList = new Set(); + + // Make list of all folders in file + for (const elem of Object.keys(entryTable)) { + const elements = elem.split("/"); + elements.pop(); // filename + if (!elements.length) continue; // no folders + for (let i = 0; i < elements.length; i++) { + const sub = elements.slice(0, i + 1).join("/") + "/"; + foldersList.add(sub); + } + } + + // create missing folders as temporary + for (const elem of foldersList) { + if (!(elem in entryTable)) { + const tempfolder = new ZipEntry(opts); + tempfolder.entryName = elem; + tempfolder.attr = 0x10; + tempfolder.temporary = true; + entryList.push(tempfolder); + entryTable[tempfolder.entryName] = tempfolder; + temporary.add(tempfolder); + } + } + } + + function readEntries() { + loadedEntries = true; + entryTable = {}; + if (mainHeader.diskEntries > (inBuffer.length - mainHeader.offset) / Utils.Constants.CENHDR) { + throw Utils.Errors.DISK_ENTRY_TOO_LARGE(); + } + entryList = new Array(mainHeader.diskEntries); // total number of entries + var index = mainHeader.offset; // offset of first CEN header + for (var i = 0; i < entryList.length; i++) { + var tmp = index, + entry = new ZipEntry(opts, inBuffer); + entry.header = inBuffer.slice(tmp, (tmp += Utils.Constants.CENHDR)); + + entry.entryName = inBuffer.slice(tmp, (tmp += entry.header.fileNameLength)); + + if (entry.header.extraLength) { + entry.extra = inBuffer.slice(tmp, (tmp += entry.header.extraLength)); + } + + if (entry.header.commentLength) entry.comment = inBuffer.slice(tmp, tmp + entry.header.commentLength); + + index += entry.header.centralHeaderSize; + + entryList[i] = entry; + entryTable[entry.entryName] = entry; + } + temporary.clear(); + makeTemporaryFolders(); + } + + function readMainHeader(/*Boolean*/ readNow) { + var i = inBuffer.length - Utils.Constants.ENDHDR, // END header size + max = Math.max(0, i - 0xffff), // 0xFFFF is the max zip file comment length + n = max, + endStart = inBuffer.length, + endOffset = -1, // Start offset of the END header + commentEnd = 0; + + // option to search header form entire file + const trailingSpace = typeof opts.trailingSpace === "boolean" ? opts.trailingSpace : false; + if (trailingSpace) max = 0; + + for (i; i >= n; i--) { + if (inBuffer[i] !== 0x50) continue; // quick check that the byte is 'P' + if (inBuffer.readUInt32LE(i) === Utils.Constants.ENDSIG) { + // "PK\005\006" + endOffset = i; + commentEnd = i; + endStart = i + Utils.Constants.ENDHDR; + // We already found a regular signature, let's look just a bit further to check if there's any zip64 signature + n = i - Utils.Constants.END64HDR; + continue; + } + + if (inBuffer.readUInt32LE(i) === Utils.Constants.END64SIG) { + // Found a zip64 signature, let's continue reading the whole zip64 record + n = max; + continue; + } + + if (inBuffer.readUInt32LE(i) === Utils.Constants.ZIP64SIG) { + // Found the zip64 record, let's determine it's size + endOffset = i; + endStart = i + Utils.readBigUInt64LE(inBuffer, i + Utils.Constants.ZIP64SIZE) + Utils.Constants.ZIP64LEAD; + break; + } + } + + if (endOffset == -1) throw Utils.Errors.INVALID_FORMAT(); + + mainHeader.loadFromBinary(inBuffer.slice(endOffset, endStart)); + if (mainHeader.commentLength) { + _comment = inBuffer.slice(commentEnd + Utils.Constants.ENDHDR); + } + if (readNow) readEntries(); + } + + function sortEntries() { + if (entryList.length > 1 && !noSort) { + entryList.sort((a, b) => a.entryName.toLowerCase().localeCompare(b.entryName.toLowerCase())); + } + } + + return { + /** + * Returns an array of ZipEntry objects existent in the current opened archive + * @return Array + */ + get entries() { + if (!loadedEntries) { + readEntries(); + } + return entryList.filter((e) => !temporary.has(e)); + }, + + /** + * Archive comment + * @return {String} + */ + get comment() { + return decoder.decode(_comment); + }, + set comment(val) { + _comment = Utils.toBuffer(val, decoder.encode); + mainHeader.commentLength = _comment.length; + }, + + getEntryCount: function () { + if (!loadedEntries) { + return mainHeader.diskEntries; + } + + return entryList.length; + }, + + forEach: function (callback) { + this.entries.forEach(callback); + }, + + /** + * Returns a reference to the entry with the given name or null if entry is inexistent + * + * @param entryName + * @return ZipEntry + */ + getEntry: function (/*String*/ entryName) { + if (!loadedEntries) { + readEntries(); + } + return entryTable[entryName] || null; + }, + + /** + * Adds the given entry to the entry list + * + * @param entry + */ + setEntry: function (/*ZipEntry*/ entry) { + if (!loadedEntries) { + readEntries(); + } + entryList.push(entry); + entryTable[entry.entryName] = entry; + mainHeader.totalEntries = entryList.length; + }, + + /** + * Removes the file with the given name from the entry list. + * + * If the entry is a directory, then all nested files and directories will be removed + * @param entryName + * @returns {void} + */ + deleteFile: function (/*String*/ entryName, withsubfolders = true) { + if (!loadedEntries) { + readEntries(); + } + const entry = entryTable[entryName]; + const list = this.getEntryChildren(entry, withsubfolders).map((child) => child.entryName); + + list.forEach(this.deleteEntry); + }, + + /** + * Removes the entry with the given name from the entry list. + * + * @param {string} entryName + * @returns {void} + */ + deleteEntry: function (/*String*/ entryName) { + if (!loadedEntries) { + readEntries(); + } + const entry = entryTable[entryName]; + const index = entryList.indexOf(entry); + if (index >= 0) { + entryList.splice(index, 1); + delete entryTable[entryName]; + mainHeader.totalEntries = entryList.length; + } + }, + + /** + * Iterates and returns all nested files and directories of the given entry + * + * @param entry + * @return Array + */ + getEntryChildren: function (/*ZipEntry*/ entry, subfolders = true) { + if (!loadedEntries) { + readEntries(); + } + if (typeof entry === "object") { + if (entry.isDirectory && subfolders) { + const list = []; + const name = entry.entryName; + + for (const zipEntry of entryList) { + if (zipEntry.entryName.startsWith(name)) { + list.push(zipEntry); + } + } + return list; + } else { + return [entry]; + } + } + return []; + }, + + /** + * How many child elements entry has + * + * @param {ZipEntry} entry + * @return {integer} + */ + getChildCount: function (entry) { + if (entry && entry.isDirectory) { + const list = this.getEntryChildren(entry); + return list.includes(entry) ? list.length - 1 : list.length; + } + return 0; + }, + + /** + * Returns the zip file + * + * @return Buffer + */ + compressToBuffer: function () { + if (!loadedEntries) { + readEntries(); + } + sortEntries(); + + const dataBlock = []; + const headerBlocks = []; + let totalSize = 0; + let dindex = 0; + + mainHeader.size = 0; + mainHeader.offset = 0; + let totalEntries = 0; + + for (const entry of this.entries) { + // compress data and set local and entry header accordingly. Reason why is called first + const compressedData = entry.getCompressedData(); + entry.header.offset = dindex; + + // 1. construct local header + const localHeader = entry.packLocalHeader(); + + // 2. offsets + const dataLength = localHeader.length + compressedData.length; + dindex += dataLength; + + // 3. store values in sequence + dataBlock.push(localHeader); + dataBlock.push(compressedData); + + // 4. construct central header + const centralHeader = entry.packCentralHeader(); + headerBlocks.push(centralHeader); + // 5. update main header + mainHeader.size += centralHeader.length; + totalSize += dataLength + centralHeader.length; + totalEntries++; + } + + totalSize += mainHeader.mainHeaderSize; // also includes zip file comment length + // point to end of data and beginning of central directory first record + mainHeader.offset = dindex; + mainHeader.totalEntries = totalEntries; + + dindex = 0; + const outBuffer = Buffer.alloc(totalSize); + // write data blocks + for (const content of dataBlock) { + content.copy(outBuffer, dindex); + dindex += content.length; + } + + // write central directory entries + for (const content of headerBlocks) { + content.copy(outBuffer, dindex); + dindex += content.length; + } + + // write main header + const mh = mainHeader.toBinary(); + if (_comment) { + _comment.copy(mh, Utils.Constants.ENDHDR); // add zip file comment + } + mh.copy(outBuffer, dindex); + + // Since we update entry and main header offsets, + // they are no longer valid and we have to reset content + // (Issue 64) + + inBuffer = outBuffer; + loadedEntries = false; + + return outBuffer; + }, + + toAsyncBuffer: function (/*Function*/ onSuccess, /*Function*/ onFail, /*Function*/ onItemStart, /*Function*/ onItemEnd) { + try { + if (!loadedEntries) { + readEntries(); + } + sortEntries(); + + const dataBlock = []; + const centralHeaders = []; + let totalSize = 0; + let dindex = 0; + let totalEntries = 0; + + mainHeader.size = 0; + mainHeader.offset = 0; + + const compress2Buffer = function (entryLists) { + if (entryLists.length > 0) { + const entry = entryLists.shift(); + const name = entry.entryName + entry.extra.toString(); + if (onItemStart) onItemStart(name); + entry.getCompressedDataAsync(function (compressedData) { + if (onItemEnd) onItemEnd(name); + entry.header.offset = dindex; + + // 1. construct local header + const localHeader = entry.packLocalHeader(); + + // 2. offsets + const dataLength = localHeader.length + compressedData.length; + dindex += dataLength; + + // 3. store values in sequence + dataBlock.push(localHeader); + dataBlock.push(compressedData); + + // central header + const centalHeader = entry.packCentralHeader(); + centralHeaders.push(centalHeader); + mainHeader.size += centalHeader.length; + totalSize += dataLength + centalHeader.length; + totalEntries++; + + compress2Buffer(entryLists); + }); + } else { + totalSize += mainHeader.mainHeaderSize; // also includes zip file comment length + // point to end of data and beginning of central directory first record + mainHeader.offset = dindex; + mainHeader.totalEntries = totalEntries; + + dindex = 0; + const outBuffer = Buffer.alloc(totalSize); + dataBlock.forEach(function (content) { + content.copy(outBuffer, dindex); // write data blocks + dindex += content.length; + }); + centralHeaders.forEach(function (content) { + content.copy(outBuffer, dindex); // write central directory entries + dindex += content.length; + }); + + const mh = mainHeader.toBinary(); + if (_comment) { + _comment.copy(mh, Utils.Constants.ENDHDR); // add zip file comment + } + + mh.copy(outBuffer, dindex); // write main header + + // Since we update entry and main header offsets, they are no + // longer valid and we have to reset content using our new buffer + // (Issue 64) + + inBuffer = outBuffer; + loadedEntries = false; + + onSuccess(outBuffer); + } + }; + + compress2Buffer(Array.from(this.entries)); + } catch (e) { + onFail(e); + } + } + }; +}; + + +/***/ }, + +/***/ 21873 +(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = +{ + parallel : __webpack_require__(18798), + serial : __webpack_require__(52081), + serialOrdered : __webpack_require__(90028) +}; + + +/***/ }, + +/***/ 74555 +(module) { + +// API +module.exports = abort; + +/** + * Aborts leftover active jobs + * + * @param {object} state - current state object + */ +function abort(state) +{ + Object.keys(state.jobs).forEach(clean.bind(state)); + + // reset leftover jobs + state.jobs = {}; +} + +/** + * Cleans up leftover job by invoking abort function for the provided job id + * + * @this state + * @param {string|number} key - job id to abort + */ +function clean(key) +{ + if (typeof this.jobs[key] == 'function') + { + this.jobs[key](); + } +} + + +/***/ }, + +/***/ 72313 +(module, __unused_webpack_exports, __webpack_require__) { + +var defer = __webpack_require__(70405); + +// API +module.exports = async; + +/** + * Runs provided callback asynchronously + * even if callback itself is not + * + * @param {function} callback - callback to invoke + * @returns {function} - augmented callback + */ +function async(callback) +{ + var isAsync = false; + + // check if async happened + defer(function() { isAsync = true; }); + + return function async_callback(err, result) + { + if (isAsync) + { + callback(err, result); + } + else + { + defer(function nextTick_callback() + { + callback(err, result); + }); + } + }; +} + + +/***/ }, + +/***/ 70405 +(module) { + +module.exports = defer; + +/** + * Runs provided function on next iteration of the event loop + * + * @param {function} fn - function to run + */ +function defer(fn) +{ + var nextTick = typeof setImmediate == 'function' + ? setImmediate + : ( + typeof process == 'object' && typeof process.nextTick == 'function' + ? process.nextTick + : null + ); + + if (nextTick) + { + nextTick(fn); + } + else + { + setTimeout(fn, 0); + } +} + + +/***/ }, + +/***/ 78051 +(module, __unused_webpack_exports, __webpack_require__) { + +var async = __webpack_require__(72313) + , abort = __webpack_require__(74555) + ; + +// API +module.exports = iterate; + +/** + * Iterates over each job object + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {object} state - current job status + * @param {function} callback - invoked when all elements processed + */ +function iterate(list, iterator, state, callback) +{ + // store current index + var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; + + state.jobs[key] = runJob(iterator, key, list[key], function(error, output) + { + // don't repeat yourself + // skip secondary callbacks + if (!(key in state.jobs)) + { + return; + } + + // clean up jobs + delete state.jobs[key]; + + if (error) + { + // don't process rest of the results + // stop still active jobs + // and reset the list + abort(state); + } + else + { + state.results[key] = output; + } + + // return salvaged results + callback(error, state.results); + }); +} + +/** + * Runs iterator over provided job element + * + * @param {function} iterator - iterator to invoke + * @param {string|number} key - key/index of the element in the list of jobs + * @param {mixed} item - job description + * @param {function} callback - invoked after iterator is done with the job + * @returns {function|mixed} - job abort function or something else + */ +function runJob(iterator, key, item, callback) +{ + var aborter; + + // allow shortcut if iterator expects only two arguments + if (iterator.length == 2) + { + aborter = iterator(item, async(callback)); + } + // otherwise go with full three arguments + else + { + aborter = iterator(item, key, async(callback)); + } + + return aborter; +} + + +/***/ }, + +/***/ 19500 +(module) { + +// API +module.exports = state; + +/** + * Creates initial state object + * for iteration over list + * + * @param {array|object} list - list to iterate over + * @param {function|null} sortMethod - function to use for keys sort, + * or `null` to keep them as is + * @returns {object} - initial state object + */ +function state(list, sortMethod) +{ + var isNamedList = !Array.isArray(list) + , initState = + { + index : 0, + keyedList: isNamedList || sortMethod ? Object.keys(list) : null, + jobs : {}, + results : isNamedList ? {} : [], + size : isNamedList ? Object.keys(list).length : list.length + } + ; + + if (sortMethod) + { + // sort array keys based on it's values + // sort object's keys just on own merit + initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) + { + return sortMethod(list[a], list[b]); + }); + } + + return initState; +} + + +/***/ }, + +/***/ 26276 +(module, __unused_webpack_exports, __webpack_require__) { + +var abort = __webpack_require__(74555) + , async = __webpack_require__(72313) + ; + +// API +module.exports = terminator; + +/** + * Terminates jobs in the attached state context + * + * @this AsyncKitState# + * @param {function} callback - final callback to invoke after termination + */ +function terminator(callback) +{ + if (!Object.keys(this.jobs).length) + { + return; + } + + // fast forward iteration index + this.index = this.size; + + // abort jobs + abort(this); + + // send back results we have so far + async(callback)(null, this.results); +} + + +/***/ }, + +/***/ 18798 +(module, __unused_webpack_exports, __webpack_require__) { + +var iterate = __webpack_require__(78051) + , initState = __webpack_require__(19500) + , terminator = __webpack_require__(26276) + ; + +// Public API +module.exports = parallel; + +/** + * Runs iterator over provided array elements in parallel + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function parallel(list, iterator, callback) +{ + var state = initState(list); + + while (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, function(error, result) + { + if (error) + { + callback(error, result); + return; + } + + // looks like it's the last one + if (Object.keys(state.jobs).length === 0) + { + callback(null, state.results); + return; + } + }); + + state.index++; + } + + return terminator.bind(state, callback); +} + + +/***/ }, + +/***/ 52081 +(module, __unused_webpack_exports, __webpack_require__) { + +var serialOrdered = __webpack_require__(90028); + +// Public API +module.exports = serial; + +/** + * Runs iterator over provided array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serial(list, iterator, callback) +{ + return serialOrdered(list, iterator, null, callback); +} + + +/***/ }, + +/***/ 90028 +(module, __unused_webpack_exports, __webpack_require__) { + +var iterate = __webpack_require__(78051) + , initState = __webpack_require__(19500) + , terminator = __webpack_require__(26276) + ; + +// Public API +module.exports = serialOrdered; +// sorting helpers +module.exports.ascending = ascending; +module.exports.descending = descending; + +/** + * Runs iterator over provided sorted array elements in series + * + * @param {array|object} list - array or object (named list) to iterate over + * @param {function} iterator - iterator to run + * @param {function} sortMethod - custom sort function + * @param {function} callback - invoked when all elements processed + * @returns {function} - jobs terminator + */ +function serialOrdered(list, iterator, sortMethod, callback) +{ + var state = initState(list, sortMethod); + + iterate(list, iterator, state, function iteratorHandler(error, result) + { + if (error) + { + callback(error, result); + return; + } + + state.index++; + + // are we there yet? + if (state.index < (state['keyedList'] || list).length) + { + iterate(list, iterator, state, iteratorHandler); + return; + } + + // done here + callback(null, state.results); + }); + + return terminator.bind(state, callback); +} + +/* + * -- Sort methods + */ + +/** + * sort helper to sort array elements in ascending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function ascending(a, b) +{ + return a < b ? -1 : a > b ? 1 : 0; +} + +/** + * sort helper to sort array elements in descending order + * + * @param {mixed} a - an item to compare + * @param {mixed} b - an item to compare + * @returns {number} - comparison result + */ +function descending(a, b) +{ + return -1 * ascending(a, b); +} + + +/***/ }, + +/***/ 13144 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var bind = __webpack_require__(66743); + +var $apply = __webpack_require__(11002); +var $call = __webpack_require__(10076); +var $reflectApply = __webpack_require__(47119); + +/** @type {import('./actualApply')} */ +module.exports = $reflectApply || bind.call($call, $apply); + + +/***/ }, + +/***/ 11002 +(module) { + +"use strict"; + + +/** @type {import('./functionApply')} */ +module.exports = Function.prototype.apply; + + +/***/ }, + +/***/ 10076 +(module) { + +"use strict"; + + +/** @type {import('./functionCall')} */ +module.exports = Function.prototype.call; + + +/***/ }, + +/***/ 73126 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var bind = __webpack_require__(66743); +var $TypeError = __webpack_require__(69675); + +var $call = __webpack_require__(10076); +var $actualApply = __webpack_require__(13144); + +/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ +module.exports = function callBindBasic(args) { + if (args.length < 1 || typeof args[0] !== 'function') { + throw new $TypeError('a function is required'); + } + return $actualApply(bind, $call, args); +}; + + +/***/ }, + +/***/ 47119 +(module) { + +"use strict"; + + +/** @type {import('./reflectApply')} */ +module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply; + + +/***/ }, + +/***/ 2796 +(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = __webpack_require__(11233); + + +/***/ }, + +/***/ 11233 +(module, __unused_webpack_exports, __webpack_require__) { + +/** + * Clean-css - https://github.com/clean-css/clean-css + * Released under the terms of MIT license + */ + +var level0Optimize = __webpack_require__(77925); +var level1Optimize = __webpack_require__(78764); +var level2Optimize = __webpack_require__(72503); +var validator = __webpack_require__(97406); + +var compatibilityFrom = __webpack_require__(77081); +var fetchFrom = __webpack_require__(73637); +var formatFrom = (__webpack_require__(462).formatFrom); +var inlineFrom = __webpack_require__(38176); +var inlineRequestFrom = __webpack_require__(43684); +var inlineTimeoutFrom = __webpack_require__(8478); +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); +var optimizationLevelFrom = (__webpack_require__(1167).optimizationLevelFrom); +var pluginsFrom = __webpack_require__(4513); +var rebaseFrom = __webpack_require__(53129); +var rebaseToFrom = __webpack_require__(2535); + +var inputSourceMapTracker = __webpack_require__(80376); +var readSources = __webpack_require__(18439); + +var serializeStyles = __webpack_require__(98334); +var serializeStylesAndSourceMap = __webpack_require__(76913); + +var CleanCSS = module.exports = function CleanCSS(options) { + options = options || {}; + + this.options = { + batch: !!options.batch, + compatibility: compatibilityFrom(options.compatibility), + explicitRebaseTo: 'rebaseTo' in options, + fetch: fetchFrom(options.fetch), + format: formatFrom(options.format), + inline: inlineFrom(options.inline), + inlineRequest: inlineRequestFrom(options.inlineRequest), + inlineTimeout: inlineTimeoutFrom(options.inlineTimeout), + level: optimizationLevelFrom(options.level), + plugins: pluginsFrom(options.plugins), + rebase: rebaseFrom(options.rebase, options.rebaseTo), + rebaseTo: rebaseToFrom(options.rebaseTo), + returnPromise: !!options.returnPromise, + sourceMap: !!options.sourceMap, + sourceMapInlineSources: !!options.sourceMapInlineSources + }; +}; + +// for compatibility with optimize-css-assets-webpack-plugin +CleanCSS.process = function(input, opts) { + var cleanCss; + var optsTo = opts.to; + + delete opts.to; + cleanCss = new CleanCSS(Object.assign({ + returnPromise: true, rebaseTo: optsTo + }, opts)); + + return cleanCss.minify(input) + .then(function(output) { + return { css: output.styles }; + }); +}; + +CleanCSS.prototype.minify = function(input, maybeSourceMap, maybeCallback) { + var options = this.options; + + if (options.returnPromise) { + return new Promise(function(resolve, reject) { + minifyAll(input, options, maybeSourceMap, function(errors, output) { + return errors + ? reject(errors) + : resolve(output); + }); + }); + } + return minifyAll(input, options, maybeSourceMap, maybeCallback); +}; + +function minifyAll(input, options, maybeSourceMap, maybeCallback) { + if (options.batch && Array.isArray(input)) { + return minifyInBatchesFromArray(input, options, maybeSourceMap, maybeCallback); + } if (options.batch && (typeof input == 'object')) { + return minifyInBatchesFromHash(input, options, maybeSourceMap, maybeCallback); + } + return minify(input, options, maybeSourceMap, maybeCallback); +} + +function minifyInBatchesFromArray(input, options, maybeSourceMap, maybeCallback) { + var callback = typeof maybeCallback == 'function' + ? maybeCallback + : (typeof maybeSourceMap == 'function' ? maybeSourceMap : null); + var errors = []; + var outputAsHash = {}; + var inputValue; + var i, l; + + function whenHashBatchDone(innerErrors, output) { + outputAsHash = Object.assign(outputAsHash, output); + + if (innerErrors !== null) { + errors = errors.concat(innerErrors); + } + } + + for (i = 0, l = input.length; i < l; i++) { + if (typeof input[i] == 'object') { + minifyInBatchesFromHash(input[i], options, whenHashBatchDone); + } else { + inputValue = input[i]; + + outputAsHash[inputValue] = minify([inputValue], options); + errors = errors.concat(outputAsHash[inputValue].errors); + } + } + + return callback + ? callback(errors.length > 0 ? errors : null, outputAsHash) + : outputAsHash; +} + +function minifyInBatchesFromHash(input, options, maybeSourceMap, maybeCallback) { + var callback = typeof maybeCallback == 'function' + ? maybeCallback + : (typeof maybeSourceMap == 'function' ? maybeSourceMap : null); + var errors = []; + var outputAsHash = {}; + var inputKey; + var inputValue; + + for (inputKey in input) { + inputValue = input[inputKey]; + + outputAsHash[inputKey] = minify(inputValue.styles, options, inputValue.sourceMap); + errors = errors.concat(outputAsHash[inputKey].errors); + } + + return callback + ? callback(errors.length > 0 ? errors : null, outputAsHash) + : outputAsHash; +} + +function minify(input, options, maybeSourceMap, maybeCallback) { + var sourceMap = typeof maybeSourceMap != 'function' + ? maybeSourceMap + : null; + var callback = typeof maybeCallback == 'function' + ? maybeCallback + : (typeof maybeSourceMap == 'function' ? maybeSourceMap : null); + var context = { + stats: { + efficiency: 0, + minifiedSize: 0, + originalSize: 0, + startedAt: Date.now(), + timeSpent: 0 + }, + cache: { specificity: {} }, + errors: [], + inlinedStylesheets: [], + inputSourceMapTracker: inputSourceMapTracker(), + localOnly: !callback, + options: options, + source: null, + sourcesContent: {}, + validator: validator(options.compatibility), + warnings: [] + }; + var implicitRebaseToWarning; + + if (sourceMap) { + context.inputSourceMapTracker.track(undefined, sourceMap); + } + + if (options.rebase && !options.explicitRebaseTo) { + implicitRebaseToWarning = 'You have set `rebase: true` without giving `rebaseTo` option, which, in this case, defaults to the current working directory. ' + + 'You are then warned this can lead to unexpected URL rebasing (aka here be dragons)! ' + + 'If you are OK with the clean-css output, then you can get rid of this warning by giving clean-css a `rebaseTo: process.cwd()` option.'; + context.warnings.push(implicitRebaseToWarning); + } + + return runner(context.localOnly)(function() { + return readSources(input, context, function(tokens) { + var serialize = context.options.sourceMap + ? serializeStylesAndSourceMap + : serializeStyles; + + var optimizedTokens = optimize(tokens, context); + var optimizedStyles = serialize(optimizedTokens, context); + var output = withMetadata(optimizedStyles, context); + + return callback + ? callback(context.errors.length > 0 ? context.errors : null, output) + : output; + }); + }); +} + +function runner(localOnly) { + // to always execute code asynchronously when a callback is given + // more at blog.izs.me/post/59142742143/designing-apis-for-asynchrony + return localOnly + ? function(callback) { return callback(); } + : process.nextTick; +} + +function optimize(tokens, context) { + var optimized = level0Optimize(tokens, context); + + optimized = OptimizationLevel.One in context.options.level + ? level1Optimize(tokens, context) + : tokens; + optimized = OptimizationLevel.Two in context.options.level + ? level2Optimize(tokens, context, true) + : optimized; + + return optimized; +} + +function withMetadata(output, context) { + output.stats = calculateStatsFrom(output.styles, context); + output.errors = context.errors; + output.inlinedStylesheets = context.inlinedStylesheets; + output.warnings = context.warnings; + + return output; +} + +function calculateStatsFrom(styles, context) { + var finishedAt = Date.now(); + var timeSpent = finishedAt - context.stats.startedAt; + + delete context.stats.startedAt; + context.stats.timeSpent = timeSpent; + context.stats.efficiency = 1 - styles.length / context.stats.originalSize; + context.stats.minifiedSize = styles.length; + + return context.stats; +} + + +/***/ }, + +/***/ 81625 +(module, __unused_webpack_exports, __webpack_require__) { + +var wrapSingle = (__webpack_require__(48597).single); + +var Token = __webpack_require__(50107); + +function deep(property) { + var cloned = shallow(property); + for (var i = property.components.length - 1; i >= 0; i--) { + var component = shallow(property.components[i]); + component.value = property.components[i].value.slice(0); + cloned.components.unshift(component); + } + + cloned.dirty = true; + cloned.value = property.value.slice(0); + + return cloned; +} + +function shallow(property) { + var cloned = wrapSingle([ + Token.PROPERTY, + [Token.PROPERTY_NAME, property.name] + ]); + cloned.important = property.important; + cloned.hack = property.hack; + cloned.unused = false; + return cloned; +} + +module.exports = { + deep: deep, + shallow: shallow +}; + + +/***/ }, + +/***/ 89142 +(module, __unused_webpack_exports, __webpack_require__) { + +// Contains the interpretation of CSS properties, as used by the property optimizer + +var breakUp = __webpack_require__(26542); +var canOverride = __webpack_require__(36080); +var restore = __webpack_require__(90587); + +var propertyOptimizers = __webpack_require__(44303); +var valueOptimizers = __webpack_require__(63431); + +var override = __webpack_require__(56480); + +// Properties to process +// Extend this object in order to add support for more properties in the optimizer. +// +// Each key in this object represents a CSS property and should be an object. +// Such an object contains properties that describe how the represented CSS property should be handled. +// Possible options: +// +// * components: array (Only specify for shorthand properties.) +// Contains the names of the granular properties this shorthand compacts. +// +// * canOverride: function +// Returns whether two tokens of this property can be merged with each other. +// This property has no meaning for shorthands. +// +// * defaultValue: string +// Specifies the default value of the property according to the CSS standard. +// For shorthand, this is used when every component is set to its default value, therefore it should be the shortest possible default value of all the components. +// +// * shortestValue: string +// Specifies the shortest possible value the property can possibly have. +// (Falls back to defaultValue if unspecified.) +// +// * breakUp: function (Only specify for shorthand properties.) +// Breaks the shorthand up to its components. +// +// * restore: function (Only specify for shorthand properties.) +// Puts the shorthand together from its components. +// +var configuration = { + animation: { + canOverride: canOverride.generic.components([ + canOverride.generic.time, + canOverride.generic.timingFunction, + canOverride.generic.time, + canOverride.property.animationIterationCount, + canOverride.property.animationDirection, + canOverride.property.animationFillMode, + canOverride.property.animationPlayState, + canOverride.property.animationName + ]), + components: [ + 'animation-duration', + 'animation-timing-function', + 'animation-delay', + 'animation-iteration-count', + 'animation-direction', + 'animation-fill-mode', + 'animation-play-state', + 'animation-name' + ], + breakUp: breakUp.multiplex(breakUp.animation), + defaultValue: 'none', + restore: restore.multiplex(restore.withoutDefaults), + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.textQuotes, + valueOptimizers.time, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-delay': { + canOverride: canOverride.generic.time, + componentOf: [ + 'animation' + ], + defaultValue: '0s', + intoMultiplexMode: 'real', + valueOptimizers: [ + valueOptimizers.time, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-direction': { + canOverride: canOverride.property.animationDirection, + componentOf: [ + 'animation' + ], + defaultValue: 'normal', + intoMultiplexMode: 'real', + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-duration': { + canOverride: canOverride.generic.time, + componentOf: [ + 'animation' + ], + defaultValue: '0s', + intoMultiplexMode: 'real', + keepUnlessDefault: 'animation-delay', + valueOptimizers: [ + valueOptimizers.time, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-fill-mode': { + canOverride: canOverride.property.animationFillMode, + componentOf: [ + 'animation' + ], + defaultValue: 'none', + intoMultiplexMode: 'real', + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-iteration-count': { + canOverride: canOverride.property.animationIterationCount, + componentOf: [ + 'animation' + ], + defaultValue: '1', + intoMultiplexMode: 'real', + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-name': { + canOverride: canOverride.property.animationName, + componentOf: [ + 'animation' + ], + defaultValue: 'none', + intoMultiplexMode: 'real', + valueOptimizers: [ + valueOptimizers.textQuotes + ], + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-play-state': { + canOverride: canOverride.property.animationPlayState, + componentOf: [ + 'animation' + ], + defaultValue: 'running', + intoMultiplexMode: 'real', + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + 'animation-timing-function': { + canOverride: canOverride.generic.timingFunction, + componentOf: [ + 'animation' + ], + defaultValue: 'ease', + intoMultiplexMode: 'real', + vendorPrefixes: [ + '-moz-', + '-o-', + '-webkit-' + ] + }, + background: { + canOverride: canOverride.generic.components([ + canOverride.generic.image, + canOverride.property.backgroundPosition, + canOverride.property.backgroundSize, + canOverride.property.backgroundRepeat, + canOverride.property.backgroundAttachment, + canOverride.property.backgroundOrigin, + canOverride.property.backgroundClip, + canOverride.generic.color + ]), + components: [ + 'background-image', + 'background-position', + 'background-size', + 'background-repeat', + 'background-attachment', + 'background-origin', + 'background-clip', + 'background-color' + ], + breakUp: breakUp.multiplex(breakUp.background), + defaultValue: '0 0', + propertyOptimizer: propertyOptimizers.background, + restore: restore.multiplex(restore.background), + shortestValue: '0', + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.urlWhiteSpace, + valueOptimizers.fraction, + valueOptimizers.zero, + valueOptimizers.color, + valueOptimizers.urlPrefix, + valueOptimizers.urlQuotes + ] + }, + 'background-attachment': { + canOverride: canOverride.property.backgroundAttachment, + componentOf: [ + 'background' + ], + defaultValue: 'scroll', + intoMultiplexMode: 'real' + }, + 'background-clip': { + canOverride: canOverride.property.backgroundClip, + componentOf: [ + 'background' + ], + defaultValue: 'border-box', + intoMultiplexMode: 'real', + shortestValue: 'border-box' + }, + 'background-color': { + canOverride: canOverride.generic.color, + componentOf: [ + 'background' + ], + defaultValue: 'transparent', + intoMultiplexMode: 'real', // otherwise real color will turn into default since color appears in last multiplex only + multiplexLastOnly: true, + nonMergeableValue: 'none', + shortestValue: 'red', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'background-image': { + canOverride: canOverride.generic.image, + componentOf: [ + 'background' + ], + defaultValue: 'none', + intoMultiplexMode: 'default', + valueOptimizers: [ + valueOptimizers.urlWhiteSpace, + valueOptimizers.urlPrefix, + valueOptimizers.urlQuotes, + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero, + valueOptimizers.color + ] + }, + 'background-origin': { + canOverride: canOverride.property.backgroundOrigin, + componentOf: [ + 'background' + ], + defaultValue: 'padding-box', + intoMultiplexMode: 'real', + shortestValue: 'border-box' + }, + 'background-position': { + canOverride: canOverride.property.backgroundPosition, + componentOf: [ + 'background' + ], + defaultValue: ['0', '0'], + doubleValues: true, + intoMultiplexMode: 'real', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'background-repeat': { + canOverride: canOverride.property.backgroundRepeat, + componentOf: [ + 'background' + ], + defaultValue: ['repeat'], + doubleValues: true, + intoMultiplexMode: 'real' + }, + 'background-size': { + canOverride: canOverride.property.backgroundSize, + componentOf: [ + 'background' + ], + defaultValue: ['auto'], + doubleValues: true, + intoMultiplexMode: 'real', + shortestValue: '0 0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + bottom: { + canOverride: canOverride.property.bottom, + defaultValue: 'auto', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + border: { + breakUp: breakUp.border, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.property.borderStyle, + canOverride.generic.color + ]), + components: [ + 'border-width', + 'border-style', + 'border-color' + ], + defaultValue: 'none', + overridesShorthands: [ + 'border-bottom', + 'border-left', + 'border-right', + 'border-top' + ], + restore: restore.withoutDefaults, + shorthand: true, + shorthandComponents: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.zero, + valueOptimizers.color + ] + }, + 'border-bottom': { + breakUp: breakUp.border, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.property.borderStyle, + canOverride.generic.color + ]), + components: [ + 'border-bottom-width', + 'border-bottom-style', + 'border-bottom-color' + ], + defaultValue: 'none', + restore: restore.withoutDefaults, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.zero, + valueOptimizers.color + ] + }, + 'border-bottom-color': { + canOverride: canOverride.generic.color, + componentOf: [ + 'border-bottom', + 'border-color' + ], + defaultValue: 'none', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'border-bottom-left-radius': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-radius' + ], + defaultValue: '0', + propertyOptimizer: propertyOptimizers.borderRadius, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-' + ] + }, + 'border-bottom-right-radius': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-radius' + ], + defaultValue: '0', + propertyOptimizer: propertyOptimizers.borderRadius, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-' + ] + }, + 'border-bottom-style': { + canOverride: canOverride.property.borderStyle, + componentOf: [ + 'border-bottom', + 'border-style' + ], + defaultValue: 'none' + }, + 'border-bottom-width': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-bottom', + 'border-width' + ], + defaultValue: 'medium', + oppositeTo: 'border-top-width', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'border-collapse': { + canOverride: canOverride.property.borderCollapse, + defaultValue: 'separate' + }, + 'border-color': { + breakUp: breakUp.fourValues, + canOverride: canOverride.generic.components([ + canOverride.generic.color, + canOverride.generic.color, + canOverride.generic.color, + canOverride.generic.color + ]), + componentOf: [ + 'border' + ], + components: [ + 'border-top-color', + 'border-right-color', + 'border-bottom-color', + 'border-left-color' + ], + defaultValue: 'none', + restore: restore.fourValues, + shortestValue: 'red', + shorthand: true, + singleTypeComponents: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'border-left': { + breakUp: breakUp.border, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.property.borderStyle, + canOverride.generic.color + ]), + components: [ + 'border-left-width', + 'border-left-style', + 'border-left-color' + ], + defaultValue: 'none', + restore: restore.withoutDefaults, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.zero, + valueOptimizers.color + ] + }, + 'border-left-color': { + canOverride: canOverride.generic.color, + componentOf: [ + 'border-color', + 'border-left' + ], + defaultValue: 'none', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'border-left-style': { + canOverride: canOverride.property.borderStyle, + componentOf: [ + 'border-left', + 'border-style' + ], + defaultValue: 'none' + }, + 'border-left-width': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-left', + 'border-width' + ], + defaultValue: 'medium', + oppositeTo: 'border-right-width', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'border-radius': { + breakUp: breakUp.borderRadius, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit + ]), + components: [ + 'border-top-left-radius', + 'border-top-right-radius', + 'border-bottom-right-radius', + 'border-bottom-left-radius' + ], + defaultValue: '0', + propertyOptimizer: propertyOptimizers.borderRadius, + restore: restore.borderRadius, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-' + ] + }, + 'border-right': { + breakUp: breakUp.border, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.property.borderStyle, + canOverride.generic.color + ]), + components: [ + 'border-right-width', + 'border-right-style', + 'border-right-color' + ], + defaultValue: 'none', + restore: restore.withoutDefaults, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'border-right-color': { + canOverride: canOverride.generic.color, + componentOf: [ + 'border-color', + 'border-right' + ], + defaultValue: 'none', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'border-right-style': { + canOverride: canOverride.property.borderStyle, + componentOf: [ + 'border-right', + 'border-style' + ], + defaultValue: 'none' + }, + 'border-right-width': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-right', + 'border-width' + ], + defaultValue: 'medium', + oppositeTo: 'border-left-width', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'border-style': { + breakUp: breakUp.fourValues, + canOverride: canOverride.generic.components([ + canOverride.property.borderStyle, + canOverride.property.borderStyle, + canOverride.property.borderStyle, + canOverride.property.borderStyle + ]), + componentOf: [ + 'border' + ], + components: [ + 'border-top-style', + 'border-right-style', + 'border-bottom-style', + 'border-left-style' + ], + defaultValue: 'none', + restore: restore.fourValues, + shorthand: true, + singleTypeComponents: true + }, + 'border-top': { + breakUp: breakUp.border, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.property.borderStyle, + canOverride.generic.color + ]), + components: [ + 'border-top-width', + 'border-top-style', + 'border-top-color' + ], + defaultValue: 'none', + restore: restore.withoutDefaults, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.zero, + valueOptimizers.color, + valueOptimizers.unit + ] + }, + 'border-top-color': { + canOverride: canOverride.generic.color, + componentOf: [ + 'border-color', + 'border-top' + ], + defaultValue: 'none', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'border-top-left-radius': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-radius' + ], + defaultValue: '0', + propertyOptimizer: propertyOptimizers.borderRadius, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-' + ] + }, + 'border-top-right-radius': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-radius' + ], + defaultValue: '0', + propertyOptimizer: propertyOptimizers.borderRadius, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-o-' + ] + }, + 'border-top-style': { + canOverride: canOverride.property.borderStyle, + componentOf: [ + 'border-style', + 'border-top' + ], + defaultValue: 'none' + }, + 'border-top-width': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'border-top', + 'border-width' + ], + defaultValue: 'medium', + oppositeTo: 'border-bottom-width', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'border-width': { + breakUp: breakUp.fourValues, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit + ]), + componentOf: [ + 'border' + ], + components: [ + 'border-top-width', + 'border-right-width', + 'border-bottom-width', + 'border-left-width' + ], + defaultValue: 'medium', + restore: restore.fourValues, + shortestValue: '0', + shorthand: true, + singleTypeComponents: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'box-shadow': { + propertyOptimizer: propertyOptimizers.boxShadow, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero, + valueOptimizers.color + ], + vendorPrefixes: [ + '-moz-', + '-ms-', + '-o-', + '-webkit-' + ] + }, + clear: { + canOverride: canOverride.property.clear, + defaultValue: 'none' + }, + clip: { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + color: { + canOverride: canOverride.generic.color, + defaultValue: 'transparent', + shortestValue: 'red', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'column-gap': { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + cursor: { + canOverride: canOverride.property.cursor, + defaultValue: 'auto' + }, + display: { canOverride: canOverride.property.display }, + filter: { + propertyOptimizer: propertyOptimizers.filter, + valueOptimizers: [ + valueOptimizers.fraction + ] + }, + float: { + canOverride: canOverride.property.float, + defaultValue: 'none' + }, + font: { + breakUp: breakUp.font, + canOverride: canOverride.generic.components([ + canOverride.property.fontStyle, + canOverride.property.fontVariant, + canOverride.property.fontWeight, + canOverride.property.fontStretch, + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.property.fontFamily + ]), + components: [ + 'font-style', + 'font-variant', + 'font-weight', + 'font-stretch', + 'font-size', + 'line-height', + 'font-family' + ], + restore: restore.font, + shorthand: true, + valueOptimizers: [ + valueOptimizers.textQuotes + ] + }, + 'font-family': { + canOverride: canOverride.property.fontFamily, + defaultValue: 'user|agent|specific', + valueOptimizers: [ + valueOptimizers.textQuotes + ] + }, + 'font-size': { + canOverride: canOverride.generic.unit, + defaultValue: 'medium', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.fraction + ] + }, + 'font-stretch': { + canOverride: canOverride.property.fontStretch, + defaultValue: 'normal' + }, + 'font-style': { + canOverride: canOverride.property.fontStyle, + defaultValue: 'normal' + }, + 'font-variant': { + canOverride: canOverride.property.fontVariant, + defaultValue: 'normal' + }, + 'font-weight': { + canOverride: canOverride.property.fontWeight, + defaultValue: 'normal', + propertyOptimizer: propertyOptimizers.fontWeight, + shortestValue: '400' + }, + gap: { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + height: { + canOverride: canOverride.generic.unit, + defaultValue: 'auto', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + left: { + canOverride: canOverride.property.left, + defaultValue: 'auto', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'letter-spacing': { + valueOptimizers: [ + valueOptimizers.fraction, + valueOptimizers.zero + ] + }, + 'line-height': { + canOverride: canOverride.generic.unitOrNumber, + defaultValue: 'normal', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.fraction, + valueOptimizers.zero + ] + }, + 'list-style': { + canOverride: canOverride.generic.components([ + canOverride.property.listStyleType, + canOverride.property.listStylePosition, + canOverride.property.listStyleImage + ]), + components: [ + 'list-style-type', + 'list-style-position', + 'list-style-image' + ], + breakUp: breakUp.listStyle, + restore: restore.withoutDefaults, + defaultValue: 'outside', // can't use 'disc' because that'd override default 'decimal' for
    + shortestValue: 'none', + shorthand: true + }, + 'list-style-image': { + canOverride: canOverride.generic.image, + componentOf: [ + 'list-style' + ], + defaultValue: 'none' + }, + 'list-style-position': { + canOverride: canOverride.property.listStylePosition, + componentOf: [ + 'list-style' + ], + defaultValue: 'outside', + shortestValue: 'inside' + }, + 'list-style-type': { + canOverride: canOverride.property.listStyleType, + componentOf: [ + 'list-style' + ], + // NOTE: we can't tell the real default value here, it's 'disc' for
      and 'decimal' for
        + // this is a hack, but it doesn't matter because this value will be either overridden or + // it will disappear at the final step anyway + defaultValue: 'decimal|disc', + shortestValue: 'none' + }, + margin: { + breakUp: breakUp.fourValues, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit + ]), + components: [ + 'margin-top', + 'margin-right', + 'margin-bottom', + 'margin-left' + ], + defaultValue: '0', + propertyOptimizer: propertyOptimizers.margin, + restore: restore.fourValues, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'margin-bottom': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'margin' + ], + defaultValue: '0', + oppositeTo: 'margin-top', + propertyOptimizer: propertyOptimizers.margin, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'margin-inline-end': { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'margin-inline-start': { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'margin-left': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'margin' + ], + defaultValue: '0', + oppositeTo: 'margin-right', + propertyOptimizer: propertyOptimizers.margin, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'margin-right': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'margin' + ], + defaultValue: '0', + oppositeTo: 'margin-left', + propertyOptimizer: propertyOptimizers.margin, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'margin-top': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'margin' + ], + defaultValue: '0', + oppositeTo: 'margin-bottom', + propertyOptimizer: propertyOptimizers.margin, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'max-height': { + canOverride: canOverride.generic.unit, + defaultValue: 'none', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'max-width': { + canOverride: canOverride.generic.unit, + defaultValue: 'none', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'min-height': { + canOverride: canOverride.generic.unit, + defaultValue: '0', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'min-width': { + canOverride: canOverride.generic.unit, + defaultValue: '0', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + opacity: { + valueOptimizers: [ + valueOptimizers.fraction, + valueOptimizers.precision + ] + }, + outline: { + canOverride: canOverride.generic.components([ + canOverride.generic.color, + canOverride.property.outlineStyle, + canOverride.generic.unit + ]), + components: [ + 'outline-color', + 'outline-style', + 'outline-width' + ], + breakUp: breakUp.outline, + restore: restore.withoutDefaults, + defaultValue: '0', + propertyOptimizer: propertyOptimizers.outline, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'outline-color': { + canOverride: canOverride.generic.color, + componentOf: [ + 'outline' + ], + defaultValue: 'invert', + shortestValue: 'red', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.color + ] + }, + 'outline-style': { + canOverride: canOverride.property.outlineStyle, + componentOf: [ + 'outline' + ], + defaultValue: 'none' + }, + 'outline-width': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'outline' + ], + defaultValue: 'medium', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + overflow: { + canOverride: canOverride.property.overflow, + defaultValue: 'visible' + }, + 'overflow-x': { + canOverride: canOverride.property.overflow, + defaultValue: 'visible' + }, + 'overflow-y': { + canOverride: canOverride.property.overflow, + defaultValue: 'visible' + }, + padding: { + breakUp: breakUp.fourValues, + canOverride: canOverride.generic.components([ + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit, + canOverride.generic.unit + ]), + components: [ + 'padding-top', + 'padding-right', + 'padding-bottom', + 'padding-left' + ], + defaultValue: '0', + propertyOptimizer: propertyOptimizers.padding, + restore: restore.fourValues, + shorthand: true, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'padding-bottom': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'padding' + ], + defaultValue: '0', + oppositeTo: 'padding-top', + propertyOptimizer: propertyOptimizers.padding, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'padding-left': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'padding' + ], + defaultValue: '0', + oppositeTo: 'padding-right', + propertyOptimizer: propertyOptimizers.padding, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'padding-right': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'padding' + ], + defaultValue: '0', + oppositeTo: 'padding-left', + propertyOptimizer: propertyOptimizers.padding, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'padding-top': { + canOverride: canOverride.generic.unit, + componentOf: [ + 'padding' + ], + defaultValue: '0', + oppositeTo: 'padding-bottom', + propertyOptimizer: propertyOptimizers.padding, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + position: { + canOverride: canOverride.property.position, + defaultValue: 'static' + }, + right: { + canOverride: canOverride.property.right, + defaultValue: 'auto', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'row-gap': { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + src: { + valueOptimizers: [ + valueOptimizers.urlWhiteSpace, + valueOptimizers.urlPrefix, + valueOptimizers.urlQuotes + ] + }, + 'stroke-width': { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'text-align': { + canOverride: canOverride.property.textAlign, + // NOTE: we can't tell the real default value here, as it depends on default text direction + // this is a hack, but it doesn't matter because this value will be either overridden or + // it will disappear anyway + defaultValue: 'left|right' + }, + 'text-decoration': { + canOverride: canOverride.property.textDecoration, + defaultValue: 'none' + }, + 'text-indent': { + canOverride: canOverride.property.textOverflow, + defaultValue: 'none', + valueOptimizers: [ + valueOptimizers.fraction, + valueOptimizers.zero + ] + }, + 'text-overflow': { + canOverride: canOverride.property.textOverflow, + defaultValue: 'none' + }, + 'text-shadow': { + canOverride: canOverride.property.textShadow, + defaultValue: 'none', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.zero, + valueOptimizers.color + ] + }, + top: { + canOverride: canOverride.property.top, + defaultValue: 'auto', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + transform: { + canOverride: canOverride.property.transform, + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.degrees, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ], + vendorPrefixes: [ + '-moz-', + '-ms-', + '-o-', + '-webkit-' + ] + }, + transition: { + breakUp: breakUp.multiplex(breakUp.transition), + canOverride: canOverride.generic.components([ + canOverride.property.transitionProperty, + canOverride.generic.time, + canOverride.generic.timingFunction, + canOverride.generic.time + ]), + components: [ + 'transition-property', + 'transition-duration', + 'transition-timing-function', + 'transition-delay' + ], + defaultValue: 'none', + restore: restore.multiplex(restore.withoutDefaults), + shorthand: true, + valueOptimizers: [ + valueOptimizers.time, + valueOptimizers.fraction + ], + vendorPrefixes: [ + '-moz-', + '-ms-', + '-o-', + '-webkit-' + ] + }, + 'transition-delay': { + canOverride: canOverride.generic.time, + componentOf: [ + 'transition' + ], + defaultValue: '0s', + intoMultiplexMode: 'real', + valueOptimizers: [ + valueOptimizers.time + ], + vendorPrefixes: [ + '-moz-', + '-ms-', + '-o-', + '-webkit-' + ] + }, + 'transition-duration': { + canOverride: canOverride.generic.time, + componentOf: [ + 'transition' + ], + defaultValue: '0s', + intoMultiplexMode: 'real', + keepUnlessDefault: 'transition-delay', + valueOptimizers: [ + valueOptimizers.time, + valueOptimizers.fraction + ], + vendorPrefixes: [ + '-moz-', + '-ms-', + '-o-', + '-webkit-' + ] + }, + 'transition-property': { + canOverride: canOverride.generic.propertyName, + componentOf: [ + 'transition' + ], + defaultValue: 'all', + intoMultiplexMode: 'placeholder', + placeholderValue: '_', // it's a short value that won't match any property and still be a valid `transition-property` + vendorPrefixes: [ + '-moz-', + '-ms-', + '-o-', + '-webkit-' + ] + }, + 'transition-timing-function': { + canOverride: canOverride.generic.timingFunction, + componentOf: [ + 'transition' + ], + defaultValue: 'ease', + intoMultiplexMode: 'real', + vendorPrefixes: [ + '-moz-', + '-ms-', + '-o-', + '-webkit-' + ] + }, + 'vertical-align': { + canOverride: canOverride.property.verticalAlign, + defaultValue: 'baseline', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + visibility: { + canOverride: canOverride.property.visibility, + defaultValue: 'visible' + }, + '-webkit-tap-highlight-color': { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.color + ] + }, + '-webkit-margin-end': { + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'white-space': { + canOverride: canOverride.property.whiteSpace, + defaultValue: 'normal' + }, + width: { + canOverride: canOverride.generic.unit, + defaultValue: 'auto', + shortestValue: '0', + valueOptimizers: [ + valueOptimizers.whiteSpace, + valueOptimizers.fraction, + valueOptimizers.precision, + valueOptimizers.unit, + valueOptimizers.zero + ] + }, + 'z-index': { + canOverride: canOverride.property.zIndex, + defaultValue: 'auto' + } +}; + +// generate vendor-prefixed configuration +var vendorPrefixedConfiguration = {}; + +function cloneDescriptor(propertyName, prefix) { + var clonedDescriptor = override(configuration[propertyName], {}); + + if ('componentOf' in clonedDescriptor) { + clonedDescriptor.componentOf = clonedDescriptor.componentOf.map(function(shorthandName) { + return prefix + shorthandName; + }); + } + + if ('components' in clonedDescriptor) { + clonedDescriptor.components = clonedDescriptor.components.map(function(longhandName) { + return prefix + longhandName; + }); + } + + if ('keepUnlessDefault' in clonedDescriptor) { + clonedDescriptor.keepUnlessDefault = prefix + clonedDescriptor.keepUnlessDefault; + } + + return clonedDescriptor; +} + +for (var propertyName in configuration) { + var descriptor = configuration[propertyName]; + + if (!('vendorPrefixes' in descriptor)) { + continue; + } + + for (var i = 0; i < descriptor.vendorPrefixes.length; i++) { + var prefix = descriptor.vendorPrefixes[i]; + var clonedDescriptor = cloneDescriptor(propertyName, prefix); + delete clonedDescriptor.vendorPrefixes; + + vendorPrefixedConfiguration[prefix + propertyName] = clonedDescriptor; + } + + delete descriptor.vendorPrefixes; +} + +module.exports = override(configuration, vendorPrefixedConfiguration); + + +/***/ }, + +/***/ 26542 +(module, __unused_webpack_exports, __webpack_require__) { + +var InvalidPropertyError = __webpack_require__(70314); + +var wrapSingle = (__webpack_require__(48597).single); + +var Token = __webpack_require__(50107); +var Marker = __webpack_require__(9894); + +var formatPosition = __webpack_require__(54471); + +function _anyIsInherit(values) { + var i, l; + + for (i = 0, l = values.length; i < l; i++) { + if (values[i][1] == 'inherit') { + return true; + } + } + + return false; +} + +function _colorFilter(validator) { + return function(value) { + return value[1] == 'invert' || validator.isColor(value[1]) || validator.isPrefixed(value[1]); + }; +} + +function _styleFilter(validator) { + return function(value) { + return value[1] != 'inherit' && validator.isStyleKeyword(value[1]) && !validator.isColorFunction(value[1]); + }; +} + +function _wrapDefault(name, property, configuration) { + var descriptor = configuration[name]; + if (descriptor.doubleValues && descriptor.defaultValue.length == 2) { + return wrapSingle([ + Token.PROPERTY, + [Token.PROPERTY_NAME, name], + [Token.PROPERTY_VALUE, descriptor.defaultValue[0]], + [Token.PROPERTY_VALUE, descriptor.defaultValue[1]] + ]); + } if (descriptor.doubleValues && descriptor.defaultValue.length == 1) { + return wrapSingle([ + Token.PROPERTY, + [Token.PROPERTY_NAME, name], + [Token.PROPERTY_VALUE, descriptor.defaultValue[0]] + ]); + } + return wrapSingle([ + Token.PROPERTY, + [Token.PROPERTY_NAME, name], + [Token.PROPERTY_VALUE, descriptor.defaultValue] + ]); +} + +function _widthFilter(validator) { + return function(value) { + return value[1] != 'inherit' + && (validator.isWidth(value[1]) || validator.isUnit(value[1]) || validator.isDynamicUnit(value[1])) + && !validator.isStyleKeyword(value[1]) + && !validator.isColorFunction(value[1]); + }; +} + +function animation(property, configuration, validator) { + var duration = _wrapDefault(property.name + '-duration', property, configuration); + var timing = _wrapDefault(property.name + '-timing-function', property, configuration); + var delay = _wrapDefault(property.name + '-delay', property, configuration); + var iteration = _wrapDefault(property.name + '-iteration-count', property, configuration); + var direction = _wrapDefault(property.name + '-direction', property, configuration); + var fill = _wrapDefault(property.name + '-fill-mode', property, configuration); + var play = _wrapDefault(property.name + '-play-state', property, configuration); + var name = _wrapDefault(property.name + '-name', property, configuration); + var components = [duration, timing, delay, iteration, direction, fill, play, name]; + var values = property.value; + var value; + var durationSet = false; + var timingSet = false; + var delaySet = false; + var iterationSet = false; + var directionSet = false; + var fillSet = false; + var playSet = false; + var nameSet = false; + var i; + var l; + + if (property.value.length == 1 && property.value[0][1] == 'inherit') { + // eslint-disable-next-line max-len + duration.value = timing.value = delay.value = iteration.value = direction.value = fill.value = play.value = name.value = property.value; + return components; + } + + if (values.length > 1 && _anyIsInherit(values)) { + throw new InvalidPropertyError('Invalid animation values at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + for (i = 0, l = values.length; i < l; i++) { + value = values[i]; + + if (validator.isTime(value[1]) && !durationSet) { + duration.value = [value]; + durationSet = true; + } else if (validator.isTime(value[1]) && !delaySet) { + delay.value = [value]; + delaySet = true; + } else if ((validator.isGlobal(value[1]) || validator.isTimingFunction(value[1])) && !timingSet) { + timing.value = [value]; + timingSet = true; + } else if ((validator.isAnimationIterationCountKeyword(value[1]) + || validator.isPositiveNumber(value[1])) + && !iterationSet) { + iteration.value = [value]; + iterationSet = true; + } else if (validator.isAnimationDirectionKeyword(value[1]) && !directionSet) { + direction.value = [value]; + directionSet = true; + } else if (validator.isAnimationFillModeKeyword(value[1]) && !fillSet) { + fill.value = [value]; + fillSet = true; + } else if (validator.isAnimationPlayStateKeyword(value[1]) && !playSet) { + play.value = [value]; + playSet = true; + } else if ((validator.isAnimationNameKeyword(value[1]) || validator.isIdentifier(value[1])) && !nameSet) { + name.value = [value]; + nameSet = true; + } else { + throw new InvalidPropertyError('Invalid animation value at ' + formatPosition(value[2][0]) + '. Ignoring.'); + } + } + + return components; +} + +function background(property, configuration, validator) { + var image = _wrapDefault('background-image', property, configuration); + var position = _wrapDefault('background-position', property, configuration); + var size = _wrapDefault('background-size', property, configuration); + var repeat = _wrapDefault('background-repeat', property, configuration); + var attachment = _wrapDefault('background-attachment', property, configuration); + var origin = _wrapDefault('background-origin', property, configuration); + var clip = _wrapDefault('background-clip', property, configuration); + var color = _wrapDefault('background-color', property, configuration); + var components = [image, position, size, repeat, attachment, origin, clip, color]; + var values = property.value; + + var positionSet = false; + var clipSet = false; + var originSet = false; + var repeatSet = false; + + var anyValueSet = false; + + if (property.value.length == 1 && property.value[0][1] == 'inherit') { + // NOTE: 'inherit' is not a valid value for background-attachment + color.value = image.value = repeat.value = position.value = size.value = origin.value = clip.value = property.value; + return components; + } + + if (property.value.length == 1 && property.value[0][1] == '0 0') { + return components; + } + + for (var i = values.length - 1; i >= 0; i--) { + var value = values[i]; + + if (validator.isBackgroundAttachmentKeyword(value[1])) { + attachment.value = [value]; + anyValueSet = true; + } else if (validator.isBackgroundClipKeyword(value[1]) || validator.isBackgroundOriginKeyword(value[1])) { + if (clipSet) { + origin.value = [value]; + originSet = true; + } else { + clip.value = [value]; + clipSet = true; + } + anyValueSet = true; + } else if (validator.isBackgroundRepeatKeyword(value[1])) { + if (repeatSet) { + repeat.value.unshift(value); + } else { + repeat.value = [value]; + repeatSet = true; + } + anyValueSet = true; + } else if (validator.isBackgroundPositionKeyword(value[1]) + || validator.isBackgroundSizeKeyword(value[1]) + || validator.isUnit(value[1]) + || validator.isDynamicUnit(value[1])) { + if (i > 0) { + var previousValue = values[i - 1]; + + if (previousValue[1] == Marker.FORWARD_SLASH) { + size.value = [value]; + } else if (i > 1 && values[i - 2][1] == Marker.FORWARD_SLASH) { + size.value = [previousValue, value]; + i -= 2; + } else { + if (!positionSet) { position.value = []; } + + position.value.unshift(value); + positionSet = true; + } + } else { + if (!positionSet) { position.value = []; } + + position.value.unshift(value); + positionSet = true; + } + anyValueSet = true; + } else if ((color.value[0][1] == configuration[color.name].defaultValue || color.value[0][1] == 'none') && (validator.isColor(value[1]) || validator.isPrefixed(value[1]))) { + color.value = [value]; + anyValueSet = true; + } else if (validator.isUrl(value[1]) || validator.isFunction(value[1])) { + image.value = [value]; + anyValueSet = true; + } + } + + if (clipSet && !originSet) { origin.value = clip.value.slice(0); } + + if (!anyValueSet) { + throw new InvalidPropertyError('Invalid background value at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + return components; +} + +function borderRadius(property, configuration) { + var values = property.value; + var splitAt = -1; + + for (var i = 0, l = values.length; i < l; i++) { + if (values[i][1] == Marker.FORWARD_SLASH) { + splitAt = i; + break; + } + } + + if (splitAt === 0 || splitAt === values.length - 1) { + throw new InvalidPropertyError('Invalid border-radius value at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + var target = _wrapDefault(property.name, property, configuration); + target.value = splitAt > -1 + ? values.slice(0, splitAt) + : values.slice(0); + target.components = fourValues(target, configuration); + + var remainder = _wrapDefault(property.name, property, configuration); + remainder.value = splitAt > -1 + ? values.slice(splitAt + 1) + : values.slice(0); + remainder.components = fourValues(remainder, configuration); + + for (var j = 0; j < 4; j++) { + target.components[j].multiplex = true; + target.components[j].value = target.components[j].value.concat(remainder.components[j].value); + } + + return target.components; +} + +function font(property, configuration, validator) { + var style = _wrapDefault('font-style', property, configuration); + var variant = _wrapDefault('font-variant', property, configuration); + var weight = _wrapDefault('font-weight', property, configuration); + var stretch = _wrapDefault('font-stretch', property, configuration); + var size = _wrapDefault('font-size', property, configuration); + var height = _wrapDefault('line-height', property, configuration); + var family = _wrapDefault('font-family', property, configuration); + var components = [style, variant, weight, stretch, size, height, family]; + var values = property.value; + var fuzzyMatched = 4; // style, variant, weight, and stretch + var index = 0; + var isStretchSet = false; + var isStretchValid; + var isStyleSet = false; + var isStyleValid; + var isVariantSet = false; + var isVariantValid; + var isWeightSet = false; + var isWeightValid; + var appendableFamilyName = false; + + if (!values[index]) { + throw new InvalidPropertyError('Missing font values at ' + formatPosition(property.all[property.position][1][2][0]) + '. Ignoring.'); + } + + if (values.length == 1 && values[0][1] == 'inherit') { + style.value = variant.value = weight.value = stretch.value = size.value = height.value = family.value = values; + return components; + } + + if (values.length == 1 + && (validator.isFontKeyword(values[0][1]) + || validator.isGlobal(values[0][1]) + || validator.isPrefixed(values[0][1])) + ) { + values[0][1] = Marker.INTERNAL + values[0][1]; + style.value = variant.value = weight.value = stretch.value = size.value = height.value = family.value = values; + return components; + } + + if (values.length < 2 || !_anyIsFontSize(values, validator) || !_anyIsFontFamily(values, validator)) { + throw new InvalidPropertyError('Invalid font values at ' + formatPosition(property.all[property.position][1][2][0]) + '. Ignoring.'); + } + + if (values.length > 1 && _anyIsInherit(values)) { + throw new InvalidPropertyError('Invalid font values at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + // fuzzy match style, variant, weight, and stretch on first elements + while (index < fuzzyMatched) { + isStretchValid = validator.isFontStretchKeyword(values[index][1]) || validator.isGlobal(values[index][1]); + isStyleValid = validator.isFontStyleKeyword(values[index][1]) || validator.isGlobal(values[index][1]); + isVariantValid = validator.isFontVariantKeyword(values[index][1]) || validator.isGlobal(values[index][1]); + isWeightValid = validator.isFontWeightKeyword(values[index][1]) || validator.isGlobal(values[index][1]); + + if (isStyleValid && !isStyleSet) { + style.value = [values[index]]; + isStyleSet = true; + } else if (isVariantValid && !isVariantSet) { + variant.value = [values[index]]; + isVariantSet = true; + } else if (isWeightValid && !isWeightSet) { + weight.value = [values[index]]; + isWeightSet = true; + } else if (isStretchValid && !isStretchSet) { + stretch.value = [values[index]]; + isStretchSet = true; + } else if (isStyleValid + && isStyleSet + || isVariantValid + && isVariantSet + || isWeightValid + && isWeightSet + || isStretchValid + && isStretchSet) { + throw new InvalidPropertyError('Invalid font style / variant / weight / stretch value at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } else { + break; + } + + index++; + } + + // now comes font-size ... + if (validator.isFontSizeKeyword(values[index][1]) + || validator.isUnit(values[index][1]) + && !validator.isDynamicUnit(values[index][1])) { + size.value = [values[index]]; + index++; + } else { + throw new InvalidPropertyError('Missing font size at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + if (!values[index]) { + throw new InvalidPropertyError('Missing font family at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + // ... and perhaps line-height + if (values[index] + && values[index][1] == Marker.FORWARD_SLASH + && values[index + 1] + && (validator.isLineHeightKeyword(values[index + 1][1]) + || validator.isUnit(values[index + 1][1]) + || validator.isNumber(values[index + 1][1]))) { + height.value = [values[index + 1]]; + index++; + index++; + } + + // ... and whatever comes next is font-family + family.value = []; + + while (values[index]) { + if (values[index][1] == Marker.COMMA) { + appendableFamilyName = false; + } else { + if (appendableFamilyName) { + family.value[family.value.length - 1][1] += Marker.SPACE + values[index][1]; + } else { + family.value.push(values[index]); + } + + appendableFamilyName = true; + } + + index++; + } + + if (family.value.length === 0) { + throw new InvalidPropertyError('Missing font family at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + return components; +} + +function _anyIsFontSize(values, validator) { + var value; + var i, l; + + for (i = 0, l = values.length; i < l; i++) { + value = values[i]; + + if (validator.isFontSizeKeyword(value[1]) + || validator.isUnit(value[1]) + && !validator.isDynamicUnit(value[1]) + || validator.isFunction(value[1])) { + return true; + } + } + + return false; +} + +function _anyIsFontFamily(values, validator) { + var value; + var i, l; + + for (i = 0, l = values.length; i < l; i++) { + value = values[i]; + + if (validator.isIdentifier(value[1]) || validator.isQuotedText(value[1])) { + return true; + } + } + + return false; +} + +function fourValues(property, configuration) { + var componentNames = configuration[property.name].components; + var components = []; + var value = property.value; + + if (value.length < 1) { return []; } + + if (value.length < 2) { value[1] = value[0].slice(0); } + if (value.length < 3) { value[2] = value[0].slice(0); } + if (value.length < 4) { value[3] = value[1].slice(0); } + + for (var i = componentNames.length - 1; i >= 0; i--) { + var component = wrapSingle([ + Token.PROPERTY, + [Token.PROPERTY_NAME, componentNames[i]] + ]); + component.value = [value[i]]; + components.unshift(component); + } + + return components; +} + +function multiplex(splitWith) { + return function(property, configuration, validator) { + var splitsAt = []; + var values = property.value; + var i, j, l, m; + + // find split commas + for (i = 0, l = values.length; i < l; i++) { + if (values[i][1] == ',') { splitsAt.push(i); } + } + + if (splitsAt.length === 0) { return splitWith(property, configuration, validator); } + + var splitComponents = []; + + // split over commas, and into components + for (i = 0, l = splitsAt.length; i <= l; i++) { + var from = i === 0 ? 0 : splitsAt[i - 1] + 1; + var to = i < l ? splitsAt[i] : values.length; + + var _property = _wrapDefault(property.name, property, configuration); + _property.value = values.slice(from, to); + + if (_property.value.length > 0) { + splitComponents.push(splitWith(_property, configuration, validator)); + } + } + + var components = splitComponents[0]; + + // group component values from each split + for (i = 0, l = components.length; i < l; i++) { + components[i].multiplex = true; + + for (j = 1, m = splitComponents.length; j < m; j++) { + components[i].value.push([Token.PROPERTY_VALUE, Marker.COMMA]); + Array.prototype.push.apply(components[i].value, splitComponents[j][i].value); + } + } + + return components; + }; +} + +function listStyle(property, configuration, validator) { + var type = _wrapDefault('list-style-type', property, configuration); + var position = _wrapDefault('list-style-position', property, configuration); + var image = _wrapDefault('list-style-image', property, configuration); + var components = [type, position, image]; + + if (property.value.length == 1 && property.value[0][1] == 'inherit') { + type.value = position.value = image.value = [property.value[0]]; + return components; + } + + var values = property.value.slice(0); + var total = values.length; + var index = 0; + + // `image` first... + for (index = 0, total = values.length; index < total; index++) { + if (validator.isUrl(values[index][1]) || values[index][1] == '0') { + image.value = [values[index]]; + values.splice(index, 1); + break; + } + } + + // ... then `position` + for (index = 0, total = values.length; index < total; index++) { + if (validator.isListStylePositionKeyword(values[index][1])) { + position.value = [values[index]]; + values.splice(index, 1); + break; + } + } + + // ... and what's left is a `type` + if (values.length > 0 && (validator.isListStyleTypeKeyword(values[0][1]) || validator.isIdentifier(values[0][1]))) { + type.value = [values[0]]; + } + + return components; +} + +function transition(property, configuration, validator) { + var prop = _wrapDefault(property.name + '-property', property, configuration); + var duration = _wrapDefault(property.name + '-duration', property, configuration); + var timing = _wrapDefault(property.name + '-timing-function', property, configuration); + var delay = _wrapDefault(property.name + '-delay', property, configuration); + var components = [prop, duration, timing, delay]; + var values = property.value; + var value; + var durationSet = false; + var delaySet = false; + var propSet = false; + var timingSet = false; + var i; + var l; + + if (property.value.length == 1 && property.value[0][1] == 'inherit') { + prop.value = duration.value = timing.value = delay.value = property.value; + return components; + } + + if (values.length > 1 && _anyIsInherit(values)) { + throw new InvalidPropertyError('Invalid animation values at ' + formatPosition(values[0][2][0]) + '. Ignoring.'); + } + + for (i = 0, l = values.length; i < l; i++) { + value = values[i]; + + if (validator.isTime(value[1]) && !durationSet) { + duration.value = [value]; + durationSet = true; + } else if (validator.isTime(value[1]) && !delaySet) { + delay.value = [value]; + delaySet = true; + } else if ((validator.isGlobal(value[1]) || validator.isTimingFunction(value[1])) && !timingSet) { + timing.value = [value]; + timingSet = true; + } else if (validator.isIdentifier(value[1]) && !propSet) { + prop.value = [value]; + propSet = true; + } else { + throw new InvalidPropertyError('Invalid animation value at ' + formatPosition(value[2][0]) + '. Ignoring.'); + } + } + + return components; +} + +function widthStyleColor(property, configuration, validator) { + var descriptor = configuration[property.name]; + var components = [ + _wrapDefault(descriptor.components[0], property, configuration), + _wrapDefault(descriptor.components[1], property, configuration), + _wrapDefault(descriptor.components[2], property, configuration) + ]; + var color, style, width; + + for (var i = 0; i < 3; i++) { + var component = components[i]; + + if (component.name.indexOf('color') > 0) { color = component; } else if (component.name.indexOf('style') > 0) { style = component; } else { width = component; } + } + + if ((property.value.length == 1 && property.value[0][1] == 'inherit') + || (property.value.length == 3 && property.value[0][1] == 'inherit' && property.value[1][1] == 'inherit' && property.value[2][1] == 'inherit')) { + color.value = style.value = width.value = [property.value[0]]; + return components; + } + + var values = property.value.slice(0); + var match, matches; + + // NOTE: usually users don't follow the required order of parts in this shorthand, + // so we'll try to parse it caring as little about order as possible + + if (values.length > 0) { + matches = values.filter(_widthFilter(validator)); + match = matches.length > 1 && (matches[0][1] == 'none' || matches[0][1] == 'auto') ? matches[1] : matches[0]; + if (match) { + width.value = [match]; + values.splice(values.indexOf(match), 1); + } + } + + if (values.length > 0) { + match = values.filter(_styleFilter(validator))[0]; + if (match) { + style.value = [match]; + values.splice(values.indexOf(match), 1); + } + } + + if (values.length > 0) { + match = values.filter(_colorFilter(validator))[0]; + if (match) { + color.value = [match]; + values.splice(values.indexOf(match), 1); + } + } + + return components; +} + +module.exports = { + animation: animation, + background: background, + border: widthStyleColor, + borderRadius: borderRadius, + font: font, + fourValues: fourValues, + listStyle: listStyle, + multiplex: multiplex, + outline: widthStyleColor, + transition: transition +}; + + +/***/ }, + +/***/ 36080 +(module, __unused_webpack_exports, __webpack_require__) { + +var understandable = __webpack_require__(68589); + +function animationIterationCount(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isAnimationIterationCountKeyword(value2) || validator.isPositiveNumber(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isAnimationIterationCountKeyword(value2) || validator.isPositiveNumber(value2); +} + +function animationName(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isAnimationNameKeyword(value2) || validator.isIdentifier(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isAnimationNameKeyword(value2) || validator.isIdentifier(value2); +} + +function areSameFunction(validator, value1, value2) { + if (!validator.isFunction(value1) || !validator.isFunction(value2)) { + return false; + } + + var function1Name = value1.substring(0, value1.indexOf('(')); + var function2Name = value2.substring(0, value2.indexOf('(')); + + var function1Value = value1.substring(function1Name.length + 1, value1.length - 1); + var function2Value = value2.substring(function2Name.length + 1, value2.length - 1); + + if (validator.isFunction(function1Value) || validator.isFunction(function2Value)) { + return function1Name === function2Name && areSameFunction(validator, function1Value, function2Value); + } + return function1Name === function2Name; +} + +function backgroundPosition(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isBackgroundPositionKeyword(value2) || validator.isGlobal(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } if (validator.isBackgroundPositionKeyword(value2) || validator.isGlobal(value2)) { + return true; + } + + return unit(validator, value1, value2); +} + +function backgroundSize(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isBackgroundSizeKeyword(value2) || validator.isGlobal(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } if (validator.isBackgroundSizeKeyword(value2) || validator.isGlobal(value2)) { + return true; + } + + return unit(validator, value1, value2); +} + +function color(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) && !validator.isColor(value2)) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } if (!validator.colorOpacity && (validator.isRgbColor(value1) || validator.isHslColor(value1))) { + return false; + } if (!validator.colorOpacity && (validator.isRgbColor(value2) || validator.isHslColor(value2))) { + return false; + } if (!validator.colorHexAlpha && (validator.isHexAlphaColor(value1) || validator.isHexAlphaColor(value2))) { + return false; + } if (validator.isColor(value1) && validator.isColor(value2)) { + return true; + } + + return sameFunctionOrValue(validator, value1, value2); +} + +function components(overrideCheckers) { + return function(validator, value1, value2, position) { + return overrideCheckers[position](validator, value1, value2); + }; +} + +function fontFamily(validator, value1, value2) { + return understandable(validator, value1, value2, 0, true); +} + +function image(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) && !validator.isImage(value2)) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } if (validator.isImage(value2)) { + return true; + } if (validator.isImage(value1)) { + return false; + } + + return sameFunctionOrValue(validator, value1, value2); +} + +function keyword(propertyName) { + return function(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) && !validator.isKeyword(propertyName)(value2)) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isKeyword(propertyName)(value2); + }; +} + +function keywordWithGlobal(propertyName) { + return function(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isKeyword(propertyName)(value2) || validator.isGlobal(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isKeyword(propertyName)(value2) || validator.isGlobal(value2); + }; +} + +function propertyName(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) && !validator.isIdentifier(value2)) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isIdentifier(value2); +} + +function sameFunctionOrValue(validator, value1, value2) { + return areSameFunction(validator, value1, value2) + ? true + : value1 === value2; +} + +function textShadow(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isUnit(value2) + || validator.isColor(value2) + || validator.isGlobal(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isUnit(value2) || validator.isColor(value2) || validator.isGlobal(value2); +} + +function time(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) && !validator.isTime(value2)) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } if (validator.isTime(value1) && !validator.isTime(value2)) { + return false; + } if (validator.isTime(value2)) { + return true; + } if (validator.isTime(value1)) { + return false; + } if (validator.isFunction(value1) + && !validator.isPrefixed(value1) + && validator.isFunction(value2) + && !validator.isPrefixed(value2)) { + return true; + } + + return sameFunctionOrValue(validator, value1, value2); +} + +function timingFunction(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isTimingFunction(value2) || validator.isGlobal(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isTimingFunction(value2) || validator.isGlobal(value2); +} + +function unit(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) && !validator.isUnit(value2)) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } if (validator.isUnit(value1) && !validator.isUnit(value2)) { + return false; + } if (validator.isUnit(value2)) { + return true; + } if (validator.isUnit(value1)) { + return false; + } if (validator.isFunction(value1) + && !validator.isPrefixed(value1) + && validator.isFunction(value2) + && !validator.isPrefixed(value2)) { + return true; + } + + return sameFunctionOrValue(validator, value1, value2); +} + +function unitOrKeywordWithGlobal(propertyName) { + var byKeyword = keywordWithGlobal(propertyName); + + return function(validator, value1, value2) { + return unit(validator, value1, value2) || byKeyword(validator, value1, value2); + }; +} + +function unitOrNumber(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) + && !(validator.isUnit(value2) + || validator.isNumber(value2))) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } if ((validator.isUnit(value1) + || validator.isNumber(value1)) + && !(validator.isUnit(value2) + || validator.isNumber(value2))) { + return false; + } if (validator.isUnit(value2) || validator.isNumber(value2)) { + return true; + } if (validator.isUnit(value1) || validator.isNumber(value1)) { + return false; + } if (validator.isFunction(value1) + && !validator.isPrefixed(value1) + && validator.isFunction(value2) + && !validator.isPrefixed(value2)) { + return true; + } + + return sameFunctionOrValue(validator, value1, value2); +} + +function zIndex(validator, value1, value2) { + if (!understandable(validator, value1, value2, 0, true) && !validator.isZIndex(value2)) { + return false; + } if (validator.isVariable(value1) && validator.isVariable(value2)) { + return true; + } + + return validator.isZIndex(value2); +} + +module.exports = { + generic: { + color: color, + components: components, + image: image, + propertyName: propertyName, + time: time, + timingFunction: timingFunction, + unit: unit, + unitOrNumber: unitOrNumber + }, + property: { + animationDirection: keywordWithGlobal('animation-direction'), + animationFillMode: keyword('animation-fill-mode'), + animationIterationCount: animationIterationCount, + animationName: animationName, + animationPlayState: keywordWithGlobal('animation-play-state'), + backgroundAttachment: keyword('background-attachment'), + backgroundClip: keywordWithGlobal('background-clip'), + backgroundOrigin: keyword('background-origin'), + backgroundPosition: backgroundPosition, + backgroundRepeat: keyword('background-repeat'), + backgroundSize: backgroundSize, + bottom: unitOrKeywordWithGlobal('bottom'), + borderCollapse: keyword('border-collapse'), + borderStyle: keywordWithGlobal('*-style'), + clear: keywordWithGlobal('clear'), + cursor: keywordWithGlobal('cursor'), + display: keywordWithGlobal('display'), + float: keywordWithGlobal('float'), + left: unitOrKeywordWithGlobal('left'), + fontFamily: fontFamily, + fontStretch: keywordWithGlobal('font-stretch'), + fontStyle: keywordWithGlobal('font-style'), + fontVariant: keywordWithGlobal('font-variant'), + fontWeight: keywordWithGlobal('font-weight'), + listStyleType: keywordWithGlobal('list-style-type'), + listStylePosition: keywordWithGlobal('list-style-position'), + outlineStyle: keywordWithGlobal('*-style'), + overflow: keywordWithGlobal('overflow'), + position: keywordWithGlobal('position'), + right: unitOrKeywordWithGlobal('right'), + textAlign: keywordWithGlobal('text-align'), + textDecoration: keywordWithGlobal('text-decoration'), + textOverflow: keywordWithGlobal('text-overflow'), + textShadow: textShadow, + top: unitOrKeywordWithGlobal('top'), + transform: sameFunctionOrValue, + verticalAlign: unitOrKeywordWithGlobal('vertical-align'), + visibility: keywordWithGlobal('visibility'), + whiteSpace: keywordWithGlobal('white-space'), + zIndex: zIndex + } +}; + + +/***/ }, + +/***/ 68589 +(module, __unused_webpack_exports, __webpack_require__) { + +var sameVendorPrefixes = (__webpack_require__(99573).same); + +function understandable(validator, value1, value2, _position, isPaired) { + if (!sameVendorPrefixes(value1, value2)) { + return false; + } + + if (isPaired && validator.isVariable(value1) !== validator.isVariable(value2)) { + return false; + } + + return true; +} + +module.exports = understandable; + + +/***/ }, + +/***/ 90587 +(module, __unused_webpack_exports, __webpack_require__) { + +var shallowClone = (__webpack_require__(81625).shallow); + +var Token = __webpack_require__(50107); +var Marker = __webpack_require__(9894); + +function isInheritOnly(values) { + for (var i = 0, l = values.length; i < l; i++) { + var value = values[i][1]; + + if (value != 'inherit' && value != Marker.COMMA && value != Marker.FORWARD_SLASH) { return false; } + } + + return true; +} + +function background(property, configuration, lastInMultiplex) { + var components = property.components; + var restored = []; + var needsOne, needsBoth; + + function restoreValue(component) { + Array.prototype.unshift.apply(restored, component.value); + } + + function isDefaultValue(component) { + var descriptor = configuration[component.name]; + + if (descriptor.doubleValues && descriptor.defaultValue.length == 1) { + return component.value[0][1] == descriptor.defaultValue[0] + && (component.value[1] + ? component.value[1][1] == descriptor.defaultValue[0] + : true); + } if (descriptor.doubleValues && descriptor.defaultValue.length != 1) { + return component.value[0][1] == descriptor.defaultValue[0] + && ((component.value[1] ? component.value[1][1] : component.value[0][1]) + == descriptor.defaultValue[1]); + } + return component.value[0][1] == descriptor.defaultValue; + } + + for (var i = components.length - 1; i >= 0; i--) { + var component = components[i]; + var isDefault = isDefaultValue(component); + + if (component.name == 'background-clip') { + var originComponent = components[i - 1]; + var isOriginDefault = isDefaultValue(originComponent); + + needsOne = component.value[0][1] == originComponent.value[0][1]; + + needsBoth = !needsOne && ( + (isOriginDefault && !isDefault) + || (!isOriginDefault && !isDefault) + || (!isOriginDefault && isDefault && component.value[0][1] != originComponent.value[0][1])); + + if (needsOne) { + restoreValue(originComponent); + } else if (needsBoth) { + restoreValue(component); + restoreValue(originComponent); + } + + i--; + } else if (component.name == 'background-size') { + var positionComponent = components[i - 1]; + var isPositionDefault = isDefaultValue(positionComponent); + + needsOne = !isPositionDefault && isDefault; + + needsBoth = !needsOne + && (isPositionDefault && !isDefault || !isPositionDefault && !isDefault); + + if (needsOne) { + restoreValue(positionComponent); + } else if (needsBoth) { + restoreValue(component); + restored.unshift([Token.PROPERTY_VALUE, Marker.FORWARD_SLASH]); + restoreValue(positionComponent); + } else if (positionComponent.value.length == 1) { + restoreValue(positionComponent); + } + + i--; + } else { + if (isDefault || configuration[component.name].multiplexLastOnly && !lastInMultiplex) { continue; } + + restoreValue(component); + } + } + + if (restored.length === 0 && property.value.length == 1 && property.value[0][1] == '0') { restored.push(property.value[0]); } + + if (restored.length === 0) { restored.push([Token.PROPERTY_VALUE, configuration[property.name].defaultValue]); } + + if (isInheritOnly(restored)) { return [restored[0]]; } + + return restored; +} + +function borderRadius(property) { + if (property.multiplex) { + var horizontal = shallowClone(property); + var vertical = shallowClone(property); + + for (var i = 0; i < 4; i++) { + var component = property.components[i]; + + var horizontalComponent = shallowClone(property); + horizontalComponent.value = [component.value[0]]; + horizontal.components.push(horizontalComponent); + + var verticalComponent = shallowClone(property); + // FIXME: only shorthand compactor (see breakup#borderRadius) knows that border radius + // longhands have two values, whereas tokenizer does not care about populating 2nd value + // if it's missing, hence this fallback + verticalComponent.value = [component.value[1] || component.value[0]]; + vertical.components.push(verticalComponent); + } + + var horizontalValues = fourValues(horizontal); + var verticalValues = fourValues(vertical); + + if (horizontalValues.length == verticalValues.length + && horizontalValues[0][1] == verticalValues[0][1] + && (horizontalValues.length > 1 ? horizontalValues[1][1] == verticalValues[1][1] : true) + && (horizontalValues.length > 2 ? horizontalValues[2][1] == verticalValues[2][1] : true) + && (horizontalValues.length > 3 ? horizontalValues[3][1] == verticalValues[3][1] : true)) { + return horizontalValues; + } + return horizontalValues.concat([[Token.PROPERTY_VALUE, Marker.FORWARD_SLASH]]).concat(verticalValues); + } + return fourValues(property); +} + +function font(property, configuration) { + var components = property.components; + var restored = []; + var component; + var componentIndex = 0; + var fontFamilyIndex = 0; + + if (property.value[0][1].indexOf(Marker.INTERNAL) === 0) { + property.value[0][1] = property.value[0][1].substring(Marker.INTERNAL.length); + return property.value; + } + + // first four components are optional + while (componentIndex < 4) { + component = components[componentIndex]; + + if (component.value[0][1] != configuration[component.name].defaultValue) { + Array.prototype.push.apply(restored, component.value); + } + + componentIndex++; + } + + // then comes font-size + Array.prototype.push.apply(restored, components[componentIndex].value); + componentIndex++; + + // then may come line-height + if (components[componentIndex].value[0][1] != configuration[components[componentIndex].name].defaultValue) { + Array.prototype.push.apply(restored, [[Token.PROPERTY_VALUE, Marker.FORWARD_SLASH]]); + Array.prototype.push.apply(restored, components[componentIndex].value); + } + + componentIndex++; + + // then comes font-family + while (components[componentIndex].value[fontFamilyIndex]) { + restored.push(components[componentIndex].value[fontFamilyIndex]); + + if (components[componentIndex].value[fontFamilyIndex + 1]) { + restored.push([Token.PROPERTY_VALUE, Marker.COMMA]); + } + + fontFamilyIndex++; + } + + if (isInheritOnly(restored)) { + return [restored[0]]; + } + + return restored; +} + +function fourValues(property) { + var components = property.components; + var value1 = components[0].value[0]; + var value2 = components[1].value[0]; + var value3 = components[2].value[0]; + var value4 = components[3].value[0]; + + if (value1[1] == value2[1] && value1[1] == value3[1] && value1[1] == value4[1]) { + return [value1]; + } if (value1[1] == value3[1] && value2[1] == value4[1]) { + return [value1, value2]; + } if (value2[1] == value4[1]) { + return [value1, value2, value3]; + } + return [value1, value2, value3, value4]; +} + +function multiplex(restoreWith) { + return function(property, configuration) { + if (!property.multiplex) { return restoreWith(property, configuration, true); } + + var multiplexSize = 0; + var restored = []; + var componentMultiplexSoFar = {}; + var i, l; + + // At this point we don't know what's the multiplex size, e.g. how many background layers are there + for (i = 0, l = property.components[0].value.length; i < l; i++) { + if (property.components[0].value[i][1] == Marker.COMMA) { multiplexSize++; } + } + + for (i = 0; i <= multiplexSize; i++) { + var _property = shallowClone(property); + + // We split multiplex into parts and restore them one by one + for (var j = 0, m = property.components.length; j < m; j++) { + var componentToClone = property.components[j]; + var _component = shallowClone(componentToClone); + _property.components.push(_component); + + // The trick is some properties has more than one value, so we iterate over values looking for + // a multiplex separator - a comma + for (var k = componentMultiplexSoFar[_component.name] || 0, n = componentToClone.value.length; k < n; k++) { + if (componentToClone.value[k][1] == Marker.COMMA) { + componentMultiplexSoFar[_component.name] = k + 1; + break; + } + + _component.value.push(componentToClone.value[k]); + } + } + + // No we can restore shorthand value + var lastInMultiplex = i == multiplexSize; + var _restored = restoreWith(_property, configuration, lastInMultiplex); + Array.prototype.push.apply(restored, _restored); + + if (i < multiplexSize) { restored.push([Token.PROPERTY_VALUE, Marker.COMMA]); } + } + + return restored; + }; +} + +function withoutDefaults(property, configuration) { + var components = property.components; + var restored = []; + + for (var i = components.length - 1; i >= 0; i--) { + var component = components[i]; + var descriptor = configuration[component.name]; + + if (component.value[0][1] != descriptor.defaultValue || ('keepUnlessDefault' in descriptor) && !isDefault(components, configuration, descriptor.keepUnlessDefault)) { + restored.unshift(component.value[0]); + } + } + + if (restored.length === 0) { restored.push([Token.PROPERTY_VALUE, configuration[property.name].defaultValue]); } + + if (isInheritOnly(restored)) { return [restored[0]]; } + + return restored; +} + +function isDefault(components, configuration, propertyName) { + var component; + var i, l; + + for (i = 0, l = components.length; i < l; i++) { + component = components[i]; + + if (component.name == propertyName && component.value[0][1] == configuration[propertyName].defaultValue) { + return true; + } + } + + return false; +} + +module.exports = { + background: background, + borderRadius: borderRadius, + font: font, + fourValues: fourValues, + multiplex: multiplex, + withoutDefaults: withoutDefaults +}; + + +/***/ }, + +/***/ 41195 +(module) { + +var Hack = { + ASTERISK: 'asterisk', + BANG: 'bang', + BACKSLASH: 'backslash', + UNDERSCORE: 'underscore' +}; + +module.exports = Hack; + + +/***/ }, + +/***/ 70314 +(module) { + +function InvalidPropertyError(message) { + this.name = 'InvalidPropertyError'; + this.message = message; + this.stack = (new Error()).stack; +} + +InvalidPropertyError.prototype = Object.create(Error.prototype); +InvalidPropertyError.prototype.constructor = InvalidPropertyError; + +module.exports = InvalidPropertyError; + + +/***/ }, + +/***/ 77925 +(module) { + +function level0Optimize(tokens) { + // noop as level 0 means no optimizations! + return tokens; +} + +module.exports = level0Optimize; + + +/***/ }, + +/***/ 78764 +(module, __unused_webpack_exports, __webpack_require__) { + +var sortSelectors = __webpack_require__(96264); +var tidyRules = __webpack_require__(34769); +var tidyBlock = __webpack_require__(4903); +var tidyAtRule = __webpack_require__(35432); + +var Hack = __webpack_require__(41195); +var removeUnused = __webpack_require__(11561); +var restoreFromOptimizing = __webpack_require__(44424); +var wrapForOptimizing = (__webpack_require__(48597).all); + +var configuration = __webpack_require__(89142); +var optimizers = __webpack_require__(63431); + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var Token = __webpack_require__(50107); +var Marker = __webpack_require__(9894); + +var formatPosition = __webpack_require__(54471); + +var serializeRules = (__webpack_require__(76698).rules); + +var CHARSET_TOKEN = '@charset'; +var CHARSET_REGEXP = new RegExp('^' + CHARSET_TOKEN, 'i'); + +var DEFAULT_ROUNDING_PRECISION = (__webpack_require__(90916).DEFAULT); + +var VARIABLE_PROPERTY_NAME_PATTERN = /^--\S+$/; +var PROPERTY_NAME_PATTERN = /^(?:-chrome-|-[\w-]+\w|\w[\w-]+\w|\w{1,})$/; +var IMPORT_PREFIX_PATTERN = /^@import/i; +var URL_PREFIX_PATTERN = /^url\(/i; + +function startsAsUrl(value) { + return URL_PREFIX_PATTERN.test(value); +} + +function isImport(token) { + return IMPORT_PREFIX_PATTERN.test(token[1]); +} + +function isLegacyFilter(property) { + var value; + + if (property.name == 'filter' || property.name == '-ms-filter') { + value = property.value[0][1]; + + return value.indexOf('progid') > -1 + || value.indexOf('alpha') === 0 + || value.indexOf('chroma') === 0; + } + return false; +} + +function noop() {} + +function noopValueOptimizer(_name, value, _options) { return value; } + +function optimizeBody(rule, properties, context) { + var options = context.options; + var valueOptimizers; + var property, name, type, value; + var propertyToken; + var propertyOptimizer; + var serializedRule = serializeRules(rule); + var _properties = wrapForOptimizing(properties); + var pluginValueOptimizers = context.options.plugins.level1Value; + var pluginPropertyOptimizers = context.options.plugins.level1Property; + var isVariable; + var i, l; + + for (i = 0, l = _properties.length; i < l; i++) { + var j, k, m, n; + + property = _properties[i]; + name = property.name; + propertyOptimizer = configuration[name] && configuration[name].propertyOptimizer || noop; + valueOptimizers = configuration[name] && configuration[name].valueOptimizers || [optimizers.whiteSpace]; + isVariable = VARIABLE_PROPERTY_NAME_PATTERN.test(name); + + if (isVariable) { + valueOptimizers = options.variableOptimizers.length > 0 + ? options.variableOptimizers + : [optimizers.whiteSpace]; + } + + if (!isVariable && !PROPERTY_NAME_PATTERN.test(name)) { + propertyToken = property.all[property.position]; + context.warnings.push('Invalid property name \'' + name + '\' at ' + formatPosition(propertyToken[1][2][0]) + '. Ignoring.'); + property.unused = true; + continue; + } + + if (property.value.length === 0) { + propertyToken = property.all[property.position]; + context.warnings.push('Empty property \'' + name + '\' at ' + formatPosition(propertyToken[1][2][0]) + '. Ignoring.'); + property.unused = true; + continue; + } + + if (property.hack && ( + (property.hack[0] == Hack.ASTERISK || property.hack[0] == Hack.UNDERSCORE) + && !options.compatibility.properties.iePrefixHack + || property.hack[0] == Hack.BACKSLASH && !options.compatibility.properties.ieSuffixHack + || property.hack[0] == Hack.BANG && !options.compatibility.properties.ieBangHack)) { + property.unused = true; + continue; + } + + if (!options.compatibility.properties.ieFilters && isLegacyFilter(property)) { + property.unused = true; + continue; + } + + if (property.block) { + optimizeBody(rule, property.value[0][1], context); + continue; + } + + for (j = 0, m = property.value.length; j < m; j++) { + type = property.value[j][0]; + value = property.value[j][1]; + + if (type == Token.PROPERTY_BLOCK) { + property.unused = true; + context.warnings.push('Invalid value token at ' + formatPosition(value[0][1][2][0]) + '. Ignoring.'); + break; + } + + if (startsAsUrl(value) && !context.validator.isUrl(value)) { + property.unused = true; + context.warnings.push('Broken URL \'' + value + '\' at ' + formatPosition(property.value[j][2][0]) + '. Ignoring.'); + break; + } + + for (k = 0, n = valueOptimizers.length; k < n; k++) { + value = valueOptimizers[k](name, value, options); + } + + for (k = 0, n = pluginValueOptimizers.length; k < n; k++) { + value = pluginValueOptimizers[k](name, value, options); + } + + property.value[j][1] = value; + } + + propertyOptimizer(serializedRule, property, options); + + for (j = 0, m = pluginPropertyOptimizers.length; j < m; j++) { + pluginPropertyOptimizers[j](serializedRule, property, options); + } + } + + restoreFromOptimizing(_properties); + removeUnused(_properties); + removeComments(properties, options); +} + +function removeComments(tokens, options) { + var token; + var i; + + for (i = 0; i < tokens.length; i++) { + token = tokens[i]; + + if (token[0] != Token.COMMENT) { + continue; + } + + optimizeComment(token, options); + + if (token[1].length === 0) { + tokens.splice(i, 1); + i--; + } + } +} + +function optimizeComment(token, options) { + if (token[1][2] == Marker.EXCLAMATION && (options.level[OptimizationLevel.One].specialComments == 'all' || options.commentsKept < options.level[OptimizationLevel.One].specialComments)) { + options.commentsKept++; + return; + } + + token[1] = []; +} + +function cleanupCharsets(tokens) { + var hasCharset = false; + + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + + if (token[0] != Token.AT_RULE) { continue; } + + if (!CHARSET_REGEXP.test(token[1])) { continue; } + + if (hasCharset || token[1].indexOf(CHARSET_TOKEN) == -1) { + tokens.splice(i, 1); + i--; + l--; + } else { + hasCharset = true; + tokens.splice(i, 1); + tokens.unshift([Token.AT_RULE, token[1].replace(CHARSET_REGEXP, CHARSET_TOKEN)]); + } + } +} + +function buildUnitRegexp(options) { + var units = ['px', 'em', 'ex', 'cm', 'mm', 'in', 'pt', 'pc', '%']; + var otherUnits = ['ch', 'rem', 'vh', 'vm', 'vmax', 'vmin', 'vw']; + + otherUnits.forEach(function(unit) { + if (options.compatibility.units[unit]) { + units.push(unit); + } + }); + + return new RegExp('(^|\\s|\\(|,)0(?:' + units.join('|') + ')(\\W|$)', 'g'); +} + +function buildPrecisionOptions(roundingPrecision) { + var precisionOptions = { + matcher: null, + units: {} + }; + var optimizable = []; + var unit; + var value; + + for (unit in roundingPrecision) { + value = roundingPrecision[unit]; + + if (value != DEFAULT_ROUNDING_PRECISION) { + precisionOptions.units[unit] = {}; + precisionOptions.units[unit].value = value; + precisionOptions.units[unit].multiplier = 10 ** value; + + optimizable.push(unit); + } + } + + if (optimizable.length > 0) { + precisionOptions.enabled = true; + precisionOptions.decimalPointMatcher = new RegExp('(\\d)\\.($|' + optimizable.join('|') + ')($|\\W)', 'g'); + precisionOptions.zeroMatcher = new RegExp('(\\d*)(\\.\\d+)(' + optimizable.join('|') + ')', 'g'); + } + + return precisionOptions; +} + +function buildVariableOptimizers(options) { + return options.level[OptimizationLevel.One].variableValueOptimizers.map(function(optimizer) { + if (typeof (optimizer) == 'string') { + return optimizers[optimizer] || noopValueOptimizer; + } + + return optimizer; + }); +} + +function level1Optimize(tokens, context) { + var options = context.options; + var levelOptions = options.level[OptimizationLevel.One]; + var ie7Hack = options.compatibility.selectors.ie7Hack; + var adjacentSpace = options.compatibility.selectors.adjacentSpace; + var spaceAfterClosingBrace = options.compatibility.properties.spaceAfterClosingBrace; + var format = options.format; + var mayHaveCharset = false; + var afterRules = false; + + options.unitsRegexp = options.unitsRegexp || buildUnitRegexp(options); + options.precision = options.precision || buildPrecisionOptions(levelOptions.roundingPrecision); + options.commentsKept = options.commentsKept || 0; + options.variableOptimizers = options.variableOptimizers || buildVariableOptimizers(options); + + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + + switch (token[0]) { + case Token.AT_RULE: + token[1] = isImport(token) && afterRules ? '' : token[1]; + token[1] = levelOptions.tidyAtRules ? tidyAtRule(token[1]) : token[1]; + mayHaveCharset = true; + break; + case Token.AT_RULE_BLOCK: + optimizeBody(token[1], token[2], context); + afterRules = true; + break; + case Token.NESTED_BLOCK: + token[1] = levelOptions.tidyBlockScopes ? tidyBlock(token[1], spaceAfterClosingBrace) : token[1]; + level1Optimize(token[2], context); + afterRules = true; + break; + case Token.COMMENT: + optimizeComment(token, options); + break; + case Token.RULE: + token[1] = levelOptions.tidySelectors + ? tidyRules(token[1], !ie7Hack, adjacentSpace, format, context.warnings) + : token[1]; + token[1] = token[1].length > 1 ? sortSelectors(token[1], levelOptions.selectorsSortingMethod) : token[1]; + optimizeBody(token[1], token[2], context); + afterRules = true; + break; + } + + if (token[0] == Token.COMMENT + && token[1].length === 0 + || levelOptions.removeEmpty + && (token[1].length === 0 || (token[2] && token[2].length === 0))) { + tokens.splice(i, 1); + i--; + l--; + } + } + + if (levelOptions.cleanupCharsets && mayHaveCharset) { + cleanupCharsets(tokens); + } + + return tokens; +} + +module.exports = level1Optimize; + + +/***/ }, + +/***/ 44303 +(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = { + background: (__webpack_require__(48062).level1).property, + boxShadow: (__webpack_require__(72418).level1).property, + borderRadius: (__webpack_require__(26659).level1).property, + filter: (__webpack_require__(53916).level1).property, + fontWeight: (__webpack_require__(43456).level1).property, + margin: (__webpack_require__(94640).level1).property, + outline: (__webpack_require__(83854).level1).property, + padding: (__webpack_require__(37745).level1).property +}; + + +/***/ }, + +/***/ 48062 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var plugin = { + level1: { + property: function background(_rule, property, options) { + var values = property.value; + + if (!options.level[OptimizationLevel.One].optimizeBackground) { + return; + } + + if (values.length == 1 && values[0][1] == 'none') { + values[0][1] = '0 0'; + } + + if (values.length == 1 && values[0][1] == 'transparent') { + values[0][1] = '0 0'; + } + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 26659 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var plugin = { + level1: { + property: function borderRadius(_rule, property, options) { + var values = property.value; + + if (!options.level[OptimizationLevel.One].optimizeBorderRadius) { + return; + } + + if (values.length == 3 && values[1][1] == '/' && values[0][1] == values[2][1]) { + property.value.splice(1); + property.dirty = true; + } else if (values.length == 5 && values[2][1] == '/' && values[0][1] == values[3][1] && values[1][1] == values[4][1]) { + property.value.splice(2); + property.dirty = true; + } else if (values.length == 7 && values[3][1] == '/' && values[0][1] == values[4][1] && values[1][1] == values[5][1] && values[2][1] == values[6][1]) { + property.value.splice(3); + property.dirty = true; + } else if (values.length == 9 && values[4][1] == '/' && values[0][1] == values[5][1] && values[1][1] == values[6][1] && values[2][1] == values[7][1] && values[3][1] == values[8][1]) { + property.value.splice(4); + property.dirty = true; + } + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 72418 +(module) { + +var plugin = { + level1: { + property: function boxShadow(_rule, property) { + var values = property.value; + + // remove multiple zeros + if (values.length == 4 && values[0][1] === '0' && values[1][1] === '0' && values[2][1] === '0' && values[3][1] === '0') { + property.value.splice(2); + property.dirty = true; + } + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 53916 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var ALPHA_OR_CHROMA_FILTER_PATTERN = /progid:DXImageTransform\.Microsoft\.(Alpha|Chroma)(\W)/; +var NO_SPACE_AFTER_COMMA_PATTERN = /,(\S)/g; +var WHITESPACE_AROUND_EQUALS_PATTERN = / ?= ?/g; + +var plugin = { + level1: { + property: function filter(_rule, property, options) { + if (!options.compatibility.properties.ieFilters) { + return; + } + + if (!options.level[OptimizationLevel.One].optimizeFilter) { + return; + } + + if (property.value.length == 1) { + property.value[0][1] = property.value[0][1].replace( + ALPHA_OR_CHROMA_FILTER_PATTERN, + function(match, filter, suffix) { + return filter.toLowerCase() + suffix; + } + ); + } + + property.value[0][1] = property.value[0][1] + .replace(NO_SPACE_AFTER_COMMA_PATTERN, ', $1') + .replace(WHITESPACE_AROUND_EQUALS_PATTERN, '='); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 43456 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var plugin = { + level1: { + property: function fontWeight(_rule, property, options) { + var value = property.value[0][1]; + + if (!options.level[OptimizationLevel.One].optimizeFontWeight) { + return; + } + + if (value == 'normal') { + value = '400'; + } else if (value == 'bold') { + value = '700'; + } + + property.value[0][1] = value; + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 94640 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var plugin = { + level1: { + property: function margin(_rule, property, options) { + var values = property.value; + + if (!options.level[OptimizationLevel.One].replaceMultipleZeros) { + return; + } + + // remove multiple zeros + if (values.length == 4 && values[0][1] === '0' && values[1][1] === '0' && values[2][1] === '0' && values[3][1] === '0') { + property.value.splice(1); + property.dirty = true; + } + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 83854 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var plugin = { + level1: { + property: function outline(_rule, property, options) { + var values = property.value; + + if (!options.level[OptimizationLevel.One].optimizeOutline) { + return; + } + + if (values.length == 1 && values[0][1] == 'none') { + values[0][1] = '0'; + } + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 37745 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +function isNegative(value) { + return value && value[1][0] == '-' && parseFloat(value[1]) < 0; +} + +var plugin = { + level1: { + property: function padding(_rule, property, options) { + var values = property.value; + + // remove multiple zeros + if (values.length == 4 && values[0][1] === '0' && values[1][1] === '0' && values[2][1] === '0' && values[3][1] === '0') { + property.value.splice(1); + property.dirty = true; + } + + // remove negative paddings + if (options.level[OptimizationLevel.One].removeNegativePaddings + && ( + isNegative(property.value[0]) + || isNegative(property.value[1]) + || isNegative(property.value[2]) + || isNegative(property.value[3]) + )) { + property.unused = true; + } + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 96264 +(module, __unused_webpack_exports, __webpack_require__) { + +var naturalCompare = __webpack_require__(58785); + +function naturalSorter(scope1, scope2) { + return naturalCompare(scope1[1], scope2[1]); +} + +function standardSorter(scope1, scope2) { + return scope1[1] > scope2[1] ? 1 : -1; +} + +function sortSelectors(selectors, method) { + switch (method) { + case 'natural': + return selectors.sort(naturalSorter); + case 'standard': + return selectors.sort(standardSorter); + case 'none': + case false: + return selectors; + } +} + +module.exports = sortSelectors; + + +/***/ }, + +/***/ 35432 +(module) { + +function tidyAtRule(value) { + return value + .replace(/\s+/g, ' ') + .replace(/url\(\s+/g, 'url(') + .replace(/\s+\)/g, ')') + .trim(); +} + +module.exports = tidyAtRule; + + +/***/ }, + +/***/ 4903 +(module) { + +var SUPPORTED_COMPACT_BLOCK_MATCHER = /^@media\W/; +var SUPPORTED_QUOTE_REMOVAL_MATCHER = /^@(?:keyframes|-moz-keyframes|-o-keyframes|-webkit-keyframes)\W/; + +function tidyBlock(values, spaceAfterClosingBrace) { + var withoutSpaceAfterClosingBrace; + var withoutQuotes; + var i; + + for (i = values.length - 1; i >= 0; i--) { + withoutSpaceAfterClosingBrace = !spaceAfterClosingBrace && SUPPORTED_COMPACT_BLOCK_MATCHER.test(values[i][1]); + withoutQuotes = SUPPORTED_QUOTE_REMOVAL_MATCHER.test(values[i][1]); + + values[i][1] = values[i][1] + .replace(/\n|\r\n/g, ' ') + .replace(/\s+/g, ' ') + .replace(/(,|:|\() /g, '$1') + .replace(/ \)/g, ')'); + + if (withoutQuotes) { + values[i][1] = values[i][1] + .replace(/'([a-zA-Z][a-zA-Z\d\-_]+)'/, '$1') + .replace(/"([a-zA-Z][a-zA-Z\d\-_]+)"/, '$1'); + } + + if (withoutSpaceAfterClosingBrace) { + values[i][1] = values[i][1] + .replace(/\) /g, ')'); + } + } + + return values; +} + +module.exports = tidyBlock; + + +/***/ }, + +/***/ 34769 +(module, __unused_webpack_exports, __webpack_require__) { + +var Spaces = (__webpack_require__(462).Spaces); +var Marker = __webpack_require__(9894); +var formatPosition = __webpack_require__(54471); + +var CASE_ATTRIBUTE_PATTERN = /[\s"'][iI]\s*\]/; +var CASE_RESTORE_PATTERN = /([\d\w])([iI])\]/g; +var DOUBLE_QUOTE_CASE_PATTERN = /="([a-zA-Z][a-zA-Z\d\-_]+)"([iI])/g; +var DOUBLE_QUOTE_PATTERN = /="([a-zA-Z][a-zA-Z\d\-_]+)"(\s|\])/g; +var HTML_COMMENT_PATTERN = /^(?:(?:)\s*)+/; +var SINGLE_QUOTE_CASE_PATTERN = /='([a-zA-Z][a-zA-Z\d\-_]+)'([iI])/g; +var SINGLE_QUOTE_PATTERN = /='([a-zA-Z][a-zA-Z\d\-_]+)'(\s|\])/g; +var RELATION_PATTERN = /[>+~]/; +var WHITESPACE_PATTERN = /\s/; + +var ASTERISK_PLUS_HTML_HACK = '*+html '; +var ASTERISK_FIRST_CHILD_PLUS_HTML_HACK = '*:first-child+html '; +var LESS_THAN = '<'; + +var PSEUDO_CLASSES_WITH_SELECTORS = [ + ':current', + ':future', + ':has', + ':host', + ':host-context', + ':is', + ':not', + ':past', + ':where' +]; + +function hasInvalidCharacters(value) { + var isEscaped; + var isInvalid = false; + var character; + var isQuote = false; + var i, l; + + for (i = 0, l = value.length; i < l; i++) { + character = value[i]; + + if (isEscaped) { + // continue as always + } else if (character == Marker.SINGLE_QUOTE || character == Marker.DOUBLE_QUOTE) { + isQuote = !isQuote; + } else if (!isQuote + && (character == Marker.CLOSE_CURLY_BRACKET + || character == Marker.EXCLAMATION + || character == LESS_THAN + || character == Marker.SEMICOLON) + ) { + isInvalid = true; + break; + } else if (!isQuote && i === 0 && RELATION_PATTERN.test(character)) { + isInvalid = true; + break; + } + + isEscaped = character == Marker.BACK_SLASH; + } + + return isInvalid; +} + +function removeWhitespace(value, format) { + var stripped = []; + var character; + var isNewLineNix; + var isNewLineWin; + var isEscaped; + var wasEscaped; + var isQuoted; + var isSingleQuoted; + var isDoubleQuoted; + var isAttribute; + var isRelation; + var isWhitespace; + var isSpaceAwarePseudoClass; + var roundBracketLevel = 0; + var wasComma = false; + var wasRelation = false; + var wasWhitespace = false; + var withCaseAttribute = CASE_ATTRIBUTE_PATTERN.test(value); + var spaceAroundRelation = format && format.spaces[Spaces.AroundSelectorRelation]; + var i, l; + + for (i = 0, l = value.length; i < l; i++) { + character = value[i]; + + isNewLineNix = character == Marker.NEW_LINE_NIX; + isNewLineWin = character == Marker.NEW_LINE_NIX && value[i - 1] == Marker.CARRIAGE_RETURN; + isQuoted = isSingleQuoted || isDoubleQuoted; + isRelation = !isAttribute && !isEscaped && roundBracketLevel === 0 && RELATION_PATTERN.test(character); + isWhitespace = WHITESPACE_PATTERN.test(character); + isSpaceAwarePseudoClass = roundBracketLevel == 1 && character == Marker.CLOSE_ROUND_BRACKET + ? false + : isSpaceAwarePseudoClass + || (roundBracketLevel === 0 && character == Marker.COLON && isPseudoClassWithSelectors(value, i)); + + if (wasEscaped && isQuoted && isNewLineWin) { + // swallow escaped new windows lines in comments + stripped.pop(); + stripped.pop(); + } else if (isEscaped && isQuoted && isNewLineNix) { + // swallow escaped new *nix lines in comments + stripped.pop(); + } else if (isEscaped) { + stripped.push(character); + } else if (character == Marker.OPEN_SQUARE_BRACKET && !isQuoted) { + stripped.push(character); + isAttribute = true; + } else if (character == Marker.CLOSE_SQUARE_BRACKET && !isQuoted) { + stripped.push(character); + isAttribute = false; + } else if (character == Marker.OPEN_ROUND_BRACKET && !isQuoted) { + stripped.push(character); + roundBracketLevel++; + } else if (character == Marker.CLOSE_ROUND_BRACKET && !isQuoted) { + stripped.push(character); + roundBracketLevel--; + } else if (character == Marker.SINGLE_QUOTE && !isQuoted) { + stripped.push(character); + isSingleQuoted = true; + } else if (character == Marker.DOUBLE_QUOTE && !isQuoted) { + stripped.push(character); + isDoubleQuoted = true; + } else if (character == Marker.SINGLE_QUOTE && isQuoted) { + stripped.push(character); + isSingleQuoted = false; + } else if (character == Marker.DOUBLE_QUOTE && isQuoted) { + stripped.push(character); + isDoubleQuoted = false; + } else if (isWhitespace && wasRelation && !spaceAroundRelation) { + continue; + } else if (!isWhitespace && wasRelation && spaceAroundRelation) { + stripped.push(Marker.SPACE); + stripped.push(character); + } else if (isWhitespace && !wasWhitespace && wasComma && roundBracketLevel > 0 && isSpaceAwarePseudoClass) { + // skip space + } else if (isWhitespace && !wasWhitespace && roundBracketLevel > 0 && isSpaceAwarePseudoClass) { + stripped.push(character); + } else if (isWhitespace && (isAttribute || roundBracketLevel > 0) && !isQuoted) { + // skip space + } else if (isWhitespace && wasWhitespace && !isQuoted) { + // skip extra space + } else if ((isNewLineWin || isNewLineNix) && (isAttribute || roundBracketLevel > 0) && isQuoted) { + // skip newline + } else if (isRelation && wasWhitespace && !spaceAroundRelation) { + stripped.pop(); + stripped.push(character); + } else if (isRelation && !wasWhitespace && spaceAroundRelation) { + stripped.push(Marker.SPACE); + stripped.push(character); + } else if (isWhitespace) { + stripped.push(Marker.SPACE); + } else { + stripped.push(character); + } + + wasEscaped = isEscaped; + isEscaped = character == Marker.BACK_SLASH; + wasRelation = isRelation; + wasWhitespace = isWhitespace; + wasComma = character == Marker.COMMA; + } + + return withCaseAttribute + ? stripped.join('').replace(CASE_RESTORE_PATTERN, '$1 $2]') + : stripped.join(''); +} + +function isPseudoClassWithSelectors(value, colonPosition) { + var pseudoClass = value.substring(colonPosition, value.indexOf(Marker.OPEN_ROUND_BRACKET, colonPosition)); + + return PSEUDO_CLASSES_WITH_SELECTORS.indexOf(pseudoClass) > -1; +} + +function removeQuotes(value) { + if (value.indexOf('\'') == -1 && value.indexOf('"') == -1) { + return value; + } + + return value + .replace(SINGLE_QUOTE_CASE_PATTERN, '=$1 $2') + .replace(SINGLE_QUOTE_PATTERN, '=$1$2') + .replace(DOUBLE_QUOTE_CASE_PATTERN, '=$1 $2') + .replace(DOUBLE_QUOTE_PATTERN, '=$1$2'); +} + +function replacePseudoClasses(value) { + return value + .replace('nth-child(1)', 'first-child') + .replace('nth-of-type(1)', 'first-of-type') + .replace('nth-of-type(even)', 'nth-of-type(2n)') + .replace('nth-child(even)', 'nth-child(2n)') + .replace('nth-of-type(2n+1)', 'nth-of-type(odd)') + .replace('nth-child(2n+1)', 'nth-child(odd)') + .replace('nth-last-child(1)', 'last-child') + .replace('nth-last-of-type(1)', 'last-of-type') + .replace('nth-last-of-type(even)', 'nth-last-of-type(2n)') + .replace('nth-last-child(even)', 'nth-last-child(2n)') + .replace('nth-last-of-type(2n+1)', 'nth-last-of-type(odd)') + .replace('nth-last-child(2n+1)', 'nth-last-child(odd)'); +} + +function tidyRules(rules, removeUnsupported, adjacentSpace, format, warnings) { + var list = []; + var repeated = []; + + function removeHTMLComment(rule, match) { + warnings.push('HTML comment \'' + match + '\' at ' + formatPosition(rule[2][0]) + '. Removing.'); + return ''; + } + + for (var i = 0, l = rules.length; i < l; i++) { + var rule = rules[i]; + var reduced = rule[1]; + + reduced = reduced.replace(HTML_COMMENT_PATTERN, removeHTMLComment.bind(null, rule)); + + if (hasInvalidCharacters(reduced)) { + warnings.push('Invalid selector \'' + rule[1] + '\' at ' + formatPosition(rule[2][0]) + '. Ignoring.'); + continue; + } + + reduced = removeWhitespace(reduced, format); + reduced = removeQuotes(reduced); + + if (adjacentSpace && reduced.indexOf('nav') > 0) { + reduced = reduced.replace(/\+nav(\S|$)/, '+ nav$1'); + } + + if (removeUnsupported && reduced.indexOf(ASTERISK_PLUS_HTML_HACK) > -1) { + continue; + } + + if (removeUnsupported && reduced.indexOf(ASTERISK_FIRST_CHILD_PLUS_HTML_HACK) > -1) { + continue; + } + + if (reduced.indexOf('*') > -1) { + reduced = reduced + .replace(/\*([:#.[])/g, '$1') + .replace(/^(:first-child)?\+html/, '*$1+html'); + } + + if (repeated.indexOf(reduced) > -1) { + continue; + } + + reduced = replacePseudoClasses(reduced); + + rule[1] = reduced; + repeated.push(reduced); + list.push(rule); + } + + if (list.length == 1 && list[0][1].length === 0) { + warnings.push('Empty selector \'' + list[0][1] + '\' at ' + formatPosition(list[0][2][0]) + '. Ignoring.'); + list = []; + } + + return list; +} + +module.exports = tidyRules; + + +/***/ }, + +/***/ 63431 +(module, __unused_webpack_exports, __webpack_require__) { + +module.exports = { + color: (__webpack_require__(8279).level1).value, + degrees: (__webpack_require__(11881).level1).value, + fraction: (__webpack_require__(82232).level1).value, + precision: (__webpack_require__(36372).level1).value, + textQuotes: (__webpack_require__(25015).level1).value, + time: (__webpack_require__(10643).level1).value, + unit: (__webpack_require__(668).level1).value, + urlPrefix: (__webpack_require__(19926).level1).value, + urlQuotes: (__webpack_require__(37847).level1).value, + urlWhiteSpace: (__webpack_require__(58691).level1).value, + whiteSpace: (__webpack_require__(3455).level1).value, + zero: (__webpack_require__(18360).level1).value +}; + + +/***/ }, + +/***/ 8279 +(module, __unused_webpack_exports, __webpack_require__) { + +var shortenHex = __webpack_require__(64373); +var shortenHsl = __webpack_require__(87815); +var shortenRgb = __webpack_require__(61467); + +var split = __webpack_require__(80994); + +var ANY_COLOR_FUNCTION_PATTERN = /(rgb|rgba|hsl|hsla)\(([^()]+)\)/gi; +var COLOR_PREFIX_PATTERN = /#|rgb|hsl/gi; +var HEX_LONG_PATTERN = /(^|[^='"])#([0-9a-f]{6})/gi; +var HEX_SHORT_PATTERN = /(^|[^='"])#([0-9a-f]{3})/gi; +var HEX_VALUE_PATTERN = /[0-9a-f]/i; +var HSL_PATTERN = /hsl\((-?\d+),(-?\d+)%?,(-?\d+)%?\)/gi; +var RGBA_HSLA_PATTERN = /(rgb|hsl)a?\((-?\d+),(-?\d+%?),(-?\d+%?),(0*[1-9]+[0-9]*(\.?\d*)?)\)/gi; +var RGB_PATTERN = /rgb\((-?\d+),(-?\d+),(-?\d+)\)/gi; +var TRANSPARENT_FUNCTION_PATTERN = /(?:rgba|hsla)\(0,0%?,0%?,0\)/g; + +var plugin = { + level1: { + value: function color(name, value, options) { + if (!options.compatibility.properties.colors) { + return value; + } + + if (!value.match(COLOR_PREFIX_PATTERN)) { + return shortenHex(value); + } + + value = value + .replace(RGBA_HSLA_PATTERN, function(match, colorFn, p1, p2, p3, alpha) { + return (parseInt(alpha) >= 1 ? colorFn + '(' + [p1, p2, p3].join(',') + ')' : match); + }) + .replace(RGB_PATTERN, function(match, red, green, blue) { + return shortenRgb(red, green, blue); + }) + .replace(HSL_PATTERN, function(match, hue, saturation, lightness) { + return shortenHsl(hue, saturation, lightness); + }) + .replace(HEX_LONG_PATTERN, function(match, prefix, color, at, inputValue) { + var suffix = inputValue[at + match.length]; + + if (suffix && HEX_VALUE_PATTERN.test(suffix)) { + return match; + } if (color[0] == color[1] && color[2] == color[3] && color[4] == color[5]) { + return (prefix + '#' + color[0] + color[2] + color[4]).toLowerCase(); + } + return (prefix + '#' + color).toLowerCase(); + }) + .replace(HEX_SHORT_PATTERN, function(match, prefix, color) { + return prefix + '#' + color.toLowerCase(); + }) + .replace(ANY_COLOR_FUNCTION_PATTERN, function(match, colorFunction, colorDef) { + var tokens = colorDef.split(','); + var colorFnLowercase = colorFunction && colorFunction.toLowerCase(); + var applies = (colorFnLowercase == 'hsl' && tokens.length == 3) + || (colorFnLowercase == 'hsla' && tokens.length == 4) + || (colorFnLowercase == 'rgb' && tokens.length === 3 && colorDef.indexOf('%') > 0) + || (colorFnLowercase == 'rgba' && tokens.length == 4 && tokens[0].indexOf('%') > 0); + + if (!applies) { + return match; + } + + if (tokens[1].indexOf('%') == -1) { + tokens[1] += '%'; + } + + if (tokens[2].indexOf('%') == -1) { + tokens[2] += '%'; + } + + return colorFunction + '(' + tokens.join(',') + ')'; + }); + + if (options.compatibility.colors.opacity && name.indexOf('background') == -1) { + value = value.replace(TRANSPARENT_FUNCTION_PATTERN, function(match) { + if (split(value, ',').pop().indexOf('gradient(') > -1) { + return match; + } + + return 'transparent'; + }); + } + + return shortenHex(value); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 64373 +(module) { + +var COLORS = { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#0ff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000', + blanchedalmond: '#ffebcd', + blue: '#00f', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyan: '#0ff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkgrey: '#a9a9a9', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkslategrey: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dimgrey: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#f0f', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + gold: '#ffd700', + goldenrod: '#daa520', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + grey: '#808080', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavender: '#e6e6fa', + lavenderblush: '#fff0f5', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgray: '#d3d3d3', + lightgreen: '#90ee90', + lightgrey: '#d3d3d3', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightslategrey: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#0f0', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370db', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#db7093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#663399', + red: '#f00', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + slategrey: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + steelblue: '#4682b4', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + tomato: '#ff6347', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#fff', + whitesmoke: '#f5f5f5', + yellow: '#ff0', + yellowgreen: '#9acd32' +}; + +var toHex = {}; +var toName = {}; + +for (var name in COLORS) { + var hex = COLORS[name]; + + if (name.length < hex.length) { + toName[hex] = name; + } else { + toHex[name] = hex; + } +} + +var toHexPattern = new RegExp('(^| |,|\\))(' + Object.keys(toHex).join('|') + ')( |,|\\)|$)', 'ig'); +var toNamePattern = new RegExp('(' + Object.keys(toName).join('|') + ')([^a-f0-9]|$)', 'ig'); + +function hexConverter(match, prefix, colorValue, suffix) { + return prefix + toHex[colorValue.toLowerCase()] + suffix; +} + +function nameConverter(match, colorValue, suffix) { + return toName[colorValue.toLowerCase()] + suffix; +} + +function shortenHex(value) { + var hasHex = value.indexOf('#') > -1; + var shortened = value.replace(toHexPattern, hexConverter); + + if (shortened != value) { + shortened = shortened.replace(toHexPattern, hexConverter); + } + + return hasHex + ? shortened.replace(toNamePattern, nameConverter) + : shortened; +} + +module.exports = shortenHex; + + +/***/ }, + +/***/ 87815 +(module) { + +// HSL to RGB converter. Both methods adapted from: +// http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript + +function hslToRgb(h, s, l) { + var r, g, b; + + // normalize hue orientation b/w 0 and 360 degrees + h %= 360; + if (h < 0) { h += 360; } + h = ~~h / 360; + + if (s < 0) { s = 0; } else if (s > 100) { s = 100; } + s = ~~s / 100; + + if (l < 0) { l = 0; } else if (l > 100) { l = 100; } + l = ~~l / 100; + + if (s === 0) { + r = g = b = l; // achromatic + } else { + var q = l < 0.5 + ? l * (1 + s) + : l + s - l * s; + var p = 2 * l - q; + r = hueToRgb(p, q, h + 1 / 3); + g = hueToRgb(p, q, h); + b = hueToRgb(p, q, h - 1 / 3); + } + + return [~~(r * 255), ~~(g * 255), ~~(b * 255)]; +} + +function hueToRgb(p, q, t) { + if (t < 0) { t += 1; } + if (t > 1) { t -= 1; } + if (t < 1 / 6) { return p + (q - p) * 6 * t; } + if (t < 1 / 2) { return q; } + if (t < 2 / 3) { return p + (q - p) * (2 / 3 - t) * 6; } + return p; +} + +function shortenHsl(hue, saturation, lightness) { + var asRgb = hslToRgb(hue, saturation, lightness); + var redAsHex = asRgb[0].toString(16); + var greenAsHex = asRgb[1].toString(16); + var blueAsHex = asRgb[2].toString(16); + + return '#' + + ((redAsHex.length == 1 ? '0' : '') + redAsHex) + + ((greenAsHex.length == 1 ? '0' : '') + greenAsHex) + + ((blueAsHex.length == 1 ? '0' : '') + blueAsHex); +} + +module.exports = shortenHsl; + + +/***/ }, + +/***/ 61467 +(module) { + +function shortenRgb(red, green, blue) { + var normalizedRed = Math.max(0, Math.min(parseInt(red), 255)); + var normalizedGreen = Math.max(0, Math.min(parseInt(green), 255)); + var normalizedBlue = Math.max(0, Math.min(parseInt(blue), 255)); + + // Credit: Asen http://jsbin.com/UPUmaGOc/2/edit?js,console + return '#' + ('00000' + (normalizedRed << 16 | normalizedGreen << 8 | normalizedBlue).toString(16)).slice(-6); +} + +module.exports = shortenRgb; + + +/***/ }, + +/***/ 11881 +(module) { + +var ZERO_DEG_PATTERN = /\(0deg\)/g; + +var plugin = { + level1: { + value: function degrees(_name, value, options) { + if (!options.compatibility.properties.zeroUnits) { + return value; + } + + if (value.indexOf('0deg') == -1) { + return value; + } + + return value.replace(ZERO_DEG_PATTERN, '(0)'); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 82232 +(module, __unused_webpack_exports, __webpack_require__) { + +var split = __webpack_require__(80994); +var startsAsUrl = __webpack_require__(13780); + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var EXPRESSION_PATTERN = /^expression\(.*\)$/; +var ANY_FUNCTION_PATTERN = /^(-(?:moz|ms|o|webkit)-[a-z-]+|[a-z-]+)\((.+)\)$/; +var TOKEN_SEPARATOR_PATTERN = /([\s,/])/; + +var DOT_ZERO_PATTERN = /(^|\D)\.0+(\D|$)/g; +var FRACTION_PATTERN = /\.([1-9]*)0+(\D|$)/g; +var LEADING_ZERO_FRACTION_PATTERN = /(^|\D)0\.(\d)/g; +var MINUS_ZERO_FRACTION_PATTERN = /([^\w\d-]|^)-0([^.]|$)/g; +var ZERO_PREFIXED_UNIT_PATTERN = /(^|\s)0+([1-9])/g; + +function optimizeRecursively(value) { + var functionTokens; + var tokens; + + if (startsAsUrl(value)) { + return value; + } + + if (EXPRESSION_PATTERN.test(value)) { + return value; + } + + functionTokens = ANY_FUNCTION_PATTERN.exec(value); + + if (!functionTokens) { + return optimizeFractions(value); + } + + tokens = split(functionTokens[2], TOKEN_SEPARATOR_PATTERN) + .map(function(token) { return optimizeRecursively(token); }); + + return functionTokens[1] + '(' + tokens.join('') + ')'; +} + +function optimizeFractions(value) { + if (value.indexOf('0') == -1) { + return value; + } + + if (value.indexOf('-') > -1) { + value = value + .replace(MINUS_ZERO_FRACTION_PATTERN, '$10$2') + .replace(MINUS_ZERO_FRACTION_PATTERN, '$10$2'); + } + + return value + .replace(ZERO_PREFIXED_UNIT_PATTERN, '$1$2') + .replace(DOT_ZERO_PATTERN, '$10$2') + .replace(FRACTION_PATTERN, function(match, nonZeroPart, suffix) { + return (nonZeroPart.length > 0 ? '.' : '') + nonZeroPart + suffix; + }) + .replace(LEADING_ZERO_FRACTION_PATTERN, '$1.$2'); +} + +var plugin = { + level1: { + value: function fraction(name, value, options) { + if (!options.level[OptimizationLevel.One].replaceZeroUnits) { + return value; + } + + return optimizeRecursively(value); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 36372 +(module) { + +var plugin = { + level1: { + value: function precision(_name, value, options) { + if (!options.precision.enabled || value.indexOf('.') === -1) { + return value; + } + + return value + .replace(options.precision.decimalPointMatcher, '$1$2$3') + .replace(options.precision.zeroMatcher, function(match, integerPart, fractionPart, unit) { + var multiplier = options.precision.units[unit].multiplier; + var parsedInteger = parseInt(integerPart); + var integer = Number.isNaN(parsedInteger) ? 0 : parsedInteger; + var fraction = parseFloat(fractionPart); + + return Math.round((integer + fraction) * multiplier) / multiplier + unit; + }); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 13780 +(module) { + +var URL_PREFIX_PATTERN = /^url\(/i; + +function startsAsUrl(value) { + return URL_PREFIX_PATTERN.test(value); +} + +module.exports = startsAsUrl; + + +/***/ }, + +/***/ 25015 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var LOCAL_PREFIX_PATTERN = /^local\(/i; +var QUOTED_PATTERN = /^('.*'|".*")$/; +var QUOTED_BUT_SAFE_PATTERN = /^['"][a-zA-Z][a-zA-Z\d\-_]+['"]$/; +// eslint-disable-next-line max-len +var GENERIC_FONT_FAMILY_PATTERN = /^['"](?:cursive|default|emoji|fangsong|fantasy|inherit|initial|math|monospace|revert|revert-layer|sans-serif|serif|system-ui|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|unset)['"]$/; + +var plugin = { + level1: { + value: function textQuotes(name, value, options) { + if ((name == 'font-family' || name == 'font') && GENERIC_FONT_FAMILY_PATTERN.test(value)) { + return value; + } + + if (!options.level[OptimizationLevel.One].removeQuotes) { + return value; + } + + if (!QUOTED_PATTERN.test(value) && !LOCAL_PREFIX_PATTERN.test(value)) { + return value; + } + + return QUOTED_BUT_SAFE_PATTERN.test(value) + ? value.substring(1, value.length - 1) + : value; + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 10643 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var TIME_VALUE = /^(-?[\d.]+)(m?s)$/; + +var plugin = { + level1: { + value: function time(name, value, options) { + if (!options.level[OptimizationLevel.One].replaceTimeUnits) { + return value; + } + + if (!TIME_VALUE.test(value)) { + return value; + } + + return value.replace(TIME_VALUE, function(match, val, unit) { + var newValue; + + if (unit == 'ms') { + newValue = parseInt(val) / 1000 + 's'; + } else if (unit == 's') { + newValue = parseFloat(val) * 1000 + 'ms'; + } + + return newValue.length < match.length ? newValue : match; + }); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 668 +(module) { + +var WHOLE_PIXEL_VALUE = /(?:^|\s|\()(-?\d+)px/; + +var plugin = { + level1: { + value: function unit(_name, value, options) { + if (!WHOLE_PIXEL_VALUE.test(value)) { + return value; + } + + return value.replace(WHOLE_PIXEL_VALUE, function(match, val) { + var newValue; + var intVal = parseInt(val); + + if (intVal === 0) { + return match; + } + + if (options.compatibility.properties.shorterLengthUnits + && options.compatibility.units.pt + && intVal * 3 % 4 === 0) { + newValue = intVal * 3 / 4 + 'pt'; + } + + if (options.compatibility.properties.shorterLengthUnits + && options.compatibility.units.pc + && intVal % 16 === 0) { + newValue = intVal / 16 + 'pc'; + } + + if (options.compatibility.properties.shorterLengthUnits + && options.compatibility.units.in + && intVal % 96 === 0) { + newValue = intVal / 96 + 'in'; + } + + if (newValue) { + newValue = match.substring(0, match.indexOf(val)) + newValue; + } + + return newValue && newValue.length < match.length ? newValue : match; + }); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 19926 +(module, __unused_webpack_exports, __webpack_require__) { + +var startsAsUrl = __webpack_require__(13780); + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var URL_PREFIX_PATTERN = /^url\(/i; + +var plugin = { + level1: { + value: function urlPrefix(_name, value, options) { + if (!options.level[OptimizationLevel.One].normalizeUrls) { + return value; + } + + if (!startsAsUrl(value)) { + return value; + } + + return value.replace(URL_PREFIX_PATTERN, 'url('); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 37847 +(module) { + +var QUOTED_URL_PATTERN = /^url\(['"].+['"]\)$/; +var QUOTED_URL_WITH_WHITESPACE_PATTERN = /^url\(['"].*[*\s()'"].*['"]\)$/; +var QUOTES_PATTERN = /["']/g; +var URL_DATA_PATTERN = /^url\(['"]data:[^;]+;charset/; + +var plugin = { + level1: { + value: function urlQuotes(_name, value, options) { + if (options.compatibility.properties.urlQuotes) { + return value; + } + + return QUOTED_URL_PATTERN.test(value) + && !QUOTED_URL_WITH_WHITESPACE_PATTERN.test(value) + && !URL_DATA_PATTERN.test(value) + ? value.replace(QUOTES_PATTERN, '') + : value; + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 58691 +(module, __unused_webpack_exports, __webpack_require__) { + +var startsAsUrl = __webpack_require__(13780); + +var WHITESPACE_PATTERN = /\\?\n|\\?\r\n/g; +var WHITESPACE_PREFIX_PATTERN = /(\()\s+/g; +var WHITESPACE_SUFFIX_PATTERN = /\s+(\))/g; + +var plugin = { + level1: { + value: function urlWhitespace(_name, value) { + if (!startsAsUrl(value)) { + return value; + } + + return value + .replace(WHITESPACE_PATTERN, '') + .replace(WHITESPACE_PREFIX_PATTERN, '$1') + .replace(WHITESPACE_SUFFIX_PATTERN, '$1'); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 3455 +(module, __unused_webpack_exports, __webpack_require__) { + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var Marker = __webpack_require__(9894); + +var CALC_DIVISION_WHITESPACE_PATTERN = /\) ?\/ ?/g; +var COMMA_AND_SPACE_PATTERN = /, /g; +var LINE_BREAK_PATTERN = /\r?\n/g; +var MULTI_WHITESPACE_PATTERN = /\s+/g; +var FUNCTION_CLOSING_BRACE_WHITESPACE_PATTERN = /\s+(;?\))/g; +var FUNCTION_OPENING_BRACE_WHITESPACE_PATTERN = /(\(;?)\s+/g; +var VARIABLE_NAME_PATTERN = /^--\S+$/; +var VARIABLE_VALUE_PATTERN = /^var\(\s*--\S+\s*\)$/; + +var plugin = { + level1: { + value: function whitespace(name, value, options) { + if (!options.level[OptimizationLevel.One].removeWhitespace) { + return value; + } + + if (VARIABLE_NAME_PATTERN.test(name) && !VARIABLE_VALUE_PATTERN.test(value)) { + return value; + } + + if ((value.indexOf(' ') == -1 && value.indexOf('\n') == -1) || value.indexOf('expression') === 0) { + return value; + } + + if (value.indexOf(Marker.SINGLE_QUOTE) > -1 || value.indexOf(Marker.DOUBLE_QUOTE) > -1) { + return value; + } + + value = value.replace(LINE_BREAK_PATTERN, ''); + value = value.replace(MULTI_WHITESPACE_PATTERN, ' '); + + if (value.indexOf('calc') > -1) { + value = value.replace(CALC_DIVISION_WHITESPACE_PATTERN, ')/ '); + } + + return value + .replace(FUNCTION_OPENING_BRACE_WHITESPACE_PATTERN, '$1') + .replace(FUNCTION_CLOSING_BRACE_WHITESPACE_PATTERN, '$1') + .replace(COMMA_AND_SPACE_PATTERN, ','); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 18360 +(module, __unused_webpack_exports, __webpack_require__) { + +var split = __webpack_require__(80994); + +var ANY_FUNCTION_PATTERN = /^(-(?:moz|ms|o|webkit)-[a-z-]+|[a-z-]+)\((.+)\)$/; +var SKIP_FUNCTION_PATTERN = /^(?:-moz-calc|-webkit-calc|calc|rgb|hsl|rgba|hsla|min|max|clamp|expression)\(/; +var TOKEN_SEPARATOR_PATTERN = /([\s,/])/; + +function removeRecursively(value, options) { + var functionTokens; + var tokens; + + if (SKIP_FUNCTION_PATTERN.test(value)) { + return value; + } + + functionTokens = ANY_FUNCTION_PATTERN.exec(value); + + if (!functionTokens) { + return removeZeros(value, options); + } + + tokens = split(functionTokens[2], TOKEN_SEPARATOR_PATTERN) + .map(function(token) { return removeRecursively(token, options); }); + + return functionTokens[1] + '(' + tokens.join('') + ')'; +} + +function removeZeros(value, options) { + return value + .replace(options.unitsRegexp, '$10$2') + .replace(options.unitsRegexp, '$10$2'); +} + +var plugin = { + level1: { + value: function zero(name, value, options) { + if (!options.compatibility.properties.zeroUnits) { + return value; + } + + if (value.indexOf('%') > 0 && (name == 'height' || name == 'max-height' || name == 'width' || name == 'max-width')) { + return value; + } + + return removeRecursively(value, options); + } + } +}; + +module.exports = plugin; + + +/***/ }, + +/***/ 41781 +(module, __unused_webpack_exports, __webpack_require__) { + +// This extractor is used in level 2 optimizations +// IMPORTANT: Mind Token class and this code is not related! +// Properties will be tokenized in one step, see #429 + +var Token = __webpack_require__(50107); +var serializeRules = (__webpack_require__(76698).rules); +var serializeValue = (__webpack_require__(76698).value); + +function extractProperties(token) { + var properties = []; + var inSpecificSelector; + var property; + var name; + var value; + var i, l; + + if (token[0] == Token.RULE) { + inSpecificSelector = !/[.+>~]/.test(serializeRules(token[1])); + + for (i = 0, l = token[2].length; i < l; i++) { + property = token[2][i]; + + if (property[0] != Token.PROPERTY) { continue; } + + name = property[1][1]; + if (name.length === 0) { continue; } + + value = serializeValue(property, i); + + properties.push([ + name, + value, + findNameRoot(name), + token[2][i], + name + ':' + value, + token[1], + inSpecificSelector + ]); + } + } else if (token[0] == Token.NESTED_BLOCK) { + for (i = 0, l = token[2].length; i < l; i++) { + properties = properties.concat(extractProperties(token[2][i])); + } + } + + return properties; +} + +function findNameRoot(name) { + if (name == 'list-style') { return name; } + if (name.indexOf('-radius') > 0) { return 'border-radius'; } + if (name == 'border-collapse' || name == 'border-spacing' || name == 'border-image') { return name; } + if (name.indexOf('border-') === 0 && /^border-\w+-\w+$/.test(name)) { return name.match(/border-\w+/)[0]; } + if (name.indexOf('border-') === 0 && /^border-\w+$/.test(name)) { return 'border'; } + if (name.indexOf('text-') === 0) { return name; } + if (name == '-chrome-') { return name; } + + return name.replace(/^-\w+-/, '').match(/([a-zA-Z]+)/)[0].toLowerCase(); +} + +module.exports = extractProperties; + + +/***/ }, + +/***/ 96817 +(module, __unused_webpack_exports, __webpack_require__) { + +var Marker = __webpack_require__(9894); +var split = __webpack_require__(80994); + +var DEEP_SELECTOR_PATTERN = /\/deep\//; +var DOUBLE_COLON_PATTERN = /^::/; +var VENDOR_PREFIXED_PATTERN = /:(-moz-|-ms-|-o-|-webkit-)/; + +var NOT_PSEUDO = ':not'; +var PSEUDO_CLASSES_WITH_ARGUMENTS = [ + ':dir', + ':lang', + ':not', + ':nth-child', + ':nth-last-child', + ':nth-last-of-type', + ':nth-of-type' +]; +var RELATION_PATTERN = /[>+~]/; +var UNMIXABLE_PSEUDO_CLASSES = [ + ':after', + ':before', + ':first-letter', + ':first-line', + ':lang' +]; +var UNMIXABLE_PSEUDO_ELEMENTS = [ + '::after', + '::before', + '::first-letter', + '::first-line' +]; + +var Level = { + DOUBLE_QUOTE: 'double-quote', + SINGLE_QUOTE: 'single-quote', + ROOT: 'root' +}; + +function isMergeable(selector, mergeablePseudoClasses, mergeablePseudoElements, multiplePseudoMerging) { + var singleSelectors = split(selector, Marker.COMMA); + var singleSelector; + var i, l; + + for (i = 0, l = singleSelectors.length; i < l; i++) { + singleSelector = singleSelectors[i]; + + if (singleSelector.length === 0 + || isDeepSelector(singleSelector) + || isVendorPrefixed(singleSelector) + || (singleSelector.indexOf(Marker.COLON) > -1 + && !areMergeable( + singleSelector, + extractPseudoFrom(singleSelector), + mergeablePseudoClasses, + mergeablePseudoElements, + multiplePseudoMerging + ))) { + return false; + } + } + + return true; +} + +function isDeepSelector(selector) { + return DEEP_SELECTOR_PATTERN.test(selector); +} + +function isVendorPrefixed(selector) { + return VENDOR_PREFIXED_PATTERN.test(selector); +} + +function extractPseudoFrom(selector) { + var list = []; + var character; + var buffer = []; + var level = Level.ROOT; + var roundBracketLevel = 0; + var isQuoted; + var isEscaped; + var isPseudo = false; + var isRelation; + var wasColon = false; + var index; + var len; + + for (index = 0, len = selector.length; index < len; index++) { + character = selector[index]; + + isRelation = !isEscaped && RELATION_PATTERN.test(character); + isQuoted = level == Level.DOUBLE_QUOTE || level == Level.SINGLE_QUOTE; + + if (isEscaped) { + buffer.push(character); + } else if (character == Marker.DOUBLE_QUOTE && level == Level.ROOT) { + buffer.push(character); + level = Level.DOUBLE_QUOTE; + } else if (character == Marker.DOUBLE_QUOTE && level == Level.DOUBLE_QUOTE) { + buffer.push(character); + level = Level.ROOT; + } else if (character == Marker.SINGLE_QUOTE && level == Level.ROOT) { + buffer.push(character); + level = Level.SINGLE_QUOTE; + } else if (character == Marker.SINGLE_QUOTE && level == Level.SINGLE_QUOTE) { + buffer.push(character); + level = Level.ROOT; + } else if (isQuoted) { + buffer.push(character); + } else if (character == Marker.OPEN_ROUND_BRACKET) { + buffer.push(character); + roundBracketLevel++; + } else if (character == Marker.CLOSE_ROUND_BRACKET && roundBracketLevel == 1 && isPseudo) { + buffer.push(character); + list.push(buffer.join('')); + roundBracketLevel--; + buffer = []; + isPseudo = false; + } else if (character == Marker.CLOSE_ROUND_BRACKET) { + buffer.push(character); + roundBracketLevel--; + } else if (character == Marker.COLON && roundBracketLevel === 0 && isPseudo && !wasColon) { + list.push(buffer.join('')); + buffer = []; + buffer.push(character); + } else if (character == Marker.COLON && roundBracketLevel === 0 && !wasColon) { + buffer = []; + buffer.push(character); + isPseudo = true; + } else if (character == Marker.SPACE && roundBracketLevel === 0 && isPseudo) { + list.push(buffer.join('')); + buffer = []; + isPseudo = false; + } else if (isRelation && roundBracketLevel === 0 && isPseudo) { + list.push(buffer.join('')); + buffer = []; + isPseudo = false; + } else { + buffer.push(character); + } + + isEscaped = character == Marker.BACK_SLASH; + wasColon = character == Marker.COLON; + } + + if (buffer.length > 0 && isPseudo) { + list.push(buffer.join('')); + } + + return list; +} + +function areMergeable(selector, matches, mergeablePseudoClasses, mergeablePseudoElements, multiplePseudoMerging) { + return areAllowed(matches, mergeablePseudoClasses, mergeablePseudoElements) + && needArguments(matches) + && (matches.length < 2 || !someIncorrectlyChained(selector, matches)) + && (matches.length < 2 || multiplePseudoMerging && allMixable(matches)); +} + +function areAllowed(matches, mergeablePseudoClasses, mergeablePseudoElements) { + var match; + var name; + var i, l; + + for (i = 0, l = matches.length; i < l; i++) { + match = matches[i]; + name = match.indexOf(Marker.OPEN_ROUND_BRACKET) > -1 + ? match.substring(0, match.indexOf(Marker.OPEN_ROUND_BRACKET)) + : match; + + if (mergeablePseudoClasses.indexOf(name) === -1 && mergeablePseudoElements.indexOf(name) === -1) { + return false; + } + } + + return true; +} + +function needArguments(matches) { + var match; + var name; + var bracketOpensAt; + var hasArguments; + var i, l; + + for (i = 0, l = matches.length; i < l; i++) { + match = matches[i]; + + bracketOpensAt = match.indexOf(Marker.OPEN_ROUND_BRACKET); + hasArguments = bracketOpensAt > -1; + name = hasArguments + ? match.substring(0, bracketOpensAt) + : match; + + if (hasArguments && PSEUDO_CLASSES_WITH_ARGUMENTS.indexOf(name) == -1) { + return false; + } + + if (!hasArguments && PSEUDO_CLASSES_WITH_ARGUMENTS.indexOf(name) > -1) { + return false; + } + } + + return true; +} + +function someIncorrectlyChained(selector, matches) { + var positionInSelector = 0; + var match; + var matchAt; + var nextMatch; + var nextMatchAt; + var name; + var nextName; + var areChained; + var i, l; + + for (i = 0, l = matches.length; i < l; i++) { + match = matches[i]; + nextMatch = matches[i + 1]; + + if (!nextMatch) { + break; + } + + matchAt = selector.indexOf(match, positionInSelector); + nextMatchAt = selector.indexOf(match, matchAt + 1); + positionInSelector = nextMatchAt; + areChained = matchAt + match.length == nextMatchAt; + + if (areChained) { + name = match.indexOf(Marker.OPEN_ROUND_BRACKET) > -1 + ? match.substring(0, match.indexOf(Marker.OPEN_ROUND_BRACKET)) + : match; + nextName = nextMatch.indexOf(Marker.OPEN_ROUND_BRACKET) > -1 + ? nextMatch.substring(0, nextMatch.indexOf(Marker.OPEN_ROUND_BRACKET)) + : nextMatch; + + if (name != NOT_PSEUDO || nextName != NOT_PSEUDO) { + return true; + } + } + } + + return false; +} + +function allMixable(matches) { + var unmixableMatches = 0; + var match; + var i, l; + + for (i = 0, l = matches.length; i < l; i++) { + match = matches[i]; + + if (isPseudoElement(match)) { + unmixableMatches += UNMIXABLE_PSEUDO_ELEMENTS.indexOf(match) > -1 ? 1 : 0; + } else { + unmixableMatches += UNMIXABLE_PSEUDO_CLASSES.indexOf(match) > -1 ? 1 : 0; + } + + if (unmixableMatches > 1) { + return false; + } + } + + return true; +} + +function isPseudoElement(pseudo) { + return DOUBLE_COLON_PATTERN.test(pseudo); +} + +module.exports = isMergeable; + + +/***/ }, + +/***/ 28853 +(module, __unused_webpack_exports, __webpack_require__) { + +var isMergeable = __webpack_require__(96817); + +var optimizeProperties = __webpack_require__(64507); + +var sortSelectors = __webpack_require__(96264); +var tidyRules = __webpack_require__(34769); + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var serializeBody = (__webpack_require__(76698).body); +var serializeRules = (__webpack_require__(76698).rules); + +var Token = __webpack_require__(50107); + +function mergeAdjacent(tokens, context) { + var lastToken = [null, [], []]; + var options = context.options; + var adjacentSpace = options.compatibility.selectors.adjacentSpace; + var selectorsSortingMethod = options.level[OptimizationLevel.One].selectorsSortingMethod; + var mergeablePseudoClasses = options.compatibility.selectors.mergeablePseudoClasses; + var mergeablePseudoElements = options.compatibility.selectors.mergeablePseudoElements; + var mergeLimit = options.compatibility.selectors.mergeLimit; + var multiplePseudoMerging = options.compatibility.selectors.multiplePseudoMerging; + + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + + if (token[0] != Token.RULE) { + lastToken = [null, [], []]; + continue; + } + + if (lastToken[0] == Token.RULE && serializeRules(token[1]) == serializeRules(lastToken[1])) { + Array.prototype.push.apply(lastToken[2], token[2]); + optimizeProperties(lastToken[2], true, true, context); + token[2] = []; + } else if (lastToken[0] == Token.RULE && serializeBody(token[2]) == serializeBody(lastToken[2]) + && isMergeable(serializeRules(token[1]), mergeablePseudoClasses, mergeablePseudoElements, multiplePseudoMerging) + && isMergeable( + serializeRules(lastToken[1]), + mergeablePseudoClasses, + mergeablePseudoElements, + multiplePseudoMerging + ) + && lastToken[1].length < mergeLimit) { + lastToken[1] = tidyRules(lastToken[1].concat(token[1]), false, adjacentSpace, false, context.warnings); + lastToken[1] = lastToken.length > 1 ? sortSelectors(lastToken[1], selectorsSortingMethod) : lastToken[1]; + token[2] = []; + } else { + lastToken = token; + } + } +} + +module.exports = mergeAdjacent; + + +/***/ }, + +/***/ 39806 +(module, __unused_webpack_exports, __webpack_require__) { + +var canReorder = (__webpack_require__(32213).canReorder); +var canReorderSingle = (__webpack_require__(32213).canReorderSingle); +var extractProperties = __webpack_require__(41781); +var rulesOverlap = __webpack_require__(29811); + +var serializeRules = (__webpack_require__(76698).rules); +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); +var Token = __webpack_require__(50107); + +function mergeMediaQueries(tokens, context) { + var mergeSemantically = context.options.level[OptimizationLevel.Two].mergeSemantically; + var specificityCache = context.cache.specificity; + var candidates = {}; + var reduced = []; + + for (var i = tokens.length - 1; i >= 0; i--) { + var token = tokens[i]; + if (token[0] != Token.NESTED_BLOCK) { + continue; + } + + var key = serializeRules(token[1]); + var candidate = candidates[key]; + if (!candidate) { + candidate = []; + candidates[key] = candidate; + } + + candidate.push(i); + } + + for (var name in candidates) { + var positions = candidates[name]; + + positionLoop: + for (var j = positions.length - 1; j > 0; j--) { + var positionOne = positions[j]; + var tokenOne = tokens[positionOne]; + var positionTwo = positions[j - 1]; + var tokenTwo = tokens[positionTwo]; + + directionLoop: + for (var direction = 1; direction >= -1; direction -= 2) { + var topToBottom = direction == 1; + var from = topToBottom ? positionOne + 1 : positionTwo - 1; + var to = topToBottom ? positionTwo : positionOne; + var delta = topToBottom ? 1 : -1; + var source = topToBottom ? tokenOne : tokenTwo; + var target = topToBottom ? tokenTwo : tokenOne; + var movedProperties = extractProperties(source); + + while (from != to) { + var traversedProperties = extractProperties(tokens[from]); + from += delta; + + if (mergeSemantically + && allSameRulePropertiesCanBeReordered(movedProperties, traversedProperties, specificityCache) + ) { + continue; + } + + if (!canReorder(movedProperties, traversedProperties, specificityCache)) { continue directionLoop; } + } + + target[2] = topToBottom + ? source[2].concat(target[2]) + : target[2].concat(source[2]); + source[2] = []; + + reduced.push(target); + continue positionLoop; + } + } + } + + return reduced; +} + +function allSameRulePropertiesCanBeReordered(movedProperties, traversedProperties, specificityCache) { + var movedProperty; + var movedRule; + var traversedProperty; + var traversedRule; + var i, l; + var j, m; + + for (i = 0, l = movedProperties.length; i < l; i++) { + movedProperty = movedProperties[i]; + movedRule = movedProperty[5]; + + for (j = 0, m = traversedProperties.length; j < m; j++) { + traversedProperty = traversedProperties[j]; + traversedRule = traversedProperty[5]; + + if (rulesOverlap(movedRule, traversedRule, true) + && !canReorderSingle(movedProperty, traversedProperty, specificityCache)) { + return false; + } + } + } + + return true; +} + +module.exports = mergeMediaQueries; + + +/***/ }, + +/***/ 18142 +(module, __unused_webpack_exports, __webpack_require__) { + +var isMergeable = __webpack_require__(96817); + +var sortSelectors = __webpack_require__(96264); +var tidyRules = __webpack_require__(34769); + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var serializeBody = (__webpack_require__(76698).body); +var serializeRules = (__webpack_require__(76698).rules); + +var Token = __webpack_require__(50107); + +function unsafeSelector(value) { + return /\.|\*| :/.test(value); +} + +function isBemElement(token) { + var asString = serializeRules(token[1]); + return asString.indexOf('__') > -1 || asString.indexOf('--') > -1; +} + +function withoutModifier(selector) { + return selector.replace(/--[^ ,>+~:]+/g, ''); +} + +function removeAnyUnsafeElements(left, candidates) { + var leftSelector = withoutModifier(serializeRules(left[1])); + + for (var body in candidates) { + var right = candidates[body]; + var rightSelector = withoutModifier(serializeRules(right[1])); + + if (rightSelector.indexOf(leftSelector) > -1 || leftSelector.indexOf(rightSelector) > -1) { + delete candidates[body]; + } + } +} + +function mergeNonAdjacentByBody(tokens, context) { + var options = context.options; + var mergeSemantically = options.level[OptimizationLevel.Two].mergeSemantically; + var adjacentSpace = options.compatibility.selectors.adjacentSpace; + var selectorsSortingMethod = options.level[OptimizationLevel.One].selectorsSortingMethod; + var mergeablePseudoClasses = options.compatibility.selectors.mergeablePseudoClasses; + var mergeablePseudoElements = options.compatibility.selectors.mergeablePseudoElements; + var multiplePseudoMerging = options.compatibility.selectors.multiplePseudoMerging; + var candidates = {}; + + for (var i = tokens.length - 1; i >= 0; i--) { + var token = tokens[i]; + if (token[0] != Token.RULE) { continue; } + + if (token[2].length > 0 && (!mergeSemantically && unsafeSelector(serializeRules(token[1])))) { candidates = {}; } + + if (token[2].length > 0 && mergeSemantically && isBemElement(token)) { removeAnyUnsafeElements(token, candidates); } + + var candidateBody = serializeBody(token[2]); + var oldToken = candidates[candidateBody]; + if (oldToken + && isMergeable( + serializeRules(token[1]), + mergeablePseudoClasses, + mergeablePseudoElements, + multiplePseudoMerging + ) + && isMergeable( + serializeRules(oldToken[1]), + mergeablePseudoClasses, + mergeablePseudoElements, + multiplePseudoMerging + ) + ) { + if (token[2].length > 0) { + token[1] = tidyRules(oldToken[1].concat(token[1]), false, adjacentSpace, false, context.warnings); + token[1] = token[1].length > 1 ? sortSelectors(token[1], selectorsSortingMethod) : token[1]; + } else { + token[1] = oldToken[1].concat(token[1]); + } + + oldToken[2] = []; + candidates[candidateBody] = null; + } + + candidates[serializeBody(token[2])] = token; + } +} + +module.exports = mergeNonAdjacentByBody; + + +/***/ }, + +/***/ 97779 +(module, __unused_webpack_exports, __webpack_require__) { + +var canReorder = (__webpack_require__(32213).canReorder); +var extractProperties = __webpack_require__(41781); + +var optimizeProperties = __webpack_require__(64507); + +var serializeRules = (__webpack_require__(76698).rules); + +var Token = __webpack_require__(50107); + +function mergeNonAdjacentBySelector(tokens, context) { + var specificityCache = context.cache.specificity; + var allSelectors = {}; + var repeatedSelectors = []; + var i; + + for (i = tokens.length - 1; i >= 0; i--) { + if (tokens[i][0] != Token.RULE) { continue; } + if (tokens[i][2].length === 0) { continue; } + + var selector = serializeRules(tokens[i][1]); + allSelectors[selector] = [i].concat(allSelectors[selector] || []); + + if (allSelectors[selector].length == 2) { repeatedSelectors.push(selector); } + } + + for (i = repeatedSelectors.length - 1; i >= 0; i--) { + var positions = allSelectors[repeatedSelectors[i]]; + + selectorIterator: + for (var j = positions.length - 1; j > 0; j--) { + var positionOne = positions[j - 1]; + var tokenOne = tokens[positionOne]; + var positionTwo = positions[j]; + var tokenTwo = tokens[positionTwo]; + + directionIterator: + for (var direction = 1; direction >= -1; direction -= 2) { + var topToBottom = direction == 1; + var from = topToBottom ? positionOne + 1 : positionTwo - 1; + var to = topToBottom ? positionTwo : positionOne; + var delta = topToBottom ? 1 : -1; + var moved = topToBottom ? tokenOne : tokenTwo; + var target = topToBottom ? tokenTwo : tokenOne; + var movedProperties = extractProperties(moved); + + while (from != to) { + var traversedProperties = extractProperties(tokens[from]); + from += delta; + + // traversed then moved as we move selectors towards the start + var reorderable = topToBottom + ? canReorder(movedProperties, traversedProperties, specificityCache) + : canReorder(traversedProperties, movedProperties, specificityCache); + + if (!reorderable && !topToBottom) { continue selectorIterator; } + if (!reorderable && topToBottom) { continue directionIterator; } + } + + if (topToBottom) { + Array.prototype.push.apply(moved[2], target[2]); + target[2] = moved[2]; + } else { + Array.prototype.push.apply(target[2], moved[2]); + } + + optimizeProperties(target[2], true, true, context); + moved[2] = []; + } + } + } +} + +module.exports = mergeNonAdjacentBySelector; + + +/***/ }, + +/***/ 72503 +(module, __unused_webpack_exports, __webpack_require__) { + +var mergeAdjacent = __webpack_require__(28853); +var mergeMediaQueries = __webpack_require__(39806); +var mergeNonAdjacentByBody = __webpack_require__(18142); +var mergeNonAdjacentBySelector = __webpack_require__(97779); +var reduceNonAdjacent = __webpack_require__(98491); +var removeDuplicateFontAtRules = __webpack_require__(88298); +var removeDuplicateMediaQueries = __webpack_require__(61104); +var removeDuplicates = __webpack_require__(79583); +var removeUnusedAtRules = __webpack_require__(49075); +var restructure = __webpack_require__(70188); + +var optimizeProperties = __webpack_require__(64507); + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +var Token = __webpack_require__(50107); + +function removeEmpty(tokens) { + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + var isEmpty = false; + + switch (token[0]) { + case Token.RULE: + isEmpty = token[1].length === 0 || token[2].length === 0; + break; + case Token.NESTED_BLOCK: + removeEmpty(token[2]); + isEmpty = token[2].length === 0; + break; + case Token.AT_RULE: + isEmpty = token[1].length === 0; + break; + case Token.AT_RULE_BLOCK: + isEmpty = token[2].length === 0; + } + + if (isEmpty) { + tokens.splice(i, 1); + i--; + l--; + } + } +} + +function recursivelyOptimizeBlocks(tokens, context) { + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + + if (token[0] == Token.NESTED_BLOCK) { + var isKeyframes = /@(-moz-|-o-|-webkit-)?keyframes/.test(token[1][0][1]); + level2Optimize(token[2], context, !isKeyframes); + } + } +} + +function recursivelyOptimizeProperties(tokens, context) { + for (var i = 0, l = tokens.length; i < l; i++) { + var token = tokens[i]; + + switch (token[0]) { + case Token.RULE: + optimizeProperties(token[2], true, true, context); + break; + case Token.NESTED_BLOCK: + recursivelyOptimizeProperties(token[2], context); + } + } +} + +function level2Optimize(tokens, context, withRestructuring) { + var levelOptions = context.options.level[OptimizationLevel.Two]; + var level2Plugins = context.options.plugins.level2Block; + var reduced; + var i; + + recursivelyOptimizeBlocks(tokens, context); + recursivelyOptimizeProperties(tokens, context); + + if (levelOptions.removeDuplicateRules) { + removeDuplicates(tokens, context); + } + + if (levelOptions.mergeAdjacentRules) { + mergeAdjacent(tokens, context); + } + + if (levelOptions.reduceNonAdjacentRules) { + reduceNonAdjacent(tokens, context); + } + + if (levelOptions.mergeNonAdjacentRules && levelOptions.mergeNonAdjacentRules != 'body') { + mergeNonAdjacentBySelector(tokens, context); + } + + if (levelOptions.mergeNonAdjacentRules && levelOptions.mergeNonAdjacentRules != 'selector') { + mergeNonAdjacentByBody(tokens, context); + } + + if (levelOptions.restructureRules && levelOptions.mergeAdjacentRules && withRestructuring) { + restructure(tokens, context); + mergeAdjacent(tokens, context); + } + + if (levelOptions.restructureRules && !levelOptions.mergeAdjacentRules && withRestructuring) { + restructure(tokens, context); + } + + if (levelOptions.removeDuplicateFontRules) { + removeDuplicateFontAtRules(tokens, context); + } + + if (levelOptions.removeDuplicateMediaBlocks) { + removeDuplicateMediaQueries(tokens, context); + } + + if (levelOptions.removeUnusedAtRules) { + removeUnusedAtRules(tokens, context); + } + + if (levelOptions.mergeMedia) { + reduced = mergeMediaQueries(tokens, context); + for (i = reduced.length - 1; i >= 0; i--) { + level2Optimize(reduced[i][2], context, false); + } + } + + for (i = 0; i < level2Plugins.length; i++) { + level2Plugins[i](tokens); + } + + if (levelOptions.removeEmpty) { + removeEmpty(tokens); + } + + return tokens; +} + +module.exports = level2Optimize; + + +/***/ }, + +/***/ 8233 +(module, __unused_webpack_exports, __webpack_require__) { + +var Marker = __webpack_require__(9894); + +function everyValuesPair(fn, left, right) { + var leftSize = left.value.length; + var rightSize = right.value.length; + var total = Math.max(leftSize, rightSize); + var lowerBound = Math.min(leftSize, rightSize) - 1; + var leftValue; + var rightValue; + var position; + + for (position = 0; position < total; position++) { + leftValue = left.value[position] && left.value[position][1] || leftValue; + rightValue = right.value[position] && right.value[position][1] || rightValue; + + if (leftValue == Marker.COMMA || rightValue == Marker.COMMA) { + continue; + } + + if (!fn(leftValue, rightValue, position, position <= lowerBound)) { + return false; + } + } + + return true; +} + +module.exports = everyValuesPair; + + +/***/ }, + +/***/ 50497 +(module, __unused_webpack_exports, __webpack_require__) { + +var configuration = __webpack_require__(89142); + +function findComponentIn(shorthand, longhand) { + var comparator = nameComparator(longhand); + + return findInDirectComponents(shorthand, comparator) || findInSubComponents(shorthand, comparator); +} + +function nameComparator(to) { + return function(property) { + return to.name === property.name; + }; +} + +function findInDirectComponents(shorthand, comparator) { + return shorthand.components.filter(comparator)[0]; +} + +function findInSubComponents(shorthand, comparator) { + var shorthandComponent; + var longhandMatch; + var i, l; + + if (!configuration[shorthand.name].shorthandComponents) { + return; + } + + for (i = 0, l = shorthand.components.length; i < l; i++) { + shorthandComponent = shorthand.components[i]; + longhandMatch = findInDirectComponents(shorthandComponent, comparator); + + if (longhandMatch) { + return longhandMatch; + } + } +} + +module.exports = findComponentIn; + + +/***/ }, + +/***/ 86364 +(module) { + +function hasInherit(property) { + for (var i = property.value.length - 1; i >= 0; i--) { + if (property.value[i][1] == 'inherit') { return true; } + } + + return false; +} + +module.exports = hasInherit; + + +/***/ }, + +/***/ 48440 +(module) { + +function hasSameValues(property) { + var firstValue = property.value[0][1]; + var i, l; + + for (i = 1, l = property.value.length; i < l; i++) { + if (property.value[i][1] != firstValue) { + return false; + } + } + + return true; +} + +module.exports = hasSameValues; + + +/***/ }, + +/***/ 62886 +(module) { + +function hasUnset(property) { + for (var i = property.value.length - 1; i >= 0; i--) { + if (property.value[i][1] == 'unset') { return true; } + } + + return false; +} + +module.exports = hasUnset; + + +/***/ }, + +/***/ 36282 +(module, __unused_webpack_exports, __webpack_require__) { + +var configuration = __webpack_require__(89142); + +function isComponentOf(property1, property2, shallow) { + return isDirectComponentOf(property1, property2) + || !shallow && !!configuration[property1.name].shorthandComponents && isSubComponentOf(property1, property2); +} + +function isDirectComponentOf(property1, property2) { + var descriptor = configuration[property1.name]; + + return 'components' in descriptor && descriptor.components.indexOf(property2.name) > -1; +} + +function isSubComponentOf(property1, property2) { + return property1 + .components + .some(function(component) { + return isDirectComponentOf(component, property2); + }); +} + +module.exports = isComponentOf; + + +/***/ }, + +/***/ 99687 +(module, __unused_webpack_exports, __webpack_require__) { + +var Marker = __webpack_require__(9894); + +function isMergeableShorthand(shorthand) { + if (shorthand.name != 'font') { + return true; + } + + return shorthand.value[0][1].indexOf(Marker.INTERNAL) == -1; +} + +module.exports = isMergeableShorthand; + + +/***/ }, + +/***/ 91302 +(module, __unused_webpack_exports, __webpack_require__) { + +var everyValuesPair = __webpack_require__(8233); +var hasInherit = __webpack_require__(86364); +var hasSameValues = __webpack_require__(48440); +var populateComponents = __webpack_require__(24299); + +var configuration = __webpack_require__(89142); +var deepClone = (__webpack_require__(81625).deep); +var restoreWithComponents = __webpack_require__(83818); + +var restoreFromOptimizing = __webpack_require__(44424); +var wrapSingle = (__webpack_require__(48597).single); + +var serializeBody = (__webpack_require__(76698).body); +var Token = __webpack_require__(50107); + +function mergeIntoShorthands(properties, validator) { + var candidates = {}; + var descriptor; + var componentOf; + var property; + var i, l; + var j, m; + + // there is no shorthand property made up of less than 3 longhands + if (properties.length < 3) { + return; + } + + for (i = 0, l = properties.length; i < l; i++) { + property = properties[i]; + descriptor = configuration[property.name]; + + if (property.dynamic) { + continue; + } + + if (property.unused) { + continue; + } + + if (property.hack) { + continue; + } + + if (property.block) { + continue; + } + + if (descriptor && descriptor.singleTypeComponents && !hasSameValues(property)) { + continue; + } + + invalidateOrCompact(properties, i, candidates, validator); + + if (descriptor && descriptor.componentOf) { + for (j = 0, m = descriptor.componentOf.length; j < m; j++) { + componentOf = descriptor.componentOf[j]; + + candidates[componentOf] = candidates[componentOf] || {}; + candidates[componentOf][property.name] = property; + } + } + } + + invalidateOrCompact(properties, i, candidates, validator); +} + +function invalidateOrCompact(properties, position, candidates, validator) { + var invalidatedBy = properties[position]; + var shorthandName; + var shorthandDescriptor; + var candidateComponents; + var replacedCandidates = []; + var i; + + for (shorthandName in candidates) { + if (undefined !== invalidatedBy && shorthandName == invalidatedBy.name) { + continue; + } + + shorthandDescriptor = configuration[shorthandName]; + candidateComponents = candidates[shorthandName]; + if (invalidatedBy && invalidates(candidates, shorthandName, invalidatedBy)) { + delete candidates[shorthandName]; + continue; + } + + if (shorthandDescriptor.components.length > Object.keys(candidateComponents).length) { + continue; + } + + if (mixedImportance(candidateComponents)) { + continue; + } + + if (!overridable(candidateComponents, shorthandName, validator)) { + continue; + } + + if (!mergeable(candidateComponents)) { + continue; + } + + if (mixedInherit(candidateComponents)) { + replaceWithInheritBestFit(properties, candidateComponents, shorthandName, validator); + } else { + replaceWithShorthand(properties, candidateComponents, shorthandName, validator); + } + + replacedCandidates.push(shorthandName); + } + + for (i = replacedCandidates.length - 1; i >= 0; i--) { + delete candidates[replacedCandidates[i]]; + } +} + +function invalidates(candidates, shorthandName, invalidatedBy) { + var shorthandDescriptor = configuration[shorthandName]; + var invalidatedByDescriptor = configuration[invalidatedBy.name]; + var componentName; + + if ('overridesShorthands' in shorthandDescriptor && shorthandDescriptor.overridesShorthands.indexOf(invalidatedBy.name) > -1) { + return true; + } + + if (invalidatedByDescriptor && 'componentOf' in invalidatedByDescriptor) { + for (componentName in candidates[shorthandName]) { + if (invalidatedByDescriptor.componentOf.indexOf(componentName) > -1) { + return true; + } + } + } + + return false; +} + +function mixedImportance(components) { + var important; + var componentName; + + for (componentName in components) { + if (undefined !== important && components[componentName].important != important) { + return true; + } + + important = components[componentName].important; + } + + return false; +} + +function overridable(components, shorthandName, validator) { + var descriptor = configuration[shorthandName]; + var newValuePlaceholder = [ + Token.PROPERTY, + [Token.PROPERTY_NAME, shorthandName], + [Token.PROPERTY_VALUE, descriptor.defaultValue] + ]; + var newProperty = wrapSingle(newValuePlaceholder); + var component; + var mayOverride; + var i, l; + + populateComponents([newProperty], validator, []); + + for (i = 0, l = descriptor.components.length; i < l; i++) { + component = components[descriptor.components[i]]; + mayOverride = configuration[component.name].canOverride || sameValue; + + if (!everyValuesPair(mayOverride.bind(null, validator), newProperty.components[i], component)) { + return false; + } + } + + return true; +} + +function sameValue(_validator, value1, value2) { + return value1 === value2; +} + +function mergeable(components) { + var lastCount = null; + var currentCount; + var componentName; + var component; + var descriptor; + var values; + + for (componentName in components) { + component = components[componentName]; + descriptor = configuration[componentName]; + + if (!('restore' in descriptor)) { + continue; + } + + restoreFromOptimizing([component.all[component.position]], restoreWithComponents); + values = descriptor.restore(component, configuration); + + currentCount = values.length; + + if (lastCount !== null && currentCount !== lastCount) { + return false; + } + + lastCount = currentCount; + } + + return true; +} + +function mixedInherit(components) { + var componentName; + var lastValue = null; + var currentValue; + + for (componentName in components) { + currentValue = hasInherit(components[componentName]); + + if (lastValue !== null && lastValue !== currentValue) { + return true; + } + + lastValue = currentValue; + } + + return false; +} + +function replaceWithInheritBestFit(properties, candidateComponents, shorthandName, validator) { + var viaLonghands = buildSequenceWithInheritLonghands(candidateComponents, shorthandName, validator); + var viaShorthand = buildSequenceWithInheritShorthand(candidateComponents, shorthandName, validator); + var longhandTokensSequence = viaLonghands[0]; + var shorthandTokensSequence = viaShorthand[0]; + var isLonghandsShorter = serializeBody(longhandTokensSequence).length < serializeBody(shorthandTokensSequence).length; + var newTokensSequence = isLonghandsShorter ? longhandTokensSequence : shorthandTokensSequence; + var newProperty = isLonghandsShorter ? viaLonghands[1] : viaShorthand[1]; + var newComponents = isLonghandsShorter ? viaLonghands[2] : viaShorthand[2]; + var lastComponent = candidateComponents[Object.keys(candidateComponents).pop()]; + var all = lastComponent.all; + var insertAt = lastComponent.position; + var componentName; + var oldComponent; + var newComponent; + var newToken; + + newProperty.position = insertAt; + newProperty.shorthand = true; + newProperty.important = lastComponent.important; + newProperty.multiplex = false; + newProperty.dirty = true; + newProperty.all = all; + newProperty.all[insertAt] = newTokensSequence[0]; + + properties.splice(insertAt, 1, newProperty); + + for (componentName in candidateComponents) { + oldComponent = candidateComponents[componentName]; + oldComponent.unused = true; + + newProperty.multiplex = newProperty.multiplex || oldComponent.multiplex; + + if (oldComponent.name in newComponents) { + newComponent = newComponents[oldComponent.name]; + newToken = findTokenIn(newTokensSequence, componentName); + + newComponent.position = all.length; + newComponent.all = all; + newComponent.all.push(newToken); + + properties.push(newComponent); + } + } +} + +function buildSequenceWithInheritLonghands(components, shorthandName, validator) { + var tokensSequence = []; + var inheritComponents = {}; + var nonInheritComponents = {}; + var descriptor = configuration[shorthandName]; + var shorthandToken = [ + Token.PROPERTY, + [Token.PROPERTY_NAME, shorthandName], + [Token.PROPERTY_VALUE, descriptor.defaultValue] + ]; + var newProperty = wrapSingle(shorthandToken); + var component; + var longhandToken; + var newComponent; + var nameMetadata; + var i, l; + + populateComponents([newProperty], validator, []); + + for (i = 0, l = descriptor.components.length; i < l; i++) { + component = components[descriptor.components[i]]; + + if (hasInherit(component)) { + longhandToken = component.all[component.position].slice(0, 2); + Array.prototype.push.apply(longhandToken, component.value); + tokensSequence.push(longhandToken); + + newComponent = deepClone(component); + newComponent.value = inferComponentValue(components, newComponent.name); + + newProperty.components[i] = newComponent; + inheritComponents[component.name] = deepClone(component); + } else { + newComponent = deepClone(component); + newComponent.all = component.all; + newProperty.components[i] = newComponent; + + nonInheritComponents[component.name] = component; + } + } + + newProperty.important = components[Object.keys(components).pop()].important; + + nameMetadata = joinMetadata(nonInheritComponents, 1); + shorthandToken[1].push(nameMetadata); + + restoreFromOptimizing([newProperty], restoreWithComponents); + + shorthandToken = shorthandToken.slice(0, 2); + Array.prototype.push.apply(shorthandToken, newProperty.value); + + tokensSequence.unshift(shorthandToken); + + return [tokensSequence, newProperty, inheritComponents]; +} + +function inferComponentValue(components, propertyName) { + var descriptor = configuration[propertyName]; + + if ('oppositeTo' in descriptor) { + return components[descriptor.oppositeTo].value; + } + return [[Token.PROPERTY_VALUE, descriptor.defaultValue]]; +} + +function joinMetadata(components, at) { + var metadata = []; + var component; + var originalValue; + var componentMetadata; + var componentName; + + for (componentName in components) { + component = components[componentName]; + originalValue = component.all[component.position]; + componentMetadata = originalValue[at][originalValue[at].length - 1]; + + Array.prototype.push.apply(metadata, componentMetadata); + } + + return metadata.sort(metadataSorter); +} + +function metadataSorter(metadata1, metadata2) { + var line1 = metadata1[0]; + var line2 = metadata2[0]; + var column1 = metadata1[1]; + var column2 = metadata2[1]; + + if (line1 < line2) { + return -1; + } if (line1 === line2) { + return column1 < column2 ? -1 : 1; + } + return 1; +} + +function buildSequenceWithInheritShorthand(components, shorthandName, validator) { + var tokensSequence = []; + var inheritComponents = {}; + var nonInheritComponents = {}; + var descriptor = configuration[shorthandName]; + var shorthandToken = [ + Token.PROPERTY, + [Token.PROPERTY_NAME, shorthandName], + [Token.PROPERTY_VALUE, 'inherit'] + ]; + var newProperty = wrapSingle(shorthandToken); + var component; + var longhandToken; + var nameMetadata; + var valueMetadata; + var i, l; + + populateComponents([newProperty], validator, []); + + for (i = 0, l = descriptor.components.length; i < l; i++) { + component = components[descriptor.components[i]]; + + if (hasInherit(component)) { + inheritComponents[component.name] = component; + } else { + longhandToken = component.all[component.position].slice(0, 2); + Array.prototype.push.apply(longhandToken, component.value); + tokensSequence.push(longhandToken); + + nonInheritComponents[component.name] = deepClone(component); + } + } + + nameMetadata = joinMetadata(inheritComponents, 1); + shorthandToken[1].push(nameMetadata); + + valueMetadata = joinMetadata(inheritComponents, 2); + shorthandToken[2].push(valueMetadata); + + tokensSequence.unshift(shorthandToken); + + return [tokensSequence, newProperty, nonInheritComponents]; +} + +function findTokenIn(tokens, componentName) { + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + if (tokens[i][1][1] == componentName) { + return tokens[i]; + } + } +} + +function replaceWithShorthand(properties, candidateComponents, shorthandName, validator) { + var descriptor = configuration[shorthandName]; + var nameMetadata; + var valueMetadata; + var newValuePlaceholder = [ + Token.PROPERTY, + [Token.PROPERTY_NAME, shorthandName], + [Token.PROPERTY_VALUE, descriptor.defaultValue] + ]; + var all; + var insertAt = inferInsertAtFrom(properties, candidateComponents, shorthandName); + + var newProperty = wrapSingle(newValuePlaceholder); + newProperty.shorthand = true; + newProperty.dirty = true; + newProperty.multiplex = false; + + populateComponents([newProperty], validator, []); + + for (var i = 0, l = descriptor.components.length; i < l; i++) { + var component = candidateComponents[descriptor.components[i]]; + + newProperty.components[i] = deepClone(component); + newProperty.important = component.important; + newProperty.multiplex = newProperty.multiplex || component.multiplex; + + all = component.all; + } + + for (var componentName in candidateComponents) { + candidateComponents[componentName].unused = true; + } + + nameMetadata = joinMetadata(candidateComponents, 1); + newValuePlaceholder[1].push(nameMetadata); + + valueMetadata = joinMetadata(candidateComponents, 2); + newValuePlaceholder[2].push(valueMetadata); + + newProperty.position = insertAt; + newProperty.all = all; + newProperty.all[insertAt] = newValuePlaceholder; + + properties.splice(insertAt, 1, newProperty); +} + +function inferInsertAtFrom(properties, candidateComponents, shorthandName) { + var candidateComponentNames = Object.keys(candidateComponents); + var firstCandidatePosition = candidateComponents[candidateComponentNames[0]].position; + var lastCandidatePosition = candidateComponents[candidateComponentNames[candidateComponentNames.length - 1]].position; + + if (shorthandName == 'border' && traversesVia(properties.slice(firstCandidatePosition, lastCandidatePosition), 'border-image')) { + return firstCandidatePosition; + } + return lastCandidatePosition; +} + +function traversesVia(properties, propertyName) { + for (var i = properties.length - 1; i >= 0; i--) { + if (properties[i].name == propertyName) { + return true; + } + } + + return false; +} + +module.exports = mergeIntoShorthands; + + +/***/ }, + +/***/ 64507 +(module, __unused_webpack_exports, __webpack_require__) { + +var mergeIntoShorthands = __webpack_require__(91302); +var overrideProperties = __webpack_require__(21684); +var populateComponents = __webpack_require__(24299); + +var restoreWithComponents = __webpack_require__(83818); + +var wrapForOptimizing = (__webpack_require__(48597).all); +var removeUnused = __webpack_require__(11561); +var restoreFromOptimizing = __webpack_require__(44424); + +var OptimizationLevel = (__webpack_require__(1167).OptimizationLevel); + +function optimizeProperties(properties, withOverriding, withMerging, context) { + var levelOptions = context.options.level[OptimizationLevel.Two]; + var _properties = wrapForOptimizing(properties, levelOptions.skipProperties); + var _property; + var i, l; + + populateComponents(_properties, context.validator, context.warnings); + + for (i = 0, l = _properties.length; i < l; i++) { + _property = _properties[i]; + if (_property.block) { + optimizeProperties(_property.value[0][1], withOverriding, withMerging, context); + } + } + + if (withMerging && levelOptions.mergeIntoShorthands) { + mergeIntoShorthands(_properties, context.validator); + } + + if (withOverriding && levelOptions.overrideProperties) { + overrideProperties(_properties, withMerging, context.options.compatibility, context.validator); + } + + restoreFromOptimizing(_properties, restoreWithComponents); + removeUnused(_properties); +} + +module.exports = optimizeProperties; + + +/***/ }, + +/***/ 21684 +(module, __unused_webpack_exports, __webpack_require__) { + +var hasInherit = __webpack_require__(86364); +var hasUnset = __webpack_require__(62886); +var everyValuesPair = __webpack_require__(8233); +var findComponentIn = __webpack_require__(50497); +var isComponentOf = __webpack_require__(36282); +var isMergeableShorthand = __webpack_require__(99687); +var overridesNonComponentShorthand = __webpack_require__(71597); +var sameVendorPrefixesIn = (__webpack_require__(99573).same); + +var configuration = __webpack_require__(89142); +var deepClone = (__webpack_require__(81625).deep); +var restoreWithComponents = __webpack_require__(83818); +var shallowClone = (__webpack_require__(81625).shallow); + +var restoreFromOptimizing = __webpack_require__(44424); + +var Token = __webpack_require__(50107); +var Marker = __webpack_require__(9894); + +var serializeProperty = (__webpack_require__(76698).property); + +function sameValue(_validator, value1, value2) { + return value1 === value2; +} + +function wouldBreakCompatibility(property, validator) { + for (var i = 0; i < property.components.length; i++) { + var component = property.components[i]; + var descriptor = configuration[component.name]; + var canOverride = descriptor && descriptor.canOverride || sameValue; + + var _component = shallowClone(component); + _component.value = [[Token.PROPERTY_VALUE, descriptor.defaultValue]]; + + if (!everyValuesPair(canOverride.bind(null, validator), _component, component)) { + return true; + } + } + + return false; +} + +function overrideIntoMultiplex(property, by) { + by.unused = true; + + turnIntoMultiplex(by, multiplexSize(property)); + property.value = by.value; +} + +function overrideByMultiplex(property, by) { + by.unused = true; + property.multiplex = true; + property.value = by.value; +} + +function overrideSimple(property, by) { + by.unused = true; + property.value = by.value; +} + +function override(property, by) { + if (by.multiplex) { + overrideByMultiplex(property, by); + } else if (property.multiplex) { + overrideIntoMultiplex(property, by); + } else { + overrideSimple(property, by); + } +} + +function overrideShorthand(property, by) { + by.unused = true; + + for (var i = 0, l = property.components.length; i < l; i++) { + override(property.components[i], by.components[i]); + } +} + +function turnIntoMultiplex(property, size) { + property.multiplex = true; + + if (configuration[property.name].shorthand) { + turnShorthandValueIntoMultiplex(property, size); + } else { + turnLonghandValueIntoMultiplex(property, size); + } +} + +function turnShorthandValueIntoMultiplex(property, size) { + var component; + var i, l; + + for (i = 0, l = property.components.length; i < l; i++) { + component = property.components[i]; + + if (!component.multiplex) { + turnLonghandValueIntoMultiplex(component, size); + } + } +} + +function turnLonghandValueIntoMultiplex(property, size) { + var descriptor = configuration[property.name]; + var withRealValue = descriptor.intoMultiplexMode == 'real'; + var withValue = descriptor.intoMultiplexMode == 'real' + ? property.value.slice(0) + : (descriptor.intoMultiplexMode == 'placeholder' ? descriptor.placeholderValue : descriptor.defaultValue); + var i = multiplexSize(property); + var j; + var m = withValue.length; + + for (; i < size; i++) { + property.value.push([Token.PROPERTY_VALUE, Marker.COMMA]); + + if (Array.isArray(withValue)) { + for (j = 0; j < m; j++) { + property.value.push(withRealValue ? withValue[j] : [Token.PROPERTY_VALUE, withValue[j]]); + } + } else { + property.value.push(withRealValue ? withValue : [Token.PROPERTY_VALUE, withValue]); + } + } +} + +function multiplexSize(component) { + var size = 0; + + for (var i = 0, l = component.value.length; i < l; i++) { + if (component.value[i][1] == Marker.COMMA) { size++; } + } + + return size + 1; +} + +function lengthOf(property) { + var fakeAsArray = [ + Token.PROPERTY, + [Token.PROPERTY_NAME, property.name] + ].concat(property.value); + return serializeProperty([fakeAsArray], 0).length; +} + +function moreSameShorthands(properties, startAt, name) { + // Since we run the main loop in `compactOverrides` backwards, at this point some + // properties may not be marked as unused. + // We should consider reverting the order if possible + var count = 0; + + for (var i = startAt; i >= 0; i--) { + if (properties[i].name == name && !properties[i].unused) { count++; } + if (count > 1) { break; } + } + + return count > 1; +} + +function overridingFunction(shorthand, validator) { + for (var i = 0, l = shorthand.components.length; i < l; i++) { + if (!anyValue(validator.isUrl, shorthand.components[i]) + && anyValue(validator.isFunction, shorthand.components[i])) { return true; } + } + + return false; +} + +function anyValue(fn, property) { + for (var i = 0, l = property.value.length; i < l; i++) { + if (property.value[i][1] == Marker.COMMA) { continue; } + + if (fn(property.value[i][1])) { return true; } + } + + return false; +} + +function wouldResultInLongerValue(left, right) { + if (!left.multiplex && !right.multiplex || left.multiplex && right.multiplex) { return false; } + + var multiplex = left.multiplex ? left : right; + var simple = left.multiplex ? right : left; + var component; + + var multiplexClone = deepClone(multiplex); + restoreFromOptimizing([multiplexClone], restoreWithComponents); + + var simpleClone = deepClone(simple); + restoreFromOptimizing([simpleClone], restoreWithComponents); + + var lengthBefore = lengthOf(multiplexClone) + 1 + lengthOf(simpleClone); + + if (left.multiplex) { + component = findComponentIn(multiplexClone, simpleClone); + overrideIntoMultiplex(component, simpleClone); + } else { + component = findComponentIn(simpleClone, multiplexClone); + turnIntoMultiplex(simpleClone, multiplexSize(multiplexClone)); + overrideByMultiplex(component, multiplexClone); + } + + restoreFromOptimizing([simpleClone], restoreWithComponents); + + var lengthAfter = lengthOf(simpleClone); + + return lengthBefore <= lengthAfter; +} + +function isCompactable(property) { + return property.name in configuration; +} + +function noneOverrideHack(left, right) { + return !left.multiplex + && (left.name == 'background' || left.name == 'background-image') + && right.multiplex + && (right.name == 'background' || right.name == 'background-image') + && anyLayerIsNone(right.value); +} + +function anyLayerIsNone(values) { + var layers = intoLayers(values); + + for (var i = 0, l = layers.length; i < l; i++) { + if (layers[i].length == 1 && layers[i][0][1] == 'none') { return true; } + } + + return false; +} + +function intoLayers(values) { + var layers = []; + + for (var i = 0, layer = [], l = values.length; i < l; i++) { + var value = values[i]; + if (value[1] == Marker.COMMA) { + layers.push(layer); + layer = []; + } else { + layer.push(value); + } + } + + layers.push(layer); + return layers; +} + +function overrideProperties(properties, withMerging, compatibility, validator) { + var mayOverride, right, left, component; + var overriddenComponents; + var overriddenComponent; + var overridingComponent; + var overridable; + var i, j, k; + + propertyLoop: + for (i = properties.length - 1; i >= 0; i--) { + right = properties[i]; + + if (!isCompactable(right)) { continue; } + + if (right.block) { continue; } + + mayOverride = configuration[right.name].canOverride || sameValue; + + traverseLoop: + for (j = i - 1; j >= 0; j--) { + left = properties[j]; + + if (!isCompactable(left)) { continue; } + + if (left.block) { continue; } + + if (left.dynamic || right.dynamic) { continue; } + + if (left.unused || right.unused) { continue; } + + if (left.hack && !right.hack && !right.important || !left.hack && !left.important && right.hack) { continue; } + + if (left.important == right.important && left.hack[0] != right.hack[0]) { continue; } + + if (left.important == right.important + && (left.hack[0] != right.hack[0] || (left.hack[1] && left.hack[1] != right.hack[1]))) { continue; } + + if (hasInherit(right)) { continue; } + + if (noneOverrideHack(left, right)) { continue; } + + if (right.shorthand && isComponentOf(right, left)) { + // maybe `left` can be overridden by `right` which is a shorthand? + if (!right.important && left.important) { continue; } + + if (!sameVendorPrefixesIn([left], right.components)) { continue; } + + if (!anyValue(validator.isFunction, left) && overridingFunction(right, validator)) { continue; } + + if (!isMergeableShorthand(right)) { + left.unused = true; + continue; + } + + component = findComponentIn(right, left); + mayOverride = configuration[left.name].canOverride || sameValue; + if (everyValuesPair(mayOverride.bind(null, validator), left, component)) { + left.unused = true; + } + } else if (right.shorthand && overridesNonComponentShorthand(right, left)) { + // `right` is a shorthand while `left` can be overriden by it, think `border` and `border-top` + if (!right.important && left.important) { + continue; + } + + if (!sameVendorPrefixesIn([left], right.components)) { + continue; + } + + if (!anyValue(validator.isFunction, left) && overridingFunction(right, validator)) { + continue; + } + + overriddenComponents = left.shorthand + ? left.components + : [left]; + + for (k = overriddenComponents.length - 1; k >= 0; k--) { + overriddenComponent = overriddenComponents[k]; + overridingComponent = findComponentIn(right, overriddenComponent); + mayOverride = configuration[overriddenComponent.name].canOverride || sameValue; + + if (!everyValuesPair(mayOverride.bind(null, validator), left, overridingComponent)) { + continue traverseLoop; + } + } + + left.unused = true; + } else if (withMerging && left.shorthand && !right.shorthand && isComponentOf(left, right, true)) { + // maybe `right` can be pulled into `left` which is a shorthand? + if (right.important && !left.important) { continue; } + + if (!right.important && left.important) { + right.unused = true; + continue; + } + + // Pending more clever algorithm in #527 + if (moreSameShorthands(properties, i - 1, left.name)) { continue; } + + if (overridingFunction(left, validator)) { continue; } + + if (!isMergeableShorthand(left)) { continue; } + + if (hasUnset(left) || hasUnset(right)) { continue; } + + component = findComponentIn(left, right); + if (everyValuesPair(mayOverride.bind(null, validator), component, right)) { + var disabledBackgroundMerging = !compatibility.properties.backgroundClipMerging && component.name.indexOf('background-clip') > -1 + || !compatibility.properties.backgroundOriginMerging && component.name.indexOf('background-origin') > -1 + || !compatibility.properties.backgroundSizeMerging && component.name.indexOf('background-size') > -1; + var nonMergeableValue = configuration[right.name].nonMergeableValue === right.value[0][1]; + + if (disabledBackgroundMerging || nonMergeableValue) { continue; } + + if (!compatibility.properties.merging && wouldBreakCompatibility(left, validator)) { continue; } + + if (component.value[0][1] != right.value[0][1] && (hasInherit(left) || hasInherit(right))) { continue; } + + if (wouldResultInLongerValue(left, right)) { continue; } + + if (!left.multiplex && right.multiplex) { turnIntoMultiplex(left, multiplexSize(right)); } + + override(component, right); + left.dirty = true; + } + } else if (withMerging && left.shorthand && right.shorthand && left.name == right.name) { + // merge if all components can be merged + + if (!left.multiplex && right.multiplex) { continue; } + + if (!right.important && left.important) { + right.unused = true; + continue propertyLoop; + } + + if (right.important && !left.important) { + left.unused = true; + continue; + } + + if (!isMergeableShorthand(right)) { + left.unused = true; + continue; + } + + for (k = left.components.length - 1; k >= 0; k--) { + var leftComponent = left.components[k]; + var rightComponent = right.components[k]; + + mayOverride = configuration[leftComponent.name].canOverride || sameValue; + if (!everyValuesPair(mayOverride.bind(null, validator), leftComponent, rightComponent)) { + continue propertyLoop; + } + } + + overrideShorthand(left, right); + left.dirty = true; + } else if (withMerging && left.shorthand && right.shorthand && isComponentOf(left, right)) { + // border is a shorthand but any of its components is a shorthand too + + if (!left.important && right.important) { continue; } + + component = findComponentIn(left, right); + mayOverride = configuration[right.name].canOverride || sameValue; + if (!everyValuesPair(mayOverride.bind(null, validator), component, right)) { continue; } + + if (left.important && !right.important) { + right.unused = true; + continue; + } + + var rightRestored = configuration[right.name].restore(right, configuration); + if (rightRestored.length > 1) { continue; } + + component = findComponentIn(left, right); + override(component, right); + right.dirty = true; + } else if (left.name == right.name) { + // two non-shorthands should be merged based on understandability + overridable = true; + + if (right.shorthand) { + for (k = right.components.length - 1; k >= 0 && overridable; k--) { + overriddenComponent = left.components[k]; + overridingComponent = right.components[k]; + mayOverride = configuration[overridingComponent.name].canOverride || sameValue; + + overridable = everyValuesPair(mayOverride.bind(null, validator), overriddenComponent, overridingComponent); + } + } else { + mayOverride = configuration[right.name].canOverride || sameValue; + overridable = everyValuesPair(mayOverride.bind(null, validator), left, right); + } + + if (left.important && !right.important && overridable) { + right.unused = true; + continue; + } + + if (!left.important && right.important && overridable) { + left.unused = true; + continue; + } + + if (!overridable) { + continue; + } + + left.unused = true; + } + } + } +} + +module.exports = overrideProperties; + + +/***/ }, + +/***/ 71597 +(module, __unused_webpack_exports, __webpack_require__) { + +var configuration = __webpack_require__(89142); + +function overridesNonComponentShorthand(property1, property2) { + return property1.name in configuration + && 'overridesShorthands' in configuration[property1.name] + && configuration[property1.name].overridesShorthands.indexOf(property2.name) > -1; +} + +module.exports = overridesNonComponentShorthand; + + +/***/ }, + +/***/ 24299 +(module, __unused_webpack_exports, __webpack_require__) { + +var configuration = __webpack_require__(89142); +var InvalidPropertyError = __webpack_require__(70314); + +function populateComponents(properties, validator, warnings) { + var component; + var j, m; + + for (var i = properties.length - 1; i >= 0; i--) { + var property = properties[i]; + var descriptor = configuration[property.name]; + + if (!property.dynamic && descriptor && descriptor.shorthand) { + if (onlyValueIsVariable(property, validator) || moreThanOneValueIsVariable(property, validator)) { + property.optimizable = false; + continue; + } + + property.shorthand = true; + property.dirty = true; + + try { + property.components = descriptor.breakUp(property, configuration, validator); + + if (descriptor.shorthandComponents) { + for (j = 0, m = property.components.length; j < m; j++) { + component = property.components[j]; + component.components = configuration[component.name].breakUp(component, configuration, validator); + } + } + } catch (e) { + if (e instanceof InvalidPropertyError) { + property.components = []; // this will set property.unused to true below + warnings.push(e.message); + } else { + throw e; + } + } + + if (property.components.length > 0) { + property.multiplex = property.components[0].multiplex; + } else { + property.unused = true; + } + } + } +} + +function onlyValueIsVariable(property, validator) { + return property.value.length == 1 && validator.isVariable(property.value[0][1]); +} + +function moreThanOneValueIsVariable(property, validator) { + return property.value.length > 1 + && property.value.filter( + function(value) { + return validator.isVariable(value[1]); + } + ).length > 1; +} + +module.exports = populateComponents; + + +/***/ }, + +/***/ 98491 +(module, __unused_webpack_exports, __webpack_require__) { + +var isMergeable = __webpack_require__(96817); + +var optimizeProperties = __webpack_require__(64507); + +var cloneArray = __webpack_require__(43771); + +var Token = __webpack_require__(50107); + +var serializeBody = (__webpack_require__(76698).body); +var serializeRules = (__webpack_require__(76698).rules); + +function reduceNonAdjacent(tokens, context) { + var options = context.options; + var mergeablePseudoClasses = options.compatibility.selectors.mergeablePseudoClasses; + var mergeablePseudoElements = options.compatibility.selectors.mergeablePseudoElements; + var multiplePseudoMerging = options.compatibility.selectors.multiplePseudoMerging; + var candidates = {}; + var repeated = []; + + for (var i = tokens.length - 1; i >= 0; i--) { + var token = tokens[i]; + + if (token[0] != Token.RULE) { + continue; + } else if (token[2].length === 0) { + continue; + } + + var selectorAsString = serializeRules(token[1]); + var isComplexAndNotSpecial = token[1].length > 1 + && isMergeable(selectorAsString, mergeablePseudoClasses, mergeablePseudoElements, multiplePseudoMerging); + var wrappedSelectors = wrappedSelectorsFrom(token[1]); + var selectors = isComplexAndNotSpecial + ? [selectorAsString].concat(wrappedSelectors) + : [selectorAsString]; + + for (var j = 0, m = selectors.length; j < m; j++) { + var selector = selectors[j]; + + if (!candidates[selector]) { candidates[selector] = []; } else { repeated.push(selector); } + + candidates[selector].push({ + where: i, + list: wrappedSelectors, + isPartial: isComplexAndNotSpecial && j > 0, + isComplex: isComplexAndNotSpecial && j === 0 + }); + } + } + + reduceSimpleNonAdjacentCases(tokens, repeated, candidates, options, context); + reduceComplexNonAdjacentCases(tokens, candidates, options, context); +} + +function wrappedSelectorsFrom(list) { + var wrapped = []; + + for (var i = 0; i < list.length; i++) { + wrapped.push([list[i][1]]); + } + + return wrapped; +} + +function reduceSimpleNonAdjacentCases(tokens, repeated, candidates, options, context) { + function filterOut(idx, bodies) { + return data[idx].isPartial && bodies.length === 0; + } + + function reduceBody(token, newBody, processedCount, tokenIdx) { + if (!data[processedCount - tokenIdx - 1].isPartial) { token[2] = newBody; } + } + + for (var i = 0, l = repeated.length; i < l; i++) { + var selector = repeated[i]; + var data = candidates[selector]; + + reduceSelector(tokens, data, { + filterOut: filterOut, + callback: reduceBody + }, options, context); + } +} + +function reduceComplexNonAdjacentCases(tokens, candidates, options, context) { + var mergeablePseudoClasses = options.compatibility.selectors.mergeablePseudoClasses; + var mergeablePseudoElements = options.compatibility.selectors.mergeablePseudoElements; + var multiplePseudoMerging = options.compatibility.selectors.multiplePseudoMerging; + var localContext = {}; + + function filterOut(idx) { + return localContext.data[idx].where < localContext.intoPosition; + } + + function collectReducedBodies(token, newBody, processedCount, tokenIdx) { + if (tokenIdx === 0) { localContext.reducedBodies.push(newBody); } + } + + allSelectors: + for (var complexSelector in candidates) { + var into = candidates[complexSelector]; + if (!into[0].isComplex) { continue; } + + var intoPosition = into[into.length - 1].where; + var intoToken = tokens[intoPosition]; + var reducedBodies = []; + + var selectors = isMergeable(complexSelector, mergeablePseudoClasses, mergeablePseudoElements, multiplePseudoMerging) + ? into[0].list + : [complexSelector]; + + localContext.intoPosition = intoPosition; + localContext.reducedBodies = reducedBodies; + + for (var j = 0, m = selectors.length; j < m; j++) { + var selector = selectors[j]; + var data = candidates[selector]; + + if (data.length < 2) { continue allSelectors; } + + localContext.data = data; + + reduceSelector(tokens, data, { + filterOut: filterOut, + callback: collectReducedBodies + }, options, context); + + if (serializeBody(reducedBodies[reducedBodies.length - 1]) != serializeBody(reducedBodies[0])) { + continue allSelectors; + } + } + + intoToken[2] = reducedBodies[0]; + } +} + +function reduceSelector(tokens, data, context, options, outerContext) { + var bodies = []; + var bodiesAsList = []; + var processedTokens = []; + + for (var j = data.length - 1; j >= 0; j--) { + if (context.filterOut(j, bodies)) { continue; } + + var where = data[j].where; + var token = tokens[where]; + var clonedBody = cloneArray(token[2]); + + bodies = bodies.concat(clonedBody); + bodiesAsList.push(clonedBody); + processedTokens.push(where); + } + + optimizeProperties(bodies, true, false, outerContext); + + var processedCount = processedTokens.length; + var propertyIdx = bodies.length - 1; + var tokenIdx = processedCount - 1; + + while (tokenIdx >= 0) { + if ((tokenIdx === 0 + || (bodies[propertyIdx] && bodiesAsList[tokenIdx].indexOf(bodies[propertyIdx]) > -1)) && propertyIdx > -1) { + propertyIdx--; + continue; + } + + var newBody = bodies.splice(propertyIdx + 1); + context.callback(tokens[processedTokens[tokenIdx]], newBody, processedCount, tokenIdx); + + tokenIdx--; + } +} + +module.exports = reduceNonAdjacent; + + +/***/ }, + +/***/ 88298 +(module, __unused_webpack_exports, __webpack_require__) { + +var Token = __webpack_require__(50107); + +var serializeAll = (__webpack_require__(76698).all); + +var FONT_FACE_SCOPE = '@font-face'; + +function removeDuplicateFontAtRules(tokens) { + var fontAtRules = []; + var token; + var key; + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + token = tokens[i]; + + if (token[0] != Token.AT_RULE_BLOCK && token[1][0][1] != FONT_FACE_SCOPE) { + continue; + } + + key = serializeAll([token]); + + if (fontAtRules.indexOf(key) > -1) { + token[2] = []; + } else { + fontAtRules.push(key); + } + } +} + +module.exports = removeDuplicateFontAtRules; + + +/***/ }, + +/***/ 61104 +(module, __unused_webpack_exports, __webpack_require__) { + +var Token = __webpack_require__(50107); + +var serializeAll = (__webpack_require__(76698).all); +var serializeRules = (__webpack_require__(76698).rules); + +function removeDuplicateMediaQueries(tokens) { + var candidates = {}; + var candidate; + var token; + var key; + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + token = tokens[i]; + if (token[0] != Token.NESTED_BLOCK) { + continue; + } + + key = serializeRules(token[1]) + '%' + serializeAll(token[2]); + candidate = candidates[key]; + + if (candidate) { + candidate[2] = []; + } + + candidates[key] = token; + } +} + +module.exports = removeDuplicateMediaQueries; + + +/***/ }, + +/***/ 79583 +(module, __unused_webpack_exports, __webpack_require__) { + +var Token = __webpack_require__(50107); + +var serializeBody = (__webpack_require__(76698).body); +var serializeRules = (__webpack_require__(76698).rules); + +function removeDuplicates(tokens) { + var matched = {}; + var moreThanOnce = []; + var id, token; + var body, bodies; + + for (var i = 0, l = tokens.length; i < l; i++) { + token = tokens[i]; + if (token[0] != Token.RULE) { continue; } + + id = serializeRules(token[1]); + + if (matched[id] && matched[id].length == 1) { moreThanOnce.push(id); } else { matched[id] = matched[id] || []; } + + matched[id].push(i); + } + + for (i = 0, l = moreThanOnce.length; i < l; i++) { + id = moreThanOnce[i]; + bodies = []; + + for (var j = matched[id].length - 1; j >= 0; j--) { + token = tokens[matched[id][j]]; + body = serializeBody(token[2]); + + if (bodies.indexOf(body) > -1) { token[2] = []; } else { bodies.push(body); } + } + } +} + +module.exports = removeDuplicates; + + +/***/ }, + +/***/ 49075 +(module, __unused_webpack_exports, __webpack_require__) { + +var populateComponents = __webpack_require__(24299); + +var wrapForOptimizing = (__webpack_require__(48597).single); +var restoreFromOptimizing = __webpack_require__(44424); + +var Token = __webpack_require__(50107); + +var animationNameRegex = /^(-moz-|-o-|-webkit-)?animation-name$/; +var animationRegex = /^(-moz-|-o-|-webkit-)?animation$/; +var keyframeRegex = /^@(-moz-|-o-|-webkit-)?keyframes /; +var importantRegex = /\s{0,31}!important$/; +var optionalMatchingQuotesRegex = /^(['"]?)(.*)\1$/; + +function normalize(value) { + return value + .replace(optionalMatchingQuotesRegex, '$2') + .replace(importantRegex, ''); +} + +function removeUnusedAtRules(tokens, context) { + removeUnusedAtRule(tokens, matchCounterStyle, markCounterStylesAsUsed, context); + removeUnusedAtRule(tokens, matchFontFace, markFontFacesAsUsed, context); + removeUnusedAtRule(tokens, matchKeyframe, markKeyframesAsUsed, context); + removeUnusedAtRule(tokens, matchNamespace, markNamespacesAsUsed, context); +} + +function removeUnusedAtRule(tokens, matchCallback, markCallback, context) { + var atRules = {}; + var atRule; + var atRuleTokens; + var atRuleToken; + var zeroAt; + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + matchCallback(tokens[i], atRules); + } + + if (Object.keys(atRules).length === 0) { + return; + } + + markUsedAtRules(tokens, markCallback, atRules, context); + + for (atRule in atRules) { + atRuleTokens = atRules[atRule]; + + for (i = 0, l = atRuleTokens.length; i < l; i++) { + atRuleToken = atRuleTokens[i]; + zeroAt = atRuleToken[0] == Token.AT_RULE ? 1 : 2; + atRuleToken[zeroAt] = []; + } + } +} + +function markUsedAtRules(tokens, markCallback, atRules, context) { + var boundMarkCallback = markCallback(atRules); + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + switch (tokens[i][0]) { + case Token.RULE: + boundMarkCallback(tokens[i], context); + break; + case Token.NESTED_BLOCK: + markUsedAtRules(tokens[i][2], markCallback, atRules, context); + } + } +} + +function matchCounterStyle(token, atRules) { + var match; + + if (token[0] == Token.AT_RULE_BLOCK && token[1][0][1].indexOf('@counter-style') === 0) { + match = token[1][0][1].split(' ')[1]; + atRules[match] = atRules[match] || []; + atRules[match].push(token); + } +} + +function markCounterStylesAsUsed(atRules) { + return function(token, context) { + var property; + var wrappedProperty; + var i, l; + + for (i = 0, l = token[2].length; i < l; i++) { + property = token[2][i]; + + if (property[1][1] == 'list-style') { + wrappedProperty = wrapForOptimizing(property); + populateComponents([wrappedProperty], context.validator, context.warnings); + + if (wrappedProperty.components[0].value[0][1] in atRules) { + delete atRules[property[2][1]]; + } + + restoreFromOptimizing([wrappedProperty]); + } + + if (property[1][1] == 'list-style-type' && property[2][1] in atRules) { + delete atRules[property[2][1]]; + } + } + }; +} + +function matchFontFace(token, atRules) { + var property; + var match; + var i, l; + + if (token[0] == Token.AT_RULE_BLOCK && token[1][0][1] == '@font-face') { + for (i = 0, l = token[2].length; i < l; i++) { + property = token[2][i]; + + if (property[1][1] == 'font-family') { + match = normalize(property[2][1].toLowerCase()); + atRules[match] = atRules[match] || []; + atRules[match].push(token); + break; + } + } + } +} + +function markFontFacesAsUsed(atRules) { + return function(token, context) { + var property; + var wrappedProperty; + var component; + var normalizedMatch; + var i, l; + var j, m; + + for (i = 0, l = token[2].length; i < l; i++) { + property = token[2][i]; + + if (property[1][1] == 'font') { + wrappedProperty = wrapForOptimizing(property); + populateComponents([wrappedProperty], context.validator, context.warnings); + component = wrappedProperty.components[6]; + + for (j = 0, m = component.value.length; j < m; j++) { + normalizedMatch = normalize(component.value[j][1].toLowerCase()); + + if (normalizedMatch in atRules) { + delete atRules[normalizedMatch]; + } + } + + restoreFromOptimizing([wrappedProperty]); + } + + if (property[1][1] == 'font-family') { + for (j = 2, m = property.length; j < m; j++) { + normalizedMatch = normalize(property[j][1].toLowerCase()); + + if (normalizedMatch in atRules) { + delete atRules[normalizedMatch]; + } + } + } + } + }; +} + +function matchKeyframe(token, atRules) { + var match; + + if (token[0] == Token.NESTED_BLOCK && keyframeRegex.test(token[1][0][1])) { + match = token[1][0][1].split(' ')[1]; + atRules[match] = atRules[match] || []; + atRules[match].push(token); + } +} + +function markKeyframesAsUsed(atRules) { + return function(token, context) { + var property; + var wrappedProperty; + var component; + var i, l; + var j, m; + + for (i = 0, l = token[2].length; i < l; i++) { + property = token[2][i]; + + if (animationRegex.test(property[1][1])) { + wrappedProperty = wrapForOptimizing(property); + populateComponents([wrappedProperty], context.validator, context.warnings); + component = wrappedProperty.components[7]; + + for (j = 0, m = component.value.length; j < m; j++) { + if (component.value[j][1] in atRules) { + delete atRules[component.value[j][1]]; + } + } + + restoreFromOptimizing([wrappedProperty]); + } + + if (animationNameRegex.test(property[1][1])) { + for (j = 2, m = property.length; j < m; j++) { + if (property[j][1] in atRules) { + delete atRules[property[j][1]]; + } + } + } + } + }; +} + +function matchNamespace(token, atRules) { + var match; + + if (token[0] == Token.AT_RULE && token[1].indexOf('@namespace') === 0) { + match = token[1].split(' ')[1]; + atRules[match] = atRules[match] || []; + atRules[match].push(token); + } +} + +function markNamespacesAsUsed(atRules) { + var namespaceRegex = new RegExp(Object.keys(atRules).join('\\||') + '\\|', 'g'); + + return function(token) { + var match; + var scope; + var normalizedMatch; + var i, l; + var j, m; + + for (i = 0, l = token[1].length; i < l; i++) { + scope = token[1][i]; + match = scope[1].match(namespaceRegex); + + for (j = 0, m = match.length; j < m; j++) { + normalizedMatch = match[j].substring(0, match[j].length - 1); + + if (normalizedMatch in atRules) { + delete atRules[normalizedMatch]; + } + } + } + }; +} + +module.exports = removeUnusedAtRules; + + +/***/ }, + +/***/ 32213 +(module, __unused_webpack_exports, __webpack_require__) { + +// TODO: it'd be great to merge it with the other canReorder functionality + +var rulesOverlap = __webpack_require__(29811); +var specificitiesOverlap = __webpack_require__(47380); + +var FLEX_PROPERTIES = /align-items|box-align|box-pack|flex|justify/; +var BORDER_PROPERTIES = /^border-(top|right|bottom|left|color|style|width|radius)/; + +function canReorder(left, right, cache) { + for (var i = right.length - 1; i >= 0; i--) { + for (var j = left.length - 1; j >= 0; j--) { + if (!canReorderSingle(left[j], right[i], cache)) { return false; } + } + } + + return true; +} + +function canReorderSingle(left, right, cache) { + var leftName = left[0]; + var leftValue = left[1]; + var leftNameRoot = left[2]; + var leftSelector = left[5]; + var leftInSpecificSelector = left[6]; + var rightName = right[0]; + var rightValue = right[1]; + var rightNameRoot = right[2]; + var rightSelector = right[5]; + var rightInSpecificSelector = right[6]; + + if (leftName == 'font' && rightName == 'line-height' || rightName == 'font' && leftName == 'line-height') { return false; } + if (FLEX_PROPERTIES.test(leftName) && FLEX_PROPERTIES.test(rightName)) { return false; } + if (leftNameRoot == rightNameRoot + && unprefixed(leftName) == unprefixed(rightName) + && (vendorPrefixed(leftName) ^ vendorPrefixed(rightName))) { return false; } + if (leftNameRoot == 'border' && BORDER_PROPERTIES.test(rightNameRoot) && (leftName == 'border' || leftName == rightNameRoot || (leftValue != rightValue && sameBorderComponent(leftName, rightName)))) { return false; } + if (rightNameRoot == 'border' && BORDER_PROPERTIES.test(leftNameRoot) && (rightName == 'border' || rightName == leftNameRoot || (leftValue != rightValue && sameBorderComponent(leftName, rightName)))) { return false; } + if (leftNameRoot == 'border' && rightNameRoot == 'border' && leftName != rightName && (isSideBorder(leftName) && isStyleBorder(rightName) || isStyleBorder(leftName) && isSideBorder(rightName))) { return false; } + if (leftNameRoot != rightNameRoot) { return true; } + if (leftName == rightName + && leftNameRoot == rightNameRoot + && (leftValue == rightValue || withDifferentVendorPrefix(leftValue, rightValue))) { return true; } + if (leftName != rightName + && leftNameRoot == rightNameRoot + && leftName != leftNameRoot + && rightName != rightNameRoot) { return true; } + if (leftName != rightName + && leftNameRoot == rightNameRoot + && leftValue == rightValue) { return true; } + if (rightInSpecificSelector + && leftInSpecificSelector + && !inheritable(leftNameRoot) + && !inheritable(rightNameRoot) + && !rulesOverlap(rightSelector, leftSelector, false)) { return true; } + if (!specificitiesOverlap(leftSelector, rightSelector, cache)) { return true; } + + return false; +} + +function vendorPrefixed(name) { + return /^-(?:moz|webkit|ms|o)-/.test(name); +} + +function unprefixed(name) { + return name.replace(/^-(?:moz|webkit|ms|o)-/, ''); +} + +function sameBorderComponent(name1, name2) { + return name1.split('-').pop() == name2.split('-').pop(); +} + +function isSideBorder(name) { + return name == 'border-top' || name == 'border-right' || name == 'border-bottom' || name == 'border-left'; +} + +function isStyleBorder(name) { + return name == 'border-color' || name == 'border-style' || name == 'border-width'; +} + +function withDifferentVendorPrefix(value1, value2) { + return vendorPrefixed(value1) && vendorPrefixed(value2) && value1.split('-')[1] != value2.split('-')[2]; +} + +function inheritable(name) { + // According to http://www.w3.org/TR/CSS21/propidx.html + // Others will be catched by other, preceeding rules + return name == 'font' || name == 'line-height' || name == 'list-style'; +} + +module.exports = { + canReorder: canReorder, + canReorderSingle: canReorderSingle +}; + + +/***/ }, + +/***/ 83818 +(module, __unused_webpack_exports, __webpack_require__) { + +var configuration = __webpack_require__(89142); + +function restoreWithComponents(property) { + var descriptor = configuration[property.name]; + + if (descriptor && descriptor.shorthand) { + return descriptor.restore(property, configuration); + } + return property.value; +} + +module.exports = restoreWithComponents; + + +/***/ }, + +/***/ 70188 +(module, __unused_webpack_exports, __webpack_require__) { + +var canReorderSingle = (__webpack_require__(32213).canReorderSingle); +var extractProperties = __webpack_require__(41781); +var isMergeable = __webpack_require__(96817); +var tidyRuleDuplicates = __webpack_require__(46698); + +var Token = __webpack_require__(50107); + +var cloneArray = __webpack_require__(43771); + +var serializeBody = (__webpack_require__(76698).body); +var serializeRules = (__webpack_require__(76698).rules); + +function naturalSorter(a, b) { + return a > b ? 1 : -1; +} + +function cloneAndMergeSelectors(propertyA, propertyB) { + var cloned = cloneArray(propertyA); + cloned[5] = cloned[5].concat(propertyB[5]); + + return cloned; +} + +function restructure(tokens, context) { + var options = context.options; + var mergeablePseudoClasses = options.compatibility.selectors.mergeablePseudoClasses; + var mergeablePseudoElements = options.compatibility.selectors.mergeablePseudoElements; + var mergeLimit = options.compatibility.selectors.mergeLimit; + var multiplePseudoMerging = options.compatibility.selectors.multiplePseudoMerging; + var specificityCache = context.cache.specificity; + var movableTokens = {}; + var movedProperties = []; + var multiPropertyMoveCache = {}; + var movedToBeDropped = []; + var maxCombinationsLevel = 2; + var ID_JOIN_CHARACTER = '%'; + + function sendToMultiPropertyMoveCache(position, movedProperty, allFits) { + for (var i = allFits.length - 1; i >= 0; i--) { + var fit = allFits[i][0]; + var id = addToCache(movedProperty, fit); + + if (multiPropertyMoveCache[id].length > 1 && processMultiPropertyMove(position, multiPropertyMoveCache[id])) { + removeAllMatchingFromCache(id); + break; + } + } + } + + function addToCache(movedProperty, fit) { + var id = cacheId(fit); + multiPropertyMoveCache[id] = multiPropertyMoveCache[id] || []; + multiPropertyMoveCache[id].push([movedProperty, fit]); + return id; + } + + function removeAllMatchingFromCache(matchId) { + var matchSelectors = matchId.split(ID_JOIN_CHARACTER); + var forRemoval = []; + var i; + + for (var id in multiPropertyMoveCache) { + var selectors = id.split(ID_JOIN_CHARACTER); + for (i = selectors.length - 1; i >= 0; i--) { + if (matchSelectors.indexOf(selectors[i]) > -1) { + forRemoval.push(id); + break; + } + } + } + + for (i = forRemoval.length - 1; i >= 0; i--) { + delete multiPropertyMoveCache[forRemoval[i]]; + } + } + + function cacheId(cachedTokens) { + var id = []; + for (var i = 0, l = cachedTokens.length; i < l; i++) { + id.push(serializeRules(cachedTokens[i][1])); + } + return id.join(ID_JOIN_CHARACTER); + } + + function tokensToMerge(sourceTokens) { + var uniqueTokensWithBody = []; + var mergeableTokens = []; + + for (var i = sourceTokens.length - 1; i >= 0; i--) { + if (!isMergeable( + serializeRules(sourceTokens[i][1]), + mergeablePseudoClasses, + mergeablePseudoElements, + multiplePseudoMerging + )) { + continue; + } + + mergeableTokens.unshift(sourceTokens[i]); + if (sourceTokens[i][2].length > 0 + && uniqueTokensWithBody.indexOf(sourceTokens[i]) == -1) { + uniqueTokensWithBody.push(sourceTokens[i]); + } + } + + return uniqueTokensWithBody.length > 1 + ? mergeableTokens + : []; + } + + function shortenIfPossible(position, movedProperty) { + var name = movedProperty[0]; + var value = movedProperty[1]; + var key = movedProperty[4]; + var valueSize = name.length + value.length + 1; + var allSelectors = []; + var qualifiedTokens = []; + + var mergeableTokens = tokensToMerge(movableTokens[key]); + if (mergeableTokens.length < 2) { return; } + + var allFits = findAllFits(mergeableTokens, valueSize, 1); + var bestFit = allFits[0]; + if (bestFit[1] > 0) { return sendToMultiPropertyMoveCache(position, movedProperty, allFits); } + + for (var i = bestFit[0].length - 1; i >= 0; i--) { + allSelectors = bestFit[0][i][1].concat(allSelectors); + qualifiedTokens.unshift(bestFit[0][i]); + } + + allSelectors = tidyRuleDuplicates(allSelectors); + dropAsNewTokenAt(position, [movedProperty], allSelectors, qualifiedTokens); + } + + function fitSorter(fit1, fit2) { + return fit1[1] > fit2[1] ? 1 : (fit1[1] == fit2[1] ? 0 : -1); + } + + function findAllFits(mergeableTokens, propertySize, propertiesCount) { + var combinations = allCombinations(mergeableTokens, propertySize, propertiesCount, maxCombinationsLevel - 1); + return combinations.sort(fitSorter); + } + + function allCombinations(tokensVariant, propertySize, propertiesCount, level) { + var differenceVariants = [[tokensVariant, sizeDifference(tokensVariant, propertySize, propertiesCount)]]; + if (tokensVariant.length > 2 && level > 0) { + for (var i = tokensVariant.length - 1; i >= 0; i--) { + var subVariant = Array.prototype.slice.call(tokensVariant, 0); + subVariant.splice(i, 1); + differenceVariants = differenceVariants.concat( + allCombinations(subVariant, propertySize, propertiesCount, level - 1) + ); + } + } + + return differenceVariants; + } + + function sizeDifference(tokensVariant, propertySize, propertiesCount) { + var allSelectorsSize = 0; + for (var i = tokensVariant.length - 1; i >= 0; i--) { + allSelectorsSize += tokensVariant[i][2].length > propertiesCount + ? serializeRules(tokensVariant[i][1]).length + : -1; + } + return allSelectorsSize - (tokensVariant.length - 1) * propertySize + 1; + } + + function dropAsNewTokenAt(position, properties, allSelectors, mergeableTokens) { + var i, j, k, m; + var allProperties = []; + + for (i = mergeableTokens.length - 1; i >= 0; i--) { + var mergeableToken = mergeableTokens[i]; + + for (j = mergeableToken[2].length - 1; j >= 0; j--) { + var mergeableProperty = mergeableToken[2][j]; + + for (k = 0, m = properties.length; k < m; k++) { + var property = properties[k]; + + var mergeablePropertyName = mergeableProperty[1][1]; + var propertyName = property[0]; + var propertyBody = property[4]; + if (mergeablePropertyName == propertyName && serializeBody([mergeableProperty]) == propertyBody) { + mergeableToken[2].splice(j, 1); + break; + } + } + } + } + + for (i = properties.length - 1; i >= 0; i--) { + allProperties.unshift(properties[i][3]); + } + + var newToken = [Token.RULE, allSelectors, allProperties]; + tokens.splice(position, 0, newToken); + } + + function dropPropertiesAt(position, movedProperty) { + var key = movedProperty[4]; + var toMove = movableTokens[key]; + + if (toMove && toMove.length > 1) { + if (!shortenMultiMovesIfPossible(position, movedProperty)) { shortenIfPossible(position, movedProperty); } + } + } + + function shortenMultiMovesIfPossible(position, movedProperty) { + var candidates = []; + var propertiesAndMergableTokens = []; + var key = movedProperty[4]; + var j, k; + + var mergeableTokens = tokensToMerge(movableTokens[key]); + if (mergeableTokens.length < 2) { return; } + + movableLoop: + for (var value in movableTokens) { + var tokensList = movableTokens[value]; + + for (j = mergeableTokens.length - 1; j >= 0; j--) { + if (tokensList.indexOf(mergeableTokens[j]) == -1) { continue movableLoop; } + } + + candidates.push(value); + } + + if (candidates.length < 2) { return false; } + + for (j = candidates.length - 1; j >= 0; j--) { + for (k = movedProperties.length - 1; k >= 0; k--) { + if (movedProperties[k][4] == candidates[j]) { + propertiesAndMergableTokens.unshift([movedProperties[k], mergeableTokens]); + break; + } + } + } + + return processMultiPropertyMove(position, propertiesAndMergableTokens); + } + + function processMultiPropertyMove(position, propertiesAndMergableTokens) { + var valueSize = 0; + var properties = []; + var property; + + for (var i = propertiesAndMergableTokens.length - 1; i >= 0; i--) { + property = propertiesAndMergableTokens[i][0]; + var fullValue = property[4]; + valueSize += fullValue.length + (i > 0 ? 1 : 0); + + properties.push(property); + } + + var mergeableTokens = propertiesAndMergableTokens[0][1]; + var bestFit = findAllFits(mergeableTokens, valueSize, properties.length)[0]; + if (bestFit[1] > 0) { return false; } + + var allSelectors = []; + var qualifiedTokens = []; + for (i = bestFit[0].length - 1; i >= 0; i--) { + allSelectors = bestFit[0][i][1].concat(allSelectors); + qualifiedTokens.unshift(bestFit[0][i]); + } + + allSelectors = tidyRuleDuplicates(allSelectors); + dropAsNewTokenAt(position, properties, allSelectors, qualifiedTokens); + + for (i = properties.length - 1; i >= 0; i--) { + property = properties[i]; + var index = movedProperties.indexOf(property); + + delete movableTokens[property[4]]; + + if (index > -1 && movedToBeDropped.indexOf(index) == -1) { movedToBeDropped.push(index); } + } + + return true; + } + + function boundToAnotherPropertyInCurrrentToken(property, movedProperty, token) { + var propertyName = property[0]; + var movedPropertyName = movedProperty[0]; + if (propertyName != movedPropertyName) { return false; } + + var key = movedProperty[4]; + var toMove = movableTokens[key]; + return toMove && toMove.indexOf(token) > -1; + } + + for (var i = tokens.length - 1; i >= 0; i--) { + var token = tokens[i]; + var isRule; + var j, k, m; + var samePropertyAt; + + if (token[0] == Token.RULE) { + isRule = true; + } else if (token[0] == Token.NESTED_BLOCK) { + isRule = false; + } else { + continue; + } + + // We cache movedProperties.length as it may change in the loop + var movedCount = movedProperties.length; + + var properties = extractProperties(token); + movedToBeDropped = []; + + var unmovableInCurrentToken = []; + for (j = properties.length - 1; j >= 0; j--) { + for (k = j - 1; k >= 0; k--) { + if (!canReorderSingle(properties[j], properties[k], specificityCache)) { + unmovableInCurrentToken.push(j); + break; + } + } + } + + for (j = properties.length - 1; j >= 0; j--) { + var property = properties[j]; + var movedSameProperty = false; + + for (k = 0; k < movedCount; k++) { + var movedProperty = movedProperties[k]; + + if (movedToBeDropped.indexOf(k) == -1 && ( + !canReorderSingle(property, movedProperty, specificityCache) + && !boundToAnotherPropertyInCurrrentToken(property, movedProperty, token) + || movableTokens[movedProperty[4]] && movableTokens[movedProperty[4]].length === mergeLimit) + ) { + dropPropertiesAt(i + 1, movedProperty); + + if (movedToBeDropped.indexOf(k) == -1) { + movedToBeDropped.push(k); + delete movableTokens[movedProperty[4]]; + } + } + + if (!movedSameProperty) { + movedSameProperty = property[0] == movedProperty[0] && property[1] == movedProperty[1]; + + if (movedSameProperty) { + samePropertyAt = k; + } + } + } + + if (!isRule || unmovableInCurrentToken.indexOf(j) > -1) { continue; } + + var key = property[4]; + + if (movedSameProperty && movedProperties[samePropertyAt][5].length + property[5].length > mergeLimit) { + dropPropertiesAt(i + 1, movedProperties[samePropertyAt]); + movedProperties.splice(samePropertyAt, 1); + movableTokens[key] = [token]; + movedSameProperty = false; + } else { + movableTokens[key] = movableTokens[key] || []; + movableTokens[key].push(token); + } + + if (movedSameProperty) { + movedProperties[samePropertyAt] = cloneAndMergeSelectors(movedProperties[samePropertyAt], property); + } else { + movedProperties.push(property); + } + } + + movedToBeDropped = movedToBeDropped.sort(naturalSorter); + for (j = 0, m = movedToBeDropped.length; j < m; j++) { + var dropAt = movedToBeDropped[j] - j; + movedProperties.splice(dropAt, 1); + } + } + + var position = tokens[0] && tokens[0][0] == Token.AT_RULE && tokens[0][1].indexOf('@charset') === 0 ? 1 : 0; + for (; position < tokens.length - 1; position++) { + var isImportRule = tokens[position][0] === Token.AT_RULE && tokens[position][1].indexOf('@import') === 0; + var isComment = tokens[position][0] === Token.COMMENT; + if (!(isImportRule || isComment)) { break; } + } + + for (i = 0; i < movedProperties.length; i++) { + dropPropertiesAt(position, movedProperties[i]); + } +} + +module.exports = restructure; + + +/***/ }, + +/***/ 29811 +(module) { + +var MODIFIER_PATTERN = /--.+$/; + +function rulesOverlap(rule1, rule2, bemMode) { + var scope1; + var scope2; + var i, l; + var j, m; + + for (i = 0, l = rule1.length; i < l; i++) { + scope1 = rule1[i][1]; + + for (j = 0, m = rule2.length; j < m; j++) { + scope2 = rule2[j][1]; + + if (scope1 == scope2) { + return true; + } + + if (bemMode && withoutModifiers(scope1) == withoutModifiers(scope2)) { + return true; + } + } + } + + return false; +} + +function withoutModifiers(scope) { + return scope.replace(MODIFIER_PATTERN, ''); +} + +module.exports = rulesOverlap; + + +/***/ }, + +/***/ 47380 +(module, __unused_webpack_exports, __webpack_require__) { + +var specificity = __webpack_require__(41054); + +function specificitiesOverlap(selector1, selector2, cache) { + var specificity1; + var specificity2; + var i, l; + var j, m; + + for (i = 0, l = selector1.length; i < l; i++) { + specificity1 = findSpecificity(selector1[i][1], cache); + + for (j = 0, m = selector2.length; j < m; j++) { + specificity2 = findSpecificity(selector2[j][1], cache); + + if (specificity1[0] === specificity2[0] + && specificity1[1] === specificity2[1] + && specificity1[2] === specificity2[2]) { + return true; + } + } + } + + return false; +} + +function findSpecificity(selector, cache) { + var value; + + if (!(selector in cache)) { + cache[selector] = value = specificity(selector); + } + + return value || cache[selector]; +} + +module.exports = specificitiesOverlap; + + +/***/ }, + +/***/ 41054 +(module, __unused_webpack_exports, __webpack_require__) { + +var Marker = __webpack_require__(9894); + +var Selector = { + ADJACENT_SIBLING: '+', + DESCENDANT: '>', + DOT: '.', + HASH: '#', + NON_ADJACENT_SIBLING: '~', + PSEUDO: ':' +}; + +var LETTER_PATTERN = /[a-zA-Z]/; +var NOT_PREFIX = ':not('; +var SEPARATOR_PATTERN = /[\s,(>~+]/; + +function specificity(selector) { + var result = [0, 0, 0]; + var character; + var isEscaped; + var isSingleQuoted; + var isDoubleQuoted; + var roundBracketLevel = 0; + var couldIntroduceNewTypeSelector; + var withinNotPseudoClass = false; + var wasPseudoClass = false; + var i, l; + + for (i = 0, l = selector.length; i < l; i++) { + character = selector[i]; + + if (isEscaped) { + // noop + } else if (character == Marker.SINGLE_QUOTE && !isDoubleQuoted && !isSingleQuoted) { + isSingleQuoted = true; + } else if (character == Marker.SINGLE_QUOTE && !isDoubleQuoted && isSingleQuoted) { + isSingleQuoted = false; + } else if (character == Marker.DOUBLE_QUOTE && !isDoubleQuoted && !isSingleQuoted) { + isDoubleQuoted = true; + } else if (character == Marker.DOUBLE_QUOTE && isDoubleQuoted && !isSingleQuoted) { + isDoubleQuoted = false; + } else if (isSingleQuoted || isDoubleQuoted) { + continue; + } else if (roundBracketLevel > 0 && !withinNotPseudoClass) { + // noop + } else if (character == Marker.OPEN_ROUND_BRACKET) { + roundBracketLevel++; + } else if (character == Marker.CLOSE_ROUND_BRACKET && roundBracketLevel == 1) { + roundBracketLevel--; + withinNotPseudoClass = false; + } else if (character == Marker.CLOSE_ROUND_BRACKET) { + roundBracketLevel--; + } else if (character == Selector.HASH) { + result[0]++; + } else if (character == Selector.DOT || character == Marker.OPEN_SQUARE_BRACKET) { + result[1]++; + } else if (character == Selector.PSEUDO && !wasPseudoClass && !isNotPseudoClass(selector, i)) { + result[1]++; + withinNotPseudoClass = false; + } else if (character == Selector.PSEUDO) { + withinNotPseudoClass = true; + } else if ((i === 0 || couldIntroduceNewTypeSelector) && LETTER_PATTERN.test(character)) { + result[2]++; + } + + isEscaped = character == Marker.BACK_SLASH; + wasPseudoClass = character == Selector.PSEUDO; + couldIntroduceNewTypeSelector = !isEscaped && SEPARATOR_PATTERN.test(character); + } + + return result; +} + +function isNotPseudoClass(selector, index) { + return selector.indexOf(NOT_PREFIX, index) === index; +} + +module.exports = specificity; + + +/***/ }, + +/***/ 46698 +(module) { + +function ruleSorter(s1, s2) { + return s1[1] > s2[1] ? 1 : -1; +} + +function tidyRuleDuplicates(rules) { + var list = []; + var repeated = []; + + for (var i = 0, l = rules.length; i < l; i++) { + var rule = rules[i]; + + if (repeated.indexOf(rule[1]) == -1) { + repeated.push(rule[1]); + list.push(rule); + } + } + + return list.sort(ruleSorter); +} + +module.exports = tidyRuleDuplicates; + + +/***/ }, + +/***/ 11561 +(module) { + +function removeUnused(properties) { + for (var i = properties.length - 1; i >= 0; i--) { + var property = properties[i]; + + if (property.unused) { + property.all.splice(property.position, 1); + } + } +} + +module.exports = removeUnused; + + +/***/ }, + +/***/ 44424 +(module, __unused_webpack_exports, __webpack_require__) { + +var Hack = __webpack_require__(41195); + +var Marker = __webpack_require__(9894); + +var ASTERISK_HACK = '*'; +var BACKSLASH_HACK = '\\'; +var IMPORTANT_TOKEN = '!important'; +var UNDERSCORE_HACK = '_'; +var BANG_HACK = '!ie'; + +function restoreFromOptimizing(properties, restoreCallback) { + var property; + var restored; + var current; + var i; + + for (i = properties.length - 1; i >= 0; i--) { + property = properties[i]; + + if (property.dynamic && property.important) { + restoreImportant(property); + continue; + } + + if (property.dynamic) { + continue; + } + + if (property.unused) { + continue; + } + + if (!property.dirty && !property.important && !property.hack) { + continue; + } + + if (property.optimizable && restoreCallback) { + restored = restoreCallback(property); + property.value = restored; + } else { + restored = property.value; + } + + if (property.important) { + restoreImportant(property); + } + + if (property.hack) { + restoreHack(property); + } + + if ('all' in property) { + current = property.all[property.position]; + current[1][1] = property.name; + + current.splice(2, current.length - 1); + Array.prototype.push.apply(current, restored); + } + } +} + +function restoreImportant(property) { + property.value[property.value.length - 1][1] += IMPORTANT_TOKEN; +} + +function restoreHack(property) { + if (property.hack[0] == Hack.UNDERSCORE) { + property.name = UNDERSCORE_HACK + property.name; + } else if (property.hack[0] == Hack.ASTERISK) { + property.name = ASTERISK_HACK + property.name; + } else if (property.hack[0] == Hack.BACKSLASH) { + property.value[property.value.length - 1][1] += BACKSLASH_HACK + property.hack[1]; + } else if (property.hack[0] == Hack.BANG) { + property.value[property.value.length - 1][1] += Marker.SPACE + BANG_HACK; + } +} + +module.exports = restoreFromOptimizing; + + +/***/ }, + +/***/ 97406 +(module) { + +var functionNoVendorRegexStr = '[A-Z]+(\\-|[A-Z]|[0-9])+\\(.*?\\)'; +var functionVendorRegexStr = '\\-(\\-|[A-Z]|[0-9])+\\(.*?\\)'; +var variableRegexStr = 'var\\(\\-\\-[^\\)]+\\)'; +var functionAnyRegexStr = '(' + variableRegexStr + '|' + functionNoVendorRegexStr + '|' + functionVendorRegexStr + ')'; + +var calcRegex = new RegExp('^(\\-moz\\-|\\-webkit\\-)?calc\\([^\\)]+\\)$', 'i'); +var decimalRegex = /[0-9]/; +var functionAnyRegex = new RegExp('^' + functionAnyRegexStr + '$', 'i'); +var hexAlphaColorRegex = /^#(?:[0-9a-f]{4}|[0-9a-f]{8})$/i; +// eslint-disable-next-line max-len +var hslColorRegex = /^hsl\(\s{0,31}[-.]?\d+\s{0,31},\s{0,31}\d*\.?\d+%\s{0,31},\s{0,31}\d*\.?\d+%\s{0,31}\)|hsla\(\s{0,31}[-.]?\d+\s{0,31},\s{0,31}\d*\.?\d+%\s{0,31},\s{0,31}\d*\.?\d+%\s{0,31},\s{0,31}\.?\d+\s{0,31}\)$/; +// eslint-disable-next-line max-len +var hslColorWithSpacesRegex = /^hsl\(\s{0,31}[-.]?\d+(deg)?\s{1,31}\d*\.?\d+%\s{1,31}\d*\.?\d+%\s{0,31}\)|hsla\(\s{0,31}[-.]?\d+(deg)?\s{1,31}\d*\.?\d+%\s{1,31}\d*\.?\d+%\s{1,31}\/\s{1,31}\d*\.?\d+%?\s{0,31}\)$/; +var identifierRegex = /^(-[a-z0-9_][a-z0-9\-_]*|[a-z_][a-z0-9\-_]*)$/i; +var namedEntityRegex = /^[a-z]+$/i; +var prefixRegex = /^-([a-z0-9]|-)*$/i; +var quotedTextRegex = /^("[^"]*"|'[^']*')$/i; +// eslint-disable-next-line max-len +var rgbColorRegex = /^rgb\(\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31}\)|rgba\(\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[.\d]+\s{0,31}\)$/i; +// eslint-disable-next-line max-len +var rgbColorWithSpacesRegex = /^rgb\(\s{0,31}[\d]{1,3}\s{1,31}[\d]{1,3}\s{1,31}[\d]{1,3}\s{0,31}\)|rgba\(\s{0,31}[\d]{1,3}\s{1,31}[\d]{1,3}\s{1,31}[\d]{1,3}\s{1,31}\/\s{1,31}[\d]*\.?[.\d]+%?\s{0,31}\)$/i; +var timeUnitPattern = /\d+(s|ms)/; +var timingFunctionRegex = /^(cubic-bezier|steps)\([^)]+\)$/; +var validTimeUnits = ['ms', 's']; +var urlRegex = /^url\([\s\S]+\)$/i; +var variableRegex = new RegExp('^' + variableRegexStr + '$', 'i'); + +var eightValueColorRegex = /^#[0-9a-f]{8}$/i; +var fourValueColorRegex = /^#[0-9a-f]{4}$/i; +var sixValueColorRegex = /^#[0-9a-f]{6}$/i; +var threeValueColorRegex = /^#[0-9a-f]{3}$/i; + +var DECIMAL_DOT = '.'; +var MINUS_SIGN = '-'; +var PLUS_SIGN = '+'; + +var Keywords = { + '^': [ + 'inherit', + 'initial', + 'unset' + ], + '*-style': [ + 'auto', + 'dashed', + 'dotted', + 'double', + 'groove', + 'hidden', + 'inset', + 'none', + 'outset', + 'ridge', + 'solid' + ], + '*-timing-function': [ + 'ease', + 'ease-in', + 'ease-in-out', + 'ease-out', + 'linear', + 'step-end', + 'step-start' + ], + 'animation-direction': [ + 'alternate', + 'alternate-reverse', + 'normal', + 'reverse' + ], + 'animation-fill-mode': [ + 'backwards', + 'both', + 'forwards', + 'none' + ], + 'animation-iteration-count': [ + 'infinite' + ], + 'animation-name': [ + 'none' + ], + 'animation-play-state': [ + 'paused', + 'running' + ], + 'background-attachment': [ + 'fixed', + 'inherit', + 'local', + 'scroll' + ], + 'background-clip': [ + 'border-box', + 'content-box', + 'inherit', + 'padding-box', + 'text' + ], + 'background-origin': [ + 'border-box', + 'content-box', + 'inherit', + 'padding-box' + ], + 'background-position': [ + 'bottom', + 'center', + 'left', + 'right', + 'top' + ], + 'background-repeat': [ + 'no-repeat', + 'inherit', + 'repeat', + 'repeat-x', + 'repeat-y', + 'round', + 'space' + ], + 'background-size': [ + 'auto', + 'cover', + 'contain' + ], + 'border-collapse': [ + 'collapse', + 'inherit', + 'separate' + ], + bottom: [ + 'auto' + ], + clear: [ + 'both', + 'left', + 'none', + 'right' + ], + color: [ + 'transparent' + ], + cursor: [ + 'all-scroll', + 'auto', + 'col-resize', + 'crosshair', + 'default', + 'e-resize', + 'help', + 'move', + 'n-resize', + 'ne-resize', + 'no-drop', + 'not-allowed', + 'nw-resize', + 'pointer', + 'progress', + 'row-resize', + 's-resize', + 'se-resize', + 'sw-resize', + 'text', + 'vertical-text', + 'w-resize', + 'wait' + ], + display: [ + 'block', + 'inline', + 'inline-block', + 'inline-table', + 'list-item', + 'none', + 'table', + 'table-caption', + 'table-cell', + 'table-column', + 'table-column-group', + 'table-footer-group', + 'table-header-group', + 'table-row', + 'table-row-group' + ], + float: [ + 'left', + 'none', + 'right' + ], + left: [ + 'auto' + ], + font: [ + 'caption', + 'icon', + 'menu', + 'message-box', + 'small-caption', + 'status-bar', + 'unset' + ], + 'font-size': [ + 'large', + 'larger', + 'medium', + 'small', + 'smaller', + 'x-large', + 'x-small', + 'xx-large', + 'xx-small' + ], + 'font-stretch': [ + 'condensed', + 'expanded', + 'extra-condensed', + 'extra-expanded', + 'normal', + 'semi-condensed', + 'semi-expanded', + 'ultra-condensed', + 'ultra-expanded' + ], + 'font-style': [ + 'italic', + 'normal', + 'oblique' + ], + 'font-variant': [ + 'normal', + 'small-caps' + ], + 'font-weight': [ + '100', + '200', + '300', + '400', + '500', + '600', + '700', + '800', + '900', + 'bold', + 'bolder', + 'lighter', + 'normal' + ], + 'line-height': [ + 'normal' + ], + 'list-style-position': [ + 'inside', + 'outside' + ], + 'list-style-type': [ + 'armenian', + 'circle', + 'decimal', + 'decimal-leading-zero', + 'disc', + 'decimal|disc', // this is the default value of list-style-type, see comment in configuration.js + 'georgian', + 'lower-alpha', + 'lower-greek', + 'lower-latin', + 'lower-roman', + 'none', + 'square', + 'upper-alpha', + 'upper-latin', + 'upper-roman' + ], + overflow: [ + 'auto', + 'hidden', + 'scroll', + 'visible' + ], + position: [ + 'absolute', + 'fixed', + 'relative', + 'static' + ], + right: [ + 'auto' + ], + 'text-align': [ + 'center', + 'justify', + 'left', + 'left|right', // this is the default value of list-style-type, see comment in configuration.js + 'right' + ], + 'text-decoration': [ + 'line-through', + 'none', + 'overline', + 'underline' + ], + 'text-overflow': [ + 'clip', + 'ellipsis' + ], + top: [ + 'auto' + ], + 'vertical-align': [ + 'baseline', + 'bottom', + 'middle', + 'sub', + 'super', + 'text-bottom', + 'text-top', + 'top' + ], + visibility: [ + 'collapse', + 'hidden', + 'visible' + ], + 'white-space': [ + 'normal', + 'nowrap', + 'pre' + ], + width: [ + 'inherit', + 'initial', + 'medium', + 'thick', + 'thin' + ] +}; + +var Units = [ + '%', + 'ch', + 'cm', + 'em', + 'ex', + 'in', + 'mm', + 'pc', + 'pt', + 'px', + 'rem', + 'vh', + 'vm', + 'vmax', + 'vmin', + 'vw' +]; + +function isColor(value) { + return value != 'auto' + && ( + isKeyword('color')(value) + || isHexColor(value) + || isColorFunction(value) + || isNamedEntity(value) + ); +} + +function isColorFunction(value) { + return isRgbColor(value) || isHslColor(value); +} + +function isDynamicUnit(value) { + return calcRegex.test(value); +} + +function isFunction(value) { + return functionAnyRegex.test(value); +} + +function isHexColor(value) { + return threeValueColorRegex.test(value) + || fourValueColorRegex.test(value) + || sixValueColorRegex.test(value) + || eightValueColorRegex.test(value); +} + +function isHslColor(value) { + return hslColorRegex.test(value) || hslColorWithSpacesRegex.test(value); +} + +function isHexAlphaColor(value) { + return hexAlphaColorRegex.test(value); +} + +function isIdentifier(value) { + return identifierRegex.test(value); +} + +function isQuotedText(value) { + return quotedTextRegex.test(value); +} + +function isImage(value) { + return value == 'none' || value == 'inherit' || isUrl(value); +} + +function isKeyword(propertyName) { + return function(value) { + return Keywords[propertyName].indexOf(value) > -1; + }; +} + +function isNamedEntity(value) { + return namedEntityRegex.test(value); +} + +function isNumber(value) { + return scanForNumber(value) == value.length; +} + +function isRgbColor(value) { + return rgbColorRegex.test(value) || rgbColorWithSpacesRegex.test(value); +} + +function isPrefixed(value) { + return prefixRegex.test(value); +} + +function isPositiveNumber(value) { + return isNumber(value) + && parseFloat(value) >= 0; +} + +function isVariable(value) { + return variableRegex.test(value); +} + +function isTime(value) { + var numberUpTo = scanForNumber(value); + + return numberUpTo == value.length && parseInt(value) === 0 + || numberUpTo > -1 && validTimeUnits.indexOf(value.slice(numberUpTo + 1)) > -1 + || isCalculatedTime(value); +} + +function isCalculatedTime(value) { + return isFunction(value) && timeUnitPattern.test(value); +} + +function isTimingFunction() { + var isTimingFunctionKeyword = isKeyword('*-timing-function'); + + return function(value) { + return isTimingFunctionKeyword(value) || timingFunctionRegex.test(value); + }; +} + +function isUnit(validUnits, value) { + var numberUpTo = scanForNumber(value); + + return numberUpTo == value.length && parseInt(value) === 0 + || numberUpTo > -1 && validUnits.indexOf(value.slice(numberUpTo + 1).toLowerCase()) > -1 + || value == 'auto' + || value == 'inherit'; +} + +function isUrl(value) { + return urlRegex.test(value); +} + +function isZIndex(value) { + return value == 'auto' + || isNumber(value) + || isKeyword('^')(value); +} + +function scanForNumber(value) { + var hasDot = false; + var hasSign = false; + var character; + var i, l; + + for (i = 0, l = value.length; i < l; i++) { + character = value[i]; + + if (i === 0 && (character == PLUS_SIGN || character == MINUS_SIGN)) { + hasSign = true; + } else if (i > 0 && hasSign && (character == PLUS_SIGN || character == MINUS_SIGN)) { + return i - 1; + } else if (character == DECIMAL_DOT && !hasDot) { + hasDot = true; + } else if (character == DECIMAL_DOT && hasDot) { + return i - 1; + } else if (decimalRegex.test(character)) { + continue; + } else { + return i - 1; + } + } + + return i; +} + +function validator(compatibility) { + var validUnits = Units.slice(0).filter(function(value) { + return !(value in compatibility.units) || compatibility.units[value] === true; + }); + + if (compatibility.customUnits.rpx) { + validUnits.push('rpx'); + } + + return { + colorOpacity: compatibility.colors.opacity, + colorHexAlpha: compatibility.colors.hexAlpha, + isAnimationDirectionKeyword: isKeyword('animation-direction'), + isAnimationFillModeKeyword: isKeyword('animation-fill-mode'), + isAnimationIterationCountKeyword: isKeyword('animation-iteration-count'), + isAnimationNameKeyword: isKeyword('animation-name'), + isAnimationPlayStateKeyword: isKeyword('animation-play-state'), + isTimingFunction: isTimingFunction(), + isBackgroundAttachmentKeyword: isKeyword('background-attachment'), + isBackgroundClipKeyword: isKeyword('background-clip'), + isBackgroundOriginKeyword: isKeyword('background-origin'), + isBackgroundPositionKeyword: isKeyword('background-position'), + isBackgroundRepeatKeyword: isKeyword('background-repeat'), + isBackgroundSizeKeyword: isKeyword('background-size'), + isColor: isColor, + isColorFunction: isColorFunction, + isDynamicUnit: isDynamicUnit, + isFontKeyword: isKeyword('font'), + isFontSizeKeyword: isKeyword('font-size'), + isFontStretchKeyword: isKeyword('font-stretch'), + isFontStyleKeyword: isKeyword('font-style'), + isFontVariantKeyword: isKeyword('font-variant'), + isFontWeightKeyword: isKeyword('font-weight'), + isFunction: isFunction, + isGlobal: isKeyword('^'), + isHexAlphaColor: isHexAlphaColor, + isHslColor: isHslColor, + isIdentifier: isIdentifier, + isImage: isImage, + isKeyword: isKeyword, + isLineHeightKeyword: isKeyword('line-height'), + isListStylePositionKeyword: isKeyword('list-style-position'), + isListStyleTypeKeyword: isKeyword('list-style-type'), + isNumber: isNumber, + isPrefixed: isPrefixed, + isPositiveNumber: isPositiveNumber, + isQuotedText: isQuotedText, + isRgbColor: isRgbColor, + isStyleKeyword: isKeyword('*-style'), + isTime: isTime, + isUnit: isUnit.bind(null, validUnits), + isUrl: isUrl, + isVariable: isVariable, + isWidth: isKeyword('width'), + isZIndex: isZIndex + }; +} + +module.exports = validator; + + +/***/ }, + +/***/ 99573 +(module) { + +var VENDOR_PREFIX_PATTERN = /(?:^|\W)(-\w+-)/g; + +function unique(value) { + var prefixes = []; + var match; + + // eslint-disable-next-line no-cond-assign + while ((match = VENDOR_PREFIX_PATTERN.exec(value)) !== null) { + if (prefixes.indexOf(match[0]) == -1) { + prefixes.push(match[0]); + } + } + + return prefixes; +} + +function same(value1, value2) { + return unique(value1).sort().join(',') == unique(value2).sort().join(','); +} + +module.exports = { + unique: unique, + same: same +}; + + +/***/ }, + +/***/ 48597 +(module, __unused_webpack_exports, __webpack_require__) { + +var Hack = __webpack_require__(41195); + +var Marker = __webpack_require__(9894); +var Token = __webpack_require__(50107); + +var Match = { + ASTERISK: '*', + BACKSLASH: '\\', + BANG: '!', + BANG_SUFFIX_PATTERN: /!\w+$/, + IMPORTANT_TOKEN: '!important', + IMPORTANT_TOKEN_PATTERN: new RegExp('!important$', 'i'), + IMPORTANT_WORD: 'important', + IMPORTANT_WORD_PATTERN: new RegExp('important$', 'i'), + SUFFIX_BANG_PATTERN: /!$/, + UNDERSCORE: '_', + VARIABLE_REFERENCE_PATTERN: /var\(--.+\)$/ +}; + +function wrapAll(properties, skipProperties) { + var wrapped = []; + var single; + var property; + var i; + + for (i = properties.length - 1; i >= 0; i--) { + property = properties[i]; + + if (property[0] != Token.PROPERTY) { + continue; + } + + if (skipProperties && skipProperties.indexOf(property[1][1]) > -1) { + continue; + } + + single = wrapSingle(property); + single.all = properties; + single.position = i; + wrapped.unshift(single); + } + + return wrapped; +} + +function someVariableReferences(property) { + var i, l; + var value; + + // skipping `property` and property name tokens + for (i = 2, l = property.length; i < l; i++) { + value = property[i]; + + if (value[0] != Token.PROPERTY_VALUE) { + continue; + } + + if (isVariableReference(value[1])) { + return true; + } + } + + return false; +} + +function isVariableReference(value) { + return Match.VARIABLE_REFERENCE_PATTERN.test(value); +} + +function isMultiplex(property) { + var value; + var i, l; + + for (i = 3, l = property.length; i < l; i++) { + value = property[i]; + + if (value[0] == Token.PROPERTY_VALUE && (value[1] == Marker.COMMA || value[1] == Marker.FORWARD_SLASH)) { + return true; + } + } + + return false; +} + +function hackFrom(property) { + var match = false; + var name = property[1][1]; + var lastValue = property[property.length - 1]; + + if (name[0] == Match.UNDERSCORE) { + match = [Hack.UNDERSCORE]; + } else if (name[0] == Match.ASTERISK) { + match = [Hack.ASTERISK]; + } else if (lastValue[1][0] == Match.BANG && !lastValue[1].match(Match.IMPORTANT_WORD_PATTERN)) { + match = [Hack.BANG]; + } else if (lastValue[1].indexOf(Match.BANG) > 0 + && !lastValue[1].match(Match.IMPORTANT_WORD_PATTERN) + && Match.BANG_SUFFIX_PATTERN.test(lastValue[1])) { + match = [Hack.BANG]; + } else if (lastValue[1].indexOf(Match.BACKSLASH) > 0 + && lastValue[1].indexOf(Match.BACKSLASH) == lastValue[1].length - Match.BACKSLASH.length - 1) { + match = [Hack.BACKSLASH, lastValue[1].substring(lastValue[1].indexOf(Match.BACKSLASH) + 1)]; + } else if (lastValue[1].indexOf(Match.BACKSLASH) === 0 && lastValue[1].length == 2) { + match = [Hack.BACKSLASH, lastValue[1].substring(1)]; + } + + return match; +} + +function isImportant(property) { + if (property.length < 3) { return false; } + + var lastValue = property[property.length - 1]; + if (Match.IMPORTANT_TOKEN_PATTERN.test(lastValue[1])) { + return true; + } if (Match.IMPORTANT_WORD_PATTERN.test(lastValue[1]) + && Match.SUFFIX_BANG_PATTERN.test(property[property.length - 2][1])) { + return true; + } + + return false; +} + +function stripImportant(property) { + var lastValue = property[property.length - 1]; + var oneButLastValue = property[property.length - 2]; + + if (Match.IMPORTANT_TOKEN_PATTERN.test(lastValue[1])) { + lastValue[1] = lastValue[1].replace(Match.IMPORTANT_TOKEN_PATTERN, ''); + } else { + lastValue[1] = lastValue[1].replace(Match.IMPORTANT_WORD_PATTERN, ''); + oneButLastValue[1] = oneButLastValue[1].replace(Match.SUFFIX_BANG_PATTERN, ''); + } + + if (lastValue[1].length === 0) { + property.pop(); + } + + if (oneButLastValue[1].length === 0) { + property.pop(); + } +} + +function stripPrefixHack(property) { + property[1][1] = property[1][1].substring(1); +} + +function stripSuffixHack(property, hackFrom) { + var lastValue = property[property.length - 1]; + lastValue[1] = lastValue[1] + .substring(0, lastValue[1].indexOf(hackFrom[0] == Hack.BACKSLASH ? Match.BACKSLASH : Match.BANG)) + .trim(); + + if (lastValue[1].length === 0) { + property.pop(); + } +} + +function wrapSingle(property) { + var importantProperty = isImportant(property); + if (importantProperty) { + stripImportant(property); + } + + var whichHack = hackFrom(property); + if (whichHack[0] == Hack.ASTERISK || whichHack[0] == Hack.UNDERSCORE) { + stripPrefixHack(property); + } else if (whichHack[0] == Hack.BACKSLASH || whichHack[0] == Hack.BANG) { + stripSuffixHack(property, whichHack); + } + + return { + block: property[2] && property[2][0] == Token.PROPERTY_BLOCK, + components: [], + dirty: false, + dynamic: someVariableReferences(property), + hack: whichHack, + important: importantProperty, + name: property[1][1], + multiplex: property.length > 3 ? isMultiplex(property) : false, + optimizable: true, + position: 0, + shorthand: false, + unused: false, + value: property.slice(2) + }; +} + +module.exports = { + all: wrapAll, + single: wrapSingle +}; + + +/***/ }, + +/***/ 77081 +(module) { + +var DEFAULTS = { + '*': { + colors: { + hexAlpha: false, // 4- and 8-character hex notation + opacity: true // rgba / hsla + }, + customUnits: { rpx: false }, + properties: { + backgroundClipMerging: true, // background-clip to shorthand + backgroundOriginMerging: true, // background-origin to shorthand + backgroundSizeMerging: true, // background-size to shorthand + colors: true, // any kind of color transformations, like `#ff00ff` to `#f0f` or `#fff` into `red` + ieBangHack: false, // !ie suffix hacks on IE<8 + ieFilters: false, // whether to preserve `filter` and `-ms-filter` properties + iePrefixHack: false, // underscore / asterisk prefix hacks on IE + ieSuffixHack: false, // \9 suffix hacks on IE6-9, \0 suffix hack on IE6-11 + merging: true, // merging properties into one + shorterLengthUnits: false, // optimize pixel units into `pt`, `pc` or `in` units + spaceAfterClosingBrace: true, // 'url() no-repeat' to 'url()no-repeat' + urlQuotes: true, // whether to wrap content of `url()` into quotes or not + zeroUnits: true // 0[unit] -> 0 + }, + selectors: { + adjacentSpace: false, // div+ nav Android stock browser hack + ie7Hack: false, // *+html hack + mergeablePseudoClasses: [ + ':active', + ':after', + ':before', + ':empty', + ':checked', + ':disabled', + ':empty', + ':enabled', + ':first-child', + ':first-letter', + ':first-line', + ':first-of-type', + ':focus', + ':hover', + ':lang', + ':last-child', + ':last-of-type', + ':link', + ':not', + ':nth-child', + ':nth-last-child', + ':nth-last-of-type', + ':nth-of-type', + ':only-child', + ':only-of-type', + ':root', + ':target', + ':visited' + ], // selectors with these pseudo-classes can be merged as these are universally supported + mergeablePseudoElements: [ + '::after', + '::before', + '::first-letter', + '::first-line' + ], // selectors with these pseudo-elements can be merged as these are universally supported + mergeLimit: 8191, // number of rules that can be safely merged together + multiplePseudoMerging: true + }, + units: { + ch: true, + in: true, + pc: true, + pt: true, + rem: true, + vh: true, + vm: true, // vm is vmin on IE9+ see https://developer.mozilla.org/en-US/docs/Web/CSS/length + vmax: true, + vmin: true, + vw: true + } + } +}; + +DEFAULTS.ie11 = merge(DEFAULTS['*'], { properties: { ieSuffixHack: true } }); + +DEFAULTS.ie10 = merge(DEFAULTS['*'], { properties: { ieSuffixHack: true } }); + +DEFAULTS.ie9 = merge(DEFAULTS['*'], { + properties: { + ieFilters: true, + ieSuffixHack: true + } +}); + +DEFAULTS.ie8 = merge(DEFAULTS.ie9, { + colors: { opacity: false }, + properties: { + backgroundClipMerging: false, + backgroundOriginMerging: false, + backgroundSizeMerging: false, + iePrefixHack: true, + merging: false + }, + selectors: { + mergeablePseudoClasses: [ + ':after', + ':before', + ':first-child', + ':first-letter', + ':focus', + ':hover', + ':visited' + ], + mergeablePseudoElements: [] + }, + units: { + ch: false, + rem: false, + vh: false, + vm: false, + vmax: false, + vmin: false, + vw: false + } +}); + +DEFAULTS.ie7 = merge(DEFAULTS.ie8, { + properties: { ieBangHack: true }, + selectors: { + ie7Hack: true, + mergeablePseudoClasses: [ + ':first-child', + ':first-letter', + ':hover', + ':visited' + ] + } +}); + +function compatibilityFrom(source) { + return merge(DEFAULTS['*'], calculateSource(source)); +} + +function merge(source, target) { + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + var value = source[key]; + + if (Object.prototype.hasOwnProperty.call(target, key) && typeof value === 'object' && !Array.isArray(value)) { + target[key] = merge(value, target[key] || {}); + } else { + target[key] = key in target ? target[key] : value; + } + } + } + + return target; +} + +function calculateSource(source) { + if (typeof source == 'object') { return source; } + + if (!/[,+-]/.test(source)) { return DEFAULTS[source] || DEFAULTS['*']; } + + var parts = source.split(','); + var template = parts[0] in DEFAULTS + ? DEFAULTS[parts.shift()] + : DEFAULTS['*']; + + source = {}; + + parts.forEach(function(part) { + var isAdd = part[0] == '+'; + var key = part.substring(1).split('.'); + var group = key[0]; + var option = key[1]; + + source[group] = source[group] || {}; + source[group][option] = isAdd; + }); + + return merge(template, source); +} + +module.exports = compatibilityFrom; + + +/***/ }, + +/***/ 73637 +(module, __unused_webpack_exports, __webpack_require__) { + +var loadRemoteResource = __webpack_require__(72464); + +function fetchFrom(callback) { + return callback || loadRemoteResource; +} + +module.exports = fetchFrom; + + +/***/ }, + +/***/ 462 +(module, __unused_webpack_exports, __webpack_require__) { + +var override = __webpack_require__(56480); + +function getSystemLineBreak() { + var systemLineBreak = '\n'; + try { + var os = __webpack_require__(70857); + systemLineBreak = os.EOL; + } catch (_) { + // no op + } + return systemLineBreak; +} + +var Breaks = { + AfterAtRule: 'afterAtRule', + AfterBlockBegins: 'afterBlockBegins', + AfterBlockEnds: 'afterBlockEnds', + AfterComment: 'afterComment', + AfterProperty: 'afterProperty', + AfterRuleBegins: 'afterRuleBegins', + AfterRuleEnds: 'afterRuleEnds', + BeforeBlockEnds: 'beforeBlockEnds', + BetweenSelectors: 'betweenSelectors' +}; + +var BreakWith = { + CarriageReturnLineFeed: '\r\n', + LineFeed: '\n', + System: getSystemLineBreak() +}; + +var IndentWith = { + Space: ' ', + Tab: '\t' +}; + +var Spaces = { + AroundSelectorRelation: 'aroundSelectorRelation', + BeforeBlockBegins: 'beforeBlockBegins', + BeforeValue: 'beforeValue' +}; + +var DEFAULTS = { + breaks: breaks(false), + breakWith: BreakWith.System, + indentBy: 0, + indentWith: IndentWith.Space, + spaces: spaces(false), + wrapAt: false, + semicolonAfterLastProperty: false +}; + +var BEAUTIFY_ALIAS = 'beautify'; +var KEEP_BREAKS_ALIAS = 'keep-breaks'; + +var OPTION_SEPARATOR = ';'; +var OPTION_NAME_VALUE_SEPARATOR = ':'; +var HASH_VALUES_OPTION_SEPARATOR = ','; +var HASH_VALUES_NAME_VALUE_SEPARATOR = '='; + +var FALSE_KEYWORD_1 = 'false'; +var FALSE_KEYWORD_2 = 'off'; +var TRUE_KEYWORD_1 = 'true'; +var TRUE_KEYWORD_2 = 'on'; + +function breaks(value) { + var breakOptions = {}; + + breakOptions[Breaks.AfterAtRule] = value; + breakOptions[Breaks.AfterBlockBegins] = value; + breakOptions[Breaks.AfterBlockEnds] = value; + breakOptions[Breaks.AfterComment] = value; + breakOptions[Breaks.AfterProperty] = value; + breakOptions[Breaks.AfterRuleBegins] = value; + breakOptions[Breaks.AfterRuleEnds] = value; + breakOptions[Breaks.BeforeBlockEnds] = value; + breakOptions[Breaks.BetweenSelectors] = value; + + return breakOptions; +} + +function spaces(value) { + var spaceOptions = {}; + + spaceOptions[Spaces.AroundSelectorRelation] = value; + spaceOptions[Spaces.BeforeBlockBegins] = value; + spaceOptions[Spaces.BeforeValue] = value; + + return spaceOptions; +} + +function formatFrom(source) { + if (source === undefined || source === false) { + return false; + } + + if (typeof source == 'object' && 'breakWith' in source) { + source = override(source, { breakWith: mapBreakWith(source.breakWith) }); + } + + if (typeof source == 'object' && 'indentBy' in source) { + source = override(source, { indentBy: parseInt(source.indentBy) }); + } + + if (typeof source == 'object' && 'indentWith' in source) { + source = override(source, { indentWith: mapIndentWith(source.indentWith) }); + } + + if (typeof source == 'object') { + return remapBreaks(override(DEFAULTS, source)); + } + + if (typeof source == 'string' && source == BEAUTIFY_ALIAS) { + return remapBreaks( + override(DEFAULTS, { + breaks: breaks(true), + indentBy: 2, + spaces: spaces(true) + }) + ); + } + + if (typeof source == 'string' && source == KEEP_BREAKS_ALIAS) { + return remapBreaks( + override(DEFAULTS, { + breaks: { + afterAtRule: true, + afterBlockBegins: true, + afterBlockEnds: true, + afterComment: true, + afterRuleEnds: true, + beforeBlockEnds: true + } + }) + ); + } + + if (typeof source == 'string') { + return remapBreaks(override(DEFAULTS, toHash(source))); + } + + return DEFAULTS; +} + +function toHash(string) { + return string + .split(OPTION_SEPARATOR) + .reduce(function(accumulator, directive) { + var parts = directive.split(OPTION_NAME_VALUE_SEPARATOR); + var name = parts[0]; + var value = parts[1]; + + if (name == 'breaks' || name == 'spaces') { + accumulator[name] = hashValuesToHash(value); + } else if (name == 'indentBy' || name == 'wrapAt') { + accumulator[name] = parseInt(value); + } else if (name == 'indentWith') { + accumulator[name] = mapIndentWith(value); + } else if (name == 'breakWith') { + accumulator[name] = mapBreakWith(value); + } + + return accumulator; + }, {}); +} + +function hashValuesToHash(string) { + return string + .split(HASH_VALUES_OPTION_SEPARATOR) + .reduce(function(accumulator, directive) { + var parts = directive.split(HASH_VALUES_NAME_VALUE_SEPARATOR); + var name = parts[0]; + var value = parts[1]; + + accumulator[name] = normalizeValue(value); + + return accumulator; + }, {}); +} + +function normalizeValue(value) { + switch (value) { + case FALSE_KEYWORD_1: + case FALSE_KEYWORD_2: + return false; + case TRUE_KEYWORD_1: + case TRUE_KEYWORD_2: + return true; + default: + return value; + } +} + +function mapBreakWith(value) { + switch (value) { + case 'windows': + case 'crlf': + case BreakWith.CarriageReturnLineFeed: + return BreakWith.CarriageReturnLineFeed; + case 'unix': + case 'lf': + case BreakWith.LineFeed: + return BreakWith.LineFeed; + default: + return BreakWith.System; + } +} + +function mapIndentWith(value) { + switch (value) { + case 'space': + return IndentWith.Space; + case 'tab': + return IndentWith.Tab; + default: + return value; + } +} + +function remapBreaks(source) { + for (var key in Breaks) { + var breakName = Breaks[key]; + var breakValue = source.breaks[breakName]; + + if (breakValue === true) { + source.breaks[breakName] = source.breakWith; + } else if (breakValue === false) { + source.breaks[breakName] = ''; + } else { + source.breaks[breakName] = source.breakWith.repeat(parseInt(breakValue)); + } + } + + return source; +} + +module.exports = { + Breaks: Breaks, + Spaces: Spaces, + formatFrom: formatFrom +}; + + +/***/ }, + +/***/ 43684 +(module, __unused_webpack_exports, __webpack_require__) { + +var url = __webpack_require__(87016); + +var override = __webpack_require__(56480); + +function inlineRequestFrom(option) { + return override( + /* jshint camelcase: false */ + proxyOptionsFrom(process.env.HTTP_PROXY || process.env.http_proxy), + option || {} + ); +} + +function proxyOptionsFrom(httpProxy) { + return httpProxy + ? { + hostname: url.parse(httpProxy).hostname, + port: parseInt(url.parse(httpProxy).port) + } + : {}; +} + +module.exports = inlineRequestFrom; + + +/***/ }, + +/***/ 8478 +(module) { + +var DEFAULT_TIMEOUT = 5000; + +function inlineTimeoutFrom(option) { + return option || DEFAULT_TIMEOUT; +} + +module.exports = inlineTimeoutFrom; + + +/***/ }, + +/***/ 38176 +(module) { + +function inlineOptionsFrom(rules) { + if (Array.isArray(rules)) { + return rules; + } + + if (rules === false) { + return ['none']; + } + + return undefined === rules + ? ['local'] + : rules.split(','); +} + +module.exports = inlineOptionsFrom; + + +/***/ }, + +/***/ 1167 +(module, __unused_webpack_exports, __webpack_require__) { + +var roundingPrecisionFrom = (__webpack_require__(90916).roundingPrecisionFrom); + +var override = __webpack_require__(56480); + +var OptimizationLevel = { + Zero: '0', + One: '1', + Two: '2' +}; + +var DEFAULTS = {}; + +DEFAULTS[OptimizationLevel.Zero] = {}; +DEFAULTS[OptimizationLevel.One] = { + cleanupCharsets: true, + normalizeUrls: true, + optimizeBackground: true, + optimizeBorderRadius: true, + optimizeFilter: true, + optimizeFontWeight: true, + optimizeOutline: true, + removeEmpty: true, + removeNegativePaddings: true, + removeQuotes: true, + removeWhitespace: true, + replaceMultipleZeros: true, + replaceTimeUnits: true, + replaceZeroUnits: true, + roundingPrecision: roundingPrecisionFrom(undefined), + selectorsSortingMethod: 'standard', + specialComments: 'all', + tidyAtRules: true, + tidyBlockScopes: true, + tidySelectors: true, + variableValueOptimizers: [] +}; +DEFAULTS[OptimizationLevel.Two] = { + mergeAdjacentRules: true, + mergeIntoShorthands: true, + mergeMedia: true, + mergeNonAdjacentRules: true, + mergeSemantically: false, + overrideProperties: true, + removeEmpty: true, + reduceNonAdjacentRules: true, + removeDuplicateFontRules: true, + removeDuplicateMediaBlocks: true, + removeDuplicateRules: true, + removeUnusedAtRules: false, + restructureRules: false, + skipProperties: [] +}; + +var ALL_KEYWORD_1 = '*'; +var ALL_KEYWORD_2 = 'all'; +var FALSE_KEYWORD_1 = 'false'; +var FALSE_KEYWORD_2 = 'off'; +var TRUE_KEYWORD_1 = 'true'; +var TRUE_KEYWORD_2 = 'on'; + +var LIST_VALUE_SEPARATOR = ','; +var OPTION_SEPARATOR = ';'; +var OPTION_VALUE_SEPARATOR = ':'; + +function optimizationLevelFrom(source) { + var level = override(DEFAULTS, {}); + var Zero = OptimizationLevel.Zero; + var One = OptimizationLevel.One; + var Two = OptimizationLevel.Two; + + if (undefined === source) { + delete level[Two]; + return level; + } + + if (typeof source == 'string') { + source = parseInt(source); + } + + if (typeof source == 'number' && source === parseInt(Two)) { + return level; + } + + if (typeof source == 'number' && source === parseInt(One)) { + delete level[Two]; + return level; + } + + if (typeof source == 'number' && source === parseInt(Zero)) { + delete level[Two]; + delete level[One]; + return level; + } + + if (typeof source == 'object') { + source = covertValuesToHashes(source); + } + + if (One in source && 'roundingPrecision' in source[One]) { + source[One].roundingPrecision = roundingPrecisionFrom(source[One].roundingPrecision); + } + + if (Two in source && 'skipProperties' in source[Two] && typeof (source[Two].skipProperties) == 'string') { + source[Two].skipProperties = source[Two].skipProperties.split(LIST_VALUE_SEPARATOR); + } + + if (Zero in source || One in source || Two in source) { + level[Zero] = override(level[Zero], source[Zero]); + } + + if (One in source && ALL_KEYWORD_1 in source[One]) { + level[One] = override(level[One], defaults(One, normalizeValue(source[One][ALL_KEYWORD_1]))); + delete source[One][ALL_KEYWORD_1]; + } + + if (One in source && ALL_KEYWORD_2 in source[One]) { + level[One] = override(level[One], defaults(One, normalizeValue(source[One][ALL_KEYWORD_2]))); + delete source[One][ALL_KEYWORD_2]; + } + + if (One in source || Two in source) { + level[One] = override(level[One], source[One]); + } else { + delete level[One]; + } + + if (Two in source && ALL_KEYWORD_1 in source[Two]) { + level[Two] = override(level[Two], defaults(Two, normalizeValue(source[Two][ALL_KEYWORD_1]))); + delete source[Two][ALL_KEYWORD_1]; + } + + if (Two in source && ALL_KEYWORD_2 in source[Two]) { + level[Two] = override(level[Two], defaults(Two, normalizeValue(source[Two][ALL_KEYWORD_2]))); + delete source[Two][ALL_KEYWORD_2]; + } + + if (Two in source) { + level[Two] = override(level[Two], source[Two]); + } else { + delete level[Two]; + } + + return level; +} + +function defaults(level, value) { + var options = override(DEFAULTS[level], {}); + var key; + + for (key in options) { + if (typeof options[key] == 'boolean') { + options[key] = value; + } + } + + return options; +} + +function normalizeValue(value) { + switch (value) { + case FALSE_KEYWORD_1: + case FALSE_KEYWORD_2: + return false; + case TRUE_KEYWORD_1: + case TRUE_KEYWORD_2: + return true; + default: + return value; + } +} + +function covertValuesToHashes(source) { + var clonedSource = override(source, {}); + var level; + var i; + + for (i = 0; i <= 2; i++) { + level = '' + i; + + if (level in clonedSource && (clonedSource[level] === undefined || clonedSource[level] === false)) { + delete clonedSource[level]; + } + + if (level in clonedSource && clonedSource[level] === true) { + clonedSource[level] = {}; + } + + if (level in clonedSource && typeof clonedSource[level] == 'string') { + clonedSource[level] = covertToHash(clonedSource[level], level); + } + } + + return clonedSource; +} + +function covertToHash(asString, level) { + return asString + .split(OPTION_SEPARATOR) + .reduce(function(accumulator, directive) { + var parts = directive.split(OPTION_VALUE_SEPARATOR); + var name = parts[0]; + var value = parts[1]; + var normalizedValue = normalizeValue(value); + + if (ALL_KEYWORD_1 == name || ALL_KEYWORD_2 == name) { + accumulator = override(accumulator, defaults(level, normalizedValue)); + } else { + accumulator[name] = normalizedValue; + } + + return accumulator; + }, {}); +} + +module.exports = { + OptimizationLevel: OptimizationLevel, + optimizationLevelFrom: optimizationLevelFrom +}; + + +/***/ }, + +/***/ 4513 +(module) { + +function pluginsFrom(plugins) { + var flatPlugins = { + level1Value: [], + level1Property: [], + level2Block: [] + }; + + plugins = plugins || []; + + flatPlugins.level1Value = plugins + .map(function(plugin) { return plugin.level1 && plugin.level1.value; }) + .filter(function(plugin) { return plugin != null; }); + + flatPlugins.level1Property = plugins + .map(function(plugin) { return plugin.level1 && plugin.level1.property; }) + .filter(function(plugin) { return plugin != null; }); + + flatPlugins.level2Block = plugins + .map(function(plugin) { return plugin.level2 && plugin.level2.block; }) + .filter(function(plugin) { return plugin != null; }); + + return flatPlugins; +} + +module.exports = pluginsFrom; + + +/***/ }, + +/***/ 2535 +(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(16928); + +function rebaseToFrom(option) { + return option ? path.resolve(option) : process.cwd(); +} + +module.exports = rebaseToFrom; + + +/***/ }, + +/***/ 53129 +(module) { + +function rebaseFrom(rebaseOption, rebaseToOption) { + if (undefined !== rebaseToOption) { + return true; + } if (undefined === rebaseOption) { + return false; + } + return !!rebaseOption; +} + +module.exports = rebaseFrom; + + +/***/ }, + +/***/ 90916 +(module, __unused_webpack_exports, __webpack_require__) { + +var override = __webpack_require__(56480); + +var INTEGER_PATTERN = /^\d+$/; + +var ALL_UNITS = ['*', 'all']; +var DEFAULT_PRECISION = 'off'; // all precision changes are disabled +var DIRECTIVES_SEPARATOR = ','; // e.g. *=5,px=3 +var DIRECTIVE_VALUE_SEPARATOR = '='; // e.g. *=5 + +function roundingPrecisionFrom(source) { + return override(defaults(DEFAULT_PRECISION), buildPrecisionFrom(source)); +} + +function defaults(value) { + return { + ch: value, + cm: value, + em: value, + ex: value, + in: value, + mm: value, + pc: value, + pt: value, + px: value, + q: value, + rem: value, + vh: value, + vmax: value, + vmin: value, + vw: value, + '%': value + }; +} + +function buildPrecisionFrom(source) { + if (source === null || source === undefined) { + return {}; + } + + if (typeof source == 'boolean') { + return {}; + } + + if (typeof source == 'number' && source == -1) { + return defaults(DEFAULT_PRECISION); + } + + if (typeof source == 'number') { + return defaults(source); + } + + if (typeof source == 'string' && INTEGER_PATTERN.test(source)) { + return defaults(parseInt(source)); + } + + if (typeof source == 'string' && source == DEFAULT_PRECISION) { + return defaults(DEFAULT_PRECISION); + } + + if (typeof source == 'object') { + return source; + } + + return source + .split(DIRECTIVES_SEPARATOR) + .reduce(function(accumulator, directive) { + var directiveParts = directive.split(DIRECTIVE_VALUE_SEPARATOR); + var name = directiveParts[0]; + var value = parseInt(directiveParts[1]); + + if (Number.isNaN(value) || value == -1) { + value = DEFAULT_PRECISION; + } + + if (ALL_UNITS.indexOf(name) > -1) { + accumulator = override(accumulator, defaults(value)); + } else { + accumulator[name] = value; + } + + return accumulator; + }, {}); +} + +module.exports = { + DEFAULT: DEFAULT_PRECISION, + roundingPrecisionFrom: roundingPrecisionFrom +}; + + +/***/ }, + +/***/ 69924 +(module, __unused_webpack_exports, __webpack_require__) { + +var fs = __webpack_require__(79896); +var path = __webpack_require__(16928); + +var isAllowedResource = __webpack_require__(33294); +var matchDataUri = __webpack_require__(27363); +var rebaseLocalMap = __webpack_require__(35161); +var rebaseRemoteMap = __webpack_require__(70240); + +var Token = __webpack_require__(50107); +var hasProtocol = __webpack_require__(34623); +var isDataUriResource = __webpack_require__(41263); +var isRemoteResource = __webpack_require__(5068); + +var MAP_MARKER_PATTERN = /^\/\*# sourceMappingURL=(\S+) \*\/$/; + +function applySourceMaps(tokens, context, callback) { + var applyContext = { + callback: callback, + fetch: context.options.fetch, + index: 0, + inline: context.options.inline, + inlineRequest: context.options.inlineRequest, + inlineTimeout: context.options.inlineTimeout, + inputSourceMapTracker: context.inputSourceMapTracker, + localOnly: context.localOnly, + processedTokens: [], + rebaseTo: context.options.rebaseTo, + sourceTokens: tokens, + warnings: context.warnings + }; + + return context.options.sourceMap && tokens.length > 0 + ? doApplySourceMaps(applyContext) + : callback(tokens); +} + +function doApplySourceMaps(applyContext) { + var singleSourceTokens = []; + var lastSource = findTokenSource(applyContext.sourceTokens[0]); + var source; + var token; + var l; + + for (l = applyContext.sourceTokens.length; applyContext.index < l; applyContext.index++) { + token = applyContext.sourceTokens[applyContext.index]; + source = findTokenSource(token); + + if (source != lastSource) { + singleSourceTokens = []; + lastSource = source; + } + + singleSourceTokens.push(token); + applyContext.processedTokens.push(token); + + if (token[0] == Token.COMMENT && MAP_MARKER_PATTERN.test(token[1])) { + return fetchAndApplySourceMap(token[1], source, singleSourceTokens, applyContext); + } + } + + return applyContext.callback(applyContext.processedTokens); +} + +function findTokenSource(token) { + var scope; + var metadata; + + if (token[0] == Token.AT_RULE || token[0] == Token.COMMENT || token[0] == Token.RAW) { + metadata = token[2][0]; + } else { + scope = token[1][0]; + metadata = scope[2][0]; + } + + return metadata[2]; +} + +function fetchAndApplySourceMap(sourceMapComment, source, singleSourceTokens, applyContext) { + return extractInputSourceMapFrom(sourceMapComment, applyContext, function(inputSourceMap) { + if (inputSourceMap) { + applyContext.inputSourceMapTracker.track(source, inputSourceMap); + applySourceMapRecursively(singleSourceTokens, applyContext.inputSourceMapTracker); + } + + applyContext.index++; + return doApplySourceMaps(applyContext); + }); +} + +function extractInputSourceMapFrom(sourceMapComment, applyContext, whenSourceMapReady) { + var uri = MAP_MARKER_PATTERN.exec(sourceMapComment)[1]; + var absoluteUri; + var sourceMap; + var rebasedMap; + + if (isDataUriResource(uri)) { + sourceMap = extractInputSourceMapFromDataUri(uri); + return whenSourceMapReady(sourceMap); + } if (isRemoteResource(uri)) { + return loadInputSourceMapFromRemoteUri(uri, applyContext, function(sourceMap) { + var parsedMap; + + if (sourceMap) { + parsedMap = JSON.parse(sourceMap); + rebasedMap = rebaseRemoteMap(parsedMap, uri); + whenSourceMapReady(rebasedMap); + } else { + whenSourceMapReady(null); + } + }); + } + // at this point `uri` is already rebased, see lib/reader/rebase.js#rebaseSourceMapComment + // it is rebased to be consistent with rebasing other URIs + // however here we need to resolve it back to read it from disk + absoluteUri = path.resolve(applyContext.rebaseTo, uri); + sourceMap = loadInputSourceMapFromLocalUri(absoluteUri, applyContext); + + if (sourceMap) { + rebasedMap = rebaseLocalMap(sourceMap, absoluteUri, applyContext.rebaseTo); + return whenSourceMapReady(rebasedMap); + } + return whenSourceMapReady(null); +} + +function extractInputSourceMapFromDataUri(uri) { + var dataUriMatch = matchDataUri(uri); + var charset = dataUriMatch[2] ? dataUriMatch[2].split(/[=;]/)[2] : 'us-ascii'; + var encoding = dataUriMatch[3] ? dataUriMatch[3].split(';')[1] : 'utf8'; + var data = encoding == 'utf8' ? global.unescape(dataUriMatch[4]) : dataUriMatch[4]; + + var buffer = Buffer.from(data, encoding); + buffer.charset = charset; + + return JSON.parse(buffer.toString()); +} + +function loadInputSourceMapFromRemoteUri(uri, applyContext, whenLoaded) { + var isAllowed = isAllowedResource(uri, true, applyContext.inline); + var isRuntimeResource = !hasProtocol(uri); + + if (applyContext.localOnly) { + applyContext.warnings.push('Cannot fetch remote resource from "' + uri + '" as no callback given.'); + return whenLoaded(null); + } if (isRuntimeResource) { + applyContext.warnings.push('Cannot fetch "' + uri + '" as no protocol given.'); + return whenLoaded(null); + } if (!isAllowed) { + applyContext.warnings.push('Cannot fetch "' + uri + '" as resource is not allowed.'); + return whenLoaded(null); + } + + applyContext.fetch(uri, applyContext.inlineRequest, applyContext.inlineTimeout, function(error, body) { + if (error) { + applyContext.warnings.push('Missing source map at "' + uri + '" - ' + error); + return whenLoaded(null); + } + + whenLoaded(body); + }); +} + +function loadInputSourceMapFromLocalUri(uri, applyContext) { + var isAllowed = isAllowedResource(uri, false, applyContext.inline); + var sourceMap; + + if (!fs.existsSync(uri) || !fs.statSync(uri).isFile()) { + applyContext.warnings.push('Ignoring local source map at "' + uri + '" as resource is missing.'); + return null; + } if (!isAllowed) { + applyContext.warnings.push('Cannot fetch "' + uri + '" as resource is not allowed.'); + return null; + } if (!fs.statSync(uri).size) { + applyContext.warnings.push('Cannot fetch "' + uri + '" as resource is empty.'); + return null; + } + + sourceMap = fs.readFileSync(uri, 'utf-8'); + return JSON.parse(sourceMap); +} + +function applySourceMapRecursively(tokens, inputSourceMapTracker) { + var token; + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + token = tokens[i]; + + switch (token[0]) { + case Token.AT_RULE: + applySourceMapTo(token, inputSourceMapTracker); + break; + case Token.AT_RULE_BLOCK: + applySourceMapRecursively(token[1], inputSourceMapTracker); + applySourceMapRecursively(token[2], inputSourceMapTracker); + break; + case Token.AT_RULE_BLOCK_SCOPE: + applySourceMapTo(token, inputSourceMapTracker); + break; + case Token.NESTED_BLOCK: + applySourceMapRecursively(token[1], inputSourceMapTracker); + applySourceMapRecursively(token[2], inputSourceMapTracker); + break; + case Token.NESTED_BLOCK_SCOPE: + applySourceMapTo(token, inputSourceMapTracker); + break; + case Token.COMMENT: + applySourceMapTo(token, inputSourceMapTracker); + break; + case Token.PROPERTY: + applySourceMapRecursively(token, inputSourceMapTracker); + break; + case Token.PROPERTY_BLOCK: + applySourceMapRecursively(token[1], inputSourceMapTracker); + break; + case Token.PROPERTY_NAME: + applySourceMapTo(token, inputSourceMapTracker); + break; + case Token.PROPERTY_VALUE: + applySourceMapTo(token, inputSourceMapTracker); + break; + case Token.RULE: + applySourceMapRecursively(token[1], inputSourceMapTracker); + applySourceMapRecursively(token[2], inputSourceMapTracker); + break; + case Token.RULE_SCOPE: + applySourceMapTo(token, inputSourceMapTracker); + } + } + + return tokens; +} + +function applySourceMapTo(token, inputSourceMapTracker) { + var value = token[1]; + var metadata = token[2]; + var newMetadata = []; + var i, l; + + for (i = 0, l = metadata.length; i < l; i++) { + newMetadata.push(inputSourceMapTracker.originalPositionFor(metadata[i], value.length)); + } + + token[2] = newMetadata; +} + +module.exports = applySourceMaps; + + +/***/ }, + +/***/ 52212 +(module, __unused_webpack_exports, __webpack_require__) { + +var split = __webpack_require__(80994); + +var BRACE_PREFIX = /^\(/; +var BRACE_SUFFIX = /\)$/; +var IMPORT_PREFIX_PATTERN = /^@import/i; +var QUOTE_PREFIX_PATTERN = /['"]\s{0,31}/; +var QUOTE_SUFFIX_PATTERN = /\s{0,31}['"]/; +var URL_PREFIX_PATTERN = /^url\(\s{0,31}/i; +var URL_SUFFIX_PATTERN = /\s{0,31}\)/i; + +function extractImportUrlAndMedia(atRuleValue) { + var uri; + var mediaQuery; + var normalized; + var parts; + + normalized = atRuleValue + .replace(IMPORT_PREFIX_PATTERN, '') + .trim() + .replace(URL_PREFIX_PATTERN, '(') + .replace(URL_SUFFIX_PATTERN, ') ') + .replace(QUOTE_PREFIX_PATTERN, '') + .replace(QUOTE_SUFFIX_PATTERN, ''); + + parts = split(normalized, ' '); + + uri = parts[0] + .replace(BRACE_PREFIX, '') + .replace(BRACE_SUFFIX, ''); + mediaQuery = parts.slice(1).join(' '); + + return [uri, mediaQuery]; +} + +module.exports = extractImportUrlAndMedia; + + +/***/ }, + +/***/ 80376 +(module, __unused_webpack_exports, __webpack_require__) { + +var SourceMapConsumer = (__webpack_require__(19665).SourceMapConsumer); + +function inputSourceMapTracker() { + var maps = {}; + + return { + all: all.bind(null, maps), + isTracking: isTracking.bind(null, maps), + originalPositionFor: originalPositionFor.bind(null, maps), + track: track.bind(null, maps) + }; +} + +function all(maps) { + return maps; +} + +function isTracking(maps, source) { + return source in maps; +} + +function originalPositionFor(maps, metadata, range, selectorFallbacks) { + var line = metadata[0]; + var column = metadata[1]; + var source = metadata[2]; + var position = { + line: line, + column: column + range + }; + var originalPosition; + + while (!originalPosition && position.column > column) { + position.column--; + originalPosition = maps[source].originalPositionFor(position); + } + + if (!originalPosition || originalPosition.column < 0) { + return metadata; + } + + if (originalPosition.line === null && line > 1 && selectorFallbacks > 0) { + return originalPositionFor(maps, [line - 1, column, source], range, selectorFallbacks - 1); + } + + return originalPosition.line !== null + ? toMetadata(originalPosition) + : metadata; +} + +function toMetadata(asHash) { + return [asHash.line, asHash.column, asHash.source]; +} + +function track(maps, source, data) { + maps[source] = new SourceMapConsumer(data); +} + +module.exports = inputSourceMapTracker; + + +/***/ }, + +/***/ 33294 +(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(16928); +var url = __webpack_require__(87016); + +var isRemoteResource = __webpack_require__(5068); +var hasProtocol = __webpack_require__(34623); + +var HTTP_PROTOCOL = 'http:'; + +function isAllowedResource(uri, isRemote, rules) { + var match; + var absoluteUri; + var allowed = !isRemote; + var rule; + var isNegated; + var normalizedRule; + var i; + + if (rules.length === 0) { + return false; + } + + if (isRemote && !hasProtocol(uri)) { + uri = HTTP_PROTOCOL + uri; + } + + match = isRemote + ? url.parse(uri).host + : uri; + + absoluteUri = isRemote + ? uri + : path.resolve(uri); + + for (i = 0; i < rules.length; i++) { + rule = rules[i]; + isNegated = rule[0] == '!'; + normalizedRule = rule.substring(1); + + if (isNegated && isRemote && isRemoteRule(normalizedRule)) { + allowed = allowed && !isAllowedResource(uri, true, [normalizedRule]); + } else if (isNegated && !isRemote && !isRemoteRule(normalizedRule)) { + allowed = allowed && !isAllowedResource(uri, false, [normalizedRule]); + } else if (isNegated) { + allowed = allowed && true; + } else if (rule == 'all') { + allowed = true; + } else if (isRemote && rule == 'local') { + allowed = allowed || false; + } else if (isRemote && rule == 'remote') { + allowed = true; + } else if (!isRemote && rule == 'remote') { + allowed = false; + } else if (!isRemote && rule == 'local') { + allowed = true; + } else if (rule === match) { + allowed = true; + } else if (rule === uri) { + allowed = true; + } else if (isRemote && absoluteUri.indexOf(rule) === 0) { + allowed = true; + } else if (!isRemote && absoluteUri.indexOf(path.resolve(rule)) === 0) { + allowed = true; + } else if (isRemote != isRemoteRule(normalizedRule)) { + allowed = allowed && true; + } else { + allowed = false; + } + } + + return allowed; +} + +function isRemoteRule(rule) { + return isRemoteResource(rule) || url.parse(HTTP_PROTOCOL + '//' + rule).host == rule; +} + +module.exports = isAllowedResource; + + +/***/ }, + +/***/ 96369 +(module, __unused_webpack_exports, __webpack_require__) { + +var fs = __webpack_require__(79896); +var path = __webpack_require__(16928); + +var isAllowedResource = __webpack_require__(33294); + +var hasProtocol = __webpack_require__(34623); +var isRemoteResource = __webpack_require__(5068); + +function loadOriginalSources(context, callback) { + var loadContext = { + callback: callback, + fetch: context.options.fetch, + index: 0, + inline: context.options.inline, + inlineRequest: context.options.inlineRequest, + inlineTimeout: context.options.inlineTimeout, + localOnly: context.localOnly, + rebaseTo: context.options.rebaseTo, + sourcesContent: context.sourcesContent, + uriToSource: uriToSourceMapping(context.inputSourceMapTracker.all()), + warnings: context.warnings + }; + + return context.options.sourceMap && context.options.sourceMapInlineSources + ? doLoadOriginalSources(loadContext) + : callback(); +} + +function uriToSourceMapping(allSourceMapConsumers) { + var mapping = {}; + var consumer; + var uri; + var source; + var i, l; + + for (source in allSourceMapConsumers) { + consumer = allSourceMapConsumers[source]; + + for (i = 0, l = consumer.sources.length; i < l; i++) { + uri = consumer.sources[i]; + source = consumer.sourceContentFor(uri, true); + + mapping[uri] = source; + } + } + + return mapping; +} + +function doLoadOriginalSources(loadContext) { + var uris = Object.keys(loadContext.uriToSource); + var uri; + var source; + var total; + + for (total = uris.length; loadContext.index < total; loadContext.index++) { + uri = uris[loadContext.index]; + source = loadContext.uriToSource[uri]; + + if (source) { + loadContext.sourcesContent[uri] = source; + } else { + return loadOriginalSource(uri, loadContext); + } + } + + return loadContext.callback(); +} + +function loadOriginalSource(uri, loadContext) { + var content; + + if (isRemoteResource(uri)) { + return loadOriginalSourceFromRemoteUri(uri, loadContext, function(content) { + loadContext.index++; + loadContext.sourcesContent[uri] = content; + return doLoadOriginalSources(loadContext); + }); + } + content = loadOriginalSourceFromLocalUri(uri, loadContext); + loadContext.index++; + loadContext.sourcesContent[uri] = content; + return doLoadOriginalSources(loadContext); +} + +function loadOriginalSourceFromRemoteUri(uri, loadContext, whenLoaded) { + var isAllowed = isAllowedResource(uri, true, loadContext.inline); + var isRuntimeResource = !hasProtocol(uri); + + if (loadContext.localOnly) { + loadContext.warnings.push('Cannot fetch remote resource from "' + uri + '" as no callback given.'); + return whenLoaded(null); + } if (isRuntimeResource) { + loadContext.warnings.push('Cannot fetch "' + uri + '" as no protocol given.'); + return whenLoaded(null); + } if (!isAllowed) { + loadContext.warnings.push('Cannot fetch "' + uri + '" as resource is not allowed.'); + return whenLoaded(null); + } + + loadContext.fetch(uri, loadContext.inlineRequest, loadContext.inlineTimeout, function(error, content) { + if (error) { + loadContext.warnings.push('Missing original source at "' + uri + '" - ' + error); + } + + whenLoaded(content); + }); +} + +function loadOriginalSourceFromLocalUri(relativeUri, loadContext) { + var isAllowed = isAllowedResource(relativeUri, false, loadContext.inline); + var absoluteUri = path.resolve(loadContext.rebaseTo, relativeUri); + + if (!fs.existsSync(absoluteUri) || !fs.statSync(absoluteUri).isFile()) { + loadContext.warnings.push('Ignoring local source map at "' + absoluteUri + '" as resource is missing.'); + return null; + } if (!isAllowed) { + loadContext.warnings.push('Cannot fetch "' + absoluteUri + '" as resource is not allowed.'); + return null; + } + + var result = fs.readFileSync(absoluteUri, 'utf8'); + if (result.charCodeAt(0) === 65279) { + result = result.substring(1); + } + return result; +} + +module.exports = loadOriginalSources; + + +/***/ }, + +/***/ 72464 +(module, __unused_webpack_exports, __webpack_require__) { + +var http = __webpack_require__(58611); +var https = __webpack_require__(65692); +var url = __webpack_require__(87016); + +var isHttpResource = __webpack_require__(33698); +var isHttpsResource = __webpack_require__(66041); +var override = __webpack_require__(56480); + +var HTTP_PROTOCOL = 'http:'; + +function loadRemoteResource(uri, inlineRequest, inlineTimeout, callback) { + var proxyProtocol = inlineRequest.protocol || inlineRequest.hostname; + var errorHandled = false; + var requestOptions; + var fetch; + + requestOptions = override( + url.parse(uri), + inlineRequest || {} + ); + + if (inlineRequest.hostname !== undefined) { + // overwrite as we always expect a http proxy currently + requestOptions.protocol = inlineRequest.protocol || HTTP_PROTOCOL; + requestOptions.path = requestOptions.href; + } + + fetch = (proxyProtocol && !isHttpsResource(proxyProtocol)) || isHttpResource(uri) + ? http.get + : https.get; + + fetch(requestOptions, function(res) { + var chunks = []; + var movedUri; + + if (errorHandled) { + return; + } + + if (res.statusCode < 200 || res.statusCode > 399) { + return callback(res.statusCode, null); + } if (res.statusCode > 299) { + movedUri = url.resolve(uri, res.headers.location); + return loadRemoteResource(movedUri, inlineRequest, inlineTimeout, callback); + } + + res.on('data', function(chunk) { + chunks.push(chunk.toString()); + }); + res.on('end', function() { + var body = chunks.join(''); + callback(null, body); + }); + }) + .on('error', function(res) { + if (errorHandled) { + return; + } + + errorHandled = true; + callback(res.message, null); + }) + .on('timeout', function() { + if (errorHandled) { + return; + } + + errorHandled = true; + callback('timeout', null); + }) + .setTimeout(inlineTimeout); +} + +module.exports = loadRemoteResource; + + +/***/ }, + +/***/ 27363 +(module) { + +var DATA_URI_PATTERN = /^data:(\S*?)?(;charset=(?:(?!;charset=)[^;])+)?(;[^,]+?)?,(.+)/; + +function matchDataUri(uri) { + return DATA_URI_PATTERN.exec(uri); +} + +module.exports = matchDataUri; + + +/***/ }, + +/***/ 96501 +(module) { + +var UNIX_SEPARATOR = '/'; +var WINDOWS_SEPARATOR_PATTERN = /\\/g; + +function normalizePath(path) { + return path.replace(WINDOWS_SEPARATOR_PATTERN, UNIX_SEPARATOR); +} + +module.exports = normalizePath; + + +/***/ }, + +/***/ 18439 +(module, __unused_webpack_exports, __webpack_require__) { + +var fs = __webpack_require__(79896); +var path = __webpack_require__(16928); + +var applySourceMaps = __webpack_require__(69924); +var extractImportUrlAndMedia = __webpack_require__(52212); +var isAllowedResource = __webpack_require__(33294); +var loadOriginalSources = __webpack_require__(96369); +var normalizePath = __webpack_require__(96501); +var rebase = __webpack_require__(20612); +var rebaseLocalMap = __webpack_require__(35161); +var rebaseRemoteMap = __webpack_require__(70240); +var restoreImport = __webpack_require__(86924); + +var tokenize = __webpack_require__(8449); +var Token = __webpack_require__(50107); +var Marker = __webpack_require__(9894); +var hasProtocol = __webpack_require__(34623); +var isImport = __webpack_require__(80232); +var isRemoteResource = __webpack_require__(5068); + +var UNKNOWN_URI = 'uri:unknown'; +var FILE_RESOURCE_PROTOCOL = 'file://'; + +function readSources(input, context, callback) { + return doReadSources(input, context, function(tokens) { + return applySourceMaps(tokens, context, function() { + return loadOriginalSources(context, function() { return callback(tokens); }); + }); + }); +} + +function doReadSources(input, context, callback) { + if (typeof input == 'string') { + return fromString(input, context, callback); + } if (Buffer.isBuffer(input)) { + return fromString(input.toString(), context, callback); + } if (Array.isArray(input)) { + return fromArray(input, context, callback); + } if (typeof input == 'object') { + return fromHash(input, context, callback); + } +} + +function fromString(input, context, callback) { + context.source = undefined; + context.sourcesContent[undefined] = input; + context.stats.originalSize += input.length; + + return fromStyles(input, context, { inline: context.options.inline }, callback); +} + +function fromArray(input, context, callback) { + var inputAsImports = input.reduce(function(accumulator, uriOrHash) { + if (typeof uriOrHash === 'string') { + return addStringSource(uriOrHash, accumulator); + } + return addHashSource(uriOrHash, context, accumulator); + }, []); + + return fromStyles(inputAsImports.join(''), context, { inline: ['all'] }, callback); +} + +function fromHash(input, context, callback) { + var inputAsImports = addHashSource(input, context, []); + return fromStyles(inputAsImports.join(''), context, { inline: ['all'] }, callback); +} + +function addStringSource(input, imports) { + imports.push(restoreAsImport(normalizeUri(input))); + return imports; +} + +function addHashSource(input, context, imports) { + var uri; + var normalizedUri; + var source; + + for (uri in input) { + source = input[uri]; + normalizedUri = normalizeUri(uri); + + imports.push(restoreAsImport(normalizedUri)); + + context.sourcesContent[normalizedUri] = source.styles; + + if (source.sourceMap) { + trackSourceMap(source.sourceMap, normalizedUri, context); + } + } + + return imports; +} + +function normalizeUri(uri) { + var currentPath = path.resolve(''); + var absoluteUri; + var relativeToCurrentPath; + var normalizedUri; + + if (isRemoteResource(uri)) { + return uri; + } + + absoluteUri = path.isAbsolute(uri) + ? uri + : path.resolve(uri); + relativeToCurrentPath = path.relative(currentPath, absoluteUri); + normalizedUri = normalizePath(relativeToCurrentPath); + + return normalizedUri; +} + +function trackSourceMap(sourceMap, uri, context) { + var parsedMap = typeof sourceMap == 'string' + ? JSON.parse(sourceMap) + : sourceMap; + var rebasedMap = isRemoteResource(uri) + ? rebaseRemoteMap(parsedMap, uri) + : rebaseLocalMap(parsedMap, uri || UNKNOWN_URI, context.options.rebaseTo); + + context.inputSourceMapTracker.track(uri, rebasedMap); +} + +function restoreAsImport(uri) { + return restoreImport('url(' + uri + ')', '') + Marker.SEMICOLON; +} + +function fromStyles(styles, context, parentInlinerContext, callback) { + var tokens; + var rebaseConfig = {}; + + if (!context.source) { + rebaseConfig.fromBase = path.resolve(''); + rebaseConfig.toBase = context.options.rebaseTo; + } else if (isRemoteResource(context.source)) { + rebaseConfig.fromBase = context.source; + rebaseConfig.toBase = context.source; + } else if (path.isAbsolute(context.source)) { + rebaseConfig.fromBase = path.dirname(context.source); + rebaseConfig.toBase = context.options.rebaseTo; + } else { + rebaseConfig.fromBase = path.dirname(path.resolve(context.source)); + rebaseConfig.toBase = context.options.rebaseTo; + } + + tokens = tokenize(styles, context); + tokens = rebase(tokens, context.options.rebase, context.validator, rebaseConfig); + + return allowsAnyImports(parentInlinerContext.inline) + ? inline(tokens, context, parentInlinerContext, callback) + : callback(tokens); +} + +function allowsAnyImports(inline) { + return !(inline.length == 1 && inline[0] == 'none'); +} + +function inline(tokens, externalContext, parentInlinerContext, callback) { + var inlinerContext = { + afterContent: false, + callback: callback, + errors: externalContext.errors, + externalContext: externalContext, + fetch: externalContext.options.fetch, + inlinedStylesheets: parentInlinerContext.inlinedStylesheets || externalContext.inlinedStylesheets, + inline: parentInlinerContext.inline, + inlineRequest: externalContext.options.inlineRequest, + inlineTimeout: externalContext.options.inlineTimeout, + isRemote: parentInlinerContext.isRemote || false, + localOnly: externalContext.localOnly, + outputTokens: [], + rebaseTo: externalContext.options.rebaseTo, + sourceTokens: tokens, + warnings: externalContext.warnings + }; + + return doInlineImports(inlinerContext); +} + +function doInlineImports(inlinerContext) { + var token; + var i, l; + + for (i = 0, l = inlinerContext.sourceTokens.length; i < l; i++) { + token = inlinerContext.sourceTokens[i]; + + if (token[0] == Token.AT_RULE && isImport(token[1])) { + inlinerContext.sourceTokens.splice(0, i); + return inlineStylesheet(token, inlinerContext); + } if (token[0] == Token.AT_RULE || token[0] == Token.COMMENT) { + inlinerContext.outputTokens.push(token); + } else { + inlinerContext.outputTokens.push(token); + inlinerContext.afterContent = true; + } + } + + inlinerContext.sourceTokens = []; + return inlinerContext.callback(inlinerContext.outputTokens); +} + +function inlineStylesheet(token, inlinerContext) { + var uriAndMediaQuery = extractImportUrlAndMedia(token[1]); + var uri = uriAndMediaQuery[0]; + var mediaQuery = uriAndMediaQuery[1]; + var metadata = token[2]; + + return isRemoteResource(uri) + ? inlineRemoteStylesheet(uri, mediaQuery, metadata, inlinerContext) + : inlineLocalStylesheet(uri, mediaQuery, metadata, inlinerContext); +} + +function inlineRemoteStylesheet(uri, mediaQuery, metadata, inlinerContext) { + var isAllowed = isAllowedResource(uri, true, inlinerContext.inline); + var originalUri = uri; + var isLoaded = uri in inlinerContext.externalContext.sourcesContent; + var isRuntimeResource = !hasProtocol(uri); + + if (inlinerContext.inlinedStylesheets.indexOf(uri) > -1) { + inlinerContext.warnings.push('Ignoring remote @import of "' + uri + '" as it has already been imported.'); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + return doInlineImports(inlinerContext); + } if (inlinerContext.localOnly && inlinerContext.afterContent) { + inlinerContext.warnings.push('Ignoring remote @import of "' + uri + '" as no callback given and after other content.'); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + return doInlineImports(inlinerContext); + } if (isRuntimeResource) { + inlinerContext.warnings.push('Skipping remote @import of "' + uri + '" as no protocol given.'); + inlinerContext.outputTokens = inlinerContext.outputTokens.concat(inlinerContext.sourceTokens.slice(0, 1)); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + return doInlineImports(inlinerContext); + } if (inlinerContext.localOnly && !isLoaded) { + inlinerContext.warnings.push('Skipping remote @import of "' + uri + '" as no callback given.'); + inlinerContext.outputTokens = inlinerContext.outputTokens.concat(inlinerContext.sourceTokens.slice(0, 1)); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + return doInlineImports(inlinerContext); + } if (!isAllowed && inlinerContext.afterContent) { + inlinerContext.warnings.push('Ignoring remote @import of "' + uri + '" as resource is not allowed and after other content.'); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + return doInlineImports(inlinerContext); + } if (!isAllowed) { + inlinerContext.warnings.push('Skipping remote @import of "' + uri + '" as resource is not allowed.'); + inlinerContext.outputTokens = inlinerContext.outputTokens.concat(inlinerContext.sourceTokens.slice(0, 1)); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + return doInlineImports(inlinerContext); + } + + inlinerContext.inlinedStylesheets.push(uri); + + function whenLoaded(error, importedStyles) { + if (error) { + inlinerContext.errors.push('Broken @import declaration of "' + uri + '" - ' + error); + + return process.nextTick(function() { + inlinerContext.outputTokens = inlinerContext.outputTokens.concat(inlinerContext.sourceTokens.slice(0, 1)); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + doInlineImports(inlinerContext); + }); + } + + inlinerContext.inline = inlinerContext.externalContext.options.inline; + inlinerContext.isRemote = true; + + inlinerContext.externalContext.source = originalUri; + inlinerContext.externalContext.sourcesContent[uri] = importedStyles; + inlinerContext.externalContext.stats.originalSize += importedStyles.length; + + return fromStyles(importedStyles, inlinerContext.externalContext, inlinerContext, function(importedTokens) { + importedTokens = wrapInMedia(importedTokens, mediaQuery, metadata); + + inlinerContext.outputTokens = inlinerContext.outputTokens.concat(importedTokens); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + + return doInlineImports(inlinerContext); + }); + } + + return isLoaded + ? whenLoaded(null, inlinerContext.externalContext.sourcesContent[uri]) + : inlinerContext.fetch(uri, inlinerContext.inlineRequest, inlinerContext.inlineTimeout, whenLoaded); +} + +function inlineLocalStylesheet(uri, mediaQuery, metadata, inlinerContext) { + var protocolLessUri = uri.replace(FILE_RESOURCE_PROTOCOL, ''); + var currentPath = path.resolve(''); + var absoluteUri = path.isAbsolute(protocolLessUri) + ? path.resolve(currentPath, protocolLessUri[0] == '/' ? protocolLessUri.substring(1) : protocolLessUri) + : path.resolve(inlinerContext.rebaseTo, protocolLessUri); + var relativeToCurrentPath = path.relative(currentPath, absoluteUri); + var importedStyles; + var isAllowed = isAllowedResource(protocolLessUri, false, inlinerContext.inline); + var normalizedPath = normalizePath(relativeToCurrentPath); + var isLoaded = normalizedPath in inlinerContext.externalContext.sourcesContent; + + if (inlinerContext.inlinedStylesheets.indexOf(absoluteUri) > -1) { + inlinerContext.warnings.push('Ignoring local @import of "' + protocolLessUri + '" as it has already been imported.'); + } else if (isAllowed && !isLoaded && (!fs.existsSync(absoluteUri) || !fs.statSync(absoluteUri).isFile())) { + inlinerContext.errors.push('Ignoring local @import of "' + protocolLessUri + '" as resource is missing.'); + } else if (!isAllowed && inlinerContext.afterContent) { + inlinerContext.warnings.push('Ignoring local @import of "' + protocolLessUri + '" as resource is not allowed and after other content.'); + } else if (inlinerContext.afterContent) { + inlinerContext.warnings.push('Ignoring local @import of "' + protocolLessUri + '" as after other content.'); + } else if (!isAllowed) { + inlinerContext.warnings.push('Skipping local @import of "' + protocolLessUri + '" as resource is not allowed.'); + inlinerContext.outputTokens = inlinerContext.outputTokens.concat(inlinerContext.sourceTokens.slice(0, 1)); + } else { + importedStyles = isLoaded + ? inlinerContext.externalContext.sourcesContent[normalizedPath] + : fs.readFileSync(absoluteUri, 'utf-8'); + + if (importedStyles.charCodeAt(0) === 65279) { + importedStyles = importedStyles.substring(1); + } + + inlinerContext.inlinedStylesheets.push(absoluteUri); + inlinerContext.inline = inlinerContext.externalContext.options.inline; + + inlinerContext.externalContext.source = normalizedPath; + inlinerContext.externalContext.sourcesContent[normalizedPath] = importedStyles; + inlinerContext.externalContext.stats.originalSize += importedStyles.length; + + return fromStyles(importedStyles, inlinerContext.externalContext, inlinerContext, function(importedTokens) { + importedTokens = wrapInMedia(importedTokens, mediaQuery, metadata); + + inlinerContext.outputTokens = inlinerContext.outputTokens.concat(importedTokens); + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + + return doInlineImports(inlinerContext); + }); + } + + inlinerContext.sourceTokens = inlinerContext.sourceTokens.slice(1); + + return doInlineImports(inlinerContext); +} + +function wrapInMedia(tokens, mediaQuery, metadata) { + if (mediaQuery) { + return [[Token.NESTED_BLOCK, [[Token.NESTED_BLOCK_SCOPE, '@media ' + mediaQuery, metadata]], tokens]]; + } + return tokens; +} + +module.exports = readSources; + + +/***/ }, + +/***/ 35161 +(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(16928); + +function rebaseLocalMap(sourceMap, sourceUri, rebaseTo) { + var currentPath = path.resolve(''); + var absoluteUri = path.resolve(currentPath, sourceUri); + var absoluteUriDirectory = path.dirname(absoluteUri); + + sourceMap.sources = sourceMap.sources.map(function(source) { + return path.relative(rebaseTo, path.resolve(absoluteUriDirectory, source)); + }); + + return sourceMap; +} + +module.exports = rebaseLocalMap; + + +/***/ }, + +/***/ 70240 +(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(16928); +var url = __webpack_require__(87016); + +function rebaseRemoteMap(sourceMap, sourceUri) { + var sourceDirectory = path.dirname(sourceUri); + + sourceMap.sources = sourceMap.sources.map(function(source) { + return url.resolve(sourceDirectory, source); + }); + + return sourceMap; +} + +module.exports = rebaseRemoteMap; + + +/***/ }, + +/***/ 20612 +(module, __unused_webpack_exports, __webpack_require__) { + +var extractImportUrlAndMedia = __webpack_require__(52212); +var restoreImport = __webpack_require__(86924); +var rewriteUrl = __webpack_require__(44962); + +var Token = __webpack_require__(50107); +var isImport = __webpack_require__(80232); + +var SOURCE_MAP_COMMENT_PATTERN = /^\/\*# sourceMappingURL=(\S+) \*\/$/; + +function rebase(tokens, rebaseAll, validator, rebaseConfig) { + return rebaseAll + ? rebaseEverything(tokens, validator, rebaseConfig) + : rebaseAtRules(tokens, validator, rebaseConfig); +} + +function rebaseEverything(tokens, validator, rebaseConfig) { + var token; + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + token = tokens[i]; + + switch (token[0]) { + case Token.AT_RULE: + rebaseAtRule(token, validator, rebaseConfig); + break; + case Token.AT_RULE_BLOCK: + rebaseProperties(token[2], validator, rebaseConfig); + break; + case Token.COMMENT: + rebaseSourceMapComment(token, rebaseConfig); + break; + case Token.NESTED_BLOCK: + rebaseEverything(token[2], validator, rebaseConfig); + break; + case Token.RULE: + rebaseProperties(token[2], validator, rebaseConfig); + break; + } + } + + return tokens; +} + +function rebaseAtRules(tokens, validator, rebaseConfig) { + var token; + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + token = tokens[i]; + + switch (token[0]) { + case Token.AT_RULE: + rebaseAtRule(token, validator, rebaseConfig); + break; + } + } + + return tokens; +} + +function rebaseAtRule(token, validator, rebaseConfig) { + if (!isImport(token[1])) { + return; + } + + var uriAndMediaQuery = extractImportUrlAndMedia(token[1]); + var newUrl = rewriteUrl(uriAndMediaQuery[0], rebaseConfig); + var mediaQuery = uriAndMediaQuery[1]; + + token[1] = restoreImport(newUrl, mediaQuery); +} + +function rebaseSourceMapComment(token, rebaseConfig) { + var matches = SOURCE_MAP_COMMENT_PATTERN.exec(token[1]); + + if (matches && matches[1].indexOf('data:') === -1) { + token[1] = token[1].replace(matches[1], rewriteUrl(matches[1], rebaseConfig, true)); + } +} + +function rebaseProperties(properties, validator, rebaseConfig) { + var property; + var value; + var i, l; + var j, m; + + for (i = 0, l = properties.length; i < l; i++) { + property = properties[i]; + + for (j = 2 /* 0 is Token.PROPERTY, 1 is name */, m = property.length; j < m; j++) { + value = property[j][1]; + + if (validator.isUrl(value)) { + property[j][1] = rewriteUrl(value, rebaseConfig); + } + } + } +} + +module.exports = rebase; + + +/***/ }, + +/***/ 86924 +(module) { + +function restoreImport(uri, mediaQuery) { + return ('@import ' + uri + ' ' + mediaQuery).trim(); +} + +module.exports = restoreImport; + + +/***/ }, + +/***/ 44962 +(module, __unused_webpack_exports, __webpack_require__) { + +var path = __webpack_require__(16928); +var url = __webpack_require__(87016); + +var isDataUriResource = __webpack_require__(41263); + +var DOUBLE_QUOTE = '"'; +var SINGLE_QUOTE = '\''; +var URL_PREFIX = 'url('; +var URL_SUFFIX = ')'; + +var PROTOCOL_LESS_PREFIX_PATTERN = /^[^\w\d]*\/\//; +var QUOTE_PREFIX_PATTERN = /^["']/; +var QUOTE_SUFFIX_PATTERN = /["']$/; +var ROUND_BRACKETS_PATTERN = /[()]/; +var URL_PREFIX_PATTERN = /^url\(/i; +var URL_SUFFIX_PATTERN = /\)$/; +var WHITESPACE_PATTERN = /\s/; + +var isWindows = process.platform == 'win32'; + +function rebase(uri, rebaseConfig) { + if (!rebaseConfig) { + return uri; + } + + if (isAbsolute(uri) && !isRemote(rebaseConfig.toBase)) { + return uri; + } + + if (isRemote(uri) || isSVGMarker(uri) || isInternal(uri) || isDataUriResource(uri)) { + return uri; + } + + if (isRemote(rebaseConfig.toBase)) { + return url.resolve(rebaseConfig.toBase, uri); + } + + return rebaseConfig.absolute + ? normalize(absolute(uri, rebaseConfig)) + : normalize(relative(uri, rebaseConfig)); +} + +function isAbsolute(uri) { + return path.isAbsolute(uri); +} + +function isSVGMarker(uri) { + return uri[0] == '#'; +} + +function isInternal(uri) { + return /^\w+:\w+/.test(uri); +} + +function isRemote(uri) { + return /^[^:]+?:\/\//.test(uri) || PROTOCOL_LESS_PREFIX_PATTERN.test(uri); +} + +function absolute(uri, rebaseConfig) { + return path + .resolve(path.join(rebaseConfig.fromBase || '', uri)) + .replace(rebaseConfig.toBase, ''); +} + +function relative(uri, rebaseConfig) { + return path.relative(rebaseConfig.toBase, path.join(rebaseConfig.fromBase || '', uri)); +} + +function normalize(uri) { + return isWindows ? uri.replace(/\\/g, '/') : uri; +} + +function quoteFor(unquotedUrl) { + if (unquotedUrl.indexOf(SINGLE_QUOTE) > -1) { + return DOUBLE_QUOTE; + } if (unquotedUrl.indexOf(DOUBLE_QUOTE) > -1) { + return SINGLE_QUOTE; + } if (hasWhitespace(unquotedUrl) || hasRoundBrackets(unquotedUrl)) { + return SINGLE_QUOTE; + } + return ''; +} + +function hasWhitespace(url) { + return WHITESPACE_PATTERN.test(url); +} + +function hasRoundBrackets(url) { + return ROUND_BRACKETS_PATTERN.test(url); +} + +function rewriteUrl(originalUrl, rebaseConfig, pathOnly) { + var strippedUrl = originalUrl + .replace(URL_PREFIX_PATTERN, '') + .replace(URL_SUFFIX_PATTERN, '') + .trim(); + + var unquotedUrl = strippedUrl + .replace(QUOTE_PREFIX_PATTERN, '') + .replace(QUOTE_SUFFIX_PATTERN, '') + .trim(); + + var quote = strippedUrl[0] == SINGLE_QUOTE || strippedUrl[0] == DOUBLE_QUOTE + ? strippedUrl[0] + : quoteFor(unquotedUrl); + + return pathOnly + ? rebase(unquotedUrl, rebaseConfig) + : URL_PREFIX + quote + rebase(unquotedUrl, rebaseConfig) + quote + URL_SUFFIX; +} + +module.exports = rewriteUrl; + + +/***/ }, + +/***/ 9894 +(module) { + +var Marker = { + ASTERISK: '*', + AT: '@', + BACK_SLASH: '\\', + CARRIAGE_RETURN: '\r', + CLOSE_CURLY_BRACKET: '}', + CLOSE_ROUND_BRACKET: ')', + CLOSE_SQUARE_BRACKET: ']', + COLON: ':', + COMMA: ',', + DOUBLE_QUOTE: '"', + EXCLAMATION: '!', + FORWARD_SLASH: '/', + INTERNAL: '-clean-css-', + NEW_LINE_NIX: '\n', + OPEN_CURLY_BRACKET: '{', + OPEN_ROUND_BRACKET: '(', + OPEN_SQUARE_BRACKET: '[', + SEMICOLON: ';', + SINGLE_QUOTE: '\'', + SPACE: ' ', + TAB: '\t', + UNDERSCORE: '_' +}; + +module.exports = Marker; + + +/***/ }, + +/***/ 50107 +(module) { + +var Token = { + AT_RULE: 'at-rule', // e.g. `@import`, `@charset` + AT_RULE_BLOCK: 'at-rule-block', // e.g. `@font-face{...}` + AT_RULE_BLOCK_SCOPE: 'at-rule-block-scope', // e.g. `@font-face` + COMMENT: 'comment', // e.g. `/* comment */` + NESTED_BLOCK: 'nested-block', // e.g. `@media screen{...}`, `@keyframes animation {...}` + NESTED_BLOCK_SCOPE: 'nested-block-scope', // e.g. `@media`, `@keyframes` + PROPERTY: 'property', // e.g. `color:red` + PROPERTY_BLOCK: 'property-block', // e.g. `--var:{color:red}` + PROPERTY_NAME: 'property-name', // e.g. `color` + PROPERTY_VALUE: 'property-value', // e.g. `red` + RAW: 'raw', // e.g. anything between /* clean-css ignore:start */ and /* clean-css ignore:end */ comments + RULE: 'rule', // e.g `div > a{...}` + RULE_SCOPE: 'rule-scope' // e.g `div > a` +}; + +module.exports = Token; + + +/***/ }, + +/***/ 8449 +(module, __unused_webpack_exports, __webpack_require__) { + +var Marker = __webpack_require__(9894); +var Token = __webpack_require__(50107); + +var formatPosition = __webpack_require__(54471); + +var Level = { + BLOCK: 'block', + COMMENT: 'comment', + DOUBLE_QUOTE: 'double-quote', + RULE: 'rule', + SINGLE_QUOTE: 'single-quote' +}; + +var AT_RULES = [ + '@charset', + '@import' +]; + +var BLOCK_RULES = [ + '@-moz-document', + '@document', + '@-moz-keyframes', + '@-ms-keyframes', + '@-o-keyframes', + '@-webkit-keyframes', + '@keyframes', + '@media', + '@supports', + '@container', + '@layer' +]; + +var IGNORE_END_COMMENT_PATTERN = /\/\* clean-css ignore:end \*\/$/; +var IGNORE_START_COMMENT_PATTERN = /^\/\* clean-css ignore:start \*\//; + +var PAGE_MARGIN_BOXES = [ + '@bottom-center', + '@bottom-left', + '@bottom-left-corner', + '@bottom-right', + '@bottom-right-corner', + '@left-bottom', + '@left-middle', + '@left-top', + '@right-bottom', + '@right-middle', + '@right-top', + '@top-center', + '@top-left', + '@top-left-corner', + '@top-right', + '@top-right-corner' +]; + +var EXTRA_PAGE_BOXES = [ + '@footnote', + '@footnotes', + '@left', + '@page-float-bottom', + '@page-float-top', + '@right' +]; + +var REPEAT_PATTERN = /^\[\s{0,31}\d+\s{0,31}\]$/; +var TAIL_BROKEN_VALUE_PATTERN = /([^}])\}*$/; +var RULE_WORD_SEPARATOR_PATTERN = /[\s(]/; + +function tokenize(source, externalContext) { + var internalContext = { + level: Level.BLOCK, + position: { + source: externalContext.source || undefined, + line: 1, + column: 0, + index: 0 + } + }; + + return intoTokens(source, externalContext, internalContext, false); +} + +function intoTokens(source, externalContext, internalContext, isNested) { + var allTokens = []; + var newTokens = allTokens; + var lastToken; + var ruleToken; + var ruleTokens = []; + var propertyToken; + var metadata; + var metadatas = []; + var level = internalContext.level; + var levels = []; + var buffer = []; + var buffers = []; + var isBufferEmpty = true; + var serializedBuffer; + var serializedBufferPart; + var roundBracketLevel = 0; + var isQuoted; + var isSpace; + var isNewLineNix; + var isNewLineWin; + var isCarriageReturn; + var isCommentStart; + var wasCommentStart = false; + var isCommentEnd; + var wasCommentEnd = false; + var isCommentEndMarker; + var isEscaped; + var wasEscaped = false; + var characterWithNoSpecialMeaning; + var isPreviousDash = false; + var isVariable = false; + var isRaw = false; + var seekingValue = false; + var seekingPropertyBlockClosing = false; + var position = internalContext.position; + var lastCommentStartAt; + + for (; position.index < source.length; position.index++) { + var character = source[position.index]; + + isQuoted = level == Level.SINGLE_QUOTE || level == Level.DOUBLE_QUOTE; + isSpace = character == Marker.SPACE || character == Marker.TAB; + isNewLineNix = character == Marker.NEW_LINE_NIX; + isNewLineWin = character == Marker.NEW_LINE_NIX + && source[position.index - 1] == Marker.CARRIAGE_RETURN; + isCarriageReturn = character == Marker.CARRIAGE_RETURN + && source[position.index + 1] && source[position.index + 1] != Marker.NEW_LINE_NIX; + isCommentStart = !wasCommentEnd + && level != Level.COMMENT && !isQuoted + && character == Marker.ASTERISK && source[position.index - 1] == Marker.FORWARD_SLASH; + isCommentEndMarker = !wasCommentStart + && !isQuoted && character == Marker.FORWARD_SLASH + && source[position.index - 1] == Marker.ASTERISK; + isCommentEnd = level == Level.COMMENT && isCommentEndMarker; + characterWithNoSpecialMeaning = !isSpace && !isCarriageReturn && (character >= 'A' && character <= 'Z' || character >= 'a' && character <= 'z' || character >= '0' && character <= '9' || character == '-'); + isVariable = isVariable || (level != Level.COMMENT && !seekingValue && isPreviousDash && character === '-' && buffer.length === 1); + isPreviousDash = character === '-'; + roundBracketLevel = Math.max(roundBracketLevel, 0); + + metadata = isBufferEmpty + ? [position.line, position.column, position.source] + : metadata; + + if (isEscaped) { + // previous character was a backslash + buffer.push(character); + isBufferEmpty = false; + } else if (characterWithNoSpecialMeaning) { + // it's just an alphanumeric character or a hyphen (part of any rule or property name) so let's end it quickly + buffer.push(character); + isBufferEmpty = false; + } else if ((isSpace || isNewLineNix && !isNewLineWin) && (isQuoted || level == Level.COMMENT)) { + buffer.push(character); + isBufferEmpty = false; + } else if ((isSpace || isNewLineNix && !isNewLineWin) && isBufferEmpty) { + // noop + } else if (!isCommentEnd && level == Level.COMMENT) { + buffer.push(character); + isBufferEmpty = false; + } else if (!isCommentStart && !isCommentEnd && isRaw) { + buffer.push(character); + isBufferEmpty = false; + } else if (isCommentStart + && isVariable + && (level == Level.BLOCK || level == Level.RULE) && buffer.length > 1) { + // comment start within a variable, e.g. var(/*<-- + buffer.push(character); + isBufferEmpty = false; + + levels.push(level); + level = Level.COMMENT; + } else if (isCommentStart && (level == Level.BLOCK || level == Level.RULE) && buffer.length > 1) { + // comment start within block preceded by some content, e.g. div/*<-- + metadatas.push(metadata); + buffer.push(character); + buffers.push(buffer.slice(0, -2)); + isBufferEmpty = false; + + buffer = buffer.slice(-2); + metadata = [position.line, position.column - 1, position.source]; + + levels.push(level); + level = Level.COMMENT; + } else if (isCommentStart) { + // comment start, e.g. /*<-- + levels.push(level); + level = Level.COMMENT; + buffer.push(character); + isBufferEmpty = false; + } else if (isCommentEnd && isVariable) { + // comment end within a variable, e.g. var(/*!*/<-- + buffer.push(character); + level = levels.pop(); + } else if (isCommentEnd && isIgnoreStartComment(buffer)) { + // ignore:start comment end, e.g. /* clean-css ignore:start */<-- + serializedBuffer = buffer.join('').trim() + character; + lastToken = [ + Token.COMMENT, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]; + newTokens.push(lastToken); + + isRaw = true; + metadata = metadatas.pop() || null; + buffer = buffers.pop() || []; + isBufferEmpty = buffer.length === 0; + } else if (isCommentEnd && isIgnoreEndComment(buffer)) { + // ignore:start comment end, e.g. /* clean-css ignore:end */<-- + serializedBuffer = buffer.join('') + character; + lastCommentStartAt = serializedBuffer.lastIndexOf(Marker.FORWARD_SLASH + Marker.ASTERISK); + + serializedBufferPart = serializedBuffer.substring(0, lastCommentStartAt); + lastToken = [ + Token.RAW, + serializedBufferPart, + [originalMetadata(metadata, serializedBufferPart, externalContext)] + ]; + newTokens.push(lastToken); + + serializedBufferPart = serializedBuffer.substring(lastCommentStartAt); + metadata = [position.line, position.column - serializedBufferPart.length + 1, position.source]; + lastToken = [ + Token.COMMENT, + serializedBufferPart, + [originalMetadata(metadata, serializedBufferPart, externalContext)] + ]; + newTokens.push(lastToken); + + isRaw = false; + level = levels.pop(); + metadata = metadatas.pop() || null; + buffer = buffers.pop() || []; + isBufferEmpty = buffer.length === 0; + } else if (isCommentEnd) { + // comment end, e.g. /* comment */<-- + serializedBuffer = buffer.join('').trim() + character; + lastToken = [ + Token.COMMENT, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]; + newTokens.push(lastToken); + + level = levels.pop(); + metadata = metadatas.pop() || null; + buffer = buffers.pop() || []; + isBufferEmpty = buffer.length === 0; + } else if (isCommentEndMarker && source[position.index + 1] != Marker.ASTERISK) { + externalContext.warnings.push('Unexpected \'*/\' at ' + formatPosition([position.line, position.column, position.source]) + '.'); + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.SINGLE_QUOTE && !isQuoted) { + // single quotation start, e.g. a[href^='https<-- + levels.push(level); + level = Level.SINGLE_QUOTE; + buffer.push(character); + isBufferEmpty = false; + } else if (character == Marker.SINGLE_QUOTE && level == Level.SINGLE_QUOTE) { + // single quotation end, e.g. a[href^='https'<-- + level = levels.pop(); + buffer.push(character); + isBufferEmpty = false; + } else if (character == Marker.DOUBLE_QUOTE && !isQuoted) { + // double quotation start, e.g. a[href^="<-- + levels.push(level); + level = Level.DOUBLE_QUOTE; + buffer.push(character); + isBufferEmpty = false; + } else if (character == Marker.DOUBLE_QUOTE && level == Level.DOUBLE_QUOTE) { + // double quotation end, e.g. a[href^="https"<-- + level = levels.pop(); + buffer.push(character); + isBufferEmpty = false; + } else if (character != Marker.CLOSE_ROUND_BRACKET + && character != Marker.OPEN_ROUND_BRACKET + && level != Level.COMMENT && !isQuoted && roundBracketLevel > 0) { + // character inside any function, e.g. hsla(.<-- + buffer.push(character); + isBufferEmpty = false; + } else if (character == Marker.OPEN_ROUND_BRACKET + && !isQuoted && level != Level.COMMENT + && !seekingValue) { + // round open bracket, e.g. @import url(<-- + buffer.push(character); + isBufferEmpty = false; + + roundBracketLevel++; + } else if (character == Marker.CLOSE_ROUND_BRACKET + && !isQuoted + && level != Level.COMMENT + && !seekingValue) { + // round open bracket, e.g. @import url(test.css)<-- + buffer.push(character); + isBufferEmpty = false; + + roundBracketLevel--; + } else if (character == Marker.SEMICOLON && level == Level.BLOCK && buffer[0] == Marker.AT) { + // semicolon ending rule at block level, e.g. @import '...';<-- + serializedBuffer = buffer.join('').trim(); + allTokens.push([ + Token.AT_RULE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.COMMA && level == Level.BLOCK && ruleToken) { + // comma separator at block level, e.g. a,div,<-- + serializedBuffer = buffer.join('').trim(); + ruleToken[1].push([ + tokenScopeFrom(ruleToken[0]), + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext, ruleToken[1].length)] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.COMMA && level == Level.BLOCK && tokenTypeFrom(buffer) == Token.AT_RULE) { + // comma separator at block level, e.g. @import url(...) screen,<-- + // keep iterating as end semicolon will create the token + buffer.push(character); + isBufferEmpty = false; + } else if (character == Marker.COMMA && level == Level.BLOCK) { + // comma separator at block level, e.g. a,<-- + ruleToken = [tokenTypeFrom(buffer), [], []]; + serializedBuffer = buffer.join('').trim(); + ruleToken[1].push([ + tokenScopeFrom(ruleToken[0]), + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext, 0)] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.OPEN_CURLY_BRACKET + && level == Level.BLOCK + && ruleToken + && ruleToken[0] == Token.NESTED_BLOCK) { + // open brace opening at-rule at block level, e.g. @media{<-- + serializedBuffer = buffer.join('').trim(); + ruleToken[1].push([ + Token.NESTED_BLOCK_SCOPE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + allTokens.push(ruleToken); + + levels.push(level); + position.column++; + position.index++; + buffer = []; + isBufferEmpty = true; + + ruleToken[2] = intoTokens(source, externalContext, internalContext, true); + ruleToken = null; + } else if (character == Marker.OPEN_CURLY_BRACKET + && level == Level.BLOCK + && tokenTypeFrom(buffer) == Token.NESTED_BLOCK) { + // open brace opening at-rule at block level, e.g. @media{<-- + serializedBuffer = buffer.join('').trim(); + ruleToken = ruleToken || [Token.NESTED_BLOCK, [], []]; + ruleToken[1].push([ + Token.NESTED_BLOCK_SCOPE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + allTokens.push(ruleToken); + + levels.push(level); + position.column++; + position.index++; + buffer = []; + isBufferEmpty = true; + isVariable = false; + + ruleToken[2] = intoTokens(source, externalContext, internalContext, true); + ruleToken = null; + } else if (character == Marker.OPEN_CURLY_BRACKET && level == Level.BLOCK) { + // open brace opening rule at block level, e.g. div{<-- + serializedBuffer = buffer.join('').trim(); + ruleToken = ruleToken || [tokenTypeFrom(buffer), [], []]; + ruleToken[1].push([ + tokenScopeFrom(ruleToken[0]), + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext, ruleToken[1].length)] + ]); + newTokens = ruleToken[2]; + allTokens.push(ruleToken); + + levels.push(level); + level = Level.RULE; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.OPEN_CURLY_BRACKET && level == Level.RULE && seekingValue) { + // open brace opening rule at rule level, e.g. div{--variable:{<-- + ruleTokens.push(ruleToken); + ruleToken = [Token.PROPERTY_BLOCK, []]; + propertyToken.push(ruleToken); + newTokens = ruleToken[1]; + + levels.push(level); + level = Level.RULE; + seekingValue = false; + } else if (character == Marker.OPEN_CURLY_BRACKET && level == Level.RULE && isPageMarginBox(buffer)) { + // open brace opening page-margin box at rule level, e.g. @page{@top-center{<-- + serializedBuffer = buffer.join('').trim(); + ruleTokens.push(ruleToken); + ruleToken = [Token.AT_RULE_BLOCK, [], []]; + ruleToken[1].push([ + Token.AT_RULE_BLOCK_SCOPE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + newTokens.push(ruleToken); + newTokens = ruleToken[2]; + + levels.push(level); + level = Level.RULE; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.COLON && level == Level.RULE && !seekingValue) { + // colon at rule level, e.g. a{color:<-- + serializedBuffer = buffer.join('').trim(); + propertyToken = [ + Token.PROPERTY, + [ + Token.PROPERTY_NAME, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ] + ]; + newTokens.push(propertyToken); + + seekingValue = true; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.SEMICOLON + && level == Level.RULE + && propertyToken + && ruleTokens.length > 0 + && !isBufferEmpty + && buffer[0] == Marker.AT) { + // semicolon at rule level for at-rule, e.g. a{--color:{@apply(--other-color);<-- + serializedBuffer = buffer.join('').trim(); + ruleToken[1].push([ + Token.AT_RULE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.SEMICOLON && level == Level.RULE && propertyToken && !isBufferEmpty) { + // semicolon at rule level, e.g. a{color:red;<-- + serializedBuffer = buffer.join('').trim(); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + propertyToken = null; + seekingValue = false; + buffer = []; + isBufferEmpty = true; + isVariable = false; + } else if (character == Marker.SEMICOLON + && level == Level.RULE + && propertyToken + && isBufferEmpty + && isVariable + && !propertyToken[2]) { + // semicolon after empty variable value at rule level, e.g. a{--color: ;<-- + propertyToken.push([Token.PROPERTY_VALUE, ' ', [originalMetadata(metadata, ' ', externalContext)]]); + isVariable = false; + propertyToken = null; + seekingValue = false; + } else if (character == Marker.SEMICOLON && level == Level.RULE && propertyToken && isBufferEmpty) { + // semicolon after bracketed value at rule level, e.g. a{color:rgb(...);<-- + propertyToken = null; + seekingValue = false; + } else if (character == Marker.SEMICOLON + && level == Level.RULE + && !isBufferEmpty + && buffer[0] == Marker.AT) { + // semicolon for at-rule at rule level, e.g. a{@apply(--variable);<-- + serializedBuffer = buffer.join(''); + newTokens.push([ + Token.AT_RULE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + seekingValue = false; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.SEMICOLON && level == Level.RULE && seekingPropertyBlockClosing) { + // close brace after a property block at rule level, e.g. a{--custom:{color:red;};<-- + seekingPropertyBlockClosing = false; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.SEMICOLON && level == Level.RULE && isBufferEmpty) { + // stray semicolon at rule level, e.g. a{;<-- + // noop + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.RULE + && propertyToken + && seekingValue + && !isBufferEmpty && ruleTokens.length > 0) { + // close brace at rule level, e.g. a{--color:{color:red}<-- + serializedBuffer = buffer.join(''); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + propertyToken = null; + ruleToken = ruleTokens.pop(); + newTokens = ruleToken[2]; + + level = levels.pop(); + seekingValue = false; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.RULE + && propertyToken + && !isBufferEmpty + && buffer[0] == Marker.AT + && ruleTokens.length > 0) { + // close brace at rule level for at-rule, e.g. a{--color:{@apply(--other-color)}<-- + serializedBuffer = buffer.join(''); + ruleToken[1].push([ + Token.AT_RULE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + propertyToken = null; + ruleToken = ruleTokens.pop(); + newTokens = ruleToken[2]; + + level = levels.pop(); + seekingValue = false; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.RULE + && propertyToken + && ruleTokens.length > 0) { + // close brace at rule level after space, e.g. a{--color:{color:red }<-- + propertyToken = null; + ruleToken = ruleTokens.pop(); + newTokens = ruleToken[2]; + + level = levels.pop(); + seekingValue = false; + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.RULE + && propertyToken + && !isBufferEmpty) { + // close brace at rule level, e.g. a{color:red}<-- + serializedBuffer = buffer.join(''); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + propertyToken = null; + ruleToken = ruleTokens.pop(); + newTokens = allTokens; + + level = levels.pop(); + seekingValue = false; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.RULE + && !isBufferEmpty + && buffer[0] == Marker.AT) { + // close brace after at-rule at rule level, e.g. a{@apply(--variable)}<-- + propertyToken = null; + ruleToken = null; + serializedBuffer = buffer.join('').trim(); + newTokens.push([ + Token.AT_RULE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + newTokens = allTokens; + + level = levels.pop(); + seekingValue = false; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.RULE + && levels[levels.length - 1] == Level.RULE) { + // close brace after a property block at rule level, e.g. a{--custom:{color:red;}<-- + propertyToken = null; + ruleToken = ruleTokens.pop(); + newTokens = ruleToken[2]; + + level = levels.pop(); + seekingValue = false; + seekingPropertyBlockClosing = true; + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.RULE + && isVariable + && propertyToken + && !propertyToken[2]) { + // close brace after an empty variable declaration inside a rule, e.g. a{--color: }<-- + propertyToken.push([Token.PROPERTY_VALUE, ' ', [originalMetadata(metadata, ' ', externalContext)]]); + isVariable = false; + propertyToken = null; + ruleToken = null; + newTokens = allTokens; + + level = levels.pop(); + seekingValue = false; + isVariable = false; + } else if (character == Marker.CLOSE_CURLY_BRACKET && level == Level.RULE) { + // close brace after a rule, e.g. a{color:red;}<-- + propertyToken = null; + ruleToken = null; + newTokens = allTokens; + + level = levels.pop(); + seekingValue = false; + isVariable = false; + } else if (character == Marker.CLOSE_CURLY_BRACKET + && level == Level.BLOCK + && !isNested + && position.index <= source.length - 1) { + // stray close brace at block level, e.g. a{color:red}color:blue}<-- + externalContext.warnings.push('Unexpected \'}\' at ' + formatPosition([position.line, position.column, position.source]) + '.'); + buffer.push(character); + isBufferEmpty = false; + } else if (character == Marker.CLOSE_CURLY_BRACKET && level == Level.BLOCK) { + // close brace at block level, e.g. @media screen {...}<-- + break; + } else if (character == Marker.OPEN_ROUND_BRACKET && level == Level.RULE && seekingValue) { + // round open bracket, e.g. a{color:hsla(<-- + buffer.push(character); + isBufferEmpty = false; + roundBracketLevel++; + } else if (character == Marker.CLOSE_ROUND_BRACKET + && level == Level.RULE + && seekingValue + && roundBracketLevel == 1) { + // round close bracket, e.g. a{color:hsla(0,0%,0%)<-- + buffer.push(character); + isBufferEmpty = false; + serializedBuffer = buffer.join('').trim(); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + roundBracketLevel--; + buffer = []; + isBufferEmpty = true; + isVariable = false; + } else if (character == Marker.CLOSE_ROUND_BRACKET && level == Level.RULE && seekingValue) { + // round close bracket within other brackets, e.g. a{width:calc((10rem / 2)<-- + buffer.push(character); + isBufferEmpty = false; + isVariable = false; + roundBracketLevel--; + } else if (character == Marker.FORWARD_SLASH + && source[position.index + 1] != Marker.ASTERISK + && level == Level.RULE + && seekingValue + && !isBufferEmpty) { + // forward slash within a property, e.g. a{background:url(image.png) 0 0/<-- + serializedBuffer = buffer.join('').trim(); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + propertyToken.push([ + Token.PROPERTY_VALUE, + character, + [[position.line, position.column, position.source]] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.FORWARD_SLASH + && source[position.index + 1] != Marker.ASTERISK + && level == Level.RULE + && seekingValue) { + // forward slash within a property after space, e.g. a{background:url(image.png) 0 0 /<-- + propertyToken.push([ + Token.PROPERTY_VALUE, + character, + [[position.line, position.column, position.source]] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.COMMA && level == Level.RULE && seekingValue && !isBufferEmpty) { + // comma within a property, e.g. a{background:url(image.png),<-- + serializedBuffer = buffer.join('').trim(); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + propertyToken.push([ + Token.PROPERTY_VALUE, + character, + [[position.line, position.column, position.source]] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.COMMA && level == Level.RULE && seekingValue) { + // comma within a property after space, e.g. a{background:url(image.png) ,<-- + propertyToken.push([ + Token.PROPERTY_VALUE, + character, + [[position.line, position.column, position.source]] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (character == Marker.CLOSE_SQUARE_BRACKET + && propertyToken + && propertyToken.length > 1 + && !isBufferEmpty + && isRepeatToken(buffer)) { + buffer.push(character); + serializedBuffer = buffer.join('').trim(); + propertyToken[propertyToken.length - 1][1] += serializedBuffer; + + buffer = []; + isBufferEmpty = true; + } else if ((isSpace || (isNewLineNix && !isNewLineWin)) + && level == Level.RULE + && seekingValue + && propertyToken + && !isBufferEmpty) { + // space or *nix newline within property, e.g. a{margin:0 <-- + serializedBuffer = buffer.join('').trim(); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (isNewLineWin && level == Level.RULE && seekingValue && propertyToken && buffer.length > 1) { + // win newline within property, e.g. a{margin:0\r\n<-- + serializedBuffer = buffer.join('').trim(); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + buffer = []; + isBufferEmpty = true; + } else if (isNewLineWin && level == Level.RULE && seekingValue) { + // win newline + buffer = []; + isBufferEmpty = true; + } else if (isNewLineWin && buffer.length == 1) { + // ignore windows newline which is composed of two characters + buffer.pop(); + isBufferEmpty = buffer.length === 0; + } else if (!isBufferEmpty || !isSpace && !isNewLineNix && !isNewLineWin && !isCarriageReturn) { + // any character + buffer.push(character); + isBufferEmpty = false; + } + + wasEscaped = isEscaped; + isEscaped = !wasEscaped && character == Marker.BACK_SLASH; + wasCommentStart = isCommentStart; + wasCommentEnd = isCommentEnd; + + position.line = (isNewLineWin || isNewLineNix || isCarriageReturn) ? position.line + 1 : position.line; + position.column = (isNewLineWin || isNewLineNix || isCarriageReturn) ? 0 : position.column + 1; + } + + if (seekingValue) { + externalContext.warnings.push('Missing \'}\' at ' + formatPosition([position.line, position.column, position.source]) + '.'); + } + + if (seekingValue && buffer.length > 0) { + serializedBuffer = buffer.join('').trimRight().replace(TAIL_BROKEN_VALUE_PATTERN, '$1').trimRight(); + propertyToken.push([ + Token.PROPERTY_VALUE, + serializedBuffer, + [originalMetadata(metadata, serializedBuffer, externalContext)] + ]); + + buffer = []; + } + + if (buffer.length > 0) { + externalContext.warnings.push('Invalid character(s) \'' + buffer.join('') + '\' at ' + formatPosition(metadata) + '. Ignoring.'); + } + + return allTokens; +} + +function isIgnoreStartComment(buffer) { + return IGNORE_START_COMMENT_PATTERN.test(buffer.join('') + Marker.FORWARD_SLASH); +} + +function isIgnoreEndComment(buffer) { + return IGNORE_END_COMMENT_PATTERN.test(buffer.join('') + Marker.FORWARD_SLASH); +} + +function originalMetadata(metadata, value, externalContext, selectorFallbacks) { + var source = metadata[2]; + + return externalContext.inputSourceMapTracker.isTracking(source) + ? externalContext.inputSourceMapTracker.originalPositionFor(metadata, value.length, selectorFallbacks) + : metadata; +} + +function tokenTypeFrom(buffer) { + var isAtRule = buffer[0] == Marker.AT || buffer[0] == Marker.UNDERSCORE; + var ruleWord = buffer.join('').split(RULE_WORD_SEPARATOR_PATTERN)[0]; + + if (isAtRule && BLOCK_RULES.indexOf(ruleWord) > -1) { + return Token.NESTED_BLOCK; + } if (isAtRule && AT_RULES.indexOf(ruleWord) > -1) { + return Token.AT_RULE; + } if (isAtRule) { + return Token.AT_RULE_BLOCK; + } + return Token.RULE; +} + +function tokenScopeFrom(tokenType) { + if (tokenType == Token.RULE) { + return Token.RULE_SCOPE; + } if (tokenType == Token.NESTED_BLOCK) { + return Token.NESTED_BLOCK_SCOPE; + } if (tokenType == Token.AT_RULE_BLOCK) { + return Token.AT_RULE_BLOCK_SCOPE; + } +} + +function isPageMarginBox(buffer) { + var serializedBuffer = buffer.join('').trim(); + + return PAGE_MARGIN_BOXES.indexOf(serializedBuffer) > -1 || EXTRA_PAGE_BOXES.indexOf(serializedBuffer) > -1; +} + +function isRepeatToken(buffer) { + return REPEAT_PATTERN.test(buffer.join('') + Marker.CLOSE_SQUARE_BRACKET); +} + +module.exports = tokenize; + + +/***/ }, + +/***/ 43771 +(module) { + +function cloneArray(array) { + var cloned = array.slice(0); + + for (var i = 0, l = cloned.length; i < l; i++) { + if (Array.isArray(cloned[i])) { cloned[i] = cloneArray(cloned[i]); } + } + + return cloned; +} + +module.exports = cloneArray; + + +/***/ }, + +/***/ 54471 +(module) { + +function formatPosition(metadata) { + var line = metadata[0]; + var column = metadata[1]; + var source = metadata[2]; + + return source + ? source + ':' + line + ':' + column + : line + ':' + column; +} + +module.exports = formatPosition; + + +/***/ }, + +/***/ 34623 +(module) { + +var NO_PROTOCOL_RESOURCE_PATTERN = /^\/\//; + +function hasProtocol(uri) { + return !NO_PROTOCOL_RESOURCE_PATTERN.test(uri); +} + +module.exports = hasProtocol; + + +/***/ }, + +/***/ 41263 +(module) { + +var DATA_URI_PATTERN = /^data:(\S{0,31}?)?(;charset=(?:(?!;charset=)[^;])+)?(;[^,]+?)?,(.+)/; + +function isDataUriResource(uri) { + return DATA_URI_PATTERN.test(uri); +} + +module.exports = isDataUriResource; + + +/***/ }, + +/***/ 33698 +(module) { + +var HTTP_RESOURCE_PATTERN = /^http:\/\//; + +function isHttpResource(uri) { + return HTTP_RESOURCE_PATTERN.test(uri); +} + +module.exports = isHttpResource; + + +/***/ }, + +/***/ 66041 +(module) { + +var HTTPS_RESOURCE_PATTERN = /^https:\/\//; + +function isHttpsResource(uri) { + return HTTPS_RESOURCE_PATTERN.test(uri); +} + +module.exports = isHttpsResource; + + +/***/ }, + +/***/ 80232 +(module) { + +var IMPORT_PREFIX_PATTERN = /^@import/i; + +function isImport(value) { + return IMPORT_PREFIX_PATTERN.test(value); +} + +module.exports = isImport; + + +/***/ }, + +/***/ 5068 +(module) { + +var REMOTE_RESOURCE_PATTERN = /^(\w+:\/\/|\/\/)/; +var FILE_RESOURCE_PATTERN = /^file:\/\//; + +function isRemoteResource(uri) { + return REMOTE_RESOURCE_PATTERN.test(uri) && !FILE_RESOURCE_PATTERN.test(uri); +} + +module.exports = isRemoteResource; + + +/***/ }, + +/***/ 58785 +(module) { + +// adapted from http://nedbatchelder.com/blog/200712.html#e20071211T054956 + +var NUMBER_PATTERN = /([0-9]+)/; + +function naturalCompare(value1, value2) { + var keys1 = ('' + value1).split(NUMBER_PATTERN).map(tryParseInt); + var keys2 = ('' + value2).split(NUMBER_PATTERN).map(tryParseInt); + var key1; + var key2; + var compareFirst = Math.min(keys1.length, keys2.length); + var i, l; + + for (i = 0, l = compareFirst; i < l; i++) { + key1 = keys1[i]; + key2 = keys2[i]; + + if (key1 != key2) { + return key1 > key2 ? 1 : -1; + } + } + + return keys1.length > keys2.length ? 1 : (keys1.length == keys2.length ? 0 : -1); +} + +function tryParseInt(value) { + return ('' + parseInt(value)) == value + ? parseInt(value) + : value; +} + +module.exports = naturalCompare; + + +/***/ }, + +/***/ 56480 +(module) { + +function override(source1, source2) { + var target = {}; + var key1; + var key2; + var item; + + for (key1 in source1) { + item = source1[key1]; + + if (Array.isArray(item)) { + target[key1] = item.slice(0); + } else if (typeof item == 'object' && item !== null) { + target[key1] = override(item, {}); + } else { + target[key1] = item; + } + } + + for (key2 in source2) { + item = source2[key2]; + + if (key2 in target && Array.isArray(item)) { + target[key2] = item.slice(0); + } else if (key2 in target && typeof item == 'object' && item !== null) { + target[key2] = override(target[key2], item); + } else { + target[key2] = item; + } + } + + return target; +} + +module.exports = override; + + +/***/ }, + +/***/ 80994 +(module, __unused_webpack_exports, __webpack_require__) { + +var Marker = __webpack_require__(9894); + +function is(value, separator, isSeparatorRegex) { + return isSeparatorRegex + ? separator.test(value) + : value === separator; +} + +function split(value, separator) { + var openLevel = Marker.OPEN_ROUND_BRACKET; + var closeLevel = Marker.CLOSE_ROUND_BRACKET; + var level = 0; + var cursor = 0; + var lastStart = 0; + var lastValue; + var lastCharacter; + var len = value.length; + var parts = []; + var isSeparatorRegex = typeof (separator) == 'object' && 'exec' in separator; + + if (!isSeparatorRegex && value.indexOf(separator) == -1) { + return [value]; + } + + if (value.indexOf(openLevel) == -1) { + return value.split(separator); + } + + while (cursor < len) { + if (value[cursor] == openLevel) { + level++; + } else if (value[cursor] == closeLevel) { + level--; + } + + if (level === 0 && cursor > 0 && cursor + 1 < len && is(value[cursor], separator, isSeparatorRegex)) { + parts.push(value.substring(lastStart, cursor)); + + if (isSeparatorRegex && separator.exec(value[cursor]).length > 1) { + parts.push(value[cursor]); + } + + lastStart = cursor + 1; + } + + cursor++; + } + + if (lastStart < cursor + 1) { + lastValue = value.substring(lastStart); + lastCharacter = lastValue[lastValue.length - 1]; + if (is(lastCharacter, separator, isSeparatorRegex)) { + lastValue = lastValue.substring(0, lastValue.length - 1); + } + + parts.push(lastValue); + } + + return parts; +} + +module.exports = split; + + +/***/ }, + +/***/ 24839 +(module, __unused_webpack_exports, __webpack_require__) { + +var emptyCharacter = ''; + +var Breaks = (__webpack_require__(462).Breaks); +var Spaces = (__webpack_require__(462).Spaces); + +var Marker = __webpack_require__(9894); +var Token = __webpack_require__(50107); + +function supportsAfterClosingBrace(token) { + return token[1][1] == 'background' || token[1][1] == 'transform' || token[1][1] == 'src'; +} + +function afterClosingBrace(token, valueIndex) { + return token[valueIndex][1][token[valueIndex][1].length - 1] == Marker.CLOSE_ROUND_BRACKET; +} + +function afterComma(token, valueIndex) { + return token[valueIndex][1] == Marker.COMMA; +} + +function afterSlash(token, valueIndex) { + return token[valueIndex][1] == Marker.FORWARD_SLASH; +} + +function beforeComma(token, valueIndex) { + return token[valueIndex + 1] && token[valueIndex + 1][1] == Marker.COMMA; +} + +function beforeSlash(token, valueIndex) { + return token[valueIndex + 1] && token[valueIndex + 1][1] == Marker.FORWARD_SLASH; +} + +function inFilter(token) { + return token[1][1] == 'filter' || token[1][1] == '-ms-filter'; +} + +function disallowsSpace(context, token, valueIndex) { + return !context.spaceAfterClosingBrace + && supportsAfterClosingBrace(token) + && afterClosingBrace(token, valueIndex) + || beforeSlash(token, valueIndex) + || afterSlash(token, valueIndex) + || beforeComma(token, valueIndex) + || afterComma(token, valueIndex); +} + +function rules(context, tokens) { + var store = context.store; + + for (var i = 0, l = tokens.length; i < l; i++) { + store(context, tokens[i]); + + if (i < l - 1) { + store(context, comma(context)); + } + } +} + +function body(context, tokens) { + var lastPropertyAt = lastPropertyIndex(tokens); + + for (var i = 0, l = tokens.length; i < l; i++) { + property(context, tokens, i, lastPropertyAt); + } +} + +function lastPropertyIndex(tokens) { + var index = tokens.length - 1; + + for (; index >= 0; index--) { + if (tokens[index][0] != Token.COMMENT) { + break; + } + } + + return index; +} + +function property(context, tokens, position, lastPropertyAt) { + var store = context.store; + var token = tokens[position]; + + var propertyValue = token[2]; + var isPropertyBlock = propertyValue && propertyValue[0] === Token.PROPERTY_BLOCK; + + var needsSemicolon; + if (context.format) { + if (context.format.semicolonAfterLastProperty || isPropertyBlock) { + needsSemicolon = true; + } else if (position < lastPropertyAt) { + needsSemicolon = true; + } else { + needsSemicolon = false; + } + } else { + needsSemicolon = position < lastPropertyAt || isPropertyBlock; + } + + var isLast = position === lastPropertyAt; + + switch (token[0]) { + case Token.AT_RULE: + store(context, token); + store(context, semicolon(context, Breaks.AfterProperty, false)); + break; + case Token.AT_RULE_BLOCK: + rules(context, token[1]); + store(context, openBrace(context, Breaks.AfterRuleBegins, true)); + body(context, token[2]); + store(context, closeBrace(context, Breaks.AfterRuleEnds, false, isLast)); + break; + case Token.COMMENT: + store(context, token); + store(context, breakFor(context, Breaks.AfterComment) + context.indentWith); + break; + case Token.PROPERTY: + store(context, token[1]); + store(context, colon(context)); + if (propertyValue) { + value(context, token); + } + store( + context, + needsSemicolon ? semicolon(context, Breaks.AfterProperty, isLast) : emptyCharacter + ); + break; + case Token.RAW: + store(context, token); + } +} + +function value(context, token) { + var store = context.store; + var j, m; + + if (token[2][0] == Token.PROPERTY_BLOCK) { + store(context, openBrace(context, Breaks.AfterBlockBegins, false)); + body(context, token[2][1]); + store(context, closeBrace(context, Breaks.AfterBlockEnds, false, true)); + } else { + for (j = 2, m = token.length; j < m; j++) { + store(context, token[j]); + + if (j < m - 1 && (inFilter(token) || !disallowsSpace(context, token, j))) { + store(context, Marker.SPACE); + } + } + } +} + +function breakFor(context, where) { + return context.format ? context.format.breaks[where] : emptyCharacter; +} + +function allowsSpace(context, where) { + return context.format && context.format.spaces[where]; +} + +function openBrace(context, where, needsPrefixSpace) { + if (context.format) { + context.indentBy += context.format.indentBy; + context.indentWith = context.format.indentWith.repeat(context.indentBy); + return ( + needsPrefixSpace + && allowsSpace(context, Spaces.BeforeBlockBegins) ? Marker.SPACE : emptyCharacter + ) + Marker.OPEN_CURLY_BRACKET + + breakFor(context, where) + + context.indentWith; + } + return Marker.OPEN_CURLY_BRACKET; +} + +function closeBrace(context, where, beforeBlockEnd, isLast) { + if (context.format) { + context.indentBy -= context.format.indentBy; + context.indentWith = context.format.indentWith.repeat(context.indentBy); + return ( + beforeBlockEnd + ? breakFor(context, Breaks.BeforeBlockEnds) + : breakFor(context, Breaks.AfterProperty) + ) + context.indentWith + + Marker.CLOSE_CURLY_BRACKET + + (isLast ? emptyCharacter : breakFor(context, where) + context.indentWith); + } + return Marker.CLOSE_CURLY_BRACKET; +} + +function colon(context) { + return context.format + ? Marker.COLON + (allowsSpace(context, Spaces.BeforeValue) ? Marker.SPACE : emptyCharacter) + : Marker.COLON; +} + +function semicolon(context, where, isLast) { + return context.format + ? Marker.SEMICOLON + (isLast ? emptyCharacter : (breakFor(context, where) + context.indentWith)) + : Marker.SEMICOLON; +} + +function comma(context) { + return context.format + ? Marker.COMMA + breakFor(context, Breaks.BetweenSelectors) + context.indentWith + : Marker.COMMA; +} + +function all(context, tokens) { + var store = context.store; + var token; + var isLast; + var i, l; + + for (i = 0, l = tokens.length; i < l; i++) { + token = tokens[i]; + isLast = i == l - 1; + + switch (token[0]) { + case Token.AT_RULE: + store(context, token); + store(context, semicolon(context, Breaks.AfterAtRule, isLast)); + break; + case Token.AT_RULE_BLOCK: + rules(context, token[1]); + store(context, openBrace(context, Breaks.AfterRuleBegins, true)); + body(context, token[2]); + store(context, closeBrace(context, Breaks.AfterRuleEnds, false, isLast)); + break; + case Token.NESTED_BLOCK: + rules(context, token[1]); + store(context, openBrace(context, Breaks.AfterBlockBegins, true)); + all(context, token[2]); + store(context, closeBrace(context, Breaks.AfterBlockEnds, true, isLast)); + break; + case Token.COMMENT: + store(context, token); + store(context, breakFor(context, Breaks.AfterComment) + context.indentWith); + break; + case Token.RAW: + store(context, token); + break; + case Token.RULE: + rules(context, token[1]); + store(context, openBrace(context, Breaks.AfterRuleBegins, true)); + body(context, token[2]); + store(context, closeBrace(context, Breaks.AfterRuleEnds, false, isLast)); + break; + } + } +} + +module.exports = { + all: all, + body: body, + property: property, + rules: rules, + value: value +}; + + +/***/ }, + +/***/ 76698 +(module, __unused_webpack_exports, __webpack_require__) { + +var helpers = __webpack_require__(24839); + +function store(serializeContext, token) { + serializeContext.output.push(typeof token == 'string' ? token : token[1]); +} + +function context() { + var newContext = { + output: [], + store: store + }; + + return newContext; +} + +function all(tokens) { + var oneTimeContext = context(); + helpers.all(oneTimeContext, tokens); + return oneTimeContext.output.join(''); +} + +function body(tokens) { + var oneTimeContext = context(); + helpers.body(oneTimeContext, tokens); + return oneTimeContext.output.join(''); +} + +function property(tokens, position) { + var oneTimeContext = context(); + helpers.property(oneTimeContext, tokens, position, true); + return oneTimeContext.output.join(''); +} + +function rules(tokens) { + var oneTimeContext = context(); + helpers.rules(oneTimeContext, tokens); + return oneTimeContext.output.join(''); +} + +function value(tokens) { + var oneTimeContext = context(); + helpers.value(oneTimeContext, tokens); + return oneTimeContext.output.join(''); +} + +module.exports = { + all: all, + body: body, + property: property, + rules: rules, + value: value +}; + + +/***/ }, + +/***/ 98334 +(module, __unused_webpack_exports, __webpack_require__) { + +var all = (__webpack_require__(24839).all); + +function store(serializeContext, token) { + var value = typeof token == 'string' + ? token + : token[1]; + var wrap = serializeContext.wrap; + + wrap(serializeContext, value); + track(serializeContext, value); + serializeContext.output.push(value); +} + +function wrap(serializeContext, value) { + if (serializeContext.column + value.length > serializeContext.format.wrapAt) { + track(serializeContext, serializeContext.format.breakWith); + serializeContext.output.push(serializeContext.format.breakWith); + } +} + +function track(serializeContext, value) { + var parts = value.split('\n'); + + serializeContext.line += parts.length - 1; + serializeContext.column = parts.length > 1 ? 0 : (serializeContext.column + parts.pop().length); +} + +function serializeStyles(tokens, context) { + var serializeContext = { + column: 0, + format: context.options.format, + indentBy: 0, + indentWith: '', + line: 1, + output: [], + spaceAfterClosingBrace: context.options.compatibility.properties.spaceAfterClosingBrace, + store: store, + wrap: context.options.format.wrapAt + ? wrap + : function() { /* noop */ } + }; + + all(serializeContext, tokens); + + return { styles: serializeContext.output.join('') }; +} + +module.exports = serializeStyles; + + +/***/ }, + +/***/ 76913 +(module, __unused_webpack_exports, __webpack_require__) { + +var SourceMapGenerator = (__webpack_require__(19665).SourceMapGenerator); +var all = (__webpack_require__(24839).all); + +var isRemoteResource = __webpack_require__(5068); + +var isWindows = process.platform == 'win32'; + +var NIX_SEPARATOR_PATTERN = /\//g; +var UNKNOWN_SOURCE = '$stdin'; +var WINDOWS_SEPARATOR = '\\'; + +function store(serializeContext, element) { + var fromString = typeof element == 'string'; + var value = fromString ? element : element[1]; + var mappings = fromString ? null : element[2]; + var wrap = serializeContext.wrap; + + wrap(serializeContext, value); + track(serializeContext, value, mappings); + serializeContext.output.push(value); +} + +function wrap(serializeContext, value) { + if (serializeContext.column + value.length > serializeContext.format.wrapAt) { + track(serializeContext, serializeContext.format.breakWith, false); + serializeContext.output.push(serializeContext.format.breakWith); + } +} + +function track(serializeContext, value, mappings) { + var parts = value.split('\n'); + + if (mappings) { + trackAllMappings(serializeContext, mappings); + } + + serializeContext.line += parts.length - 1; + serializeContext.column = parts.length > 1 ? 0 : (serializeContext.column + parts.pop().length); +} + +function trackAllMappings(serializeContext, mappings) { + for (var i = 0, l = mappings.length; i < l; i++) { + trackMapping(serializeContext, mappings[i]); + } +} + +function trackMapping(serializeContext, mapping) { + var line = mapping[0]; + var column = mapping[1]; + var originalSource = mapping[2]; + var source = originalSource; + var storedSource = source || UNKNOWN_SOURCE; + + if (isWindows && source && !isRemoteResource(source)) { + storedSource = source.replace(NIX_SEPARATOR_PATTERN, WINDOWS_SEPARATOR); + } + + serializeContext.outputMap.addMapping({ + generated: { + line: serializeContext.line, + column: serializeContext.column + }, + source: storedSource, + original: { + line: line, + column: column + } + }); + + if (serializeContext.inlineSources && (originalSource in serializeContext.sourcesContent)) { + serializeContext.outputMap.setSourceContent( + storedSource, + serializeContext.sourcesContent[originalSource] + ); + } +} + +function serializeStylesAndSourceMap(tokens, context) { + var serializeContext = { + column: 0, + format: context.options.format, + indentBy: 0, + indentWith: '', + inlineSources: context.options.sourceMapInlineSources, + line: 1, + output: [], + outputMap: new SourceMapGenerator(), + sourcesContent: context.sourcesContent, + spaceAfterClosingBrace: context.options.compatibility.properties.spaceAfterClosingBrace, + store: store, + wrap: context.options.format.wrapAt + ? wrap + : function() { /* noop */ } + }; + + all(serializeContext, tokens); + + return { + sourceMap: serializeContext.outputMap, + styles: serializeContext.output.join('') + }; +} + +module.exports = serializeStylesAndSourceMap; + + +/***/ }, + +/***/ 80801 +(module, __unused_webpack_exports, __webpack_require__) { + +var util = __webpack_require__(39023); +var Stream = (__webpack_require__(2203).Stream); +var DelayedStream = __webpack_require__(78069); + +module.exports = CombinedStream; +function CombinedStream() { + this.writable = false; + this.readable = true; + this.dataSize = 0; + this.maxDataSize = 2 * 1024 * 1024; + this.pauseStreams = true; + + this._released = false; + this._streams = []; + this._currentStream = null; + this._insideLoop = false; + this._pendingNext = false; +} +util.inherits(CombinedStream, Stream); + +CombinedStream.create = function(options) { + var combinedStream = new this(); + + options = options || {}; + for (var option in options) { + combinedStream[option] = options[option]; + } + + return combinedStream; +}; + +CombinedStream.isStreamLike = function(stream) { + return (typeof stream !== 'function') + && (typeof stream !== 'string') + && (typeof stream !== 'boolean') + && (typeof stream !== 'number') + && (!Buffer.isBuffer(stream)); +}; + +CombinedStream.prototype.append = function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + + if (isStreamLike) { + if (!(stream instanceof DelayedStream)) { + var newStream = DelayedStream.create(stream, { + maxDataSize: Infinity, + pauseStream: this.pauseStreams, + }); + stream.on('data', this._checkDataSize.bind(this)); + stream = newStream; + } + + this._handleErrors(stream); + + if (this.pauseStreams) { + stream.pause(); + } + } + + this._streams.push(stream); + return this; +}; + +CombinedStream.prototype.pipe = function(dest, options) { + Stream.prototype.pipe.call(this, dest, options); + this.resume(); + return dest; +}; + +CombinedStream.prototype._getNext = function() { + this._currentStream = null; + + if (this._insideLoop) { + this._pendingNext = true; + return; // defer call + } + + this._insideLoop = true; + try { + do { + this._pendingNext = false; + this._realGetNext(); + } while (this._pendingNext); + } finally { + this._insideLoop = false; + } +}; + +CombinedStream.prototype._realGetNext = function() { + var stream = this._streams.shift(); + + + if (typeof stream == 'undefined') { + this.end(); + return; + } + + if (typeof stream !== 'function') { + this._pipeNext(stream); + return; + } + + var getStream = stream; + getStream(function(stream) { + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('data', this._checkDataSize.bind(this)); + this._handleErrors(stream); + } + + this._pipeNext(stream); + }.bind(this)); +}; + +CombinedStream.prototype._pipeNext = function(stream) { + this._currentStream = stream; + + var isStreamLike = CombinedStream.isStreamLike(stream); + if (isStreamLike) { + stream.on('end', this._getNext.bind(this)); + stream.pipe(this, {end: false}); + return; + } + + var value = stream; + this.write(value); + this._getNext(); +}; + +CombinedStream.prototype._handleErrors = function(stream) { + var self = this; + stream.on('error', function(err) { + self._emitError(err); + }); +}; + +CombinedStream.prototype.write = function(data) { + this.emit('data', data); +}; + +CombinedStream.prototype.pause = function() { + if (!this.pauseStreams) { + return; + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause(); + this.emit('pause'); +}; + +CombinedStream.prototype.resume = function() { + if (!this._released) { + this._released = true; + this.writable = true; + this._getNext(); + } + + if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume(); + this.emit('resume'); +}; + +CombinedStream.prototype.end = function() { + this._reset(); + this.emit('end'); +}; + +CombinedStream.prototype.destroy = function() { + this._reset(); + this.emit('close'); +}; + +CombinedStream.prototype._reset = function() { + this.writable = false; + this._streams = []; + this._currentStream = null; +}; + +CombinedStream.prototype._checkDataSize = function() { + this._updateDataSize(); + if (this.dataSize <= this.maxDataSize) { + return; + } + + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'; + this._emitError(new Error(message)); +}; + +CombinedStream.prototype._updateDataSize = function() { + this.dataSize = 0; + + var self = this; + this._streams.forEach(function(stream) { + if (!stream.dataSize) { + return; + } + + self.dataSize += stream.dataSize; + }); + + if (this._currentStream && this._currentStream.dataSize) { + this.dataSize += this._currentStream.dataSize; + } +}; + +CombinedStream.prototype._emitError = function(err) { + this._reset(); + this.emit('error', err); +}; + + +/***/ }, + +/***/ 17833 +(module, exports, __webpack_require__) { + +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + let m; + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + // eslint-disable-next-line no-return-assign + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = __webpack_require__(40736)(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; + + +/***/ }, + +/***/ 40736 +(module, __unused_webpack_exports, __webpack_require__) { + + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = __webpack_require__(6585); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + + return enabledCache; + }, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + + createDebug.names = []; + createDebug.skips = []; + + const split = (typeof namespaces === 'string' ? namespaces : '') + .trim() + .replace(/\s+/g, ',') + .split(',') + .filter(Boolean); + + for (const ns of split) { + if (ns[0] === '-') { + createDebug.skips.push(ns.slice(1)); + } else { + createDebug.names.push(ns); + } + } + } + + /** + * Checks if the given string matches a namespace template, honoring + * asterisks as wildcards. + * + * @param {String} search + * @param {String} template + * @return {Boolean} + */ + function matchesTemplate(search, template) { + let searchIndex = 0; + let templateIndex = 0; + let starIndex = -1; + let matchIndex = 0; + + while (searchIndex < search.length) { + if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) { + // Match character or proceed with wildcard + if (template[templateIndex] === '*') { + starIndex = templateIndex; + matchIndex = searchIndex; + templateIndex++; // Skip the '*' + } else { + searchIndex++; + templateIndex++; + } + } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition + // Backtrack to the last '*' and try to match more characters + templateIndex = starIndex + 1; + matchIndex++; + searchIndex = matchIndex; + } else { + return false; // No match + } + } + + // Handle trailing '*' in template + while (templateIndex < template.length && template[templateIndex] === '*') { + templateIndex++; + } + + return templateIndex === template.length; + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names, + ...createDebug.skips.map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + for (const skip of createDebug.skips) { + if (matchesTemplate(name, skip)) { + return false; + } + } + + for (const ns of createDebug.names) { + if (matchesTemplate(name, ns)) { + return true; + } + } + + return false; + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; + + +/***/ }, + +/***/ 45753 +(module, __unused_webpack_exports, __webpack_require__) { + +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = __webpack_require__(17833); +} else { + module.exports = __webpack_require__(76033); +} + + +/***/ }, + +/***/ 76033 +(module, exports, __webpack_require__) { + +/** + * Module dependencies. + */ + +const tty = __webpack_require__(52018); +const util = __webpack_require__(39023); + +/** + * This is the Node.js implementation of `debug()`. + */ + +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.destroy = util.deprecate( + () => {}, + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' +); + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + const supportsColor = __webpack_require__(27687); + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } +} catch (error) { + // Swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(key => { + return /^debug_/i.test(key); +}).reduce((obj, key) => { + // Camel-case + const prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + + // Coerce string value into JS value + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts ? + Boolean(exports.inspectOpts.colors) : + tty.isatty(process.stderr.fd); +} + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + const {namespace: name, useColors} = this; + + if (useColors) { + const c = this.color; + const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); + const prefix = ` ${colorCode};1m${name} \u001B[0m`; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + return new Date().toISOString() + ' '; +} + +/** + * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr. + */ + +function log(...args) { + return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init(debug) { + debug.inspectOpts = {}; + + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +module.exports = __webpack_require__(40736)(exports); + +const {formatters} = module.exports; + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n') + .map(str => str.trim()) + .join(' '); +}; + +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + + +/***/ }, + +/***/ 71098 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// Copyright 2022 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.HttpClient = void 0; +const errors_1 = __webpack_require__(64790); +const utils_1 = __webpack_require__(40044); +const axios_1 = __importDefault(__webpack_require__(79329)); +const form_data_1 = __importDefault(__webpack_require__(88094)); +const https = __importStar(__webpack_require__(65692)); +const http = __importStar(__webpack_require__(58611)); +const axiosInstance = axios_1.default.create({ + httpAgent: new http.Agent({ keepAlive: true }), + httpsAgent: new https.Agent({ keepAlive: true }), +}); +/** + * Internal class implementing exponential-backoff timer. + * @private + */ +class BackoffTimer { + constructor() { + this.backoffInitial = 1.0; + this.backoffMax = 120.0; + this.backoffJitter = 0.23; + this.backoffMultiplier = 1.6; + this.numRetries = 0; + this.backoff = this.backoffInitial * 1000.0; + this.deadline = Date.now() + this.backoff; + } + getNumRetries() { + return this.numRetries; + } + getTimeout() { + return this.getTimeUntilDeadline(); + } + getTimeUntilDeadline() { + return Math.max(this.deadline - Date.now(), 0.0); + } + async sleepUntilDeadline() { + await (0, utils_1.timeout)(this.getTimeUntilDeadline()); + // Apply multiplier to current backoff time + this.backoff = Math.min(this.backoff * this.backoffMultiplier, this.backoffMax * 1000.0); + // Get deadline by applying jitter as a proportion of backoff: + // if jitter is 0.1, then multiply backoff by random value in [0.9, 1.1] + this.deadline = + Date.now() + this.backoff * (1 + this.backoffJitter * (2 * Math.random() - 1)); + this.numRetries++; + } +} +/** + * Internal class implementing HTTP requests. + * @private + */ +class HttpClient { + constructor(serverUrl, headers, maxRetries, minTimeout, proxy) { + this.serverUrl = serverUrl; + this.headers = headers; + this.maxRetries = maxRetries; + this.minTimeout = minTimeout; + this.proxy = proxy; + } + prepareRequest(method, url, timeoutMs, responseAsStream, options) { + const headers = Object.assign({}, this.headers, options.headers); + const axiosRequestConfig = { + url, + method, + baseURL: this.serverUrl, + headers, + responseType: responseAsStream ? 'stream' : 'text', + timeout: timeoutMs, + validateStatus: null, // do not throw errors for any status codes + }; + if (options.fileBuffer) { + const form = new form_data_1.default(); + form.append('file', options.fileBuffer, { filename: options.filename }); + if (options.data) { + for (const [key, value] of options.data.entries()) { + form.append(key, value); + } + } + axiosRequestConfig.data = form; + if (axiosRequestConfig.headers === undefined) { + axiosRequestConfig.headers = {}; + } + Object.assign(axiosRequestConfig.headers, form.getHeaders()); + } + else if (options.jsonBody) { + axiosRequestConfig.data = options.jsonBody; + if (axiosRequestConfig.headers === undefined) { + axiosRequestConfig.headers = {}; + } + axiosRequestConfig.headers['Content-Type'] = 'application/json'; + } + else if (options.data) { + if (method === 'GET') { + axiosRequestConfig.params = options.data; + } + else { + axiosRequestConfig.data = options.data; + } + } + axiosRequestConfig.proxy = this.proxy; + return axiosRequestConfig; + } + /** + * Makes API request retrying if necessary, and returns (as Promise) response. + * @param method HTTP method, for example 'GET' + * @param url Path to endpoint, excluding base server URL. + * @param options Additional options controlling request. + * @param responseAsStream Set to true if the return type is IncomingMessage. + * @return Fulfills with status code and response (as text or stream). + */ + async sendRequestWithBackoff(method, url, options, responseAsStream = false) { + options = options === undefined ? {} : options; + (0, utils_1.logInfo)(`Request to DeepL API ${method} ${url}`); + (0, utils_1.logDebug)(`Request details: ${options.data}`); + const backoff = new BackoffTimer(); + let response, error; + while (backoff.getNumRetries() <= this.maxRetries) { + const timeoutMs = Math.max(this.minTimeout, backoff.getTimeout()); + const axiosRequestConfig = this.prepareRequest(method, url, timeoutMs, responseAsStream, options); + try { + response = await HttpClient.sendAxiosRequest(axiosRequestConfig); + error = undefined; + } + catch (e) { + response = undefined; + error = e; + } + if (!HttpClient.shouldRetry(response === null || response === void 0 ? void 0 : response.statusCode, error) || + backoff.getNumRetries() + 1 >= this.maxRetries) { + break; + } + if (error !== undefined) { + (0, utils_1.logDebug)(`Encountered a retryable-error: ${error.message}`); + } + (0, utils_1.logInfo)(`Starting retry ${backoff.getNumRetries() + 1} for request ${method}` + + ` ${url} after sleeping for ${backoff.getTimeUntilDeadline()} seconds.`); + await backoff.sleepUntilDeadline(); + } + if (response !== undefined) { + const { statusCode, content } = response; + (0, utils_1.logInfo)(`DeepL API response ${method} ${url} ${statusCode}`); + if (!responseAsStream) { + (0, utils_1.logDebug)('Response details:', { content: content }); + } + return response; + } + else { + throw error; + } + } + /** + * Performs given HTTP request and returns status code and response content (text or stream). + * @param axiosRequestConfig + * @private + */ + static async sendAxiosRequest(axiosRequestConfig) { + try { + const response = await axiosInstance.request(axiosRequestConfig); + if (response.headers !== undefined) { + (0, utils_1.logDebug)('Trace details:', { + xTraceId: response.headers['x-trace-id'], + }); + } + if (axiosRequestConfig.responseType === 'text') { + // Workaround for axios-bug: https://github.com/axios/axios/issues/907 + if (typeof response.data === 'object') { + response.data = JSON.stringify(response.data); + } + } + return { + statusCode: response.status, + content: response.data, + }; + } + catch (axios_error_raw) { + const axiosError = axios_error_raw; + const message = axiosError.message || ''; + const error = new errors_1.ConnectionError(`Connection failure: ${message}`); + error.error = axiosError; + if (axiosError.code === 'ETIMEDOUT') { + error.shouldRetry = true; + } + else if (axiosError.code === 'ECONNABORTED') { + error.shouldRetry = true; + } + else { + (0, utils_1.logDebug)('Unrecognized axios error', axiosError); + error.shouldRetry = false; + } + throw error; + } + } + static shouldRetry(statusCode, error) { + if (statusCode === undefined) { + return error.shouldRetry; + } + // Retry on Too-Many-Requests error and internal errors + return statusCode === 429 || statusCode >= 500; + } +} +exports.HttpClient = HttpClient; + + +/***/ }, + +/***/ 71088 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// Copyright 2025 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DeepLClient = exports.WritingTone = exports.WritingStyle = void 0; +const translator_1 = __webpack_require__(68627); +const parsing_1 = __webpack_require__(21745); +const utils_1 = __webpack_require__(40044); +const errors_1 = __webpack_require__(64790); +var WritingStyle; +(function (WritingStyle) { + WritingStyle["ACADEMIC"] = "academic"; + WritingStyle["BUSINESS"] = "business"; + WritingStyle["CASUAL"] = "casual"; + WritingStyle["DEFAULT"] = "default"; + WritingStyle["PREFER_ACADEMIC"] = "prefer_academic"; + WritingStyle["PREFER_BUSINESS"] = "prefer_business"; + WritingStyle["PREFER_CASUAL"] = "prefer_casual"; + WritingStyle["PREFER_SIMPLE"] = "prefer_simple"; + WritingStyle["SIMPLE"] = "simple"; +})(WritingStyle = exports.WritingStyle || (exports.WritingStyle = {})); +var WritingTone; +(function (WritingTone) { + WritingTone["CONFIDENT"] = "confident"; + WritingTone["DEFAULT"] = "default"; + WritingTone["DIPLOMATIC"] = "diplomatic"; + WritingTone["ENTHUSIASTIC"] = "enthusiastic"; + WritingTone["FRIENDLY"] = "friendly"; + WritingTone["PREFER_CONFIDENT"] = "prefer_confident"; + WritingTone["PREFER_DIPLOMATIC"] = "prefer_diplomatic"; + WritingTone["PREFER_ENTHUSIASTIC"] = "prefer_enthusiastic"; + WritingTone["PREFER_FRIENDLY"] = "prefer_friendly"; +})(WritingTone = exports.WritingTone || (exports.WritingTone = {})); +class DeepLClient extends translator_1.Translator { + constructor(authKey, options = {}) { + super(authKey, options); + } + async rephraseText(texts, targetLang, writingStyle, tone) { + const data = new URLSearchParams(); + if (targetLang) { + data.append('target_lang', targetLang); + } + if (writingStyle) { + data.append('writing_style', writingStyle); + } + if (tone) { + data.append('tone', tone); + } + const singular = (0, utils_1.appendTextsAndReturnIsSingular)(data, texts); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', '/v2/write/rephrase', { data }); + await (0, translator_1.checkStatusCode)(statusCode, content); + const writeResults = (0, parsing_1.parseWriteResultArray)(content); + return (singular ? writeResults[0] : writeResults); + } + /** + * Creates a glossary with given name with all of the specified + * dictionaries, each with their own language pair and entries. The + * glossary may be used in the translateText functions. + * + * Only certain language pairs are supported. The available language pairs + * can be queried using getGlossaryLanguages(). Glossaries are not + * regional specific: a glossary with target language EN may be used to + * translate texts into both EN-US and EN-GB. + * + * This function requires the glossary entries for each dictionary to be + * provided as a dictionary of source-target terms. To create a glossary + * from a CSV file downloaded from the DeepL website, see + * {@link createMultilingualGlossaryWithCsv}. + * + * @param name user-defined name to attach to glossary. + * @param glossaryDicts the dictionaries of the glossary, see {@link MultilingualGlossaryDictionaryEntries}. + * @return {Promise} object with details about the newly created glossary. + * + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API + */ + async createMultilingualGlossary(name, glossaryDicts) { + if (!name) { + throw new errors_1.ArgumentError('glossary name must not be empty'); + } + const data = new URLSearchParams(); + data.append('name', name); + (0, utils_1.appendDictionaryEntries)(data, glossaryDicts); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', '/v3/glossaries', { data: data }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseMultilingualGlossaryInfo)(content); + } + /** + * Creates a multilingual glossary with the given name using entries from a CSV file. + * The CSV file must contain two columns: source terms and target terms. + * The glossary may be used in the translateText() functions. + * + * Only certain language pairs are supported. The available language pairs + * can be queried using getGlossaryLanguages(). Glossaries are not + * regional specific: a glossary with target language EN may be used to + * translate texts into both EN-US and EN-GB. + * + * @param name User-defined name to attach to the glossary. + * @param sourceLanguageCode Source language code for the glossary. + * @param targetLanguageCode Target language code for the glossary. + * @param csvContent String in CSV format containing the entries. + * @returns {Promise} Object with details about the newly created glossary. + * + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async createMultilingualGlossaryWithCsv(name, sourceLanguageCode, targetLanguageCode, csvContent) { + if (!name) { + throw new errors_1.ArgumentError('Parameter "name" must not be empty'); + } + if (!sourceLanguageCode) { + throw new errors_1.ArgumentError('Parameter "sourceLanguageCode" must not be empty'); + } + if (!targetLanguageCode) { + throw new errors_1.ArgumentError('Parameter "targetLanguageCode" must not be empty'); + } + if (!csvContent) { + throw new errors_1.ArgumentError('Parameter "csvContent" must not be empty'); + } + const data = new URLSearchParams(); + data.append('name', name); + (0, utils_1.appendCsvDictionaryEntries)(data, sourceLanguageCode, targetLanguageCode, csvContent); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', '/v3/glossaries', { data: data }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseMultilingualGlossaryInfo)(content); + } + /** + * Retrieves information about the glossary with the specified ID. + * This does not retrieve the glossary entries. + * @param glossaryId ID of glossary to retrieve. + * @returns {Promise} object with details about the specified glossary. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async getMultilingualGlossary(glossaryId) { + if (!glossaryId) { + throw new errors_1.ArgumentError('glossaryId must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', `/v3/glossaries/${glossaryId}`); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + return (0, parsing_1.parseMultilingualGlossaryInfo)(content); + } + /** + * Retrieves the dictionary entries for a specific glossary and language pair. + * + * If the source and target language codes are specified, there should be at most one dictionary returned. + * + * @param glossary The ID of the glossary or MultilingualGlossaryInfo object to query. + * @param sourceLanguageCode Source language code of the dictionary. + * @param targetLanguageCode Target language code of the dictionary. + * @returns {Promise} Object containing the dictionary entries. + * + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + * @throws {GlossaryNotFoundError} If no dictionary is found for the given source and target language codes. + */ + async getMultilingualGlossaryDictionaryEntries(glossary, sourceLanguageCode, targetLanguageCode) { + if (!glossary) { + throw new errors_1.ArgumentError('Parameter "glossary" must not be empty/null'); + } + if (!sourceLanguageCode) { + throw new errors_1.ArgumentError('Parameter "sourceLanguageCode" must not be empty'); + } + if (!targetLanguageCode) { + throw new errors_1.ArgumentError('Parameter "targetLanguageCode" must not be empty'); + } + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + const queryParams = new URLSearchParams(); + queryParams.append('source_lang', sourceLanguageCode); + queryParams.append('target_lang', targetLanguageCode); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', `/v3/glossaries/${glossaryId}/entries`, { data: queryParams }); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + const response = JSON.parse(content); + const dictionaryEntriesList = (0, parsing_1.parseMultilingualGlossaryDictionaryEntries)(response); + if (!dictionaryEntriesList || dictionaryEntriesList.length === 0) { + throw new errors_1.GlossaryNotFoundError('Glossary dictionary not found'); + } + return dictionaryEntriesList[0]; + } + /** + * Retrieves a list of all multilingual glossaries available for the authenticated user. + * + * @returns {Promise} An array of objects containing details about each glossary. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async listMultilingualGlossaries() { + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', '/v3/glossaries'); + await (0, translator_1.checkStatusCode)(statusCode, content); + const response = JSON.parse(content); + return (0, parsing_1.parseListMultilingualGlossaries)(response); + } + /** + * Deletes the glossary with the specified ID or MultilingualGlossaryInfo object. + * @param glossary The ID of the glossary or MultilingualGlossaryInfo object to delete. + * @throws {Error} If the glossaryId is empty. + * @throws {DeepLError} If the glossary could not be deleted. + */ + async deleteMultilingualGlossary(glossary) { + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + if (!glossaryId) { + throw new Error('glossaryId must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('DELETE', `/v3/glossaries/${glossaryId}`); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + } + /** + * Deletes a specific dictionary from a multilingual glossary based on the source and target language codes. + * + * @param glossary ID of the glossary or MultilingualGlossaryInfo object from which the dictionary will be deleted. + * @param sourceLanguageCode Source language code of the dictionary to delete. + * @param targetLanguageCode Target language code of the dictionary to delete. + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async deleteMultilingualGlossaryDictionary(glossary, sourceLanguageCode, targetLanguageCode) { + if (!glossary) { + throw new errors_1.ArgumentError('Parameter "glossary" must not be empty/null'); + } + if (!sourceLanguageCode) { + throw new errors_1.ArgumentError('Parameter "sourceLanguageCode" must not be empty'); + } + if (!targetLanguageCode) { + throw new errors_1.ArgumentError('Parameter "targetLanguageCode" must not be empty'); + } + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('DELETE', `/v3/glossaries/${glossaryId}/dictionaries?source_lang=${sourceLanguageCode}&target_lang=${targetLanguageCode}`); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + } + /** + * Replaces the dictionary entries for a specific source and target language pair in a multilingual glossary. + * + * @param glossary ID of the glossary or MultilingualGlossaryInfo object from which the dictionary will be deleted. + * @param sourceLanguageCode Source language code of the dictionary to replace. + * @param targetLanguageCode Target language code of the dictionary to replace. + * @param entries Dictionary entries to replace, formatted as a string in TSV format. + * @returns {Promise} Object containing details about the updated dictionary. + * + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async replaceMultilingualGlossaryDictionary(glossary, glossaryDict) { + if (!glossary) { + throw new errors_1.ArgumentError('Parameter "glossary" must not be empty/null'); + } + if (!glossaryDict) { + throw new errors_1.ArgumentError('Parameter "glossaryDict" must not be null'); + } + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + const data = new URLSearchParams(); + data.append('source_lang', glossaryDict.sourceLangCode); + data.append('target_lang', glossaryDict.targetLangCode); + data.append('entries', glossaryDict.entries.toTsv()); + data.append('entries_format', 'tsv'); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PUT', `/v3/glossaries/${glossaryId}/dictionaries`, { data: data }); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + const response = JSON.parse(content); + return (0, parsing_1.parseMultilingualGlossaryDictionaryInfo)(response); + } + /** + * Replaces the dictionary entries for a specific source and target language pair in a multilingual glossary + * using entries from a CSV file. + * + * @param glossary ID of the glossary or MultilingualGlossaryInfo object from which the dictionary will be deleted. + * @param sourceLanguageCode Source language code of the dictionary to replace. + * @param targetLanguageCode Target language code of the dictionary to replace. + * @param csvContent String in CSV format containing the new entries. + * @returns {Promise} Object containing details about the updated dictionary. + * + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async replaceMultilingualGlossaryDictionaryWithCsv(glossary, sourceLanguageCode, targetLanguageCode, csvContent) { + if (!glossary) { + throw new errors_1.ArgumentError('Parameter "glossary" must not be empty/null'); + } + if (!sourceLanguageCode) { + throw new errors_1.ArgumentError('Parameter "sourceLanguageCode" must not be empty'); + } + if (!targetLanguageCode) { + throw new errors_1.ArgumentError('Parameter "targetLanguageCode" must not be empty'); + } + if (!csvContent) { + throw new errors_1.ArgumentError('Parameter "csvContent" must not be empty'); + } + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + const data = new URLSearchParams(); + data.append('source_lang', sourceLanguageCode); + data.append('target_lang', targetLanguageCode); + data.append('entries', csvContent); + data.append('entries_format', 'csv'); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PUT', `/v3/glossaries/${glossaryId}/dictionaries`, { data: data }); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + const response = JSON.parse(content); + return (0, parsing_1.parseMultilingualGlossaryDictionaryInfo)(response); + } + /** + * Updates the name of a multilingual glossary. + * + * @param glossary ID of the glossary or MultilingualGlossaryInfo object from which the dictionary will be deleted. + * @param name New name for the glossary. + * @returns {Promise} Object containing details about the updated glossary. + * + * @throws {ArgumentError} If the name is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async updateMultilingualGlossaryName(glossary, name) { + if (!name) { + throw new errors_1.ArgumentError('Parameter "name" must not be empty'); + } + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + const data = new URLSearchParams(); + data.append('name', name); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PATCH', `/v3/glossaries/${glossaryId}`, { data: data }); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + return (0, parsing_1.parseMultilingualGlossaryInfo)(content); + } + /** + * Updates the dictionary entries for a specific source and target language pair in a multilingual glossary. + * + * @param glossary ID of the glossary or MultilingualGlossaryInfo object to update. + * @param glossaryDict The new or updated glossary dictionary. + * @returns {Promise} Object containing details about the updated glossary. + * + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async updateMultilingualGlossaryDictionary(glossary, glossaryDict) { + if (!glossary) { + throw new errors_1.ArgumentError('Parameter "glossary" must not be empty/null'); + } + if (!glossaryDict) { + throw new errors_1.ArgumentError('Parameter "glossaryDict" must not be null'); + } + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + const data = new URLSearchParams(); + (0, utils_1.appendDictionaryEntries)(data, [glossaryDict]); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PATCH', `/v3/glossaries/${glossaryId}`, { data: data }); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + return (0, parsing_1.parseMultilingualGlossaryInfo)(content); + } + /** + * Updates the dictionary entries for a specific source and target language pair in a multilingual glossary + * using entries from a CSV file. + * + * @param glossary ID of the glossary or MultilingualGlossaryInfo object to update. + * @param sourceLanguageCode Source language code of the dictionary to update. + * @param targetLanguageCode Target language code of the dictionary to update. + * @param csvContent String in CSV format containing the new entries. + * @returns {Promise} Object containing details about the updated glossary. + * + * @throws {ArgumentError} If any argument is invalid. + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async updateMultilingualGlossaryDictionaryWithCsv(glossary, sourceLanguageCode, targetLanguageCode, csvContent) { + if (!glossary) { + throw new errors_1.ArgumentError('Parameter "glossary" must not be empty/null'); + } + if (!sourceLanguageCode) { + throw new errors_1.ArgumentError('Parameter "sourceLanguageCode" must not be empty'); + } + if (!targetLanguageCode) { + throw new errors_1.ArgumentError('Parameter "targetLanguageCode" must not be empty'); + } + if (!csvContent) { + throw new errors_1.ArgumentError('Parameter "csvContent" must not be empty'); + } + const glossaryId = (0, utils_1.extractGlossaryId)(glossary); + const data = new URLSearchParams(); + (0, utils_1.appendCsvDictionaryEntries)(data, sourceLanguageCode, targetLanguageCode, csvContent); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PATCH', `/v3/glossaries/${glossaryId}`, { data: data }); + await (0, translator_1.checkStatusCode)(statusCode, content, true /* usingGlossary */); + return (0, parsing_1.parseMultilingualGlossaryInfo)(content); + } + /** + * Retrieves a list of all style rules available for the authenticated user. + * + * @param page: Page number for pagination, 0-indexed (optional). + * @param pageSize: Number of items per page (optional). + * @param detailed: Whether to include detailed configuration rules in the `configuredRules` property (optional). + * @returns {Promise} An array of objects containing details about each style rule. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async getAllStyleRules(page, pageSize, detailed) { + const queryParams = new URLSearchParams(); + if (page !== undefined) { + queryParams.append('page', String(page)); + } + if (pageSize !== undefined) { + queryParams.append('page_size', String(pageSize)); + } + if (detailed !== undefined) { + queryParams.append('detailed', String(detailed).toLowerCase()); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', '/v3/style_rules', { data: queryParams }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseStyleRuleInfoList)(content); + } + /** + * Creates a new style rule. + * + * @param styleRule: The style rule parameters including name, language, and optional configured_rules and custom_instructions. + * @returns {Promise} The created style rule info. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async createStyleRule(styleRule) { + if (!styleRule.name) { + throw new errors_1.ArgumentError('Parameter "name" must not be empty'); + } + if (!styleRule.language) { + throw new errors_1.ArgumentError('Parameter "language" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', '/v3/style_rules', { jsonBody: styleRule }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseStyleRuleInfo)(JSON.parse(content)); + } + /** + * Retrieves a single style rule by ID. + * + * @param styleId: The ID of the style rule to retrieve. + * @returns {Promise} The style rule info. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async getStyleRule(styleId) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', `/v3/style_rules/${encodeURIComponent(styleId)}`); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseStyleRuleInfo)(JSON.parse(content)); + } + /** + * Updates the name of a style rule. + * + * @param styleId: The ID of the style rule to update. + * @param name: The new name for the style rule. + * @returns {Promise} The updated style rule info. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async updateStyleRuleName(styleId, name) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + if (!name) { + throw new errors_1.ArgumentError('Parameter "name" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PATCH', `/v3/style_rules/${encodeURIComponent(styleId)}`, { jsonBody: { name } }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseStyleRuleInfo)(JSON.parse(content)); + } + /** + * Deletes a style rule. + * + * @param styleId: The ID of the style rule to delete. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async deleteStyleRule(styleId) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('DELETE', `/v3/style_rules/${encodeURIComponent(styleId)}`); + await (0, translator_1.checkStatusCode)(statusCode, content); + } + /** + * Updates the configured rules of a style rule. + * + * @param styleId: The ID of the style rule to update. + * @param configuredRules: The new configured rules mapping. + * @returns {Promise} The updated style rule info. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async updateStyleRuleConfiguredRules(styleId, configuredRules) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PUT', `/v3/style_rules/${encodeURIComponent(styleId)}/configured_rules`, { jsonBody: configuredRules }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseStyleRuleInfo)(JSON.parse(content)); + } + /** + * Creates a custom instruction for a style rule. + * + * @param styleId: The ID of the style rule. + * @param instruction: The custom instruction parameters including label, prompt, and optional source_language. + * @returns {Promise} The created custom instruction. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async createStyleRuleCustomInstruction(styleId, instruction) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + if (!instruction.label) { + throw new errors_1.ArgumentError('Parameter "label" must not be empty'); + } + if (!instruction.prompt) { + throw new errors_1.ArgumentError('Parameter "prompt" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', `/v3/style_rules/${encodeURIComponent(styleId)}/custom_instructions`, { jsonBody: instruction }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseCustomInstruction)(JSON.parse(content)); + } + /** + * Retrieves a custom instruction for a style rule. + * + * @param styleId: The ID of the style rule. + * @param instructionId: The ID of the custom instruction. + * @returns {Promise} The custom instruction. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async getStyleRuleCustomInstruction(styleId, instructionId) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + if (!instructionId) { + throw new errors_1.ArgumentError('Parameter "instructionId" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', `/v3/style_rules/${encodeURIComponent(styleId)}/custom_instructions/${encodeURIComponent(instructionId)}`); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseCustomInstruction)(JSON.parse(content)); + } + /** + * Updates a custom instruction for a style rule. + * + * @param styleId: The ID of the style rule. + * @param instructionId: The ID of the custom instruction to update. + * @param instruction: The custom instruction parameters including label, prompt, and optional source_language. + * @returns {Promise} The updated custom instruction. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async updateStyleRuleCustomInstruction(styleId, instructionId, instruction) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + if (!instructionId) { + throw new errors_1.ArgumentError('Parameter "instructionId" must not be empty'); + } + if (!instruction.label) { + throw new errors_1.ArgumentError('Parameter "label" must not be empty'); + } + if (!instruction.prompt) { + throw new errors_1.ArgumentError('Parameter "prompt" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('PUT', `/v3/style_rules/${encodeURIComponent(styleId)}/custom_instructions/${encodeURIComponent(instructionId)}`, { jsonBody: instruction }); + await (0, translator_1.checkStatusCode)(statusCode, content); + return (0, parsing_1.parseCustomInstruction)(JSON.parse(content)); + } + /** + * Deletes a custom instruction from a style rule. + * + * @param styleId: The ID of the style rule. + * @param instructionId: The ID of the custom instruction to delete. + * + * @throws {DeepLError} If any error occurs while communicating with the DeepL API. + */ + async deleteStyleRuleCustomInstruction(styleId, instructionId) { + if (!styleId) { + throw new errors_1.ArgumentError('Parameter "styleId" must not be empty'); + } + if (!instructionId) { + throw new errors_1.ArgumentError('Parameter "instructionId" must not be empty'); + } + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('DELETE', `/v3/style_rules/${encodeURIComponent(styleId)}/custom_instructions/${encodeURIComponent(instructionId)}`); + await (0, translator_1.checkStatusCode)(statusCode, content); + } +} +exports.DeepLClient = DeepLClient; + + +/***/ }, + +/***/ 14533 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.DocumentMinifier = void 0; +const path = __importStar(__webpack_require__(16928)); +const fs = __importStar(__webpack_require__(79896)); +const os = __importStar(__webpack_require__(70857)); +const uuid_1 = __webpack_require__(22587); +const errors_1 = __webpack_require__(64790); +const adm_zip_1 = __importDefault(__webpack_require__(30283)); +const fsHelper_1 = __webpack_require__(33190); +/** + * Class that implements document minification: Stripping supported files like pptx and docx + * of their media (images, videos, etc) before uploading them to the DeepL API to be translated. + * This allows users to translate files that would usually hit the size limit for files. + * + * @note Please note the following: + * 1. To use this class, you first need to check by calling {@link DocumentMinifier.canMinifyFile} + * if the file type is supported. This class performs no further checks. + * 2. The {@link DocumentMinifier} is stateful, so you cannot use it to minify multiple documents at once. + * You need to create a new {@link DocumentMinifier} object per document. + * 3. Be very careful when providing a custom `tempDir` when instantiating the class. For example, + * {@link DocumentMinifier.deminifyDocument} will delete the entire `tempDir` with + * `cleanup` set to `true` (disabled by default). In order not to lose any data, ideally always + * call `new DocumentMinifier()` in order to get a fresh temporary directory. + * 4. If an error occurs during minification, either a {@link DocumentMinificationError} or a + * {@link DocumentDeminificationError} will be thrown, depending on which phase the error + * occurred in. + * + * The document minification process works in 2 phases: + * 1. Minification: The document is extracted into a temporary directory, the media files are backed up, + * the media in the document is replaced with placeholders and a minified document is created. + * 2. Deminification: The minified document is extracted into a temporary directory, the media backups are + * reinserted into the extracted document, and the document is deminified into the output path. + * + * If `cleanup` is enabled, the minification phase will delete the folder with the extracted document + * and the deminification phase will delete the entire temporary directory. + * Note that by default, the input file will be kept on disk, and as such no further backups of media etc. + * are made (as they are all available from the input file). + * + * @example + * const inputFile = "/home/exampleUser/document.pptx"; + * const outputFile = "/home/exampleUser/document_ES.pptx"; + * const minifier = new DocumentMinifier(); + * if (DocumentMinifier.canMinifyFile(inputFile)) { + * try { + * const minifiedFile = minifier.minifyDocument(inputFile, true); + * // process file minifiedFile, e.g. translate it with DeepL + * minifier.deminifyDocument(minifiedFile, outputFile, true); + * // process file outputFile + * } catch (e) { + * if (e instanceof DocumentMinificationError) { + * // handle error during minification, e.g. print list of media, clean up temporary directory, etc + * } else if (e instanceof DocumentDeminificationError) { + * // handle error during deminification, e.g. save minified document, clean up temporary directory, etc + * } else if (e instanceof DocumentTranslationError) { + * // handle general DocTrans error (mostly useful if document is translated between minification + * // and deminification) + * } + * } + * } + */ +class DocumentMinifier { + constructor(tempDir) { + this._tempDir = tempDir !== null && tempDir !== void 0 ? tempDir : DocumentMinifier.createTemporaryDirectory(); + } + /** + * Checks if a given file can be minified or not + * @param inputFilePath The path to the file + * @returns true if the file can be minified, otherwise false + */ + static canMinifyFile(inputFilePath) { + return (inputFilePath !== undefined && + inputFilePath !== null && + inputFilePath.trim() !== '' && + DocumentMinifier.SUPPORTED_DOCUMENT_TYPES.includes(path.extname(inputFilePath).toLowerCase())); + } + /** + * Gets the path for where the minified version of the input file will live + * @param inputFilePath The path to the file + * @returns The path to the minified version of the file + */ + getMinifiedDocFile(inputFilePath) { + const minifiedDocFileName = DocumentMinifier.MINIFIED_DOC_FILE_BASE_NAME + path.extname(inputFilePath); + return path.join(this._tempDir, minifiedDocFileName); + } + /** + * Gets the path to the directory where the input file will be extracted to + * @returns The path to the directory where the input file will be extracted to + */ + getExtractedDocDirectory() { + return path.join(this._tempDir, DocumentMinifier.EXTRACTED_DOC_DIR_NAME); + } + /** + * Gets the path to the directory where the original media was extracted to + * @returns The path to the media directory containing the original media + */ + getOriginalMediaDirectory() { + return path.join(this._tempDir, DocumentMinifier.ORIGINAL_MEDIA_DIR_NAME); + } + minifyDocument(inputFilePath, cleanup = false) { + const extractedDocDirectory = this.getExtractedDocDirectory(); + const mediaDir = this.getOriginalMediaDirectory(); + const minifiedDocFilePath = this.getMinifiedDocFile(inputFilePath); + try { + this.extractZipToDirectory(inputFilePath, extractedDocDirectory); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Error when extracting document: Failed to extract ${inputFilePath} to ${extractedDocDirectory}. Error: ${error}`); + } + this.exportMediaToMediaDirAndReplace(extractedDocDirectory, mediaDir); + try { + this.createZipFromDirectory(extractedDocDirectory, minifiedDocFilePath); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Failed creating a zip file at ${minifiedDocFilePath}. Error: ${error}`); + } + if (cleanup) { + try { + fsHelper_1.FsHelper.removeSyncRecursive(extractedDocDirectory); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Failed to delete directory ${extractedDocDirectory}. Error: ${error}`); + } + } + const fileSize = fs.statSync(minifiedDocFilePath).size; + if (fileSize > DocumentMinifier.MINIFIED_DOC_SIZE_LIMIT_WARNING) { + console.error('The input file could not be minified below 5 MB, likely a media type is missing. ' + + 'This might cause the translation to fail.'); + } + return minifiedDocFilePath; + } + deminifyDocument(inputFilePath, outputFilePath, cleanup = false) { + const extractedDocDirectory = this.getExtractedDocDirectory(); + const mediaDir = this.getOriginalMediaDirectory(); + if (!fs.existsSync(extractedDocDirectory)) { + try { + fs.mkdirSync(extractedDocDirectory); + } + catch (error) { + throw new errors_1.DocumentDeminificationError(`Error when deminifying, could not create directory at ${extractedDocDirectory}. Error: ${error}`); + } + } + try { + this.extractZipToDirectory(inputFilePath, extractedDocDirectory); + } + catch (error) { + throw new errors_1.DocumentDeminificationError(`Error when extracting document: Failed to extract ${inputFilePath} to ${extractedDocDirectory}. Error: ${error}`); + } + try { + this.replaceMediaInDir(extractedDocDirectory, mediaDir); + } + catch (error) { + throw new errors_1.DocumentDeminificationError(`Error when deminifying images. Error: ${error}`); + } + try { + if (fs.existsSync(outputFilePath)) { + fs.unlinkSync(outputFilePath); + } + this.createZipFromDirectory(extractedDocDirectory, outputFilePath); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Failed creating a zip file at ${outputFilePath}. Error: ${error}`); + } + if (cleanup) { + try { + fsHelper_1.FsHelper.removeSyncRecursive(this._tempDir); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Failed to delete directory ${extractedDocDirectory}. Error: ${error}`); + } + } + } + /** + * Creates a temporary directory for use in the {@link DocumentMinifier}. + * Uses the system's temporary directory. + * + * @returns The path of the created temporary directory + * @throws {DocumentMinificationError} If the temporary directory could not be created + */ + static createTemporaryDirectory() { + const tempDir = path.join(os.tmpdir(), 'document_minification_' + (0, uuid_1.v4)()); + if (fs.existsSync(tempDir)) { + throw new errors_1.DocumentMinificationError(`Temporary directory already exists at ${tempDir}. Please try again.`); + } + try { + fs.mkdirSync(tempDir); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Failed creating temporary directory at ${error}`); + } + return tempDir; + } + /** + * Extracts a zip file to a given directory + * @param zippedDocumentPath The path to the zip file + * @param extractionDir The path to the directory where the contents of the zip file will be extracted to + */ + extractZipToDirectory(zippedDocumentPath, extractionDir) { + if (!fs.existsSync(extractionDir)) { + fs.mkdirSync(extractionDir); + } + const zip = new adm_zip_1.default(zippedDocumentPath); + zip.extractAllTo(extractionDir, true); + } + /** + * Creates a zip file from a given directory. + * @param sourceDir The path to the directory that needs to be zipped + * @param outputPath The path to the output zip file + */ + createZipFromDirectory(sourceDir, outputPath) { + const zip = new adm_zip_1.default(); + zip.addLocalFolder(sourceDir); + zip.writeZip(outputPath); + } + /** + * Iterates through the inputDirectory and if it contains a supported media file, will export that media + * to the mediaDirectory and replace the media in the inputDirectory with a placeholder. The + * relative path will be preserved when moving the file to the mediaDirectory (e.g. a file located at + * "/inputDirectory/foo/bar.png" will be exported to "/mediaDirectory/foo/bar.png") + * + * @param inputDirectory The path to the input directory + * @param mediaDirectory The path to the directory where the supported media from inputDirectory will be exported to + * @throws {DocumentMinificationError} If a problem occurred when exporting the original media from inputDirectory to mediaDirectory + */ + exportMediaToMediaDirAndReplace(inputDirectory, mediaDirectory) { + const files = fsHelper_1.FsHelper.readdirSyncRecursive(inputDirectory); + for (const file of files) { + const ext = path.extname(file).toLowerCase(); + const isSupportedFile = DocumentMinifier.SUPPORTED_MEDIA_FORMATS.includes(ext); + if (isSupportedFile) { + const filePath = path.join(inputDirectory, file); + const mediaPath = path.join(mediaDirectory, file); + try { + const mediaPathParentDir = path.dirname(mediaPath); + if (!fs.existsSync(mediaPathParentDir)) { + fs.mkdirSync(mediaPathParentDir, { recursive: true }); + } + fs.renameSync(filePath, mediaPath); + fs.writeFileSync(filePath, DocumentMinifier.MEDIA_PLACEHOLDER_TEXT); + } + catch (error) { + throw new errors_1.DocumentMinificationError('Error when exporting and replacing media files', error); + } + } + } + } + /** + * Iterates through `mediaDirectory` and moves all files into the `inputDirectory` while preserving + * the relative paths. (e.g. /mediaDirectory/foo/bar.png will be moved to the path /inputDirectory/foo/bar.png + * and replace any file if it exists at that path. Any subdirectories in `mediaDirectory` will also be + * created in `inputDirectory`. + * + * @param inputDirectory The path to the input directory + * @param mediaDirectory The path to the directory where the original media lives. This media will be reinserted back and replace any + * placeholder media. + * @throws {DocumentMinificationError} If a problem occurred when trying to reinsert the media + */ + replaceMediaInDir(inputDirectory, mediaDirectory) { + if (!fs.existsSync(mediaDirectory)) { + // if document has no images + return; + } + const filesAndDirs = fsHelper_1.FsHelper.readdirSyncRecursive(mediaDirectory); + const files = filesAndDirs.filter((file) => { + const ext = path.extname(file).toLowerCase(); + const isSupportedFile = DocumentMinifier.SUPPORTED_MEDIA_FORMATS.includes(ext); + return isSupportedFile; + }); + for (const file of files) { + const mediaPath = path.join(mediaDirectory, file); + const inputPath = path.join(inputDirectory, file); + const inputPathParentDir = path.dirname(inputPath); + if (!fs.existsSync(inputPathParentDir)) { + try { + fs.mkdirSync(inputPathParentDir, { recursive: true }); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Error when reinserting media. Failed to create directory at ${inputPathParentDir}.`, error); + } + } + try { + if (fs.existsSync(inputPath)) { + fs.unlinkSync(inputPath); + } + fs.renameSync(mediaPath, inputPath); + } + catch (error) { + throw new errors_1.DocumentMinificationError(`Error when reinserting media. Failed to move media back to ${inputPath}`, error); + } + } + } +} +exports.DocumentMinifier = DocumentMinifier; +/** Which input document types are supported for minification. */ +DocumentMinifier.SUPPORTED_DOCUMENT_TYPES = ['.pptx', '.docx']; +/** Which media formats in the documents are supported for minification. */ +DocumentMinifier.SUPPORTED_MEDIA_FORMATS = [ + // Image formats + '.png', + '.jpg', + '.jpeg', + '.emf', + '.bmp', + '.tiff', + '.wdp', + '.svg', + '.gif', + // Video formats + // Taken from https://support.microsoft.com/en-gb/office/video-and-audio-file-formats-supported-in-powerpoint-d8b12450-26db-4c7b-a5c1-593d3418fb59 + '.mp4', + '.asf', + '.avi', + '.m4v', + '.mpg', + '.mpeg', + '.wmv', + '.mov', + // Audio formats, taken from the same URL as video + '.aiff', + '.au', + '.mid', + '.midi', + '.mp3', + '.m4a', + '.wav', + '.wma', +]; +DocumentMinifier.EXTRACTED_DOC_DIR_NAME = 'extracted_doc'; +DocumentMinifier.ORIGINAL_MEDIA_DIR_NAME = 'original_media'; +DocumentMinifier.MINIFIED_DOC_FILE_BASE_NAME = 'minifiedDoc'; +DocumentMinifier.MINIFIED_DOC_SIZE_LIMIT_WARNING = 5000000; +DocumentMinifier.MEDIA_PLACEHOLDER_TEXT = 'DeepL Media Placeholder'; + + +/***/ }, + +/***/ 64790 +(__unused_webpack_module, exports) { + +"use strict"; + +// Copyright 2022 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.ArgumentError = exports.DocumentDeminificationError = exports.DocumentMinificationError = exports.DocumentNotReadyError = exports.GlossaryNotFoundError = exports.DocumentTranslationError = exports.ConnectionError = exports.TooManyRequestsError = exports.QuotaExceededError = exports.AuthorizationError = exports.DeepLError = void 0; +class DeepLError extends Error { + constructor(message, error) { + super(message); + this.message = message; + this.error = error; + } +} +exports.DeepLError = DeepLError; +class AuthorizationError extends DeepLError { +} +exports.AuthorizationError = AuthorizationError; +class QuotaExceededError extends DeepLError { +} +exports.QuotaExceededError = QuotaExceededError; +class TooManyRequestsError extends DeepLError { +} +exports.TooManyRequestsError = TooManyRequestsError; +class ConnectionError extends DeepLError { + constructor(message, shouldRetry, error) { + super(message, error); + this.shouldRetry = shouldRetry || false; + } +} +exports.ConnectionError = ConnectionError; +class DocumentTranslationError extends DeepLError { + constructor(message, handle, error) { + super(message, error); + this.documentHandle = handle; + } +} +exports.DocumentTranslationError = DocumentTranslationError; +class GlossaryNotFoundError extends DeepLError { +} +exports.GlossaryNotFoundError = GlossaryNotFoundError; +class DocumentNotReadyError extends DeepLError { +} +exports.DocumentNotReadyError = DocumentNotReadyError; +/** + * Error thrown if an error occurs during the minification phase. + * @see DocumentMinifier.minifyDocument + */ +class DocumentMinificationError extends DeepLError { +} +exports.DocumentMinificationError = DocumentMinificationError; +/** + * Error thrown if an error occurs during the deminification phase. + * @see DocumentMinifier.deminifyDocument + */ +class DocumentDeminificationError extends DeepLError { +} +exports.DocumentDeminificationError = DocumentDeminificationError; +class ArgumentError extends DeepLError { +} +exports.ArgumentError = ArgumentError; + + +/***/ }, + +/***/ 33190 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.FsHelper = void 0; +const fs = __importStar(__webpack_require__(79896)); +const path = __importStar(__webpack_require__(16928)); +/** + * This class is necessary because some fs library methods and/or params are not available in older versions of node, such as v12 + * + * Docs for v12: https://nodejs.org/docs/latest-v12.x/api/fs.html#fspromisesreaddirpath-options + */ +class FsHelper { + static readdirSyncRecursive(filepath) { + if (!fs.existsSync(filepath)) { + throw new Error(`Error: no such file or directory, ${filepath}`); + } + if (!fs.statSync(filepath).isDirectory()) { + throw new Error(`Error: not a directory, ${filepath}`); + } + const results = []; + const filesAndDirs = fs.readdirSync(filepath); + filesAndDirs.forEach((fileOrDir) => { + const isDir = fs.statSync(path.join(filepath, fileOrDir)).isDirectory(); + if (isDir) { + const dir = fileOrDir; + const dirList = this.readdirSyncRecursive(path.join(filepath, fileOrDir)); + const subList = dirList.map((subpath) => `${dir}/${subpath}`); + results.push(dir, ...subList); + } + else { + const file = fileOrDir; + results.push(file); + } + }); + return results; + } + static removeSyncRecursive(filepath) { + if (!fs.existsSync(filepath)) { + throw new Error(`Error: no such file or directory, ${filepath}`); + } + const stat = fs.statSync(filepath); + if (!stat.isDirectory()) { + fs.unlinkSync(filepath); + } + else { + // Note: it's okay to use the native readdirSync here because we do not need the recursive functionality + const filesAndDirs = fs.readdirSync(filepath); + filesAndDirs.forEach((file) => { + this.removeSyncRecursive(path.join(filepath, file)); + }); + fs.rmdirSync(filepath); + } + } +} +exports.FsHelper = FsHelper; + + +/***/ }, + +/***/ 31193 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// Copyright 2022 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlossaryEntries = void 0; +const errors_1 = __webpack_require__(64790); +const utils_1 = __webpack_require__(40044); +/** + * Stores the entries of a glossary. + */ +class GlossaryEntries { + /** + * Construct a GlossaryEntries object containing the specified entries as an object or a + * tab-separated values (TSV) string. The entries and tsv options are mutually exclusive. + * @param options Controls how to create glossary entries. If options is unspecified, no + * entries will be created. + * @param options.entries Object containing fields storing entries, for example: + * `{'Hello': 'Hallo'}`. + * @param options.tsv String containing TSV to parse. Each line should contain a source and + * target term separated by a tab. Empty lines are ignored. + * @return GlossaryEntries object containing parsed entries. + * @throws DeepLError If given entries contain invalid characters. + */ + constructor(options) { + this.implEntries = {}; + if ((options === null || options === void 0 ? void 0 : options.entries) !== undefined) { + if ((options === null || options === void 0 ? void 0 : options.tsv) !== undefined) { + throw new errors_1.DeepLError('options.entries and options.tsv are mutually exclusive'); + } + Object.assign(this.implEntries, options.entries); + } + else if ((options === null || options === void 0 ? void 0 : options.tsv) !== undefined) { + const tsv = options.tsv; + for (const entry of tsv.split(/\r\n|\n|\r/)) { + if (entry.length === 0) { + continue; + } + const [source, target, extra] = entry.split('\t', 3); + if (target === undefined) { + throw new errors_1.DeepLError(`Missing tab character in entry '${entry}'`); + } + else if (extra !== undefined) { + throw new errors_1.DeepLError(`Duplicate tab character in entry '${entry}'`); + } + this.add(source, target, false); + } + } + } + /** + * Add the specified source-target entry. + * @param source Source term of the glossary entry. + * @param target Target term of the glossary entry. + * @param overwrite If false, throw an error if the source entry already exists. + */ + add(source, target, overwrite = false) { + if (!overwrite && source in this.implEntries) { + throw new errors_1.DeepLError(`Duplicate source term '${source}'`); + } + this.implEntries[source] = target; + } + /** + * Retrieve the contained entries. + */ + entries() { + return this.implEntries; + } + /** + * Converts glossary entries to a tab-separated values (TSV) string. + * @return string containing entries in TSV format. + * @throws {Error} If any glossary entries are invalid. + */ + toTsv() { + return Object.entries(this.implEntries) + .map(([source, target]) => { + GlossaryEntries.validateGlossaryTerm(source); + GlossaryEntries.validateGlossaryTerm(target); + return `${source}\t${target}`; + }) + .join('\n'); + } + /** + * Checks if the given glossary term contains any disallowed characters. + * @param term Glossary term to check for validity. + * @throws {Error} If the term is not valid or a disallowed character is found. + */ + static validateGlossaryTerm(term) { + if (!(0, utils_1.isString)(term) || term.length === 0) { + throw new errors_1.DeepLError(`'${term}' is not a valid term.`); + } + for (let idx = 0; idx < term.length; idx++) { + const charCode = term.charCodeAt(idx); + if ((0 <= charCode && charCode <= 31) || // C0 control characters + (128 <= charCode && charCode <= 159) || // C1 control characters + charCode === 0x2028 || + charCode === 0x2029 // Unicode newlines + ) { + throw new errors_1.DeepLError(`Term '${term}' contains invalid character: '${term[idx]}' (${charCode})`); + } + } + } +} +exports.GlossaryEntries = GlossaryEntries; + + +/***/ }, + +/***/ 47713 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// Copyright 2022 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __exportStar = (this && this.__exportStar) || function(m, exports) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +__exportStar(__webpack_require__(64790), exports); +__exportStar(__webpack_require__(31193), exports); +__exportStar(__webpack_require__(50032), exports); +__exportStar(__webpack_require__(71088), exports); +__exportStar(__webpack_require__(68627), exports); + + +/***/ }, + +/***/ 21745 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// Copyright 2022 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.parseStyleRuleInfoList = exports.parseStyleRuleInfo = exports.parseCustomInstruction = exports.parseDocumentHandle = exports.parseGlossaryLanguagePairArray = exports.parseLanguageArray = exports.parseWriteResultArray = exports.parseTextResultArray = exports.parseUsage = exports.parseDocumentStatus = exports.parseGlossaryInfoList = exports.parseMultilingualGlossaryInfo = exports.parseGlossaryInfo = exports.parseListMultilingualGlossaries = exports.parseMultilingualGlossaryDictionaryEntries = exports.parseMultilingualGlossaryDictionaryInfo = void 0; +const glossaryEntries_1 = __webpack_require__(31193); +const errors_1 = __webpack_require__(64790); +const utils_1 = __webpack_require__(40044); +class UsageDetailImpl { + /** + * @private Package users should not need to construct this class. + */ + constructor(count, limit) { + this.count = count; + this.limit = limit; + } + limitReached() { + return this.count >= this.limit; + } +} +class UsageImpl { + /** + * @private Package users should not need to construct this class. + */ + constructor(character, document, teamDocument) { + this.character = character; + this.document = document; + this.teamDocument = teamDocument; + } + /** Returns true if any usage type limit has been reached or passed, otherwise false. */ + anyLimitReached() { + var _a, _b, _c; + return (((_a = this.character) === null || _a === void 0 ? void 0 : _a.limitReached()) || + ((_b = this.document) === null || _b === void 0 ? void 0 : _b.limitReached()) || + ((_c = this.teamDocument) === null || _c === void 0 ? void 0 : _c.limitReached()) || + false); + } + /** Converts the usage details to a human-readable string. */ + toString() { + const labelledDetails = [ + ['Characters', this.character], + ['Documents', this.document], + ['Team documents', this.teamDocument], + ]; + const detailsString = labelledDetails + .filter(([, detail]) => detail) + .map(([label, detail]) => `${label}: ${detail.count} of ${detail.limit}`); + return 'Usage this billing period:\n' + detailsString.join('\n'); + } +} +class DocumentStatusImpl { + constructor(status, secondsRemaining, billedCharacters, errorMessage) { + this.status = status; + this.secondsRemaining = secondsRemaining; + this.billedCharacters = billedCharacters; + this.errorMessage = errorMessage; + } + ok() { + return this.status === 'queued' || this.status === 'translating' || this.status === 'done'; + } + done() { + return this.status === 'done'; + } +} +/** + * Parses the given glossary info API response to a GlossaryInfo object. + * @private + */ +function parseRawGlossaryInfo(obj) { + return { + glossaryId: obj.glossary_id, + name: obj.name, + ready: obj.ready, + sourceLang: obj.source_lang, + targetLang: obj.target_lang, + creationTime: new Date(obj.creation_time), + entryCount: obj.entry_count, + }; +} +/** + * Parses the given multilingual glossary info API response to a GlossaryInfo object. + * @private + */ +function parseMultilingualGlossaryDictionaryInfo(obj) { + return { + sourceLangCode: obj.source_lang, + targetLangCode: obj.target_lang, + entryCount: obj.entry_count, + }; +} +exports.parseMultilingualGlossaryDictionaryInfo = parseMultilingualGlossaryDictionaryInfo; +/** + * Parses the given multilingual glossary info API response to a GlossaryInfo object. + * @private + */ +function parseRawMultilingualGlossaryInfo(obj) { + return { + glossaryId: obj.glossary_id, + name: obj.name, + creationTime: new Date(obj.creation_time), + dictionaries: obj.dictionaries.map((dict) => parseMultilingualGlossaryDictionaryInfo(dict)), + }; +} +/** + * Parses the given multilingual glossary entries API response to a GlossaryDictionaryEntries object. + * @private + */ +function parseMultilingualGlossaryDictionaryEntries(obj) { + return obj.dictionaries.map((dict) => ({ + sourceLangCode: dict.source_lang, + targetLangCode: dict.target_lang, + entries: new glossaryEntries_1.GlossaryEntries({ tsv: dict.entries }), + })); +} +exports.parseMultilingualGlossaryDictionaryEntries = parseMultilingualGlossaryDictionaryEntries; +/** + * Parses the given list multilingual glossaries API response. + * @private + */ +function parseListMultilingualGlossaries(obj) { + return obj.glossaries.map((glossary) => ({ + glossaryId: glossary.glossary_id, + name: glossary.name, + dictionaries: glossary.dictionaries.map((dict) => parseMultilingualGlossaryDictionaryInfo(dict)), + creationTime: new Date(glossary.creation_time), + })); +} +exports.parseListMultilingualGlossaries = parseListMultilingualGlossaries; +/** + * Parses the given JSON string to a GlossaryInfo object. + * @private + */ +function parseGlossaryInfo(json) { + try { + const obj = JSON.parse(json); + return parseRawGlossaryInfo(obj); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseGlossaryInfo = parseGlossaryInfo; +/** + * Parses the given JSON string to a MultilingualGlossaryInfo object. + * @private + */ +function parseMultilingualGlossaryInfo(json) { + try { + const obj = JSON.parse(json); + return parseRawMultilingualGlossaryInfo(obj); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseMultilingualGlossaryInfo = parseMultilingualGlossaryInfo; +/** + * Parses the given JSON string to an array of GlossaryInfo objects. + * @private + */ +function parseGlossaryInfoList(json) { + try { + const obj = JSON.parse(json); + return obj.glossaries.map((rawGlossaryInfo) => parseRawGlossaryInfo(rawGlossaryInfo)); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseGlossaryInfoList = parseGlossaryInfoList; +/** + * Parses the given JSON string to a DocumentStatus object. + * @private + */ +function parseDocumentStatus(json) { + try { + const obj = JSON.parse(json); + return new DocumentStatusImpl(obj.status, obj.seconds_remaining, obj.billed_characters, obj.error_message); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseDocumentStatus = parseDocumentStatus; +/** + * Parses the given usage API response to a UsageDetail object, which forms part of a Usage object. + * @private + */ +function parseUsageDetail(obj, prefix) { + const count = obj[`${prefix}_count`]; + const limit = obj[`${prefix}_limit`]; + if (count === undefined || limit === undefined) + return undefined; + return new UsageDetailImpl(count, limit); +} +/** + * Parses the given JSON string to a Usage object. + * @private + */ +function parseUsage(json) { + try { + const obj = JSON.parse(json); + return new UsageImpl(parseUsageDetail(obj, 'character'), parseUsageDetail(obj, 'document'), parseUsageDetail(obj, 'team_document')); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseUsage = parseUsage; +/** + * Parses the given JSON string to an array of TextResult objects. + * @private + */ +function parseTextResultArray(json) { + try { + const obj = JSON.parse(json); + return obj.translations.map((translation) => { + return { + text: translation.text, + detectedSourceLang: (0, utils_1.standardizeLanguageCode)(translation.detected_source_language), + billedCharacters: translation.billed_characters, + modelTypeUsed: translation.model_type_used, + }; + }); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseTextResultArray = parseTextResultArray; +function parseWriteResultArray(json) { + try { + const obj = JSON.parse(json); + return obj.improvements.map((improvement) => { + return { + text: improvement.text, + detectedSourceLang: (0, utils_1.standardizeLanguageCode)(improvement.detected_source_language), + targetLang: improvement.target_language, + }; + }); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseWriteResultArray = parseWriteResultArray; +/** + * Parses the given language API response to a Language object. + * @private + */ +function parseLanguage(lang) { + try { + const result = { + name: lang.name, + code: (0, utils_1.standardizeLanguageCode)(lang.language), + supportsFormality: lang.supports_formality, + }; + if (result.supportsFormality === undefined) { + delete result.supportsFormality; + } + return result; + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +/** + * Parses the given JSON string to an array of Language objects. + * @private + */ +function parseLanguageArray(json) { + const obj = JSON.parse(json); + return obj.map((lang) => parseLanguage(lang)); +} +exports.parseLanguageArray = parseLanguageArray; +/** + * Parses the given glossary language pair API response to a GlossaryLanguagePair object. + * @private + */ +function parseGlossaryLanguagePair(obj) { + try { + return { + sourceLang: obj.source_lang, + targetLang: obj.target_lang, + }; + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +/** + * Parses the given JSON string to an array of GlossaryLanguagePair objects. + * @private + */ +function parseGlossaryLanguagePairArray(json) { + const obj = JSON.parse(json); + return obj.supported_languages.map((langPair) => parseGlossaryLanguagePair(langPair)); +} +exports.parseGlossaryLanguagePairArray = parseGlossaryLanguagePairArray; +/** + * Parses the given JSON string to a DocumentHandle object. + * @private + */ +function parseDocumentHandle(json) { + try { + const obj = JSON.parse(json); + return { documentId: obj.document_id, documentKey: obj.document_key }; + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseDocumentHandle = parseDocumentHandle; +/** + * Parses the given style rule API response to a ConfiguredRules object. + * @private + */ +function parseConfiguredRules(configuredRulesData) { + if (!configuredRulesData) { + return undefined; + } + return { + datesAndTimes: configuredRulesData.dates_and_times, + formatting: configuredRulesData.formatting, + numbers: configuredRulesData.numbers, + punctuation: configuredRulesData.punctuation, + spellingAndGrammar: configuredRulesData.spelling_and_grammar, + styleAndTone: configuredRulesData.style_and_tone, + vocabulary: configuredRulesData.vocabulary, + }; +} +/** + * Parses the given custom instruction API response to a CustomInstruction object. + * @private + */ +function parseCustomInstruction(instruction) { + return { + id: instruction.id, + label: instruction.label, + prompt: instruction.prompt, + sourceLanguage: instruction.source_language, + }; +} +exports.parseCustomInstruction = parseCustomInstruction; +/** + * Parses the given style rule API response to a StyleRuleInfo object. + * @private + */ +function parseStyleRuleInfo(styleRule) { + try { + const customInstructions = styleRule.custom_instructions + ? styleRule.custom_instructions.map(parseCustomInstruction) + : undefined; + return { + styleId: styleRule.style_id, + name: styleRule.name, + creationTime: new Date(styleRule.creation_time), + updatedTime: new Date(styleRule.updated_time), + language: styleRule.language, + version: styleRule.version, + configuredRules: parseConfiguredRules(styleRule.configured_rules), + customInstructions, + }; + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseStyleRuleInfo = parseStyleRuleInfo; +/** + * Parses the given JSON string to an array of StyleRuleInfo objects. + * @private + */ +function parseStyleRuleInfoList(json) { + try { + const obj = JSON.parse(json); + return obj.style_rules.map((styleRule) => parseStyleRuleInfo(styleRule)); + } + catch (error) { + throw new errors_1.DeepLError(`Error parsing response JSON: ${error}`); + } +} +exports.parseStyleRuleInfoList = parseStyleRuleInfoList; + + +/***/ }, + +/***/ 68627 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// Copyright 2025 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Translator = exports.checkStatusCode = void 0; +const client_1 = __webpack_require__(71098); +const errors_1 = __webpack_require__(64790); +const glossaryEntries_1 = __webpack_require__(31193); +const parsing_1 = __webpack_require__(21745); +const utils_1 = __webpack_require__(40044); +const fs = __importStar(__webpack_require__(79896)); +const http_1 = __webpack_require__(58611); +const path_1 = __importDefault(__webpack_require__(16928)); +const os = __importStar(__webpack_require__(70857)); +const url_1 = __webpack_require__(87016); +const util = __importStar(__webpack_require__(39023)); +const documentMinifier_1 = __webpack_require__(14533); +/** + * Checks the HTTP status code, and in case of failure, throws an exception with diagnostic information. + * @private + */ +async function checkStatusCode(statusCode, content, usingGlossary = false, inDocumentDownload = false) { + if (200 <= statusCode && statusCode < 400) + return; + if (content instanceof http_1.IncomingMessage) { + try { + content = await (0, utils_1.streamToString)(content); + } + catch (e) { + content = `Error occurred while reading response: ${e}`; + } + } + let message = ''; + try { + const jsonObj = JSON.parse(content); + if (jsonObj.message !== undefined) { + message += `, message: ${jsonObj.message}`; + } + if (jsonObj.detail !== undefined) { + message += `, detail: ${jsonObj.detail}`; + } + } + catch (error) { + // JSON parsing errors are ignored, and we fall back to the raw content + message = ', ' + content; + } + switch (statusCode) { + case 403: + throw new errors_1.AuthorizationError(`Authorization failure, check auth_key${message}`); + case 456: + throw new errors_1.QuotaExceededError(`Quota for this billing period has been exceeded${message}`); + case 404: + if (usingGlossary) + throw new errors_1.GlossaryNotFoundError(`Glossary not found${message}`); + throw new errors_1.DeepLError(`Not found${message}`); + case 400: + throw new errors_1.DeepLError(`Bad request${message}`); + case 429: + throw new errors_1.TooManyRequestsError(`Too many requests, DeepL servers are currently experiencing high load${message}`); + case 503: + if (inDocumentDownload) { + throw new errors_1.DocumentNotReadyError(`Document not ready${message}`); + } + else { + throw new errors_1.DeepLError(`Service unavailable${message}`); + } + default: { + const statusName = http_1.STATUS_CODES[statusCode] || 'Unknown'; + throw new errors_1.DeepLError(`Unexpected status code: ${statusCode} ${statusName}${message}, content: ${content}`); + } + } +} +exports.checkStatusCode = checkStatusCode; +/** + * Wrapper for the DeepL API for language translation. + * Create an instance of Translator to use the DeepL API. + */ +class Translator { + /** + * Construct a Translator object wrapping the DeepL API using your authentication key. + * This does not connect to the API, and returns immediately. + * @param authKey Authentication key as specified in your account. + * @param options Additional options controlling Translator behavior. + */ + constructor(authKey, options) { + var _a; + if (!(0, utils_1.isString)(authKey) || authKey.length === 0) { + throw new errors_1.DeepLError('authKey must be a non-empty string'); + } + let serverUrl; + if ((options === null || options === void 0 ? void 0 : options.serverUrl) !== undefined) { + serverUrl = options.serverUrl; + } + else if ((0, utils_1.isFreeAccountAuthKey)(authKey)) { + serverUrl = 'https://api-free.deepl.com'; + } + else { + serverUrl = 'https://api.deepl.com'; + } + const headers = { + Authorization: `DeepL-Auth-Key ${authKey}`, + 'User-Agent': this.constructUserAgentString((options === null || options === void 0 ? void 0 : options.sendPlatformInfo) === false ? false : true, options === null || options === void 0 ? void 0 : options.appInfo), + ...((_a = options === null || options === void 0 ? void 0 : options.headers) !== null && _a !== void 0 ? _a : {}), + }; + const maxRetries = (options === null || options === void 0 ? void 0 : options.maxRetries) !== undefined ? options.maxRetries : 5; + const minTimeout = (options === null || options === void 0 ? void 0 : options.minTimeout) !== undefined ? options.minTimeout : 5000; + this.httpClient = new client_1.HttpClient(serverUrl, headers, maxRetries, minTimeout, options === null || options === void 0 ? void 0 : options.proxy); + } + /** + * Queries character and document usage during the current billing period. + * @return Fulfills with Usage object on success. + */ + async getUsage() { + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', '/v2/usage'); + await checkStatusCode(statusCode, content); + return (0, parsing_1.parseUsage)(content); + } + /** + * Queries source languages supported by DeepL API. + * @return Fulfills with array of Language objects containing available source languages. + */ + async getSourceLanguages() { + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', '/v2/languages'); + await checkStatusCode(statusCode, content); + return (0, parsing_1.parseLanguageArray)(content); + } + /** + * Queries target languages supported by DeepL API. + * @return Fulfills with array of Language objects containing available target languages. + */ + async getTargetLanguages() { + const data = new url_1.URLSearchParams({ type: 'target' }); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', '/v2/languages', { + data, + }); + await checkStatusCode(statusCode, content); + return (0, parsing_1.parseLanguageArray)(content); + } + /** + * Queries language pairs supported for glossaries by DeepL API. + * @return Fulfills with an array of GlossaryLanguagePair objects containing languages supported for glossaries. + */ + async getGlossaryLanguagePairs() { + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', '/v2/glossary-language-pairs'); + await checkStatusCode(statusCode, content); + return (0, parsing_1.parseGlossaryLanguagePairArray)(content); + } + /** + * Translates specified text string or array of text strings into the target language. + * @param texts Text string or array of strings containing input text(s) to translate. + * @param sourceLang Language code of input text language, or null to use auto-detection. + * @param targetLang Language code of language to translate into. + * @param options Optional TranslateTextOptions object containing additional options controlling translation. + * @return Fulfills with a TextResult object or an array of TextResult objects corresponding to input texts; use the `TextResult.text` property to access the translated text. + */ + async translateText(texts, sourceLang, targetLang, options) { + var _a; + const data = (0, utils_1.buildURLSearchParams)(sourceLang, targetLang, options === null || options === void 0 ? void 0 : options.formality, options === null || options === void 0 ? void 0 : options.glossary, options === null || options === void 0 ? void 0 : options.extraRequestParameters); + // Always send show_billed_characters=1, remove when the API default is changed to true + data.append('show_billed_characters', '1'); + const singular = (0, utils_1.appendTextsAndReturnIsSingular)(data, texts); + (0, utils_1.validateAndAppendTextOptions)(data, options); + const translatePath = (_a = options === null || options === void 0 ? void 0 : options.__path) !== null && _a !== void 0 ? _a : '/v2/translate'; + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', translatePath, { data }); + await checkStatusCode(statusCode, content); + const textResults = (0, parsing_1.parseTextResultArray)(content); + return (singular ? textResults[0] : textResults); + } + /** + * Uploads specified document to DeepL to translate into given target language, waits for + * translation to complete, then downloads translated document to specified output path. + * @param inputFile String containing file path of document to be translated, or a Stream, + * Buffer, or FileHandle containing file data. Note: unless file path is used, then + * `options.filename` must be specified. + * @param outputFile String containing file path to create translated document, or Stream or + * FileHandle to write translated document content. + * @param sourceLang Language code of input document, or null to use auto-detection. + * @param targetLang Language code of language to translate into. + * @param options Optional DocumentTranslateOptions object containing additional options controlling translation. + * @return Fulfills with a DocumentStatus object for the completed translation. You can use the + * billedCharacters property to check how many characters were billed for the document. + * @throws {Error} If no file exists at the input file path, or a file already exists at the output file path. + * @throws {DocumentTranslationError} If any error occurs during document upload, translation or + * download. The `documentHandle` property of the error may be used to recover the document. + */ + async translateDocument(inputFile, outputFile, sourceLang, targetLang, options) { + var _a; + // Helper function to open output file if provided as filepath and remove it on error + async function getOutputHandleAndOnError() { + if ((0, utils_1.isString)(outputFile)) { + // Open output file path, fail if file already exists + const outputHandle = await fs.promises.open(outputFile, 'wx'); + // Set up error handler to remove created file + const onError = async () => { + try { + // remove created output file + await outputHandle.close(); + await util.promisify(fs.unlink)(outputFile); + } + catch { + // Ignore errors + } + }; + return { outputHandle, onError }; + } + else { + return { outputHandle: outputFile }; + } + } + const { outputHandle, onError } = await getOutputHandleAndOnError(); + const documentMinifier = new documentMinifier_1.DocumentMinifier(); + const willMinify = ((_a = options === null || options === void 0 ? void 0 : options.enableDocumentMinification) !== null && _a !== void 0 ? _a : false) && + (0, utils_1.isString)(inputFile) && + documentMinifier_1.DocumentMinifier.canMinifyFile(inputFile) && + (0, utils_1.isString)(outputFile); + const fileToUpload = willMinify + ? documentMinifier.minifyDocument(inputFile, true) + : inputFile; + let documentHandle = undefined; + try { + documentHandle = await this.uploadDocument(fileToUpload, sourceLang, targetLang, options); + const { status } = await this.isDocumentTranslationComplete(documentHandle); + await this.downloadDocument(documentHandle, outputHandle); + if (willMinify) { + // Intentionally replace outputFile with a deminified version of the outputFile + documentMinifier.deminifyDocument(outputFile, outputFile, true); + } + return status; + } + catch (errorUnknown) { + if (onError) + await onError(); + const error = errorUnknown instanceof Error ? errorUnknown : undefined; + const message = 'Error occurred while translating document: ' + + ((error === null || error === void 0 ? void 0 : error.message) ? error === null || error === void 0 ? void 0 : error.message : errorUnknown); + throw new errors_1.DocumentTranslationError(message, documentHandle, error); + } + } + /** + * Uploads specified document to DeepL to translate into target language, and returns handle associated with the document. + * @param inputFile String containing file path, stream containing file data, or FileHandle. + * Note: if a Buffer, Stream, or FileHandle is used, then `options.filename` must be specified. + * @param sourceLang Language code of input document, or null to use auto-detection. + * @param targetLang Language code of language to translate into. + * @param options Optional DocumentTranslateOptions object containing additional options controlling translation. + * @return Fulfills with DocumentHandle associated with the in-progress translation. + */ + async uploadDocument(inputFile, sourceLang, targetLang, options) { + if ((0, utils_1.isString)(inputFile)) { + const buffer = await fs.promises.readFile(inputFile); + return this.internalUploadDocument(buffer, sourceLang, targetLang, path_1.default.basename(inputFile), options); + } + else { + if ((options === null || options === void 0 ? void 0 : options.filename) === undefined) { + throw new errors_1.DeepLError('options.filename must be specified unless using input file path'); + } + if (inputFile instanceof fs.ReadStream) { + const buffer = await (0, utils_1.streamToBuffer)(inputFile); + return this.internalUploadDocument(buffer, sourceLang, targetLang, options.filename, options); + } + else if (inputFile instanceof Buffer) { + return this.internalUploadDocument(inputFile, sourceLang, targetLang, options.filename, options); + } + else { + // FileHandle + const buffer = await inputFile.readFile(); + const handle = await this.internalUploadDocument(buffer, sourceLang, targetLang, options.filename, options); + await inputFile.close(); + return handle; + } + } + } + /** + * Retrieves the status of the document translation associated with the given document handle. + * @param handle Document handle associated with document. + * @return Fulfills with a DocumentStatus giving the document translation status. + */ + async getDocumentStatus(handle) { + const data = new url_1.URLSearchParams({ document_key: handle.documentKey }); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', `/v2/document/${handle.documentId}`, { data }); + await checkStatusCode(statusCode, content, false, true); + return (0, parsing_1.parseDocumentStatus)(content); + } + /** + * Downloads the translated document associated with the given document handle to the specified output file path or stream.handle. + * @param handle Document handle associated with document. + * @param outputFile String containing output file path, or Stream or FileHandle to store file data. + * @return Fulfills with undefined, or rejects if the document translation has not been completed. + */ + async downloadDocument(handle, outputFile) { + if ((0, utils_1.isString)(outputFile)) { + const fileStream = await fs.createWriteStream(outputFile, { flags: 'wx' }); + try { + await this.internalDownloadDocument(handle, fileStream); + } + catch (e) { + await new Promise((resolve) => fileStream.close(resolve)); + await fs.promises.unlink(outputFile); + throw e; + } + } + else if (outputFile instanceof fs.WriteStream) { + return this.internalDownloadDocument(handle, outputFile); + } + else { + // FileHandle + const dummyFilePath = ''; + const outputStream = fs.createWriteStream(dummyFilePath, { fd: outputFile.fd }); + await this.internalDownloadDocument(handle, outputStream); + try { + await outputFile.close(); + } + catch { + // Ignore errors + } + } + } + /** + * Returns a promise that resolves when the given document translation completes, or rejects if + * there was an error communicating with the DeepL API or the document translation failed. + * @param handle {DocumentHandle} Handle to the document translation. + * @return Fulfills with input DocumentHandle and DocumentStatus when the document translation + * completes successfully, rejects if translation fails or a communication error occurs. + */ + async isDocumentTranslationComplete(handle) { + let status = await this.getDocumentStatus(handle); + while (!status.done() && status.ok()) { + // status.secondsRemaining is currently unreliable, so just poll equidistantly + const secs = 5.0; + await (0, utils_1.timeout)(secs * 1000); + (0, utils_1.logInfo)(`Rechecking document translation status after sleeping for ${secs} seconds.`); + status = await this.getDocumentStatus(handle); + } + if (!status.ok()) { + const message = status.errorMessage || 'unknown error'; + throw new errors_1.DeepLError(message); + } + return { handle, status }; + } + /** + * Creates a new glossary on the DeepL server with given name, languages, and entries. + * @param name User-defined name to assign to the glossary. + * @param sourceLang Language code of the glossary source terms. + * @param targetLang Language code of the glossary target terms. + * @param entries The source- & target-term pairs to add to the glossary. + * @return Fulfills with a GlossaryInfo containing details about the created glossary. + */ + async createGlossary(name, sourceLang, targetLang, entries) { + if (Object.keys(entries.entries()).length === 0) { + throw new errors_1.DeepLError('glossary entries must not be empty'); + } + const tsv = entries.toTsv(); + return this.internalCreateGlossary(name, sourceLang, targetLang, 'tsv', tsv); + } + /** + * Creates a new glossary on DeepL server with given name, languages, and CSV data. + * @param name User-defined name to assign to the glossary. + * @param sourceLang Language code of the glossary source terms. + * @param targetLang Language code of the glossary target terms. + * @param csvFile String containing the path of the CSV file to be translated, or a Stream, + * Buffer, or a FileHandle containing CSV file content. + * @return Fulfills with a GlossaryInfo containing details about the created glossary. + */ + async createGlossaryWithCsv(name, sourceLang, targetLang, csvFile) { + let csvContent; + if ((0, utils_1.isString)(csvFile)) { + csvContent = (await fs.promises.readFile(csvFile)).toString(); + } + else if (csvFile instanceof fs.ReadStream) { + csvContent = (await (0, utils_1.streamToBuffer)(csvFile)).toString(); + } + else if (csvFile instanceof Buffer) { + csvContent = csvFile.toString(); + } + else { + // FileHandle + csvContent = (await csvFile.readFile()).toString(); + await csvFile.close(); + } + return this.internalCreateGlossary(name, sourceLang, targetLang, 'csv', csvContent); + } + /** + * Gets information about an existing glossary. + * @param glossaryId Glossary ID of the glossary. + * @return Fulfills with a GlossaryInfo containing details about the glossary. + */ + async getGlossary(glossaryId) { + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', `/v2/glossaries/${glossaryId}`); + await checkStatusCode(statusCode, content, true); + return (0, parsing_1.parseGlossaryInfo)(content); + } + /** + * Gets information about all existing glossaries. + * @return Fulfills with an array of GlossaryInfos containing details about all existing glossaries. + */ + async listGlossaries() { + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', '/v2/glossaries'); + await checkStatusCode(statusCode, content, true); + return (0, parsing_1.parseGlossaryInfoList)(content); + } + /** + * Retrieves the entries stored with the glossary with the given glossary ID or GlossaryInfo. + * @param glossary Glossary ID or GlossaryInfo of glossary to retrieve entries of. + * @return Fulfills with GlossaryEntries holding the glossary entries. + */ + async getGlossaryEntries(glossary) { + glossary = (0, utils_1.isString)(glossary) ? glossary : glossary.glossaryId; + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('GET', `/v2/glossaries/${glossary}/entries`); + await checkStatusCode(statusCode, content, true); + return new glossaryEntries_1.GlossaryEntries({ tsv: content }); + } + /** + * Deletes the glossary with the given glossary ID or GlossaryInfo. + * @param glossary Glossary ID or GlossaryInfo of glossary to be deleted. + * @return Fulfills with undefined when the glossary is deleted. + */ + async deleteGlossary(glossary) { + glossary = (0, utils_1.isString)(glossary) ? glossary : glossary.glossaryId; + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('DELETE', `/v2/glossaries/${glossary}`); + await checkStatusCode(statusCode, content, true); + } + /** + * Upload given stream for document translation and returns document handle. + * @private + */ + async internalUploadDocument(fileBuffer, sourceLang, targetLang, filename, options) { + const data = (0, utils_1.buildURLSearchParams)(sourceLang, targetLang, options === null || options === void 0 ? void 0 : options.formality, options === null || options === void 0 ? void 0 : options.glossary, options === null || options === void 0 ? void 0 : options.extraRequestParameters); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', '/v2/document', { + data, + fileBuffer, + filename, + }); + await checkStatusCode(statusCode, content); + return (0, parsing_1.parseDocumentHandle)(content); + } + /** + * Download translated document associated with specified handle to given stream. + * @private + */ + async internalDownloadDocument(handle, outputStream) { + const data = new url_1.URLSearchParams({ document_key: handle.documentKey }); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', `/v2/document/${handle.documentId}/result`, { data }, true); + await checkStatusCode(statusCode, content, false, true); + content.pipe(outputStream); + return new Promise((resolve, reject) => { + outputStream.on('finish', resolve); + outputStream.on('error', reject); + }); + } + /** + * Create glossary with given details. + * @private + */ + async internalCreateGlossary(name, sourceLang, targetLang, entriesFormat, entries) { + // Glossaries are only supported for base language types + sourceLang = (0, utils_1.nonRegionalLanguageCode)(sourceLang); + targetLang = (0, utils_1.nonRegionalLanguageCode)(targetLang); + if (!(0, utils_1.isString)(name) || name.length === 0) { + throw new errors_1.DeepLError('glossary name must be a non-empty string'); + } + const data = new url_1.URLSearchParams({ + name: name, + source_lang: sourceLang, + target_lang: targetLang, + entries_format: entriesFormat, + entries: entries, + }); + const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', '/v2/glossaries', { data }); + await checkStatusCode(statusCode, content, true); + return (0, parsing_1.parseGlossaryInfo)(content); + } + constructUserAgentString(sendPlatformInfo, appInfo) { + let libraryInfoString = 'deepl-node/1.25.0'; + if (sendPlatformInfo) { + const systemType = os.type(); + const systemVersion = os.version(); + const nodeVersion = process.version.substring(1); // Drop the v in the version number + libraryInfoString += ` (${systemType} ${systemVersion}) node/${nodeVersion}`; + } + if (appInfo) { + libraryInfoString += ` ${appInfo.appName}/${appInfo.appVersion}`; + } + return libraryInfoString; + } +} +exports.Translator = Translator; + + +/***/ }, + +/***/ 50032 +(__unused_webpack_module, exports) { + +"use strict"; + +// Copyright 2022 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +Object.defineProperty(exports, "__esModule", ({ value: true })); + + +/***/ }, + +/***/ 40044 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// Copyright 2022 DeepL SE (https://www.deepl.com) +// Use of this source code is governed by an MIT +// license that can be found in the LICENSE file. +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.extractGlossaryId = exports.appendCsvDictionaryEntries = exports.appendDictionaryEntries = exports.validateAndAppendTextOptions = exports.appendTextsAndReturnIsSingular = exports.buildURLSearchParams = exports.nonRegionalLanguageCode = exports.standardizeLanguageCode = exports.isFreeAccountAuthKey = exports.toBoolString = exports.isString = exports.timeout = exports.streamToString = exports.streamToBuffer = exports.logInfo = exports.logDebug = void 0; +const loglevel_1 = __importDefault(__webpack_require__(73065)); +const errors_1 = __webpack_require__(64790); +const logger = loglevel_1.default.getLogger('deepl'); +function concatLoggingArgs(args) { + let detail = ''; + if (args) { + for (const [key, value] of Object.entries(args)) { + detail += `, ${key} = ${value}`; + } + } + return detail; +} +function logDebug(message, args) { + logger.debug(message + concatLoggingArgs(args)); +} +exports.logDebug = logDebug; +function logInfo(message, args) { + logger.info(message + concatLoggingArgs(args)); +} +exports.logInfo = logInfo; +/** + * Converts contents of given stream to a Buffer. + * @private + */ +async function streamToBuffer(stream) { + const chunks = []; + return new Promise((resolve, reject) => { + stream.on('data', (chunk) => chunks.push(chunk)); + stream.on('error', (err) => reject(err)); + stream.on('end', () => resolve(Buffer.concat(chunks))); + }); +} +exports.streamToBuffer = streamToBuffer; +/** + * Converts contents of given stream to a string using UTF-8 encoding. + * @private + */ +async function streamToString(stream) { + return (await streamToBuffer(stream)).toString('utf8'); +} +exports.streamToString = streamToString; +// Wrap setTimeout() with Promise +const timeout = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); +exports.timeout = timeout; +/** + * Returns true if the given argument is a string. + * @param arg Argument to check. + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; +/** + * Returns '1' if the given arg is truthy, '0' otherwise. + * @param arg Argument to check. + */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function toBoolString(arg) { + return arg ? '1' : '0'; +} +exports.toBoolString = toBoolString; +/** + * Returns true if the specified DeepL Authentication Key is associated with a free account, + * otherwise false. + * @param authKey The authentication key to check. + * @return True if the key is associated with a free account, otherwise false. + */ +function isFreeAccountAuthKey(authKey) { + return authKey.endsWith(':fx'); +} +exports.isFreeAccountAuthKey = isFreeAccountAuthKey; +/** + * Changes the upper- and lower-casing of the given language code to match ISO 639-1 with an + * optional regional code from ISO 3166-1. + * For example, input 'EN-US' returns 'en-US'. + * @param langCode String containing language code to standardize. + * @return Standardized language code. + */ +function standardizeLanguageCode(langCode) { + if (!isString(langCode) || langCode.length === 0) { + throw new errors_1.DeepLError('langCode must be a non-empty string'); + } + const [lang, region] = langCode.split('-', 2); + return (region === undefined ? lang.toLowerCase() : `${lang.toLowerCase()}-${region.toUpperCase()}`); +} +exports.standardizeLanguageCode = standardizeLanguageCode; +/** + * Removes the regional variant from a language, for example inputs 'en' and 'en-US' both return + * 'en'. + * @param langCode String containing language code to convert. + * @return Language code with regional variant removed. + */ +function nonRegionalLanguageCode(langCode) { + if (!isString(langCode) || langCode.length === 0) { + throw new errors_1.DeepLError('langCode must be a non-empty string'); + } + return langCode.split('-', 2)[0].toLowerCase(); +} +exports.nonRegionalLanguageCode = nonRegionalLanguageCode; +/** + * Joins given TagList with commas to form a single comma-delimited string. + * @private + */ +function joinTagList(tagList) { + if (isString(tagList)) { + return tagList; + } + else { + return tagList.join(','); + } +} +/** + * Validates and prepares URLSearchParams for arguments common to text and document translation. + * @private + */ +function buildURLSearchParams(sourceLang, targetLang, formality, glossary, extraRequestParameters) { + targetLang = standardizeLanguageCode(targetLang); + if (sourceLang !== null) { + sourceLang = standardizeLanguageCode(sourceLang); + } + if (glossary !== undefined && sourceLang === null) { + throw new errors_1.DeepLError('sourceLang is required if using a glossary'); + } + if (targetLang === 'en') { + throw new errors_1.DeepLError("targetLang='en' is deprecated, please use 'en-GB' or 'en-US' instead."); + } + else if (targetLang === 'pt') { + throw new errors_1.DeepLError("targetLang='pt' is deprecated, please use 'pt-PT' or 'pt-BR' instead."); + } + const searchParams = new URLSearchParams({ + target_lang: targetLang, + }); + if (sourceLang !== null) { + searchParams.append('source_lang', sourceLang); + } + if (formality !== undefined) { + const formalityStr = String(formality).toLowerCase(); + searchParams.append('formality', formalityStr); + } + if (glossary !== undefined) { + if (!isString(glossary)) { + if (glossary.glossaryId === undefined) { + throw new errors_1.DeepLError('glossary option should be a string containing the Glossary ID or a GlossaryInfo object.'); + } + glossary = glossary.glossaryId; + } + searchParams.append('glossary_id', glossary); + } + if (extraRequestParameters !== undefined) { + for (const paramName in extraRequestParameters) { + searchParams.set(paramName, extraRequestParameters[paramName]); + } + } + return searchParams; +} +exports.buildURLSearchParams = buildURLSearchParams; +/** + * Validates and appends texts to HTTP request parameters, and returns whether a single text + * argument was provided. + * @param data Parameters for HTTP request. + * @param texts User-supplied texts to be checked. + * @return True if only a single text was provided. + * @private + */ +function appendTextsAndReturnIsSingular(data, texts) { + const singular = !Array.isArray(texts); + if (singular) { + if (!isString(texts) || texts.length === 0) { + throw new errors_1.DeepLError('texts parameter must be a non-empty string or array of non-empty strings'); + } + data.append('text', texts); + } + else { + for (const text of texts) { + if (!isString(text) || text.length === 0) { + throw new errors_1.DeepLError('texts parameter must be a non-empty string or array of non-empty strings'); + } + data.append('text', text); + } + } + return singular; +} +exports.appendTextsAndReturnIsSingular = appendTextsAndReturnIsSingular; +/** + * Validates and appends text options to HTTP request parameters. + * @param data Parameters for HTTP request. + * @param options Options for translate text request. + * Note the formality and glossaryId options are handled separately, because these options + * overlap with the translateDocument function. + * @private + */ +function validateAndAppendTextOptions(data, options) { + if (!options) { + return; + } + if (options.splitSentences !== undefined) { + options.splitSentences = options.splitSentences.toLowerCase(); + if (options.splitSentences === 'on' || options.splitSentences === 'default') { + data.append('split_sentences', '1'); + } + else if (options.splitSentences === 'off') { + data.append('split_sentences', '0'); + } + else { + data.append('split_sentences', options.splitSentences); + } + } + if (options.preserveFormatting !== undefined) { + data.append('preserve_formatting', toBoolString(options.preserveFormatting)); + } + if (options.tagHandling !== undefined) { + data.append('tag_handling', options.tagHandling); + } + if (options.tagHandlingVersion !== undefined) { + data.append('tag_handling_version', options.tagHandlingVersion); + } + if (options.outlineDetection !== undefined) { + data.append('outline_detection', toBoolString(options.outlineDetection)); + } + if (options.context !== undefined) { + data.append('context', options.context); + } + if (options.modelType !== undefined) { + data.append('model_type', options.modelType); + } + if (options.nonSplittingTags !== undefined) { + data.append('non_splitting_tags', joinTagList(options.nonSplittingTags)); + } + if (options.splittingTags !== undefined) { + data.append('splitting_tags', joinTagList(options.splittingTags)); + } + if (options.ignoreTags !== undefined) { + data.append('ignore_tags', joinTagList(options.ignoreTags)); + } + if (options.styleRule !== undefined) { + if (!isString(options.styleRule)) { + if (options.styleRule.styleId === undefined) { + throw new errors_1.DeepLError('styleRule option should be a StyleId (string) containing the Style Rule ID or a StyleRuleInfo object.'); + } + data.append('style_id', options.styleRule.styleId); + } + } + if (options.customInstructions !== undefined) { + for (const instruction of options.customInstructions) { + data.append('custom_instructions', instruction); + } + } +} +exports.validateAndAppendTextOptions = validateAndAppendTextOptions; +/** + * Appends glossary dictionaries to HTTP request parameters. + * @param data URL-encoded parameters for a HTTP request. + * @param dictionaries Glossary dictionaries to append. + * @private + */ +function appendDictionaryEntries(data, dictionaries) { + dictionaries.forEach((dict, index) => { + data.append(`dictionaries[${index}].source_lang`, dict.sourceLangCode); + data.append(`dictionaries[${index}].target_lang`, dict.targetLangCode); + data.append(`dictionaries[${index}].entries`, dict.entries.toTsv()); + data.append(`dictionaries[${index}].entries_format`, 'tsv'); + }); +} +exports.appendDictionaryEntries = appendDictionaryEntries; +/** + * Appends a glossary dictionary with CSV entries to HTTP request parameters. + * @param data URL-encoded parameters for a HTTP request. + * @param sourceLanguageCode Source language code of the dictionary. + * @param targetLanguageCode Target language code of the dictionary. + * @param csvContent CSV-formatted string containing the dictionary entries. + * @private + */ +function appendCsvDictionaryEntries(data, sourceLanguageCode, targetLanguageCode, csvContent) { + data.append('dictionaries[0].source_lang', sourceLanguageCode); + data.append('dictionaries[0].target_lang', targetLanguageCode); + data.append('dictionaries[0].entries', csvContent); + data.append('dictionaries[0].entries_format', 'csv'); +} +exports.appendCsvDictionaryEntries = appendCsvDictionaryEntries; +/** + * Extract the glossary ID from the argument. + * @param glossary The glossary as a string, GlossaryInfo, or MultilingualGlossaryInfo. + * @private + */ +function extractGlossaryId(glossary) { + return typeof glossary === 'string' ? glossary : glossary.glossaryId; +} +exports.extractGlossaryId = extractGlossaryId; + + +/***/ }, + +/***/ 88094 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var CombinedStream = __webpack_require__(80801); +var util = __webpack_require__(39023); +var path = __webpack_require__(16928); +var http = __webpack_require__(58611); +var https = __webpack_require__(65692); +var parseUrl = (__webpack_require__(87016).parse); +var fs = __webpack_require__(79896); +var crypto = __webpack_require__(76982); +var mime = __webpack_require__(86049); +var asynckit = __webpack_require__(21873); +var setToStringTag = __webpack_require__(49605); +var hasOwn = __webpack_require__(9957); +var populate = __webpack_require__(21779); + +/** + * Create readable "multipart/form-data" streams. + * Can be used to submit forms + * and file uploads to other web applications. + * + * @constructor + * @param {Object} options - Properties to be added/overriden for FormData and CombinedStream + */ +function FormData(options) { + if (!(this instanceof FormData)) { + return new FormData(options); + } + + this._overheadLength = 0; + this._valueLength = 0; + this._valuesToMeasure = []; + + CombinedStream.call(this); + + options = options || {}; + for (var option in options) { // eslint-disable-line no-restricted-syntax + this[option] = options[option]; + } +} + +// make it a Stream +util.inherits(FormData, CombinedStream); + +FormData.LINE_BREAK = '\r\n'; +FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream'; + +FormData.prototype.append = function (field, value, options) { + + options = options || {}; + + // allow filename as single option + if (typeof options === 'string') { + options = { filename: options }; + } + + var append = CombinedStream.prototype.append.bind(this); + + // all that streamy business can't handle numbers + if (typeof value === 'number' || value == null) { + value = String(value); + } + + // https://github.com/felixge/node-form-data/issues/38 + if (Array.isArray(value)) { + /* + * Please convert your array into string + * the way web server expects it + */ + this._error(new Error('Arrays are not supported.')); + return; + } + + var header = this._multiPartHeader(field, value, options); + var footer = this._multiPartFooter(); + + append(header); + append(value); + append(footer); + + // pass along options.knownLength + this._trackLength(header, value, options); +}; + +FormData.prototype._trackLength = function (header, value, options) { + var valueLength = 0; + + /* + * used w/ getLengthSync(), when length is known. + * e.g. for streaming directly from a remote server, + * w/ a known file a size, and not wanting to wait for + * incoming file to finish to get its size. + */ + if (options.knownLength != null) { + valueLength += Number(options.knownLength); + } else if (Buffer.isBuffer(value)) { + valueLength = value.length; + } else if (typeof value === 'string') { + valueLength = Buffer.byteLength(value); + } + + this._valueLength += valueLength; + + // @check why add CRLF? does this account for custom/multiple CRLFs? + this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length; + + // empty or either doesn't have path or not an http response + if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')))) { + return; + } + + // no need to bother with the length + if (!options.knownLength) { + this._valuesToMeasure.push(value); + } +}; + +FormData.prototype._lengthRetriever = function (value, callback) { + if (hasOwn(value, 'fd')) { + + /* + * take read range into a account + * `end` = Infinity –> read file till the end + * + * TODO: Looks like there is bug in Node fs.createReadStream + * it doesn't respect `end` options without `start` options + * Fix it when node fixes it. + * https://github.com/joyent/node/issues/7819 + */ + if (value.end != null && value.end !== Infinity && value.start != null) { + + /* + * when end specified + * no need to calculate range + * inclusive, starts with 0 + */ + callback(null, value.end + 1 - (value.start ? value.start : 0)); + + // not that fast snoopy + } else { + // still need to fetch file size from fs + fs.stat(value.path, function (err, stat) { + + var fileSize; + + if (err) { + callback(err); + return; + } + + // update final size based on the range options + fileSize = stat.size - (value.start ? value.start : 0); + callback(null, fileSize); + }); + } + + // or http response + } else if (hasOwn(value, 'httpVersion')) { + callback(null, Number(value.headers['content-length'])); + + // or request stream http://github.com/mikeal/request + } else if (hasOwn(value, 'httpModule')) { + // wait till response come back + value.on('response', function (response) { + value.pause(); + callback(null, Number(response.headers['content-length'])); + }); + value.resume(); + + // something else + } else { + callback('Unknown stream'); + } +}; + +FormData.prototype._multiPartHeader = function (field, value, options) { + /* + * custom header specified (as string)? + * it becomes responsible for boundary + * (e.g. to handle extra CRLFs on .NET servers) + */ + if (typeof options.header === 'string') { + return options.header; + } + + var contentDisposition = this._getContentDisposition(value, options); + var contentType = this._getContentType(value, options); + + var contents = ''; + var headers = { + // add custom disposition as third element or keep it two elements if not + 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []), + // if no content type. allow it to be empty array + 'Content-Type': [].concat(contentType || []), + }; + + // allow custom headers. + if (typeof options.header === 'object') { + populate(headers, options.header); + } + + var header; + for (var prop in headers) { // eslint-disable-line no-restricted-syntax + if (hasOwn(headers, prop)) { + header = headers[prop]; + + // skip nullish headers. + if (header == null) { + continue; // eslint-disable-line no-continue, no-restricted-syntax + } + + // convert all headers to arrays. + if (!Array.isArray(header)) { + header = [header]; + } + + // add non-empty headers. + if (header.length) { + contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK; + } + } + } + + return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK; +}; + +FormData.prototype._getContentDisposition = function (value, options) { + + var filename, + contentDisposition; + if (typeof options.filepath === 'string') { + // custom filepath for relative paths + filename = path.normalize(options.filepath).replace(/\\/g, '/'); + } else if (options.filename || (value && (value.name || value.path))) { + /* + * custom filename take precedence + * formidable and the browser add a name property + * fs- and request- streams have path property + */ + filename = path.basename(options.filename || (value && (value.name || value.path))); + } else if (value && value.readable && hasOwn(value, 'httpVersion')) { + // or try http response + filename = path.basename(value.client._httpMessage.path || ''); + } + + if (filename) { + contentDisposition = 'filename="' + filename + '"'; + } + + return contentDisposition; +}; + +FormData.prototype._getContentType = function (value, options) { + + // use custom content-type above all + var contentType = options.contentType; + + // or try `name` from formidable, browser + if (!contentType && value && value.name) { + contentType = mime.lookup(value.name); + } + + // or try `path` from fs-, request- streams + if (!contentType && value && value.path) { + contentType = mime.lookup(value.path); + } + + // or if it's http-reponse + if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) { + contentType = value.headers['content-type']; + } + + // or guess it from the filepath or filename + if (!contentType && (options.filepath || options.filename)) { + contentType = mime.lookup(options.filepath || options.filename); + } + + // fallback to the default content type if `value` is not simple value + if (!contentType && value && typeof value === 'object') { + contentType = FormData.DEFAULT_CONTENT_TYPE; + } + + return contentType; +}; + +FormData.prototype._multiPartFooter = function () { + return function (next) { + var footer = FormData.LINE_BREAK; + + var lastPart = this._streams.length === 0; + if (lastPart) { + footer += this._lastBoundary(); + } + + next(footer); + }.bind(this); +}; + +FormData.prototype._lastBoundary = function () { + return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK; +}; + +FormData.prototype.getHeaders = function (userHeaders) { + var header; + var formHeaders = { + 'content-type': 'multipart/form-data; boundary=' + this.getBoundary(), + }; + + for (header in userHeaders) { // eslint-disable-line no-restricted-syntax + if (hasOwn(userHeaders, header)) { + formHeaders[header.toLowerCase()] = userHeaders[header]; + } + } + + return formHeaders; +}; + +FormData.prototype.setBoundary = function (boundary) { + if (typeof boundary !== 'string') { + throw new TypeError('FormData boundary must be a string'); + } + this._boundary = boundary; +}; + +FormData.prototype.getBoundary = function () { + if (!this._boundary) { + this._generateBoundary(); + } + + return this._boundary; +}; + +FormData.prototype.getBuffer = function () { + var dataBuffer = Buffer.alloc(0); + var boundary = this.getBoundary(); + + // Create the form content. Add Line breaks to the end of data. + for (var i = 0, len = this._streams.length; i < len; i++) { + if (typeof this._streams[i] !== 'function') { + + // Add content to the buffer. + if (Buffer.isBuffer(this._streams[i])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]); + } else { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]); + } + + // Add break after content. + if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]); + } + } + } + + // Add the footer and return the Buffer object. + return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); +}; + +FormData.prototype._generateBoundary = function () { + // This generates a 50 character boundary similar to those used by Firefox. + + // They are optimized for boyer-moore parsing. + this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex'); +}; + +/* + * Note: getLengthSync DOESN'T calculate streams length + * As workaround one can calculate file size manually + * and add it as knownLength option + */ +FormData.prototype.getLengthSync = function () { + var knownLength = this._overheadLength + this._valueLength; + + /* + * Don't get confused, there are 3 "internal" streams for each keyval pair + * so it basically checks if there is any value added to the form + */ + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + // https://github.com/form-data/form-data/issues/40 + if (!this.hasKnownLength()) { + /* + * Some async length retrievers are present + * therefore synchronous length calculation is false. + * Please use getLength(callback) to get proper length + */ + this._error(new Error('Cannot calculate proper length in synchronous way.')); + } + + return knownLength; +}; + +/* + * Public API to check if length of added values is known + * https://github.com/form-data/form-data/issues/196 + * https://github.com/form-data/form-data/issues/262 + */ +FormData.prototype.hasKnownLength = function () { + var hasKnownLength = true; + + if (this._valuesToMeasure.length) { + hasKnownLength = false; + } + + return hasKnownLength; +}; + +FormData.prototype.getLength = function (cb) { + var knownLength = this._overheadLength + this._valueLength; + + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + if (!this._valuesToMeasure.length) { + process.nextTick(cb.bind(this, null, knownLength)); + return; + } + + asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) { + if (err) { + cb(err); + return; + } + + values.forEach(function (length) { + knownLength += length; + }); + + cb(null, knownLength); + }); +}; + +FormData.prototype.submit = function (params, cb) { + var request; + var options; + var defaults = { method: 'post' }; + + /* + * parse provided url if it's string + * or treat it as options object + */ + if (typeof params === 'string') { + + params = parseUrl(params); + options = populate({ + port: params.port, + path: params.pathname, + host: params.hostname, + protocol: params.protocol, + }, defaults); + + // use custom params + } else { + + options = populate(params, defaults); + // if no port provided use default one + if (!options.port) { + options.port = options.protocol === 'https:' ? 443 : 80; + } + } + + // put that good code in getHeaders to some use + options.headers = this.getHeaders(params.headers); + + // https if specified, fallback to http in any other case + if (options.protocol === 'https:') { + request = https.request(options); + } else { + request = http.request(options); + } + + // get content length and fire away + this.getLength(function (err, length) { + if (err) { + this._error(err); + return; + } + + // add content length + request.setHeader('Content-Length', length); + + this.pipe(request); + if (cb) { + var onResponse; + + var callback = function (error, responce) { + request.removeListener('error', callback); + request.removeListener('response', onResponse); + + return cb.call(this, error, responce); + }; + + onResponse = callback.bind(this, null); + + request.on('error', callback); + request.on('response', onResponse); + } + }.bind(this)); + + return request; +}; + +FormData.prototype._error = function (err) { + if (!this.error) { + this.error = err; + this.pause(); + this.emit('error', err); + } +}; + +FormData.prototype.toString = function () { + return '[object FormData]'; +}; +setToStringTag(FormData, 'FormData'); + +module.exports = FormData; + + +/***/ }, + +/***/ 21779 +(module) { + +"use strict"; + + +// populates missing values +module.exports = function (dst, src) { + + Object.keys(src).forEach(function (prop) { + dst[prop] = dst[prop] || src[prop]; + }); + + return dst; +}; + + +/***/ }, + +/***/ 78069 +(module, __unused_webpack_exports, __webpack_require__) { + +var Stream = (__webpack_require__(2203).Stream); +var util = __webpack_require__(39023); + +module.exports = DelayedStream; +function DelayedStream() { + this.source = null; + this.dataSize = 0; + this.maxDataSize = 1024 * 1024; + this.pauseStream = true; + + this._maxDataSizeExceeded = false; + this._released = false; + this._bufferedEvents = []; +} +util.inherits(DelayedStream, Stream); + +DelayedStream.create = function(source, options) { + var delayedStream = new this(); + + options = options || {}; + for (var option in options) { + delayedStream[option] = options[option]; + } + + delayedStream.source = source; + + var realEmit = source.emit; + source.emit = function() { + delayedStream._handleEmit(arguments); + return realEmit.apply(source, arguments); + }; + + source.on('error', function() {}); + if (delayedStream.pauseStream) { + source.pause(); + } + + return delayedStream; +}; + +Object.defineProperty(DelayedStream.prototype, 'readable', { + configurable: true, + enumerable: true, + get: function() { + return this.source.readable; + } +}); + +DelayedStream.prototype.setEncoding = function() { + return this.source.setEncoding.apply(this.source, arguments); +}; + +DelayedStream.prototype.resume = function() { + if (!this._released) { + this.release(); + } + + this.source.resume(); +}; + +DelayedStream.prototype.pause = function() { + this.source.pause(); +}; + +DelayedStream.prototype.release = function() { + this._released = true; + + this._bufferedEvents.forEach(function(args) { + this.emit.apply(this, args); + }.bind(this)); + this._bufferedEvents = []; +}; + +DelayedStream.prototype.pipe = function() { + var r = Stream.prototype.pipe.apply(this, arguments); + this.resume(); + return r; +}; + +DelayedStream.prototype._handleEmit = function(args) { + if (this._released) { + this.emit.apply(this, args); + return; + } + + if (args[0] === 'data') { + this.dataSize += args[1].length; + this._checkIfMaxDataSizeExceeded(); + } + + this._bufferedEvents.push(args); +}; + +DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() { + if (this._maxDataSizeExceeded) { + return; + } + + if (this.dataSize <= this.maxDataSize) { + return; + } + + this._maxDataSizeExceeded = true; + var message = + 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.' + this.emit('error', new Error(message)); +}; + + +/***/ }, + +/***/ 7176 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var callBind = __webpack_require__(73126); +var gOPD = __webpack_require__(75795); + +var hasProtoAccessor; +try { + // eslint-disable-next-line no-extra-parens, no-proto + hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype; +} catch (e) { + if (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') { + throw e; + } +} + +// eslint-disable-next-line no-extra-parens +var desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__')); + +var $Object = Object; +var $getPrototypeOf = $Object.getPrototypeOf; + +/** @type {import('./get')} */ +module.exports = desc && typeof desc.get === 'function' + ? callBind([desc.get]) + : typeof $getPrototypeOf === 'function' + ? /** @type {import('./get')} */ function getDunder(value) { + // eslint-disable-next-line eqeqeq + return $getPrototypeOf(value == null ? value : $Object(value)); + } + : false; + + +/***/ }, + +/***/ 30655 +(module) { + +"use strict"; + + +/** @type {import('.')} */ +var $defineProperty = Object.defineProperty || false; +if ($defineProperty) { + try { + $defineProperty({}, 'a', { value: 1 }); + } catch (e) { + // IE 8 has a broken defineProperty + $defineProperty = false; + } +} + +module.exports = $defineProperty; + + +/***/ }, + +/***/ 41237 +(module) { + +"use strict"; + + +/** @type {import('./eval')} */ +module.exports = EvalError; + + +/***/ }, + +/***/ 69383 +(module) { + +"use strict"; + + +/** @type {import('.')} */ +module.exports = Error; + + +/***/ }, + +/***/ 79290 +(module) { + +"use strict"; + + +/** @type {import('./range')} */ +module.exports = RangeError; + + +/***/ }, + +/***/ 79538 +(module) { + +"use strict"; + + +/** @type {import('./ref')} */ +module.exports = ReferenceError; + + +/***/ }, + +/***/ 58068 +(module) { + +"use strict"; + + +/** @type {import('./syntax')} */ +module.exports = SyntaxError; + + +/***/ }, + +/***/ 69675 +(module) { + +"use strict"; + + +/** @type {import('./type')} */ +module.exports = TypeError; + + +/***/ }, + +/***/ 35345 +(module) { + +"use strict"; + + +/** @type {import('./uri')} */ +module.exports = URIError; + + +/***/ }, + +/***/ 79612 +(module) { + +"use strict"; + + +/** @type {import('.')} */ +module.exports = Object; + + +/***/ }, + +/***/ 49605 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var GetIntrinsic = __webpack_require__(70453); + +var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); + +var hasToStringTag = __webpack_require__(49092)(); +var hasOwn = __webpack_require__(9957); +var $TypeError = __webpack_require__(69675); + +var toStringTag = hasToStringTag ? Symbol.toStringTag : null; + +/** @type {import('.')} */ +module.exports = function setToStringTag(object, value) { + var overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force; + var nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable; + if ( + (typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean') + || (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean') + ) { + throw new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans'); + } + if (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) { + if ($defineProperty) { + $defineProperty(object, toStringTag, { + configurable: !nonConfigurable, + enumerable: false, + value: value, + writable: false + }); + } else { + object[toStringTag] = value; // eslint-disable-line no-param-reassign + } + } +}; + + +/***/ }, + +/***/ 77507 +(module, __unused_webpack_exports, __webpack_require__) { + +var debug; + +module.exports = function () { + if (!debug) { + try { + /* eslint global-require: off */ + debug = __webpack_require__(45753)("follow-redirects"); + } + catch (error) { /* */ } + if (typeof debug !== "function") { + debug = function () { /* */ }; + } + } + debug.apply(null, arguments); +}; + + +/***/ }, + +/***/ 43164 +(module, __unused_webpack_exports, __webpack_require__) { + +var url = __webpack_require__(87016); +var URL = url.URL; +var http = __webpack_require__(58611); +var https = __webpack_require__(65692); +var Writable = (__webpack_require__(2203).Writable); +var assert = __webpack_require__(42613); +var debug = __webpack_require__(77507); + +// Preventive platform detection +// istanbul ignore next +(function detectUnsupportedEnvironment() { + var looksLikeNode = typeof process !== "undefined"; + var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined"; + var looksLikeV8 = isFunction(Error.captureStackTrace); + if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) { + console.warn("The follow-redirects package should be excluded from browser builds."); + } +}()); + +// Whether to use the native URL object or the legacy url module +var useNativeURL = false; +try { + assert(new URL("")); +} +catch (error) { + useNativeURL = error.code === "ERR_INVALID_URL"; +} + +// URL fields to preserve in copy operations +var preservedUrlFields = [ + "auth", + "host", + "hostname", + "href", + "path", + "pathname", + "port", + "protocol", + "query", + "search", + "hash", +]; + +// Create handlers that pass events from native requests +var events = ["abort", "aborted", "connect", "error", "socket", "timeout"]; +var eventHandlers = Object.create(null); +events.forEach(function (event) { + eventHandlers[event] = function (arg1, arg2, arg3) { + this._redirectable.emit(event, arg1, arg2, arg3); + }; +}); + +// Error types with codes +var InvalidUrlError = createErrorType( + "ERR_INVALID_URL", + "Invalid URL", + TypeError +); +var RedirectionError = createErrorType( + "ERR_FR_REDIRECTION_FAILURE", + "Redirected request failed" +); +var TooManyRedirectsError = createErrorType( + "ERR_FR_TOO_MANY_REDIRECTS", + "Maximum number of redirects exceeded", + RedirectionError +); +var MaxBodyLengthExceededError = createErrorType( + "ERR_FR_MAX_BODY_LENGTH_EXCEEDED", + "Request body larger than maxBodyLength limit" +); +var WriteAfterEndError = createErrorType( + "ERR_STREAM_WRITE_AFTER_END", + "write after end" +); + +// istanbul ignore next +var destroy = Writable.prototype.destroy || noop; + +// An HTTP(S) request that can be redirected +function RedirectableRequest(options, responseCallback) { + // Initialize the request + Writable.call(this); + this._sanitizeOptions(options); + this._options = options; + this._ended = false; + this._ending = false; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + + // Attach a callback if passed + if (responseCallback) { + this.on("response", responseCallback); + } + + // React to responses of native requests + var self = this; + this._onNativeResponse = function (response) { + try { + self._processResponse(response); + } + catch (cause) { + self.emit("error", cause instanceof RedirectionError ? + cause : new RedirectionError({ cause: cause })); + } + }; + + // Perform the first request + this._performRequest(); +} +RedirectableRequest.prototype = Object.create(Writable.prototype); + +RedirectableRequest.prototype.abort = function () { + destroyRequest(this._currentRequest); + this._currentRequest.abort(); + this.emit("abort"); +}; + +RedirectableRequest.prototype.destroy = function (error) { + destroyRequest(this._currentRequest, error); + destroy.call(this, error); + return this; +}; + +// Writes buffered data to the current native request +RedirectableRequest.prototype.write = function (data, encoding, callback) { + // Writing is not allowed if end has been called + if (this._ending) { + throw new WriteAfterEndError(); + } + + // Validate input and shift parameters if necessary + if (!isString(data) && !isBuffer(data)) { + throw new TypeError("data should be a string, Buffer or Uint8Array"); + } + if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + + // Ignore empty buffers, since writing them doesn't invoke the callback + // https://github.com/nodejs/node/issues/22066 + if (data.length === 0) { + if (callback) { + callback(); + } + return; + } + // Only write when we don't exceed the maximum body length + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data: data, encoding: encoding }); + this._currentRequest.write(data, encoding, callback); + } + // Error when we exceed the maximum body length + else { + this.emit("error", new MaxBodyLengthExceededError()); + this.abort(); + } +}; + +// Ends the current native request +RedirectableRequest.prototype.end = function (data, encoding, callback) { + // Shift parameters if necessary + if (isFunction(data)) { + callback = data; + data = encoding = null; + } + else if (isFunction(encoding)) { + callback = encoding; + encoding = null; + } + + // Write data if needed and end + if (!data) { + this._ended = this._ending = true; + this._currentRequest.end(null, null, callback); + } + else { + var self = this; + var currentRequest = this._currentRequest; + this.write(data, encoding, function () { + self._ended = true; + currentRequest.end(null, null, callback); + }); + this._ending = true; + } +}; + +// Sets a header value on the current native request +RedirectableRequest.prototype.setHeader = function (name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); +}; + +// Clears a header value on the current native request +RedirectableRequest.prototype.removeHeader = function (name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); +}; + +// Global timeout for all underlying requests +RedirectableRequest.prototype.setTimeout = function (msecs, callback) { + var self = this; + + // Destroys the socket on timeout + function destroyOnTimeout(socket) { + socket.setTimeout(msecs); + socket.removeListener("timeout", socket.destroy); + socket.addListener("timeout", socket.destroy); + } + + // Sets up a timer to trigger a timeout event + function startTimer(socket) { + if (self._timeout) { + clearTimeout(self._timeout); + } + self._timeout = setTimeout(function () { + self.emit("timeout"); + clearTimer(); + }, msecs); + destroyOnTimeout(socket); + } + + // Stops a timeout from triggering + function clearTimer() { + // Clear the timeout + if (self._timeout) { + clearTimeout(self._timeout); + self._timeout = null; + } + + // Clean up all attached listeners + self.removeListener("abort", clearTimer); + self.removeListener("error", clearTimer); + self.removeListener("response", clearTimer); + self.removeListener("close", clearTimer); + if (callback) { + self.removeListener("timeout", callback); + } + if (!self.socket) { + self._currentRequest.removeListener("socket", startTimer); + } + } + + // Attach callback if passed + if (callback) { + this.on("timeout", callback); + } + + // Start the timer if or when the socket is opened + if (this.socket) { + startTimer(this.socket); + } + else { + this._currentRequest.once("socket", startTimer); + } + + // Clean up on events + this.on("socket", destroyOnTimeout); + this.on("abort", clearTimer); + this.on("error", clearTimer); + this.on("response", clearTimer); + this.on("close", clearTimer); + + return this; +}; + +// Proxy all other public ClientRequest methods +[ + "flushHeaders", "getHeader", + "setNoDelay", "setSocketKeepAlive", +].forEach(function (method) { + RedirectableRequest.prototype[method] = function (a, b) { + return this._currentRequest[method](a, b); + }; +}); + +// Proxy all public ClientRequest properties +["aborted", "connection", "socket"].forEach(function (property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function () { return this._currentRequest[property]; }, + }); +}); + +RedirectableRequest.prototype._sanitizeOptions = function (options) { + // Ensure headers are always present + if (!options.headers) { + options.headers = {}; + } + + // Since http.request treats host as an alias of hostname, + // but the url module interprets host as hostname plus port, + // eliminate the host property to avoid confusion. + if (options.host) { + // Use hostname if set, because it has precedence + if (!options.hostname) { + options.hostname = options.host; + } + delete options.host; + } + + // Complete the URL object when necessary + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; + } + else { + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); + } + } +}; + + +// Executes the next native request (initial or redirect) +RedirectableRequest.prototype._performRequest = function () { + // Load the native protocol + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + throw new TypeError("Unsupported protocol " + protocol); + } + + // If specified, use the agent corresponding to the protocol + // (HTTP and HTTPS use different types of agents) + if (this._options.agents) { + var scheme = protocol.slice(0, -1); + this._options.agent = this._options.agents[scheme]; + } + + // Create the native request and set up its event handlers + var request = this._currentRequest = + nativeProtocol.request(this._options, this._onNativeResponse); + request._redirectable = this; + for (var event of events) { + request.on(event, eventHandlers[event]); + } + + // RFC7230§5.3.1: When making a request directly to an origin server, […] + // a client MUST send only the absolute path […] as the request-target. + this._currentUrl = /^\//.test(this._options.path) ? + url.format(this._options) : + // When making a request to a proxy, […] + // a client MUST send the target URI in absolute-form […]. + this._options.path; + + // End a redirected request + // (The first request must be ended explicitly with RedirectableRequest#end) + if (this._isRedirect) { + // Write the request entity and end + var i = 0; + var self = this; + var buffers = this._requestBodyBuffers; + (function writeNext(error) { + // Only write if this request has not been redirected yet + // istanbul ignore else + if (request === self._currentRequest) { + // Report any write errors + // istanbul ignore if + if (error) { + self.emit("error", error); + } + // Write the next buffer if there are still left + else if (i < buffers.length) { + var buffer = buffers[i++]; + // istanbul ignore else + if (!request.finished) { + request.write(buffer.data, buffer.encoding, writeNext); + } + } + // End the request if `end` has been called on us + else if (self._ended) { + request.end(); + } + } + }()); + } +}; + +// Processes a response from the current native request +RedirectableRequest.prototype._processResponse = function (response) { + // Store the redirected response + var statusCode = response.statusCode; + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode: statusCode, + }); + } + + // RFC7231§6.4: The 3xx (Redirection) class of status code indicates + // that further action needs to be taken by the user agent in order to + // fulfill the request. If a Location header field is provided, + // the user agent MAY automatically redirect its request to the URI + // referenced by the Location field value, + // even if the specific status code is not understood. + + // If the response is not a redirect; return it as-is + var location = response.headers.location; + if (!location || this._options.followRedirects === false || + statusCode < 300 || statusCode >= 400) { + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + + // Clean up + this._requestBodyBuffers = []; + return; + } + + // The response is a redirect, so abort the current request + destroyRequest(this._currentRequest); + // Discard the remainder of the response to avoid waiting for data + response.destroy(); + + // RFC7231§6.4: A client SHOULD detect and intervene + // in cyclical redirections (i.e., "infinite" redirection loops). + if (++this._redirectCount > this._options.maxRedirects) { + throw new TooManyRedirectsError(); + } + + // Store the request headers if applicable + var requestHeaders; + var beforeRedirect = this._options.beforeRedirect; + if (beforeRedirect) { + requestHeaders = Object.assign({ + // The Host header was set by nativeProtocol.request + Host: response.req.getHeader("host"), + }, this._options.headers); + } + + // RFC7231§6.4: Automatic redirection needs to done with + // care for methods not known to be safe, […] + // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change + // the request method from POST to GET for the subsequent request. + var method = this._options.method; + if ((statusCode === 301 || statusCode === 302) && this._options.method === "POST" || + // RFC7231§6.4.4: The 303 (See Other) status code indicates that + // the server is redirecting the user agent to a different resource […] + // A user agent can perform a retrieval request targeting that URI + // (a GET or HEAD request if using HTTP) […] + (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) { + this._options.method = "GET"; + // Drop a possible entity and headers related to it + this._requestBodyBuffers = []; + removeMatchingHeaders(/^content-/i, this._options.headers); + } + + // Drop the Host header, as the redirect might lead to a different host + var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers); + + // If the redirect is relative, carry over the host of the last request + var currentUrlParts = parseUrl(this._currentUrl); + var currentHost = currentHostHeader || currentUrlParts.host; + var currentUrl = /^\w+:/.test(location) ? this._currentUrl : + url.format(Object.assign(currentUrlParts, { host: currentHost })); + + // Create the redirected request + var redirectUrl = resolveUrl(location, currentUrl); + debug("redirecting to", redirectUrl.href); + this._isRedirect = true; + spreadUrlObject(redirectUrl, this._options); + + // Drop confidential headers when redirecting to a less secure protocol + // or to a different domain that is not a superdomain + if (redirectUrl.protocol !== currentUrlParts.protocol && + redirectUrl.protocol !== "https:" || + redirectUrl.host !== currentHost && + !isSubdomain(redirectUrl.host, currentHost)) { + removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers); + } + + // Evaluate the beforeRedirect callback + if (isFunction(beforeRedirect)) { + var responseDetails = { + headers: response.headers, + statusCode: statusCode, + }; + var requestDetails = { + url: currentUrl, + method: method, + headers: requestHeaders, + }; + beforeRedirect(this._options, responseDetails, requestDetails); + this._sanitizeOptions(this._options); + } + + // Perform the redirected request + this._performRequest(); +}; + +// Wraps the key/value object of protocols with redirect functionality +function wrap(protocols) { + // Default settings + var exports = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024, + }; + + // Wrap each protocol + var nativeProtocols = {}; + Object.keys(protocols).forEach(function (scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); + + // Executes a request, following redirects + function request(input, options, callback) { + // Parse parameters, ensuring that input is an object + if (isURL(input)) { + input = spreadUrlObject(input); + } + else if (isString(input)) { + input = spreadUrlObject(parseUrl(input)); + } + else { + callback = options; + options = validateUrl(input); + input = { protocol: protocol }; + } + if (isFunction(options)) { + callback = options; + options = null; + } + + // Set defaults + options = Object.assign({ + maxRedirects: exports.maxRedirects, + maxBodyLength: exports.maxBodyLength, + }, input, options); + options.nativeProtocols = nativeProtocols; + if (!isString(options.host) && !isString(options.hostname)) { + options.hostname = "::1"; + } + + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug("options", options); + return new RedirectableRequest(options, callback); + } + + // Executes a GET request, following redirects + function get(input, options, callback) { + var wrappedRequest = wrappedProtocol.request(input, options, callback); + wrappedRequest.end(); + return wrappedRequest; + } + + // Expose the properties on the wrapped protocol + Object.defineProperties(wrappedProtocol, { + request: { value: request, configurable: true, enumerable: true, writable: true }, + get: { value: get, configurable: true, enumerable: true, writable: true }, + }); + }); + return exports; +} + +function noop() { /* empty */ } + +function parseUrl(input) { + var parsed; + // istanbul ignore else + if (useNativeURL) { + parsed = new URL(input); + } + else { + // Ensure the URL is valid and absolute + parsed = validateUrl(url.parse(input)); + if (!isString(parsed.protocol)) { + throw new InvalidUrlError({ input }); + } + } + return parsed; +} + +function resolveUrl(relative, base) { + // istanbul ignore next + return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative)); +} + +function validateUrl(input) { + if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) { + throw new InvalidUrlError({ input: input.href || input }); + } + if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) { + throw new InvalidUrlError({ input: input.href || input }); + } + return input; +} + +function spreadUrlObject(urlObject, target) { + var spread = target || {}; + for (var key of preservedUrlFields) { + spread[key] = urlObject[key]; + } + + // Fix IPv6 hostname + if (spread.hostname.startsWith("[")) { + spread.hostname = spread.hostname.slice(1, -1); + } + // Ensure port is a number + if (spread.port !== "") { + spread.port = Number(spread.port); + } + // Concatenate path + spread.path = spread.search ? spread.pathname + spread.search : spread.pathname; + + return spread; +} + +function removeMatchingHeaders(regex, headers) { + var lastValue; + for (var header in headers) { + if (regex.test(header)) { + lastValue = headers[header]; + delete headers[header]; + } + } + return (lastValue === null || typeof lastValue === "undefined") ? + undefined : String(lastValue).trim(); +} + +function createErrorType(code, message, baseClass) { + // Create constructor + function CustomError(properties) { + // istanbul ignore else + if (isFunction(Error.captureStackTrace)) { + Error.captureStackTrace(this, this.constructor); + } + Object.assign(this, properties || {}); + this.code = code; + this.message = this.cause ? message + ": " + this.cause.message : message; + } + + // Attach constructor and set default properties + CustomError.prototype = new (baseClass || Error)(); + Object.defineProperties(CustomError.prototype, { + constructor: { + value: CustomError, + enumerable: false, + }, + name: { + value: "Error [" + code + "]", + enumerable: false, + }, + }); + return CustomError; +} + +function destroyRequest(request, error) { + for (var event of events) { + request.removeListener(event, eventHandlers[event]); + } + request.on("error", noop); + request.destroy(error); +} + +function isSubdomain(subdomain, domain) { + assert(isString(subdomain) && isString(domain)); + var dot = subdomain.length - domain.length - 1; + return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain); +} + +function isString(value) { + return typeof value === "string" || value instanceof String; +} + +function isFunction(value) { + return typeof value === "function"; +} + +function isBuffer(value) { + return typeof value === "object" && ("length" in value); +} + +function isURL(value) { + return URL && value instanceof URL; +} + +// Exports +module.exports = wrap({ http: http, https: https }); +module.exports.wrap = wrap; + + +/***/ }, + +/***/ 30737 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var CombinedStream = __webpack_require__(80801); +var util = __webpack_require__(39023); +var path = __webpack_require__(16928); +var http = __webpack_require__(58611); +var https = __webpack_require__(65692); +var parseUrl = (__webpack_require__(87016).parse); +var fs = __webpack_require__(79896); +var Stream = (__webpack_require__(2203).Stream); +var crypto = __webpack_require__(76982); +var mime = __webpack_require__(86049); +var asynckit = __webpack_require__(21873); +var setToStringTag = __webpack_require__(49605); +var hasOwn = __webpack_require__(9957); +var populate = __webpack_require__(41362); + +/** + * Create readable "multipart/form-data" streams. + * Can be used to submit forms + * and file uploads to other web applications. + * + * @constructor + * @param {object} options - Properties to be added/overriden for FormData and CombinedStream + */ +function FormData(options) { + if (!(this instanceof FormData)) { + return new FormData(options); + } + + this._overheadLength = 0; + this._valueLength = 0; + this._valuesToMeasure = []; + + CombinedStream.call(this); + + options = options || {}; // eslint-disable-line no-param-reassign + for (var option in options) { // eslint-disable-line no-restricted-syntax + this[option] = options[option]; + } +} + +// make it a Stream +util.inherits(FormData, CombinedStream); + +FormData.LINE_BREAK = '\r\n'; +FormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream'; + +FormData.prototype.append = function (field, value, options) { + options = options || {}; // eslint-disable-line no-param-reassign + + // allow filename as single option + if (typeof options === 'string') { + options = { filename: options }; // eslint-disable-line no-param-reassign + } + + var append = CombinedStream.prototype.append.bind(this); + + // all that streamy business can't handle numbers + if (typeof value === 'number' || value == null) { + value = String(value); // eslint-disable-line no-param-reassign + } + + // https://github.com/felixge/node-form-data/issues/38 + if (Array.isArray(value)) { + /* + * Please convert your array into string + * the way web server expects it + */ + this._error(new Error('Arrays are not supported.')); + return; + } + + var header = this._multiPartHeader(field, value, options); + var footer = this._multiPartFooter(); + + append(header); + append(value); + append(footer); + + // pass along options.knownLength + this._trackLength(header, value, options); +}; + +FormData.prototype._trackLength = function (header, value, options) { + var valueLength = 0; + + /* + * used w/ getLengthSync(), when length is known. + * e.g. for streaming directly from a remote server, + * w/ a known file a size, and not wanting to wait for + * incoming file to finish to get its size. + */ + if (options.knownLength != null) { + valueLength += Number(options.knownLength); + } else if (Buffer.isBuffer(value)) { + valueLength = value.length; + } else if (typeof value === 'string') { + valueLength = Buffer.byteLength(value); + } + + this._valueLength += valueLength; + + // @check why add CRLF? does this account for custom/multiple CRLFs? + this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length; + + // empty or either doesn't have path or not an http response or not a stream + if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) { + return; + } + + // no need to bother with the length + if (!options.knownLength) { + this._valuesToMeasure.push(value); + } +}; + +FormData.prototype._lengthRetriever = function (value, callback) { + if (hasOwn(value, 'fd')) { + // take read range into a account + // `end` = Infinity –> read file till the end + // + // TODO: Looks like there is bug in Node fs.createReadStream + // it doesn't respect `end` options without `start` options + // Fix it when node fixes it. + // https://github.com/joyent/node/issues/7819 + if (value.end != undefined && value.end != Infinity && value.start != undefined) { + // when end specified + // no need to calculate range + // inclusive, starts with 0 + callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return + + // not that fast snoopy + } else { + // still need to fetch file size from fs + fs.stat(value.path, function (err, stat) { + if (err) { + callback(err); + return; + } + + // update final size based on the range options + var fileSize = stat.size - (value.start ? value.start : 0); + callback(null, fileSize); + }); + } + + // or http response + } else if (hasOwn(value, 'httpVersion')) { + callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return + + // or request stream http://github.com/mikeal/request + } else if (hasOwn(value, 'httpModule')) { + // wait till response come back + value.on('response', function (response) { + value.pause(); + callback(null, Number(response.headers['content-length'])); + }); + value.resume(); + + // something else + } else { + callback('Unknown stream'); // eslint-disable-line callback-return + } +}; + +FormData.prototype._multiPartHeader = function (field, value, options) { + /* + * custom header specified (as string)? + * it becomes responsible for boundary + * (e.g. to handle extra CRLFs on .NET servers) + */ + if (typeof options.header === 'string') { + return options.header; + } + + var contentDisposition = this._getContentDisposition(value, options); + var contentType = this._getContentType(value, options); + + var contents = ''; + var headers = { + // add custom disposition as third element or keep it two elements if not + 'Content-Disposition': ['form-data', 'name="' + field + '"'].concat(contentDisposition || []), + // if no content type. allow it to be empty array + 'Content-Type': [].concat(contentType || []) + }; + + // allow custom headers. + if (typeof options.header === 'object') { + populate(headers, options.header); + } + + var header; + for (var prop in headers) { // eslint-disable-line no-restricted-syntax + if (hasOwn(headers, prop)) { + header = headers[prop]; + + // skip nullish headers. + if (header == null) { + continue; // eslint-disable-line no-restricted-syntax, no-continue + } + + // convert all headers to arrays. + if (!Array.isArray(header)) { + header = [header]; + } + + // add non-empty headers. + if (header.length) { + contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK; + } + } + } + + return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK; +}; + +FormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return + var filename; + + if (typeof options.filepath === 'string') { + // custom filepath for relative paths + filename = path.normalize(options.filepath).replace(/\\/g, '/'); + } else if (options.filename || (value && (value.name || value.path))) { + /* + * custom filename take precedence + * formidable and the browser add a name property + * fs- and request- streams have path property + */ + filename = path.basename(options.filename || (value && (value.name || value.path))); + } else if (value && value.readable && hasOwn(value, 'httpVersion')) { + // or try http response + filename = path.basename(value.client._httpMessage.path || ''); + } + + if (filename) { + return 'filename="' + filename + '"'; + } +}; + +FormData.prototype._getContentType = function (value, options) { + // use custom content-type above all + var contentType = options.contentType; + + // or try `name` from formidable, browser + if (!contentType && value && value.name) { + contentType = mime.lookup(value.name); + } + + // or try `path` from fs-, request- streams + if (!contentType && value && value.path) { + contentType = mime.lookup(value.path); + } + + // or if it's http-reponse + if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) { + contentType = value.headers['content-type']; + } + + // or guess it from the filepath or filename + if (!contentType && (options.filepath || options.filename)) { + contentType = mime.lookup(options.filepath || options.filename); + } + + // fallback to the default content type if `value` is not simple value + if (!contentType && value && typeof value === 'object') { + contentType = FormData.DEFAULT_CONTENT_TYPE; + } + + return contentType; +}; + +FormData.prototype._multiPartFooter = function () { + return function (next) { + var footer = FormData.LINE_BREAK; + + var lastPart = this._streams.length === 0; + if (lastPart) { + footer += this._lastBoundary(); + } + + next(footer); + }.bind(this); +}; + +FormData.prototype._lastBoundary = function () { + return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK; +}; + +FormData.prototype.getHeaders = function (userHeaders) { + var header; + var formHeaders = { + 'content-type': 'multipart/form-data; boundary=' + this.getBoundary() + }; + + for (header in userHeaders) { // eslint-disable-line no-restricted-syntax + if (hasOwn(userHeaders, header)) { + formHeaders[header.toLowerCase()] = userHeaders[header]; + } + } + + return formHeaders; +}; + +FormData.prototype.setBoundary = function (boundary) { + if (typeof boundary !== 'string') { + throw new TypeError('FormData boundary must be a string'); + } + this._boundary = boundary; +}; + +FormData.prototype.getBoundary = function () { + if (!this._boundary) { + this._generateBoundary(); + } + + return this._boundary; +}; + +FormData.prototype.getBuffer = function () { + var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap + var boundary = this.getBoundary(); + + // Create the form content. Add Line breaks to the end of data. + for (var i = 0, len = this._streams.length; i < len; i++) { + if (typeof this._streams[i] !== 'function') { + // Add content to the buffer. + if (Buffer.isBuffer(this._streams[i])) { + dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]); + } else { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]); + } + + // Add break after content. + if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) { + dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]); + } + } + } + + // Add the footer and return the Buffer object. + return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]); +}; + +FormData.prototype._generateBoundary = function () { + // This generates a 50 character boundary similar to those used by Firefox. + + // They are optimized for boyer-moore parsing. + this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex'); +}; + +// Note: getLengthSync DOESN'T calculate streams length +// As workaround one can calculate file size manually and add it as knownLength option +FormData.prototype.getLengthSync = function () { + var knownLength = this._overheadLength + this._valueLength; + + // Don't get confused, there are 3 "internal" streams for each keyval pair so it basically checks if there is any value added to the form + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + // https://github.com/form-data/form-data/issues/40 + if (!this.hasKnownLength()) { + /* + * Some async length retrievers are present + * therefore synchronous length calculation is false. + * Please use getLength(callback) to get proper length + */ + this._error(new Error('Cannot calculate proper length in synchronous way.')); + } + + return knownLength; +}; + +// Public API to check if length of added values is known +// https://github.com/form-data/form-data/issues/196 +// https://github.com/form-data/form-data/issues/262 +FormData.prototype.hasKnownLength = function () { + var hasKnownLength = true; + + if (this._valuesToMeasure.length) { + hasKnownLength = false; + } + + return hasKnownLength; +}; + +FormData.prototype.getLength = function (cb) { + var knownLength = this._overheadLength + this._valueLength; + + if (this._streams.length) { + knownLength += this._lastBoundary().length; + } + + if (!this._valuesToMeasure.length) { + process.nextTick(cb.bind(this, null, knownLength)); + return; + } + + asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) { + if (err) { + cb(err); + return; + } + + values.forEach(function (length) { + knownLength += length; + }); + + cb(null, knownLength); + }); +}; + +FormData.prototype.submit = function (params, cb) { + var request; + var options; + var defaults = { method: 'post' }; + + // parse provided url if it's string or treat it as options object + if (typeof params === 'string') { + params = parseUrl(params); // eslint-disable-line no-param-reassign + /* eslint sort-keys: 0 */ + options = populate({ + port: params.port, + path: params.pathname, + host: params.hostname, + protocol: params.protocol + }, defaults); + } else { // use custom params + options = populate(params, defaults); + // if no port provided use default one + if (!options.port) { + options.port = options.protocol === 'https:' ? 443 : 80; + } + } + + // put that good code in getHeaders to some use + options.headers = this.getHeaders(params.headers); + + // https if specified, fallback to http in any other case + if (options.protocol === 'https:') { + request = https.request(options); + } else { + request = http.request(options); + } + + // get content length and fire away + this.getLength(function (err, length) { + if (err && err !== 'Unknown stream') { + this._error(err); + return; + } + + // add content length + if (length) { + request.setHeader('Content-Length', length); + } + + this.pipe(request); + if (cb) { + var onResponse; + + var callback = function (error, responce) { + request.removeListener('error', callback); + request.removeListener('response', onResponse); + + return cb.call(this, error, responce); + }; + + onResponse = callback.bind(this, null); + + request.on('error', callback); + request.on('response', onResponse); + } + }.bind(this)); + + return request; +}; + +FormData.prototype._error = function (err) { + if (!this.error) { + this.error = err; + this.pause(); + this.emit('error', err); + } +}; + +FormData.prototype.toString = function () { + return '[object FormData]'; +}; +setToStringTag(FormData.prototype, 'FormData'); + +// Public API +module.exports = FormData; + + +/***/ }, + +/***/ 41362 +(module) { + +"use strict"; + + +// populates missing values +module.exports = function (dst, src) { + Object.keys(src).forEach(function (prop) { + dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign + }); + + return dst; +}; + + +/***/ }, + +/***/ 89353 +(module) { + +"use strict"; + + +/* eslint no-invalid-this: 1 */ + +var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; +var toStr = Object.prototype.toString; +var max = Math.max; +var funcType = '[object Function]'; + +var concatty = function concatty(a, b) { + var arr = []; + + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + + return arr; +}; + +var slicy = function slicy(arrLike, offset) { + var arr = []; + for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; +}; + +var joiny = function (arr, joiner) { + var str = ''; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; +}; + +module.exports = function bind(that) { + var target = this; + if (typeof target !== 'function' || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + + var bound; + var binder = function () { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + + }; + + var boundLength = max(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = '$' + i; + } + + bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder); + + if (target.prototype) { + var Empty = function Empty() {}; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + + return bound; +}; + + +/***/ }, + +/***/ 66743 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var implementation = __webpack_require__(89353); + +module.exports = Function.prototype.bind || implementation; + + +/***/ }, + +/***/ 39642 +(module) { + +"use strict"; + +// Call this function in a another function to find out the file from +// which that function was called from. (Inspects the v8 stack trace) +// +// Inspired by http://stackoverflow.com/questions/13227489 +module.exports = function getCallerFile(position) { + if (position === void 0) { position = 2; } + if (position >= Error.stackTraceLimit) { + throw new TypeError('getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `' + position + '` and Error.stackTraceLimit was: `' + Error.stackTraceLimit + '`'); + } + var oldPrepareStackTrace = Error.prepareStackTrace; + Error.prepareStackTrace = function (_, stack) { return stack; }; + var stack = new Error().stack; + Error.prepareStackTrace = oldPrepareStackTrace; + if (stack !== null && typeof stack === 'object') { + // stack[0] holds this file + // stack[1] holds where this function was called + // stack[2] holds the file we're interested in + return stack[position] ? stack[position].getFileName() : undefined; + } +}; +//# sourceMappingURL=index.js.map + +/***/ }, + +/***/ 70453 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var undefined; + +var $Object = __webpack_require__(79612); + +var $Error = __webpack_require__(69383); +var $EvalError = __webpack_require__(41237); +var $RangeError = __webpack_require__(79290); +var $ReferenceError = __webpack_require__(79538); +var $SyntaxError = __webpack_require__(58068); +var $TypeError = __webpack_require__(69675); +var $URIError = __webpack_require__(35345); + +var abs = __webpack_require__(71514); +var floor = __webpack_require__(58968); +var max = __webpack_require__(6188); +var min = __webpack_require__(68002); +var pow = __webpack_require__(75880); +var round = __webpack_require__(70414); +var sign = __webpack_require__(73093); + +var $Function = Function; + +// eslint-disable-next-line consistent-return +var getEvalledConstructor = function (expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); + } catch (e) {} +}; + +var $gOPD = __webpack_require__(75795); +var $defineProperty = __webpack_require__(30655); + +var throwTypeError = function () { + throw new $TypeError(); +}; +var ThrowTypeError = $gOPD + ? (function () { + try { + // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties + arguments.callee; // IE 8 does not throw here + return throwTypeError; + } catch (calleeThrows) { + try { + // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') + return $gOPD(arguments, 'callee').get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + }()) + : throwTypeError; + +var hasSymbols = __webpack_require__(64039)(); + +var getProto = __webpack_require__(93628); +var $ObjectGPO = __webpack_require__(71064); +var $ReflectGPO = __webpack_require__(48648); + +var $apply = __webpack_require__(11002); +var $call = __webpack_require__(10076); + +var needsEval = {}; + +var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array); + +var INTRINSICS = { + __proto__: null, + '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, + '%Array%': Array, + '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, + '%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined, + '%AsyncFromSyncIteratorPrototype%': undefined, + '%AsyncFunction%': needsEval, + '%AsyncGenerator%': needsEval, + '%AsyncGeneratorFunction%': needsEval, + '%AsyncIteratorPrototype%': needsEval, + '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, + '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, + '%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array, + '%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array, + '%Boolean%': Boolean, + '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, + '%Date%': Date, + '%decodeURI%': decodeURI, + '%decodeURIComponent%': decodeURIComponent, + '%encodeURI%': encodeURI, + '%encodeURIComponent%': encodeURIComponent, + '%Error%': $Error, + '%eval%': eval, // eslint-disable-line no-eval + '%EvalError%': $EvalError, + '%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array, + '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, + '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, + '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, + '%Function%': $Function, + '%GeneratorFunction%': needsEval, + '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, + '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, + '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, + '%isFinite%': isFinite, + '%isNaN%': isNaN, + '%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined, + '%JSON%': typeof JSON === 'object' ? JSON : undefined, + '%Map%': typeof Map === 'undefined' ? undefined : Map, + '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()), + '%Math%': Math, + '%Number%': Number, + '%Object%': $Object, + '%Object.getOwnPropertyDescriptor%': $gOPD, + '%parseFloat%': parseFloat, + '%parseInt%': parseInt, + '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, + '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, + '%RangeError%': $RangeError, + '%ReferenceError%': $ReferenceError, + '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, + '%RegExp%': RegExp, + '%Set%': typeof Set === 'undefined' ? undefined : Set, + '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()), + '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, + '%String%': String, + '%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined, + '%Symbol%': hasSymbols ? Symbol : undefined, + '%SyntaxError%': $SyntaxError, + '%ThrowTypeError%': ThrowTypeError, + '%TypedArray%': TypedArray, + '%TypeError%': $TypeError, + '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, + '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, + '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, + '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, + '%URIError%': $URIError, + '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, + '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, + '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet, + + '%Function.prototype.call%': $call, + '%Function.prototype.apply%': $apply, + '%Object.defineProperty%': $defineProperty, + '%Object.getPrototypeOf%': $ObjectGPO, + '%Math.abs%': abs, + '%Math.floor%': floor, + '%Math.max%': max, + '%Math.min%': min, + '%Math.pow%': pow, + '%Math.round%': round, + '%Math.sign%': sign, + '%Reflect.getPrototypeOf%': $ReflectGPO +}; + +if (getProto) { + try { + null.error; // eslint-disable-line no-unused-expressions + } catch (e) { + // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229 + var errorProto = getProto(getProto(e)); + INTRINSICS['%Error.prototype%'] = errorProto; + } +} + +var doEval = function doEval(name) { + var value; + if (name === '%AsyncFunction%') { + value = getEvalledConstructor('async function () {}'); + } else if (name === '%GeneratorFunction%') { + value = getEvalledConstructor('function* () {}'); + } else if (name === '%AsyncGeneratorFunction%') { + value = getEvalledConstructor('async function* () {}'); + } else if (name === '%AsyncGenerator%') { + var fn = doEval('%AsyncGeneratorFunction%'); + if (fn) { + value = fn.prototype; + } + } else if (name === '%AsyncIteratorPrototype%') { + var gen = doEval('%AsyncGenerator%'); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + + INTRINSICS[name] = value; + + return value; +}; + +var LEGACY_ALIASES = { + __proto__: null, + '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], + '%ArrayPrototype%': ['Array', 'prototype'], + '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], + '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], + '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], + '%ArrayProto_values%': ['Array', 'prototype', 'values'], + '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], + '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], + '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], + '%BooleanPrototype%': ['Boolean', 'prototype'], + '%DataViewPrototype%': ['DataView', 'prototype'], + '%DatePrototype%': ['Date', 'prototype'], + '%ErrorPrototype%': ['Error', 'prototype'], + '%EvalErrorPrototype%': ['EvalError', 'prototype'], + '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], + '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], + '%FunctionPrototype%': ['Function', 'prototype'], + '%Generator%': ['GeneratorFunction', 'prototype'], + '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], + '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], + '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], + '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], + '%JSONParse%': ['JSON', 'parse'], + '%JSONStringify%': ['JSON', 'stringify'], + '%MapPrototype%': ['Map', 'prototype'], + '%NumberPrototype%': ['Number', 'prototype'], + '%ObjectPrototype%': ['Object', 'prototype'], + '%ObjProto_toString%': ['Object', 'prototype', 'toString'], + '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], + '%PromisePrototype%': ['Promise', 'prototype'], + '%PromiseProto_then%': ['Promise', 'prototype', 'then'], + '%Promise_all%': ['Promise', 'all'], + '%Promise_reject%': ['Promise', 'reject'], + '%Promise_resolve%': ['Promise', 'resolve'], + '%RangeErrorPrototype%': ['RangeError', 'prototype'], + '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], + '%RegExpPrototype%': ['RegExp', 'prototype'], + '%SetPrototype%': ['Set', 'prototype'], + '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], + '%StringPrototype%': ['String', 'prototype'], + '%SymbolPrototype%': ['Symbol', 'prototype'], + '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], + '%TypedArrayPrototype%': ['TypedArray', 'prototype'], + '%TypeErrorPrototype%': ['TypeError', 'prototype'], + '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], + '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], + '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], + '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], + '%URIErrorPrototype%': ['URIError', 'prototype'], + '%WeakMapPrototype%': ['WeakMap', 'prototype'], + '%WeakSetPrototype%': ['WeakSet', 'prototype'] +}; + +var bind = __webpack_require__(66743); +var hasOwn = __webpack_require__(9957); +var $concat = bind.call($call, Array.prototype.concat); +var $spliceApply = bind.call($apply, Array.prototype.splice); +var $replace = bind.call($call, String.prototype.replace); +var $strSlice = bind.call($call, String.prototype.slice); +var $exec = bind.call($call, RegExp.prototype.exec); + +/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ +var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; +var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ +var stringToPath = function stringToPath(string) { + var first = $strSlice(string, 0, 1); + var last = $strSlice(string, -1); + if (first === '%' && last !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); + } else if (last === '%' && first !== '%') { + throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); + } + var result = []; + $replace(string, rePropName, function (match, number, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; + }); + return result; +}; +/* end adaptation */ + +var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = '%' + alias[0] + '%'; + } + + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === 'undefined' && !allowMissing) { + throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); + } + + return { + alias: alias, + name: intrinsicName, + value: value + }; + } + + throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); +}; + +module.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== 'string' || name.length === 0) { + throw new $TypeError('intrinsic name must be a non-empty string'); + } + if (arguments.length > 1 && typeof allowMissing !== 'boolean') { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name'); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; + + var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ( + ( + (first === '"' || first === "'" || first === '`') + || (last === '"' || last === "'" || last === '`') + ) + && first !== last + ) { + throw new $SyntaxError('property names with quotes must have matching quotes'); + } + if (part === 'constructor' || !isOwn) { + skipFurtherCaching = true; + } + + intrinsicBaseName += '.' + part; + intrinsicRealName = '%' + intrinsicBaseName + '%'; + + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); + } + return void undefined; + } + if ($gOPD && (i + 1) >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + + // By convention, when a data property is converted to an accessor + // property to emulate a data property that does not suffer from + // the override mistake, that accessor's getter is marked with + // an `originalValue` property. Here, when we detect this, we + // uphold the illusion by pretending to see that original data + // property, i.e., returning the value rather than the getter + // itself. + if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; +}; + + +/***/ }, + +/***/ 71064 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var $Object = __webpack_require__(79612); + +/** @type {import('./Object.getPrototypeOf')} */ +module.exports = $Object.getPrototypeOf || null; + + +/***/ }, + +/***/ 48648 +(module) { + +"use strict"; + + +/** @type {import('./Reflect.getPrototypeOf')} */ +module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null; + + +/***/ }, + +/***/ 93628 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var reflectGetProto = __webpack_require__(48648); +var originalGetProto = __webpack_require__(71064); + +var getDunderProto = __webpack_require__(7176); + +/** @type {import('.')} */ +module.exports = reflectGetProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return reflectGetProto(O); + } + : originalGetProto + ? function getProto(O) { + if (!O || (typeof O !== 'object' && typeof O !== 'function')) { + throw new TypeError('getProto: not an object'); + } + // @ts-expect-error TS can't narrow inside a closure, for some reason + return originalGetProto(O); + } + : getDunderProto + ? function getProto(O) { + // @ts-expect-error TS can't narrow inside a closure, for some reason + return getDunderProto(O); + } + : null; + + +/***/ }, + +/***/ 6549 +(module) { + +"use strict"; + + +/** @type {import('./gOPD')} */ +module.exports = Object.getOwnPropertyDescriptor; + + +/***/ }, + +/***/ 75795 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +/** @type {import('.')} */ +var $gOPD = __webpack_require__(6549); + +if ($gOPD) { + try { + $gOPD([], 'length'); + } catch (e) { + // IE 8 has a broken gOPD + $gOPD = null; + } +} + +module.exports = $gOPD; + + +/***/ }, + +/***/ 25884 +(module) { + +"use strict"; + + +module.exports = (flag, argv = process.argv) => { + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const position = argv.indexOf(prefix + flag); + const terminatorPosition = argv.indexOf('--'); + return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition); +}; + + +/***/ }, + +/***/ 64039 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var origSymbol = typeof Symbol !== 'undefined' && Symbol; +var hasSymbolSham = __webpack_require__(41333); + +/** @type {import('.')} */ +module.exports = function hasNativeSymbols() { + if (typeof origSymbol !== 'function') { return false; } + if (typeof Symbol !== 'function') { return false; } + if (typeof origSymbol('foo') !== 'symbol') { return false; } + if (typeof Symbol('bar') !== 'symbol') { return false; } + + return hasSymbolSham(); +}; + + +/***/ }, + +/***/ 41333 +(module) { + +"use strict"; + + +/** @type {import('./shams')} */ +/* eslint complexity: [2, 18], max-statements: [2, 33] */ +module.exports = function hasSymbols() { + if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } + if (typeof Symbol.iterator === 'symbol') { return true; } + + /** @type {{ [k in symbol]?: unknown }} */ + var obj = {}; + var sym = Symbol('test'); + var symObj = Object(sym); + if (typeof sym === 'string') { return false; } + + if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } + if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } + + // temp disabled per https://github.com/ljharb/object.assign/issues/17 + // if (sym instanceof Symbol) { return false; } + // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 + // if (!(symObj instanceof Symbol)) { return false; } + + // if (typeof Symbol.prototype.toString !== 'function') { return false; } + // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } + + var symVal = 42; + obj[sym] = symVal; + for (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop + if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } + + if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } + + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { return false; } + + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } + + if (typeof Object.getOwnPropertyDescriptor === 'function') { + // eslint-disable-next-line no-extra-parens + var descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym)); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } + } + + return true; +}; + + +/***/ }, + +/***/ 49092 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var hasSymbols = __webpack_require__(41333); + +/** @type {import('.')} */ +module.exports = function hasToStringTagShams() { + return hasSymbols() && !!Symbol.toStringTag; +}; + + +/***/ }, + +/***/ 9957 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var call = Function.prototype.call; +var $hasOwn = Object.prototype.hasOwnProperty; +var bind = __webpack_require__(66743); + +/** @type {import('.')} */ +module.exports = bind.call(call, $hasOwn); + + +/***/ }, + +/***/ 73065 +(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/* +* loglevel - https://github.com/pimterry/loglevel +* +* Copyright (c) 2013 Tim Perry +* Licensed under the MIT license. +*/ +(function (root, definition) { + "use strict"; + if (true) { + !(__WEBPACK_AMD_DEFINE_FACTORY__ = (definition), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : + __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else // removed by dead control flow +{} +}(this, function () { + "use strict"; + + // Slightly dubious tricks to cut down minimized file size + var noop = function() {}; + var undefinedType = "undefined"; + var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && ( + /Trident\/|MSIE /.test(window.navigator.userAgent) + ); + + var logMethods = [ + "trace", + "debug", + "info", + "warn", + "error" + ]; + + var _loggersByName = {}; + var defaultLogger = null; + + // Cross-browser bind equivalent that works at least back to IE6 + function bindMethod(obj, methodName) { + var method = obj[methodName]; + if (typeof method.bind === 'function') { + return method.bind(obj); + } else { + try { + return Function.prototype.bind.call(method, obj); + } catch (e) { + // Missing bind shim or IE8 + Modernizr, fallback to wrapping + return function() { + return Function.prototype.apply.apply(method, [obj, arguments]); + }; + } + } + } + + // Trace() doesn't print the message in IE, so for that case we need to wrap it + function traceForIE() { + if (console.log) { + if (console.log.apply) { + console.log.apply(console, arguments); + } else { + // In old IE, native console methods themselves don't have apply(). + Function.prototype.apply.apply(console.log, [console, arguments]); + } + } + if (console.trace) console.trace(); + } + + // Build the best logging method possible for this env + // Wherever possible we want to bind, not wrap, to preserve stack traces + function realMethod(methodName) { + if (methodName === 'debug') { + methodName = 'log'; + } + + if (typeof console === undefinedType) { + return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives + } else if (methodName === 'trace' && isIE) { + return traceForIE; + } else if (console[methodName] !== undefined) { + return bindMethod(console, methodName); + } else if (console.log !== undefined) { + return bindMethod(console, 'log'); + } else { + return noop; + } + } + + // These private functions always need `this` to be set properly + + function replaceLoggingMethods() { + /*jshint validthis:true */ + var level = this.getLevel(); + + // Replace the actual methods. + for (var i = 0; i < logMethods.length; i++) { + var methodName = logMethods[i]; + this[methodName] = (i < level) ? + noop : + this.methodFactory(methodName, level, this.name); + } + + // Define log.log as an alias for log.debug + this.log = this.debug; + + // Return any important warnings. + if (typeof console === undefinedType && level < this.levels.SILENT) { + return "No console available for logging"; + } + } + + // In old IE versions, the console isn't present until you first open it. + // We build realMethod() replacements here that regenerate logging methods + function enableLoggingWhenConsoleArrives(methodName) { + return function () { + if (typeof console !== undefinedType) { + replaceLoggingMethods.call(this); + this[methodName].apply(this, arguments); + } + }; + } + + // By default, we use closely bound real methods wherever possible, and + // otherwise we wait for a console to appear, and then try again. + function defaultMethodFactory(methodName, _level, _loggerName) { + /*jshint validthis:true */ + return realMethod(methodName) || + enableLoggingWhenConsoleArrives.apply(this, arguments); + } + + function Logger(name, factory) { + // Private instance variables. + var self = this; + /** + * The level inherited from a parent logger (or a global default). We + * cache this here rather than delegating to the parent so that it stays + * in sync with the actual logging methods that we have installed (the + * parent could change levels but we might not have rebuilt the loggers + * in this child yet). + * @type {number} + */ + var inheritedLevel; + /** + * The default level for this logger, if any. If set, this overrides + * `inheritedLevel`. + * @type {number|null} + */ + var defaultLevel; + /** + * A user-specific level for this logger. If set, this overrides + * `defaultLevel`. + * @type {number|null} + */ + var userLevel; + + var storageKey = "loglevel"; + if (typeof name === "string") { + storageKey += ":" + name; + } else if (typeof name === "symbol") { + storageKey = undefined; + } + + function persistLevelIfPossible(levelNum) { + var levelName = (logMethods[levelNum] || 'silent').toUpperCase(); + + if (typeof window === undefinedType || !storageKey) return; + + // Use localStorage if available + try { + window.localStorage[storageKey] = levelName; + return; + } catch (ignore) {} + + // Use session cookie as fallback + try { + window.document.cookie = + encodeURIComponent(storageKey) + "=" + levelName + ";"; + } catch (ignore) {} + } + + function getPersistedLevel() { + var storedLevel; + + if (typeof window === undefinedType || !storageKey) return; + + try { + storedLevel = window.localStorage[storageKey]; + } catch (ignore) {} + + // Fallback to cookies if local storage gives us nothing + if (typeof storedLevel === undefinedType) { + try { + var cookie = window.document.cookie; + var cookieName = encodeURIComponent(storageKey); + var location = cookie.indexOf(cookieName + "="); + if (location !== -1) { + storedLevel = /^([^;]+)/.exec( + cookie.slice(location + cookieName.length + 1) + )[1]; + } + } catch (ignore) {} + } + + // If the stored level is not valid, treat it as if nothing was stored. + if (self.levels[storedLevel] === undefined) { + storedLevel = undefined; + } + + return storedLevel; + } + + function clearPersistedLevel() { + if (typeof window === undefinedType || !storageKey) return; + + // Use localStorage if available + try { + window.localStorage.removeItem(storageKey); + } catch (ignore) {} + + // Use session cookie as fallback + try { + window.document.cookie = + encodeURIComponent(storageKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC"; + } catch (ignore) {} + } + + function normalizeLevel(input) { + var level = input; + if (typeof level === "string" && self.levels[level.toUpperCase()] !== undefined) { + level = self.levels[level.toUpperCase()]; + } + if (typeof level === "number" && level >= 0 && level <= self.levels.SILENT) { + return level; + } else { + throw new TypeError("log.setLevel() called with invalid level: " + input); + } + } + + /* + * + * Public logger API - see https://github.com/pimterry/loglevel for details + * + */ + + self.name = name; + + self.levels = { "TRACE": 0, "DEBUG": 1, "INFO": 2, "WARN": 3, + "ERROR": 4, "SILENT": 5}; + + self.methodFactory = factory || defaultMethodFactory; + + self.getLevel = function () { + if (userLevel != null) { + return userLevel; + } else if (defaultLevel != null) { + return defaultLevel; + } else { + return inheritedLevel; + } + }; + + self.setLevel = function (level, persist) { + userLevel = normalizeLevel(level); + if (persist !== false) { // defaults to true + persistLevelIfPossible(userLevel); + } + + // NOTE: in v2, this should call rebuild(), which updates children. + return replaceLoggingMethods.call(self); + }; + + self.setDefaultLevel = function (level) { + defaultLevel = normalizeLevel(level); + if (!getPersistedLevel()) { + self.setLevel(level, false); + } + }; + + self.resetLevel = function () { + userLevel = null; + clearPersistedLevel(); + replaceLoggingMethods.call(self); + }; + + self.enableAll = function(persist) { + self.setLevel(self.levels.TRACE, persist); + }; + + self.disableAll = function(persist) { + self.setLevel(self.levels.SILENT, persist); + }; + + self.rebuild = function () { + if (defaultLogger !== self) { + inheritedLevel = normalizeLevel(defaultLogger.getLevel()); + } + replaceLoggingMethods.call(self); + + if (defaultLogger === self) { + for (var childName in _loggersByName) { + _loggersByName[childName].rebuild(); + } + } + }; + + // Initialize all the internal levels. + inheritedLevel = normalizeLevel( + defaultLogger ? defaultLogger.getLevel() : "WARN" + ); + var initialLevel = getPersistedLevel(); + if (initialLevel != null) { + userLevel = normalizeLevel(initialLevel); + } + replaceLoggingMethods.call(self); + } + + /* + * + * Top-level API + * + */ + + defaultLogger = new Logger(); + + defaultLogger.getLogger = function getLogger(name) { + if ((typeof name !== "symbol" && typeof name !== "string") || name === "") { + throw new TypeError("You must supply a name when creating a logger."); + } + + var logger = _loggersByName[name]; + if (!logger) { + logger = _loggersByName[name] = new Logger( + name, + defaultLogger.methodFactory + ); + } + return logger; + }; + + // Grab the current global log variable in case of overwrite + var _log = (typeof window !== undefinedType) ? window.log : undefined; + defaultLogger.noConflict = function() { + if (typeof window !== undefinedType && + window.log === defaultLogger) { + window.log = _log; + } + + return defaultLogger; + }; + + defaultLogger.getLoggers = function getLoggers() { + return _loggersByName; + }; + + // ES6 default export, for compatibility + defaultLogger['default'] = defaultLogger; + + return defaultLogger; +})); + + +/***/ }, + +/***/ 71514 +(module) { + +"use strict"; + + +/** @type {import('./abs')} */ +module.exports = Math.abs; + + +/***/ }, + +/***/ 58968 +(module) { + +"use strict"; + + +/** @type {import('./floor')} */ +module.exports = Math.floor; + + +/***/ }, + +/***/ 94459 +(module) { + +"use strict"; + + +/** @type {import('./isNaN')} */ +module.exports = Number.isNaN || function isNaN(a) { + return a !== a; +}; + + +/***/ }, + +/***/ 6188 +(module) { + +"use strict"; + + +/** @type {import('./max')} */ +module.exports = Math.max; + + +/***/ }, + +/***/ 68002 +(module) { + +"use strict"; + + +/** @type {import('./min')} */ +module.exports = Math.min; + + +/***/ }, + +/***/ 75880 +(module) { + +"use strict"; + + +/** @type {import('./pow')} */ +module.exports = Math.pow; + + +/***/ }, + +/***/ 70414 +(module) { + +"use strict"; + + +/** @type {import('./round')} */ +module.exports = Math.round; + + +/***/ }, + +/***/ 73093 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var $isNaN = __webpack_require__(94459); + +/** @type {import('./sign')} */ +module.exports = function sign(number) { + if ($isNaN(number) || number === 0) { + return number; + } + return number < 0 ? -1 : +1; +}; + + +/***/ }, + +/***/ 7598 +(module, __unused_webpack_exports, __webpack_require__) { + +/*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + */ + +/** + * Module exports. + */ + +module.exports = __webpack_require__(81813) + + +/***/ }, + +/***/ 86049 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +/*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + + + +/** + * Module dependencies. + * @private + */ + +var db = __webpack_require__(7598) +var extname = (__webpack_require__(16928).extname) + +/** + * Module variables. + * @private + */ + +var EXTRACT_TYPE_REGEXP = /^\s*([^;\s]*)(?:;|\s|$)/ +var TEXT_TYPE_REGEXP = /^text\//i + +/** + * Module exports. + * @public + */ + +exports.charset = charset +exports.charsets = { lookup: charset } +exports.contentType = contentType +exports.extension = extension +exports.extensions = Object.create(null) +exports.lookup = lookup +exports.types = Object.create(null) + +// Populate the extensions/types maps +populateMaps(exports.extensions, exports.types) + +/** + * Get the default charset for a MIME type. + * + * @param {string} type + * @return {boolean|string} + */ + +function charset (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + var mime = match && db[match[1].toLowerCase()] + + if (mime && mime.charset) { + return mime.charset + } + + // default text/* to utf-8 + if (match && TEXT_TYPE_REGEXP.test(match[1])) { + return 'UTF-8' + } + + return false +} + +/** + * Create a full Content-Type header given a MIME type or extension. + * + * @param {string} str + * @return {boolean|string} + */ + +function contentType (str) { + // TODO: should this even be in this module? + if (!str || typeof str !== 'string') { + return false + } + + var mime = str.indexOf('/') === -1 + ? exports.lookup(str) + : str + + if (!mime) { + return false + } + + // TODO: use content-type or other module + if (mime.indexOf('charset') === -1) { + var charset = exports.charset(mime) + if (charset) mime += '; charset=' + charset.toLowerCase() + } + + return mime +} + +/** + * Get the default extension for a MIME type. + * + * @param {string} type + * @return {boolean|string} + */ + +function extension (type) { + if (!type || typeof type !== 'string') { + return false + } + + // TODO: use media-typer + var match = EXTRACT_TYPE_REGEXP.exec(type) + + // get extensions + var exts = match && exports.extensions[match[1].toLowerCase()] + + if (!exts || !exts.length) { + return false + } + + return exts[0] +} + +/** + * Lookup the MIME type for a file path/extension. + * + * @param {string} path + * @return {boolean|string} + */ + +function lookup (path) { + if (!path || typeof path !== 'string') { + return false + } + + // get the extension ("ext" or ".ext" or full path) + var extension = extname('x.' + path) + .toLowerCase() + .substr(1) + + if (!extension) { + return false + } + + return exports.types[extension] || false +} + +/** + * Populate the extensions and types maps. + * @private + */ + +function populateMaps (extensions, types) { + // source preference (least -> most) + var preference = ['nginx', 'apache', undefined, 'iana'] + + Object.keys(db).forEach(function forEachMimeType (type) { + var mime = db[type] + var exts = mime.extensions + + if (!exts || !exts.length) { + return + } + + // mime -> extensions + extensions[type] = exts + + // extension -> mime + for (var i = 0; i < exts.length; i++) { + var extension = exts[i] + + if (types[extension]) { + var from = preference.indexOf(db[types[extension]].source) + var to = preference.indexOf(mime.source) + + if (types[extension] !== 'application/octet-stream' && + (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) { + // skip the remapping + continue + } + } + + // set the extension -> mime + types[extension] = type + } + }) +} + + +/***/ }, + +/***/ 6585 +(module) { + +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function (val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} + + +/***/ }, + +/***/ 8998 +(module) { + +"use strict"; + + +class AbortError extends Error { + constructor() { + super('Throttled function aborted'); + this.name = 'AbortError'; + } +} + +const pThrottle = ({limit, interval, strict}) => { + if (!Number.isFinite(limit)) { + throw new TypeError('Expected `limit` to be a finite number'); + } + + if (!Number.isFinite(interval)) { + throw new TypeError('Expected `interval` to be a finite number'); + } + + const queue = new Map(); + + let currentTick = 0; + let activeCount = 0; + + function windowedDelay() { + const now = Date.now(); + + if ((now - currentTick) > interval) { + activeCount = 1; + currentTick = now; + return 0; + } + + if (activeCount < limit) { + activeCount++; + } else { + currentTick += interval; + activeCount = 1; + } + + return currentTick - now; + } + + const strictTicks = []; + + function strictDelay() { + const now = Date.now(); + + if (strictTicks.length < limit) { + strictTicks.push(now); + return 0; + } + + const earliestTime = strictTicks.shift() + interval; + + if (now >= earliestTime) { + strictTicks.push(now); + return 0; + } + + strictTicks.push(earliestTime); + return earliestTime - now; + } + + const getDelay = strict ? strictDelay : windowedDelay; + + return function_ => { + const throttled = function (...args) { + if (!throttled.isEnabled) { + return (async () => function_.apply(this, args))(); + } + + let timeout; + return new Promise((resolve, reject) => { + const execute = () => { + resolve(function_.apply(this, args)); + queue.delete(timeout); + }; + + timeout = setTimeout(execute, getDelay()); + + queue.set(timeout, reject); + }); + }; + + throttled.abort = () => { + for (const timeout of queue.keys()) { + clearTimeout(timeout); + queue.get(timeout)(new AbortError()); + } + + queue.clear(); + strictTicks.splice(0, strictTicks.length); + }; + + throttled.isEnabled = true; + + return throttled; + }; +}; + +module.exports = pThrottle; +module.exports.AbortError = AbortError; + + +/***/ }, + +/***/ 76468 +(module) { + +"use strict"; + + +module.exports = +{ + // Output + ABSOLUTE: "absolute", + PATH_RELATIVE: "pathRelative", + ROOT_RELATIVE: "rootRelative", + SHORTEST: "shortest" +}; + + +/***/ }, + +/***/ 60854 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var constants = __webpack_require__(76468); + + + +function formatAuth(urlObj, options) +{ + if (urlObj.auth && !options.removeAuth && (urlObj.extra.relation.maximumHost || options.output===constants.ABSOLUTE)) + { + return urlObj.auth + "@"; + } + + return ""; +} + + + +function formatHash(urlObj, options) +{ + return urlObj.hash ? urlObj.hash : ""; +} + + + +function formatHost(urlObj, options) +{ + if (urlObj.host.full && (urlObj.extra.relation.maximumAuth || options.output===constants.ABSOLUTE)) + { + return urlObj.host.full; + } + + return ""; +} + + + +function formatPath(urlObj, options) +{ + var str = ""; + + var absolutePath = urlObj.path.absolute.string; + var relativePath = urlObj.path.relative.string; + var resource = showResource(urlObj, options); + + if (urlObj.extra.relation.maximumHost || options.output===constants.ABSOLUTE || options.output===constants.ROOT_RELATIVE) + { + str = absolutePath; + } + else if (relativePath.length<=absolutePath.length && options.output===constants.SHORTEST || options.output===constants.PATH_RELATIVE) + { + str = relativePath; + + if (str === "") + { + var query = showQuery(urlObj,options) && !!getQuery(urlObj,options); + + if (urlObj.extra.relation.maximumPath && !resource) + { + str = "./"; + } + else if (urlObj.extra.relation.overridesQuery && !resource && !query) + { + str = "./"; + } + } + } + else + { + str = absolutePath; + } + + if ( str==="/" && !resource && options.removeRootTrailingSlash && (!urlObj.extra.relation.minimumPort || options.output===constants.ABSOLUTE) ) + { + str = ""; + } + + return str; +} + + + +function formatPort(urlObj, options) +{ + if (urlObj.port && !urlObj.extra.portIsDefault && urlObj.extra.relation.maximumHost) + { + return ":" + urlObj.port; + } + + return ""; +} + + + +function formatQuery(urlObj, options) +{ + return showQuery(urlObj,options) ? getQuery(urlObj, options) : ""; +} + + + +function formatResource(urlObj, options) +{ + return showResource(urlObj,options) ? urlObj.resource : ""; +} + + + +function formatScheme(urlObj, options) +{ + var str = ""; + + if (urlObj.extra.relation.maximumHost || options.output===constants.ABSOLUTE) + { + if (!urlObj.extra.relation.minimumScheme || !options.schemeRelative || options.output===constants.ABSOLUTE) + { + str += urlObj.scheme + "://"; + } + else + { + str += "//"; + } + } + + return str; +} + + + +function formatUrl(urlObj, options) +{ + var url = ""; + + url += formatScheme(urlObj, options); + url += formatAuth(urlObj, options); + url += formatHost(urlObj, options); + url += formatPort(urlObj, options); + url += formatPath(urlObj, options); + url += formatResource(urlObj, options); + url += formatQuery(urlObj, options); + url += formatHash(urlObj, options); + + return url; +} + + + +function getQuery(urlObj, options) +{ + var stripQuery = options.removeEmptyQueries && urlObj.extra.relation.minimumPort; + + return urlObj.query.string[ stripQuery ? "stripped" : "full" ]; +} + + + +function showQuery(urlObj, options) +{ + return !urlObj.extra.relation.minimumQuery || options.output===constants.ABSOLUTE || options.output===constants.ROOT_RELATIVE; +} + + + +function showResource(urlObj, options) +{ + var removeIndex = options.removeDirectoryIndexes && urlObj.extra.resourceIsIndex; + var removeMatchingResource = urlObj.extra.relation.minimumResource && options.output!==constants.ABSOLUTE && options.output!==constants.ROOT_RELATIVE; + + return !!urlObj.resource && !removeMatchingResource && !removeIndex; +} + + + +module.exports = formatUrl; + + +/***/ }, + +/***/ 10781 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var constants = __webpack_require__(76468); +var formatUrl = __webpack_require__(60854); +var getOptions = __webpack_require__(78831); +var objUtils = __webpack_require__(49483); +var parseUrl = __webpack_require__(76065); +var relateUrl = __webpack_require__(80747); + + + +function RelateUrl(from, options) +{ + this.options = getOptions(options, + { + defaultPorts: {ftp:21, http:80, https:443}, + directoryIndexes: ["index.html"], + ignore_www: false, + output: RelateUrl.SHORTEST, + rejectedSchemes: ["data","javascript","mailto"], + removeAuth: false, + removeDirectoryIndexes: true, + removeEmptyQueries: false, + removeRootTrailingSlash: true, + schemeRelative: true, + site: undefined, + slashesDenoteHost: true + }); + + this.from = parseUrl.from(from, this.options, null); +} + + + +/* + Usage: instance=new RelateUrl(); instance.relate(); +*/ +RelateUrl.prototype.relate = function(from, to, options) +{ + // relate(to,options) + if ( objUtils.isPlainObject(to) ) + { + options = to; + to = from; + from = null; + } + // relate(to) + else if (!to) + { + to = from; + from = null; + } + + options = getOptions(options, this.options); + from = from || options.site; + from = parseUrl.from(from, options, this.from); + + if (!from || !from.href) + { + throw new Error("from value not defined."); + } + else if (from.extra.hrefInfo.minimumPathOnly) + { + throw new Error("from value supplied is not absolute: "+from.href); + } + + to = parseUrl.to(to, options); + + if (to.valid===false) return to.href; + + to = relateUrl(from, to, options); + to = formatUrl(to, options); + + return to; +} + + + +/* + Usage: RelateUrl.relate(); +*/ +RelateUrl.relate = function(from, to, options) +{ + return new RelateUrl().relate(from, to, options); +} + + + +// Make constants accessible from API +objUtils.shallowMerge(RelateUrl, constants); + + + +module.exports = RelateUrl; + + +/***/ }, + +/***/ 78831 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var objUtils = __webpack_require__(49483); + + + +function getOptions(options, defaults) +{ + if ( objUtils.isPlainObject(options) ) + { + var newOptions = {}; + + for (var i in defaults) + { + if ( defaults.hasOwnProperty(i) ) + { + if (options[i] !== undefined) + { + newOptions[i] = mergeOption(options[i], defaults[i]); + } + else + { + newOptions[i] = defaults[i]; + } + } + } + + return newOptions; + } + else + { + return defaults; + } +} + + + +function mergeOption(newValues, defaultValues) +{ + if (defaultValues instanceof Object && newValues instanceof Object) + { + if (defaultValues instanceof Array && newValues instanceof Array) + { + return defaultValues.concat(newValues); + } + else + { + return objUtils.shallowMerge(newValues, defaultValues); + } + } + + return newValues; +} + + + +module.exports = getOptions; + + +/***/ }, + +/***/ 9427 +(module) { + +"use strict"; + + +function parseHost(urlObj, options) +{ + // TWEAK :: condition only for speed optimization + if (options.ignore_www) + { + var host = urlObj.host.full; + + if (host) + { + var stripped = host; + + if (host.indexOf("www.") === 0) + { + stripped = host.substr(4); + } + + urlObj.host.stripped = stripped; + } + } +} + + + +module.exports = parseHost; + + +/***/ }, + +/***/ 56648 +(module) { + +"use strict"; + + +function hrefInfo(urlObj) +{ + var minimumPathOnly = (!urlObj.scheme && !urlObj.auth && !urlObj.host.full && !urlObj.port); + var minimumResourceOnly = (minimumPathOnly && !urlObj.path.absolute.string); + var minimumQueryOnly = (minimumResourceOnly && !urlObj.resource); + var minimumHashOnly = (minimumQueryOnly && !urlObj.query.string.full.length); + var empty = (minimumHashOnly && !urlObj.hash); + + urlObj.extra.hrefInfo.minimumPathOnly = minimumPathOnly; + urlObj.extra.hrefInfo.minimumResourceOnly = minimumResourceOnly; + urlObj.extra.hrefInfo.minimumQueryOnly = minimumQueryOnly; + urlObj.extra.hrefInfo.minimumHashOnly = minimumHashOnly; + urlObj.extra.hrefInfo.empty = empty; +} + + + +module.exports = hrefInfo; + + +/***/ }, + +/***/ 76065 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var hrefInfo = __webpack_require__(56648); +var parseHost = __webpack_require__(9427); +var parsePath = __webpack_require__(54514); +var parsePort = __webpack_require__(18926); +var parseQuery = __webpack_require__(99137); +var parseUrlString = __webpack_require__(87801); +var pathUtils = __webpack_require__(98207); + + + +function parseFromUrl(url, options, fallback) +{ + if (url) + { + var urlObj = parseUrl(url, options); + + // Because the following occurs in the relate stage for "to" URLs, + // such had to be mostly duplicated here + + var pathArray = pathUtils.resolveDotSegments(urlObj.path.absolute.array); + + urlObj.path.absolute.array = pathArray; + urlObj.path.absolute.string = "/" + pathUtils.join(pathArray); + + return urlObj; + } + else + { + return fallback; + } +} + + + +function parseUrl(url, options) +{ + var urlObj = parseUrlString(url, options); + + if (urlObj.valid===false) return urlObj; + + parseHost(urlObj, options); + parsePort(urlObj, options); + parsePath(urlObj, options); + parseQuery(urlObj, options); + hrefInfo(urlObj); + + return urlObj; +} + + + +module.exports = +{ + from: parseFromUrl, + to: parseUrl +}; + + +/***/ }, + +/***/ 54514 +(module) { + +"use strict"; + + +function isDirectoryIndex(resource, options) +{ + var verdict = false; + + options.directoryIndexes.every( function(index) + { + if (index === resource) + { + verdict = true; + return false; + } + + return true; + }); + + return verdict; +} + + + +function parsePath(urlObj, options) +{ + var path = urlObj.path.absolute.string; + + if (path) + { + var lastSlash = path.lastIndexOf("/"); + + if (lastSlash > -1) + { + if (++lastSlash < path.length) + { + var resource = path.substr(lastSlash); + + if (resource!=="." && resource!=="..") + { + urlObj.resource = resource; + path = path.substr(0, lastSlash); + } + else + { + path += "/"; + } + } + + urlObj.path.absolute.string = path; + urlObj.path.absolute.array = splitPath(path); + } + else if (path==="." || path==="..") + { + // "..?var", "..#anchor", etc ... not "..index.html" + path += "/"; + + urlObj.path.absolute.string = path; + urlObj.path.absolute.array = splitPath(path); + } + else + { + // Resource-only + urlObj.resource = path; + urlObj.path.absolute.string = null; + } + + urlObj.extra.resourceIsIndex = isDirectoryIndex(urlObj.resource, options); + } + // Else: query/hash-only or empty +} + + + +function splitPath(path) +{ + // TWEAK :: condition only for speed optimization + if (path !== "/") + { + var cleaned = []; + + path.split("/").forEach( function(dir) + { + // Cleanup -- splitting "/dir/" becomes ["","dir",""] + if (dir !== "") + { + cleaned.push(dir); + } + }); + + return cleaned; + } + else + { + // Faster to skip the above block and just create an array + return []; + } +} + + + +module.exports = parsePath; + + +/***/ }, + +/***/ 18926 +(module) { + +"use strict"; + + +function parsePort(urlObj, options) +{ + var defaultPort = -1; + + for (var i in options.defaultPorts) + { + if ( i===urlObj.scheme && options.defaultPorts.hasOwnProperty(i) ) + { + defaultPort = options.defaultPorts[i]; + break; + } + } + + if (defaultPort > -1) + { + // Force same type as urlObj.port + defaultPort = defaultPort.toString(); + + if (urlObj.port === null) + { + urlObj.port = defaultPort; + } + + urlObj.extra.portIsDefault = (urlObj.port === defaultPort); + } +} + + + +module.exports = parsePort; + + +/***/ }, + +/***/ 99137 +(module) { + +"use strict"; + +var hasOwnProperty = Object.prototype.hasOwnProperty; + + + +function parseQuery(urlObj, options) +{ + urlObj.query.string.full = stringify(urlObj.query.object, false); + + // TWEAK :: condition only for speed optimization + if (options.removeEmptyQueries) + { + urlObj.query.string.stripped = stringify(urlObj.query.object, true); + } +} + + + +function stringify(queryObj, removeEmptyQueries) +{ + var count = 0; + var str = ""; + + for (var i in queryObj) + { + if ( i!=="" && hasOwnProperty.call(queryObj, i)===true ) + { + var value = queryObj[i]; + + if (value !== "" || !removeEmptyQueries) + { + str += (++count===1) ? "?" : "&"; + + i = encodeURIComponent(i); + + if (value !== "") + { + str += i +"="+ encodeURIComponent(value).replace(/%20/g,"+"); + } + else + { + str += i; + } + } + } + } + + return str; +} + + + +module.exports = parseQuery; + + +/***/ }, + +/***/ 87801 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var _parseUrl = (__webpack_require__(87016).parse); + + + +/* + Customize the URL object that Node generates + because: + + * necessary data for later + * urlObj.host is useless + * urlObj.hostname is too long + * urlObj.path is useless + * urlObj.pathname is too long + * urlObj.protocol is inaccurate; should be called "scheme" + * urlObj.search is mostly useless +*/ +function clean(urlObj) +{ + var scheme = urlObj.protocol; + + if (scheme) + { + // Remove ":" suffix + if (scheme.indexOf(":") === scheme.length-1) + { + scheme = scheme.substr(0, scheme.length-1); + } + } + + urlObj.host = + { + // TODO :: unescape(encodeURIComponent(s)) ? ... http://ecmanaut.blogspot.ca/2006/07/encoding-decoding-utf8-in-javascript.html + full: urlObj.hostname, + stripped: null + }; + + urlObj.path = + { + absolute: + { + array: null, + string: urlObj.pathname + }, + relative: + { + array: null, + string: null + } + }; + + urlObj.query = + { + object: urlObj.query, + string: + { + full: null, + stripped: null + } + }; + + urlObj.extra = + { + hrefInfo: + { + minimumPathOnly: null, + minimumResourceOnly: null, + minimumQueryOnly: null, + minimumHashOnly: null, + empty: null, + + separatorOnlyQuery: urlObj.search==="?" + }, + portIsDefault: null, + relation: + { + maximumScheme: null, + maximumAuth: null, + maximumHost: null, + maximumPort: null, + maximumPath: null, + maximumResource: null, + maximumQuery: null, + maximumHash: null, + + minimumScheme: null, + minimumAuth: null, + minimumHost: null, + minimumPort: null, + minimumPath: null, + minimumResource: null, + minimumQuery: null, + minimumHash: null, + + overridesQuery: null + }, + resourceIsIndex: null, + slashes: urlObj.slashes + }; + + urlObj.resource = null; + urlObj.scheme = scheme; + delete urlObj.hostname; + delete urlObj.pathname; + delete urlObj.protocol; + delete urlObj.search; + delete urlObj.slashes; + + return urlObj; +} + + + +function validScheme(url, options) +{ + var valid = true; + + options.rejectedSchemes.every( function(rejectedScheme) + { + valid = !(url.indexOf(rejectedScheme+":") === 0); + + // Break loop + return valid; + }); + + return valid; +} + + + +function parseUrlString(url, options) +{ + if ( validScheme(url,options) ) + { + return clean( _parseUrl(url, true, options.slashesDenoteHost) ); + } + else + { + return {href:url, valid:false}; + } +} + + + +module.exports = parseUrlString; + + +/***/ }, + +/***/ 84403 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var findRelation = __webpack_require__(10032); +var objUtils = __webpack_require__(49483); +var pathUtils = __webpack_require__(98207); + + + +function absolutize(urlObj, siteUrlObj, options) +{ + findRelation.upToPath(urlObj, siteUrlObj, options); + + // Fill in relative URLs + if (urlObj.extra.relation.minimumScheme) urlObj.scheme = siteUrlObj.scheme; + if (urlObj.extra.relation.minimumAuth) urlObj.auth = siteUrlObj.auth; + if (urlObj.extra.relation.minimumHost) urlObj.host = objUtils.clone(siteUrlObj.host); + if (urlObj.extra.relation.minimumPort) copyPort(urlObj, siteUrlObj); + if (urlObj.extra.relation.minimumScheme) copyPath(urlObj, siteUrlObj); + + // Check remaining relativeness now that path has been copied and/or resolved + findRelation.pathOn(urlObj, siteUrlObj, options); + + // Fill in relative URLs + if (urlObj.extra.relation.minimumResource) copyResource(urlObj, siteUrlObj); + if (urlObj.extra.relation.minimumQuery) urlObj.query = objUtils.clone(siteUrlObj.query); + if (urlObj.extra.relation.minimumHash) urlObj.hash = siteUrlObj.hash; +} + + + +/* + Get an absolute path that's relative to site url. +*/ +function copyPath(urlObj, siteUrlObj) +{ + if (urlObj.extra.relation.maximumHost || !urlObj.extra.hrefInfo.minimumResourceOnly) + { + var pathArray = urlObj.path.absolute.array; + var pathString = "/"; + + // If not erroneous URL + if (pathArray) + { + // If is relative path + if (urlObj.extra.hrefInfo.minimumPathOnly && urlObj.path.absolute.string.indexOf("/")!==0) + { + // Append path to site path + pathArray = siteUrlObj.path.absolute.array.concat(pathArray); + } + + pathArray = pathUtils.resolveDotSegments(pathArray); + pathString += pathUtils.join(pathArray); + } + else + { + pathArray = []; + } + + urlObj.path.absolute.array = pathArray; + urlObj.path.absolute.string = pathString; + } + else + { + // Resource-, query- or hash-only or empty + urlObj.path = objUtils.clone(siteUrlObj.path); + } +} + + + +function copyPort(urlObj, siteUrlObj) +{ + urlObj.port = siteUrlObj.port; + + urlObj.extra.portIsDefault = siteUrlObj.extra.portIsDefault; +} + + + +function copyResource(urlObj, siteUrlObj) +{ + urlObj.resource = siteUrlObj.resource; + + urlObj.extra.resourceIsIndex = siteUrlObj.extra.resourceIsIndex; +} + + + +module.exports = absolutize; + + +/***/ }, + +/***/ 10032 +(module) { + +"use strict"; + + +function findRelation_upToPath(urlObj, siteUrlObj, options) +{ + // Path- or root-relative URL + var pathOnly = urlObj.extra.hrefInfo.minimumPathOnly; + + // Matching scheme, scheme-relative or path-only + var minimumScheme = (urlObj.scheme===siteUrlObj.scheme || !urlObj.scheme); + + // Matching auth, ignoring auth or path-only + var minimumAuth = minimumScheme && (urlObj.auth===siteUrlObj.auth || options.removeAuth || pathOnly); + + // Matching host or path-only + var www = options.ignore_www ? "stripped" : "full"; + var minimumHost = minimumAuth && (urlObj.host[www]===siteUrlObj.host[www] || pathOnly); + + // Matching port or path-only + var minimumPort = minimumHost && (urlObj.port===siteUrlObj.port || pathOnly); + + urlObj.extra.relation.minimumScheme = minimumScheme; + urlObj.extra.relation.minimumAuth = minimumAuth; + urlObj.extra.relation.minimumHost = minimumHost; + urlObj.extra.relation.minimumPort = minimumPort; + + urlObj.extra.relation.maximumScheme = !minimumScheme || minimumScheme && !minimumAuth; + urlObj.extra.relation.maximumAuth = !minimumScheme || minimumScheme && !minimumHost; + urlObj.extra.relation.maximumHost = !minimumScheme || minimumScheme && !minimumPort; +} + + + +function findRelation_pathOn(urlObj, siteUrlObj, options) +{ + var queryOnly = urlObj.extra.hrefInfo.minimumQueryOnly; + var hashOnly = urlObj.extra.hrefInfo.minimumHashOnly; + var empty = urlObj.extra.hrefInfo.empty; // not required, but self-documenting + + // From upToPath() + var minimumPort = urlObj.extra.relation.minimumPort; + var minimumScheme = urlObj.extra.relation.minimumScheme; + + // Matching port and path + var minimumPath = minimumPort && urlObj.path.absolute.string===siteUrlObj.path.absolute.string; + + // Matching resource or query/hash-only or empty + var matchingResource = (urlObj.resource===siteUrlObj.resource || !urlObj.resource && siteUrlObj.extra.resourceIsIndex) || (options.removeDirectoryIndexes && urlObj.extra.resourceIsIndex && !siteUrlObj.resource); + var minimumResource = minimumPath && (matchingResource || queryOnly || hashOnly || empty); + + // Matching query or hash-only/empty + var query = options.removeEmptyQueries ? "stripped" : "full"; + var urlQuery = urlObj.query.string[query]; + var siteUrlQuery = siteUrlObj.query.string[query]; + var minimumQuery = (minimumResource && !!urlQuery && urlQuery===siteUrlQuery) || ((hashOnly || empty) && !urlObj.extra.hrefInfo.separatorOnlyQuery); + + var minimumHash = minimumQuery && urlObj.hash===siteUrlObj.hash; + + urlObj.extra.relation.minimumPath = minimumPath; + urlObj.extra.relation.minimumResource = minimumResource; + urlObj.extra.relation.minimumQuery = minimumQuery; + urlObj.extra.relation.minimumHash = minimumHash; + + urlObj.extra.relation.maximumPort = !minimumScheme || minimumScheme && !minimumPath; + urlObj.extra.relation.maximumPath = !minimumScheme || minimumScheme && !minimumResource; + urlObj.extra.relation.maximumResource = !minimumScheme || minimumScheme && !minimumQuery; + urlObj.extra.relation.maximumQuery = !minimumScheme || minimumScheme && !minimumHash; + urlObj.extra.relation.maximumHash = !minimumScheme || minimumScheme && !minimumHash; // there's nothing after hash, so it's the same as maximumQuery + + // Matching path and/or resource with existing but non-matching site query + urlObj.extra.relation.overridesQuery = minimumPath && urlObj.extra.relation.maximumResource && !minimumQuery && !!siteUrlQuery; +} + + + +module.exports = +{ + pathOn: findRelation_pathOn, + upToPath: findRelation_upToPath +}; + + +/***/ }, + +/***/ 80747 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var absolutize = __webpack_require__(84403); +var relativize = __webpack_require__(1814); + + + +function relateUrl(siteUrlObj, urlObj, options) +{ + absolutize(urlObj, siteUrlObj, options); + relativize(urlObj, siteUrlObj, options); + + return urlObj; +} + + + +module.exports = relateUrl; + + +/***/ }, + +/***/ 1814 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +var pathUtils = __webpack_require__(98207); + + + +/* + Get a path relative to the site path. +*/ +function relatePath(absolutePath, siteAbsolutePath) +{ + var relativePath = []; + + // At this point, it's related to the host/port + var related = true; + var parentIndex = -1; + + // Find parents + siteAbsolutePath.forEach( function(siteAbsoluteDir, i) + { + if (related) + { + if (absolutePath[i] !== siteAbsoluteDir) + { + related = false; + } + else + { + parentIndex = i; + } + } + + if (!related) + { + // Up one level + relativePath.push(".."); + } + }); + + // Form path + absolutePath.forEach( function(dir, i) + { + if (i > parentIndex) + { + relativePath.push(dir); + } + }); + + return relativePath; +} + + + +function relativize(urlObj, siteUrlObj, options) +{ + if (urlObj.extra.relation.minimumScheme) + { + var pathArray = relatePath(urlObj.path.absolute.array, siteUrlObj.path.absolute.array); + + urlObj.path.relative.array = pathArray; + urlObj.path.relative.string = pathUtils.join(pathArray); + } +} + + + +module.exports = relativize; + + +/***/ }, + +/***/ 49483 +(module) { + +"use strict"; + + +/* + Deep-clone an object. +*/ +function clone(obj) +{ + if (obj instanceof Object) + { + var clonedObj = (obj instanceof Array) ? [] : {}; + + for (var i in obj) + { + if ( obj.hasOwnProperty(i) ) + { + clonedObj[i] = clone( obj[i] ); + } + } + + return clonedObj; + } + + return obj; +} + + + +/* + https://github.com/jonschlinkert/is-plain-object +*/ +function isPlainObject(obj) +{ + return !!obj && typeof obj==="object" && obj.constructor===Object; +} + + + +/* + Shallow-merge two objects. +*/ +function shallowMerge(target, source) +{ + if (target instanceof Object && source instanceof Object) + { + for (var i in source) + { + if ( source.hasOwnProperty(i) ) + { + target[i] = source[i]; + } + } + } + + return target; +} + + + +module.exports = +{ + clone: clone, + isPlainObject: isPlainObject, + shallowMerge: shallowMerge +}; + + +/***/ }, + +/***/ 98207 +(module) { + +"use strict"; + + +function joinPath(pathArray) +{ + if (pathArray.length > 0) + { + return pathArray.join("/") + "/"; + } + else + { + return ""; + } +} + + + +function resolveDotSegments(pathArray) +{ + var pathAbsolute = []; + + pathArray.forEach( function(dir) + { + if (dir !== "..") + { + if (dir !== ".") + { + pathAbsolute.push(dir); + } + } + else + { + // Remove parent + if (pathAbsolute.length > 0) + { + pathAbsolute.splice(pathAbsolute.length-1, 1); + } + } + }); + + return pathAbsolute; +} + + + +module.exports = +{ + join: joinPath, + resolveDotSegments: resolveDotSegments +}; + + +/***/ }, + +/***/ 80735 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(90251); +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; + +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} + +/** + * Static method for creating ArraySet instances from an existing array. + */ +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + return set; +}; + +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; + +/** + * Add the given string to this set. + * + * @param String aStr + */ +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; + +/** + * Is the given string a member of this set? + * + * @param String aStr + */ +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; + +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; + +/** + * What is the element at the given index? + * + * @param Number aIdx + */ +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + throw new Error('No element indexed by ' + aIdx); +}; + +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.C = ArraySet; + + +/***/ }, + +/***/ 17092 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var base64 = __webpack_require__(32364); + +// A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + +var VLQ_BASE_SHIFT = 5; + +// binary: 100000 +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; + +// binary: 011111 +var VLQ_BASE_MASK = VLQ_BASE - 1; + +// binary: 100000 +var VLQ_CONTINUATION_BIT = VLQ_BASE; + +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ +function toVLQSigned(aValue) { + return aValue < 0 + ? ((-aValue) << 1) + 1 + : (aValue << 1) + 0; +} + +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative + ? -shifted + : shifted; +} + +/** + * Returns the base 64 VLQ encoded value. + */ +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; + +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + + +/***/ }, + +/***/ 32364 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); + +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + throw new TypeError("Must be between 0 and 63: " + number); +}; + +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ +exports.decode = function (charCode) { + var bigA = 65; // 'A' + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + var littleZ = 122; // 'z' + + var zero = 48; // '0' + var nine = 57; // '9' + + var plus = 43; // '+' + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; + + // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + if (bigA <= charCode && charCode <= bigZ) { + return (charCode - bigA); + } + + // 26 - 51: abcdefghijklmnopqrstuvwxyz + if (littleA <= charCode && charCode <= littleZ) { + return (charCode - littleA + littleOffset); + } + + // 52 - 61: 0123456789 + if (zero <= charCode && charCode <= nine) { + return (charCode - zero + numberOffset); + } + + // 62: + + if (charCode == plus) { + return 62; + } + + // 63: / + if (charCode == slash) { + return 63; + } + + // Invalid base64 digit. + return -1; +}; + + +/***/ }, + +/***/ 41163 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; + +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } + else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } + + // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } + else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } + + // we are in termination case (3) or (2) and return the appropriate thing. + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} + +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, + aCompare, aBias || exports.GREATEST_LOWER_BOUND); + if (index < 0) { + return -1; + } + + // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + --index; + } + + return index; +}; + + +/***/ }, + +/***/ 43302 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(90251); + +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || + util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} + +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ +function MappingList() { + this._array = []; + this._sorted = true; + // Serves as infimum + this._last = {generatedLine: -1, generatedColumn: 0}; +} + +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ +MappingList.prototype.unsortedForEach = + function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); + }; + +/** + * Add the given source mapping. + * + * @param Object aMapping + */ +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + this._array.push(aMapping); + } else { + this._sorted = false; + this._array.push(aMapping); + } +}; + +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + this._sorted = true; + } + return this._array; +}; + +exports.P = MappingList; + + +/***/ }, + +/***/ 43801 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} + +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ +function randomIntInRange(low, high) { + return Math.round(low + (Math.random() * (high - low))); +} + +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + + swap(ary, pivotIndex, r); + var pivot = ary[r]; + + // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; + + // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} + +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ +exports.g = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + + +/***/ }, + +/***/ 47446 +(__unused_webpack_module, exports, __webpack_require__) { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var util = __webpack_require__(90251); +var binarySearch = __webpack_require__(41163); +var ArraySet = (__webpack_require__(80735)/* .ArraySet */ .C); +var base64VLQ = __webpack_require__(17092); +var quickSort = (__webpack_require__(43801)/* .quickSort */ .g); + +function SourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + return sourceMap.sections != null + ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) + : new BasicSourceMapConsumer(sourceMap, aSourceMapURL); +} + +SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL); +} + +/** + * The version of the source mapping spec that we are consuming. + */ +SourceMapConsumer.prototype._version = 3; + +// `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); + +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + configurable: true, + enumerable: true, + get: function () { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = + function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +SourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); + }; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; + +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; + +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ +SourceMapConsumer.prototype.eachMapping = + function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + + var mappings; + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL); + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); + }; + +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number is 1-based. + * - column: Optional. the column number in the original source. + * The column number is 0-based. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +SourceMapConsumer.prototype.allGeneratedPositionsFor = + function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); + + // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + needle.source = this._findSourceIndex(needle.source); + if (needle.source < 0) { + return []; + } + + var mappings = []; + + var index = this._findMapping(needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + binarySearch.LEAST_UPPER_BOUND); + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; + + // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + while (mapping && + mapping.originalLine === line && + mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; + }; + +exports.SourceMapConsumer = SourceMapConsumer; + +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The first parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ +function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); + // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); + + // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + if (sourceRoot) { + sourceRoot = util.normalize(sourceRoot); + } + + sources = sources + .map(String) + // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) + // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) + ? util.relative(sourceRoot, source) + : source; + }); + + // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + + this._absoluteSources = this._sources.toArray().map(function (s) { + return util.computeSourceURL(sourceRoot, s, aSourceMapURL); + }); + + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this._sourceMapURL = aSourceMapURL; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; + +/** + * Utility function to find the index of a source. Returns -1 if not + * found. + */ +BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) { + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + if (this._sources.has(relativeSource)) { + return this._sources.indexOf(relativeSource); + } + + // Maybe aSource is an absolute URL as returned by |sources|. In + // this case we can't simply undo the transform. + var i; + for (i = 0; i < this._absoluteSources.length; ++i) { + if (this._absoluteSources[i] == aSource) { + return i; + } + } + + return -1; +}; + +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @param String aSourceMapURL + * The URL at which the source map can be found (optional) + * @returns BasicSourceMapConsumer + */ +BasicSourceMapConsumer.fromSourceMap = + function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), + smc.sourceRoot); + smc.file = aSourceMap._file; + smc._sourceMapURL = aSourceMapURL; + smc._absoluteSources = smc._sources.toArray().map(function (s) { + return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL); + }); + + // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping; + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + + return smc; + }; + +/** + * The version of the source mapping spec that we are consuming. + */ +BasicSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function () { + return this._absoluteSources.slice(); + } +}); + +/** + * Provide the JIT with a nice shape / hidden class. + */ +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +BasicSourceMapConsumer.prototype._parseMappings = + function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } + else if (aStr.charAt(index) === ',') { + index++; + } + else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; + + // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + str = aStr.slice(index, end); + + segment = cachedSegments[str]; + if (segment) { + index += str.length; + } else { + segment = []; + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } + + // Generated column. + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; + + // Original line. + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; + // Lines are stored 0-based + mapping.originalLine += 1; + + // Original column. + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; + }; + +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ +BasicSourceMapConsumer.prototype._findMapping = + function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, + aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + + aNeedle[aLineName]); + } + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); + }; + +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ +BasicSourceMapConsumer.prototype.computeColumnSpans = + function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; + + // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } + + // The last mapping for each line spans the entire line. + mapping.lastGeneratedColumn = Infinity; + } + }; + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +BasicSourceMapConsumer.prototype.originalPositionFor = + function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._generatedMappings, + "generatedLine", + "generatedColumn", + util.compareByGeneratedPositionsDeflated, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + if (source !== null) { + source = this._sources.at(source); + source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL); + } + var name = util.getArg(mapping, 'name', null); + if (name !== null) { + name = this._names.at(name); + } + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = + function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + return this.sourcesContent.length >= this._sources.size() && + !this.sourcesContent.some(function (sc) { return sc == null; }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +BasicSourceMapConsumer.prototype.sourceContentFor = + function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + var index = this._findSourceIndex(aSource); + if (index >= 0) { + return this.sourcesContent[index]; + } + + var relativeSource = aSource; + if (this.sourceRoot != null) { + relativeSource = util.relative(this.sourceRoot, relativeSource); + } + + var url; + if (this.sourceRoot != null + && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = relativeSource.replace(/^file:\/\//, ""); + if (url.scheme == "file" + && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)] + } + + if ((!url.path || url.path == "/") + && this._sources.has("/" + relativeSource)) { + return this.sourcesContent[this._sources.indexOf("/" + relativeSource)]; + } + } + + // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + relativeSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +BasicSourceMapConsumer.prototype.generatedPositionFor = + function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + source = this._findSourceIndex(source); + if (source < 0) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping( + needle, + this._originalMappings, + "originalLine", + "originalColumn", + util.compareByOriginalPositions, + util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND) + ); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; + }; + +__webpack_unused_export__ = BasicSourceMapConsumer; + +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The first parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * The second parameter, if given, is a string whose value is the URL + * at which the source map was found. This URL is used to compute the + * sources array. + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ +function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) { + var sourceMap = aSourceMap; + if (typeof aSourceMap === 'string') { + sourceMap = util.parseSourceMapInput(aSourceMap); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || + (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + lastOffset = offset; + + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL) + } + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; + +/** + * The version of the source mapping spec that we are consuming. + */ +IndexedSourceMapConsumer.prototype._version = 3; + +/** + * The list of original sources. + */ +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function () { + var sources = []; + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + return sources; + } +}); + +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. The line number + * is 1-based. + * - column: The column number in the generated source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. The + * line number is 1-based. + * - column: The column number in the original source, or null. The + * column number is 0-based. + * - name: The original identifier, or null. + */ +IndexedSourceMapConsumer.prototype.originalPositionFor = + function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + // Find the section containing the generated position we're trying to map + // to an original position. + var sectionIndex = binarySearch.search(needle, this._sections, + function(needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + if (cmp) { + return cmp; + } + + return (needle.generatedColumn - + section.generatedOffset.generatedColumn); + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - + (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - + (section.generatedOffset.generatedLine === needle.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + bias: aArgs.bias + }); + }; + +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = + function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); + }; + +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ +IndexedSourceMapConsumer.prototype.sourceContentFor = + function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + var content = section.consumer.sourceContentFor(aSource, true); + if (content) { + return content; + } + } + if (nullOnMissing) { + return null; + } + else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } + }; + +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. The line number + * is 1-based. + * - column: The column number in the original source. The column + * number is 0-based. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. The + * line number is 1-based. + * - column: The column number in the generated source, or null. + * The column number is 0-based. + */ +IndexedSourceMapConsumer.prototype.generatedPositionFor = + function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + + // Only consider this section if the requested source is in the list of + // sources of the consumer. + if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) { + continue; + } + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + if (generatedPosition) { + var ret = { + line: generatedPosition.line + + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + + (section.generatedOffset.generatedLine === generatedPosition.line + ? section.generatedOffset.generatedColumn - 1 + : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; + }; + +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ +IndexedSourceMapConsumer.prototype._parseMappings = + function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + this._sources.add(source); + source = this._sources.indexOf(source); + + var name = null; + if (mapping.name) { + name = section.consumer._names.at(mapping.name); + this._names.add(name); + name = this._names.indexOf(name); + } + + // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + + (section.generatedOffset.generatedLine === mapping.generatedLine + ? section.generatedOffset.generatedColumn - 1 + : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); + }; + +__webpack_unused_export__ = IndexedSourceMapConsumer; + + +/***/ }, + +/***/ 54041 +(__unused_webpack_module, exports, __webpack_require__) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var base64VLQ = __webpack_require__(17092); +var util = __webpack_require__(90251); +var ArraySet = (__webpack_require__(80735)/* .ArraySet */ .C); +var MappingList = (__webpack_require__(43302)/* .MappingList */ .P); + +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; + +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ +SourceMapGenerator.fromSourceMap = + function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var sourceRelative = sourceFile; + if (sourceRoot !== null) { + sourceRelative = util.relative(sourceRoot, sourceFile); + } + + if (!generator._sources.has(sourceRelative)) { + generator._sources.add(sourceRelative); + } + + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; + }; + +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ +SourceMapGenerator.prototype.addMapping = + function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); + }; + +/** + * Set the source content for a source file. + */ +SourceMapGenerator.prototype.setSourceContent = + function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } + }; + +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ +SourceMapGenerator.prototype.applySourceMap = + function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; + // If aSourceFile is omitted, we will use the file property of the SourceMap + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error( + 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + + 'or the source map\'s "file" property. Both were omitted.' + ); + } + sourceFile = aSourceMapConsumer.file; + } + var sourceRoot = this._sourceRoot; + // Make "sourceFile" relative if an absolute Url is passed. + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + // Applying the SourceMap can add and remove items from the sources and + // the names array. + var newSources = new ArraySet(); + var newNames = new ArraySet(); + + // Find mappings for the "sourceFile" + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source) + } + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + + }, this); + this._sources = newSources; + this._names = newNames; + + // Copy sourcesContents of applied map. + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + this.setSourceContent(sourceFile, content); + } + }, this); + }; + +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ +SourceMapGenerator.prototype._validateMapping = + function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, + aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error( + 'original.line and original.column are not numbers -- you probably meant to omit ' + + 'the original mapping entirely and only map the generated position. If so, pass ' + + 'null for the original mapping instead of an object with empty or null values.' + ); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aGenerated.line > 0 && aGenerated.column >= 0 + && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } + else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated + && aOriginal && 'line' in aOriginal && 'column' in aOriginal + && aGenerated.line > 0 && aGenerated.column >= 0 + && aOriginal.line > 0 && aOriginal.column >= 0 + && aSource) { + // Cases 2 and 3. + return; + } + else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } + }; + +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ +SourceMapGenerator.prototype._serializeMappings = + function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = '' + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } + else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn + - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; + + // lines are stored 0-based in SourceMap spec version 3 + next += base64VLQ.encode(mapping.originalLine - 1 + - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + + next += base64VLQ.encode(mapping.originalColumn + - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; + }; + +SourceMapGenerator.prototype._generateSourcesContent = + function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) + ? this._sourcesContents[key] + : null; + }, this); + }; + +/** + * Externalize the source map. + */ +SourceMapGenerator.prototype.toJSON = + function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + if (this._file != null) { + map.file = this._file; + } + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; + }; + +/** + * Render the source map being generated to a string. + */ +SourceMapGenerator.prototype.toString = + function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); + }; + +exports.SourceMapGenerator = SourceMapGenerator; + + +/***/ }, + +/***/ 1683 +(__unused_webpack_module, exports, __webpack_require__) { + +var __webpack_unused_export__; +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +var SourceMapGenerator = (__webpack_require__(54041).SourceMapGenerator); +var util = __webpack_require__(90251); + +// Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). +var REGEX_NEWLINE = /(\r?\n)/; + +// Newline character code for charCodeAt() comparisons +var NEWLINE_CODE = 10; + +// Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! +var isSourceNode = "$$$isSourceNode$$$"; + +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} + +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ +SourceNode.fromStringWithSourceMap = + function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); + + // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + var shiftNextLine = function() { + var lineContents = getNextLine(); + // The last line of a file might not have a newline. + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? + remainingLines[remainingLinesIndex++] : undefined; + } + }; + + // We need to remember the position of "remainingLines" + var lastGeneratedLine = 1, lastGeneratedColumn = 0; + + // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + var lastMapping = null; + + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; + // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex] || ''; + var code = nextLine.substr(0, mapping.generatedColumn - + lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - + lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); + // No more remaining code, continue + lastMapping = mapping; + return; + } + } + // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex] || ''; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + lastMapping = mapping; + }, this); + // We have processed all mappings. + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } + // and add the remaining lines without any mapping + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } + + // Copy sourcesContent into SourceNode + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + node.setSourceContent(sourceFile, content); + } + }); + + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath + ? util.join(aRelativePath, mapping.source) + : mapping.source; + node.add(new SourceNode(mapping.originalLine, + mapping.originalColumn, + source, + code, + mapping.name)); + } + } + }; + +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length-1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } + else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } + else { + throw new TypeError( + "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk + ); + } + return this; +}; + +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } + else { + if (chunk !== '') { + aFn(chunk, { source: this.source, + line: this.line, + column: this.column, + name: this.name }); + } + } + } +}; + +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + if (len > 0) { + newChildren = []; + for (i = 0; i < len-1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + newChildren.push(this.children[i]); + this.children = newChildren; + } + return this; +}; + +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } + else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } + else { + this.children.push(''.replace(aPattern, aReplacement)); + } + return this; +}; + +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ +SourceNode.prototype.setSourceContent = + function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; + }; + +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ +SourceNode.prototype.walkSourceContents = + function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } + }; + +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; + +/** + * Returns the string representation of this source node along with a source + * map. + */ +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + if (original.source !== null + && original.line !== null + && original.column !== null) { + if(lastOriginalSource !== original.source + || lastOriginalLine !== original.line + || lastOriginalColumn !== original.column + || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; + // Mappings end at eol + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + + return { code: generated.code, map: map }; +}; + +__webpack_unused_export__ = SourceNode; + + +/***/ }, + +/***/ 90251 +(__unused_webpack_module, exports) { + +/* -*- Mode: js; js-indent-level: 2; -*- */ +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} +exports.getArg = getArg; + +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + if (!match) { + return null; + } + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + url += '//'; + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port + } + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + return url; +} +exports.urlGenerate = urlGenerate; + +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + if (url) { + if (!url.path) { + return aPath; + } + path = url.path; + } + var isAbsolute = exports.isAbsolute(path); + + var parts = path.split(/\/+/); + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + return path; +} +exports.normalize = normalize; + +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + if (aPath === "") { + aPath = "."; + } + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } + + // `join(foo, '//www.example.org')` + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } + + // `join('http://', 'www.example.com')` + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' + ? aPath + : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + return joined; +} +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || urlRegexp.test(aPath); +}; + +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); + + // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + var level = 0; + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + if (index < 0) { + return aPath; + } + + // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + aRoot = aRoot.slice(0, index); + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } + + // Make sure we add a "../" for each component we removed from the root. + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} +exports.relative = relative; + +var supportsNullProto = (function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}()); + +function identity (s) { + return s; +} + +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 /* "__proto__".length */) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 /* '_' */ || + s.charCodeAt(length - 2) !== 95 /* '_' */ || + s.charCodeAt(length - 3) !== 111 /* 'o' */ || + s.charCodeAt(length - 4) !== 116 /* 't' */ || + s.charCodeAt(length - 5) !== 111 /* 'o' */ || + s.charCodeAt(length - 6) !== 114 /* 'r' */ || + s.charCodeAt(length - 7) !== 112 /* 'p' */ || + s.charCodeAt(length - 8) !== 95 /* '_' */ || + s.charCodeAt(length - 9) !== 95 /* '_' */) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 /* '$' */) { + return false; + } + } + + return true; +} + +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByOriginalPositions = compareByOriginalPositions; + +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 === null) { + return 1; // aStr2 !== null + } + + if (aStr2 === null) { + return -1; // aStr1 !== null + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} + +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +/** + * Strip any JSON XSSI avoidance prefix from the string (as documented + * in the source maps specification), and then parse the string as + * JSON. + */ +function parseSourceMapInput(str) { + return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, '')); +} +exports.parseSourceMapInput = parseSourceMapInput; + +/** + * Compute the URL of a source given the the source root, the source's + * URL, and the source map's URL. + */ +function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) { + sourceURL = sourceURL || ''; + + if (sourceRoot) { + // This follows what Chrome does. + if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') { + sourceRoot += '/'; + } + // The spec says: + // Line 4: An optional source root, useful for relocating source + // files on a server or removing repeated values in the + // “sources” entry. This value is prepended to the individual + // entries in the “source” field. + sourceURL = sourceRoot + sourceURL; + } + + // Historically, SourceMapConsumer did not take the sourceMapURL as + // a parameter. This mode is still somewhat supported, which is why + // this code block is conditional. However, it's preferable to pass + // the source map URL to SourceMapConsumer, so that this function + // can implement the source URL resolution algorithm as outlined in + // the spec. This block is basically the equivalent of: + // new URL(sourceURL, sourceMapURL).toString() + // ... except it avoids using URL, which wasn't available in the + // older releases of node still supported by this library. + // + // The spec says: + // If the sources are not absolute URLs after prepending of the + // “sourceRoot”, the sources are resolved relative to the + // SourceMap (like resolving script src in a html document). + if (sourceMapURL) { + var parsed = urlParse(sourceMapURL); + if (!parsed) { + throw new Error("sourceMapURL could not be parsed"); + } + if (parsed.path) { + // Strip the last path component, but keep the "/". + var index = parsed.path.lastIndexOf('/'); + if (index >= 0) { + parsed.path = parsed.path.substring(0, index + 1); + } + } + sourceURL = join(urlGenerate(parsed), sourceURL); + } + + return normalize(sourceURL); +} +exports.computeSourceURL = computeSourceURL; + + +/***/ }, + +/***/ 19665 +(__unused_webpack_module, exports, __webpack_require__) { + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = __webpack_require__(54041).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(47446).SourceMapConsumer; +/* unused reexport */ __webpack_require__(1683); + + +/***/ }, + +/***/ 27687 +(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + +const os = __webpack_require__(70857); +const tty = __webpack_require__(52018); +const hasFlag = __webpack_require__(25884); + +const {env} = process; + +let flagForceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false') || + hasFlag('color=never')) { + flagForceColor = 0; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + flagForceColor = 1; +} + +function envForceColor() { + if ('FORCE_COLOR' in env) { + if (env.FORCE_COLOR === 'true') { + return 1; + } + + if (env.FORCE_COLOR === 'false') { + return 0; + } + + return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3); + } +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(haveStream, {streamIsTTY, sniffFlags = true} = {}) { + const noFlagForceColor = envForceColor(); + if (noFlagForceColor !== undefined) { + flagForceColor = noFlagForceColor; + } + + const forceColor = sniffFlags ? flagForceColor : noFlagForceColor; + + if (forceColor === 0) { + return 0; + } + + if (sniffFlags) { + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + } + + if (haveStream && !streamIsTTY && forceColor === undefined) { + return 0; + } + + const min = forceColor || 0; + + if (env.TERM === 'dumb') { + return min; + } + + if (process.platform === 'win32') { + // Windows 10 build 10586 is the first Windows release that supports 256 colors. + // Windows 10 build 14931 is the first release that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE', 'DRONE'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = Number.parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + return min; +} + +function getSupportLevel(stream, options = {}) { + const level = supportsColor(stream, { + streamIsTTY: stream && stream.isTTY, + ...options + }); + + return translateLevel(level); +} + +module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel({isTTY: tty.isatty(1)}), + stderr: getSupportLevel({isTTY: tty.isatty(2)}) +}; + + +/***/ }, + +/***/ 22587 +(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + NIL: () => (/* reexport */ nil), + parse: () => (/* reexport */ esm_node_parse), + stringify: () => (/* reexport */ esm_node_stringify), + v1: () => (/* reexport */ esm_node_v1), + v3: () => (/* reexport */ esm_node_v3), + v4: () => (/* reexport */ esm_node_v4), + v5: () => (/* reexport */ esm_node_v5), + validate: () => (/* reexport */ esm_node_validate), + version: () => (/* reexport */ esm_node_version) +}); + +// EXTERNAL MODULE: external "crypto" +var external_crypto_ = __webpack_require__(76982); +var external_crypto_default = /*#__PURE__*/__webpack_require__.n(external_crypto_); +;// ./node_modules/uuid/dist/esm-node/rng.js + +const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate + +let poolPtr = rnds8Pool.length; +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + external_crypto_default().randomFillSync(rnds8Pool); + poolPtr = 0; + } + + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} +;// ./node_modules/uuid/dist/esm-node/regex.js +/* harmony default export */ const regex = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i); +;// ./node_modules/uuid/dist/esm-node/validate.js + + +function validate(uuid) { + return typeof uuid === 'string' && regex.test(uuid); +} + +/* harmony default export */ const esm_node_validate = (validate); +;// ./node_modules/uuid/dist/esm-node/stringify.js + +/** + * Convert array of 16 byte values to UUID string format of the form: + * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX + */ + +const byteToHex = []; + +for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 0x100).toString(16).substr(1)); +} + +function stringify(arr, offset = 0) { + // Note: Be careful editing this code! It's been tuned for performance + // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one + // of the following: + // - One or more input array values don't map to a hex octet (leading to + // "undefined" in the uuid) + // - Invalid input values for the RFC `version` or `variant` fields + + if (!esm_node_validate(uuid)) { + throw TypeError('Stringified UUID is invalid'); + } + + return uuid; +} + +/* harmony default export */ const esm_node_stringify = (stringify); +;// ./node_modules/uuid/dist/esm-node/v1.js + + // **`v1()` - Generate time-based UUID** +// +// Inspired by https://github.com/LiosK/UUID.js +// and http://docs.python.org/library/uuid.html + +let _nodeId; + +let _clockseq; // Previous uuid creation time + + +let _lastMSecs = 0; +let _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details + +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not + // specified. We do this lazily to minimize issues related to insufficient + // system entropy. See #189 + + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + + if (node == null) { + // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1) + node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + + if (clockseq == null) { + // Per 4.2.2, randomize (14 bit) clockseq + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff; + } + } // UUID timestamps are 100 nano-second units since the Gregorian epoch, + // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so + // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' + // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. + + + let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock + // cycle to simulate higher resolution clock + + let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) + + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression + + if (dt < 0 && options.clockseq === undefined) { + clockseq = clockseq + 1 & 0x3fff; + } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new + // time interval + + + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) { + nsecs = 0; + } // Per 4.2.1.2 Throw error if too many uuids are requested + + + if (nsecs >= 10000) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch + + msecs += 12219292800000; // `time_low` + + const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000; + b[i++] = tl >>> 24 & 0xff; + b[i++] = tl >>> 16 & 0xff; + b[i++] = tl >>> 8 & 0xff; + b[i++] = tl & 0xff; // `time_mid` + + const tmh = msecs / 0x100000000 * 10000 & 0xfffffff; + b[i++] = tmh >>> 8 & 0xff; + b[i++] = tmh & 0xff; // `time_high_and_version` + + b[i++] = tmh >>> 24 & 0xf | 0x10; // include version + + b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant) + + b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low` + + b[i++] = clockseq & 0xff; // `node` + + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + + return buf || esm_node_stringify(b); +} + +/* harmony default export */ const esm_node_v1 = (v1); +;// ./node_modules/uuid/dist/esm-node/parse.js + + +function parse(uuid) { + if (!esm_node_validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + let v; + const arr = new Uint8Array(16); // Parse ########-....-....-....-............ + + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 0xff; + arr[2] = v >>> 8 & 0xff; + arr[3] = v & 0xff; // Parse ........-####-....-....-............ + + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 0xff; // Parse ........-....-####-....-............ + + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 0xff; // Parse ........-....-....-####-............ + + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 0xff; // Parse ........-....-....-....-############ + // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes) + + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff; + arr[11] = v / 0x100000000 & 0xff; + arr[12] = v >>> 24 & 0xff; + arr[13] = v >>> 16 & 0xff; + arr[14] = v >>> 8 & 0xff; + arr[15] = v & 0xff; + return arr; +} + +/* harmony default export */ const esm_node_parse = (parse); +;// ./node_modules/uuid/dist/esm-node/v35.js + + + +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); // UTF8 escape + + const bytes = []; + + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + + return bytes; +} + +const DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; +const URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8'; +/* harmony default export */ function v35(name, version, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === 'string') { + value = stringToBytes(value); + } + + if (typeof namespace === 'string') { + namespace = esm_node_parse(namespace); + } + + if (namespace.length !== 16) { + throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)'); + } // Compute hash of namespace and value, Per 4.3 + // Future: Use spread syntax when supported on all platforms, e.g. `bytes = + // hashfunc([...namespace, ... value])` + + + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 0x0f | version; + bytes[8] = bytes[8] & 0x3f | 0x80; + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + + return buf; + } + + return esm_node_stringify(bytes); + } // Function#name is not settable on some platforms (#270) + + + try { + generateUUID.name = name; // eslint-disable-next-line no-empty + } catch (err) {} // For CommonJS default export support + + + generateUUID.DNS = DNS; + generateUUID.URL = URL; + return generateUUID; +} +;// ./node_modules/uuid/dist/esm-node/md5.js + + +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return external_crypto_default().createHash('md5').update(bytes).digest(); +} + +/* harmony default export */ const esm_node_md5 = (md5); +;// ./node_modules/uuid/dist/esm-node/v3.js + + +const v3 = v35('v3', 0x30, esm_node_md5); +/* harmony default export */ const esm_node_v3 = (v3); +;// ./node_modules/uuid/dist/esm-node/v4.js + + + +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` + + rnds[6] = rnds[6] & 0x0f | 0x40; + rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided + + if (buf) { + offset = offset || 0; + + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + + return buf; + } + + return esm_node_stringify(rnds); +} + +/* harmony default export */ const esm_node_v4 = (v4); +;// ./node_modules/uuid/dist/esm-node/sha1.js + + +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === 'string') { + bytes = Buffer.from(bytes, 'utf8'); + } + + return external_crypto_default().createHash('sha1').update(bytes).digest(); +} + +/* harmony default export */ const esm_node_sha1 = (sha1); +;// ./node_modules/uuid/dist/esm-node/v5.js + + +const v5 = v35('v5', 0x50, esm_node_sha1); +/* harmony default export */ const esm_node_v5 = (v5); +;// ./node_modules/uuid/dist/esm-node/nil.js +/* harmony default export */ const nil = ('00000000-0000-0000-0000-000000000000'); +;// ./node_modules/uuid/dist/esm-node/version.js + + +function version(uuid) { + if (!esm_node_validate(uuid)) { + throw TypeError('Invalid UUID'); + } + + return parseInt(uuid.substr(14, 1), 16); +} + +/* harmony default export */ const esm_node_version = (version); +;// ./node_modules/uuid/dist/esm-node/index.js + + + + + + + + + + +/***/ }, + +/***/ 70943 +(module) { + +function webpackEmptyContext(req) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; +} +webpackEmptyContext.keys = () => ([]); +webpackEmptyContext.resolve = webpackEmptyContext; +webpackEmptyContext.id = 70943; +module.exports = webpackEmptyContext; + +/***/ }, + +/***/ 42613 +(module) { + +"use strict"; +module.exports = require("assert"); + +/***/ }, + +/***/ 20181 +(module) { + +"use strict"; +module.exports = require("buffer"); + +/***/ }, + +/***/ 76982 +(module) { + +"use strict"; +module.exports = require("crypto"); + +/***/ }, + +/***/ 24434 +(module) { + +"use strict"; +module.exports = require("events"); + +/***/ }, + +/***/ 79896 +(module) { + +"use strict"; +module.exports = require("fs"); + +/***/ }, + +/***/ 91943 +(module) { + +"use strict"; +module.exports = require("fs/promises"); + +/***/ }, + +/***/ 58611 +(module) { + +"use strict"; +module.exports = require("http"); + +/***/ }, + +/***/ 85675 +(module) { + +"use strict"; +module.exports = require("http2"); + +/***/ }, + +/***/ 65692 +(module) { + +"use strict"; +module.exports = require("https"); + +/***/ }, + +/***/ 73339 +(module) { + +"use strict"; +module.exports = require("module"); + +/***/ }, + +/***/ 78474 +(module) { + +"use strict"; +module.exports = require("node:events"); + +/***/ }, + +/***/ 73024 +(module) { + +"use strict"; +module.exports = require("node:fs"); + +/***/ }, + +/***/ 51455 +(module) { + +"use strict"; +module.exports = require("node:fs/promises"); + +/***/ }, + +/***/ 76760 +(module) { + +"use strict"; +module.exports = require("node:path"); + +/***/ }, + +/***/ 57075 +(module) { + +"use strict"; +module.exports = require("node:stream"); + +/***/ }, + +/***/ 46193 +(module) { + +"use strict"; +module.exports = require("node:string_decoder"); + +/***/ }, + +/***/ 73136 +(module) { + +"use strict"; +module.exports = require("node:url"); + +/***/ }, + +/***/ 70857 +(module) { + +"use strict"; +module.exports = require("os"); + +/***/ }, + +/***/ 16928 +(module) { + +"use strict"; +module.exports = require("path"); + +/***/ }, + +/***/ 932 +(module) { + +"use strict"; +module.exports = require("process"); + +/***/ }, + +/***/ 2203 +(module) { + +"use strict"; +module.exports = require("stream"); + +/***/ }, + +/***/ 13193 +(module) { + +"use strict"; +module.exports = require("string_decoder"); + +/***/ }, + +/***/ 52018 +(module) { + +"use strict"; +module.exports = require("tty"); + +/***/ }, + +/***/ 87016 +(module) { + +"use strict"; +module.exports = require("url"); + +/***/ }, + +/***/ 39023 +(module) { + +"use strict"; +module.exports = require("util"); + +/***/ }, + +/***/ 28167 +(module) { + +"use strict"; +module.exports = require("worker_threads"); + +/***/ }, + +/***/ 43106 +(module) { + +"use strict"; +module.exports = require("zlib"); + +/***/ }, + +/***/ 17457 +(__unused_webpack_module, exports) { + +"use strict"; + +/** + * @module LRUCache + */ +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.LRUCache = void 0; +const perf = typeof performance === 'object' && + performance && + typeof performance.now === 'function' + ? performance + : Date; +const warned = new Set(); +/* c8 ignore start */ +const PROCESS = (typeof process === 'object' && !!process ? process : {}); +/* c8 ignore start */ +const emitWarning = (msg, type, code, fn) => { + typeof PROCESS.emitWarning === 'function' + ? PROCESS.emitWarning(msg, type, code, fn) + : console.error(`[${code}] ${type}: ${msg}`); +}; +let AC = globalThis.AbortController; +let AS = globalThis.AbortSignal; +/* c8 ignore start */ +if (typeof AC === 'undefined') { + //@ts-ignore + AS = class AbortSignal { + onabort; + _onabort = []; + reason; + aborted = false; + addEventListener(_, fn) { + this._onabort.push(fn); + } + }; + //@ts-ignore + AC = class AbortController { + constructor() { + warnACPolyfill(); + } + signal = new AS(); + abort(reason) { + if (this.signal.aborted) + return; + //@ts-ignore + this.signal.reason = reason; + //@ts-ignore + this.signal.aborted = true; + //@ts-ignore + for (const fn of this.signal._onabort) { + fn(reason); + } + this.signal.onabort?.(reason); + } + }; + let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1'; + const warnACPolyfill = () => { + if (!printACPolyfillWarning) + return; + printACPolyfillWarning = false; + emitWarning('AbortController is not defined. If using lru-cache in ' + + 'node 14, load an AbortController polyfill from the ' + + '`node-abort-controller` package. A minimal polyfill is ' + + 'provided for use by LRUCache.fetch(), but it should not be ' + + 'relied upon in other contexts (eg, passing it to other APIs that ' + + 'use AbortController/AbortSignal might have undesirable effects). ' + + 'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.', 'NO_ABORT_CONTROLLER', 'ENOTSUP', warnACPolyfill); + }; +} +/* c8 ignore stop */ +const shouldWarn = (code) => !warned.has(code); +const TYPE = Symbol('type'); +const isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n); +/* c8 ignore start */ +// This is a little bit ridiculous, tbh. +// The maximum array length is 2^32-1 or thereabouts on most JS impls. +// And well before that point, you're caching the entire world, I mean, +// that's ~32GB of just integers for the next/prev links, plus whatever +// else to hold that many keys and values. Just filling the memory with +// zeroes at init time is brutal when you get that big. +// But why not be complete? +// Maybe in the future, these limits will have expanded. +const getUintArray = (max) => !isPosInt(max) + ? null + : max <= Math.pow(2, 8) + ? Uint8Array + : max <= Math.pow(2, 16) + ? Uint16Array + : max <= Math.pow(2, 32) + ? Uint32Array + : max <= Number.MAX_SAFE_INTEGER + ? ZeroArray + : null; +/* c8 ignore stop */ +class ZeroArray extends Array { + constructor(size) { + super(size); + this.fill(0); + } +} +class Stack { + heap; + length; + // private constructor + static #constructing = false; + static create(max) { + const HeapCls = getUintArray(max); + if (!HeapCls) + return []; + Stack.#constructing = true; + const s = new Stack(max, HeapCls); + Stack.#constructing = false; + return s; + } + constructor(max, HeapCls) { + /* c8 ignore start */ + if (!Stack.#constructing) { + throw new TypeError('instantiate Stack using Stack.create(n)'); + } + /* c8 ignore stop */ + this.heap = new HeapCls(max); + this.length = 0; + } + push(n) { + this.heap[this.length++] = n; + } + pop() { + return this.heap[--this.length]; + } +} +/** + * Default export, the thing you're using this module to get. + * + * The `K` and `V` types define the key and value types, respectively. The + * optional `FC` type defines the type of the `context` object passed to + * `cache.fetch()` and `cache.memo()`. + * + * Keys and values **must not** be `null` or `undefined`. + * + * All properties from the options object (with the exception of `max`, + * `maxSize`, `fetchMethod`, `memoMethod`, `dispose` and `disposeAfter`) are + * added as normal public members. (The listed options are read-only getters.) + * + * Changing any of these will alter the defaults for subsequent method calls. + */ +class LRUCache { + // options that cannot be changed without disaster + #max; + #maxSize; + #dispose; + #disposeAfter; + #fetchMethod; + #memoMethod; + /** + * {@link LRUCache.OptionsBase.ttl} + */ + ttl; + /** + * {@link LRUCache.OptionsBase.ttlResolution} + */ + ttlResolution; + /** + * {@link LRUCache.OptionsBase.ttlAutopurge} + */ + ttlAutopurge; + /** + * {@link LRUCache.OptionsBase.updateAgeOnGet} + */ + updateAgeOnGet; + /** + * {@link LRUCache.OptionsBase.updateAgeOnHas} + */ + updateAgeOnHas; + /** + * {@link LRUCache.OptionsBase.allowStale} + */ + allowStale; + /** + * {@link LRUCache.OptionsBase.noDisposeOnSet} + */ + noDisposeOnSet; + /** + * {@link LRUCache.OptionsBase.noUpdateTTL} + */ + noUpdateTTL; + /** + * {@link LRUCache.OptionsBase.maxEntrySize} + */ + maxEntrySize; + /** + * {@link LRUCache.OptionsBase.sizeCalculation} + */ + sizeCalculation; + /** + * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection} + */ + noDeleteOnFetchRejection; + /** + * {@link LRUCache.OptionsBase.noDeleteOnStaleGet} + */ + noDeleteOnStaleGet; + /** + * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort} + */ + allowStaleOnFetchAbort; + /** + * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection} + */ + allowStaleOnFetchRejection; + /** + * {@link LRUCache.OptionsBase.ignoreFetchAbort} + */ + ignoreFetchAbort; + // computed properties + #size; + #calculatedSize; + #keyMap; + #keyList; + #valList; + #next; + #prev; + #head; + #tail; + #free; + #disposed; + #sizes; + #starts; + #ttls; + #hasDispose; + #hasFetchMethod; + #hasDisposeAfter; + /** + * Do not call this method unless you need to inspect the + * inner workings of the cache. If anything returned by this + * object is modified in any way, strange breakage may occur. + * + * These fields are private for a reason! + * + * @internal + */ + static unsafeExposeInternals(c) { + return { + // properties + starts: c.#starts, + ttls: c.#ttls, + sizes: c.#sizes, + keyMap: c.#keyMap, + keyList: c.#keyList, + valList: c.#valList, + next: c.#next, + prev: c.#prev, + get head() { + return c.#head; + }, + get tail() { + return c.#tail; + }, + free: c.#free, + // methods + isBackgroundFetch: (p) => c.#isBackgroundFetch(p), + backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context), + moveToTail: (index) => c.#moveToTail(index), + indexes: (options) => c.#indexes(options), + rindexes: (options) => c.#rindexes(options), + isStale: (index) => c.#isStale(index), + }; + } + // Protected read-only members + /** + * {@link LRUCache.OptionsBase.max} (read-only) + */ + get max() { + return this.#max; + } + /** + * {@link LRUCache.OptionsBase.maxSize} (read-only) + */ + get maxSize() { + return this.#maxSize; + } + /** + * The total computed size of items in the cache (read-only) + */ + get calculatedSize() { + return this.#calculatedSize; + } + /** + * The number of items stored in the cache (read-only) + */ + get size() { + return this.#size; + } + /** + * {@link LRUCache.OptionsBase.fetchMethod} (read-only) + */ + get fetchMethod() { + return this.#fetchMethod; + } + get memoMethod() { + return this.#memoMethod; + } + /** + * {@link LRUCache.OptionsBase.dispose} (read-only) + */ + get dispose() { + return this.#dispose; + } + /** + * {@link LRUCache.OptionsBase.disposeAfter} (read-only) + */ + get disposeAfter() { + return this.#disposeAfter; + } + constructor(options) { + const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, } = options; + if (max !== 0 && !isPosInt(max)) { + throw new TypeError('max option must be a nonnegative integer'); + } + const UintArray = max ? getUintArray(max) : Array; + if (!UintArray) { + throw new Error('invalid max value: ' + max); + } + this.#max = max; + this.#maxSize = maxSize; + this.maxEntrySize = maxEntrySize || this.#maxSize; + this.sizeCalculation = sizeCalculation; + if (this.sizeCalculation) { + if (!this.#maxSize && !this.maxEntrySize) { + throw new TypeError('cannot set sizeCalculation without setting maxSize or maxEntrySize'); + } + if (typeof this.sizeCalculation !== 'function') { + throw new TypeError('sizeCalculation set to non-function'); + } + } + if (memoMethod !== undefined && + typeof memoMethod !== 'function') { + throw new TypeError('memoMethod must be a function if defined'); + } + this.#memoMethod = memoMethod; + if (fetchMethod !== undefined && + typeof fetchMethod !== 'function') { + throw new TypeError('fetchMethod must be a function if specified'); + } + this.#fetchMethod = fetchMethod; + this.#hasFetchMethod = !!fetchMethod; + this.#keyMap = new Map(); + this.#keyList = new Array(max).fill(undefined); + this.#valList = new Array(max).fill(undefined); + this.#next = new UintArray(max); + this.#prev = new UintArray(max); + this.#head = 0; + this.#tail = 0; + this.#free = Stack.create(max); + this.#size = 0; + this.#calculatedSize = 0; + if (typeof dispose === 'function') { + this.#dispose = dispose; + } + if (typeof disposeAfter === 'function') { + this.#disposeAfter = disposeAfter; + this.#disposed = []; + } + else { + this.#disposeAfter = undefined; + this.#disposed = undefined; + } + this.#hasDispose = !!this.#dispose; + this.#hasDisposeAfter = !!this.#disposeAfter; + this.noDisposeOnSet = !!noDisposeOnSet; + this.noUpdateTTL = !!noUpdateTTL; + this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection; + this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection; + this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort; + this.ignoreFetchAbort = !!ignoreFetchAbort; + // NB: maxEntrySize is set to maxSize if it's set + if (this.maxEntrySize !== 0) { + if (this.#maxSize !== 0) { + if (!isPosInt(this.#maxSize)) { + throw new TypeError('maxSize must be a positive integer if specified'); + } + } + if (!isPosInt(this.maxEntrySize)) { + throw new TypeError('maxEntrySize must be a positive integer if specified'); + } + this.#initializeSizeTracking(); + } + this.allowStale = !!allowStale; + this.noDeleteOnStaleGet = !!noDeleteOnStaleGet; + this.updateAgeOnGet = !!updateAgeOnGet; + this.updateAgeOnHas = !!updateAgeOnHas; + this.ttlResolution = + isPosInt(ttlResolution) || ttlResolution === 0 + ? ttlResolution + : 1; + this.ttlAutopurge = !!ttlAutopurge; + this.ttl = ttl || 0; + if (this.ttl) { + if (!isPosInt(this.ttl)) { + throw new TypeError('ttl must be a positive integer if specified'); + } + this.#initializeTTLTracking(); + } + // do not allow completely unbounded caches + if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) { + throw new TypeError('At least one of max, maxSize, or ttl is required'); + } + if (!this.ttlAutopurge && !this.#max && !this.#maxSize) { + const code = 'LRU_CACHE_UNBOUNDED'; + if (shouldWarn(code)) { + warned.add(code); + const msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' + + 'result in unbounded memory consumption.'; + emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache); + } + } + } + /** + * Return the number of ms left in the item's TTL. If item is not in cache, + * returns `0`. Returns `Infinity` if item is in cache without a defined TTL. + */ + getRemainingTTL(key) { + return this.#keyMap.has(key) ? Infinity : 0; + } + #initializeTTLTracking() { + const ttls = new ZeroArray(this.#max); + const starts = new ZeroArray(this.#max); + this.#ttls = ttls; + this.#starts = starts; + this.#setItemTTL = (index, ttl, start = perf.now()) => { + starts[index] = ttl !== 0 ? start : 0; + ttls[index] = ttl; + if (ttl !== 0 && this.ttlAutopurge) { + const t = setTimeout(() => { + if (this.#isStale(index)) { + this.#delete(this.#keyList[index], 'expire'); + } + }, ttl + 1); + // unref() not supported on all platforms + /* c8 ignore start */ + if (t.unref) { + t.unref(); + } + /* c8 ignore stop */ + } + }; + this.#updateItemAge = index => { + starts[index] = ttls[index] !== 0 ? perf.now() : 0; + }; + this.#statusTTL = (status, index) => { + if (ttls[index]) { + const ttl = ttls[index]; + const start = starts[index]; + /* c8 ignore next */ + if (!ttl || !start) + return; + status.ttl = ttl; + status.start = start; + status.now = cachedNow || getNow(); + const age = status.now - start; + status.remainingTTL = ttl - age; + } + }; + // debounce calls to perf.now() to 1s so we're not hitting + // that costly call repeatedly. + let cachedNow = 0; + const getNow = () => { + const n = perf.now(); + if (this.ttlResolution > 0) { + cachedNow = n; + const t = setTimeout(() => (cachedNow = 0), this.ttlResolution); + // not available on all platforms + /* c8 ignore start */ + if (t.unref) { + t.unref(); + } + /* c8 ignore stop */ + } + return n; + }; + this.getRemainingTTL = key => { + const index = this.#keyMap.get(key); + if (index === undefined) { + return 0; + } + const ttl = ttls[index]; + const start = starts[index]; + if (!ttl || !start) { + return Infinity; + } + const age = (cachedNow || getNow()) - start; + return ttl - age; + }; + this.#isStale = index => { + const s = starts[index]; + const t = ttls[index]; + return !!t && !!s && (cachedNow || getNow()) - s > t; + }; + } + // conditionally set private methods related to TTL + #updateItemAge = () => { }; + #statusTTL = () => { }; + #setItemTTL = () => { }; + /* c8 ignore stop */ + #isStale = () => false; + #initializeSizeTracking() { + const sizes = new ZeroArray(this.#max); + this.#calculatedSize = 0; + this.#sizes = sizes; + this.#removeItemSize = index => { + this.#calculatedSize -= sizes[index]; + sizes[index] = 0; + }; + this.#requireSize = (k, v, size, sizeCalculation) => { + // provisionally accept background fetches. + // actual value size will be checked when they return. + if (this.#isBackgroundFetch(v)) { + return 0; + } + if (!isPosInt(size)) { + if (sizeCalculation) { + if (typeof sizeCalculation !== 'function') { + throw new TypeError('sizeCalculation must be a function'); + } + size = sizeCalculation(v, k); + if (!isPosInt(size)) { + throw new TypeError('sizeCalculation return invalid (expect positive integer)'); + } + } + else { + throw new TypeError('invalid size value (must be positive integer). ' + + 'When maxSize or maxEntrySize is used, sizeCalculation ' + + 'or size must be set.'); + } + } + return size; + }; + this.#addItemSize = (index, size, status) => { + sizes[index] = size; + if (this.#maxSize) { + const maxSize = this.#maxSize - sizes[index]; + while (this.#calculatedSize > maxSize) { + this.#evict(true); + } + } + this.#calculatedSize += sizes[index]; + if (status) { + status.entrySize = size; + status.totalCalculatedSize = this.#calculatedSize; + } + }; + } + #removeItemSize = _i => { }; + #addItemSize = (_i, _s, _st) => { }; + #requireSize = (_k, _v, size, sizeCalculation) => { + if (size || sizeCalculation) { + throw new TypeError('cannot set size without setting maxSize or maxEntrySize on cache'); + } + return 0; + }; + *#indexes({ allowStale = this.allowStale } = {}) { + if (this.#size) { + for (let i = this.#tail; true;) { + if (!this.#isValidIndex(i)) { + break; + } + if (allowStale || !this.#isStale(i)) { + yield i; + } + if (i === this.#head) { + break; + } + else { + i = this.#prev[i]; + } + } + } + } + *#rindexes({ allowStale = this.allowStale } = {}) { + if (this.#size) { + for (let i = this.#head; true;) { + if (!this.#isValidIndex(i)) { + break; + } + if (allowStale || !this.#isStale(i)) { + yield i; + } + if (i === this.#tail) { + break; + } + else { + i = this.#next[i]; + } + } + } + } + #isValidIndex(index) { + return (index !== undefined && + this.#keyMap.get(this.#keyList[index]) === index); + } + /** + * Return a generator yielding `[key, value]` pairs, + * in order from most recently used to least recently used. + */ + *entries() { + for (const i of this.#indexes()) { + if (this.#valList[i] !== undefined && + this.#keyList[i] !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield [this.#keyList[i], this.#valList[i]]; + } + } + } + /** + * Inverse order version of {@link LRUCache.entries} + * + * Return a generator yielding `[key, value]` pairs, + * in order from least recently used to most recently used. + */ + *rentries() { + for (const i of this.#rindexes()) { + if (this.#valList[i] !== undefined && + this.#keyList[i] !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield [this.#keyList[i], this.#valList[i]]; + } + } + } + /** + * Return a generator yielding the keys in the cache, + * in order from most recently used to least recently used. + */ + *keys() { + for (const i of this.#indexes()) { + const k = this.#keyList[i]; + if (k !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield k; + } + } + } + /** + * Inverse order version of {@link LRUCache.keys} + * + * Return a generator yielding the keys in the cache, + * in order from least recently used to most recently used. + */ + *rkeys() { + for (const i of this.#rindexes()) { + const k = this.#keyList[i]; + if (k !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield k; + } + } + } + /** + * Return a generator yielding the values in the cache, + * in order from most recently used to least recently used. + */ + *values() { + for (const i of this.#indexes()) { + const v = this.#valList[i]; + if (v !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield this.#valList[i]; + } + } + } + /** + * Inverse order version of {@link LRUCache.values} + * + * Return a generator yielding the values in the cache, + * in order from least recently used to most recently used. + */ + *rvalues() { + for (const i of this.#rindexes()) { + const v = this.#valList[i]; + if (v !== undefined && + !this.#isBackgroundFetch(this.#valList[i])) { + yield this.#valList[i]; + } + } + } + /** + * Iterating over the cache itself yields the same results as + * {@link LRUCache.entries} + */ + [Symbol.iterator]() { + return this.entries(); + } + /** + * A String value that is used in the creation of the default string + * description of an object. Called by the built-in method + * `Object.prototype.toString`. + */ + [Symbol.toStringTag] = 'LRUCache'; + /** + * Find a value for which the supplied fn method returns a truthy value, + * similar to `Array.find()`. fn is called as `fn(value, key, cache)`. + */ + find(fn, getOptions = {}) { + for (const i of this.#indexes()) { + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined) + continue; + if (fn(value, this.#keyList[i], this)) { + return this.get(this.#keyList[i], getOptions); + } + } + } + /** + * Call the supplied function on each item in the cache, in order from most + * recently used to least recently used. + * + * `fn` is called as `fn(value, key, cache)`. + * + * If `thisp` is provided, function will be called in the `this`-context of + * the provided object, or the cache if no `thisp` object is provided. + * + * Does not update age or recenty of use, or iterate over stale values. + */ + forEach(fn, thisp = this) { + for (const i of this.#indexes()) { + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined) + continue; + fn.call(thisp, value, this.#keyList[i], this); + } + } + /** + * The same as {@link LRUCache.forEach} but items are iterated over in + * reverse order. (ie, less recently used items are iterated over first.) + */ + rforEach(fn, thisp = this) { + for (const i of this.#rindexes()) { + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined) + continue; + fn.call(thisp, value, this.#keyList[i], this); + } + } + /** + * Delete any stale entries. Returns true if anything was removed, + * false otherwise. + */ + purgeStale() { + let deleted = false; + for (const i of this.#rindexes({ allowStale: true })) { + if (this.#isStale(i)) { + this.#delete(this.#keyList[i], 'expire'); + deleted = true; + } + } + return deleted; + } + /** + * Get the extended info about a given entry, to get its value, size, and + * TTL info simultaneously. Returns `undefined` if the key is not present. + * + * Unlike {@link LRUCache#dump}, which is designed to be portable and survive + * serialization, the `start` value is always the current timestamp, and the + * `ttl` is a calculated remaining time to live (negative if expired). + * + * Always returns stale values, if their info is found in the cache, so be + * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl}) + * if relevant. + */ + info(key) { + const i = this.#keyMap.get(key); + if (i === undefined) + return undefined; + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined) + return undefined; + const entry = { value }; + if (this.#ttls && this.#starts) { + const ttl = this.#ttls[i]; + const start = this.#starts[i]; + if (ttl && start) { + const remain = ttl - (perf.now() - start); + entry.ttl = remain; + entry.start = Date.now(); + } + } + if (this.#sizes) { + entry.size = this.#sizes[i]; + } + return entry; + } + /** + * Return an array of [key, {@link LRUCache.Entry}] tuples which can be + * passed to {@link LRLUCache#load}. + * + * The `start` fields are calculated relative to a portable `Date.now()` + * timestamp, even if `performance.now()` is available. + * + * Stale entries are always included in the `dump`, even if + * {@link LRUCache.OptionsBase.allowStale} is false. + * + * Note: this returns an actual array, not a generator, so it can be more + * easily passed around. + */ + dump() { + const arr = []; + for (const i of this.#indexes({ allowStale: true })) { + const key = this.#keyList[i]; + const v = this.#valList[i]; + const value = this.#isBackgroundFetch(v) + ? v.__staleWhileFetching + : v; + if (value === undefined || key === undefined) + continue; + const entry = { value }; + if (this.#ttls && this.#starts) { + entry.ttl = this.#ttls[i]; + // always dump the start relative to a portable timestamp + // it's ok for this to be a bit slow, it's a rare operation. + const age = perf.now() - this.#starts[i]; + entry.start = Math.floor(Date.now() - age); + } + if (this.#sizes) { + entry.size = this.#sizes[i]; + } + arr.unshift([key, entry]); + } + return arr; + } + /** + * Reset the cache and load in the items in entries in the order listed. + * + * The shape of the resulting cache may be different if the same options are + * not used in both caches. + * + * The `start` fields are assumed to be calculated relative to a portable + * `Date.now()` timestamp, even if `performance.now()` is available. + */ + load(arr) { + this.clear(); + for (const [key, entry] of arr) { + if (entry.start) { + // entry.start is a portable timestamp, but we may be using + // node's performance.now(), so calculate the offset, so that + // we get the intended remaining TTL, no matter how long it's + // been on ice. + // + // it's ok for this to be a bit slow, it's a rare operation. + const age = Date.now() - entry.start; + entry.start = perf.now() - age; + } + this.set(key, entry.value, entry); + } + } + /** + * Add a value to the cache. + * + * Note: if `undefined` is specified as a value, this is an alias for + * {@link LRUCache#delete} + * + * Fields on the {@link LRUCache.SetOptions} options param will override + * their corresponding values in the constructor options for the scope + * of this single `set()` operation. + * + * If `start` is provided, then that will set the effective start + * time for the TTL calculation. Note that this must be a previous + * value of `performance.now()` if supported, or a previous value of + * `Date.now()` if not. + * + * Options object may also include `size`, which will prevent + * calling the `sizeCalculation` function and just use the specified + * number if it is a positive integer, and `noDisposeOnSet` which + * will prevent calling a `dispose` function in the case of + * overwrites. + * + * If the `size` (or return value of `sizeCalculation`) for a given + * entry is greater than `maxEntrySize`, then the item will not be + * added to the cache. + * + * Will update the recency of the entry. + * + * If the value is `undefined`, then this is an alias for + * `cache.delete(key)`. `undefined` is never stored in the cache. + */ + set(k, v, setOptions = {}) { + if (v === undefined) { + this.delete(k); + return this; + } + const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions; + let { noUpdateTTL = this.noUpdateTTL } = setOptions; + const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation); + // if the item doesn't fit, don't do anything + // NB: maxEntrySize set to maxSize by default + if (this.maxEntrySize && size > this.maxEntrySize) { + if (status) { + status.set = 'miss'; + status.maxEntrySizeExceeded = true; + } + // have to delete, in case something is there already. + this.#delete(k, 'set'); + return this; + } + let index = this.#size === 0 ? undefined : this.#keyMap.get(k); + if (index === undefined) { + // addition + index = (this.#size === 0 + ? this.#tail + : this.#free.length !== 0 + ? this.#free.pop() + : this.#size === this.#max + ? this.#evict(false) + : this.#size); + this.#keyList[index] = k; + this.#valList[index] = v; + this.#keyMap.set(k, index); + this.#next[this.#tail] = index; + this.#prev[index] = this.#tail; + this.#tail = index; + this.#size++; + this.#addItemSize(index, size, status); + if (status) + status.set = 'add'; + noUpdateTTL = false; + } + else { + // update + this.#moveToTail(index); + const oldVal = this.#valList[index]; + if (v !== oldVal) { + if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) { + oldVal.__abortController.abort(new Error('replaced')); + const { __staleWhileFetching: s } = oldVal; + if (s !== undefined && !noDisposeOnSet) { + if (this.#hasDispose) { + this.#dispose?.(s, k, 'set'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([s, k, 'set']); + } + } + } + else if (!noDisposeOnSet) { + if (this.#hasDispose) { + this.#dispose?.(oldVal, k, 'set'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([oldVal, k, 'set']); + } + } + this.#removeItemSize(index); + this.#addItemSize(index, size, status); + this.#valList[index] = v; + if (status) { + status.set = 'replace'; + const oldValue = oldVal && this.#isBackgroundFetch(oldVal) + ? oldVal.__staleWhileFetching + : oldVal; + if (oldValue !== undefined) + status.oldValue = oldValue; + } + } + else if (status) { + status.set = 'update'; + } + } + if (ttl !== 0 && !this.#ttls) { + this.#initializeTTLTracking(); + } + if (this.#ttls) { + if (!noUpdateTTL) { + this.#setItemTTL(index, ttl, start); + } + if (status) + this.#statusTTL(status, index); + } + if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + return this; + } + /** + * Evict the least recently used item, returning its value or + * `undefined` if cache is empty. + */ + pop() { + try { + while (this.#size) { + const val = this.#valList[this.#head]; + this.#evict(true); + if (this.#isBackgroundFetch(val)) { + if (val.__staleWhileFetching) { + return val.__staleWhileFetching; + } + } + else if (val !== undefined) { + return val; + } + } + } + finally { + if (this.#hasDisposeAfter && this.#disposed) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + } + } + #evict(free) { + const head = this.#head; + const k = this.#keyList[head]; + const v = this.#valList[head]; + if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) { + v.__abortController.abort(new Error('evicted')); + } + else if (this.#hasDispose || this.#hasDisposeAfter) { + if (this.#hasDispose) { + this.#dispose?.(v, k, 'evict'); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([v, k, 'evict']); + } + } + this.#removeItemSize(head); + // if we aren't about to use the index, then null these out + if (free) { + this.#keyList[head] = undefined; + this.#valList[head] = undefined; + this.#free.push(head); + } + if (this.#size === 1) { + this.#head = this.#tail = 0; + this.#free.length = 0; + } + else { + this.#head = this.#next[head]; + } + this.#keyMap.delete(k); + this.#size--; + return head; + } + /** + * Check if a key is in the cache, without updating the recency of use. + * Will return false if the item is stale, even though it is technically + * in the cache. + * + * Check if a key is in the cache, without updating the recency of + * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set + * to `true` in either the options or the constructor. + * + * Will return `false` if the item is stale, even though it is technically in + * the cache. The difference can be determined (if it matters) by using a + * `status` argument, and inspecting the `has` field. + * + * Will not update item age unless + * {@link LRUCache.OptionsBase.updateAgeOnHas} is set. + */ + has(k, hasOptions = {}) { + const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions; + const index = this.#keyMap.get(k); + if (index !== undefined) { + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v) && + v.__staleWhileFetching === undefined) { + return false; + } + if (!this.#isStale(index)) { + if (updateAgeOnHas) { + this.#updateItemAge(index); + } + if (status) { + status.has = 'hit'; + this.#statusTTL(status, index); + } + return true; + } + else if (status) { + status.has = 'stale'; + this.#statusTTL(status, index); + } + } + else if (status) { + status.has = 'miss'; + } + return false; + } + /** + * Like {@link LRUCache#get} but doesn't update recency or delete stale + * items. + * + * Returns `undefined` if the item is stale, unless + * {@link LRUCache.OptionsBase.allowStale} is set. + */ + peek(k, peekOptions = {}) { + const { allowStale = this.allowStale } = peekOptions; + const index = this.#keyMap.get(k); + if (index === undefined || + (!allowStale && this.#isStale(index))) { + return; + } + const v = this.#valList[index]; + // either stale and allowed, or forcing a refresh of non-stale value + return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v; + } + #backgroundFetch(k, index, options, context) { + const v = index === undefined ? undefined : this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + return v; + } + const ac = new AC(); + const { signal } = options; + // when/if our AC signals, then stop listening to theirs. + signal?.addEventListener('abort', () => ac.abort(signal.reason), { + signal: ac.signal, + }); + const fetchOpts = { + signal: ac.signal, + options, + context, + }; + const cb = (v, updateCache = false) => { + const { aborted } = ac.signal; + const ignoreAbort = options.ignoreFetchAbort && v !== undefined; + if (options.status) { + if (aborted && !updateCache) { + options.status.fetchAborted = true; + options.status.fetchError = ac.signal.reason; + if (ignoreAbort) + options.status.fetchAbortIgnored = true; + } + else { + options.status.fetchResolved = true; + } + } + if (aborted && !ignoreAbort && !updateCache) { + return fetchFail(ac.signal.reason); + } + // either we didn't abort, and are still here, or we did, and ignored + const bf = p; + if (this.#valList[index] === p) { + if (v === undefined) { + if (bf.__staleWhileFetching) { + this.#valList[index] = bf.__staleWhileFetching; + } + else { + this.#delete(k, 'fetch'); + } + } + else { + if (options.status) + options.status.fetchUpdated = true; + this.set(k, v, fetchOpts.options); + } + } + return v; + }; + const eb = (er) => { + if (options.status) { + options.status.fetchRejected = true; + options.status.fetchError = er; + } + return fetchFail(er); + }; + const fetchFail = (er) => { + const { aborted } = ac.signal; + const allowStaleAborted = aborted && options.allowStaleOnFetchAbort; + const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection; + const noDelete = allowStale || options.noDeleteOnFetchRejection; + const bf = p; + if (this.#valList[index] === p) { + // if we allow stale on fetch rejections, then we need to ensure that + // the stale value is not removed from the cache when the fetch fails. + const del = !noDelete || bf.__staleWhileFetching === undefined; + if (del) { + this.#delete(k, 'fetch'); + } + else if (!allowStaleAborted) { + // still replace the *promise* with the stale value, + // since we are done with the promise at this point. + // leave it untouched if we're still waiting for an + // aborted background fetch that hasn't yet returned. + this.#valList[index] = bf.__staleWhileFetching; + } + } + if (allowStale) { + if (options.status && bf.__staleWhileFetching !== undefined) { + options.status.returnedStale = true; + } + return bf.__staleWhileFetching; + } + else if (bf.__returned === bf) { + throw er; + } + }; + const pcall = (res, rej) => { + const fmp = this.#fetchMethod?.(k, v, fetchOpts); + if (fmp && fmp instanceof Promise) { + fmp.then(v => res(v === undefined ? undefined : v), rej); + } + // ignored, we go until we finish, regardless. + // defer check until we are actually aborting, + // so fetchMethod can override. + ac.signal.addEventListener('abort', () => { + if (!options.ignoreFetchAbort || + options.allowStaleOnFetchAbort) { + res(undefined); + // when it eventually resolves, update the cache. + if (options.allowStaleOnFetchAbort) { + res = v => cb(v, true); + } + } + }); + }; + if (options.status) + options.status.fetchDispatched = true; + const p = new Promise(pcall).then(cb, eb); + const bf = Object.assign(p, { + __abortController: ac, + __staleWhileFetching: v, + __returned: undefined, + }); + if (index === undefined) { + // internal, don't expose status. + this.set(k, bf, { ...fetchOpts.options, status: undefined }); + index = this.#keyMap.get(k); + } + else { + this.#valList[index] = bf; + } + return bf; + } + #isBackgroundFetch(p) { + if (!this.#hasFetchMethod) + return false; + const b = p; + return (!!b && + b instanceof Promise && + b.hasOwnProperty('__staleWhileFetching') && + b.__abortController instanceof AC); + } + async fetch(k, fetchOptions = {}) { + const { + // get options + allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, + // set options + ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, + // fetch exclusive options + noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal, } = fetchOptions; + if (!this.#hasFetchMethod) { + if (status) + status.fetch = 'get'; + return this.get(k, { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + status, + }); + } + const options = { + allowStale, + updateAgeOnGet, + noDeleteOnStaleGet, + ttl, + noDisposeOnSet, + size, + sizeCalculation, + noUpdateTTL, + noDeleteOnFetchRejection, + allowStaleOnFetchRejection, + allowStaleOnFetchAbort, + ignoreFetchAbort, + status, + signal, + }; + let index = this.#keyMap.get(k); + if (index === undefined) { + if (status) + status.fetch = 'miss'; + const p = this.#backgroundFetch(k, index, options, context); + return (p.__returned = p); + } + else { + // in cache, maybe already fetching + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + const stale = allowStale && v.__staleWhileFetching !== undefined; + if (status) { + status.fetch = 'inflight'; + if (stale) + status.returnedStale = true; + } + return stale ? v.__staleWhileFetching : (v.__returned = v); + } + // if we force a refresh, that means do NOT serve the cached value, + // unless we are already in the process of refreshing the cache. + const isStale = this.#isStale(index); + if (!forceRefresh && !isStale) { + if (status) + status.fetch = 'hit'; + this.#moveToTail(index); + if (updateAgeOnGet) { + this.#updateItemAge(index); + } + if (status) + this.#statusTTL(status, index); + return v; + } + // ok, it is stale or a forced refresh, and not already fetching. + // refresh the cache. + const p = this.#backgroundFetch(k, index, options, context); + const hasStale = p.__staleWhileFetching !== undefined; + const staleVal = hasStale && allowStale; + if (status) { + status.fetch = isStale ? 'stale' : 'refresh'; + if (staleVal && isStale) + status.returnedStale = true; + } + return staleVal ? p.__staleWhileFetching : (p.__returned = p); + } + } + async forceFetch(k, fetchOptions = {}) { + const v = await this.fetch(k, fetchOptions); + if (v === undefined) + throw new Error('fetch() returned undefined'); + return v; + } + memo(k, memoOptions = {}) { + const memoMethod = this.#memoMethod; + if (!memoMethod) { + throw new Error('no memoMethod provided to constructor'); + } + const { context, forceRefresh, ...options } = memoOptions; + const v = this.get(k, options); + if (!forceRefresh && v !== undefined) + return v; + const vv = memoMethod(k, v, { + options, + context, + }); + this.set(k, vv, options); + return vv; + } + /** + * Return a value from the cache. Will update the recency of the cache + * entry found. + * + * If the key is not found, get() will return `undefined`. + */ + get(k, getOptions = {}) { + const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status, } = getOptions; + const index = this.#keyMap.get(k); + if (index !== undefined) { + const value = this.#valList[index]; + const fetching = this.#isBackgroundFetch(value); + if (status) + this.#statusTTL(status, index); + if (this.#isStale(index)) { + if (status) + status.get = 'stale'; + // delete only if not an in-flight background fetch + if (!fetching) { + if (!noDeleteOnStaleGet) { + this.#delete(k, 'expire'); + } + if (status && allowStale) + status.returnedStale = true; + return allowStale ? value : undefined; + } + else { + if (status && + allowStale && + value.__staleWhileFetching !== undefined) { + status.returnedStale = true; + } + return allowStale ? value.__staleWhileFetching : undefined; + } + } + else { + if (status) + status.get = 'hit'; + // if we're currently fetching it, we don't actually have it yet + // it's not stale, which means this isn't a staleWhileRefetching. + // If it's not stale, and fetching, AND has a __staleWhileFetching + // value, then that means the user fetched with {forceRefresh:true}, + // so it's safe to return that value. + if (fetching) { + return value.__staleWhileFetching; + } + this.#moveToTail(index); + if (updateAgeOnGet) { + this.#updateItemAge(index); + } + return value; + } + } + else if (status) { + status.get = 'miss'; + } + } + #connect(p, n) { + this.#prev[n] = p; + this.#next[p] = n; + } + #moveToTail(index) { + // if tail already, nothing to do + // if head, move head to next[index] + // else + // move next[prev[index]] to next[index] (head has no prev) + // move prev[next[index]] to prev[index] + // prev[index] = tail + // next[tail] = index + // tail = index + if (index !== this.#tail) { + if (index === this.#head) { + this.#head = this.#next[index]; + } + else { + this.#connect(this.#prev[index], this.#next[index]); + } + this.#connect(this.#tail, index); + this.#tail = index; + } + } + /** + * Deletes a key out of the cache. + * + * Returns true if the key was deleted, false otherwise. + */ + delete(k) { + return this.#delete(k, 'delete'); + } + #delete(k, reason) { + let deleted = false; + if (this.#size !== 0) { + const index = this.#keyMap.get(k); + if (index !== undefined) { + deleted = true; + if (this.#size === 1) { + this.#clear(reason); + } + else { + this.#removeItemSize(index); + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + v.__abortController.abort(new Error('deleted')); + } + else if (this.#hasDispose || this.#hasDisposeAfter) { + if (this.#hasDispose) { + this.#dispose?.(v, k, reason); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([v, k, reason]); + } + } + this.#keyMap.delete(k); + this.#keyList[index] = undefined; + this.#valList[index] = undefined; + if (index === this.#tail) { + this.#tail = this.#prev[index]; + } + else if (index === this.#head) { + this.#head = this.#next[index]; + } + else { + const pi = this.#prev[index]; + this.#next[pi] = this.#next[index]; + const ni = this.#next[index]; + this.#prev[ni] = this.#prev[index]; + } + this.#size--; + this.#free.push(index); + } + } + } + if (this.#hasDisposeAfter && this.#disposed?.length) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + return deleted; + } + /** + * Clear the cache entirely, throwing away all values. + */ + clear() { + return this.#clear('delete'); + } + #clear(reason) { + for (const index of this.#rindexes({ allowStale: true })) { + const v = this.#valList[index]; + if (this.#isBackgroundFetch(v)) { + v.__abortController.abort(new Error('deleted')); + } + else { + const k = this.#keyList[index]; + if (this.#hasDispose) { + this.#dispose?.(v, k, reason); + } + if (this.#hasDisposeAfter) { + this.#disposed?.push([v, k, reason]); + } + } + } + this.#keyMap.clear(); + this.#valList.fill(undefined); + this.#keyList.fill(undefined); + if (this.#ttls && this.#starts) { + this.#ttls.fill(0); + this.#starts.fill(0); + } + if (this.#sizes) { + this.#sizes.fill(0); + } + this.#head = 0; + this.#tail = 0; + this.#free.length = 0; + this.#calculatedSize = 0; + this.#size = 0; + if (this.#hasDisposeAfter && this.#disposed) { + const dt = this.#disposed; + let task; + while ((task = dt?.shift())) { + this.#disposeAfter?.(...task); + } + } + } +} +exports.LRUCache = LRUCache; +//# sourceMappingURL=index.js.map + +/***/ }, + +/***/ 14383 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Minipass = exports.isWritable = exports.isReadable = exports.isStream = void 0; +const proc = typeof process === 'object' && process + ? process + : { + stdout: null, + stderr: null, + }; +const node_events_1 = __webpack_require__(78474); +const node_stream_1 = __importDefault(__webpack_require__(57075)); +const node_string_decoder_1 = __webpack_require__(46193); +/** + * Return true if the argument is a Minipass stream, Node stream, or something + * else that Minipass can interact with. + */ +const isStream = (s) => !!s && + typeof s === 'object' && + (s instanceof Minipass || + s instanceof node_stream_1.default || + (0, exports.isReadable)(s) || + (0, exports.isWritable)(s)); +exports.isStream = isStream; +/** + * Return true if the argument is a valid {@link Minipass.Readable} + */ +const isReadable = (s) => !!s && + typeof s === 'object' && + s instanceof node_events_1.EventEmitter && + typeof s.pipe === 'function' && + // node core Writable streams have a pipe() method, but it throws + s.pipe !== node_stream_1.default.Writable.prototype.pipe; +exports.isReadable = isReadable; +/** + * Return true if the argument is a valid {@link Minipass.Writable} + */ +const isWritable = (s) => !!s && + typeof s === 'object' && + s instanceof node_events_1.EventEmitter && + typeof s.write === 'function' && + typeof s.end === 'function'; +exports.isWritable = isWritable; +const EOF = Symbol('EOF'); +const MAYBE_EMIT_END = Symbol('maybeEmitEnd'); +const EMITTED_END = Symbol('emittedEnd'); +const EMITTING_END = Symbol('emittingEnd'); +const EMITTED_ERROR = Symbol('emittedError'); +const CLOSED = Symbol('closed'); +const READ = Symbol('read'); +const FLUSH = Symbol('flush'); +const FLUSHCHUNK = Symbol('flushChunk'); +const ENCODING = Symbol('encoding'); +const DECODER = Symbol('decoder'); +const FLOWING = Symbol('flowing'); +const PAUSED = Symbol('paused'); +const RESUME = Symbol('resume'); +const BUFFER = Symbol('buffer'); +const PIPES = Symbol('pipes'); +const BUFFERLENGTH = Symbol('bufferLength'); +const BUFFERPUSH = Symbol('bufferPush'); +const BUFFERSHIFT = Symbol('bufferShift'); +const OBJECTMODE = Symbol('objectMode'); +// internal event when stream is destroyed +const DESTROYED = Symbol('destroyed'); +// internal event when stream has an error +const ERROR = Symbol('error'); +const EMITDATA = Symbol('emitData'); +const EMITEND = Symbol('emitEnd'); +const EMITEND2 = Symbol('emitEnd2'); +const ASYNC = Symbol('async'); +const ABORT = Symbol('abort'); +const ABORTED = Symbol('aborted'); +const SIGNAL = Symbol('signal'); +const DATALISTENERS = Symbol('dataListeners'); +const DISCARDED = Symbol('discarded'); +const defer = (fn) => Promise.resolve().then(fn); +const nodefer = (fn) => fn(); +const isEndish = (ev) => ev === 'end' || ev === 'finish' || ev === 'prefinish'; +const isArrayBufferLike = (b) => b instanceof ArrayBuffer || + (!!b && + typeof b === 'object' && + b.constructor && + b.constructor.name === 'ArrayBuffer' && + b.byteLength >= 0); +const isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b); +/** + * Internal class representing a pipe to a destination stream. + * + * @internal + */ +class Pipe { + src; + dest; + opts; + ondrain; + constructor(src, dest, opts) { + this.src = src; + this.dest = dest; + this.opts = opts; + this.ondrain = () => src[RESUME](); + this.dest.on('drain', this.ondrain); + } + unpipe() { + this.dest.removeListener('drain', this.ondrain); + } + // only here for the prototype + /* c8 ignore start */ + proxyErrors(_er) { } + /* c8 ignore stop */ + end() { + this.unpipe(); + if (this.opts.end) + this.dest.end(); + } +} +/** + * Internal class representing a pipe to a destination stream where + * errors are proxied. + * + * @internal + */ +class PipeProxyErrors extends Pipe { + unpipe() { + this.src.removeListener('error', this.proxyErrors); + super.unpipe(); + } + constructor(src, dest, opts) { + super(src, dest, opts); + this.proxyErrors = er => dest.emit('error', er); + src.on('error', this.proxyErrors); + } +} +const isObjectModeOptions = (o) => !!o.objectMode; +const isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== 'buffer'; +/** + * Main export, the Minipass class + * + * `RType` is the type of data emitted, defaults to Buffer + * + * `WType` is the type of data to be written, if RType is buffer or string, + * then any {@link Minipass.ContiguousData} is allowed. + * + * `Events` is the set of event handler signatures that this object + * will emit, see {@link Minipass.Events} + */ +class Minipass extends node_events_1.EventEmitter { + [FLOWING] = false; + [PAUSED] = false; + [PIPES] = []; + [BUFFER] = []; + [OBJECTMODE]; + [ENCODING]; + [ASYNC]; + [DECODER]; + [EOF] = false; + [EMITTED_END] = false; + [EMITTING_END] = false; + [CLOSED] = false; + [EMITTED_ERROR] = null; + [BUFFERLENGTH] = 0; + [DESTROYED] = false; + [SIGNAL]; + [ABORTED] = false; + [DATALISTENERS] = 0; + [DISCARDED] = false; + /** + * true if the stream can be written + */ + writable = true; + /** + * true if the stream can be read + */ + readable = true; + /** + * If `RType` is Buffer, then options do not need to be provided. + * Otherwise, an options object must be provided to specify either + * {@link Minipass.SharedOptions.objectMode} or + * {@link Minipass.SharedOptions.encoding}, as appropriate. + */ + constructor(...args) { + const options = (args[0] || + {}); + super(); + if (options.objectMode && typeof options.encoding === 'string') { + throw new TypeError('Encoding and objectMode may not be used together'); + } + if (isObjectModeOptions(options)) { + this[OBJECTMODE] = true; + this[ENCODING] = null; + } + else if (isEncodingOptions(options)) { + this[ENCODING] = options.encoding; + this[OBJECTMODE] = false; + } + else { + this[OBJECTMODE] = false; + this[ENCODING] = null; + } + this[ASYNC] = !!options.async; + this[DECODER] = this[ENCODING] + ? new node_string_decoder_1.StringDecoder(this[ENCODING]) + : null; + //@ts-ignore - private option for debugging and testing + if (options && options.debugExposeBuffer === true) { + Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] }); + } + //@ts-ignore - private option for debugging and testing + if (options && options.debugExposePipes === true) { + Object.defineProperty(this, 'pipes', { get: () => this[PIPES] }); + } + const { signal } = options; + if (signal) { + this[SIGNAL] = signal; + if (signal.aborted) { + this[ABORT](); + } + else { + signal.addEventListener('abort', () => this[ABORT]()); + } + } + } + /** + * The amount of data stored in the buffer waiting to be read. + * + * For Buffer strings, this will be the total byte length. + * For string encoding streams, this will be the string character length, + * according to JavaScript's `string.length` logic. + * For objectMode streams, this is a count of the items waiting to be + * emitted. + */ + get bufferLength() { + return this[BUFFERLENGTH]; + } + /** + * The `BufferEncoding` currently in use, or `null` + */ + get encoding() { + return this[ENCODING]; + } + /** + * @deprecated - This is a read only property + */ + set encoding(_enc) { + throw new Error('Encoding must be set at instantiation time'); + } + /** + * @deprecated - Encoding may only be set at instantiation time + */ + setEncoding(_enc) { + throw new Error('Encoding must be set at instantiation time'); + } + /** + * True if this is an objectMode stream + */ + get objectMode() { + return this[OBJECTMODE]; + } + /** + * @deprecated - This is a read-only property + */ + set objectMode(_om) { + throw new Error('objectMode must be set at instantiation time'); + } + /** + * true if this is an async stream + */ + get ['async']() { + return this[ASYNC]; + } + /** + * Set to true to make this stream async. + * + * Once set, it cannot be unset, as this would potentially cause incorrect + * behavior. Ie, a sync stream can be made async, but an async stream + * cannot be safely made sync. + */ + set ['async'](a) { + this[ASYNC] = this[ASYNC] || !!a; + } + // drop everything and get out of the flow completely + [ABORT]() { + this[ABORTED] = true; + this.emit('abort', this[SIGNAL]?.reason); + this.destroy(this[SIGNAL]?.reason); + } + /** + * True if the stream has been aborted. + */ + get aborted() { + return this[ABORTED]; + } + /** + * No-op setter. Stream aborted status is set via the AbortSignal provided + * in the constructor options. + */ + set aborted(_) { } + write(chunk, encoding, cb) { + if (this[ABORTED]) + return false; + if (this[EOF]) + throw new Error('write after end'); + if (this[DESTROYED]) { + this.emit('error', Object.assign(new Error('Cannot call write after a stream was destroyed'), { code: 'ERR_STREAM_DESTROYED' })); + return true; + } + if (typeof encoding === 'function') { + cb = encoding; + encoding = 'utf8'; + } + if (!encoding) + encoding = 'utf8'; + const fn = this[ASYNC] ? defer : nodefer; + // convert array buffers and typed array views into buffers + // at some point in the future, we may want to do the opposite! + // leave strings and buffers as-is + // anything is only allowed if in object mode, so throw + if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) { + if (isArrayBufferView(chunk)) { + //@ts-ignore - sinful unsafe type changing + chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength); + } + else if (isArrayBufferLike(chunk)) { + //@ts-ignore - sinful unsafe type changing + chunk = Buffer.from(chunk); + } + else if (typeof chunk !== 'string') { + throw new Error('Non-contiguous data written to non-objectMode stream'); + } + } + // handle object mode up front, since it's simpler + // this yields better performance, fewer checks later. + if (this[OBJECTMODE]) { + // maybe impossible? + /* c8 ignore start */ + if (this[FLOWING] && this[BUFFERLENGTH] !== 0) + this[FLUSH](true); + /* c8 ignore stop */ + if (this[FLOWING]) + this.emit('data', chunk); + else + this[BUFFERPUSH](chunk); + if (this[BUFFERLENGTH] !== 0) + this.emit('readable'); + if (cb) + fn(cb); + return this[FLOWING]; + } + // at this point the chunk is a buffer or string + // don't buffer it up or send it to the decoder + if (!chunk.length) { + if (this[BUFFERLENGTH] !== 0) + this.emit('readable'); + if (cb) + fn(cb); + return this[FLOWING]; + } + // fast-path writing strings of same encoding to a stream with + // an empty buffer, skipping the buffer/decoder dance + if (typeof chunk === 'string' && + // unless it is a string already ready for us to use + !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) { + //@ts-ignore - sinful unsafe type change + chunk = Buffer.from(chunk, encoding); + } + if (Buffer.isBuffer(chunk) && this[ENCODING]) { + //@ts-ignore - sinful unsafe type change + chunk = this[DECODER].write(chunk); + } + // Note: flushing CAN potentially switch us into not-flowing mode + if (this[FLOWING] && this[BUFFERLENGTH] !== 0) + this[FLUSH](true); + if (this[FLOWING]) + this.emit('data', chunk); + else + this[BUFFERPUSH](chunk); + if (this[BUFFERLENGTH] !== 0) + this.emit('readable'); + if (cb) + fn(cb); + return this[FLOWING]; + } + /** + * Low-level explicit read method. + * + * In objectMode, the argument is ignored, and one item is returned if + * available. + * + * `n` is the number of bytes (or in the case of encoding streams, + * characters) to consume. If `n` is not provided, then the entire buffer + * is returned, or `null` is returned if no data is available. + * + * If `n` is greater that the amount of data in the internal buffer, + * then `null` is returned. + */ + read(n) { + if (this[DESTROYED]) + return null; + this[DISCARDED] = false; + if (this[BUFFERLENGTH] === 0 || + n === 0 || + (n && n > this[BUFFERLENGTH])) { + this[MAYBE_EMIT_END](); + return null; + } + if (this[OBJECTMODE]) + n = null; + if (this[BUFFER].length > 1 && !this[OBJECTMODE]) { + // not object mode, so if we have an encoding, then RType is string + // otherwise, must be Buffer + this[BUFFER] = [ + (this[ENCODING] + ? this[BUFFER].join('') + : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])), + ]; + } + const ret = this[READ](n || null, this[BUFFER][0]); + this[MAYBE_EMIT_END](); + return ret; + } + [READ](n, chunk) { + if (this[OBJECTMODE]) + this[BUFFERSHIFT](); + else { + const c = chunk; + if (n === c.length || n === null) + this[BUFFERSHIFT](); + else if (typeof c === 'string') { + this[BUFFER][0] = c.slice(n); + chunk = c.slice(0, n); + this[BUFFERLENGTH] -= n; + } + else { + this[BUFFER][0] = c.subarray(n); + chunk = c.subarray(0, n); + this[BUFFERLENGTH] -= n; + } + } + this.emit('data', chunk); + if (!this[BUFFER].length && !this[EOF]) + this.emit('drain'); + return chunk; + } + end(chunk, encoding, cb) { + if (typeof chunk === 'function') { + cb = chunk; + chunk = undefined; + } + if (typeof encoding === 'function') { + cb = encoding; + encoding = 'utf8'; + } + if (chunk !== undefined) + this.write(chunk, encoding); + if (cb) + this.once('end', cb); + this[EOF] = true; + this.writable = false; + // if we haven't written anything, then go ahead and emit, + // even if we're not reading. + // we'll re-emit if a new 'end' listener is added anyway. + // This makes MP more suitable to write-only use cases. + if (this[FLOWING] || !this[PAUSED]) + this[MAYBE_EMIT_END](); + return this; + } + // don't let the internal resume be overwritten + [RESUME]() { + if (this[DESTROYED]) + return; + if (!this[DATALISTENERS] && !this[PIPES].length) { + this[DISCARDED] = true; + } + this[PAUSED] = false; + this[FLOWING] = true; + this.emit('resume'); + if (this[BUFFER].length) + this[FLUSH](); + else if (this[EOF]) + this[MAYBE_EMIT_END](); + else + this.emit('drain'); + } + /** + * Resume the stream if it is currently in a paused state + * + * If called when there are no pipe destinations or `data` event listeners, + * this will place the stream in a "discarded" state, where all data will + * be thrown away. The discarded state is removed if a pipe destination or + * data handler is added, if pause() is called, or if any synchronous or + * asynchronous iteration is started. + */ + resume() { + return this[RESUME](); + } + /** + * Pause the stream + */ + pause() { + this[FLOWING] = false; + this[PAUSED] = true; + this[DISCARDED] = false; + } + /** + * true if the stream has been forcibly destroyed + */ + get destroyed() { + return this[DESTROYED]; + } + /** + * true if the stream is currently in a flowing state, meaning that + * any writes will be immediately emitted. + */ + get flowing() { + return this[FLOWING]; + } + /** + * true if the stream is currently in a paused state + */ + get paused() { + return this[PAUSED]; + } + [BUFFERPUSH](chunk) { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] += 1; + else + this[BUFFERLENGTH] += chunk.length; + this[BUFFER].push(chunk); + } + [BUFFERSHIFT]() { + if (this[OBJECTMODE]) + this[BUFFERLENGTH] -= 1; + else + this[BUFFERLENGTH] -= this[BUFFER][0].length; + return this[BUFFER].shift(); + } + [FLUSH](noDrain = false) { + do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && + this[BUFFER].length); + if (!noDrain && !this[BUFFER].length && !this[EOF]) + this.emit('drain'); + } + [FLUSHCHUNK](chunk) { + this.emit('data', chunk); + return this[FLOWING]; + } + /** + * Pipe all data emitted by this stream into the destination provided. + * + * Triggers the flow of data. + */ + pipe(dest, opts) { + if (this[DESTROYED]) + return dest; + this[DISCARDED] = false; + const ended = this[EMITTED_END]; + opts = opts || {}; + if (dest === proc.stdout || dest === proc.stderr) + opts.end = false; + else + opts.end = opts.end !== false; + opts.proxyErrors = !!opts.proxyErrors; + // piping an ended stream ends immediately + if (ended) { + if (opts.end) + dest.end(); + } + else { + // "as" here just ignores the WType, which pipes don't care about, + // since they're only consuming from us, and writing to the dest + this[PIPES].push(!opts.proxyErrors + ? new Pipe(this, dest, opts) + : new PipeProxyErrors(this, dest, opts)); + if (this[ASYNC]) + defer(() => this[RESUME]()); + else + this[RESUME](); + } + return dest; + } + /** + * Fully unhook a piped destination stream. + * + * If the destination stream was the only consumer of this stream (ie, + * there are no other piped destinations or `'data'` event listeners) + * then the flow of data will stop until there is another consumer or + * {@link Minipass#resume} is explicitly called. + */ + unpipe(dest) { + const p = this[PIPES].find(p => p.dest === dest); + if (p) { + if (this[PIPES].length === 1) { + if (this[FLOWING] && this[DATALISTENERS] === 0) { + this[FLOWING] = false; + } + this[PIPES] = []; + } + else + this[PIPES].splice(this[PIPES].indexOf(p), 1); + p.unpipe(); + } + } + /** + * Alias for {@link Minipass#on} + */ + addListener(ev, handler) { + return this.on(ev, handler); + } + /** + * Mostly identical to `EventEmitter.on`, with the following + * behavior differences to prevent data loss and unnecessary hangs: + * + * - Adding a 'data' event handler will trigger the flow of data + * + * - Adding a 'readable' event handler when there is data waiting to be read + * will cause 'readable' to be emitted immediately. + * + * - Adding an 'endish' event handler ('end', 'finish', etc.) which has + * already passed will cause the event to be emitted immediately and all + * handlers removed. + * + * - Adding an 'error' event handler after an error has been emitted will + * cause the event to be re-emitted immediately with the error previously + * raised. + */ + on(ev, handler) { + const ret = super.on(ev, handler); + if (ev === 'data') { + this[DISCARDED] = false; + this[DATALISTENERS]++; + if (!this[PIPES].length && !this[FLOWING]) { + this[RESUME](); + } + } + else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) { + super.emit('readable'); + } + else if (isEndish(ev) && this[EMITTED_END]) { + super.emit(ev); + this.removeAllListeners(ev); + } + else if (ev === 'error' && this[EMITTED_ERROR]) { + const h = handler; + if (this[ASYNC]) + defer(() => h.call(this, this[EMITTED_ERROR])); + else + h.call(this, this[EMITTED_ERROR]); + } + return ret; + } + /** + * Alias for {@link Minipass#off} + */ + removeListener(ev, handler) { + return this.off(ev, handler); + } + /** + * Mostly identical to `EventEmitter.off` + * + * If a 'data' event handler is removed, and it was the last consumer + * (ie, there are no pipe destinations or other 'data' event listeners), + * then the flow of data will stop until there is another consumer or + * {@link Minipass#resume} is explicitly called. + */ + off(ev, handler) { + const ret = super.off(ev, handler); + // if we previously had listeners, and now we don't, and we don't + // have any pipes, then stop the flow, unless it's been explicitly + // put in a discarded flowing state via stream.resume(). + if (ev === 'data') { + this[DATALISTENERS] = this.listeners('data').length; + if (this[DATALISTENERS] === 0 && + !this[DISCARDED] && + !this[PIPES].length) { + this[FLOWING] = false; + } + } + return ret; + } + /** + * Mostly identical to `EventEmitter.removeAllListeners` + * + * If all 'data' event handlers are removed, and they were the last consumer + * (ie, there are no pipe destinations), then the flow of data will stop + * until there is another consumer or {@link Minipass#resume} is explicitly + * called. + */ + removeAllListeners(ev) { + const ret = super.removeAllListeners(ev); + if (ev === 'data' || ev === undefined) { + this[DATALISTENERS] = 0; + if (!this[DISCARDED] && !this[PIPES].length) { + this[FLOWING] = false; + } + } + return ret; + } + /** + * true if the 'end' event has been emitted + */ + get emittedEnd() { + return this[EMITTED_END]; + } + [MAYBE_EMIT_END]() { + if (!this[EMITTING_END] && + !this[EMITTED_END] && + !this[DESTROYED] && + this[BUFFER].length === 0 && + this[EOF]) { + this[EMITTING_END] = true; + this.emit('end'); + this.emit('prefinish'); + this.emit('finish'); + if (this[CLOSED]) + this.emit('close'); + this[EMITTING_END] = false; + } + } + /** + * Mostly identical to `EventEmitter.emit`, with the following + * behavior differences to prevent data loss and unnecessary hangs: + * + * If the stream has been destroyed, and the event is something other + * than 'close' or 'error', then `false` is returned and no handlers + * are called. + * + * If the event is 'end', and has already been emitted, then the event + * is ignored. If the stream is in a paused or non-flowing state, then + * the event will be deferred until data flow resumes. If the stream is + * async, then handlers will be called on the next tick rather than + * immediately. + * + * If the event is 'close', and 'end' has not yet been emitted, then + * the event will be deferred until after 'end' is emitted. + * + * If the event is 'error', and an AbortSignal was provided for the stream, + * and there are no listeners, then the event is ignored, matching the + * behavior of node core streams in the presense of an AbortSignal. + * + * If the event is 'finish' or 'prefinish', then all listeners will be + * removed after emitting the event, to prevent double-firing. + */ + emit(ev, ...args) { + const data = args[0]; + // error and close are only events allowed after calling destroy() + if (ev !== 'error' && + ev !== 'close' && + ev !== DESTROYED && + this[DESTROYED]) { + return false; + } + else if (ev === 'data') { + return !this[OBJECTMODE] && !data + ? false + : this[ASYNC] + ? (defer(() => this[EMITDATA](data)), true) + : this[EMITDATA](data); + } + else if (ev === 'end') { + return this[EMITEND](); + } + else if (ev === 'close') { + this[CLOSED] = true; + // don't emit close before 'end' and 'finish' + if (!this[EMITTED_END] && !this[DESTROYED]) + return false; + const ret = super.emit('close'); + this.removeAllListeners('close'); + return ret; + } + else if (ev === 'error') { + this[EMITTED_ERROR] = data; + super.emit(ERROR, data); + const ret = !this[SIGNAL] || this.listeners('error').length + ? super.emit('error', data) + : false; + this[MAYBE_EMIT_END](); + return ret; + } + else if (ev === 'resume') { + const ret = super.emit('resume'); + this[MAYBE_EMIT_END](); + return ret; + } + else if (ev === 'finish' || ev === 'prefinish') { + const ret = super.emit(ev); + this.removeAllListeners(ev); + return ret; + } + // Some other unknown event + const ret = super.emit(ev, ...args); + this[MAYBE_EMIT_END](); + return ret; + } + [EMITDATA](data) { + for (const p of this[PIPES]) { + if (p.dest.write(data) === false) + this.pause(); + } + const ret = this[DISCARDED] ? false : super.emit('data', data); + this[MAYBE_EMIT_END](); + return ret; + } + [EMITEND]() { + if (this[EMITTED_END]) + return false; + this[EMITTED_END] = true; + this.readable = false; + return this[ASYNC] + ? (defer(() => this[EMITEND2]()), true) + : this[EMITEND2](); + } + [EMITEND2]() { + if (this[DECODER]) { + const data = this[DECODER].end(); + if (data) { + for (const p of this[PIPES]) { + p.dest.write(data); + } + if (!this[DISCARDED]) + super.emit('data', data); + } + } + for (const p of this[PIPES]) { + p.end(); + } + const ret = super.emit('end'); + this.removeAllListeners('end'); + return ret; + } + /** + * Return a Promise that resolves to an array of all emitted data once + * the stream ends. + */ + async collect() { + const buf = Object.assign([], { + dataLength: 0, + }); + if (!this[OBJECTMODE]) + buf.dataLength = 0; + // set the promise first, in case an error is raised + // by triggering the flow here. + const p = this.promise(); + this.on('data', c => { + buf.push(c); + if (!this[OBJECTMODE]) + buf.dataLength += c.length; + }); + await p; + return buf; + } + /** + * Return a Promise that resolves to the concatenation of all emitted data + * once the stream ends. + * + * Not allowed on objectMode streams. + */ + async concat() { + if (this[OBJECTMODE]) { + throw new Error('cannot concat in objectMode'); + } + const buf = await this.collect(); + return (this[ENCODING] + ? buf.join('') + : Buffer.concat(buf, buf.dataLength)); + } + /** + * Return a void Promise that resolves once the stream ends. + */ + async promise() { + return new Promise((resolve, reject) => { + this.on(DESTROYED, () => reject(new Error('stream destroyed'))); + this.on('error', er => reject(er)); + this.on('end', () => resolve()); + }); + } + /** + * Asynchronous `for await of` iteration. + * + * This will continue emitting all chunks until the stream terminates. + */ + [Symbol.asyncIterator]() { + // set this up front, in case the consumer doesn't call next() + // right away. + this[DISCARDED] = false; + let stopped = false; + const stop = async () => { + this.pause(); + stopped = true; + return { value: undefined, done: true }; + }; + const next = () => { + if (stopped) + return stop(); + const res = this.read(); + if (res !== null) + return Promise.resolve({ done: false, value: res }); + if (this[EOF]) + return stop(); + let resolve; + let reject; + const onerr = (er) => { + this.off('data', ondata); + this.off('end', onend); + this.off(DESTROYED, ondestroy); + stop(); + reject(er); + }; + const ondata = (value) => { + this.off('error', onerr); + this.off('end', onend); + this.off(DESTROYED, ondestroy); + this.pause(); + resolve({ value, done: !!this[EOF] }); + }; + const onend = () => { + this.off('error', onerr); + this.off('data', ondata); + this.off(DESTROYED, ondestroy); + stop(); + resolve({ done: true, value: undefined }); + }; + const ondestroy = () => onerr(new Error('stream destroyed')); + return new Promise((res, rej) => { + reject = rej; + resolve = res; + this.once(DESTROYED, ondestroy); + this.once('error', onerr); + this.once('end', onend); + this.once('data', ondata); + }); + }; + return { + next, + throw: stop, + return: stop, + [Symbol.asyncIterator]() { + return this; + }, + }; + } + /** + * Synchronous `for of` iteration. + * + * The iteration will terminate when the internal buffer runs out, even + * if the stream has not yet terminated. + */ + [Symbol.iterator]() { + // set this up front, in case the consumer doesn't call next() + // right away. + this[DISCARDED] = false; + let stopped = false; + const stop = () => { + this.pause(); + this.off(ERROR, stop); + this.off(DESTROYED, stop); + this.off('end', stop); + stopped = true; + return { done: true, value: undefined }; + }; + const next = () => { + if (stopped) + return stop(); + const value = this.read(); + return value === null ? stop() : { done: false, value }; + }; + this.once('end', stop); + this.once(ERROR, stop); + this.once(DESTROYED, stop); + return { + next, + throw: stop, + return: stop, + [Symbol.iterator]() { + return this; + }, + }; + } + /** + * Destroy a stream, preventing it from being used for any further purpose. + * + * If the stream has a `close()` method, then it will be called on + * destruction. + * + * After destruction, any attempt to write data, read data, or emit most + * events will be ignored. + * + * If an error argument is provided, then it will be emitted in an + * 'error' event. + */ + destroy(er) { + if (this[DESTROYED]) { + if (er) + this.emit('error', er); + else + this.emit(DESTROYED); + return this; + } + this[DESTROYED] = true; + this[DISCARDED] = true; + // throw away all buffered data, it's never coming out + this[BUFFER].length = 0; + this[BUFFERLENGTH] = 0; + const wc = this; + if (typeof wc.close === 'function' && !this[CLOSED]) + wc.close(); + if (er) + this.emit('error', er); + // if no error to emit, still reject pending promises + else + this.emit(DESTROYED); + return this; + } + /** + * Alias for {@link isStream} + * + * Former export location, maintained for backwards compatibility. + * + * @deprecated + */ + static get isStream() { + return exports.isStream; + } +} +exports.Minipass = Minipass; +//# sourceMappingURL=index.js.map + +/***/ }, + +/***/ 69453 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Glob = void 0; +const minimatch_1 = __webpack_require__(74361); +const node_url_1 = __webpack_require__(73136); +const path_scurry_1 = __webpack_require__(29753); +const pattern_js_1 = __webpack_require__(33053); +const walker_js_1 = __webpack_require__(52909); +// if no process global, just call it linux. +// so we default to case-sensitive, / separators +const defaultPlatform = (typeof process === 'object' && + process && + typeof process.platform === 'string') ? + process.platform + : 'linux'; +/** + * An object that can perform glob pattern traversals. + */ +class Glob { + absolute; + cwd; + root; + dot; + dotRelative; + follow; + ignore; + magicalBraces; + mark; + matchBase; + maxDepth; + nobrace; + nocase; + nodir; + noext; + noglobstar; + pattern; + platform; + realpath; + scurry; + stat; + signal; + windowsPathsNoEscape; + withFileTypes; + includeChildMatches; + /** + * The options provided to the constructor. + */ + opts; + /** + * An array of parsed immutable {@link Pattern} objects. + */ + patterns; + /** + * All options are stored as properties on the `Glob` object. + * + * See {@link GlobOptions} for full options descriptions. + * + * Note that a previous `Glob` object can be passed as the + * `GlobOptions` to another `Glob` instantiation to re-use settings + * and caches with a new pattern. + * + * Traversal functions can be called multiple times to run the walk + * again. + */ + constructor(pattern, opts) { + /* c8 ignore start */ + if (!opts) + throw new TypeError('glob options required'); + /* c8 ignore stop */ + this.withFileTypes = !!opts.withFileTypes; + this.signal = opts.signal; + this.follow = !!opts.follow; + this.dot = !!opts.dot; + this.dotRelative = !!opts.dotRelative; + this.nodir = !!opts.nodir; + this.mark = !!opts.mark; + if (!opts.cwd) { + this.cwd = ''; + } + else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) { + opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd); + } + this.cwd = opts.cwd || ''; + this.root = opts.root; + this.magicalBraces = !!opts.magicalBraces; + this.nobrace = !!opts.nobrace; + this.noext = !!opts.noext; + this.realpath = !!opts.realpath; + this.absolute = opts.absolute; + this.includeChildMatches = opts.includeChildMatches !== false; + this.noglobstar = !!opts.noglobstar; + this.matchBase = !!opts.matchBase; + this.maxDepth = + typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity; + this.stat = !!opts.stat; + this.ignore = opts.ignore; + if (this.withFileTypes && this.absolute !== undefined) { + throw new Error('cannot set absolute and withFileTypes:true'); + } + if (typeof pattern === 'string') { + pattern = [pattern]; + } + this.windowsPathsNoEscape = + !!opts.windowsPathsNoEscape || + opts.allowWindowsEscape === + false; + if (this.windowsPathsNoEscape) { + pattern = pattern.map(p => p.replace(/\\/g, '/')); + } + if (this.matchBase) { + if (opts.noglobstar) { + throw new TypeError('base matching requires globstar'); + } + pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`)); + } + this.pattern = pattern; + this.platform = opts.platform || defaultPlatform; + this.opts = { ...opts, platform: this.platform }; + if (opts.scurry) { + this.scurry = opts.scurry; + if (opts.nocase !== undefined && + opts.nocase !== opts.scurry.nocase) { + throw new Error('nocase option contradicts provided scurry option'); + } + } + else { + const Scurry = opts.platform === 'win32' ? path_scurry_1.PathScurryWin32 + : opts.platform === 'darwin' ? path_scurry_1.PathScurryDarwin + : opts.platform ? path_scurry_1.PathScurryPosix + : path_scurry_1.PathScurry; + this.scurry = new Scurry(this.cwd, { + nocase: opts.nocase, + fs: opts.fs, + }); + } + this.nocase = this.scurry.nocase; + // If you do nocase:true on a case-sensitive file system, then + // we need to use regexps instead of strings for non-magic + // path portions, because statting `aBc` won't return results + // for the file `AbC` for example. + const nocaseMagicOnly = this.platform === 'darwin' || this.platform === 'win32'; + const mmo = { + // default nocase based on platform + ...opts, + dot: this.dot, + matchBase: this.matchBase, + nobrace: this.nobrace, + nocase: this.nocase, + nocaseMagicOnly, + nocomment: true, + noext: this.noext, + nonegate: true, + optimizationLevel: 2, + platform: this.platform, + windowsPathsNoEscape: this.windowsPathsNoEscape, + debug: !!this.opts.debug, + }; + const mms = this.pattern.map(p => new minimatch_1.Minimatch(p, mmo)); + const [matchSet, globParts] = mms.reduce((set, m) => { + set[0].push(...m.set); + set[1].push(...m.globParts); + return set; + }, [[], []]); + this.patterns = matchSet.map((set, i) => { + const g = globParts[i]; + /* c8 ignore start */ + if (!g) + throw new Error('invalid pattern object'); + /* c8 ignore stop */ + return new pattern_js_1.Pattern(set, g, 0, this.platform); + }); + } + async walk() { + // Walkers always return array of Path objects, so we just have to + // coerce them into the right shape. It will have already called + // realpath() if the option was set to do so, so we know that's cached. + // start out knowing the cwd, at least + return [ + ...(await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity ? + this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + includeChildMatches: this.includeChildMatches, + }).walk()), + ]; + } + walkSync() { + return [ + ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity ? + this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + includeChildMatches: this.includeChildMatches, + }).walkSync(), + ]; + } + stream() { + return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity ? + this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + includeChildMatches: this.includeChildMatches, + }).stream(); + } + streamSync() { + return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, { + ...this.opts, + maxDepth: this.maxDepth !== Infinity ? + this.maxDepth + this.scurry.cwd.depth() + : Infinity, + platform: this.platform, + nocase: this.nocase, + includeChildMatches: this.includeChildMatches, + }).streamSync(); + } + /** + * Default sync iteration function. Returns a Generator that + * iterates over the results. + */ + iterateSync() { + return this.streamSync()[Symbol.iterator](); + } + [Symbol.iterator]() { + return this.iterateSync(); + } + /** + * Default async iteration function. Returns an AsyncGenerator that + * iterates over the results. + */ + iterate() { + return this.stream()[Symbol.asyncIterator](); + } + [Symbol.asyncIterator]() { + return this.iterate(); + } +} +exports.Glob = Glob; +//# sourceMappingURL=glob.js.map + +/***/ }, + +/***/ 35029 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.hasMagic = void 0; +const minimatch_1 = __webpack_require__(74361); +/** + * Return true if the patterns provided contain any magic glob characters, + * given the options provided. + * + * Brace expansion is not considered "magic" unless the `magicalBraces` option + * is set, as brace expansion just turns one string into an array of strings. + * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and + * `'xby'` both do not contain any magic glob characters, and it's treated the + * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true` + * is in the options, brace expansion _is_ treated as a pattern having magic. + */ +const hasMagic = (pattern, options = {}) => { + if (!Array.isArray(pattern)) { + pattern = [pattern]; + } + for (const p of pattern) { + if (new minimatch_1.Minimatch(p, options).hasMagic()) + return true; + } + return false; +}; +exports.hasMagic = hasMagic; +//# sourceMappingURL=has-magic.js.map + +/***/ }, + +/***/ 9933 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// give it a pattern, and it'll be able to tell you if +// a given path should be ignored. +// Ignoring a path ignores its children if the pattern ends in /** +// Ignores are always parsed in dot:true mode +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Ignore = void 0; +const minimatch_1 = __webpack_require__(74361); +const pattern_js_1 = __webpack_require__(33053); +const defaultPlatform = (typeof process === 'object' && + process && + typeof process.platform === 'string') ? + process.platform + : 'linux'; +/** + * Class used to process ignored patterns + */ +class Ignore { + relative; + relativeChildren; + absolute; + absoluteChildren; + platform; + mmopts; + constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform, }) { + this.relative = []; + this.absolute = []; + this.relativeChildren = []; + this.absoluteChildren = []; + this.platform = platform; + this.mmopts = { + dot: true, + nobrace, + nocase, + noext, + noglobstar, + optimizationLevel: 2, + platform, + nocomment: true, + nonegate: true, + }; + for (const ign of ignored) + this.add(ign); + } + add(ign) { + // this is a little weird, but it gives us a clean set of optimized + // minimatch matchers, without getting tripped up if one of them + // ends in /** inside a brace section, and it's only inefficient at + // the start of the walk, not along it. + // It'd be nice if the Pattern class just had a .test() method, but + // handling globstars is a bit of a pita, and that code already lives + // in minimatch anyway. + // Another way would be if maybe Minimatch could take its set/globParts + // as an option, and then we could at least just use Pattern to test + // for absolute-ness. + // Yet another way, Minimatch could take an array of glob strings, and + // a cwd option, and do the right thing. + const mm = new minimatch_1.Minimatch(ign, this.mmopts); + for (let i = 0; i < mm.set.length; i++) { + const parsed = mm.set[i]; + const globParts = mm.globParts[i]; + /* c8 ignore start */ + if (!parsed || !globParts) { + throw new Error('invalid pattern object'); + } + // strip off leading ./ portions + // https://github.com/isaacs/node-glob/issues/570 + while (parsed[0] === '.' && globParts[0] === '.') { + parsed.shift(); + globParts.shift(); + } + /* c8 ignore stop */ + const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform); + const m = new minimatch_1.Minimatch(p.globString(), this.mmopts); + const children = globParts[globParts.length - 1] === '**'; + const absolute = p.isAbsolute(); + if (absolute) + this.absolute.push(m); + else + this.relative.push(m); + if (children) { + if (absolute) + this.absoluteChildren.push(m); + else + this.relativeChildren.push(m); + } + } + } + ignored(p) { + const fullpath = p.fullpath(); + const fullpaths = `${fullpath}/`; + const relative = p.relative() || '.'; + const relatives = `${relative}/`; + for (const m of this.relative) { + if (m.match(relative) || m.match(relatives)) + return true; + } + for (const m of this.absolute) { + if (m.match(fullpath) || m.match(fullpaths)) + return true; + } + return false; + } + childrenIgnored(p) { + const fullpath = p.fullpath() + '/'; + const relative = (p.relative() || '.') + '/'; + for (const m of this.relativeChildren) { + if (m.match(relative)) + return true; + } + for (const m of this.absoluteChildren) { + if (m.match(fullpath)) + return true; + } + return false; + } +} +exports.Ignore = Ignore; +//# sourceMappingURL=ignore.js.map + +/***/ }, + +/***/ 52171 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.glob = exports.sync = exports.iterate = exports.iterateSync = exports.stream = exports.streamSync = exports.globIterate = exports.globIterateSync = exports.globSync = exports.globStream = exports.globStreamSync = exports.Ignore = exports.hasMagic = exports.Glob = exports.unescape = exports.escape = void 0; +const minimatch_1 = __webpack_require__(74361); +const glob_js_1 = __webpack_require__(69453); +const has_magic_js_1 = __webpack_require__(35029); +var minimatch_2 = __webpack_require__(74361); +Object.defineProperty(exports, "escape", ({ enumerable: true, get: function () { return minimatch_2.escape; } })); +Object.defineProperty(exports, "unescape", ({ enumerable: true, get: function () { return minimatch_2.unescape; } })); +var glob_js_2 = __webpack_require__(69453); +Object.defineProperty(exports, "Glob", ({ enumerable: true, get: function () { return glob_js_2.Glob; } })); +var has_magic_js_2 = __webpack_require__(35029); +Object.defineProperty(exports, "hasMagic", ({ enumerable: true, get: function () { return has_magic_js_2.hasMagic; } })); +var ignore_js_1 = __webpack_require__(9933); +Object.defineProperty(exports, "Ignore", ({ enumerable: true, get: function () { return ignore_js_1.Ignore; } })); +function globStreamSync(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).streamSync(); +} +exports.globStreamSync = globStreamSync; +function globStream(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).stream(); +} +exports.globStream = globStream; +function globSync(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).walkSync(); +} +exports.globSync = globSync; +async function glob_(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).walk(); +} +function globIterateSync(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).iterateSync(); +} +exports.globIterateSync = globIterateSync; +function globIterate(pattern, options = {}) { + return new glob_js_1.Glob(pattern, options).iterate(); +} +exports.globIterate = globIterate; +// aliases: glob.sync.stream() glob.stream.sync() glob.sync() etc +exports.streamSync = globStreamSync; +exports.stream = Object.assign(globStream, { sync: globStreamSync }); +exports.iterateSync = globIterateSync; +exports.iterate = Object.assign(globIterate, { + sync: globIterateSync, +}); +exports.sync = Object.assign(globSync, { + stream: globStreamSync, + iterate: globIterateSync, +}); +exports.glob = Object.assign(glob_, { + glob: glob_, + globSync, + sync: exports.sync, + globStream, + stream: exports.stream, + globStreamSync, + streamSync: exports.streamSync, + globIterate, + iterate: exports.iterate, + globIterateSync, + iterateSync: exports.iterateSync, + Glob: glob_js_1.Glob, + hasMagic: has_magic_js_1.hasMagic, + escape: minimatch_1.escape, + unescape: minimatch_1.unescape, +}); +exports.glob.glob = exports.glob; +//# sourceMappingURL=index.js.map + +/***/ }, + +/***/ 33053 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// this is just a very light wrapper around 2 arrays with an offset index +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Pattern = void 0; +const minimatch_1 = __webpack_require__(74361); +const isPatternList = (pl) => pl.length >= 1; +const isGlobList = (gl) => gl.length >= 1; +/** + * An immutable-ish view on an array of glob parts and their parsed + * results + */ +class Pattern { + #patternList; + #globList; + #index; + length; + #platform; + #rest; + #globString; + #isDrive; + #isUNC; + #isAbsolute; + #followGlobstar = true; + constructor(patternList, globList, index, platform) { + if (!isPatternList(patternList)) { + throw new TypeError('empty pattern list'); + } + if (!isGlobList(globList)) { + throw new TypeError('empty glob list'); + } + if (globList.length !== patternList.length) { + throw new TypeError('mismatched pattern list and glob list lengths'); + } + this.length = patternList.length; + if (index < 0 || index >= this.length) { + throw new TypeError('index out of range'); + } + this.#patternList = patternList; + this.#globList = globList; + this.#index = index; + this.#platform = platform; + // normalize root entries of absolute patterns on initial creation. + if (this.#index === 0) { + // c: => ['c:/'] + // C:/ => ['C:/'] + // C:/x => ['C:/', 'x'] + // //host/share => ['//host/share/'] + // //host/share/ => ['//host/share/'] + // //host/share/x => ['//host/share/', 'x'] + // /etc => ['/', 'etc'] + // / => ['/'] + if (this.isUNC()) { + // '' / '' / 'host' / 'share' + const [p0, p1, p2, p3, ...prest] = this.#patternList; + const [g0, g1, g2, g3, ...grest] = this.#globList; + if (prest[0] === '') { + // ends in / + prest.shift(); + grest.shift(); + } + const p = [p0, p1, p2, p3, ''].join('/'); + const g = [g0, g1, g2, g3, ''].join('/'); + this.#patternList = [p, ...prest]; + this.#globList = [g, ...grest]; + this.length = this.#patternList.length; + } + else if (this.isDrive() || this.isAbsolute()) { + const [p1, ...prest] = this.#patternList; + const [g1, ...grest] = this.#globList; + if (prest[0] === '') { + // ends in / + prest.shift(); + grest.shift(); + } + const p = p1 + '/'; + const g = g1 + '/'; + this.#patternList = [p, ...prest]; + this.#globList = [g, ...grest]; + this.length = this.#patternList.length; + } + } + } + /** + * The first entry in the parsed list of patterns + */ + pattern() { + return this.#patternList[this.#index]; + } + /** + * true of if pattern() returns a string + */ + isString() { + return typeof this.#patternList[this.#index] === 'string'; + } + /** + * true of if pattern() returns GLOBSTAR + */ + isGlobstar() { + return this.#patternList[this.#index] === minimatch_1.GLOBSTAR; + } + /** + * true if pattern() returns a regexp + */ + isRegExp() { + return this.#patternList[this.#index] instanceof RegExp; + } + /** + * The /-joined set of glob parts that make up this pattern + */ + globString() { + return (this.#globString = + this.#globString || + (this.#index === 0 ? + this.isAbsolute() ? + this.#globList[0] + this.#globList.slice(1).join('/') + : this.#globList.join('/') + : this.#globList.slice(this.#index).join('/'))); + } + /** + * true if there are more pattern parts after this one + */ + hasMore() { + return this.length > this.#index + 1; + } + /** + * The rest of the pattern after this part, or null if this is the end + */ + rest() { + if (this.#rest !== undefined) + return this.#rest; + if (!this.hasMore()) + return (this.#rest = null); + this.#rest = new Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform); + this.#rest.#isAbsolute = this.#isAbsolute; + this.#rest.#isUNC = this.#isUNC; + this.#rest.#isDrive = this.#isDrive; + return this.#rest; + } + /** + * true if the pattern represents a //unc/path/ on windows + */ + isUNC() { + const pl = this.#patternList; + return this.#isUNC !== undefined ? + this.#isUNC + : (this.#isUNC = + this.#platform === 'win32' && + this.#index === 0 && + pl[0] === '' && + pl[1] === '' && + typeof pl[2] === 'string' && + !!pl[2] && + typeof pl[3] === 'string' && + !!pl[3]); + } + // pattern like C:/... + // split = ['C:', ...] + // XXX: would be nice to handle patterns like `c:*` to test the cwd + // in c: for *, but I don't know of a way to even figure out what that + // cwd is without actually chdir'ing into it? + /** + * True if the pattern starts with a drive letter on Windows + */ + isDrive() { + const pl = this.#patternList; + return this.#isDrive !== undefined ? + this.#isDrive + : (this.#isDrive = + this.#platform === 'win32' && + this.#index === 0 && + this.length > 1 && + typeof pl[0] === 'string' && + /^[a-z]:$/i.test(pl[0])); + } + // pattern = '/' or '/...' or '/x/...' + // split = ['', ''] or ['', ...] or ['', 'x', ...] + // Drive and UNC both considered absolute on windows + /** + * True if the pattern is rooted on an absolute path + */ + isAbsolute() { + const pl = this.#patternList; + return this.#isAbsolute !== undefined ? + this.#isAbsolute + : (this.#isAbsolute = + (pl[0] === '' && pl.length > 1) || + this.isDrive() || + this.isUNC()); + } + /** + * consume the root of the pattern, and return it + */ + root() { + const p = this.#patternList[0]; + return (typeof p === 'string' && this.isAbsolute() && this.#index === 0) ? + p + : ''; + } + /** + * Check to see if the current globstar pattern is allowed to follow + * a symbolic link. + */ + checkFollowGlobstar() { + return !(this.#index === 0 || + !this.isGlobstar() || + !this.#followGlobstar); + } + /** + * Mark that the current globstar pattern is following a symbolic link + */ + markFollowGlobstar() { + if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar) + return false; + this.#followGlobstar = false; + return true; + } +} +exports.Pattern = Pattern; +//# sourceMappingURL=pattern.js.map + +/***/ }, + +/***/ 24123 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// synchronous utility for filtering entries and calculating subwalks +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.Processor = exports.SubWalks = exports.MatchRecord = exports.HasWalkedCache = void 0; +const minimatch_1 = __webpack_require__(74361); +/** + * A cache of which patterns have been processed for a given Path + */ +class HasWalkedCache { + store; + constructor(store = new Map()) { + this.store = store; + } + copy() { + return new HasWalkedCache(new Map(this.store)); + } + hasWalked(target, pattern) { + return this.store.get(target.fullpath())?.has(pattern.globString()); + } + storeWalked(target, pattern) { + const fullpath = target.fullpath(); + const cached = this.store.get(fullpath); + if (cached) + cached.add(pattern.globString()); + else + this.store.set(fullpath, new Set([pattern.globString()])); + } +} +exports.HasWalkedCache = HasWalkedCache; +/** + * A record of which paths have been matched in a given walk step, + * and whether they only are considered a match if they are a directory, + * and whether their absolute or relative path should be returned. + */ +class MatchRecord { + store = new Map(); + add(target, absolute, ifDir) { + const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0); + const current = this.store.get(target); + this.store.set(target, current === undefined ? n : n & current); + } + // match, absolute, ifdir + entries() { + return [...this.store.entries()].map(([path, n]) => [ + path, + !!(n & 2), + !!(n & 1), + ]); + } +} +exports.MatchRecord = MatchRecord; +/** + * A collection of patterns that must be processed in a subsequent step + * for a given path. + */ +class SubWalks { + store = new Map(); + add(target, pattern) { + if (!target.canReaddir()) { + return; + } + const subs = this.store.get(target); + if (subs) { + if (!subs.find(p => p.globString() === pattern.globString())) { + subs.push(pattern); + } + } + else + this.store.set(target, [pattern]); + } + get(target) { + const subs = this.store.get(target); + /* c8 ignore start */ + if (!subs) { + throw new Error('attempting to walk unknown path'); + } + /* c8 ignore stop */ + return subs; + } + entries() { + return this.keys().map(k => [k, this.store.get(k)]); + } + keys() { + return [...this.store.keys()].filter(t => t.canReaddir()); + } +} +exports.SubWalks = SubWalks; +/** + * The class that processes patterns for a given path. + * + * Handles child entry filtering, and determining whether a path's + * directory contents must be read. + */ +class Processor { + hasWalkedCache; + matches = new MatchRecord(); + subwalks = new SubWalks(); + patterns; + follow; + dot; + opts; + constructor(opts, hasWalkedCache) { + this.opts = opts; + this.follow = !!opts.follow; + this.dot = !!opts.dot; + this.hasWalkedCache = + hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache(); + } + processPatterns(target, patterns) { + this.patterns = patterns; + const processingSet = patterns.map(p => [target, p]); + // map of paths to the magic-starting subwalks they need to walk + // first item in patterns is the filter + for (let [t, pattern] of processingSet) { + this.hasWalkedCache.storeWalked(t, pattern); + const root = pattern.root(); + const absolute = pattern.isAbsolute() && this.opts.absolute !== false; + // start absolute patterns at root + if (root) { + t = t.resolve(root === '/' && this.opts.root !== undefined ? + this.opts.root + : root); + const rest = pattern.rest(); + if (!rest) { + this.matches.add(t, true, false); + continue; + } + else { + pattern = rest; + } + } + if (t.isENOENT()) + continue; + let p; + let rest; + let changed = false; + while (typeof (p = pattern.pattern()) === 'string' && + (rest = pattern.rest())) { + const c = t.resolve(p); + t = c; + pattern = rest; + changed = true; + } + p = pattern.pattern(); + rest = pattern.rest(); + if (changed) { + if (this.hasWalkedCache.hasWalked(t, pattern)) + continue; + this.hasWalkedCache.storeWalked(t, pattern); + } + // now we have either a final string for a known entry, + // more strings for an unknown entry, + // or a pattern starting with magic, mounted on t. + if (typeof p === 'string') { + // must not be final entry, otherwise we would have + // concatenated it earlier. + const ifDir = p === '..' || p === '' || p === '.'; + this.matches.add(t.resolve(p), absolute, ifDir); + continue; + } + else if (p === minimatch_1.GLOBSTAR) { + // if no rest, match and subwalk pattern + // if rest, process rest and subwalk pattern + // if it's a symlink, but we didn't get here by way of a + // globstar match (meaning it's the first time THIS globstar + // has traversed a symlink), then we follow it. Otherwise, stop. + if (!t.isSymbolicLink() || + this.follow || + pattern.checkFollowGlobstar()) { + this.subwalks.add(t, pattern); + } + const rp = rest?.pattern(); + const rrest = rest?.rest(); + if (!rest || ((rp === '' || rp === '.') && !rrest)) { + // only HAS to be a dir if it ends in **/ or **/. + // but ending in ** will match files as well. + this.matches.add(t, absolute, rp === '' || rp === '.'); + } + else { + if (rp === '..') { + // this would mean you're matching **/.. at the fs root, + // and no thanks, I'm not gonna test that specific case. + /* c8 ignore start */ + const tp = t.parent || t; + /* c8 ignore stop */ + if (!rrest) + this.matches.add(tp, absolute, true); + else if (!this.hasWalkedCache.hasWalked(tp, rrest)) { + this.subwalks.add(tp, rrest); + } + } + } + } + else if (p instanceof RegExp) { + this.subwalks.add(t, pattern); + } + } + return this; + } + subwalkTargets() { + return this.subwalks.keys(); + } + child() { + return new Processor(this.opts, this.hasWalkedCache); + } + // return a new Processor containing the subwalks for each + // child entry, and a set of matches, and + // a hasWalkedCache that's a copy of this one + // then we're going to call + filterEntries(parent, entries) { + const patterns = this.subwalks.get(parent); + // put matches and entry walks into the results processor + const results = this.child(); + for (const e of entries) { + for (const pattern of patterns) { + const absolute = pattern.isAbsolute(); + const p = pattern.pattern(); + const rest = pattern.rest(); + if (p === minimatch_1.GLOBSTAR) { + results.testGlobstar(e, pattern, rest, absolute); + } + else if (p instanceof RegExp) { + results.testRegExp(e, p, rest, absolute); + } + else { + results.testString(e, p, rest, absolute); + } + } + } + return results; + } + testGlobstar(e, pattern, rest, absolute) { + if (this.dot || !e.name.startsWith('.')) { + if (!pattern.hasMore()) { + this.matches.add(e, absolute, false); + } + if (e.canReaddir()) { + // if we're in follow mode or it's not a symlink, just keep + // testing the same pattern. If there's more after the globstar, + // then this symlink consumes the globstar. If not, then we can + // follow at most ONE symlink along the way, so we mark it, which + // also checks to ensure that it wasn't already marked. + if (this.follow || !e.isSymbolicLink()) { + this.subwalks.add(e, pattern); + } + else if (e.isSymbolicLink()) { + if (rest && pattern.checkFollowGlobstar()) { + this.subwalks.add(e, rest); + } + else if (pattern.markFollowGlobstar()) { + this.subwalks.add(e, pattern); + } + } + } + } + // if the NEXT thing matches this entry, then also add + // the rest. + if (rest) { + const rp = rest.pattern(); + if (typeof rp === 'string' && + // dots and empty were handled already + rp !== '..' && + rp !== '' && + rp !== '.') { + this.testString(e, rp, rest.rest(), absolute); + } + else if (rp === '..') { + /* c8 ignore start */ + const ep = e.parent || e; + /* c8 ignore stop */ + this.subwalks.add(ep, rest); + } + else if (rp instanceof RegExp) { + this.testRegExp(e, rp, rest.rest(), absolute); + } + } + } + testRegExp(e, p, rest, absolute) { + if (!p.test(e.name)) + return; + if (!rest) { + this.matches.add(e, absolute, false); + } + else { + this.subwalks.add(e, rest); + } + } + testString(e, p, rest, absolute) { + // should never happen? + if (!e.isNamed(p)) + return; + if (!rest) { + this.matches.add(e, absolute, false); + } + else { + this.subwalks.add(e, rest); + } + } +} +exports.Processor = Processor; +//# sourceMappingURL=processor.js.map + +/***/ }, + +/***/ 52909 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.GlobStream = exports.GlobWalker = exports.GlobUtil = void 0; +/** + * Single-use utility classes to provide functionality to the {@link Glob} + * methods. + * + * @module + */ +const minipass_1 = __webpack_require__(83657); +const ignore_js_1 = __webpack_require__(9933); +const processor_js_1 = __webpack_require__(24123); +const makeIgnore = (ignore, opts) => typeof ignore === 'string' ? new ignore_js_1.Ignore([ignore], opts) + : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts) + : ignore; +/** + * basic walking utilities that all the glob walker types use + */ +class GlobUtil { + path; + patterns; + opts; + seen = new Set(); + paused = false; + aborted = false; + #onResume = []; + #ignore; + #sep; + signal; + maxDepth; + includeChildMatches; + constructor(patterns, path, opts) { + this.patterns = patterns; + this.path = path; + this.opts = opts; + this.#sep = !opts.posix && opts.platform === 'win32' ? '\\' : '/'; + this.includeChildMatches = opts.includeChildMatches !== false; + if (opts.ignore || !this.includeChildMatches) { + this.#ignore = makeIgnore(opts.ignore ?? [], opts); + if (!this.includeChildMatches && + typeof this.#ignore.add !== 'function') { + const m = 'cannot ignore child matches, ignore lacks add() method.'; + throw new Error(m); + } + } + // ignore, always set with maxDepth, but it's optional on the + // GlobOptions type + /* c8 ignore start */ + this.maxDepth = opts.maxDepth || Infinity; + /* c8 ignore stop */ + if (opts.signal) { + this.signal = opts.signal; + this.signal.addEventListener('abort', () => { + this.#onResume.length = 0; + }); + } + } + #ignored(path) { + return this.seen.has(path) || !!this.#ignore?.ignored?.(path); + } + #childrenIgnored(path) { + return !!this.#ignore?.childrenIgnored?.(path); + } + // backpressure mechanism + pause() { + this.paused = true; + } + resume() { + /* c8 ignore start */ + if (this.signal?.aborted) + return; + /* c8 ignore stop */ + this.paused = false; + let fn = undefined; + while (!this.paused && (fn = this.#onResume.shift())) { + fn(); + } + } + onResume(fn) { + if (this.signal?.aborted) + return; + /* c8 ignore start */ + if (!this.paused) { + fn(); + } + else { + /* c8 ignore stop */ + this.#onResume.push(fn); + } + } + // do the requisite realpath/stat checking, and return the path + // to add or undefined to filter it out. + async matchCheck(e, ifDir) { + if (ifDir && this.opts.nodir) + return undefined; + let rpc; + if (this.opts.realpath) { + rpc = e.realpathCached() || (await e.realpath()); + if (!rpc) + return undefined; + e = rpc; + } + const needStat = e.isUnknown() || this.opts.stat; + const s = needStat ? await e.lstat() : e; + if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) { + const target = await s.realpath(); + /* c8 ignore start */ + if (target && (target.isUnknown() || this.opts.stat)) { + await target.lstat(); + } + /* c8 ignore stop */ + } + return this.matchCheckTest(s, ifDir); + } + matchCheckTest(e, ifDir) { + return (e && + (this.maxDepth === Infinity || e.depth() <= this.maxDepth) && + (!ifDir || e.canReaddir()) && + (!this.opts.nodir || !e.isDirectory()) && + (!this.opts.nodir || + !this.opts.follow || + !e.isSymbolicLink() || + !e.realpathCached()?.isDirectory()) && + !this.#ignored(e)) ? + e + : undefined; + } + matchCheckSync(e, ifDir) { + if (ifDir && this.opts.nodir) + return undefined; + let rpc; + if (this.opts.realpath) { + rpc = e.realpathCached() || e.realpathSync(); + if (!rpc) + return undefined; + e = rpc; + } + const needStat = e.isUnknown() || this.opts.stat; + const s = needStat ? e.lstatSync() : e; + if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) { + const target = s.realpathSync(); + if (target && (target?.isUnknown() || this.opts.stat)) { + target.lstatSync(); + } + } + return this.matchCheckTest(s, ifDir); + } + matchFinish(e, absolute) { + if (this.#ignored(e)) + return; + // we know we have an ignore if this is false, but TS doesn't + if (!this.includeChildMatches && this.#ignore?.add) { + const ign = `${e.relativePosix()}/**`; + this.#ignore.add(ign); + } + const abs = this.opts.absolute === undefined ? absolute : this.opts.absolute; + this.seen.add(e); + const mark = this.opts.mark && e.isDirectory() ? this.#sep : ''; + // ok, we have what we need! + if (this.opts.withFileTypes) { + this.matchEmit(e); + } + else if (abs) { + const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath(); + this.matchEmit(abs + mark); + } + else { + const rel = this.opts.posix ? e.relativePosix() : e.relative(); + const pre = this.opts.dotRelative && !rel.startsWith('..' + this.#sep) ? + '.' + this.#sep + : ''; + this.matchEmit(!rel ? '.' + mark : pre + rel + mark); + } + } + async match(e, absolute, ifDir) { + const p = await this.matchCheck(e, ifDir); + if (p) + this.matchFinish(p, absolute); + } + matchSync(e, absolute, ifDir) { + const p = this.matchCheckSync(e, ifDir); + if (p) + this.matchFinish(p, absolute); + } + walkCB(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) + cb(); + /* c8 ignore stop */ + this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb); + } + walkCB2(target, patterns, processor, cb) { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) + cb(); + if (this.paused) { + this.onResume(() => this.walkCB2(target, patterns, processor, cb)); + return; + } + processor.processPatterns(target, patterns); + // done processing. all of the above is sync, can be abstracted out. + // subwalks is a map of paths to the entry filters they need + // matches is a map of paths to [absolute, ifDir] tuples. + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + tasks++; + this.match(m, absolute, ifDir).then(() => next()); + } + for (const t of processor.subwalkTargets()) { + if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) { + continue; + } + tasks++; + const childrenCached = t.readdirCached(); + if (t.calledReaddir()) + this.walkCB3(t, childrenCached, processor, next); + else { + t.readdirCB((_, entries) => this.walkCB3(t, entries, processor, next), true); + } + } + next(); + } + walkCB3(target, entries, processor, cb) { + processor = processor.filterEntries(target, entries); + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + tasks++; + this.match(m, absolute, ifDir).then(() => next()); + } + for (const [target, patterns] of processor.subwalks.entries()) { + tasks++; + this.walkCB2(target, patterns, processor.child(), next); + } + next(); + } + walkCBSync(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) + cb(); + /* c8 ignore stop */ + this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb); + } + walkCB2Sync(target, patterns, processor, cb) { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) + cb(); + if (this.paused) { + this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb)); + return; + } + processor.processPatterns(target, patterns); + // done processing. all of the above is sync, can be abstracted out. + // subwalks is a map of paths to the entry filters they need + // matches is a map of paths to [absolute, ifDir] tuples. + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + this.matchSync(m, absolute, ifDir); + } + for (const t of processor.subwalkTargets()) { + if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) { + continue; + } + tasks++; + const children = t.readdirSync(); + this.walkCB3Sync(t, children, processor, next); + } + next(); + } + walkCB3Sync(target, entries, processor, cb) { + processor = processor.filterEntries(target, entries); + let tasks = 1; + const next = () => { + if (--tasks === 0) + cb(); + }; + for (const [m, absolute, ifDir] of processor.matches.entries()) { + if (this.#ignored(m)) + continue; + this.matchSync(m, absolute, ifDir); + } + for (const [target, patterns] of processor.subwalks.entries()) { + tasks++; + this.walkCB2Sync(target, patterns, processor.child(), next); + } + next(); + } +} +exports.GlobUtil = GlobUtil; +class GlobWalker extends GlobUtil { + matches = new Set(); + constructor(patterns, path, opts) { + super(patterns, path, opts); + } + matchEmit(e) { + this.matches.add(e); + } + async walk() { + if (this.signal?.aborted) + throw this.signal.reason; + if (this.path.isUnknown()) { + await this.path.lstat(); + } + await new Promise((res, rej) => { + this.walkCB(this.path, this.patterns, () => { + if (this.signal?.aborted) { + rej(this.signal.reason); + } + else { + res(this.matches); + } + }); + }); + return this.matches; + } + walkSync() { + if (this.signal?.aborted) + throw this.signal.reason; + if (this.path.isUnknown()) { + this.path.lstatSync(); + } + // nothing for the callback to do, because this never pauses + this.walkCBSync(this.path, this.patterns, () => { + if (this.signal?.aborted) + throw this.signal.reason; + }); + return this.matches; + } +} +exports.GlobWalker = GlobWalker; +class GlobStream extends GlobUtil { + results; + constructor(patterns, path, opts) { + super(patterns, path, opts); + this.results = new minipass_1.Minipass({ + signal: this.signal, + objectMode: true, + }); + this.results.on('drain', () => this.resume()); + this.results.on('resume', () => this.resume()); + } + matchEmit(e) { + this.results.write(e); + if (!this.results.flowing) + this.pause(); + } + stream() { + const target = this.path; + if (target.isUnknown()) { + target.lstat().then(() => { + this.walkCB(target, this.patterns, () => this.results.end()); + }); + } + else { + this.walkCB(target, this.patterns, () => this.results.end()); + } + return this.results; + } + streamSync() { + if (this.path.isUnknown()) { + this.path.lstatSync(); + } + this.walkCBSync(this.path, this.patterns, () => this.results.end()); + return this.results; + } +} +exports.GlobStream = GlobStream; +//# sourceMappingURL=walker.js.map + +/***/ }, + +/***/ 22967 +(__unused_webpack_module, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.assertValidPattern = void 0; +const MAX_PATTERN_LENGTH = 1024 * 64; +const assertValidPattern = (pattern) => { + if (typeof pattern !== 'string') { + throw new TypeError('invalid pattern'); + } + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError('pattern is too long'); + } +}; +exports.assertValidPattern = assertValidPattern; +//# sourceMappingURL=assert-valid-pattern.js.map + +/***/ }, + +/***/ 11889 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +// parse a single path portion +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.AST = void 0; +const brace_expressions_js_1 = __webpack_require__(83728); +const unescape_js_1 = __webpack_require__(54461); +const types = new Set(['!', '?', '+', '*', '@']); +const isExtglobType = (c) => types.has(c); +// Patterns that get prepended to bind to the start of either the +// entire string, or just a single path portion, to prevent dots +// and/or traversal patterns, when needed. +// Exts don't need the ^ or / bit, because the root binds that already. +const startNoTraversal = '(?!(?:^|/)\\.\\.?(?:$|/))'; +const startNoDot = '(?!\\.)'; +// characters that indicate a start of pattern needs the "no dots" bit, +// because a dot *might* be matched. ( is not in the list, because in +// the case of a child extglob, it will handle the prevention itself. +const addPatternStart = new Set(['[', '.']); +// cases where traversal is A-OK, no dot prevention needed +const justDots = new Set(['..', '.']); +const reSpecials = new Set('().*{}+?[]^$\\!'); +const regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +// any single thing other than / +const qmark = '[^/]'; +// * => any number of characters +const star = qmark + '*?'; +// use + when we need to ensure that *something* matches, because the * is +// the only thing in the path portion. +const starNoEmpty = qmark + '+?'; +// remove the \ chars that we added if we end up doing a nonmagic compare +// const deslash = (s: string) => s.replace(/\\(.)/g, '$1') +class AST { + type; + #root; + #hasMagic; + #uflag = false; + #parts = []; + #parent; + #parentIndex; + #negs; + #filledNegs = false; + #options; + #toString; + // set to true if it's an extglob with no children + // (which really means one child of '') + #emptyExt = false; + constructor(type, parent, options = {}) { + this.type = type; + // extglobs are inherently magical + if (type) + this.#hasMagic = true; + this.#parent = parent; + this.#root = this.#parent ? this.#parent.#root : this; + this.#options = this.#root === this ? options : this.#root.#options; + this.#negs = this.#root === this ? [] : this.#root.#negs; + if (type === '!' && !this.#root.#filledNegs) + this.#negs.push(this); + this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0; + } + get hasMagic() { + /* c8 ignore start */ + if (this.#hasMagic !== undefined) + return this.#hasMagic; + /* c8 ignore stop */ + for (const p of this.#parts) { + if (typeof p === 'string') + continue; + if (p.type || p.hasMagic) + return (this.#hasMagic = true); + } + // note: will be undefined until we generate the regexp src and find out + return this.#hasMagic; + } + // reconstructs the pattern + toString() { + if (this.#toString !== undefined) + return this.#toString; + if (!this.type) { + return (this.#toString = this.#parts.map(p => String(p)).join('')); + } + else { + return (this.#toString = + this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')'); + } + } + #fillNegs() { + /* c8 ignore start */ + if (this !== this.#root) + throw new Error('should only call on root'); + if (this.#filledNegs) + return this; + /* c8 ignore stop */ + // call toString() once to fill this out + this.toString(); + this.#filledNegs = true; + let n; + while ((n = this.#negs.pop())) { + if (n.type !== '!') + continue; + // walk up the tree, appending everthing that comes AFTER parentIndex + let p = n; + let pp = p.#parent; + while (pp) { + for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) { + for (const part of n.#parts) { + /* c8 ignore start */ + if (typeof part === 'string') { + throw new Error('string part in extglob AST??'); + } + /* c8 ignore stop */ + part.copyIn(pp.#parts[i]); + } + } + p = pp; + pp = p.#parent; + } + } + return this; + } + push(...parts) { + for (const p of parts) { + if (p === '') + continue; + /* c8 ignore start */ + if (typeof p !== 'string' && !(p instanceof AST && p.#parent === this)) { + throw new Error('invalid part: ' + p); + } + /* c8 ignore stop */ + this.#parts.push(p); + } + } + toJSON() { + const ret = this.type === null + ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON())) + : [this.type, ...this.#parts.map(p => p.toJSON())]; + if (this.isStart() && !this.type) + ret.unshift([]); + if (this.isEnd() && + (this === this.#root || + (this.#root.#filledNegs && this.#parent?.type === '!'))) { + ret.push({}); + } + return ret; + } + isStart() { + if (this.#root === this) + return true; + // if (this.type) return !!this.#parent?.isStart() + if (!this.#parent?.isStart()) + return false; + if (this.#parentIndex === 0) + return true; + // if everything AHEAD of this is a negation, then it's still the "start" + const p = this.#parent; + for (let i = 0; i < this.#parentIndex; i++) { + const pp = p.#parts[i]; + if (!(pp instanceof AST && pp.type === '!')) { + return false; + } + } + return true; + } + isEnd() { + if (this.#root === this) + return true; + if (this.#parent?.type === '!') + return true; + if (!this.#parent?.isEnd()) + return false; + if (!this.type) + return this.#parent?.isEnd(); + // if not root, it'll always have a parent + /* c8 ignore start */ + const pl = this.#parent ? this.#parent.#parts.length : 0; + /* c8 ignore stop */ + return this.#parentIndex === pl - 1; + } + copyIn(part) { + if (typeof part === 'string') + this.push(part); + else + this.push(part.clone(this)); + } + clone(parent) { + const c = new AST(this.type, parent); + for (const p of this.#parts) { + c.copyIn(p); + } + return c; + } + static #parseAST(str, ast, pos, opt) { + let escaping = false; + let inBrace = false; + let braceStart = -1; + let braceNeg = false; + if (ast.type === null) { + // outside of a extglob, append until we find a start + let i = pos; + let acc = ''; + while (i < str.length) { + const c = str.charAt(i++); + // still accumulate escapes at this point, but we do ignore + // starts that are escaped + if (escaping || c === '\\') { + escaping = !escaping; + acc += c; + continue; + } + if (inBrace) { + if (i === braceStart + 1) { + if (c === '^' || c === '!') { + braceNeg = true; + } + } + else if (c === ']' && !(i === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc += c; + continue; + } + else if (c === '[') { + inBrace = true; + braceStart = i; + braceNeg = false; + acc += c; + continue; + } + if (!opt.noext && isExtglobType(c) && str.charAt(i) === '(') { + ast.push(acc); + acc = ''; + const ext = new AST(c, ast); + i = AST.#parseAST(str, ext, i, opt); + ast.push(ext); + continue; + } + acc += c; + } + ast.push(acc); + return i; + } + // some kind of extglob, pos is at the ( + // find the next | or ) + let i = pos + 1; + let part = new AST(null, ast); + const parts = []; + let acc = ''; + while (i < str.length) { + const c = str.charAt(i++); + // still accumulate escapes at this point, but we do ignore + // starts that are escaped + if (escaping || c === '\\') { + escaping = !escaping; + acc += c; + continue; + } + if (inBrace) { + if (i === braceStart + 1) { + if (c === '^' || c === '!') { + braceNeg = true; + } + } + else if (c === ']' && !(i === braceStart + 2 && braceNeg)) { + inBrace = false; + } + acc += c; + continue; + } + else if (c === '[') { + inBrace = true; + braceStart = i; + braceNeg = false; + acc += c; + continue; + } + if (isExtglobType(c) && str.charAt(i) === '(') { + part.push(acc); + acc = ''; + const ext = new AST(c, part); + part.push(ext); + i = AST.#parseAST(str, ext, i, opt); + continue; + } + if (c === '|') { + part.push(acc); + acc = ''; + parts.push(part); + part = new AST(null, ast); + continue; + } + if (c === ')') { + if (acc === '' && ast.#parts.length === 0) { + ast.#emptyExt = true; + } + part.push(acc); + acc = ''; + ast.push(...parts, part); + return i; + } + acc += c; + } + // unfinished extglob + // if we got here, it was a malformed extglob! not an extglob, but + // maybe something else in there. + ast.type = null; + ast.#hasMagic = undefined; + ast.#parts = [str.substring(pos - 1)]; + return i; + } + static fromGlob(pattern, options = {}) { + const ast = new AST(null, undefined, options); + AST.#parseAST(pattern, ast, 0, options); + return ast; + } + // returns the regular expression if there's magic, or the unescaped + // string if not. + toMMPattern() { + // should only be called on root + /* c8 ignore start */ + if (this !== this.#root) + return this.#root.toMMPattern(); + /* c8 ignore stop */ + const glob = this.toString(); + const [re, body, hasMagic, uflag] = this.toRegExpSource(); + // if we're in nocase mode, and not nocaseMagicOnly, then we do + // still need a regular expression if we have to case-insensitively + // match capital/lowercase characters. + const anyMagic = hasMagic || + this.#hasMagic || + (this.#options.nocase && + !this.#options.nocaseMagicOnly && + glob.toUpperCase() !== glob.toLowerCase()); + if (!anyMagic) { + return body; + } + const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : ''); + return Object.assign(new RegExp(`^${re}$`, flags), { + _src: re, + _glob: glob, + }); + } + get options() { + return this.#options; + } + // returns the string match, the regexp source, whether there's magic + // in the regexp (so a regular expression is required) and whether or + // not the uflag is needed for the regular expression (for posix classes) + // TODO: instead of injecting the start/end at this point, just return + // the BODY of the regexp, along with the start/end portions suitable + // for binding the start/end in either a joined full-path makeRe context + // (where we bind to (^|/), or a standalone matchPart context (where + // we bind to ^, and not /). Otherwise slashes get duped! + // + // In part-matching mode, the start is: + // - if not isStart: nothing + // - if traversal possible, but not allowed: ^(?!\.\.?$) + // - if dots allowed or not possible: ^ + // - if dots possible and not allowed: ^(?!\.) + // end is: + // - if not isEnd(): nothing + // - else: $ + // + // In full-path matching mode, we put the slash at the START of the + // pattern, so start is: + // - if first pattern: same as part-matching mode + // - if not isStart(): nothing + // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/)) + // - if dots allowed or not possible: / + // - if dots possible and not allowed: /(?!\.) + // end is: + // - if last pattern, same as part-matching mode + // - else nothing + // + // Always put the (?:$|/) on negated tails, though, because that has to be + // there to bind the end of the negated pattern portion, and it's easier to + // just stick it in now rather than try to inject it later in the middle of + // the pattern. + // + // We can just always return the same end, and leave it up to the caller + // to know whether it's going to be used joined or in parts. + // And, if the start is adjusted slightly, can do the same there: + // - if not isStart: nothing + // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$) + // - if dots allowed or not possible: (?:/|^) + // - if dots possible and not allowed: (?:/|^)(?!\.) + // + // But it's better to have a simpler binding without a conditional, for + // performance, so probably better to return both start options. + // + // Then the caller just ignores the end if it's not the first pattern, + // and the start always gets applied. + // + // But that's always going to be $ if it's the ending pattern, or nothing, + // so the caller can just attach $ at the end of the pattern when building. + // + // So the todo is: + // - better detect what kind of start is needed + // - return both flavors of starting pattern + // - attach $ at the end of the pattern when creating the actual RegExp + // + // Ah, but wait, no, that all only applies to the root when the first pattern + // is not an extglob. If the first pattern IS an extglob, then we need all + // that dot prevention biz to live in the extglob portions, because eg + // +(*|.x*) can match .xy but not .yx. + // + // So, return the two flavors if it's #root and the first child is not an + // AST, otherwise leave it to the child AST to handle it, and there, + // use the (?:^|/) style of start binding. + // + // Even simplified further: + // - Since the start for a join is eg /(?!\.) and the start for a part + // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root + // or start or whatever) and prepend ^ or / at the Regexp construction. + toRegExpSource(allowDot) { + const dot = allowDot ?? !!this.#options.dot; + if (this.#root === this) + this.#fillNegs(); + if (!this.type) { + const noEmpty = this.isStart() && this.isEnd(); + const src = this.#parts + .map(p => { + const [re, _, hasMagic, uflag] = typeof p === 'string' + ? AST.#parseGlob(p, this.#hasMagic, noEmpty) + : p.toRegExpSource(allowDot); + this.#hasMagic = this.#hasMagic || hasMagic; + this.#uflag = this.#uflag || uflag; + return re; + }) + .join(''); + let start = ''; + if (this.isStart()) { + if (typeof this.#parts[0] === 'string') { + // this is the string that will match the start of the pattern, + // so we need to protect against dots and such. + // '.' and '..' cannot match unless the pattern is that exactly, + // even if it starts with . or dot:true is set. + const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]); + if (!dotTravAllowed) { + const aps = addPatternStart; + // check if we have a possibility of matching . or .., + // and prevent that. + const needNoTrav = + // dots are allowed, and the pattern starts with [ or . + (dot && aps.has(src.charAt(0))) || + // the pattern starts with \., and then [ or . + (src.startsWith('\\.') && aps.has(src.charAt(2))) || + // the pattern starts with \.\., and then [ or . + (src.startsWith('\\.\\.') && aps.has(src.charAt(4))); + // no need to prevent dots if it can't match a dot, or if a + // sub-pattern will be preventing it anyway. + const needNoDot = !dot && !allowDot && aps.has(src.charAt(0)); + start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : ''; + } + } + } + // append the "end of path portion" pattern to negation tails + let end = ''; + if (this.isEnd() && + this.#root.#filledNegs && + this.#parent?.type === '!') { + end = '(?:$|\\/)'; + } + const final = start + src + end; + return [ + final, + (0, unescape_js_1.unescape)(src), + (this.#hasMagic = !!this.#hasMagic), + this.#uflag, + ]; + } + // We need to calculate the body *twice* if it's a repeat pattern + // at the start, once in nodot mode, then again in dot mode, so a + // pattern like *(?) can match 'x.y' + const repeated = this.type === '*' || this.type === '+'; + // some kind of extglob + const start = this.type === '!' ? '(?:(?!(?:' : '(?:'; + let body = this.#partsToRegExp(dot); + if (this.isStart() && this.isEnd() && !body && this.type !== '!') { + // invalid extglob, has to at least be *something* present, if it's + // the entire path portion. + const s = this.toString(); + this.#parts = [s]; + this.type = null; + this.#hasMagic = undefined; + return [s, (0, unescape_js_1.unescape)(this.toString()), false, false]; + } + // XXX abstract out this map method + let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot + ? '' + : this.#partsToRegExp(true); + if (bodyDotAllowed === body) { + bodyDotAllowed = ''; + } + if (bodyDotAllowed) { + body = `(?:${body})(?:${bodyDotAllowed})*?`; + } + // an empty !() is exactly equivalent to a starNoEmpty + let final = ''; + if (this.type === '!' && this.#emptyExt) { + final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty; + } + else { + const close = this.type === '!' + ? // !() must match something,but !(x) can match '' + '))' + + (this.isStart() && !dot && !allowDot ? startNoDot : '') + + star + + ')' + : this.type === '@' + ? ')' + : this.type === '?' + ? ')?' + : this.type === '+' && bodyDotAllowed + ? ')' + : this.type === '*' && bodyDotAllowed + ? `)?` + : `)${this.type}`; + final = start + body + close; + } + return [ + final, + (0, unescape_js_1.unescape)(body), + (this.#hasMagic = !!this.#hasMagic), + this.#uflag, + ]; + } + #partsToRegExp(dot) { + return this.#parts + .map(p => { + // extglob ASTs should only contain parent ASTs + /* c8 ignore start */ + if (typeof p === 'string') { + throw new Error('string type in extglob ast??'); + } + /* c8 ignore stop */ + // can ignore hasMagic, because extglobs are already always magic + const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot); + this.#uflag = this.#uflag || uflag; + return re; + }) + .filter(p => !(this.isStart() && this.isEnd()) || !!p) + .join('|'); + } + static #parseGlob(glob, hasMagic, noEmpty = false) { + let escaping = false; + let re = ''; + let uflag = false; + for (let i = 0; i < glob.length; i++) { + const c = glob.charAt(i); + if (escaping) { + escaping = false; + re += (reSpecials.has(c) ? '\\' : '') + c; + continue; + } + if (c === '\\') { + if (i === glob.length - 1) { + re += '\\\\'; + } + else { + escaping = true; + } + continue; + } + if (c === '[') { + const [src, needUflag, consumed, magic] = (0, brace_expressions_js_1.parseClass)(glob, i); + if (consumed) { + re += src; + uflag = uflag || needUflag; + i += consumed - 1; + hasMagic = hasMagic || magic; + continue; + } + } + if (c === '*') { + if (noEmpty && glob === '*') + re += starNoEmpty; + else + re += star; + hasMagic = true; + continue; + } + if (c === '?') { + re += qmark; + hasMagic = true; + continue; + } + re += regExpEscape(c); + } + return [re, (0, unescape_js_1.unescape)(glob), !!hasMagic, uflag]; + } +} +exports.AST = AST; +//# sourceMappingURL=ast.js.map + +/***/ }, + +/***/ 83728 +(__unused_webpack_module, exports) { + +"use strict"; + +// translate the various posix character classes into unicode properties +// this works across all unicode locales +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.parseClass = void 0; +// { : [, /u flag required, negated] +const posixClasses = { + '[:alnum:]': ['\\p{L}\\p{Nl}\\p{Nd}', true], + '[:alpha:]': ['\\p{L}\\p{Nl}', true], + '[:ascii:]': ['\\x' + '00-\\x' + '7f', false], + '[:blank:]': ['\\p{Zs}\\t', true], + '[:cntrl:]': ['\\p{Cc}', true], + '[:digit:]': ['\\p{Nd}', true], + '[:graph:]': ['\\p{Z}\\p{C}', true, true], + '[:lower:]': ['\\p{Ll}', true], + '[:print:]': ['\\p{C}', true], + '[:punct:]': ['\\p{P}', true], + '[:space:]': ['\\p{Z}\\t\\r\\n\\v\\f', true], + '[:upper:]': ['\\p{Lu}', true], + '[:word:]': ['\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}', true], + '[:xdigit:]': ['A-Fa-f0-9', false], +}; +// only need to escape a few things inside of brace expressions +// escapes: [ \ ] - +const braceEscape = (s) => s.replace(/[[\]\\-]/g, '\\$&'); +// escape all regexp magic characters +const regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +// everything has already been escaped, we just have to join +const rangesToString = (ranges) => ranges.join(''); +// takes a glob string at a posix brace expression, and returns +// an equivalent regular expression source, and boolean indicating +// whether the /u flag needs to be applied, and the number of chars +// consumed to parse the character class. +// This also removes out of order ranges, and returns ($.) if the +// entire class just no good. +const parseClass = (glob, position) => { + const pos = position; + /* c8 ignore start */ + if (glob.charAt(pos) !== '[') { + throw new Error('not in a brace expression'); + } + /* c8 ignore stop */ + const ranges = []; + const negs = []; + let i = pos + 1; + let sawStart = false; + let uflag = false; + let escaping = false; + let negate = false; + let endPos = pos; + let rangeStart = ''; + WHILE: while (i < glob.length) { + const c = glob.charAt(i); + if ((c === '!' || c === '^') && i === pos + 1) { + negate = true; + i++; + continue; + } + if (c === ']' && sawStart && !escaping) { + endPos = i + 1; + break; + } + sawStart = true; + if (c === '\\') { + if (!escaping) { + escaping = true; + i++; + continue; + } + // escaped \ char, fall through and treat like normal char + } + if (c === '[' && !escaping) { + // either a posix class, a collation equivalent, or just a [ + for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) { + if (glob.startsWith(cls, i)) { + // invalid, [a-[] is fine, but not [a-[:alpha]] + if (rangeStart) { + return ['$.', false, glob.length - pos, true]; + } + i += cls.length; + if (neg) + negs.push(unip); + else + ranges.push(unip); + uflag = uflag || u; + continue WHILE; + } + } + } + // now it's just a normal character, effectively + escaping = false; + if (rangeStart) { + // throw this range away if it's not valid, but others + // can still match. + if (c > rangeStart) { + ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c)); + } + else if (c === rangeStart) { + ranges.push(braceEscape(c)); + } + rangeStart = ''; + i++; + continue; + } + // now might be the start of a range. + // can be either c-d or c-] or c] or c] at this point + if (glob.startsWith('-]', i + 1)) { + ranges.push(braceEscape(c + '-')); + i += 2; + continue; + } + if (glob.startsWith('-', i + 1)) { + rangeStart = c; + i += 2; + continue; + } + // not the start of a range, just a single character + ranges.push(braceEscape(c)); + i++; + } + if (endPos < i) { + // didn't see the end of the class, not a valid class, + // but might still be valid as a literal match. + return ['', false, 0, false]; + } + // if we got no ranges and no negates, then we have a range that + // cannot possibly match anything, and that poisons the whole glob + if (!ranges.length && !negs.length) { + return ['$.', false, glob.length - pos, true]; + } + // if we got one positive range, and it's a single character, then that's + // not actually a magic pattern, it's just that one literal character. + // we should not treat that as "magic", we should just return the literal + // character. [_] is a perfectly valid way to escape glob magic chars. + if (negs.length === 0 && + ranges.length === 1 && + /^\\?.$/.test(ranges[0]) && + !negate) { + const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0]; + return [regexpEscape(r), false, endPos - pos, false]; + } + const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']'; + const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']'; + const comb = ranges.length && negs.length + ? '(' + sranges + '|' + snegs + ')' + : ranges.length + ? sranges + : snegs; + return [comb, uflag, endPos - pos, true]; +}; +exports.parseClass = parseClass; +//# sourceMappingURL=brace-expressions.js.map + +/***/ }, + +/***/ 74686 +(__unused_webpack_module, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.escape = void 0; +/** + * Escape all magic characters in a glob pattern. + * + * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape} + * option is used, then characters are escaped by wrapping in `[]`, because + * a magic character wrapped in a character class can only be satisfied by + * that exact character. In this mode, `\` is _not_ escaped, because it is + * not interpreted as a magic character, but instead as a path separator. + */ +const escape = (s, { windowsPathsNoEscape = false, } = {}) => { + // don't need to escape +@! because we escape the parens + // that make those magic, and escaping ! as [!] isn't valid, + // because [!]] is a valid glob class meaning not ']'. + return windowsPathsNoEscape + ? s.replace(/[?*()[\]]/g, '[$&]') + : s.replace(/[?*()[\]\\]/g, '\\$&'); +}; +exports.escape = escape; +//# sourceMappingURL=escape.js.map + +/***/ }, + +/***/ 74361 +(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +exports.unescape = exports.escape = exports.AST = exports.Minimatch = exports.match = exports.makeRe = exports.braceExpand = exports.defaults = exports.filter = exports.GLOBSTAR = exports.sep = exports.minimatch = void 0; +const brace_expansion_1 = __importDefault(__webpack_require__(37579)); +const assert_valid_pattern_js_1 = __webpack_require__(22967); +const ast_js_1 = __webpack_require__(11889); +const escape_js_1 = __webpack_require__(74686); +const unescape_js_1 = __webpack_require__(54461); +const minimatch = (p, pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false; + } + return new Minimatch(pattern, options).match(p); +}; +exports.minimatch = minimatch; +// Optimized checking for the most common glob patterns. +const starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/; +const starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext); +const starDotExtTestDot = (ext) => (f) => f.endsWith(ext); +const starDotExtTestNocase = (ext) => { + ext = ext.toLowerCase(); + return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext); +}; +const starDotExtTestNocaseDot = (ext) => { + ext = ext.toLowerCase(); + return (f) => f.toLowerCase().endsWith(ext); +}; +const starDotStarRE = /^\*+\.\*+$/; +const starDotStarTest = (f) => !f.startsWith('.') && f.includes('.'); +const starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.'); +const dotStarRE = /^\.\*+$/; +const dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.'); +const starRE = /^\*+$/; +const starTest = (f) => f.length !== 0 && !f.startsWith('.'); +const starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..'; +const qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/; +const qmarksTestNocase = ([$0, ext = '']) => { + const noext = qmarksTestNoExt([$0]); + if (!ext) + return noext; + ext = ext.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext); +}; +const qmarksTestNocaseDot = ([$0, ext = '']) => { + const noext = qmarksTestNoExtDot([$0]); + if (!ext) + return noext; + ext = ext.toLowerCase(); + return (f) => noext(f) && f.toLowerCase().endsWith(ext); +}; +const qmarksTestDot = ([$0, ext = '']) => { + const noext = qmarksTestNoExtDot([$0]); + return !ext ? noext : (f) => noext(f) && f.endsWith(ext); +}; +const qmarksTest = ([$0, ext = '']) => { + const noext = qmarksTestNoExt([$0]); + return !ext ? noext : (f) => noext(f) && f.endsWith(ext); +}; +const qmarksTestNoExt = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && !f.startsWith('.'); +}; +const qmarksTestNoExtDot = ([$0]) => { + const len = $0.length; + return (f) => f.length === len && f !== '.' && f !== '..'; +}; +/* c8 ignore start */ +const defaultPlatform = (typeof process === 'object' && process + ? (typeof process.env === 'object' && + process.env && + process.env.__MINIMATCH_TESTING_PLATFORM__) || + process.platform + : 'posix'); +const path = { + win32: { sep: '\\' }, + posix: { sep: '/' }, +}; +/* c8 ignore stop */ +exports.sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep; +exports.minimatch.sep = exports.sep; +exports.GLOBSTAR = Symbol('globstar **'); +exports.minimatch.GLOBSTAR = exports.GLOBSTAR; +// any single thing other than / +// don't need to escape / when using new RegExp() +const qmark = '[^/]'; +// * => any number of characters +const star = qmark + '*?'; +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +const twoStarDot = '(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?'; +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +const twoStarNoDot = '(?:(?!(?:\\/|^)\\.).)*?'; +const filter = (pattern, options = {}) => (p) => (0, exports.minimatch)(p, pattern, options); +exports.filter = filter; +exports.minimatch.filter = exports.filter; +const ext = (a, b = {}) => Object.assign({}, a, b); +const defaults = (def) => { + if (!def || typeof def !== 'object' || !Object.keys(def).length) { + return exports.minimatch; + } + const orig = exports.minimatch; + const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options)); + return Object.assign(m, { + Minimatch: class Minimatch extends orig.Minimatch { + constructor(pattern, options = {}) { + super(pattern, ext(def, options)); + } + static defaults(options) { + return orig.defaults(ext(def, options)).Minimatch; + } + }, + AST: class AST extends orig.AST { + /* c8 ignore start */ + constructor(type, parent, options = {}) { + super(type, parent, ext(def, options)); + } + /* c8 ignore stop */ + static fromGlob(pattern, options = {}) { + return orig.AST.fromGlob(pattern, ext(def, options)); + } + }, + unescape: (s, options = {}) => orig.unescape(s, ext(def, options)), + escape: (s, options = {}) => orig.escape(s, ext(def, options)), + filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)), + defaults: (options) => orig.defaults(ext(def, options)), + makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)), + braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)), + match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)), + sep: orig.sep, + GLOBSTAR: exports.GLOBSTAR, + }); +}; +exports.defaults = defaults; +exports.minimatch.defaults = exports.defaults; +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +const braceExpand = (pattern, options = {}) => { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + // Thanks to Yeting Li for + // improving this regexp to avoid a ReDOS vulnerability. + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + // shortcut. no need to expand. + return [pattern]; + } + return (0, brace_expansion_1.default)(pattern); +}; +exports.braceExpand = braceExpand; +exports.minimatch.braceExpand = exports.braceExpand; +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe(); +exports.makeRe = makeRe; +exports.minimatch.makeRe = exports.makeRe; +const match = (list, pattern, options = {}) => { + const mm = new Minimatch(pattern, options); + list = list.filter(f => mm.match(f)); + if (mm.options.nonull && !list.length) { + list.push(pattern); + } + return list; +}; +exports.match = match; +exports.minimatch.match = exports.match; +// replace stuff like \* with * +const globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/; +const regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); +class Minimatch { + options; + set; + pattern; + windowsPathsNoEscape; + nonegate; + negate; + comment; + empty; + preserveMultipleSlashes; + partial; + globSet; + globParts; + nocase; + isWindows; + platform; + windowsNoMagicRoot; + regexp; + constructor(pattern, options = {}) { + (0, assert_valid_pattern_js_1.assertValidPattern)(pattern); + options = options || {}; + this.options = options; + this.pattern = pattern; + this.platform = options.platform || defaultPlatform; + this.isWindows = this.platform === 'win32'; + this.windowsPathsNoEscape = + !!options.windowsPathsNoEscape || options.allowWindowsEscape === false; + if (this.windowsPathsNoEscape) { + this.pattern = this.pattern.replace(/\\/g, '/'); + } + this.preserveMultipleSlashes = !!options.preserveMultipleSlashes; + this.regexp = null; + this.negate = false; + this.nonegate = !!options.nonegate; + this.comment = false; + this.empty = false; + this.partial = !!options.partial; + this.nocase = !!this.options.nocase; + this.windowsNoMagicRoot = + options.windowsNoMagicRoot !== undefined + ? options.windowsNoMagicRoot + : !!(this.isWindows && this.nocase); + this.globSet = []; + this.globParts = []; + this.set = []; + // make the set of regexps etc. + this.make(); + } + hasMagic() { + if (this.options.magicalBraces && this.set.length > 1) { + return true; + } + for (const pattern of this.set) { + for (const part of pattern) { + if (typeof part !== 'string') + return true; + } + } + return false; + } + debug(..._) { } + make() { + const pattern = this.pattern; + const options = this.options; + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true; + return; + } + if (!pattern) { + this.empty = true; + return; + } + // step 1: figure out negation, etc. + this.parseNegate(); + // step 2: expand braces + this.globSet = [...new Set(this.braceExpand())]; + if (options.debug) { + this.debug = (...args) => console.error(...args); + } + this.debug(this.pattern, this.globSet); + // step 3: now we have a set, so turn each one into a series of + // path-portion matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + // + // First, we preprocess to make the glob pattern sets a bit simpler + // and deduped. There are some perf-killing patterns that can cause + // problems with a glob walk, but we can simplify them down a bit. + const rawGlobParts = this.globSet.map(s => this.slashSplit(s)); + this.globParts = this.preprocess(rawGlobParts); + this.debug(this.pattern, this.globParts); + // glob --> regexps + let set = this.globParts.map((s, _, __) => { + if (this.isWindows && this.windowsNoMagicRoot) { + // check if it's a drive or unc path. + const isUNC = s[0] === '' && + s[1] === '' && + (s[2] === '?' || !globMagic.test(s[2])) && + !globMagic.test(s[3]); + const isDrive = /^[a-z]:/i.test(s[0]); + if (isUNC) { + return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))]; + } + else if (isDrive) { + return [s[0], ...s.slice(1).map(ss => this.parse(ss))]; + } + } + return s.map(ss => this.parse(ss)); + }); + this.debug(this.pattern, set); + // filter out everything that didn't compile properly. + this.set = set.filter(s => s.indexOf(false) === -1); + // do not treat the ? in UNC paths as magic + if (this.isWindows) { + for (let i = 0; i < this.set.length; i++) { + const p = this.set[i]; + if (p[0] === '' && + p[1] === '' && + this.globParts[i][2] === '?' && + typeof p[3] === 'string' && + /^[a-z]:$/i.test(p[3])) { + p[2] = '?'; + } + } + } + this.debug(this.pattern, this.set); + } + // various transforms to equivalent pattern sets that are + // faster to process in a filesystem walk. The goal is to + // eliminate what we can, and push all ** patterns as far + // to the right as possible, even if it increases the number + // of patterns that we have to process. + preprocess(globParts) { + // if we're not in globstar mode, then turn all ** into * + if (this.options.noglobstar) { + for (let i = 0; i < globParts.length; i++) { + for (let j = 0; j < globParts[i].length; j++) { + if (globParts[i][j] === '**') { + globParts[i][j] = '*'; + } + } + } + } + const { optimizationLevel = 1 } = this.options; + if (optimizationLevel >= 2) { + // aggressive optimization for the purpose of fs walking + globParts = this.firstPhasePreProcess(globParts); + globParts = this.secondPhasePreProcess(globParts); + } + else if (optimizationLevel >= 1) { + // just basic optimizations to remove some .. parts + globParts = this.levelOneOptimize(globParts); + } + else { + // just collapse multiple ** portions into one + globParts = this.adjascentGlobstarOptimize(globParts); + } + return globParts; + } + // just get rid of adjascent ** portions + adjascentGlobstarOptimize(globParts) { + return globParts.map(parts => { + let gs = -1; + while (-1 !== (gs = parts.indexOf('**', gs + 1))) { + let i = gs; + while (parts[i + 1] === '**') { + i++; + } + if (i !== gs) { + parts.splice(gs, i - gs); + } + } + return parts; + }); + } + // get rid of adjascent ** and resolve .. portions + levelOneOptimize(globParts) { + return globParts.map(parts => { + parts = parts.reduce((set, part) => { + const prev = set[set.length - 1]; + if (part === '**' && prev === '**') { + return set; + } + if (part === '..') { + if (prev && prev !== '..' && prev !== '.' && prev !== '**') { + set.pop(); + return set; + } + } + set.push(part); + return set; + }, []); + return parts.length === 0 ? [''] : parts; + }); + } + levelTwoFileOptimize(parts) { + if (!Array.isArray(parts)) { + parts = this.slashSplit(parts); + } + let didSomething = false; + do { + didSomething = false; + //
        // -> 
        /
        +            if (!this.preserveMultipleSlashes) {
        +                for (let i = 1; i < parts.length - 1; i++) {
        +                    const p = parts[i];
        +                    // don't squeeze out UNC patterns
        +                    if (i === 1 && p === '' && parts[0] === '')
        +                        continue;
        +                    if (p === '.' || p === '') {
        +                        didSomething = true;
        +                        parts.splice(i, 1);
        +                        i--;
        +                    }
        +                }
        +                if (parts[0] === '.' &&
        +                    parts.length === 2 &&
        +                    (parts[1] === '.' || parts[1] === '')) {
        +                    didSomething = true;
        +                    parts.pop();
        +                }
        +            }
        +            // 
        /

        /../ ->

        /
        +            let dd = 0;
        +            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
        +                const p = parts[dd - 1];
        +                if (p && p !== '.' && p !== '..' && p !== '**') {
        +                    didSomething = true;
        +                    parts.splice(dd - 1, 2);
        +                    dd -= 2;
        +                }
        +            }
        +        } while (didSomething);
        +        return parts.length === 0 ? [''] : parts;
        +    }
        +    // First phase: single-pattern processing
        +    // 
         is 1 or more portions
        +    //  is 1 or more portions
        +    // 

        is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

        /**/../

        /

        / -> {

        /../

        /

        /,

        /**/

        /

        /} + //

        // -> 
        /
        +    // 
        /

        /../ ->

        /
        +    // **/**/ -> **/
        +    //
        +    // **/*/ -> */**/ <== not valid because ** doesn't follow
        +    // this WOULD be allowed if ** did follow symlinks, or * didn't
        +    firstPhasePreProcess(globParts) {
        +        let didSomething = false;
        +        do {
        +            didSomething = false;
        +            // 
        /**/../

        /

        / -> {

        /../

        /

        /,

        /**/

        /

        /} + for (let parts of globParts) { + let gs = -1; + while (-1 !== (gs = parts.indexOf('**', gs + 1))) { + let gss = gs; + while (parts[gss + 1] === '**') { + //

        /**/**/ -> 
        /**/
        +                        gss++;
        +                    }
        +                    // eg, if gs is 2 and gss is 4, that means we have 3 **
        +                    // parts, and can remove 2 of them.
        +                    if (gss > gs) {
        +                        parts.splice(gs + 1, gss - gs);
        +                    }
        +                    let next = parts[gs + 1];
        +                    const p = parts[gs + 2];
        +                    const p2 = parts[gs + 3];
        +                    if (next !== '..')
        +                        continue;
        +                    if (!p ||
        +                        p === '.' ||
        +                        p === '..' ||
        +                        !p2 ||
        +                        p2 === '.' ||
        +                        p2 === '..') {
        +                        continue;
        +                    }
        +                    didSomething = true;
        +                    // edit parts in place, and push the new one
        +                    parts.splice(gs, 1);
        +                    const other = parts.slice(0);
        +                    other[gs] = '**';
        +                    globParts.push(other);
        +                    gs--;
        +                }
        +                // 
        // -> 
        /
        +                if (!this.preserveMultipleSlashes) {
        +                    for (let i = 1; i < parts.length - 1; i++) {
        +                        const p = parts[i];
        +                        // don't squeeze out UNC patterns
        +                        if (i === 1 && p === '' && parts[0] === '')
        +                            continue;
        +                        if (p === '.' || p === '') {
        +                            didSomething = true;
        +                            parts.splice(i, 1);
        +                            i--;
        +                        }
        +                    }
        +                    if (parts[0] === '.' &&
        +                        parts.length === 2 &&
        +                        (parts[1] === '.' || parts[1] === '')) {
        +                        didSomething = true;
        +                        parts.pop();
        +                    }
        +                }
        +                // 
        /

        /../ ->

        /
        +                let dd = 0;
        +                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
        +                    const p = parts[dd - 1];
        +                    if (p && p !== '.' && p !== '..' && p !== '**') {
        +                        didSomething = true;
        +                        const needDot = dd === 1 && parts[dd + 1] === '**';
        +                        const splin = needDot ? ['.'] : [];
        +                        parts.splice(dd - 1, 2, ...splin);
        +                        if (parts.length === 0)
        +                            parts.push('');
        +                        dd -= 2;
        +                    }
        +                }
        +            }
        +        } while (didSomething);
        +        return globParts;
        +    }
        +    // second phase: multi-pattern dedupes
        +    // {
        /*/,
        /

        /} ->

        /*/
        +    // {
        /,
        /} -> 
        /
        +    // {
        /**/,
        /} -> 
        /**/
        +    //
        +    // {
        /**/,
        /**/

        /} ->

        /**/
        +    // ^-- not valid because ** doens't follow symlinks
        +    secondPhasePreProcess(globParts) {
        +        for (let i = 0; i < globParts.length - 1; i++) {
        +            for (let j = i + 1; j < globParts.length; j++) {
        +                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
        +                if (matched) {
        +                    globParts[i] = [];
        +                    globParts[j] = matched;
        +                    break;
        +                }
        +            }
        +        }
        +        return globParts.filter(gs => gs.length);
        +    }
        +    partsMatch(a, b, emptyGSMatch = false) {
        +        let ai = 0;
        +        let bi = 0;
        +        let result = [];
        +        let which = '';
        +        while (ai < a.length && bi < b.length) {
        +            if (a[ai] === b[bi]) {
        +                result.push(which === 'b' ? b[bi] : a[ai]);
        +                ai++;
        +                bi++;
        +            }
        +            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {
        +                result.push(a[ai]);
        +                ai++;
        +            }
        +            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {
        +                result.push(b[bi]);
        +                bi++;
        +            }
        +            else if (a[ai] === '*' &&
        +                b[bi] &&
        +                (this.options.dot || !b[bi].startsWith('.')) &&
        +                b[bi] !== '**') {
        +                if (which === 'b')
        +                    return false;
        +                which = 'a';
        +                result.push(a[ai]);
        +                ai++;
        +                bi++;
        +            }
        +            else if (b[bi] === '*' &&
        +                a[ai] &&
        +                (this.options.dot || !a[ai].startsWith('.')) &&
        +                a[ai] !== '**') {
        +                if (which === 'a')
        +                    return false;
        +                which = 'b';
        +                result.push(b[bi]);
        +                ai++;
        +                bi++;
        +            }
        +            else {
        +                return false;
        +            }
        +        }
        +        // if we fall out of the loop, it means they two are identical
        +        // as long as their lengths match
        +        return a.length === b.length && result;
        +    }
        +    parseNegate() {
        +        if (this.nonegate)
        +            return;
        +        const pattern = this.pattern;
        +        let negate = false;
        +        let negateOffset = 0;
        +        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {
        +            negate = !negate;
        +            negateOffset++;
        +        }
        +        if (negateOffset)
        +            this.pattern = pattern.slice(negateOffset);
        +        this.negate = negate;
        +    }
        +    // set partial to true to test if, for example,
        +    // "/a/b" matches the start of "/*/b/*/d"
        +    // Partial means, if you run out of file before you run
        +    // out of pattern, then that's fine, as long as all
        +    // the parts match.
        +    matchOne(file, pattern, partial = false) {
        +        const options = this.options;
        +        // UNC paths like //?/X:/... can match X:/... and vice versa
        +        // Drive letters in absolute drive or unc paths are always compared
        +        // case-insensitively.
        +        if (this.isWindows) {
        +            const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);
        +            const fileUNC = !fileDrive &&
        +                file[0] === '' &&
        +                file[1] === '' &&
        +                file[2] === '?' &&
        +                /^[a-z]:$/i.test(file[3]);
        +            const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);
        +            const patternUNC = !patternDrive &&
        +                pattern[0] === '' &&
        +                pattern[1] === '' &&
        +                pattern[2] === '?' &&
        +                typeof pattern[3] === 'string' &&
        +                /^[a-z]:$/i.test(pattern[3]);
        +            const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined;
        +            const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined;
        +            if (typeof fdi === 'number' && typeof pdi === 'number') {
        +                const [fd, pd] = [file[fdi], pattern[pdi]];
        +                if (fd.toLowerCase() === pd.toLowerCase()) {
        +                    pattern[pdi] = fd;
        +                    if (pdi > fdi) {
        +                        pattern = pattern.slice(pdi);
        +                    }
        +                    else if (fdi > pdi) {
        +                        file = file.slice(fdi);
        +                    }
        +                }
        +            }
        +        }
        +        // resolve and reduce . and .. portions in the file as well.
        +        // dont' need to do the second phase, because it's only one string[]
        +        const { optimizationLevel = 1 } = this.options;
        +        if (optimizationLevel >= 2) {
        +            file = this.levelTwoFileOptimize(file);
        +        }
        +        this.debug('matchOne', this, { file, pattern });
        +        this.debug('matchOne', file.length, pattern.length);
        +        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
        +            this.debug('matchOne loop');
        +            var p = pattern[pi];
        +            var f = file[fi];
        +            this.debug(pattern, p, f);
        +            // should be impossible.
        +            // some invalid regexp stuff in the set.
        +            /* c8 ignore start */
        +            if (p === false) {
        +                return false;
        +            }
        +            /* c8 ignore stop */
        +            if (p === exports.GLOBSTAR) {
        +                this.debug('GLOBSTAR', [pattern, p, f]);
        +                // "**"
        +                // a/**/b/**/c would match the following:
        +                // a/b/x/y/z/c
        +                // a/x/y/z/b/c
        +                // a/b/x/b/x/c
        +                // a/b/c
        +                // To do this, take the rest of the pattern after
        +                // the **, and see if it would match the file remainder.
        +                // If so, return success.
        +                // If not, the ** "swallows" a segment, and try again.
        +                // This is recursively awful.
        +                //
        +                // a/**/b/**/c matching a/b/x/y/z/c
        +                // - a matches a
        +                // - doublestar
        +                //   - matchOne(b/x/y/z/c, b/**/c)
        +                //     - b matches b
        +                //     - doublestar
        +                //       - matchOne(x/y/z/c, c) -> no
        +                //       - matchOne(y/z/c, c) -> no
        +                //       - matchOne(z/c, c) -> no
        +                //       - matchOne(c, c) yes, hit
        +                var fr = fi;
        +                var pr = pi + 1;
        +                if (pr === pl) {
        +                    this.debug('** at the end');
        +                    // a ** at the end will just swallow the rest.
        +                    // We have found a match.
        +                    // however, it will not swallow /.x, unless
        +                    // options.dot is set.
        +                    // . and .. are *never* matched by **, for explosively
        +                    // exponential reasons.
        +                    for (; fi < fl; fi++) {
        +                        if (file[fi] === '.' ||
        +                            file[fi] === '..' ||
        +                            (!options.dot && file[fi].charAt(0) === '.'))
        +                            return false;
        +                    }
        +                    return true;
        +                }
        +                // ok, let's see if we can swallow whatever we can.
        +                while (fr < fl) {
        +                    var swallowee = file[fr];
        +                    this.debug('\nglobstar while', file, fr, pattern, pr, swallowee);
        +                    // XXX remove this slice.  Just pass the start index.
        +                    if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
        +                        this.debug('globstar found match!', fr, fl, swallowee);
        +                        // found a match.
        +                        return true;
        +                    }
        +                    else {
        +                        // can't swallow "." or ".." ever.
        +                        // can only swallow ".foo" when explicitly asked.
        +                        if (swallowee === '.' ||
        +                            swallowee === '..' ||
        +                            (!options.dot && swallowee.charAt(0) === '.')) {
        +                            this.debug('dot detected!', file, fr, pattern, pr);
        +                            break;
        +                        }
        +                        // ** swallows a segment, and continue.
        +                        this.debug('globstar swallow a segment, and continue');
        +                        fr++;
        +                    }
        +                }
        +                // no match was found.
        +                // However, in partial mode, we can't say this is necessarily over.
        +                /* c8 ignore start */
        +                if (partial) {
        +                    // ran out of file
        +                    this.debug('\n>>> no match, partial?', file, fr, pattern, pr);
        +                    if (fr === fl) {
        +                        return true;
        +                    }
        +                }
        +                /* c8 ignore stop */
        +                return false;
        +            }
        +            // something other than **
        +            // non-magic patterns just have to match exactly
        +            // patterns with magic have been turned into regexps.
        +            let hit;
        +            if (typeof p === 'string') {
        +                hit = f === p;
        +                this.debug('string match', p, f, hit);
        +            }
        +            else {
        +                hit = p.test(f);
        +                this.debug('pattern match', p, f, hit);
        +            }
        +            if (!hit)
        +                return false;
        +        }
        +        // Note: ending in / means that we'll get a final ""
        +        // at the end of the pattern.  This can only match a
        +        // corresponding "" at the end of the file.
        +        // If the file ends in /, then it can only match a
        +        // a pattern that ends in /, unless the pattern just
        +        // doesn't have any more for it. But, a/b/ should *not*
        +        // match "a/b/*", even though "" matches against the
        +        // [^/]*? pattern, except in partial mode, where it might
        +        // simply not be reached yet.
        +        // However, a/b/ should still satisfy a/*
        +        // now either we fell off the end of the pattern, or we're done.
        +        if (fi === fl && pi === pl) {
        +            // ran out of pattern and filename at the same time.
        +            // an exact hit!
        +            return true;
        +        }
        +        else if (fi === fl) {
        +            // ran out of file, but still had pattern left.
        +            // this is ok if we're doing the match as part of
        +            // a glob fs traversal.
        +            return partial;
        +        }
        +        else if (pi === pl) {
        +            // ran out of pattern, still have file left.
        +            // this is only acceptable if we're on the very last
        +            // empty segment of a file with a trailing slash.
        +            // a/* should match a/b/
        +            return fi === fl - 1 && file[fi] === '';
        +            /* c8 ignore start */
        +        }
        +        else {
        +            // should be unreachable.
        +            throw new Error('wtf?');
        +        }
        +        /* c8 ignore stop */
        +    }
        +    braceExpand() {
        +        return (0, exports.braceExpand)(this.pattern, this.options);
        +    }
        +    parse(pattern) {
        +        (0, assert_valid_pattern_js_1.assertValidPattern)(pattern);
        +        const options = this.options;
        +        // shortcuts
        +        if (pattern === '**')
        +            return exports.GLOBSTAR;
        +        if (pattern === '')
        +            return '';
        +        // far and away, the most common glob pattern parts are
        +        // *, *.*, and *.  Add a fast check method for those.
        +        let m;
        +        let fastTest = null;
        +        if ((m = pattern.match(starRE))) {
        +            fastTest = options.dot ? starTestDot : starTest;
        +        }
        +        else if ((m = pattern.match(starDotExtRE))) {
        +            fastTest = (options.nocase
        +                ? options.dot
        +                    ? starDotExtTestNocaseDot
        +                    : starDotExtTestNocase
        +                : options.dot
        +                    ? starDotExtTestDot
        +                    : starDotExtTest)(m[1]);
        +        }
        +        else if ((m = pattern.match(qmarksRE))) {
        +            fastTest = (options.nocase
        +                ? options.dot
        +                    ? qmarksTestNocaseDot
        +                    : qmarksTestNocase
        +                : options.dot
        +                    ? qmarksTestDot
        +                    : qmarksTest)(m);
        +        }
        +        else if ((m = pattern.match(starDotStarRE))) {
        +            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
        +        }
        +        else if ((m = pattern.match(dotStarRE))) {
        +            fastTest = dotStarTest;
        +        }
        +        const re = ast_js_1.AST.fromGlob(pattern, this.options).toMMPattern();
        +        if (fastTest && typeof re === 'object') {
        +            // Avoids overriding in frozen environments
        +            Reflect.defineProperty(re, 'test', { value: fastTest });
        +        }
        +        return re;
        +    }
        +    makeRe() {
        +        if (this.regexp || this.regexp === false)
        +            return this.regexp;
        +        // at this point, this.set is a 2d array of partial
        +        // pattern strings, or "**".
        +        //
        +        // It's better to use .match().  This function shouldn't
        +        // be used, really, but it's pretty convenient sometimes,
        +        // when you just want to work with a regex.
        +        const set = this.set;
        +        if (!set.length) {
        +            this.regexp = false;
        +            return this.regexp;
        +        }
        +        const options = this.options;
        +        const twoStar = options.noglobstar
        +            ? star
        +            : options.dot
        +                ? twoStarDot
        +                : twoStarNoDot;
        +        const flags = new Set(options.nocase ? ['i'] : []);
        +        // regexpify non-globstar patterns
        +        // if ** is only item, then we just do one twoStar
        +        // if ** is first, and there are more, prepend (\/|twoStar\/)? to next
        +        // if ** is last, append (\/twoStar|) to previous
        +        // if ** is in the middle, append (\/|\/twoStar\/) to previous
        +        // then filter out GLOBSTAR symbols
        +        let re = set
        +            .map(pattern => {
        +            const pp = pattern.map(p => {
        +                if (p instanceof RegExp) {
        +                    for (const f of p.flags.split(''))
        +                        flags.add(f);
        +                }
        +                return typeof p === 'string'
        +                    ? regExpEscape(p)
        +                    : p === exports.GLOBSTAR
        +                        ? exports.GLOBSTAR
        +                        : p._src;
        +            });
        +            pp.forEach((p, i) => {
        +                const next = pp[i + 1];
        +                const prev = pp[i - 1];
        +                if (p !== exports.GLOBSTAR || prev === exports.GLOBSTAR) {
        +                    return;
        +                }
        +                if (prev === undefined) {
        +                    if (next !== undefined && next !== exports.GLOBSTAR) {
        +                        pp[i + 1] = '(?:\\/|' + twoStar + '\\/)?' + next;
        +                    }
        +                    else {
        +                        pp[i] = twoStar;
        +                    }
        +                }
        +                else if (next === undefined) {
        +                    pp[i - 1] = prev + '(?:\\/|' + twoStar + ')?';
        +                }
        +                else if (next !== exports.GLOBSTAR) {
        +                    pp[i - 1] = prev + '(?:\\/|\\/' + twoStar + '\\/)' + next;
        +                    pp[i + 1] = exports.GLOBSTAR;
        +                }
        +            });
        +            return pp.filter(p => p !== exports.GLOBSTAR).join('/');
        +        })
        +            .join('|');
        +        // need to wrap in parens if we had more than one thing with |,
        +        // otherwise only the first will be anchored to ^ and the last to $
        +        const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', ''];
        +        // must match entire pattern
        +        // ending in a * or ** will make it less strict.
        +        re = '^' + open + re + close + '$';
        +        // can match anything, as long as it's not this.
        +        if (this.negate)
        +            re = '^(?!' + re + ').+$';
        +        try {
        +            this.regexp = new RegExp(re, [...flags].join(''));
        +            /* c8 ignore start */
        +        }
        +        catch (ex) {
        +            // should be impossible
        +            this.regexp = false;
        +        }
        +        /* c8 ignore stop */
        +        return this.regexp;
        +    }
        +    slashSplit(p) {
        +        // if p starts with // on windows, we preserve that
        +        // so that UNC paths aren't broken.  Otherwise, any number of
        +        // / characters are coalesced into one, unless
        +        // preserveMultipleSlashes is set to true.
        +        if (this.preserveMultipleSlashes) {
        +            return p.split('/');
        +        }
        +        else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
        +            // add an extra '' for the one we lose
        +            return ['', ...p.split(/\/+/)];
        +        }
        +        else {
        +            return p.split(/\/+/);
        +        }
        +    }
        +    match(f, partial = this.partial) {
        +        this.debug('match', f, this.pattern);
        +        // short-circuit in the case of busted things.
        +        // comments, etc.
        +        if (this.comment) {
        +            return false;
        +        }
        +        if (this.empty) {
        +            return f === '';
        +        }
        +        if (f === '/' && partial) {
        +            return true;
        +        }
        +        const options = this.options;
        +        // windows: need to use /, not \
        +        if (this.isWindows) {
        +            f = f.split('\\').join('/');
        +        }
        +        // treat the test path as a set of pathparts.
        +        const ff = this.slashSplit(f);
        +        this.debug(this.pattern, 'split', ff);
        +        // just ONE of the pattern sets in this.set needs to match
        +        // in order for it to be valid.  If negating, then just one
        +        // match means that we have failed.
        +        // Either way, return on the first hit.
        +        const set = this.set;
        +        this.debug(this.pattern, 'set', set);
        +        // Find the basename of the path by looking for the last non-empty segment
        +        let filename = ff[ff.length - 1];
        +        if (!filename) {
        +            for (let i = ff.length - 2; !filename && i >= 0; i--) {
        +                filename = ff[i];
        +            }
        +        }
        +        for (let i = 0; i < set.length; i++) {
        +            const pattern = set[i];
        +            let file = ff;
        +            if (options.matchBase && pattern.length === 1) {
        +                file = [filename];
        +            }
        +            const hit = this.matchOne(file, pattern, partial);
        +            if (hit) {
        +                if (options.flipNegate) {
        +                    return true;
        +                }
        +                return !this.negate;
        +            }
        +        }
        +        // didn't get any hits.  this is success if it's a negative
        +        // pattern, failure otherwise.
        +        if (options.flipNegate) {
        +            return false;
        +        }
        +        return this.negate;
        +    }
        +    static defaults(def) {
        +        return exports.minimatch.defaults(def).Minimatch;
        +    }
        +}
        +exports.Minimatch = Minimatch;
        +/* c8 ignore start */
        +var ast_js_2 = __webpack_require__(11889);
        +Object.defineProperty(exports, "AST", ({ enumerable: true, get: function () { return ast_js_2.AST; } }));
        +var escape_js_2 = __webpack_require__(74686);
        +Object.defineProperty(exports, "escape", ({ enumerable: true, get: function () { return escape_js_2.escape; } }));
        +var unescape_js_2 = __webpack_require__(54461);
        +Object.defineProperty(exports, "unescape", ({ enumerable: true, get: function () { return unescape_js_2.unescape; } }));
        +/* c8 ignore stop */
        +exports.minimatch.AST = ast_js_1.AST;
        +exports.minimatch.Minimatch = Minimatch;
        +exports.minimatch.escape = escape_js_1.escape;
        +exports.minimatch.unescape = unescape_js_1.unescape;
        +//# sourceMappingURL=index.js.map
        +
        +/***/ },
        +
        +/***/ 54461
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.unescape = void 0;
        +/**
        + * Un-escape a string that has been escaped with {@link escape}.
        + *
        + * If the {@link windowsPathsNoEscape} option is used, then square-brace
        + * escapes are removed, but not backslash escapes.  For example, it will turn
        + * the string `'[*]'` into `*`, but it will not turn `'\\*'` into `'*'`,
        + * becuase `\` is a path separator in `windowsPathsNoEscape` mode.
        + *
        + * When `windowsPathsNoEscape` is not set, then both brace escapes and
        + * backslash escapes are removed.
        + *
        + * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped
        + * or unescaped.
        + */
        +const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {
        +    return windowsPathsNoEscape
        +        ? s.replace(/\[([^\/\\])\]/g, '$1')
        +        : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1');
        +};
        +exports.unescape = unescape;
        +//# sourceMappingURL=unescape.js.map
        +
        +/***/ },
        +
        +/***/ 83657
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +var __importDefault = (this && this.__importDefault) || function (mod) {
        +    return (mod && mod.__esModule) ? mod : { "default": mod };
        +};
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.Minipass = exports.isWritable = exports.isReadable = exports.isStream = void 0;
        +const proc = typeof process === 'object' && process
        +    ? process
        +    : {
        +        stdout: null,
        +        stderr: null,
        +    };
        +const node_events_1 = __webpack_require__(78474);
        +const node_stream_1 = __importDefault(__webpack_require__(57075));
        +const node_string_decoder_1 = __webpack_require__(46193);
        +/**
        + * Return true if the argument is a Minipass stream, Node stream, or something
        + * else that Minipass can interact with.
        + */
        +const isStream = (s) => !!s &&
        +    typeof s === 'object' &&
        +    (s instanceof Minipass ||
        +        s instanceof node_stream_1.default ||
        +        (0, exports.isReadable)(s) ||
        +        (0, exports.isWritable)(s));
        +exports.isStream = isStream;
        +/**
        + * Return true if the argument is a valid {@link Minipass.Readable}
        + */
        +const isReadable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof node_events_1.EventEmitter &&
        +    typeof s.pipe === 'function' &&
        +    // node core Writable streams have a pipe() method, but it throws
        +    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
        +exports.isReadable = isReadable;
        +/**
        + * Return true if the argument is a valid {@link Minipass.Writable}
        + */
        +const isWritable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof node_events_1.EventEmitter &&
        +    typeof s.write === 'function' &&
        +    typeof s.end === 'function';
        +exports.isWritable = isWritable;
        +const EOF = Symbol('EOF');
        +const MAYBE_EMIT_END = Symbol('maybeEmitEnd');
        +const EMITTED_END = Symbol('emittedEnd');
        +const EMITTING_END = Symbol('emittingEnd');
        +const EMITTED_ERROR = Symbol('emittedError');
        +const CLOSED = Symbol('closed');
        +const READ = Symbol('read');
        +const FLUSH = Symbol('flush');
        +const FLUSHCHUNK = Symbol('flushChunk');
        +const ENCODING = Symbol('encoding');
        +const DECODER = Symbol('decoder');
        +const FLOWING = Symbol('flowing');
        +const PAUSED = Symbol('paused');
        +const RESUME = Symbol('resume');
        +const BUFFER = Symbol('buffer');
        +const PIPES = Symbol('pipes');
        +const BUFFERLENGTH = Symbol('bufferLength');
        +const BUFFERPUSH = Symbol('bufferPush');
        +const BUFFERSHIFT = Symbol('bufferShift');
        +const OBJECTMODE = Symbol('objectMode');
        +// internal event when stream is destroyed
        +const DESTROYED = Symbol('destroyed');
        +// internal event when stream has an error
        +const ERROR = Symbol('error');
        +const EMITDATA = Symbol('emitData');
        +const EMITEND = Symbol('emitEnd');
        +const EMITEND2 = Symbol('emitEnd2');
        +const ASYNC = Symbol('async');
        +const ABORT = Symbol('abort');
        +const ABORTED = Symbol('aborted');
        +const SIGNAL = Symbol('signal');
        +const DATALISTENERS = Symbol('dataListeners');
        +const DISCARDED = Symbol('discarded');
        +const defer = (fn) => Promise.resolve().then(fn);
        +const nodefer = (fn) => fn();
        +const isEndish = (ev) => ev === 'end' || ev === 'finish' || ev === 'prefinish';
        +const isArrayBufferLike = (b) => b instanceof ArrayBuffer ||
        +    (!!b &&
        +        typeof b === 'object' &&
        +        b.constructor &&
        +        b.constructor.name === 'ArrayBuffer' &&
        +        b.byteLength >= 0);
        +const isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
        +/**
        + * Internal class representing a pipe to a destination stream.
        + *
        + * @internal
        + */
        +class Pipe {
        +    src;
        +    dest;
        +    opts;
        +    ondrain;
        +    constructor(src, dest, opts) {
        +        this.src = src;
        +        this.dest = dest;
        +        this.opts = opts;
        +        this.ondrain = () => src[RESUME]();
        +        this.dest.on('drain', this.ondrain);
        +    }
        +    unpipe() {
        +        this.dest.removeListener('drain', this.ondrain);
        +    }
        +    // only here for the prototype
        +    /* c8 ignore start */
        +    proxyErrors(_er) { }
        +    /* c8 ignore stop */
        +    end() {
        +        this.unpipe();
        +        if (this.opts.end)
        +            this.dest.end();
        +    }
        +}
        +/**
        + * Internal class representing a pipe to a destination stream where
        + * errors are proxied.
        + *
        + * @internal
        + */
        +class PipeProxyErrors extends Pipe {
        +    unpipe() {
        +        this.src.removeListener('error', this.proxyErrors);
        +        super.unpipe();
        +    }
        +    constructor(src, dest, opts) {
        +        super(src, dest, opts);
        +        this.proxyErrors = er => dest.emit('error', er);
        +        src.on('error', this.proxyErrors);
        +    }
        +}
        +const isObjectModeOptions = (o) => !!o.objectMode;
        +const isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== 'buffer';
        +/**
        + * Main export, the Minipass class
        + *
        + * `RType` is the type of data emitted, defaults to Buffer
        + *
        + * `WType` is the type of data to be written, if RType is buffer or string,
        + * then any {@link Minipass.ContiguousData} is allowed.
        + *
        + * `Events` is the set of event handler signatures that this object
        + * will emit, see {@link Minipass.Events}
        + */
        +class Minipass extends node_events_1.EventEmitter {
        +    [FLOWING] = false;
        +    [PAUSED] = false;
        +    [PIPES] = [];
        +    [BUFFER] = [];
        +    [OBJECTMODE];
        +    [ENCODING];
        +    [ASYNC];
        +    [DECODER];
        +    [EOF] = false;
        +    [EMITTED_END] = false;
        +    [EMITTING_END] = false;
        +    [CLOSED] = false;
        +    [EMITTED_ERROR] = null;
        +    [BUFFERLENGTH] = 0;
        +    [DESTROYED] = false;
        +    [SIGNAL];
        +    [ABORTED] = false;
        +    [DATALISTENERS] = 0;
        +    [DISCARDED] = false;
        +    /**
        +     * true if the stream can be written
        +     */
        +    writable = true;
        +    /**
        +     * true if the stream can be read
        +     */
        +    readable = true;
        +    /**
        +     * If `RType` is Buffer, then options do not need to be provided.
        +     * Otherwise, an options object must be provided to specify either
        +     * {@link Minipass.SharedOptions.objectMode} or
        +     * {@link Minipass.SharedOptions.encoding}, as appropriate.
        +     */
        +    constructor(...args) {
        +        const options = (args[0] ||
        +            {});
        +        super();
        +        if (options.objectMode && typeof options.encoding === 'string') {
        +            throw new TypeError('Encoding and objectMode may not be used together');
        +        }
        +        if (isObjectModeOptions(options)) {
        +            this[OBJECTMODE] = true;
        +            this[ENCODING] = null;
        +        }
        +        else if (isEncodingOptions(options)) {
        +            this[ENCODING] = options.encoding;
        +            this[OBJECTMODE] = false;
        +        }
        +        else {
        +            this[OBJECTMODE] = false;
        +            this[ENCODING] = null;
        +        }
        +        this[ASYNC] = !!options.async;
        +        this[DECODER] = this[ENCODING]
        +            ? new node_string_decoder_1.StringDecoder(this[ENCODING])
        +            : null;
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposeBuffer === true) {
        +            Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] });
        +        }
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposePipes === true) {
        +            Object.defineProperty(this, 'pipes', { get: () => this[PIPES] });
        +        }
        +        const { signal } = options;
        +        if (signal) {
        +            this[SIGNAL] = signal;
        +            if (signal.aborted) {
        +                this[ABORT]();
        +            }
        +            else {
        +                signal.addEventListener('abort', () => this[ABORT]());
        +            }
        +        }
        +    }
        +    /**
        +     * The amount of data stored in the buffer waiting to be read.
        +     *
        +     * For Buffer strings, this will be the total byte length.
        +     * For string encoding streams, this will be the string character length,
        +     * according to JavaScript's `string.length` logic.
        +     * For objectMode streams, this is a count of the items waiting to be
        +     * emitted.
        +     */
        +    get bufferLength() {
        +        return this[BUFFERLENGTH];
        +    }
        +    /**
        +     * The `BufferEncoding` currently in use, or `null`
        +     */
        +    get encoding() {
        +        return this[ENCODING];
        +    }
        +    /**
        +     * @deprecated - This is a read only property
        +     */
        +    set encoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * @deprecated - Encoding may only be set at instantiation time
        +     */
        +    setEncoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * True if this is an objectMode stream
        +     */
        +    get objectMode() {
        +        return this[OBJECTMODE];
        +    }
        +    /**
        +     * @deprecated - This is a read-only property
        +     */
        +    set objectMode(_om) {
        +        throw new Error('objectMode must be set at instantiation time');
        +    }
        +    /**
        +     * true if this is an async stream
        +     */
        +    get ['async']() {
        +        return this[ASYNC];
        +    }
        +    /**
        +     * Set to true to make this stream async.
        +     *
        +     * Once set, it cannot be unset, as this would potentially cause incorrect
        +     * behavior.  Ie, a sync stream can be made async, but an async stream
        +     * cannot be safely made sync.
        +     */
        +    set ['async'](a) {
        +        this[ASYNC] = this[ASYNC] || !!a;
        +    }
        +    // drop everything and get out of the flow completely
        +    [ABORT]() {
        +        this[ABORTED] = true;
        +        this.emit('abort', this[SIGNAL]?.reason);
        +        this.destroy(this[SIGNAL]?.reason);
        +    }
        +    /**
        +     * True if the stream has been aborted.
        +     */
        +    get aborted() {
        +        return this[ABORTED];
        +    }
        +    /**
        +     * No-op setter. Stream aborted status is set via the AbortSignal provided
        +     * in the constructor options.
        +     */
        +    set aborted(_) { }
        +    write(chunk, encoding, cb) {
        +        if (this[ABORTED])
        +            return false;
        +        if (this[EOF])
        +            throw new Error('write after end');
        +        if (this[DESTROYED]) {
        +            this.emit('error', Object.assign(new Error('Cannot call write after a stream was destroyed'), { code: 'ERR_STREAM_DESTROYED' }));
        +            return true;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (!encoding)
        +            encoding = 'utf8';
        +        const fn = this[ASYNC] ? defer : nodefer;
        +        // convert array buffers and typed array views into buffers
        +        // at some point in the future, we may want to do the opposite!
        +        // leave strings and buffers as-is
        +        // anything is only allowed if in object mode, so throw
        +        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
        +            if (isArrayBufferView(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
        +            }
        +            else if (isArrayBufferLike(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk);
        +            }
        +            else if (typeof chunk !== 'string') {
        +                throw new Error('Non-contiguous data written to non-objectMode stream');
        +            }
        +        }
        +        // handle object mode up front, since it's simpler
        +        // this yields better performance, fewer checks later.
        +        if (this[OBJECTMODE]) {
        +            // maybe impossible?
        +            /* c8 ignore start */
        +            if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +                this[FLUSH](true);
        +            /* c8 ignore stop */
        +            if (this[FLOWING])
        +                this.emit('data', chunk);
        +            else
        +                this[BUFFERPUSH](chunk);
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // at this point the chunk is a buffer or string
        +        // don't buffer it up or send it to the decoder
        +        if (!chunk.length) {
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // fast-path writing strings of same encoding to a stream with
        +        // an empty buffer, skipping the buffer/decoder dance
        +        if (typeof chunk === 'string' &&
        +            // unless it is a string already ready for us to use
        +            !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = Buffer.from(chunk, encoding);
        +        }
        +        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = this[DECODER].write(chunk);
        +        }
        +        // Note: flushing CAN potentially switch us into not-flowing mode
        +        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +            this[FLUSH](true);
        +        if (this[FLOWING])
        +            this.emit('data', chunk);
        +        else
        +            this[BUFFERPUSH](chunk);
        +        if (this[BUFFERLENGTH] !== 0)
        +            this.emit('readable');
        +        if (cb)
        +            fn(cb);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Low-level explicit read method.
        +     *
        +     * In objectMode, the argument is ignored, and one item is returned if
        +     * available.
        +     *
        +     * `n` is the number of bytes (or in the case of encoding streams,
        +     * characters) to consume. If `n` is not provided, then the entire buffer
        +     * is returned, or `null` is returned if no data is available.
        +     *
        +     * If `n` is greater that the amount of data in the internal buffer,
        +     * then `null` is returned.
        +     */
        +    read(n) {
        +        if (this[DESTROYED])
        +            return null;
        +        this[DISCARDED] = false;
        +        if (this[BUFFERLENGTH] === 0 ||
        +            n === 0 ||
        +            (n && n > this[BUFFERLENGTH])) {
        +            this[MAYBE_EMIT_END]();
        +            return null;
        +        }
        +        if (this[OBJECTMODE])
        +            n = null;
        +        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
        +            // not object mode, so if we have an encoding, then RType is string
        +            // otherwise, must be Buffer
        +            this[BUFFER] = [
        +                (this[ENCODING]
        +                    ? this[BUFFER].join('')
        +                    : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])),
        +            ];
        +        }
        +        const ret = this[READ](n || null, this[BUFFER][0]);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [READ](n, chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERSHIFT]();
        +        else {
        +            const c = chunk;
        +            if (n === c.length || n === null)
        +                this[BUFFERSHIFT]();
        +            else if (typeof c === 'string') {
        +                this[BUFFER][0] = c.slice(n);
        +                chunk = c.slice(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +            else {
        +                this[BUFFER][0] = c.subarray(n);
        +                chunk = c.subarray(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +        }
        +        this.emit('data', chunk);
        +        if (!this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +        return chunk;
        +    }
        +    end(chunk, encoding, cb) {
        +        if (typeof chunk === 'function') {
        +            cb = chunk;
        +            chunk = undefined;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (chunk !== undefined)
        +            this.write(chunk, encoding);
        +        if (cb)
        +            this.once('end', cb);
        +        this[EOF] = true;
        +        this.writable = false;
        +        // if we haven't written anything, then go ahead and emit,
        +        // even if we're not reading.
        +        // we'll re-emit if a new 'end' listener is added anyway.
        +        // This makes MP more suitable to write-only use cases.
        +        if (this[FLOWING] || !this[PAUSED])
        +            this[MAYBE_EMIT_END]();
        +        return this;
        +    }
        +    // don't let the internal resume be overwritten
        +    [RESUME]() {
        +        if (this[DESTROYED])
        +            return;
        +        if (!this[DATALISTENERS] && !this[PIPES].length) {
        +            this[DISCARDED] = true;
        +        }
        +        this[PAUSED] = false;
        +        this[FLOWING] = true;
        +        this.emit('resume');
        +        if (this[BUFFER].length)
        +            this[FLUSH]();
        +        else if (this[EOF])
        +            this[MAYBE_EMIT_END]();
        +        else
        +            this.emit('drain');
        +    }
        +    /**
        +     * Resume the stream if it is currently in a paused state
        +     *
        +     * If called when there are no pipe destinations or `data` event listeners,
        +     * this will place the stream in a "discarded" state, where all data will
        +     * be thrown away. The discarded state is removed if a pipe destination or
        +     * data handler is added, if pause() is called, or if any synchronous or
        +     * asynchronous iteration is started.
        +     */
        +    resume() {
        +        return this[RESUME]();
        +    }
        +    /**
        +     * Pause the stream
        +     */
        +    pause() {
        +        this[FLOWING] = false;
        +        this[PAUSED] = true;
        +        this[DISCARDED] = false;
        +    }
        +    /**
        +     * true if the stream has been forcibly destroyed
        +     */
        +    get destroyed() {
        +        return this[DESTROYED];
        +    }
        +    /**
        +     * true if the stream is currently in a flowing state, meaning that
        +     * any writes will be immediately emitted.
        +     */
        +    get flowing() {
        +        return this[FLOWING];
        +    }
        +    /**
        +     * true if the stream is currently in a paused state
        +     */
        +    get paused() {
        +        return this[PAUSED];
        +    }
        +    [BUFFERPUSH](chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] += 1;
        +        else
        +            this[BUFFERLENGTH] += chunk.length;
        +        this[BUFFER].push(chunk);
        +    }
        +    [BUFFERSHIFT]() {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] -= 1;
        +        else
        +            this[BUFFERLENGTH] -= this[BUFFER][0].length;
        +        return this[BUFFER].shift();
        +    }
        +    [FLUSH](noDrain = false) {
        +        do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&
        +            this[BUFFER].length);
        +        if (!noDrain && !this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +    }
        +    [FLUSHCHUNK](chunk) {
        +        this.emit('data', chunk);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Pipe all data emitted by this stream into the destination provided.
        +     *
        +     * Triggers the flow of data.
        +     */
        +    pipe(dest, opts) {
        +        if (this[DESTROYED])
        +            return dest;
        +        this[DISCARDED] = false;
        +        const ended = this[EMITTED_END];
        +        opts = opts || {};
        +        if (dest === proc.stdout || dest === proc.stderr)
        +            opts.end = false;
        +        else
        +            opts.end = opts.end !== false;
        +        opts.proxyErrors = !!opts.proxyErrors;
        +        // piping an ended stream ends immediately
        +        if (ended) {
        +            if (opts.end)
        +                dest.end();
        +        }
        +        else {
        +            // "as" here just ignores the WType, which pipes don't care about,
        +            // since they're only consuming from us, and writing to the dest
        +            this[PIPES].push(!opts.proxyErrors
        +                ? new Pipe(this, dest, opts)
        +                : new PipeProxyErrors(this, dest, opts));
        +            if (this[ASYNC])
        +                defer(() => this[RESUME]());
        +            else
        +                this[RESUME]();
        +        }
        +        return dest;
        +    }
        +    /**
        +     * Fully unhook a piped destination stream.
        +     *
        +     * If the destination stream was the only consumer of this stream (ie,
        +     * there are no other piped destinations or `'data'` event listeners)
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    unpipe(dest) {
        +        const p = this[PIPES].find(p => p.dest === dest);
        +        if (p) {
        +            if (this[PIPES].length === 1) {
        +                if (this[FLOWING] && this[DATALISTENERS] === 0) {
        +                    this[FLOWING] = false;
        +                }
        +                this[PIPES] = [];
        +            }
        +            else
        +                this[PIPES].splice(this[PIPES].indexOf(p), 1);
        +            p.unpipe();
        +        }
        +    }
        +    /**
        +     * Alias for {@link Minipass#on}
        +     */
        +    addListener(ev, handler) {
        +        return this.on(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.on`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * - Adding a 'data' event handler will trigger the flow of data
        +     *
        +     * - Adding a 'readable' event handler when there is data waiting to be read
        +     *   will cause 'readable' to be emitted immediately.
        +     *
        +     * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
        +     *   already passed will cause the event to be emitted immediately and all
        +     *   handlers removed.
        +     *
        +     * - Adding an 'error' event handler after an error has been emitted will
        +     *   cause the event to be re-emitted immediately with the error previously
        +     *   raised.
        +     */
        +    on(ev, handler) {
        +        const ret = super.on(ev, handler);
        +        if (ev === 'data') {
        +            this[DISCARDED] = false;
        +            this[DATALISTENERS]++;
        +            if (!this[PIPES].length && !this[FLOWING]) {
        +                this[RESUME]();
        +            }
        +        }
        +        else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {
        +            super.emit('readable');
        +        }
        +        else if (isEndish(ev) && this[EMITTED_END]) {
        +            super.emit(ev);
        +            this.removeAllListeners(ev);
        +        }
        +        else if (ev === 'error' && this[EMITTED_ERROR]) {
        +            const h = handler;
        +            if (this[ASYNC])
        +                defer(() => h.call(this, this[EMITTED_ERROR]));
        +            else
        +                h.call(this, this[EMITTED_ERROR]);
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Alias for {@link Minipass#off}
        +     */
        +    removeListener(ev, handler) {
        +        return this.off(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.off`
        +     *
        +     * If a 'data' event handler is removed, and it was the last consumer
        +     * (ie, there are no pipe destinations or other 'data' event listeners),
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    off(ev, handler) {
        +        const ret = super.off(ev, handler);
        +        // if we previously had listeners, and now we don't, and we don't
        +        // have any pipes, then stop the flow, unless it's been explicitly
        +        // put in a discarded flowing state via stream.resume().
        +        if (ev === 'data') {
        +            this[DATALISTENERS] = this.listeners('data').length;
        +            if (this[DATALISTENERS] === 0 &&
        +                !this[DISCARDED] &&
        +                !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.removeAllListeners`
        +     *
        +     * If all 'data' event handlers are removed, and they were the last consumer
        +     * (ie, there are no pipe destinations), then the flow of data will stop
        +     * until there is another consumer or {@link Minipass#resume} is explicitly
        +     * called.
        +     */
        +    removeAllListeners(ev) {
        +        const ret = super.removeAllListeners(ev);
        +        if (ev === 'data' || ev === undefined) {
        +            this[DATALISTENERS] = 0;
        +            if (!this[DISCARDED] && !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * true if the 'end' event has been emitted
        +     */
        +    get emittedEnd() {
        +        return this[EMITTED_END];
        +    }
        +    [MAYBE_EMIT_END]() {
        +        if (!this[EMITTING_END] &&
        +            !this[EMITTED_END] &&
        +            !this[DESTROYED] &&
        +            this[BUFFER].length === 0 &&
        +            this[EOF]) {
        +            this[EMITTING_END] = true;
        +            this.emit('end');
        +            this.emit('prefinish');
        +            this.emit('finish');
        +            if (this[CLOSED])
        +                this.emit('close');
        +            this[EMITTING_END] = false;
        +        }
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.emit`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * If the stream has been destroyed, and the event is something other
        +     * than 'close' or 'error', then `false` is returned and no handlers
        +     * are called.
        +     *
        +     * If the event is 'end', and has already been emitted, then the event
        +     * is ignored. If the stream is in a paused or non-flowing state, then
        +     * the event will be deferred until data flow resumes. If the stream is
        +     * async, then handlers will be called on the next tick rather than
        +     * immediately.
        +     *
        +     * If the event is 'close', and 'end' has not yet been emitted, then
        +     * the event will be deferred until after 'end' is emitted.
        +     *
        +     * If the event is 'error', and an AbortSignal was provided for the stream,
        +     * and there are no listeners, then the event is ignored, matching the
        +     * behavior of node core streams in the presense of an AbortSignal.
        +     *
        +     * If the event is 'finish' or 'prefinish', then all listeners will be
        +     * removed after emitting the event, to prevent double-firing.
        +     */
        +    emit(ev, ...args) {
        +        const data = args[0];
        +        // error and close are only events allowed after calling destroy()
        +        if (ev !== 'error' &&
        +            ev !== 'close' &&
        +            ev !== DESTROYED &&
        +            this[DESTROYED]) {
        +            return false;
        +        }
        +        else if (ev === 'data') {
        +            return !this[OBJECTMODE] && !data
        +                ? false
        +                : this[ASYNC]
        +                    ? (defer(() => this[EMITDATA](data)), true)
        +                    : this[EMITDATA](data);
        +        }
        +        else if (ev === 'end') {
        +            return this[EMITEND]();
        +        }
        +        else if (ev === 'close') {
        +            this[CLOSED] = true;
        +            // don't emit close before 'end' and 'finish'
        +            if (!this[EMITTED_END] && !this[DESTROYED])
        +                return false;
        +            const ret = super.emit('close');
        +            this.removeAllListeners('close');
        +            return ret;
        +        }
        +        else if (ev === 'error') {
        +            this[EMITTED_ERROR] = data;
        +            super.emit(ERROR, data);
        +            const ret = !this[SIGNAL] || this.listeners('error').length
        +                ? super.emit('error', data)
        +                : false;
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'resume') {
        +            const ret = super.emit('resume');
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'finish' || ev === 'prefinish') {
        +            const ret = super.emit(ev);
        +            this.removeAllListeners(ev);
        +            return ret;
        +        }
        +        // Some other unknown event
        +        const ret = super.emit(ev, ...args);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITDATA](data) {
        +        for (const p of this[PIPES]) {
        +            if (p.dest.write(data) === false)
        +                this.pause();
        +        }
        +        const ret = this[DISCARDED] ? false : super.emit('data', data);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITEND]() {
        +        if (this[EMITTED_END])
        +            return false;
        +        this[EMITTED_END] = true;
        +        this.readable = false;
        +        return this[ASYNC]
        +            ? (defer(() => this[EMITEND2]()), true)
        +            : this[EMITEND2]();
        +    }
        +    [EMITEND2]() {
        +        if (this[DECODER]) {
        +            const data = this[DECODER].end();
        +            if (data) {
        +                for (const p of this[PIPES]) {
        +                    p.dest.write(data);
        +                }
        +                if (!this[DISCARDED])
        +                    super.emit('data', data);
        +            }
        +        }
        +        for (const p of this[PIPES]) {
        +            p.end();
        +        }
        +        const ret = super.emit('end');
        +        this.removeAllListeners('end');
        +        return ret;
        +    }
        +    /**
        +     * Return a Promise that resolves to an array of all emitted data once
        +     * the stream ends.
        +     */
        +    async collect() {
        +        const buf = Object.assign([], {
        +            dataLength: 0,
        +        });
        +        if (!this[OBJECTMODE])
        +            buf.dataLength = 0;
        +        // set the promise first, in case an error is raised
        +        // by triggering the flow here.
        +        const p = this.promise();
        +        this.on('data', c => {
        +            buf.push(c);
        +            if (!this[OBJECTMODE])
        +                buf.dataLength += c.length;
        +        });
        +        await p;
        +        return buf;
        +    }
        +    /**
        +     * Return a Promise that resolves to the concatenation of all emitted data
        +     * once the stream ends.
        +     *
        +     * Not allowed on objectMode streams.
        +     */
        +    async concat() {
        +        if (this[OBJECTMODE]) {
        +            throw new Error('cannot concat in objectMode');
        +        }
        +        const buf = await this.collect();
        +        return (this[ENCODING]
        +            ? buf.join('')
        +            : Buffer.concat(buf, buf.dataLength));
        +    }
        +    /**
        +     * Return a void Promise that resolves once the stream ends.
        +     */
        +    async promise() {
        +        return new Promise((resolve, reject) => {
        +            this.on(DESTROYED, () => reject(new Error('stream destroyed')));
        +            this.on('error', er => reject(er));
        +            this.on('end', () => resolve());
        +        });
        +    }
        +    /**
        +     * Asynchronous `for await of` iteration.
        +     *
        +     * This will continue emitting all chunks until the stream terminates.
        +     */
        +    [Symbol.asyncIterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = async () => {
        +            this.pause();
        +            stopped = true;
        +            return { value: undefined, done: true };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const res = this.read();
        +            if (res !== null)
        +                return Promise.resolve({ done: false, value: res });
        +            if (this[EOF])
        +                return stop();
        +            let resolve;
        +            let reject;
        +            const onerr = (er) => {
        +                this.off('data', ondata);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                reject(er);
        +            };
        +            const ondata = (value) => {
        +                this.off('error', onerr);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                this.pause();
        +                resolve({ value, done: !!this[EOF] });
        +            };
        +            const onend = () => {
        +                this.off('error', onerr);
        +                this.off('data', ondata);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                resolve({ done: true, value: undefined });
        +            };
        +            const ondestroy = () => onerr(new Error('stream destroyed'));
        +            return new Promise((res, rej) => {
        +                reject = rej;
        +                resolve = res;
        +                this.once(DESTROYED, ondestroy);
        +                this.once('error', onerr);
        +                this.once('end', onend);
        +                this.once('data', ondata);
        +            });
        +        };
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.asyncIterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Synchronous `for of` iteration.
        +     *
        +     * The iteration will terminate when the internal buffer runs out, even
        +     * if the stream has not yet terminated.
        +     */
        +    [Symbol.iterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = () => {
        +            this.pause();
        +            this.off(ERROR, stop);
        +            this.off(DESTROYED, stop);
        +            this.off('end', stop);
        +            stopped = true;
        +            return { done: true, value: undefined };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const value = this.read();
        +            return value === null ? stop() : { done: false, value };
        +        };
        +        this.once('end', stop);
        +        this.once(ERROR, stop);
        +        this.once(DESTROYED, stop);
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.iterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Destroy a stream, preventing it from being used for any further purpose.
        +     *
        +     * If the stream has a `close()` method, then it will be called on
        +     * destruction.
        +     *
        +     * After destruction, any attempt to write data, read data, or emit most
        +     * events will be ignored.
        +     *
        +     * If an error argument is provided, then it will be emitted in an
        +     * 'error' event.
        +     */
        +    destroy(er) {
        +        if (this[DESTROYED]) {
        +            if (er)
        +                this.emit('error', er);
        +            else
        +                this.emit(DESTROYED);
        +            return this;
        +        }
        +        this[DESTROYED] = true;
        +        this[DISCARDED] = true;
        +        // throw away all buffered data, it's never coming out
        +        this[BUFFER].length = 0;
        +        this[BUFFERLENGTH] = 0;
        +        const wc = this;
        +        if (typeof wc.close === 'function' && !this[CLOSED])
        +            wc.close();
        +        if (er)
        +            this.emit('error', er);
        +        // if no error to emit, still reject pending promises
        +        else
        +            this.emit(DESTROYED);
        +        return this;
        +    }
        +    /**
        +     * Alias for {@link isStream}
        +     *
        +     * Former export location, maintained for backwards compatibility.
        +     *
        +     * @deprecated
        +     */
        +    static get isStream() {
        +        return exports.isStream;
        +    }
        +}
        +exports.Minipass = Minipass;
        +//# sourceMappingURL=index.js.map
        +
        +/***/ },
        +
        +/***/ 29753
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
        +    if (k2 === undefined) k2 = k;
        +    var desc = Object.getOwnPropertyDescriptor(m, k);
        +    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
        +      desc = { enumerable: true, get: function() { return m[k]; } };
        +    }
        +    Object.defineProperty(o, k2, desc);
        +}) : (function(o, m, k, k2) {
        +    if (k2 === undefined) k2 = k;
        +    o[k2] = m[k];
        +}));
        +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
        +    Object.defineProperty(o, "default", { enumerable: true, value: v });
        +}) : function(o, v) {
        +    o["default"] = v;
        +});
        +var __importStar = (this && this.__importStar) || function (mod) {
        +    if (mod && mod.__esModule) return mod;
        +    var result = {};
        +    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
        +    __setModuleDefault(result, mod);
        +    return result;
        +};
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.PathScurry = exports.Path = exports.PathScurryDarwin = exports.PathScurryPosix = exports.PathScurryWin32 = exports.PathScurryBase = exports.PathPosix = exports.PathWin32 = exports.PathBase = exports.ChildrenCache = exports.ResolveCache = void 0;
        +const lru_cache_1 = __webpack_require__(17801);
        +const node_path_1 = __webpack_require__(76760);
        +const node_url_1 = __webpack_require__(73136);
        +const fs_1 = __webpack_require__(79896);
        +const actualFS = __importStar(__webpack_require__(73024));
        +const realpathSync = fs_1.realpathSync.native;
        +// TODO: test perf of fs/promises realpath vs realpathCB,
        +// since the promises one uses realpath.native
        +const promises_1 = __webpack_require__(51455);
        +const minipass_1 = __webpack_require__(69319);
        +const defaultFS = {
        +    lstatSync: fs_1.lstatSync,
        +    readdir: fs_1.readdir,
        +    readdirSync: fs_1.readdirSync,
        +    readlinkSync: fs_1.readlinkSync,
        +    realpathSync,
        +    promises: {
        +        lstat: promises_1.lstat,
        +        readdir: promises_1.readdir,
        +        readlink: promises_1.readlink,
        +        realpath: promises_1.realpath,
        +    },
        +};
        +// if they just gave us require('fs') then use our default
        +const fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === actualFS ?
        +    defaultFS
        +    : {
        +        ...defaultFS,
        +        ...fsOption,
        +        promises: {
        +            ...defaultFS.promises,
        +            ...(fsOption.promises || {}),
        +        },
        +    };
        +// turn something like //?/c:/ into c:\
        +const uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
        +const uncToDrive = (rootPath) => rootPath.replace(/\//g, '\\').replace(uncDriveRegexp, '$1\\');
        +// windows paths are separated by either / or \
        +const eitherSep = /[\\\/]/;
        +const UNKNOWN = 0; // may not even exist, for all we know
        +const IFIFO = 0b0001;
        +const IFCHR = 0b0010;
        +const IFDIR = 0b0100;
        +const IFBLK = 0b0110;
        +const IFREG = 0b1000;
        +const IFLNK = 0b1010;
        +const IFSOCK = 0b1100;
        +const IFMT = 0b1111;
        +// mask to unset low 4 bits
        +const IFMT_UNKNOWN = ~IFMT;
        +// set after successfully calling readdir() and getting entries.
        +const READDIR_CALLED = 0b0000_0001_0000;
        +// set after a successful lstat()
        +const LSTAT_CALLED = 0b0000_0010_0000;
        +// set if an entry (or one of its parents) is definitely not a dir
        +const ENOTDIR = 0b0000_0100_0000;
        +// set if an entry (or one of its parents) does not exist
        +// (can also be set on lstat errors like EACCES or ENAMETOOLONG)
        +const ENOENT = 0b0000_1000_0000;
        +// cannot have child entries -- also verify &IFMT is either IFDIR or IFLNK
        +// set if we fail to readlink
        +const ENOREADLINK = 0b0001_0000_0000;
        +// set if we know realpath() will fail
        +const ENOREALPATH = 0b0010_0000_0000;
        +const ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
        +const TYPEMASK = 0b0011_1111_1111;
        +const entToType = (s) => s.isFile() ? IFREG
        +    : s.isDirectory() ? IFDIR
        +        : s.isSymbolicLink() ? IFLNK
        +            : s.isCharacterDevice() ? IFCHR
        +                : s.isBlockDevice() ? IFBLK
        +                    : s.isSocket() ? IFSOCK
        +                        : s.isFIFO() ? IFIFO
        +                            : UNKNOWN;
        +// normalize unicode path names
        +const normalizeCache = new Map();
        +const normalize = (s) => {
        +    const c = normalizeCache.get(s);
        +    if (c)
        +        return c;
        +    const n = s.normalize('NFKD');
        +    normalizeCache.set(s, n);
        +    return n;
        +};
        +const normalizeNocaseCache = new Map();
        +const normalizeNocase = (s) => {
        +    const c = normalizeNocaseCache.get(s);
        +    if (c)
        +        return c;
        +    const n = normalize(s.toLowerCase());
        +    normalizeNocaseCache.set(s, n);
        +    return n;
        +};
        +/**
        + * An LRUCache for storing resolved path strings or Path objects.
        + * @internal
        + */
        +class ResolveCache extends lru_cache_1.LRUCache {
        +    constructor() {
        +        super({ max: 256 });
        +    }
        +}
        +exports.ResolveCache = ResolveCache;
        +// In order to prevent blowing out the js heap by allocating hundreds of
        +// thousands of Path entries when walking extremely large trees, the "children"
        +// in this tree are represented by storing an array of Path entries in an
        +// LRUCache, indexed by the parent.  At any time, Path.children() may return an
        +// empty array, indicating that it doesn't know about any of its children, and
        +// thus has to rebuild that cache.  This is fine, it just means that we don't
        +// benefit as much from having the cached entries, but huge directory walks
        +// don't blow out the stack, and smaller ones are still as fast as possible.
        +//
        +//It does impose some complexity when building up the readdir data, because we
        +//need to pass a reference to the children array that we started with.
        +/**
        + * an LRUCache for storing child entries.
        + * @internal
        + */
        +class ChildrenCache extends lru_cache_1.LRUCache {
        +    constructor(maxSize = 16 * 1024) {
        +        super({
        +            maxSize,
        +            // parent + children
        +            sizeCalculation: a => a.length + 1,
        +        });
        +    }
        +}
        +exports.ChildrenCache = ChildrenCache;
        +const setAsCwd = Symbol('PathScurry setAsCwd');
        +/**
        + * Path objects are sort of like a super-powered
        + * {@link https://nodejs.org/docs/latest/api/fs.html#class-fsdirent fs.Dirent}
        + *
        + * Each one represents a single filesystem entry on disk, which may or may not
        + * exist. It includes methods for reading various types of information via
        + * lstat, readlink, and readdir, and caches all information to the greatest
        + * degree possible.
        + *
        + * Note that fs operations that would normally throw will instead return an
        + * "empty" value. This is in order to prevent excessive overhead from error
        + * stack traces.
        + */
        +class PathBase {
        +    /**
        +     * the basename of this path
        +     *
        +     * **Important**: *always* test the path name against any test string
        +     * usingthe {@link isNamed} method, and not by directly comparing this
        +     * string. Otherwise, unicode path strings that the system sees as identical
        +     * will not be properly treated as the same path, leading to incorrect
        +     * behavior and possible security issues.
        +     */
        +    name;
        +    /**
        +     * the Path entry corresponding to the path root.
        +     *
        +     * @internal
        +     */
        +    root;
        +    /**
        +     * All roots found within the current PathScurry family
        +     *
        +     * @internal
        +     */
        +    roots;
        +    /**
        +     * a reference to the parent path, or undefined in the case of root entries
        +     *
        +     * @internal
        +     */
        +    parent;
        +    /**
        +     * boolean indicating whether paths are compared case-insensitively
        +     * @internal
        +     */
        +    nocase;
        +    /**
        +     * boolean indicating that this path is the current working directory
        +     * of the PathScurry collection that contains it.
        +     */
        +    isCWD = false;
        +    // potential default fs override
        +    #fs;
        +    // Stats fields
        +    #dev;
        +    get dev() {
        +        return this.#dev;
        +    }
        +    #mode;
        +    get mode() {
        +        return this.#mode;
        +    }
        +    #nlink;
        +    get nlink() {
        +        return this.#nlink;
        +    }
        +    #uid;
        +    get uid() {
        +        return this.#uid;
        +    }
        +    #gid;
        +    get gid() {
        +        return this.#gid;
        +    }
        +    #rdev;
        +    get rdev() {
        +        return this.#rdev;
        +    }
        +    #blksize;
        +    get blksize() {
        +        return this.#blksize;
        +    }
        +    #ino;
        +    get ino() {
        +        return this.#ino;
        +    }
        +    #size;
        +    get size() {
        +        return this.#size;
        +    }
        +    #blocks;
        +    get blocks() {
        +        return this.#blocks;
        +    }
        +    #atimeMs;
        +    get atimeMs() {
        +        return this.#atimeMs;
        +    }
        +    #mtimeMs;
        +    get mtimeMs() {
        +        return this.#mtimeMs;
        +    }
        +    #ctimeMs;
        +    get ctimeMs() {
        +        return this.#ctimeMs;
        +    }
        +    #birthtimeMs;
        +    get birthtimeMs() {
        +        return this.#birthtimeMs;
        +    }
        +    #atime;
        +    get atime() {
        +        return this.#atime;
        +    }
        +    #mtime;
        +    get mtime() {
        +        return this.#mtime;
        +    }
        +    #ctime;
        +    get ctime() {
        +        return this.#ctime;
        +    }
        +    #birthtime;
        +    get birthtime() {
        +        return this.#birthtime;
        +    }
        +    #matchName;
        +    #depth;
        +    #fullpath;
        +    #fullpathPosix;
        +    #relative;
        +    #relativePosix;
        +    #type;
        +    #children;
        +    #linkTarget;
        +    #realpath;
        +    /**
        +     * This property is for compatibility with the Dirent class as of
        +     * Node v20, where Dirent['parentPath'] refers to the path of the
        +     * directory that was passed to readdir. For root entries, it's the path
        +     * to the entry itself.
        +     */
        +    get parentPath() {
        +        return (this.parent || this).fullpath();
        +    }
        +    /**
        +     * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
        +     * this property refers to the *parent* path, not the path object itself.
        +     */
        +    get path() {
        +        return this.parentPath;
        +    }
        +    /**
        +     * Do not create new Path objects directly.  They should always be accessed
        +     * via the PathScurry class or other methods on the Path class.
        +     *
        +     * @internal
        +     */
        +    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
        +        this.name = name;
        +        this.#matchName = nocase ? normalizeNocase(name) : normalize(name);
        +        this.#type = type & TYPEMASK;
        +        this.nocase = nocase;
        +        this.roots = roots;
        +        this.root = root || this;
        +        this.#children = children;
        +        this.#fullpath = opts.fullpath;
        +        this.#relative = opts.relative;
        +        this.#relativePosix = opts.relativePosix;
        +        this.parent = opts.parent;
        +        if (this.parent) {
        +            this.#fs = this.parent.#fs;
        +        }
        +        else {
        +            this.#fs = fsFromOption(opts.fs);
        +        }
        +    }
        +    /**
        +     * Returns the depth of the Path object from its root.
        +     *
        +     * For example, a path at `/foo/bar` would have a depth of 2.
        +     */
        +    depth() {
        +        if (this.#depth !== undefined)
        +            return this.#depth;
        +        if (!this.parent)
        +            return (this.#depth = 0);
        +        return (this.#depth = this.parent.depth() + 1);
        +    }
        +    /**
        +     * @internal
        +     */
        +    childrenCache() {
        +        return this.#children;
        +    }
        +    /**
        +     * Get the Path object referenced by the string path, resolved from this Path
        +     */
        +    resolve(path) {
        +        if (!path) {
        +            return this;
        +        }
        +        const rootPath = this.getRootString(path);
        +        const dir = path.substring(rootPath.length);
        +        const dirParts = dir.split(this.splitSep);
        +        const result = rootPath ?
        +            this.getRoot(rootPath).#resolveParts(dirParts)
        +            : this.#resolveParts(dirParts);
        +        return result;
        +    }
        +    #resolveParts(dirParts) {
        +        let p = this;
        +        for (const part of dirParts) {
        +            p = p.child(part);
        +        }
        +        return p;
        +    }
        +    /**
        +     * Returns the cached children Path objects, if still available.  If they
        +     * have fallen out of the cache, then returns an empty array, and resets the
        +     * READDIR_CALLED bit, so that future calls to readdir() will require an fs
        +     * lookup.
        +     *
        +     * @internal
        +     */
        +    children() {
        +        const cached = this.#children.get(this);
        +        if (cached) {
        +            return cached;
        +        }
        +        const children = Object.assign([], { provisional: 0 });
        +        this.#children.set(this, children);
        +        this.#type &= ~READDIR_CALLED;
        +        return children;
        +    }
        +    /**
        +     * Resolves a path portion and returns or creates the child Path.
        +     *
        +     * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
        +     * `'..'`.
        +     *
        +     * This should not be called directly.  If `pathPart` contains any path
        +     * separators, it will lead to unsafe undefined behavior.
        +     *
        +     * Use `Path.resolve()` instead.
        +     *
        +     * @internal
        +     */
        +    child(pathPart, opts) {
        +        if (pathPart === '' || pathPart === '.') {
        +            return this;
        +        }
        +        if (pathPart === '..') {
        +            return this.parent || this;
        +        }
        +        // find the child
        +        const children = this.children();
        +        const name = this.nocase ? normalizeNocase(pathPart) : normalize(pathPart);
        +        for (const p of children) {
        +            if (p.#matchName === name) {
        +                return p;
        +            }
        +        }
        +        // didn't find it, create provisional child, since it might not
        +        // actually exist.  If we know the parent isn't a dir, then
        +        // in fact it CAN'T exist.
        +        const s = this.parent ? this.sep : '';
        +        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : undefined;
        +        const pchild = this.newChild(pathPart, UNKNOWN, {
        +            ...opts,
        +            parent: this,
        +            fullpath,
        +        });
        +        if (!this.canReaddir()) {
        +            pchild.#type |= ENOENT;
        +        }
        +        // don't have to update provisional, because if we have real children,
        +        // then provisional is set to children.length, otherwise a lower number
        +        children.push(pchild);
        +        return pchild;
        +    }
        +    /**
        +     * The relative path from the cwd. If it does not share an ancestor with
        +     * the cwd, then this ends up being equivalent to the fullpath()
        +     */
        +    relative() {
        +        if (this.isCWD)
        +            return '';
        +        if (this.#relative !== undefined) {
        +            return this.#relative;
        +        }
        +        const name = this.name;
        +        const p = this.parent;
        +        if (!p) {
        +            return (this.#relative = this.name);
        +        }
        +        const pv = p.relative();
        +        return pv + (!pv || !p.parent ? '' : this.sep) + name;
        +    }
        +    /**
        +     * The relative path from the cwd, using / as the path separator.
        +     * If it does not share an ancestor with
        +     * the cwd, then this ends up being equivalent to the fullpathPosix()
        +     * On posix systems, this is identical to relative().
        +     */
        +    relativePosix() {
        +        if (this.sep === '/')
        +            return this.relative();
        +        if (this.isCWD)
        +            return '';
        +        if (this.#relativePosix !== undefined)
        +            return this.#relativePosix;
        +        const name = this.name;
        +        const p = this.parent;
        +        if (!p) {
        +            return (this.#relativePosix = this.fullpathPosix());
        +        }
        +        const pv = p.relativePosix();
        +        return pv + (!pv || !p.parent ? '' : '/') + name;
        +    }
        +    /**
        +     * The fully resolved path string for this Path entry
        +     */
        +    fullpath() {
        +        if (this.#fullpath !== undefined) {
        +            return this.#fullpath;
        +        }
        +        const name = this.name;
        +        const p = this.parent;
        +        if (!p) {
        +            return (this.#fullpath = this.name);
        +        }
        +        const pv = p.fullpath();
        +        const fp = pv + (!p.parent ? '' : this.sep) + name;
        +        return (this.#fullpath = fp);
        +    }
        +    /**
        +     * On platforms other than windows, this is identical to fullpath.
        +     *
        +     * On windows, this is overridden to return the forward-slash form of the
        +     * full UNC path.
        +     */
        +    fullpathPosix() {
        +        if (this.#fullpathPosix !== undefined)
        +            return this.#fullpathPosix;
        +        if (this.sep === '/')
        +            return (this.#fullpathPosix = this.fullpath());
        +        if (!this.parent) {
        +            const p = this.fullpath().replace(/\\/g, '/');
        +            if (/^[a-z]:\//i.test(p)) {
        +                return (this.#fullpathPosix = `//?/${p}`);
        +            }
        +            else {
        +                return (this.#fullpathPosix = p);
        +            }
        +        }
        +        const p = this.parent;
        +        const pfpp = p.fullpathPosix();
        +        const fpp = pfpp + (!pfpp || !p.parent ? '' : '/') + this.name;
        +        return (this.#fullpathPosix = fpp);
        +    }
        +    /**
        +     * Is the Path of an unknown type?
        +     *
        +     * Note that we might know *something* about it if there has been a previous
        +     * filesystem operation, for example that it does not exist, or is not a
        +     * link, or whether it has child entries.
        +     */
        +    isUnknown() {
        +        return (this.#type & IFMT) === UNKNOWN;
        +    }
        +    isType(type) {
        +        return this[`is${type}`]();
        +    }
        +    getType() {
        +        return (this.isUnknown() ? 'Unknown'
        +            : this.isDirectory() ? 'Directory'
        +                : this.isFile() ? 'File'
        +                    : this.isSymbolicLink() ? 'SymbolicLink'
        +                        : this.isFIFO() ? 'FIFO'
        +                            : this.isCharacterDevice() ? 'CharacterDevice'
        +                                : this.isBlockDevice() ? 'BlockDevice'
        +                                    : /* c8 ignore start */ this.isSocket() ? 'Socket'
        +                                        : 'Unknown');
        +        /* c8 ignore stop */
        +    }
        +    /**
        +     * Is the Path a regular file?
        +     */
        +    isFile() {
        +        return (this.#type & IFMT) === IFREG;
        +    }
        +    /**
        +     * Is the Path a directory?
        +     */
        +    isDirectory() {
        +        return (this.#type & IFMT) === IFDIR;
        +    }
        +    /**
        +     * Is the path a character device?
        +     */
        +    isCharacterDevice() {
        +        return (this.#type & IFMT) === IFCHR;
        +    }
        +    /**
        +     * Is the path a block device?
        +     */
        +    isBlockDevice() {
        +        return (this.#type & IFMT) === IFBLK;
        +    }
        +    /**
        +     * Is the path a FIFO pipe?
        +     */
        +    isFIFO() {
        +        return (this.#type & IFMT) === IFIFO;
        +    }
        +    /**
        +     * Is the path a socket?
        +     */
        +    isSocket() {
        +        return (this.#type & IFMT) === IFSOCK;
        +    }
        +    /**
        +     * Is the path a symbolic link?
        +     */
        +    isSymbolicLink() {
        +        return (this.#type & IFLNK) === IFLNK;
        +    }
        +    /**
        +     * Return the entry if it has been subject of a successful lstat, or
        +     * undefined otherwise.
        +     *
        +     * Does not read the filesystem, so an undefined result *could* simply
        +     * mean that we haven't called lstat on it.
        +     */
        +    lstatCached() {
        +        return this.#type & LSTAT_CALLED ? this : undefined;
        +    }
        +    /**
        +     * Return the cached link target if the entry has been the subject of a
        +     * successful readlink, or undefined otherwise.
        +     *
        +     * Does not read the filesystem, so an undefined result *could* just mean we
        +     * don't have any cached data. Only use it if you are very sure that a
        +     * readlink() has been called at some point.
        +     */
        +    readlinkCached() {
        +        return this.#linkTarget;
        +    }
        +    /**
        +     * Returns the cached realpath target if the entry has been the subject
        +     * of a successful realpath, or undefined otherwise.
        +     *
        +     * Does not read the filesystem, so an undefined result *could* just mean we
        +     * don't have any cached data. Only use it if you are very sure that a
        +     * realpath() has been called at some point.
        +     */
        +    realpathCached() {
        +        return this.#realpath;
        +    }
        +    /**
        +     * Returns the cached child Path entries array if the entry has been the
        +     * subject of a successful readdir(), or [] otherwise.
        +     *
        +     * Does not read the filesystem, so an empty array *could* just mean we
        +     * don't have any cached data. Only use it if you are very sure that a
        +     * readdir() has been called recently enough to still be valid.
        +     */
        +    readdirCached() {
        +        const children = this.children();
        +        return children.slice(0, children.provisional);
        +    }
        +    /**
        +     * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
        +     * any indication that readlink will definitely fail.
        +     *
        +     * Returns false if the path is known to not be a symlink, if a previous
        +     * readlink failed, or if the entry does not exist.
        +     */
        +    canReadlink() {
        +        if (this.#linkTarget)
        +            return true;
        +        if (!this.parent)
        +            return false;
        +        // cases where it cannot possibly succeed
        +        const ifmt = this.#type & IFMT;
        +        return !((ifmt !== UNKNOWN && ifmt !== IFLNK) ||
        +            this.#type & ENOREADLINK ||
        +            this.#type & ENOENT);
        +    }
        +    /**
        +     * Return true if readdir has previously been successfully called on this
        +     * path, indicating that cachedReaddir() is likely valid.
        +     */
        +    calledReaddir() {
        +        return !!(this.#type & READDIR_CALLED);
        +    }
        +    /**
        +     * Returns true if the path is known to not exist. That is, a previous lstat
        +     * or readdir failed to verify its existence when that would have been
        +     * expected, or a parent entry was marked either enoent or enotdir.
        +     */
        +    isENOENT() {
        +        return !!(this.#type & ENOENT);
        +    }
        +    /**
        +     * Return true if the path is a match for the given path name.  This handles
        +     * case sensitivity and unicode normalization.
        +     *
        +     * Note: even on case-sensitive systems, it is **not** safe to test the
        +     * equality of the `.name` property to determine whether a given pathname
        +     * matches, due to unicode normalization mismatches.
        +     *
        +     * Always use this method instead of testing the `path.name` property
        +     * directly.
        +     */
        +    isNamed(n) {
        +        return !this.nocase ?
        +            this.#matchName === normalize(n)
        +            : this.#matchName === normalizeNocase(n);
        +    }
        +    /**
        +     * Return the Path object corresponding to the target of a symbolic link.
        +     *
        +     * If the Path is not a symbolic link, or if the readlink call fails for any
        +     * reason, `undefined` is returned.
        +     *
        +     * Result is cached, and thus may be outdated if the filesystem is mutated.
        +     */
        +    async readlink() {
        +        const target = this.#linkTarget;
        +        if (target) {
        +            return target;
        +        }
        +        if (!this.canReadlink()) {
        +            return undefined;
        +        }
        +        /* c8 ignore start */
        +        // already covered by the canReadlink test, here for ts grumples
        +        if (!this.parent) {
        +            return undefined;
        +        }
        +        /* c8 ignore stop */
        +        try {
        +            const read = await this.#fs.promises.readlink(this.fullpath());
        +            const linkTarget = (await this.parent.realpath())?.resolve(read);
        +            if (linkTarget) {
        +                return (this.#linkTarget = linkTarget);
        +            }
        +        }
        +        catch (er) {
        +            this.#readlinkFail(er.code);
        +            return undefined;
        +        }
        +    }
        +    /**
        +     * Synchronous {@link PathBase.readlink}
        +     */
        +    readlinkSync() {
        +        const target = this.#linkTarget;
        +        if (target) {
        +            return target;
        +        }
        +        if (!this.canReadlink()) {
        +            return undefined;
        +        }
        +        /* c8 ignore start */
        +        // already covered by the canReadlink test, here for ts grumples
        +        if (!this.parent) {
        +            return undefined;
        +        }
        +        /* c8 ignore stop */
        +        try {
        +            const read = this.#fs.readlinkSync(this.fullpath());
        +            const linkTarget = this.parent.realpathSync()?.resolve(read);
        +            if (linkTarget) {
        +                return (this.#linkTarget = linkTarget);
        +            }
        +        }
        +        catch (er) {
        +            this.#readlinkFail(er.code);
        +            return undefined;
        +        }
        +    }
        +    #readdirSuccess(children) {
        +        // succeeded, mark readdir called bit
        +        this.#type |= READDIR_CALLED;
        +        // mark all remaining provisional children as ENOENT
        +        for (let p = children.provisional; p < children.length; p++) {
        +            const c = children[p];
        +            if (c)
        +                c.#markENOENT();
        +        }
        +    }
        +    #markENOENT() {
        +        // mark as UNKNOWN and ENOENT
        +        if (this.#type & ENOENT)
        +            return;
        +        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
        +        this.#markChildrenENOENT();
        +    }
        +    #markChildrenENOENT() {
        +        // all children are provisional and do not exist
        +        const children = this.children();
        +        children.provisional = 0;
        +        for (const p of children) {
        +            p.#markENOENT();
        +        }
        +    }
        +    #markENOREALPATH() {
        +        this.#type |= ENOREALPATH;
        +        this.#markENOTDIR();
        +    }
        +    // save the information when we know the entry is not a dir
        +    #markENOTDIR() {
        +        // entry is not a directory, so any children can't exist.
        +        // this *should* be impossible, since any children created
        +        // after it's been marked ENOTDIR should be marked ENOENT,
        +        // so it won't even get to this point.
        +        /* c8 ignore start */
        +        if (this.#type & ENOTDIR)
        +            return;
        +        /* c8 ignore stop */
        +        let t = this.#type;
        +        // this could happen if we stat a dir, then delete it,
        +        // then try to read it or one of its children.
        +        if ((t & IFMT) === IFDIR)
        +            t &= IFMT_UNKNOWN;
        +        this.#type = t | ENOTDIR;
        +        this.#markChildrenENOENT();
        +    }
        +    #readdirFail(code = '') {
        +        // markENOTDIR and markENOENT also set provisional=0
        +        if (code === 'ENOTDIR' || code === 'EPERM') {
        +            this.#markENOTDIR();
        +        }
        +        else if (code === 'ENOENT') {
        +            this.#markENOENT();
        +        }
        +        else {
        +            this.children().provisional = 0;
        +        }
        +    }
        +    #lstatFail(code = '') {
        +        // Windows just raises ENOENT in this case, disable for win CI
        +        /* c8 ignore start */
        +        if (code === 'ENOTDIR') {
        +            // already know it has a parent by this point
        +            const p = this.parent;
        +            p.#markENOTDIR();
        +        }
        +        else if (code === 'ENOENT') {
        +            /* c8 ignore stop */
        +            this.#markENOENT();
        +        }
        +    }
        +    #readlinkFail(code = '') {
        +        let ter = this.#type;
        +        ter |= ENOREADLINK;
        +        if (code === 'ENOENT')
        +            ter |= ENOENT;
        +        // windows gets a weird error when you try to readlink a file
        +        if (code === 'EINVAL' || code === 'UNKNOWN') {
        +            // exists, but not a symlink, we don't know WHAT it is, so remove
        +            // all IFMT bits.
        +            ter &= IFMT_UNKNOWN;
        +        }
        +        this.#type = ter;
        +        // windows just gets ENOENT in this case.  We do cover the case,
        +        // just disabled because it's impossible on Windows CI
        +        /* c8 ignore start */
        +        if (code === 'ENOTDIR' && this.parent) {
        +            this.parent.#markENOTDIR();
        +        }
        +        /* c8 ignore stop */
        +    }
        +    #readdirAddChild(e, c) {
        +        return (this.#readdirMaybePromoteChild(e, c) ||
        +            this.#readdirAddNewChild(e, c));
        +    }
        +    #readdirAddNewChild(e, c) {
        +        // alloc new entry at head, so it's never provisional
        +        const type = entToType(e);
        +        const child = this.newChild(e.name, type, { parent: this });
        +        const ifmt = child.#type & IFMT;
        +        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
        +            child.#type |= ENOTDIR;
        +        }
        +        c.unshift(child);
        +        c.provisional++;
        +        return child;
        +    }
        +    #readdirMaybePromoteChild(e, c) {
        +        for (let p = c.provisional; p < c.length; p++) {
        +            const pchild = c[p];
        +            const name = this.nocase ? normalizeNocase(e.name) : normalize(e.name);
        +            if (name !== pchild.#matchName) {
        +                continue;
        +            }
        +            return this.#readdirPromoteChild(e, pchild, p, c);
        +        }
        +    }
        +    #readdirPromoteChild(e, p, index, c) {
        +        const v = p.name;
        +        // retain any other flags, but set ifmt from dirent
        +        p.#type = (p.#type & IFMT_UNKNOWN) | entToType(e);
        +        // case sensitivity fixing when we learn the true name.
        +        if (v !== e.name)
        +            p.name = e.name;
        +        // just advance provisional index (potentially off the list),
        +        // otherwise we have to splice/pop it out and re-insert at head
        +        if (index !== c.provisional) {
        +            if (index === c.length - 1)
        +                c.pop();
        +            else
        +                c.splice(index, 1);
        +            c.unshift(p);
        +        }
        +        c.provisional++;
        +        return p;
        +    }
        +    /**
        +     * Call lstat() on this Path, and update all known information that can be
        +     * determined.
        +     *
        +     * Note that unlike `fs.lstat()`, the returned value does not contain some
        +     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
        +     * information is required, you will need to call `fs.lstat` yourself.
        +     *
        +     * If the Path refers to a nonexistent file, or if the lstat call fails for
        +     * any reason, `undefined` is returned.  Otherwise the updated Path object is
        +     * returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     */
        +    async lstat() {
        +        if ((this.#type & ENOENT) === 0) {
        +            try {
        +                this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
        +                return this;
        +            }
        +            catch (er) {
        +                this.#lstatFail(er.code);
        +            }
        +        }
        +    }
        +    /**
        +     * synchronous {@link PathBase.lstat}
        +     */
        +    lstatSync() {
        +        if ((this.#type & ENOENT) === 0) {
        +            try {
        +                this.#applyStat(this.#fs.lstatSync(this.fullpath()));
        +                return this;
        +            }
        +            catch (er) {
        +                this.#lstatFail(er.code);
        +            }
        +        }
        +    }
        +    #applyStat(st) {
        +        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid, } = st;
        +        this.#atime = atime;
        +        this.#atimeMs = atimeMs;
        +        this.#birthtime = birthtime;
        +        this.#birthtimeMs = birthtimeMs;
        +        this.#blksize = blksize;
        +        this.#blocks = blocks;
        +        this.#ctime = ctime;
        +        this.#ctimeMs = ctimeMs;
        +        this.#dev = dev;
        +        this.#gid = gid;
        +        this.#ino = ino;
        +        this.#mode = mode;
        +        this.#mtime = mtime;
        +        this.#mtimeMs = mtimeMs;
        +        this.#nlink = nlink;
        +        this.#rdev = rdev;
        +        this.#size = size;
        +        this.#uid = uid;
        +        const ifmt = entToType(st);
        +        // retain any other flags, but set the ifmt
        +        this.#type = (this.#type & IFMT_UNKNOWN) | ifmt | LSTAT_CALLED;
        +        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
        +            this.#type |= ENOTDIR;
        +        }
        +    }
        +    #onReaddirCB = [];
        +    #readdirCBInFlight = false;
        +    #callOnReaddirCB(children) {
        +        this.#readdirCBInFlight = false;
        +        const cbs = this.#onReaddirCB.slice();
        +        this.#onReaddirCB.length = 0;
        +        cbs.forEach(cb => cb(null, children));
        +    }
        +    /**
        +     * Standard node-style callback interface to get list of directory entries.
        +     *
        +     * If the Path cannot or does not contain any children, then an empty array
        +     * is returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     *
        +     * @param cb The callback called with (er, entries).  Note that the `er`
        +     * param is somewhat extraneous, as all readdir() errors are handled and
        +     * simply result in an empty set of entries being returned.
        +     * @param allowZalgo Boolean indicating that immediately known results should
        +     * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
        +     * zalgo at your peril, the dark pony lord is devious and unforgiving.
        +     */
        +    readdirCB(cb, allowZalgo = false) {
        +        if (!this.canReaddir()) {
        +            if (allowZalgo)
        +                cb(null, []);
        +            else
        +                queueMicrotask(() => cb(null, []));
        +            return;
        +        }
        +        const children = this.children();
        +        if (this.calledReaddir()) {
        +            const c = children.slice(0, children.provisional);
        +            if (allowZalgo)
        +                cb(null, c);
        +            else
        +                queueMicrotask(() => cb(null, c));
        +            return;
        +        }
        +        // don't have to worry about zalgo at this point.
        +        this.#onReaddirCB.push(cb);
        +        if (this.#readdirCBInFlight) {
        +            return;
        +        }
        +        this.#readdirCBInFlight = true;
        +        // else read the directory, fill up children
        +        // de-provisionalize any provisional children.
        +        const fullpath = this.fullpath();
        +        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
        +            if (er) {
        +                this.#readdirFail(er.code);
        +                children.provisional = 0;
        +            }
        +            else {
        +                // if we didn't get an error, we always get entries.
        +                //@ts-ignore
        +                for (const e of entries) {
        +                    this.#readdirAddChild(e, children);
        +                }
        +                this.#readdirSuccess(children);
        +            }
        +            this.#callOnReaddirCB(children.slice(0, children.provisional));
        +            return;
        +        });
        +    }
        +    #asyncReaddirInFlight;
        +    /**
        +     * Return an array of known child entries.
        +     *
        +     * If the Path cannot or does not contain any children, then an empty array
        +     * is returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     */
        +    async readdir() {
        +        if (!this.canReaddir()) {
        +            return [];
        +        }
        +        const children = this.children();
        +        if (this.calledReaddir()) {
        +            return children.slice(0, children.provisional);
        +        }
        +        // else read the directory, fill up children
        +        // de-provisionalize any provisional children.
        +        const fullpath = this.fullpath();
        +        if (this.#asyncReaddirInFlight) {
        +            await this.#asyncReaddirInFlight;
        +        }
        +        else {
        +            /* c8 ignore start */
        +            let resolve = () => { };
        +            /* c8 ignore stop */
        +            this.#asyncReaddirInFlight = new Promise(res => (resolve = res));
        +            try {
        +                for (const e of await this.#fs.promises.readdir(fullpath, {
        +                    withFileTypes: true,
        +                })) {
        +                    this.#readdirAddChild(e, children);
        +                }
        +                this.#readdirSuccess(children);
        +            }
        +            catch (er) {
        +                this.#readdirFail(er.code);
        +                children.provisional = 0;
        +            }
        +            this.#asyncReaddirInFlight = undefined;
        +            resolve();
        +        }
        +        return children.slice(0, children.provisional);
        +    }
        +    /**
        +     * synchronous {@link PathBase.readdir}
        +     */
        +    readdirSync() {
        +        if (!this.canReaddir()) {
        +            return [];
        +        }
        +        const children = this.children();
        +        if (this.calledReaddir()) {
        +            return children.slice(0, children.provisional);
        +        }
        +        // else read the directory, fill up children
        +        // de-provisionalize any provisional children.
        +        const fullpath = this.fullpath();
        +        try {
        +            for (const e of this.#fs.readdirSync(fullpath, {
        +                withFileTypes: true,
        +            })) {
        +                this.#readdirAddChild(e, children);
        +            }
        +            this.#readdirSuccess(children);
        +        }
        +        catch (er) {
        +            this.#readdirFail(er.code);
        +            children.provisional = 0;
        +        }
        +        return children.slice(0, children.provisional);
        +    }
        +    canReaddir() {
        +        if (this.#type & ENOCHILD)
        +            return false;
        +        const ifmt = IFMT & this.#type;
        +        // we always set ENOTDIR when setting IFMT, so should be impossible
        +        /* c8 ignore start */
        +        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
        +            return false;
        +        }
        +        /* c8 ignore stop */
        +        return true;
        +    }
        +    shouldWalk(dirs, walkFilter) {
        +        return ((this.#type & IFDIR) === IFDIR &&
        +            !(this.#type & ENOCHILD) &&
        +            !dirs.has(this) &&
        +            (!walkFilter || walkFilter(this)));
        +    }
        +    /**
        +     * Return the Path object corresponding to path as resolved
        +     * by realpath(3).
        +     *
        +     * If the realpath call fails for any reason, `undefined` is returned.
        +     *
        +     * Result is cached, and thus may be outdated if the filesystem is mutated.
        +     * On success, returns a Path object.
        +     */
        +    async realpath() {
        +        if (this.#realpath)
        +            return this.#realpath;
        +        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
        +            return undefined;
        +        try {
        +            const rp = await this.#fs.promises.realpath(this.fullpath());
        +            return (this.#realpath = this.resolve(rp));
        +        }
        +        catch (_) {
        +            this.#markENOREALPATH();
        +        }
        +    }
        +    /**
        +     * Synchronous {@link realpath}
        +     */
        +    realpathSync() {
        +        if (this.#realpath)
        +            return this.#realpath;
        +        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
        +            return undefined;
        +        try {
        +            const rp = this.#fs.realpathSync(this.fullpath());
        +            return (this.#realpath = this.resolve(rp));
        +        }
        +        catch (_) {
        +            this.#markENOREALPATH();
        +        }
        +    }
        +    /**
        +     * Internal method to mark this Path object as the scurry cwd,
        +     * called by {@link PathScurry#chdir}
        +     *
        +     * @internal
        +     */
        +    [setAsCwd](oldCwd) {
        +        if (oldCwd === this)
        +            return;
        +        oldCwd.isCWD = false;
        +        this.isCWD = true;
        +        const changed = new Set([]);
        +        let rp = [];
        +        let p = this;
        +        while (p && p.parent) {
        +            changed.add(p);
        +            p.#relative = rp.join(this.sep);
        +            p.#relativePosix = rp.join('/');
        +            p = p.parent;
        +            rp.push('..');
        +        }
        +        // now un-memoize parents of old cwd
        +        p = oldCwd;
        +        while (p && p.parent && !changed.has(p)) {
        +            p.#relative = undefined;
        +            p.#relativePosix = undefined;
        +            p = p.parent;
        +        }
        +    }
        +}
        +exports.PathBase = PathBase;
        +/**
        + * Path class used on win32 systems
        + *
        + * Uses `'\\'` as the path separator for returned paths, either `'\\'` or `'/'`
        + * as the path separator for parsing paths.
        + */
        +class PathWin32 extends PathBase {
        +    /**
        +     * Separator for generating path strings.
        +     */
        +    sep = '\\';
        +    /**
        +     * Separator for parsing path strings.
        +     */
        +    splitSep = eitherSep;
        +    /**
        +     * Do not create new Path objects directly.  They should always be accessed
        +     * via the PathScurry class or other methods on the Path class.
        +     *
        +     * @internal
        +     */
        +    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
        +        super(name, type, root, roots, nocase, children, opts);
        +    }
        +    /**
        +     * @internal
        +     */
        +    newChild(name, type = UNKNOWN, opts = {}) {
        +        return new PathWin32(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRootString(path) {
        +        return node_path_1.win32.parse(path).root;
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRoot(rootPath) {
        +        rootPath = uncToDrive(rootPath.toUpperCase());
        +        if (rootPath === this.root.name) {
        +            return this.root;
        +        }
        +        // ok, not that one, check if it matches another we know about
        +        for (const [compare, root] of Object.entries(this.roots)) {
        +            if (this.sameRoot(rootPath, compare)) {
        +                return (this.roots[rootPath] = root);
        +            }
        +        }
        +        // otherwise, have to create a new one.
        +        return (this.roots[rootPath] = new PathScurryWin32(rootPath, this).root);
        +    }
        +    /**
        +     * @internal
        +     */
        +    sameRoot(rootPath, compare = this.root.name) {
        +        // windows can (rarely) have case-sensitive filesystem, but
        +        // UNC and drive letters are always case-insensitive, and canonically
        +        // represented uppercase.
        +        rootPath = rootPath
        +            .toUpperCase()
        +            .replace(/\//g, '\\')
        +            .replace(uncDriveRegexp, '$1\\');
        +        return rootPath === compare;
        +    }
        +}
        +exports.PathWin32 = PathWin32;
        +/**
        + * Path class used on all posix systems.
        + *
        + * Uses `'/'` as the path separator.
        + */
        +class PathPosix extends PathBase {
        +    /**
        +     * separator for parsing path strings
        +     */
        +    splitSep = '/';
        +    /**
        +     * separator for generating path strings
        +     */
        +    sep = '/';
        +    /**
        +     * Do not create new Path objects directly.  They should always be accessed
        +     * via the PathScurry class or other methods on the Path class.
        +     *
        +     * @internal
        +     */
        +    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
        +        super(name, type, root, roots, nocase, children, opts);
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRootString(path) {
        +        return path.startsWith('/') ? '/' : '';
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRoot(_rootPath) {
        +        return this.root;
        +    }
        +    /**
        +     * @internal
        +     */
        +    newChild(name, type = UNKNOWN, opts = {}) {
        +        return new PathPosix(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
        +    }
        +}
        +exports.PathPosix = PathPosix;
        +/**
        + * The base class for all PathScurry classes, providing the interface for path
        + * resolution and filesystem operations.
        + *
        + * Typically, you should *not* instantiate this class directly, but rather one
        + * of the platform-specific classes, or the exported {@link PathScurry} which
        + * defaults to the current platform.
        + */
        +class PathScurryBase {
        +    /**
        +     * The root Path entry for the current working directory of this Scurry
        +     */
        +    root;
        +    /**
        +     * The string path for the root of this Scurry's current working directory
        +     */
        +    rootPath;
        +    /**
        +     * A collection of all roots encountered, referenced by rootPath
        +     */
        +    roots;
        +    /**
        +     * The Path entry corresponding to this PathScurry's current working directory.
        +     */
        +    cwd;
        +    #resolveCache;
        +    #resolvePosixCache;
        +    #children;
        +    /**
        +     * Perform path comparisons case-insensitively.
        +     *
        +     * Defaults true on Darwin and Windows systems, false elsewhere.
        +     */
        +    nocase;
        +    #fs;
        +    /**
        +     * This class should not be instantiated directly.
        +     *
        +     * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
        +     *
        +     * @internal
        +     */
        +    constructor(cwd = process.cwd(), pathImpl, sep, { nocase, childrenCacheSize = 16 * 1024, fs = defaultFS, } = {}) {
        +        this.#fs = fsFromOption(fs);
        +        if (cwd instanceof URL || cwd.startsWith('file://')) {
        +            cwd = (0, node_url_1.fileURLToPath)(cwd);
        +        }
        +        // resolve and split root, and then add to the store.
        +        // this is the only time we call path.resolve()
        +        const cwdPath = pathImpl.resolve(cwd);
        +        this.roots = Object.create(null);
        +        this.rootPath = this.parseRootPath(cwdPath);
        +        this.#resolveCache = new ResolveCache();
        +        this.#resolvePosixCache = new ResolveCache();
        +        this.#children = new ChildrenCache(childrenCacheSize);
        +        const split = cwdPath.substring(this.rootPath.length).split(sep);
        +        // resolve('/') leaves '', splits to [''], we don't want that.
        +        if (split.length === 1 && !split[0]) {
        +            split.pop();
        +        }
        +        /* c8 ignore start */
        +        if (nocase === undefined) {
        +            throw new TypeError('must provide nocase setting to PathScurryBase ctor');
        +        }
        +        /* c8 ignore stop */
        +        this.nocase = nocase;
        +        this.root = this.newRoot(this.#fs);
        +        this.roots[this.rootPath] = this.root;
        +        let prev = this.root;
        +        let len = split.length - 1;
        +        const joinSep = pathImpl.sep;
        +        let abs = this.rootPath;
        +        let sawFirst = false;
        +        for (const part of split) {
        +            const l = len--;
        +            prev = prev.child(part, {
        +                relative: new Array(l).fill('..').join(joinSep),
        +                relativePosix: new Array(l).fill('..').join('/'),
        +                fullpath: (abs += (sawFirst ? '' : joinSep) + part),
        +            });
        +            sawFirst = true;
        +        }
        +        this.cwd = prev;
        +    }
        +    /**
        +     * Get the depth of a provided path, string, or the cwd
        +     */
        +    depth(path = this.cwd) {
        +        if (typeof path === 'string') {
        +            path = this.cwd.resolve(path);
        +        }
        +        return path.depth();
        +    }
        +    /**
        +     * Return the cache of child entries.  Exposed so subclasses can create
        +     * child Path objects in a platform-specific way.
        +     *
        +     * @internal
        +     */
        +    childrenCache() {
        +        return this.#children;
        +    }
        +    /**
        +     * Resolve one or more path strings to a resolved string
        +     *
        +     * Same interface as require('path').resolve.
        +     *
        +     * Much faster than path.resolve() when called multiple times for the same
        +     * path, because the resolved Path objects are cached.  Much slower
        +     * otherwise.
        +     */
        +    resolve(...paths) {
        +        // first figure out the minimum number of paths we have to test
        +        // we always start at cwd, but any absolutes will bump the start
        +        let r = '';
        +        for (let i = paths.length - 1; i >= 0; i--) {
        +            const p = paths[i];
        +            if (!p || p === '.')
        +                continue;
        +            r = r ? `${p}/${r}` : p;
        +            if (this.isAbsolute(p)) {
        +                break;
        +            }
        +        }
        +        const cached = this.#resolveCache.get(r);
        +        if (cached !== undefined) {
        +            return cached;
        +        }
        +        const result = this.cwd.resolve(r).fullpath();
        +        this.#resolveCache.set(r, result);
        +        return result;
        +    }
        +    /**
        +     * Resolve one or more path strings to a resolved string, returning
        +     * the posix path.  Identical to .resolve() on posix systems, but on
        +     * windows will return a forward-slash separated UNC path.
        +     *
        +     * Same interface as require('path').resolve.
        +     *
        +     * Much faster than path.resolve() when called multiple times for the same
        +     * path, because the resolved Path objects are cached.  Much slower
        +     * otherwise.
        +     */
        +    resolvePosix(...paths) {
        +        // first figure out the minimum number of paths we have to test
        +        // we always start at cwd, but any absolutes will bump the start
        +        let r = '';
        +        for (let i = paths.length - 1; i >= 0; i--) {
        +            const p = paths[i];
        +            if (!p || p === '.')
        +                continue;
        +            r = r ? `${p}/${r}` : p;
        +            if (this.isAbsolute(p)) {
        +                break;
        +            }
        +        }
        +        const cached = this.#resolvePosixCache.get(r);
        +        if (cached !== undefined) {
        +            return cached;
        +        }
        +        const result = this.cwd.resolve(r).fullpathPosix();
        +        this.#resolvePosixCache.set(r, result);
        +        return result;
        +    }
        +    /**
        +     * find the relative path from the cwd to the supplied path string or entry
        +     */
        +    relative(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.relative();
        +    }
        +    /**
        +     * find the relative path from the cwd to the supplied path string or
        +     * entry, using / as the path delimiter, even on Windows.
        +     */
        +    relativePosix(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.relativePosix();
        +    }
        +    /**
        +     * Return the basename for the provided string or Path object
        +     */
        +    basename(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.name;
        +    }
        +    /**
        +     * Return the dirname for the provided string or Path object
        +     */
        +    dirname(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return (entry.parent || entry).fullpath();
        +    }
        +    async readdir(entry = this.cwd, opts = {
        +        withFileTypes: true,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes } = opts;
        +        if (!entry.canReaddir()) {
        +            return [];
        +        }
        +        else {
        +            const p = await entry.readdir();
        +            return withFileTypes ? p : p.map(e => e.name);
        +        }
        +    }
        +    readdirSync(entry = this.cwd, opts = {
        +        withFileTypes: true,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true } = opts;
        +        if (!entry.canReaddir()) {
        +            return [];
        +        }
        +        else if (withFileTypes) {
        +            return entry.readdirSync();
        +        }
        +        else {
        +            return entry.readdirSync().map(e => e.name);
        +        }
        +    }
        +    /**
        +     * Call lstat() on the string or Path object, and update all known
        +     * information that can be determined.
        +     *
        +     * Note that unlike `fs.lstat()`, the returned value does not contain some
        +     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
        +     * information is required, you will need to call `fs.lstat` yourself.
        +     *
        +     * If the Path refers to a nonexistent file, or if the lstat call fails for
        +     * any reason, `undefined` is returned.  Otherwise the updated Path object is
        +     * returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     */
        +    async lstat(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.lstat();
        +    }
        +    /**
        +     * synchronous {@link PathScurryBase.lstat}
        +     */
        +    lstatSync(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.lstatSync();
        +    }
        +    async readlink(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = await entry.readlink();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    readlinkSync(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = entry.readlinkSync();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    async realpath(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = await entry.realpath();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    realpathSync(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = entry.realpathSync();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    async walk(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = [];
        +        if (!filter || filter(entry)) {
        +            results.push(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const dirs = new Set();
        +        const walk = (dir, cb) => {
        +            dirs.add(dir);
        +            dir.readdirCB((er, entries) => {
        +                /* c8 ignore start */
        +                if (er) {
        +                    return cb(er);
        +                }
        +                /* c8 ignore stop */
        +                let len = entries.length;
        +                if (!len)
        +                    return cb();
        +                const next = () => {
        +                    if (--len === 0) {
        +                        cb();
        +                    }
        +                };
        +                for (const e of entries) {
        +                    if (!filter || filter(e)) {
        +                        results.push(withFileTypes ? e : e.fullpath());
        +                    }
        +                    if (follow && e.isSymbolicLink()) {
        +                        e.realpath()
        +                            .then(r => (r?.isUnknown() ? r.lstat() : r))
        +                            .then(r => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
        +                    }
        +                    else {
        +                        if (e.shouldWalk(dirs, walkFilter)) {
        +                            walk(e, next);
        +                        }
        +                        else {
        +                            next();
        +                        }
        +                    }
        +                }
        +            }, true); // zalgooooooo
        +        };
        +        const start = entry;
        +        return new Promise((res, rej) => {
        +            walk(start, er => {
        +                /* c8 ignore start */
        +                if (er)
        +                    return rej(er);
        +                /* c8 ignore stop */
        +                res(results);
        +            });
        +        });
        +    }
        +    walkSync(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = [];
        +        if (!filter || filter(entry)) {
        +            results.push(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const dirs = new Set([entry]);
        +        for (const dir of dirs) {
        +            const entries = dir.readdirSync();
        +            for (const e of entries) {
        +                if (!filter || filter(e)) {
        +                    results.push(withFileTypes ? e : e.fullpath());
        +                }
        +                let r = e;
        +                if (e.isSymbolicLink()) {
        +                    if (!(follow && (r = e.realpathSync())))
        +                        continue;
        +                    if (r.isUnknown())
        +                        r.lstatSync();
        +                }
        +                if (r.shouldWalk(dirs, walkFilter)) {
        +                    dirs.add(r);
        +                }
        +            }
        +        }
        +        return results;
        +    }
        +    /**
        +     * Support for `for await`
        +     *
        +     * Alias for {@link PathScurryBase.iterate}
        +     *
        +     * Note: As of Node 19, this is very slow, compared to other methods of
        +     * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
        +     * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
        +     */
        +    [Symbol.asyncIterator]() {
        +        return this.iterate();
        +    }
        +    iterate(entry = this.cwd, options = {}) {
        +        // iterating async over the stream is significantly more performant,
        +        // especially in the warm-cache scenario, because it buffers up directory
        +        // entries in the background instead of waiting for a yield for each one.
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            options = entry;
        +            entry = this.cwd;
        +        }
        +        return this.stream(entry, options)[Symbol.asyncIterator]();
        +    }
        +    /**
        +     * Iterating over a PathScurry performs a synchronous walk.
        +     *
        +     * Alias for {@link PathScurryBase.iterateSync}
        +     */
        +    [Symbol.iterator]() {
        +        return this.iterateSync();
        +    }
        +    *iterateSync(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        if (!filter || filter(entry)) {
        +            yield withFileTypes ? entry : entry.fullpath();
        +        }
        +        const dirs = new Set([entry]);
        +        for (const dir of dirs) {
        +            const entries = dir.readdirSync();
        +            for (const e of entries) {
        +                if (!filter || filter(e)) {
        +                    yield withFileTypes ? e : e.fullpath();
        +                }
        +                let r = e;
        +                if (e.isSymbolicLink()) {
        +                    if (!(follow && (r = e.realpathSync())))
        +                        continue;
        +                    if (r.isUnknown())
        +                        r.lstatSync();
        +                }
        +                if (r.shouldWalk(dirs, walkFilter)) {
        +                    dirs.add(r);
        +                }
        +            }
        +        }
        +    }
        +    stream(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = new minipass_1.Minipass({ objectMode: true });
        +        if (!filter || filter(entry)) {
        +            results.write(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const dirs = new Set();
        +        const queue = [entry];
        +        let processing = 0;
        +        const process = () => {
        +            let paused = false;
        +            while (!paused) {
        +                const dir = queue.shift();
        +                if (!dir) {
        +                    if (processing === 0)
        +                        results.end();
        +                    return;
        +                }
        +                processing++;
        +                dirs.add(dir);
        +                const onReaddir = (er, entries, didRealpaths = false) => {
        +                    /* c8 ignore start */
        +                    if (er)
        +                        return results.emit('error', er);
        +                    /* c8 ignore stop */
        +                    if (follow && !didRealpaths) {
        +                        const promises = [];
        +                        for (const e of entries) {
        +                            if (e.isSymbolicLink()) {
        +                                promises.push(e
        +                                    .realpath()
        +                                    .then((r) => r?.isUnknown() ? r.lstat() : r));
        +                            }
        +                        }
        +                        if (promises.length) {
        +                            Promise.all(promises).then(() => onReaddir(null, entries, true));
        +                            return;
        +                        }
        +                    }
        +                    for (const e of entries) {
        +                        if (e && (!filter || filter(e))) {
        +                            if (!results.write(withFileTypes ? e : e.fullpath())) {
        +                                paused = true;
        +                            }
        +                        }
        +                    }
        +                    processing--;
        +                    for (const e of entries) {
        +                        const r = e.realpathCached() || e;
        +                        if (r.shouldWalk(dirs, walkFilter)) {
        +                            queue.push(r);
        +                        }
        +                    }
        +                    if (paused && !results.flowing) {
        +                        results.once('drain', process);
        +                    }
        +                    else if (!sync) {
        +                        process();
        +                    }
        +                };
        +                // zalgo containment
        +                let sync = true;
        +                dir.readdirCB(onReaddir, true);
        +                sync = false;
        +            }
        +        };
        +        process();
        +        return results;
        +    }
        +    streamSync(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = new minipass_1.Minipass({ objectMode: true });
        +        const dirs = new Set();
        +        if (!filter || filter(entry)) {
        +            results.write(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const queue = [entry];
        +        let processing = 0;
        +        const process = () => {
        +            let paused = false;
        +            while (!paused) {
        +                const dir = queue.shift();
        +                if (!dir) {
        +                    if (processing === 0)
        +                        results.end();
        +                    return;
        +                }
        +                processing++;
        +                dirs.add(dir);
        +                const entries = dir.readdirSync();
        +                for (const e of entries) {
        +                    if (!filter || filter(e)) {
        +                        if (!results.write(withFileTypes ? e : e.fullpath())) {
        +                            paused = true;
        +                        }
        +                    }
        +                }
        +                processing--;
        +                for (const e of entries) {
        +                    let r = e;
        +                    if (e.isSymbolicLink()) {
        +                        if (!(follow && (r = e.realpathSync())))
        +                            continue;
        +                        if (r.isUnknown())
        +                            r.lstatSync();
        +                    }
        +                    if (r.shouldWalk(dirs, walkFilter)) {
        +                        queue.push(r);
        +                    }
        +                }
        +            }
        +            if (paused && !results.flowing)
        +                results.once('drain', process);
        +        };
        +        process();
        +        return results;
        +    }
        +    chdir(path = this.cwd) {
        +        const oldCwd = this.cwd;
        +        this.cwd = typeof path === 'string' ? this.cwd.resolve(path) : path;
        +        this.cwd[setAsCwd](oldCwd);
        +    }
        +}
        +exports.PathScurryBase = PathScurryBase;
        +/**
        + * Windows implementation of {@link PathScurryBase}
        + *
        + * Defaults to case insensitve, uses `'\\'` to generate path strings.  Uses
        + * {@link PathWin32} for Path objects.
        + */
        +class PathScurryWin32 extends PathScurryBase {
        +    /**
        +     * separator for generating path strings
        +     */
        +    sep = '\\';
        +    constructor(cwd = process.cwd(), opts = {}) {
        +        const { nocase = true } = opts;
        +        super(cwd, node_path_1.win32, '\\', { ...opts, nocase });
        +        this.nocase = nocase;
        +        for (let p = this.cwd; p; p = p.parent) {
        +            p.nocase = this.nocase;
        +        }
        +    }
        +    /**
        +     * @internal
        +     */
        +    parseRootPath(dir) {
        +        // if the path starts with a single separator, it's not a UNC, and we'll
        +        // just get separator as the root, and driveFromUNC will return \
        +        // In that case, mount \ on the root from the cwd.
        +        return node_path_1.win32.parse(dir).root.toUpperCase();
        +    }
        +    /**
        +     * @internal
        +     */
        +    newRoot(fs) {
        +        return new PathWin32(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });
        +    }
        +    /**
        +     * Return true if the provided path string is an absolute path
        +     */
        +    isAbsolute(p) {
        +        return (p.startsWith('/') || p.startsWith('\\') || /^[a-z]:(\/|\\)/i.test(p));
        +    }
        +}
        +exports.PathScurryWin32 = PathScurryWin32;
        +/**
        + * {@link PathScurryBase} implementation for all posix systems other than Darwin.
        + *
        + * Defaults to case-sensitive matching, uses `'/'` to generate path strings.
        + *
        + * Uses {@link PathPosix} for Path objects.
        + */
        +class PathScurryPosix extends PathScurryBase {
        +    /**
        +     * separator for generating path strings
        +     */
        +    sep = '/';
        +    constructor(cwd = process.cwd(), opts = {}) {
        +        const { nocase = false } = opts;
        +        super(cwd, node_path_1.posix, '/', { ...opts, nocase });
        +        this.nocase = nocase;
        +    }
        +    /**
        +     * @internal
        +     */
        +    parseRootPath(_dir) {
        +        return '/';
        +    }
        +    /**
        +     * @internal
        +     */
        +    newRoot(fs) {
        +        return new PathPosix(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });
        +    }
        +    /**
        +     * Return true if the provided path string is an absolute path
        +     */
        +    isAbsolute(p) {
        +        return p.startsWith('/');
        +    }
        +}
        +exports.PathScurryPosix = PathScurryPosix;
        +/**
        + * {@link PathScurryBase} implementation for Darwin (macOS) systems.
        + *
        + * Defaults to case-insensitive matching, uses `'/'` for generating path
        + * strings.
        + *
        + * Uses {@link PathPosix} for Path objects.
        + */
        +class PathScurryDarwin extends PathScurryPosix {
        +    constructor(cwd = process.cwd(), opts = {}) {
        +        const { nocase = true } = opts;
        +        super(cwd, { ...opts, nocase });
        +    }
        +}
        +exports.PathScurryDarwin = PathScurryDarwin;
        +/**
        + * Default {@link PathBase} implementation for the current platform.
        + *
        + * {@link PathWin32} on Windows systems, {@link PathPosix} on all others.
        + */
        +exports.Path = process.platform === 'win32' ? PathWin32 : PathPosix;
        +/**
        + * Default {@link PathScurryBase} implementation for the current platform.
        + *
        + * {@link PathScurryWin32} on Windows systems, {@link PathScurryDarwin} on
        + * Darwin (macOS) systems, {@link PathScurryPosix} on all others.
        + */
        +exports.PathScurry = process.platform === 'win32' ? PathScurryWin32
        +    : process.platform === 'darwin' ? PathScurryDarwin
        +        : PathScurryPosix;
        +//# sourceMappingURL=index.js.map
        +
        +/***/ },
        +
        +/***/ 17801
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +/**
        + * @module LRUCache
        + */
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.LRUCache = void 0;
        +const perf = typeof performance === 'object' &&
        +    performance &&
        +    typeof performance.now === 'function'
        +    ? performance
        +    : Date;
        +const warned = new Set();
        +/* c8 ignore start */
        +const PROCESS = (typeof process === 'object' && !!process ? process : {});
        +/* c8 ignore start */
        +const emitWarning = (msg, type, code, fn) => {
        +    typeof PROCESS.emitWarning === 'function'
        +        ? PROCESS.emitWarning(msg, type, code, fn)
        +        : console.error(`[${code}] ${type}: ${msg}`);
        +};
        +let AC = globalThis.AbortController;
        +let AS = globalThis.AbortSignal;
        +/* c8 ignore start */
        +if (typeof AC === 'undefined') {
        +    //@ts-ignore
        +    AS = class AbortSignal {
        +        onabort;
        +        _onabort = [];
        +        reason;
        +        aborted = false;
        +        addEventListener(_, fn) {
        +            this._onabort.push(fn);
        +        }
        +    };
        +    //@ts-ignore
        +    AC = class AbortController {
        +        constructor() {
        +            warnACPolyfill();
        +        }
        +        signal = new AS();
        +        abort(reason) {
        +            if (this.signal.aborted)
        +                return;
        +            //@ts-ignore
        +            this.signal.reason = reason;
        +            //@ts-ignore
        +            this.signal.aborted = true;
        +            //@ts-ignore
        +            for (const fn of this.signal._onabort) {
        +                fn(reason);
        +            }
        +            this.signal.onabort?.(reason);
        +        }
        +    };
        +    let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1';
        +    const warnACPolyfill = () => {
        +        if (!printACPolyfillWarning)
        +            return;
        +        printACPolyfillWarning = false;
        +        emitWarning('AbortController is not defined. If using lru-cache in ' +
        +            'node 14, load an AbortController polyfill from the ' +
        +            '`node-abort-controller` package. A minimal polyfill is ' +
        +            'provided for use by LRUCache.fetch(), but it should not be ' +
        +            'relied upon in other contexts (eg, passing it to other APIs that ' +
        +            'use AbortController/AbortSignal might have undesirable effects). ' +
        +            'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.', 'NO_ABORT_CONTROLLER', 'ENOTSUP', warnACPolyfill);
        +    };
        +}
        +/* c8 ignore stop */
        +const shouldWarn = (code) => !warned.has(code);
        +const TYPE = Symbol('type');
        +const isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
        +/* c8 ignore start */
        +// This is a little bit ridiculous, tbh.
        +// The maximum array length is 2^32-1 or thereabouts on most JS impls.
        +// And well before that point, you're caching the entire world, I mean,
        +// that's ~32GB of just integers for the next/prev links, plus whatever
        +// else to hold that many keys and values.  Just filling the memory with
        +// zeroes at init time is brutal when you get that big.
        +// But why not be complete?
        +// Maybe in the future, these limits will have expanded.
        +const getUintArray = (max) => !isPosInt(max)
        +    ? null
        +    : max <= Math.pow(2, 8)
        +        ? Uint8Array
        +        : max <= Math.pow(2, 16)
        +            ? Uint16Array
        +            : max <= Math.pow(2, 32)
        +                ? Uint32Array
        +                : max <= Number.MAX_SAFE_INTEGER
        +                    ? ZeroArray
        +                    : null;
        +/* c8 ignore stop */
        +class ZeroArray extends Array {
        +    constructor(size) {
        +        super(size);
        +        this.fill(0);
        +    }
        +}
        +class Stack {
        +    heap;
        +    length;
        +    // private constructor
        +    static #constructing = false;
        +    static create(max) {
        +        const HeapCls = getUintArray(max);
        +        if (!HeapCls)
        +            return [];
        +        Stack.#constructing = true;
        +        const s = new Stack(max, HeapCls);
        +        Stack.#constructing = false;
        +        return s;
        +    }
        +    constructor(max, HeapCls) {
        +        /* c8 ignore start */
        +        if (!Stack.#constructing) {
        +            throw new TypeError('instantiate Stack using Stack.create(n)');
        +        }
        +        /* c8 ignore stop */
        +        this.heap = new HeapCls(max);
        +        this.length = 0;
        +    }
        +    push(n) {
        +        this.heap[this.length++] = n;
        +    }
        +    pop() {
        +        return this.heap[--this.length];
        +    }
        +}
        +/**
        + * Default export, the thing you're using this module to get.
        + *
        + * All properties from the options object (with the exception of
        + * {@link OptionsBase.max} and {@link OptionsBase.maxSize}) are added as
        + * normal public members. (`max` and `maxBase` are read-only getters.)
        + * Changing any of these will alter the defaults for subsequent method calls,
        + * but is otherwise safe.
        + */
        +class LRUCache {
        +    // properties coming in from the options of these, only max and maxSize
        +    // really *need* to be protected. The rest can be modified, as they just
        +    // set defaults for various methods.
        +    #max;
        +    #maxSize;
        +    #dispose;
        +    #disposeAfter;
        +    #fetchMethod;
        +    /**
        +     * {@link LRUCache.OptionsBase.ttl}
        +     */
        +    ttl;
        +    /**
        +     * {@link LRUCache.OptionsBase.ttlResolution}
        +     */
        +    ttlResolution;
        +    /**
        +     * {@link LRUCache.OptionsBase.ttlAutopurge}
        +     */
        +    ttlAutopurge;
        +    /**
        +     * {@link LRUCache.OptionsBase.updateAgeOnGet}
        +     */
        +    updateAgeOnGet;
        +    /**
        +     * {@link LRUCache.OptionsBase.updateAgeOnHas}
        +     */
        +    updateAgeOnHas;
        +    /**
        +     * {@link LRUCache.OptionsBase.allowStale}
        +     */
        +    allowStale;
        +    /**
        +     * {@link LRUCache.OptionsBase.noDisposeOnSet}
        +     */
        +    noDisposeOnSet;
        +    /**
        +     * {@link LRUCache.OptionsBase.noUpdateTTL}
        +     */
        +    noUpdateTTL;
        +    /**
        +     * {@link LRUCache.OptionsBase.maxEntrySize}
        +     */
        +    maxEntrySize;
        +    /**
        +     * {@link LRUCache.OptionsBase.sizeCalculation}
        +     */
        +    sizeCalculation;
        +    /**
        +     * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
        +     */
        +    noDeleteOnFetchRejection;
        +    /**
        +     * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
        +     */
        +    noDeleteOnStaleGet;
        +    /**
        +     * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
        +     */
        +    allowStaleOnFetchAbort;
        +    /**
        +     * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
        +     */
        +    allowStaleOnFetchRejection;
        +    /**
        +     * {@link LRUCache.OptionsBase.ignoreFetchAbort}
        +     */
        +    ignoreFetchAbort;
        +    // computed properties
        +    #size;
        +    #calculatedSize;
        +    #keyMap;
        +    #keyList;
        +    #valList;
        +    #next;
        +    #prev;
        +    #head;
        +    #tail;
        +    #free;
        +    #disposed;
        +    #sizes;
        +    #starts;
        +    #ttls;
        +    #hasDispose;
        +    #hasFetchMethod;
        +    #hasDisposeAfter;
        +    /**
        +     * Do not call this method unless you need to inspect the
        +     * inner workings of the cache.  If anything returned by this
        +     * object is modified in any way, strange breakage may occur.
        +     *
        +     * These fields are private for a reason!
        +     *
        +     * @internal
        +     */
        +    static unsafeExposeInternals(c) {
        +        return {
        +            // properties
        +            starts: c.#starts,
        +            ttls: c.#ttls,
        +            sizes: c.#sizes,
        +            keyMap: c.#keyMap,
        +            keyList: c.#keyList,
        +            valList: c.#valList,
        +            next: c.#next,
        +            prev: c.#prev,
        +            get head() {
        +                return c.#head;
        +            },
        +            get tail() {
        +                return c.#tail;
        +            },
        +            free: c.#free,
        +            // methods
        +            isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
        +            backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),
        +            moveToTail: (index) => c.#moveToTail(index),
        +            indexes: (options) => c.#indexes(options),
        +            rindexes: (options) => c.#rindexes(options),
        +            isStale: (index) => c.#isStale(index),
        +        };
        +    }
        +    // Protected read-only members
        +    /**
        +     * {@link LRUCache.OptionsBase.max} (read-only)
        +     */
        +    get max() {
        +        return this.#max;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.maxSize} (read-only)
        +     */
        +    get maxSize() {
        +        return this.#maxSize;
        +    }
        +    /**
        +     * The total computed size of items in the cache (read-only)
        +     */
        +    get calculatedSize() {
        +        return this.#calculatedSize;
        +    }
        +    /**
        +     * The number of items stored in the cache (read-only)
        +     */
        +    get size() {
        +        return this.#size;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
        +     */
        +    get fetchMethod() {
        +        return this.#fetchMethod;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.dispose} (read-only)
        +     */
        +    get dispose() {
        +        return this.#dispose;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
        +     */
        +    get disposeAfter() {
        +        return this.#disposeAfter;
        +    }
        +    constructor(options) {
        +        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, } = options;
        +        if (max !== 0 && !isPosInt(max)) {
        +            throw new TypeError('max option must be a nonnegative integer');
        +        }
        +        const UintArray = max ? getUintArray(max) : Array;
        +        if (!UintArray) {
        +            throw new Error('invalid max value: ' + max);
        +        }
        +        this.#max = max;
        +        this.#maxSize = maxSize;
        +        this.maxEntrySize = maxEntrySize || this.#maxSize;
        +        this.sizeCalculation = sizeCalculation;
        +        if (this.sizeCalculation) {
        +            if (!this.#maxSize && !this.maxEntrySize) {
        +                throw new TypeError('cannot set sizeCalculation without setting maxSize or maxEntrySize');
        +            }
        +            if (typeof this.sizeCalculation !== 'function') {
        +                throw new TypeError('sizeCalculation set to non-function');
        +            }
        +        }
        +        if (fetchMethod !== undefined &&
        +            typeof fetchMethod !== 'function') {
        +            throw new TypeError('fetchMethod must be a function if specified');
        +        }
        +        this.#fetchMethod = fetchMethod;
        +        this.#hasFetchMethod = !!fetchMethod;
        +        this.#keyMap = new Map();
        +        this.#keyList = new Array(max).fill(undefined);
        +        this.#valList = new Array(max).fill(undefined);
        +        this.#next = new UintArray(max);
        +        this.#prev = new UintArray(max);
        +        this.#head = 0;
        +        this.#tail = 0;
        +        this.#free = Stack.create(max);
        +        this.#size = 0;
        +        this.#calculatedSize = 0;
        +        if (typeof dispose === 'function') {
        +            this.#dispose = dispose;
        +        }
        +        if (typeof disposeAfter === 'function') {
        +            this.#disposeAfter = disposeAfter;
        +            this.#disposed = [];
        +        }
        +        else {
        +            this.#disposeAfter = undefined;
        +            this.#disposed = undefined;
        +        }
        +        this.#hasDispose = !!this.#dispose;
        +        this.#hasDisposeAfter = !!this.#disposeAfter;
        +        this.noDisposeOnSet = !!noDisposeOnSet;
        +        this.noUpdateTTL = !!noUpdateTTL;
        +        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
        +        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
        +        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
        +        this.ignoreFetchAbort = !!ignoreFetchAbort;
        +        // NB: maxEntrySize is set to maxSize if it's set
        +        if (this.maxEntrySize !== 0) {
        +            if (this.#maxSize !== 0) {
        +                if (!isPosInt(this.#maxSize)) {
        +                    throw new TypeError('maxSize must be a positive integer if specified');
        +                }
        +            }
        +            if (!isPosInt(this.maxEntrySize)) {
        +                throw new TypeError('maxEntrySize must be a positive integer if specified');
        +            }
        +            this.#initializeSizeTracking();
        +        }
        +        this.allowStale = !!allowStale;
        +        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
        +        this.updateAgeOnGet = !!updateAgeOnGet;
        +        this.updateAgeOnHas = !!updateAgeOnHas;
        +        this.ttlResolution =
        +            isPosInt(ttlResolution) || ttlResolution === 0
        +                ? ttlResolution
        +                : 1;
        +        this.ttlAutopurge = !!ttlAutopurge;
        +        this.ttl = ttl || 0;
        +        if (this.ttl) {
        +            if (!isPosInt(this.ttl)) {
        +                throw new TypeError('ttl must be a positive integer if specified');
        +            }
        +            this.#initializeTTLTracking();
        +        }
        +        // do not allow completely unbounded caches
        +        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
        +            throw new TypeError('At least one of max, maxSize, or ttl is required');
        +        }
        +        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
        +            const code = 'LRU_CACHE_UNBOUNDED';
        +            if (shouldWarn(code)) {
        +                warned.add(code);
        +                const msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' +
        +                    'result in unbounded memory consumption.';
        +                emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache);
        +            }
        +        }
        +    }
        +    /**
        +     * Return the remaining TTL time for a given entry key
        +     */
        +    getRemainingTTL(key) {
        +        return this.#keyMap.has(key) ? Infinity : 0;
        +    }
        +    #initializeTTLTracking() {
        +        const ttls = new ZeroArray(this.#max);
        +        const starts = new ZeroArray(this.#max);
        +        this.#ttls = ttls;
        +        this.#starts = starts;
        +        this.#setItemTTL = (index, ttl, start = perf.now()) => {
        +            starts[index] = ttl !== 0 ? start : 0;
        +            ttls[index] = ttl;
        +            if (ttl !== 0 && this.ttlAutopurge) {
        +                const t = setTimeout(() => {
        +                    if (this.#isStale(index)) {
        +                        this.delete(this.#keyList[index]);
        +                    }
        +                }, ttl + 1);
        +                // unref() not supported on all platforms
        +                /* c8 ignore start */
        +                if (t.unref) {
        +                    t.unref();
        +                }
        +                /* c8 ignore stop */
        +            }
        +        };
        +        this.#updateItemAge = index => {
        +            starts[index] = ttls[index] !== 0 ? perf.now() : 0;
        +        };
        +        this.#statusTTL = (status, index) => {
        +            if (ttls[index]) {
        +                const ttl = ttls[index];
        +                const start = starts[index];
        +                /* c8 ignore next */
        +                if (!ttl || !start)
        +                    return;
        +                status.ttl = ttl;
        +                status.start = start;
        +                status.now = cachedNow || getNow();
        +                const age = status.now - start;
        +                status.remainingTTL = ttl - age;
        +            }
        +        };
        +        // debounce calls to perf.now() to 1s so we're not hitting
        +        // that costly call repeatedly.
        +        let cachedNow = 0;
        +        const getNow = () => {
        +            const n = perf.now();
        +            if (this.ttlResolution > 0) {
        +                cachedNow = n;
        +                const t = setTimeout(() => (cachedNow = 0), this.ttlResolution);
        +                // not available on all platforms
        +                /* c8 ignore start */
        +                if (t.unref) {
        +                    t.unref();
        +                }
        +                /* c8 ignore stop */
        +            }
        +            return n;
        +        };
        +        this.getRemainingTTL = key => {
        +            const index = this.#keyMap.get(key);
        +            if (index === undefined) {
        +                return 0;
        +            }
        +            const ttl = ttls[index];
        +            const start = starts[index];
        +            if (!ttl || !start) {
        +                return Infinity;
        +            }
        +            const age = (cachedNow || getNow()) - start;
        +            return ttl - age;
        +        };
        +        this.#isStale = index => {
        +            const s = starts[index];
        +            const t = ttls[index];
        +            return !!t && !!s && (cachedNow || getNow()) - s > t;
        +        };
        +    }
        +    // conditionally set private methods related to TTL
        +    #updateItemAge = () => { };
        +    #statusTTL = () => { };
        +    #setItemTTL = () => { };
        +    /* c8 ignore stop */
        +    #isStale = () => false;
        +    #initializeSizeTracking() {
        +        const sizes = new ZeroArray(this.#max);
        +        this.#calculatedSize = 0;
        +        this.#sizes = sizes;
        +        this.#removeItemSize = index => {
        +            this.#calculatedSize -= sizes[index];
        +            sizes[index] = 0;
        +        };
        +        this.#requireSize = (k, v, size, sizeCalculation) => {
        +            // provisionally accept background fetches.
        +            // actual value size will be checked when they return.
        +            if (this.#isBackgroundFetch(v)) {
        +                return 0;
        +            }
        +            if (!isPosInt(size)) {
        +                if (sizeCalculation) {
        +                    if (typeof sizeCalculation !== 'function') {
        +                        throw new TypeError('sizeCalculation must be a function');
        +                    }
        +                    size = sizeCalculation(v, k);
        +                    if (!isPosInt(size)) {
        +                        throw new TypeError('sizeCalculation return invalid (expect positive integer)');
        +                    }
        +                }
        +                else {
        +                    throw new TypeError('invalid size value (must be positive integer). ' +
        +                        'When maxSize or maxEntrySize is used, sizeCalculation ' +
        +                        'or size must be set.');
        +                }
        +            }
        +            return size;
        +        };
        +        this.#addItemSize = (index, size, status) => {
        +            sizes[index] = size;
        +            if (this.#maxSize) {
        +                const maxSize = this.#maxSize - sizes[index];
        +                while (this.#calculatedSize > maxSize) {
        +                    this.#evict(true);
        +                }
        +            }
        +            this.#calculatedSize += sizes[index];
        +            if (status) {
        +                status.entrySize = size;
        +                status.totalCalculatedSize = this.#calculatedSize;
        +            }
        +        };
        +    }
        +    #removeItemSize = _i => { };
        +    #addItemSize = (_i, _s, _st) => { };
        +    #requireSize = (_k, _v, size, sizeCalculation) => {
        +        if (size || sizeCalculation) {
        +            throw new TypeError('cannot set size without setting maxSize or maxEntrySize on cache');
        +        }
        +        return 0;
        +    };
        +    *#indexes({ allowStale = this.allowStale } = {}) {
        +        if (this.#size) {
        +            for (let i = this.#tail; true;) {
        +                if (!this.#isValidIndex(i)) {
        +                    break;
        +                }
        +                if (allowStale || !this.#isStale(i)) {
        +                    yield i;
        +                }
        +                if (i === this.#head) {
        +                    break;
        +                }
        +                else {
        +                    i = this.#prev[i];
        +                }
        +            }
        +        }
        +    }
        +    *#rindexes({ allowStale = this.allowStale } = {}) {
        +        if (this.#size) {
        +            for (let i = this.#head; true;) {
        +                if (!this.#isValidIndex(i)) {
        +                    break;
        +                }
        +                if (allowStale || !this.#isStale(i)) {
        +                    yield i;
        +                }
        +                if (i === this.#tail) {
        +                    break;
        +                }
        +                else {
        +                    i = this.#next[i];
        +                }
        +            }
        +        }
        +    }
        +    #isValidIndex(index) {
        +        return (index !== undefined &&
        +            this.#keyMap.get(this.#keyList[index]) === index);
        +    }
        +    /**
        +     * Return a generator yielding `[key, value]` pairs,
        +     * in order from most recently used to least recently used.
        +     */
        +    *entries() {
        +        for (const i of this.#indexes()) {
        +            if (this.#valList[i] !== undefined &&
        +                this.#keyList[i] !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield [this.#keyList[i], this.#valList[i]];
        +            }
        +        }
        +    }
        +    /**
        +     * Inverse order version of {@link LRUCache.entries}
        +     *
        +     * Return a generator yielding `[key, value]` pairs,
        +     * in order from least recently used to most recently used.
        +     */
        +    *rentries() {
        +        for (const i of this.#rindexes()) {
        +            if (this.#valList[i] !== undefined &&
        +                this.#keyList[i] !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield [this.#keyList[i], this.#valList[i]];
        +            }
        +        }
        +    }
        +    /**
        +     * Return a generator yielding the keys in the cache,
        +     * in order from most recently used to least recently used.
        +     */
        +    *keys() {
        +        for (const i of this.#indexes()) {
        +            const k = this.#keyList[i];
        +            if (k !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield k;
        +            }
        +        }
        +    }
        +    /**
        +     * Inverse order version of {@link LRUCache.keys}
        +     *
        +     * Return a generator yielding the keys in the cache,
        +     * in order from least recently used to most recently used.
        +     */
        +    *rkeys() {
        +        for (const i of this.#rindexes()) {
        +            const k = this.#keyList[i];
        +            if (k !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield k;
        +            }
        +        }
        +    }
        +    /**
        +     * Return a generator yielding the values in the cache,
        +     * in order from most recently used to least recently used.
        +     */
        +    *values() {
        +        for (const i of this.#indexes()) {
        +            const v = this.#valList[i];
        +            if (v !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield this.#valList[i];
        +            }
        +        }
        +    }
        +    /**
        +     * Inverse order version of {@link LRUCache.values}
        +     *
        +     * Return a generator yielding the values in the cache,
        +     * in order from least recently used to most recently used.
        +     */
        +    *rvalues() {
        +        for (const i of this.#rindexes()) {
        +            const v = this.#valList[i];
        +            if (v !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield this.#valList[i];
        +            }
        +        }
        +    }
        +    /**
        +     * Iterating over the cache itself yields the same results as
        +     * {@link LRUCache.entries}
        +     */
        +    [Symbol.iterator]() {
        +        return this.entries();
        +    }
        +    /**
        +     * A String value that is used in the creation of the default string description of an object.
        +     * Called by the built-in method Object.prototype.toString.
        +     */
        +    [Symbol.toStringTag] = 'LRUCache';
        +    /**
        +     * Find a value for which the supplied fn method returns a truthy value,
        +     * similar to Array.find().  fn is called as fn(value, key, cache).
        +     */
        +    find(fn, getOptions = {}) {
        +        for (const i of this.#indexes()) {
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined)
        +                continue;
        +            if (fn(value, this.#keyList[i], this)) {
        +                return this.get(this.#keyList[i], getOptions);
        +            }
        +        }
        +    }
        +    /**
        +     * Call the supplied function on each item in the cache, in order from
        +     * most recently used to least recently used.  fn is called as
        +     * fn(value, key, cache).  Does not update age or recenty of use.
        +     * Does not iterate over stale values.
        +     */
        +    forEach(fn, thisp = this) {
        +        for (const i of this.#indexes()) {
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined)
        +                continue;
        +            fn.call(thisp, value, this.#keyList[i], this);
        +        }
        +    }
        +    /**
        +     * The same as {@link LRUCache.forEach} but items are iterated over in
        +     * reverse order.  (ie, less recently used items are iterated over first.)
        +     */
        +    rforEach(fn, thisp = this) {
        +        for (const i of this.#rindexes()) {
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined)
        +                continue;
        +            fn.call(thisp, value, this.#keyList[i], this);
        +        }
        +    }
        +    /**
        +     * Delete any stale entries. Returns true if anything was removed,
        +     * false otherwise.
        +     */
        +    purgeStale() {
        +        let deleted = false;
        +        for (const i of this.#rindexes({ allowStale: true })) {
        +            if (this.#isStale(i)) {
        +                this.delete(this.#keyList[i]);
        +                deleted = true;
        +            }
        +        }
        +        return deleted;
        +    }
        +    /**
        +     * Get the extended info about a given entry, to get its value, size, and
        +     * TTL info simultaneously. Like {@link LRUCache#dump}, but just for a
        +     * single key. Always returns stale values, if their info is found in the
        +     * cache, so be sure to check for expired TTLs if relevant.
        +     */
        +    info(key) {
        +        const i = this.#keyMap.get(key);
        +        if (i === undefined)
        +            return undefined;
        +        const v = this.#valList[i];
        +        const value = this.#isBackgroundFetch(v)
        +            ? v.__staleWhileFetching
        +            : v;
        +        if (value === undefined)
        +            return undefined;
        +        const entry = { value };
        +        if (this.#ttls && this.#starts) {
        +            const ttl = this.#ttls[i];
        +            const start = this.#starts[i];
        +            if (ttl && start) {
        +                const remain = ttl - (perf.now() - start);
        +                entry.ttl = remain;
        +                entry.start = Date.now();
        +            }
        +        }
        +        if (this.#sizes) {
        +            entry.size = this.#sizes[i];
        +        }
        +        return entry;
        +    }
        +    /**
        +     * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
        +     * passed to cache.load()
        +     */
        +    dump() {
        +        const arr = [];
        +        for (const i of this.#indexes({ allowStale: true })) {
        +            const key = this.#keyList[i];
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined || key === undefined)
        +                continue;
        +            const entry = { value };
        +            if (this.#ttls && this.#starts) {
        +                entry.ttl = this.#ttls[i];
        +                // always dump the start relative to a portable timestamp
        +                // it's ok for this to be a bit slow, it's a rare operation.
        +                const age = perf.now() - this.#starts[i];
        +                entry.start = Math.floor(Date.now() - age);
        +            }
        +            if (this.#sizes) {
        +                entry.size = this.#sizes[i];
        +            }
        +            arr.unshift([key, entry]);
        +        }
        +        return arr;
        +    }
        +    /**
        +     * Reset the cache and load in the items in entries in the order listed.
        +     * Note that the shape of the resulting cache may be different if the
        +     * same options are not used in both caches.
        +     */
        +    load(arr) {
        +        this.clear();
        +        for (const [key, entry] of arr) {
        +            if (entry.start) {
        +                // entry.start is a portable timestamp, but we may be using
        +                // node's performance.now(), so calculate the offset, so that
        +                // we get the intended remaining TTL, no matter how long it's
        +                // been on ice.
        +                //
        +                // it's ok for this to be a bit slow, it's a rare operation.
        +                const age = Date.now() - entry.start;
        +                entry.start = perf.now() - age;
        +            }
        +            this.set(key, entry.value, entry);
        +        }
        +    }
        +    /**
        +     * Add a value to the cache.
        +     *
        +     * Note: if `undefined` is specified as a value, this is an alias for
        +     * {@link LRUCache#delete}
        +     */
        +    set(k, v, setOptions = {}) {
        +        if (v === undefined) {
        +            this.delete(k);
        +            return this;
        +        }
        +        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;
        +        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
        +        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
        +        // if the item doesn't fit, don't do anything
        +        // NB: maxEntrySize set to maxSize by default
        +        if (this.maxEntrySize && size > this.maxEntrySize) {
        +            if (status) {
        +                status.set = 'miss';
        +                status.maxEntrySizeExceeded = true;
        +            }
        +            // have to delete, in case something is there already.
        +            this.delete(k);
        +            return this;
        +        }
        +        let index = this.#size === 0 ? undefined : this.#keyMap.get(k);
        +        if (index === undefined) {
        +            // addition
        +            index = (this.#size === 0
        +                ? this.#tail
        +                : this.#free.length !== 0
        +                    ? this.#free.pop()
        +                    : this.#size === this.#max
        +                        ? this.#evict(false)
        +                        : this.#size);
        +            this.#keyList[index] = k;
        +            this.#valList[index] = v;
        +            this.#keyMap.set(k, index);
        +            this.#next[this.#tail] = index;
        +            this.#prev[index] = this.#tail;
        +            this.#tail = index;
        +            this.#size++;
        +            this.#addItemSize(index, size, status);
        +            if (status)
        +                status.set = 'add';
        +            noUpdateTTL = false;
        +        }
        +        else {
        +            // update
        +            this.#moveToTail(index);
        +            const oldVal = this.#valList[index];
        +            if (v !== oldVal) {
        +                if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
        +                    oldVal.__abortController.abort(new Error('replaced'));
        +                    const { __staleWhileFetching: s } = oldVal;
        +                    if (s !== undefined && !noDisposeOnSet) {
        +                        if (this.#hasDispose) {
        +                            this.#dispose?.(s, k, 'set');
        +                        }
        +                        if (this.#hasDisposeAfter) {
        +                            this.#disposed?.push([s, k, 'set']);
        +                        }
        +                    }
        +                }
        +                else if (!noDisposeOnSet) {
        +                    if (this.#hasDispose) {
        +                        this.#dispose?.(oldVal, k, 'set');
        +                    }
        +                    if (this.#hasDisposeAfter) {
        +                        this.#disposed?.push([oldVal, k, 'set']);
        +                    }
        +                }
        +                this.#removeItemSize(index);
        +                this.#addItemSize(index, size, status);
        +                this.#valList[index] = v;
        +                if (status) {
        +                    status.set = 'replace';
        +                    const oldValue = oldVal && this.#isBackgroundFetch(oldVal)
        +                        ? oldVal.__staleWhileFetching
        +                        : oldVal;
        +                    if (oldValue !== undefined)
        +                        status.oldValue = oldValue;
        +                }
        +            }
        +            else if (status) {
        +                status.set = 'update';
        +            }
        +        }
        +        if (ttl !== 0 && !this.#ttls) {
        +            this.#initializeTTLTracking();
        +        }
        +        if (this.#ttls) {
        +            if (!noUpdateTTL) {
        +                this.#setItemTTL(index, ttl, start);
        +            }
        +            if (status)
        +                this.#statusTTL(status, index);
        +        }
        +        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
        +            const dt = this.#disposed;
        +            let task;
        +            while ((task = dt?.shift())) {
        +                this.#disposeAfter?.(...task);
        +            }
        +        }
        +        return this;
        +    }
        +    /**
        +     * Evict the least recently used item, returning its value or
        +     * `undefined` if cache is empty.
        +     */
        +    pop() {
        +        try {
        +            while (this.#size) {
        +                const val = this.#valList[this.#head];
        +                this.#evict(true);
        +                if (this.#isBackgroundFetch(val)) {
        +                    if (val.__staleWhileFetching) {
        +                        return val.__staleWhileFetching;
        +                    }
        +                }
        +                else if (val !== undefined) {
        +                    return val;
        +                }
        +            }
        +        }
        +        finally {
        +            if (this.#hasDisposeAfter && this.#disposed) {
        +                const dt = this.#disposed;
        +                let task;
        +                while ((task = dt?.shift())) {
        +                    this.#disposeAfter?.(...task);
        +                }
        +            }
        +        }
        +    }
        +    #evict(free) {
        +        const head = this.#head;
        +        const k = this.#keyList[head];
        +        const v = this.#valList[head];
        +        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
        +            v.__abortController.abort(new Error('evicted'));
        +        }
        +        else if (this.#hasDispose || this.#hasDisposeAfter) {
        +            if (this.#hasDispose) {
        +                this.#dispose?.(v, k, 'evict');
        +            }
        +            if (this.#hasDisposeAfter) {
        +                this.#disposed?.push([v, k, 'evict']);
        +            }
        +        }
        +        this.#removeItemSize(head);
        +        // if we aren't about to use the index, then null these out
        +        if (free) {
        +            this.#keyList[head] = undefined;
        +            this.#valList[head] = undefined;
        +            this.#free.push(head);
        +        }
        +        if (this.#size === 1) {
        +            this.#head = this.#tail = 0;
        +            this.#free.length = 0;
        +        }
        +        else {
        +            this.#head = this.#next[head];
        +        }
        +        this.#keyMap.delete(k);
        +        this.#size--;
        +        return head;
        +    }
        +    /**
        +     * Check if a key is in the cache, without updating the recency of use.
        +     * Will return false if the item is stale, even though it is technically
        +     * in the cache.
        +     *
        +     * Will not update item age unless
        +     * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
        +     */
        +    has(k, hasOptions = {}) {
        +        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
        +        const index = this.#keyMap.get(k);
        +        if (index !== undefined) {
        +            const v = this.#valList[index];
        +            if (this.#isBackgroundFetch(v) &&
        +                v.__staleWhileFetching === undefined) {
        +                return false;
        +            }
        +            if (!this.#isStale(index)) {
        +                if (updateAgeOnHas) {
        +                    this.#updateItemAge(index);
        +                }
        +                if (status) {
        +                    status.has = 'hit';
        +                    this.#statusTTL(status, index);
        +                }
        +                return true;
        +            }
        +            else if (status) {
        +                status.has = 'stale';
        +                this.#statusTTL(status, index);
        +            }
        +        }
        +        else if (status) {
        +            status.has = 'miss';
        +        }
        +        return false;
        +    }
        +    /**
        +     * Like {@link LRUCache#get} but doesn't update recency or delete stale
        +     * items.
        +     *
        +     * Returns `undefined` if the item is stale, unless
        +     * {@link LRUCache.OptionsBase.allowStale} is set.
        +     */
        +    peek(k, peekOptions = {}) {
        +        const { allowStale = this.allowStale } = peekOptions;
        +        const index = this.#keyMap.get(k);
        +        if (index === undefined ||
        +            (!allowStale && this.#isStale(index))) {
        +            return;
        +        }
        +        const v = this.#valList[index];
        +        // either stale and allowed, or forcing a refresh of non-stale value
        +        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
        +    }
        +    #backgroundFetch(k, index, options, context) {
        +        const v = index === undefined ? undefined : this.#valList[index];
        +        if (this.#isBackgroundFetch(v)) {
        +            return v;
        +        }
        +        const ac = new AC();
        +        const { signal } = options;
        +        // when/if our AC signals, then stop listening to theirs.
        +        signal?.addEventListener('abort', () => ac.abort(signal.reason), {
        +            signal: ac.signal,
        +        });
        +        const fetchOpts = {
        +            signal: ac.signal,
        +            options,
        +            context,
        +        };
        +        const cb = (v, updateCache = false) => {
        +            const { aborted } = ac.signal;
        +            const ignoreAbort = options.ignoreFetchAbort && v !== undefined;
        +            if (options.status) {
        +                if (aborted && !updateCache) {
        +                    options.status.fetchAborted = true;
        +                    options.status.fetchError = ac.signal.reason;
        +                    if (ignoreAbort)
        +                        options.status.fetchAbortIgnored = true;
        +                }
        +                else {
        +                    options.status.fetchResolved = true;
        +                }
        +            }
        +            if (aborted && !ignoreAbort && !updateCache) {
        +                return fetchFail(ac.signal.reason);
        +            }
        +            // either we didn't abort, and are still here, or we did, and ignored
        +            const bf = p;
        +            if (this.#valList[index] === p) {
        +                if (v === undefined) {
        +                    if (bf.__staleWhileFetching) {
        +                        this.#valList[index] = bf.__staleWhileFetching;
        +                    }
        +                    else {
        +                        this.delete(k);
        +                    }
        +                }
        +                else {
        +                    if (options.status)
        +                        options.status.fetchUpdated = true;
        +                    this.set(k, v, fetchOpts.options);
        +                }
        +            }
        +            return v;
        +        };
        +        const eb = (er) => {
        +            if (options.status) {
        +                options.status.fetchRejected = true;
        +                options.status.fetchError = er;
        +            }
        +            return fetchFail(er);
        +        };
        +        const fetchFail = (er) => {
        +            const { aborted } = ac.signal;
        +            const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
        +            const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
        +            const noDelete = allowStale || options.noDeleteOnFetchRejection;
        +            const bf = p;
        +            if (this.#valList[index] === p) {
        +                // if we allow stale on fetch rejections, then we need to ensure that
        +                // the stale value is not removed from the cache when the fetch fails.
        +                const del = !noDelete || bf.__staleWhileFetching === undefined;
        +                if (del) {
        +                    this.delete(k);
        +                }
        +                else if (!allowStaleAborted) {
        +                    // still replace the *promise* with the stale value,
        +                    // since we are done with the promise at this point.
        +                    // leave it untouched if we're still waiting for an
        +                    // aborted background fetch that hasn't yet returned.
        +                    this.#valList[index] = bf.__staleWhileFetching;
        +                }
        +            }
        +            if (allowStale) {
        +                if (options.status && bf.__staleWhileFetching !== undefined) {
        +                    options.status.returnedStale = true;
        +                }
        +                return bf.__staleWhileFetching;
        +            }
        +            else if (bf.__returned === bf) {
        +                throw er;
        +            }
        +        };
        +        const pcall = (res, rej) => {
        +            const fmp = this.#fetchMethod?.(k, v, fetchOpts);
        +            if (fmp && fmp instanceof Promise) {
        +                fmp.then(v => res(v === undefined ? undefined : v), rej);
        +            }
        +            // ignored, we go until we finish, regardless.
        +            // defer check until we are actually aborting,
        +            // so fetchMethod can override.
        +            ac.signal.addEventListener('abort', () => {
        +                if (!options.ignoreFetchAbort ||
        +                    options.allowStaleOnFetchAbort) {
        +                    res(undefined);
        +                    // when it eventually resolves, update the cache.
        +                    if (options.allowStaleOnFetchAbort) {
        +                        res = v => cb(v, true);
        +                    }
        +                }
        +            });
        +        };
        +        if (options.status)
        +            options.status.fetchDispatched = true;
        +        const p = new Promise(pcall).then(cb, eb);
        +        const bf = Object.assign(p, {
        +            __abortController: ac,
        +            __staleWhileFetching: v,
        +            __returned: undefined,
        +        });
        +        if (index === undefined) {
        +            // internal, don't expose status.
        +            this.set(k, bf, { ...fetchOpts.options, status: undefined });
        +            index = this.#keyMap.get(k);
        +        }
        +        else {
        +            this.#valList[index] = bf;
        +        }
        +        return bf;
        +    }
        +    #isBackgroundFetch(p) {
        +        if (!this.#hasFetchMethod)
        +            return false;
        +        const b = p;
        +        return (!!b &&
        +            b instanceof Promise &&
        +            b.hasOwnProperty('__staleWhileFetching') &&
        +            b.__abortController instanceof AC);
        +    }
        +    async fetch(k, fetchOptions = {}) {
        +        const { 
        +        // get options
        +        allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, 
        +        // set options
        +        ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, 
        +        // fetch exclusive options
        +        noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal, } = fetchOptions;
        +        if (!this.#hasFetchMethod) {
        +            if (status)
        +                status.fetch = 'get';
        +            return this.get(k, {
        +                allowStale,
        +                updateAgeOnGet,
        +                noDeleteOnStaleGet,
        +                status,
        +            });
        +        }
        +        const options = {
        +            allowStale,
        +            updateAgeOnGet,
        +            noDeleteOnStaleGet,
        +            ttl,
        +            noDisposeOnSet,
        +            size,
        +            sizeCalculation,
        +            noUpdateTTL,
        +            noDeleteOnFetchRejection,
        +            allowStaleOnFetchRejection,
        +            allowStaleOnFetchAbort,
        +            ignoreFetchAbort,
        +            status,
        +            signal,
        +        };
        +        let index = this.#keyMap.get(k);
        +        if (index === undefined) {
        +            if (status)
        +                status.fetch = 'miss';
        +            const p = this.#backgroundFetch(k, index, options, context);
        +            return (p.__returned = p);
        +        }
        +        else {
        +            // in cache, maybe already fetching
        +            const v = this.#valList[index];
        +            if (this.#isBackgroundFetch(v)) {
        +                const stale = allowStale && v.__staleWhileFetching !== undefined;
        +                if (status) {
        +                    status.fetch = 'inflight';
        +                    if (stale)
        +                        status.returnedStale = true;
        +                }
        +                return stale ? v.__staleWhileFetching : (v.__returned = v);
        +            }
        +            // if we force a refresh, that means do NOT serve the cached value,
        +            // unless we are already in the process of refreshing the cache.
        +            const isStale = this.#isStale(index);
        +            if (!forceRefresh && !isStale) {
        +                if (status)
        +                    status.fetch = 'hit';
        +                this.#moveToTail(index);
        +                if (updateAgeOnGet) {
        +                    this.#updateItemAge(index);
        +                }
        +                if (status)
        +                    this.#statusTTL(status, index);
        +                return v;
        +            }
        +            // ok, it is stale or a forced refresh, and not already fetching.
        +            // refresh the cache.
        +            const p = this.#backgroundFetch(k, index, options, context);
        +            const hasStale = p.__staleWhileFetching !== undefined;
        +            const staleVal = hasStale && allowStale;
        +            if (status) {
        +                status.fetch = isStale ? 'stale' : 'refresh';
        +                if (staleVal && isStale)
        +                    status.returnedStale = true;
        +            }
        +            return staleVal ? p.__staleWhileFetching : (p.__returned = p);
        +        }
        +    }
        +    /**
        +     * Return a value from the cache. Will update the recency of the cache
        +     * entry found.
        +     *
        +     * If the key is not found, get() will return `undefined`.
        +     */
        +    get(k, getOptions = {}) {
        +        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status, } = getOptions;
        +        const index = this.#keyMap.get(k);
        +        if (index !== undefined) {
        +            const value = this.#valList[index];
        +            const fetching = this.#isBackgroundFetch(value);
        +            if (status)
        +                this.#statusTTL(status, index);
        +            if (this.#isStale(index)) {
        +                if (status)
        +                    status.get = 'stale';
        +                // delete only if not an in-flight background fetch
        +                if (!fetching) {
        +                    if (!noDeleteOnStaleGet) {
        +                        this.delete(k);
        +                    }
        +                    if (status && allowStale)
        +                        status.returnedStale = true;
        +                    return allowStale ? value : undefined;
        +                }
        +                else {
        +                    if (status &&
        +                        allowStale &&
        +                        value.__staleWhileFetching !== undefined) {
        +                        status.returnedStale = true;
        +                    }
        +                    return allowStale ? value.__staleWhileFetching : undefined;
        +                }
        +            }
        +            else {
        +                if (status)
        +                    status.get = 'hit';
        +                // if we're currently fetching it, we don't actually have it yet
        +                // it's not stale, which means this isn't a staleWhileRefetching.
        +                // If it's not stale, and fetching, AND has a __staleWhileFetching
        +                // value, then that means the user fetched with {forceRefresh:true},
        +                // so it's safe to return that value.
        +                if (fetching) {
        +                    return value.__staleWhileFetching;
        +                }
        +                this.#moveToTail(index);
        +                if (updateAgeOnGet) {
        +                    this.#updateItemAge(index);
        +                }
        +                return value;
        +            }
        +        }
        +        else if (status) {
        +            status.get = 'miss';
        +        }
        +    }
        +    #connect(p, n) {
        +        this.#prev[n] = p;
        +        this.#next[p] = n;
        +    }
        +    #moveToTail(index) {
        +        // if tail already, nothing to do
        +        // if head, move head to next[index]
        +        // else
        +        //   move next[prev[index]] to next[index] (head has no prev)
        +        //   move prev[next[index]] to prev[index]
        +        // prev[index] = tail
        +        // next[tail] = index
        +        // tail = index
        +        if (index !== this.#tail) {
        +            if (index === this.#head) {
        +                this.#head = this.#next[index];
        +            }
        +            else {
        +                this.#connect(this.#prev[index], this.#next[index]);
        +            }
        +            this.#connect(this.#tail, index);
        +            this.#tail = index;
        +        }
        +    }
        +    /**
        +     * Deletes a key out of the cache.
        +     * Returns true if the key was deleted, false otherwise.
        +     */
        +    delete(k) {
        +        let deleted = false;
        +        if (this.#size !== 0) {
        +            const index = this.#keyMap.get(k);
        +            if (index !== undefined) {
        +                deleted = true;
        +                if (this.#size === 1) {
        +                    this.clear();
        +                }
        +                else {
        +                    this.#removeItemSize(index);
        +                    const v = this.#valList[index];
        +                    if (this.#isBackgroundFetch(v)) {
        +                        v.__abortController.abort(new Error('deleted'));
        +                    }
        +                    else if (this.#hasDispose || this.#hasDisposeAfter) {
        +                        if (this.#hasDispose) {
        +                            this.#dispose?.(v, k, 'delete');
        +                        }
        +                        if (this.#hasDisposeAfter) {
        +                            this.#disposed?.push([v, k, 'delete']);
        +                        }
        +                    }
        +                    this.#keyMap.delete(k);
        +                    this.#keyList[index] = undefined;
        +                    this.#valList[index] = undefined;
        +                    if (index === this.#tail) {
        +                        this.#tail = this.#prev[index];
        +                    }
        +                    else if (index === this.#head) {
        +                        this.#head = this.#next[index];
        +                    }
        +                    else {
        +                        const pi = this.#prev[index];
        +                        this.#next[pi] = this.#next[index];
        +                        const ni = this.#next[index];
        +                        this.#prev[ni] = this.#prev[index];
        +                    }
        +                    this.#size--;
        +                    this.#free.push(index);
        +                }
        +            }
        +        }
        +        if (this.#hasDisposeAfter && this.#disposed?.length) {
        +            const dt = this.#disposed;
        +            let task;
        +            while ((task = dt?.shift())) {
        +                this.#disposeAfter?.(...task);
        +            }
        +        }
        +        return deleted;
        +    }
        +    /**
        +     * Clear the cache entirely, throwing away all values.
        +     */
        +    clear() {
        +        for (const index of this.#rindexes({ allowStale: true })) {
        +            const v = this.#valList[index];
        +            if (this.#isBackgroundFetch(v)) {
        +                v.__abortController.abort(new Error('deleted'));
        +            }
        +            else {
        +                const k = this.#keyList[index];
        +                if (this.#hasDispose) {
        +                    this.#dispose?.(v, k, 'delete');
        +                }
        +                if (this.#hasDisposeAfter) {
        +                    this.#disposed?.push([v, k, 'delete']);
        +                }
        +            }
        +        }
        +        this.#keyMap.clear();
        +        this.#valList.fill(undefined);
        +        this.#keyList.fill(undefined);
        +        if (this.#ttls && this.#starts) {
        +            this.#ttls.fill(0);
        +            this.#starts.fill(0);
        +        }
        +        if (this.#sizes) {
        +            this.#sizes.fill(0);
        +        }
        +        this.#head = 0;
        +        this.#tail = 0;
        +        this.#free.length = 0;
        +        this.#calculatedSize = 0;
        +        this.#size = 0;
        +        if (this.#hasDisposeAfter && this.#disposed) {
        +            const dt = this.#disposed;
        +            let task;
        +            while ((task = dt?.shift())) {
        +                this.#disposeAfter?.(...task);
        +            }
        +        }
        +    }
        +}
        +exports.LRUCache = LRUCache;
        +//# sourceMappingURL=index.js.map
        +
        +/***/ },
        +
        +/***/ 69319
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +var __importDefault = (this && this.__importDefault) || function (mod) {
        +    return (mod && mod.__esModule) ? mod : { "default": mod };
        +};
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.Minipass = exports.isWritable = exports.isReadable = exports.isStream = void 0;
        +const proc = typeof process === 'object' && process
        +    ? process
        +    : {
        +        stdout: null,
        +        stderr: null,
        +    };
        +const node_events_1 = __webpack_require__(78474);
        +const node_stream_1 = __importDefault(__webpack_require__(57075));
        +const node_string_decoder_1 = __webpack_require__(46193);
        +/**
        + * Return true if the argument is a Minipass stream, Node stream, or something
        + * else that Minipass can interact with.
        + */
        +const isStream = (s) => !!s &&
        +    typeof s === 'object' &&
        +    (s instanceof Minipass ||
        +        s instanceof node_stream_1.default ||
        +        (0, exports.isReadable)(s) ||
        +        (0, exports.isWritable)(s));
        +exports.isStream = isStream;
        +/**
        + * Return true if the argument is a valid {@link Minipass.Readable}
        + */
        +const isReadable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof node_events_1.EventEmitter &&
        +    typeof s.pipe === 'function' &&
        +    // node core Writable streams have a pipe() method, but it throws
        +    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
        +exports.isReadable = isReadable;
        +/**
        + * Return true if the argument is a valid {@link Minipass.Writable}
        + */
        +const isWritable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof node_events_1.EventEmitter &&
        +    typeof s.write === 'function' &&
        +    typeof s.end === 'function';
        +exports.isWritable = isWritable;
        +const EOF = Symbol('EOF');
        +const MAYBE_EMIT_END = Symbol('maybeEmitEnd');
        +const EMITTED_END = Symbol('emittedEnd');
        +const EMITTING_END = Symbol('emittingEnd');
        +const EMITTED_ERROR = Symbol('emittedError');
        +const CLOSED = Symbol('closed');
        +const READ = Symbol('read');
        +const FLUSH = Symbol('flush');
        +const FLUSHCHUNK = Symbol('flushChunk');
        +const ENCODING = Symbol('encoding');
        +const DECODER = Symbol('decoder');
        +const FLOWING = Symbol('flowing');
        +const PAUSED = Symbol('paused');
        +const RESUME = Symbol('resume');
        +const BUFFER = Symbol('buffer');
        +const PIPES = Symbol('pipes');
        +const BUFFERLENGTH = Symbol('bufferLength');
        +const BUFFERPUSH = Symbol('bufferPush');
        +const BUFFERSHIFT = Symbol('bufferShift');
        +const OBJECTMODE = Symbol('objectMode');
        +// internal event when stream is destroyed
        +const DESTROYED = Symbol('destroyed');
        +// internal event when stream has an error
        +const ERROR = Symbol('error');
        +const EMITDATA = Symbol('emitData');
        +const EMITEND = Symbol('emitEnd');
        +const EMITEND2 = Symbol('emitEnd2');
        +const ASYNC = Symbol('async');
        +const ABORT = Symbol('abort');
        +const ABORTED = Symbol('aborted');
        +const SIGNAL = Symbol('signal');
        +const DATALISTENERS = Symbol('dataListeners');
        +const DISCARDED = Symbol('discarded');
        +const defer = (fn) => Promise.resolve().then(fn);
        +const nodefer = (fn) => fn();
        +const isEndish = (ev) => ev === 'end' || ev === 'finish' || ev === 'prefinish';
        +const isArrayBufferLike = (b) => b instanceof ArrayBuffer ||
        +    (!!b &&
        +        typeof b === 'object' &&
        +        b.constructor &&
        +        b.constructor.name === 'ArrayBuffer' &&
        +        b.byteLength >= 0);
        +const isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
        +/**
        + * Internal class representing a pipe to a destination stream.
        + *
        + * @internal
        + */
        +class Pipe {
        +    src;
        +    dest;
        +    opts;
        +    ondrain;
        +    constructor(src, dest, opts) {
        +        this.src = src;
        +        this.dest = dest;
        +        this.opts = opts;
        +        this.ondrain = () => src[RESUME]();
        +        this.dest.on('drain', this.ondrain);
        +    }
        +    unpipe() {
        +        this.dest.removeListener('drain', this.ondrain);
        +    }
        +    // only here for the prototype
        +    /* c8 ignore start */
        +    proxyErrors(_er) { }
        +    /* c8 ignore stop */
        +    end() {
        +        this.unpipe();
        +        if (this.opts.end)
        +            this.dest.end();
        +    }
        +}
        +/**
        + * Internal class representing a pipe to a destination stream where
        + * errors are proxied.
        + *
        + * @internal
        + */
        +class PipeProxyErrors extends Pipe {
        +    unpipe() {
        +        this.src.removeListener('error', this.proxyErrors);
        +        super.unpipe();
        +    }
        +    constructor(src, dest, opts) {
        +        super(src, dest, opts);
        +        this.proxyErrors = er => dest.emit('error', er);
        +        src.on('error', this.proxyErrors);
        +    }
        +}
        +const isObjectModeOptions = (o) => !!o.objectMode;
        +const isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== 'buffer';
        +/**
        + * Main export, the Minipass class
        + *
        + * `RType` is the type of data emitted, defaults to Buffer
        + *
        + * `WType` is the type of data to be written, if RType is buffer or string,
        + * then any {@link Minipass.ContiguousData} is allowed.
        + *
        + * `Events` is the set of event handler signatures that this object
        + * will emit, see {@link Minipass.Events}
        + */
        +class Minipass extends node_events_1.EventEmitter {
        +    [FLOWING] = false;
        +    [PAUSED] = false;
        +    [PIPES] = [];
        +    [BUFFER] = [];
        +    [OBJECTMODE];
        +    [ENCODING];
        +    [ASYNC];
        +    [DECODER];
        +    [EOF] = false;
        +    [EMITTED_END] = false;
        +    [EMITTING_END] = false;
        +    [CLOSED] = false;
        +    [EMITTED_ERROR] = null;
        +    [BUFFERLENGTH] = 0;
        +    [DESTROYED] = false;
        +    [SIGNAL];
        +    [ABORTED] = false;
        +    [DATALISTENERS] = 0;
        +    [DISCARDED] = false;
        +    /**
        +     * true if the stream can be written
        +     */
        +    writable = true;
        +    /**
        +     * true if the stream can be read
        +     */
        +    readable = true;
        +    /**
        +     * If `RType` is Buffer, then options do not need to be provided.
        +     * Otherwise, an options object must be provided to specify either
        +     * {@link Minipass.SharedOptions.objectMode} or
        +     * {@link Minipass.SharedOptions.encoding}, as appropriate.
        +     */
        +    constructor(...args) {
        +        const options = (args[0] ||
        +            {});
        +        super();
        +        if (options.objectMode && typeof options.encoding === 'string') {
        +            throw new TypeError('Encoding and objectMode may not be used together');
        +        }
        +        if (isObjectModeOptions(options)) {
        +            this[OBJECTMODE] = true;
        +            this[ENCODING] = null;
        +        }
        +        else if (isEncodingOptions(options)) {
        +            this[ENCODING] = options.encoding;
        +            this[OBJECTMODE] = false;
        +        }
        +        else {
        +            this[OBJECTMODE] = false;
        +            this[ENCODING] = null;
        +        }
        +        this[ASYNC] = !!options.async;
        +        this[DECODER] = this[ENCODING]
        +            ? new node_string_decoder_1.StringDecoder(this[ENCODING])
        +            : null;
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposeBuffer === true) {
        +            Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] });
        +        }
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposePipes === true) {
        +            Object.defineProperty(this, 'pipes', { get: () => this[PIPES] });
        +        }
        +        const { signal } = options;
        +        if (signal) {
        +            this[SIGNAL] = signal;
        +            if (signal.aborted) {
        +                this[ABORT]();
        +            }
        +            else {
        +                signal.addEventListener('abort', () => this[ABORT]());
        +            }
        +        }
        +    }
        +    /**
        +     * The amount of data stored in the buffer waiting to be read.
        +     *
        +     * For Buffer strings, this will be the total byte length.
        +     * For string encoding streams, this will be the string character length,
        +     * according to JavaScript's `string.length` logic.
        +     * For objectMode streams, this is a count of the items waiting to be
        +     * emitted.
        +     */
        +    get bufferLength() {
        +        return this[BUFFERLENGTH];
        +    }
        +    /**
        +     * The `BufferEncoding` currently in use, or `null`
        +     */
        +    get encoding() {
        +        return this[ENCODING];
        +    }
        +    /**
        +     * @deprecated - This is a read only property
        +     */
        +    set encoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * @deprecated - Encoding may only be set at instantiation time
        +     */
        +    setEncoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * True if this is an objectMode stream
        +     */
        +    get objectMode() {
        +        return this[OBJECTMODE];
        +    }
        +    /**
        +     * @deprecated - This is a read-only property
        +     */
        +    set objectMode(_om) {
        +        throw new Error('objectMode must be set at instantiation time');
        +    }
        +    /**
        +     * true if this is an async stream
        +     */
        +    get ['async']() {
        +        return this[ASYNC];
        +    }
        +    /**
        +     * Set to true to make this stream async.
        +     *
        +     * Once set, it cannot be unset, as this would potentially cause incorrect
        +     * behavior.  Ie, a sync stream can be made async, but an async stream
        +     * cannot be safely made sync.
        +     */
        +    set ['async'](a) {
        +        this[ASYNC] = this[ASYNC] || !!a;
        +    }
        +    // drop everything and get out of the flow completely
        +    [ABORT]() {
        +        this[ABORTED] = true;
        +        this.emit('abort', this[SIGNAL]?.reason);
        +        this.destroy(this[SIGNAL]?.reason);
        +    }
        +    /**
        +     * True if the stream has been aborted.
        +     */
        +    get aborted() {
        +        return this[ABORTED];
        +    }
        +    /**
        +     * No-op setter. Stream aborted status is set via the AbortSignal provided
        +     * in the constructor options.
        +     */
        +    set aborted(_) { }
        +    write(chunk, encoding, cb) {
        +        if (this[ABORTED])
        +            return false;
        +        if (this[EOF])
        +            throw new Error('write after end');
        +        if (this[DESTROYED]) {
        +            this.emit('error', Object.assign(new Error('Cannot call write after a stream was destroyed'), { code: 'ERR_STREAM_DESTROYED' }));
        +            return true;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (!encoding)
        +            encoding = 'utf8';
        +        const fn = this[ASYNC] ? defer : nodefer;
        +        // convert array buffers and typed array views into buffers
        +        // at some point in the future, we may want to do the opposite!
        +        // leave strings and buffers as-is
        +        // anything is only allowed if in object mode, so throw
        +        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
        +            if (isArrayBufferView(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
        +            }
        +            else if (isArrayBufferLike(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk);
        +            }
        +            else if (typeof chunk !== 'string') {
        +                throw new Error('Non-contiguous data written to non-objectMode stream');
        +            }
        +        }
        +        // handle object mode up front, since it's simpler
        +        // this yields better performance, fewer checks later.
        +        if (this[OBJECTMODE]) {
        +            // maybe impossible?
        +            /* c8 ignore start */
        +            if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +                this[FLUSH](true);
        +            /* c8 ignore stop */
        +            if (this[FLOWING])
        +                this.emit('data', chunk);
        +            else
        +                this[BUFFERPUSH](chunk);
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // at this point the chunk is a buffer or string
        +        // don't buffer it up or send it to the decoder
        +        if (!chunk.length) {
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // fast-path writing strings of same encoding to a stream with
        +        // an empty buffer, skipping the buffer/decoder dance
        +        if (typeof chunk === 'string' &&
        +            // unless it is a string already ready for us to use
        +            !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = Buffer.from(chunk, encoding);
        +        }
        +        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = this[DECODER].write(chunk);
        +        }
        +        // Note: flushing CAN potentially switch us into not-flowing mode
        +        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +            this[FLUSH](true);
        +        if (this[FLOWING])
        +            this.emit('data', chunk);
        +        else
        +            this[BUFFERPUSH](chunk);
        +        if (this[BUFFERLENGTH] !== 0)
        +            this.emit('readable');
        +        if (cb)
        +            fn(cb);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Low-level explicit read method.
        +     *
        +     * In objectMode, the argument is ignored, and one item is returned if
        +     * available.
        +     *
        +     * `n` is the number of bytes (or in the case of encoding streams,
        +     * characters) to consume. If `n` is not provided, then the entire buffer
        +     * is returned, or `null` is returned if no data is available.
        +     *
        +     * If `n` is greater that the amount of data in the internal buffer,
        +     * then `null` is returned.
        +     */
        +    read(n) {
        +        if (this[DESTROYED])
        +            return null;
        +        this[DISCARDED] = false;
        +        if (this[BUFFERLENGTH] === 0 ||
        +            n === 0 ||
        +            (n && n > this[BUFFERLENGTH])) {
        +            this[MAYBE_EMIT_END]();
        +            return null;
        +        }
        +        if (this[OBJECTMODE])
        +            n = null;
        +        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
        +            // not object mode, so if we have an encoding, then RType is string
        +            // otherwise, must be Buffer
        +            this[BUFFER] = [
        +                (this[ENCODING]
        +                    ? this[BUFFER].join('')
        +                    : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])),
        +            ];
        +        }
        +        const ret = this[READ](n || null, this[BUFFER][0]);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [READ](n, chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERSHIFT]();
        +        else {
        +            const c = chunk;
        +            if (n === c.length || n === null)
        +                this[BUFFERSHIFT]();
        +            else if (typeof c === 'string') {
        +                this[BUFFER][0] = c.slice(n);
        +                chunk = c.slice(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +            else {
        +                this[BUFFER][0] = c.subarray(n);
        +                chunk = c.subarray(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +        }
        +        this.emit('data', chunk);
        +        if (!this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +        return chunk;
        +    }
        +    end(chunk, encoding, cb) {
        +        if (typeof chunk === 'function') {
        +            cb = chunk;
        +            chunk = undefined;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (chunk !== undefined)
        +            this.write(chunk, encoding);
        +        if (cb)
        +            this.once('end', cb);
        +        this[EOF] = true;
        +        this.writable = false;
        +        // if we haven't written anything, then go ahead and emit,
        +        // even if we're not reading.
        +        // we'll re-emit if a new 'end' listener is added anyway.
        +        // This makes MP more suitable to write-only use cases.
        +        if (this[FLOWING] || !this[PAUSED])
        +            this[MAYBE_EMIT_END]();
        +        return this;
        +    }
        +    // don't let the internal resume be overwritten
        +    [RESUME]() {
        +        if (this[DESTROYED])
        +            return;
        +        if (!this[DATALISTENERS] && !this[PIPES].length) {
        +            this[DISCARDED] = true;
        +        }
        +        this[PAUSED] = false;
        +        this[FLOWING] = true;
        +        this.emit('resume');
        +        if (this[BUFFER].length)
        +            this[FLUSH]();
        +        else if (this[EOF])
        +            this[MAYBE_EMIT_END]();
        +        else
        +            this.emit('drain');
        +    }
        +    /**
        +     * Resume the stream if it is currently in a paused state
        +     *
        +     * If called when there are no pipe destinations or `data` event listeners,
        +     * this will place the stream in a "discarded" state, where all data will
        +     * be thrown away. The discarded state is removed if a pipe destination or
        +     * data handler is added, if pause() is called, or if any synchronous or
        +     * asynchronous iteration is started.
        +     */
        +    resume() {
        +        return this[RESUME]();
        +    }
        +    /**
        +     * Pause the stream
        +     */
        +    pause() {
        +        this[FLOWING] = false;
        +        this[PAUSED] = true;
        +        this[DISCARDED] = false;
        +    }
        +    /**
        +     * true if the stream has been forcibly destroyed
        +     */
        +    get destroyed() {
        +        return this[DESTROYED];
        +    }
        +    /**
        +     * true if the stream is currently in a flowing state, meaning that
        +     * any writes will be immediately emitted.
        +     */
        +    get flowing() {
        +        return this[FLOWING];
        +    }
        +    /**
        +     * true if the stream is currently in a paused state
        +     */
        +    get paused() {
        +        return this[PAUSED];
        +    }
        +    [BUFFERPUSH](chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] += 1;
        +        else
        +            this[BUFFERLENGTH] += chunk.length;
        +        this[BUFFER].push(chunk);
        +    }
        +    [BUFFERSHIFT]() {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] -= 1;
        +        else
        +            this[BUFFERLENGTH] -= this[BUFFER][0].length;
        +        return this[BUFFER].shift();
        +    }
        +    [FLUSH](noDrain = false) {
        +        do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&
        +            this[BUFFER].length);
        +        if (!noDrain && !this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +    }
        +    [FLUSHCHUNK](chunk) {
        +        this.emit('data', chunk);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Pipe all data emitted by this stream into the destination provided.
        +     *
        +     * Triggers the flow of data.
        +     */
        +    pipe(dest, opts) {
        +        if (this[DESTROYED])
        +            return dest;
        +        this[DISCARDED] = false;
        +        const ended = this[EMITTED_END];
        +        opts = opts || {};
        +        if (dest === proc.stdout || dest === proc.stderr)
        +            opts.end = false;
        +        else
        +            opts.end = opts.end !== false;
        +        opts.proxyErrors = !!opts.proxyErrors;
        +        // piping an ended stream ends immediately
        +        if (ended) {
        +            if (opts.end)
        +                dest.end();
        +        }
        +        else {
        +            // "as" here just ignores the WType, which pipes don't care about,
        +            // since they're only consuming from us, and writing to the dest
        +            this[PIPES].push(!opts.proxyErrors
        +                ? new Pipe(this, dest, opts)
        +                : new PipeProxyErrors(this, dest, opts));
        +            if (this[ASYNC])
        +                defer(() => this[RESUME]());
        +            else
        +                this[RESUME]();
        +        }
        +        return dest;
        +    }
        +    /**
        +     * Fully unhook a piped destination stream.
        +     *
        +     * If the destination stream was the only consumer of this stream (ie,
        +     * there are no other piped destinations or `'data'` event listeners)
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    unpipe(dest) {
        +        const p = this[PIPES].find(p => p.dest === dest);
        +        if (p) {
        +            if (this[PIPES].length === 1) {
        +                if (this[FLOWING] && this[DATALISTENERS] === 0) {
        +                    this[FLOWING] = false;
        +                }
        +                this[PIPES] = [];
        +            }
        +            else
        +                this[PIPES].splice(this[PIPES].indexOf(p), 1);
        +            p.unpipe();
        +        }
        +    }
        +    /**
        +     * Alias for {@link Minipass#on}
        +     */
        +    addListener(ev, handler) {
        +        return this.on(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.on`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * - Adding a 'data' event handler will trigger the flow of data
        +     *
        +     * - Adding a 'readable' event handler when there is data waiting to be read
        +     *   will cause 'readable' to be emitted immediately.
        +     *
        +     * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
        +     *   already passed will cause the event to be emitted immediately and all
        +     *   handlers removed.
        +     *
        +     * - Adding an 'error' event handler after an error has been emitted will
        +     *   cause the event to be re-emitted immediately with the error previously
        +     *   raised.
        +     */
        +    on(ev, handler) {
        +        const ret = super.on(ev, handler);
        +        if (ev === 'data') {
        +            this[DISCARDED] = false;
        +            this[DATALISTENERS]++;
        +            if (!this[PIPES].length && !this[FLOWING]) {
        +                this[RESUME]();
        +            }
        +        }
        +        else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {
        +            super.emit('readable');
        +        }
        +        else if (isEndish(ev) && this[EMITTED_END]) {
        +            super.emit(ev);
        +            this.removeAllListeners(ev);
        +        }
        +        else if (ev === 'error' && this[EMITTED_ERROR]) {
        +            const h = handler;
        +            if (this[ASYNC])
        +                defer(() => h.call(this, this[EMITTED_ERROR]));
        +            else
        +                h.call(this, this[EMITTED_ERROR]);
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Alias for {@link Minipass#off}
        +     */
        +    removeListener(ev, handler) {
        +        return this.off(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.off`
        +     *
        +     * If a 'data' event handler is removed, and it was the last consumer
        +     * (ie, there are no pipe destinations or other 'data' event listeners),
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    off(ev, handler) {
        +        const ret = super.off(ev, handler);
        +        // if we previously had listeners, and now we don't, and we don't
        +        // have any pipes, then stop the flow, unless it's been explicitly
        +        // put in a discarded flowing state via stream.resume().
        +        if (ev === 'data') {
        +            this[DATALISTENERS] = this.listeners('data').length;
        +            if (this[DATALISTENERS] === 0 &&
        +                !this[DISCARDED] &&
        +                !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.removeAllListeners`
        +     *
        +     * If all 'data' event handlers are removed, and they were the last consumer
        +     * (ie, there are no pipe destinations), then the flow of data will stop
        +     * until there is another consumer or {@link Minipass#resume} is explicitly
        +     * called.
        +     */
        +    removeAllListeners(ev) {
        +        const ret = super.removeAllListeners(ev);
        +        if (ev === 'data' || ev === undefined) {
        +            this[DATALISTENERS] = 0;
        +            if (!this[DISCARDED] && !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * true if the 'end' event has been emitted
        +     */
        +    get emittedEnd() {
        +        return this[EMITTED_END];
        +    }
        +    [MAYBE_EMIT_END]() {
        +        if (!this[EMITTING_END] &&
        +            !this[EMITTED_END] &&
        +            !this[DESTROYED] &&
        +            this[BUFFER].length === 0 &&
        +            this[EOF]) {
        +            this[EMITTING_END] = true;
        +            this.emit('end');
        +            this.emit('prefinish');
        +            this.emit('finish');
        +            if (this[CLOSED])
        +                this.emit('close');
        +            this[EMITTING_END] = false;
        +        }
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.emit`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * If the stream has been destroyed, and the event is something other
        +     * than 'close' or 'error', then `false` is returned and no handlers
        +     * are called.
        +     *
        +     * If the event is 'end', and has already been emitted, then the event
        +     * is ignored. If the stream is in a paused or non-flowing state, then
        +     * the event will be deferred until data flow resumes. If the stream is
        +     * async, then handlers will be called on the next tick rather than
        +     * immediately.
        +     *
        +     * If the event is 'close', and 'end' has not yet been emitted, then
        +     * the event will be deferred until after 'end' is emitted.
        +     *
        +     * If the event is 'error', and an AbortSignal was provided for the stream,
        +     * and there are no listeners, then the event is ignored, matching the
        +     * behavior of node core streams in the presense of an AbortSignal.
        +     *
        +     * If the event is 'finish' or 'prefinish', then all listeners will be
        +     * removed after emitting the event, to prevent double-firing.
        +     */
        +    emit(ev, ...args) {
        +        const data = args[0];
        +        // error and close are only events allowed after calling destroy()
        +        if (ev !== 'error' &&
        +            ev !== 'close' &&
        +            ev !== DESTROYED &&
        +            this[DESTROYED]) {
        +            return false;
        +        }
        +        else if (ev === 'data') {
        +            return !this[OBJECTMODE] && !data
        +                ? false
        +                : this[ASYNC]
        +                    ? (defer(() => this[EMITDATA](data)), true)
        +                    : this[EMITDATA](data);
        +        }
        +        else if (ev === 'end') {
        +            return this[EMITEND]();
        +        }
        +        else if (ev === 'close') {
        +            this[CLOSED] = true;
        +            // don't emit close before 'end' and 'finish'
        +            if (!this[EMITTED_END] && !this[DESTROYED])
        +                return false;
        +            const ret = super.emit('close');
        +            this.removeAllListeners('close');
        +            return ret;
        +        }
        +        else if (ev === 'error') {
        +            this[EMITTED_ERROR] = data;
        +            super.emit(ERROR, data);
        +            const ret = !this[SIGNAL] || this.listeners('error').length
        +                ? super.emit('error', data)
        +                : false;
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'resume') {
        +            const ret = super.emit('resume');
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'finish' || ev === 'prefinish') {
        +            const ret = super.emit(ev);
        +            this.removeAllListeners(ev);
        +            return ret;
        +        }
        +        // Some other unknown event
        +        const ret = super.emit(ev, ...args);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITDATA](data) {
        +        for (const p of this[PIPES]) {
        +            if (p.dest.write(data) === false)
        +                this.pause();
        +        }
        +        const ret = this[DISCARDED] ? false : super.emit('data', data);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITEND]() {
        +        if (this[EMITTED_END])
        +            return false;
        +        this[EMITTED_END] = true;
        +        this.readable = false;
        +        return this[ASYNC]
        +            ? (defer(() => this[EMITEND2]()), true)
        +            : this[EMITEND2]();
        +    }
        +    [EMITEND2]() {
        +        if (this[DECODER]) {
        +            const data = this[DECODER].end();
        +            if (data) {
        +                for (const p of this[PIPES]) {
        +                    p.dest.write(data);
        +                }
        +                if (!this[DISCARDED])
        +                    super.emit('data', data);
        +            }
        +        }
        +        for (const p of this[PIPES]) {
        +            p.end();
        +        }
        +        const ret = super.emit('end');
        +        this.removeAllListeners('end');
        +        return ret;
        +    }
        +    /**
        +     * Return a Promise that resolves to an array of all emitted data once
        +     * the stream ends.
        +     */
        +    async collect() {
        +        const buf = Object.assign([], {
        +            dataLength: 0,
        +        });
        +        if (!this[OBJECTMODE])
        +            buf.dataLength = 0;
        +        // set the promise first, in case an error is raised
        +        // by triggering the flow here.
        +        const p = this.promise();
        +        this.on('data', c => {
        +            buf.push(c);
        +            if (!this[OBJECTMODE])
        +                buf.dataLength += c.length;
        +        });
        +        await p;
        +        return buf;
        +    }
        +    /**
        +     * Return a Promise that resolves to the concatenation of all emitted data
        +     * once the stream ends.
        +     *
        +     * Not allowed on objectMode streams.
        +     */
        +    async concat() {
        +        if (this[OBJECTMODE]) {
        +            throw new Error('cannot concat in objectMode');
        +        }
        +        const buf = await this.collect();
        +        return (this[ENCODING]
        +            ? buf.join('')
        +            : Buffer.concat(buf, buf.dataLength));
        +    }
        +    /**
        +     * Return a void Promise that resolves once the stream ends.
        +     */
        +    async promise() {
        +        return new Promise((resolve, reject) => {
        +            this.on(DESTROYED, () => reject(new Error('stream destroyed')));
        +            this.on('error', er => reject(er));
        +            this.on('end', () => resolve());
        +        });
        +    }
        +    /**
        +     * Asynchronous `for await of` iteration.
        +     *
        +     * This will continue emitting all chunks until the stream terminates.
        +     */
        +    [Symbol.asyncIterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = async () => {
        +            this.pause();
        +            stopped = true;
        +            return { value: undefined, done: true };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const res = this.read();
        +            if (res !== null)
        +                return Promise.resolve({ done: false, value: res });
        +            if (this[EOF])
        +                return stop();
        +            let resolve;
        +            let reject;
        +            const onerr = (er) => {
        +                this.off('data', ondata);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                reject(er);
        +            };
        +            const ondata = (value) => {
        +                this.off('error', onerr);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                this.pause();
        +                resolve({ value, done: !!this[EOF] });
        +            };
        +            const onend = () => {
        +                this.off('error', onerr);
        +                this.off('data', ondata);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                resolve({ done: true, value: undefined });
        +            };
        +            const ondestroy = () => onerr(new Error('stream destroyed'));
        +            return new Promise((res, rej) => {
        +                reject = rej;
        +                resolve = res;
        +                this.once(DESTROYED, ondestroy);
        +                this.once('error', onerr);
        +                this.once('end', onend);
        +                this.once('data', ondata);
        +            });
        +        };
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.asyncIterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Synchronous `for of` iteration.
        +     *
        +     * The iteration will terminate when the internal buffer runs out, even
        +     * if the stream has not yet terminated.
        +     */
        +    [Symbol.iterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = () => {
        +            this.pause();
        +            this.off(ERROR, stop);
        +            this.off(DESTROYED, stop);
        +            this.off('end', stop);
        +            stopped = true;
        +            return { done: true, value: undefined };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const value = this.read();
        +            return value === null ? stop() : { done: false, value };
        +        };
        +        this.once('end', stop);
        +        this.once(ERROR, stop);
        +        this.once(DESTROYED, stop);
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.iterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Destroy a stream, preventing it from being used for any further purpose.
        +     *
        +     * If the stream has a `close()` method, then it will be called on
        +     * destruction.
        +     *
        +     * After destruction, any attempt to write data, read data, or emit most
        +     * events will be ignored.
        +     *
        +     * If an error argument is provided, then it will be emitted in an
        +     * 'error' event.
        +     */
        +    destroy(er) {
        +        if (this[DESTROYED]) {
        +            if (er)
        +                this.emit('error', er);
        +            else
        +                this.emit(DESTROYED);
        +            return this;
        +        }
        +        this[DESTROYED] = true;
        +        this[DISCARDED] = true;
        +        // throw away all buffered data, it's never coming out
        +        this[BUFFER].length = 0;
        +        this[BUFFERLENGTH] = 0;
        +        const wc = this;
        +        if (typeof wc.close === 'function' && !this[CLOSED])
        +            wc.close();
        +        if (er)
        +            this.emit('error', er);
        +        // if no error to emit, still reject pending promises
        +        else
        +            this.emit(DESTROYED);
        +        return this;
        +    }
        +    /**
        +     * Alias for {@link isStream}
        +     *
        +     * Former export location, maintained for backwards compatibility.
        +     *
        +     * @deprecated
        +     */
        +    static get isStream() {
        +        return exports.isStream;
        +    }
        +}
        +exports.Minipass = Minipass;
        +//# sourceMappingURL=index.js.map
        +
        +/***/ },
        +
        +/***/ 28300
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +var __importDefault = (this && this.__importDefault) || function (mod) {
        +    return (mod && mod.__esModule) ? mod : { "default": mod };
        +};
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.Minipass = exports.isWritable = exports.isReadable = exports.isStream = void 0;
        +const proc = typeof process === 'object' && process
        +    ? process
        +    : {
        +        stdout: null,
        +        stderr: null,
        +    };
        +const node_events_1 = __webpack_require__(78474);
        +const node_stream_1 = __importDefault(__webpack_require__(57075));
        +const node_string_decoder_1 = __webpack_require__(46193);
        +/**
        + * Return true if the argument is a Minipass stream, Node stream, or something
        + * else that Minipass can interact with.
        + */
        +const isStream = (s) => !!s &&
        +    typeof s === 'object' &&
        +    (s instanceof Minipass ||
        +        s instanceof node_stream_1.default ||
        +        (0, exports.isReadable)(s) ||
        +        (0, exports.isWritable)(s));
        +exports.isStream = isStream;
        +/**
        + * Return true if the argument is a valid {@link Minipass.Readable}
        + */
        +const isReadable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof node_events_1.EventEmitter &&
        +    typeof s.pipe === 'function' &&
        +    // node core Writable streams have a pipe() method, but it throws
        +    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
        +exports.isReadable = isReadable;
        +/**
        + * Return true if the argument is a valid {@link Minipass.Writable}
        + */
        +const isWritable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof node_events_1.EventEmitter &&
        +    typeof s.write === 'function' &&
        +    typeof s.end === 'function';
        +exports.isWritable = isWritable;
        +const EOF = Symbol('EOF');
        +const MAYBE_EMIT_END = Symbol('maybeEmitEnd');
        +const EMITTED_END = Symbol('emittedEnd');
        +const EMITTING_END = Symbol('emittingEnd');
        +const EMITTED_ERROR = Symbol('emittedError');
        +const CLOSED = Symbol('closed');
        +const READ = Symbol('read');
        +const FLUSH = Symbol('flush');
        +const FLUSHCHUNK = Symbol('flushChunk');
        +const ENCODING = Symbol('encoding');
        +const DECODER = Symbol('decoder');
        +const FLOWING = Symbol('flowing');
        +const PAUSED = Symbol('paused');
        +const RESUME = Symbol('resume');
        +const BUFFER = Symbol('buffer');
        +const PIPES = Symbol('pipes');
        +const BUFFERLENGTH = Symbol('bufferLength');
        +const BUFFERPUSH = Symbol('bufferPush');
        +const BUFFERSHIFT = Symbol('bufferShift');
        +const OBJECTMODE = Symbol('objectMode');
        +// internal event when stream is destroyed
        +const DESTROYED = Symbol('destroyed');
        +// internal event when stream has an error
        +const ERROR = Symbol('error');
        +const EMITDATA = Symbol('emitData');
        +const EMITEND = Symbol('emitEnd');
        +const EMITEND2 = Symbol('emitEnd2');
        +const ASYNC = Symbol('async');
        +const ABORT = Symbol('abort');
        +const ABORTED = Symbol('aborted');
        +const SIGNAL = Symbol('signal');
        +const DATALISTENERS = Symbol('dataListeners');
        +const DISCARDED = Symbol('discarded');
        +const defer = (fn) => Promise.resolve().then(fn);
        +const nodefer = (fn) => fn();
        +const isEndish = (ev) => ev === 'end' || ev === 'finish' || ev === 'prefinish';
        +const isArrayBufferLike = (b) => b instanceof ArrayBuffer ||
        +    (!!b &&
        +        typeof b === 'object' &&
        +        b.constructor &&
        +        b.constructor.name === 'ArrayBuffer' &&
        +        b.byteLength >= 0);
        +const isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
        +/**
        + * Internal class representing a pipe to a destination stream.
        + *
        + * @internal
        + */
        +class Pipe {
        +    src;
        +    dest;
        +    opts;
        +    ondrain;
        +    constructor(src, dest, opts) {
        +        this.src = src;
        +        this.dest = dest;
        +        this.opts = opts;
        +        this.ondrain = () => src[RESUME]();
        +        this.dest.on('drain', this.ondrain);
        +    }
        +    unpipe() {
        +        this.dest.removeListener('drain', this.ondrain);
        +    }
        +    // only here for the prototype
        +    /* c8 ignore start */
        +    proxyErrors(_er) { }
        +    /* c8 ignore stop */
        +    end() {
        +        this.unpipe();
        +        if (this.opts.end)
        +            this.dest.end();
        +    }
        +}
        +/**
        + * Internal class representing a pipe to a destination stream where
        + * errors are proxied.
        + *
        + * @internal
        + */
        +class PipeProxyErrors extends Pipe {
        +    unpipe() {
        +        this.src.removeListener('error', this.proxyErrors);
        +        super.unpipe();
        +    }
        +    constructor(src, dest, opts) {
        +        super(src, dest, opts);
        +        this.proxyErrors = er => dest.emit('error', er);
        +        src.on('error', this.proxyErrors);
        +    }
        +}
        +const isObjectModeOptions = (o) => !!o.objectMode;
        +const isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== 'buffer';
        +/**
        + * Main export, the Minipass class
        + *
        + * `RType` is the type of data emitted, defaults to Buffer
        + *
        + * `WType` is the type of data to be written, if RType is buffer or string,
        + * then any {@link Minipass.ContiguousData} is allowed.
        + *
        + * `Events` is the set of event handler signatures that this object
        + * will emit, see {@link Minipass.Events}
        + */
        +class Minipass extends node_events_1.EventEmitter {
        +    [FLOWING] = false;
        +    [PAUSED] = false;
        +    [PIPES] = [];
        +    [BUFFER] = [];
        +    [OBJECTMODE];
        +    [ENCODING];
        +    [ASYNC];
        +    [DECODER];
        +    [EOF] = false;
        +    [EMITTED_END] = false;
        +    [EMITTING_END] = false;
        +    [CLOSED] = false;
        +    [EMITTED_ERROR] = null;
        +    [BUFFERLENGTH] = 0;
        +    [DESTROYED] = false;
        +    [SIGNAL];
        +    [ABORTED] = false;
        +    [DATALISTENERS] = 0;
        +    [DISCARDED] = false;
        +    /**
        +     * true if the stream can be written
        +     */
        +    writable = true;
        +    /**
        +     * true if the stream can be read
        +     */
        +    readable = true;
        +    /**
        +     * If `RType` is Buffer, then options do not need to be provided.
        +     * Otherwise, an options object must be provided to specify either
        +     * {@link Minipass.SharedOptions.objectMode} or
        +     * {@link Minipass.SharedOptions.encoding}, as appropriate.
        +     */
        +    constructor(...args) {
        +        const options = (args[0] ||
        +            {});
        +        super();
        +        if (options.objectMode && typeof options.encoding === 'string') {
        +            throw new TypeError('Encoding and objectMode may not be used together');
        +        }
        +        if (isObjectModeOptions(options)) {
        +            this[OBJECTMODE] = true;
        +            this[ENCODING] = null;
        +        }
        +        else if (isEncodingOptions(options)) {
        +            this[ENCODING] = options.encoding;
        +            this[OBJECTMODE] = false;
        +        }
        +        else {
        +            this[OBJECTMODE] = false;
        +            this[ENCODING] = null;
        +        }
        +        this[ASYNC] = !!options.async;
        +        this[DECODER] = this[ENCODING]
        +            ? new node_string_decoder_1.StringDecoder(this[ENCODING])
        +            : null;
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposeBuffer === true) {
        +            Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] });
        +        }
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposePipes === true) {
        +            Object.defineProperty(this, 'pipes', { get: () => this[PIPES] });
        +        }
        +        const { signal } = options;
        +        if (signal) {
        +            this[SIGNAL] = signal;
        +            if (signal.aborted) {
        +                this[ABORT]();
        +            }
        +            else {
        +                signal.addEventListener('abort', () => this[ABORT]());
        +            }
        +        }
        +    }
        +    /**
        +     * The amount of data stored in the buffer waiting to be read.
        +     *
        +     * For Buffer strings, this will be the total byte length.
        +     * For string encoding streams, this will be the string character length,
        +     * according to JavaScript's `string.length` logic.
        +     * For objectMode streams, this is a count of the items waiting to be
        +     * emitted.
        +     */
        +    get bufferLength() {
        +        return this[BUFFERLENGTH];
        +    }
        +    /**
        +     * The `BufferEncoding` currently in use, or `null`
        +     */
        +    get encoding() {
        +        return this[ENCODING];
        +    }
        +    /**
        +     * @deprecated - This is a read only property
        +     */
        +    set encoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * @deprecated - Encoding may only be set at instantiation time
        +     */
        +    setEncoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * True if this is an objectMode stream
        +     */
        +    get objectMode() {
        +        return this[OBJECTMODE];
        +    }
        +    /**
        +     * @deprecated - This is a read-only property
        +     */
        +    set objectMode(_om) {
        +        throw new Error('objectMode must be set at instantiation time');
        +    }
        +    /**
        +     * true if this is an async stream
        +     */
        +    get ['async']() {
        +        return this[ASYNC];
        +    }
        +    /**
        +     * Set to true to make this stream async.
        +     *
        +     * Once set, it cannot be unset, as this would potentially cause incorrect
        +     * behavior.  Ie, a sync stream can be made async, but an async stream
        +     * cannot be safely made sync.
        +     */
        +    set ['async'](a) {
        +        this[ASYNC] = this[ASYNC] || !!a;
        +    }
        +    // drop everything and get out of the flow completely
        +    [ABORT]() {
        +        this[ABORTED] = true;
        +        this.emit('abort', this[SIGNAL]?.reason);
        +        this.destroy(this[SIGNAL]?.reason);
        +    }
        +    /**
        +     * True if the stream has been aborted.
        +     */
        +    get aborted() {
        +        return this[ABORTED];
        +    }
        +    /**
        +     * No-op setter. Stream aborted status is set via the AbortSignal provided
        +     * in the constructor options.
        +     */
        +    set aborted(_) { }
        +    write(chunk, encoding, cb) {
        +        if (this[ABORTED])
        +            return false;
        +        if (this[EOF])
        +            throw new Error('write after end');
        +        if (this[DESTROYED]) {
        +            this.emit('error', Object.assign(new Error('Cannot call write after a stream was destroyed'), { code: 'ERR_STREAM_DESTROYED' }));
        +            return true;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (!encoding)
        +            encoding = 'utf8';
        +        const fn = this[ASYNC] ? defer : nodefer;
        +        // convert array buffers and typed array views into buffers
        +        // at some point in the future, we may want to do the opposite!
        +        // leave strings and buffers as-is
        +        // anything is only allowed if in object mode, so throw
        +        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
        +            if (isArrayBufferView(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
        +            }
        +            else if (isArrayBufferLike(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk);
        +            }
        +            else if (typeof chunk !== 'string') {
        +                throw new Error('Non-contiguous data written to non-objectMode stream');
        +            }
        +        }
        +        // handle object mode up front, since it's simpler
        +        // this yields better performance, fewer checks later.
        +        if (this[OBJECTMODE]) {
        +            // maybe impossible?
        +            /* c8 ignore start */
        +            if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +                this[FLUSH](true);
        +            /* c8 ignore stop */
        +            if (this[FLOWING])
        +                this.emit('data', chunk);
        +            else
        +                this[BUFFERPUSH](chunk);
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // at this point the chunk is a buffer or string
        +        // don't buffer it up or send it to the decoder
        +        if (!chunk.length) {
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // fast-path writing strings of same encoding to a stream with
        +        // an empty buffer, skipping the buffer/decoder dance
        +        if (typeof chunk === 'string' &&
        +            // unless it is a string already ready for us to use
        +            !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = Buffer.from(chunk, encoding);
        +        }
        +        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = this[DECODER].write(chunk);
        +        }
        +        // Note: flushing CAN potentially switch us into not-flowing mode
        +        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +            this[FLUSH](true);
        +        if (this[FLOWING])
        +            this.emit('data', chunk);
        +        else
        +            this[BUFFERPUSH](chunk);
        +        if (this[BUFFERLENGTH] !== 0)
        +            this.emit('readable');
        +        if (cb)
        +            fn(cb);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Low-level explicit read method.
        +     *
        +     * In objectMode, the argument is ignored, and one item is returned if
        +     * available.
        +     *
        +     * `n` is the number of bytes (or in the case of encoding streams,
        +     * characters) to consume. If `n` is not provided, then the entire buffer
        +     * is returned, or `null` is returned if no data is available.
        +     *
        +     * If `n` is greater that the amount of data in the internal buffer,
        +     * then `null` is returned.
        +     */
        +    read(n) {
        +        if (this[DESTROYED])
        +            return null;
        +        this[DISCARDED] = false;
        +        if (this[BUFFERLENGTH] === 0 ||
        +            n === 0 ||
        +            (n && n > this[BUFFERLENGTH])) {
        +            this[MAYBE_EMIT_END]();
        +            return null;
        +        }
        +        if (this[OBJECTMODE])
        +            n = null;
        +        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
        +            // not object mode, so if we have an encoding, then RType is string
        +            // otherwise, must be Buffer
        +            this[BUFFER] = [
        +                (this[ENCODING]
        +                    ? this[BUFFER].join('')
        +                    : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])),
        +            ];
        +        }
        +        const ret = this[READ](n || null, this[BUFFER][0]);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [READ](n, chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERSHIFT]();
        +        else {
        +            const c = chunk;
        +            if (n === c.length || n === null)
        +                this[BUFFERSHIFT]();
        +            else if (typeof c === 'string') {
        +                this[BUFFER][0] = c.slice(n);
        +                chunk = c.slice(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +            else {
        +                this[BUFFER][0] = c.subarray(n);
        +                chunk = c.subarray(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +        }
        +        this.emit('data', chunk);
        +        if (!this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +        return chunk;
        +    }
        +    end(chunk, encoding, cb) {
        +        if (typeof chunk === 'function') {
        +            cb = chunk;
        +            chunk = undefined;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (chunk !== undefined)
        +            this.write(chunk, encoding);
        +        if (cb)
        +            this.once('end', cb);
        +        this[EOF] = true;
        +        this.writable = false;
        +        // if we haven't written anything, then go ahead and emit,
        +        // even if we're not reading.
        +        // we'll re-emit if a new 'end' listener is added anyway.
        +        // This makes MP more suitable to write-only use cases.
        +        if (this[FLOWING] || !this[PAUSED])
        +            this[MAYBE_EMIT_END]();
        +        return this;
        +    }
        +    // don't let the internal resume be overwritten
        +    [RESUME]() {
        +        if (this[DESTROYED])
        +            return;
        +        if (!this[DATALISTENERS] && !this[PIPES].length) {
        +            this[DISCARDED] = true;
        +        }
        +        this[PAUSED] = false;
        +        this[FLOWING] = true;
        +        this.emit('resume');
        +        if (this[BUFFER].length)
        +            this[FLUSH]();
        +        else if (this[EOF])
        +            this[MAYBE_EMIT_END]();
        +        else
        +            this.emit('drain');
        +    }
        +    /**
        +     * Resume the stream if it is currently in a paused state
        +     *
        +     * If called when there are no pipe destinations or `data` event listeners,
        +     * this will place the stream in a "discarded" state, where all data will
        +     * be thrown away. The discarded state is removed if a pipe destination or
        +     * data handler is added, if pause() is called, or if any synchronous or
        +     * asynchronous iteration is started.
        +     */
        +    resume() {
        +        return this[RESUME]();
        +    }
        +    /**
        +     * Pause the stream
        +     */
        +    pause() {
        +        this[FLOWING] = false;
        +        this[PAUSED] = true;
        +        this[DISCARDED] = false;
        +    }
        +    /**
        +     * true if the stream has been forcibly destroyed
        +     */
        +    get destroyed() {
        +        return this[DESTROYED];
        +    }
        +    /**
        +     * true if the stream is currently in a flowing state, meaning that
        +     * any writes will be immediately emitted.
        +     */
        +    get flowing() {
        +        return this[FLOWING];
        +    }
        +    /**
        +     * true if the stream is currently in a paused state
        +     */
        +    get paused() {
        +        return this[PAUSED];
        +    }
        +    [BUFFERPUSH](chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] += 1;
        +        else
        +            this[BUFFERLENGTH] += chunk.length;
        +        this[BUFFER].push(chunk);
        +    }
        +    [BUFFERSHIFT]() {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] -= 1;
        +        else
        +            this[BUFFERLENGTH] -= this[BUFFER][0].length;
        +        return this[BUFFER].shift();
        +    }
        +    [FLUSH](noDrain = false) {
        +        do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&
        +            this[BUFFER].length);
        +        if (!noDrain && !this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +    }
        +    [FLUSHCHUNK](chunk) {
        +        this.emit('data', chunk);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Pipe all data emitted by this stream into the destination provided.
        +     *
        +     * Triggers the flow of data.
        +     */
        +    pipe(dest, opts) {
        +        if (this[DESTROYED])
        +            return dest;
        +        this[DISCARDED] = false;
        +        const ended = this[EMITTED_END];
        +        opts = opts || {};
        +        if (dest === proc.stdout || dest === proc.stderr)
        +            opts.end = false;
        +        else
        +            opts.end = opts.end !== false;
        +        opts.proxyErrors = !!opts.proxyErrors;
        +        // piping an ended stream ends immediately
        +        if (ended) {
        +            if (opts.end)
        +                dest.end();
        +        }
        +        else {
        +            // "as" here just ignores the WType, which pipes don't care about,
        +            // since they're only consuming from us, and writing to the dest
        +            this[PIPES].push(!opts.proxyErrors
        +                ? new Pipe(this, dest, opts)
        +                : new PipeProxyErrors(this, dest, opts));
        +            if (this[ASYNC])
        +                defer(() => this[RESUME]());
        +            else
        +                this[RESUME]();
        +        }
        +        return dest;
        +    }
        +    /**
        +     * Fully unhook a piped destination stream.
        +     *
        +     * If the destination stream was the only consumer of this stream (ie,
        +     * there are no other piped destinations or `'data'` event listeners)
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    unpipe(dest) {
        +        const p = this[PIPES].find(p => p.dest === dest);
        +        if (p) {
        +            if (this[PIPES].length === 1) {
        +                if (this[FLOWING] && this[DATALISTENERS] === 0) {
        +                    this[FLOWING] = false;
        +                }
        +                this[PIPES] = [];
        +            }
        +            else
        +                this[PIPES].splice(this[PIPES].indexOf(p), 1);
        +            p.unpipe();
        +        }
        +    }
        +    /**
        +     * Alias for {@link Minipass#on}
        +     */
        +    addListener(ev, handler) {
        +        return this.on(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.on`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * - Adding a 'data' event handler will trigger the flow of data
        +     *
        +     * - Adding a 'readable' event handler when there is data waiting to be read
        +     *   will cause 'readable' to be emitted immediately.
        +     *
        +     * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
        +     *   already passed will cause the event to be emitted immediately and all
        +     *   handlers removed.
        +     *
        +     * - Adding an 'error' event handler after an error has been emitted will
        +     *   cause the event to be re-emitted immediately with the error previously
        +     *   raised.
        +     */
        +    on(ev, handler) {
        +        const ret = super.on(ev, handler);
        +        if (ev === 'data') {
        +            this[DISCARDED] = false;
        +            this[DATALISTENERS]++;
        +            if (!this[PIPES].length && !this[FLOWING]) {
        +                this[RESUME]();
        +            }
        +        }
        +        else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {
        +            super.emit('readable');
        +        }
        +        else if (isEndish(ev) && this[EMITTED_END]) {
        +            super.emit(ev);
        +            this.removeAllListeners(ev);
        +        }
        +        else if (ev === 'error' && this[EMITTED_ERROR]) {
        +            const h = handler;
        +            if (this[ASYNC])
        +                defer(() => h.call(this, this[EMITTED_ERROR]));
        +            else
        +                h.call(this, this[EMITTED_ERROR]);
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Alias for {@link Minipass#off}
        +     */
        +    removeListener(ev, handler) {
        +        return this.off(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.off`
        +     *
        +     * If a 'data' event handler is removed, and it was the last consumer
        +     * (ie, there are no pipe destinations or other 'data' event listeners),
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    off(ev, handler) {
        +        const ret = super.off(ev, handler);
        +        // if we previously had listeners, and now we don't, and we don't
        +        // have any pipes, then stop the flow, unless it's been explicitly
        +        // put in a discarded flowing state via stream.resume().
        +        if (ev === 'data') {
        +            this[DATALISTENERS] = this.listeners('data').length;
        +            if (this[DATALISTENERS] === 0 &&
        +                !this[DISCARDED] &&
        +                !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.removeAllListeners`
        +     *
        +     * If all 'data' event handlers are removed, and they were the last consumer
        +     * (ie, there are no pipe destinations), then the flow of data will stop
        +     * until there is another consumer or {@link Minipass#resume} is explicitly
        +     * called.
        +     */
        +    removeAllListeners(ev) {
        +        const ret = super.removeAllListeners(ev);
        +        if (ev === 'data' || ev === undefined) {
        +            this[DATALISTENERS] = 0;
        +            if (!this[DISCARDED] && !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * true if the 'end' event has been emitted
        +     */
        +    get emittedEnd() {
        +        return this[EMITTED_END];
        +    }
        +    [MAYBE_EMIT_END]() {
        +        if (!this[EMITTING_END] &&
        +            !this[EMITTED_END] &&
        +            !this[DESTROYED] &&
        +            this[BUFFER].length === 0 &&
        +            this[EOF]) {
        +            this[EMITTING_END] = true;
        +            this.emit('end');
        +            this.emit('prefinish');
        +            this.emit('finish');
        +            if (this[CLOSED])
        +                this.emit('close');
        +            this[EMITTING_END] = false;
        +        }
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.emit`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * If the stream has been destroyed, and the event is something other
        +     * than 'close' or 'error', then `false` is returned and no handlers
        +     * are called.
        +     *
        +     * If the event is 'end', and has already been emitted, then the event
        +     * is ignored. If the stream is in a paused or non-flowing state, then
        +     * the event will be deferred until data flow resumes. If the stream is
        +     * async, then handlers will be called on the next tick rather than
        +     * immediately.
        +     *
        +     * If the event is 'close', and 'end' has not yet been emitted, then
        +     * the event will be deferred until after 'end' is emitted.
        +     *
        +     * If the event is 'error', and an AbortSignal was provided for the stream,
        +     * and there are no listeners, then the event is ignored, matching the
        +     * behavior of node core streams in the presense of an AbortSignal.
        +     *
        +     * If the event is 'finish' or 'prefinish', then all listeners will be
        +     * removed after emitting the event, to prevent double-firing.
        +     */
        +    emit(ev, ...args) {
        +        const data = args[0];
        +        // error and close are only events allowed after calling destroy()
        +        if (ev !== 'error' &&
        +            ev !== 'close' &&
        +            ev !== DESTROYED &&
        +            this[DESTROYED]) {
        +            return false;
        +        }
        +        else if (ev === 'data') {
        +            return !this[OBJECTMODE] && !data
        +                ? false
        +                : this[ASYNC]
        +                    ? (defer(() => this[EMITDATA](data)), true)
        +                    : this[EMITDATA](data);
        +        }
        +        else if (ev === 'end') {
        +            return this[EMITEND]();
        +        }
        +        else if (ev === 'close') {
        +            this[CLOSED] = true;
        +            // don't emit close before 'end' and 'finish'
        +            if (!this[EMITTED_END] && !this[DESTROYED])
        +                return false;
        +            const ret = super.emit('close');
        +            this.removeAllListeners('close');
        +            return ret;
        +        }
        +        else if (ev === 'error') {
        +            this[EMITTED_ERROR] = data;
        +            super.emit(ERROR, data);
        +            const ret = !this[SIGNAL] || this.listeners('error').length
        +                ? super.emit('error', data)
        +                : false;
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'resume') {
        +            const ret = super.emit('resume');
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'finish' || ev === 'prefinish') {
        +            const ret = super.emit(ev);
        +            this.removeAllListeners(ev);
        +            return ret;
        +        }
        +        // Some other unknown event
        +        const ret = super.emit(ev, ...args);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITDATA](data) {
        +        for (const p of this[PIPES]) {
        +            if (p.dest.write(data) === false)
        +                this.pause();
        +        }
        +        const ret = this[DISCARDED] ? false : super.emit('data', data);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITEND]() {
        +        if (this[EMITTED_END])
        +            return false;
        +        this[EMITTED_END] = true;
        +        this.readable = false;
        +        return this[ASYNC]
        +            ? (defer(() => this[EMITEND2]()), true)
        +            : this[EMITEND2]();
        +    }
        +    [EMITEND2]() {
        +        if (this[DECODER]) {
        +            const data = this[DECODER].end();
        +            if (data) {
        +                for (const p of this[PIPES]) {
        +                    p.dest.write(data);
        +                }
        +                if (!this[DISCARDED])
        +                    super.emit('data', data);
        +            }
        +        }
        +        for (const p of this[PIPES]) {
        +            p.end();
        +        }
        +        const ret = super.emit('end');
        +        this.removeAllListeners('end');
        +        return ret;
        +    }
        +    /**
        +     * Return a Promise that resolves to an array of all emitted data once
        +     * the stream ends.
        +     */
        +    async collect() {
        +        const buf = Object.assign([], {
        +            dataLength: 0,
        +        });
        +        if (!this[OBJECTMODE])
        +            buf.dataLength = 0;
        +        // set the promise first, in case an error is raised
        +        // by triggering the flow here.
        +        const p = this.promise();
        +        this.on('data', c => {
        +            buf.push(c);
        +            if (!this[OBJECTMODE])
        +                buf.dataLength += c.length;
        +        });
        +        await p;
        +        return buf;
        +    }
        +    /**
        +     * Return a Promise that resolves to the concatenation of all emitted data
        +     * once the stream ends.
        +     *
        +     * Not allowed on objectMode streams.
        +     */
        +    async concat() {
        +        if (this[OBJECTMODE]) {
        +            throw new Error('cannot concat in objectMode');
        +        }
        +        const buf = await this.collect();
        +        return (this[ENCODING]
        +            ? buf.join('')
        +            : Buffer.concat(buf, buf.dataLength));
        +    }
        +    /**
        +     * Return a void Promise that resolves once the stream ends.
        +     */
        +    async promise() {
        +        return new Promise((resolve, reject) => {
        +            this.on(DESTROYED, () => reject(new Error('stream destroyed')));
        +            this.on('error', er => reject(er));
        +            this.on('end', () => resolve());
        +        });
        +    }
        +    /**
        +     * Asynchronous `for await of` iteration.
        +     *
        +     * This will continue emitting all chunks until the stream terminates.
        +     */
        +    [Symbol.asyncIterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = async () => {
        +            this.pause();
        +            stopped = true;
        +            return { value: undefined, done: true };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const res = this.read();
        +            if (res !== null)
        +                return Promise.resolve({ done: false, value: res });
        +            if (this[EOF])
        +                return stop();
        +            let resolve;
        +            let reject;
        +            const onerr = (er) => {
        +                this.off('data', ondata);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                reject(er);
        +            };
        +            const ondata = (value) => {
        +                this.off('error', onerr);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                this.pause();
        +                resolve({ value, done: !!this[EOF] });
        +            };
        +            const onend = () => {
        +                this.off('error', onerr);
        +                this.off('data', ondata);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                resolve({ done: true, value: undefined });
        +            };
        +            const ondestroy = () => onerr(new Error('stream destroyed'));
        +            return new Promise((res, rej) => {
        +                reject = rej;
        +                resolve = res;
        +                this.once(DESTROYED, ondestroy);
        +                this.once('error', onerr);
        +                this.once('end', onend);
        +                this.once('data', ondata);
        +            });
        +        };
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.asyncIterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Synchronous `for of` iteration.
        +     *
        +     * The iteration will terminate when the internal buffer runs out, even
        +     * if the stream has not yet terminated.
        +     */
        +    [Symbol.iterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = () => {
        +            this.pause();
        +            this.off(ERROR, stop);
        +            this.off(DESTROYED, stop);
        +            this.off('end', stop);
        +            stopped = true;
        +            return { done: true, value: undefined };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const value = this.read();
        +            return value === null ? stop() : { done: false, value };
        +        };
        +        this.once('end', stop);
        +        this.once(ERROR, stop);
        +        this.once(DESTROYED, stop);
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.iterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Destroy a stream, preventing it from being used for any further purpose.
        +     *
        +     * If the stream has a `close()` method, then it will be called on
        +     * destruction.
        +     *
        +     * After destruction, any attempt to write data, read data, or emit most
        +     * events will be ignored.
        +     *
        +     * If an error argument is provided, then it will be emitted in an
        +     * 'error' event.
        +     */
        +    destroy(er) {
        +        if (this[DESTROYED]) {
        +            if (er)
        +                this.emit('error', er);
        +            else
        +                this.emit(DESTROYED);
        +            return this;
        +        }
        +        this[DESTROYED] = true;
        +        this[DISCARDED] = true;
        +        // throw away all buffered data, it's never coming out
        +        this[BUFFER].length = 0;
        +        this[BUFFERLENGTH] = 0;
        +        const wc = this;
        +        if (typeof wc.close === 'function' && !this[CLOSED])
        +            wc.close();
        +        if (er)
        +            this.emit('error', er);
        +        // if no error to emit, still reject pending promises
        +        else
        +            this.emit(DESTROYED);
        +        return this;
        +    }
        +    /**
        +     * Alias for {@link isStream}
        +     *
        +     * Former export location, maintained for backwards compatibility.
        +     *
        +     * @deprecated
        +     */
        +    static get isStream() {
        +        return exports.isStream;
        +    }
        +}
        +exports.Minipass = Minipass;
        +//# sourceMappingURL=index.js.map
        +
        +/***/ },
        +
        +/***/ 86734
        +(module, __unused_webpack_exports, __webpack_require__) {
        +
        +"use strict";
        +/*! Axios v1.13.6 Copyright (c) 2026 Matt Zabriskie and contributors */
        +
        +
        +const FormData$1 = __webpack_require__(24458);
        +const crypto = __webpack_require__(76982);
        +const url = __webpack_require__(87016);
        +const proxyFromEnv = __webpack_require__(27899);
        +const http = __webpack_require__(58611);
        +const https = __webpack_require__(65692);
        +const http2 = __webpack_require__(85675);
        +const util = __webpack_require__(39023);
        +const followRedirects = __webpack_require__(50147);
        +const zlib = __webpack_require__(43106);
        +const stream = __webpack_require__(2203);
        +const events = __webpack_require__(24434);
        +
        +function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
        +
        +const FormData__default = /*#__PURE__*/_interopDefaultLegacy(FormData$1);
        +const crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto);
        +const url__default = /*#__PURE__*/_interopDefaultLegacy(url);
        +const proxyFromEnv__default = /*#__PURE__*/_interopDefaultLegacy(proxyFromEnv);
        +const http__default = /*#__PURE__*/_interopDefaultLegacy(http);
        +const https__default = /*#__PURE__*/_interopDefaultLegacy(https);
        +const http2__default = /*#__PURE__*/_interopDefaultLegacy(http2);
        +const util__default = /*#__PURE__*/_interopDefaultLegacy(util);
        +const followRedirects__default = /*#__PURE__*/_interopDefaultLegacy(followRedirects);
        +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib);
        +const stream__default = /*#__PURE__*/_interopDefaultLegacy(stream);
        +
        +/**
        + * Create a bound version of a function with a specified `this` context
        + *
        + * @param {Function} fn - The function to bind
        + * @param {*} thisArg - The value to be passed as the `this` parameter
        + * @returns {Function} A new function that will call the original function with the specified `this` context
        + */
        +function bind(fn, thisArg) {
        +  return function wrap() {
        +    return fn.apply(thisArg, arguments);
        +  };
        +}
        +
        +// utils is a library of generic helper functions non-specific to axios
        +
        +const { toString } = Object.prototype;
        +const { getPrototypeOf } = Object;
        +const { iterator, toStringTag } = Symbol;
        +
        +const kindOf = ((cache) => (thing) => {
        +  const str = toString.call(thing);
        +  return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
        +})(Object.create(null));
        +
        +const kindOfTest = (type) => {
        +  type = type.toLowerCase();
        +  return (thing) => kindOf(thing) === type;
        +};
        +
        +const typeOfTest = (type) => (thing) => typeof thing === type;
        +
        +/**
        + * Determine if a value is a non-null object
        + *
        + * @param {Object} val The value to test
        + *
        + * @returns {boolean} True if value is an Array, otherwise false
        + */
        +const { isArray } = Array;
        +
        +/**
        + * Determine if a value is undefined
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if the value is undefined, otherwise false
        + */
        +const isUndefined = typeOfTest('undefined');
        +
        +/**
        + * Determine if a value is a Buffer
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Buffer, otherwise false
        + */
        +function isBuffer(val) {
        +  return (
        +    val !== null &&
        +    !isUndefined(val) &&
        +    val.constructor !== null &&
        +    !isUndefined(val.constructor) &&
        +    isFunction$1(val.constructor.isBuffer) &&
        +    val.constructor.isBuffer(val)
        +  );
        +}
        +
        +/**
        + * Determine if a value is an ArrayBuffer
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is an ArrayBuffer, otherwise false
        + */
        +const isArrayBuffer = kindOfTest('ArrayBuffer');
        +
        +/**
        + * Determine if a value is a view on an ArrayBuffer
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
        + */
        +function isArrayBufferView(val) {
        +  let result;
        +  if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {
        +    result = ArrayBuffer.isView(val);
        +  } else {
        +    result = val && val.buffer && isArrayBuffer(val.buffer);
        +  }
        +  return result;
        +}
        +
        +/**
        + * Determine if a value is a String
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a String, otherwise false
        + */
        +const isString = typeOfTest('string');
        +
        +/**
        + * Determine if a value is a Function
        + *
        + * @param {*} val The value to test
        + * @returns {boolean} True if value is a Function, otherwise false
        + */
        +const isFunction$1 = typeOfTest('function');
        +
        +/**
        + * Determine if a value is a Number
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Number, otherwise false
        + */
        +const isNumber = typeOfTest('number');
        +
        +/**
        + * Determine if a value is an Object
        + *
        + * @param {*} thing The value to test
        + *
        + * @returns {boolean} True if value is an Object, otherwise false
        + */
        +const isObject = (thing) => thing !== null && typeof thing === 'object';
        +
        +/**
        + * Determine if a value is a Boolean
        + *
        + * @param {*} thing The value to test
        + * @returns {boolean} True if value is a Boolean, otherwise false
        + */
        +const isBoolean = (thing) => thing === true || thing === false;
        +
        +/**
        + * Determine if a value is a plain Object
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a plain Object, otherwise false
        + */
        +const isPlainObject = (val) => {
        +  if (kindOf(val) !== 'object') {
        +    return false;
        +  }
        +
        +  const prototype = getPrototypeOf(val);
        +  return (
        +    (prototype === null ||
        +      prototype === Object.prototype ||
        +      Object.getPrototypeOf(prototype) === null) &&
        +    !(toStringTag in val) &&
        +    !(iterator in val)
        +  );
        +};
        +
        +/**
        + * Determine if a value is an empty object (safely handles Buffers)
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is an empty object, otherwise false
        + */
        +const isEmptyObject = (val) => {
        +  // Early return for non-objects or Buffers to prevent RangeError
        +  if (!isObject(val) || isBuffer(val)) {
        +    return false;
        +  }
        +
        +  try {
        +    return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
        +  } catch (e) {
        +    // Fallback for any other objects that might cause RangeError with Object.keys()
        +    return false;
        +  }
        +};
        +
        +/**
        + * Determine if a value is a Date
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Date, otherwise false
        + */
        +const isDate = kindOfTest('Date');
        +
        +/**
        + * Determine if a value is a File
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a File, otherwise false
        + */
        +const isFile = kindOfTest('File');
        +
        +/**
        + * Determine if a value is a React Native Blob
        + * React Native "blob": an object with a `uri` attribute. Optionally, it can
        + * also have a `name` and `type` attribute to specify filename and content type
        + *
        + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71
        + * 
        + * @param {*} value The value to test
        + * 
        + * @returns {boolean} True if value is a React Native Blob, otherwise false
        + */
        +const isReactNativeBlob = (value) => {
        +  return !!(value && typeof value.uri !== 'undefined');
        +};
        +
        +/**
        + * Determine if environment is React Native
        + * ReactNative `FormData` has a non-standard `getParts()` method
        + * 
        + * @param {*} formData The formData to test
        + * 
        + * @returns {boolean} True if environment is React Native, otherwise false
        + */
        +const isReactNative = (formData) => formData && typeof formData.getParts !== 'undefined';
        +
        +/**
        + * Determine if a value is a Blob
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Blob, otherwise false
        + */
        +const isBlob = kindOfTest('Blob');
        +
        +/**
        + * Determine if a value is a FileList
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a File, otherwise false
        + */
        +const isFileList = kindOfTest('FileList');
        +
        +/**
        + * Determine if a value is a Stream
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Stream, otherwise false
        + */
        +const isStream = (val) => isObject(val) && isFunction$1(val.pipe);
        +
        +/**
        + * Determine if a value is a FormData
        + *
        + * @param {*} thing The value to test
        + *
        + * @returns {boolean} True if value is an FormData, otherwise false
        + */
        +function getGlobal() {
        +  if (typeof globalThis !== 'undefined') return globalThis;
        +  if (typeof self !== 'undefined') return self;
        +  if (typeof window !== 'undefined') return window;
        +  if (typeof global !== 'undefined') return global;
        +  return {};
        +}
        +
        +const G = getGlobal();
        +const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;
        +
        +const isFormData = (thing) => {
        +  let kind;
        +  return thing && (
        +    (FormDataCtor && thing instanceof FormDataCtor) || (
        +      isFunction$1(thing.append) && (
        +        (kind = kindOf(thing)) === 'formdata' ||
        +        // detect form-data instance
        +        (kind === 'object' && isFunction$1(thing.toString) && thing.toString() === '[object FormData]')
        +      )
        +    )
        +  );
        +};
        +
        +/**
        + * Determine if a value is a URLSearchParams object
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a URLSearchParams object, otherwise false
        + */
        +const isURLSearchParams = kindOfTest('URLSearchParams');
        +
        +const [isReadableStream, isRequest, isResponse, isHeaders] = [
        +  'ReadableStream',
        +  'Request',
        +  'Response',
        +  'Headers',
        +].map(kindOfTest);
        +
        +/**
        + * Trim excess whitespace off the beginning and end of a string
        + *
        + * @param {String} str The String to trim
        + *
        + * @returns {String} The String freed of excess whitespace
        + */
        +const trim = (str) => {
        +  return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
        +};
        +/**
        + * Iterate over an Array or an Object invoking a function for each item.
        + *
        + * If `obj` is an Array callback will be called passing
        + * the value, index, and complete array for each item.
        + *
        + * If 'obj' is an Object callback will be called passing
        + * the value, key, and complete object for each property.
        + *
        + * @param {Object|Array} obj The object to iterate
        + * @param {Function} fn The callback to invoke for each item
        + *
        + * @param {Object} [options]
        + * @param {Boolean} [options.allOwnKeys = false]
        + * @returns {any}
        + */
        +function forEach(obj, fn, { allOwnKeys = false } = {}) {
        +  // Don't bother if no value provided
        +  if (obj === null || typeof obj === 'undefined') {
        +    return;
        +  }
        +
        +  let i;
        +  let l;
        +
        +  // Force an array if not already something iterable
        +  if (typeof obj !== 'object') {
        +    /*eslint no-param-reassign:0*/
        +    obj = [obj];
        +  }
        +
        +  if (isArray(obj)) {
        +    // Iterate over array values
        +    for (i = 0, l = obj.length; i < l; i++) {
        +      fn.call(null, obj[i], i, obj);
        +    }
        +  } else {
        +    // Buffer check
        +    if (isBuffer(obj)) {
        +      return;
        +    }
        +
        +    // Iterate over object keys
        +    const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
        +    const len = keys.length;
        +    let key;
        +
        +    for (i = 0; i < len; i++) {
        +      key = keys[i];
        +      fn.call(null, obj[key], key, obj);
        +    }
        +  }
        +}
        +
        +/**
        + * Finds a key in an object, case-insensitive, returning the actual key name.
        + * Returns null if the object is a Buffer or if no match is found.
        + *
        + * @param {Object} obj - The object to search.
        + * @param {string} key - The key to find (case-insensitive).
        + * @returns {?string} The actual key name if found, otherwise null.
        + */
        +function findKey(obj, key) {
        +  if (isBuffer(obj)) {
        +    return null;
        +  }
        +
        +  key = key.toLowerCase();
        +  const keys = Object.keys(obj);
        +  let i = keys.length;
        +  let _key;
        +  while (i-- > 0) {
        +    _key = keys[i];
        +    if (key === _key.toLowerCase()) {
        +      return _key;
        +    }
        +  }
        +  return null;
        +}
        +
        +const _global = (() => {
        +  /*eslint no-undef:0*/
        +  if (typeof globalThis !== 'undefined') return globalThis;
        +  return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;
        +})();
        +
        +const isContextDefined = (context) => !isUndefined(context) && context !== _global;
        +
        +/**
        + * Accepts varargs expecting each argument to be an object, then
        + * immutably merges the properties of each object and returns result.
        + *
        + * When multiple objects contain the same key the later object in
        + * the arguments list will take precedence.
        + *
        + * Example:
        + *
        + * ```js
        + * const result = merge({foo: 123}, {foo: 456});
        + * console.log(result.foo); // outputs 456
        + * ```
        + *
        + * @param {Object} obj1 Object to merge
        + *
        + * @returns {Object} Result of all merge properties
        + */
        +function merge(/* obj1, obj2, obj3, ... */) {
        +  const { caseless, skipUndefined } = (isContextDefined(this) && this) || {};
        +  const result = {};
        +  const assignValue = (val, key) => {
        +    // Skip dangerous property names to prevent prototype pollution
        +    if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
        +      return;
        +    }
        +
        +    const targetKey = (caseless && findKey(result, key)) || key;
        +    if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
        +      result[targetKey] = merge(result[targetKey], val);
        +    } else if (isPlainObject(val)) {
        +      result[targetKey] = merge({}, val);
        +    } else if (isArray(val)) {
        +      result[targetKey] = val.slice();
        +    } else if (!skipUndefined || !isUndefined(val)) {
        +      result[targetKey] = val;
        +    }
        +  };
        +
        +  for (let i = 0, l = arguments.length; i < l; i++) {
        +    arguments[i] && forEach(arguments[i], assignValue);
        +  }
        +  return result;
        +}
        +
        +/**
        + * Extends object a by mutably adding to it the properties of object b.
        + *
        + * @param {Object} a The object to be extended
        + * @param {Object} b The object to copy properties from
        + * @param {Object} thisArg The object to bind function to
        + *
        + * @param {Object} [options]
        + * @param {Boolean} [options.allOwnKeys]
        + * @returns {Object} The resulting value of object a
        + */
        +const extend = (a, b, thisArg, { allOwnKeys } = {}) => {
        +  forEach(
        +    b,
        +    (val, key) => {
        +      if (thisArg && isFunction$1(val)) {
        +        Object.defineProperty(a, key, {
        +          value: bind(val, thisArg),
        +          writable: true,
        +          enumerable: true,
        +          configurable: true,
        +        });
        +      } else {
        +        Object.defineProperty(a, key, {
        +          value: val,
        +          writable: true,
        +          enumerable: true,
        +          configurable: true,
        +        });
        +      }
        +    },
        +    { allOwnKeys }
        +  );
        +  return a;
        +};
        +
        +/**
        + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
        + *
        + * @param {string} content with BOM
        + *
        + * @returns {string} content value without BOM
        + */
        +const stripBOM = (content) => {
        +  if (content.charCodeAt(0) === 0xfeff) {
        +    content = content.slice(1);
        +  }
        +  return content;
        +};
        +
        +/**
        + * Inherit the prototype methods from one constructor into another
        + * @param {function} constructor
        + * @param {function} superConstructor
        + * @param {object} [props]
        + * @param {object} [descriptors]
        + *
        + * @returns {void}
        + */
        +const inherits = (constructor, superConstructor, props, descriptors) => {
        +  constructor.prototype = Object.create(superConstructor.prototype, descriptors);
        +  Object.defineProperty(constructor.prototype, 'constructor', {
        +    value: constructor,
        +    writable: true,
        +    enumerable: false,
        +    configurable: true,
        +  });
        +  Object.defineProperty(constructor, 'super', {
        +    value: superConstructor.prototype,
        +  });
        +  props && Object.assign(constructor.prototype, props);
        +};
        +
        +/**
        + * Resolve object with deep prototype chain to a flat object
        + * @param {Object} sourceObj source object
        + * @param {Object} [destObj]
        + * @param {Function|Boolean} [filter]
        + * @param {Function} [propFilter]
        + *
        + * @returns {Object}
        + */
        +const toFlatObject = (sourceObj, destObj, filter, propFilter) => {
        +  let props;
        +  let i;
        +  let prop;
        +  const merged = {};
        +
        +  destObj = destObj || {};
        +  // eslint-disable-next-line no-eq-null,eqeqeq
        +  if (sourceObj == null) return destObj;
        +
        +  do {
        +    props = Object.getOwnPropertyNames(sourceObj);
        +    i = props.length;
        +    while (i-- > 0) {
        +      prop = props[i];
        +      if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
        +        destObj[prop] = sourceObj[prop];
        +        merged[prop] = true;
        +      }
        +    }
        +    sourceObj = filter !== false && getPrototypeOf(sourceObj);
        +  } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);
        +
        +  return destObj;
        +};
        +
        +/**
        + * Determines whether a string ends with the characters of a specified string
        + *
        + * @param {String} str
        + * @param {String} searchString
        + * @param {Number} [position= 0]
        + *
        + * @returns {boolean}
        + */
        +const endsWith = (str, searchString, position) => {
        +  str = String(str);
        +  if (position === undefined || position > str.length) {
        +    position = str.length;
        +  }
        +  position -= searchString.length;
        +  const lastIndex = str.indexOf(searchString, position);
        +  return lastIndex !== -1 && lastIndex === position;
        +};
        +
        +/**
        + * Returns new array from array like object or null if failed
        + *
        + * @param {*} [thing]
        + *
        + * @returns {?Array}
        + */
        +const toArray = (thing) => {
        +  if (!thing) return null;
        +  if (isArray(thing)) return thing;
        +  let i = thing.length;
        +  if (!isNumber(i)) return null;
        +  const arr = new Array(i);
        +  while (i-- > 0) {
        +    arr[i] = thing[i];
        +  }
        +  return arr;
        +};
        +
        +/**
        + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the
        + * thing passed in is an instance of Uint8Array
        + *
        + * @param {TypedArray}
        + *
        + * @returns {Array}
        + */
        +// eslint-disable-next-line func-names
        +const isTypedArray = ((TypedArray) => {
        +  // eslint-disable-next-line func-names
        +  return (thing) => {
        +    return TypedArray && thing instanceof TypedArray;
        +  };
        +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));
        +
        +/**
        + * For each entry in the object, call the function with the key and value.
        + *
        + * @param {Object} obj - The object to iterate over.
        + * @param {Function} fn - The function to call for each entry.
        + *
        + * @returns {void}
        + */
        +const forEachEntry = (obj, fn) => {
        +  const generator = obj && obj[iterator];
        +
        +  const _iterator = generator.call(obj);
        +
        +  let result;
        +
        +  while ((result = _iterator.next()) && !result.done) {
        +    const pair = result.value;
        +    fn.call(obj, pair[0], pair[1]);
        +  }
        +};
        +
        +/**
        + * It takes a regular expression and a string, and returns an array of all the matches
        + *
        + * @param {string} regExp - The regular expression to match against.
        + * @param {string} str - The string to search.
        + *
        + * @returns {Array}
        + */
        +const matchAll = (regExp, str) => {
        +  let matches;
        +  const arr = [];
        +
        +  while ((matches = regExp.exec(str)) !== null) {
        +    arr.push(matches);
        +  }
        +
        +  return arr;
        +};
        +
        +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */
        +const isHTMLForm = kindOfTest('HTMLFormElement');
        +
        +const toCamelCase = (str) => {
        +  return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) {
        +    return p1.toUpperCase() + p2;
        +  });
        +};
        +
        +/* Creating a function that will check if an object has a property. */
        +const hasOwnProperty = (
        +  ({ hasOwnProperty }) =>
        +  (obj, prop) =>
        +    hasOwnProperty.call(obj, prop)
        +)(Object.prototype);
        +
        +/**
        + * Determine if a value is a RegExp object
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a RegExp object, otherwise false
        + */
        +const isRegExp = kindOfTest('RegExp');
        +
        +const reduceDescriptors = (obj, reducer) => {
        +  const descriptors = Object.getOwnPropertyDescriptors(obj);
        +  const reducedDescriptors = {};
        +
        +  forEach(descriptors, (descriptor, name) => {
        +    let ret;
        +    if ((ret = reducer(descriptor, name, obj)) !== false) {
        +      reducedDescriptors[name] = ret || descriptor;
        +    }
        +  });
        +
        +  Object.defineProperties(obj, reducedDescriptors);
        +};
        +
        +/**
        + * Makes all methods read-only
        + * @param {Object} obj
        + */
        +
        +const freezeMethods = (obj) => {
        +  reduceDescriptors(obj, (descriptor, name) => {
        +    // skip restricted props in strict mode
        +    if (isFunction$1(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
        +      return false;
        +    }
        +
        +    const value = obj[name];
        +
        +    if (!isFunction$1(value)) return;
        +
        +    descriptor.enumerable = false;
        +
        +    if ('writable' in descriptor) {
        +      descriptor.writable = false;
        +      return;
        +    }
        +
        +    if (!descriptor.set) {
        +      descriptor.set = () => {
        +        throw Error("Can not rewrite read-only method '" + name + "'");
        +      };
        +    }
        +  });
        +};
        +
        +/**
        + * Converts an array or a delimited string into an object set with values as keys and true as values.
        + * Useful for fast membership checks.
        + *
        + * @param {Array|string} arrayOrString - The array or string to convert.
        + * @param {string} delimiter - The delimiter to use if input is a string.
        + * @returns {Object} An object with keys from the array or string, values set to true.
        + */
        +const toObjectSet = (arrayOrString, delimiter) => {
        +  const obj = {};
        +
        +  const define = (arr) => {
        +    arr.forEach((value) => {
        +      obj[value] = true;
        +    });
        +  };
        +
        +  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
        +
        +  return obj;
        +};
        +
        +const noop = () => {};
        +
        +const toFiniteNumber = (value, defaultValue) => {
        +  return value != null && Number.isFinite((value = +value)) ? value : defaultValue;
        +};
        +
        +/**
        + * If the thing is a FormData object, return true, otherwise return false.
        + *
        + * @param {unknown} thing - The thing to check.
        + *
        + * @returns {boolean}
        + */
        +function isSpecCompliantForm(thing) {
        +  return !!(
        +    thing &&
        +    isFunction$1(thing.append) &&
        +    thing[toStringTag] === 'FormData' &&
        +    thing[iterator]
        +  );
        +}
        +
        +/**
        + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.
        + *
        + * @param {Object} obj - The object to convert.
        + * @returns {Object} The JSON-compatible object.
        + */
        +const toJSONObject = (obj) => {
        +  const stack = new Array(10);
        +
        +  const visit = (source, i) => {
        +    if (isObject(source)) {
        +      if (stack.indexOf(source) >= 0) {
        +        return;
        +      }
        +
        +      //Buffer check
        +      if (isBuffer(source)) {
        +        return source;
        +      }
        +
        +      if (!('toJSON' in source)) {
        +        stack[i] = source;
        +        const target = isArray(source) ? [] : {};
        +
        +        forEach(source, (value, key) => {
        +          const reducedValue = visit(value, i + 1);
        +          !isUndefined(reducedValue) && (target[key] = reducedValue);
        +        });
        +
        +        stack[i] = undefined;
        +
        +        return target;
        +      }
        +    }
        +
        +    return source;
        +  };
        +
        +  return visit(obj, 0);
        +};
        +
        +/**
        + * Determines if a value is an async function.
        + *
        + * @param {*} thing - The value to test.
        + * @returns {boolean} True if value is an async function, otherwise false.
        + */
        +const isAsyncFn = kindOfTest('AsyncFunction');
        +
        +/**
        + * Determines if a value is thenable (has then and catch methods).
        + *
        + * @param {*} thing - The value to test.
        + * @returns {boolean} True if value is thenable, otherwise false.
        + */
        +const isThenable = (thing) =>
        +  thing &&
        +  (isObject(thing) || isFunction$1(thing)) &&
        +  isFunction$1(thing.then) &&
        +  isFunction$1(thing.catch);
        +
        +// original code
        +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34
        +
        +/**
        + * Provides a cross-platform setImmediate implementation.
        + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.
        + *
        + * @param {boolean} setImmediateSupported - Whether setImmediate is supported.
        + * @param {boolean} postMessageSupported - Whether postMessage is supported.
        + * @returns {Function} A function to schedule a callback asynchronously.
        + */
        +const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
        +  if (setImmediateSupported) {
        +    return setImmediate;
        +  }
        +
        +  return postMessageSupported
        +    ? ((token, callbacks) => {
        +        _global.addEventListener(
        +          'message',
        +          ({ source, data }) => {
        +            if (source === _global && data === token) {
        +              callbacks.length && callbacks.shift()();
        +            }
        +          },
        +          false
        +        );
        +
        +        return (cb) => {
        +          callbacks.push(cb);
        +          _global.postMessage(token, '*');
        +        };
        +      })(`axios@${Math.random()}`, [])
        +    : (cb) => setTimeout(cb);
        +})(typeof setImmediate === 'function', isFunction$1(_global.postMessage));
        +
        +/**
        + * Schedules a microtask or asynchronous callback as soon as possible.
        + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.
        + *
        + * @type {Function}
        + */
        +const asap =
        +  typeof queueMicrotask !== 'undefined'
        +    ? queueMicrotask.bind(_global)
        +    : (typeof process !== 'undefined' && process.nextTick) || _setImmediate;
        +
        +// *********************
        +
        +const isIterable = (thing) => thing != null && isFunction$1(thing[iterator]);
        +
        +const utils$1 = {
        +  isArray,
        +  isArrayBuffer,
        +  isBuffer,
        +  isFormData,
        +  isArrayBufferView,
        +  isString,
        +  isNumber,
        +  isBoolean,
        +  isObject,
        +  isPlainObject,
        +  isEmptyObject,
        +  isReadableStream,
        +  isRequest,
        +  isResponse,
        +  isHeaders,
        +  isUndefined,
        +  isDate,
        +  isFile,
        +  isReactNativeBlob,
        +  isReactNative,
        +  isBlob,
        +  isRegExp,
        +  isFunction: isFunction$1,
        +  isStream,
        +  isURLSearchParams,
        +  isTypedArray,
        +  isFileList,
        +  forEach,
        +  merge,
        +  extend,
        +  trim,
        +  stripBOM,
        +  inherits,
        +  toFlatObject,
        +  kindOf,
        +  kindOfTest,
        +  endsWith,
        +  toArray,
        +  forEachEntry,
        +  matchAll,
        +  isHTMLForm,
        +  hasOwnProperty,
        +  hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection
        +  reduceDescriptors,
        +  freezeMethods,
        +  toObjectSet,
        +  toCamelCase,
        +  noop,
        +  toFiniteNumber,
        +  findKey,
        +  global: _global,
        +  isContextDefined,
        +  isSpecCompliantForm,
        +  toJSONObject,
        +  isAsyncFn,
        +  isThenable,
        +  setImmediate: _setImmediate,
        +  asap,
        +  isIterable,
        +};
        +
        +class AxiosError extends Error {
        +  static from(error, code, config, request, response, customProps) {
        +    const axiosError = new AxiosError(error.message, code || error.code, config, request, response);
        +    axiosError.cause = error;
        +    axiosError.name = error.name;
        +
        +    // Preserve status from the original error if not already set from response
        +    if (error.status != null && axiosError.status == null) {
        +      axiosError.status = error.status;
        +    }
        +
        +    customProps && Object.assign(axiosError, customProps);
        +    return axiosError;
        +  }
        +
        +    /**
        +     * Create an Error with the specified message, config, error code, request and response.
        +     *
        +     * @param {string} message The error message.
        +     * @param {string} [code] The error code (for example, 'ECONNABORTED').
        +     * @param {Object} [config] The config.
        +     * @param {Object} [request] The request.
        +     * @param {Object} [response] The response.
        +     *
        +     * @returns {Error} The created error.
        +     */
        +    constructor(message, code, config, request, response) {
        +      super(message);
        +      
        +      // Make message enumerable to maintain backward compatibility
        +      // The native Error constructor sets message as non-enumerable,
        +      // but axios < v1.13.3 had it as enumerable
        +      Object.defineProperty(this, 'message', {
        +          value: message,
        +          enumerable: true,
        +          writable: true,
        +          configurable: true
        +      });
        +      
        +      this.name = 'AxiosError';
        +      this.isAxiosError = true;
        +      code && (this.code = code);
        +      config && (this.config = config);
        +      request && (this.request = request);
        +      if (response) {
        +          this.response = response;
        +          this.status = response.status;
        +      }
        +    }
        +
        +  toJSON() {
        +    return {
        +      // Standard
        +      message: this.message,
        +      name: this.name,
        +      // Microsoft
        +      description: this.description,
        +      number: this.number,
        +      // Mozilla
        +      fileName: this.fileName,
        +      lineNumber: this.lineNumber,
        +      columnNumber: this.columnNumber,
        +      stack: this.stack,
        +      // Axios
        +      config: utils$1.toJSONObject(this.config),
        +      code: this.code,
        +      status: this.status,
        +    };
        +  }
        +}
        +
        +// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.
        +AxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';
        +AxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';
        +AxiosError.ECONNABORTED = 'ECONNABORTED';
        +AxiosError.ETIMEDOUT = 'ETIMEDOUT';
        +AxiosError.ERR_NETWORK = 'ERR_NETWORK';
        +AxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';
        +AxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';
        +AxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';
        +AxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';
        +AxiosError.ERR_CANCELED = 'ERR_CANCELED';
        +AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';
        +AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';
        +
        +const AxiosError$1 = AxiosError;
        +
        +/**
        + * Determines if the given thing is a array or js object.
        + *
        + * @param {string} thing - The object or array to be visited.
        + *
        + * @returns {boolean}
        + */
        +function isVisitable(thing) {
        +  return utils$1.isPlainObject(thing) || utils$1.isArray(thing);
        +}
        +
        +/**
        + * It removes the brackets from the end of a string
        + *
        + * @param {string} key - The key of the parameter.
        + *
        + * @returns {string} the key without the brackets.
        + */
        +function removeBrackets(key) {
        +  return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key;
        +}
        +
        +/**
        + * It takes a path, a key, and a boolean, and returns a string
        + *
        + * @param {string} path - The path to the current key.
        + * @param {string} key - The key of the current object being iterated over.
        + * @param {string} dots - If true, the key will be rendered with dots instead of brackets.
        + *
        + * @returns {string} The path to the current key.
        + */
        +function renderKey(path, key, dots) {
        +  if (!path) return key;
        +  return path
        +    .concat(key)
        +    .map(function each(token, i) {
        +      // eslint-disable-next-line no-param-reassign
        +      token = removeBrackets(token);
        +      return !dots && i ? '[' + token + ']' : token;
        +    })
        +    .join(dots ? '.' : '');
        +}
        +
        +/**
        + * If the array is an array and none of its elements are visitable, then it's a flat array.
        + *
        + * @param {Array} arr - The array to check
        + *
        + * @returns {boolean}
        + */
        +function isFlatArray(arr) {
        +  return utils$1.isArray(arr) && !arr.some(isVisitable);
        +}
        +
        +const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) {
        +  return /^is[A-Z]/.test(prop);
        +});
        +
        +/**
        + * Convert a data object to FormData
        + *
        + * @param {Object} obj
        + * @param {?Object} [formData]
        + * @param {?Object} [options]
        + * @param {Function} [options.visitor]
        + * @param {Boolean} [options.metaTokens = true]
        + * @param {Boolean} [options.dots = false]
        + * @param {?Boolean} [options.indexes = false]
        + *
        + * @returns {Object}
        + **/
        +
        +/**
        + * It converts an object into a FormData object
        + *
        + * @param {Object} obj - The object to convert to form data.
        + * @param {string} formData - The FormData object to append to.
        + * @param {Object} options
        + *
        + * @returns
        + */
        +function toFormData(obj, formData, options) {
        +  if (!utils$1.isObject(obj)) {
        +    throw new TypeError('target must be an object');
        +  }
        +
        +  // eslint-disable-next-line no-param-reassign
        +  formData = formData || new (FormData__default["default"] || FormData)();
        +
        +  // eslint-disable-next-line no-param-reassign
        +  options = utils$1.toFlatObject(
        +    options,
        +    {
        +      metaTokens: true,
        +      dots: false,
        +      indexes: false,
        +    },
        +    false,
        +    function defined(option, source) {
        +      // eslint-disable-next-line no-eq-null,eqeqeq
        +      return !utils$1.isUndefined(source[option]);
        +    }
        +  );
        +
        +  const metaTokens = options.metaTokens;
        +  // eslint-disable-next-line no-use-before-define
        +  const visitor = options.visitor || defaultVisitor;
        +  const dots = options.dots;
        +  const indexes = options.indexes;
        +  const _Blob = options.Blob || (typeof Blob !== 'undefined' && Blob);
        +  const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);
        +
        +  if (!utils$1.isFunction(visitor)) {
        +    throw new TypeError('visitor must be a function');
        +  }
        +
        +  function convertValue(value) {
        +    if (value === null) return '';
        +
        +    if (utils$1.isDate(value)) {
        +      return value.toISOString();
        +    }
        +
        +    if (utils$1.isBoolean(value)) {
        +      return value.toString();
        +    }
        +
        +    if (!useBlob && utils$1.isBlob(value)) {
        +      throw new AxiosError$1('Blob is not supported. Use a Buffer instead.');
        +    }
        +
        +    if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) {
        +      return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);
        +    }
        +
        +    return value;
        +  }
        +
        +  /**
        +   * Default visitor.
        +   *
        +   * @param {*} value
        +   * @param {String|Number} key
        +   * @param {Array} path
        +   * @this {FormData}
        +   *
        +   * @returns {boolean} return true to visit the each prop of the value recursively
        +   */
        +  function defaultVisitor(value, key, path) {
        +    let arr = value;
        +
        +    if (utils$1.isReactNative(formData) && utils$1.isReactNativeBlob(value)) {
        +      formData.append(renderKey(path, key, dots), convertValue(value));
        +      return false;
        +    }
        +
        +    if (value && !path && typeof value === 'object') {
        +      if (utils$1.endsWith(key, '{}')) {
        +        // eslint-disable-next-line no-param-reassign
        +        key = metaTokens ? key : key.slice(0, -2);
        +        // eslint-disable-next-line no-param-reassign
        +        value = JSON.stringify(value);
        +      } else if (
        +        (utils$1.isArray(value) && isFlatArray(value)) ||
        +        ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value)))
        +      ) {
        +        // eslint-disable-next-line no-param-reassign
        +        key = removeBrackets(key);
        +
        +        arr.forEach(function each(el, index) {
        +          !(utils$1.isUndefined(el) || el === null) &&
        +            formData.append(
        +              // eslint-disable-next-line no-nested-ternary
        +              indexes === true
        +                ? renderKey([key], index, dots)
        +                : indexes === null
        +                  ? key
        +                  : key + '[]',
        +              convertValue(el)
        +            );
        +        });
        +        return false;
        +      }
        +    }
        +
        +    if (isVisitable(value)) {
        +      return true;
        +    }
        +
        +    formData.append(renderKey(path, key, dots), convertValue(value));
        +
        +    return false;
        +  }
        +
        +  const stack = [];
        +
        +  const exposedHelpers = Object.assign(predicates, {
        +    defaultVisitor,
        +    convertValue,
        +    isVisitable,
        +  });
        +
        +  function build(value, path) {
        +    if (utils$1.isUndefined(value)) return;
        +
        +    if (stack.indexOf(value) !== -1) {
        +      throw Error('Circular reference detected in ' + path.join('.'));
        +    }
        +
        +    stack.push(value);
        +
        +    utils$1.forEach(value, function each(el, key) {
        +      const result =
        +        !(utils$1.isUndefined(el) || el === null) &&
        +        visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers);
        +
        +      if (result === true) {
        +        build(el, path ? path.concat(key) : [key]);
        +      }
        +    });
        +
        +    stack.pop();
        +  }
        +
        +  if (!utils$1.isObject(obj)) {
        +    throw new TypeError('data must be an object');
        +  }
        +
        +  build(obj);
        +
        +  return formData;
        +}
        +
        +/**
        + * It encodes a string by replacing all characters that are not in the unreserved set with
        + * their percent-encoded equivalents
        + *
        + * @param {string} str - The string to encode.
        + *
        + * @returns {string} The encoded string.
        + */
        +function encode$1(str) {
        +  const charMap = {
        +    '!': '%21',
        +    "'": '%27',
        +    '(': '%28',
        +    ')': '%29',
        +    '~': '%7E',
        +    '%20': '+',
        +    '%00': '\x00',
        +  };
        +  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
        +    return charMap[match];
        +  });
        +}
        +
        +/**
        + * It takes a params object and converts it to a FormData object
        + *
        + * @param {Object} params - The parameters to be converted to a FormData object.
        + * @param {Object} options - The options object passed to the Axios constructor.
        + *
        + * @returns {void}
        + */
        +function AxiosURLSearchParams(params, options) {
        +  this._pairs = [];
        +
        +  params && toFormData(params, this, options);
        +}
        +
        +const prototype = AxiosURLSearchParams.prototype;
        +
        +prototype.append = function append(name, value) {
        +  this._pairs.push([name, value]);
        +};
        +
        +prototype.toString = function toString(encoder) {
        +  const _encode = encoder
        +    ? function (value) {
        +        return encoder.call(this, value, encode$1);
        +      }
        +    : encode$1;
        +
        +  return this._pairs
        +    .map(function each(pair) {
        +      return _encode(pair[0]) + '=' + _encode(pair[1]);
        +    }, '')
        +    .join('&');
        +};
        +
        +/**
        + * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their
        + * URI encoded counterparts
        + *
        + * @param {string} val The value to be encoded.
        + *
        + * @returns {string} The encoded value.
        + */
        +function encode(val) {
        +  return encodeURIComponent(val)
        +    .replace(/%3A/gi, ':')
        +    .replace(/%24/g, '$')
        +    .replace(/%2C/gi, ',')
        +    .replace(/%20/g, '+');
        +}
        +
        +/**
        + * Build a URL by appending params to the end
        + *
        + * @param {string} url The base of the url (e.g., http://www.google.com)
        + * @param {object} [params] The params to be appended
        + * @param {?(object|Function)} options
        + *
        + * @returns {string} The formatted url
        + */
        +function buildURL(url, params, options) {
        +  if (!params) {
        +    return url;
        +  }
        +
        +  const _encode = (options && options.encode) || encode;
        +
        +  const _options = utils$1.isFunction(options)
        +    ? {
        +        serialize: options,
        +      }
        +    : options;
        +
        +  const serializeFn = _options && _options.serialize;
        +
        +  let serializedParams;
        +
        +  if (serializeFn) {
        +    serializedParams = serializeFn(params, _options);
        +  } else {
        +    serializedParams = utils$1.isURLSearchParams(params)
        +      ? params.toString()
        +      : new AxiosURLSearchParams(params, _options).toString(_encode);
        +  }
        +
        +  if (serializedParams) {
        +    const hashmarkIndex = url.indexOf('#');
        +
        +    if (hashmarkIndex !== -1) {
        +      url = url.slice(0, hashmarkIndex);
        +    }
        +    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
        +  }
        +
        +  return url;
        +}
        +
        +class InterceptorManager {
        +  constructor() {
        +    this.handlers = [];
        +  }
        +
        +  /**
        +   * Add a new interceptor to the stack
        +   *
        +   * @param {Function} fulfilled The function to handle `then` for a `Promise`
        +   * @param {Function} rejected The function to handle `reject` for a `Promise`
        +   * @param {Object} options The options for the interceptor, synchronous and runWhen
        +   *
        +   * @return {Number} An ID used to remove interceptor later
        +   */
        +  use(fulfilled, rejected, options) {
        +    this.handlers.push({
        +      fulfilled,
        +      rejected,
        +      synchronous: options ? options.synchronous : false,
        +      runWhen: options ? options.runWhen : null,
        +    });
        +    return this.handlers.length - 1;
        +  }
        +
        +  /**
        +   * Remove an interceptor from the stack
        +   *
        +   * @param {Number} id The ID that was returned by `use`
        +   *
        +   * @returns {void}
        +   */
        +  eject(id) {
        +    if (this.handlers[id]) {
        +      this.handlers[id] = null;
        +    }
        +  }
        +
        +  /**
        +   * Clear all interceptors from the stack
        +   *
        +   * @returns {void}
        +   */
        +  clear() {
        +    if (this.handlers) {
        +      this.handlers = [];
        +    }
        +  }
        +
        +  /**
        +   * Iterate over all the registered interceptors
        +   *
        +   * This method is particularly useful for skipping over any
        +   * interceptors that may have become `null` calling `eject`.
        +   *
        +   * @param {Function} fn The function to call for each interceptor
        +   *
        +   * @returns {void}
        +   */
        +  forEach(fn) {
        +    utils$1.forEach(this.handlers, function forEachHandler(h) {
        +      if (h !== null) {
        +        fn(h);
        +      }
        +    });
        +  }
        +}
        +
        +const InterceptorManager$1 = InterceptorManager;
        +
        +const transitionalDefaults = {
        +  silentJSONParsing: true,
        +  forcedJSONParsing: true,
        +  clarifyTimeoutError: false,
        +  legacyInterceptorReqResOrdering: true,
        +};
        +
        +const URLSearchParams = url__default["default"].URLSearchParams;
        +
        +const ALPHA = 'abcdefghijklmnopqrstuvwxyz';
        +
        +const DIGIT = '0123456789';
        +
        +const ALPHABET = {
        +  DIGIT,
        +  ALPHA,
        +  ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT,
        +};
        +
        +const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
        +  let str = '';
        +  const { length } = alphabet;
        +  const randomValues = new Uint32Array(size);
        +  crypto__default["default"].randomFillSync(randomValues);
        +  for (let i = 0; i < size; i++) {
        +    str += alphabet[randomValues[i] % length];
        +  }
        +
        +  return str;
        +};
        +
        +const platform$1 = {
        +  isNode: true,
        +  classes: {
        +    URLSearchParams,
        +    FormData: FormData__default["default"],
        +    Blob: (typeof Blob !== 'undefined' && Blob) || null,
        +  },
        +  ALPHABET,
        +  generateString,
        +  protocols: ['http', 'https', 'file', 'data'],
        +};
        +
        +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';
        +
        +const _navigator = (typeof navigator === 'object' && navigator) || undefined;
        +
        +/**
        + * Determine if we're running in a standard browser environment
        + *
        + * This allows axios to run in a web worker, and react-native.
        + * Both environments support XMLHttpRequest, but not fully standard globals.
        + *
        + * web workers:
        + *  typeof window -> undefined
        + *  typeof document -> undefined
        + *
        + * react-native:
        + *  navigator.product -> 'ReactNative'
        + * nativescript
        + *  navigator.product -> 'NativeScript' or 'NS'
        + *
        + * @returns {boolean}
        + */
        +const hasStandardBrowserEnv =
        +  hasBrowserEnv &&
        +  (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);
        +
        +/**
        + * Determine if we're running in a standard browser webWorker environment
        + *
        + * Although the `isStandardBrowserEnv` method indicates that
        + * `allows axios to run in a web worker`, the WebWorker will still be
        + * filtered out due to its judgment standard
        + * `typeof window !== 'undefined' && typeof document !== 'undefined'`.
        + * This leads to a problem when axios post `FormData` in webWorker
        + */
        +const hasStandardBrowserWebWorkerEnv = (() => {
        +  return (
        +    typeof WorkerGlobalScope !== 'undefined' &&
        +    // eslint-disable-next-line no-undef
        +    self instanceof WorkerGlobalScope &&
        +    typeof self.importScripts === 'function'
        +  );
        +})();
        +
        +const origin = (hasBrowserEnv && window.location.href) || 'http://localhost';
        +
        +const utils = /*#__PURE__*/Object.freeze({
        +  __proto__: null,
        +  hasBrowserEnv: hasBrowserEnv,
        +  hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv,
        +  hasStandardBrowserEnv: hasStandardBrowserEnv,
        +  navigator: _navigator,
        +  origin: origin
        +});
        +
        +const platform = {
        +  ...utils,
        +  ...platform$1,
        +};
        +
        +function toURLEncodedForm(data, options) {
        +  return toFormData(data, new platform.classes.URLSearchParams(), {
        +    visitor: function (value, key, path, helpers) {
        +      if (platform.isNode && utils$1.isBuffer(value)) {
        +        this.append(key, value.toString('base64'));
        +        return false;
        +      }
        +
        +      return helpers.defaultVisitor.apply(this, arguments);
        +    },
        +    ...options,
        +  });
        +}
        +
        +/**
        + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']
        + *
        + * @param {string} name - The name of the property to get.
        + *
        + * @returns An array of strings.
        + */
        +function parsePropPath(name) {
        +  // foo[x][y][z]
        +  // foo.x.y.z
        +  // foo-x-y-z
        +  // foo x y z
        +  return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
        +    return match[0] === '[]' ? '' : match[1] || match[0];
        +  });
        +}
        +
        +/**
        + * Convert an array to an object.
        + *
        + * @param {Array} arr - The array to convert to an object.
        + *
        + * @returns An object with the same keys and values as the array.
        + */
        +function arrayToObject(arr) {
        +  const obj = {};
        +  const keys = Object.keys(arr);
        +  let i;
        +  const len = keys.length;
        +  let key;
        +  for (i = 0; i < len; i++) {
        +    key = keys[i];
        +    obj[key] = arr[key];
        +  }
        +  return obj;
        +}
        +
        +/**
        + * It takes a FormData object and returns a JavaScript object
        + *
        + * @param {string} formData The FormData object to convert to JSON.
        + *
        + * @returns {Object | null} The converted object.
        + */
        +function formDataToJSON(formData) {
        +  function buildPath(path, value, target, index) {
        +    let name = path[index++];
        +
        +    if (name === '__proto__') return true;
        +
        +    const isNumericKey = Number.isFinite(+name);
        +    const isLast = index >= path.length;
        +    name = !name && utils$1.isArray(target) ? target.length : name;
        +
        +    if (isLast) {
        +      if (utils$1.hasOwnProp(target, name)) {
        +        target[name] = [target[name], value];
        +      } else {
        +        target[name] = value;
        +      }
        +
        +      return !isNumericKey;
        +    }
        +
        +    if (!target[name] || !utils$1.isObject(target[name])) {
        +      target[name] = [];
        +    }
        +
        +    const result = buildPath(path, value, target[name], index);
        +
        +    if (result && utils$1.isArray(target[name])) {
        +      target[name] = arrayToObject(target[name]);
        +    }
        +
        +    return !isNumericKey;
        +  }
        +
        +  if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {
        +    const obj = {};
        +
        +    utils$1.forEachEntry(formData, (name, value) => {
        +      buildPath(parsePropPath(name), value, obj, 0);
        +    });
        +
        +    return obj;
        +  }
        +
        +  return null;
        +}
        +
        +/**
        + * It takes a string, tries to parse it, and if it fails, it returns the stringified version
        + * of the input
        + *
        + * @param {any} rawValue - The value to be stringified.
        + * @param {Function} parser - A function that parses a string into a JavaScript object.
        + * @param {Function} encoder - A function that takes a value and returns a string.
        + *
        + * @returns {string} A stringified version of the rawValue.
        + */
        +function stringifySafely(rawValue, parser, encoder) {
        +  if (utils$1.isString(rawValue)) {
        +    try {
        +      (parser || JSON.parse)(rawValue);
        +      return utils$1.trim(rawValue);
        +    } catch (e) {
        +      if (e.name !== 'SyntaxError') {
        +        throw e;
        +      }
        +    }
        +  }
        +
        +  return (encoder || JSON.stringify)(rawValue);
        +}
        +
        +const defaults = {
        +  transitional: transitionalDefaults,
        +
        +  adapter: ['xhr', 'http', 'fetch'],
        +
        +  transformRequest: [
        +    function transformRequest(data, headers) {
        +      const contentType = headers.getContentType() || '';
        +      const hasJSONContentType = contentType.indexOf('application/json') > -1;
        +      const isObjectPayload = utils$1.isObject(data);
        +
        +      if (isObjectPayload && utils$1.isHTMLForm(data)) {
        +        data = new FormData(data);
        +      }
        +
        +      const isFormData = utils$1.isFormData(data);
        +
        +      if (isFormData) {
        +        return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;
        +      }
        +
        +      if (
        +        utils$1.isArrayBuffer(data) ||
        +        utils$1.isBuffer(data) ||
        +        utils$1.isStream(data) ||
        +        utils$1.isFile(data) ||
        +        utils$1.isBlob(data) ||
        +        utils$1.isReadableStream(data)
        +      ) {
        +        return data;
        +      }
        +      if (utils$1.isArrayBufferView(data)) {
        +        return data.buffer;
        +      }
        +      if (utils$1.isURLSearchParams(data)) {
        +        headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);
        +        return data.toString();
        +      }
        +
        +      let isFileList;
        +
        +      if (isObjectPayload) {
        +        if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {
        +          return toURLEncodedForm(data, this.formSerializer).toString();
        +        }
        +
        +        if (
        +          (isFileList = utils$1.isFileList(data)) ||
        +          contentType.indexOf('multipart/form-data') > -1
        +        ) {
        +          const _FormData = this.env && this.env.FormData;
        +
        +          return toFormData(
        +            isFileList ? { 'files[]': data } : data,
        +            _FormData && new _FormData(),
        +            this.formSerializer
        +          );
        +        }
        +      }
        +
        +      if (isObjectPayload || hasJSONContentType) {
        +        headers.setContentType('application/json', false);
        +        return stringifySafely(data);
        +      }
        +
        +      return data;
        +    },
        +  ],
        +
        +  transformResponse: [
        +    function transformResponse(data) {
        +      const transitional = this.transitional || defaults.transitional;
        +      const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
        +      const JSONRequested = this.responseType === 'json';
        +
        +      if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) {
        +        return data;
        +      }
        +
        +      if (
        +        data &&
        +        utils$1.isString(data) &&
        +        ((forcedJSONParsing && !this.responseType) || JSONRequested)
        +      ) {
        +        const silentJSONParsing = transitional && transitional.silentJSONParsing;
        +        const strictJSONParsing = !silentJSONParsing && JSONRequested;
        +
        +        try {
        +          return JSON.parse(data, this.parseReviver);
        +        } catch (e) {
        +          if (strictJSONParsing) {
        +            if (e.name === 'SyntaxError') {
        +              throw AxiosError$1.from(e, AxiosError$1.ERR_BAD_RESPONSE, this, null, this.response);
        +            }
        +            throw e;
        +          }
        +        }
        +      }
        +
        +      return data;
        +    },
        +  ],
        +
        +  /**
        +   * A timeout in milliseconds to abort a request. If set to 0 (default) a
        +   * timeout is not created.
        +   */
        +  timeout: 0,
        +
        +  xsrfCookieName: 'XSRF-TOKEN',
        +  xsrfHeaderName: 'X-XSRF-TOKEN',
        +
        +  maxContentLength: -1,
        +  maxBodyLength: -1,
        +
        +  env: {
        +    FormData: platform.classes.FormData,
        +    Blob: platform.classes.Blob,
        +  },
        +
        +  validateStatus: function validateStatus(status) {
        +    return status >= 200 && status < 300;
        +  },
        +
        +  headers: {
        +    common: {
        +      Accept: 'application/json, text/plain, */*',
        +      'Content-Type': undefined,
        +    },
        +  },
        +};
        +
        +utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {
        +  defaults.headers[method] = {};
        +});
        +
        +const defaults$1 = defaults;
        +
        +// RawAxiosHeaders whose duplicates are ignored by node
        +// c.f. https://nodejs.org/api/http.html#http_message_headers
        +const ignoreDuplicateOf = utils$1.toObjectSet([
        +  'age',
        +  'authorization',
        +  'content-length',
        +  'content-type',
        +  'etag',
        +  'expires',
        +  'from',
        +  'host',
        +  'if-modified-since',
        +  'if-unmodified-since',
        +  'last-modified',
        +  'location',
        +  'max-forwards',
        +  'proxy-authorization',
        +  'referer',
        +  'retry-after',
        +  'user-agent',
        +]);
        +
        +/**
        + * Parse headers into an object
        + *
        + * ```
        + * Date: Wed, 27 Aug 2014 08:58:49 GMT
        + * Content-Type: application/json
        + * Connection: keep-alive
        + * Transfer-Encoding: chunked
        + * ```
        + *
        + * @param {String} rawHeaders Headers needing to be parsed
        + *
        + * @returns {Object} Headers parsed into an object
        + */
        +const parseHeaders = (rawHeaders) => {
        +  const parsed = {};
        +  let key;
        +  let val;
        +  let i;
        +
        +  rawHeaders &&
        +    rawHeaders.split('\n').forEach(function parser(line) {
        +      i = line.indexOf(':');
        +      key = line.substring(0, i).trim().toLowerCase();
        +      val = line.substring(i + 1).trim();
        +
        +      if (!key || (parsed[key] && ignoreDuplicateOf[key])) {
        +        return;
        +      }
        +
        +      if (key === 'set-cookie') {
        +        if (parsed[key]) {
        +          parsed[key].push(val);
        +        } else {
        +          parsed[key] = [val];
        +        }
        +      } else {
        +        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
        +      }
        +    });
        +
        +  return parsed;
        +};
        +
        +const $internals = Symbol('internals');
        +
        +function normalizeHeader(header) {
        +  return header && String(header).trim().toLowerCase();
        +}
        +
        +function normalizeValue(value) {
        +  if (value === false || value == null) {
        +    return value;
        +  }
        +
        +  return utils$1.isArray(value) ? value.map(normalizeValue) : String(value);
        +}
        +
        +function parseTokens(str) {
        +  const tokens = Object.create(null);
        +  const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
        +  let match;
        +
        +  while ((match = tokensRE.exec(str))) {
        +    tokens[match[1]] = match[2];
        +  }
        +
        +  return tokens;
        +}
        +
        +const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
        +
        +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
        +  if (utils$1.isFunction(filter)) {
        +    return filter.call(this, value, header);
        +  }
        +
        +  if (isHeaderNameFilter) {
        +    value = header;
        +  }
        +
        +  if (!utils$1.isString(value)) return;
        +
        +  if (utils$1.isString(filter)) {
        +    return value.indexOf(filter) !== -1;
        +  }
        +
        +  if (utils$1.isRegExp(filter)) {
        +    return filter.test(value);
        +  }
        +}
        +
        +function formatHeader(header) {
        +  return header
        +    .trim()
        +    .toLowerCase()
        +    .replace(/([a-z\d])(\w*)/g, (w, char, str) => {
        +      return char.toUpperCase() + str;
        +    });
        +}
        +
        +function buildAccessors(obj, header) {
        +  const accessorName = utils$1.toCamelCase(' ' + header);
        +
        +  ['get', 'set', 'has'].forEach((methodName) => {
        +    Object.defineProperty(obj, methodName + accessorName, {
        +      value: function (arg1, arg2, arg3) {
        +        return this[methodName].call(this, header, arg1, arg2, arg3);
        +      },
        +      configurable: true,
        +    });
        +  });
        +}
        +
        +class AxiosHeaders {
        +  constructor(headers) {
        +    headers && this.set(headers);
        +  }
        +
        +  set(header, valueOrRewrite, rewrite) {
        +    const self = this;
        +
        +    function setHeader(_value, _header, _rewrite) {
        +      const lHeader = normalizeHeader(_header);
        +
        +      if (!lHeader) {
        +        throw new Error('header name must be a non-empty string');
        +      }
        +
        +      const key = utils$1.findKey(self, lHeader);
        +
        +      if (
        +        !key ||
        +        self[key] === undefined ||
        +        _rewrite === true ||
        +        (_rewrite === undefined && self[key] !== false)
        +      ) {
        +        self[key || _header] = normalizeValue(_value);
        +      }
        +    }
        +
        +    const setHeaders = (headers, _rewrite) =>
        +      utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
        +
        +    if (utils$1.isPlainObject(header) || header instanceof this.constructor) {
        +      setHeaders(header, valueOrRewrite);
        +    } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
        +      setHeaders(parseHeaders(header), valueOrRewrite);
        +    } else if (utils$1.isObject(header) && utils$1.isIterable(header)) {
        +      let obj = {},
        +        dest,
        +        key;
        +      for (const entry of header) {
        +        if (!utils$1.isArray(entry)) {
        +          throw TypeError('Object iterator must return a key-value pair');
        +        }
        +
        +        obj[(key = entry[0])] = (dest = obj[key])
        +          ? utils$1.isArray(dest)
        +            ? [...dest, entry[1]]
        +            : [dest, entry[1]]
        +          : entry[1];
        +      }
        +
        +      setHeaders(obj, valueOrRewrite);
        +    } else {
        +      header != null && setHeader(valueOrRewrite, header, rewrite);
        +    }
        +
        +    return this;
        +  }
        +
        +  get(header, parser) {
        +    header = normalizeHeader(header);
        +
        +    if (header) {
        +      const key = utils$1.findKey(this, header);
        +
        +      if (key) {
        +        const value = this[key];
        +
        +        if (!parser) {
        +          return value;
        +        }
        +
        +        if (parser === true) {
        +          return parseTokens(value);
        +        }
        +
        +        if (utils$1.isFunction(parser)) {
        +          return parser.call(this, value, key);
        +        }
        +
        +        if (utils$1.isRegExp(parser)) {
        +          return parser.exec(value);
        +        }
        +
        +        throw new TypeError('parser must be boolean|regexp|function');
        +      }
        +    }
        +  }
        +
        +  has(header, matcher) {
        +    header = normalizeHeader(header);
        +
        +    if (header) {
        +      const key = utils$1.findKey(this, header);
        +
        +      return !!(
        +        key &&
        +        this[key] !== undefined &&
        +        (!matcher || matchHeaderValue(this, this[key], key, matcher))
        +      );
        +    }
        +
        +    return false;
        +  }
        +
        +  delete(header, matcher) {
        +    const self = this;
        +    let deleted = false;
        +
        +    function deleteHeader(_header) {
        +      _header = normalizeHeader(_header);
        +
        +      if (_header) {
        +        const key = utils$1.findKey(self, _header);
        +
        +        if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {
        +          delete self[key];
        +
        +          deleted = true;
        +        }
        +      }
        +    }
        +
        +    if (utils$1.isArray(header)) {
        +      header.forEach(deleteHeader);
        +    } else {
        +      deleteHeader(header);
        +    }
        +
        +    return deleted;
        +  }
        +
        +  clear(matcher) {
        +    const keys = Object.keys(this);
        +    let i = keys.length;
        +    let deleted = false;
        +
        +    while (i--) {
        +      const key = keys[i];
        +      if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
        +        delete this[key];
        +        deleted = true;
        +      }
        +    }
        +
        +    return deleted;
        +  }
        +
        +  normalize(format) {
        +    const self = this;
        +    const headers = {};
        +
        +    utils$1.forEach(this, (value, header) => {
        +      const key = utils$1.findKey(headers, header);
        +
        +      if (key) {
        +        self[key] = normalizeValue(value);
        +        delete self[header];
        +        return;
        +      }
        +
        +      const normalized = format ? formatHeader(header) : String(header).trim();
        +
        +      if (normalized !== header) {
        +        delete self[header];
        +      }
        +
        +      self[normalized] = normalizeValue(value);
        +
        +      headers[normalized] = true;
        +    });
        +
        +    return this;
        +  }
        +
        +  concat(...targets) {
        +    return this.constructor.concat(this, ...targets);
        +  }
        +
        +  toJSON(asStrings) {
        +    const obj = Object.create(null);
        +
        +    utils$1.forEach(this, (value, header) => {
        +      value != null &&
        +        value !== false &&
        +        (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value);
        +    });
        +
        +    return obj;
        +  }
        +
        +  [Symbol.iterator]() {
        +    return Object.entries(this.toJSON())[Symbol.iterator]();
        +  }
        +
        +  toString() {
        +    return Object.entries(this.toJSON())
        +      .map(([header, value]) => header + ': ' + value)
        +      .join('\n');
        +  }
        +
        +  getSetCookie() {
        +    return this.get('set-cookie') || [];
        +  }
        +
        +  get [Symbol.toStringTag]() {
        +    return 'AxiosHeaders';
        +  }
        +
        +  static from(thing) {
        +    return thing instanceof this ? thing : new this(thing);
        +  }
        +
        +  static concat(first, ...targets) {
        +    const computed = new this(first);
        +
        +    targets.forEach((target) => computed.set(target));
        +
        +    return computed;
        +  }
        +
        +  static accessor(header) {
        +    const internals =
        +      (this[$internals] =
        +      this[$internals] =
        +        {
        +          accessors: {},
        +        });
        +
        +    const accessors = internals.accessors;
        +    const prototype = this.prototype;
        +
        +    function defineAccessor(_header) {
        +      const lHeader = normalizeHeader(_header);
        +
        +      if (!accessors[lHeader]) {
        +        buildAccessors(prototype, _header);
        +        accessors[lHeader] = true;
        +      }
        +    }
        +
        +    utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
        +
        +    return this;
        +  }
        +}
        +
        +AxiosHeaders.accessor([
        +  'Content-Type',
        +  'Content-Length',
        +  'Accept',
        +  'Accept-Encoding',
        +  'User-Agent',
        +  'Authorization',
        +]);
        +
        +// reserved names hotfix
        +utils$1.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {
        +  let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`
        +  return {
        +    get: () => value,
        +    set(headerValue) {
        +      this[mapped] = headerValue;
        +    },
        +  };
        +});
        +
        +utils$1.freezeMethods(AxiosHeaders);
        +
        +const AxiosHeaders$1 = AxiosHeaders;
        +
        +/**
        + * Transform the data for a request or a response
        + *
        + * @param {Array|Function} fns A single function or Array of functions
        + * @param {?Object} response The response object
        + *
        + * @returns {*} The resulting transformed data
        + */
        +function transformData(fns, response) {
        +  const config = this || defaults$1;
        +  const context = response || config;
        +  const headers = AxiosHeaders$1.from(context.headers);
        +  let data = context.data;
        +
        +  utils$1.forEach(fns, function transform(fn) {
        +    data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
        +  });
        +
        +  headers.normalize();
        +
        +  return data;
        +}
        +
        +function isCancel(value) {
        +  return !!(value && value.__CANCEL__);
        +}
        +
        +class CanceledError extends AxiosError$1 {
        +  /**
        +   * A `CanceledError` is an object that is thrown when an operation is canceled.
        +   *
        +   * @param {string=} message The message.
        +   * @param {Object=} config The config.
        +   * @param {Object=} request The request.
        +   *
        +   * @returns {CanceledError} The created error.
        +   */
        +  constructor(message, config, request) {
        +    super(message == null ? 'canceled' : message, AxiosError$1.ERR_CANCELED, config, request);
        +    this.name = 'CanceledError';
        +    this.__CANCEL__ = true;
        +  }
        +}
        +
        +const CanceledError$1 = CanceledError;
        +
        +/**
        + * Resolve or reject a Promise based on response status.
        + *
        + * @param {Function} resolve A function that resolves the promise.
        + * @param {Function} reject A function that rejects the promise.
        + * @param {object} response The response.
        + *
        + * @returns {object} The response.
        + */
        +function settle(resolve, reject, response) {
        +  const validateStatus = response.config.validateStatus;
        +  if (!response.status || !validateStatus || validateStatus(response.status)) {
        +    resolve(response);
        +  } else {
        +    reject(
        +      new AxiosError$1(
        +        'Request failed with status code ' + response.status,
        +        [AxiosError$1.ERR_BAD_REQUEST, AxiosError$1.ERR_BAD_RESPONSE][
        +          Math.floor(response.status / 100) - 4
        +        ],
        +        response.config,
        +        response.request,
        +        response
        +      )
        +    );
        +  }
        +}
        +
        +/**
        + * Determines whether the specified URL is absolute
        + *
        + * @param {string} url The URL to test
        + *
        + * @returns {boolean} True if the specified URL is absolute, otherwise false
        + */
        +function isAbsoluteURL(url) {
        +  // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL).
        +  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
        +  // by any combination of letters, digits, plus, period, or hyphen.
        +  if (typeof url !== 'string') {
        +    return false;
        +  }
        +
        +  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
        +}
        +
        +/**
        + * Creates a new URL by combining the specified URLs
        + *
        + * @param {string} baseURL The base URL
        + * @param {string} relativeURL The relative URL
        + *
        + * @returns {string} The combined URL
        + */
        +function combineURLs(baseURL, relativeURL) {
        +  return relativeURL
        +    ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '')
        +    : baseURL;
        +}
        +
        +/**
        + * Creates a new URL by combining the baseURL with the requestedURL,
        + * only when the requestedURL is not already an absolute URL.
        + * If the requestURL is absolute, this function returns the requestedURL untouched.
        + *
        + * @param {string} baseURL The base URL
        + * @param {string} requestedURL Absolute or relative URL to combine
        + *
        + * @returns {string} The combined full path
        + */
        +function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
        +  let isRelativeUrl = !isAbsoluteURL(requestedURL);
        +  if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
        +    return combineURLs(baseURL, requestedURL);
        +  }
        +  return requestedURL;
        +}
        +
        +const VERSION = "1.13.6";
        +
        +function parseProtocol(url) {
        +  const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
        +  return (match && match[1]) || '';
        +}
        +
        +const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;
        +
        +/**
        + * Parse data uri to a Buffer or Blob
        + *
        + * @param {String} uri
        + * @param {?Boolean} asBlob
        + * @param {?Object} options
        + * @param {?Function} options.Blob
        + *
        + * @returns {Buffer|Blob}
        + */
        +function fromDataURI(uri, asBlob, options) {
        +  const _Blob = (options && options.Blob) || platform.classes.Blob;
        +  const protocol = parseProtocol(uri);
        +
        +  if (asBlob === undefined && _Blob) {
        +    asBlob = true;
        +  }
        +
        +  if (protocol === 'data') {
        +    uri = protocol.length ? uri.slice(protocol.length + 1) : uri;
        +
        +    const match = DATA_URL_PATTERN.exec(uri);
        +
        +    if (!match) {
        +      throw new AxiosError$1('Invalid URL', AxiosError$1.ERR_INVALID_URL);
        +    }
        +
        +    const mime = match[1];
        +    const isBase64 = match[2];
        +    const body = match[3];
        +    const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');
        +
        +    if (asBlob) {
        +      if (!_Blob) {
        +        throw new AxiosError$1('Blob is not supported', AxiosError$1.ERR_NOT_SUPPORT);
        +      }
        +
        +      return new _Blob([buffer], { type: mime });
        +    }
        +
        +    return buffer;
        +  }
        +
        +  throw new AxiosError$1('Unsupported protocol ' + protocol, AxiosError$1.ERR_NOT_SUPPORT);
        +}
        +
        +const kInternals = Symbol('internals');
        +
        +class AxiosTransformStream extends stream__default["default"].Transform {
        +  constructor(options) {
        +    options = utils$1.toFlatObject(
        +      options,
        +      {
        +        maxRate: 0,
        +        chunkSize: 64 * 1024,
        +        minChunkSize: 100,
        +        timeWindow: 500,
        +        ticksRate: 2,
        +        samplesCount: 15,
        +      },
        +      null,
        +      (prop, source) => {
        +        return !utils$1.isUndefined(source[prop]);
        +      }
        +    );
        +
        +    super({
        +      readableHighWaterMark: options.chunkSize,
        +    });
        +
        +    const internals = (this[kInternals] = {
        +      timeWindow: options.timeWindow,
        +      chunkSize: options.chunkSize,
        +      maxRate: options.maxRate,
        +      minChunkSize: options.minChunkSize,
        +      bytesSeen: 0,
        +      isCaptured: false,
        +      notifiedBytesLoaded: 0,
        +      ts: Date.now(),
        +      bytes: 0,
        +      onReadCallback: null,
        +    });
        +
        +    this.on('newListener', (event) => {
        +      if (event === 'progress') {
        +        if (!internals.isCaptured) {
        +          internals.isCaptured = true;
        +        }
        +      }
        +    });
        +  }
        +
        +  _read(size) {
        +    const internals = this[kInternals];
        +
        +    if (internals.onReadCallback) {
        +      internals.onReadCallback();
        +    }
        +
        +    return super._read(size);
        +  }
        +
        +  _transform(chunk, encoding, callback) {
        +    const internals = this[kInternals];
        +    const maxRate = internals.maxRate;
        +
        +    const readableHighWaterMark = this.readableHighWaterMark;
        +
        +    const timeWindow = internals.timeWindow;
        +
        +    const divider = 1000 / timeWindow;
        +    const bytesThreshold = maxRate / divider;
        +    const minChunkSize =
        +      internals.minChunkSize !== false
        +        ? Math.max(internals.minChunkSize, bytesThreshold * 0.01)
        +        : 0;
        +
        +    const pushChunk = (_chunk, _callback) => {
        +      const bytes = Buffer.byteLength(_chunk);
        +      internals.bytesSeen += bytes;
        +      internals.bytes += bytes;
        +
        +      internals.isCaptured && this.emit('progress', internals.bytesSeen);
        +
        +      if (this.push(_chunk)) {
        +        process.nextTick(_callback);
        +      } else {
        +        internals.onReadCallback = () => {
        +          internals.onReadCallback = null;
        +          process.nextTick(_callback);
        +        };
        +      }
        +    };
        +
        +    const transformChunk = (_chunk, _callback) => {
        +      const chunkSize = Buffer.byteLength(_chunk);
        +      let chunkRemainder = null;
        +      let maxChunkSize = readableHighWaterMark;
        +      let bytesLeft;
        +      let passed = 0;
        +
        +      if (maxRate) {
        +        const now = Date.now();
        +
        +        if (!internals.ts || (passed = now - internals.ts) >= timeWindow) {
        +          internals.ts = now;
        +          bytesLeft = bytesThreshold - internals.bytes;
        +          internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;
        +          passed = 0;
        +        }
        +
        +        bytesLeft = bytesThreshold - internals.bytes;
        +      }
        +
        +      if (maxRate) {
        +        if (bytesLeft <= 0) {
        +          // next time window
        +          return setTimeout(() => {
        +            _callback(null, _chunk);
        +          }, timeWindow - passed);
        +        }
        +
        +        if (bytesLeft < maxChunkSize) {
        +          maxChunkSize = bytesLeft;
        +        }
        +      }
        +
        +      if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) {
        +        chunkRemainder = _chunk.subarray(maxChunkSize);
        +        _chunk = _chunk.subarray(0, maxChunkSize);
        +      }
        +
        +      pushChunk(
        +        _chunk,
        +        chunkRemainder
        +          ? () => {
        +              process.nextTick(_callback, null, chunkRemainder);
        +            }
        +          : _callback
        +      );
        +    };
        +
        +    transformChunk(chunk, function transformNextChunk(err, _chunk) {
        +      if (err) {
        +        return callback(err);
        +      }
        +
        +      if (_chunk) {
        +        transformChunk(_chunk, transformNextChunk);
        +      } else {
        +        callback(null);
        +      }
        +    });
        +  }
        +}
        +
        +const AxiosTransformStream$1 = AxiosTransformStream;
        +
        +const { asyncIterator } = Symbol;
        +
        +const readBlob = async function* (blob) {
        +  if (blob.stream) {
        +    yield* blob.stream();
        +  } else if (blob.arrayBuffer) {
        +    yield await blob.arrayBuffer();
        +  } else if (blob[asyncIterator]) {
        +    yield* blob[asyncIterator]();
        +  } else {
        +    yield blob;
        +  }
        +};
        +
        +const readBlob$1 = readBlob;
        +
        +const BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_';
        +
        +const textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util__default["default"].TextEncoder();
        +
        +const CRLF = '\r\n';
        +const CRLF_BYTES = textEncoder.encode(CRLF);
        +const CRLF_BYTES_COUNT = 2;
        +
        +class FormDataPart {
        +  constructor(name, value) {
        +    const { escapeName } = this.constructor;
        +    const isStringValue = utils$1.isString(value);
        +
        +    let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${
        +      !isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ''
        +    }${CRLF}`;
        +
        +    if (isStringValue) {
        +      value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF));
        +    } else {
        +      headers += `Content-Type: ${value.type || 'application/octet-stream'}${CRLF}`;
        +    }
        +
        +    this.headers = textEncoder.encode(headers + CRLF);
        +
        +    this.contentLength = isStringValue ? value.byteLength : value.size;
        +
        +    this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;
        +
        +    this.name = name;
        +    this.value = value;
        +  }
        +
        +  async *encode() {
        +    yield this.headers;
        +
        +    const { value } = this;
        +
        +    if (utils$1.isTypedArray(value)) {
        +      yield value;
        +    } else {
        +      yield* readBlob$1(value);
        +    }
        +
        +    yield CRLF_BYTES;
        +  }
        +
        +  static escapeName(name) {
        +    return String(name).replace(
        +      /[\r\n"]/g,
        +      (match) =>
        +        ({
        +          '\r': '%0D',
        +          '\n': '%0A',
        +          '"': '%22',
        +        })[match]
        +    );
        +  }
        +}
        +
        +const formDataToStream = (form, headersHandler, options) => {
        +  const {
        +    tag = 'form-data-boundary',
        +    size = 25,
        +    boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET),
        +  } = options || {};
        +
        +  if (!utils$1.isFormData(form)) {
        +    throw TypeError('FormData instance required');
        +  }
        +
        +  if (boundary.length < 1 || boundary.length > 70) {
        +    throw Error('boundary must be 10-70 characters long');
        +  }
        +
        +  const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);
        +  const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF);
        +  let contentLength = footerBytes.byteLength;
        +
        +  const parts = Array.from(form.entries()).map(([name, value]) => {
        +    const part = new FormDataPart(name, value);
        +    contentLength += part.size;
        +    return part;
        +  });
        +
        +  contentLength += boundaryBytes.byteLength * parts.length;
        +
        +  contentLength = utils$1.toFiniteNumber(contentLength);
        +
        +  const computedHeaders = {
        +    'Content-Type': `multipart/form-data; boundary=${boundary}`,
        +  };
        +
        +  if (Number.isFinite(contentLength)) {
        +    computedHeaders['Content-Length'] = contentLength;
        +  }
        +
        +  headersHandler && headersHandler(computedHeaders);
        +
        +  return stream.Readable.from(
        +    (async function* () {
        +      for (const part of parts) {
        +        yield boundaryBytes;
        +        yield* part.encode();
        +      }
        +
        +      yield footerBytes;
        +    })()
        +  );
        +};
        +
        +const formDataToStream$1 = formDataToStream;
        +
        +class ZlibHeaderTransformStream extends stream__default["default"].Transform {
        +  __transform(chunk, encoding, callback) {
        +    this.push(chunk);
        +    callback();
        +  }
        +
        +  _transform(chunk, encoding, callback) {
        +    if (chunk.length !== 0) {
        +      this._transform = this.__transform;
        +
        +      // Add Default Compression headers if no zlib headers are present
        +      if (chunk[0] !== 120) {
        +        // Hex: 78
        +        const header = Buffer.alloc(2);
        +        header[0] = 120; // Hex: 78
        +        header[1] = 156; // Hex: 9C
        +        this.push(header, encoding);
        +      }
        +    }
        +
        +    this.__transform(chunk, encoding, callback);
        +  }
        +}
        +
        +const ZlibHeaderTransformStream$1 = ZlibHeaderTransformStream;
        +
        +const callbackify = (fn, reducer) => {
        +  return utils$1.isAsyncFn(fn)
        +    ? function (...args) {
        +        const cb = args.pop();
        +        fn.apply(this, args).then((value) => {
        +          try {
        +            reducer ? cb(null, ...reducer(value)) : cb(null, value);
        +          } catch (err) {
        +            cb(err);
        +          }
        +        }, cb);
        +      }
        +    : fn;
        +};
        +
        +const callbackify$1 = callbackify;
        +
        +/**
        + * Calculate data maxRate
        + * @param {Number} [samplesCount= 10]
        + * @param {Number} [min= 1000]
        + * @returns {Function}
        + */
        +function speedometer(samplesCount, min) {
        +  samplesCount = samplesCount || 10;
        +  const bytes = new Array(samplesCount);
        +  const timestamps = new Array(samplesCount);
        +  let head = 0;
        +  let tail = 0;
        +  let firstSampleTS;
        +
        +  min = min !== undefined ? min : 1000;
        +
        +  return function push(chunkLength) {
        +    const now = Date.now();
        +
        +    const startedAt = timestamps[tail];
        +
        +    if (!firstSampleTS) {
        +      firstSampleTS = now;
        +    }
        +
        +    bytes[head] = chunkLength;
        +    timestamps[head] = now;
        +
        +    let i = tail;
        +    let bytesCount = 0;
        +
        +    while (i !== head) {
        +      bytesCount += bytes[i++];
        +      i = i % samplesCount;
        +    }
        +
        +    head = (head + 1) % samplesCount;
        +
        +    if (head === tail) {
        +      tail = (tail + 1) % samplesCount;
        +    }
        +
        +    if (now - firstSampleTS < min) {
        +      return;
        +    }
        +
        +    const passed = startedAt && now - startedAt;
        +
        +    return passed ? Math.round((bytesCount * 1000) / passed) : undefined;
        +  };
        +}
        +
        +/**
        + * Throttle decorator
        + * @param {Function} fn
        + * @param {Number} freq
        + * @return {Function}
        + */
        +function throttle(fn, freq) {
        +  let timestamp = 0;
        +  let threshold = 1000 / freq;
        +  let lastArgs;
        +  let timer;
        +
        +  const invoke = (args, now = Date.now()) => {
        +    timestamp = now;
        +    lastArgs = null;
        +    if (timer) {
        +      clearTimeout(timer);
        +      timer = null;
        +    }
        +    fn(...args);
        +  };
        +
        +  const throttled = (...args) => {
        +    const now = Date.now();
        +    const passed = now - timestamp;
        +    if (passed >= threshold) {
        +      invoke(args, now);
        +    } else {
        +      lastArgs = args;
        +      if (!timer) {
        +        timer = setTimeout(() => {
        +          timer = null;
        +          invoke(lastArgs);
        +        }, threshold - passed);
        +      }
        +    }
        +  };
        +
        +  const flush = () => lastArgs && invoke(lastArgs);
        +
        +  return [throttled, flush];
        +}
        +
        +const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
        +  let bytesNotified = 0;
        +  const _speedometer = speedometer(50, 250);
        +
        +  return throttle((e) => {
        +    const loaded = e.loaded;
        +    const total = e.lengthComputable ? e.total : undefined;
        +    const progressBytes = loaded - bytesNotified;
        +    const rate = _speedometer(progressBytes);
        +    const inRange = loaded <= total;
        +
        +    bytesNotified = loaded;
        +
        +    const data = {
        +      loaded,
        +      total,
        +      progress: total ? loaded / total : undefined,
        +      bytes: progressBytes,
        +      rate: rate ? rate : undefined,
        +      estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
        +      event: e,
        +      lengthComputable: total != null,
        +      [isDownloadStream ? 'download' : 'upload']: true,
        +    };
        +
        +    listener(data);
        +  }, freq);
        +};
        +
        +const progressEventDecorator = (total, throttled) => {
        +  const lengthComputable = total != null;
        +
        +  return [
        +    (loaded) =>
        +      throttled[0]({
        +        lengthComputable,
        +        total,
        +        loaded,
        +      }),
        +    throttled[1],
        +  ];
        +};
        +
        +const asyncDecorator =
        +  (fn) =>
        +  (...args) =>
        +    utils$1.asap(() => fn(...args));
        +
        +/**
        + * Estimate decoded byte length of a data:// URL *without* allocating large buffers.
        + * - For base64: compute exact decoded size using length and padding;
        + *               handle %XX at the character-count level (no string allocation).
        + * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.
        + *
        + * @param {string} url
        + * @returns {number}
        + */
        +function estimateDataURLDecodedBytes(url) {
        +  if (!url || typeof url !== 'string') return 0;
        +  if (!url.startsWith('data:')) return 0;
        +
        +  const comma = url.indexOf(',');
        +  if (comma < 0) return 0;
        +
        +  const meta = url.slice(5, comma);
        +  const body = url.slice(comma + 1);
        +  const isBase64 = /;base64/i.test(meta);
        +
        +  if (isBase64) {
        +    let effectiveLen = body.length;
        +    const len = body.length; // cache length
        +
        +    for (let i = 0; i < len; i++) {
        +      if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {
        +        const a = body.charCodeAt(i + 1);
        +        const b = body.charCodeAt(i + 2);
        +        const isHex =
        +          ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) &&
        +          ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102));
        +
        +        if (isHex) {
        +          effectiveLen -= 2;
        +          i += 2;
        +        }
        +      }
        +    }
        +
        +    let pad = 0;
        +    let idx = len - 1;
        +
        +    const tailIsPct3D = (j) =>
        +      j >= 2 &&
        +      body.charCodeAt(j - 2) === 37 && // '%'
        +      body.charCodeAt(j - 1) === 51 && // '3'
        +      (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'
        +
        +    if (idx >= 0) {
        +      if (body.charCodeAt(idx) === 61 /* '=' */) {
        +        pad++;
        +        idx--;
        +      } else if (tailIsPct3D(idx)) {
        +        pad++;
        +        idx -= 3;
        +      }
        +    }
        +
        +    if (pad === 1 && idx >= 0) {
        +      if (body.charCodeAt(idx) === 61 /* '=' */) {
        +        pad++;
        +      } else if (tailIsPct3D(idx)) {
        +        pad++;
        +      }
        +    }
        +
        +    const groups = Math.floor(effectiveLen / 4);
        +    const bytes = groups * 3 - (pad || 0);
        +    return bytes > 0 ? bytes : 0;
        +  }
        +
        +  return Buffer.byteLength(body, 'utf8');
        +}
        +
        +const zlibOptions = {
        +  flush: zlib__default["default"].constants.Z_SYNC_FLUSH,
        +  finishFlush: zlib__default["default"].constants.Z_SYNC_FLUSH,
        +};
        +
        +const brotliOptions = {
        +  flush: zlib__default["default"].constants.BROTLI_OPERATION_FLUSH,
        +  finishFlush: zlib__default["default"].constants.BROTLI_OPERATION_FLUSH,
        +};
        +
        +const isBrotliSupported = utils$1.isFunction(zlib__default["default"].createBrotliDecompress);
        +
        +const { http: httpFollow, https: httpsFollow } = followRedirects__default["default"];
        +
        +const isHttps = /https:?/;
        +
        +const supportedProtocols = platform.protocols.map((protocol) => {
        +  return protocol + ':';
        +});
        +
        +const flushOnFinish = (stream, [throttled, flush]) => {
        +  stream.on('end', flush).on('error', flush);
        +
        +  return throttled;
        +};
        +
        +class Http2Sessions {
        +  constructor() {
        +    this.sessions = Object.create(null);
        +  }
        +
        +  getSession(authority, options) {
        +    options = Object.assign(
        +      {
        +        sessionTimeout: 1000,
        +      },
        +      options
        +    );
        +
        +    let authoritySessions = this.sessions[authority];
        +
        +    if (authoritySessions) {
        +      let len = authoritySessions.length;
        +
        +      for (let i = 0; i < len; i++) {
        +        const [sessionHandle, sessionOptions] = authoritySessions[i];
        +        if (
        +          !sessionHandle.destroyed &&
        +          !sessionHandle.closed &&
        +          util__default["default"].isDeepStrictEqual(sessionOptions, options)
        +        ) {
        +          return sessionHandle;
        +        }
        +      }
        +    }
        +
        +    const session = http2__default["default"].connect(authority, options);
        +
        +    let removed;
        +
        +    const removeSession = () => {
        +      if (removed) {
        +        return;
        +      }
        +
        +      removed = true;
        +
        +      let entries = authoritySessions,
        +        len = entries.length,
        +        i = len;
        +
        +      while (i--) {
        +        if (entries[i][0] === session) {
        +          if (len === 1) {
        +            delete this.sessions[authority];
        +          } else {
        +            entries.splice(i, 1);
        +          }
        +          return;
        +        }
        +      }
        +    };
        +
        +    const originalRequestFn = session.request;
        +
        +    const { sessionTimeout } = options;
        +
        +    if (sessionTimeout != null) {
        +      let timer;
        +      let streamsCount = 0;
        +
        +      session.request = function () {
        +        const stream = originalRequestFn.apply(this, arguments);
        +
        +        streamsCount++;
        +
        +        if (timer) {
        +          clearTimeout(timer);
        +          timer = null;
        +        }
        +
        +        stream.once('close', () => {
        +          if (!--streamsCount) {
        +            timer = setTimeout(() => {
        +              timer = null;
        +              removeSession();
        +            }, sessionTimeout);
        +          }
        +        });
        +
        +        return stream;
        +      };
        +    }
        +
        +    session.once('close', removeSession);
        +
        +    let entry = [session, options];
        +
        +    authoritySessions
        +      ? authoritySessions.push(entry)
        +      : (authoritySessions = this.sessions[authority] = [entry]);
        +
        +    return session;
        +  }
        +}
        +
        +const http2Sessions = new Http2Sessions();
        +
        +/**
        + * If the proxy or config beforeRedirects functions are defined, call them with the options
        + * object.
        + *
        + * @param {Object} options - The options object that was passed to the request.
        + *
        + * @returns {Object}
        + */
        +function dispatchBeforeRedirect(options, responseDetails) {
        +  if (options.beforeRedirects.proxy) {
        +    options.beforeRedirects.proxy(options);
        +  }
        +  if (options.beforeRedirects.config) {
        +    options.beforeRedirects.config(options, responseDetails);
        +  }
        +}
        +
        +/**
        + * If the proxy or config afterRedirects functions are defined, call them with the options
        + *
        + * @param {http.ClientRequestArgs} options
        + * @param {AxiosProxyConfig} configProxy configuration from Axios options object
        + * @param {string} location
        + *
        + * @returns {http.ClientRequestArgs}
        + */
        +function setProxy(options, configProxy, location) {
        +  let proxy = configProxy;
        +  if (!proxy && proxy !== false) {
        +    const proxyUrl = proxyFromEnv__default["default"].getProxyForUrl(location);
        +    if (proxyUrl) {
        +      proxy = new URL(proxyUrl);
        +    }
        +  }
        +  if (proxy) {
        +    // Basic proxy authorization
        +    if (proxy.username) {
        +      proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');
        +    }
        +
        +    if (proxy.auth) {
        +      // Support proxy auth object form
        +      const validProxyAuth = Boolean(proxy.auth.username || proxy.auth.password);
        +
        +      if (validProxyAuth) {
        +        proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');
        +      } else if (typeof proxy.auth === 'object') {
        +        throw new AxiosError$1('Invalid proxy authorization', AxiosError$1.ERR_BAD_OPTION, { proxy });
        +      }
        +
        +      const base64 = Buffer.from(proxy.auth, 'utf8').toString('base64');
        +
        +      options.headers['Proxy-Authorization'] = 'Basic ' + base64;
        +    }
        +
        +    options.headers.host = options.hostname + (options.port ? ':' + options.port : '');
        +    const proxyHost = proxy.hostname || proxy.host;
        +    options.hostname = proxyHost;
        +    // Replace 'host' since options is not a URL object
        +    options.host = proxyHost;
        +    options.port = proxy.port;
        +    options.path = location;
        +    if (proxy.protocol) {
        +      options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;
        +    }
        +  }
        +
        +  options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {
        +    // Configure proxy for redirected request, passing the original config proxy to apply
        +    // the exact same logic as if the redirected request was performed by axios directly.
        +    setProxy(redirectOptions, configProxy, redirectOptions.href);
        +  };
        +}
        +
        +const isHttpAdapterSupported =
        +  typeof process !== 'undefined' && utils$1.kindOf(process) === 'process';
        +
        +// temporary hotfix
        +
        +const wrapAsync = (asyncExecutor) => {
        +  return new Promise((resolve, reject) => {
        +    let onDone;
        +    let isDone;
        +
        +    const done = (value, isRejected) => {
        +      if (isDone) return;
        +      isDone = true;
        +      onDone && onDone(value, isRejected);
        +    };
        +
        +    const _resolve = (value) => {
        +      done(value);
        +      resolve(value);
        +    };
        +
        +    const _reject = (reason) => {
        +      done(reason, true);
        +      reject(reason);
        +    };
        +
        +    asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);
        +  });
        +};
        +
        +const resolveFamily = ({ address, family }) => {
        +  if (!utils$1.isString(address)) {
        +    throw TypeError('address must be a string');
        +  }
        +  return {
        +    address,
        +    family: family || (address.indexOf('.') < 0 ? 6 : 4),
        +  };
        +};
        +
        +const buildAddressEntry = (address, family) =>
        +  resolveFamily(utils$1.isObject(address) ? address : { address, family });
        +
        +const http2Transport = {
        +  request(options, cb) {
        +    const authority =
        +      options.protocol +
        +      '//' +
        +      options.hostname +
        +      ':' +
        +      (options.port || (options.protocol === 'https:' ? 443 : 80));
        +
        +    const { http2Options, headers } = options;
        +
        +    const session = http2Sessions.getSession(authority, http2Options);
        +
        +    const { HTTP2_HEADER_SCHEME, HTTP2_HEADER_METHOD, HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS } =
        +      http2__default["default"].constants;
        +
        +    const http2Headers = {
        +      [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''),
        +      [HTTP2_HEADER_METHOD]: options.method,
        +      [HTTP2_HEADER_PATH]: options.path,
        +    };
        +
        +    utils$1.forEach(headers, (header, name) => {
        +      name.charAt(0) !== ':' && (http2Headers[name] = header);
        +    });
        +
        +    const req = session.request(http2Headers);
        +
        +    req.once('response', (responseHeaders) => {
        +      const response = req; //duplex
        +
        +      responseHeaders = Object.assign({}, responseHeaders);
        +
        +      const status = responseHeaders[HTTP2_HEADER_STATUS];
        +
        +      delete responseHeaders[HTTP2_HEADER_STATUS];
        +
        +      response.headers = responseHeaders;
        +
        +      response.statusCode = +status;
        +
        +      cb(response);
        +    });
        +
        +    return req;
        +  },
        +};
        +
        +/*eslint consistent-return:0*/
        +const httpAdapter = isHttpAdapterSupported &&
        +  function httpAdapter(config) {
        +    return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {
        +      let { data, lookup, family, httpVersion = 1, http2Options } = config;
        +      const { responseType, responseEncoding } = config;
        +      const method = config.method.toUpperCase();
        +      let isDone;
        +      let rejected = false;
        +      let req;
        +
        +      httpVersion = +httpVersion;
        +
        +      if (Number.isNaN(httpVersion)) {
        +        throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);
        +      }
        +
        +      if (httpVersion !== 1 && httpVersion !== 2) {
        +        throw TypeError(`Unsupported protocol version '${httpVersion}'`);
        +      }
        +
        +      const isHttp2 = httpVersion === 2;
        +
        +      if (lookup) {
        +        const _lookup = callbackify$1(lookup, (value) => (utils$1.isArray(value) ? value : [value]));
        +        // hotfix to support opt.all option which is required for node 20.x
        +        lookup = (hostname, opt, cb) => {
        +          _lookup(hostname, opt, (err, arg0, arg1) => {
        +            if (err) {
        +              return cb(err);
        +            }
        +
        +            const addresses = utils$1.isArray(arg0)
        +              ? arg0.map((addr) => buildAddressEntry(addr))
        +              : [buildAddressEntry(arg0, arg1)];
        +
        +            opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);
        +          });
        +        };
        +      }
        +
        +      const abortEmitter = new events.EventEmitter();
        +
        +      function abort(reason) {
        +        try {
        +          abortEmitter.emit(
        +            'abort',
        +            !reason || reason.type ? new CanceledError$1(null, config, req) : reason
        +          );
        +        } catch (err) {
        +          console.warn('emit error', err);
        +        }
        +      }
        +
        +      abortEmitter.once('abort', reject);
        +
        +      const onFinished = () => {
        +        if (config.cancelToken) {
        +          config.cancelToken.unsubscribe(abort);
        +        }
        +
        +        if (config.signal) {
        +          config.signal.removeEventListener('abort', abort);
        +        }
        +
        +        abortEmitter.removeAllListeners();
        +      };
        +
        +      if (config.cancelToken || config.signal) {
        +        config.cancelToken && config.cancelToken.subscribe(abort);
        +        if (config.signal) {
        +          config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);
        +        }
        +      }
        +
        +      onDone((response, isRejected) => {
        +        isDone = true;
        +
        +        if (isRejected) {
        +          rejected = true;
        +          onFinished();
        +          return;
        +        }
        +
        +        const { data } = response;
        +
        +        if (data instanceof stream__default["default"].Readable || data instanceof stream__default["default"].Duplex) {
        +          const offListeners = stream__default["default"].finished(data, () => {
        +            offListeners();
        +            onFinished();
        +          });
        +        } else {
        +          onFinished();
        +        }
        +      });
        +
        +      // Parse url
        +      const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
        +      const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);
        +      const protocol = parsed.protocol || supportedProtocols[0];
        +
        +      if (protocol === 'data:') {
        +        // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set.
        +        if (config.maxContentLength > -1) {
        +          // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed.
        +          const dataUrl = String(config.url || fullPath || '');
        +          const estimated = estimateDataURLDecodedBytes(dataUrl);
        +
        +          if (estimated > config.maxContentLength) {
        +            return reject(
        +              new AxiosError$1(
        +                'maxContentLength size of ' + config.maxContentLength + ' exceeded',
        +                AxiosError$1.ERR_BAD_RESPONSE,
        +                config
        +              )
        +            );
        +          }
        +        }
        +
        +        let convertedData;
        +
        +        if (method !== 'GET') {
        +          return settle(resolve, reject, {
        +            status: 405,
        +            statusText: 'method not allowed',
        +            headers: {},
        +            config,
        +          });
        +        }
        +
        +        try {
        +          convertedData = fromDataURI(config.url, responseType === 'blob', {
        +            Blob: config.env && config.env.Blob,
        +          });
        +        } catch (err) {
        +          throw AxiosError$1.from(err, AxiosError$1.ERR_BAD_REQUEST, config);
        +        }
        +
        +        if (responseType === 'text') {
        +          convertedData = convertedData.toString(responseEncoding);
        +
        +          if (!responseEncoding || responseEncoding === 'utf8') {
        +            convertedData = utils$1.stripBOM(convertedData);
        +          }
        +        } else if (responseType === 'stream') {
        +          convertedData = stream__default["default"].Readable.from(convertedData);
        +        }
        +
        +        return settle(resolve, reject, {
        +          data: convertedData,
        +          status: 200,
        +          statusText: 'OK',
        +          headers: new AxiosHeaders$1(),
        +          config,
        +        });
        +      }
        +
        +      if (supportedProtocols.indexOf(protocol) === -1) {
        +        return reject(
        +          new AxiosError$1('Unsupported protocol ' + protocol, AxiosError$1.ERR_BAD_REQUEST, config)
        +        );
        +      }
        +
        +      const headers = AxiosHeaders$1.from(config.headers).normalize();
        +
        +      // Set User-Agent (required by some servers)
        +      // See https://github.com/axios/axios/issues/69
        +      // User-Agent is specified; handle case where no UA header is desired
        +      // Only set header if it hasn't been set in config
        +      headers.set('User-Agent', 'axios/' + VERSION, false);
        +
        +      const { onUploadProgress, onDownloadProgress } = config;
        +      const maxRate = config.maxRate;
        +      let maxUploadRate = undefined;
        +      let maxDownloadRate = undefined;
        +
        +      // support for spec compliant FormData objects
        +      if (utils$1.isSpecCompliantForm(data)) {
        +        const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i);
        +
        +        data = formDataToStream$1(
        +          data,
        +          (formHeaders) => {
        +            headers.set(formHeaders);
        +          },
        +          {
        +            tag: `axios-${VERSION}-boundary`,
        +            boundary: (userBoundary && userBoundary[1]) || undefined,
        +          }
        +        );
        +        // support for https://www.npmjs.com/package/form-data api
        +      } else if (utils$1.isFormData(data) && utils$1.isFunction(data.getHeaders)) {
        +        headers.set(data.getHeaders());
        +
        +        if (!headers.hasContentLength()) {
        +          try {
        +            const knownLength = await util__default["default"].promisify(data.getLength).call(data);
        +            Number.isFinite(knownLength) &&
        +              knownLength >= 0 &&
        +              headers.setContentLength(knownLength);
        +            /*eslint no-empty:0*/
        +          } catch (e) {}
        +        }
        +      } else if (utils$1.isBlob(data) || utils$1.isFile(data)) {
        +        data.size && headers.setContentType(data.type || 'application/octet-stream');
        +        headers.setContentLength(data.size || 0);
        +        data = stream__default["default"].Readable.from(readBlob$1(data));
        +      } else if (data && !utils$1.isStream(data)) {
        +        if (Buffer.isBuffer(data)) ; else if (utils$1.isArrayBuffer(data)) {
        +          data = Buffer.from(new Uint8Array(data));
        +        } else if (utils$1.isString(data)) {
        +          data = Buffer.from(data, 'utf-8');
        +        } else {
        +          return reject(
        +            new AxiosError$1(
        +              'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',
        +              AxiosError$1.ERR_BAD_REQUEST,
        +              config
        +            )
        +          );
        +        }
        +
        +        // Add Content-Length header if data exists
        +        headers.setContentLength(data.length, false);
        +
        +        if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {
        +          return reject(
        +            new AxiosError$1(
        +              'Request body larger than maxBodyLength limit',
        +              AxiosError$1.ERR_BAD_REQUEST,
        +              config
        +            )
        +          );
        +        }
        +      }
        +
        +      const contentLength = utils$1.toFiniteNumber(headers.getContentLength());
        +
        +      if (utils$1.isArray(maxRate)) {
        +        maxUploadRate = maxRate[0];
        +        maxDownloadRate = maxRate[1];
        +      } else {
        +        maxUploadRate = maxDownloadRate = maxRate;
        +      }
        +
        +      if (data && (onUploadProgress || maxUploadRate)) {
        +        if (!utils$1.isStream(data)) {
        +          data = stream__default["default"].Readable.from(data, { objectMode: false });
        +        }
        +
        +        data = stream__default["default"].pipeline(
        +          [
        +            data,
        +            new AxiosTransformStream$1({
        +              maxRate: utils$1.toFiniteNumber(maxUploadRate),
        +            }),
        +          ],
        +          utils$1.noop
        +        );
        +
        +        onUploadProgress &&
        +          data.on(
        +            'progress',
        +            flushOnFinish(
        +              data,
        +              progressEventDecorator(
        +                contentLength,
        +                progressEventReducer(asyncDecorator(onUploadProgress), false, 3)
        +              )
        +            )
        +          );
        +      }
        +
        +      // HTTP basic authentication
        +      let auth = undefined;
        +      if (config.auth) {
        +        const username = config.auth.username || '';
        +        const password = config.auth.password || '';
        +        auth = username + ':' + password;
        +      }
        +
        +      if (!auth && parsed.username) {
        +        const urlUsername = parsed.username;
        +        const urlPassword = parsed.password;
        +        auth = urlUsername + ':' + urlPassword;
        +      }
        +
        +      auth && headers.delete('authorization');
        +
        +      let path;
        +
        +      try {
        +        path = buildURL(
        +          parsed.pathname + parsed.search,
        +          config.params,
        +          config.paramsSerializer
        +        ).replace(/^\?/, '');
        +      } catch (err) {
        +        const customErr = new Error(err.message);
        +        customErr.config = config;
        +        customErr.url = config.url;
        +        customErr.exists = true;
        +        return reject(customErr);
        +      }
        +
        +      headers.set(
        +        'Accept-Encoding',
        +        'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''),
        +        false
        +      );
        +
        +      const options = {
        +        path,
        +        method: method,
        +        headers: headers.toJSON(),
        +        agents: { http: config.httpAgent, https: config.httpsAgent },
        +        auth,
        +        protocol,
        +        family,
        +        beforeRedirect: dispatchBeforeRedirect,
        +        beforeRedirects: {},
        +        http2Options,
        +      };
        +
        +      // cacheable-lookup integration hotfix
        +      !utils$1.isUndefined(lookup) && (options.lookup = lookup);
        +
        +      if (config.socketPath) {
        +        options.socketPath = config.socketPath;
        +      } else {
        +        options.hostname = parsed.hostname.startsWith('[')
        +          ? parsed.hostname.slice(1, -1)
        +          : parsed.hostname;
        +        options.port = parsed.port;
        +        setProxy(
        +          options,
        +          config.proxy,
        +          protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path
        +        );
        +      }
        +
        +      let transport;
        +      const isHttpsRequest = isHttps.test(options.protocol);
        +      options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;
        +
        +      if (isHttp2) {
        +        transport = http2Transport;
        +      } else {
        +        if (config.transport) {
        +          transport = config.transport;
        +        } else if (config.maxRedirects === 0) {
        +          transport = isHttpsRequest ? https__default["default"] : http__default["default"];
        +        } else {
        +          if (config.maxRedirects) {
        +            options.maxRedirects = config.maxRedirects;
        +          }
        +          if (config.beforeRedirect) {
        +            options.beforeRedirects.config = config.beforeRedirect;
        +          }
        +          transport = isHttpsRequest ? httpsFollow : httpFollow;
        +        }
        +      }
        +
        +      if (config.maxBodyLength > -1) {
        +        options.maxBodyLength = config.maxBodyLength;
        +      } else {
        +        // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited
        +        options.maxBodyLength = Infinity;
        +      }
        +
        +      if (config.insecureHTTPParser) {
        +        options.insecureHTTPParser = config.insecureHTTPParser;
        +      }
        +
        +      // Create the request
        +      req = transport.request(options, function handleResponse(res) {
        +        if (req.destroyed) return;
        +
        +        const streams = [res];
        +
        +        const responseLength = utils$1.toFiniteNumber(res.headers['content-length']);
        +
        +        if (onDownloadProgress || maxDownloadRate) {
        +          const transformStream = new AxiosTransformStream$1({
        +            maxRate: utils$1.toFiniteNumber(maxDownloadRate),
        +          });
        +
        +          onDownloadProgress &&
        +            transformStream.on(
        +              'progress',
        +              flushOnFinish(
        +                transformStream,
        +                progressEventDecorator(
        +                  responseLength,
        +                  progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)
        +                )
        +              )
        +            );
        +
        +          streams.push(transformStream);
        +        }
        +
        +        // decompress the response body transparently if required
        +        let responseStream = res;
        +
        +        // return the last request in case of redirects
        +        const lastRequest = res.req || req;
        +
        +        // if decompress disabled we should not decompress
        +        if (config.decompress !== false && res.headers['content-encoding']) {
        +          // if no content, but headers still say that it is encoded,
        +          // remove the header not confuse downstream operations
        +          if (method === 'HEAD' || res.statusCode === 204) {
        +            delete res.headers['content-encoding'];
        +          }
        +
        +          switch ((res.headers['content-encoding'] || '').toLowerCase()) {
        +            /*eslint default-case:0*/
        +            case 'gzip':
        +            case 'x-gzip':
        +            case 'compress':
        +            case 'x-compress':
        +              // add the unzipper to the body stream processing pipeline
        +              streams.push(zlib__default["default"].createUnzip(zlibOptions));
        +
        +              // remove the content-encoding in order to not confuse downstream operations
        +              delete res.headers['content-encoding'];
        +              break;
        +            case 'deflate':
        +              streams.push(new ZlibHeaderTransformStream$1());
        +
        +              // add the unzipper to the body stream processing pipeline
        +              streams.push(zlib__default["default"].createUnzip(zlibOptions));
        +
        +              // remove the content-encoding in order to not confuse downstream operations
        +              delete res.headers['content-encoding'];
        +              break;
        +            case 'br':
        +              if (isBrotliSupported) {
        +                streams.push(zlib__default["default"].createBrotliDecompress(brotliOptions));
        +                delete res.headers['content-encoding'];
        +              }
        +          }
        +        }
        +
        +        responseStream = streams.length > 1 ? stream__default["default"].pipeline(streams, utils$1.noop) : streams[0];
        +
        +        const response = {
        +          status: res.statusCode,
        +          statusText: res.statusMessage,
        +          headers: new AxiosHeaders$1(res.headers),
        +          config,
        +          request: lastRequest,
        +        };
        +
        +        if (responseType === 'stream') {
        +          response.data = responseStream;
        +          settle(resolve, reject, response);
        +        } else {
        +          const responseBuffer = [];
        +          let totalResponseBytes = 0;
        +
        +          responseStream.on('data', function handleStreamData(chunk) {
        +            responseBuffer.push(chunk);
        +            totalResponseBytes += chunk.length;
        +
        +            // make sure the content length is not over the maxContentLength if specified
        +            if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {
        +              // stream.destroy() emit aborted event before calling reject() on Node.js v16
        +              rejected = true;
        +              responseStream.destroy();
        +              abort(
        +                new AxiosError$1(
        +                  'maxContentLength size of ' + config.maxContentLength + ' exceeded',
        +                  AxiosError$1.ERR_BAD_RESPONSE,
        +                  config,
        +                  lastRequest
        +                )
        +              );
        +            }
        +          });
        +
        +          responseStream.on('aborted', function handlerStreamAborted() {
        +            if (rejected) {
        +              return;
        +            }
        +
        +            const err = new AxiosError$1(
        +              'stream has been aborted',
        +              AxiosError$1.ERR_BAD_RESPONSE,
        +              config,
        +              lastRequest
        +            );
        +            responseStream.destroy(err);
        +            reject(err);
        +          });
        +
        +          responseStream.on('error', function handleStreamError(err) {
        +            if (req.destroyed) return;
        +            reject(AxiosError$1.from(err, null, config, lastRequest));
        +          });
        +
        +          responseStream.on('end', function handleStreamEnd() {
        +            try {
        +              let responseData =
        +                responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);
        +              if (responseType !== 'arraybuffer') {
        +                responseData = responseData.toString(responseEncoding);
        +                if (!responseEncoding || responseEncoding === 'utf8') {
        +                  responseData = utils$1.stripBOM(responseData);
        +                }
        +              }
        +              response.data = responseData;
        +            } catch (err) {
        +              return reject(AxiosError$1.from(err, null, config, response.request, response));
        +            }
        +            settle(resolve, reject, response);
        +          });
        +        }
        +
        +        abortEmitter.once('abort', (err) => {
        +          if (!responseStream.destroyed) {
        +            responseStream.emit('error', err);
        +            responseStream.destroy();
        +          }
        +        });
        +      });
        +
        +      abortEmitter.once('abort', (err) => {
        +        if (req.close) {
        +          req.close();
        +        } else {
        +          req.destroy(err);
        +        }
        +      });
        +
        +      // Handle errors
        +      req.on('error', function handleRequestError(err) {
        +        reject(AxiosError$1.from(err, null, config, req));
        +      });
        +
        +      // set tcp keep alive to prevent drop connection by peer
        +      req.on('socket', function handleRequestSocket(socket) {
        +        // default interval of sending ack packet is 1 minute
        +        socket.setKeepAlive(true, 1000 * 60);
        +      });
        +
        +      // Handle request timeout
        +      if (config.timeout) {
        +        // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.
        +        const timeout = parseInt(config.timeout, 10);
        +
        +        if (Number.isNaN(timeout)) {
        +          abort(
        +            new AxiosError$1(
        +              'error trying to parse `config.timeout` to int',
        +              AxiosError$1.ERR_BAD_OPTION_VALUE,
        +              config,
        +              req
        +            )
        +          );
        +
        +          return;
        +        }
        +
        +        // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.
        +        // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET.
        +        // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.
        +        // And then these socket which be hang up will devouring CPU little by little.
        +        // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.
        +        req.setTimeout(timeout, function handleRequestTimeout() {
        +          if (isDone) return;
        +          let timeoutErrorMessage = config.timeout
        +            ? 'timeout of ' + config.timeout + 'ms exceeded'
        +            : 'timeout exceeded';
        +          const transitional = config.transitional || transitionalDefaults;
        +          if (config.timeoutErrorMessage) {
        +            timeoutErrorMessage = config.timeoutErrorMessage;
        +          }
        +          abort(
        +            new AxiosError$1(
        +              timeoutErrorMessage,
        +              transitional.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED,
        +              config,
        +              req
        +            )
        +          );
        +        });
        +      } else {
        +        // explicitly reset the socket timeout value for a possible `keep-alive` request
        +        req.setTimeout(0);
        +      }
        +
        +      // Send the request
        +      if (utils$1.isStream(data)) {
        +        let ended = false;
        +        let errored = false;
        +
        +        data.on('end', () => {
        +          ended = true;
        +        });
        +
        +        data.once('error', (err) => {
        +          errored = true;
        +          req.destroy(err);
        +        });
        +
        +        data.on('close', () => {
        +          if (!ended && !errored) {
        +            abort(new CanceledError$1('Request stream has been aborted', config, req));
        +          }
        +        });
        +
        +        data.pipe(req);
        +      } else {
        +        data && req.write(data);
        +        req.end();
        +      }
        +    });
        +  };
        +
        +const isURLSameOrigin = platform.hasStandardBrowserEnv
        +  ? ((origin, isMSIE) => (url) => {
        +      url = new URL(url, platform.origin);
        +
        +      return (
        +        origin.protocol === url.protocol &&
        +        origin.host === url.host &&
        +        (isMSIE || origin.port === url.port)
        +      );
        +    })(
        +      new URL(platform.origin),
        +      platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)
        +    )
        +  : () => true;
        +
        +const cookies = platform.hasStandardBrowserEnv
        +  ? // Standard browser envs support document.cookie
        +    {
        +      write(name, value, expires, path, domain, secure, sameSite) {
        +        if (typeof document === 'undefined') return;
        +
        +        const cookie = [`${name}=${encodeURIComponent(value)}`];
        +
        +        if (utils$1.isNumber(expires)) {
        +          cookie.push(`expires=${new Date(expires).toUTCString()}`);
        +        }
        +        if (utils$1.isString(path)) {
        +          cookie.push(`path=${path}`);
        +        }
        +        if (utils$1.isString(domain)) {
        +          cookie.push(`domain=${domain}`);
        +        }
        +        if (secure === true) {
        +          cookie.push('secure');
        +        }
        +        if (utils$1.isString(sameSite)) {
        +          cookie.push(`SameSite=${sameSite}`);
        +        }
        +
        +        document.cookie = cookie.join('; ');
        +      },
        +
        +      read(name) {
        +        if (typeof document === 'undefined') return null;
        +        const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
        +        return match ? decodeURIComponent(match[1]) : null;
        +      },
        +
        +      remove(name) {
        +        this.write(name, '', Date.now() - 86400000, '/');
        +      },
        +    }
        +  : // Non-standard browser env (web workers, react-native) lack needed support.
        +    {
        +      write() {},
        +      read() {
        +        return null;
        +      },
        +      remove() {},
        +    };
        +
        +const headersToObject = (thing) => (thing instanceof AxiosHeaders$1 ? { ...thing } : thing);
        +
        +/**
        + * Config-specific merge-function which creates a new config-object
        + * by merging two configuration objects together.
        + *
        + * @param {Object} config1
        + * @param {Object} config2
        + *
        + * @returns {Object} New object resulting from merging config2 to config1
        + */
        +function mergeConfig(config1, config2) {
        +  // eslint-disable-next-line no-param-reassign
        +  config2 = config2 || {};
        +  const config = {};
        +
        +  function getMergedValue(target, source, prop, caseless) {
        +    if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {
        +      return utils$1.merge.call({ caseless }, target, source);
        +    } else if (utils$1.isPlainObject(source)) {
        +      return utils$1.merge({}, source);
        +    } else if (utils$1.isArray(source)) {
        +      return source.slice();
        +    }
        +    return source;
        +  }
        +
        +  function mergeDeepProperties(a, b, prop, caseless) {
        +    if (!utils$1.isUndefined(b)) {
        +      return getMergedValue(a, b, prop, caseless);
        +    } else if (!utils$1.isUndefined(a)) {
        +      return getMergedValue(undefined, a, prop, caseless);
        +    }
        +  }
        +
        +  // eslint-disable-next-line consistent-return
        +  function valueFromConfig2(a, b) {
        +    if (!utils$1.isUndefined(b)) {
        +      return getMergedValue(undefined, b);
        +    }
        +  }
        +
        +  // eslint-disable-next-line consistent-return
        +  function defaultToConfig2(a, b) {
        +    if (!utils$1.isUndefined(b)) {
        +      return getMergedValue(undefined, b);
        +    } else if (!utils$1.isUndefined(a)) {
        +      return getMergedValue(undefined, a);
        +    }
        +  }
        +
        +  // eslint-disable-next-line consistent-return
        +  function mergeDirectKeys(a, b, prop) {
        +    if (prop in config2) {
        +      return getMergedValue(a, b);
        +    } else if (prop in config1) {
        +      return getMergedValue(undefined, a);
        +    }
        +  }
        +
        +  const mergeMap = {
        +    url: valueFromConfig2,
        +    method: valueFromConfig2,
        +    data: valueFromConfig2,
        +    baseURL: defaultToConfig2,
        +    transformRequest: defaultToConfig2,
        +    transformResponse: defaultToConfig2,
        +    paramsSerializer: defaultToConfig2,
        +    timeout: defaultToConfig2,
        +    timeoutMessage: defaultToConfig2,
        +    withCredentials: defaultToConfig2,
        +    withXSRFToken: defaultToConfig2,
        +    adapter: defaultToConfig2,
        +    responseType: defaultToConfig2,
        +    xsrfCookieName: defaultToConfig2,
        +    xsrfHeaderName: defaultToConfig2,
        +    onUploadProgress: defaultToConfig2,
        +    onDownloadProgress: defaultToConfig2,
        +    decompress: defaultToConfig2,
        +    maxContentLength: defaultToConfig2,
        +    maxBodyLength: defaultToConfig2,
        +    beforeRedirect: defaultToConfig2,
        +    transport: defaultToConfig2,
        +    httpAgent: defaultToConfig2,
        +    httpsAgent: defaultToConfig2,
        +    cancelToken: defaultToConfig2,
        +    socketPath: defaultToConfig2,
        +    responseEncoding: defaultToConfig2,
        +    validateStatus: mergeDirectKeys,
        +    headers: (a, b, prop) =>
        +      mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true),
        +  };
        +
        +  utils$1.forEach(Object.keys({ ...config1, ...config2 }), function computeConfigValue(prop) {
        +    if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;
        +    const merge = utils$1.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;
        +    const configValue = merge(config1[prop], config2[prop], prop);
        +    (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);
        +  });
        +
        +  return config;
        +}
        +
        +const resolveConfig = (config) => {
        +  const newConfig = mergeConfig({}, config);
        +
        +  let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;
        +
        +  newConfig.headers = headers = AxiosHeaders$1.from(headers);
        +
        +  newConfig.url = buildURL(
        +    buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls),
        +    config.params,
        +    config.paramsSerializer
        +  );
        +
        +  // HTTP basic authentication
        +  if (auth) {
        +    headers.set(
        +      'Authorization',
        +      'Basic ' +
        +        btoa(
        +          (auth.username || '') +
        +            ':' +
        +            (auth.password ? unescape(encodeURIComponent(auth.password)) : '')
        +        )
        +    );
        +  }
        +
        +  if (utils$1.isFormData(data)) {
        +    if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {
        +      headers.setContentType(undefined); // browser handles it
        +    } else if (utils$1.isFunction(data.getHeaders)) {
        +      // Node.js FormData (like form-data package)
        +      const formHeaders = data.getHeaders();
        +      // Only set safe headers to avoid overwriting security headers
        +      const allowedHeaders = ['content-type', 'content-length'];
        +      Object.entries(formHeaders).forEach(([key, val]) => {
        +        if (allowedHeaders.includes(key.toLowerCase())) {
        +          headers.set(key, val);
        +        }
        +      });
        +    }
        +  }
        +
        +  // Add xsrf header
        +  // This is only done if running in a standard browser environment.
        +  // Specifically not if we're in a web worker, or react-native.
        +
        +  if (platform.hasStandardBrowserEnv) {
        +    withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
        +
        +    if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {
        +      // Add xsrf header
        +      const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
        +
        +      if (xsrfValue) {
        +        headers.set(xsrfHeaderName, xsrfValue);
        +      }
        +    }
        +  }
        +
        +  return newConfig;
        +};
        +
        +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
        +
        +const xhrAdapter = isXHRAdapterSupported &&
        +  function (config) {
        +    return new Promise(function dispatchXhrRequest(resolve, reject) {
        +      const _config = resolveConfig(config);
        +      let requestData = _config.data;
        +      const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize();
        +      let { responseType, onUploadProgress, onDownloadProgress } = _config;
        +      let onCanceled;
        +      let uploadThrottled, downloadThrottled;
        +      let flushUpload, flushDownload;
        +
        +      function done() {
        +        flushUpload && flushUpload(); // flush events
        +        flushDownload && flushDownload(); // flush events
        +
        +        _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);
        +
        +        _config.signal && _config.signal.removeEventListener('abort', onCanceled);
        +      }
        +
        +      let request = new XMLHttpRequest();
        +
        +      request.open(_config.method.toUpperCase(), _config.url, true);
        +
        +      // Set the request timeout in MS
        +      request.timeout = _config.timeout;
        +
        +      function onloadend() {
        +        if (!request) {
        +          return;
        +        }
        +        // Prepare the response
        +        const responseHeaders = AxiosHeaders$1.from(
        +          'getAllResponseHeaders' in request && request.getAllResponseHeaders()
        +        );
        +        const responseData =
        +          !responseType || responseType === 'text' || responseType === 'json'
        +            ? request.responseText
        +            : request.response;
        +        const response = {
        +          data: responseData,
        +          status: request.status,
        +          statusText: request.statusText,
        +          headers: responseHeaders,
        +          config,
        +          request,
        +        };
        +
        +        settle(
        +          function _resolve(value) {
        +            resolve(value);
        +            done();
        +          },
        +          function _reject(err) {
        +            reject(err);
        +            done();
        +          },
        +          response
        +        );
        +
        +        // Clean up request
        +        request = null;
        +      }
        +
        +      if ('onloadend' in request) {
        +        // Use onloadend if available
        +        request.onloadend = onloadend;
        +      } else {
        +        // Listen for ready state to emulate onloadend
        +        request.onreadystatechange = function handleLoad() {
        +          if (!request || request.readyState !== 4) {
        +            return;
        +          }
        +
        +          // The request errored out and we didn't get a response, this will be
        +          // handled by onerror instead
        +          // With one exception: request that using file: protocol, most browsers
        +          // will return status as 0 even though it's a successful request
        +          if (
        +            request.status === 0 &&
        +            !(request.responseURL && request.responseURL.indexOf('file:') === 0)
        +          ) {
        +            return;
        +          }
        +          // readystate handler is calling before onerror or ontimeout handlers,
        +          // so we should call onloadend on the next 'tick'
        +          setTimeout(onloadend);
        +        };
        +      }
        +
        +      // Handle browser request cancellation (as opposed to a manual cancellation)
        +      request.onabort = function handleAbort() {
        +        if (!request) {
        +          return;
        +        }
        +
        +        reject(new AxiosError$1('Request aborted', AxiosError$1.ECONNABORTED, config, request));
        +
        +        // Clean up request
        +        request = null;
        +      };
        +
        +      // Handle low level network errors
        +      request.onerror = function handleError(event) {
        +        // Browsers deliver a ProgressEvent in XHR onerror
        +        // (message may be empty; when present, surface it)
        +        // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event
        +        const msg = event && event.message ? event.message : 'Network Error';
        +        const err = new AxiosError$1(msg, AxiosError$1.ERR_NETWORK, config, request);
        +        // attach the underlying event for consumers who want details
        +        err.event = event || null;
        +        reject(err);
        +        request = null;
        +      };
        +
        +      // Handle timeout
        +      request.ontimeout = function handleTimeout() {
        +        let timeoutErrorMessage = _config.timeout
        +          ? 'timeout of ' + _config.timeout + 'ms exceeded'
        +          : 'timeout exceeded';
        +        const transitional = _config.transitional || transitionalDefaults;
        +        if (_config.timeoutErrorMessage) {
        +          timeoutErrorMessage = _config.timeoutErrorMessage;
        +        }
        +        reject(
        +          new AxiosError$1(
        +            timeoutErrorMessage,
        +            transitional.clarifyTimeoutError ? AxiosError$1.ETIMEDOUT : AxiosError$1.ECONNABORTED,
        +            config,
        +            request
        +          )
        +        );
        +
        +        // Clean up request
        +        request = null;
        +      };
        +
        +      // Remove Content-Type if data is undefined
        +      requestData === undefined && requestHeaders.setContentType(null);
        +
        +      // Add headers to the request
        +      if ('setRequestHeader' in request) {
        +        utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
        +          request.setRequestHeader(key, val);
        +        });
        +      }
        +
        +      // Add withCredentials to request if needed
        +      if (!utils$1.isUndefined(_config.withCredentials)) {
        +        request.withCredentials = !!_config.withCredentials;
        +      }
        +
        +      // Add responseType to request if needed
        +      if (responseType && responseType !== 'json') {
        +        request.responseType = _config.responseType;
        +      }
        +
        +      // Handle progress if needed
        +      if (onDownloadProgress) {
        +        [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
        +        request.addEventListener('progress', downloadThrottled);
        +      }
        +
        +      // Not all browsers support upload events
        +      if (onUploadProgress && request.upload) {
        +        [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);
        +
        +        request.upload.addEventListener('progress', uploadThrottled);
        +
        +        request.upload.addEventListener('loadend', flushUpload);
        +      }
        +
        +      if (_config.cancelToken || _config.signal) {
        +        // Handle cancellation
        +        // eslint-disable-next-line func-names
        +        onCanceled = (cancel) => {
        +          if (!request) {
        +            return;
        +          }
        +          reject(!cancel || cancel.type ? new CanceledError$1(null, config, request) : cancel);
        +          request.abort();
        +          request = null;
        +        };
        +
        +        _config.cancelToken && _config.cancelToken.subscribe(onCanceled);
        +        if (_config.signal) {
        +          _config.signal.aborted
        +            ? onCanceled()
        +            : _config.signal.addEventListener('abort', onCanceled);
        +        }
        +      }
        +
        +      const protocol = parseProtocol(_config.url);
        +
        +      if (protocol && platform.protocols.indexOf(protocol) === -1) {
        +        reject(
        +          new AxiosError$1(
        +            'Unsupported protocol ' + protocol + ':',
        +            AxiosError$1.ERR_BAD_REQUEST,
        +            config
        +          )
        +        );
        +        return;
        +      }
        +
        +      // Send the request
        +      request.send(requestData || null);
        +    });
        +  };
        +
        +const composeSignals = (signals, timeout) => {
        +  const { length } = (signals = signals ? signals.filter(Boolean) : []);
        +
        +  if (timeout || length) {
        +    let controller = new AbortController();
        +
        +    let aborted;
        +
        +    const onabort = function (reason) {
        +      if (!aborted) {
        +        aborted = true;
        +        unsubscribe();
        +        const err = reason instanceof Error ? reason : this.reason;
        +        controller.abort(
        +          err instanceof AxiosError$1
        +            ? err
        +            : new CanceledError$1(err instanceof Error ? err.message : err)
        +        );
        +      }
        +    };
        +
        +    let timer =
        +      timeout &&
        +      setTimeout(() => {
        +        timer = null;
        +        onabort(new AxiosError$1(`timeout of ${timeout}ms exceeded`, AxiosError$1.ETIMEDOUT));
        +      }, timeout);
        +
        +    const unsubscribe = () => {
        +      if (signals) {
        +        timer && clearTimeout(timer);
        +        timer = null;
        +        signals.forEach((signal) => {
        +          signal.unsubscribe
        +            ? signal.unsubscribe(onabort)
        +            : signal.removeEventListener('abort', onabort);
        +        });
        +        signals = null;
        +      }
        +    };
        +
        +    signals.forEach((signal) => signal.addEventListener('abort', onabort));
        +
        +    const { signal } = controller;
        +
        +    signal.unsubscribe = () => utils$1.asap(unsubscribe);
        +
        +    return signal;
        +  }
        +};
        +
        +const composeSignals$1 = composeSignals;
        +
        +const streamChunk = function* (chunk, chunkSize) {
        +  let len = chunk.byteLength;
        +
        +  if (!chunkSize || len < chunkSize) {
        +    yield chunk;
        +    return;
        +  }
        +
        +  let pos = 0;
        +  let end;
        +
        +  while (pos < len) {
        +    end = pos + chunkSize;
        +    yield chunk.slice(pos, end);
        +    pos = end;
        +  }
        +};
        +
        +const readBytes = async function* (iterable, chunkSize) {
        +  for await (const chunk of readStream(iterable)) {
        +    yield* streamChunk(chunk, chunkSize);
        +  }
        +};
        +
        +const readStream = async function* (stream) {
        +  if (stream[Symbol.asyncIterator]) {
        +    yield* stream;
        +    return;
        +  }
        +
        +  const reader = stream.getReader();
        +  try {
        +    for (;;) {
        +      const { done, value } = await reader.read();
        +      if (done) {
        +        break;
        +      }
        +      yield value;
        +    }
        +  } finally {
        +    await reader.cancel();
        +  }
        +};
        +
        +const trackStream = (stream, chunkSize, onProgress, onFinish) => {
        +  const iterator = readBytes(stream, chunkSize);
        +
        +  let bytes = 0;
        +  let done;
        +  let _onFinish = (e) => {
        +    if (!done) {
        +      done = true;
        +      onFinish && onFinish(e);
        +    }
        +  };
        +
        +  return new ReadableStream(
        +    {
        +      async pull(controller) {
        +        try {
        +          const { done, value } = await iterator.next();
        +
        +          if (done) {
        +            _onFinish();
        +            controller.close();
        +            return;
        +          }
        +
        +          let len = value.byteLength;
        +          if (onProgress) {
        +            let loadedBytes = (bytes += len);
        +            onProgress(loadedBytes);
        +          }
        +          controller.enqueue(new Uint8Array(value));
        +        } catch (err) {
        +          _onFinish(err);
        +          throw err;
        +        }
        +      },
        +      cancel(reason) {
        +        _onFinish(reason);
        +        return iterator.return();
        +      },
        +    },
        +    {
        +      highWaterMark: 2,
        +    }
        +  );
        +};
        +
        +const DEFAULT_CHUNK_SIZE = 64 * 1024;
        +
        +const { isFunction } = utils$1;
        +
        +const globalFetchAPI = (({ Request, Response }) => ({
        +  Request,
        +  Response,
        +}))(utils$1.global);
        +
        +const { ReadableStream: ReadableStream$1, TextEncoder: TextEncoder$1 } = utils$1.global;
        +
        +const test = (fn, ...args) => {
        +  try {
        +    return !!fn(...args);
        +  } catch (e) {
        +    return false;
        +  }
        +};
        +
        +const factory = (env) => {
        +  env = utils$1.merge.call(
        +    {
        +      skipUndefined: true,
        +    },
        +    globalFetchAPI,
        +    env
        +  );
        +
        +  const { fetch: envFetch, Request, Response } = env;
        +  const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';
        +  const isRequestSupported = isFunction(Request);
        +  const isResponseSupported = isFunction(Response);
        +
        +  if (!isFetchSupported) {
        +    return false;
        +  }
        +
        +  const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream$1);
        +
        +  const encodeText =
        +    isFetchSupported &&
        +    (typeof TextEncoder$1 === 'function'
        +      ? (
        +          (encoder) => (str) =>
        +            encoder.encode(str)
        +        )(new TextEncoder$1())
        +      : async (str) => new Uint8Array(await new Request(str).arrayBuffer()));
        +
        +  const supportsRequestStream =
        +    isRequestSupported &&
        +    isReadableStreamSupported &&
        +    test(() => {
        +      let duplexAccessed = false;
        +
        +      const hasContentType = new Request(platform.origin, {
        +        body: new ReadableStream$1(),
        +        method: 'POST',
        +        get duplex() {
        +          duplexAccessed = true;
        +          return 'half';
        +        },
        +      }).headers.has('Content-Type');
        +
        +      return duplexAccessed && !hasContentType;
        +    });
        +
        +  const supportsResponseStream =
        +    isResponseSupported &&
        +    isReadableStreamSupported &&
        +    test(() => utils$1.isReadableStream(new Response('').body));
        +
        +  const resolvers = {
        +    stream: supportsResponseStream && ((res) => res.body),
        +  };
        +
        +  isFetchSupported &&
        +    (() => {
        +      ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach((type) => {
        +        !resolvers[type] &&
        +          (resolvers[type] = (res, config) => {
        +            let method = res && res[type];
        +
        +            if (method) {
        +              return method.call(res);
        +            }
        +
        +            throw new AxiosError$1(
        +              `Response type '${type}' is not supported`,
        +              AxiosError$1.ERR_NOT_SUPPORT,
        +              config
        +            );
        +          });
        +      });
        +    })();
        +
        +  const getBodyLength = async (body) => {
        +    if (body == null) {
        +      return 0;
        +    }
        +
        +    if (utils$1.isBlob(body)) {
        +      return body.size;
        +    }
        +
        +    if (utils$1.isSpecCompliantForm(body)) {
        +      const _request = new Request(platform.origin, {
        +        method: 'POST',
        +        body,
        +      });
        +      return (await _request.arrayBuffer()).byteLength;
        +    }
        +
        +    if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {
        +      return body.byteLength;
        +    }
        +
        +    if (utils$1.isURLSearchParams(body)) {
        +      body = body + '';
        +    }
        +
        +    if (utils$1.isString(body)) {
        +      return (await encodeText(body)).byteLength;
        +    }
        +  };
        +
        +  const resolveBodyLength = async (headers, body) => {
        +    const length = utils$1.toFiniteNumber(headers.getContentLength());
        +
        +    return length == null ? getBodyLength(body) : length;
        +  };
        +
        +  return async (config) => {
        +    let {
        +      url,
        +      method,
        +      data,
        +      signal,
        +      cancelToken,
        +      timeout,
        +      onDownloadProgress,
        +      onUploadProgress,
        +      responseType,
        +      headers,
        +      withCredentials = 'same-origin',
        +      fetchOptions,
        +    } = resolveConfig(config);
        +
        +    let _fetch = envFetch || fetch;
        +
        +    responseType = responseType ? (responseType + '').toLowerCase() : 'text';
        +
        +    let composedSignal = composeSignals$1(
        +      [signal, cancelToken && cancelToken.toAbortSignal()],
        +      timeout
        +    );
        +
        +    let request = null;
        +
        +    const unsubscribe =
        +      composedSignal &&
        +      composedSignal.unsubscribe &&
        +      (() => {
        +        composedSignal.unsubscribe();
        +      });
        +
        +    let requestContentLength;
        +
        +    try {
        +      if (
        +        onUploadProgress &&
        +        supportsRequestStream &&
        +        method !== 'get' &&
        +        method !== 'head' &&
        +        (requestContentLength = await resolveBodyLength(headers, data)) !== 0
        +      ) {
        +        let _request = new Request(url, {
        +          method: 'POST',
        +          body: data,
        +          duplex: 'half',
        +        });
        +
        +        let contentTypeHeader;
        +
        +        if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {
        +          headers.setContentType(contentTypeHeader);
        +        }
        +
        +        if (_request.body) {
        +          const [onProgress, flush] = progressEventDecorator(
        +            requestContentLength,
        +            progressEventReducer(asyncDecorator(onUploadProgress))
        +          );
        +
        +          data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
        +        }
        +      }
        +
        +      if (!utils$1.isString(withCredentials)) {
        +        withCredentials = withCredentials ? 'include' : 'omit';
        +      }
        +
        +      // Cloudflare Workers throws when credentials are defined
        +      // see https://github.com/cloudflare/workerd/issues/902
        +      const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;
        +
        +      const resolvedOptions = {
        +        ...fetchOptions,
        +        signal: composedSignal,
        +        method: method.toUpperCase(),
        +        headers: headers.normalize().toJSON(),
        +        body: data,
        +        duplex: 'half',
        +        credentials: isCredentialsSupported ? withCredentials : undefined,
        +      };
        +
        +      request = isRequestSupported && new Request(url, resolvedOptions);
        +
        +      let response = await (isRequestSupported
        +        ? _fetch(request, fetchOptions)
        +        : _fetch(url, resolvedOptions));
        +
        +      const isStreamResponse =
        +        supportsResponseStream && (responseType === 'stream' || responseType === 'response');
        +
        +      if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {
        +        const options = {};
        +
        +        ['status', 'statusText', 'headers'].forEach((prop) => {
        +          options[prop] = response[prop];
        +        });
        +
        +        const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length'));
        +
        +        const [onProgress, flush] =
        +          (onDownloadProgress &&
        +            progressEventDecorator(
        +              responseContentLength,
        +              progressEventReducer(asyncDecorator(onDownloadProgress), true)
        +            )) ||
        +          [];
        +
        +        response = new Response(
        +          trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
        +            flush && flush();
        +            unsubscribe && unsubscribe();
        +          }),
        +          options
        +        );
        +      }
        +
        +      responseType = responseType || 'text';
        +
        +      let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](
        +        response,
        +        config
        +      );
        +
        +      !isStreamResponse && unsubscribe && unsubscribe();
        +
        +      return await new Promise((resolve, reject) => {
        +        settle(resolve, reject, {
        +          data: responseData,
        +          headers: AxiosHeaders$1.from(response.headers),
        +          status: response.status,
        +          statusText: response.statusText,
        +          config,
        +          request,
        +        });
        +      });
        +    } catch (err) {
        +      unsubscribe && unsubscribe();
        +
        +      if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {
        +        throw Object.assign(
        +          new AxiosError$1(
        +            'Network Error',
        +            AxiosError$1.ERR_NETWORK,
        +            config,
        +            request,
        +            err && err.response
        +          ),
        +          {
        +            cause: err.cause || err,
        +          }
        +        );
        +      }
        +
        +      throw AxiosError$1.from(err, err && err.code, config, request, err && err.response);
        +    }
        +  };
        +};
        +
        +const seedCache = new Map();
        +
        +const getFetch = (config) => {
        +  let env = (config && config.env) || {};
        +  const { fetch, Request, Response } = env;
        +  const seeds = [Request, Response, fetch];
        +
        +  let len = seeds.length,
        +    i = len,
        +    seed,
        +    target,
        +    map = seedCache;
        +
        +  while (i--) {
        +    seed = seeds[i];
        +    target = map.get(seed);
        +
        +    target === undefined && map.set(seed, (target = i ? new Map() : factory(env)));
        +
        +    map = target;
        +  }
        +
        +  return target;
        +};
        +
        +getFetch();
        +
        +/**
        + * Known adapters mapping.
        + * Provides environment-specific adapters for Axios:
        + * - `http` for Node.js
        + * - `xhr` for browsers
        + * - `fetch` for fetch API-based requests
        + *
        + * @type {Object}
        + */
        +const knownAdapters = {
        +  http: httpAdapter,
        +  xhr: xhrAdapter,
        +  fetch: {
        +    get: getFetch,
        +  },
        +};
        +
        +// Assign adapter names for easier debugging and identification
        +utils$1.forEach(knownAdapters, (fn, value) => {
        +  if (fn) {
        +    try {
        +      Object.defineProperty(fn, 'name', { value });
        +    } catch (e) {
        +      // eslint-disable-next-line no-empty
        +    }
        +    Object.defineProperty(fn, 'adapterName', { value });
        +  }
        +});
        +
        +/**
        + * Render a rejection reason string for unknown or unsupported adapters
        + *
        + * @param {string} reason
        + * @returns {string}
        + */
        +const renderReason = (reason) => `- ${reason}`;
        +
        +/**
        + * Check if the adapter is resolved (function, null, or false)
        + *
        + * @param {Function|null|false} adapter
        + * @returns {boolean}
        + */
        +const isResolvedHandle = (adapter) =>
        +  utils$1.isFunction(adapter) || adapter === null || adapter === false;
        +
        +/**
        + * Get the first suitable adapter from the provided list.
        + * Tries each adapter in order until a supported one is found.
        + * Throws an AxiosError if no adapter is suitable.
        + *
        + * @param {Array|string|Function} adapters - Adapter(s) by name or function.
        + * @param {Object} config - Axios request configuration
        + * @throws {AxiosError} If no suitable adapter is available
        + * @returns {Function} The resolved adapter function
        + */
        +function getAdapter(adapters, config) {
        +  adapters = utils$1.isArray(adapters) ? adapters : [adapters];
        +
        +  const { length } = adapters;
        +  let nameOrAdapter;
        +  let adapter;
        +
        +  const rejectedReasons = {};
        +
        +  for (let i = 0; i < length; i++) {
        +    nameOrAdapter = adapters[i];
        +    let id;
        +
        +    adapter = nameOrAdapter;
        +
        +    if (!isResolvedHandle(nameOrAdapter)) {
        +      adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
        +
        +      if (adapter === undefined) {
        +        throw new AxiosError$1(`Unknown adapter '${id}'`);
        +      }
        +    }
        +
        +    if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) {
        +      break;
        +    }
        +
        +    rejectedReasons[id || '#' + i] = adapter;
        +  }
        +
        +  if (!adapter) {
        +    const reasons = Object.entries(rejectedReasons).map(
        +      ([id, state]) =>
        +        `adapter ${id} ` +
        +        (state === false ? 'is not supported by the environment' : 'is not available in the build')
        +    );
        +
        +    let s = length
        +      ? reasons.length > 1
        +        ? 'since :\n' + reasons.map(renderReason).join('\n')
        +        : ' ' + renderReason(reasons[0])
        +      : 'as no adapter specified';
        +
        +    throw new AxiosError$1(
        +      `There is no suitable adapter to dispatch the request ` + s,
        +      'ERR_NOT_SUPPORT'
        +    );
        +  }
        +
        +  return adapter;
        +}
        +
        +/**
        + * Exports Axios adapters and utility to resolve an adapter
        + */
        +const adapters = {
        +  /**
        +   * Resolve an adapter from a list of adapter names or functions.
        +   * @type {Function}
        +   */
        +  getAdapter,
        +
        +  /**
        +   * Exposes all known adapters
        +   * @type {Object}
        +   */
        +  adapters: knownAdapters,
        +};
        +
        +/**
        + * Throws a `CanceledError` if cancellation has been requested.
        + *
        + * @param {Object} config The config that is to be used for the request
        + *
        + * @returns {void}
        + */
        +function throwIfCancellationRequested(config) {
        +  if (config.cancelToken) {
        +    config.cancelToken.throwIfRequested();
        +  }
        +
        +  if (config.signal && config.signal.aborted) {
        +    throw new CanceledError$1(null, config);
        +  }
        +}
        +
        +/**
        + * Dispatch a request to the server using the configured adapter.
        + *
        + * @param {object} config The config that is to be used for the request
        + *
        + * @returns {Promise} The Promise to be fulfilled
        + */
        +function dispatchRequest(config) {
        +  throwIfCancellationRequested(config);
        +
        +  config.headers = AxiosHeaders$1.from(config.headers);
        +
        +  // Transform request data
        +  config.data = transformData.call(config, config.transformRequest);
        +
        +  if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {
        +    config.headers.setContentType('application/x-www-form-urlencoded', false);
        +  }
        +
        +  const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter, config);
        +
        +  return adapter(config).then(
        +    function onAdapterResolution(response) {
        +      throwIfCancellationRequested(config);
        +
        +      // Transform response data
        +      response.data = transformData.call(config, config.transformResponse, response);
        +
        +      response.headers = AxiosHeaders$1.from(response.headers);
        +
        +      return response;
        +    },
        +    function onAdapterRejection(reason) {
        +      if (!isCancel(reason)) {
        +        throwIfCancellationRequested(config);
        +
        +        // Transform response data
        +        if (reason && reason.response) {
        +          reason.response.data = transformData.call(
        +            config,
        +            config.transformResponse,
        +            reason.response
        +          );
        +          reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
        +        }
        +      }
        +
        +      return Promise.reject(reason);
        +    }
        +  );
        +}
        +
        +const validators$1 = {};
        +
        +// eslint-disable-next-line func-names
        +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {
        +  validators$1[type] = function validator(thing) {
        +    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
        +  };
        +});
        +
        +const deprecatedWarnings = {};
        +
        +/**
        + * Transitional option validator
        + *
        + * @param {function|boolean?} validator - set to false if the transitional option has been removed
        + * @param {string?} version - deprecated version / removed since version
        + * @param {string?} message - some message with additional info
        + *
        + * @returns {function}
        + */
        +validators$1.transitional = function transitional(validator, version, message) {
        +  function formatMessage(opt, desc) {
        +    return (
        +      '[Axios v' +
        +      VERSION +
        +      "] Transitional option '" +
        +      opt +
        +      "'" +
        +      desc +
        +      (message ? '. ' + message : '')
        +    );
        +  }
        +
        +  // eslint-disable-next-line func-names
        +  return (value, opt, opts) => {
        +    if (validator === false) {
        +      throw new AxiosError$1(
        +        formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),
        +        AxiosError$1.ERR_DEPRECATED
        +      );
        +    }
        +
        +    if (version && !deprecatedWarnings[opt]) {
        +      deprecatedWarnings[opt] = true;
        +      // eslint-disable-next-line no-console
        +      console.warn(
        +        formatMessage(
        +          opt,
        +          ' has been deprecated since v' + version + ' and will be removed in the near future'
        +        )
        +      );
        +    }
        +
        +    return validator ? validator(value, opt, opts) : true;
        +  };
        +};
        +
        +validators$1.spelling = function spelling(correctSpelling) {
        +  return (value, opt) => {
        +    // eslint-disable-next-line no-console
        +    console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
        +    return true;
        +  };
        +};
        +
        +/**
        + * Assert object's properties type
        + *
        + * @param {object} options
        + * @param {object} schema
        + * @param {boolean?} allowUnknown
        + *
        + * @returns {object}
        + */
        +
        +function assertOptions(options, schema, allowUnknown) {
        +  if (typeof options !== 'object') {
        +    throw new AxiosError$1('options must be an object', AxiosError$1.ERR_BAD_OPTION_VALUE);
        +  }
        +  const keys = Object.keys(options);
        +  let i = keys.length;
        +  while (i-- > 0) {
        +    const opt = keys[i];
        +    const validator = schema[opt];
        +    if (validator) {
        +      const value = options[opt];
        +      const result = value === undefined || validator(value, opt, options);
        +      if (result !== true) {
        +        throw new AxiosError$1(
        +          'option ' + opt + ' must be ' + result,
        +          AxiosError$1.ERR_BAD_OPTION_VALUE
        +        );
        +      }
        +      continue;
        +    }
        +    if (allowUnknown !== true) {
        +      throw new AxiosError$1('Unknown option ' + opt, AxiosError$1.ERR_BAD_OPTION);
        +    }
        +  }
        +}
        +
        +const validator = {
        +  assertOptions,
        +  validators: validators$1,
        +};
        +
        +const validators = validator.validators;
        +
        +/**
        + * Create a new instance of Axios
        + *
        + * @param {Object} instanceConfig The default config for the instance
        + *
        + * @return {Axios} A new instance of Axios
        + */
        +class Axios {
        +  constructor(instanceConfig) {
        +    this.defaults = instanceConfig || {};
        +    this.interceptors = {
        +      request: new InterceptorManager$1(),
        +      response: new InterceptorManager$1(),
        +    };
        +  }
        +
        +  /**
        +   * Dispatch a request
        +   *
        +   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
        +   * @param {?Object} config
        +   *
        +   * @returns {Promise} The Promise to be fulfilled
        +   */
        +  async request(configOrUrl, config) {
        +    try {
        +      return await this._request(configOrUrl, config);
        +    } catch (err) {
        +      if (err instanceof Error) {
        +        let dummy = {};
        +
        +        Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());
        +
        +        // slice off the Error: ... line
        +        const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : '';
        +        try {
        +          if (!err.stack) {
        +            err.stack = stack;
        +            // match without the 2 top stack lines
        +          } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) {
        +            err.stack += '\n' + stack;
        +          }
        +        } catch (e) {
        +          // ignore the case where "stack" is an un-writable property
        +        }
        +      }
        +
        +      throw err;
        +    }
        +  }
        +
        +  _request(configOrUrl, config) {
        +    /*eslint no-param-reassign:0*/
        +    // Allow for axios('example/url'[, config]) a la fetch API
        +    if (typeof configOrUrl === 'string') {
        +      config = config || {};
        +      config.url = configOrUrl;
        +    } else {
        +      config = configOrUrl || {};
        +    }
        +
        +    config = mergeConfig(this.defaults, config);
        +
        +    const { transitional, paramsSerializer, headers } = config;
        +
        +    if (transitional !== undefined) {
        +      validator.assertOptions(
        +        transitional,
        +        {
        +          silentJSONParsing: validators.transitional(validators.boolean),
        +          forcedJSONParsing: validators.transitional(validators.boolean),
        +          clarifyTimeoutError: validators.transitional(validators.boolean),
        +          legacyInterceptorReqResOrdering: validators.transitional(validators.boolean),
        +        },
        +        false
        +      );
        +    }
        +
        +    if (paramsSerializer != null) {
        +      if (utils$1.isFunction(paramsSerializer)) {
        +        config.paramsSerializer = {
        +          serialize: paramsSerializer,
        +        };
        +      } else {
        +        validator.assertOptions(
        +          paramsSerializer,
        +          {
        +            encode: validators.function,
        +            serialize: validators.function,
        +          },
        +          true
        +        );
        +      }
        +    }
        +
        +    // Set config.allowAbsoluteUrls
        +    if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) {
        +      config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
        +    } else {
        +      config.allowAbsoluteUrls = true;
        +    }
        +
        +    validator.assertOptions(
        +      config,
        +      {
        +        baseUrl: validators.spelling('baseURL'),
        +        withXsrfToken: validators.spelling('withXSRFToken'),
        +      },
        +      true
        +    );
        +
        +    // Set config.method
        +    config.method = (config.method || this.defaults.method || 'get').toLowerCase();
        +
        +    // Flatten headers
        +    let contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]);
        +
        +    headers &&
        +      utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], (method) => {
        +        delete headers[method];
        +      });
        +
        +    config.headers = AxiosHeaders$1.concat(contextHeaders, headers);
        +
        +    // filter out skipped interceptors
        +    const requestInterceptorChain = [];
        +    let synchronousRequestInterceptors = true;
        +    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
        +      if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
        +        return;
        +      }
        +
        +      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
        +
        +      const transitional = config.transitional || transitionalDefaults;
        +      const legacyInterceptorReqResOrdering =
        +        transitional && transitional.legacyInterceptorReqResOrdering;
        +
        +      if (legacyInterceptorReqResOrdering) {
        +        requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
        +      } else {
        +        requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
        +      }
        +    });
        +
        +    const responseInterceptorChain = [];
        +    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
        +      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
        +    });
        +
        +    let promise;
        +    let i = 0;
        +    let len;
        +
        +    if (!synchronousRequestInterceptors) {
        +      const chain = [dispatchRequest.bind(this), undefined];
        +      chain.unshift(...requestInterceptorChain);
        +      chain.push(...responseInterceptorChain);
        +      len = chain.length;
        +
        +      promise = Promise.resolve(config);
        +
        +      while (i < len) {
        +        promise = promise.then(chain[i++], chain[i++]);
        +      }
        +
        +      return promise;
        +    }
        +
        +    len = requestInterceptorChain.length;
        +
        +    let newConfig = config;
        +
        +    while (i < len) {
        +      const onFulfilled = requestInterceptorChain[i++];
        +      const onRejected = requestInterceptorChain[i++];
        +      try {
        +        newConfig = onFulfilled(newConfig);
        +      } catch (error) {
        +        onRejected.call(this, error);
        +        break;
        +      }
        +    }
        +
        +    try {
        +      promise = dispatchRequest.call(this, newConfig);
        +    } catch (error) {
        +      return Promise.reject(error);
        +    }
        +
        +    i = 0;
        +    len = responseInterceptorChain.length;
        +
        +    while (i < len) {
        +      promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
        +    }
        +
        +    return promise;
        +  }
        +
        +  getUri(config) {
        +    config = mergeConfig(this.defaults, config);
        +    const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
        +    return buildURL(fullPath, config.params, config.paramsSerializer);
        +  }
        +}
        +
        +// Provide aliases for supported request methods
        +utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
        +  /*eslint func-names:0*/
        +  Axios.prototype[method] = function (url, config) {
        +    return this.request(
        +      mergeConfig(config || {}, {
        +        method,
        +        url,
        +        data: (config || {}).data,
        +      })
        +    );
        +  };
        +});
        +
        +utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
        +  /*eslint func-names:0*/
        +
        +  function generateHTTPMethod(isForm) {
        +    return function httpMethod(url, data, config) {
        +      return this.request(
        +        mergeConfig(config || {}, {
        +          method,
        +          headers: isForm
        +            ? {
        +                'Content-Type': 'multipart/form-data',
        +              }
        +            : {},
        +          url,
        +          data,
        +        })
        +      );
        +    };
        +  }
        +
        +  Axios.prototype[method] = generateHTTPMethod();
        +
        +  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);
        +});
        +
        +const Axios$1 = Axios;
        +
        +/**
        + * A `CancelToken` is an object that can be used to request cancellation of an operation.
        + *
        + * @param {Function} executor The executor function.
        + *
        + * @returns {CancelToken}
        + */
        +class CancelToken {
        +  constructor(executor) {
        +    if (typeof executor !== 'function') {
        +      throw new TypeError('executor must be a function.');
        +    }
        +
        +    let resolvePromise;
        +
        +    this.promise = new Promise(function promiseExecutor(resolve) {
        +      resolvePromise = resolve;
        +    });
        +
        +    const token = this;
        +
        +    // eslint-disable-next-line func-names
        +    this.promise.then((cancel) => {
        +      if (!token._listeners) return;
        +
        +      let i = token._listeners.length;
        +
        +      while (i-- > 0) {
        +        token._listeners[i](cancel);
        +      }
        +      token._listeners = null;
        +    });
        +
        +    // eslint-disable-next-line func-names
        +    this.promise.then = (onfulfilled) => {
        +      let _resolve;
        +      // eslint-disable-next-line func-names
        +      const promise = new Promise((resolve) => {
        +        token.subscribe(resolve);
        +        _resolve = resolve;
        +      }).then(onfulfilled);
        +
        +      promise.cancel = function reject() {
        +        token.unsubscribe(_resolve);
        +      };
        +
        +      return promise;
        +    };
        +
        +    executor(function cancel(message, config, request) {
        +      if (token.reason) {
        +        // Cancellation has already been requested
        +        return;
        +      }
        +
        +      token.reason = new CanceledError$1(message, config, request);
        +      resolvePromise(token.reason);
        +    });
        +  }
        +
        +  /**
        +   * Throws a `CanceledError` if cancellation has been requested.
        +   */
        +  throwIfRequested() {
        +    if (this.reason) {
        +      throw this.reason;
        +    }
        +  }
        +
        +  /**
        +   * Subscribe to the cancel signal
        +   */
        +
        +  subscribe(listener) {
        +    if (this.reason) {
        +      listener(this.reason);
        +      return;
        +    }
        +
        +    if (this._listeners) {
        +      this._listeners.push(listener);
        +    } else {
        +      this._listeners = [listener];
        +    }
        +  }
        +
        +  /**
        +   * Unsubscribe from the cancel signal
        +   */
        +
        +  unsubscribe(listener) {
        +    if (!this._listeners) {
        +      return;
        +    }
        +    const index = this._listeners.indexOf(listener);
        +    if (index !== -1) {
        +      this._listeners.splice(index, 1);
        +    }
        +  }
        +
        +  toAbortSignal() {
        +    const controller = new AbortController();
        +
        +    const abort = (err) => {
        +      controller.abort(err);
        +    };
        +
        +    this.subscribe(abort);
        +
        +    controller.signal.unsubscribe = () => this.unsubscribe(abort);
        +
        +    return controller.signal;
        +  }
        +
        +  /**
        +   * Returns an object that contains a new `CancelToken` and a function that, when called,
        +   * cancels the `CancelToken`.
        +   */
        +  static source() {
        +    let cancel;
        +    const token = new CancelToken(function executor(c) {
        +      cancel = c;
        +    });
        +    return {
        +      token,
        +      cancel,
        +    };
        +  }
        +}
        +
        +const CancelToken$1 = CancelToken;
        +
        +/**
        + * Syntactic sugar for invoking a function and expanding an array for arguments.
        + *
        + * Common use case would be to use `Function.prototype.apply`.
        + *
        + *  ```js
        + *  function f(x, y, z) {}
        + *  const args = [1, 2, 3];
        + *  f.apply(null, args);
        + *  ```
        + *
        + * With `spread` this example can be re-written.
        + *
        + *  ```js
        + *  spread(function(x, y, z) {})([1, 2, 3]);
        + *  ```
        + *
        + * @param {Function} callback
        + *
        + * @returns {Function}
        + */
        +function spread(callback) {
        +  return function wrap(arr) {
        +    return callback.apply(null, arr);
        +  };
        +}
        +
        +/**
        + * Determines whether the payload is an error thrown by Axios
        + *
        + * @param {*} payload The value to test
        + *
        + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
        + */
        +function isAxiosError(payload) {
        +  return utils$1.isObject(payload) && payload.isAxiosError === true;
        +}
        +
        +const HttpStatusCode = {
        +  Continue: 100,
        +  SwitchingProtocols: 101,
        +  Processing: 102,
        +  EarlyHints: 103,
        +  Ok: 200,
        +  Created: 201,
        +  Accepted: 202,
        +  NonAuthoritativeInformation: 203,
        +  NoContent: 204,
        +  ResetContent: 205,
        +  PartialContent: 206,
        +  MultiStatus: 207,
        +  AlreadyReported: 208,
        +  ImUsed: 226,
        +  MultipleChoices: 300,
        +  MovedPermanently: 301,
        +  Found: 302,
        +  SeeOther: 303,
        +  NotModified: 304,
        +  UseProxy: 305,
        +  Unused: 306,
        +  TemporaryRedirect: 307,
        +  PermanentRedirect: 308,
        +  BadRequest: 400,
        +  Unauthorized: 401,
        +  PaymentRequired: 402,
        +  Forbidden: 403,
        +  NotFound: 404,
        +  MethodNotAllowed: 405,
        +  NotAcceptable: 406,
        +  ProxyAuthenticationRequired: 407,
        +  RequestTimeout: 408,
        +  Conflict: 409,
        +  Gone: 410,
        +  LengthRequired: 411,
        +  PreconditionFailed: 412,
        +  PayloadTooLarge: 413,
        +  UriTooLong: 414,
        +  UnsupportedMediaType: 415,
        +  RangeNotSatisfiable: 416,
        +  ExpectationFailed: 417,
        +  ImATeapot: 418,
        +  MisdirectedRequest: 421,
        +  UnprocessableEntity: 422,
        +  Locked: 423,
        +  FailedDependency: 424,
        +  TooEarly: 425,
        +  UpgradeRequired: 426,
        +  PreconditionRequired: 428,
        +  TooManyRequests: 429,
        +  RequestHeaderFieldsTooLarge: 431,
        +  UnavailableForLegalReasons: 451,
        +  InternalServerError: 500,
        +  NotImplemented: 501,
        +  BadGateway: 502,
        +  ServiceUnavailable: 503,
        +  GatewayTimeout: 504,
        +  HttpVersionNotSupported: 505,
        +  VariantAlsoNegotiates: 506,
        +  InsufficientStorage: 507,
        +  LoopDetected: 508,
        +  NotExtended: 510,
        +  NetworkAuthenticationRequired: 511,
        +  WebServerIsDown: 521,
        +  ConnectionTimedOut: 522,
        +  OriginIsUnreachable: 523,
        +  TimeoutOccurred: 524,
        +  SslHandshakeFailed: 525,
        +  InvalidSslCertificate: 526,
        +};
        +
        +Object.entries(HttpStatusCode).forEach(([key, value]) => {
        +  HttpStatusCode[value] = key;
        +});
        +
        +const HttpStatusCode$1 = HttpStatusCode;
        +
        +/**
        + * Create an instance of Axios
        + *
        + * @param {Object} defaultConfig The default config for the instance
        + *
        + * @returns {Axios} A new instance of Axios
        + */
        +function createInstance(defaultConfig) {
        +  const context = new Axios$1(defaultConfig);
        +  const instance = bind(Axios$1.prototype.request, context);
        +
        +  // Copy axios.prototype to instance
        +  utils$1.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });
        +
        +  // Copy context to instance
        +  utils$1.extend(instance, context, null, { allOwnKeys: true });
        +
        +  // Factory for creating new instances
        +  instance.create = function create(instanceConfig) {
        +    return createInstance(mergeConfig(defaultConfig, instanceConfig));
        +  };
        +
        +  return instance;
        +}
        +
        +// Create the default instance to be exported
        +const axios = createInstance(defaults$1);
        +
        +// Expose Axios class to allow class inheritance
        +axios.Axios = Axios$1;
        +
        +// Expose Cancel & CancelToken
        +axios.CanceledError = CanceledError$1;
        +axios.CancelToken = CancelToken$1;
        +axios.isCancel = isCancel;
        +axios.VERSION = VERSION;
        +axios.toFormData = toFormData;
        +
        +// Expose AxiosError class
        +axios.AxiosError = AxiosError$1;
        +
        +// alias for CanceledError for backward compatibility
        +axios.Cancel = axios.CanceledError;
        +
        +// Expose all/spread
        +axios.all = function all(promises) {
        +  return Promise.all(promises);
        +};
        +
        +axios.spread = spread;
        +
        +// Expose isAxiosError
        +axios.isAxiosError = isAxiosError;
        +
        +// Expose mergeConfig
        +axios.mergeConfig = mergeConfig;
        +
        +axios.AxiosHeaders = AxiosHeaders$1;
        +
        +axios.formToJSON = (thing) => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);
        +
        +axios.getAdapter = adapters.getAdapter;
        +
        +axios.HttpStatusCode = HttpStatusCode$1;
        +
        +axios.default = axios;
        +
        +module.exports = axios;
        +//# sourceMappingURL=axios.cjs.map
        +
        +
        +/***/ },
        +
        +/***/ 44573
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Scalar = __webpack_require__(26621);
        +var YAMLMap = __webpack_require__(23326);
        +var YAMLSeq = __webpack_require__(68743);
        +var resolveBlockMap = __webpack_require__(98535);
        +var resolveBlockSeq = __webpack_require__(87350);
        +var resolveFlowCollection = __webpack_require__(92478);
        +
        +function resolveCollection(CN, ctx, token, onError, tagName, tag) {
        +    const coll = token.type === 'block-map'
        +        ? resolveBlockMap.resolveBlockMap(CN, ctx, token, onError, tag)
        +        : token.type === 'block-seq'
        +            ? resolveBlockSeq.resolveBlockSeq(CN, ctx, token, onError, tag)
        +            : resolveFlowCollection.resolveFlowCollection(CN, ctx, token, onError, tag);
        +    const Coll = coll.constructor;
        +    // If we got a tagName matching the class, or the tag name is '!',
        +    // then use the tagName from the node class used to create it.
        +    if (tagName === '!' || tagName === Coll.tagName) {
        +        coll.tag = Coll.tagName;
        +        return coll;
        +    }
        +    if (tagName)
        +        coll.tag = tagName;
        +    return coll;
        +}
        +function composeCollection(CN, ctx, token, props, onError) {
        +    const tagToken = props.tag;
        +    const tagName = !tagToken
        +        ? null
        +        : ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg));
        +    if (token.type === 'block-seq') {
        +        const { anchor, newlineAfterProp: nl } = props;
        +        const lastProp = anchor && tagToken
        +            ? anchor.offset > tagToken.offset
        +                ? anchor
        +                : tagToken
        +            : (anchor ?? tagToken);
        +        if (lastProp && (!nl || nl.offset < lastProp.offset)) {
        +            const message = 'Missing newline after block sequence props';
        +            onError(lastProp, 'MISSING_CHAR', message);
        +        }
        +    }
        +    const expType = token.type === 'block-map'
        +        ? 'map'
        +        : token.type === 'block-seq'
        +            ? 'seq'
        +            : token.start.source === '{'
        +                ? 'map'
        +                : 'seq';
        +    // shortcut: check if it's a generic YAMLMap or YAMLSeq
        +    // before jumping into the custom tag logic.
        +    if (!tagToken ||
        +        !tagName ||
        +        tagName === '!' ||
        +        (tagName === YAMLMap.YAMLMap.tagName && expType === 'map') ||
        +        (tagName === YAMLSeq.YAMLSeq.tagName && expType === 'seq')) {
        +        return resolveCollection(CN, ctx, token, onError, tagName);
        +    }
        +    let tag = ctx.schema.tags.find(t => t.tag === tagName && t.collection === expType);
        +    if (!tag) {
        +        const kt = ctx.schema.knownTags[tagName];
        +        if (kt?.collection === expType) {
        +            ctx.schema.tags.push(Object.assign({}, kt, { default: false }));
        +            tag = kt;
        +        }
        +        else {
        +            if (kt) {
        +                onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? 'scalar'}`, true);
        +            }
        +            else {
        +                onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true);
        +            }
        +            return resolveCollection(CN, ctx, token, onError, tagName);
        +        }
        +    }
        +    const coll = resolveCollection(CN, ctx, token, onError, tagName, tag);
        +    const res = tag.resolve?.(coll, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg), ctx.options) ?? coll;
        +    const node = identity.isNode(res)
        +        ? res
        +        : new Scalar.Scalar(res);
        +    node.range = coll.range;
        +    node.tag = tagName;
        +    if (tag?.format)
        +        node.format = tag.format;
        +    return node;
        +}
        +
        +exports.composeCollection = composeCollection;
        +
        +
        +/***/ },
        +
        +/***/ 10971
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Document = __webpack_require__(53973);
        +var composeNode = __webpack_require__(15113);
        +var resolveEnd = __webpack_require__(39524);
        +var resolveProps = __webpack_require__(70095);
        +
        +function composeDoc(options, directives, { offset, start, value, end }, onError) {
        +    const opts = Object.assign({ _directives: directives }, options);
        +    const doc = new Document.Document(undefined, opts);
        +    const ctx = {
        +        atKey: false,
        +        atRoot: true,
        +        directives: doc.directives,
        +        options: doc.options,
        +        schema: doc.schema
        +    };
        +    const props = resolveProps.resolveProps(start, {
        +        indicator: 'doc-start',
        +        next: value ?? end?.[0],
        +        offset,
        +        onError,
        +        parentIndent: 0,
        +        startOnNewline: true
        +    });
        +    if (props.found) {
        +        doc.directives.docStart = true;
        +        if (value &&
        +            (value.type === 'block-map' || value.type === 'block-seq') &&
        +            !props.hasNewline)
        +            onError(props.end, 'MISSING_CHAR', 'Block collection cannot start on same line with directives-end marker');
        +    }
        +    // @ts-expect-error If Contents is set, let's trust the user
        +    doc.contents = value
        +        ? composeNode.composeNode(ctx, value, props, onError)
        +        : composeNode.composeEmptyNode(ctx, props.end, start, null, props, onError);
        +    const contentEnd = doc.contents.range[2];
        +    const re = resolveEnd.resolveEnd(end, contentEnd, false, onError);
        +    if (re.comment)
        +        doc.comment = re.comment;
        +    doc.range = [offset, contentEnd, re.offset];
        +    return doc;
        +}
        +
        +exports.composeDoc = composeDoc;
        +
        +
        +/***/ },
        +
        +/***/ 15113
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Alias = __webpack_require__(82201);
        +var identity = __webpack_require__(41359);
        +var composeCollection = __webpack_require__(44573);
        +var composeScalar = __webpack_require__(23853);
        +var resolveEnd = __webpack_require__(39524);
        +var utilEmptyScalarPosition = __webpack_require__(34095);
        +
        +const CN = { composeNode, composeEmptyNode };
        +function composeNode(ctx, token, props, onError) {
        +    const atKey = ctx.atKey;
        +    const { spaceBefore, comment, anchor, tag } = props;
        +    let node;
        +    let isSrcToken = true;
        +    switch (token.type) {
        +        case 'alias':
        +            node = composeAlias(ctx, token, onError);
        +            if (anchor || tag)
        +                onError(token, 'ALIAS_PROPS', 'An alias node must not specify any properties');
        +            break;
        +        case 'scalar':
        +        case 'single-quoted-scalar':
        +        case 'double-quoted-scalar':
        +        case 'block-scalar':
        +            node = composeScalar.composeScalar(ctx, token, tag, onError);
        +            if (anchor)
        +                node.anchor = anchor.source.substring(1);
        +            break;
        +        case 'block-map':
        +        case 'block-seq':
        +        case 'flow-collection':
        +            node = composeCollection.composeCollection(CN, ctx, token, props, onError);
        +            if (anchor)
        +                node.anchor = anchor.source.substring(1);
        +            break;
        +        default: {
        +            const message = token.type === 'error'
        +                ? token.message
        +                : `Unsupported token (type: ${token.type})`;
        +            onError(token, 'UNEXPECTED_TOKEN', message);
        +            node = composeEmptyNode(ctx, token.offset, undefined, null, props, onError);
        +            isSrcToken = false;
        +        }
        +    }
        +    if (anchor && node.anchor === '')
        +        onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
        +    if (atKey &&
        +        ctx.options.stringKeys &&
        +        (!identity.isScalar(node) ||
        +            typeof node.value !== 'string' ||
        +            (node.tag && node.tag !== 'tag:yaml.org,2002:str'))) {
        +        const msg = 'With stringKeys, all keys must be strings';
        +        onError(tag ?? token, 'NON_STRING_KEY', msg);
        +    }
        +    if (spaceBefore)
        +        node.spaceBefore = true;
        +    if (comment) {
        +        if (token.type === 'scalar' && token.source === '')
        +            node.comment = comment;
        +        else
        +            node.commentBefore = comment;
        +    }
        +    // @ts-expect-error Type checking misses meaning of isSrcToken
        +    if (ctx.options.keepSourceTokens && isSrcToken)
        +        node.srcToken = token;
        +    return node;
        +}
        +function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag, end }, onError) {
        +    const token = {
        +        type: 'scalar',
        +        offset: utilEmptyScalarPosition.emptyScalarPosition(offset, before, pos),
        +        indent: -1,
        +        source: ''
        +    };
        +    const node = composeScalar.composeScalar(ctx, token, tag, onError);
        +    if (anchor) {
        +        node.anchor = anchor.source.substring(1);
        +        if (node.anchor === '')
        +            onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
        +    }
        +    if (spaceBefore)
        +        node.spaceBefore = true;
        +    if (comment) {
        +        node.comment = comment;
        +        node.range[2] = end;
        +    }
        +    return node;
        +}
        +function composeAlias({ options }, { offset, source, end }, onError) {
        +    const alias = new Alias.Alias(source.substring(1));
        +    if (alias.source === '')
        +        onError(offset, 'BAD_ALIAS', 'Alias cannot be an empty string');
        +    if (alias.source.endsWith(':'))
        +        onError(offset + source.length - 1, 'BAD_ALIAS', 'Alias ending in : is ambiguous', true);
        +    const valueEnd = offset + source.length;
        +    const re = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError);
        +    alias.range = [offset, valueEnd, re.offset];
        +    if (re.comment)
        +        alias.comment = re.comment;
        +    return alias;
        +}
        +
        +exports.composeEmptyNode = composeEmptyNode;
        +exports.composeNode = composeNode;
        +
        +
        +/***/ },
        +
        +/***/ 23853
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Scalar = __webpack_require__(26621);
        +var resolveBlockScalar = __webpack_require__(87497);
        +var resolveFlowScalar = __webpack_require__(76450);
        +
        +function composeScalar(ctx, token, tagToken, onError) {
        +    const { value, type, comment, range } = token.type === 'block-scalar'
        +        ? resolveBlockScalar.resolveBlockScalar(ctx, token, onError)
        +        : resolveFlowScalar.resolveFlowScalar(token, ctx.options.strict, onError);
        +    const tagName = tagToken
        +        ? ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg))
        +        : null;
        +    let tag;
        +    if (ctx.options.stringKeys && ctx.atKey) {
        +        tag = ctx.schema[identity.SCALAR];
        +    }
        +    else if (tagName)
        +        tag = findScalarTagByName(ctx.schema, value, tagName, tagToken, onError);
        +    else if (token.type === 'scalar')
        +        tag = findScalarTagByTest(ctx, value, token, onError);
        +    else
        +        tag = ctx.schema[identity.SCALAR];
        +    let scalar;
        +    try {
        +        const res = tag.resolve(value, msg => onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg), ctx.options);
        +        scalar = identity.isScalar(res) ? res : new Scalar.Scalar(res);
        +    }
        +    catch (error) {
        +        const msg = error instanceof Error ? error.message : String(error);
        +        onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg);
        +        scalar = new Scalar.Scalar(value);
        +    }
        +    scalar.range = range;
        +    scalar.source = value;
        +    if (type)
        +        scalar.type = type;
        +    if (tagName)
        +        scalar.tag = tagName;
        +    if (tag.format)
        +        scalar.format = tag.format;
        +    if (comment)
        +        scalar.comment = comment;
        +    return scalar;
        +}
        +function findScalarTagByName(schema, value, tagName, tagToken, onError) {
        +    if (tagName === '!')
        +        return schema[identity.SCALAR]; // non-specific tag
        +    const matchWithTest = [];
        +    for (const tag of schema.tags) {
        +        if (!tag.collection && tag.tag === tagName) {
        +            if (tag.default && tag.test)
        +                matchWithTest.push(tag);
        +            else
        +                return tag;
        +        }
        +    }
        +    for (const tag of matchWithTest)
        +        if (tag.test?.test(value))
        +            return tag;
        +    const kt = schema.knownTags[tagName];
        +    if (kt && !kt.collection) {
        +        // Ensure that the known tag is available for stringifying,
        +        // but does not get used by default.
        +        schema.tags.push(Object.assign({}, kt, { default: false, test: undefined }));
        +        return kt;
        +    }
        +    onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, tagName !== 'tag:yaml.org,2002:str');
        +    return schema[identity.SCALAR];
        +}
        +function findScalarTagByTest({ atKey, directives, schema }, value, token, onError) {
        +    const tag = schema.tags.find(tag => (tag.default === true || (atKey && tag.default === 'key')) &&
        +        tag.test?.test(value)) || schema[identity.SCALAR];
        +    if (schema.compat) {
        +        const compat = schema.compat.find(tag => tag.default && tag.test?.test(value)) ??
        +            schema[identity.SCALAR];
        +        if (tag.tag !== compat.tag) {
        +            const ts = directives.tagString(tag.tag);
        +            const cs = directives.tagString(compat.tag);
        +            const msg = `Value may be parsed as either ${ts} or ${cs}`;
        +            onError(token, 'TAG_RESOLVE_FAILED', msg, true);
        +        }
        +    }
        +    return tag;
        +}
        +
        +exports.composeScalar = composeScalar;
        +
        +
        +/***/ },
        +
        +/***/ 34664
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_process = __webpack_require__(932);
        +var directives = __webpack_require__(14454);
        +var Document = __webpack_require__(53973);
        +var errors = __webpack_require__(27856);
        +var identity = __webpack_require__(41359);
        +var composeDoc = __webpack_require__(10971);
        +var resolveEnd = __webpack_require__(39524);
        +
        +function getErrorPos(src) {
        +    if (typeof src === 'number')
        +        return [src, src + 1];
        +    if (Array.isArray(src))
        +        return src.length === 2 ? src : [src[0], src[1]];
        +    const { offset, source } = src;
        +    return [offset, offset + (typeof source === 'string' ? source.length : 1)];
        +}
        +function parsePrelude(prelude) {
        +    let comment = '';
        +    let atComment = false;
        +    let afterEmptyLine = false;
        +    for (let i = 0; i < prelude.length; ++i) {
        +        const source = prelude[i];
        +        switch (source[0]) {
        +            case '#':
        +                comment +=
        +                    (comment === '' ? '' : afterEmptyLine ? '\n\n' : '\n') +
        +                        (source.substring(1) || ' ');
        +                atComment = true;
        +                afterEmptyLine = false;
        +                break;
        +            case '%':
        +                if (prelude[i + 1]?.[0] !== '#')
        +                    i += 1;
        +                atComment = false;
        +                break;
        +            default:
        +                // This may be wrong after doc-end, but in that case it doesn't matter
        +                if (!atComment)
        +                    afterEmptyLine = true;
        +                atComment = false;
        +        }
        +    }
        +    return { comment, afterEmptyLine };
        +}
        +/**
        + * Compose a stream of CST nodes into a stream of YAML Documents.
        + *
        + * ```ts
        + * import { Composer, Parser } from 'yaml'
        + *
        + * const src: string = ...
        + * const tokens = new Parser().parse(src)
        + * const docs = new Composer().compose(tokens)
        + * ```
        + */
        +class Composer {
        +    constructor(options = {}) {
        +        this.doc = null;
        +        this.atDirectives = false;
        +        this.prelude = [];
        +        this.errors = [];
        +        this.warnings = [];
        +        this.onError = (source, code, message, warning) => {
        +            const pos = getErrorPos(source);
        +            if (warning)
        +                this.warnings.push(new errors.YAMLWarning(pos, code, message));
        +            else
        +                this.errors.push(new errors.YAMLParseError(pos, code, message));
        +        };
        +        // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        +        this.directives = new directives.Directives({ version: options.version || '1.2' });
        +        this.options = options;
        +    }
        +    decorate(doc, afterDoc) {
        +        const { comment, afterEmptyLine } = parsePrelude(this.prelude);
        +        //console.log({ dc: doc.comment, prelude, comment })
        +        if (comment) {
        +            const dc = doc.contents;
        +            if (afterDoc) {
        +                doc.comment = doc.comment ? `${doc.comment}\n${comment}` : comment;
        +            }
        +            else if (afterEmptyLine || doc.directives.docStart || !dc) {
        +                doc.commentBefore = comment;
        +            }
        +            else if (identity.isCollection(dc) && !dc.flow && dc.items.length > 0) {
        +                let it = dc.items[0];
        +                if (identity.isPair(it))
        +                    it = it.key;
        +                const cb = it.commentBefore;
        +                it.commentBefore = cb ? `${comment}\n${cb}` : comment;
        +            }
        +            else {
        +                const cb = dc.commentBefore;
        +                dc.commentBefore = cb ? `${comment}\n${cb}` : comment;
        +            }
        +        }
        +        if (afterDoc) {
        +            Array.prototype.push.apply(doc.errors, this.errors);
        +            Array.prototype.push.apply(doc.warnings, this.warnings);
        +        }
        +        else {
        +            doc.errors = this.errors;
        +            doc.warnings = this.warnings;
        +        }
        +        this.prelude = [];
        +        this.errors = [];
        +        this.warnings = [];
        +    }
        +    /**
        +     * Current stream status information.
        +     *
        +     * Mostly useful at the end of input for an empty stream.
        +     */
        +    streamInfo() {
        +        return {
        +            comment: parsePrelude(this.prelude).comment,
        +            directives: this.directives,
        +            errors: this.errors,
        +            warnings: this.warnings
        +        };
        +    }
        +    /**
        +     * Compose tokens into documents.
        +     *
        +     * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
        +     * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
        +     */
        +    *compose(tokens, forceDoc = false, endOffset = -1) {
        +        for (const token of tokens)
        +            yield* this.next(token);
        +        yield* this.end(forceDoc, endOffset);
        +    }
        +    /** Advance the composer by one CST token. */
        +    *next(token) {
        +        if (node_process.env.LOG_STREAM)
        +            console.dir(token, { depth: null });
        +        switch (token.type) {
        +            case 'directive':
        +                this.directives.add(token.source, (offset, message, warning) => {
        +                    const pos = getErrorPos(token);
        +                    pos[0] += offset;
        +                    this.onError(pos, 'BAD_DIRECTIVE', message, warning);
        +                });
        +                this.prelude.push(token.source);
        +                this.atDirectives = true;
        +                break;
        +            case 'document': {
        +                const doc = composeDoc.composeDoc(this.options, this.directives, token, this.onError);
        +                if (this.atDirectives && !doc.directives.docStart)
        +                    this.onError(token, 'MISSING_CHAR', 'Missing directives-end/doc-start indicator line');
        +                this.decorate(doc, false);
        +                if (this.doc)
        +                    yield this.doc;
        +                this.doc = doc;
        +                this.atDirectives = false;
        +                break;
        +            }
        +            case 'byte-order-mark':
        +            case 'space':
        +                break;
        +            case 'comment':
        +            case 'newline':
        +                this.prelude.push(token.source);
        +                break;
        +            case 'error': {
        +                const msg = token.source
        +                    ? `${token.message}: ${JSON.stringify(token.source)}`
        +                    : token.message;
        +                const error = new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg);
        +                if (this.atDirectives || !this.doc)
        +                    this.errors.push(error);
        +                else
        +                    this.doc.errors.push(error);
        +                break;
        +            }
        +            case 'doc-end': {
        +                if (!this.doc) {
        +                    const msg = 'Unexpected doc-end without preceding document';
        +                    this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg));
        +                    break;
        +                }
        +                this.doc.directives.docEnd = true;
        +                const end = resolveEnd.resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError);
        +                this.decorate(this.doc, true);
        +                if (end.comment) {
        +                    const dc = this.doc.comment;
        +                    this.doc.comment = dc ? `${dc}\n${end.comment}` : end.comment;
        +                }
        +                this.doc.range[2] = end.offset;
        +                break;
        +            }
        +            default:
        +                this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', `Unsupported token ${token.type}`));
        +        }
        +    }
        +    /**
        +     * Call at end of input to yield any remaining document.
        +     *
        +     * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
        +     * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
        +     */
        +    *end(forceDoc = false, endOffset = -1) {
        +        if (this.doc) {
        +            this.decorate(this.doc, true);
        +            yield this.doc;
        +            this.doc = null;
        +        }
        +        else if (forceDoc) {
        +            const opts = Object.assign({ _directives: this.directives }, this.options);
        +            const doc = new Document.Document(undefined, opts);
        +            if (this.atDirectives)
        +                this.onError(endOffset, 'MISSING_CHAR', 'Missing directives-end indicator line');
        +            doc.range = [0, endOffset, endOffset];
        +            this.decorate(doc, false);
        +            yield doc;
        +        }
        +    }
        +}
        +
        +exports.Composer = Composer;
        +
        +
        +/***/ },
        +
        +/***/ 98535
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Pair = __webpack_require__(72613);
        +var YAMLMap = __webpack_require__(23326);
        +var resolveProps = __webpack_require__(70095);
        +var utilContainsNewline = __webpack_require__(78211);
        +var utilFlowIndentCheck = __webpack_require__(21243);
        +var utilMapIncludes = __webpack_require__(40171);
        +
        +const startColMsg = 'All mapping items must start at the same column';
        +function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError, tag) {
        +    const NodeClass = tag?.nodeClass ?? YAMLMap.YAMLMap;
        +    const map = new NodeClass(ctx.schema);
        +    if (ctx.atRoot)
        +        ctx.atRoot = false;
        +    let offset = bm.offset;
        +    let commentEnd = null;
        +    for (const collItem of bm.items) {
        +        const { start, key, sep, value } = collItem;
        +        // key properties
        +        const keyProps = resolveProps.resolveProps(start, {
        +            indicator: 'explicit-key-ind',
        +            next: key ?? sep?.[0],
        +            offset,
        +            onError,
        +            parentIndent: bm.indent,
        +            startOnNewline: true
        +        });
        +        const implicitKey = !keyProps.found;
        +        if (implicitKey) {
        +            if (key) {
        +                if (key.type === 'block-seq')
        +                    onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'A block sequence may not be used as an implicit map key');
        +                else if ('indent' in key && key.indent !== bm.indent)
        +                    onError(offset, 'BAD_INDENT', startColMsg);
        +            }
        +            if (!keyProps.anchor && !keyProps.tag && !sep) {
        +                commentEnd = keyProps.end;
        +                if (keyProps.comment) {
        +                    if (map.comment)
        +                        map.comment += '\n' + keyProps.comment;
        +                    else
        +                        map.comment = keyProps.comment;
        +                }
        +                continue;
        +            }
        +            if (keyProps.newlineAfterProp || utilContainsNewline.containsNewline(key)) {
        +                onError(key ?? start[start.length - 1], 'MULTILINE_IMPLICIT_KEY', 'Implicit keys need to be on a single line');
        +            }
        +        }
        +        else if (keyProps.found?.indent !== bm.indent) {
        +            onError(offset, 'BAD_INDENT', startColMsg);
        +        }
        +        // key value
        +        ctx.atKey = true;
        +        const keyStart = keyProps.end;
        +        const keyNode = key
        +            ? composeNode(ctx, key, keyProps, onError)
        +            : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
        +        if (ctx.schema.compat)
        +            utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError);
        +        ctx.atKey = false;
        +        if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode))
        +            onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
        +        // value properties
        +        const valueProps = resolveProps.resolveProps(sep ?? [], {
        +            indicator: 'map-value-ind',
        +            next: value,
        +            offset: keyNode.range[2],
        +            onError,
        +            parentIndent: bm.indent,
        +            startOnNewline: !key || key.type === 'block-scalar'
        +        });
        +        offset = valueProps.end;
        +        if (valueProps.found) {
        +            if (implicitKey) {
        +                if (value?.type === 'block-map' && !valueProps.hasNewline)
        +                    onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'Nested mappings are not allowed in compact mappings');
        +                if (ctx.options.strict &&
        +                    keyProps.start < valueProps.found.offset - 1024)
        +                    onError(keyNode.range, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit block mapping key');
        +            }
        +            // value value
        +            const valueNode = value
        +                ? composeNode(ctx, value, valueProps, onError)
        +                : composeEmptyNode(ctx, offset, sep, null, valueProps, onError);
        +            if (ctx.schema.compat)
        +                utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError);
        +            offset = valueNode.range[2];
        +            const pair = new Pair.Pair(keyNode, valueNode);
        +            if (ctx.options.keepSourceTokens)
        +                pair.srcToken = collItem;
        +            map.items.push(pair);
        +        }
        +        else {
        +            // key with no value
        +            if (implicitKey)
        +                onError(keyNode.range, 'MISSING_CHAR', 'Implicit map keys need to be followed by map values');
        +            if (valueProps.comment) {
        +                if (keyNode.comment)
        +                    keyNode.comment += '\n' + valueProps.comment;
        +                else
        +                    keyNode.comment = valueProps.comment;
        +            }
        +            const pair = new Pair.Pair(keyNode);
        +            if (ctx.options.keepSourceTokens)
        +                pair.srcToken = collItem;
        +            map.items.push(pair);
        +        }
        +    }
        +    if (commentEnd && commentEnd < offset)
        +        onError(commentEnd, 'IMPOSSIBLE', 'Map comment with trailing content');
        +    map.range = [bm.offset, offset, commentEnd ?? offset];
        +    return map;
        +}
        +
        +exports.resolveBlockMap = resolveBlockMap;
        +
        +
        +/***/ },
        +
        +/***/ 87497
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +
        +function resolveBlockScalar(ctx, scalar, onError) {
        +    const start = scalar.offset;
        +    const header = parseBlockScalarHeader(scalar, ctx.options.strict, onError);
        +    if (!header)
        +        return { value: '', type: null, comment: '', range: [start, start, start] };
        +    const type = header.mode === '>' ? Scalar.Scalar.BLOCK_FOLDED : Scalar.Scalar.BLOCK_LITERAL;
        +    const lines = scalar.source ? splitLines(scalar.source) : [];
        +    // determine the end of content & start of chomping
        +    let chompStart = lines.length;
        +    for (let i = lines.length - 1; i >= 0; --i) {
        +        const content = lines[i][1];
        +        if (content === '' || content === '\r')
        +            chompStart = i;
        +        else
        +            break;
        +    }
        +    // shortcut for empty contents
        +    if (chompStart === 0) {
        +        const value = header.chomp === '+' && lines.length > 0
        +            ? '\n'.repeat(Math.max(1, lines.length - 1))
        +            : '';
        +        let end = start + header.length;
        +        if (scalar.source)
        +            end += scalar.source.length;
        +        return { value, type, comment: header.comment, range: [start, end, end] };
        +    }
        +    // find the indentation level to trim from start
        +    let trimIndent = scalar.indent + header.indent;
        +    let offset = scalar.offset + header.length;
        +    let contentStart = 0;
        +    for (let i = 0; i < chompStart; ++i) {
        +        const [indent, content] = lines[i];
        +        if (content === '' || content === '\r') {
        +            if (header.indent === 0 && indent.length > trimIndent)
        +                trimIndent = indent.length;
        +        }
        +        else {
        +            if (indent.length < trimIndent) {
        +                const message = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';
        +                onError(offset + indent.length, 'MISSING_CHAR', message);
        +            }
        +            if (header.indent === 0)
        +                trimIndent = indent.length;
        +            contentStart = i;
        +            if (trimIndent === 0 && !ctx.atRoot) {
        +                const message = 'Block scalar values in collections must be indented';
        +                onError(offset, 'BAD_INDENT', message);
        +            }
        +            break;
        +        }
        +        offset += indent.length + content.length + 1;
        +    }
        +    // include trailing more-indented empty lines in content
        +    for (let i = lines.length - 1; i >= chompStart; --i) {
        +        if (lines[i][0].length > trimIndent)
        +            chompStart = i + 1;
        +    }
        +    let value = '';
        +    let sep = '';
        +    let prevMoreIndented = false;
        +    // leading whitespace is kept intact
        +    for (let i = 0; i < contentStart; ++i)
        +        value += lines[i][0].slice(trimIndent) + '\n';
        +    for (let i = contentStart; i < chompStart; ++i) {
        +        let [indent, content] = lines[i];
        +        offset += indent.length + content.length + 1;
        +        const crlf = content[content.length - 1] === '\r';
        +        if (crlf)
        +            content = content.slice(0, -1);
        +        /* istanbul ignore if already caught in lexer */
        +        if (content && indent.length < trimIndent) {
        +            const src = header.indent
        +                ? 'explicit indentation indicator'
        +                : 'first line';
        +            const message = `Block scalar lines must not be less indented than their ${src}`;
        +            onError(offset - content.length - (crlf ? 2 : 1), 'BAD_INDENT', message);
        +            indent = '';
        +        }
        +        if (type === Scalar.Scalar.BLOCK_LITERAL) {
        +            value += sep + indent.slice(trimIndent) + content;
        +            sep = '\n';
        +        }
        +        else if (indent.length > trimIndent || content[0] === '\t') {
        +            // more-indented content within a folded block
        +            if (sep === ' ')
        +                sep = '\n';
        +            else if (!prevMoreIndented && sep === '\n')
        +                sep = '\n\n';
        +            value += sep + indent.slice(trimIndent) + content;
        +            sep = '\n';
        +            prevMoreIndented = true;
        +        }
        +        else if (content === '') {
        +            // empty line
        +            if (sep === '\n')
        +                value += '\n';
        +            else
        +                sep = '\n';
        +        }
        +        else {
        +            value += sep + content;
        +            sep = ' ';
        +            prevMoreIndented = false;
        +        }
        +    }
        +    switch (header.chomp) {
        +        case '-':
        +            break;
        +        case '+':
        +            for (let i = chompStart; i < lines.length; ++i)
        +                value += '\n' + lines[i][0].slice(trimIndent);
        +            if (value[value.length - 1] !== '\n')
        +                value += '\n';
        +            break;
        +        default:
        +            value += '\n';
        +    }
        +    const end = start + header.length + scalar.source.length;
        +    return { value, type, comment: header.comment, range: [start, end, end] };
        +}
        +function parseBlockScalarHeader({ offset, props }, strict, onError) {
        +    /* istanbul ignore if should not happen */
        +    if (props[0].type !== 'block-scalar-header') {
        +        onError(props[0], 'IMPOSSIBLE', 'Block scalar header not found');
        +        return null;
        +    }
        +    const { source } = props[0];
        +    const mode = source[0];
        +    let indent = 0;
        +    let chomp = '';
        +    let error = -1;
        +    for (let i = 1; i < source.length; ++i) {
        +        const ch = source[i];
        +        if (!chomp && (ch === '-' || ch === '+'))
        +            chomp = ch;
        +        else {
        +            const n = Number(ch);
        +            if (!indent && n)
        +                indent = n;
        +            else if (error === -1)
        +                error = offset + i;
        +        }
        +    }
        +    if (error !== -1)
        +        onError(error, 'UNEXPECTED_TOKEN', `Block scalar header includes extra characters: ${source}`);
        +    let hasSpace = false;
        +    let comment = '';
        +    let length = source.length;
        +    for (let i = 1; i < props.length; ++i) {
        +        const token = props[i];
        +        switch (token.type) {
        +            case 'space':
        +                hasSpace = true;
        +            // fallthrough
        +            case 'newline':
        +                length += token.source.length;
        +                break;
        +            case 'comment':
        +                if (strict && !hasSpace) {
        +                    const message = 'Comments must be separated from other tokens by white space characters';
        +                    onError(token, 'MISSING_CHAR', message);
        +                }
        +                length += token.source.length;
        +                comment = token.source.substring(1);
        +                break;
        +            case 'error':
        +                onError(token, 'UNEXPECTED_TOKEN', token.message);
        +                length += token.source.length;
        +                break;
        +            /* istanbul ignore next should not happen */
        +            default: {
        +                const message = `Unexpected token in block scalar header: ${token.type}`;
        +                onError(token, 'UNEXPECTED_TOKEN', message);
        +                const ts = token.source;
        +                if (ts && typeof ts === 'string')
        +                    length += ts.length;
        +            }
        +        }
        +    }
        +    return { mode, indent, chomp, comment, length };
        +}
        +/** @returns Array of lines split up as `[indent, content]` */
        +function splitLines(source) {
        +    const split = source.split(/\n( *)/);
        +    const first = split[0];
        +    const m = first.match(/^( *)/);
        +    const line0 = m?.[1]
        +        ? [m[1], first.slice(m[1].length)]
        +        : ['', first];
        +    const lines = [line0];
        +    for (let i = 1; i < split.length; i += 2)
        +        lines.push([split[i], split[i + 1]]);
        +    return lines;
        +}
        +
        +exports.resolveBlockScalar = resolveBlockScalar;
        +
        +
        +/***/ },
        +
        +/***/ 87350
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var YAMLSeq = __webpack_require__(68743);
        +var resolveProps = __webpack_require__(70095);
        +var utilFlowIndentCheck = __webpack_require__(21243);
        +
        +function resolveBlockSeq({ composeNode, composeEmptyNode }, ctx, bs, onError, tag) {
        +    const NodeClass = tag?.nodeClass ?? YAMLSeq.YAMLSeq;
        +    const seq = new NodeClass(ctx.schema);
        +    if (ctx.atRoot)
        +        ctx.atRoot = false;
        +    if (ctx.atKey)
        +        ctx.atKey = false;
        +    let offset = bs.offset;
        +    let commentEnd = null;
        +    for (const { start, value } of bs.items) {
        +        const props = resolveProps.resolveProps(start, {
        +            indicator: 'seq-item-ind',
        +            next: value,
        +            offset,
        +            onError,
        +            parentIndent: bs.indent,
        +            startOnNewline: true
        +        });
        +        if (!props.found) {
        +            if (props.anchor || props.tag || value) {
        +                if (value?.type === 'block-seq')
        +                    onError(props.end, 'BAD_INDENT', 'All sequence items must start at the same column');
        +                else
        +                    onError(offset, 'MISSING_CHAR', 'Sequence item without - indicator');
        +            }
        +            else {
        +                commentEnd = props.end;
        +                if (props.comment)
        +                    seq.comment = props.comment;
        +                continue;
        +            }
        +        }
        +        const node = value
        +            ? composeNode(ctx, value, props, onError)
        +            : composeEmptyNode(ctx, props.end, start, null, props, onError);
        +        if (ctx.schema.compat)
        +            utilFlowIndentCheck.flowIndentCheck(bs.indent, value, onError);
        +        offset = node.range[2];
        +        seq.items.push(node);
        +    }
        +    seq.range = [bs.offset, offset, commentEnd ?? offset];
        +    return seq;
        +}
        +
        +exports.resolveBlockSeq = resolveBlockSeq;
        +
        +
        +/***/ },
        +
        +/***/ 39524
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function resolveEnd(end, offset, reqSpace, onError) {
        +    let comment = '';
        +    if (end) {
        +        let hasSpace = false;
        +        let sep = '';
        +        for (const token of end) {
        +            const { source, type } = token;
        +            switch (type) {
        +                case 'space':
        +                    hasSpace = true;
        +                    break;
        +                case 'comment': {
        +                    if (reqSpace && !hasSpace)
        +                        onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
        +                    const cb = source.substring(1) || ' ';
        +                    if (!comment)
        +                        comment = cb;
        +                    else
        +                        comment += sep + cb;
        +                    sep = '';
        +                    break;
        +                }
        +                case 'newline':
        +                    if (comment)
        +                        sep += source;
        +                    hasSpace = true;
        +                    break;
        +                default:
        +                    onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${type} at node end`);
        +            }
        +            offset += source.length;
        +        }
        +    }
        +    return { comment, offset };
        +}
        +
        +exports.resolveEnd = resolveEnd;
        +
        +
        +/***/ },
        +
        +/***/ 92478
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Pair = __webpack_require__(72613);
        +var YAMLMap = __webpack_require__(23326);
        +var YAMLSeq = __webpack_require__(68743);
        +var resolveEnd = __webpack_require__(39524);
        +var resolveProps = __webpack_require__(70095);
        +var utilContainsNewline = __webpack_require__(78211);
        +var utilMapIncludes = __webpack_require__(40171);
        +
        +const blockMsg = 'Block collections are not allowed within flow collections';
        +const isBlock = (token) => token && (token.type === 'block-map' || token.type === 'block-seq');
        +function resolveFlowCollection({ composeNode, composeEmptyNode }, ctx, fc, onError, tag) {
        +    const isMap = fc.start.source === '{';
        +    const fcName = isMap ? 'flow map' : 'flow sequence';
        +    const NodeClass = (tag?.nodeClass ?? (isMap ? YAMLMap.YAMLMap : YAMLSeq.YAMLSeq));
        +    const coll = new NodeClass(ctx.schema);
        +    coll.flow = true;
        +    const atRoot = ctx.atRoot;
        +    if (atRoot)
        +        ctx.atRoot = false;
        +    if (ctx.atKey)
        +        ctx.atKey = false;
        +    let offset = fc.offset + fc.start.source.length;
        +    for (let i = 0; i < fc.items.length; ++i) {
        +        const collItem = fc.items[i];
        +        const { start, key, sep, value } = collItem;
        +        const props = resolveProps.resolveProps(start, {
        +            flow: fcName,
        +            indicator: 'explicit-key-ind',
        +            next: key ?? sep?.[0],
        +            offset,
        +            onError,
        +            parentIndent: fc.indent,
        +            startOnNewline: false
        +        });
        +        if (!props.found) {
        +            if (!props.anchor && !props.tag && !sep && !value) {
        +                if (i === 0 && props.comma)
        +                    onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
        +                else if (i < fc.items.length - 1)
        +                    onError(props.start, 'UNEXPECTED_TOKEN', `Unexpected empty item in ${fcName}`);
        +                if (props.comment) {
        +                    if (coll.comment)
        +                        coll.comment += '\n' + props.comment;
        +                    else
        +                        coll.comment = props.comment;
        +                }
        +                offset = props.end;
        +                continue;
        +            }
        +            if (!isMap && ctx.options.strict && utilContainsNewline.containsNewline(key))
        +                onError(key, // checked by containsNewline()
        +                'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
        +        }
        +        if (i === 0) {
        +            if (props.comma)
        +                onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
        +        }
        +        else {
        +            if (!props.comma)
        +                onError(props.start, 'MISSING_CHAR', `Missing , between ${fcName} items`);
        +            if (props.comment) {
        +                let prevItemComment = '';
        +                loop: for (const st of start) {
        +                    switch (st.type) {
        +                        case 'comma':
        +                        case 'space':
        +                            break;
        +                        case 'comment':
        +                            prevItemComment = st.source.substring(1);
        +                            break loop;
        +                        default:
        +                            break loop;
        +                    }
        +                }
        +                if (prevItemComment) {
        +                    let prev = coll.items[coll.items.length - 1];
        +                    if (identity.isPair(prev))
        +                        prev = prev.value ?? prev.key;
        +                    if (prev.comment)
        +                        prev.comment += '\n' + prevItemComment;
        +                    else
        +                        prev.comment = prevItemComment;
        +                    props.comment = props.comment.substring(prevItemComment.length + 1);
        +                }
        +            }
        +        }
        +        if (!isMap && !sep && !props.found) {
        +            // item is a value in a seq
        +            // → key & sep are empty, start does not include ? or :
        +            const valueNode = value
        +                ? composeNode(ctx, value, props, onError)
        +                : composeEmptyNode(ctx, props.end, sep, null, props, onError);
        +            coll.items.push(valueNode);
        +            offset = valueNode.range[2];
        +            if (isBlock(value))
        +                onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
        +        }
        +        else {
        +            // item is a key+value pair
        +            // key value
        +            ctx.atKey = true;
        +            const keyStart = props.end;
        +            const keyNode = key
        +                ? composeNode(ctx, key, props, onError)
        +                : composeEmptyNode(ctx, keyStart, start, null, props, onError);
        +            if (isBlock(key))
        +                onError(keyNode.range, 'BLOCK_IN_FLOW', blockMsg);
        +            ctx.atKey = false;
        +            // value properties
        +            const valueProps = resolveProps.resolveProps(sep ?? [], {
        +                flow: fcName,
        +                indicator: 'map-value-ind',
        +                next: value,
        +                offset: keyNode.range[2],
        +                onError,
        +                parentIndent: fc.indent,
        +                startOnNewline: false
        +            });
        +            if (valueProps.found) {
        +                if (!isMap && !props.found && ctx.options.strict) {
        +                    if (sep)
        +                        for (const st of sep) {
        +                            if (st === valueProps.found)
        +                                break;
        +                            if (st.type === 'newline') {
        +                                onError(st, 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
        +                                break;
        +                            }
        +                        }
        +                    if (props.start < valueProps.found.offset - 1024)
        +                        onError(valueProps.found, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit flow sequence key');
        +                }
        +            }
        +            else if (value) {
        +                if ('source' in value && value.source?.[0] === ':')
        +                    onError(value, 'MISSING_CHAR', `Missing space after : in ${fcName}`);
        +                else
        +                    onError(valueProps.start, 'MISSING_CHAR', `Missing , or : between ${fcName} items`);
        +            }
        +            // value value
        +            const valueNode = value
        +                ? composeNode(ctx, value, valueProps, onError)
        +                : valueProps.found
        +                    ? composeEmptyNode(ctx, valueProps.end, sep, null, valueProps, onError)
        +                    : null;
        +            if (valueNode) {
        +                if (isBlock(value))
        +                    onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
        +            }
        +            else if (valueProps.comment) {
        +                if (keyNode.comment)
        +                    keyNode.comment += '\n' + valueProps.comment;
        +                else
        +                    keyNode.comment = valueProps.comment;
        +            }
        +            const pair = new Pair.Pair(keyNode, valueNode);
        +            if (ctx.options.keepSourceTokens)
        +                pair.srcToken = collItem;
        +            if (isMap) {
        +                const map = coll;
        +                if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode))
        +                    onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
        +                map.items.push(pair);
        +            }
        +            else {
        +                const map = new YAMLMap.YAMLMap(ctx.schema);
        +                map.flow = true;
        +                map.items.push(pair);
        +                const endRange = (valueNode ?? keyNode).range;
        +                map.range = [keyNode.range[0], endRange[1], endRange[2]];
        +                coll.items.push(map);
        +            }
        +            offset = valueNode ? valueNode.range[2] : valueProps.end;
        +        }
        +    }
        +    const expectedEnd = isMap ? '}' : ']';
        +    const [ce, ...ee] = fc.end;
        +    let cePos = offset;
        +    if (ce?.source === expectedEnd)
        +        cePos = ce.offset + ce.source.length;
        +    else {
        +        const name = fcName[0].toUpperCase() + fcName.substring(1);
        +        const msg = atRoot
        +            ? `${name} must end with a ${expectedEnd}`
        +            : `${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`;
        +        onError(offset, atRoot ? 'MISSING_CHAR' : 'BAD_INDENT', msg);
        +        if (ce && ce.source.length !== 1)
        +            ee.unshift(ce);
        +    }
        +    if (ee.length > 0) {
        +        const end = resolveEnd.resolveEnd(ee, cePos, ctx.options.strict, onError);
        +        if (end.comment) {
        +            if (coll.comment)
        +                coll.comment += '\n' + end.comment;
        +            else
        +                coll.comment = end.comment;
        +        }
        +        coll.range = [fc.offset, cePos, end.offset];
        +    }
        +    else {
        +        coll.range = [fc.offset, cePos, cePos];
        +    }
        +    return coll;
        +}
        +
        +exports.resolveFlowCollection = resolveFlowCollection;
        +
        +
        +/***/ },
        +
        +/***/ 76450
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +var resolveEnd = __webpack_require__(39524);
        +
        +function resolveFlowScalar(scalar, strict, onError) {
        +    const { offset, type, source, end } = scalar;
        +    let _type;
        +    let value;
        +    const _onError = (rel, code, msg) => onError(offset + rel, code, msg);
        +    switch (type) {
        +        case 'scalar':
        +            _type = Scalar.Scalar.PLAIN;
        +            value = plainValue(source, _onError);
        +            break;
        +        case 'single-quoted-scalar':
        +            _type = Scalar.Scalar.QUOTE_SINGLE;
        +            value = singleQuotedValue(source, _onError);
        +            break;
        +        case 'double-quoted-scalar':
        +            _type = Scalar.Scalar.QUOTE_DOUBLE;
        +            value = doubleQuotedValue(source, _onError);
        +            break;
        +        /* istanbul ignore next should not happen */
        +        default:
        +            onError(scalar, 'UNEXPECTED_TOKEN', `Expected a flow scalar value, but found: ${type}`);
        +            return {
        +                value: '',
        +                type: null,
        +                comment: '',
        +                range: [offset, offset + source.length, offset + source.length]
        +            };
        +    }
        +    const valueEnd = offset + source.length;
        +    const re = resolveEnd.resolveEnd(end, valueEnd, strict, onError);
        +    return {
        +        value,
        +        type: _type,
        +        comment: re.comment,
        +        range: [offset, valueEnd, re.offset]
        +    };
        +}
        +function plainValue(source, onError) {
        +    let badChar = '';
        +    switch (source[0]) {
        +        /* istanbul ignore next should not happen */
        +        case '\t':
        +            badChar = 'a tab character';
        +            break;
        +        case ',':
        +            badChar = 'flow indicator character ,';
        +            break;
        +        case '%':
        +            badChar = 'directive indicator character %';
        +            break;
        +        case '|':
        +        case '>': {
        +            badChar = `block scalar indicator ${source[0]}`;
        +            break;
        +        }
        +        case '@':
        +        case '`': {
        +            badChar = `reserved character ${source[0]}`;
        +            break;
        +        }
        +    }
        +    if (badChar)
        +        onError(0, 'BAD_SCALAR_START', `Plain value cannot start with ${badChar}`);
        +    return foldLines(source);
        +}
        +function singleQuotedValue(source, onError) {
        +    if (source[source.length - 1] !== "'" || source.length === 1)
        +        onError(source.length, 'MISSING_CHAR', "Missing closing 'quote");
        +    return foldLines(source.slice(1, -1)).replace(/''/g, "'");
        +}
        +function foldLines(source) {
        +    /**
        +     * The negative lookbehind here and in the `re` RegExp is to
        +     * prevent causing a polynomial search time in certain cases.
        +     *
        +     * The try-catch is for Safari, which doesn't support this yet:
        +     * https://caniuse.com/js-regexp-lookbehind
        +     */
        +    let first, line;
        +    try {
        +        first = new RegExp('(.*?)(? wsStart ? source.slice(wsStart, i + 1) : ch;
        +        }
        +        else {
        +            res += ch;
        +        }
        +    }
        +    if (source[source.length - 1] !== '"' || source.length === 1)
        +        onError(source.length, 'MISSING_CHAR', 'Missing closing "quote');
        +    return res;
        +}
        +/**
        + * Fold a single newline into a space, multiple newlines to N - 1 newlines.
        + * Presumes `source[offset] === '\n'`
        + */
        +function foldNewline(source, offset) {
        +    let fold = '';
        +    let ch = source[offset + 1];
        +    while (ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r') {
        +        if (ch === '\r' && source[offset + 2] !== '\n')
        +            break;
        +        if (ch === '\n')
        +            fold += '\n';
        +        offset += 1;
        +        ch = source[offset + 1];
        +    }
        +    if (!fold)
        +        fold = ' ';
        +    return { fold, offset };
        +}
        +const escapeCodes = {
        +    '0': '\0', // null character
        +    a: '\x07', // bell character
        +    b: '\b', // backspace
        +    e: '\x1b', // escape character
        +    f: '\f', // form feed
        +    n: '\n', // line feed
        +    r: '\r', // carriage return
        +    t: '\t', // horizontal tab
        +    v: '\v', // vertical tab
        +    N: '\u0085', // Unicode next line
        +    _: '\u00a0', // Unicode non-breaking space
        +    L: '\u2028', // Unicode line separator
        +    P: '\u2029', // Unicode paragraph separator
        +    ' ': ' ',
        +    '"': '"',
        +    '/': '/',
        +    '\\': '\\',
        +    '\t': '\t'
        +};
        +function parseCharCode(source, offset, length, onError) {
        +    const cc = source.substr(offset, length);
        +    const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);
        +    const code = ok ? parseInt(cc, 16) : NaN;
        +    if (isNaN(code)) {
        +        const raw = source.substr(offset - 2, length + 2);
        +        onError(offset - 2, 'BAD_DQ_ESCAPE', `Invalid escape sequence ${raw}`);
        +        return raw;
        +    }
        +    return String.fromCodePoint(code);
        +}
        +
        +exports.resolveFlowScalar = resolveFlowScalar;
        +
        +
        +/***/ },
        +
        +/***/ 70095
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
        +    let spaceBefore = false;
        +    let atNewline = startOnNewline;
        +    let hasSpace = startOnNewline;
        +    let comment = '';
        +    let commentSep = '';
        +    let hasNewline = false;
        +    let reqSpace = false;
        +    let tab = null;
        +    let anchor = null;
        +    let tag = null;
        +    let newlineAfterProp = null;
        +    let comma = null;
        +    let found = null;
        +    let start = null;
        +    for (const token of tokens) {
        +        if (reqSpace) {
        +            if (token.type !== 'space' &&
        +                token.type !== 'newline' &&
        +                token.type !== 'comma')
        +                onError(token.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space');
        +            reqSpace = false;
        +        }
        +        if (tab) {
        +            if (atNewline && token.type !== 'comment' && token.type !== 'newline') {
        +                onError(tab, 'TAB_AS_INDENT', 'Tabs are not allowed as indentation');
        +            }
        +            tab = null;
        +        }
        +        switch (token.type) {
        +            case 'space':
        +                // At the doc level, tabs at line start may be parsed
        +                // as leading white space rather than indentation.
        +                // In a flow collection, only the parser handles indent.
        +                if (!flow &&
        +                    (indicator !== 'doc-start' || next?.type !== 'flow-collection') &&
        +                    token.source.includes('\t')) {
        +                    tab = token;
        +                }
        +                hasSpace = true;
        +                break;
        +            case 'comment': {
        +                if (!hasSpace)
        +                    onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
        +                const cb = token.source.substring(1) || ' ';
        +                if (!comment)
        +                    comment = cb;
        +                else
        +                    comment += commentSep + cb;
        +                commentSep = '';
        +                atNewline = false;
        +                break;
        +            }
        +            case 'newline':
        +                if (atNewline) {
        +                    if (comment)
        +                        comment += token.source;
        +                    else if (!found || indicator !== 'seq-item-ind')
        +                        spaceBefore = true;
        +                }
        +                else
        +                    commentSep += token.source;
        +                atNewline = true;
        +                hasNewline = true;
        +                if (anchor || tag)
        +                    newlineAfterProp = token;
        +                hasSpace = true;
        +                break;
        +            case 'anchor':
        +                if (anchor)
        +                    onError(token, 'MULTIPLE_ANCHORS', 'A node can have at most one anchor');
        +                if (token.source.endsWith(':'))
        +                    onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true);
        +                anchor = token;
        +                start ?? (start = token.offset);
        +                atNewline = false;
        +                hasSpace = false;
        +                reqSpace = true;
        +                break;
        +            case 'tag': {
        +                if (tag)
        +                    onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag');
        +                tag = token;
        +                start ?? (start = token.offset);
        +                atNewline = false;
        +                hasSpace = false;
        +                reqSpace = true;
        +                break;
        +            }
        +            case indicator:
        +                // Could here handle preceding comments differently
        +                if (anchor || tag)
        +                    onError(token, 'BAD_PROP_ORDER', `Anchors and tags must be after the ${token.source} indicator`);
        +                if (found)
        +                    onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.source} in ${flow ?? 'collection'}`);
        +                found = token;
        +                atNewline =
        +                    indicator === 'seq-item-ind' || indicator === 'explicit-key-ind';
        +                hasSpace = false;
        +                break;
        +            case 'comma':
        +                if (flow) {
        +                    if (comma)
        +                        onError(token, 'UNEXPECTED_TOKEN', `Unexpected , in ${flow}`);
        +                    comma = token;
        +                    atNewline = false;
        +                    hasSpace = false;
        +                    break;
        +                }
        +            // else fallthrough
        +            default:
        +                onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.type} token`);
        +                atNewline = false;
        +                hasSpace = false;
        +        }
        +    }
        +    const last = tokens[tokens.length - 1];
        +    const end = last ? last.offset + last.source.length : offset;
        +    if (reqSpace &&
        +        next &&
        +        next.type !== 'space' &&
        +        next.type !== 'newline' &&
        +        next.type !== 'comma' &&
        +        (next.type !== 'scalar' || next.source !== '')) {
        +        onError(next.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space');
        +    }
        +    if (tab &&
        +        ((atNewline && tab.indent <= parentIndent) ||
        +            next?.type === 'block-map' ||
        +            next?.type === 'block-seq'))
        +        onError(tab, 'TAB_AS_INDENT', 'Tabs are not allowed as indentation');
        +    return {
        +        comma,
        +        found,
        +        spaceBefore,
        +        comment,
        +        hasNewline,
        +        anchor,
        +        tag,
        +        newlineAfterProp,
        +        end,
        +        start: start ?? end
        +    };
        +}
        +
        +exports.resolveProps = resolveProps;
        +
        +
        +/***/ },
        +
        +/***/ 78211
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function containsNewline(key) {
        +    if (!key)
        +        return null;
        +    switch (key.type) {
        +        case 'alias':
        +        case 'scalar':
        +        case 'double-quoted-scalar':
        +        case 'single-quoted-scalar':
        +            if (key.source.includes('\n'))
        +                return true;
        +            if (key.end)
        +                for (const st of key.end)
        +                    if (st.type === 'newline')
        +                        return true;
        +            return false;
        +        case 'flow-collection':
        +            for (const it of key.items) {
        +                for (const st of it.start)
        +                    if (st.type === 'newline')
        +                        return true;
        +                if (it.sep)
        +                    for (const st of it.sep)
        +                        if (st.type === 'newline')
        +                            return true;
        +                if (containsNewline(it.key) || containsNewline(it.value))
        +                    return true;
        +            }
        +            return false;
        +        default:
        +            return true;
        +    }
        +}
        +
        +exports.containsNewline = containsNewline;
        +
        +
        +/***/ },
        +
        +/***/ 34095
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function emptyScalarPosition(offset, before, pos) {
        +    if (before) {
        +        pos ?? (pos = before.length);
        +        for (let i = pos - 1; i >= 0; --i) {
        +            let st = before[i];
        +            switch (st.type) {
        +                case 'space':
        +                case 'comment':
        +                case 'newline':
        +                    offset -= st.source.length;
        +                    continue;
        +            }
        +            // Technically, an empty scalar is immediately after the last non-empty
        +            // node, but it's more useful to place it after any whitespace.
        +            st = before[++i];
        +            while (st?.type === 'space') {
        +                offset += st.source.length;
        +                st = before[++i];
        +            }
        +            break;
        +        }
        +    }
        +    return offset;
        +}
        +
        +exports.emptyScalarPosition = emptyScalarPosition;
        +
        +
        +/***/ },
        +
        +/***/ 21243
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var utilContainsNewline = __webpack_require__(78211);
        +
        +function flowIndentCheck(indent, fc, onError) {
        +    if (fc?.type === 'flow-collection') {
        +        const end = fc.end[0];
        +        if (end.indent === indent &&
        +            (end.source === ']' || end.source === '}') &&
        +            utilContainsNewline.containsNewline(fc)) {
        +            const msg = 'Flow end indicator should be more indented than parent';
        +            onError(end, 'BAD_INDENT', msg, true);
        +        }
        +    }
        +}
        +
        +exports.flowIndentCheck = flowIndentCheck;
        +
        +
        +/***/ },
        +
        +/***/ 40171
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +
        +function mapIncludes(ctx, items, search) {
        +    const { uniqueKeys } = ctx.options;
        +    if (uniqueKeys === false)
        +        return false;
        +    const isEqual = typeof uniqueKeys === 'function'
        +        ? uniqueKeys
        +        : (a, b) => a === b || (identity.isScalar(a) && identity.isScalar(b) && a.value === b.value);
        +    return items.some(pair => isEqual(pair.key, search));
        +}
        +
        +exports.mapIncludes = mapIncludes;
        +
        +
        +/***/ },
        +
        +/***/ 53973
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Alias = __webpack_require__(82201);
        +var Collection = __webpack_require__(9421);
        +var identity = __webpack_require__(41359);
        +var Pair = __webpack_require__(72613);
        +var toJS = __webpack_require__(3107);
        +var Schema = __webpack_require__(60328);
        +var stringifyDocument = __webpack_require__(84629);
        +var anchors = __webpack_require__(50052);
        +var applyReviver = __webpack_require__(56501);
        +var createNode = __webpack_require__(48316);
        +var directives = __webpack_require__(14454);
        +
        +class Document {
        +    constructor(value, replacer, options) {
        +        /** A comment before this Document */
        +        this.commentBefore = null;
        +        /** A comment immediately after this Document */
        +        this.comment = null;
        +        /** Errors encountered during parsing. */
        +        this.errors = [];
        +        /** Warnings encountered during parsing. */
        +        this.warnings = [];
        +        Object.defineProperty(this, identity.NODE_TYPE, { value: identity.DOC });
        +        let _replacer = null;
        +        if (typeof replacer === 'function' || Array.isArray(replacer)) {
        +            _replacer = replacer;
        +        }
        +        else if (options === undefined && replacer) {
        +            options = replacer;
        +            replacer = undefined;
        +        }
        +        const opt = Object.assign({
        +            intAsBigInt: false,
        +            keepSourceTokens: false,
        +            logLevel: 'warn',
        +            prettyErrors: true,
        +            strict: true,
        +            stringKeys: false,
        +            uniqueKeys: true,
        +            version: '1.2'
        +        }, options);
        +        this.options = opt;
        +        let { version } = opt;
        +        if (options?._directives) {
        +            this.directives = options._directives.atDocument();
        +            if (this.directives.yaml.explicit)
        +                version = this.directives.yaml.version;
        +        }
        +        else
        +            this.directives = new directives.Directives({ version });
        +        this.setSchema(version, options);
        +        // @ts-expect-error We can't really know that this matches Contents.
        +        this.contents =
        +            value === undefined ? null : this.createNode(value, _replacer, options);
        +    }
        +    /**
        +     * Create a deep copy of this Document and its contents.
        +     *
        +     * Custom Node values that inherit from `Object` still refer to their original instances.
        +     */
        +    clone() {
        +        const copy = Object.create(Document.prototype, {
        +            [identity.NODE_TYPE]: { value: identity.DOC }
        +        });
        +        copy.commentBefore = this.commentBefore;
        +        copy.comment = this.comment;
        +        copy.errors = this.errors.slice();
        +        copy.warnings = this.warnings.slice();
        +        copy.options = Object.assign({}, this.options);
        +        if (this.directives)
        +            copy.directives = this.directives.clone();
        +        copy.schema = this.schema.clone();
        +        // @ts-expect-error We can't really know that this matches Contents.
        +        copy.contents = identity.isNode(this.contents)
        +            ? this.contents.clone(copy.schema)
        +            : this.contents;
        +        if (this.range)
        +            copy.range = this.range.slice();
        +        return copy;
        +    }
        +    /** Adds a value to the document. */
        +    add(value) {
        +        if (assertCollection(this.contents))
        +            this.contents.add(value);
        +    }
        +    /** Adds a value to the document. */
        +    addIn(path, value) {
        +        if (assertCollection(this.contents))
        +            this.contents.addIn(path, value);
        +    }
        +    /**
        +     * Create a new `Alias` node, ensuring that the target `node` has the required anchor.
        +     *
        +     * If `node` already has an anchor, `name` is ignored.
        +     * Otherwise, the `node.anchor` value will be set to `name`,
        +     * or if an anchor with that name is already present in the document,
        +     * `name` will be used as a prefix for a new unique anchor.
        +     * If `name` is undefined, the generated anchor will use 'a' as a prefix.
        +     */
        +    createAlias(node, name) {
        +        if (!node.anchor) {
        +            const prev = anchors.anchorNames(this);
        +            node.anchor =
        +                // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        +                !name || prev.has(name) ? anchors.findNewAnchor(name || 'a', prev) : name;
        +        }
        +        return new Alias.Alias(node.anchor);
        +    }
        +    createNode(value, replacer, options) {
        +        let _replacer = undefined;
        +        if (typeof replacer === 'function') {
        +            value = replacer.call({ '': value }, '', value);
        +            _replacer = replacer;
        +        }
        +        else if (Array.isArray(replacer)) {
        +            const keyToStr = (v) => typeof v === 'number' || v instanceof String || v instanceof Number;
        +            const asStr = replacer.filter(keyToStr).map(String);
        +            if (asStr.length > 0)
        +                replacer = replacer.concat(asStr);
        +            _replacer = replacer;
        +        }
        +        else if (options === undefined && replacer) {
        +            options = replacer;
        +            replacer = undefined;
        +        }
        +        const { aliasDuplicateObjects, anchorPrefix, flow, keepUndefined, onTagObj, tag } = options ?? {};
        +        const { onAnchor, setAnchors, sourceObjects } = anchors.createNodeAnchors(this, 
        +        // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        +        anchorPrefix || 'a');
        +        const ctx = {
        +            aliasDuplicateObjects: aliasDuplicateObjects ?? true,
        +            keepUndefined: keepUndefined ?? false,
        +            onAnchor,
        +            onTagObj,
        +            replacer: _replacer,
        +            schema: this.schema,
        +            sourceObjects
        +        };
        +        const node = createNode.createNode(value, tag, ctx);
        +        if (flow && identity.isCollection(node))
        +            node.flow = true;
        +        setAnchors();
        +        return node;
        +    }
        +    /**
        +     * Convert a key and a value into a `Pair` using the current schema,
        +     * recursively wrapping all values as `Scalar` or `Collection` nodes.
        +     */
        +    createPair(key, value, options = {}) {
        +        const k = this.createNode(key, null, options);
        +        const v = this.createNode(value, null, options);
        +        return new Pair.Pair(k, v);
        +    }
        +    /**
        +     * Removes a value from the document.
        +     * @returns `true` if the item was found and removed.
        +     */
        +    delete(key) {
        +        return assertCollection(this.contents) ? this.contents.delete(key) : false;
        +    }
        +    /**
        +     * Removes a value from the document.
        +     * @returns `true` if the item was found and removed.
        +     */
        +    deleteIn(path) {
        +        if (Collection.isEmptyPath(path)) {
        +            if (this.contents == null)
        +                return false;
        +            // @ts-expect-error Presumed impossible if Strict extends false
        +            this.contents = null;
        +            return true;
        +        }
        +        return assertCollection(this.contents)
        +            ? this.contents.deleteIn(path)
        +            : false;
        +    }
        +    /**
        +     * Returns item at `key`, or `undefined` if not found. By default unwraps
        +     * scalar values from their surrounding node; to disable set `keepScalar` to
        +     * `true` (collections are always returned intact).
        +     */
        +    get(key, keepScalar) {
        +        return identity.isCollection(this.contents)
        +            ? this.contents.get(key, keepScalar)
        +            : undefined;
        +    }
        +    /**
        +     * Returns item at `path`, or `undefined` if not found. By default unwraps
        +     * scalar values from their surrounding node; to disable set `keepScalar` to
        +     * `true` (collections are always returned intact).
        +     */
        +    getIn(path, keepScalar) {
        +        if (Collection.isEmptyPath(path))
        +            return !keepScalar && identity.isScalar(this.contents)
        +                ? this.contents.value
        +                : this.contents;
        +        return identity.isCollection(this.contents)
        +            ? this.contents.getIn(path, keepScalar)
        +            : undefined;
        +    }
        +    /**
        +     * Checks if the document includes a value with the key `key`.
        +     */
        +    has(key) {
        +        return identity.isCollection(this.contents) ? this.contents.has(key) : false;
        +    }
        +    /**
        +     * Checks if the document includes a value at `path`.
        +     */
        +    hasIn(path) {
        +        if (Collection.isEmptyPath(path))
        +            return this.contents !== undefined;
        +        return identity.isCollection(this.contents) ? this.contents.hasIn(path) : false;
        +    }
        +    /**
        +     * Sets a value in this document. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     */
        +    set(key, value) {
        +        if (this.contents == null) {
        +            // @ts-expect-error We can't really know that this matches Contents.
        +            this.contents = Collection.collectionFromPath(this.schema, [key], value);
        +        }
        +        else if (assertCollection(this.contents)) {
        +            this.contents.set(key, value);
        +        }
        +    }
        +    /**
        +     * Sets a value in this document. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     */
        +    setIn(path, value) {
        +        if (Collection.isEmptyPath(path)) {
        +            // @ts-expect-error We can't really know that this matches Contents.
        +            this.contents = value;
        +        }
        +        else if (this.contents == null) {
        +            // @ts-expect-error We can't really know that this matches Contents.
        +            this.contents = Collection.collectionFromPath(this.schema, Array.from(path), value);
        +        }
        +        else if (assertCollection(this.contents)) {
        +            this.contents.setIn(path, value);
        +        }
        +    }
        +    /**
        +     * Change the YAML version and schema used by the document.
        +     * A `null` version disables support for directives, explicit tags, anchors, and aliases.
        +     * It also requires the `schema` option to be given as a `Schema` instance value.
        +     *
        +     * Overrides all previously set schema options.
        +     */
        +    setSchema(version, options = {}) {
        +        if (typeof version === 'number')
        +            version = String(version);
        +        let opt;
        +        switch (version) {
        +            case '1.1':
        +                if (this.directives)
        +                    this.directives.yaml.version = '1.1';
        +                else
        +                    this.directives = new directives.Directives({ version: '1.1' });
        +                opt = { resolveKnownTags: false, schema: 'yaml-1.1' };
        +                break;
        +            case '1.2':
        +            case 'next':
        +                if (this.directives)
        +                    this.directives.yaml.version = version;
        +                else
        +                    this.directives = new directives.Directives({ version });
        +                opt = { resolveKnownTags: true, schema: 'core' };
        +                break;
        +            case null:
        +                if (this.directives)
        +                    delete this.directives;
        +                opt = null;
        +                break;
        +            default: {
        +                const sv = JSON.stringify(version);
        +                throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`);
        +            }
        +        }
        +        // Not using `instanceof Schema` to allow for duck typing
        +        if (options.schema instanceof Object)
        +            this.schema = options.schema;
        +        else if (opt)
        +            this.schema = new Schema.Schema(Object.assign(opt, options));
        +        else
        +            throw new Error(`With a null YAML version, the { schema: Schema } option is required`);
        +    }
        +    // json & jsonArg are only used from toJSON()
        +    toJS({ json, jsonArg, mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
        +        const ctx = {
        +            anchors: new Map(),
        +            doc: this,
        +            keep: !json,
        +            mapAsMap: mapAsMap === true,
        +            mapKeyWarned: false,
        +            maxAliasCount: typeof maxAliasCount === 'number' ? maxAliasCount : 100
        +        };
        +        const res = toJS.toJS(this.contents, jsonArg ?? '', ctx);
        +        if (typeof onAnchor === 'function')
        +            for (const { count, res } of ctx.anchors.values())
        +                onAnchor(res, count);
        +        return typeof reviver === 'function'
        +            ? applyReviver.applyReviver(reviver, { '': res }, '', res)
        +            : res;
        +    }
        +    /**
        +     * A JSON representation of the document `contents`.
        +     *
        +     * @param jsonArg Used by `JSON.stringify` to indicate the array index or
        +     *   property name.
        +     */
        +    toJSON(jsonArg, onAnchor) {
        +        return this.toJS({ json: true, jsonArg, mapAsMap: false, onAnchor });
        +    }
        +    /** A YAML representation of the document. */
        +    toString(options = {}) {
        +        if (this.errors.length > 0)
        +            throw new Error('Document with errors cannot be stringified');
        +        if ('indent' in options &&
        +            (!Number.isInteger(options.indent) || Number(options.indent) <= 0)) {
        +            const s = JSON.stringify(options.indent);
        +            throw new Error(`"indent" option must be a positive integer, not ${s}`);
        +        }
        +        return stringifyDocument.stringifyDocument(this, options);
        +    }
        +}
        +function assertCollection(contents) {
        +    if (identity.isCollection(contents))
        +        return true;
        +    throw new Error('Expected a YAML collection as document contents');
        +}
        +
        +exports.Document = Document;
        +
        +
        +/***/ },
        +
        +/***/ 50052
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var visit = __webpack_require__(89092);
        +
        +/**
        + * Verify that the input string is a valid anchor.
        + *
        + * Will throw on errors.
        + */
        +function anchorIsValid(anchor) {
        +    if (/[\x00-\x19\s,[\]{}]/.test(anchor)) {
        +        const sa = JSON.stringify(anchor);
        +        const msg = `Anchor must not contain whitespace or control characters: ${sa}`;
        +        throw new Error(msg);
        +    }
        +    return true;
        +}
        +function anchorNames(root) {
        +    const anchors = new Set();
        +    visit.visit(root, {
        +        Value(_key, node) {
        +            if (node.anchor)
        +                anchors.add(node.anchor);
        +        }
        +    });
        +    return anchors;
        +}
        +/** Find a new anchor name with the given `prefix` and a one-indexed suffix. */
        +function findNewAnchor(prefix, exclude) {
        +    for (let i = 1; true; ++i) {
        +        const name = `${prefix}${i}`;
        +        if (!exclude.has(name))
        +            return name;
        +    }
        +}
        +function createNodeAnchors(doc, prefix) {
        +    const aliasObjects = [];
        +    const sourceObjects = new Map();
        +    let prevAnchors = null;
        +    return {
        +        onAnchor: (source) => {
        +            aliasObjects.push(source);
        +            prevAnchors ?? (prevAnchors = anchorNames(doc));
        +            const anchor = findNewAnchor(prefix, prevAnchors);
        +            prevAnchors.add(anchor);
        +            return anchor;
        +        },
        +        /**
        +         * With circular references, the source node is only resolved after all
        +         * of its child nodes are. This is why anchors are set only after all of
        +         * the nodes have been created.
        +         */
        +        setAnchors: () => {
        +            for (const source of aliasObjects) {
        +                const ref = sourceObjects.get(source);
        +                if (typeof ref === 'object' &&
        +                    ref.anchor &&
        +                    (identity.isScalar(ref.node) || identity.isCollection(ref.node))) {
        +                    ref.node.anchor = ref.anchor;
        +                }
        +                else {
        +                    const error = new Error('Failed to resolve repeated object (this should not happen)');
        +                    error.source = source;
        +                    throw error;
        +                }
        +            }
        +        },
        +        sourceObjects
        +    };
        +}
        +
        +exports.anchorIsValid = anchorIsValid;
        +exports.anchorNames = anchorNames;
        +exports.createNodeAnchors = createNodeAnchors;
        +exports.findNewAnchor = findNewAnchor;
        +
        +
        +/***/ },
        +
        +/***/ 56501
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Applies the JSON.parse reviver algorithm as defined in the ECMA-262 spec,
        + * in section 24.5.1.1 "Runtime Semantics: InternalizeJSONProperty" of the
        + * 2021 edition: https://tc39.es/ecma262/#sec-json.parse
        + *
        + * Includes extensions for handling Map and Set objects.
        + */
        +function applyReviver(reviver, obj, key, val) {
        +    if (val && typeof val === 'object') {
        +        if (Array.isArray(val)) {
        +            for (let i = 0, len = val.length; i < len; ++i) {
        +                const v0 = val[i];
        +                const v1 = applyReviver(reviver, val, String(i), v0);
        +                // eslint-disable-next-line @typescript-eslint/no-array-delete
        +                if (v1 === undefined)
        +                    delete val[i];
        +                else if (v1 !== v0)
        +                    val[i] = v1;
        +            }
        +        }
        +        else if (val instanceof Map) {
        +            for (const k of Array.from(val.keys())) {
        +                const v0 = val.get(k);
        +                const v1 = applyReviver(reviver, val, k, v0);
        +                if (v1 === undefined)
        +                    val.delete(k);
        +                else if (v1 !== v0)
        +                    val.set(k, v1);
        +            }
        +        }
        +        else if (val instanceof Set) {
        +            for (const v0 of Array.from(val)) {
        +                const v1 = applyReviver(reviver, val, v0, v0);
        +                if (v1 === undefined)
        +                    val.delete(v0);
        +                else if (v1 !== v0) {
        +                    val.delete(v0);
        +                    val.add(v1);
        +                }
        +            }
        +        }
        +        else {
        +            for (const [k, v0] of Object.entries(val)) {
        +                const v1 = applyReviver(reviver, val, k, v0);
        +                if (v1 === undefined)
        +                    delete val[k];
        +                else if (v1 !== v0)
        +                    val[k] = v1;
        +            }
        +        }
        +    }
        +    return reviver.call(obj, key, val);
        +}
        +
        +exports.applyReviver = applyReviver;
        +
        +
        +/***/ },
        +
        +/***/ 48316
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Alias = __webpack_require__(82201);
        +var identity = __webpack_require__(41359);
        +var Scalar = __webpack_require__(26621);
        +
        +const defaultTagPrefix = 'tag:yaml.org,2002:';
        +function findTagObject(value, tagName, tags) {
        +    if (tagName) {
        +        const match = tags.filter(t => t.tag === tagName);
        +        const tagObj = match.find(t => !t.format) ?? match[0];
        +        if (!tagObj)
        +            throw new Error(`Tag ${tagName} not found`);
        +        return tagObj;
        +    }
        +    return tags.find(t => t.identify?.(value) && !t.format);
        +}
        +function createNode(value, tagName, ctx) {
        +    if (identity.isDocument(value))
        +        value = value.contents;
        +    if (identity.isNode(value))
        +        return value;
        +    if (identity.isPair(value)) {
        +        const map = ctx.schema[identity.MAP].createNode?.(ctx.schema, null, ctx);
        +        map.items.push(value);
        +        return map;
        +    }
        +    if (value instanceof String ||
        +        value instanceof Number ||
        +        value instanceof Boolean ||
        +        (typeof BigInt !== 'undefined' && value instanceof BigInt) // not supported everywhere
        +    ) {
        +        // https://tc39.es/ecma262/#sec-serializejsonproperty
        +        value = value.valueOf();
        +    }
        +    const { aliasDuplicateObjects, onAnchor, onTagObj, schema, sourceObjects } = ctx;
        +    // Detect duplicate references to the same object & use Alias nodes for all
        +    // after first. The `ref` wrapper allows for circular references to resolve.
        +    let ref = undefined;
        +    if (aliasDuplicateObjects && value && typeof value === 'object') {
        +        ref = sourceObjects.get(value);
        +        if (ref) {
        +            ref.anchor ?? (ref.anchor = onAnchor(value));
        +            return new Alias.Alias(ref.anchor);
        +        }
        +        else {
        +            ref = { anchor: null, node: null };
        +            sourceObjects.set(value, ref);
        +        }
        +    }
        +    if (tagName?.startsWith('!!'))
        +        tagName = defaultTagPrefix + tagName.slice(2);
        +    let tagObj = findTagObject(value, tagName, schema.tags);
        +    if (!tagObj) {
        +        if (value && typeof value.toJSON === 'function') {
        +            // eslint-disable-next-line @typescript-eslint/no-unsafe-call
        +            value = value.toJSON();
        +        }
        +        if (!value || typeof value !== 'object') {
        +            const node = new Scalar.Scalar(value);
        +            if (ref)
        +                ref.node = node;
        +            return node;
        +        }
        +        tagObj =
        +            value instanceof Map
        +                ? schema[identity.MAP]
        +                : Symbol.iterator in Object(value)
        +                    ? schema[identity.SEQ]
        +                    : schema[identity.MAP];
        +    }
        +    if (onTagObj) {
        +        onTagObj(tagObj);
        +        delete ctx.onTagObj;
        +    }
        +    const node = tagObj?.createNode
        +        ? tagObj.createNode(ctx.schema, value, ctx)
        +        : typeof tagObj?.nodeClass?.from === 'function'
        +            ? tagObj.nodeClass.from(ctx.schema, value, ctx)
        +            : new Scalar.Scalar(value);
        +    if (tagName)
        +        node.tag = tagName;
        +    else if (!tagObj.default)
        +        node.tag = tagObj.tag;
        +    if (ref)
        +        ref.node = node;
        +    return node;
        +}
        +
        +exports.createNode = createNode;
        +
        +
        +/***/ },
        +
        +/***/ 14454
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var visit = __webpack_require__(89092);
        +
        +const escapeChars = {
        +    '!': '%21',
        +    ',': '%2C',
        +    '[': '%5B',
        +    ']': '%5D',
        +    '{': '%7B',
        +    '}': '%7D'
        +};
        +const escapeTagName = (tn) => tn.replace(/[!,[\]{}]/g, ch => escapeChars[ch]);
        +class Directives {
        +    constructor(yaml, tags) {
        +        /**
        +         * The directives-end/doc-start marker `---`. If `null`, a marker may still be
        +         * included in the document's stringified representation.
        +         */
        +        this.docStart = null;
        +        /** The doc-end marker `...`.  */
        +        this.docEnd = false;
        +        this.yaml = Object.assign({}, Directives.defaultYaml, yaml);
        +        this.tags = Object.assign({}, Directives.defaultTags, tags);
        +    }
        +    clone() {
        +        const copy = new Directives(this.yaml, this.tags);
        +        copy.docStart = this.docStart;
        +        return copy;
        +    }
        +    /**
        +     * During parsing, get a Directives instance for the current document and
        +     * update the stream state according to the current version's spec.
        +     */
        +    atDocument() {
        +        const res = new Directives(this.yaml, this.tags);
        +        switch (this.yaml.version) {
        +            case '1.1':
        +                this.atNextDocument = true;
        +                break;
        +            case '1.2':
        +                this.atNextDocument = false;
        +                this.yaml = {
        +                    explicit: Directives.defaultYaml.explicit,
        +                    version: '1.2'
        +                };
        +                this.tags = Object.assign({}, Directives.defaultTags);
        +                break;
        +        }
        +        return res;
        +    }
        +    /**
        +     * @param onError - May be called even if the action was successful
        +     * @returns `true` on success
        +     */
        +    add(line, onError) {
        +        if (this.atNextDocument) {
        +            this.yaml = { explicit: Directives.defaultYaml.explicit, version: '1.1' };
        +            this.tags = Object.assign({}, Directives.defaultTags);
        +            this.atNextDocument = false;
        +        }
        +        const parts = line.trim().split(/[ \t]+/);
        +        const name = parts.shift();
        +        switch (name) {
        +            case '%TAG': {
        +                if (parts.length !== 2) {
        +                    onError(0, '%TAG directive should contain exactly two parts');
        +                    if (parts.length < 2)
        +                        return false;
        +                }
        +                const [handle, prefix] = parts;
        +                this.tags[handle] = prefix;
        +                return true;
        +            }
        +            case '%YAML': {
        +                this.yaml.explicit = true;
        +                if (parts.length !== 1) {
        +                    onError(0, '%YAML directive should contain exactly one part');
        +                    return false;
        +                }
        +                const [version] = parts;
        +                if (version === '1.1' || version === '1.2') {
        +                    this.yaml.version = version;
        +                    return true;
        +                }
        +                else {
        +                    const isValid = /^\d+\.\d+$/.test(version);
        +                    onError(6, `Unsupported YAML version ${version}`, isValid);
        +                    return false;
        +                }
        +            }
        +            default:
        +                onError(0, `Unknown directive ${name}`, true);
        +                return false;
        +        }
        +    }
        +    /**
        +     * Resolves a tag, matching handles to those defined in %TAG directives.
        +     *
        +     * @returns Resolved tag, which may also be the non-specific tag `'!'` or a
        +     *   `'!local'` tag, or `null` if unresolvable.
        +     */
        +    tagName(source, onError) {
        +        if (source === '!')
        +            return '!'; // non-specific tag
        +        if (source[0] !== '!') {
        +            onError(`Not a valid tag: ${source}`);
        +            return null;
        +        }
        +        if (source[1] === '<') {
        +            const verbatim = source.slice(2, -1);
        +            if (verbatim === '!' || verbatim === '!!') {
        +                onError(`Verbatim tags aren't resolved, so ${source} is invalid.`);
        +                return null;
        +            }
        +            if (source[source.length - 1] !== '>')
        +                onError('Verbatim tags must end with a >');
        +            return verbatim;
        +        }
        +        const [, handle, suffix] = source.match(/^(.*!)([^!]*)$/s);
        +        if (!suffix)
        +            onError(`The ${source} tag has no suffix`);
        +        const prefix = this.tags[handle];
        +        if (prefix) {
        +            try {
        +                return prefix + decodeURIComponent(suffix);
        +            }
        +            catch (error) {
        +                onError(String(error));
        +                return null;
        +            }
        +        }
        +        if (handle === '!')
        +            return source; // local tag
        +        onError(`Could not resolve tag: ${source}`);
        +        return null;
        +    }
        +    /**
        +     * Given a fully resolved tag, returns its printable string form,
        +     * taking into account current tag prefixes and defaults.
        +     */
        +    tagString(tag) {
        +        for (const [handle, prefix] of Object.entries(this.tags)) {
        +            if (tag.startsWith(prefix))
        +                return handle + escapeTagName(tag.substring(prefix.length));
        +        }
        +        return tag[0] === '!' ? tag : `!<${tag}>`;
        +    }
        +    toString(doc) {
        +        const lines = this.yaml.explicit
        +            ? [`%YAML ${this.yaml.version || '1.2'}`]
        +            : [];
        +        const tagEntries = Object.entries(this.tags);
        +        let tagNames;
        +        if (doc && tagEntries.length > 0 && identity.isNode(doc.contents)) {
        +            const tags = {};
        +            visit.visit(doc.contents, (_key, node) => {
        +                if (identity.isNode(node) && node.tag)
        +                    tags[node.tag] = true;
        +            });
        +            tagNames = Object.keys(tags);
        +        }
        +        else
        +            tagNames = [];
        +        for (const [handle, prefix] of tagEntries) {
        +            if (handle === '!!' && prefix === 'tag:yaml.org,2002:')
        +                continue;
        +            if (!doc || tagNames.some(tn => tn.startsWith(prefix)))
        +                lines.push(`%TAG ${handle} ${prefix}`);
        +        }
        +        return lines.join('\n');
        +    }
        +}
        +Directives.defaultYaml = { explicit: false, version: '1.2' };
        +Directives.defaultTags = { '!!': 'tag:yaml.org,2002:' };
        +
        +exports.Directives = Directives;
        +
        +
        +/***/ },
        +
        +/***/ 27856
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +class YAMLError extends Error {
        +    constructor(name, pos, code, message) {
        +        super();
        +        this.name = name;
        +        this.code = code;
        +        this.message = message;
        +        this.pos = pos;
        +    }
        +}
        +class YAMLParseError extends YAMLError {
        +    constructor(pos, code, message) {
        +        super('YAMLParseError', pos, code, message);
        +    }
        +}
        +class YAMLWarning extends YAMLError {
        +    constructor(pos, code, message) {
        +        super('YAMLWarning', pos, code, message);
        +    }
        +}
        +const prettifyError = (src, lc) => (error) => {
        +    if (error.pos[0] === -1)
        +        return;
        +    error.linePos = error.pos.map(pos => lc.linePos(pos));
        +    const { line, col } = error.linePos[0];
        +    error.message += ` at line ${line}, column ${col}`;
        +    let ci = col - 1;
        +    let lineStr = src
        +        .substring(lc.lineStarts[line - 1], lc.lineStarts[line])
        +        .replace(/[\n\r]+$/, '');
        +    // Trim to max 80 chars, keeping col position near the middle
        +    if (ci >= 60 && lineStr.length > 80) {
        +        const trimStart = Math.min(ci - 39, lineStr.length - 79);
        +        lineStr = '…' + lineStr.substring(trimStart);
        +        ci -= trimStart - 1;
        +    }
        +    if (lineStr.length > 80)
        +        lineStr = lineStr.substring(0, 79) + '…';
        +    // Include previous line in context if pointing at line start
        +    if (line > 1 && /^ *$/.test(lineStr.substring(0, ci))) {
        +        // Regexp won't match if start is trimmed
        +        let prev = src.substring(lc.lineStarts[line - 2], lc.lineStarts[line - 1]);
        +        if (prev.length > 80)
        +            prev = prev.substring(0, 79) + '…\n';
        +        lineStr = prev + lineStr;
        +    }
        +    if (/[^ ]/.test(lineStr)) {
        +        let count = 1;
        +        const end = error.linePos[1];
        +        if (end?.line === line && end.col > col) {
        +            count = Math.max(1, Math.min(end.col - col, 80 - ci));
        +        }
        +        const pointer = ' '.repeat(ci) + '^'.repeat(count);
        +        error.message += `:\n\n${lineStr}\n${pointer}\n`;
        +    }
        +};
        +
        +exports.YAMLError = YAMLError;
        +exports.YAMLParseError = YAMLParseError;
        +exports.YAMLWarning = YAMLWarning;
        +exports.prettifyError = prettifyError;
        +
        +
        +/***/ },
        +
        +/***/ 68791
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +var __webpack_unused_export__;
        +
        +
        +var composer = __webpack_require__(34664);
        +var Document = __webpack_require__(53973);
        +var Schema = __webpack_require__(60328);
        +var errors = __webpack_require__(27856);
        +var Alias = __webpack_require__(82201);
        +var identity = __webpack_require__(41359);
        +var Pair = __webpack_require__(72613);
        +var Scalar = __webpack_require__(26621);
        +var YAMLMap = __webpack_require__(23326);
        +var YAMLSeq = __webpack_require__(68743);
        +var cst = __webpack_require__(1117);
        +var lexer = __webpack_require__(32321);
        +var lineCounter = __webpack_require__(8268);
        +var parser = __webpack_require__(73096);
        +var publicApi = __webpack_require__(73575);
        +var visit = __webpack_require__(89092);
        +
        +
        +
        +__webpack_unused_export__ = composer.Composer;
        +__webpack_unused_export__ = Document.Document;
        +__webpack_unused_export__ = Schema.Schema;
        +__webpack_unused_export__ = errors.YAMLError;
        +__webpack_unused_export__ = errors.YAMLParseError;
        +__webpack_unused_export__ = errors.YAMLWarning;
        +__webpack_unused_export__ = Alias.Alias;
        +__webpack_unused_export__ = identity.isAlias;
        +__webpack_unused_export__ = identity.isCollection;
        +__webpack_unused_export__ = identity.isDocument;
        +__webpack_unused_export__ = identity.isMap;
        +__webpack_unused_export__ = identity.isNode;
        +__webpack_unused_export__ = identity.isPair;
        +__webpack_unused_export__ = identity.isScalar;
        +__webpack_unused_export__ = identity.isSeq;
        +__webpack_unused_export__ = Pair.Pair;
        +__webpack_unused_export__ = Scalar.Scalar;
        +__webpack_unused_export__ = YAMLMap.YAMLMap;
        +__webpack_unused_export__ = YAMLSeq.YAMLSeq;
        +__webpack_unused_export__ = cst;
        +__webpack_unused_export__ = lexer.Lexer;
        +__webpack_unused_export__ = lineCounter.LineCounter;
        +__webpack_unused_export__ = parser.Parser;
        +exports.qg = publicApi.parse;
        +__webpack_unused_export__ = publicApi.parseAllDocuments;
        +__webpack_unused_export__ = publicApi.parseDocument;
        +__webpack_unused_export__ = publicApi.stringify;
        +__webpack_unused_export__ = visit.visit;
        +__webpack_unused_export__ = visit.visitAsync;
        +
        +
        +/***/ },
        +
        +/***/ 59913
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_process = __webpack_require__(932);
        +
        +function debug(logLevel, ...messages) {
        +    if (logLevel === 'debug')
        +        console.log(...messages);
        +}
        +function warn(logLevel, warning) {
        +    if (logLevel === 'debug' || logLevel === 'warn') {
        +        if (typeof node_process.emitWarning === 'function')
        +            node_process.emitWarning(warning);
        +        else
        +            console.warn(warning);
        +    }
        +}
        +
        +exports.debug = debug;
        +exports.warn = warn;
        +
        +
        +/***/ },
        +
        +/***/ 82201
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var anchors = __webpack_require__(50052);
        +var visit = __webpack_require__(89092);
        +var identity = __webpack_require__(41359);
        +var Node = __webpack_require__(13113);
        +var toJS = __webpack_require__(3107);
        +
        +class Alias extends Node.NodeBase {
        +    constructor(source) {
        +        super(identity.ALIAS);
        +        this.source = source;
        +        Object.defineProperty(this, 'tag', {
        +            set() {
        +                throw new Error('Alias nodes cannot have tags');
        +            }
        +        });
        +    }
        +    /**
        +     * Resolve the value of this alias within `doc`, finding the last
        +     * instance of the `source` anchor before this node.
        +     */
        +    resolve(doc, ctx) {
        +        let nodes;
        +        if (ctx?.aliasResolveCache) {
        +            nodes = ctx.aliasResolveCache;
        +        }
        +        else {
        +            nodes = [];
        +            visit.visit(doc, {
        +                Node: (_key, node) => {
        +                    if (identity.isAlias(node) || identity.hasAnchor(node))
        +                        nodes.push(node);
        +                }
        +            });
        +            if (ctx)
        +                ctx.aliasResolveCache = nodes;
        +        }
        +        let found = undefined;
        +        for (const node of nodes) {
        +            if (node === this)
        +                break;
        +            if (node.anchor === this.source)
        +                found = node;
        +        }
        +        return found;
        +    }
        +    toJSON(_arg, ctx) {
        +        if (!ctx)
        +            return { source: this.source };
        +        const { anchors, doc, maxAliasCount } = ctx;
        +        const source = this.resolve(doc, ctx);
        +        if (!source) {
        +            const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
        +            throw new ReferenceError(msg);
        +        }
        +        let data = anchors.get(source);
        +        if (!data) {
        +            // Resolve anchors for Node.prototype.toJS()
        +            toJS.toJS(source, null, ctx);
        +            data = anchors.get(source);
        +        }
        +        /* istanbul ignore if */
        +        if (data?.res === undefined) {
        +            const msg = 'This should not happen: Alias anchor was not resolved?';
        +            throw new ReferenceError(msg);
        +        }
        +        if (maxAliasCount >= 0) {
        +            data.count += 1;
        +            if (data.aliasCount === 0)
        +                data.aliasCount = getAliasCount(doc, source, anchors);
        +            if (data.count * data.aliasCount > maxAliasCount) {
        +                const msg = 'Excessive alias count indicates a resource exhaustion attack';
        +                throw new ReferenceError(msg);
        +            }
        +        }
        +        return data.res;
        +    }
        +    toString(ctx, _onComment, _onChompKeep) {
        +        const src = `*${this.source}`;
        +        if (ctx) {
        +            anchors.anchorIsValid(this.source);
        +            if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) {
        +                const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
        +                throw new Error(msg);
        +            }
        +            if (ctx.implicitKey)
        +                return `${src} `;
        +        }
        +        return src;
        +    }
        +}
        +function getAliasCount(doc, node, anchors) {
        +    if (identity.isAlias(node)) {
        +        const source = node.resolve(doc);
        +        const anchor = anchors && source && anchors.get(source);
        +        return anchor ? anchor.count * anchor.aliasCount : 0;
        +    }
        +    else if (identity.isCollection(node)) {
        +        let count = 0;
        +        for (const item of node.items) {
        +            const c = getAliasCount(doc, item, anchors);
        +            if (c > count)
        +                count = c;
        +        }
        +        return count;
        +    }
        +    else if (identity.isPair(node)) {
        +        const kc = getAliasCount(doc, node.key, anchors);
        +        const vc = getAliasCount(doc, node.value, anchors);
        +        return Math.max(kc, vc);
        +    }
        +    return 1;
        +}
        +
        +exports.Alias = Alias;
        +
        +
        +/***/ },
        +
        +/***/ 9421
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var createNode = __webpack_require__(48316);
        +var identity = __webpack_require__(41359);
        +var Node = __webpack_require__(13113);
        +
        +function collectionFromPath(schema, path, value) {
        +    let v = value;
        +    for (let i = path.length - 1; i >= 0; --i) {
        +        const k = path[i];
        +        if (typeof k === 'number' && Number.isInteger(k) && k >= 0) {
        +            const a = [];
        +            a[k] = v;
        +            v = a;
        +        }
        +        else {
        +            v = new Map([[k, v]]);
        +        }
        +    }
        +    return createNode.createNode(v, undefined, {
        +        aliasDuplicateObjects: false,
        +        keepUndefined: false,
        +        onAnchor: () => {
        +            throw new Error('This should not happen, please report a bug.');
        +        },
        +        schema,
        +        sourceObjects: new Map()
        +    });
        +}
        +// Type guard is intentionally a little wrong so as to be more useful,
        +// as it does not cover untypable empty non-string iterables (e.g. []).
        +const isEmptyPath = (path) => path == null ||
        +    (typeof path === 'object' && !!path[Symbol.iterator]().next().done);
        +class Collection extends Node.NodeBase {
        +    constructor(type, schema) {
        +        super(type);
        +        Object.defineProperty(this, 'schema', {
        +            value: schema,
        +            configurable: true,
        +            enumerable: false,
        +            writable: true
        +        });
        +    }
        +    /**
        +     * Create a copy of this collection.
        +     *
        +     * @param schema - If defined, overwrites the original's schema
        +     */
        +    clone(schema) {
        +        const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
        +        if (schema)
        +            copy.schema = schema;
        +        copy.items = copy.items.map(it => identity.isNode(it) || identity.isPair(it) ? it.clone(schema) : it);
        +        if (this.range)
        +            copy.range = this.range.slice();
        +        return copy;
        +    }
        +    /**
        +     * Adds a value to the collection. For `!!map` and `!!omap` the value must
        +     * be a Pair instance or a `{ key, value }` object, which may not have a key
        +     * that already exists in the map.
        +     */
        +    addIn(path, value) {
        +        if (isEmptyPath(path))
        +            this.add(value);
        +        else {
        +            const [key, ...rest] = path;
        +            const node = this.get(key, true);
        +            if (identity.isCollection(node))
        +                node.addIn(rest, value);
        +            else if (node === undefined && this.schema)
        +                this.set(key, collectionFromPath(this.schema, rest, value));
        +            else
        +                throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
        +        }
        +    }
        +    /**
        +     * Removes a value from the collection.
        +     * @returns `true` if the item was found and removed.
        +     */
        +    deleteIn(path) {
        +        const [key, ...rest] = path;
        +        if (rest.length === 0)
        +            return this.delete(key);
        +        const node = this.get(key, true);
        +        if (identity.isCollection(node))
        +            return node.deleteIn(rest);
        +        else
        +            throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
        +    }
        +    /**
        +     * Returns item at `key`, or `undefined` if not found. By default unwraps
        +     * scalar values from their surrounding node; to disable set `keepScalar` to
        +     * `true` (collections are always returned intact).
        +     */
        +    getIn(path, keepScalar) {
        +        const [key, ...rest] = path;
        +        const node = this.get(key, true);
        +        if (rest.length === 0)
        +            return !keepScalar && identity.isScalar(node) ? node.value : node;
        +        else
        +            return identity.isCollection(node) ? node.getIn(rest, keepScalar) : undefined;
        +    }
        +    hasAllNullValues(allowScalar) {
        +        return this.items.every(node => {
        +            if (!identity.isPair(node))
        +                return false;
        +            const n = node.value;
        +            return (n == null ||
        +                (allowScalar &&
        +                    identity.isScalar(n) &&
        +                    n.value == null &&
        +                    !n.commentBefore &&
        +                    !n.comment &&
        +                    !n.tag));
        +        });
        +    }
        +    /**
        +     * Checks if the collection includes a value with the key `key`.
        +     */
        +    hasIn(path) {
        +        const [key, ...rest] = path;
        +        if (rest.length === 0)
        +            return this.has(key);
        +        const node = this.get(key, true);
        +        return identity.isCollection(node) ? node.hasIn(rest) : false;
        +    }
        +    /**
        +     * Sets a value in this collection. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     */
        +    setIn(path, value) {
        +        const [key, ...rest] = path;
        +        if (rest.length === 0) {
        +            this.set(key, value);
        +        }
        +        else {
        +            const node = this.get(key, true);
        +            if (identity.isCollection(node))
        +                node.setIn(rest, value);
        +            else if (node === undefined && this.schema)
        +                this.set(key, collectionFromPath(this.schema, rest, value));
        +            else
        +                throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
        +        }
        +    }
        +}
        +
        +exports.Collection = Collection;
        +exports.collectionFromPath = collectionFromPath;
        +exports.isEmptyPath = isEmptyPath;
        +
        +
        +/***/ },
        +
        +/***/ 13113
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var applyReviver = __webpack_require__(56501);
        +var identity = __webpack_require__(41359);
        +var toJS = __webpack_require__(3107);
        +
        +class NodeBase {
        +    constructor(type) {
        +        Object.defineProperty(this, identity.NODE_TYPE, { value: type });
        +    }
        +    /** Create a copy of this node.  */
        +    clone() {
        +        const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
        +        if (this.range)
        +            copy.range = this.range.slice();
        +        return copy;
        +    }
        +    /** A plain JavaScript representation of this node. */
        +    toJS(doc, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
        +        if (!identity.isDocument(doc))
        +            throw new TypeError('A document argument is required');
        +        const ctx = {
        +            anchors: new Map(),
        +            doc,
        +            keep: true,
        +            mapAsMap: mapAsMap === true,
        +            mapKeyWarned: false,
        +            maxAliasCount: typeof maxAliasCount === 'number' ? maxAliasCount : 100
        +        };
        +        const res = toJS.toJS(this, '', ctx);
        +        if (typeof onAnchor === 'function')
        +            for (const { count, res } of ctx.anchors.values())
        +                onAnchor(res, count);
        +        return typeof reviver === 'function'
        +            ? applyReviver.applyReviver(reviver, { '': res }, '', res)
        +            : res;
        +    }
        +}
        +
        +exports.NodeBase = NodeBase;
        +
        +
        +/***/ },
        +
        +/***/ 72613
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var createNode = __webpack_require__(48316);
        +var stringifyPair = __webpack_require__(40684);
        +var addPairToJSMap = __webpack_require__(68568);
        +var identity = __webpack_require__(41359);
        +
        +function createPair(key, value, ctx) {
        +    const k = createNode.createNode(key, undefined, ctx);
        +    const v = createNode.createNode(value, undefined, ctx);
        +    return new Pair(k, v);
        +}
        +class Pair {
        +    constructor(key, value = null) {
        +        Object.defineProperty(this, identity.NODE_TYPE, { value: identity.PAIR });
        +        this.key = key;
        +        this.value = value;
        +    }
        +    clone(schema) {
        +        let { key, value } = this;
        +        if (identity.isNode(key))
        +            key = key.clone(schema);
        +        if (identity.isNode(value))
        +            value = value.clone(schema);
        +        return new Pair(key, value);
        +    }
        +    toJSON(_, ctx) {
        +        const pair = ctx?.mapAsMap ? new Map() : {};
        +        return addPairToJSMap.addPairToJSMap(ctx, pair, this);
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        return ctx?.doc
        +            ? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep)
        +            : JSON.stringify(this);
        +    }
        +}
        +
        +exports.Pair = Pair;
        +exports.createPair = createPair;
        +
        +
        +/***/ },
        +
        +/***/ 26621
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Node = __webpack_require__(13113);
        +var toJS = __webpack_require__(3107);
        +
        +const isScalarValue = (value) => !value || (typeof value !== 'function' && typeof value !== 'object');
        +class Scalar extends Node.NodeBase {
        +    constructor(value) {
        +        super(identity.SCALAR);
        +        this.value = value;
        +    }
        +    toJSON(arg, ctx) {
        +        return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
        +    }
        +    toString() {
        +        return String(this.value);
        +    }
        +}
        +Scalar.BLOCK_FOLDED = 'BLOCK_FOLDED';
        +Scalar.BLOCK_LITERAL = 'BLOCK_LITERAL';
        +Scalar.PLAIN = 'PLAIN';
        +Scalar.QUOTE_DOUBLE = 'QUOTE_DOUBLE';
        +Scalar.QUOTE_SINGLE = 'QUOTE_SINGLE';
        +
        +exports.Scalar = Scalar;
        +exports.isScalarValue = isScalarValue;
        +
        +
        +/***/ },
        +
        +/***/ 23326
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyCollection = __webpack_require__(8468);
        +var addPairToJSMap = __webpack_require__(68568);
        +var Collection = __webpack_require__(9421);
        +var identity = __webpack_require__(41359);
        +var Pair = __webpack_require__(72613);
        +var Scalar = __webpack_require__(26621);
        +
        +function findPair(items, key) {
        +    const k = identity.isScalar(key) ? key.value : key;
        +    for (const it of items) {
        +        if (identity.isPair(it)) {
        +            if (it.key === key || it.key === k)
        +                return it;
        +            if (identity.isScalar(it.key) && it.key.value === k)
        +                return it;
        +        }
        +    }
        +    return undefined;
        +}
        +class YAMLMap extends Collection.Collection {
        +    static get tagName() {
        +        return 'tag:yaml.org,2002:map';
        +    }
        +    constructor(schema) {
        +        super(identity.MAP, schema);
        +        this.items = [];
        +    }
        +    /**
        +     * A generic collection parsing method that can be extended
        +     * to other node classes that inherit from YAMLMap
        +     */
        +    static from(schema, obj, ctx) {
        +        const { keepUndefined, replacer } = ctx;
        +        const map = new this(schema);
        +        const add = (key, value) => {
        +            if (typeof replacer === 'function')
        +                value = replacer.call(obj, key, value);
        +            else if (Array.isArray(replacer) && !replacer.includes(key))
        +                return;
        +            if (value !== undefined || keepUndefined)
        +                map.items.push(Pair.createPair(key, value, ctx));
        +        };
        +        if (obj instanceof Map) {
        +            for (const [key, value] of obj)
        +                add(key, value);
        +        }
        +        else if (obj && typeof obj === 'object') {
        +            for (const key of Object.keys(obj))
        +                add(key, obj[key]);
        +        }
        +        if (typeof schema.sortMapEntries === 'function') {
        +            map.items.sort(schema.sortMapEntries);
        +        }
        +        return map;
        +    }
        +    /**
        +     * Adds a value to the collection.
        +     *
        +     * @param overwrite - If not set `true`, using a key that is already in the
        +     *   collection will throw. Otherwise, overwrites the previous value.
        +     */
        +    add(pair, overwrite) {
        +        let _pair;
        +        if (identity.isPair(pair))
        +            _pair = pair;
        +        else if (!pair || typeof pair !== 'object' || !('key' in pair)) {
        +            // In TypeScript, this never happens.
        +            _pair = new Pair.Pair(pair, pair?.value);
        +        }
        +        else
        +            _pair = new Pair.Pair(pair.key, pair.value);
        +        const prev = findPair(this.items, _pair.key);
        +        const sortEntries = this.schema?.sortMapEntries;
        +        if (prev) {
        +            if (!overwrite)
        +                throw new Error(`Key ${_pair.key} already set`);
        +            // For scalars, keep the old node & its comments and anchors
        +            if (identity.isScalar(prev.value) && Scalar.isScalarValue(_pair.value))
        +                prev.value.value = _pair.value;
        +            else
        +                prev.value = _pair.value;
        +        }
        +        else if (sortEntries) {
        +            const i = this.items.findIndex(item => sortEntries(_pair, item) < 0);
        +            if (i === -1)
        +                this.items.push(_pair);
        +            else
        +                this.items.splice(i, 0, _pair);
        +        }
        +        else {
        +            this.items.push(_pair);
        +        }
        +    }
        +    delete(key) {
        +        const it = findPair(this.items, key);
        +        if (!it)
        +            return false;
        +        const del = this.items.splice(this.items.indexOf(it), 1);
        +        return del.length > 0;
        +    }
        +    get(key, keepScalar) {
        +        const it = findPair(this.items, key);
        +        const node = it?.value;
        +        return (!keepScalar && identity.isScalar(node) ? node.value : node) ?? undefined;
        +    }
        +    has(key) {
        +        return !!findPair(this.items, key);
        +    }
        +    set(key, value) {
        +        this.add(new Pair.Pair(key, value), true);
        +    }
        +    /**
        +     * @param ctx - Conversion context, originally set in Document#toJS()
        +     * @param {Class} Type - If set, forces the returned collection type
        +     * @returns Instance of Type, Map, or Object
        +     */
        +    toJSON(_, ctx, Type) {
        +        const map = Type ? new Type() : ctx?.mapAsMap ? new Map() : {};
        +        if (ctx?.onCreate)
        +            ctx.onCreate(map);
        +        for (const item of this.items)
        +            addPairToJSMap.addPairToJSMap(ctx, map, item);
        +        return map;
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        if (!ctx)
        +            return JSON.stringify(this);
        +        for (const item of this.items) {
        +            if (!identity.isPair(item))
        +                throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);
        +        }
        +        if (!ctx.allNullValues && this.hasAllNullValues(false))
        +            ctx = Object.assign({}, ctx, { allNullValues: true });
        +        return stringifyCollection.stringifyCollection(this, ctx, {
        +            blockItemPrefix: '',
        +            flowChars: { start: '{', end: '}' },
        +            itemIndent: ctx.indent || '',
        +            onChompKeep,
        +            onComment
        +        });
        +    }
        +}
        +
        +exports.YAMLMap = YAMLMap;
        +exports.findPair = findPair;
        +
        +
        +/***/ },
        +
        +/***/ 68743
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var createNode = __webpack_require__(48316);
        +var stringifyCollection = __webpack_require__(8468);
        +var Collection = __webpack_require__(9421);
        +var identity = __webpack_require__(41359);
        +var Scalar = __webpack_require__(26621);
        +var toJS = __webpack_require__(3107);
        +
        +class YAMLSeq extends Collection.Collection {
        +    static get tagName() {
        +        return 'tag:yaml.org,2002:seq';
        +    }
        +    constructor(schema) {
        +        super(identity.SEQ, schema);
        +        this.items = [];
        +    }
        +    add(value) {
        +        this.items.push(value);
        +    }
        +    /**
        +     * Removes a value from the collection.
        +     *
        +     * `key` must contain a representation of an integer for this to succeed.
        +     * It may be wrapped in a `Scalar`.
        +     *
        +     * @returns `true` if the item was found and removed.
        +     */
        +    delete(key) {
        +        const idx = asItemIndex(key);
        +        if (typeof idx !== 'number')
        +            return false;
        +        const del = this.items.splice(idx, 1);
        +        return del.length > 0;
        +    }
        +    get(key, keepScalar) {
        +        const idx = asItemIndex(key);
        +        if (typeof idx !== 'number')
        +            return undefined;
        +        const it = this.items[idx];
        +        return !keepScalar && identity.isScalar(it) ? it.value : it;
        +    }
        +    /**
        +     * Checks if the collection includes a value with the key `key`.
        +     *
        +     * `key` must contain a representation of an integer for this to succeed.
        +     * It may be wrapped in a `Scalar`.
        +     */
        +    has(key) {
        +        const idx = asItemIndex(key);
        +        return typeof idx === 'number' && idx < this.items.length;
        +    }
        +    /**
        +     * Sets a value in this collection. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     *
        +     * If `key` does not contain a representation of an integer, this will throw.
        +     * It may be wrapped in a `Scalar`.
        +     */
        +    set(key, value) {
        +        const idx = asItemIndex(key);
        +        if (typeof idx !== 'number')
        +            throw new Error(`Expected a valid index, not ${key}.`);
        +        const prev = this.items[idx];
        +        if (identity.isScalar(prev) && Scalar.isScalarValue(value))
        +            prev.value = value;
        +        else
        +            this.items[idx] = value;
        +    }
        +    toJSON(_, ctx) {
        +        const seq = [];
        +        if (ctx?.onCreate)
        +            ctx.onCreate(seq);
        +        let i = 0;
        +        for (const item of this.items)
        +            seq.push(toJS.toJS(item, String(i++), ctx));
        +        return seq;
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        if (!ctx)
        +            return JSON.stringify(this);
        +        return stringifyCollection.stringifyCollection(this, ctx, {
        +            blockItemPrefix: '- ',
        +            flowChars: { start: '[', end: ']' },
        +            itemIndent: (ctx.indent || '') + '  ',
        +            onChompKeep,
        +            onComment
        +        });
        +    }
        +    static from(schema, obj, ctx) {
        +        const { replacer } = ctx;
        +        const seq = new this(schema);
        +        if (obj && Symbol.iterator in Object(obj)) {
        +            let i = 0;
        +            for (let it of obj) {
        +                if (typeof replacer === 'function') {
        +                    const key = obj instanceof Set ? it : String(i++);
        +                    it = replacer.call(obj, key, it);
        +                }
        +                seq.items.push(createNode.createNode(it, undefined, ctx));
        +            }
        +        }
        +        return seq;
        +    }
        +}
        +function asItemIndex(key) {
        +    let idx = identity.isScalar(key) ? key.value : key;
        +    if (idx && typeof idx === 'string')
        +        idx = Number(idx);
        +    return typeof idx === 'number' && Number.isInteger(idx) && idx >= 0
        +        ? idx
        +        : null;
        +}
        +
        +exports.YAMLSeq = YAMLSeq;
        +
        +
        +/***/ },
        +
        +/***/ 68568
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var log = __webpack_require__(59913);
        +var merge = __webpack_require__(78428);
        +var stringify = __webpack_require__(79868);
        +var identity = __webpack_require__(41359);
        +var toJS = __webpack_require__(3107);
        +
        +function addPairToJSMap(ctx, map, { key, value }) {
        +    if (identity.isNode(key) && key.addToJSMap)
        +        key.addToJSMap(ctx, map, value);
        +    // TODO: Should drop this special case for bare << handling
        +    else if (merge.isMergeKey(ctx, key))
        +        merge.addMergeToJSMap(ctx, map, value);
        +    else {
        +        const jsKey = toJS.toJS(key, '', ctx);
        +        if (map instanceof Map) {
        +            map.set(jsKey, toJS.toJS(value, jsKey, ctx));
        +        }
        +        else if (map instanceof Set) {
        +            map.add(jsKey);
        +        }
        +        else {
        +            const stringKey = stringifyKey(key, jsKey, ctx);
        +            const jsValue = toJS.toJS(value, stringKey, ctx);
        +            if (stringKey in map)
        +                Object.defineProperty(map, stringKey, {
        +                    value: jsValue,
        +                    writable: true,
        +                    enumerable: true,
        +                    configurable: true
        +                });
        +            else
        +                map[stringKey] = jsValue;
        +        }
        +    }
        +    return map;
        +}
        +function stringifyKey(key, jsKey, ctx) {
        +    if (jsKey === null)
        +        return '';
        +    // eslint-disable-next-line @typescript-eslint/no-base-to-string
        +    if (typeof jsKey !== 'object')
        +        return String(jsKey);
        +    if (identity.isNode(key) && ctx?.doc) {
        +        const strCtx = stringify.createStringifyContext(ctx.doc, {});
        +        strCtx.anchors = new Set();
        +        for (const node of ctx.anchors.keys())
        +            strCtx.anchors.add(node.anchor);
        +        strCtx.inFlow = true;
        +        strCtx.inStringifyKey = true;
        +        const strKey = key.toString(strCtx);
        +        if (!ctx.mapKeyWarned) {
        +            let jsonStr = JSON.stringify(strKey);
        +            if (jsonStr.length > 40)
        +                jsonStr = jsonStr.substring(0, 36) + '..."';
        +            log.warn(ctx.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`);
        +            ctx.mapKeyWarned = true;
        +        }
        +        return strKey;
        +    }
        +    return JSON.stringify(jsKey);
        +}
        +
        +exports.addPairToJSMap = addPairToJSMap;
        +
        +
        +/***/ },
        +
        +/***/ 41359
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +const ALIAS = Symbol.for('yaml.alias');
        +const DOC = Symbol.for('yaml.document');
        +const MAP = Symbol.for('yaml.map');
        +const PAIR = Symbol.for('yaml.pair');
        +const SCALAR = Symbol.for('yaml.scalar');
        +const SEQ = Symbol.for('yaml.seq');
        +const NODE_TYPE = Symbol.for('yaml.node.type');
        +const isAlias = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === ALIAS;
        +const isDocument = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === DOC;
        +const isMap = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === MAP;
        +const isPair = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === PAIR;
        +const isScalar = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SCALAR;
        +const isSeq = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SEQ;
        +function isCollection(node) {
        +    if (node && typeof node === 'object')
        +        switch (node[NODE_TYPE]) {
        +            case MAP:
        +            case SEQ:
        +                return true;
        +        }
        +    return false;
        +}
        +function isNode(node) {
        +    if (node && typeof node === 'object')
        +        switch (node[NODE_TYPE]) {
        +            case ALIAS:
        +            case MAP:
        +            case SCALAR:
        +            case SEQ:
        +                return true;
        +        }
        +    return false;
        +}
        +const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
        +
        +exports.ALIAS = ALIAS;
        +exports.DOC = DOC;
        +exports.MAP = MAP;
        +exports.NODE_TYPE = NODE_TYPE;
        +exports.PAIR = PAIR;
        +exports.SCALAR = SCALAR;
        +exports.SEQ = SEQ;
        +exports.hasAnchor = hasAnchor;
        +exports.isAlias = isAlias;
        +exports.isCollection = isCollection;
        +exports.isDocument = isDocument;
        +exports.isMap = isMap;
        +exports.isNode = isNode;
        +exports.isPair = isPair;
        +exports.isScalar = isScalar;
        +exports.isSeq = isSeq;
        +
        +
        +/***/ },
        +
        +/***/ 3107
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +
        +/**
        + * Recursively convert any node or its contents to native JavaScript
        + *
        + * @param value - The input value
        + * @param arg - If `value` defines a `toJSON()` method, use this
        + *   as its first argument
        + * @param ctx - Conversion context, originally set in Document#toJS(). If
        + *   `{ keep: true }` is not set, output should be suitable for JSON
        + *   stringification.
        + */
        +function toJS(value, arg, ctx) {
        +    // eslint-disable-next-line @typescript-eslint/no-unsafe-return
        +    if (Array.isArray(value))
        +        return value.map((v, i) => toJS(v, String(i), ctx));
        +    if (value && typeof value.toJSON === 'function') {
        +        // eslint-disable-next-line @typescript-eslint/no-unsafe-call
        +        if (!ctx || !identity.hasAnchor(value))
        +            return value.toJSON(arg, ctx);
        +        const data = { aliasCount: 0, count: 1, res: undefined };
        +        ctx.anchors.set(value, data);
        +        ctx.onCreate = res => {
        +            data.res = res;
        +            delete ctx.onCreate;
        +        };
        +        const res = value.toJSON(arg, ctx);
        +        if (ctx.onCreate)
        +            ctx.onCreate(res);
        +        return res;
        +    }
        +    if (typeof value === 'bigint' && !ctx?.keep)
        +        return Number(value);
        +    return value;
        +}
        +
        +exports.toJS = toJS;
        +
        +
        +/***/ },
        +
        +/***/ 74806
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var resolveBlockScalar = __webpack_require__(87497);
        +var resolveFlowScalar = __webpack_require__(76450);
        +var errors = __webpack_require__(27856);
        +var stringifyString = __webpack_require__(91573);
        +
        +function resolveAsScalar(token, strict = true, onError) {
        +    if (token) {
        +        const _onError = (pos, code, message) => {
        +            const offset = typeof pos === 'number' ? pos : Array.isArray(pos) ? pos[0] : pos.offset;
        +            if (onError)
        +                onError(offset, code, message);
        +            else
        +                throw new errors.YAMLParseError([offset, offset + 1], code, message);
        +        };
        +        switch (token.type) {
        +            case 'scalar':
        +            case 'single-quoted-scalar':
        +            case 'double-quoted-scalar':
        +                return resolveFlowScalar.resolveFlowScalar(token, strict, _onError);
        +            case 'block-scalar':
        +                return resolveBlockScalar.resolveBlockScalar({ options: { strict } }, token, _onError);
        +        }
        +    }
        +    return null;
        +}
        +/**
        + * Create a new scalar token with `value`
        + *
        + * Values that represent an actual string but may be parsed as a different type should use a `type` other than `'PLAIN'`,
        + * as this function does not support any schema operations and won't check for such conflicts.
        + *
        + * @param value The string representation of the value, which will have its content properly indented.
        + * @param context.end Comments and whitespace after the end of the value, or after the block scalar header. If undefined, a newline will be added.
        + * @param context.implicitKey Being within an implicit key may affect the resolved type of the token's value.
        + * @param context.indent The indent level of the token.
        + * @param context.inFlow Is this scalar within a flow collection? This may affect the resolved type of the token's value.
        + * @param context.offset The offset position of the token.
        + * @param context.type The preferred type of the scalar token. If undefined, the previous type of the `token` will be used, defaulting to `'PLAIN'`.
        + */
        +function createScalarToken(value, context) {
        +    const { implicitKey = false, indent, inFlow = false, offset = -1, type = 'PLAIN' } = context;
        +    const source = stringifyString.stringifyString({ type, value }, {
        +        implicitKey,
        +        indent: indent > 0 ? ' '.repeat(indent) : '',
        +        inFlow,
        +        options: { blockQuote: true, lineWidth: -1 }
        +    });
        +    const end = context.end ?? [
        +        { type: 'newline', offset: -1, indent, source: '\n' }
        +    ];
        +    switch (source[0]) {
        +        case '|':
        +        case '>': {
        +            const he = source.indexOf('\n');
        +            const head = source.substring(0, he);
        +            const body = source.substring(he + 1) + '\n';
        +            const props = [
        +                { type: 'block-scalar-header', offset, indent, source: head }
        +            ];
        +            if (!addEndtoBlockProps(props, end))
        +                props.push({ type: 'newline', offset: -1, indent, source: '\n' });
        +            return { type: 'block-scalar', offset, indent, props, source: body };
        +        }
        +        case '"':
        +            return { type: 'double-quoted-scalar', offset, indent, source, end };
        +        case "'":
        +            return { type: 'single-quoted-scalar', offset, indent, source, end };
        +        default:
        +            return { type: 'scalar', offset, indent, source, end };
        +    }
        +}
        +/**
        + * Set the value of `token` to the given string `value`, overwriting any previous contents and type that it may have.
        + *
        + * Best efforts are made to retain any comments previously associated with the `token`,
        + * though all contents within a collection's `items` will be overwritten.
        + *
        + * Values that represent an actual string but may be parsed as a different type should use a `type` other than `'PLAIN'`,
        + * as this function does not support any schema operations and won't check for such conflicts.
        + *
        + * @param token Any token. If it does not include an `indent` value, the value will be stringified as if it were an implicit key.
        + * @param value The string representation of the value, which will have its content properly indented.
        + * @param context.afterKey In most cases, values after a key should have an additional level of indentation.
        + * @param context.implicitKey Being within an implicit key may affect the resolved type of the token's value.
        + * @param context.inFlow Being within a flow collection may affect the resolved type of the token's value.
        + * @param context.type The preferred type of the scalar token. If undefined, the previous type of the `token` will be used, defaulting to `'PLAIN'`.
        + */
        +function setScalarValue(token, value, context = {}) {
        +    let { afterKey = false, implicitKey = false, inFlow = false, type } = context;
        +    let indent = 'indent' in token ? token.indent : null;
        +    if (afterKey && typeof indent === 'number')
        +        indent += 2;
        +    if (!type)
        +        switch (token.type) {
        +            case 'single-quoted-scalar':
        +                type = 'QUOTE_SINGLE';
        +                break;
        +            case 'double-quoted-scalar':
        +                type = 'QUOTE_DOUBLE';
        +                break;
        +            case 'block-scalar': {
        +                const header = token.props[0];
        +                if (header.type !== 'block-scalar-header')
        +                    throw new Error('Invalid block scalar header');
        +                type = header.source[0] === '>' ? 'BLOCK_FOLDED' : 'BLOCK_LITERAL';
        +                break;
        +            }
        +            default:
        +                type = 'PLAIN';
        +        }
        +    const source = stringifyString.stringifyString({ type, value }, {
        +        implicitKey: implicitKey || indent === null,
        +        indent: indent !== null && indent > 0 ? ' '.repeat(indent) : '',
        +        inFlow,
        +        options: { blockQuote: true, lineWidth: -1 }
        +    });
        +    switch (source[0]) {
        +        case '|':
        +        case '>':
        +            setBlockScalarValue(token, source);
        +            break;
        +        case '"':
        +            setFlowScalarValue(token, source, 'double-quoted-scalar');
        +            break;
        +        case "'":
        +            setFlowScalarValue(token, source, 'single-quoted-scalar');
        +            break;
        +        default:
        +            setFlowScalarValue(token, source, 'scalar');
        +    }
        +}
        +function setBlockScalarValue(token, source) {
        +    const he = source.indexOf('\n');
        +    const head = source.substring(0, he);
        +    const body = source.substring(he + 1) + '\n';
        +    if (token.type === 'block-scalar') {
        +        const header = token.props[0];
        +        if (header.type !== 'block-scalar-header')
        +            throw new Error('Invalid block scalar header');
        +        header.source = head;
        +        token.source = body;
        +    }
        +    else {
        +        const { offset } = token;
        +        const indent = 'indent' in token ? token.indent : -1;
        +        const props = [
        +            { type: 'block-scalar-header', offset, indent, source: head }
        +        ];
        +        if (!addEndtoBlockProps(props, 'end' in token ? token.end : undefined))
        +            props.push({ type: 'newline', offset: -1, indent, source: '\n' });
        +        for (const key of Object.keys(token))
        +            if (key !== 'type' && key !== 'offset')
        +                delete token[key];
        +        Object.assign(token, { type: 'block-scalar', indent, props, source: body });
        +    }
        +}
        +/** @returns `true` if last token is a newline */
        +function addEndtoBlockProps(props, end) {
        +    if (end)
        +        for (const st of end)
        +            switch (st.type) {
        +                case 'space':
        +                case 'comment':
        +                    props.push(st);
        +                    break;
        +                case 'newline':
        +                    props.push(st);
        +                    return true;
        +            }
        +    return false;
        +}
        +function setFlowScalarValue(token, source, type) {
        +    switch (token.type) {
        +        case 'scalar':
        +        case 'double-quoted-scalar':
        +        case 'single-quoted-scalar':
        +            token.type = type;
        +            token.source = source;
        +            break;
        +        case 'block-scalar': {
        +            const end = token.props.slice(1);
        +            let oa = source.length;
        +            if (token.props[0].type === 'block-scalar-header')
        +                oa -= token.props[0].source.length;
        +            for (const tok of end)
        +                tok.offset += oa;
        +            delete token.props;
        +            Object.assign(token, { type, source, end });
        +            break;
        +        }
        +        case 'block-map':
        +        case 'block-seq': {
        +            const offset = token.offset + source.length;
        +            const nl = { type: 'newline', offset, indent: token.indent, source: '\n' };
        +            delete token.items;
        +            Object.assign(token, { type, source, end: [nl] });
        +            break;
        +        }
        +        default: {
        +            const indent = 'indent' in token ? token.indent : -1;
        +            const end = 'end' in token && Array.isArray(token.end)
        +                ? token.end.filter(st => st.type === 'space' ||
        +                    st.type === 'comment' ||
        +                    st.type === 'newline')
        +                : [];
        +            for (const key of Object.keys(token))
        +                if (key !== 'type' && key !== 'offset')
        +                    delete token[key];
        +            Object.assign(token, { type, indent, source, end });
        +        }
        +    }
        +}
        +
        +exports.createScalarToken = createScalarToken;
        +exports.resolveAsScalar = resolveAsScalar;
        +exports.setScalarValue = setScalarValue;
        +
        +
        +/***/ },
        +
        +/***/ 90237
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Stringify a CST document, token, or collection item
        + *
        + * Fair warning: This applies no validation whatsoever, and
        + * simply concatenates the sources in their logical order.
        + */
        +const stringify = (cst) => 'type' in cst ? stringifyToken(cst) : stringifyItem(cst);
        +function stringifyToken(token) {
        +    switch (token.type) {
        +        case 'block-scalar': {
        +            let res = '';
        +            for (const tok of token.props)
        +                res += stringifyToken(tok);
        +            return res + token.source;
        +        }
        +        case 'block-map':
        +        case 'block-seq': {
        +            let res = '';
        +            for (const item of token.items)
        +                res += stringifyItem(item);
        +            return res;
        +        }
        +        case 'flow-collection': {
        +            let res = token.start.source;
        +            for (const item of token.items)
        +                res += stringifyItem(item);
        +            for (const st of token.end)
        +                res += st.source;
        +            return res;
        +        }
        +        case 'document': {
        +            let res = stringifyItem(token);
        +            if (token.end)
        +                for (const st of token.end)
        +                    res += st.source;
        +            return res;
        +        }
        +        default: {
        +            let res = token.source;
        +            if ('end' in token && token.end)
        +                for (const st of token.end)
        +                    res += st.source;
        +            return res;
        +        }
        +    }
        +}
        +function stringifyItem({ start, key, sep, value }) {
        +    let res = '';
        +    for (const st of start)
        +        res += st.source;
        +    if (key)
        +        res += stringifyToken(key);
        +    if (sep)
        +        for (const st of sep)
        +            res += st.source;
        +    if (value)
        +        res += stringifyToken(value);
        +    return res;
        +}
        +
        +exports.stringify = stringify;
        +
        +
        +/***/ },
        +
        +/***/ 9563
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +const BREAK = Symbol('break visit');
        +const SKIP = Symbol('skip children');
        +const REMOVE = Symbol('remove item');
        +/**
        + * Apply a visitor to a CST document or item.
        + *
        + * Walks through the tree (depth-first) starting from the root, calling a
        + * `visitor` function with two arguments when entering each item:
        + *   - `item`: The current item, which included the following members:
        + *     - `start: SourceToken[]` – Source tokens before the key or value,
        + *       possibly including its anchor or tag.
        + *     - `key?: Token | null` – Set for pair values. May then be `null`, if
        + *       the key before the `:` separator is empty.
        + *     - `sep?: SourceToken[]` – Source tokens between the key and the value,
        + *       which should include the `:` map value indicator if `value` is set.
        + *     - `value?: Token` – The value of a sequence item, or of a map pair.
        + *   - `path`: The steps from the root to the current node, as an array of
        + *     `['key' | 'value', number]` tuples.
        + *
        + * The return value of the visitor may be used to control the traversal:
        + *   - `undefined` (default): Do nothing and continue
        + *   - `visit.SKIP`: Do not visit the children of this token, continue with
        + *      next sibling
        + *   - `visit.BREAK`: Terminate traversal completely
        + *   - `visit.REMOVE`: Remove the current item, then continue with the next one
        + *   - `number`: Set the index of the next step. This is useful especially if
        + *     the index of the current token has changed.
        + *   - `function`: Define the next visitor for this item. After the original
        + *     visitor is called on item entry, next visitors are called after handling
        + *     a non-empty `key` and when exiting the item.
        + */
        +function visit(cst, visitor) {
        +    if ('type' in cst && cst.type === 'document')
        +        cst = { start: cst.start, value: cst.value };
        +    _visit(Object.freeze([]), cst, visitor);
        +}
        +// Without the `as symbol` casts, TS declares these in the `visit`
        +// namespace using `var`, but then complains about that because
        +// `unique symbol` must be `const`.
        +/** Terminate visit traversal completely */
        +visit.BREAK = BREAK;
        +/** Do not visit the children of the current item */
        +visit.SKIP = SKIP;
        +/** Remove the current item */
        +visit.REMOVE = REMOVE;
        +/** Find the item at `path` from `cst` as the root */
        +visit.itemAtPath = (cst, path) => {
        +    let item = cst;
        +    for (const [field, index] of path) {
        +        const tok = item?.[field];
        +        if (tok && 'items' in tok) {
        +            item = tok.items[index];
        +        }
        +        else
        +            return undefined;
        +    }
        +    return item;
        +};
        +/**
        + * Get the immediate parent collection of the item at `path` from `cst` as the root.
        + *
        + * Throws an error if the collection is not found, which should never happen if the item itself exists.
        + */
        +visit.parentCollection = (cst, path) => {
        +    const parent = visit.itemAtPath(cst, path.slice(0, -1));
        +    const field = path[path.length - 1][0];
        +    const coll = parent?.[field];
        +    if (coll && 'items' in coll)
        +        return coll;
        +    throw new Error('Parent collection not found');
        +};
        +function _visit(path, item, visitor) {
        +    let ctrl = visitor(item, path);
        +    if (typeof ctrl === 'symbol')
        +        return ctrl;
        +    for (const field of ['key', 'value']) {
        +        const token = item[field];
        +        if (token && 'items' in token) {
        +            for (let i = 0; i < token.items.length; ++i) {
        +                const ci = _visit(Object.freeze(path.concat([[field, i]])), token.items[i], visitor);
        +                if (typeof ci === 'number')
        +                    i = ci - 1;
        +                else if (ci === BREAK)
        +                    return BREAK;
        +                else if (ci === REMOVE) {
        +                    token.items.splice(i, 1);
        +                    i -= 1;
        +                }
        +            }
        +            if (typeof ctrl === 'function' && field === 'key')
        +                ctrl = ctrl(item, path);
        +        }
        +    }
        +    return typeof ctrl === 'function' ? ctrl(item, path) : ctrl;
        +}
        +
        +exports.visit = visit;
        +
        +
        +/***/ },
        +
        +/***/ 1117
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var cstScalar = __webpack_require__(74806);
        +var cstStringify = __webpack_require__(90237);
        +var cstVisit = __webpack_require__(9563);
        +
        +/** The byte order mark */
        +const BOM = '\u{FEFF}';
        +/** Start of doc-mode */
        +const DOCUMENT = '\x02'; // C0: Start of Text
        +/** Unexpected end of flow-mode */
        +const FLOW_END = '\x18'; // C0: Cancel
        +/** Next token is a scalar value */
        +const SCALAR = '\x1f'; // C0: Unit Separator
        +/** @returns `true` if `token` is a flow or block collection */
        +const isCollection = (token) => !!token && 'items' in token;
        +/** @returns `true` if `token` is a flow or block scalar; not an alias */
        +const isScalar = (token) => !!token &&
        +    (token.type === 'scalar' ||
        +        token.type === 'single-quoted-scalar' ||
        +        token.type === 'double-quoted-scalar' ||
        +        token.type === 'block-scalar');
        +/* istanbul ignore next */
        +/** Get a printable representation of a lexer token */
        +function prettyToken(token) {
        +    switch (token) {
        +        case BOM:
        +            return '';
        +        case DOCUMENT:
        +            return '';
        +        case FLOW_END:
        +            return '';
        +        case SCALAR:
        +            return '';
        +        default:
        +            return JSON.stringify(token);
        +    }
        +}
        +/** Identify the type of a lexer token. May return `null` for unknown tokens. */
        +function tokenType(source) {
        +    switch (source) {
        +        case BOM:
        +            return 'byte-order-mark';
        +        case DOCUMENT:
        +            return 'doc-mode';
        +        case FLOW_END:
        +            return 'flow-error-end';
        +        case SCALAR:
        +            return 'scalar';
        +        case '---':
        +            return 'doc-start';
        +        case '...':
        +            return 'doc-end';
        +        case '':
        +        case '\n':
        +        case '\r\n':
        +            return 'newline';
        +        case '-':
        +            return 'seq-item-ind';
        +        case '?':
        +            return 'explicit-key-ind';
        +        case ':':
        +            return 'map-value-ind';
        +        case '{':
        +            return 'flow-map-start';
        +        case '}':
        +            return 'flow-map-end';
        +        case '[':
        +            return 'flow-seq-start';
        +        case ']':
        +            return 'flow-seq-end';
        +        case ',':
        +            return 'comma';
        +    }
        +    switch (source[0]) {
        +        case ' ':
        +        case '\t':
        +            return 'space';
        +        case '#':
        +            return 'comment';
        +        case '%':
        +            return 'directive-line';
        +        case '*':
        +            return 'alias';
        +        case '&':
        +            return 'anchor';
        +        case '!':
        +            return 'tag';
        +        case "'":
        +            return 'single-quoted-scalar';
        +        case '"':
        +            return 'double-quoted-scalar';
        +        case '|':
        +        case '>':
        +            return 'block-scalar-header';
        +    }
        +    return null;
        +}
        +
        +exports.createScalarToken = cstScalar.createScalarToken;
        +exports.resolveAsScalar = cstScalar.resolveAsScalar;
        +exports.setScalarValue = cstScalar.setScalarValue;
        +exports.stringify = cstStringify.stringify;
        +exports.visit = cstVisit.visit;
        +exports.BOM = BOM;
        +exports.DOCUMENT = DOCUMENT;
        +exports.FLOW_END = FLOW_END;
        +exports.SCALAR = SCALAR;
        +exports.isCollection = isCollection;
        +exports.isScalar = isScalar;
        +exports.prettyToken = prettyToken;
        +exports.tokenType = tokenType;
        +
        +
        +/***/ },
        +
        +/***/ 32321
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var cst = __webpack_require__(1117);
        +
        +/*
        +START -> stream
        +
        +stream
        +  directive -> line-end -> stream
        +  indent + line-end -> stream
        +  [else] -> line-start
        +
        +line-end
        +  comment -> line-end
        +  newline -> .
        +  input-end -> END
        +
        +line-start
        +  doc-start -> doc
        +  doc-end -> stream
        +  [else] -> indent -> block-start
        +
        +block-start
        +  seq-item-start -> block-start
        +  explicit-key-start -> block-start
        +  map-value-start -> block-start
        +  [else] -> doc
        +
        +doc
        +  line-end -> line-start
        +  spaces -> doc
        +  anchor -> doc
        +  tag -> doc
        +  flow-start -> flow -> doc
        +  flow-end -> error -> doc
        +  seq-item-start -> error -> doc
        +  explicit-key-start -> error -> doc
        +  map-value-start -> doc
        +  alias -> doc
        +  quote-start -> quoted-scalar -> doc
        +  block-scalar-header -> line-end -> block-scalar(min) -> line-start
        +  [else] -> plain-scalar(false, min) -> doc
        +
        +flow
        +  line-end -> flow
        +  spaces -> flow
        +  anchor -> flow
        +  tag -> flow
        +  flow-start -> flow -> flow
        +  flow-end -> .
        +  seq-item-start -> error -> flow
        +  explicit-key-start -> flow
        +  map-value-start -> flow
        +  alias -> flow
        +  quote-start -> quoted-scalar -> flow
        +  comma -> flow
        +  [else] -> plain-scalar(true, 0) -> flow
        +
        +quoted-scalar
        +  quote-end -> .
        +  [else] -> quoted-scalar
        +
        +block-scalar(min)
        +  newline + peek(indent < min) -> .
        +  [else] -> block-scalar(min)
        +
        +plain-scalar(is-flow, min)
        +  scalar-end(is-flow) -> .
        +  peek(newline + (indent < min)) -> .
        +  [else] -> plain-scalar(min)
        +*/
        +function isEmpty(ch) {
        +    switch (ch) {
        +        case undefined:
        +        case ' ':
        +        case '\n':
        +        case '\r':
        +        case '\t':
        +            return true;
        +        default:
        +            return false;
        +    }
        +}
        +const hexDigits = new Set('0123456789ABCDEFabcdef');
        +const tagChars = new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()");
        +const flowIndicatorChars = new Set(',[]{}');
        +const invalidAnchorChars = new Set(' ,[]{}\n\r\t');
        +const isNotAnchorChar = (ch) => !ch || invalidAnchorChars.has(ch);
        +/**
        + * Splits an input string into lexical tokens, i.e. smaller strings that are
        + * easily identifiable by `tokens.tokenType()`.
        + *
        + * Lexing starts always in a "stream" context. Incomplete input may be buffered
        + * until a complete token can be emitted.
        + *
        + * In addition to slices of the original input, the following control characters
        + * may also be emitted:
        + *
        + * - `\x02` (Start of Text): A document starts with the next token
        + * - `\x18` (Cancel): Unexpected end of flow-mode (indicates an error)
        + * - `\x1f` (Unit Separator): Next token is a scalar value
        + * - `\u{FEFF}` (Byte order mark): Emitted separately outside documents
        + */
        +class Lexer {
        +    constructor() {
        +        /**
        +         * Flag indicating whether the end of the current buffer marks the end of
        +         * all input
        +         */
        +        this.atEnd = false;
        +        /**
        +         * Explicit indent set in block scalar header, as an offset from the current
        +         * minimum indent, so e.g. set to 1 from a header `|2+`. Set to -1 if not
        +         * explicitly set.
        +         */
        +        this.blockScalarIndent = -1;
        +        /**
        +         * Block scalars that include a + (keep) chomping indicator in their header
        +         * include trailing empty lines, which are otherwise excluded from the
        +         * scalar's contents.
        +         */
        +        this.blockScalarKeep = false;
        +        /** Current input */
        +        this.buffer = '';
        +        /**
        +         * Flag noting whether the map value indicator : can immediately follow this
        +         * node within a flow context.
        +         */
        +        this.flowKey = false;
        +        /** Count of surrounding flow collection levels. */
        +        this.flowLevel = 0;
        +        /**
        +         * Minimum level of indentation required for next lines to be parsed as a
        +         * part of the current scalar value.
        +         */
        +        this.indentNext = 0;
        +        /** Indentation level of the current line. */
        +        this.indentValue = 0;
        +        /** Position of the next \n character. */
        +        this.lineEndPos = null;
        +        /** Stores the state of the lexer if reaching the end of incpomplete input */
        +        this.next = null;
        +        /** A pointer to `buffer`; the current position of the lexer. */
        +        this.pos = 0;
        +    }
        +    /**
        +     * Generate YAML tokens from the `source` string. If `incomplete`,
        +     * a part of the last line may be left as a buffer for the next call.
        +     *
        +     * @returns A generator of lexical tokens
        +     */
        +    *lex(source, incomplete = false) {
        +        if (source) {
        +            if (typeof source !== 'string')
        +                throw TypeError('source is not a string');
        +            this.buffer = this.buffer ? this.buffer + source : source;
        +            this.lineEndPos = null;
        +        }
        +        this.atEnd = !incomplete;
        +        let next = this.next ?? 'stream';
        +        while (next && (incomplete || this.hasChars(1)))
        +            next = yield* this.parseNext(next);
        +    }
        +    atLineEnd() {
        +        let i = this.pos;
        +        let ch = this.buffer[i];
        +        while (ch === ' ' || ch === '\t')
        +            ch = this.buffer[++i];
        +        if (!ch || ch === '#' || ch === '\n')
        +            return true;
        +        if (ch === '\r')
        +            return this.buffer[i + 1] === '\n';
        +        return false;
        +    }
        +    charAt(n) {
        +        return this.buffer[this.pos + n];
        +    }
        +    continueScalar(offset) {
        +        let ch = this.buffer[offset];
        +        if (this.indentNext > 0) {
        +            let indent = 0;
        +            while (ch === ' ')
        +                ch = this.buffer[++indent + offset];
        +            if (ch === '\r') {
        +                const next = this.buffer[indent + offset + 1];
        +                if (next === '\n' || (!next && !this.atEnd))
        +                    return offset + indent + 1;
        +            }
        +            return ch === '\n' || indent >= this.indentNext || (!ch && !this.atEnd)
        +                ? offset + indent
        +                : -1;
        +        }
        +        if (ch === '-' || ch === '.') {
        +            const dt = this.buffer.substr(offset, 3);
        +            if ((dt === '---' || dt === '...') && isEmpty(this.buffer[offset + 3]))
        +                return -1;
        +        }
        +        return offset;
        +    }
        +    getLine() {
        +        let end = this.lineEndPos;
        +        if (typeof end !== 'number' || (end !== -1 && end < this.pos)) {
        +            end = this.buffer.indexOf('\n', this.pos);
        +            this.lineEndPos = end;
        +        }
        +        if (end === -1)
        +            return this.atEnd ? this.buffer.substring(this.pos) : null;
        +        if (this.buffer[end - 1] === '\r')
        +            end -= 1;
        +        return this.buffer.substring(this.pos, end);
        +    }
        +    hasChars(n) {
        +        return this.pos + n <= this.buffer.length;
        +    }
        +    setNext(state) {
        +        this.buffer = this.buffer.substring(this.pos);
        +        this.pos = 0;
        +        this.lineEndPos = null;
        +        this.next = state;
        +        return null;
        +    }
        +    peek(n) {
        +        return this.buffer.substr(this.pos, n);
        +    }
        +    *parseNext(next) {
        +        switch (next) {
        +            case 'stream':
        +                return yield* this.parseStream();
        +            case 'line-start':
        +                return yield* this.parseLineStart();
        +            case 'block-start':
        +                return yield* this.parseBlockStart();
        +            case 'doc':
        +                return yield* this.parseDocument();
        +            case 'flow':
        +                return yield* this.parseFlowCollection();
        +            case 'quoted-scalar':
        +                return yield* this.parseQuotedScalar();
        +            case 'block-scalar':
        +                return yield* this.parseBlockScalar();
        +            case 'plain-scalar':
        +                return yield* this.parsePlainScalar();
        +        }
        +    }
        +    *parseStream() {
        +        let line = this.getLine();
        +        if (line === null)
        +            return this.setNext('stream');
        +        if (line[0] === cst.BOM) {
        +            yield* this.pushCount(1);
        +            line = line.substring(1);
        +        }
        +        if (line[0] === '%') {
        +            let dirEnd = line.length;
        +            let cs = line.indexOf('#');
        +            while (cs !== -1) {
        +                const ch = line[cs - 1];
        +                if (ch === ' ' || ch === '\t') {
        +                    dirEnd = cs - 1;
        +                    break;
        +                }
        +                else {
        +                    cs = line.indexOf('#', cs + 1);
        +                }
        +            }
        +            while (true) {
        +                const ch = line[dirEnd - 1];
        +                if (ch === ' ' || ch === '\t')
        +                    dirEnd -= 1;
        +                else
        +                    break;
        +            }
        +            const n = (yield* this.pushCount(dirEnd)) + (yield* this.pushSpaces(true));
        +            yield* this.pushCount(line.length - n); // possible comment
        +            this.pushNewline();
        +            return 'stream';
        +        }
        +        if (this.atLineEnd()) {
        +            const sp = yield* this.pushSpaces(true);
        +            yield* this.pushCount(line.length - sp);
        +            yield* this.pushNewline();
        +            return 'stream';
        +        }
        +        yield cst.DOCUMENT;
        +        return yield* this.parseLineStart();
        +    }
        +    *parseLineStart() {
        +        const ch = this.charAt(0);
        +        if (!ch && !this.atEnd)
        +            return this.setNext('line-start');
        +        if (ch === '-' || ch === '.') {
        +            if (!this.atEnd && !this.hasChars(4))
        +                return this.setNext('line-start');
        +            const s = this.peek(3);
        +            if ((s === '---' || s === '...') && isEmpty(this.charAt(3))) {
        +                yield* this.pushCount(3);
        +                this.indentValue = 0;
        +                this.indentNext = 0;
        +                return s === '---' ? 'doc' : 'stream';
        +            }
        +        }
        +        this.indentValue = yield* this.pushSpaces(false);
        +        if (this.indentNext > this.indentValue && !isEmpty(this.charAt(1)))
        +            this.indentNext = this.indentValue;
        +        return yield* this.parseBlockStart();
        +    }
        +    *parseBlockStart() {
        +        const [ch0, ch1] = this.peek(2);
        +        if (!ch1 && !this.atEnd)
        +            return this.setNext('block-start');
        +        if ((ch0 === '-' || ch0 === '?' || ch0 === ':') && isEmpty(ch1)) {
        +            const n = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true));
        +            this.indentNext = this.indentValue + 1;
        +            this.indentValue += n;
        +            return yield* this.parseBlockStart();
        +        }
        +        return 'doc';
        +    }
        +    *parseDocument() {
        +        yield* this.pushSpaces(true);
        +        const line = this.getLine();
        +        if (line === null)
        +            return this.setNext('doc');
        +        let n = yield* this.pushIndicators();
        +        switch (line[n]) {
        +            case '#':
        +                yield* this.pushCount(line.length - n);
        +            // fallthrough
        +            case undefined:
        +                yield* this.pushNewline();
        +                return yield* this.parseLineStart();
        +            case '{':
        +            case '[':
        +                yield* this.pushCount(1);
        +                this.flowKey = false;
        +                this.flowLevel = 1;
        +                return 'flow';
        +            case '}':
        +            case ']':
        +                // this is an error
        +                yield* this.pushCount(1);
        +                return 'doc';
        +            case '*':
        +                yield* this.pushUntil(isNotAnchorChar);
        +                return 'doc';
        +            case '"':
        +            case "'":
        +                return yield* this.parseQuotedScalar();
        +            case '|':
        +            case '>':
        +                n += yield* this.parseBlockScalarHeader();
        +                n += yield* this.pushSpaces(true);
        +                yield* this.pushCount(line.length - n);
        +                yield* this.pushNewline();
        +                return yield* this.parseBlockScalar();
        +            default:
        +                return yield* this.parsePlainScalar();
        +        }
        +    }
        +    *parseFlowCollection() {
        +        let nl, sp;
        +        let indent = -1;
        +        do {
        +            nl = yield* this.pushNewline();
        +            if (nl > 0) {
        +                sp = yield* this.pushSpaces(false);
        +                this.indentValue = indent = sp;
        +            }
        +            else {
        +                sp = 0;
        +            }
        +            sp += yield* this.pushSpaces(true);
        +        } while (nl + sp > 0);
        +        const line = this.getLine();
        +        if (line === null)
        +            return this.setNext('flow');
        +        if ((indent !== -1 && indent < this.indentNext && line[0] !== '#') ||
        +            (indent === 0 &&
        +                (line.startsWith('---') || line.startsWith('...')) &&
        +                isEmpty(line[3]))) {
        +            // Allowing for the terminal ] or } at the same (rather than greater)
        +            // indent level as the initial [ or { is technically invalid, but
        +            // failing here would be surprising to users.
        +            const atFlowEndMarker = indent === this.indentNext - 1 &&
        +                this.flowLevel === 1 &&
        +                (line[0] === ']' || line[0] === '}');
        +            if (!atFlowEndMarker) {
        +                // this is an error
        +                this.flowLevel = 0;
        +                yield cst.FLOW_END;
        +                return yield* this.parseLineStart();
        +            }
        +        }
        +        let n = 0;
        +        while (line[n] === ',') {
        +            n += yield* this.pushCount(1);
        +            n += yield* this.pushSpaces(true);
        +            this.flowKey = false;
        +        }
        +        n += yield* this.pushIndicators();
        +        switch (line[n]) {
        +            case undefined:
        +                return 'flow';
        +            case '#':
        +                yield* this.pushCount(line.length - n);
        +                return 'flow';
        +            case '{':
        +            case '[':
        +                yield* this.pushCount(1);
        +                this.flowKey = false;
        +                this.flowLevel += 1;
        +                return 'flow';
        +            case '}':
        +            case ']':
        +                yield* this.pushCount(1);
        +                this.flowKey = true;
        +                this.flowLevel -= 1;
        +                return this.flowLevel ? 'flow' : 'doc';
        +            case '*':
        +                yield* this.pushUntil(isNotAnchorChar);
        +                return 'flow';
        +            case '"':
        +            case "'":
        +                this.flowKey = true;
        +                return yield* this.parseQuotedScalar();
        +            case ':': {
        +                const next = this.charAt(1);
        +                if (this.flowKey || isEmpty(next) || next === ',') {
        +                    this.flowKey = false;
        +                    yield* this.pushCount(1);
        +                    yield* this.pushSpaces(true);
        +                    return 'flow';
        +                }
        +            }
        +            // fallthrough
        +            default:
        +                this.flowKey = false;
        +                return yield* this.parsePlainScalar();
        +        }
        +    }
        +    *parseQuotedScalar() {
        +        const quote = this.charAt(0);
        +        let end = this.buffer.indexOf(quote, this.pos + 1);
        +        if (quote === "'") {
        +            while (end !== -1 && this.buffer[end + 1] === "'")
        +                end = this.buffer.indexOf("'", end + 2);
        +        }
        +        else {
        +            // double-quote
        +            while (end !== -1) {
        +                let n = 0;
        +                while (this.buffer[end - 1 - n] === '\\')
        +                    n += 1;
        +                if (n % 2 === 0)
        +                    break;
        +                end = this.buffer.indexOf('"', end + 1);
        +            }
        +        }
        +        // Only looking for newlines within the quotes
        +        const qb = this.buffer.substring(0, end);
        +        let nl = qb.indexOf('\n', this.pos);
        +        if (nl !== -1) {
        +            while (nl !== -1) {
        +                const cs = this.continueScalar(nl + 1);
        +                if (cs === -1)
        +                    break;
        +                nl = qb.indexOf('\n', cs);
        +            }
        +            if (nl !== -1) {
        +                // this is an error caused by an unexpected unindent
        +                end = nl - (qb[nl - 1] === '\r' ? 2 : 1);
        +            }
        +        }
        +        if (end === -1) {
        +            if (!this.atEnd)
        +                return this.setNext('quoted-scalar');
        +            end = this.buffer.length;
        +        }
        +        yield* this.pushToIndex(end + 1, false);
        +        return this.flowLevel ? 'flow' : 'doc';
        +    }
        +    *parseBlockScalarHeader() {
        +        this.blockScalarIndent = -1;
        +        this.blockScalarKeep = false;
        +        let i = this.pos;
        +        while (true) {
        +            const ch = this.buffer[++i];
        +            if (ch === '+')
        +                this.blockScalarKeep = true;
        +            else if (ch > '0' && ch <= '9')
        +                this.blockScalarIndent = Number(ch) - 1;
        +            else if (ch !== '-')
        +                break;
        +        }
        +        return yield* this.pushUntil(ch => isEmpty(ch) || ch === '#');
        +    }
        +    *parseBlockScalar() {
        +        let nl = this.pos - 1; // may be -1 if this.pos === 0
        +        let indent = 0;
        +        let ch;
        +        loop: for (let i = this.pos; (ch = this.buffer[i]); ++i) {
        +            switch (ch) {
        +                case ' ':
        +                    indent += 1;
        +                    break;
        +                case '\n':
        +                    nl = i;
        +                    indent = 0;
        +                    break;
        +                case '\r': {
        +                    const next = this.buffer[i + 1];
        +                    if (!next && !this.atEnd)
        +                        return this.setNext('block-scalar');
        +                    if (next === '\n')
        +                        break;
        +                } // fallthrough
        +                default:
        +                    break loop;
        +            }
        +        }
        +        if (!ch && !this.atEnd)
        +            return this.setNext('block-scalar');
        +        if (indent >= this.indentNext) {
        +            if (this.blockScalarIndent === -1)
        +                this.indentNext = indent;
        +            else {
        +                this.indentNext =
        +                    this.blockScalarIndent + (this.indentNext === 0 ? 1 : this.indentNext);
        +            }
        +            do {
        +                const cs = this.continueScalar(nl + 1);
        +                if (cs === -1)
        +                    break;
        +                nl = this.buffer.indexOf('\n', cs);
        +            } while (nl !== -1);
        +            if (nl === -1) {
        +                if (!this.atEnd)
        +                    return this.setNext('block-scalar');
        +                nl = this.buffer.length;
        +            }
        +        }
        +        // Trailing insufficiently indented tabs are invalid.
        +        // To catch that during parsing, we include them in the block scalar value.
        +        let i = nl + 1;
        +        ch = this.buffer[i];
        +        while (ch === ' ')
        +            ch = this.buffer[++i];
        +        if (ch === '\t') {
        +            while (ch === '\t' || ch === ' ' || ch === '\r' || ch === '\n')
        +                ch = this.buffer[++i];
        +            nl = i - 1;
        +        }
        +        else if (!this.blockScalarKeep) {
        +            do {
        +                let i = nl - 1;
        +                let ch = this.buffer[i];
        +                if (ch === '\r')
        +                    ch = this.buffer[--i];
        +                const lastChar = i; // Drop the line if last char not more indented
        +                while (ch === ' ')
        +                    ch = this.buffer[--i];
        +                if (ch === '\n' && i >= this.pos && i + 1 + indent > lastChar)
        +                    nl = i;
        +                else
        +                    break;
        +            } while (true);
        +        }
        +        yield cst.SCALAR;
        +        yield* this.pushToIndex(nl + 1, true);
        +        return yield* this.parseLineStart();
        +    }
        +    *parsePlainScalar() {
        +        const inFlow = this.flowLevel > 0;
        +        let end = this.pos - 1;
        +        let i = this.pos - 1;
        +        let ch;
        +        while ((ch = this.buffer[++i])) {
        +            if (ch === ':') {
        +                const next = this.buffer[i + 1];
        +                if (isEmpty(next) || (inFlow && flowIndicatorChars.has(next)))
        +                    break;
        +                end = i;
        +            }
        +            else if (isEmpty(ch)) {
        +                let next = this.buffer[i + 1];
        +                if (ch === '\r') {
        +                    if (next === '\n') {
        +                        i += 1;
        +                        ch = '\n';
        +                        next = this.buffer[i + 1];
        +                    }
        +                    else
        +                        end = i;
        +                }
        +                if (next === '#' || (inFlow && flowIndicatorChars.has(next)))
        +                    break;
        +                if (ch === '\n') {
        +                    const cs = this.continueScalar(i + 1);
        +                    if (cs === -1)
        +                        break;
        +                    i = Math.max(i, cs - 2); // to advance, but still account for ' #'
        +                }
        +            }
        +            else {
        +                if (inFlow && flowIndicatorChars.has(ch))
        +                    break;
        +                end = i;
        +            }
        +        }
        +        if (!ch && !this.atEnd)
        +            return this.setNext('plain-scalar');
        +        yield cst.SCALAR;
        +        yield* this.pushToIndex(end + 1, true);
        +        return inFlow ? 'flow' : 'doc';
        +    }
        +    *pushCount(n) {
        +        if (n > 0) {
        +            yield this.buffer.substr(this.pos, n);
        +            this.pos += n;
        +            return n;
        +        }
        +        return 0;
        +    }
        +    *pushToIndex(i, allowEmpty) {
        +        const s = this.buffer.slice(this.pos, i);
        +        if (s) {
        +            yield s;
        +            this.pos += s.length;
        +            return s.length;
        +        }
        +        else if (allowEmpty)
        +            yield '';
        +        return 0;
        +    }
        +    *pushIndicators() {
        +        switch (this.charAt(0)) {
        +            case '!':
        +                return ((yield* this.pushTag()) +
        +                    (yield* this.pushSpaces(true)) +
        +                    (yield* this.pushIndicators()));
        +            case '&':
        +                return ((yield* this.pushUntil(isNotAnchorChar)) +
        +                    (yield* this.pushSpaces(true)) +
        +                    (yield* this.pushIndicators()));
        +            case '-': // this is an error
        +            case '?': // this is an error outside flow collections
        +            case ':': {
        +                const inFlow = this.flowLevel > 0;
        +                const ch1 = this.charAt(1);
        +                if (isEmpty(ch1) || (inFlow && flowIndicatorChars.has(ch1))) {
        +                    if (!inFlow)
        +                        this.indentNext = this.indentValue + 1;
        +                    else if (this.flowKey)
        +                        this.flowKey = false;
        +                    return ((yield* this.pushCount(1)) +
        +                        (yield* this.pushSpaces(true)) +
        +                        (yield* this.pushIndicators()));
        +                }
        +            }
        +        }
        +        return 0;
        +    }
        +    *pushTag() {
        +        if (this.charAt(1) === '<') {
        +            let i = this.pos + 2;
        +            let ch = this.buffer[i];
        +            while (!isEmpty(ch) && ch !== '>')
        +                ch = this.buffer[++i];
        +            return yield* this.pushToIndex(ch === '>' ? i + 1 : i, false);
        +        }
        +        else {
        +            let i = this.pos + 1;
        +            let ch = this.buffer[i];
        +            while (ch) {
        +                if (tagChars.has(ch))
        +                    ch = this.buffer[++i];
        +                else if (ch === '%' &&
        +                    hexDigits.has(this.buffer[i + 1]) &&
        +                    hexDigits.has(this.buffer[i + 2])) {
        +                    ch = this.buffer[(i += 3)];
        +                }
        +                else
        +                    break;
        +            }
        +            return yield* this.pushToIndex(i, false);
        +        }
        +    }
        +    *pushNewline() {
        +        const ch = this.buffer[this.pos];
        +        if (ch === '\n')
        +            return yield* this.pushCount(1);
        +        else if (ch === '\r' && this.charAt(1) === '\n')
        +            return yield* this.pushCount(2);
        +        else
        +            return 0;
        +    }
        +    *pushSpaces(allowTabs) {
        +        let i = this.pos - 1;
        +        let ch;
        +        do {
        +            ch = this.buffer[++i];
        +        } while (ch === ' ' || (allowTabs && ch === '\t'));
        +        const n = i - this.pos;
        +        if (n > 0) {
        +            yield this.buffer.substr(this.pos, n);
        +            this.pos = i;
        +        }
        +        return n;
        +    }
        +    *pushUntil(test) {
        +        let i = this.pos;
        +        let ch = this.buffer[i];
        +        while (!test(ch))
        +            ch = this.buffer[++i];
        +        return yield* this.pushToIndex(i, false);
        +    }
        +}
        +
        +exports.Lexer = Lexer;
        +
        +
        +/***/ },
        +
        +/***/ 8268
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Tracks newlines during parsing in order to provide an efficient API for
        + * determining the one-indexed `{ line, col }` position for any offset
        + * within the input.
        + */
        +class LineCounter {
        +    constructor() {
        +        this.lineStarts = [];
        +        /**
        +         * Should be called in ascending order. Otherwise, call
        +         * `lineCounter.lineStarts.sort()` before calling `linePos()`.
        +         */
        +        this.addNewLine = (offset) => this.lineStarts.push(offset);
        +        /**
        +         * Performs a binary search and returns the 1-indexed { line, col }
        +         * position of `offset`. If `line === 0`, `addNewLine` has never been
        +         * called or `offset` is before the first known newline.
        +         */
        +        this.linePos = (offset) => {
        +            let low = 0;
        +            let high = this.lineStarts.length;
        +            while (low < high) {
        +                const mid = (low + high) >> 1; // Math.floor((low + high) / 2)
        +                if (this.lineStarts[mid] < offset)
        +                    low = mid + 1;
        +                else
        +                    high = mid;
        +            }
        +            if (this.lineStarts[low] === offset)
        +                return { line: low + 1, col: 1 };
        +            if (low === 0)
        +                return { line: 0, col: offset };
        +            const start = this.lineStarts[low - 1];
        +            return { line: low, col: offset - start + 1 };
        +        };
        +    }
        +}
        +
        +exports.LineCounter = LineCounter;
        +
        +
        +/***/ },
        +
        +/***/ 73096
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_process = __webpack_require__(932);
        +var cst = __webpack_require__(1117);
        +var lexer = __webpack_require__(32321);
        +
        +function includesToken(list, type) {
        +    for (let i = 0; i < list.length; ++i)
        +        if (list[i].type === type)
        +            return true;
        +    return false;
        +}
        +function findNonEmptyIndex(list) {
        +    for (let i = 0; i < list.length; ++i) {
        +        switch (list[i].type) {
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                break;
        +            default:
        +                return i;
        +        }
        +    }
        +    return -1;
        +}
        +function isFlowToken(token) {
        +    switch (token?.type) {
        +        case 'alias':
        +        case 'scalar':
        +        case 'single-quoted-scalar':
        +        case 'double-quoted-scalar':
        +        case 'flow-collection':
        +            return true;
        +        default:
        +            return false;
        +    }
        +}
        +function getPrevProps(parent) {
        +    switch (parent.type) {
        +        case 'document':
        +            return parent.start;
        +        case 'block-map': {
        +            const it = parent.items[parent.items.length - 1];
        +            return it.sep ?? it.start;
        +        }
        +        case 'block-seq':
        +            return parent.items[parent.items.length - 1].start;
        +        /* istanbul ignore next should not happen */
        +        default:
        +            return [];
        +    }
        +}
        +/** Note: May modify input array */
        +function getFirstKeyStartProps(prev) {
        +    if (prev.length === 0)
        +        return [];
        +    let i = prev.length;
        +    loop: while (--i >= 0) {
        +        switch (prev[i].type) {
        +            case 'doc-start':
        +            case 'explicit-key-ind':
        +            case 'map-value-ind':
        +            case 'seq-item-ind':
        +            case 'newline':
        +                break loop;
        +        }
        +    }
        +    while (prev[++i]?.type === 'space') {
        +        /* loop */
        +    }
        +    return prev.splice(i, prev.length);
        +}
        +function fixFlowSeqItems(fc) {
        +    if (fc.start.type === 'flow-seq-start') {
        +        for (const it of fc.items) {
        +            if (it.sep &&
        +                !it.value &&
        +                !includesToken(it.start, 'explicit-key-ind') &&
        +                !includesToken(it.sep, 'map-value-ind')) {
        +                if (it.key)
        +                    it.value = it.key;
        +                delete it.key;
        +                if (isFlowToken(it.value)) {
        +                    if (it.value.end)
        +                        Array.prototype.push.apply(it.value.end, it.sep);
        +                    else
        +                        it.value.end = it.sep;
        +                }
        +                else
        +                    Array.prototype.push.apply(it.start, it.sep);
        +                delete it.sep;
        +            }
        +        }
        +    }
        +}
        +/**
        + * A YAML concrete syntax tree (CST) parser
        + *
        + * ```ts
        + * const src: string = ...
        + * for (const token of new Parser().parse(src)) {
        + *   // token: Token
        + * }
        + * ```
        + *
        + * To use the parser with a user-provided lexer:
        + *
        + * ```ts
        + * function* parse(source: string, lexer: Lexer) {
        + *   const parser = new Parser()
        + *   for (const lexeme of lexer.lex(source))
        + *     yield* parser.next(lexeme)
        + *   yield* parser.end()
        + * }
        + *
        + * const src: string = ...
        + * const lexer = new Lexer()
        + * for (const token of parse(src, lexer)) {
        + *   // token: Token
        + * }
        + * ```
        + */
        +class Parser {
        +    /**
        +     * @param onNewLine - If defined, called separately with the start position of
        +     *   each new line (in `parse()`, including the start of input).
        +     */
        +    constructor(onNewLine) {
        +        /** If true, space and sequence indicators count as indentation */
        +        this.atNewLine = true;
        +        /** If true, next token is a scalar value */
        +        this.atScalar = false;
        +        /** Current indentation level */
        +        this.indent = 0;
        +        /** Current offset since the start of parsing */
        +        this.offset = 0;
        +        /** On the same line with a block map key */
        +        this.onKeyLine = false;
        +        /** Top indicates the node that's currently being built */
        +        this.stack = [];
        +        /** The source of the current token, set in parse() */
        +        this.source = '';
        +        /** The type of the current token, set in parse() */
        +        this.type = '';
        +        // Must be defined after `next()`
        +        this.lexer = new lexer.Lexer();
        +        this.onNewLine = onNewLine;
        +    }
        +    /**
        +     * Parse `source` as a YAML stream.
        +     * If `incomplete`, a part of the last line may be left as a buffer for the next call.
        +     *
        +     * Errors are not thrown, but yielded as `{ type: 'error', message }` tokens.
        +     *
        +     * @returns A generator of tokens representing each directive, document, and other structure.
        +     */
        +    *parse(source, incomplete = false) {
        +        if (this.onNewLine && this.offset === 0)
        +            this.onNewLine(0);
        +        for (const lexeme of this.lexer.lex(source, incomplete))
        +            yield* this.next(lexeme);
        +        if (!incomplete)
        +            yield* this.end();
        +    }
        +    /**
        +     * Advance the parser by the `source` of one lexical token.
        +     */
        +    *next(source) {
        +        this.source = source;
        +        if (node_process.env.LOG_TOKENS)
        +            console.log('|', cst.prettyToken(source));
        +        if (this.atScalar) {
        +            this.atScalar = false;
        +            yield* this.step();
        +            this.offset += source.length;
        +            return;
        +        }
        +        const type = cst.tokenType(source);
        +        if (!type) {
        +            const message = `Not a YAML token: ${source}`;
        +            yield* this.pop({ type: 'error', offset: this.offset, message, source });
        +            this.offset += source.length;
        +        }
        +        else if (type === 'scalar') {
        +            this.atNewLine = false;
        +            this.atScalar = true;
        +            this.type = 'scalar';
        +        }
        +        else {
        +            this.type = type;
        +            yield* this.step();
        +            switch (type) {
        +                case 'newline':
        +                    this.atNewLine = true;
        +                    this.indent = 0;
        +                    if (this.onNewLine)
        +                        this.onNewLine(this.offset + source.length);
        +                    break;
        +                case 'space':
        +                    if (this.atNewLine && source[0] === ' ')
        +                        this.indent += source.length;
        +                    break;
        +                case 'explicit-key-ind':
        +                case 'map-value-ind':
        +                case 'seq-item-ind':
        +                    if (this.atNewLine)
        +                        this.indent += source.length;
        +                    break;
        +                case 'doc-mode':
        +                case 'flow-error-end':
        +                    return;
        +                default:
        +                    this.atNewLine = false;
        +            }
        +            this.offset += source.length;
        +        }
        +    }
        +    /** Call at end of input to push out any remaining constructions */
        +    *end() {
        +        while (this.stack.length > 0)
        +            yield* this.pop();
        +    }
        +    get sourceToken() {
        +        const st = {
        +            type: this.type,
        +            offset: this.offset,
        +            indent: this.indent,
        +            source: this.source
        +        };
        +        return st;
        +    }
        +    *step() {
        +        const top = this.peek(1);
        +        if (this.type === 'doc-end' && top?.type !== 'doc-end') {
        +            while (this.stack.length > 0)
        +                yield* this.pop();
        +            this.stack.push({
        +                type: 'doc-end',
        +                offset: this.offset,
        +                source: this.source
        +            });
        +            return;
        +        }
        +        if (!top)
        +            return yield* this.stream();
        +        switch (top.type) {
        +            case 'document':
        +                return yield* this.document(top);
        +            case 'alias':
        +            case 'scalar':
        +            case 'single-quoted-scalar':
        +            case 'double-quoted-scalar':
        +                return yield* this.scalar(top);
        +            case 'block-scalar':
        +                return yield* this.blockScalar(top);
        +            case 'block-map':
        +                return yield* this.blockMap(top);
        +            case 'block-seq':
        +                return yield* this.blockSequence(top);
        +            case 'flow-collection':
        +                return yield* this.flowCollection(top);
        +            case 'doc-end':
        +                return yield* this.documentEnd(top);
        +        }
        +        /* istanbul ignore next should not happen */
        +        yield* this.pop();
        +    }
        +    peek(n) {
        +        return this.stack[this.stack.length - n];
        +    }
        +    *pop(error) {
        +        const token = error ?? this.stack.pop();
        +        /* istanbul ignore if should not happen */
        +        if (!token) {
        +            const message = 'Tried to pop an empty stack';
        +            yield { type: 'error', offset: this.offset, source: '', message };
        +        }
        +        else if (this.stack.length === 0) {
        +            yield token;
        +        }
        +        else {
        +            const top = this.peek(1);
        +            if (token.type === 'block-scalar') {
        +                // Block scalars use their parent rather than header indent
        +                token.indent = 'indent' in top ? top.indent : 0;
        +            }
        +            else if (token.type === 'flow-collection' && top.type === 'document') {
        +                // Ignore all indent for top-level flow collections
        +                token.indent = 0;
        +            }
        +            if (token.type === 'flow-collection')
        +                fixFlowSeqItems(token);
        +            switch (top.type) {
        +                case 'document':
        +                    top.value = token;
        +                    break;
        +                case 'block-scalar':
        +                    top.props.push(token); // error
        +                    break;
        +                case 'block-map': {
        +                    const it = top.items[top.items.length - 1];
        +                    if (it.value) {
        +                        top.items.push({ start: [], key: token, sep: [] });
        +                        this.onKeyLine = true;
        +                        return;
        +                    }
        +                    else if (it.sep) {
        +                        it.value = token;
        +                    }
        +                    else {
        +                        Object.assign(it, { key: token, sep: [] });
        +                        this.onKeyLine = !it.explicitKey;
        +                        return;
        +                    }
        +                    break;
        +                }
        +                case 'block-seq': {
        +                    const it = top.items[top.items.length - 1];
        +                    if (it.value)
        +                        top.items.push({ start: [], value: token });
        +                    else
        +                        it.value = token;
        +                    break;
        +                }
        +                case 'flow-collection': {
        +                    const it = top.items[top.items.length - 1];
        +                    if (!it || it.value)
        +                        top.items.push({ start: [], key: token, sep: [] });
        +                    else if (it.sep)
        +                        it.value = token;
        +                    else
        +                        Object.assign(it, { key: token, sep: [] });
        +                    return;
        +                }
        +                /* istanbul ignore next should not happen */
        +                default:
        +                    yield* this.pop();
        +                    yield* this.pop(token);
        +            }
        +            if ((top.type === 'document' ||
        +                top.type === 'block-map' ||
        +                top.type === 'block-seq') &&
        +                (token.type === 'block-map' || token.type === 'block-seq')) {
        +                const last = token.items[token.items.length - 1];
        +                if (last &&
        +                    !last.sep &&
        +                    !last.value &&
        +                    last.start.length > 0 &&
        +                    findNonEmptyIndex(last.start) === -1 &&
        +                    (token.indent === 0 ||
        +                        last.start.every(st => st.type !== 'comment' || st.indent < token.indent))) {
        +                    if (top.type === 'document')
        +                        top.end = last.start;
        +                    else
        +                        top.items.push({ start: last.start });
        +                    token.items.splice(-1, 1);
        +                }
        +            }
        +        }
        +    }
        +    *stream() {
        +        switch (this.type) {
        +            case 'directive-line':
        +                yield { type: 'directive', offset: this.offset, source: this.source };
        +                return;
        +            case 'byte-order-mark':
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                yield this.sourceToken;
        +                return;
        +            case 'doc-mode':
        +            case 'doc-start': {
        +                const doc = {
        +                    type: 'document',
        +                    offset: this.offset,
        +                    start: []
        +                };
        +                if (this.type === 'doc-start')
        +                    doc.start.push(this.sourceToken);
        +                this.stack.push(doc);
        +                return;
        +            }
        +        }
        +        yield {
        +            type: 'error',
        +            offset: this.offset,
        +            message: `Unexpected ${this.type} token in YAML stream`,
        +            source: this.source
        +        };
        +    }
        +    *document(doc) {
        +        if (doc.value)
        +            return yield* this.lineEnd(doc);
        +        switch (this.type) {
        +            case 'doc-start': {
        +                if (findNonEmptyIndex(doc.start) !== -1) {
        +                    yield* this.pop();
        +                    yield* this.step();
        +                }
        +                else
        +                    doc.start.push(this.sourceToken);
        +                return;
        +            }
        +            case 'anchor':
        +            case 'tag':
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                doc.start.push(this.sourceToken);
        +                return;
        +        }
        +        const bv = this.startBlockValue(doc);
        +        if (bv)
        +            this.stack.push(bv);
        +        else {
        +            yield {
        +                type: 'error',
        +                offset: this.offset,
        +                message: `Unexpected ${this.type} token in YAML document`,
        +                source: this.source
        +            };
        +        }
        +    }
        +    *scalar(scalar) {
        +        if (this.type === 'map-value-ind') {
        +            const prev = getPrevProps(this.peek(2));
        +            const start = getFirstKeyStartProps(prev);
        +            let sep;
        +            if (scalar.end) {
        +                sep = scalar.end;
        +                sep.push(this.sourceToken);
        +                delete scalar.end;
        +            }
        +            else
        +                sep = [this.sourceToken];
        +            const map = {
        +                type: 'block-map',
        +                offset: scalar.offset,
        +                indent: scalar.indent,
        +                items: [{ start, key: scalar, sep }]
        +            };
        +            this.onKeyLine = true;
        +            this.stack[this.stack.length - 1] = map;
        +        }
        +        else
        +            yield* this.lineEnd(scalar);
        +    }
        +    *blockScalar(scalar) {
        +        switch (this.type) {
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                scalar.props.push(this.sourceToken);
        +                return;
        +            case 'scalar':
        +                scalar.source = this.source;
        +                // block-scalar source includes trailing newline
        +                this.atNewLine = true;
        +                this.indent = 0;
        +                if (this.onNewLine) {
        +                    let nl = this.source.indexOf('\n') + 1;
        +                    while (nl !== 0) {
        +                        this.onNewLine(this.offset + nl);
        +                        nl = this.source.indexOf('\n', nl) + 1;
        +                    }
        +                }
        +                yield* this.pop();
        +                break;
        +            /* istanbul ignore next should not happen */
        +            default:
        +                yield* this.pop();
        +                yield* this.step();
        +        }
        +    }
        +    *blockMap(map) {
        +        const it = map.items[map.items.length - 1];
        +        // it.sep is true-ish if pair already has key or : separator
        +        switch (this.type) {
        +            case 'newline':
        +                this.onKeyLine = false;
        +                if (it.value) {
        +                    const end = 'end' in it.value ? it.value.end : undefined;
        +                    const last = Array.isArray(end) ? end[end.length - 1] : undefined;
        +                    if (last?.type === 'comment')
        +                        end?.push(this.sourceToken);
        +                    else
        +                        map.items.push({ start: [this.sourceToken] });
        +                }
        +                else if (it.sep) {
        +                    it.sep.push(this.sourceToken);
        +                }
        +                else {
        +                    it.start.push(this.sourceToken);
        +                }
        +                return;
        +            case 'space':
        +            case 'comment':
        +                if (it.value) {
        +                    map.items.push({ start: [this.sourceToken] });
        +                }
        +                else if (it.sep) {
        +                    it.sep.push(this.sourceToken);
        +                }
        +                else {
        +                    if (this.atIndentedComment(it.start, map.indent)) {
        +                        const prev = map.items[map.items.length - 2];
        +                        const end = prev?.value?.end;
        +                        if (Array.isArray(end)) {
        +                            Array.prototype.push.apply(end, it.start);
        +                            end.push(this.sourceToken);
        +                            map.items.pop();
        +                            return;
        +                        }
        +                    }
        +                    it.start.push(this.sourceToken);
        +                }
        +                return;
        +        }
        +        if (this.indent >= map.indent) {
        +            const atMapIndent = !this.onKeyLine && this.indent === map.indent;
        +            const atNextItem = atMapIndent &&
        +                (it.sep || it.explicitKey) &&
        +                this.type !== 'seq-item-ind';
        +            // For empty nodes, assign newline-separated not indented empty tokens to following node
        +            let start = [];
        +            if (atNextItem && it.sep && !it.value) {
        +                const nl = [];
        +                for (let i = 0; i < it.sep.length; ++i) {
        +                    const st = it.sep[i];
        +                    switch (st.type) {
        +                        case 'newline':
        +                            nl.push(i);
        +                            break;
        +                        case 'space':
        +                            break;
        +                        case 'comment':
        +                            if (st.indent > map.indent)
        +                                nl.length = 0;
        +                            break;
        +                        default:
        +                            nl.length = 0;
        +                    }
        +                }
        +                if (nl.length >= 2)
        +                    start = it.sep.splice(nl[1]);
        +            }
        +            switch (this.type) {
        +                case 'anchor':
        +                case 'tag':
        +                    if (atNextItem || it.value) {
        +                        start.push(this.sourceToken);
        +                        map.items.push({ start });
        +                        this.onKeyLine = true;
        +                    }
        +                    else if (it.sep) {
        +                        it.sep.push(this.sourceToken);
        +                    }
        +                    else {
        +                        it.start.push(this.sourceToken);
        +                    }
        +                    return;
        +                case 'explicit-key-ind':
        +                    if (!it.sep && !it.explicitKey) {
        +                        it.start.push(this.sourceToken);
        +                        it.explicitKey = true;
        +                    }
        +                    else if (atNextItem || it.value) {
        +                        start.push(this.sourceToken);
        +                        map.items.push({ start, explicitKey: true });
        +                    }
        +                    else {
        +                        this.stack.push({
        +                            type: 'block-map',
        +                            offset: this.offset,
        +                            indent: this.indent,
        +                            items: [{ start: [this.sourceToken], explicitKey: true }]
        +                        });
        +                    }
        +                    this.onKeyLine = true;
        +                    return;
        +                case 'map-value-ind':
        +                    if (it.explicitKey) {
        +                        if (!it.sep) {
        +                            if (includesToken(it.start, 'newline')) {
        +                                Object.assign(it, { key: null, sep: [this.sourceToken] });
        +                            }
        +                            else {
        +                                const start = getFirstKeyStartProps(it.start);
        +                                this.stack.push({
        +                                    type: 'block-map',
        +                                    offset: this.offset,
        +                                    indent: this.indent,
        +                                    items: [{ start, key: null, sep: [this.sourceToken] }]
        +                                });
        +                            }
        +                        }
        +                        else if (it.value) {
        +                            map.items.push({ start: [], key: null, sep: [this.sourceToken] });
        +                        }
        +                        else if (includesToken(it.sep, 'map-value-ind')) {
        +                            this.stack.push({
        +                                type: 'block-map',
        +                                offset: this.offset,
        +                                indent: this.indent,
        +                                items: [{ start, key: null, sep: [this.sourceToken] }]
        +                            });
        +                        }
        +                        else if (isFlowToken(it.key) &&
        +                            !includesToken(it.sep, 'newline')) {
        +                            const start = getFirstKeyStartProps(it.start);
        +                            const key = it.key;
        +                            const sep = it.sep;
        +                            sep.push(this.sourceToken);
        +                            // @ts-expect-error type guard is wrong here
        +                            delete it.key;
        +                            // @ts-expect-error type guard is wrong here
        +                            delete it.sep;
        +                            this.stack.push({
        +                                type: 'block-map',
        +                                offset: this.offset,
        +                                indent: this.indent,
        +                                items: [{ start, key, sep }]
        +                            });
        +                        }
        +                        else if (start.length > 0) {
        +                            // Not actually at next item
        +                            it.sep = it.sep.concat(start, this.sourceToken);
        +                        }
        +                        else {
        +                            it.sep.push(this.sourceToken);
        +                        }
        +                    }
        +                    else {
        +                        if (!it.sep) {
        +                            Object.assign(it, { key: null, sep: [this.sourceToken] });
        +                        }
        +                        else if (it.value || atNextItem) {
        +                            map.items.push({ start, key: null, sep: [this.sourceToken] });
        +                        }
        +                        else if (includesToken(it.sep, 'map-value-ind')) {
        +                            this.stack.push({
        +                                type: 'block-map',
        +                                offset: this.offset,
        +                                indent: this.indent,
        +                                items: [{ start: [], key: null, sep: [this.sourceToken] }]
        +                            });
        +                        }
        +                        else {
        +                            it.sep.push(this.sourceToken);
        +                        }
        +                    }
        +                    this.onKeyLine = true;
        +                    return;
        +                case 'alias':
        +                case 'scalar':
        +                case 'single-quoted-scalar':
        +                case 'double-quoted-scalar': {
        +                    const fs = this.flowScalar(this.type);
        +                    if (atNextItem || it.value) {
        +                        map.items.push({ start, key: fs, sep: [] });
        +                        this.onKeyLine = true;
        +                    }
        +                    else if (it.sep) {
        +                        this.stack.push(fs);
        +                    }
        +                    else {
        +                        Object.assign(it, { key: fs, sep: [] });
        +                        this.onKeyLine = true;
        +                    }
        +                    return;
        +                }
        +                default: {
        +                    const bv = this.startBlockValue(map);
        +                    if (bv) {
        +                        if (bv.type === 'block-seq') {
        +                            if (!it.explicitKey &&
        +                                it.sep &&
        +                                !includesToken(it.sep, 'newline')) {
        +                                yield* this.pop({
        +                                    type: 'error',
        +                                    offset: this.offset,
        +                                    message: 'Unexpected block-seq-ind on same line with key',
        +                                    source: this.source
        +                                });
        +                                return;
        +                            }
        +                        }
        +                        else if (atMapIndent) {
        +                            map.items.push({ start });
        +                        }
        +                        this.stack.push(bv);
        +                        return;
        +                    }
        +                }
        +            }
        +        }
        +        yield* this.pop();
        +        yield* this.step();
        +    }
        +    *blockSequence(seq) {
        +        const it = seq.items[seq.items.length - 1];
        +        switch (this.type) {
        +            case 'newline':
        +                if (it.value) {
        +                    const end = 'end' in it.value ? it.value.end : undefined;
        +                    const last = Array.isArray(end) ? end[end.length - 1] : undefined;
        +                    if (last?.type === 'comment')
        +                        end?.push(this.sourceToken);
        +                    else
        +                        seq.items.push({ start: [this.sourceToken] });
        +                }
        +                else
        +                    it.start.push(this.sourceToken);
        +                return;
        +            case 'space':
        +            case 'comment':
        +                if (it.value)
        +                    seq.items.push({ start: [this.sourceToken] });
        +                else {
        +                    if (this.atIndentedComment(it.start, seq.indent)) {
        +                        const prev = seq.items[seq.items.length - 2];
        +                        const end = prev?.value?.end;
        +                        if (Array.isArray(end)) {
        +                            Array.prototype.push.apply(end, it.start);
        +                            end.push(this.sourceToken);
        +                            seq.items.pop();
        +                            return;
        +                        }
        +                    }
        +                    it.start.push(this.sourceToken);
        +                }
        +                return;
        +            case 'anchor':
        +            case 'tag':
        +                if (it.value || this.indent <= seq.indent)
        +                    break;
        +                it.start.push(this.sourceToken);
        +                return;
        +            case 'seq-item-ind':
        +                if (this.indent !== seq.indent)
        +                    break;
        +                if (it.value || includesToken(it.start, 'seq-item-ind'))
        +                    seq.items.push({ start: [this.sourceToken] });
        +                else
        +                    it.start.push(this.sourceToken);
        +                return;
        +        }
        +        if (this.indent > seq.indent) {
        +            const bv = this.startBlockValue(seq);
        +            if (bv) {
        +                this.stack.push(bv);
        +                return;
        +            }
        +        }
        +        yield* this.pop();
        +        yield* this.step();
        +    }
        +    *flowCollection(fc) {
        +        const it = fc.items[fc.items.length - 1];
        +        if (this.type === 'flow-error-end') {
        +            let top;
        +            do {
        +                yield* this.pop();
        +                top = this.peek(1);
        +            } while (top?.type === 'flow-collection');
        +        }
        +        else if (fc.end.length === 0) {
        +            switch (this.type) {
        +                case 'comma':
        +                case 'explicit-key-ind':
        +                    if (!it || it.sep)
        +                        fc.items.push({ start: [this.sourceToken] });
        +                    else
        +                        it.start.push(this.sourceToken);
        +                    return;
        +                case 'map-value-ind':
        +                    if (!it || it.value)
        +                        fc.items.push({ start: [], key: null, sep: [this.sourceToken] });
        +                    else if (it.sep)
        +                        it.sep.push(this.sourceToken);
        +                    else
        +                        Object.assign(it, { key: null, sep: [this.sourceToken] });
        +                    return;
        +                case 'space':
        +                case 'comment':
        +                case 'newline':
        +                case 'anchor':
        +                case 'tag':
        +                    if (!it || it.value)
        +                        fc.items.push({ start: [this.sourceToken] });
        +                    else if (it.sep)
        +                        it.sep.push(this.sourceToken);
        +                    else
        +                        it.start.push(this.sourceToken);
        +                    return;
        +                case 'alias':
        +                case 'scalar':
        +                case 'single-quoted-scalar':
        +                case 'double-quoted-scalar': {
        +                    const fs = this.flowScalar(this.type);
        +                    if (!it || it.value)
        +                        fc.items.push({ start: [], key: fs, sep: [] });
        +                    else if (it.sep)
        +                        this.stack.push(fs);
        +                    else
        +                        Object.assign(it, { key: fs, sep: [] });
        +                    return;
        +                }
        +                case 'flow-map-end':
        +                case 'flow-seq-end':
        +                    fc.end.push(this.sourceToken);
        +                    return;
        +            }
        +            const bv = this.startBlockValue(fc);
        +            /* istanbul ignore else should not happen */
        +            if (bv)
        +                this.stack.push(bv);
        +            else {
        +                yield* this.pop();
        +                yield* this.step();
        +            }
        +        }
        +        else {
        +            const parent = this.peek(2);
        +            if (parent.type === 'block-map' &&
        +                ((this.type === 'map-value-ind' && parent.indent === fc.indent) ||
        +                    (this.type === 'newline' &&
        +                        !parent.items[parent.items.length - 1].sep))) {
        +                yield* this.pop();
        +                yield* this.step();
        +            }
        +            else if (this.type === 'map-value-ind' &&
        +                parent.type !== 'flow-collection') {
        +                const prev = getPrevProps(parent);
        +                const start = getFirstKeyStartProps(prev);
        +                fixFlowSeqItems(fc);
        +                const sep = fc.end.splice(1, fc.end.length);
        +                sep.push(this.sourceToken);
        +                const map = {
        +                    type: 'block-map',
        +                    offset: fc.offset,
        +                    indent: fc.indent,
        +                    items: [{ start, key: fc, sep }]
        +                };
        +                this.onKeyLine = true;
        +                this.stack[this.stack.length - 1] = map;
        +            }
        +            else {
        +                yield* this.lineEnd(fc);
        +            }
        +        }
        +    }
        +    flowScalar(type) {
        +        if (this.onNewLine) {
        +            let nl = this.source.indexOf('\n') + 1;
        +            while (nl !== 0) {
        +                this.onNewLine(this.offset + nl);
        +                nl = this.source.indexOf('\n', nl) + 1;
        +            }
        +        }
        +        return {
        +            type,
        +            offset: this.offset,
        +            indent: this.indent,
        +            source: this.source
        +        };
        +    }
        +    startBlockValue(parent) {
        +        switch (this.type) {
        +            case 'alias':
        +            case 'scalar':
        +            case 'single-quoted-scalar':
        +            case 'double-quoted-scalar':
        +                return this.flowScalar(this.type);
        +            case 'block-scalar-header':
        +                return {
        +                    type: 'block-scalar',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    props: [this.sourceToken],
        +                    source: ''
        +                };
        +            case 'flow-map-start':
        +            case 'flow-seq-start':
        +                return {
        +                    type: 'flow-collection',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    start: this.sourceToken,
        +                    items: [],
        +                    end: []
        +                };
        +            case 'seq-item-ind':
        +                return {
        +                    type: 'block-seq',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    items: [{ start: [this.sourceToken] }]
        +                };
        +            case 'explicit-key-ind': {
        +                this.onKeyLine = true;
        +                const prev = getPrevProps(parent);
        +                const start = getFirstKeyStartProps(prev);
        +                start.push(this.sourceToken);
        +                return {
        +                    type: 'block-map',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    items: [{ start, explicitKey: true }]
        +                };
        +            }
        +            case 'map-value-ind': {
        +                this.onKeyLine = true;
        +                const prev = getPrevProps(parent);
        +                const start = getFirstKeyStartProps(prev);
        +                return {
        +                    type: 'block-map',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    items: [{ start, key: null, sep: [this.sourceToken] }]
        +                };
        +            }
        +        }
        +        return null;
        +    }
        +    atIndentedComment(start, indent) {
        +        if (this.type !== 'comment')
        +            return false;
        +        if (this.indent <= indent)
        +            return false;
        +        return start.every(st => st.type === 'newline' || st.type === 'space');
        +    }
        +    *documentEnd(docEnd) {
        +        if (this.type !== 'doc-mode') {
        +            if (docEnd.end)
        +                docEnd.end.push(this.sourceToken);
        +            else
        +                docEnd.end = [this.sourceToken];
        +            if (this.type === 'newline')
        +                yield* this.pop();
        +        }
        +    }
        +    *lineEnd(token) {
        +        switch (this.type) {
        +            case 'comma':
        +            case 'doc-start':
        +            case 'doc-end':
        +            case 'flow-seq-end':
        +            case 'flow-map-end':
        +            case 'map-value-ind':
        +                yield* this.pop();
        +                yield* this.step();
        +                break;
        +            case 'newline':
        +                this.onKeyLine = false;
        +            // fallthrough
        +            case 'space':
        +            case 'comment':
        +            default:
        +                // all other values are errors
        +                if (token.end)
        +                    token.end.push(this.sourceToken);
        +                else
        +                    token.end = [this.sourceToken];
        +                if (this.type === 'newline')
        +                    yield* this.pop();
        +        }
        +    }
        +}
        +
        +exports.Parser = Parser;
        +
        +
        +/***/ },
        +
        +/***/ 73575
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var composer = __webpack_require__(34664);
        +var Document = __webpack_require__(53973);
        +var errors = __webpack_require__(27856);
        +var log = __webpack_require__(59913);
        +var identity = __webpack_require__(41359);
        +var lineCounter = __webpack_require__(8268);
        +var parser = __webpack_require__(73096);
        +
        +function parseOptions(options) {
        +    const prettyErrors = options.prettyErrors !== false;
        +    const lineCounter$1 = options.lineCounter || (prettyErrors && new lineCounter.LineCounter()) || null;
        +    return { lineCounter: lineCounter$1, prettyErrors };
        +}
        +/**
        + * Parse the input as a stream of YAML documents.
        + *
        + * Documents should be separated from each other by `...` or `---` marker lines.
        + *
        + * @returns If an empty `docs` array is returned, it will be of type
        + *   EmptyStream and contain additional stream information. In
        + *   TypeScript, you should use `'empty' in docs` as a type guard for it.
        + */
        +function parseAllDocuments(source, options = {}) {
        +    const { lineCounter, prettyErrors } = parseOptions(options);
        +    const parser$1 = new parser.Parser(lineCounter?.addNewLine);
        +    const composer$1 = new composer.Composer(options);
        +    const docs = Array.from(composer$1.compose(parser$1.parse(source)));
        +    if (prettyErrors && lineCounter)
        +        for (const doc of docs) {
        +            doc.errors.forEach(errors.prettifyError(source, lineCounter));
        +            doc.warnings.forEach(errors.prettifyError(source, lineCounter));
        +        }
        +    if (docs.length > 0)
        +        return docs;
        +    return Object.assign([], { empty: true }, composer$1.streamInfo());
        +}
        +/** Parse an input string into a single YAML.Document */
        +function parseDocument(source, options = {}) {
        +    const { lineCounter, prettyErrors } = parseOptions(options);
        +    const parser$1 = new parser.Parser(lineCounter?.addNewLine);
        +    const composer$1 = new composer.Composer(options);
        +    // `doc` is always set by compose.end(true) at the very latest
        +    let doc = null;
        +    for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
        +        if (!doc)
        +            doc = _doc;
        +        else if (doc.options.logLevel !== 'silent') {
        +            doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), 'MULTIPLE_DOCS', 'Source contains multiple documents; please use YAML.parseAllDocuments()'));
        +            break;
        +        }
        +    }
        +    if (prettyErrors && lineCounter) {
        +        doc.errors.forEach(errors.prettifyError(source, lineCounter));
        +        doc.warnings.forEach(errors.prettifyError(source, lineCounter));
        +    }
        +    return doc;
        +}
        +function parse(src, reviver, options) {
        +    let _reviver = undefined;
        +    if (typeof reviver === 'function') {
        +        _reviver = reviver;
        +    }
        +    else if (options === undefined && reviver && typeof reviver === 'object') {
        +        options = reviver;
        +    }
        +    const doc = parseDocument(src, options);
        +    if (!doc)
        +        return null;
        +    doc.warnings.forEach(warning => log.warn(doc.options.logLevel, warning));
        +    if (doc.errors.length > 0) {
        +        if (doc.options.logLevel !== 'silent')
        +            throw doc.errors[0];
        +        else
        +            doc.errors = [];
        +    }
        +    return doc.toJS(Object.assign({ reviver: _reviver }, options));
        +}
        +function stringify(value, replacer, options) {
        +    let _replacer = null;
        +    if (typeof replacer === 'function' || Array.isArray(replacer)) {
        +        _replacer = replacer;
        +    }
        +    else if (options === undefined && replacer) {
        +        options = replacer;
        +    }
        +    if (typeof options === 'string')
        +        options = options.length;
        +    if (typeof options === 'number') {
        +        const indent = Math.round(options);
        +        options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent };
        +    }
        +    if (value === undefined) {
        +        const { keepUndefined } = options ?? replacer ?? {};
        +        if (!keepUndefined)
        +            return undefined;
        +    }
        +    if (identity.isDocument(value) && !_replacer)
        +        return value.toString(options);
        +    return new Document.Document(value, _replacer, options).toString(options);
        +}
        +
        +exports.parse = parse;
        +exports.parseAllDocuments = parseAllDocuments;
        +exports.parseDocument = parseDocument;
        +exports.stringify = stringify;
        +
        +
        +/***/ },
        +
        +/***/ 60328
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var map = __webpack_require__(38947);
        +var seq = __webpack_require__(63874);
        +var string = __webpack_require__(23240);
        +var tags = __webpack_require__(68666);
        +
        +const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
        +class Schema {
        +    constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) {
        +        this.compat = Array.isArray(compat)
        +            ? tags.getTags(compat, 'compat')
        +            : compat
        +                ? tags.getTags(null, compat)
        +                : null;
        +        this.name = (typeof schema === 'string' && schema) || 'core';
        +        this.knownTags = resolveKnownTags ? tags.coreKnownTags : {};
        +        this.tags = tags.getTags(customTags, this.name, merge);
        +        this.toStringOptions = toStringDefaults ?? null;
        +        Object.defineProperty(this, identity.MAP, { value: map.map });
        +        Object.defineProperty(this, identity.SCALAR, { value: string.string });
        +        Object.defineProperty(this, identity.SEQ, { value: seq.seq });
        +        // Used by createMap()
        +        this.sortMapEntries =
        +            typeof sortMapEntries === 'function'
        +                ? sortMapEntries
        +                : sortMapEntries === true
        +                    ? sortMapEntriesByKey
        +                    : null;
        +    }
        +    clone() {
        +        const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this));
        +        copy.tags = this.tags.slice();
        +        return copy;
        +    }
        +}
        +
        +exports.Schema = Schema;
        +
        +
        +/***/ },
        +
        +/***/ 38947
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var YAMLMap = __webpack_require__(23326);
        +
        +const map = {
        +    collection: 'map',
        +    default: true,
        +    nodeClass: YAMLMap.YAMLMap,
        +    tag: 'tag:yaml.org,2002:map',
        +    resolve(map, onError) {
        +        if (!identity.isMap(map))
        +            onError('Expected a mapping for this tag');
        +        return map;
        +    },
        +    createNode: (schema, obj, ctx) => YAMLMap.YAMLMap.from(schema, obj, ctx)
        +};
        +
        +exports.map = map;
        +
        +
        +/***/ },
        +
        +/***/ 6712
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +
        +const nullTag = {
        +    identify: value => value == null,
        +    createNode: () => new Scalar.Scalar(null),
        +    default: true,
        +    tag: 'tag:yaml.org,2002:null',
        +    test: /^(?:~|[Nn]ull|NULL)?$/,
        +    resolve: () => new Scalar.Scalar(null),
        +    stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source)
        +        ? source
        +        : ctx.options.nullStr
        +};
        +
        +exports.nullTag = nullTag;
        +
        +
        +/***/ },
        +
        +/***/ 63874
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var YAMLSeq = __webpack_require__(68743);
        +
        +const seq = {
        +    collection: 'seq',
        +    default: true,
        +    nodeClass: YAMLSeq.YAMLSeq,
        +    tag: 'tag:yaml.org,2002:seq',
        +    resolve(seq, onError) {
        +        if (!identity.isSeq(seq))
        +            onError('Expected a sequence for this tag');
        +        return seq;
        +    },
        +    createNode: (schema, obj, ctx) => YAMLSeq.YAMLSeq.from(schema, obj, ctx)
        +};
        +
        +exports.seq = seq;
        +
        +
        +/***/ },
        +
        +/***/ 23240
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyString = __webpack_require__(91573);
        +
        +const string = {
        +    identify: value => typeof value === 'string',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:str',
        +    resolve: str => str,
        +    stringify(item, ctx, onComment, onChompKeep) {
        +        ctx = Object.assign({ actualString: true }, ctx);
        +        return stringifyString.stringifyString(item, ctx, onComment, onChompKeep);
        +    }
        +};
        +
        +exports.string = string;
        +
        +
        +/***/ },
        +
        +/***/ 90015
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +
        +const boolTag = {
        +    identify: value => typeof value === 'boolean',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:bool',
        +    test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
        +    resolve: str => new Scalar.Scalar(str[0] === 't' || str[0] === 'T'),
        +    stringify({ source, value }, ctx) {
        +        if (source && boolTag.test.test(source)) {
        +            const sv = source[0] === 't' || source[0] === 'T';
        +            if (value === sv)
        +                return source;
        +        }
        +        return value ? ctx.options.trueStr : ctx.options.falseStr;
        +    }
        +};
        +
        +exports.boolTag = boolTag;
        +
        +
        +/***/ },
        +
        +/***/ 12797
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +var stringifyNumber = __webpack_require__(98089);
        +
        +const floatNaN = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
        +    resolve: str => str.slice(-3).toLowerCase() === 'nan'
        +        ? NaN
        +        : str[0] === '-'
        +            ? Number.NEGATIVE_INFINITY
        +            : Number.POSITIVE_INFINITY,
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const floatExp = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    format: 'EXP',
        +    test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
        +    resolve: str => parseFloat(str),
        +    stringify(node) {
        +        const num = Number(node.value);
        +        return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
        +    }
        +};
        +const float = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
        +    resolve(str) {
        +        const node = new Scalar.Scalar(parseFloat(str));
        +        const dot = str.indexOf('.');
        +        if (dot !== -1 && str[str.length - 1] === '0')
        +            node.minFractionDigits = str.length - dot - 1;
        +        return node;
        +    },
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +
        +exports.float = float;
        +exports.floatExp = floatExp;
        +exports.floatNaN = floatNaN;
        +
        +
        +/***/ },
        +
        +/***/ 13914
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyNumber = __webpack_require__(98089);
        +
        +const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
        +const intResolve = (str, offset, radix, { intAsBigInt }) => (intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix));
        +function intStringify(node, radix, prefix) {
        +    const { value } = node;
        +    if (intIdentify(value) && value >= 0)
        +        return prefix + value.toString(radix);
        +    return stringifyNumber.stringifyNumber(node);
        +}
        +const intOct = {
        +    identify: value => intIdentify(value) && value >= 0,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'OCT',
        +    test: /^0o[0-7]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt),
        +    stringify: node => intStringify(node, 8, '0o')
        +};
        +const int = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    test: /^[-+]?[0-9]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const intHex = {
        +    identify: value => intIdentify(value) && value >= 0,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'HEX',
        +    test: /^0x[0-9a-fA-F]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
        +    stringify: node => intStringify(node, 16, '0x')
        +};
        +
        +exports.int = int;
        +exports.intHex = intHex;
        +exports.intOct = intOct;
        +
        +
        +/***/ },
        +
        +/***/ 2424
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var map = __webpack_require__(38947);
        +var _null = __webpack_require__(6712);
        +var seq = __webpack_require__(63874);
        +var string = __webpack_require__(23240);
        +var bool = __webpack_require__(90015);
        +var float = __webpack_require__(12797);
        +var int = __webpack_require__(13914);
        +
        +const schema = [
        +    map.map,
        +    seq.seq,
        +    string.string,
        +    _null.nullTag,
        +    bool.boolTag,
        +    int.intOct,
        +    int.int,
        +    int.intHex,
        +    float.floatNaN,
        +    float.floatExp,
        +    float.float
        +];
        +
        +exports.schema = schema;
        +
        +
        +/***/ },
        +
        +/***/ 9887
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +var map = __webpack_require__(38947);
        +var seq = __webpack_require__(63874);
        +
        +function intIdentify(value) {
        +    return typeof value === 'bigint' || Number.isInteger(value);
        +}
        +const stringifyJSON = ({ value }) => JSON.stringify(value);
        +const jsonScalars = [
        +    {
        +        identify: value => typeof value === 'string',
        +        default: true,
        +        tag: 'tag:yaml.org,2002:str',
        +        resolve: str => str,
        +        stringify: stringifyJSON
        +    },
        +    {
        +        identify: value => value == null,
        +        createNode: () => new Scalar.Scalar(null),
        +        default: true,
        +        tag: 'tag:yaml.org,2002:null',
        +        test: /^null$/,
        +        resolve: () => null,
        +        stringify: stringifyJSON
        +    },
        +    {
        +        identify: value => typeof value === 'boolean',
        +        default: true,
        +        tag: 'tag:yaml.org,2002:bool',
        +        test: /^true$|^false$/,
        +        resolve: str => str === 'true',
        +        stringify: stringifyJSON
        +    },
        +    {
        +        identify: intIdentify,
        +        default: true,
        +        tag: 'tag:yaml.org,2002:int',
        +        test: /^-?(?:0|[1-9][0-9]*)$/,
        +        resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10),
        +        stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
        +    },
        +    {
        +        identify: value => typeof value === 'number',
        +        default: true,
        +        tag: 'tag:yaml.org,2002:float',
        +        test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
        +        resolve: str => parseFloat(str),
        +        stringify: stringifyJSON
        +    }
        +];
        +const jsonError = {
        +    default: true,
        +    tag: '',
        +    test: /^/,
        +    resolve(str, onError) {
        +        onError(`Unresolved plain scalar ${JSON.stringify(str)}`);
        +        return str;
        +    }
        +};
        +const schema = [map.map, seq.seq].concat(jsonScalars, jsonError);
        +
        +exports.schema = schema;
        +
        +
        +/***/ },
        +
        +/***/ 68666
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var map = __webpack_require__(38947);
        +var _null = __webpack_require__(6712);
        +var seq = __webpack_require__(63874);
        +var string = __webpack_require__(23240);
        +var bool = __webpack_require__(90015);
        +var float = __webpack_require__(12797);
        +var int = __webpack_require__(13914);
        +var schema = __webpack_require__(2424);
        +var schema$1 = __webpack_require__(9887);
        +var binary = __webpack_require__(65707);
        +var merge = __webpack_require__(78428);
        +var omap = __webpack_require__(58151);
        +var pairs = __webpack_require__(58713);
        +var schema$2 = __webpack_require__(43409);
        +var set = __webpack_require__(72080);
        +var timestamp = __webpack_require__(65128);
        +
        +const schemas = new Map([
        +    ['core', schema.schema],
        +    ['failsafe', [map.map, seq.seq, string.string]],
        +    ['json', schema$1.schema],
        +    ['yaml11', schema$2.schema],
        +    ['yaml-1.1', schema$2.schema]
        +]);
        +const tagsByName = {
        +    binary: binary.binary,
        +    bool: bool.boolTag,
        +    float: float.float,
        +    floatExp: float.floatExp,
        +    floatNaN: float.floatNaN,
        +    floatTime: timestamp.floatTime,
        +    int: int.int,
        +    intHex: int.intHex,
        +    intOct: int.intOct,
        +    intTime: timestamp.intTime,
        +    map: map.map,
        +    merge: merge.merge,
        +    null: _null.nullTag,
        +    omap: omap.omap,
        +    pairs: pairs.pairs,
        +    seq: seq.seq,
        +    set: set.set,
        +    timestamp: timestamp.timestamp
        +};
        +const coreKnownTags = {
        +    'tag:yaml.org,2002:binary': binary.binary,
        +    'tag:yaml.org,2002:merge': merge.merge,
        +    'tag:yaml.org,2002:omap': omap.omap,
        +    'tag:yaml.org,2002:pairs': pairs.pairs,
        +    'tag:yaml.org,2002:set': set.set,
        +    'tag:yaml.org,2002:timestamp': timestamp.timestamp
        +};
        +function getTags(customTags, schemaName, addMergeTag) {
        +    const schemaTags = schemas.get(schemaName);
        +    if (schemaTags && !customTags) {
        +        return addMergeTag && !schemaTags.includes(merge.merge)
        +            ? schemaTags.concat(merge.merge)
        +            : schemaTags.slice();
        +    }
        +    let tags = schemaTags;
        +    if (!tags) {
        +        if (Array.isArray(customTags))
        +            tags = [];
        +        else {
        +            const keys = Array.from(schemas.keys())
        +                .filter(key => key !== 'yaml11')
        +                .map(key => JSON.stringify(key))
        +                .join(', ');
        +            throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`);
        +        }
        +    }
        +    if (Array.isArray(customTags)) {
        +        for (const tag of customTags)
        +            tags = tags.concat(tag);
        +    }
        +    else if (typeof customTags === 'function') {
        +        tags = customTags(tags.slice());
        +    }
        +    if (addMergeTag)
        +        tags = tags.concat(merge.merge);
        +    return tags.reduce((tags, tag) => {
        +        const tagObj = typeof tag === 'string' ? tagsByName[tag] : tag;
        +        if (!tagObj) {
        +            const tagName = JSON.stringify(tag);
        +            const keys = Object.keys(tagsByName)
        +                .map(key => JSON.stringify(key))
        +                .join(', ');
        +            throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
        +        }
        +        if (!tags.includes(tagObj))
        +            tags.push(tagObj);
        +        return tags;
        +    }, []);
        +}
        +
        +exports.coreKnownTags = coreKnownTags;
        +exports.getTags = getTags;
        +
        +
        +/***/ },
        +
        +/***/ 65707
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_buffer = __webpack_require__(20181);
        +var Scalar = __webpack_require__(26621);
        +var stringifyString = __webpack_require__(91573);
        +
        +const binary = {
        +    identify: value => value instanceof Uint8Array, // Buffer inherits from Uint8Array
        +    default: false,
        +    tag: 'tag:yaml.org,2002:binary',
        +    /**
        +     * Returns a Buffer in node and an Uint8Array in browsers
        +     *
        +     * To use the resulting buffer as an image, you'll want to do something like:
        +     *
        +     *   const blob = new Blob([buffer], { type: 'image/jpeg' })
        +     *   document.querySelector('#photo').src = URL.createObjectURL(blob)
        +     */
        +    resolve(src, onError) {
        +        if (typeof node_buffer.Buffer === 'function') {
        +            return node_buffer.Buffer.from(src, 'base64');
        +        }
        +        else if (typeof atob === 'function') {
        +            // On IE 11, atob() can't handle newlines
        +            const str = atob(src.replace(/[\n\r]/g, ''));
        +            const buffer = new Uint8Array(str.length);
        +            for (let i = 0; i < str.length; ++i)
        +                buffer[i] = str.charCodeAt(i);
        +            return buffer;
        +        }
        +        else {
        +            onError('This environment does not support reading binary tags; either Buffer or atob is required');
        +            return src;
        +        }
        +    },
        +    stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
        +        if (!value)
        +            return '';
        +        const buf = value; // checked earlier by binary.identify()
        +        let str;
        +        if (typeof node_buffer.Buffer === 'function') {
        +            str =
        +                buf instanceof node_buffer.Buffer
        +                    ? buf.toString('base64')
        +                    : node_buffer.Buffer.from(buf.buffer).toString('base64');
        +        }
        +        else if (typeof btoa === 'function') {
        +            let s = '';
        +            for (let i = 0; i < buf.length; ++i)
        +                s += String.fromCharCode(buf[i]);
        +            str = btoa(s);
        +        }
        +        else {
        +            throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
        +        }
        +        type ?? (type = Scalar.Scalar.BLOCK_LITERAL);
        +        if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
        +            const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
        +            const n = Math.ceil(str.length / lineWidth);
        +            const lines = new Array(n);
        +            for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
        +                lines[i] = str.substr(o, lineWidth);
        +            }
        +            str = lines.join(type === Scalar.Scalar.BLOCK_LITERAL ? '\n' : ' ');
        +        }
        +        return stringifyString.stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep);
        +    }
        +};
        +
        +exports.binary = binary;
        +
        +
        +/***/ },
        +
        +/***/ 90758
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +
        +function boolStringify({ value, source }, ctx) {
        +    const boolObj = value ? trueTag : falseTag;
        +    if (source && boolObj.test.test(source))
        +        return source;
        +    return value ? ctx.options.trueStr : ctx.options.falseStr;
        +}
        +const trueTag = {
        +    identify: value => value === true,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:bool',
        +    test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
        +    resolve: () => new Scalar.Scalar(true),
        +    stringify: boolStringify
        +};
        +const falseTag = {
        +    identify: value => value === false,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:bool',
        +    test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
        +    resolve: () => new Scalar.Scalar(false),
        +    stringify: boolStringify
        +};
        +
        +exports.falseTag = falseTag;
        +exports.trueTag = trueTag;
        +
        +
        +/***/ },
        +
        +/***/ 17918
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +var stringifyNumber = __webpack_require__(98089);
        +
        +const floatNaN = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
        +    resolve: (str) => str.slice(-3).toLowerCase() === 'nan'
        +        ? NaN
        +        : str[0] === '-'
        +            ? Number.NEGATIVE_INFINITY
        +            : Number.POSITIVE_INFINITY,
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const floatExp = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    format: 'EXP',
        +    test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
        +    resolve: (str) => parseFloat(str.replace(/_/g, '')),
        +    stringify(node) {
        +        const num = Number(node.value);
        +        return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
        +    }
        +};
        +const float = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
        +    resolve(str) {
        +        const node = new Scalar.Scalar(parseFloat(str.replace(/_/g, '')));
        +        const dot = str.indexOf('.');
        +        if (dot !== -1) {
        +            const f = str.substring(dot + 1).replace(/_/g, '');
        +            if (f[f.length - 1] === '0')
        +                node.minFractionDigits = f.length;
        +        }
        +        return node;
        +    },
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +
        +exports.float = float;
        +exports.floatExp = floatExp;
        +exports.floatNaN = floatNaN;
        +
        +
        +/***/ },
        +
        +/***/ 67697
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyNumber = __webpack_require__(98089);
        +
        +const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
        +function intResolve(str, offset, radix, { intAsBigInt }) {
        +    const sign = str[0];
        +    if (sign === '-' || sign === '+')
        +        offset += 1;
        +    str = str.substring(offset).replace(/_/g, '');
        +    if (intAsBigInt) {
        +        switch (radix) {
        +            case 2:
        +                str = `0b${str}`;
        +                break;
        +            case 8:
        +                str = `0o${str}`;
        +                break;
        +            case 16:
        +                str = `0x${str}`;
        +                break;
        +        }
        +        const n = BigInt(str);
        +        return sign === '-' ? BigInt(-1) * n : n;
        +    }
        +    const n = parseInt(str, radix);
        +    return sign === '-' ? -1 * n : n;
        +}
        +function intStringify(node, radix, prefix) {
        +    const { value } = node;
        +    if (intIdentify(value)) {
        +        const str = value.toString(radix);
        +        return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;
        +    }
        +    return stringifyNumber.stringifyNumber(node);
        +}
        +const intBin = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'BIN',
        +    test: /^[-+]?0b[0-1_]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 2, opt),
        +    stringify: node => intStringify(node, 2, '0b')
        +};
        +const intOct = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'OCT',
        +    test: /^[-+]?0[0-7_]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 1, 8, opt),
        +    stringify: node => intStringify(node, 8, '0')
        +};
        +const int = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    test: /^[-+]?[0-9][0-9_]*$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const intHex = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'HEX',
        +    test: /^[-+]?0x[0-9a-fA-F_]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
        +    stringify: node => intStringify(node, 16, '0x')
        +};
        +
        +exports.int = int;
        +exports.intBin = intBin;
        +exports.intHex = intHex;
        +exports.intOct = intOct;
        +
        +
        +/***/ },
        +
        +/***/ 78428
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Scalar = __webpack_require__(26621);
        +
        +// If the value associated with a merge key is a single mapping node, each of
        +// its key/value pairs is inserted into the current mapping, unless the key
        +// already exists in it. If the value associated with the merge key is a
        +// sequence, then this sequence is expected to contain mapping nodes and each
        +// of these nodes is merged in turn according to its order in the sequence.
        +// Keys in mapping nodes earlier in the sequence override keys specified in
        +// later mapping nodes. -- http://yaml.org/type/merge.html
        +const MERGE_KEY = '<<';
        +const merge = {
        +    identify: value => value === MERGE_KEY ||
        +        (typeof value === 'symbol' && value.description === MERGE_KEY),
        +    default: 'key',
        +    tag: 'tag:yaml.org,2002:merge',
        +    test: /^<<$/,
        +    resolve: () => Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)), {
        +        addToJSMap: addMergeToJSMap
        +    }),
        +    stringify: () => MERGE_KEY
        +};
        +const isMergeKey = (ctx, key) => (merge.identify(key) ||
        +    (identity.isScalar(key) &&
        +        (!key.type || key.type === Scalar.Scalar.PLAIN) &&
        +        merge.identify(key.value))) &&
        +    ctx?.doc.schema.tags.some(tag => tag.tag === merge.tag && tag.default);
        +function addMergeToJSMap(ctx, map, value) {
        +    value = ctx && identity.isAlias(value) ? value.resolve(ctx.doc) : value;
        +    if (identity.isSeq(value))
        +        for (const it of value.items)
        +            mergeValue(ctx, map, it);
        +    else if (Array.isArray(value))
        +        for (const it of value)
        +            mergeValue(ctx, map, it);
        +    else
        +        mergeValue(ctx, map, value);
        +}
        +function mergeValue(ctx, map, value) {
        +    const source = ctx && identity.isAlias(value) ? value.resolve(ctx.doc) : value;
        +    if (!identity.isMap(source))
        +        throw new Error('Merge sources must be maps or map aliases');
        +    const srcMap = source.toJSON(null, ctx, Map);
        +    for (const [key, value] of srcMap) {
        +        if (map instanceof Map) {
        +            if (!map.has(key))
        +                map.set(key, value);
        +        }
        +        else if (map instanceof Set) {
        +            map.add(key);
        +        }
        +        else if (!Object.prototype.hasOwnProperty.call(map, key)) {
        +            Object.defineProperty(map, key, {
        +                value,
        +                writable: true,
        +                enumerable: true,
        +                configurable: true
        +            });
        +        }
        +    }
        +    return map;
        +}
        +
        +exports.addMergeToJSMap = addMergeToJSMap;
        +exports.isMergeKey = isMergeKey;
        +exports.merge = merge;
        +
        +
        +/***/ },
        +
        +/***/ 58151
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var toJS = __webpack_require__(3107);
        +var YAMLMap = __webpack_require__(23326);
        +var YAMLSeq = __webpack_require__(68743);
        +var pairs = __webpack_require__(58713);
        +
        +class YAMLOMap extends YAMLSeq.YAMLSeq {
        +    constructor() {
        +        super();
        +        this.add = YAMLMap.YAMLMap.prototype.add.bind(this);
        +        this.delete = YAMLMap.YAMLMap.prototype.delete.bind(this);
        +        this.get = YAMLMap.YAMLMap.prototype.get.bind(this);
        +        this.has = YAMLMap.YAMLMap.prototype.has.bind(this);
        +        this.set = YAMLMap.YAMLMap.prototype.set.bind(this);
        +        this.tag = YAMLOMap.tag;
        +    }
        +    /**
        +     * If `ctx` is given, the return type is actually `Map`,
        +     * but TypeScript won't allow widening the signature of a child method.
        +     */
        +    toJSON(_, ctx) {
        +        if (!ctx)
        +            return super.toJSON(_);
        +        const map = new Map();
        +        if (ctx?.onCreate)
        +            ctx.onCreate(map);
        +        for (const pair of this.items) {
        +            let key, value;
        +            if (identity.isPair(pair)) {
        +                key = toJS.toJS(pair.key, '', ctx);
        +                value = toJS.toJS(pair.value, key, ctx);
        +            }
        +            else {
        +                key = toJS.toJS(pair, '', ctx);
        +            }
        +            if (map.has(key))
        +                throw new Error('Ordered maps must not include duplicate keys');
        +            map.set(key, value);
        +        }
        +        return map;
        +    }
        +    static from(schema, iterable, ctx) {
        +        const pairs$1 = pairs.createPairs(schema, iterable, ctx);
        +        const omap = new this();
        +        omap.items = pairs$1.items;
        +        return omap;
        +    }
        +}
        +YAMLOMap.tag = 'tag:yaml.org,2002:omap';
        +const omap = {
        +    collection: 'seq',
        +    identify: value => value instanceof Map,
        +    nodeClass: YAMLOMap,
        +    default: false,
        +    tag: 'tag:yaml.org,2002:omap',
        +    resolve(seq, onError) {
        +        const pairs$1 = pairs.resolvePairs(seq, onError);
        +        const seenKeys = [];
        +        for (const { key } of pairs$1.items) {
        +            if (identity.isScalar(key)) {
        +                if (seenKeys.includes(key.value)) {
        +                    onError(`Ordered maps must not include duplicate keys: ${key.value}`);
        +                }
        +                else {
        +                    seenKeys.push(key.value);
        +                }
        +            }
        +        }
        +        return Object.assign(new YAMLOMap(), pairs$1);
        +    },
        +    createNode: (schema, iterable, ctx) => YAMLOMap.from(schema, iterable, ctx)
        +};
        +
        +exports.YAMLOMap = YAMLOMap;
        +exports.omap = omap;
        +
        +
        +/***/ },
        +
        +/***/ 58713
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Pair = __webpack_require__(72613);
        +var Scalar = __webpack_require__(26621);
        +var YAMLSeq = __webpack_require__(68743);
        +
        +function resolvePairs(seq, onError) {
        +    if (identity.isSeq(seq)) {
        +        for (let i = 0; i < seq.items.length; ++i) {
        +            let item = seq.items[i];
        +            if (identity.isPair(item))
        +                continue;
        +            else if (identity.isMap(item)) {
        +                if (item.items.length > 1)
        +                    onError('Each pair must have its own sequence indicator');
        +                const pair = item.items[0] || new Pair.Pair(new Scalar.Scalar(null));
        +                if (item.commentBefore)
        +                    pair.key.commentBefore = pair.key.commentBefore
        +                        ? `${item.commentBefore}\n${pair.key.commentBefore}`
        +                        : item.commentBefore;
        +                if (item.comment) {
        +                    const cn = pair.value ?? pair.key;
        +                    cn.comment = cn.comment
        +                        ? `${item.comment}\n${cn.comment}`
        +                        : item.comment;
        +                }
        +                item = pair;
        +            }
        +            seq.items[i] = identity.isPair(item) ? item : new Pair.Pair(item);
        +        }
        +    }
        +    else
        +        onError('Expected a sequence for this tag');
        +    return seq;
        +}
        +function createPairs(schema, iterable, ctx) {
        +    const { replacer } = ctx;
        +    const pairs = new YAMLSeq.YAMLSeq(schema);
        +    pairs.tag = 'tag:yaml.org,2002:pairs';
        +    let i = 0;
        +    if (iterable && Symbol.iterator in Object(iterable))
        +        for (let it of iterable) {
        +            if (typeof replacer === 'function')
        +                it = replacer.call(iterable, String(i++), it);
        +            let key, value;
        +            if (Array.isArray(it)) {
        +                if (it.length === 2) {
        +                    key = it[0];
        +                    value = it[1];
        +                }
        +                else
        +                    throw new TypeError(`Expected [key, value] tuple: ${it}`);
        +            }
        +            else if (it && it instanceof Object) {
        +                const keys = Object.keys(it);
        +                if (keys.length === 1) {
        +                    key = keys[0];
        +                    value = it[key];
        +                }
        +                else {
        +                    throw new TypeError(`Expected tuple with one key, not ${keys.length} keys`);
        +                }
        +            }
        +            else {
        +                key = it;
        +            }
        +            pairs.items.push(Pair.createPair(key, value, ctx));
        +        }
        +    return pairs;
        +}
        +const pairs = {
        +    collection: 'seq',
        +    default: false,
        +    tag: 'tag:yaml.org,2002:pairs',
        +    resolve: resolvePairs,
        +    createNode: createPairs
        +};
        +
        +exports.createPairs = createPairs;
        +exports.pairs = pairs;
        +exports.resolvePairs = resolvePairs;
        +
        +
        +/***/ },
        +
        +/***/ 43409
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var map = __webpack_require__(38947);
        +var _null = __webpack_require__(6712);
        +var seq = __webpack_require__(63874);
        +var string = __webpack_require__(23240);
        +var binary = __webpack_require__(65707);
        +var bool = __webpack_require__(90758);
        +var float = __webpack_require__(17918);
        +var int = __webpack_require__(67697);
        +var merge = __webpack_require__(78428);
        +var omap = __webpack_require__(58151);
        +var pairs = __webpack_require__(58713);
        +var set = __webpack_require__(72080);
        +var timestamp = __webpack_require__(65128);
        +
        +const schema = [
        +    map.map,
        +    seq.seq,
        +    string.string,
        +    _null.nullTag,
        +    bool.trueTag,
        +    bool.falseTag,
        +    int.intBin,
        +    int.intOct,
        +    int.int,
        +    int.intHex,
        +    float.floatNaN,
        +    float.floatExp,
        +    float.float,
        +    binary.binary,
        +    merge.merge,
        +    omap.omap,
        +    pairs.pairs,
        +    set.set,
        +    timestamp.intTime,
        +    timestamp.floatTime,
        +    timestamp.timestamp
        +];
        +
        +exports.schema = schema;
        +
        +
        +/***/ },
        +
        +/***/ 72080
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Pair = __webpack_require__(72613);
        +var YAMLMap = __webpack_require__(23326);
        +
        +class YAMLSet extends YAMLMap.YAMLMap {
        +    constructor(schema) {
        +        super(schema);
        +        this.tag = YAMLSet.tag;
        +    }
        +    add(key) {
        +        let pair;
        +        if (identity.isPair(key))
        +            pair = key;
        +        else if (key &&
        +            typeof key === 'object' &&
        +            'key' in key &&
        +            'value' in key &&
        +            key.value === null)
        +            pair = new Pair.Pair(key.key, null);
        +        else
        +            pair = new Pair.Pair(key, null);
        +        const prev = YAMLMap.findPair(this.items, pair.key);
        +        if (!prev)
        +            this.items.push(pair);
        +    }
        +    /**
        +     * If `keepPair` is `true`, returns the Pair matching `key`.
        +     * Otherwise, returns the value of that Pair's key.
        +     */
        +    get(key, keepPair) {
        +        const pair = YAMLMap.findPair(this.items, key);
        +        return !keepPair && identity.isPair(pair)
        +            ? identity.isScalar(pair.key)
        +                ? pair.key.value
        +                : pair.key
        +            : pair;
        +    }
        +    set(key, value) {
        +        if (typeof value !== 'boolean')
        +            throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
        +        const prev = YAMLMap.findPair(this.items, key);
        +        if (prev && !value) {
        +            this.items.splice(this.items.indexOf(prev), 1);
        +        }
        +        else if (!prev && value) {
        +            this.items.push(new Pair.Pair(key));
        +        }
        +    }
        +    toJSON(_, ctx) {
        +        return super.toJSON(_, ctx, Set);
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        if (!ctx)
        +            return JSON.stringify(this);
        +        if (this.hasAllNullValues(true))
        +            return super.toString(Object.assign({}, ctx, { allNullValues: true }), onComment, onChompKeep);
        +        else
        +            throw new Error('Set items must all have null values');
        +    }
        +    static from(schema, iterable, ctx) {
        +        const { replacer } = ctx;
        +        const set = new this(schema);
        +        if (iterable && Symbol.iterator in Object(iterable))
        +            for (let value of iterable) {
        +                if (typeof replacer === 'function')
        +                    value = replacer.call(iterable, value, value);
        +                set.items.push(Pair.createPair(value, null, ctx));
        +            }
        +        return set;
        +    }
        +}
        +YAMLSet.tag = 'tag:yaml.org,2002:set';
        +const set = {
        +    collection: 'map',
        +    identify: value => value instanceof Set,
        +    nodeClass: YAMLSet,
        +    default: false,
        +    tag: 'tag:yaml.org,2002:set',
        +    createNode: (schema, iterable, ctx) => YAMLSet.from(schema, iterable, ctx),
        +    resolve(map, onError) {
        +        if (identity.isMap(map)) {
        +            if (map.hasAllNullValues(true))
        +                return Object.assign(new YAMLSet(), map);
        +            else
        +                onError('Set items must all have null values');
        +        }
        +        else
        +            onError('Expected a mapping for this tag');
        +        return map;
        +    }
        +};
        +
        +exports.YAMLSet = YAMLSet;
        +exports.set = set;
        +
        +
        +/***/ },
        +
        +/***/ 65128
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyNumber = __webpack_require__(98089);
        +
        +/** Internal types handle bigint as number, because TS can't figure it out. */
        +function parseSexagesimal(str, asBigInt) {
        +    const sign = str[0];
        +    const parts = sign === '-' || sign === '+' ? str.substring(1) : str;
        +    const num = (n) => asBigInt ? BigInt(n) : Number(n);
        +    const res = parts
        +        .replace(/_/g, '')
        +        .split(':')
        +        .reduce((res, p) => res * num(60) + num(p), num(0));
        +    return (sign === '-' ? num(-1) * res : res);
        +}
        +/**
        + * hhhh:mm:ss.sss
        + *
        + * Internal types handle bigint as number, because TS can't figure it out.
        + */
        +function stringifySexagesimal(node) {
        +    let { value } = node;
        +    let num = (n) => n;
        +    if (typeof value === 'bigint')
        +        num = n => BigInt(n);
        +    else if (isNaN(value) || !isFinite(value))
        +        return stringifyNumber.stringifyNumber(node);
        +    let sign = '';
        +    if (value < 0) {
        +        sign = '-';
        +        value *= num(-1);
        +    }
        +    const _60 = num(60);
        +    const parts = [value % _60]; // seconds, including ms
        +    if (value < 60) {
        +        parts.unshift(0); // at least one : is required
        +    }
        +    else {
        +        value = (value - parts[0]) / _60;
        +        parts.unshift(value % _60); // minutes
        +        if (value >= 60) {
        +            value = (value - parts[0]) / _60;
        +            parts.unshift(value); // hours
        +        }
        +    }
        +    return (sign +
        +        parts
        +            .map(n => String(n).padStart(2, '0'))
        +            .join(':')
        +            .replace(/000000\d*$/, '') // % 60 may introduce error
        +    );
        +}
        +const intTime = {
        +    identify: value => typeof value === 'bigint' || Number.isInteger(value),
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'TIME',
        +    test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
        +    resolve: (str, _onError, { intAsBigInt }) => parseSexagesimal(str, intAsBigInt),
        +    stringify: stringifySexagesimal
        +};
        +const floatTime = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    format: 'TIME',
        +    test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
        +    resolve: str => parseSexagesimal(str, false),
        +    stringify: stringifySexagesimal
        +};
        +const timestamp = {
        +    identify: value => value instanceof Date,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:timestamp',
        +    // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
        +    // may be omitted altogether, resulting in a date format. In such a case, the time part is
        +    // assumed to be 00:00:00Z (start of day, UTC).
        +    test: RegExp('^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd
        +        '(?:' + // time is optional
        +        '(?:t|T|[ \\t]+)' + // t | T | whitespace
        +        '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?
        +        '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30
        +        ')?$'),
        +    resolve(str) {
        +        const match = str.match(timestamp.test);
        +        if (!match)
        +            throw new Error('!!timestamp expects a date, starting with yyyy-mm-dd');
        +        const [, year, month, day, hour, minute, second] = match.map(Number);
        +        const millisec = match[7] ? Number((match[7] + '00').substr(1, 3)) : 0;
        +        let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec);
        +        const tz = match[8];
        +        if (tz && tz !== 'Z') {
        +            let d = parseSexagesimal(tz, false);
        +            if (Math.abs(d) < 30)
        +                d *= 60;
        +            date -= 60000 * d;
        +        }
        +        return new Date(date);
        +    },
        +    stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? ''
        +};
        +
        +exports.floatTime = floatTime;
        +exports.intTime = intTime;
        +exports.timestamp = timestamp;
        +
        +
        +/***/ },
        +
        +/***/ 56659
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +const FOLD_FLOW = 'flow';
        +const FOLD_BLOCK = 'block';
        +const FOLD_QUOTED = 'quoted';
        +/**
        + * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
        + * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
        + * terminated with `\n` and started with `indent`.
        + */
        +function foldFlowLines(text, indent, mode = 'flow', { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
        +    if (!lineWidth || lineWidth < 0)
        +        return text;
        +    if (lineWidth < minContentWidth)
        +        minContentWidth = 0;
        +    const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
        +    if (text.length <= endStep)
        +        return text;
        +    const folds = [];
        +    const escapedFolds = {};
        +    let end = lineWidth - indent.length;
        +    if (typeof indentAtStart === 'number') {
        +        if (indentAtStart > lineWidth - Math.max(2, minContentWidth))
        +            folds.push(0);
        +        else
        +            end = lineWidth - indentAtStart;
        +    }
        +    let split = undefined;
        +    let prev = undefined;
        +    let overflow = false;
        +    let i = -1;
        +    let escStart = -1;
        +    let escEnd = -1;
        +    if (mode === FOLD_BLOCK) {
        +        i = consumeMoreIndentedLines(text, i, indent.length);
        +        if (i !== -1)
        +            end = i + endStep;
        +    }
        +    for (let ch; (ch = text[(i += 1)]);) {
        +        if (mode === FOLD_QUOTED && ch === '\\') {
        +            escStart = i;
        +            switch (text[i + 1]) {
        +                case 'x':
        +                    i += 3;
        +                    break;
        +                case 'u':
        +                    i += 5;
        +                    break;
        +                case 'U':
        +                    i += 9;
        +                    break;
        +                default:
        +                    i += 1;
        +            }
        +            escEnd = i;
        +        }
        +        if (ch === '\n') {
        +            if (mode === FOLD_BLOCK)
        +                i = consumeMoreIndentedLines(text, i, indent.length);
        +            end = i + indent.length + endStep;
        +            split = undefined;
        +        }
        +        else {
        +            if (ch === ' ' &&
        +                prev &&
        +                prev !== ' ' &&
        +                prev !== '\n' &&
        +                prev !== '\t') {
        +                // space surrounded by non-space can be replaced with newline + indent
        +                const next = text[i + 1];
        +                if (next && next !== ' ' && next !== '\n' && next !== '\t')
        +                    split = i;
        +            }
        +            if (i >= end) {
        +                if (split) {
        +                    folds.push(split);
        +                    end = split + endStep;
        +                    split = undefined;
        +                }
        +                else if (mode === FOLD_QUOTED) {
        +                    // white-space collected at end may stretch past lineWidth
        +                    while (prev === ' ' || prev === '\t') {
        +                        prev = ch;
        +                        ch = text[(i += 1)];
        +                        overflow = true;
        +                    }
        +                    // Account for newline escape, but don't break preceding escape
        +                    const j = i > escEnd + 1 ? i - 2 : escStart - 1;
        +                    // Bail out if lineWidth & minContentWidth are shorter than an escape string
        +                    if (escapedFolds[j])
        +                        return text;
        +                    folds.push(j);
        +                    escapedFolds[j] = true;
        +                    end = j + endStep;
        +                    split = undefined;
        +                }
        +                else {
        +                    overflow = true;
        +                }
        +            }
        +        }
        +        prev = ch;
        +    }
        +    if (overflow && onOverflow)
        +        onOverflow();
        +    if (folds.length === 0)
        +        return text;
        +    if (onFold)
        +        onFold();
        +    let res = text.slice(0, folds[0]);
        +    for (let i = 0; i < folds.length; ++i) {
        +        const fold = folds[i];
        +        const end = folds[i + 1] || text.length;
        +        if (fold === 0)
        +            res = `\n${indent}${text.slice(0, end)}`;
        +        else {
        +            if (mode === FOLD_QUOTED && escapedFolds[fold])
        +                res += `${text[fold]}\\`;
        +            res += `\n${indent}${text.slice(fold + 1, end)}`;
        +        }
        +    }
        +    return res;
        +}
        +/**
        + * Presumes `i + 1` is at the start of a line
        + * @returns index of last newline in more-indented block
        + */
        +function consumeMoreIndentedLines(text, i, indent) {
        +    let end = i;
        +    let start = i + 1;
        +    let ch = text[start];
        +    while (ch === ' ' || ch === '\t') {
        +        if (i < start + indent) {
        +            ch = text[++i];
        +        }
        +        else {
        +            do {
        +                ch = text[++i];
        +            } while (ch && ch !== '\n');
        +            end = i;
        +            start = i + 1;
        +            ch = text[start];
        +        }
        +    }
        +    return end;
        +}
        +
        +exports.FOLD_BLOCK = FOLD_BLOCK;
        +exports.FOLD_FLOW = FOLD_FLOW;
        +exports.FOLD_QUOTED = FOLD_QUOTED;
        +exports.foldFlowLines = foldFlowLines;
        +
        +
        +/***/ },
        +
        +/***/ 79868
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var anchors = __webpack_require__(50052);
        +var identity = __webpack_require__(41359);
        +var stringifyComment = __webpack_require__(92831);
        +var stringifyString = __webpack_require__(91573);
        +
        +function createStringifyContext(doc, options) {
        +    const opt = Object.assign({
        +        blockQuote: true,
        +        commentString: stringifyComment.stringifyComment,
        +        defaultKeyType: null,
        +        defaultStringType: 'PLAIN',
        +        directives: null,
        +        doubleQuotedAsJSON: false,
        +        doubleQuotedMinMultiLineLength: 40,
        +        falseStr: 'false',
        +        flowCollectionPadding: true,
        +        indentSeq: true,
        +        lineWidth: 80,
        +        minContentWidth: 20,
        +        nullStr: 'null',
        +        simpleKeys: false,
        +        singleQuote: null,
        +        trueStr: 'true',
        +        verifyAliasOrder: true
        +    }, doc.schema.toStringOptions, options);
        +    let inFlow;
        +    switch (opt.collectionStyle) {
        +        case 'block':
        +            inFlow = false;
        +            break;
        +        case 'flow':
        +            inFlow = true;
        +            break;
        +        default:
        +            inFlow = null;
        +    }
        +    return {
        +        anchors: new Set(),
        +        doc,
        +        flowCollectionPadding: opt.flowCollectionPadding ? ' ' : '',
        +        indent: '',
        +        indentStep: typeof opt.indent === 'number' ? ' '.repeat(opt.indent) : '  ',
        +        inFlow,
        +        options: opt
        +    };
        +}
        +function getTagObject(tags, item) {
        +    if (item.tag) {
        +        const match = tags.filter(t => t.tag === item.tag);
        +        if (match.length > 0)
        +            return match.find(t => t.format === item.format) ?? match[0];
        +    }
        +    let tagObj = undefined;
        +    let obj;
        +    if (identity.isScalar(item)) {
        +        obj = item.value;
        +        let match = tags.filter(t => t.identify?.(obj));
        +        if (match.length > 1) {
        +            const testMatch = match.filter(t => t.test);
        +            if (testMatch.length > 0)
        +                match = testMatch;
        +        }
        +        tagObj =
        +            match.find(t => t.format === item.format) ?? match.find(t => !t.format);
        +    }
        +    else {
        +        obj = item;
        +        tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);
        +    }
        +    if (!tagObj) {
        +        const name = obj?.constructor?.name ?? (obj === null ? 'null' : typeof obj);
        +        throw new Error(`Tag not resolved for ${name} value`);
        +    }
        +    return tagObj;
        +}
        +// needs to be called before value stringifier to allow for circular anchor refs
        +function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) {
        +    if (!doc.directives)
        +        return '';
        +    const props = [];
        +    const anchor = (identity.isScalar(node) || identity.isCollection(node)) && node.anchor;
        +    if (anchor && anchors.anchorIsValid(anchor)) {
        +        anchors$1.add(anchor);
        +        props.push(`&${anchor}`);
        +    }
        +    const tag = node.tag ?? (tagObj.default ? null : tagObj.tag);
        +    if (tag)
        +        props.push(doc.directives.tagString(tag));
        +    return props.join(' ');
        +}
        +function stringify(item, ctx, onComment, onChompKeep) {
        +    if (identity.isPair(item))
        +        return item.toString(ctx, onComment, onChompKeep);
        +    if (identity.isAlias(item)) {
        +        if (ctx.doc.directives)
        +            return item.toString(ctx);
        +        if (ctx.resolvedAliases?.has(item)) {
        +            throw new TypeError(`Cannot stringify circular structure without alias nodes`);
        +        }
        +        else {
        +            if (ctx.resolvedAliases)
        +                ctx.resolvedAliases.add(item);
        +            else
        +                ctx.resolvedAliases = new Set([item]);
        +            item = item.resolve(ctx.doc);
        +        }
        +    }
        +    let tagObj = undefined;
        +    const node = identity.isNode(item)
        +        ? item
        +        : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) });
        +    tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node));
        +    const props = stringifyProps(node, tagObj, ctx);
        +    if (props.length > 0)
        +        ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1;
        +    const str = typeof tagObj.stringify === 'function'
        +        ? tagObj.stringify(node, ctx, onComment, onChompKeep)
        +        : identity.isScalar(node)
        +            ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep)
        +            : node.toString(ctx, onComment, onChompKeep);
        +    if (!props)
        +        return str;
        +    return identity.isScalar(node) || str[0] === '{' || str[0] === '['
        +        ? `${props} ${str}`
        +        : `${props}\n${ctx.indent}${str}`;
        +}
        +
        +exports.createStringifyContext = createStringifyContext;
        +exports.stringify = stringify;
        +
        +
        +/***/ },
        +
        +/***/ 8468
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var stringify = __webpack_require__(79868);
        +var stringifyComment = __webpack_require__(92831);
        +
        +function stringifyCollection(collection, ctx, options) {
        +    const flow = ctx.inFlow ?? collection.flow;
        +    const stringify = flow ? stringifyFlowCollection : stringifyBlockCollection;
        +    return stringify(collection, ctx, options);
        +}
        +function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) {
        +    const { indent, options: { commentString } } = ctx;
        +    const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null });
        +    let chompKeep = false; // flag for the preceding node's status
        +    const lines = [];
        +    for (let i = 0; i < items.length; ++i) {
        +        const item = items[i];
        +        let comment = null;
        +        if (identity.isNode(item)) {
        +            if (!chompKeep && item.spaceBefore)
        +                lines.push('');
        +            addCommentBefore(ctx, lines, item.commentBefore, chompKeep);
        +            if (item.comment)
        +                comment = item.comment;
        +        }
        +        else if (identity.isPair(item)) {
        +            const ik = identity.isNode(item.key) ? item.key : null;
        +            if (ik) {
        +                if (!chompKeep && ik.spaceBefore)
        +                    lines.push('');
        +                addCommentBefore(ctx, lines, ik.commentBefore, chompKeep);
        +            }
        +        }
        +        chompKeep = false;
        +        let str = stringify.stringify(item, itemCtx, () => (comment = null), () => (chompKeep = true));
        +        if (comment)
        +            str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
        +        if (chompKeep && comment)
        +            chompKeep = false;
        +        lines.push(blockItemPrefix + str);
        +    }
        +    let str;
        +    if (lines.length === 0) {
        +        str = flowChars.start + flowChars.end;
        +    }
        +    else {
        +        str = lines[0];
        +        for (let i = 1; i < lines.length; ++i) {
        +            const line = lines[i];
        +            str += line ? `\n${indent}${line}` : '\n';
        +        }
        +    }
        +    if (comment) {
        +        str += '\n' + stringifyComment.indentComment(commentString(comment), indent);
        +        if (onComment)
        +            onComment();
        +    }
        +    else if (chompKeep && onChompKeep)
        +        onChompKeep();
        +    return str;
        +}
        +function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
        +    const { indent, indentStep, flowCollectionPadding: fcPadding, options: { commentString } } = ctx;
        +    itemIndent += indentStep;
        +    const itemCtx = Object.assign({}, ctx, {
        +        indent: itemIndent,
        +        inFlow: true,
        +        type: null
        +    });
        +    let reqNewline = false;
        +    let linesAtValue = 0;
        +    const lines = [];
        +    for (let i = 0; i < items.length; ++i) {
        +        const item = items[i];
        +        let comment = null;
        +        if (identity.isNode(item)) {
        +            if (item.spaceBefore)
        +                lines.push('');
        +            addCommentBefore(ctx, lines, item.commentBefore, false);
        +            if (item.comment)
        +                comment = item.comment;
        +        }
        +        else if (identity.isPair(item)) {
        +            const ik = identity.isNode(item.key) ? item.key : null;
        +            if (ik) {
        +                if (ik.spaceBefore)
        +                    lines.push('');
        +                addCommentBefore(ctx, lines, ik.commentBefore, false);
        +                if (ik.comment)
        +                    reqNewline = true;
        +            }
        +            const iv = identity.isNode(item.value) ? item.value : null;
        +            if (iv) {
        +                if (iv.comment)
        +                    comment = iv.comment;
        +                if (iv.commentBefore)
        +                    reqNewline = true;
        +            }
        +            else if (item.value == null && ik?.comment) {
        +                comment = ik.comment;
        +            }
        +        }
        +        if (comment)
        +            reqNewline = true;
        +        let str = stringify.stringify(item, itemCtx, () => (comment = null));
        +        if (i < items.length - 1)
        +            str += ',';
        +        if (comment)
        +            str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
        +        if (!reqNewline && (lines.length > linesAtValue || str.includes('\n')))
        +            reqNewline = true;
        +        lines.push(str);
        +        linesAtValue = lines.length;
        +    }
        +    const { start, end } = flowChars;
        +    if (lines.length === 0) {
        +        return start + end;
        +    }
        +    else {
        +        if (!reqNewline) {
        +            const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
        +            reqNewline = ctx.options.lineWidth > 0 && len > ctx.options.lineWidth;
        +        }
        +        if (reqNewline) {
        +            let str = start;
        +            for (const line of lines)
        +                str += line ? `\n${indentStep}${indent}${line}` : '\n';
        +            return `${str}\n${indent}${end}`;
        +        }
        +        else {
        +            return `${start}${fcPadding}${lines.join(' ')}${fcPadding}${end}`;
        +        }
        +    }
        +}
        +function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
        +    if (comment && chompKeep)
        +        comment = comment.replace(/^\n+/, '');
        +    if (comment) {
        +        const ic = stringifyComment.indentComment(commentString(comment), indent);
        +        lines.push(ic.trimStart()); // Avoid double indent on first line
        +    }
        +}
        +
        +exports.stringifyCollection = stringifyCollection;
        +
        +
        +/***/ },
        +
        +/***/ 92831
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Stringifies a comment.
        + *
        + * Empty comment lines are left empty,
        + * lines consisting of a single space are replaced by `#`,
        + * and all other lines are prefixed with a `#`.
        + */
        +const stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, '#');
        +function indentComment(comment, indent) {
        +    if (/^\n+$/.test(comment))
        +        return comment.substring(1);
        +    return indent ? comment.replace(/^(?! *$)/gm, indent) : comment;
        +}
        +const lineComment = (str, indent, comment) => str.endsWith('\n')
        +    ? indentComment(comment, indent)
        +    : comment.includes('\n')
        +        ? '\n' + indentComment(comment, indent)
        +        : (str.endsWith(' ') ? '' : ' ') + comment;
        +
        +exports.indentComment = indentComment;
        +exports.lineComment = lineComment;
        +exports.stringifyComment = stringifyComment;
        +
        +
        +/***/ },
        +
        +/***/ 84629
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var stringify = __webpack_require__(79868);
        +var stringifyComment = __webpack_require__(92831);
        +
        +function stringifyDocument(doc, options) {
        +    const lines = [];
        +    let hasDirectives = options.directives === true;
        +    if (options.directives !== false && doc.directives) {
        +        const dir = doc.directives.toString(doc);
        +        if (dir) {
        +            lines.push(dir);
        +            hasDirectives = true;
        +        }
        +        else if (doc.directives.docStart)
        +            hasDirectives = true;
        +    }
        +    if (hasDirectives)
        +        lines.push('---');
        +    const ctx = stringify.createStringifyContext(doc, options);
        +    const { commentString } = ctx.options;
        +    if (doc.commentBefore) {
        +        if (lines.length !== 1)
        +            lines.unshift('');
        +        const cs = commentString(doc.commentBefore);
        +        lines.unshift(stringifyComment.indentComment(cs, ''));
        +    }
        +    let chompKeep = false;
        +    let contentComment = null;
        +    if (doc.contents) {
        +        if (identity.isNode(doc.contents)) {
        +            if (doc.contents.spaceBefore && hasDirectives)
        +                lines.push('');
        +            if (doc.contents.commentBefore) {
        +                const cs = commentString(doc.contents.commentBefore);
        +                lines.push(stringifyComment.indentComment(cs, ''));
        +            }
        +            // top-level block scalars need to be indented if followed by a comment
        +            ctx.forceBlockIndent = !!doc.comment;
        +            contentComment = doc.contents.comment;
        +        }
        +        const onChompKeep = contentComment ? undefined : () => (chompKeep = true);
        +        let body = stringify.stringify(doc.contents, ctx, () => (contentComment = null), onChompKeep);
        +        if (contentComment)
        +            body += stringifyComment.lineComment(body, '', commentString(contentComment));
        +        if ((body[0] === '|' || body[0] === '>') &&
        +            lines[lines.length - 1] === '---') {
        +            // Top-level block scalars with a preceding doc marker ought to use the
        +            // same line for their header.
        +            lines[lines.length - 1] = `--- ${body}`;
        +        }
        +        else
        +            lines.push(body);
        +    }
        +    else {
        +        lines.push(stringify.stringify(doc.contents, ctx));
        +    }
        +    if (doc.directives?.docEnd) {
        +        if (doc.comment) {
        +            const cs = commentString(doc.comment);
        +            if (cs.includes('\n')) {
        +                lines.push('...');
        +                lines.push(stringifyComment.indentComment(cs, ''));
        +            }
        +            else {
        +                lines.push(`... ${cs}`);
        +            }
        +        }
        +        else {
        +            lines.push('...');
        +        }
        +    }
        +    else {
        +        let dc = doc.comment;
        +        if (dc && chompKeep)
        +            dc = dc.replace(/^\n+/, '');
        +        if (dc) {
        +            if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '')
        +                lines.push('');
        +            lines.push(stringifyComment.indentComment(commentString(dc), ''));
        +        }
        +    }
        +    return lines.join('\n') + '\n';
        +}
        +
        +exports.stringifyDocument = stringifyDocument;
        +
        +
        +/***/ },
        +
        +/***/ 98089
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function stringifyNumber({ format, minFractionDigits, tag, value }) {
        +    if (typeof value === 'bigint')
        +        return String(value);
        +    const num = typeof value === 'number' ? value : Number(value);
        +    if (!isFinite(num))
        +        return isNaN(num) ? '.nan' : num < 0 ? '-.inf' : '.inf';
        +    let n = Object.is(value, -0) ? '-0' : JSON.stringify(value);
        +    if (!format &&
        +        minFractionDigits &&
        +        (!tag || tag === 'tag:yaml.org,2002:float') &&
        +        /^\d/.test(n)) {
        +        let i = n.indexOf('.');
        +        if (i < 0) {
        +            i = n.length;
        +            n += '.';
        +        }
        +        let d = minFractionDigits - (n.length - i - 1);
        +        while (d-- > 0)
        +            n += '0';
        +    }
        +    return n;
        +}
        +
        +exports.stringifyNumber = stringifyNumber;
        +
        +
        +/***/ },
        +
        +/***/ 40684
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +var Scalar = __webpack_require__(26621);
        +var stringify = __webpack_require__(79868);
        +var stringifyComment = __webpack_require__(92831);
        +
        +function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
        +    const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
        +    let keyComment = (identity.isNode(key) && key.comment) || null;
        +    if (simpleKeys) {
        +        if (keyComment) {
        +            throw new Error('With simple keys, key nodes cannot have comments');
        +        }
        +        if (identity.isCollection(key) || (!identity.isNode(key) && typeof key === 'object')) {
        +            const msg = 'With simple keys, collection cannot be used as a key value';
        +            throw new Error(msg);
        +        }
        +    }
        +    let explicitKey = !simpleKeys &&
        +        (!key ||
        +            (keyComment && value == null && !ctx.inFlow) ||
        +            identity.isCollection(key) ||
        +            (identity.isScalar(key)
        +                ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL
        +                : typeof key === 'object'));
        +    ctx = Object.assign({}, ctx, {
        +        allNullValues: false,
        +        implicitKey: !explicitKey && (simpleKeys || !allNullValues),
        +        indent: indent + indentStep
        +    });
        +    let keyCommentDone = false;
        +    let chompKeep = false;
        +    let str = stringify.stringify(key, ctx, () => (keyCommentDone = true), () => (chompKeep = true));
        +    if (!explicitKey && !ctx.inFlow && str.length > 1024) {
        +        if (simpleKeys)
        +            throw new Error('With simple keys, single line scalar must not span more than 1024 characters');
        +        explicitKey = true;
        +    }
        +    if (ctx.inFlow) {
        +        if (allNullValues || value == null) {
        +            if (keyCommentDone && onComment)
        +                onComment();
        +            return str === '' ? '?' : explicitKey ? `? ${str}` : str;
        +        }
        +    }
        +    else if ((allNullValues && !simpleKeys) || (value == null && explicitKey)) {
        +        str = `? ${str}`;
        +        if (keyComment && !keyCommentDone) {
        +            str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
        +        }
        +        else if (chompKeep && onChompKeep)
        +            onChompKeep();
        +        return str;
        +    }
        +    if (keyCommentDone)
        +        keyComment = null;
        +    if (explicitKey) {
        +        if (keyComment)
        +            str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
        +        str = `? ${str}\n${indent}:`;
        +    }
        +    else {
        +        str = `${str}:`;
        +        if (keyComment)
        +            str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
        +    }
        +    let vsb, vcb, valueComment;
        +    if (identity.isNode(value)) {
        +        vsb = !!value.spaceBefore;
        +        vcb = value.commentBefore;
        +        valueComment = value.comment;
        +    }
        +    else {
        +        vsb = false;
        +        vcb = null;
        +        valueComment = null;
        +        if (value && typeof value === 'object')
        +            value = doc.createNode(value);
        +    }
        +    ctx.implicitKey = false;
        +    if (!explicitKey && !keyComment && identity.isScalar(value))
        +        ctx.indentAtStart = str.length + 1;
        +    chompKeep = false;
        +    if (!indentSeq &&
        +        indentStep.length >= 2 &&
        +        !ctx.inFlow &&
        +        !explicitKey &&
        +        identity.isSeq(value) &&
        +        !value.flow &&
        +        !value.tag &&
        +        !value.anchor) {
        +        // If indentSeq === false, consider '- ' as part of indentation where possible
        +        ctx.indent = ctx.indent.substring(2);
        +    }
        +    let valueCommentDone = false;
        +    const valueStr = stringify.stringify(value, ctx, () => (valueCommentDone = true), () => (chompKeep = true));
        +    let ws = ' ';
        +    if (keyComment || vsb || vcb) {
        +        ws = vsb ? '\n' : '';
        +        if (vcb) {
        +            const cs = commentString(vcb);
        +            ws += `\n${stringifyComment.indentComment(cs, ctx.indent)}`;
        +        }
        +        if (valueStr === '' && !ctx.inFlow) {
        +            if (ws === '\n' && valueComment)
        +                ws = '\n\n';
        +        }
        +        else {
        +            ws += `\n${ctx.indent}`;
        +        }
        +    }
        +    else if (!explicitKey && identity.isCollection(value)) {
        +        const vs0 = valueStr[0];
        +        const nl0 = valueStr.indexOf('\n');
        +        const hasNewline = nl0 !== -1;
        +        const flow = ctx.inFlow ?? value.flow ?? value.items.length === 0;
        +        if (hasNewline || !flow) {
        +            let hasPropsLine = false;
        +            if (hasNewline && (vs0 === '&' || vs0 === '!')) {
        +                let sp0 = valueStr.indexOf(' ');
        +                if (vs0 === '&' &&
        +                    sp0 !== -1 &&
        +                    sp0 < nl0 &&
        +                    valueStr[sp0 + 1] === '!') {
        +                    sp0 = valueStr.indexOf(' ', sp0 + 1);
        +                }
        +                if (sp0 === -1 || nl0 < sp0)
        +                    hasPropsLine = true;
        +            }
        +            if (!hasPropsLine)
        +                ws = `\n${ctx.indent}`;
        +        }
        +    }
        +    else if (valueStr === '' || valueStr[0] === '\n') {
        +        ws = '';
        +    }
        +    str += ws + valueStr;
        +    if (ctx.inFlow) {
        +        if (valueCommentDone && onComment)
        +            onComment();
        +    }
        +    else if (valueComment && !valueCommentDone) {
        +        str += stringifyComment.lineComment(str, ctx.indent, commentString(valueComment));
        +    }
        +    else if (chompKeep && onChompKeep) {
        +        onChompKeep();
        +    }
        +    return str;
        +}
        +
        +exports.stringifyPair = stringifyPair;
        +
        +
        +/***/ },
        +
        +/***/ 91573
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(26621);
        +var foldFlowLines = __webpack_require__(56659);
        +
        +const getFoldOptions = (ctx, isBlock) => ({
        +    indentAtStart: isBlock ? ctx.indent.length : ctx.indentAtStart,
        +    lineWidth: ctx.options.lineWidth,
        +    minContentWidth: ctx.options.minContentWidth
        +});
        +// Also checks for lines starting with %, as parsing the output as YAML 1.1 will
        +// presume that's starting a new document.
        +const containsDocumentMarker = (str) => /^(%|---|\.\.\.)/m.test(str);
        +function lineLengthOverLimit(str, lineWidth, indentLength) {
        +    if (!lineWidth || lineWidth < 0)
        +        return false;
        +    const limit = lineWidth - indentLength;
        +    const strLen = str.length;
        +    if (strLen <= limit)
        +        return false;
        +    for (let i = 0, start = 0; i < strLen; ++i) {
        +        if (str[i] === '\n') {
        +            if (i - start > limit)
        +                return true;
        +            start = i + 1;
        +            if (strLen - start <= limit)
        +                return false;
        +        }
        +    }
        +    return true;
        +}
        +function doubleQuotedString(value, ctx) {
        +    const json = JSON.stringify(value);
        +    if (ctx.options.doubleQuotedAsJSON)
        +        return json;
        +    const { implicitKey } = ctx;
        +    const minMultiLineLength = ctx.options.doubleQuotedMinMultiLineLength;
        +    const indent = ctx.indent || (containsDocumentMarker(value) ? '  ' : '');
        +    let str = '';
        +    let start = 0;
        +    for (let i = 0, ch = json[i]; ch; ch = json[++i]) {
        +        if (ch === ' ' && json[i + 1] === '\\' && json[i + 2] === 'n') {
        +            // space before newline needs to be escaped to not be folded
        +            str += json.slice(start, i) + '\\ ';
        +            i += 1;
        +            start = i;
        +            ch = '\\';
        +        }
        +        if (ch === '\\')
        +            switch (json[i + 1]) {
        +                case 'u':
        +                    {
        +                        str += json.slice(start, i);
        +                        const code = json.substr(i + 2, 4);
        +                        switch (code) {
        +                            case '0000':
        +                                str += '\\0';
        +                                break;
        +                            case '0007':
        +                                str += '\\a';
        +                                break;
        +                            case '000b':
        +                                str += '\\v';
        +                                break;
        +                            case '001b':
        +                                str += '\\e';
        +                                break;
        +                            case '0085':
        +                                str += '\\N';
        +                                break;
        +                            case '00a0':
        +                                str += '\\_';
        +                                break;
        +                            case '2028':
        +                                str += '\\L';
        +                                break;
        +                            case '2029':
        +                                str += '\\P';
        +                                break;
        +                            default:
        +                                if (code.substr(0, 2) === '00')
        +                                    str += '\\x' + code.substr(2);
        +                                else
        +                                    str += json.substr(i, 6);
        +                        }
        +                        i += 5;
        +                        start = i + 1;
        +                    }
        +                    break;
        +                case 'n':
        +                    if (implicitKey ||
        +                        json[i + 2] === '"' ||
        +                        json.length < minMultiLineLength) {
        +                        i += 1;
        +                    }
        +                    else {
        +                        // folding will eat first newline
        +                        str += json.slice(start, i) + '\n\n';
        +                        while (json[i + 2] === '\\' &&
        +                            json[i + 3] === 'n' &&
        +                            json[i + 4] !== '"') {
        +                            str += '\n';
        +                            i += 2;
        +                        }
        +                        str += indent;
        +                        // space after newline needs to be escaped to not be folded
        +                        if (json[i + 2] === ' ')
        +                            str += '\\';
        +                        i += 1;
        +                        start = i + 1;
        +                    }
        +                    break;
        +                default:
        +                    i += 1;
        +            }
        +    }
        +    str = start ? str + json.slice(start) : json;
        +    return implicitKey
        +        ? str
        +        : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_QUOTED, getFoldOptions(ctx, false));
        +}
        +function singleQuotedString(value, ctx) {
        +    if (ctx.options.singleQuote === false ||
        +        (ctx.implicitKey && value.includes('\n')) ||
        +        /[ \t]\n|\n[ \t]/.test(value) // single quoted string can't have leading or trailing whitespace around newline
        +    )
        +        return doubleQuotedString(value, ctx);
        +    const indent = ctx.indent || (containsDocumentMarker(value) ? '  ' : '');
        +    const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&\n${indent}`) + "'";
        +    return ctx.implicitKey
        +        ? res
        +        : foldFlowLines.foldFlowLines(res, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
        +}
        +function quotedString(value, ctx) {
        +    const { singleQuote } = ctx.options;
        +    let qs;
        +    if (singleQuote === false)
        +        qs = doubleQuotedString;
        +    else {
        +        const hasDouble = value.includes('"');
        +        const hasSingle = value.includes("'");
        +        if (hasDouble && !hasSingle)
        +            qs = singleQuotedString;
        +        else if (hasSingle && !hasDouble)
        +            qs = doubleQuotedString;
        +        else
        +            qs = singleQuote ? singleQuotedString : doubleQuotedString;
        +    }
        +    return qs(value, ctx);
        +}
        +// The negative lookbehind avoids a polynomial search,
        +// but isn't supported yet on Safari: https://caniuse.com/js-regexp-lookbehind
        +let blockEndNewlines;
        +try {
        +    blockEndNewlines = new RegExp('(^|(?\n';
        +    // determine chomping from whitespace at value end
        +    let chomp;
        +    let endStart;
        +    for (endStart = value.length; endStart > 0; --endStart) {
        +        const ch = value[endStart - 1];
        +        if (ch !== '\n' && ch !== '\t' && ch !== ' ')
        +            break;
        +    }
        +    let end = value.substring(endStart);
        +    const endNlPos = end.indexOf('\n');
        +    if (endNlPos === -1) {
        +        chomp = '-'; // strip
        +    }
        +    else if (value === end || endNlPos !== end.length - 1) {
        +        chomp = '+'; // keep
        +        if (onChompKeep)
        +            onChompKeep();
        +    }
        +    else {
        +        chomp = ''; // clip
        +    }
        +    if (end) {
        +        value = value.slice(0, -end.length);
        +        if (end[end.length - 1] === '\n')
        +            end = end.slice(0, -1);
        +        end = end.replace(blockEndNewlines, `$&${indent}`);
        +    }
        +    // determine indent indicator from whitespace at value start
        +    let startWithSpace = false;
        +    let startEnd;
        +    let startNlPos = -1;
        +    for (startEnd = 0; startEnd < value.length; ++startEnd) {
        +        const ch = value[startEnd];
        +        if (ch === ' ')
        +            startWithSpace = true;
        +        else if (ch === '\n')
        +            startNlPos = startEnd;
        +        else
        +            break;
        +    }
        +    let start = value.substring(0, startNlPos < startEnd ? startNlPos + 1 : startEnd);
        +    if (start) {
        +        value = value.substring(start.length);
        +        start = start.replace(/\n+/g, `$&${indent}`);
        +    }
        +    const indentSize = indent ? '2' : '1'; // root is at -1
        +    // Leading | or > is added later
        +    let header = (startWithSpace ? indentSize : '') + chomp;
        +    if (comment) {
        +        header += ' ' + commentString(comment.replace(/ ?[\r\n]+/g, ' '));
        +        if (onComment)
        +            onComment();
        +    }
        +    if (!literal) {
        +        const foldedValue = value
        +            .replace(/\n+/g, '\n$&')
        +            .replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, '$1$2') // more-indented lines aren't folded
        +            //                ^ more-ind. ^ empty     ^ capture next empty lines only at end of indent
        +            .replace(/\n+/g, `$&${indent}`);
        +        let literalFallback = false;
        +        const foldOptions = getFoldOptions(ctx, true);
        +        if (blockQuote !== 'folded' && type !== Scalar.Scalar.BLOCK_FOLDED) {
        +            foldOptions.onOverflow = () => {
        +                literalFallback = true;
        +            };
        +        }
        +        const body = foldFlowLines.foldFlowLines(`${start}${foldedValue}${end}`, indent, foldFlowLines.FOLD_BLOCK, foldOptions);
        +        if (!literalFallback)
        +            return `>${header}\n${indent}${body}`;
        +    }
        +    value = value.replace(/\n+/g, `$&${indent}`);
        +    return `|${header}\n${indent}${start}${value}${end}`;
        +}
        +function plainString(item, ctx, onComment, onChompKeep) {
        +    const { type, value } = item;
        +    const { actualString, implicitKey, indent, indentStep, inFlow } = ctx;
        +    if ((implicitKey && value.includes('\n')) ||
        +        (inFlow && /[[\]{},]/.test(value))) {
        +        return quotedString(value, ctx);
        +    }
        +    if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) {
        +        // not allowed:
        +        // - '-' or '?'
        +        // - start with an indicator character (except [?:-]) or /[?-] /
        +        // - '\n ', ': ' or ' \n' anywhere
        +        // - '#' not preceded by a non-space char
        +        // - end with ' ' or ':'
        +        return implicitKey || inFlow || !value.includes('\n')
        +            ? quotedString(value, ctx)
        +            : blockString(item, ctx, onComment, onChompKeep);
        +    }
        +    if (!implicitKey &&
        +        !inFlow &&
        +        type !== Scalar.Scalar.PLAIN &&
        +        value.includes('\n')) {
        +        // Where allowed & type not set explicitly, prefer block style for multiline strings
        +        return blockString(item, ctx, onComment, onChompKeep);
        +    }
        +    if (containsDocumentMarker(value)) {
        +        if (indent === '') {
        +            ctx.forceBlockIndent = true;
        +            return blockString(item, ctx, onComment, onChompKeep);
        +        }
        +        else if (implicitKey && indent === indentStep) {
        +            return quotedString(value, ctx);
        +        }
        +    }
        +    const str = value.replace(/\n+/g, `$&\n${indent}`);
        +    // Verify that output will be parsed as a string, as e.g. plain numbers and
        +    // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'),
        +    // and others in v1.1.
        +    if (actualString) {
        +        const test = (tag) => tag.default && tag.tag !== 'tag:yaml.org,2002:str' && tag.test?.test(str);
        +        const { compat, tags } = ctx.doc.schema;
        +        if (tags.some(test) || compat?.some(test))
        +            return quotedString(value, ctx);
        +    }
        +    return implicitKey
        +        ? str
        +        : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
        +}
        +function stringifyString(item, ctx, onComment, onChompKeep) {
        +    const { implicitKey, inFlow } = ctx;
        +    const ss = typeof item.value === 'string'
        +        ? item
        +        : Object.assign({}, item, { value: String(item.value) });
        +    let { type } = item;
        +    if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
        +        // force double quotes on control characters & unpaired surrogates
        +        if (/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value))
        +            type = Scalar.Scalar.QUOTE_DOUBLE;
        +    }
        +    const _stringify = (_type) => {
        +        switch (_type) {
        +            case Scalar.Scalar.BLOCK_FOLDED:
        +            case Scalar.Scalar.BLOCK_LITERAL:
        +                return implicitKey || inFlow
        +                    ? quotedString(ss.value, ctx) // blocks are not valid inside flow containers
        +                    : blockString(ss, ctx, onComment, onChompKeep);
        +            case Scalar.Scalar.QUOTE_DOUBLE:
        +                return doubleQuotedString(ss.value, ctx);
        +            case Scalar.Scalar.QUOTE_SINGLE:
        +                return singleQuotedString(ss.value, ctx);
        +            case Scalar.Scalar.PLAIN:
        +                return plainString(ss, ctx, onComment, onChompKeep);
        +            default:
        +                return null;
        +        }
        +    };
        +    let res = _stringify(type);
        +    if (res === null) {
        +        const { defaultKeyType, defaultStringType } = ctx.options;
        +        const t = (implicitKey && defaultKeyType) || defaultStringType;
        +        res = _stringify(t);
        +        if (res === null)
        +            throw new Error(`Unsupported default string type ${t}`);
        +    }
        +    return res;
        +}
        +
        +exports.stringifyString = stringifyString;
        +
        +
        +/***/ },
        +
        +/***/ 89092
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(41359);
        +
        +const BREAK = Symbol('break visit');
        +const SKIP = Symbol('skip children');
        +const REMOVE = Symbol('remove node');
        +/**
        + * Apply a visitor to an AST node or document.
        + *
        + * Walks through the tree (depth-first) starting from `node`, calling a
        + * `visitor` function with three arguments:
        + *   - `key`: For sequence values and map `Pair`, the node's index in the
        + *     collection. Within a `Pair`, `'key'` or `'value'`, correspondingly.
        + *     `null` for the root node.
        + *   - `node`: The current node.
        + *   - `path`: The ancestry of the current node.
        + *
        + * The return value of the visitor may be used to control the traversal:
        + *   - `undefined` (default): Do nothing and continue
        + *   - `visit.SKIP`: Do not visit the children of this node, continue with next
        + *     sibling
        + *   - `visit.BREAK`: Terminate traversal completely
        + *   - `visit.REMOVE`: Remove the current node, then continue with the next one
        + *   - `Node`: Replace the current node, then continue by visiting it
        + *   - `number`: While iterating the items of a sequence or map, set the index
        + *     of the next step. This is useful especially if the index of the current
        + *     node has changed.
        + *
        + * If `visitor` is a single function, it will be called with all values
        + * encountered in the tree, including e.g. `null` values. Alternatively,
        + * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`,
        + * `Alias` and `Scalar` node. To define the same visitor function for more than
        + * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar)
        + * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most
        + * specific defined one will be used for each node.
        + */
        +function visit(node, visitor) {
        +    const visitor_ = initVisitor(visitor);
        +    if (identity.isDocument(node)) {
        +        const cd = visit_(null, node.contents, visitor_, Object.freeze([node]));
        +        if (cd === REMOVE)
        +            node.contents = null;
        +    }
        +    else
        +        visit_(null, node, visitor_, Object.freeze([]));
        +}
        +// Without the `as symbol` casts, TS declares these in the `visit`
        +// namespace using `var`, but then complains about that because
        +// `unique symbol` must be `const`.
        +/** Terminate visit traversal completely */
        +visit.BREAK = BREAK;
        +/** Do not visit the children of the current node */
        +visit.SKIP = SKIP;
        +/** Remove the current node */
        +visit.REMOVE = REMOVE;
        +function visit_(key, node, visitor, path) {
        +    const ctrl = callVisitor(key, node, visitor, path);
        +    if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
        +        replaceNode(key, path, ctrl);
        +        return visit_(key, ctrl, visitor, path);
        +    }
        +    if (typeof ctrl !== 'symbol') {
        +        if (identity.isCollection(node)) {
        +            path = Object.freeze(path.concat(node));
        +            for (let i = 0; i < node.items.length; ++i) {
        +                const ci = visit_(i, node.items[i], visitor, path);
        +                if (typeof ci === 'number')
        +                    i = ci - 1;
        +                else if (ci === BREAK)
        +                    return BREAK;
        +                else if (ci === REMOVE) {
        +                    node.items.splice(i, 1);
        +                    i -= 1;
        +                }
        +            }
        +        }
        +        else if (identity.isPair(node)) {
        +            path = Object.freeze(path.concat(node));
        +            const ck = visit_('key', node.key, visitor, path);
        +            if (ck === BREAK)
        +                return BREAK;
        +            else if (ck === REMOVE)
        +                node.key = null;
        +            const cv = visit_('value', node.value, visitor, path);
        +            if (cv === BREAK)
        +                return BREAK;
        +            else if (cv === REMOVE)
        +                node.value = null;
        +        }
        +    }
        +    return ctrl;
        +}
        +/**
        + * Apply an async visitor to an AST node or document.
        + *
        + * Walks through the tree (depth-first) starting from `node`, calling a
        + * `visitor` function with three arguments:
        + *   - `key`: For sequence values and map `Pair`, the node's index in the
        + *     collection. Within a `Pair`, `'key'` or `'value'`, correspondingly.
        + *     `null` for the root node.
        + *   - `node`: The current node.
        + *   - `path`: The ancestry of the current node.
        + *
        + * The return value of the visitor may be used to control the traversal:
        + *   - `Promise`: Must resolve to one of the following values
        + *   - `undefined` (default): Do nothing and continue
        + *   - `visit.SKIP`: Do not visit the children of this node, continue with next
        + *     sibling
        + *   - `visit.BREAK`: Terminate traversal completely
        + *   - `visit.REMOVE`: Remove the current node, then continue with the next one
        + *   - `Node`: Replace the current node, then continue by visiting it
        + *   - `number`: While iterating the items of a sequence or map, set the index
        + *     of the next step. This is useful especially if the index of the current
        + *     node has changed.
        + *
        + * If `visitor` is a single function, it will be called with all values
        + * encountered in the tree, including e.g. `null` values. Alternatively,
        + * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`,
        + * `Alias` and `Scalar` node. To define the same visitor function for more than
        + * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar)
        + * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most
        + * specific defined one will be used for each node.
        + */
        +async function visitAsync(node, visitor) {
        +    const visitor_ = initVisitor(visitor);
        +    if (identity.isDocument(node)) {
        +        const cd = await visitAsync_(null, node.contents, visitor_, Object.freeze([node]));
        +        if (cd === REMOVE)
        +            node.contents = null;
        +    }
        +    else
        +        await visitAsync_(null, node, visitor_, Object.freeze([]));
        +}
        +// Without the `as symbol` casts, TS declares these in the `visit`
        +// namespace using `var`, but then complains about that because
        +// `unique symbol` must be `const`.
        +/** Terminate visit traversal completely */
        +visitAsync.BREAK = BREAK;
        +/** Do not visit the children of the current node */
        +visitAsync.SKIP = SKIP;
        +/** Remove the current node */
        +visitAsync.REMOVE = REMOVE;
        +async function visitAsync_(key, node, visitor, path) {
        +    const ctrl = await callVisitor(key, node, visitor, path);
        +    if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
        +        replaceNode(key, path, ctrl);
        +        return visitAsync_(key, ctrl, visitor, path);
        +    }
        +    if (typeof ctrl !== 'symbol') {
        +        if (identity.isCollection(node)) {
        +            path = Object.freeze(path.concat(node));
        +            for (let i = 0; i < node.items.length; ++i) {
        +                const ci = await visitAsync_(i, node.items[i], visitor, path);
        +                if (typeof ci === 'number')
        +                    i = ci - 1;
        +                else if (ci === BREAK)
        +                    return BREAK;
        +                else if (ci === REMOVE) {
        +                    node.items.splice(i, 1);
        +                    i -= 1;
        +                }
        +            }
        +        }
        +        else if (identity.isPair(node)) {
        +            path = Object.freeze(path.concat(node));
        +            const ck = await visitAsync_('key', node.key, visitor, path);
        +            if (ck === BREAK)
        +                return BREAK;
        +            else if (ck === REMOVE)
        +                node.key = null;
        +            const cv = await visitAsync_('value', node.value, visitor, path);
        +            if (cv === BREAK)
        +                return BREAK;
        +            else if (cv === REMOVE)
        +                node.value = null;
        +        }
        +    }
        +    return ctrl;
        +}
        +function initVisitor(visitor) {
        +    if (typeof visitor === 'object' &&
        +        (visitor.Collection || visitor.Node || visitor.Value)) {
        +        return Object.assign({
        +            Alias: visitor.Node,
        +            Map: visitor.Node,
        +            Scalar: visitor.Node,
        +            Seq: visitor.Node
        +        }, visitor.Value && {
        +            Map: visitor.Value,
        +            Scalar: visitor.Value,
        +            Seq: visitor.Value
        +        }, visitor.Collection && {
        +            Map: visitor.Collection,
        +            Seq: visitor.Collection
        +        }, visitor);
        +    }
        +    return visitor;
        +}
        +function callVisitor(key, node, visitor, path) {
        +    if (typeof visitor === 'function')
        +        return visitor(key, node, path);
        +    if (identity.isMap(node))
        +        return visitor.Map?.(key, node, path);
        +    if (identity.isSeq(node))
        +        return visitor.Seq?.(key, node, path);
        +    if (identity.isPair(node))
        +        return visitor.Pair?.(key, node, path);
        +    if (identity.isScalar(node))
        +        return visitor.Scalar?.(key, node, path);
        +    if (identity.isAlias(node))
        +        return visitor.Alias?.(key, node, path);
        +    return undefined;
        +}
        +function replaceNode(key, path, node) {
        +    const parent = path[path.length - 1];
        +    if (identity.isCollection(parent)) {
        +        parent.items[key] = node;
        +    }
        +    else if (identity.isPair(parent)) {
        +        if (key === 'key')
        +            parent.key = node;
        +        else
        +            parent.value = node;
        +    }
        +    else if (identity.isDocument(parent)) {
        +        parent.contents = node;
        +    }
        +    else {
        +        const pt = identity.isAlias(parent) ? 'alias' : 'scalar';
        +        throw new Error(`Cannot replace node with ${pt} parent`);
        +    }
        +}
        +
        +exports.visit = visit;
        +exports.visitAsync = visitAsync;
        +
        +
        +/***/ },
        +
        +/***/ 79747
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +var _a;
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.unload = exports.load = exports.onExit = exports.signals = void 0;
        +// Note: since nyc uses this module to output coverage, any lines
        +// that are in the direct sync flow of nyc's outputCoverage are
        +// ignored, since we can never get coverage for them.
        +// grab a reference to node's real process object right away
        +const signals_js_1 = __webpack_require__(94102);
        +Object.defineProperty(exports, "signals", ({ enumerable: true, get: function () { return signals_js_1.signals; } }));
        +const processOk = (process) => !!process &&
        +    typeof process === 'object' &&
        +    typeof process.removeListener === 'function' &&
        +    typeof process.emit === 'function' &&
        +    typeof process.reallyExit === 'function' &&
        +    typeof process.listeners === 'function' &&
        +    typeof process.kill === 'function' &&
        +    typeof process.pid === 'number' &&
        +    typeof process.on === 'function';
        +const kExitEmitter = Symbol.for('signal-exit emitter');
        +const global = globalThis;
        +const ObjectDefineProperty = Object.defineProperty.bind(Object);
        +// teeny special purpose ee
        +class Emitter {
        +    emitted = {
        +        afterExit: false,
        +        exit: false,
        +    };
        +    listeners = {
        +        afterExit: [],
        +        exit: [],
        +    };
        +    count = 0;
        +    id = Math.random();
        +    constructor() {
        +        if (global[kExitEmitter]) {
        +            return global[kExitEmitter];
        +        }
        +        ObjectDefineProperty(global, kExitEmitter, {
        +            value: this,
        +            writable: false,
        +            enumerable: false,
        +            configurable: false,
        +        });
        +    }
        +    on(ev, fn) {
        +        this.listeners[ev].push(fn);
        +    }
        +    removeListener(ev, fn) {
        +        const list = this.listeners[ev];
        +        const i = list.indexOf(fn);
        +        /* c8 ignore start */
        +        if (i === -1) {
        +            return;
        +        }
        +        /* c8 ignore stop */
        +        if (i === 0 && list.length === 1) {
        +            list.length = 0;
        +        }
        +        else {
        +            list.splice(i, 1);
        +        }
        +    }
        +    emit(ev, code, signal) {
        +        if (this.emitted[ev]) {
        +            return false;
        +        }
        +        this.emitted[ev] = true;
        +        let ret = false;
        +        for (const fn of this.listeners[ev]) {
        +            ret = fn(code, signal) === true || ret;
        +        }
        +        if (ev === 'exit') {
        +            ret = this.emit('afterExit', code, signal) || ret;
        +        }
        +        return ret;
        +    }
        +}
        +class SignalExitBase {
        +}
        +const signalExitWrap = (handler) => {
        +    return {
        +        onExit(cb, opts) {
        +            return handler.onExit(cb, opts);
        +        },
        +        load() {
        +            return handler.load();
        +        },
        +        unload() {
        +            return handler.unload();
        +        },
        +    };
        +};
        +class SignalExitFallback extends SignalExitBase {
        +    onExit() {
        +        return () => { };
        +    }
        +    load() { }
        +    unload() { }
        +}
        +class SignalExit extends SignalExitBase {
        +    // "SIGHUP" throws an `ENOSYS` error on Windows,
        +    // so use a supported signal instead
        +    /* c8 ignore start */
        +    #hupSig = process.platform === 'win32' ? 'SIGINT' : 'SIGHUP';
        +    /* c8 ignore stop */
        +    #emitter = new Emitter();
        +    #process;
        +    #originalProcessEmit;
        +    #originalProcessReallyExit;
        +    #sigListeners = {};
        +    #loaded = false;
        +    constructor(process) {
        +        super();
        +        this.#process = process;
        +        // { : , ... }
        +        this.#sigListeners = {};
        +        for (const sig of signals_js_1.signals) {
        +            this.#sigListeners[sig] = () => {
        +                // If there are no other listeners, an exit is coming!
        +                // Simplest way: remove us and then re-send the signal.
        +                // We know that this will kill the process, so we can
        +                // safely emit now.
        +                const listeners = this.#process.listeners(sig);
        +                let { count } = this.#emitter;
        +                // This is a workaround for the fact that signal-exit v3 and signal
        +                // exit v4 are not aware of each other, and each will attempt to let
        +                // the other handle it, so neither of them do. To correct this, we
        +                // detect if we're the only handler *except* for previous versions
        +                // of signal-exit, and increment by the count of listeners it has
        +                // created.
        +                /* c8 ignore start */
        +                const p = process;
        +                if (typeof p.__signal_exit_emitter__ === 'object' &&
        +                    typeof p.__signal_exit_emitter__.count === 'number') {
        +                    count += p.__signal_exit_emitter__.count;
        +                }
        +                /* c8 ignore stop */
        +                if (listeners.length === count) {
        +                    this.unload();
        +                    const ret = this.#emitter.emit('exit', null, sig);
        +                    /* c8 ignore start */
        +                    const s = sig === 'SIGHUP' ? this.#hupSig : sig;
        +                    if (!ret)
        +                        process.kill(process.pid, s);
        +                    /* c8 ignore stop */
        +                }
        +            };
        +        }
        +        this.#originalProcessReallyExit = process.reallyExit;
        +        this.#originalProcessEmit = process.emit;
        +    }
        +    onExit(cb, opts) {
        +        /* c8 ignore start */
        +        if (!processOk(this.#process)) {
        +            return () => { };
        +        }
        +        /* c8 ignore stop */
        +        if (this.#loaded === false) {
        +            this.load();
        +        }
        +        const ev = opts?.alwaysLast ? 'afterExit' : 'exit';
        +        this.#emitter.on(ev, cb);
        +        return () => {
        +            this.#emitter.removeListener(ev, cb);
        +            if (this.#emitter.listeners['exit'].length === 0 &&
        +                this.#emitter.listeners['afterExit'].length === 0) {
        +                this.unload();
        +            }
        +        };
        +    }
        +    load() {
        +        if (this.#loaded) {
        +            return;
        +        }
        +        this.#loaded = true;
        +        // This is the number of onSignalExit's that are in play.
        +        // It's important so that we can count the correct number of
        +        // listeners on signals, and don't wait for the other one to
        +        // handle it instead of us.
        +        this.#emitter.count += 1;
        +        for (const sig of signals_js_1.signals) {
        +            try {
        +                const fn = this.#sigListeners[sig];
        +                if (fn)
        +                    this.#process.on(sig, fn);
        +            }
        +            catch (_) { }
        +        }
        +        this.#process.emit = (ev, ...a) => {
        +            return this.#processEmit(ev, ...a);
        +        };
        +        this.#process.reallyExit = (code) => {
        +            return this.#processReallyExit(code);
        +        };
        +    }
        +    unload() {
        +        if (!this.#loaded) {
        +            return;
        +        }
        +        this.#loaded = false;
        +        signals_js_1.signals.forEach(sig => {
        +            const listener = this.#sigListeners[sig];
        +            /* c8 ignore start */
        +            if (!listener) {
        +                throw new Error('Listener not defined for signal: ' + sig);
        +            }
        +            /* c8 ignore stop */
        +            try {
        +                this.#process.removeListener(sig, listener);
        +                /* c8 ignore start */
        +            }
        +            catch (_) { }
        +            /* c8 ignore stop */
        +        });
        +        this.#process.emit = this.#originalProcessEmit;
        +        this.#process.reallyExit = this.#originalProcessReallyExit;
        +        this.#emitter.count -= 1;
        +    }
        +    #processReallyExit(code) {
        +        /* c8 ignore start */
        +        if (!processOk(this.#process)) {
        +            return 0;
        +        }
        +        this.#process.exitCode = code || 0;
        +        /* c8 ignore stop */
        +        this.#emitter.emit('exit', this.#process.exitCode, null);
        +        return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
        +    }
        +    #processEmit(ev, ...args) {
        +        const og = this.#originalProcessEmit;
        +        if (ev === 'exit' && processOk(this.#process)) {
        +            if (typeof args[0] === 'number') {
        +                this.#process.exitCode = args[0];
        +                /* c8 ignore start */
        +            }
        +            /* c8 ignore start */
        +            const ret = og.call(this.#process, ev, ...args);
        +            /* c8 ignore start */
        +            this.#emitter.emit('exit', this.#process.exitCode, null);
        +            /* c8 ignore stop */
        +            return ret;
        +        }
        +        else {
        +            return og.call(this.#process, ev, ...args);
        +        }
        +    }
        +}
        +const process = globalThis.process;
        +// wrap so that we call the method on the actual handler, without
        +// exporting it directly.
        +_a = signalExitWrap(processOk(process) ? new SignalExit(process) : new SignalExitFallback()), 
        +/**
        + * Called when the process is exiting, whether via signal, explicit
        + * exit, or running out of stuff to do.
        + *
        + * If the global process object is not suitable for instrumentation,
        + * then this will be a no-op.
        + *
        + * Returns a function that may be used to unload signal-exit.
        + */
        +exports.onExit = _a.onExit, 
        +/**
        + * Load the listeners.  Likely you never need to call this, unless
        + * doing a rather deep integration with signal-exit functionality.
        + * Mostly exposed for the benefit of testing.
        + *
        + * @internal
        + */
        +exports.load = _a.load, 
        +/**
        + * Unload the listeners.  Likely you never need to call this, unless
        + * doing a rather deep integration with signal-exit functionality.
        + * Mostly exposed for the benefit of testing.
        + *
        + * @internal
        + */
        +exports.unload = _a.unload;
        +//# sourceMappingURL=index.js.map
        +
        +/***/ },
        +
        +/***/ 94102
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +Object.defineProperty(exports, "__esModule", ({ value: true }));
        +exports.signals = void 0;
        +/**
        + * This is not the set of all possible signals.
        + *
        + * It IS, however, the set of all signals that trigger
        + * an exit on either Linux or BSD systems.  Linux is a
        + * superset of the signal names supported on BSD, and
        + * the unknown signals just fail to register, so we can
        + * catch that easily enough.
        + *
        + * Windows signals are a different set, since there are
        + * signals that terminate Windows processes, but don't
        + * terminate (or don't even exist) on Posix systems.
        + *
        + * Don't bother with SIGKILL.  It's uncatchable, which
        + * means that we can't fire any callbacks anyway.
        + *
        + * If a user does happen to register a handler on a non-
        + * fatal signal like SIGWINCH or something, and then
        + * exit, it'll end up firing `process.emit('exit')`, so
        + * the handler will be fired anyway.
        + *
        + * SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised
        + * artificially, inherently leave the process in a
        + * state from which it is not safe to try and enter JS
        + * listeners.
        + */
        +exports.signals = [];
        +exports.signals.push('SIGHUP', 'SIGINT', 'SIGTERM');
        +if (process.platform !== 'win32') {
        +    exports.signals.push('SIGALRM', 'SIGABRT', 'SIGVTALRM', 'SIGXCPU', 'SIGXFSZ', 'SIGUSR2', 'SIGTRAP', 'SIGSYS', 'SIGQUIT', 'SIGIOT'
        +    // should detect profiler and enable/disable accordingly.
        +    // see #21
        +    // 'SIGPROF'
        +    );
        +}
        +if (process.platform === 'linux') {
        +    exports.signals.push('SIGIO', 'SIGPOLL', 'SIGPWR', 'SIGSTKFLT');
        +}
        +//# sourceMappingURL=signals.js.map
        +
        +/***/ },
        +
        +/***/ 79329
        +(module, __unused_webpack_exports, __webpack_require__) {
        +
        +"use strict";
        +/*! Axios v1.14.0 Copyright (c) 2026 Matt Zabriskie and contributors */
        +
        +
        +var FormData$1 = __webpack_require__(30737);
        +var crypto = __webpack_require__(76982);
        +var url = __webpack_require__(87016);
        +var http = __webpack_require__(58611);
        +var https = __webpack_require__(65692);
        +var http2 = __webpack_require__(85675);
        +var util = __webpack_require__(39023);
        +var followRedirects = __webpack_require__(43164);
        +var zlib = __webpack_require__(43106);
        +var stream = __webpack_require__(2203);
        +var events = __webpack_require__(24434);
        +
        +/**
        + * Create a bound version of a function with a specified `this` context
        + *
        + * @param {Function} fn - The function to bind
        + * @param {*} thisArg - The value to be passed as the `this` parameter
        + * @returns {Function} A new function that will call the original function with the specified `this` context
        + */
        +function bind(fn, thisArg) {
        +  return function wrap() {
        +    return fn.apply(thisArg, arguments);
        +  };
        +}
        +
        +// utils is a library of generic helper functions non-specific to axios
        +
        +const {
        +  toString
        +} = Object.prototype;
        +const {
        +  getPrototypeOf
        +} = Object;
        +const {
        +  iterator,
        +  toStringTag
        +} = Symbol;
        +const kindOf = (cache => thing => {
        +  const str = toString.call(thing);
        +  return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
        +})(Object.create(null));
        +const kindOfTest = type => {
        +  type = type.toLowerCase();
        +  return thing => kindOf(thing) === type;
        +};
        +const typeOfTest = type => thing => typeof thing === type;
        +
        +/**
        + * Determine if a value is a non-null object
        + *
        + * @param {Object} val The value to test
        + *
        + * @returns {boolean} True if value is an Array, otherwise false
        + */
        +const {
        +  isArray
        +} = Array;
        +
        +/**
        + * Determine if a value is undefined
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if the value is undefined, otherwise false
        + */
        +const isUndefined = typeOfTest('undefined');
        +
        +/**
        + * Determine if a value is a Buffer
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Buffer, otherwise false
        + */
        +function isBuffer(val) {
        +  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction$1(val.constructor.isBuffer) && val.constructor.isBuffer(val);
        +}
        +
        +/**
        + * Determine if a value is an ArrayBuffer
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is an ArrayBuffer, otherwise false
        + */
        +const isArrayBuffer = kindOfTest('ArrayBuffer');
        +
        +/**
        + * Determine if a value is a view on an ArrayBuffer
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
        + */
        +function isArrayBufferView(val) {
        +  let result;
        +  if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {
        +    result = ArrayBuffer.isView(val);
        +  } else {
        +    result = val && val.buffer && isArrayBuffer(val.buffer);
        +  }
        +  return result;
        +}
        +
        +/**
        + * Determine if a value is a String
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a String, otherwise false
        + */
        +const isString = typeOfTest('string');
        +
        +/**
        + * Determine if a value is a Function
        + *
        + * @param {*} val The value to test
        + * @returns {boolean} True if value is a Function, otherwise false
        + */
        +const isFunction$1 = typeOfTest('function');
        +
        +/**
        + * Determine if a value is a Number
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Number, otherwise false
        + */
        +const isNumber = typeOfTest('number');
        +
        +/**
        + * Determine if a value is an Object
        + *
        + * @param {*} thing The value to test
        + *
        + * @returns {boolean} True if value is an Object, otherwise false
        + */
        +const isObject = thing => thing !== null && typeof thing === 'object';
        +
        +/**
        + * Determine if a value is a Boolean
        + *
        + * @param {*} thing The value to test
        + * @returns {boolean} True if value is a Boolean, otherwise false
        + */
        +const isBoolean = thing => thing === true || thing === false;
        +
        +/**
        + * Determine if a value is a plain Object
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a plain Object, otherwise false
        + */
        +const isPlainObject = val => {
        +  if (kindOf(val) !== 'object') {
        +    return false;
        +  }
        +  const prototype = getPrototypeOf(val);
        +  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);
        +};
        +
        +/**
        + * Determine if a value is an empty object (safely handles Buffers)
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is an empty object, otherwise false
        + */
        +const isEmptyObject = val => {
        +  // Early return for non-objects or Buffers to prevent RangeError
        +  if (!isObject(val) || isBuffer(val)) {
        +    return false;
        +  }
        +  try {
        +    return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;
        +  } catch (e) {
        +    // Fallback for any other objects that might cause RangeError with Object.keys()
        +    return false;
        +  }
        +};
        +
        +/**
        + * Determine if a value is a Date
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Date, otherwise false
        + */
        +const isDate = kindOfTest('Date');
        +
        +/**
        + * Determine if a value is a File
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a File, otherwise false
        + */
        +const isFile = kindOfTest('File');
        +
        +/**
        + * Determine if a value is a React Native Blob
        + * React Native "blob": an object with a `uri` attribute. Optionally, it can
        + * also have a `name` and `type` attribute to specify filename and content type
        + *
        + * @see https://github.com/facebook/react-native/blob/26684cf3adf4094eb6c405d345a75bf8c7c0bf88/Libraries/Network/FormData.js#L68-L71
        + * 
        + * @param {*} value The value to test
        + * 
        + * @returns {boolean} True if value is a React Native Blob, otherwise false
        + */
        +const isReactNativeBlob = value => {
        +  return !!(value && typeof value.uri !== 'undefined');
        +};
        +
        +/**
        + * Determine if environment is React Native
        + * ReactNative `FormData` has a non-standard `getParts()` method
        + * 
        + * @param {*} formData The formData to test
        + * 
        + * @returns {boolean} True if environment is React Native, otherwise false
        + */
        +const isReactNative = formData => formData && typeof formData.getParts !== 'undefined';
        +
        +/**
        + * Determine if a value is a Blob
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Blob, otherwise false
        + */
        +const isBlob = kindOfTest('Blob');
        +
        +/**
        + * Determine if a value is a FileList
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a File, otherwise false
        + */
        +const isFileList = kindOfTest('FileList');
        +
        +/**
        + * Determine if a value is a Stream
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a Stream, otherwise false
        + */
        +const isStream = val => isObject(val) && isFunction$1(val.pipe);
        +
        +/**
        + * Determine if a value is a FormData
        + *
        + * @param {*} thing The value to test
        + *
        + * @returns {boolean} True if value is an FormData, otherwise false
        + */
        +function getGlobal() {
        +  if (typeof globalThis !== 'undefined') return globalThis;
        +  if (typeof self !== 'undefined') return self;
        +  if (typeof window !== 'undefined') return window;
        +  if (typeof global !== 'undefined') return global;
        +  return {};
        +}
        +const G = getGlobal();
        +const FormDataCtor = typeof G.FormData !== 'undefined' ? G.FormData : undefined;
        +const isFormData = thing => {
        +  let kind;
        +  return thing && (FormDataCtor && thing instanceof FormDataCtor || isFunction$1(thing.append) && ((kind = kindOf(thing)) === 'formdata' ||
        +  // detect form-data instance
        +  kind === 'object' && isFunction$1(thing.toString) && thing.toString() === '[object FormData]'));
        +};
        +
        +/**
        + * Determine if a value is a URLSearchParams object
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a URLSearchParams object, otherwise false
        + */
        +const isURLSearchParams = kindOfTest('URLSearchParams');
        +const [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);
        +
        +/**
        + * Trim excess whitespace off the beginning and end of a string
        + *
        + * @param {String} str The String to trim
        + *
        + * @returns {String} The String freed of excess whitespace
        + */
        +const trim = str => {
        +  return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
        +};
        +/**
        + * Iterate over an Array or an Object invoking a function for each item.
        + *
        + * If `obj` is an Array callback will be called passing
        + * the value, index, and complete array for each item.
        + *
        + * If 'obj' is an Object callback will be called passing
        + * the value, key, and complete object for each property.
        + *
        + * @param {Object|Array} obj The object to iterate
        + * @param {Function} fn The callback to invoke for each item
        + *
        + * @param {Object} [options]
        + * @param {Boolean} [options.allOwnKeys = false]
        + * @returns {any}
        + */
        +function forEach(obj, fn, {
        +  allOwnKeys = false
        +} = {}) {
        +  // Don't bother if no value provided
        +  if (obj === null || typeof obj === 'undefined') {
        +    return;
        +  }
        +  let i;
        +  let l;
        +
        +  // Force an array if not already something iterable
        +  if (typeof obj !== 'object') {
        +    /*eslint no-param-reassign:0*/
        +    obj = [obj];
        +  }
        +  if (isArray(obj)) {
        +    // Iterate over array values
        +    for (i = 0, l = obj.length; i < l; i++) {
        +      fn.call(null, obj[i], i, obj);
        +    }
        +  } else {
        +    // Buffer check
        +    if (isBuffer(obj)) {
        +      return;
        +    }
        +
        +    // Iterate over object keys
        +    const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
        +    const len = keys.length;
        +    let key;
        +    for (i = 0; i < len; i++) {
        +      key = keys[i];
        +      fn.call(null, obj[key], key, obj);
        +    }
        +  }
        +}
        +
        +/**
        + * Finds a key in an object, case-insensitive, returning the actual key name.
        + * Returns null if the object is a Buffer or if no match is found.
        + *
        + * @param {Object} obj - The object to search.
        + * @param {string} key - The key to find (case-insensitive).
        + * @returns {?string} The actual key name if found, otherwise null.
        + */
        +function findKey(obj, key) {
        +  if (isBuffer(obj)) {
        +    return null;
        +  }
        +  key = key.toLowerCase();
        +  const keys = Object.keys(obj);
        +  let i = keys.length;
        +  let _key;
        +  while (i-- > 0) {
        +    _key = keys[i];
        +    if (key === _key.toLowerCase()) {
        +      return _key;
        +    }
        +  }
        +  return null;
        +}
        +const _global = (() => {
        +  /*eslint no-undef:0*/
        +  if (typeof globalThis !== 'undefined') return globalThis;
        +  return typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : global;
        +})();
        +const isContextDefined = context => !isUndefined(context) && context !== _global;
        +
        +/**
        + * Accepts varargs expecting each argument to be an object, then
        + * immutably merges the properties of each object and returns result.
        + *
        + * When multiple objects contain the same key the later object in
        + * the arguments list will take precedence.
        + *
        + * Example:
        + *
        + * ```js
        + * const result = merge({foo: 123}, {foo: 456});
        + * console.log(result.foo); // outputs 456
        + * ```
        + *
        + * @param {Object} obj1 Object to merge
        + *
        + * @returns {Object} Result of all merge properties
        + */
        +function merge(/* obj1, obj2, obj3, ... */
        +) {
        +  const {
        +    caseless,
        +    skipUndefined
        +  } = isContextDefined(this) && this || {};
        +  const result = {};
        +  const assignValue = (val, key) => {
        +    // Skip dangerous property names to prevent prototype pollution
        +    if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
        +      return;
        +    }
        +    const targetKey = caseless && findKey(result, key) || key;
        +    if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
        +      result[targetKey] = merge(result[targetKey], val);
        +    } else if (isPlainObject(val)) {
        +      result[targetKey] = merge({}, val);
        +    } else if (isArray(val)) {
        +      result[targetKey] = val.slice();
        +    } else if (!skipUndefined || !isUndefined(val)) {
        +      result[targetKey] = val;
        +    }
        +  };
        +  for (let i = 0, l = arguments.length; i < l; i++) {
        +    arguments[i] && forEach(arguments[i], assignValue);
        +  }
        +  return result;
        +}
        +
        +/**
        + * Extends object a by mutably adding to it the properties of object b.
        + *
        + * @param {Object} a The object to be extended
        + * @param {Object} b The object to copy properties from
        + * @param {Object} thisArg The object to bind function to
        + *
        + * @param {Object} [options]
        + * @param {Boolean} [options.allOwnKeys]
        + * @returns {Object} The resulting value of object a
        + */
        +const extend = (a, b, thisArg, {
        +  allOwnKeys
        +} = {}) => {
        +  forEach(b, (val, key) => {
        +    if (thisArg && isFunction$1(val)) {
        +      Object.defineProperty(a, key, {
        +        value: bind(val, thisArg),
        +        writable: true,
        +        enumerable: true,
        +        configurable: true
        +      });
        +    } else {
        +      Object.defineProperty(a, key, {
        +        value: val,
        +        writable: true,
        +        enumerable: true,
        +        configurable: true
        +      });
        +    }
        +  }, {
        +    allOwnKeys
        +  });
        +  return a;
        +};
        +
        +/**
        + * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
        + *
        + * @param {string} content with BOM
        + *
        + * @returns {string} content value without BOM
        + */
        +const stripBOM = content => {
        +  if (content.charCodeAt(0) === 0xfeff) {
        +    content = content.slice(1);
        +  }
        +  return content;
        +};
        +
        +/**
        + * Inherit the prototype methods from one constructor into another
        + * @param {function} constructor
        + * @param {function} superConstructor
        + * @param {object} [props]
        + * @param {object} [descriptors]
        + *
        + * @returns {void}
        + */
        +const inherits = (constructor, superConstructor, props, descriptors) => {
        +  constructor.prototype = Object.create(superConstructor.prototype, descriptors);
        +  Object.defineProperty(constructor.prototype, 'constructor', {
        +    value: constructor,
        +    writable: true,
        +    enumerable: false,
        +    configurable: true
        +  });
        +  Object.defineProperty(constructor, 'super', {
        +    value: superConstructor.prototype
        +  });
        +  props && Object.assign(constructor.prototype, props);
        +};
        +
        +/**
        + * Resolve object with deep prototype chain to a flat object
        + * @param {Object} sourceObj source object
        + * @param {Object} [destObj]
        + * @param {Function|Boolean} [filter]
        + * @param {Function} [propFilter]
        + *
        + * @returns {Object}
        + */
        +const toFlatObject = (sourceObj, destObj, filter, propFilter) => {
        +  let props;
        +  let i;
        +  let prop;
        +  const merged = {};
        +  destObj = destObj || {};
        +  // eslint-disable-next-line no-eq-null,eqeqeq
        +  if (sourceObj == null) return destObj;
        +  do {
        +    props = Object.getOwnPropertyNames(sourceObj);
        +    i = props.length;
        +    while (i-- > 0) {
        +      prop = props[i];
        +      if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
        +        destObj[prop] = sourceObj[prop];
        +        merged[prop] = true;
        +      }
        +    }
        +    sourceObj = filter !== false && getPrototypeOf(sourceObj);
        +  } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);
        +  return destObj;
        +};
        +
        +/**
        + * Determines whether a string ends with the characters of a specified string
        + *
        + * @param {String} str
        + * @param {String} searchString
        + * @param {Number} [position= 0]
        + *
        + * @returns {boolean}
        + */
        +const endsWith = (str, searchString, position) => {
        +  str = String(str);
        +  if (position === undefined || position > str.length) {
        +    position = str.length;
        +  }
        +  position -= searchString.length;
        +  const lastIndex = str.indexOf(searchString, position);
        +  return lastIndex !== -1 && lastIndex === position;
        +};
        +
        +/**
        + * Returns new array from array like object or null if failed
        + *
        + * @param {*} [thing]
        + *
        + * @returns {?Array}
        + */
        +const toArray = thing => {
        +  if (!thing) return null;
        +  if (isArray(thing)) return thing;
        +  let i = thing.length;
        +  if (!isNumber(i)) return null;
        +  const arr = new Array(i);
        +  while (i-- > 0) {
        +    arr[i] = thing[i];
        +  }
        +  return arr;
        +};
        +
        +/**
        + * Checking if the Uint8Array exists and if it does, it returns a function that checks if the
        + * thing passed in is an instance of Uint8Array
        + *
        + * @param {TypedArray}
        + *
        + * @returns {Array}
        + */
        +// eslint-disable-next-line func-names
        +const isTypedArray = (TypedArray => {
        +  // eslint-disable-next-line func-names
        +  return thing => {
        +    return TypedArray && thing instanceof TypedArray;
        +  };
        +})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));
        +
        +/**
        + * For each entry in the object, call the function with the key and value.
        + *
        + * @param {Object} obj - The object to iterate over.
        + * @param {Function} fn - The function to call for each entry.
        + *
        + * @returns {void}
        + */
        +const forEachEntry = (obj, fn) => {
        +  const generator = obj && obj[iterator];
        +  const _iterator = generator.call(obj);
        +  let result;
        +  while ((result = _iterator.next()) && !result.done) {
        +    const pair = result.value;
        +    fn.call(obj, pair[0], pair[1]);
        +  }
        +};
        +
        +/**
        + * It takes a regular expression and a string, and returns an array of all the matches
        + *
        + * @param {string} regExp - The regular expression to match against.
        + * @param {string} str - The string to search.
        + *
        + * @returns {Array}
        + */
        +const matchAll = (regExp, str) => {
        +  let matches;
        +  const arr = [];
        +  while ((matches = regExp.exec(str)) !== null) {
        +    arr.push(matches);
        +  }
        +  return arr;
        +};
        +
        +/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */
        +const isHTMLForm = kindOfTest('HTMLFormElement');
        +const toCamelCase = str => {
        +  return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) {
        +    return p1.toUpperCase() + p2;
        +  });
        +};
        +
        +/* Creating a function that will check if an object has a property. */
        +const hasOwnProperty = (({
        +  hasOwnProperty
        +}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);
        +
        +/**
        + * Determine if a value is a RegExp object
        + *
        + * @param {*} val The value to test
        + *
        + * @returns {boolean} True if value is a RegExp object, otherwise false
        + */
        +const isRegExp = kindOfTest('RegExp');
        +const reduceDescriptors = (obj, reducer) => {
        +  const descriptors = Object.getOwnPropertyDescriptors(obj);
        +  const reducedDescriptors = {};
        +  forEach(descriptors, (descriptor, name) => {
        +    let ret;
        +    if ((ret = reducer(descriptor, name, obj)) !== false) {
        +      reducedDescriptors[name] = ret || descriptor;
        +    }
        +  });
        +  Object.defineProperties(obj, reducedDescriptors);
        +};
        +
        +/**
        + * Makes all methods read-only
        + * @param {Object} obj
        + */
        +
        +const freezeMethods = obj => {
        +  reduceDescriptors(obj, (descriptor, name) => {
        +    // skip restricted props in strict mode
        +    if (isFunction$1(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {
        +      return false;
        +    }
        +    const value = obj[name];
        +    if (!isFunction$1(value)) return;
        +    descriptor.enumerable = false;
        +    if ('writable' in descriptor) {
        +      descriptor.writable = false;
        +      return;
        +    }
        +    if (!descriptor.set) {
        +      descriptor.set = () => {
        +        throw Error("Can not rewrite read-only method '" + name + "'");
        +      };
        +    }
        +  });
        +};
        +
        +/**
        + * Converts an array or a delimited string into an object set with values as keys and true as values.
        + * Useful for fast membership checks.
        + *
        + * @param {Array|string} arrayOrString - The array or string to convert.
        + * @param {string} delimiter - The delimiter to use if input is a string.
        + * @returns {Object} An object with keys from the array or string, values set to true.
        + */
        +const toObjectSet = (arrayOrString, delimiter) => {
        +  const obj = {};
        +  const define = arr => {
        +    arr.forEach(value => {
        +      obj[value] = true;
        +    });
        +  };
        +  isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
        +  return obj;
        +};
        +const noop = () => {};
        +const toFiniteNumber = (value, defaultValue) => {
        +  return value != null && Number.isFinite(value = +value) ? value : defaultValue;
        +};
        +
        +/**
        + * If the thing is a FormData object, return true, otherwise return false.
        + *
        + * @param {unknown} thing - The thing to check.
        + *
        + * @returns {boolean}
        + */
        +function isSpecCompliantForm(thing) {
        +  return !!(thing && isFunction$1(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);
        +}
        +
        +/**
        + * Recursively converts an object to a JSON-compatible object, handling circular references and Buffers.
        + *
        + * @param {Object} obj - The object to convert.
        + * @returns {Object} The JSON-compatible object.
        + */
        +const toJSONObject = obj => {
        +  const stack = new Array(10);
        +  const visit = (source, i) => {
        +    if (isObject(source)) {
        +      if (stack.indexOf(source) >= 0) {
        +        return;
        +      }
        +
        +      //Buffer check
        +      if (isBuffer(source)) {
        +        return source;
        +      }
        +      if (!('toJSON' in source)) {
        +        stack[i] = source;
        +        const target = isArray(source) ? [] : {};
        +        forEach(source, (value, key) => {
        +          const reducedValue = visit(value, i + 1);
        +          !isUndefined(reducedValue) && (target[key] = reducedValue);
        +        });
        +        stack[i] = undefined;
        +        return target;
        +      }
        +    }
        +    return source;
        +  };
        +  return visit(obj, 0);
        +};
        +
        +/**
        + * Determines if a value is an async function.
        + *
        + * @param {*} thing - The value to test.
        + * @returns {boolean} True if value is an async function, otherwise false.
        + */
        +const isAsyncFn = kindOfTest('AsyncFunction');
        +
        +/**
        + * Determines if a value is thenable (has then and catch methods).
        + *
        + * @param {*} thing - The value to test.
        + * @returns {boolean} True if value is thenable, otherwise false.
        + */
        +const isThenable = thing => thing && (isObject(thing) || isFunction$1(thing)) && isFunction$1(thing.then) && isFunction$1(thing.catch);
        +
        +// original code
        +// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34
        +
        +/**
        + * Provides a cross-platform setImmediate implementation.
        + * Uses native setImmediate if available, otherwise falls back to postMessage or setTimeout.
        + *
        + * @param {boolean} setImmediateSupported - Whether setImmediate is supported.
        + * @param {boolean} postMessageSupported - Whether postMessage is supported.
        + * @returns {Function} A function to schedule a callback asynchronously.
        + */
        +const _setImmediate = ((setImmediateSupported, postMessageSupported) => {
        +  if (setImmediateSupported) {
        +    return setImmediate;
        +  }
        +  return postMessageSupported ? ((token, callbacks) => {
        +    _global.addEventListener('message', ({
        +      source,
        +      data
        +    }) => {
        +      if (source === _global && data === token) {
        +        callbacks.length && callbacks.shift()();
        +      }
        +    }, false);
        +    return cb => {
        +      callbacks.push(cb);
        +      _global.postMessage(token, '*');
        +    };
        +  })(`axios@${Math.random()}`, []) : cb => setTimeout(cb);
        +})(typeof setImmediate === 'function', isFunction$1(_global.postMessage));
        +
        +/**
        + * Schedules a microtask or asynchronous callback as soon as possible.
        + * Uses queueMicrotask if available, otherwise falls back to process.nextTick or _setImmediate.
        + *
        + * @type {Function}
        + */
        +const asap = typeof queueMicrotask !== 'undefined' ? queueMicrotask.bind(_global) : typeof process !== 'undefined' && process.nextTick || _setImmediate;
        +
        +// *********************
        +
        +const isIterable = thing => thing != null && isFunction$1(thing[iterator]);
        +var utils$1 = {
        +  isArray,
        +  isArrayBuffer,
        +  isBuffer,
        +  isFormData,
        +  isArrayBufferView,
        +  isString,
        +  isNumber,
        +  isBoolean,
        +  isObject,
        +  isPlainObject,
        +  isEmptyObject,
        +  isReadableStream,
        +  isRequest,
        +  isResponse,
        +  isHeaders,
        +  isUndefined,
        +  isDate,
        +  isFile,
        +  isReactNativeBlob,
        +  isReactNative,
        +  isBlob,
        +  isRegExp,
        +  isFunction: isFunction$1,
        +  isStream,
        +  isURLSearchParams,
        +  isTypedArray,
        +  isFileList,
        +  forEach,
        +  merge,
        +  extend,
        +  trim,
        +  stripBOM,
        +  inherits,
        +  toFlatObject,
        +  kindOf,
        +  kindOfTest,
        +  endsWith,
        +  toArray,
        +  forEachEntry,
        +  matchAll,
        +  isHTMLForm,
        +  hasOwnProperty,
        +  hasOwnProp: hasOwnProperty,
        +  // an alias to avoid ESLint no-prototype-builtins detection
        +  reduceDescriptors,
        +  freezeMethods,
        +  toObjectSet,
        +  toCamelCase,
        +  noop,
        +  toFiniteNumber,
        +  findKey,
        +  global: _global,
        +  isContextDefined,
        +  isSpecCompliantForm,
        +  toJSONObject,
        +  isAsyncFn,
        +  isThenable,
        +  setImmediate: _setImmediate,
        +  asap,
        +  isIterable
        +};
        +
        +class AxiosError extends Error {
        +  static from(error, code, config, request, response, customProps) {
        +    const axiosError = new AxiosError(error.message, code || error.code, config, request, response);
        +    axiosError.cause = error;
        +    axiosError.name = error.name;
        +
        +    // Preserve status from the original error if not already set from response
        +    if (error.status != null && axiosError.status == null) {
        +      axiosError.status = error.status;
        +    }
        +    customProps && Object.assign(axiosError, customProps);
        +    return axiosError;
        +  }
        +
        +  /**
        +   * Create an Error with the specified message, config, error code, request and response.
        +   *
        +   * @param {string} message The error message.
        +   * @param {string} [code] The error code (for example, 'ECONNABORTED').
        +   * @param {Object} [config] The config.
        +   * @param {Object} [request] The request.
        +   * @param {Object} [response] The response.
        +   *
        +   * @returns {Error} The created error.
        +   */
        +  constructor(message, code, config, request, response) {
        +    super(message);
        +
        +    // Make message enumerable to maintain backward compatibility
        +    // The native Error constructor sets message as non-enumerable,
        +    // but axios < v1.13.3 had it as enumerable
        +    Object.defineProperty(this, 'message', {
        +      value: message,
        +      enumerable: true,
        +      writable: true,
        +      configurable: true
        +    });
        +    this.name = 'AxiosError';
        +    this.isAxiosError = true;
        +    code && (this.code = code);
        +    config && (this.config = config);
        +    request && (this.request = request);
        +    if (response) {
        +      this.response = response;
        +      this.status = response.status;
        +    }
        +  }
        +  toJSON() {
        +    return {
        +      // Standard
        +      message: this.message,
        +      name: this.name,
        +      // Microsoft
        +      description: this.description,
        +      number: this.number,
        +      // Mozilla
        +      fileName: this.fileName,
        +      lineNumber: this.lineNumber,
        +      columnNumber: this.columnNumber,
        +      stack: this.stack,
        +      // Axios
        +      config: utils$1.toJSONObject(this.config),
        +      code: this.code,
        +      status: this.status
        +    };
        +  }
        +}
        +
        +// This can be changed to static properties as soon as the parser options in .eslint.cjs are updated.
        +AxiosError.ERR_BAD_OPTION_VALUE = 'ERR_BAD_OPTION_VALUE';
        +AxiosError.ERR_BAD_OPTION = 'ERR_BAD_OPTION';
        +AxiosError.ECONNABORTED = 'ECONNABORTED';
        +AxiosError.ETIMEDOUT = 'ETIMEDOUT';
        +AxiosError.ERR_NETWORK = 'ERR_NETWORK';
        +AxiosError.ERR_FR_TOO_MANY_REDIRECTS = 'ERR_FR_TOO_MANY_REDIRECTS';
        +AxiosError.ERR_DEPRECATED = 'ERR_DEPRECATED';
        +AxiosError.ERR_BAD_RESPONSE = 'ERR_BAD_RESPONSE';
        +AxiosError.ERR_BAD_REQUEST = 'ERR_BAD_REQUEST';
        +AxiosError.ERR_CANCELED = 'ERR_CANCELED';
        +AxiosError.ERR_NOT_SUPPORT = 'ERR_NOT_SUPPORT';
        +AxiosError.ERR_INVALID_URL = 'ERR_INVALID_URL';
        +
        +/**
        + * Determines if the given thing is a array or js object.
        + *
        + * @param {string} thing - The object or array to be visited.
        + *
        + * @returns {boolean}
        + */
        +function isVisitable(thing) {
        +  return utils$1.isPlainObject(thing) || utils$1.isArray(thing);
        +}
        +
        +/**
        + * It removes the brackets from the end of a string
        + *
        + * @param {string} key - The key of the parameter.
        + *
        + * @returns {string} the key without the brackets.
        + */
        +function removeBrackets(key) {
        +  return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key;
        +}
        +
        +/**
        + * It takes a path, a key, and a boolean, and returns a string
        + *
        + * @param {string} path - The path to the current key.
        + * @param {string} key - The key of the current object being iterated over.
        + * @param {string} dots - If true, the key will be rendered with dots instead of brackets.
        + *
        + * @returns {string} The path to the current key.
        + */
        +function renderKey(path, key, dots) {
        +  if (!path) return key;
        +  return path.concat(key).map(function each(token, i) {
        +    // eslint-disable-next-line no-param-reassign
        +    token = removeBrackets(token);
        +    return !dots && i ? '[' + token + ']' : token;
        +  }).join(dots ? '.' : '');
        +}
        +
        +/**
        + * If the array is an array and none of its elements are visitable, then it's a flat array.
        + *
        + * @param {Array} arr - The array to check
        + *
        + * @returns {boolean}
        + */
        +function isFlatArray(arr) {
        +  return utils$1.isArray(arr) && !arr.some(isVisitable);
        +}
        +const predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) {
        +  return /^is[A-Z]/.test(prop);
        +});
        +
        +/**
        + * Convert a data object to FormData
        + *
        + * @param {Object} obj
        + * @param {?Object} [formData]
        + * @param {?Object} [options]
        + * @param {Function} [options.visitor]
        + * @param {Boolean} [options.metaTokens = true]
        + * @param {Boolean} [options.dots = false]
        + * @param {?Boolean} [options.indexes = false]
        + *
        + * @returns {Object}
        + **/
        +
        +/**
        + * It converts an object into a FormData object
        + *
        + * @param {Object} obj - The object to convert to form data.
        + * @param {string} formData - The FormData object to append to.
        + * @param {Object} options
        + *
        + * @returns
        + */
        +function toFormData(obj, formData, options) {
        +  if (!utils$1.isObject(obj)) {
        +    throw new TypeError('target must be an object');
        +  }
        +
        +  // eslint-disable-next-line no-param-reassign
        +  formData = formData || new (FormData$1 || FormData)();
        +
        +  // eslint-disable-next-line no-param-reassign
        +  options = utils$1.toFlatObject(options, {
        +    metaTokens: true,
        +    dots: false,
        +    indexes: false
        +  }, false, function defined(option, source) {
        +    // eslint-disable-next-line no-eq-null,eqeqeq
        +    return !utils$1.isUndefined(source[option]);
        +  });
        +  const metaTokens = options.metaTokens;
        +  // eslint-disable-next-line no-use-before-define
        +  const visitor = options.visitor || defaultVisitor;
        +  const dots = options.dots;
        +  const indexes = options.indexes;
        +  const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;
        +  const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);
        +  if (!utils$1.isFunction(visitor)) {
        +    throw new TypeError('visitor must be a function');
        +  }
        +  function convertValue(value) {
        +    if (value === null) return '';
        +    if (utils$1.isDate(value)) {
        +      return value.toISOString();
        +    }
        +    if (utils$1.isBoolean(value)) {
        +      return value.toString();
        +    }
        +    if (!useBlob && utils$1.isBlob(value)) {
        +      throw new AxiosError('Blob is not supported. Use a Buffer instead.');
        +    }
        +    if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) {
        +      return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);
        +    }
        +    return value;
        +  }
        +
        +  /**
        +   * Default visitor.
        +   *
        +   * @param {*} value
        +   * @param {String|Number} key
        +   * @param {Array} path
        +   * @this {FormData}
        +   *
        +   * @returns {boolean} return true to visit the each prop of the value recursively
        +   */
        +  function defaultVisitor(value, key, path) {
        +    let arr = value;
        +    if (utils$1.isReactNative(formData) && utils$1.isReactNativeBlob(value)) {
        +      formData.append(renderKey(path, key, dots), convertValue(value));
        +      return false;
        +    }
        +    if (value && !path && typeof value === 'object') {
        +      if (utils$1.endsWith(key, '{}')) {
        +        // eslint-disable-next-line no-param-reassign
        +        key = metaTokens ? key : key.slice(0, -2);
        +        // eslint-disable-next-line no-param-reassign
        +        value = JSON.stringify(value);
        +      } else if (utils$1.isArray(value) && isFlatArray(value) || (utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))) {
        +        // eslint-disable-next-line no-param-reassign
        +        key = removeBrackets(key);
        +        arr.forEach(function each(el, index) {
        +          !(utils$1.isUndefined(el) || el === null) && formData.append(
        +          // eslint-disable-next-line no-nested-ternary
        +          indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el));
        +        });
        +        return false;
        +      }
        +    }
        +    if (isVisitable(value)) {
        +      return true;
        +    }
        +    formData.append(renderKey(path, key, dots), convertValue(value));
        +    return false;
        +  }
        +  const stack = [];
        +  const exposedHelpers = Object.assign(predicates, {
        +    defaultVisitor,
        +    convertValue,
        +    isVisitable
        +  });
        +  function build(value, path) {
        +    if (utils$1.isUndefined(value)) return;
        +    if (stack.indexOf(value) !== -1) {
        +      throw Error('Circular reference detected in ' + path.join('.'));
        +    }
        +    stack.push(value);
        +    utils$1.forEach(value, function each(el, key) {
        +      const result = !(utils$1.isUndefined(el) || el === null) && visitor.call(formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers);
        +      if (result === true) {
        +        build(el, path ? path.concat(key) : [key]);
        +      }
        +    });
        +    stack.pop();
        +  }
        +  if (!utils$1.isObject(obj)) {
        +    throw new TypeError('data must be an object');
        +  }
        +  build(obj);
        +  return formData;
        +}
        +
        +/**
        + * It encodes a string by replacing all characters that are not in the unreserved set with
        + * their percent-encoded equivalents
        + *
        + * @param {string} str - The string to encode.
        + *
        + * @returns {string} The encoded string.
        + */
        +function encode$1(str) {
        +  const charMap = {
        +    '!': '%21',
        +    "'": '%27',
        +    '(': '%28',
        +    ')': '%29',
        +    '~': '%7E',
        +    '%20': '+',
        +    '%00': '\x00'
        +  };
        +  return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
        +    return charMap[match];
        +  });
        +}
        +
        +/**
        + * It takes a params object and converts it to a FormData object
        + *
        + * @param {Object} params - The parameters to be converted to a FormData object.
        + * @param {Object} options - The options object passed to the Axios constructor.
        + *
        + * @returns {void}
        + */
        +function AxiosURLSearchParams(params, options) {
        +  this._pairs = [];
        +  params && toFormData(params, this, options);
        +}
        +const prototype = AxiosURLSearchParams.prototype;
        +prototype.append = function append(name, value) {
        +  this._pairs.push([name, value]);
        +};
        +prototype.toString = function toString(encoder) {
        +  const _encode = encoder ? function (value) {
        +    return encoder.call(this, value, encode$1);
        +  } : encode$1;
        +  return this._pairs.map(function each(pair) {
        +    return _encode(pair[0]) + '=' + _encode(pair[1]);
        +  }, '').join('&');
        +};
        +
        +/**
        + * It replaces URL-encoded forms of `:`, `$`, `,`, and spaces with
        + * their plain counterparts (`:`, `$`, `,`, `+`).
        + *
        + * @param {string} val The value to be encoded.
        + *
        + * @returns {string} The encoded value.
        + */
        +function encode(val) {
        +  return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+');
        +}
        +
        +/**
        + * Build a URL by appending params to the end
        + *
        + * @param {string} url The base of the url (e.g., http://www.google.com)
        + * @param {object} [params] The params to be appended
        + * @param {?(object|Function)} options
        + *
        + * @returns {string} The formatted url
        + */
        +function buildURL(url, params, options) {
        +  if (!params) {
        +    return url;
        +  }
        +  const _encode = options && options.encode || encode;
        +  const _options = utils$1.isFunction(options) ? {
        +    serialize: options
        +  } : options;
        +  const serializeFn = _options && _options.serialize;
        +  let serializedParams;
        +  if (serializeFn) {
        +    serializedParams = serializeFn(params, _options);
        +  } else {
        +    serializedParams = utils$1.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, _options).toString(_encode);
        +  }
        +  if (serializedParams) {
        +    const hashmarkIndex = url.indexOf('#');
        +    if (hashmarkIndex !== -1) {
        +      url = url.slice(0, hashmarkIndex);
        +    }
        +    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
        +  }
        +  return url;
        +}
        +
        +class InterceptorManager {
        +  constructor() {
        +    this.handlers = [];
        +  }
        +
        +  /**
        +   * Add a new interceptor to the stack
        +   *
        +   * @param {Function} fulfilled The function to handle `then` for a `Promise`
        +   * @param {Function} rejected The function to handle `reject` for a `Promise`
        +   * @param {Object} options The options for the interceptor, synchronous and runWhen
        +   *
        +   * @return {Number} An ID used to remove interceptor later
        +   */
        +  use(fulfilled, rejected, options) {
        +    this.handlers.push({
        +      fulfilled,
        +      rejected,
        +      synchronous: options ? options.synchronous : false,
        +      runWhen: options ? options.runWhen : null
        +    });
        +    return this.handlers.length - 1;
        +  }
        +
        +  /**
        +   * Remove an interceptor from the stack
        +   *
        +   * @param {Number} id The ID that was returned by `use`
        +   *
        +   * @returns {void}
        +   */
        +  eject(id) {
        +    if (this.handlers[id]) {
        +      this.handlers[id] = null;
        +    }
        +  }
        +
        +  /**
        +   * Clear all interceptors from the stack
        +   *
        +   * @returns {void}
        +   */
        +  clear() {
        +    if (this.handlers) {
        +      this.handlers = [];
        +    }
        +  }
        +
        +  /**
        +   * Iterate over all the registered interceptors
        +   *
        +   * This method is particularly useful for skipping over any
        +   * interceptors that may have become `null` calling `eject`.
        +   *
        +   * @param {Function} fn The function to call for each interceptor
        +   *
        +   * @returns {void}
        +   */
        +  forEach(fn) {
        +    utils$1.forEach(this.handlers, function forEachHandler(h) {
        +      if (h !== null) {
        +        fn(h);
        +      }
        +    });
        +  }
        +}
        +
        +var transitionalDefaults = {
        +  silentJSONParsing: true,
        +  forcedJSONParsing: true,
        +  clarifyTimeoutError: false,
        +  legacyInterceptorReqResOrdering: true
        +};
        +
        +var URLSearchParams = url.URLSearchParams;
        +
        +const ALPHA = 'abcdefghijklmnopqrstuvwxyz';
        +const DIGIT = '0123456789';
        +const ALPHABET = {
        +  DIGIT,
        +  ALPHA,
        +  ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
        +};
        +const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
        +  let str = '';
        +  const {
        +    length
        +  } = alphabet;
        +  const randomValues = new Uint32Array(size);
        +  crypto.randomFillSync(randomValues);
        +  for (let i = 0; i < size; i++) {
        +    str += alphabet[randomValues[i] % length];
        +  }
        +  return str;
        +};
        +var platform$1 = {
        +  isNode: true,
        +  classes: {
        +    URLSearchParams,
        +    FormData: FormData$1,
        +    Blob: typeof Blob !== 'undefined' && Blob || null
        +  },
        +  ALPHABET,
        +  generateString,
        +  protocols: ['http', 'https', 'file', 'data']
        +};
        +
        +const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';
        +const _navigator = typeof navigator === 'object' && navigator || undefined;
        +
        +/**
        + * Determine if we're running in a standard browser environment
        + *
        + * This allows axios to run in a web worker, and react-native.
        + * Both environments support XMLHttpRequest, but not fully standard globals.
        + *
        + * web workers:
        + *  typeof window -> undefined
        + *  typeof document -> undefined
        + *
        + * react-native:
        + *  navigator.product -> 'ReactNative'
        + * nativescript
        + *  navigator.product -> 'NativeScript' or 'NS'
        + *
        + * @returns {boolean}
        + */
        +const hasStandardBrowserEnv = hasBrowserEnv && (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);
        +
        +/**
        + * Determine if we're running in a standard browser webWorker environment
        + *
        + * Although the `isStandardBrowserEnv` method indicates that
        + * `allows axios to run in a web worker`, the WebWorker will still be
        + * filtered out due to its judgment standard
        + * `typeof window !== 'undefined' && typeof document !== 'undefined'`.
        + * This leads to a problem when axios post `FormData` in webWorker
        + */
        +const hasStandardBrowserWebWorkerEnv = (() => {
        +  return typeof WorkerGlobalScope !== 'undefined' &&
        +  // eslint-disable-next-line no-undef
        +  self instanceof WorkerGlobalScope && typeof self.importScripts === 'function';
        +})();
        +const origin = hasBrowserEnv && window.location.href || 'http://localhost';
        +
        +var utils = /*#__PURE__*/Object.freeze({
        +  __proto__: null,
        +  hasBrowserEnv: hasBrowserEnv,
        +  hasStandardBrowserEnv: hasStandardBrowserEnv,
        +  hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv,
        +  navigator: _navigator,
        +  origin: origin
        +});
        +
        +var platform = {
        +  ...utils,
        +  ...platform$1
        +};
        +
        +function toURLEncodedForm(data, options) {
        +  return toFormData(data, new platform.classes.URLSearchParams(), {
        +    visitor: function (value, key, path, helpers) {
        +      if (platform.isNode && utils$1.isBuffer(value)) {
        +        this.append(key, value.toString('base64'));
        +        return false;
        +      }
        +      return helpers.defaultVisitor.apply(this, arguments);
        +    },
        +    ...options
        +  });
        +}
        +
        +/**
        + * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']
        + *
        + * @param {string} name - The name of the property to get.
        + *
        + * @returns An array of strings.
        + */
        +function parsePropPath(name) {
        +  // foo[x][y][z]
        +  // foo.x.y.z
        +  // foo-x-y-z
        +  // foo x y z
        +  return utils$1.matchAll(/\w+|\[(\w*)]/g, name).map(match => {
        +    return match[0] === '[]' ? '' : match[1] || match[0];
        +  });
        +}
        +
        +/**
        + * Convert an array to an object.
        + *
        + * @param {Array} arr - The array to convert to an object.
        + *
        + * @returns An object with the same keys and values as the array.
        + */
        +function arrayToObject(arr) {
        +  const obj = {};
        +  const keys = Object.keys(arr);
        +  let i;
        +  const len = keys.length;
        +  let key;
        +  for (i = 0; i < len; i++) {
        +    key = keys[i];
        +    obj[key] = arr[key];
        +  }
        +  return obj;
        +}
        +
        +/**
        + * It takes a FormData object and returns a JavaScript object
        + *
        + * @param {string} formData The FormData object to convert to JSON.
        + *
        + * @returns {Object | null} The converted object.
        + */
        +function formDataToJSON(formData) {
        +  function buildPath(path, value, target, index) {
        +    let name = path[index++];
        +    if (name === '__proto__') return true;
        +    const isNumericKey = Number.isFinite(+name);
        +    const isLast = index >= path.length;
        +    name = !name && utils$1.isArray(target) ? target.length : name;
        +    if (isLast) {
        +      if (utils$1.hasOwnProp(target, name)) {
        +        target[name] = [target[name], value];
        +      } else {
        +        target[name] = value;
        +      }
        +      return !isNumericKey;
        +    }
        +    if (!target[name] || !utils$1.isObject(target[name])) {
        +      target[name] = [];
        +    }
        +    const result = buildPath(path, value, target[name], index);
        +    if (result && utils$1.isArray(target[name])) {
        +      target[name] = arrayToObject(target[name]);
        +    }
        +    return !isNumericKey;
        +  }
        +  if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {
        +    const obj = {};
        +    utils$1.forEachEntry(formData, (name, value) => {
        +      buildPath(parsePropPath(name), value, obj, 0);
        +    });
        +    return obj;
        +  }
        +  return null;
        +}
        +
        +/**
        + * It takes a string, tries to parse it, and if it fails, it returns the stringified version
        + * of the input
        + *
        + * @param {any} rawValue - The value to be stringified.
        + * @param {Function} parser - A function that parses a string into a JavaScript object.
        + * @param {Function} encoder - A function that takes a value and returns a string.
        + *
        + * @returns {string} A stringified version of the rawValue.
        + */
        +function stringifySafely(rawValue, parser, encoder) {
        +  if (utils$1.isString(rawValue)) {
        +    try {
        +      (parser || JSON.parse)(rawValue);
        +      return utils$1.trim(rawValue);
        +    } catch (e) {
        +      if (e.name !== 'SyntaxError') {
        +        throw e;
        +      }
        +    }
        +  }
        +  return (encoder || JSON.stringify)(rawValue);
        +}
        +const defaults = {
        +  transitional: transitionalDefaults,
        +  adapter: ['xhr', 'http', 'fetch'],
        +  transformRequest: [function transformRequest(data, headers) {
        +    const contentType = headers.getContentType() || '';
        +    const hasJSONContentType = contentType.indexOf('application/json') > -1;
        +    const isObjectPayload = utils$1.isObject(data);
        +    if (isObjectPayload && utils$1.isHTMLForm(data)) {
        +      data = new FormData(data);
        +    }
        +    const isFormData = utils$1.isFormData(data);
        +    if (isFormData) {
        +      return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;
        +    }
        +    if (utils$1.isArrayBuffer(data) || utils$1.isBuffer(data) || utils$1.isStream(data) || utils$1.isFile(data) || utils$1.isBlob(data) || utils$1.isReadableStream(data)) {
        +      return data;
        +    }
        +    if (utils$1.isArrayBufferView(data)) {
        +      return data.buffer;
        +    }
        +    if (utils$1.isURLSearchParams(data)) {
        +      headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);
        +      return data.toString();
        +    }
        +    let isFileList;
        +    if (isObjectPayload) {
        +      if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {
        +        return toURLEncodedForm(data, this.formSerializer).toString();
        +      }
        +      if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {
        +        const _FormData = this.env && this.env.FormData;
        +        return toFormData(isFileList ? {
        +          'files[]': data
        +        } : data, _FormData && new _FormData(), this.formSerializer);
        +      }
        +    }
        +    if (isObjectPayload || hasJSONContentType) {
        +      headers.setContentType('application/json', false);
        +      return stringifySafely(data);
        +    }
        +    return data;
        +  }],
        +  transformResponse: [function transformResponse(data) {
        +    const transitional = this.transitional || defaults.transitional;
        +    const forcedJSONParsing = transitional && transitional.forcedJSONParsing;
        +    const JSONRequested = this.responseType === 'json';
        +    if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) {
        +      return data;
        +    }
        +    if (data && utils$1.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
        +      const silentJSONParsing = transitional && transitional.silentJSONParsing;
        +      const strictJSONParsing = !silentJSONParsing && JSONRequested;
        +      try {
        +        return JSON.parse(data, this.parseReviver);
        +      } catch (e) {
        +        if (strictJSONParsing) {
        +          if (e.name === 'SyntaxError') {
        +            throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
        +          }
        +          throw e;
        +        }
        +      }
        +    }
        +    return data;
        +  }],
        +  /**
        +   * A timeout in milliseconds to abort a request. If set to 0 (default) a
        +   * timeout is not created.
        +   */
        +  timeout: 0,
        +  xsrfCookieName: 'XSRF-TOKEN',
        +  xsrfHeaderName: 'X-XSRF-TOKEN',
        +  maxContentLength: -1,
        +  maxBodyLength: -1,
        +  env: {
        +    FormData: platform.classes.FormData,
        +    Blob: platform.classes.Blob
        +  },
        +  validateStatus: function validateStatus(status) {
        +    return status >= 200 && status < 300;
        +  },
        +  headers: {
        +    common: {
        +      Accept: 'application/json, text/plain, */*',
        +      'Content-Type': undefined
        +    }
        +  }
        +};
        +utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], method => {
        +  defaults.headers[method] = {};
        +});
        +
        +// RawAxiosHeaders whose duplicates are ignored by node
        +// c.f. https://nodejs.org/api/http.html#http_message_headers
        +const ignoreDuplicateOf = utils$1.toObjectSet(['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent']);
        +
        +/**
        + * Parse headers into an object
        + *
        + * ```
        + * Date: Wed, 27 Aug 2014 08:58:49 GMT
        + * Content-Type: application/json
        + * Connection: keep-alive
        + * Transfer-Encoding: chunked
        + * ```
        + *
        + * @param {String} rawHeaders Headers needing to be parsed
        + *
        + * @returns {Object} Headers parsed into an object
        + */
        +var parseHeaders = rawHeaders => {
        +  const parsed = {};
        +  let key;
        +  let val;
        +  let i;
        +  rawHeaders && rawHeaders.split('\n').forEach(function parser(line) {
        +    i = line.indexOf(':');
        +    key = line.substring(0, i).trim().toLowerCase();
        +    val = line.substring(i + 1).trim();
        +    if (!key || parsed[key] && ignoreDuplicateOf[key]) {
        +      return;
        +    }
        +    if (key === 'set-cookie') {
        +      if (parsed[key]) {
        +        parsed[key].push(val);
        +      } else {
        +        parsed[key] = [val];
        +      }
        +    } else {
        +      parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
        +    }
        +  });
        +  return parsed;
        +};
        +
        +const $internals = Symbol('internals');
        +function normalizeHeader(header) {
        +  return header && String(header).trim().toLowerCase();
        +}
        +function normalizeValue(value) {
        +  if (value === false || value == null) {
        +    return value;
        +  }
        +  return utils$1.isArray(value) ? value.map(normalizeValue) : String(value).replace(/[\r\n]+$/, '');
        +}
        +function parseTokens(str) {
        +  const tokens = Object.create(null);
        +  const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
        +  let match;
        +  while (match = tokensRE.exec(str)) {
        +    tokens[match[1]] = match[2];
        +  }
        +  return tokens;
        +}
        +const isValidHeaderName = str => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
        +function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {
        +  if (utils$1.isFunction(filter)) {
        +    return filter.call(this, value, header);
        +  }
        +  if (isHeaderNameFilter) {
        +    value = header;
        +  }
        +  if (!utils$1.isString(value)) return;
        +  if (utils$1.isString(filter)) {
        +    return value.indexOf(filter) !== -1;
        +  }
        +  if (utils$1.isRegExp(filter)) {
        +    return filter.test(value);
        +  }
        +}
        +function formatHeader(header) {
        +  return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
        +    return char.toUpperCase() + str;
        +  });
        +}
        +function buildAccessors(obj, header) {
        +  const accessorName = utils$1.toCamelCase(' ' + header);
        +  ['get', 'set', 'has'].forEach(methodName => {
        +    Object.defineProperty(obj, methodName + accessorName, {
        +      value: function (arg1, arg2, arg3) {
        +        return this[methodName].call(this, header, arg1, arg2, arg3);
        +      },
        +      configurable: true
        +    });
        +  });
        +}
        +class AxiosHeaders {
        +  constructor(headers) {
        +    headers && this.set(headers);
        +  }
        +  set(header, valueOrRewrite, rewrite) {
        +    const self = this;
        +    function setHeader(_value, _header, _rewrite) {
        +      const lHeader = normalizeHeader(_header);
        +      if (!lHeader) {
        +        throw new Error('header name must be a non-empty string');
        +      }
        +      const key = utils$1.findKey(self, lHeader);
        +      if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) {
        +        self[key || _header] = normalizeValue(_value);
        +      }
        +    }
        +    const setHeaders = (headers, _rewrite) => utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
        +    if (utils$1.isPlainObject(header) || header instanceof this.constructor) {
        +      setHeaders(header, valueOrRewrite);
        +    } else if (utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
        +      setHeaders(parseHeaders(header), valueOrRewrite);
        +    } else if (utils$1.isObject(header) && utils$1.isIterable(header)) {
        +      let obj = {},
        +        dest,
        +        key;
        +      for (const entry of header) {
        +        if (!utils$1.isArray(entry)) {
        +          throw TypeError('Object iterator must return a key-value pair');
        +        }
        +        obj[key = entry[0]] = (dest = obj[key]) ? utils$1.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]] : entry[1];
        +      }
        +      setHeaders(obj, valueOrRewrite);
        +    } else {
        +      header != null && setHeader(valueOrRewrite, header, rewrite);
        +    }
        +    return this;
        +  }
        +  get(header, parser) {
        +    header = normalizeHeader(header);
        +    if (header) {
        +      const key = utils$1.findKey(this, header);
        +      if (key) {
        +        const value = this[key];
        +        if (!parser) {
        +          return value;
        +        }
        +        if (parser === true) {
        +          return parseTokens(value);
        +        }
        +        if (utils$1.isFunction(parser)) {
        +          return parser.call(this, value, key);
        +        }
        +        if (utils$1.isRegExp(parser)) {
        +          return parser.exec(value);
        +        }
        +        throw new TypeError('parser must be boolean|regexp|function');
        +      }
        +    }
        +  }
        +  has(header, matcher) {
        +    header = normalizeHeader(header);
        +    if (header) {
        +      const key = utils$1.findKey(this, header);
        +      return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
        +    }
        +    return false;
        +  }
        +  delete(header, matcher) {
        +    const self = this;
        +    let deleted = false;
        +    function deleteHeader(_header) {
        +      _header = normalizeHeader(_header);
        +      if (_header) {
        +        const key = utils$1.findKey(self, _header);
        +        if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {
        +          delete self[key];
        +          deleted = true;
        +        }
        +      }
        +    }
        +    if (utils$1.isArray(header)) {
        +      header.forEach(deleteHeader);
        +    } else {
        +      deleteHeader(header);
        +    }
        +    return deleted;
        +  }
        +  clear(matcher) {
        +    const keys = Object.keys(this);
        +    let i = keys.length;
        +    let deleted = false;
        +    while (i--) {
        +      const key = keys[i];
        +      if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
        +        delete this[key];
        +        deleted = true;
        +      }
        +    }
        +    return deleted;
        +  }
        +  normalize(format) {
        +    const self = this;
        +    const headers = {};
        +    utils$1.forEach(this, (value, header) => {
        +      const key = utils$1.findKey(headers, header);
        +      if (key) {
        +        self[key] = normalizeValue(value);
        +        delete self[header];
        +        return;
        +      }
        +      const normalized = format ? formatHeader(header) : String(header).trim();
        +      if (normalized !== header) {
        +        delete self[header];
        +      }
        +      self[normalized] = normalizeValue(value);
        +      headers[normalized] = true;
        +    });
        +    return this;
        +  }
        +  concat(...targets) {
        +    return this.constructor.concat(this, ...targets);
        +  }
        +  toJSON(asStrings) {
        +    const obj = Object.create(null);
        +    utils$1.forEach(this, (value, header) => {
        +      value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value);
        +    });
        +    return obj;
        +  }
        +  [Symbol.iterator]() {
        +    return Object.entries(this.toJSON())[Symbol.iterator]();
        +  }
        +  toString() {
        +    return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\n');
        +  }
        +  getSetCookie() {
        +    return this.get('set-cookie') || [];
        +  }
        +  get [Symbol.toStringTag]() {
        +    return 'AxiosHeaders';
        +  }
        +  static from(thing) {
        +    return thing instanceof this ? thing : new this(thing);
        +  }
        +  static concat(first, ...targets) {
        +    const computed = new this(first);
        +    targets.forEach(target => computed.set(target));
        +    return computed;
        +  }
        +  static accessor(header) {
        +    const internals = this[$internals] = this[$internals] = {
        +      accessors: {}
        +    };
        +    const accessors = internals.accessors;
        +    const prototype = this.prototype;
        +    function defineAccessor(_header) {
        +      const lHeader = normalizeHeader(_header);
        +      if (!accessors[lHeader]) {
        +        buildAccessors(prototype, _header);
        +        accessors[lHeader] = true;
        +      }
        +    }
        +    utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
        +    return this;
        +  }
        +}
        +AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);
        +
        +// reserved names hotfix
        +utils$1.reduceDescriptors(AxiosHeaders.prototype, ({
        +  value
        +}, key) => {
        +  let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`
        +  return {
        +    get: () => value,
        +    set(headerValue) {
        +      this[mapped] = headerValue;
        +    }
        +  };
        +});
        +utils$1.freezeMethods(AxiosHeaders);
        +
        +/**
        + * Transform the data for a request or a response
        + *
        + * @param {Array|Function} fns A single function or Array of functions
        + * @param {?Object} response The response object
        + *
        + * @returns {*} The resulting transformed data
        + */
        +function transformData(fns, response) {
        +  const config = this || defaults;
        +  const context = response || config;
        +  const headers = AxiosHeaders.from(context.headers);
        +  let data = context.data;
        +  utils$1.forEach(fns, function transform(fn) {
        +    data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);
        +  });
        +  headers.normalize();
        +  return data;
        +}
        +
        +function isCancel(value) {
        +  return !!(value && value.__CANCEL__);
        +}
        +
        +class CanceledError extends AxiosError {
        +  /**
        +   * A `CanceledError` is an object that is thrown when an operation is canceled.
        +   *
        +   * @param {string=} message The message.
        +   * @param {Object=} config The config.
        +   * @param {Object=} request The request.
        +   *
        +   * @returns {CanceledError} The created error.
        +   */
        +  constructor(message, config, request) {
        +    super(message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);
        +    this.name = 'CanceledError';
        +    this.__CANCEL__ = true;
        +  }
        +}
        +
        +/**
        + * Resolve or reject a Promise based on response status.
        + *
        + * @param {Function} resolve A function that resolves the promise.
        + * @param {Function} reject A function that rejects the promise.
        + * @param {object} response The response.
        + *
        + * @returns {object} The response.
        + */
        +function settle(resolve, reject, response) {
        +  const validateStatus = response.config.validateStatus;
        +  if (!response.status || !validateStatus || validateStatus(response.status)) {
        +    resolve(response);
        +  } else {
        +    reject(new AxiosError('Request failed with status code ' + response.status, [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response));
        +  }
        +}
        +
        +/**
        + * Determines whether the specified URL is absolute
        + *
        + * @param {string} url The URL to test
        + *
        + * @returns {boolean} True if the specified URL is absolute, otherwise false
        + */
        +function isAbsoluteURL(url) {
        +  // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL).
        +  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
        +  // by any combination of letters, digits, plus, period, or hyphen.
        +  if (typeof url !== 'string') {
        +    return false;
        +  }
        +  return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
        +}
        +
        +/**
        + * Creates a new URL by combining the specified URLs
        + *
        + * @param {string} baseURL The base URL
        + * @param {string} relativeURL The relative URL
        + *
        + * @returns {string} The combined URL
        + */
        +function combineURLs(baseURL, relativeURL) {
        +  return relativeURL ? baseURL.replace(/\/?\/$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL;
        +}
        +
        +/**
        + * Creates a new URL by combining the baseURL with the requestedURL,
        + * only when the requestedURL is not already an absolute URL.
        + * If the requestURL is absolute, this function returns the requestedURL untouched.
        + *
        + * @param {string} baseURL The base URL
        + * @param {string} requestedURL Absolute or relative URL to combine
        + *
        + * @returns {string} The combined full path
        + */
        +function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
        +  let isRelativeUrl = !isAbsoluteURL(requestedURL);
        +  if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
        +    return combineURLs(baseURL, requestedURL);
        +  }
        +  return requestedURL;
        +}
        +
        +var DEFAULT_PORTS = {
        +  ftp: 21,
        +  gopher: 70,
        +  http: 80,
        +  https: 443,
        +  ws: 80,
        +  wss: 443
        +};
        +function parseUrl(urlString) {
        +  try {
        +    return new URL(urlString);
        +  } catch {
        +    return null;
        +  }
        +}
        +
        +/**
        + * @param {string|object|URL} url - The URL as a string or URL instance, or a
        + *   compatible object (such as the result from legacy url.parse).
        + * @return {string} The URL of the proxy that should handle the request to the
        + *  given URL. If no proxy is set, this will be an empty string.
        + */
        +function getProxyForUrl(url) {
        +  var parsedUrl = (typeof url === 'string' ? parseUrl(url) : url) || {};
        +  var proto = parsedUrl.protocol;
        +  var hostname = parsedUrl.host;
        +  var port = parsedUrl.port;
        +  if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {
        +    return ''; // Don't proxy URLs without a valid scheme or host.
        +  }
        +  proto = proto.split(':', 1)[0];
        +  // Stripping ports in this way instead of using parsedUrl.hostname to make
        +  // sure that the brackets around IPv6 addresses are kept.
        +  hostname = hostname.replace(/:\d*$/, '');
        +  port = parseInt(port) || DEFAULT_PORTS[proto] || 0;
        +  if (!shouldProxy(hostname, port)) {
        +    return ''; // Don't proxy URLs that match NO_PROXY.
        +  }
        +  var proxy = getEnv(proto + '_proxy') || getEnv('all_proxy');
        +  if (proxy && proxy.indexOf('://') === -1) {
        +    // Missing scheme in proxy, default to the requested URL's scheme.
        +    proxy = proto + '://' + proxy;
        +  }
        +  return proxy;
        +}
        +
        +/**
        + * Determines whether a given URL should be proxied.
        + *
        + * @param {string} hostname - The host name of the URL.
        + * @param {number} port - The effective port of the URL.
        + * @returns {boolean} Whether the given URL should be proxied.
        + * @private
        + */
        +function shouldProxy(hostname, port) {
        +  var NO_PROXY = getEnv('no_proxy').toLowerCase();
        +  if (!NO_PROXY) {
        +    return true; // Always proxy if NO_PROXY is not set.
        +  }
        +  if (NO_PROXY === '*') {
        +    return false; // Never proxy if wildcard is set.
        +  }
        +  return NO_PROXY.split(/[,\s]/).every(function (proxy) {
        +    if (!proxy) {
        +      return true; // Skip zero-length hosts.
        +    }
        +    var parsedProxy = proxy.match(/^(.+):(\d+)$/);
        +    var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;
        +    var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;
        +    if (parsedProxyPort && parsedProxyPort !== port) {
        +      return true; // Skip if ports don't match.
        +    }
        +    if (!/^[.*]/.test(parsedProxyHostname)) {
        +      // No wildcards, so stop proxying if there is an exact match.
        +      return hostname !== parsedProxyHostname;
        +    }
        +    if (parsedProxyHostname.charAt(0) === '*') {
        +      // Remove leading wildcard.
        +      parsedProxyHostname = parsedProxyHostname.slice(1);
        +    }
        +    // Stop proxying if the hostname ends with the no_proxy host.
        +    return !hostname.endsWith(parsedProxyHostname);
        +  });
        +}
        +
        +/**
        + * Get the value for an environment variable.
        + *
        + * @param {string} key - The name of the environment variable.
        + * @return {string} The value of the environment variable.
        + * @private
        + */
        +function getEnv(key) {
        +  return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';
        +}
        +
        +const VERSION = "1.14.0";
        +
        +function parseProtocol(url) {
        +  const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
        +  return match && match[1] || '';
        +}
        +
        +const DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;
        +
        +/**
        + * Parse data uri to a Buffer or Blob
        + *
        + * @param {String} uri
        + * @param {?Boolean} asBlob
        + * @param {?Object} options
        + * @param {?Function} options.Blob
        + *
        + * @returns {Buffer|Blob}
        + */
        +function fromDataURI(uri, asBlob, options) {
        +  const _Blob = options && options.Blob || platform.classes.Blob;
        +  const protocol = parseProtocol(uri);
        +  if (asBlob === undefined && _Blob) {
        +    asBlob = true;
        +  }
        +  if (protocol === 'data') {
        +    uri = protocol.length ? uri.slice(protocol.length + 1) : uri;
        +    const match = DATA_URL_PATTERN.exec(uri);
        +    if (!match) {
        +      throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);
        +    }
        +    const mime = match[1];
        +    const isBase64 = match[2];
        +    const body = match[3];
        +    const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');
        +    if (asBlob) {
        +      if (!_Blob) {
        +        throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);
        +      }
        +      return new _Blob([buffer], {
        +        type: mime
        +      });
        +    }
        +    return buffer;
        +  }
        +  throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);
        +}
        +
        +const kInternals = Symbol('internals');
        +class AxiosTransformStream extends stream.Transform {
        +  constructor(options) {
        +    options = utils$1.toFlatObject(options, {
        +      maxRate: 0,
        +      chunkSize: 64 * 1024,
        +      minChunkSize: 100,
        +      timeWindow: 500,
        +      ticksRate: 2,
        +      samplesCount: 15
        +    }, null, (prop, source) => {
        +      return !utils$1.isUndefined(source[prop]);
        +    });
        +    super({
        +      readableHighWaterMark: options.chunkSize
        +    });
        +    const internals = this[kInternals] = {
        +      timeWindow: options.timeWindow,
        +      chunkSize: options.chunkSize,
        +      maxRate: options.maxRate,
        +      minChunkSize: options.minChunkSize,
        +      bytesSeen: 0,
        +      isCaptured: false,
        +      notifiedBytesLoaded: 0,
        +      ts: Date.now(),
        +      bytes: 0,
        +      onReadCallback: null
        +    };
        +    this.on('newListener', event => {
        +      if (event === 'progress') {
        +        if (!internals.isCaptured) {
        +          internals.isCaptured = true;
        +        }
        +      }
        +    });
        +  }
        +  _read(size) {
        +    const internals = this[kInternals];
        +    if (internals.onReadCallback) {
        +      internals.onReadCallback();
        +    }
        +    return super._read(size);
        +  }
        +  _transform(chunk, encoding, callback) {
        +    const internals = this[kInternals];
        +    const maxRate = internals.maxRate;
        +    const readableHighWaterMark = this.readableHighWaterMark;
        +    const timeWindow = internals.timeWindow;
        +    const divider = 1000 / timeWindow;
        +    const bytesThreshold = maxRate / divider;
        +    const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;
        +    const pushChunk = (_chunk, _callback) => {
        +      const bytes = Buffer.byteLength(_chunk);
        +      internals.bytesSeen += bytes;
        +      internals.bytes += bytes;
        +      internals.isCaptured && this.emit('progress', internals.bytesSeen);
        +      if (this.push(_chunk)) {
        +        process.nextTick(_callback);
        +      } else {
        +        internals.onReadCallback = () => {
        +          internals.onReadCallback = null;
        +          process.nextTick(_callback);
        +        };
        +      }
        +    };
        +    const transformChunk = (_chunk, _callback) => {
        +      const chunkSize = Buffer.byteLength(_chunk);
        +      let chunkRemainder = null;
        +      let maxChunkSize = readableHighWaterMark;
        +      let bytesLeft;
        +      let passed = 0;
        +      if (maxRate) {
        +        const now = Date.now();
        +        if (!internals.ts || (passed = now - internals.ts) >= timeWindow) {
        +          internals.ts = now;
        +          bytesLeft = bytesThreshold - internals.bytes;
        +          internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;
        +          passed = 0;
        +        }
        +        bytesLeft = bytesThreshold - internals.bytes;
        +      }
        +      if (maxRate) {
        +        if (bytesLeft <= 0) {
        +          // next time window
        +          return setTimeout(() => {
        +            _callback(null, _chunk);
        +          }, timeWindow - passed);
        +        }
        +        if (bytesLeft < maxChunkSize) {
        +          maxChunkSize = bytesLeft;
        +        }
        +      }
        +      if (maxChunkSize && chunkSize > maxChunkSize && chunkSize - maxChunkSize > minChunkSize) {
        +        chunkRemainder = _chunk.subarray(maxChunkSize);
        +        _chunk = _chunk.subarray(0, maxChunkSize);
        +      }
        +      pushChunk(_chunk, chunkRemainder ? () => {
        +        process.nextTick(_callback, null, chunkRemainder);
        +      } : _callback);
        +    };
        +    transformChunk(chunk, function transformNextChunk(err, _chunk) {
        +      if (err) {
        +        return callback(err);
        +      }
        +      if (_chunk) {
        +        transformChunk(_chunk, transformNextChunk);
        +      } else {
        +        callback(null);
        +      }
        +    });
        +  }
        +}
        +
        +const {
        +  asyncIterator
        +} = Symbol;
        +const readBlob = async function* (blob) {
        +  if (blob.stream) {
        +    yield* blob.stream();
        +  } else if (blob.arrayBuffer) {
        +    yield await blob.arrayBuffer();
        +  } else if (blob[asyncIterator]) {
        +    yield* blob[asyncIterator]();
        +  } else {
        +    yield blob;
        +  }
        +};
        +
        +const BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_';
        +const textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder();
        +const CRLF = '\r\n';
        +const CRLF_BYTES = textEncoder.encode(CRLF);
        +const CRLF_BYTES_COUNT = 2;
        +class FormDataPart {
        +  constructor(name, value) {
        +    const {
        +      escapeName
        +    } = this.constructor;
        +    const isStringValue = utils$1.isString(value);
        +    let headers = `Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue && value.name ? `; filename="${escapeName(value.name)}"` : ''}${CRLF}`;
        +    if (isStringValue) {
        +      value = textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g, CRLF));
        +    } else {
        +      headers += `Content-Type: ${value.type || 'application/octet-stream'}${CRLF}`;
        +    }
        +    this.headers = textEncoder.encode(headers + CRLF);
        +    this.contentLength = isStringValue ? value.byteLength : value.size;
        +    this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;
        +    this.name = name;
        +    this.value = value;
        +  }
        +  async *encode() {
        +    yield this.headers;
        +    const {
        +      value
        +    } = this;
        +    if (utils$1.isTypedArray(value)) {
        +      yield value;
        +    } else {
        +      yield* readBlob(value);
        +    }
        +    yield CRLF_BYTES;
        +  }
        +  static escapeName(name) {
        +    return String(name).replace(/[\r\n"]/g, match => ({
        +      '\r': '%0D',
        +      '\n': '%0A',
        +      '"': '%22'
        +    })[match]);
        +  }
        +}
        +const formDataToStream = (form, headersHandler, options) => {
        +  const {
        +    tag = 'form-data-boundary',
        +    size = 25,
        +    boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET)
        +  } = options || {};
        +  if (!utils$1.isFormData(form)) {
        +    throw TypeError('FormData instance required');
        +  }
        +  if (boundary.length < 1 || boundary.length > 70) {
        +    throw Error('boundary must be 10-70 characters long');
        +  }
        +  const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);
        +  const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF);
        +  let contentLength = footerBytes.byteLength;
        +  const parts = Array.from(form.entries()).map(([name, value]) => {
        +    const part = new FormDataPart(name, value);
        +    contentLength += part.size;
        +    return part;
        +  });
        +  contentLength += boundaryBytes.byteLength * parts.length;
        +  contentLength = utils$1.toFiniteNumber(contentLength);
        +  const computedHeaders = {
        +    'Content-Type': `multipart/form-data; boundary=${boundary}`
        +  };
        +  if (Number.isFinite(contentLength)) {
        +    computedHeaders['Content-Length'] = contentLength;
        +  }
        +  headersHandler && headersHandler(computedHeaders);
        +  return stream.Readable.from(async function* () {
        +    for (const part of parts) {
        +      yield boundaryBytes;
        +      yield* part.encode();
        +    }
        +    yield footerBytes;
        +  }());
        +};
        +
        +class ZlibHeaderTransformStream extends stream.Transform {
        +  __transform(chunk, encoding, callback) {
        +    this.push(chunk);
        +    callback();
        +  }
        +  _transform(chunk, encoding, callback) {
        +    if (chunk.length !== 0) {
        +      this._transform = this.__transform;
        +
        +      // Add Default Compression headers if no zlib headers are present
        +      if (chunk[0] !== 120) {
        +        // Hex: 78
        +        const header = Buffer.alloc(2);
        +        header[0] = 120; // Hex: 78
        +        header[1] = 156; // Hex: 9C
        +        this.push(header, encoding);
        +      }
        +    }
        +    this.__transform(chunk, encoding, callback);
        +  }
        +}
        +
        +const callbackify = (fn, reducer) => {
        +  return utils$1.isAsyncFn(fn) ? function (...args) {
        +    const cb = args.pop();
        +    fn.apply(this, args).then(value => {
        +      try {
        +        reducer ? cb(null, ...reducer(value)) : cb(null, value);
        +      } catch (err) {
        +        cb(err);
        +      }
        +    }, cb);
        +  } : fn;
        +};
        +
        +/**
        + * Calculate data maxRate
        + * @param {Number} [samplesCount= 10]
        + * @param {Number} [min= 1000]
        + * @returns {Function}
        + */
        +function speedometer(samplesCount, min) {
        +  samplesCount = samplesCount || 10;
        +  const bytes = new Array(samplesCount);
        +  const timestamps = new Array(samplesCount);
        +  let head = 0;
        +  let tail = 0;
        +  let firstSampleTS;
        +  min = min !== undefined ? min : 1000;
        +  return function push(chunkLength) {
        +    const now = Date.now();
        +    const startedAt = timestamps[tail];
        +    if (!firstSampleTS) {
        +      firstSampleTS = now;
        +    }
        +    bytes[head] = chunkLength;
        +    timestamps[head] = now;
        +    let i = tail;
        +    let bytesCount = 0;
        +    while (i !== head) {
        +      bytesCount += bytes[i++];
        +      i = i % samplesCount;
        +    }
        +    head = (head + 1) % samplesCount;
        +    if (head === tail) {
        +      tail = (tail + 1) % samplesCount;
        +    }
        +    if (now - firstSampleTS < min) {
        +      return;
        +    }
        +    const passed = startedAt && now - startedAt;
        +    return passed ? Math.round(bytesCount * 1000 / passed) : undefined;
        +  };
        +}
        +
        +/**
        + * Throttle decorator
        + * @param {Function} fn
        + * @param {Number} freq
        + * @return {Function}
        + */
        +function throttle(fn, freq) {
        +  let timestamp = 0;
        +  let threshold = 1000 / freq;
        +  let lastArgs;
        +  let timer;
        +  const invoke = (args, now = Date.now()) => {
        +    timestamp = now;
        +    lastArgs = null;
        +    if (timer) {
        +      clearTimeout(timer);
        +      timer = null;
        +    }
        +    fn(...args);
        +  };
        +  const throttled = (...args) => {
        +    const now = Date.now();
        +    const passed = now - timestamp;
        +    if (passed >= threshold) {
        +      invoke(args, now);
        +    } else {
        +      lastArgs = args;
        +      if (!timer) {
        +        timer = setTimeout(() => {
        +          timer = null;
        +          invoke(lastArgs);
        +        }, threshold - passed);
        +      }
        +    }
        +  };
        +  const flush = () => lastArgs && invoke(lastArgs);
        +  return [throttled, flush];
        +}
        +
        +const progressEventReducer = (listener, isDownloadStream, freq = 3) => {
        +  let bytesNotified = 0;
        +  const _speedometer = speedometer(50, 250);
        +  return throttle(e => {
        +    const loaded = e.loaded;
        +    const total = e.lengthComputable ? e.total : undefined;
        +    const progressBytes = loaded - bytesNotified;
        +    const rate = _speedometer(progressBytes);
        +    const inRange = loaded <= total;
        +    bytesNotified = loaded;
        +    const data = {
        +      loaded,
        +      total,
        +      progress: total ? loaded / total : undefined,
        +      bytes: progressBytes,
        +      rate: rate ? rate : undefined,
        +      estimated: rate && total && inRange ? (total - loaded) / rate : undefined,
        +      event: e,
        +      lengthComputable: total != null,
        +      [isDownloadStream ? 'download' : 'upload']: true
        +    };
        +    listener(data);
        +  }, freq);
        +};
        +const progressEventDecorator = (total, throttled) => {
        +  const lengthComputable = total != null;
        +  return [loaded => throttled[0]({
        +    lengthComputable,
        +    total,
        +    loaded
        +  }), throttled[1]];
        +};
        +const asyncDecorator = fn => (...args) => utils$1.asap(() => fn(...args));
        +
        +/**
        + * Estimate decoded byte length of a data:// URL *without* allocating large buffers.
        + * - For base64: compute exact decoded size using length and padding;
        + *               handle %XX at the character-count level (no string allocation).
        + * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.
        + *
        + * @param {string} url
        + * @returns {number}
        + */
        +function estimateDataURLDecodedBytes(url) {
        +  if (!url || typeof url !== 'string') return 0;
        +  if (!url.startsWith('data:')) return 0;
        +  const comma = url.indexOf(',');
        +  if (comma < 0) return 0;
        +  const meta = url.slice(5, comma);
        +  const body = url.slice(comma + 1);
        +  const isBase64 = /;base64/i.test(meta);
        +  if (isBase64) {
        +    let effectiveLen = body.length;
        +    const len = body.length; // cache length
        +
        +    for (let i = 0; i < len; i++) {
        +      if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {
        +        const a = body.charCodeAt(i + 1);
        +        const b = body.charCodeAt(i + 2);
        +        const isHex = (a >= 48 && a <= 57 || a >= 65 && a <= 70 || a >= 97 && a <= 102) && (b >= 48 && b <= 57 || b >= 65 && b <= 70 || b >= 97 && b <= 102);
        +        if (isHex) {
        +          effectiveLen -= 2;
        +          i += 2;
        +        }
        +      }
        +    }
        +    let pad = 0;
        +    let idx = len - 1;
        +    const tailIsPct3D = j => j >= 2 && body.charCodeAt(j - 2) === 37 &&
        +    // '%'
        +    body.charCodeAt(j - 1) === 51 && (
        +    // '3'
        +    body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'
        +
        +    if (idx >= 0) {
        +      if (body.charCodeAt(idx) === 61 /* '=' */) {
        +        pad++;
        +        idx--;
        +      } else if (tailIsPct3D(idx)) {
        +        pad++;
        +        idx -= 3;
        +      }
        +    }
        +    if (pad === 1 && idx >= 0) {
        +      if (body.charCodeAt(idx) === 61 /* '=' */) {
        +        pad++;
        +      } else if (tailIsPct3D(idx)) {
        +        pad++;
        +      }
        +    }
        +    const groups = Math.floor(effectiveLen / 4);
        +    const bytes = groups * 3 - (pad || 0);
        +    return bytes > 0 ? bytes : 0;
        +  }
        +  return Buffer.byteLength(body, 'utf8');
        +}
        +
        +const zlibOptions = {
        +  flush: zlib.constants.Z_SYNC_FLUSH,
        +  finishFlush: zlib.constants.Z_SYNC_FLUSH
        +};
        +const brotliOptions = {
        +  flush: zlib.constants.BROTLI_OPERATION_FLUSH,
        +  finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH
        +};
        +const isBrotliSupported = utils$1.isFunction(zlib.createBrotliDecompress);
        +const {
        +  http: httpFollow,
        +  https: httpsFollow
        +} = followRedirects;
        +const isHttps = /https:?/;
        +const supportedProtocols = platform.protocols.map(protocol => {
        +  return protocol + ':';
        +});
        +const flushOnFinish = (stream, [throttled, flush]) => {
        +  stream.on('end', flush).on('error', flush);
        +  return throttled;
        +};
        +class Http2Sessions {
        +  constructor() {
        +    this.sessions = Object.create(null);
        +  }
        +  getSession(authority, options) {
        +    options = Object.assign({
        +      sessionTimeout: 1000
        +    }, options);
        +    let authoritySessions = this.sessions[authority];
        +    if (authoritySessions) {
        +      let len = authoritySessions.length;
        +      for (let i = 0; i < len; i++) {
        +        const [sessionHandle, sessionOptions] = authoritySessions[i];
        +        if (!sessionHandle.destroyed && !sessionHandle.closed && util.isDeepStrictEqual(sessionOptions, options)) {
        +          return sessionHandle;
        +        }
        +      }
        +    }
        +    const session = http2.connect(authority, options);
        +    let removed;
        +    const removeSession = () => {
        +      if (removed) {
        +        return;
        +      }
        +      removed = true;
        +      let entries = authoritySessions,
        +        len = entries.length,
        +        i = len;
        +      while (i--) {
        +        if (entries[i][0] === session) {
        +          if (len === 1) {
        +            delete this.sessions[authority];
        +          } else {
        +            entries.splice(i, 1);
        +          }
        +          if (!session.closed) {
        +            session.close();
        +          }
        +          return;
        +        }
        +      }
        +    };
        +    const originalRequestFn = session.request;
        +    const {
        +      sessionTimeout
        +    } = options;
        +    if (sessionTimeout != null) {
        +      let timer;
        +      let streamsCount = 0;
        +      session.request = function () {
        +        const stream = originalRequestFn.apply(this, arguments);
        +        streamsCount++;
        +        if (timer) {
        +          clearTimeout(timer);
        +          timer = null;
        +        }
        +        stream.once('close', () => {
        +          if (! --streamsCount) {
        +            timer = setTimeout(() => {
        +              timer = null;
        +              removeSession();
        +            }, sessionTimeout);
        +          }
        +        });
        +        return stream;
        +      };
        +    }
        +    session.once('close', removeSession);
        +    let entry = [session, options];
        +    authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];
        +    return session;
        +  }
        +}
        +const http2Sessions = new Http2Sessions();
        +
        +/**
        + * If the proxy or config beforeRedirects functions are defined, call them with the options
        + * object.
        + *
        + * @param {Object} options - The options object that was passed to the request.
        + *
        + * @returns {Object}
        + */
        +function dispatchBeforeRedirect(options, responseDetails) {
        +  if (options.beforeRedirects.proxy) {
        +    options.beforeRedirects.proxy(options);
        +  }
        +  if (options.beforeRedirects.config) {
        +    options.beforeRedirects.config(options, responseDetails);
        +  }
        +}
        +
        +/**
        + * If the proxy or config afterRedirects functions are defined, call them with the options
        + *
        + * @param {http.ClientRequestArgs} options
        + * @param {AxiosProxyConfig} configProxy configuration from Axios options object
        + * @param {string} location
        + *
        + * @returns {http.ClientRequestArgs}
        + */
        +function setProxy(options, configProxy, location) {
        +  let proxy = configProxy;
        +  if (!proxy && proxy !== false) {
        +    const proxyUrl = getProxyForUrl(location);
        +    if (proxyUrl) {
        +      proxy = new URL(proxyUrl);
        +    }
        +  }
        +  if (proxy) {
        +    // Basic proxy authorization
        +    if (proxy.username) {
        +      proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');
        +    }
        +    if (proxy.auth) {
        +      // Support proxy auth object form
        +      const validProxyAuth = Boolean(proxy.auth.username || proxy.auth.password);
        +      if (validProxyAuth) {
        +        proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');
        +      } else if (typeof proxy.auth === 'object') {
        +        throw new AxiosError('Invalid proxy authorization', AxiosError.ERR_BAD_OPTION, {
        +          proxy
        +        });
        +      }
        +      const base64 = Buffer.from(proxy.auth, 'utf8').toString('base64');
        +      options.headers['Proxy-Authorization'] = 'Basic ' + base64;
        +    }
        +    options.headers.host = options.hostname + (options.port ? ':' + options.port : '');
        +    const proxyHost = proxy.hostname || proxy.host;
        +    options.hostname = proxyHost;
        +    // Replace 'host' since options is not a URL object
        +    options.host = proxyHost;
        +    options.port = proxy.port;
        +    options.path = location;
        +    if (proxy.protocol) {
        +      options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;
        +    }
        +  }
        +  options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {
        +    // Configure proxy for redirected request, passing the original config proxy to apply
        +    // the exact same logic as if the redirected request was performed by axios directly.
        +    setProxy(redirectOptions, configProxy, redirectOptions.href);
        +  };
        +}
        +const isHttpAdapterSupported = typeof process !== 'undefined' && utils$1.kindOf(process) === 'process';
        +
        +// temporary hotfix
        +
        +const wrapAsync = asyncExecutor => {
        +  return new Promise((resolve, reject) => {
        +    let onDone;
        +    let isDone;
        +    const done = (value, isRejected) => {
        +      if (isDone) return;
        +      isDone = true;
        +      onDone && onDone(value, isRejected);
        +    };
        +    const _resolve = value => {
        +      done(value);
        +      resolve(value);
        +    };
        +    const _reject = reason => {
        +      done(reason, true);
        +      reject(reason);
        +    };
        +    asyncExecutor(_resolve, _reject, onDoneHandler => onDone = onDoneHandler).catch(_reject);
        +  });
        +};
        +const resolveFamily = ({
        +  address,
        +  family
        +}) => {
        +  if (!utils$1.isString(address)) {
        +    throw TypeError('address must be a string');
        +  }
        +  return {
        +    address,
        +    family: family || (address.indexOf('.') < 0 ? 6 : 4)
        +  };
        +};
        +const buildAddressEntry = (address, family) => resolveFamily(utils$1.isObject(address) ? address : {
        +  address,
        +  family
        +});
        +const http2Transport = {
        +  request(options, cb) {
        +    const authority = options.protocol + '//' + options.hostname + ':' + (options.port || (options.protocol === 'https:' ? 443 : 80));
        +    const {
        +      http2Options,
        +      headers
        +    } = options;
        +    const session = http2Sessions.getSession(authority, http2Options);
        +    const {
        +      HTTP2_HEADER_SCHEME,
        +      HTTP2_HEADER_METHOD,
        +      HTTP2_HEADER_PATH,
        +      HTTP2_HEADER_STATUS
        +    } = http2.constants;
        +    const http2Headers = {
        +      [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''),
        +      [HTTP2_HEADER_METHOD]: options.method,
        +      [HTTP2_HEADER_PATH]: options.path
        +    };
        +    utils$1.forEach(headers, (header, name) => {
        +      name.charAt(0) !== ':' && (http2Headers[name] = header);
        +    });
        +    const req = session.request(http2Headers);
        +    req.once('response', responseHeaders => {
        +      const response = req; //duplex
        +
        +      responseHeaders = Object.assign({}, responseHeaders);
        +      const status = responseHeaders[HTTP2_HEADER_STATUS];
        +      delete responseHeaders[HTTP2_HEADER_STATUS];
        +      response.headers = responseHeaders;
        +      response.statusCode = +status;
        +      cb(response);
        +    });
        +    return req;
        +  }
        +};
        +
        +/*eslint consistent-return:0*/
        +var httpAdapter = isHttpAdapterSupported && function httpAdapter(config) {
        +  return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {
        +    let {
        +      data,
        +      lookup,
        +      family,
        +      httpVersion = 1,
        +      http2Options
        +    } = config;
        +    const {
        +      responseType,
        +      responseEncoding
        +    } = config;
        +    const method = config.method.toUpperCase();
        +    let isDone;
        +    let rejected = false;
        +    let req;
        +    httpVersion = +httpVersion;
        +    if (Number.isNaN(httpVersion)) {
        +      throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);
        +    }
        +    if (httpVersion !== 1 && httpVersion !== 2) {
        +      throw TypeError(`Unsupported protocol version '${httpVersion}'`);
        +    }
        +    const isHttp2 = httpVersion === 2;
        +    if (lookup) {
        +      const _lookup = callbackify(lookup, value => utils$1.isArray(value) ? value : [value]);
        +      // hotfix to support opt.all option which is required for node 20.x
        +      lookup = (hostname, opt, cb) => {
        +        _lookup(hostname, opt, (err, arg0, arg1) => {
        +          if (err) {
        +            return cb(err);
        +          }
        +          const addresses = utils$1.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];
        +          opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);
        +        });
        +      };
        +    }
        +    const abortEmitter = new events.EventEmitter();
        +    function abort(reason) {
        +      try {
        +        abortEmitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);
        +      } catch (err) {
        +        console.warn('emit error', err);
        +      }
        +    }
        +    abortEmitter.once('abort', reject);
        +    const onFinished = () => {
        +      if (config.cancelToken) {
        +        config.cancelToken.unsubscribe(abort);
        +      }
        +      if (config.signal) {
        +        config.signal.removeEventListener('abort', abort);
        +      }
        +      abortEmitter.removeAllListeners();
        +    };
        +    if (config.cancelToken || config.signal) {
        +      config.cancelToken && config.cancelToken.subscribe(abort);
        +      if (config.signal) {
        +        config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);
        +      }
        +    }
        +    onDone((response, isRejected) => {
        +      isDone = true;
        +      if (isRejected) {
        +        rejected = true;
        +        onFinished();
        +        return;
        +      }
        +      const {
        +        data
        +      } = response;
        +      if (data instanceof stream.Readable || data instanceof stream.Duplex) {
        +        const offListeners = stream.finished(data, () => {
        +          offListeners();
        +          onFinished();
        +        });
        +      } else {
        +        onFinished();
        +      }
        +    });
        +
        +    // Parse url
        +    const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
        +    const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);
        +    const protocol = parsed.protocol || supportedProtocols[0];
        +    if (protocol === 'data:') {
        +      // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set.
        +      if (config.maxContentLength > -1) {
        +        // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed.
        +        const dataUrl = String(config.url || fullPath || '');
        +        const estimated = estimateDataURLDecodedBytes(dataUrl);
        +        if (estimated > config.maxContentLength) {
        +          return reject(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config));
        +        }
        +      }
        +      let convertedData;
        +      if (method !== 'GET') {
        +        return settle(resolve, reject, {
        +          status: 405,
        +          statusText: 'method not allowed',
        +          headers: {},
        +          config
        +        });
        +      }
        +      try {
        +        convertedData = fromDataURI(config.url, responseType === 'blob', {
        +          Blob: config.env && config.env.Blob
        +        });
        +      } catch (err) {
        +        throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);
        +      }
        +      if (responseType === 'text') {
        +        convertedData = convertedData.toString(responseEncoding);
        +        if (!responseEncoding || responseEncoding === 'utf8') {
        +          convertedData = utils$1.stripBOM(convertedData);
        +        }
        +      } else if (responseType === 'stream') {
        +        convertedData = stream.Readable.from(convertedData);
        +      }
        +      return settle(resolve, reject, {
        +        data: convertedData,
        +        status: 200,
        +        statusText: 'OK',
        +        headers: new AxiosHeaders(),
        +        config
        +      });
        +    }
        +    if (supportedProtocols.indexOf(protocol) === -1) {
        +      return reject(new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_BAD_REQUEST, config));
        +    }
        +    const headers = AxiosHeaders.from(config.headers).normalize();
        +
        +    // Set User-Agent (required by some servers)
        +    // See https://github.com/axios/axios/issues/69
        +    // User-Agent is specified; handle case where no UA header is desired
        +    // Only set header if it hasn't been set in config
        +    headers.set('User-Agent', 'axios/' + VERSION, false);
        +    const {
        +      onUploadProgress,
        +      onDownloadProgress
        +    } = config;
        +    const maxRate = config.maxRate;
        +    let maxUploadRate = undefined;
        +    let maxDownloadRate = undefined;
        +
        +    // support for spec compliant FormData objects
        +    if (utils$1.isSpecCompliantForm(data)) {
        +      const userBoundary = headers.getContentType(/boundary=([-_\w\d]{10,70})/i);
        +      data = formDataToStream(data, formHeaders => {
        +        headers.set(formHeaders);
        +      }, {
        +        tag: `axios-${VERSION}-boundary`,
        +        boundary: userBoundary && userBoundary[1] || undefined
        +      });
        +      // support for https://www.npmjs.com/package/form-data api
        +    } else if (utils$1.isFormData(data) && utils$1.isFunction(data.getHeaders)) {
        +      headers.set(data.getHeaders());
        +      if (!headers.hasContentLength()) {
        +        try {
        +          const knownLength = await util.promisify(data.getLength).call(data);
        +          Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);
        +          /*eslint no-empty:0*/
        +        } catch (e) {}
        +      }
        +    } else if (utils$1.isBlob(data) || utils$1.isFile(data)) {
        +      data.size && headers.setContentType(data.type || 'application/octet-stream');
        +      headers.setContentLength(data.size || 0);
        +      data = stream.Readable.from(readBlob(data));
        +    } else if (data && !utils$1.isStream(data)) {
        +      if (Buffer.isBuffer(data)) ; else if (utils$1.isArrayBuffer(data)) {
        +        data = Buffer.from(new Uint8Array(data));
        +      } else if (utils$1.isString(data)) {
        +        data = Buffer.from(data, 'utf-8');
        +      } else {
        +        return reject(new AxiosError('Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', AxiosError.ERR_BAD_REQUEST, config));
        +      }
        +
        +      // Add Content-Length header if data exists
        +      headers.setContentLength(data.length, false);
        +      if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {
        +        return reject(new AxiosError('Request body larger than maxBodyLength limit', AxiosError.ERR_BAD_REQUEST, config));
        +      }
        +    }
        +    const contentLength = utils$1.toFiniteNumber(headers.getContentLength());
        +    if (utils$1.isArray(maxRate)) {
        +      maxUploadRate = maxRate[0];
        +      maxDownloadRate = maxRate[1];
        +    } else {
        +      maxUploadRate = maxDownloadRate = maxRate;
        +    }
        +    if (data && (onUploadProgress || maxUploadRate)) {
        +      if (!utils$1.isStream(data)) {
        +        data = stream.Readable.from(data, {
        +          objectMode: false
        +        });
        +      }
        +      data = stream.pipeline([data, new AxiosTransformStream({
        +        maxRate: utils$1.toFiniteNumber(maxUploadRate)
        +      })], utils$1.noop);
        +      onUploadProgress && data.on('progress', flushOnFinish(data, progressEventDecorator(contentLength, progressEventReducer(asyncDecorator(onUploadProgress), false, 3))));
        +    }
        +
        +    // HTTP basic authentication
        +    let auth = undefined;
        +    if (config.auth) {
        +      const username = config.auth.username || '';
        +      const password = config.auth.password || '';
        +      auth = username + ':' + password;
        +    }
        +    if (!auth && parsed.username) {
        +      const urlUsername = parsed.username;
        +      const urlPassword = parsed.password;
        +      auth = urlUsername + ':' + urlPassword;
        +    }
        +    auth && headers.delete('authorization');
        +    let path;
        +    try {
        +      path = buildURL(parsed.pathname + parsed.search, config.params, config.paramsSerializer).replace(/^\?/, '');
        +    } catch (err) {
        +      const customErr = new Error(err.message);
        +      customErr.config = config;
        +      customErr.url = config.url;
        +      customErr.exists = true;
        +      return reject(customErr);
        +    }
        +    headers.set('Accept-Encoding', 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false);
        +    const options = {
        +      path,
        +      method: method,
        +      headers: headers.toJSON(),
        +      agents: {
        +        http: config.httpAgent,
        +        https: config.httpsAgent
        +      },
        +      auth,
        +      protocol,
        +      family,
        +      beforeRedirect: dispatchBeforeRedirect,
        +      beforeRedirects: {},
        +      http2Options
        +    };
        +
        +    // cacheable-lookup integration hotfix
        +    !utils$1.isUndefined(lookup) && (options.lookup = lookup);
        +    if (config.socketPath) {
        +      options.socketPath = config.socketPath;
        +    } else {
        +      options.hostname = parsed.hostname.startsWith('[') ? parsed.hostname.slice(1, -1) : parsed.hostname;
        +      options.port = parsed.port;
        +      setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);
        +    }
        +    let transport;
        +    const isHttpsRequest = isHttps.test(options.protocol);
        +    options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;
        +    if (isHttp2) {
        +      transport = http2Transport;
        +    } else {
        +      if (config.transport) {
        +        transport = config.transport;
        +      } else if (config.maxRedirects === 0) {
        +        transport = isHttpsRequest ? https : http;
        +      } else {
        +        if (config.maxRedirects) {
        +          options.maxRedirects = config.maxRedirects;
        +        }
        +        if (config.beforeRedirect) {
        +          options.beforeRedirects.config = config.beforeRedirect;
        +        }
        +        transport = isHttpsRequest ? httpsFollow : httpFollow;
        +      }
        +    }
        +    if (config.maxBodyLength > -1) {
        +      options.maxBodyLength = config.maxBodyLength;
        +    } else {
        +      // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited
        +      options.maxBodyLength = Infinity;
        +    }
        +    if (config.insecureHTTPParser) {
        +      options.insecureHTTPParser = config.insecureHTTPParser;
        +    }
        +
        +    // Create the request
        +    req = transport.request(options, function handleResponse(res) {
        +      if (req.destroyed) return;
        +      const streams = [res];
        +      const responseLength = utils$1.toFiniteNumber(res.headers['content-length']);
        +      if (onDownloadProgress || maxDownloadRate) {
        +        const transformStream = new AxiosTransformStream({
        +          maxRate: utils$1.toFiniteNumber(maxDownloadRate)
        +        });
        +        onDownloadProgress && transformStream.on('progress', flushOnFinish(transformStream, progressEventDecorator(responseLength, progressEventReducer(asyncDecorator(onDownloadProgress), true, 3))));
        +        streams.push(transformStream);
        +      }
        +
        +      // decompress the response body transparently if required
        +      let responseStream = res;
        +
        +      // return the last request in case of redirects
        +      const lastRequest = res.req || req;
        +
        +      // if decompress disabled we should not decompress
        +      if (config.decompress !== false && res.headers['content-encoding']) {
        +        // if no content, but headers still say that it is encoded,
        +        // remove the header not confuse downstream operations
        +        if (method === 'HEAD' || res.statusCode === 204) {
        +          delete res.headers['content-encoding'];
        +        }
        +        switch ((res.headers['content-encoding'] || '').toLowerCase()) {
        +          /*eslint default-case:0*/
        +          case 'gzip':
        +          case 'x-gzip':
        +          case 'compress':
        +          case 'x-compress':
        +            // add the unzipper to the body stream processing pipeline
        +            streams.push(zlib.createUnzip(zlibOptions));
        +
        +            // remove the content-encoding in order to not confuse downstream operations
        +            delete res.headers['content-encoding'];
        +            break;
        +          case 'deflate':
        +            streams.push(new ZlibHeaderTransformStream());
        +
        +            // add the unzipper to the body stream processing pipeline
        +            streams.push(zlib.createUnzip(zlibOptions));
        +
        +            // remove the content-encoding in order to not confuse downstream operations
        +            delete res.headers['content-encoding'];
        +            break;
        +          case 'br':
        +            if (isBrotliSupported) {
        +              streams.push(zlib.createBrotliDecompress(brotliOptions));
        +              delete res.headers['content-encoding'];
        +            }
        +        }
        +      }
        +      responseStream = streams.length > 1 ? stream.pipeline(streams, utils$1.noop) : streams[0];
        +      const response = {
        +        status: res.statusCode,
        +        statusText: res.statusMessage,
        +        headers: new AxiosHeaders(res.headers),
        +        config,
        +        request: lastRequest
        +      };
        +      if (responseType === 'stream') {
        +        response.data = responseStream;
        +        settle(resolve, reject, response);
        +      } else {
        +        const responseBuffer = [];
        +        let totalResponseBytes = 0;
        +        responseStream.on('data', function handleStreamData(chunk) {
        +          responseBuffer.push(chunk);
        +          totalResponseBytes += chunk.length;
        +
        +          // make sure the content length is not over the maxContentLength if specified
        +          if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {
        +            // stream.destroy() emit aborted event before calling reject() on Node.js v16
        +            rejected = true;
        +            responseStream.destroy();
        +            abort(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded', AxiosError.ERR_BAD_RESPONSE, config, lastRequest));
        +          }
        +        });
        +        responseStream.on('aborted', function handlerStreamAborted() {
        +          if (rejected) {
        +            return;
        +          }
        +          const err = new AxiosError('stream has been aborted', AxiosError.ERR_BAD_RESPONSE, config, lastRequest);
        +          responseStream.destroy(err);
        +          reject(err);
        +        });
        +        responseStream.on('error', function handleStreamError(err) {
        +          if (req.destroyed) return;
        +          reject(AxiosError.from(err, null, config, lastRequest));
        +        });
        +        responseStream.on('end', function handleStreamEnd() {
        +          try {
        +            let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);
        +            if (responseType !== 'arraybuffer') {
        +              responseData = responseData.toString(responseEncoding);
        +              if (!responseEncoding || responseEncoding === 'utf8') {
        +                responseData = utils$1.stripBOM(responseData);
        +              }
        +            }
        +            response.data = responseData;
        +          } catch (err) {
        +            return reject(AxiosError.from(err, null, config, response.request, response));
        +          }
        +          settle(resolve, reject, response);
        +        });
        +      }
        +      abortEmitter.once('abort', err => {
        +        if (!responseStream.destroyed) {
        +          responseStream.emit('error', err);
        +          responseStream.destroy();
        +        }
        +      });
        +    });
        +    abortEmitter.once('abort', err => {
        +      if (req.close) {
        +        req.close();
        +      } else {
        +        req.destroy(err);
        +      }
        +    });
        +
        +    // Handle errors
        +    req.on('error', function handleRequestError(err) {
        +      reject(AxiosError.from(err, null, config, req));
        +    });
        +
        +    // set tcp keep alive to prevent drop connection by peer
        +    req.on('socket', function handleRequestSocket(socket) {
        +      // default interval of sending ack packet is 1 minute
        +      socket.setKeepAlive(true, 1000 * 60);
        +    });
        +
        +    // Handle request timeout
        +    if (config.timeout) {
        +      // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.
        +      const timeout = parseInt(config.timeout, 10);
        +      if (Number.isNaN(timeout)) {
        +        abort(new AxiosError('error trying to parse `config.timeout` to int', AxiosError.ERR_BAD_OPTION_VALUE, config, req));
        +        return;
        +      }
        +
        +      // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.
        +      // And timer callback will be fired, and abort() will be invoked before connection, then get "socket hang up" and code ECONNRESET.
        +      // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.
        +      // And then these socket which be hang up will devouring CPU little by little.
        +      // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.
        +      req.setTimeout(timeout, function handleRequestTimeout() {
        +        if (isDone) return;
        +        let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
        +        const transitional = config.transitional || transitionalDefaults;
        +        if (config.timeoutErrorMessage) {
        +          timeoutErrorMessage = config.timeoutErrorMessage;
        +        }
        +        abort(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, req));
        +      });
        +    } else {
        +      // explicitly reset the socket timeout value for a possible `keep-alive` request
        +      req.setTimeout(0);
        +    }
        +
        +    // Send the request
        +    if (utils$1.isStream(data)) {
        +      let ended = false;
        +      let errored = false;
        +      data.on('end', () => {
        +        ended = true;
        +      });
        +      data.once('error', err => {
        +        errored = true;
        +        req.destroy(err);
        +      });
        +      data.on('close', () => {
        +        if (!ended && !errored) {
        +          abort(new CanceledError('Request stream has been aborted', config, req));
        +        }
        +      });
        +      data.pipe(req);
        +    } else {
        +      data && req.write(data);
        +      req.end();
        +    }
        +  });
        +};
        +
        +var isURLSameOrigin = platform.hasStandardBrowserEnv ? ((origin, isMSIE) => url => {
        +  url = new URL(url, platform.origin);
        +  return origin.protocol === url.protocol && origin.host === url.host && (isMSIE || origin.port === url.port);
        +})(new URL(platform.origin), platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)) : () => true;
        +
        +var cookies = platform.hasStandardBrowserEnv ?
        +// Standard browser envs support document.cookie
        +{
        +  write(name, value, expires, path, domain, secure, sameSite) {
        +    if (typeof document === 'undefined') return;
        +    const cookie = [`${name}=${encodeURIComponent(value)}`];
        +    if (utils$1.isNumber(expires)) {
        +      cookie.push(`expires=${new Date(expires).toUTCString()}`);
        +    }
        +    if (utils$1.isString(path)) {
        +      cookie.push(`path=${path}`);
        +    }
        +    if (utils$1.isString(domain)) {
        +      cookie.push(`domain=${domain}`);
        +    }
        +    if (secure === true) {
        +      cookie.push('secure');
        +    }
        +    if (utils$1.isString(sameSite)) {
        +      cookie.push(`SameSite=${sameSite}`);
        +    }
        +    document.cookie = cookie.join('; ');
        +  },
        +  read(name) {
        +    if (typeof document === 'undefined') return null;
        +    const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
        +    return match ? decodeURIComponent(match[1]) : null;
        +  },
        +  remove(name) {
        +    this.write(name, '', Date.now() - 86400000, '/');
        +  }
        +} :
        +// Non-standard browser env (web workers, react-native) lack needed support.
        +{
        +  write() {},
        +  read() {
        +    return null;
        +  },
        +  remove() {}
        +};
        +
        +const headersToObject = thing => thing instanceof AxiosHeaders ? {
        +  ...thing
        +} : thing;
        +
        +/**
        + * Config-specific merge-function which creates a new config-object
        + * by merging two configuration objects together.
        + *
        + * @param {Object} config1
        + * @param {Object} config2
        + *
        + * @returns {Object} New object resulting from merging config2 to config1
        + */
        +function mergeConfig(config1, config2) {
        +  // eslint-disable-next-line no-param-reassign
        +  config2 = config2 || {};
        +  const config = {};
        +  function getMergedValue(target, source, prop, caseless) {
        +    if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {
        +      return utils$1.merge.call({
        +        caseless
        +      }, target, source);
        +    } else if (utils$1.isPlainObject(source)) {
        +      return utils$1.merge({}, source);
        +    } else if (utils$1.isArray(source)) {
        +      return source.slice();
        +    }
        +    return source;
        +  }
        +  function mergeDeepProperties(a, b, prop, caseless) {
        +    if (!utils$1.isUndefined(b)) {
        +      return getMergedValue(a, b, prop, caseless);
        +    } else if (!utils$1.isUndefined(a)) {
        +      return getMergedValue(undefined, a, prop, caseless);
        +    }
        +  }
        +
        +  // eslint-disable-next-line consistent-return
        +  function valueFromConfig2(a, b) {
        +    if (!utils$1.isUndefined(b)) {
        +      return getMergedValue(undefined, b);
        +    }
        +  }
        +
        +  // eslint-disable-next-line consistent-return
        +  function defaultToConfig2(a, b) {
        +    if (!utils$1.isUndefined(b)) {
        +      return getMergedValue(undefined, b);
        +    } else if (!utils$1.isUndefined(a)) {
        +      return getMergedValue(undefined, a);
        +    }
        +  }
        +
        +  // eslint-disable-next-line consistent-return
        +  function mergeDirectKeys(a, b, prop) {
        +    if (prop in config2) {
        +      return getMergedValue(a, b);
        +    } else if (prop in config1) {
        +      return getMergedValue(undefined, a);
        +    }
        +  }
        +  const mergeMap = {
        +    url: valueFromConfig2,
        +    method: valueFromConfig2,
        +    data: valueFromConfig2,
        +    baseURL: defaultToConfig2,
        +    transformRequest: defaultToConfig2,
        +    transformResponse: defaultToConfig2,
        +    paramsSerializer: defaultToConfig2,
        +    timeout: defaultToConfig2,
        +    timeoutMessage: defaultToConfig2,
        +    withCredentials: defaultToConfig2,
        +    withXSRFToken: defaultToConfig2,
        +    adapter: defaultToConfig2,
        +    responseType: defaultToConfig2,
        +    xsrfCookieName: defaultToConfig2,
        +    xsrfHeaderName: defaultToConfig2,
        +    onUploadProgress: defaultToConfig2,
        +    onDownloadProgress: defaultToConfig2,
        +    decompress: defaultToConfig2,
        +    maxContentLength: defaultToConfig2,
        +    maxBodyLength: defaultToConfig2,
        +    beforeRedirect: defaultToConfig2,
        +    transport: defaultToConfig2,
        +    httpAgent: defaultToConfig2,
        +    httpsAgent: defaultToConfig2,
        +    cancelToken: defaultToConfig2,
        +    socketPath: defaultToConfig2,
        +    responseEncoding: defaultToConfig2,
        +    validateStatus: mergeDirectKeys,
        +    headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)
        +  };
        +  utils$1.forEach(Object.keys({
        +    ...config1,
        +    ...config2
        +  }), function computeConfigValue(prop) {
        +    if (prop === '__proto__' || prop === 'constructor' || prop === 'prototype') return;
        +    const merge = utils$1.hasOwnProp(mergeMap, prop) ? mergeMap[prop] : mergeDeepProperties;
        +    const configValue = merge(config1[prop], config2[prop], prop);
        +    utils$1.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);
        +  });
        +  return config;
        +}
        +
        +var resolveConfig = config => {
        +  const newConfig = mergeConfig({}, config);
        +  let {
        +    data,
        +    withXSRFToken,
        +    xsrfHeaderName,
        +    xsrfCookieName,
        +    headers,
        +    auth
        +  } = newConfig;
        +  newConfig.headers = headers = AxiosHeaders.from(headers);
        +  newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);
        +
        +  // HTTP basic authentication
        +  if (auth) {
        +    headers.set('Authorization', 'Basic ' + btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : '')));
        +  }
        +  if (utils$1.isFormData(data)) {
        +    if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {
        +      headers.setContentType(undefined); // browser handles it
        +    } else if (utils$1.isFunction(data.getHeaders)) {
        +      // Node.js FormData (like form-data package)
        +      const formHeaders = data.getHeaders();
        +      // Only set safe headers to avoid overwriting security headers
        +      const allowedHeaders = ['content-type', 'content-length'];
        +      Object.entries(formHeaders).forEach(([key, val]) => {
        +        if (allowedHeaders.includes(key.toLowerCase())) {
        +          headers.set(key, val);
        +        }
        +      });
        +    }
        +  }
        +
        +  // Add xsrf header
        +  // This is only done if running in a standard browser environment.
        +  // Specifically not if we're in a web worker, or react-native.
        +
        +  if (platform.hasStandardBrowserEnv) {
        +    withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));
        +    if (withXSRFToken || withXSRFToken !== false && isURLSameOrigin(newConfig.url)) {
        +      // Add xsrf header
        +      const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);
        +      if (xsrfValue) {
        +        headers.set(xsrfHeaderName, xsrfValue);
        +      }
        +    }
        +  }
        +  return newConfig;
        +};
        +
        +const isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';
        +var xhrAdapter = isXHRAdapterSupported && function (config) {
        +  return new Promise(function dispatchXhrRequest(resolve, reject) {
        +    const _config = resolveConfig(config);
        +    let requestData = _config.data;
        +    const requestHeaders = AxiosHeaders.from(_config.headers).normalize();
        +    let {
        +      responseType,
        +      onUploadProgress,
        +      onDownloadProgress
        +    } = _config;
        +    let onCanceled;
        +    let uploadThrottled, downloadThrottled;
        +    let flushUpload, flushDownload;
        +    function done() {
        +      flushUpload && flushUpload(); // flush events
        +      flushDownload && flushDownload(); // flush events
        +
        +      _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);
        +      _config.signal && _config.signal.removeEventListener('abort', onCanceled);
        +    }
        +    let request = new XMLHttpRequest();
        +    request.open(_config.method.toUpperCase(), _config.url, true);
        +
        +    // Set the request timeout in MS
        +    request.timeout = _config.timeout;
        +    function onloadend() {
        +      if (!request) {
        +        return;
        +      }
        +      // Prepare the response
        +      const responseHeaders = AxiosHeaders.from('getAllResponseHeaders' in request && request.getAllResponseHeaders());
        +      const responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;
        +      const response = {
        +        data: responseData,
        +        status: request.status,
        +        statusText: request.statusText,
        +        headers: responseHeaders,
        +        config,
        +        request
        +      };
        +      settle(function _resolve(value) {
        +        resolve(value);
        +        done();
        +      }, function _reject(err) {
        +        reject(err);
        +        done();
        +      }, response);
        +
        +      // Clean up request
        +      request = null;
        +    }
        +    if ('onloadend' in request) {
        +      // Use onloadend if available
        +      request.onloadend = onloadend;
        +    } else {
        +      // Listen for ready state to emulate onloadend
        +      request.onreadystatechange = function handleLoad() {
        +        if (!request || request.readyState !== 4) {
        +          return;
        +        }
        +
        +        // The request errored out and we didn't get a response, this will be
        +        // handled by onerror instead
        +        // With one exception: request that using file: protocol, most browsers
        +        // will return status as 0 even though it's a successful request
        +        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
        +          return;
        +        }
        +        // readystate handler is calling before onerror or ontimeout handlers,
        +        // so we should call onloadend on the next 'tick'
        +        setTimeout(onloadend);
        +      };
        +    }
        +
        +    // Handle browser request cancellation (as opposed to a manual cancellation)
        +    request.onabort = function handleAbort() {
        +      if (!request) {
        +        return;
        +      }
        +      reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));
        +
        +      // Clean up request
        +      request = null;
        +    };
        +
        +    // Handle low level network errors
        +    request.onerror = function handleError(event) {
        +      // Browsers deliver a ProgressEvent in XHR onerror
        +      // (message may be empty; when present, surface it)
        +      // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event
        +      const msg = event && event.message ? event.message : 'Network Error';
        +      const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);
        +      // attach the underlying event for consumers who want details
        +      err.event = event || null;
        +      reject(err);
        +      request = null;
        +    };
        +
        +    // Handle timeout
        +    request.ontimeout = function handleTimeout() {
        +      let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';
        +      const transitional = _config.transitional || transitionalDefaults;
        +      if (_config.timeoutErrorMessage) {
        +        timeoutErrorMessage = _config.timeoutErrorMessage;
        +      }
        +      reject(new AxiosError(timeoutErrorMessage, transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED, config, request));
        +
        +      // Clean up request
        +      request = null;
        +    };
        +
        +    // Remove Content-Type if data is undefined
        +    requestData === undefined && requestHeaders.setContentType(null);
        +
        +    // Add headers to the request
        +    if ('setRequestHeader' in request) {
        +      utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
        +        request.setRequestHeader(key, val);
        +      });
        +    }
        +
        +    // Add withCredentials to request if needed
        +    if (!utils$1.isUndefined(_config.withCredentials)) {
        +      request.withCredentials = !!_config.withCredentials;
        +    }
        +
        +    // Add responseType to request if needed
        +    if (responseType && responseType !== 'json') {
        +      request.responseType = _config.responseType;
        +    }
        +
        +    // Handle progress if needed
        +    if (onDownloadProgress) {
        +      [downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true);
        +      request.addEventListener('progress', downloadThrottled);
        +    }
        +
        +    // Not all browsers support upload events
        +    if (onUploadProgress && request.upload) {
        +      [uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress);
        +      request.upload.addEventListener('progress', uploadThrottled);
        +      request.upload.addEventListener('loadend', flushUpload);
        +    }
        +    if (_config.cancelToken || _config.signal) {
        +      // Handle cancellation
        +      // eslint-disable-next-line func-names
        +      onCanceled = cancel => {
        +        if (!request) {
        +          return;
        +        }
        +        reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);
        +        request.abort();
        +        request = null;
        +      };
        +      _config.cancelToken && _config.cancelToken.subscribe(onCanceled);
        +      if (_config.signal) {
        +        _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);
        +      }
        +    }
        +    const protocol = parseProtocol(_config.url);
        +    if (protocol && platform.protocols.indexOf(protocol) === -1) {
        +      reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));
        +      return;
        +    }
        +
        +    // Send the request
        +    request.send(requestData || null);
        +  });
        +};
        +
        +const composeSignals = (signals, timeout) => {
        +  const {
        +    length
        +  } = signals = signals ? signals.filter(Boolean) : [];
        +  if (timeout || length) {
        +    let controller = new AbortController();
        +    let aborted;
        +    const onabort = function (reason) {
        +      if (!aborted) {
        +        aborted = true;
        +        unsubscribe();
        +        const err = reason instanceof Error ? reason : this.reason;
        +        controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));
        +      }
        +    };
        +    let timer = timeout && setTimeout(() => {
        +      timer = null;
        +      onabort(new AxiosError(`timeout of ${timeout}ms exceeded`, AxiosError.ETIMEDOUT));
        +    }, timeout);
        +    const unsubscribe = () => {
        +      if (signals) {
        +        timer && clearTimeout(timer);
        +        timer = null;
        +        signals.forEach(signal => {
        +          signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);
        +        });
        +        signals = null;
        +      }
        +    };
        +    signals.forEach(signal => signal.addEventListener('abort', onabort));
        +    const {
        +      signal
        +    } = controller;
        +    signal.unsubscribe = () => utils$1.asap(unsubscribe);
        +    return signal;
        +  }
        +};
        +
        +const streamChunk = function* (chunk, chunkSize) {
        +  let len = chunk.byteLength;
        +  if (len < chunkSize) {
        +    yield chunk;
        +    return;
        +  }
        +  let pos = 0;
        +  let end;
        +  while (pos < len) {
        +    end = pos + chunkSize;
        +    yield chunk.slice(pos, end);
        +    pos = end;
        +  }
        +};
        +const readBytes = async function* (iterable, chunkSize) {
        +  for await (const chunk of readStream(iterable)) {
        +    yield* streamChunk(chunk, chunkSize);
        +  }
        +};
        +const readStream = async function* (stream) {
        +  if (stream[Symbol.asyncIterator]) {
        +    yield* stream;
        +    return;
        +  }
        +  const reader = stream.getReader();
        +  try {
        +    for (;;) {
        +      const {
        +        done,
        +        value
        +      } = await reader.read();
        +      if (done) {
        +        break;
        +      }
        +      yield value;
        +    }
        +  } finally {
        +    await reader.cancel();
        +  }
        +};
        +const trackStream = (stream, chunkSize, onProgress, onFinish) => {
        +  const iterator = readBytes(stream, chunkSize);
        +  let bytes = 0;
        +  let done;
        +  let _onFinish = e => {
        +    if (!done) {
        +      done = true;
        +      onFinish && onFinish(e);
        +    }
        +  };
        +  return new ReadableStream({
        +    async pull(controller) {
        +      try {
        +        const {
        +          done,
        +          value
        +        } = await iterator.next();
        +        if (done) {
        +          _onFinish();
        +          controller.close();
        +          return;
        +        }
        +        let len = value.byteLength;
        +        if (onProgress) {
        +          let loadedBytes = bytes += len;
        +          onProgress(loadedBytes);
        +        }
        +        controller.enqueue(new Uint8Array(value));
        +      } catch (err) {
        +        _onFinish(err);
        +        throw err;
        +      }
        +    },
        +    cancel(reason) {
        +      _onFinish(reason);
        +      return iterator.return();
        +    }
        +  }, {
        +    highWaterMark: 2
        +  });
        +};
        +
        +const DEFAULT_CHUNK_SIZE = 64 * 1024;
        +const {
        +  isFunction
        +} = utils$1;
        +const globalFetchAPI = (({
        +  Request,
        +  Response
        +}) => ({
        +  Request,
        +  Response
        +}))(utils$1.global);
        +const {
        +  ReadableStream: ReadableStream$1,
        +  TextEncoder: TextEncoder$1
        +} = utils$1.global;
        +const test = (fn, ...args) => {
        +  try {
        +    return !!fn(...args);
        +  } catch (e) {
        +    return false;
        +  }
        +};
        +const factory = env => {
        +  env = utils$1.merge.call({
        +    skipUndefined: true
        +  }, globalFetchAPI, env);
        +  const {
        +    fetch: envFetch,
        +    Request,
        +    Response
        +  } = env;
        +  const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';
        +  const isRequestSupported = isFunction(Request);
        +  const isResponseSupported = isFunction(Response);
        +  if (!isFetchSupported) {
        +    return false;
        +  }
        +  const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream$1);
        +  const encodeText = isFetchSupported && (typeof TextEncoder$1 === 'function' ? (encoder => str => encoder.encode(str))(new TextEncoder$1()) : async str => new Uint8Array(await new Request(str).arrayBuffer()));
        +  const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {
        +    let duplexAccessed = false;
        +    const body = new ReadableStream$1();
        +    const hasContentType = new Request(platform.origin, {
        +      body,
        +      method: 'POST',
        +      get duplex() {
        +        duplexAccessed = true;
        +        return 'half';
        +      }
        +    }).headers.has('Content-Type');
        +    body.cancel();
        +    return duplexAccessed && !hasContentType;
        +  });
        +  const supportsResponseStream = isResponseSupported && isReadableStreamSupported && test(() => utils$1.isReadableStream(new Response('').body));
        +  const resolvers = {
        +    stream: supportsResponseStream && (res => res.body)
        +  };
        +  isFetchSupported && (() => {
        +    ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {
        +      !resolvers[type] && (resolvers[type] = (res, config) => {
        +        let method = res && res[type];
        +        if (method) {
        +          return method.call(res);
        +        }
        +        throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);
        +      });
        +    });
        +  })();
        +  const getBodyLength = async body => {
        +    if (body == null) {
        +      return 0;
        +    }
        +    if (utils$1.isBlob(body)) {
        +      return body.size;
        +    }
        +    if (utils$1.isSpecCompliantForm(body)) {
        +      const _request = new Request(platform.origin, {
        +        method: 'POST',
        +        body
        +      });
        +      return (await _request.arrayBuffer()).byteLength;
        +    }
        +    if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {
        +      return body.byteLength;
        +    }
        +    if (utils$1.isURLSearchParams(body)) {
        +      body = body + '';
        +    }
        +    if (utils$1.isString(body)) {
        +      return (await encodeText(body)).byteLength;
        +    }
        +  };
        +  const resolveBodyLength = async (headers, body) => {
        +    const length = utils$1.toFiniteNumber(headers.getContentLength());
        +    return length == null ? getBodyLength(body) : length;
        +  };
        +  return async config => {
        +    let {
        +      url,
        +      method,
        +      data,
        +      signal,
        +      cancelToken,
        +      timeout,
        +      onDownloadProgress,
        +      onUploadProgress,
        +      responseType,
        +      headers,
        +      withCredentials = 'same-origin',
        +      fetchOptions
        +    } = resolveConfig(config);
        +    let _fetch = envFetch || fetch;
        +    responseType = responseType ? (responseType + '').toLowerCase() : 'text';
        +    let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);
        +    let request = null;
        +    const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {
        +      composedSignal.unsubscribe();
        +    });
        +    let requestContentLength;
        +    try {
        +      if (onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' && (requestContentLength = await resolveBodyLength(headers, data)) !== 0) {
        +        let _request = new Request(url, {
        +          method: 'POST',
        +          body: data,
        +          duplex: 'half'
        +        });
        +        let contentTypeHeader;
        +        if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {
        +          headers.setContentType(contentTypeHeader);
        +        }
        +        if (_request.body) {
        +          const [onProgress, flush] = progressEventDecorator(requestContentLength, progressEventReducer(asyncDecorator(onUploadProgress)));
        +          data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);
        +        }
        +      }
        +      if (!utils$1.isString(withCredentials)) {
        +        withCredentials = withCredentials ? 'include' : 'omit';
        +      }
        +
        +      // Cloudflare Workers throws when credentials are defined
        +      // see https://github.com/cloudflare/workerd/issues/902
        +      const isCredentialsSupported = isRequestSupported && 'credentials' in Request.prototype;
        +      const resolvedOptions = {
        +        ...fetchOptions,
        +        signal: composedSignal,
        +        method: method.toUpperCase(),
        +        headers: headers.normalize().toJSON(),
        +        body: data,
        +        duplex: 'half',
        +        credentials: isCredentialsSupported ? withCredentials : undefined
        +      };
        +      request = isRequestSupported && new Request(url, resolvedOptions);
        +      let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));
        +      const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');
        +      if (supportsResponseStream && (onDownloadProgress || isStreamResponse && unsubscribe)) {
        +        const options = {};
        +        ['status', 'statusText', 'headers'].forEach(prop => {
        +          options[prop] = response[prop];
        +        });
        +        const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length'));
        +        const [onProgress, flush] = onDownloadProgress && progressEventDecorator(responseContentLength, progressEventReducer(asyncDecorator(onDownloadProgress), true)) || [];
        +        response = new Response(trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {
        +          flush && flush();
        +          unsubscribe && unsubscribe();
        +        }), options);
        +      }
        +      responseType = responseType || 'text';
        +      let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config);
        +      !isStreamResponse && unsubscribe && unsubscribe();
        +      return await new Promise((resolve, reject) => {
        +        settle(resolve, reject, {
        +          data: responseData,
        +          headers: AxiosHeaders.from(response.headers),
        +          status: response.status,
        +          statusText: response.statusText,
        +          config,
        +          request
        +        });
        +      });
        +    } catch (err) {
        +      unsubscribe && unsubscribe();
        +      if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {
        +        throw Object.assign(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, err && err.response), {
        +          cause: err.cause || err
        +        });
        +      }
        +      throw AxiosError.from(err, err && err.code, config, request, err && err.response);
        +    }
        +  };
        +};
        +const seedCache = new Map();
        +const getFetch = config => {
        +  let env = config && config.env || {};
        +  const {
        +    fetch,
        +    Request,
        +    Response
        +  } = env;
        +  const seeds = [Request, Response, fetch];
        +  let len = seeds.length,
        +    i = len,
        +    seed,
        +    target,
        +    map = seedCache;
        +  while (i--) {
        +    seed = seeds[i];
        +    target = map.get(seed);
        +    target === undefined && map.set(seed, target = i ? new Map() : factory(env));
        +    map = target;
        +  }
        +  return target;
        +};
        +getFetch();
        +
        +/**
        + * Known adapters mapping.
        + * Provides environment-specific adapters for Axios:
        + * - `http` for Node.js
        + * - `xhr` for browsers
        + * - `fetch` for fetch API-based requests
        + *
        + * @type {Object}
        + */
        +const knownAdapters = {
        +  http: httpAdapter,
        +  xhr: xhrAdapter,
        +  fetch: {
        +    get: getFetch
        +  }
        +};
        +
        +// Assign adapter names for easier debugging and identification
        +utils$1.forEach(knownAdapters, (fn, value) => {
        +  if (fn) {
        +    try {
        +      Object.defineProperty(fn, 'name', {
        +        value
        +      });
        +    } catch (e) {
        +      // eslint-disable-next-line no-empty
        +    }
        +    Object.defineProperty(fn, 'adapterName', {
        +      value
        +    });
        +  }
        +});
        +
        +/**
        + * Render a rejection reason string for unknown or unsupported adapters
        + *
        + * @param {string} reason
        + * @returns {string}
        + */
        +const renderReason = reason => `- ${reason}`;
        +
        +/**
        + * Check if the adapter is resolved (function, null, or false)
        + *
        + * @param {Function|null|false} adapter
        + * @returns {boolean}
        + */
        +const isResolvedHandle = adapter => utils$1.isFunction(adapter) || adapter === null || adapter === false;
        +
        +/**
        + * Get the first suitable adapter from the provided list.
        + * Tries each adapter in order until a supported one is found.
        + * Throws an AxiosError if no adapter is suitable.
        + *
        + * @param {Array|string|Function} adapters - Adapter(s) by name or function.
        + * @param {Object} config - Axios request configuration
        + * @throws {AxiosError} If no suitable adapter is available
        + * @returns {Function} The resolved adapter function
        + */
        +function getAdapter(adapters, config) {
        +  adapters = utils$1.isArray(adapters) ? adapters : [adapters];
        +  const {
        +    length
        +  } = adapters;
        +  let nameOrAdapter;
        +  let adapter;
        +  const rejectedReasons = {};
        +  for (let i = 0; i < length; i++) {
        +    nameOrAdapter = adapters[i];
        +    let id;
        +    adapter = nameOrAdapter;
        +    if (!isResolvedHandle(nameOrAdapter)) {
        +      adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
        +      if (adapter === undefined) {
        +        throw new AxiosError(`Unknown adapter '${id}'`);
        +      }
        +    }
        +    if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) {
        +      break;
        +    }
        +    rejectedReasons[id || '#' + i] = adapter;
        +  }
        +  if (!adapter) {
        +    const reasons = Object.entries(rejectedReasons).map(([id, state]) => `adapter ${id} ` + (state === false ? 'is not supported by the environment' : 'is not available in the build'));
        +    let s = length ? reasons.length > 1 ? 'since :\n' + reasons.map(renderReason).join('\n') : ' ' + renderReason(reasons[0]) : 'as no adapter specified';
        +    throw new AxiosError(`There is no suitable adapter to dispatch the request ` + s, 'ERR_NOT_SUPPORT');
        +  }
        +  return adapter;
        +}
        +
        +/**
        + * Exports Axios adapters and utility to resolve an adapter
        + */
        +var adapters = {
        +  /**
        +   * Resolve an adapter from a list of adapter names or functions.
        +   * @type {Function}
        +   */
        +  getAdapter,
        +  /**
        +   * Exposes all known adapters
        +   * @type {Object}
        +   */
        +  adapters: knownAdapters
        +};
        +
        +/**
        + * Throws a `CanceledError` if cancellation has been requested.
        + *
        + * @param {Object} config The config that is to be used for the request
        + *
        + * @returns {void}
        + */
        +function throwIfCancellationRequested(config) {
        +  if (config.cancelToken) {
        +    config.cancelToken.throwIfRequested();
        +  }
        +  if (config.signal && config.signal.aborted) {
        +    throw new CanceledError(null, config);
        +  }
        +}
        +
        +/**
        + * Dispatch a request to the server using the configured adapter.
        + *
        + * @param {object} config The config that is to be used for the request
        + *
        + * @returns {Promise} The Promise to be fulfilled
        + */
        +function dispatchRequest(config) {
        +  throwIfCancellationRequested(config);
        +  config.headers = AxiosHeaders.from(config.headers);
        +
        +  // Transform request data
        +  config.data = transformData.call(config, config.transformRequest);
        +  if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {
        +    config.headers.setContentType('application/x-www-form-urlencoded', false);
        +  }
        +  const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);
        +  return adapter(config).then(function onAdapterResolution(response) {
        +    throwIfCancellationRequested(config);
        +
        +    // Transform response data
        +    response.data = transformData.call(config, config.transformResponse, response);
        +    response.headers = AxiosHeaders.from(response.headers);
        +    return response;
        +  }, function onAdapterRejection(reason) {
        +    if (!isCancel(reason)) {
        +      throwIfCancellationRequested(config);
        +
        +      // Transform response data
        +      if (reason && reason.response) {
        +        reason.response.data = transformData.call(config, config.transformResponse, reason.response);
        +        reason.response.headers = AxiosHeaders.from(reason.response.headers);
        +      }
        +    }
        +    return Promise.reject(reason);
        +  });
        +}
        +
        +const validators$1 = {};
        +
        +// eslint-disable-next-line func-names
        +['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {
        +  validators$1[type] = function validator(thing) {
        +    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
        +  };
        +});
        +const deprecatedWarnings = {};
        +
        +/**
        + * Transitional option validator
        + *
        + * @param {function|boolean?} validator - set to false if the transitional option has been removed
        + * @param {string?} version - deprecated version / removed since version
        + * @param {string?} message - some message with additional info
        + *
        + * @returns {function}
        + */
        +validators$1.transitional = function transitional(validator, version, message) {
        +  function formatMessage(opt, desc) {
        +    return '[Axios v' + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? '. ' + message : '');
        +  }
        +
        +  // eslint-disable-next-line func-names
        +  return (value, opt, opts) => {
        +    if (validator === false) {
        +      throw new AxiosError(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), AxiosError.ERR_DEPRECATED);
        +    }
        +    if (version && !deprecatedWarnings[opt]) {
        +      deprecatedWarnings[opt] = true;
        +      // eslint-disable-next-line no-console
        +      console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future'));
        +    }
        +    return validator ? validator(value, opt, opts) : true;
        +  };
        +};
        +validators$1.spelling = function spelling(correctSpelling) {
        +  return (value, opt) => {
        +    // eslint-disable-next-line no-console
        +    console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);
        +    return true;
        +  };
        +};
        +
        +/**
        + * Assert object's properties type
        + *
        + * @param {object} options
        + * @param {object} schema
        + * @param {boolean?} allowUnknown
        + *
        + * @returns {object}
        + */
        +
        +function assertOptions(options, schema, allowUnknown) {
        +  if (typeof options !== 'object') {
        +    throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);
        +  }
        +  const keys = Object.keys(options);
        +  let i = keys.length;
        +  while (i-- > 0) {
        +    const opt = keys[i];
        +    const validator = schema[opt];
        +    if (validator) {
        +      const value = options[opt];
        +      const result = value === undefined || validator(value, opt, options);
        +      if (result !== true) {
        +        throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);
        +      }
        +      continue;
        +    }
        +    if (allowUnknown !== true) {
        +      throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);
        +    }
        +  }
        +}
        +var validator = {
        +  assertOptions,
        +  validators: validators$1
        +};
        +
        +const validators = validator.validators;
        +
        +/**
        + * Create a new instance of Axios
        + *
        + * @param {Object} instanceConfig The default config for the instance
        + *
        + * @return {Axios} A new instance of Axios
        + */
        +class Axios {
        +  constructor(instanceConfig) {
        +    this.defaults = instanceConfig || {};
        +    this.interceptors = {
        +      request: new InterceptorManager(),
        +      response: new InterceptorManager()
        +    };
        +  }
        +
        +  /**
        +   * Dispatch a request
        +   *
        +   * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
        +   * @param {?Object} config
        +   *
        +   * @returns {Promise} The Promise to be fulfilled
        +   */
        +  async request(configOrUrl, config) {
        +    try {
        +      return await this._request(configOrUrl, config);
        +    } catch (err) {
        +      if (err instanceof Error) {
        +        let dummy = {};
        +        Error.captureStackTrace ? Error.captureStackTrace(dummy) : dummy = new Error();
        +
        +        // slice off the Error: ... line
        +        const stack = dummy.stack ? dummy.stack.replace(/^.+\n/, '') : '';
        +        try {
        +          if (!err.stack) {
        +            err.stack = stack;
        +            // match without the 2 top stack lines
        +          } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\n.+\n/, ''))) {
        +            err.stack += '\n' + stack;
        +          }
        +        } catch (e) {
        +          // ignore the case where "stack" is an un-writable property
        +        }
        +      }
        +      throw err;
        +    }
        +  }
        +  _request(configOrUrl, config) {
        +    /*eslint no-param-reassign:0*/
        +    // Allow for axios('example/url'[, config]) a la fetch API
        +    if (typeof configOrUrl === 'string') {
        +      config = config || {};
        +      config.url = configOrUrl;
        +    } else {
        +      config = configOrUrl || {};
        +    }
        +    config = mergeConfig(this.defaults, config);
        +    const {
        +      transitional,
        +      paramsSerializer,
        +      headers
        +    } = config;
        +    if (transitional !== undefined) {
        +      validator.assertOptions(transitional, {
        +        silentJSONParsing: validators.transitional(validators.boolean),
        +        forcedJSONParsing: validators.transitional(validators.boolean),
        +        clarifyTimeoutError: validators.transitional(validators.boolean),
        +        legacyInterceptorReqResOrdering: validators.transitional(validators.boolean)
        +      }, false);
        +    }
        +    if (paramsSerializer != null) {
        +      if (utils$1.isFunction(paramsSerializer)) {
        +        config.paramsSerializer = {
        +          serialize: paramsSerializer
        +        };
        +      } else {
        +        validator.assertOptions(paramsSerializer, {
        +          encode: validators.function,
        +          serialize: validators.function
        +        }, true);
        +      }
        +    }
        +
        +    // Set config.allowAbsoluteUrls
        +    if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) {
        +      config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;
        +    } else {
        +      config.allowAbsoluteUrls = true;
        +    }
        +    validator.assertOptions(config, {
        +      baseUrl: validators.spelling('baseURL'),
        +      withXsrfToken: validators.spelling('withXSRFToken')
        +    }, true);
        +
        +    // Set config.method
        +    config.method = (config.method || this.defaults.method || 'get').toLowerCase();
        +
        +    // Flatten headers
        +    let contextHeaders = headers && utils$1.merge(headers.common, headers[config.method]);
        +    headers && utils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], method => {
        +      delete headers[method];
        +    });
        +    config.headers = AxiosHeaders.concat(contextHeaders, headers);
        +
        +    // filter out skipped interceptors
        +    const requestInterceptorChain = [];
        +    let synchronousRequestInterceptors = true;
        +    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
        +      if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
        +        return;
        +      }
        +      synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
        +      const transitional = config.transitional || transitionalDefaults;
        +      const legacyInterceptorReqResOrdering = transitional && transitional.legacyInterceptorReqResOrdering;
        +      if (legacyInterceptorReqResOrdering) {
        +        requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
        +      } else {
        +        requestInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
        +      }
        +    });
        +    const responseInterceptorChain = [];
        +    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
        +      responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
        +    });
        +    let promise;
        +    let i = 0;
        +    let len;
        +    if (!synchronousRequestInterceptors) {
        +      const chain = [dispatchRequest.bind(this), undefined];
        +      chain.unshift(...requestInterceptorChain);
        +      chain.push(...responseInterceptorChain);
        +      len = chain.length;
        +      promise = Promise.resolve(config);
        +      while (i < len) {
        +        promise = promise.then(chain[i++], chain[i++]);
        +      }
        +      return promise;
        +    }
        +    len = requestInterceptorChain.length;
        +    let newConfig = config;
        +    while (i < len) {
        +      const onFulfilled = requestInterceptorChain[i++];
        +      const onRejected = requestInterceptorChain[i++];
        +      try {
        +        newConfig = onFulfilled(newConfig);
        +      } catch (error) {
        +        onRejected.call(this, error);
        +        break;
        +      }
        +    }
        +    try {
        +      promise = dispatchRequest.call(this, newConfig);
        +    } catch (error) {
        +      return Promise.reject(error);
        +    }
        +    i = 0;
        +    len = responseInterceptorChain.length;
        +    while (i < len) {
        +      promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
        +    }
        +    return promise;
        +  }
        +  getUri(config) {
        +    config = mergeConfig(this.defaults, config);
        +    const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
        +    return buildURL(fullPath, config.params, config.paramsSerializer);
        +  }
        +}
        +
        +// Provide aliases for supported request methods
        +utils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
        +  /*eslint func-names:0*/
        +  Axios.prototype[method] = function (url, config) {
        +    return this.request(mergeConfig(config || {}, {
        +      method,
        +      url,
        +      data: (config || {}).data
        +    }));
        +  };
        +});
        +utils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
        +  function generateHTTPMethod(isForm) {
        +    return function httpMethod(url, data, config) {
        +      return this.request(mergeConfig(config || {}, {
        +        method,
        +        headers: isForm ? {
        +          'Content-Type': 'multipart/form-data'
        +        } : {},
        +        url,
        +        data
        +      }));
        +    };
        +  }
        +  Axios.prototype[method] = generateHTTPMethod();
        +  Axios.prototype[method + 'Form'] = generateHTTPMethod(true);
        +});
        +
        +/**
        + * A `CancelToken` is an object that can be used to request cancellation of an operation.
        + *
        + * @param {Function} executor The executor function.
        + *
        + * @returns {CancelToken}
        + */
        +class CancelToken {
        +  constructor(executor) {
        +    if (typeof executor !== 'function') {
        +      throw new TypeError('executor must be a function.');
        +    }
        +    let resolvePromise;
        +    this.promise = new Promise(function promiseExecutor(resolve) {
        +      resolvePromise = resolve;
        +    });
        +    const token = this;
        +
        +    // eslint-disable-next-line func-names
        +    this.promise.then(cancel => {
        +      if (!token._listeners) return;
        +      let i = token._listeners.length;
        +      while (i-- > 0) {
        +        token._listeners[i](cancel);
        +      }
        +      token._listeners = null;
        +    });
        +
        +    // eslint-disable-next-line func-names
        +    this.promise.then = onfulfilled => {
        +      let _resolve;
        +      // eslint-disable-next-line func-names
        +      const promise = new Promise(resolve => {
        +        token.subscribe(resolve);
        +        _resolve = resolve;
        +      }).then(onfulfilled);
        +      promise.cancel = function reject() {
        +        token.unsubscribe(_resolve);
        +      };
        +      return promise;
        +    };
        +    executor(function cancel(message, config, request) {
        +      if (token.reason) {
        +        // Cancellation has already been requested
        +        return;
        +      }
        +      token.reason = new CanceledError(message, config, request);
        +      resolvePromise(token.reason);
        +    });
        +  }
        +
        +  /**
        +   * Throws a `CanceledError` if cancellation has been requested.
        +   */
        +  throwIfRequested() {
        +    if (this.reason) {
        +      throw this.reason;
        +    }
        +  }
        +
        +  /**
        +   * Subscribe to the cancel signal
        +   */
        +
        +  subscribe(listener) {
        +    if (this.reason) {
        +      listener(this.reason);
        +      return;
        +    }
        +    if (this._listeners) {
        +      this._listeners.push(listener);
        +    } else {
        +      this._listeners = [listener];
        +    }
        +  }
        +
        +  /**
        +   * Unsubscribe from the cancel signal
        +   */
        +
        +  unsubscribe(listener) {
        +    if (!this._listeners) {
        +      return;
        +    }
        +    const index = this._listeners.indexOf(listener);
        +    if (index !== -1) {
        +      this._listeners.splice(index, 1);
        +    }
        +  }
        +  toAbortSignal() {
        +    const controller = new AbortController();
        +    const abort = err => {
        +      controller.abort(err);
        +    };
        +    this.subscribe(abort);
        +    controller.signal.unsubscribe = () => this.unsubscribe(abort);
        +    return controller.signal;
        +  }
        +
        +  /**
        +   * Returns an object that contains a new `CancelToken` and a function that, when called,
        +   * cancels the `CancelToken`.
        +   */
        +  static source() {
        +    let cancel;
        +    const token = new CancelToken(function executor(c) {
        +      cancel = c;
        +    });
        +    return {
        +      token,
        +      cancel
        +    };
        +  }
        +}
        +
        +/**
        + * Syntactic sugar for invoking a function and expanding an array for arguments.
        + *
        + * Common use case would be to use `Function.prototype.apply`.
        + *
        + *  ```js
        + *  function f(x, y, z) {}
        + *  const args = [1, 2, 3];
        + *  f.apply(null, args);
        + *  ```
        + *
        + * With `spread` this example can be re-written.
        + *
        + *  ```js
        + *  spread(function(x, y, z) {})([1, 2, 3]);
        + *  ```
        + *
        + * @param {Function} callback
        + *
        + * @returns {Function}
        + */
        +function spread(callback) {
        +  return function wrap(arr) {
        +    return callback.apply(null, arr);
        +  };
        +}
        +
        +/**
        + * Determines whether the payload is an error thrown by Axios
        + *
        + * @param {*} payload The value to test
        + *
        + * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false
        + */
        +function isAxiosError(payload) {
        +  return utils$1.isObject(payload) && payload.isAxiosError === true;
        +}
        +
        +const HttpStatusCode = {
        +  Continue: 100,
        +  SwitchingProtocols: 101,
        +  Processing: 102,
        +  EarlyHints: 103,
        +  Ok: 200,
        +  Created: 201,
        +  Accepted: 202,
        +  NonAuthoritativeInformation: 203,
        +  NoContent: 204,
        +  ResetContent: 205,
        +  PartialContent: 206,
        +  MultiStatus: 207,
        +  AlreadyReported: 208,
        +  ImUsed: 226,
        +  MultipleChoices: 300,
        +  MovedPermanently: 301,
        +  Found: 302,
        +  SeeOther: 303,
        +  NotModified: 304,
        +  UseProxy: 305,
        +  Unused: 306,
        +  TemporaryRedirect: 307,
        +  PermanentRedirect: 308,
        +  BadRequest: 400,
        +  Unauthorized: 401,
        +  PaymentRequired: 402,
        +  Forbidden: 403,
        +  NotFound: 404,
        +  MethodNotAllowed: 405,
        +  NotAcceptable: 406,
        +  ProxyAuthenticationRequired: 407,
        +  RequestTimeout: 408,
        +  Conflict: 409,
        +  Gone: 410,
        +  LengthRequired: 411,
        +  PreconditionFailed: 412,
        +  PayloadTooLarge: 413,
        +  UriTooLong: 414,
        +  UnsupportedMediaType: 415,
        +  RangeNotSatisfiable: 416,
        +  ExpectationFailed: 417,
        +  ImATeapot: 418,
        +  MisdirectedRequest: 421,
        +  UnprocessableEntity: 422,
        +  Locked: 423,
        +  FailedDependency: 424,
        +  TooEarly: 425,
        +  UpgradeRequired: 426,
        +  PreconditionRequired: 428,
        +  TooManyRequests: 429,
        +  RequestHeaderFieldsTooLarge: 431,
        +  UnavailableForLegalReasons: 451,
        +  InternalServerError: 500,
        +  NotImplemented: 501,
        +  BadGateway: 502,
        +  ServiceUnavailable: 503,
        +  GatewayTimeout: 504,
        +  HttpVersionNotSupported: 505,
        +  VariantAlsoNegotiates: 506,
        +  InsufficientStorage: 507,
        +  LoopDetected: 508,
        +  NotExtended: 510,
        +  NetworkAuthenticationRequired: 511,
        +  WebServerIsDown: 521,
        +  ConnectionTimedOut: 522,
        +  OriginIsUnreachable: 523,
        +  TimeoutOccurred: 524,
        +  SslHandshakeFailed: 525,
        +  InvalidSslCertificate: 526
        +};
        +Object.entries(HttpStatusCode).forEach(([key, value]) => {
        +  HttpStatusCode[value] = key;
        +});
        +
        +/**
        + * Create an instance of Axios
        + *
        + * @param {Object} defaultConfig The default config for the instance
        + *
        + * @returns {Axios} A new instance of Axios
        + */
        +function createInstance(defaultConfig) {
        +  const context = new Axios(defaultConfig);
        +  const instance = bind(Axios.prototype.request, context);
        +
        +  // Copy axios.prototype to instance
        +  utils$1.extend(instance, Axios.prototype, context, {
        +    allOwnKeys: true
        +  });
        +
        +  // Copy context to instance
        +  utils$1.extend(instance, context, null, {
        +    allOwnKeys: true
        +  });
        +
        +  // Factory for creating new instances
        +  instance.create = function create(instanceConfig) {
        +    return createInstance(mergeConfig(defaultConfig, instanceConfig));
        +  };
        +  return instance;
        +}
        +
        +// Create the default instance to be exported
        +const axios = createInstance(defaults);
        +
        +// Expose Axios class to allow class inheritance
        +axios.Axios = Axios;
        +
        +// Expose Cancel & CancelToken
        +axios.CanceledError = CanceledError;
        +axios.CancelToken = CancelToken;
        +axios.isCancel = isCancel;
        +axios.VERSION = VERSION;
        +axios.toFormData = toFormData;
        +
        +// Expose AxiosError class
        +axios.AxiosError = AxiosError;
        +
        +// alias for CanceledError for backward compatibility
        +axios.Cancel = axios.CanceledError;
        +
        +// Expose all/spread
        +axios.all = function all(promises) {
        +  return Promise.all(promises);
        +};
        +axios.spread = spread;
        +
        +// Expose isAxiosError
        +axios.isAxiosError = isAxiosError;
        +
        +// Expose mergeConfig
        +axios.mergeConfig = mergeConfig;
        +axios.AxiosHeaders = AxiosHeaders;
        +axios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);
        +axios.getAdapter = adapters.getAdapter;
        +axios.HttpStatusCode = HttpStatusCode;
        +axios.default = axios;
        +
        +module.exports = axios;
        +//# sourceMappingURL=axios.cjs.map
        +
        +
        +/***/ },
        +
        +/***/ 50018
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Scalar = __webpack_require__(89714);
        +var YAMLMap = __webpack_require__(81755);
        +var YAMLSeq = __webpack_require__(36010);
        +var resolveBlockMap = __webpack_require__(57434);
        +var resolveBlockSeq = __webpack_require__(10483);
        +var resolveFlowCollection = __webpack_require__(2291);
        +
        +function resolveCollection(CN, ctx, token, onError, tagName, tag) {
        +    const coll = token.type === 'block-map'
        +        ? resolveBlockMap.resolveBlockMap(CN, ctx, token, onError, tag)
        +        : token.type === 'block-seq'
        +            ? resolveBlockSeq.resolveBlockSeq(CN, ctx, token, onError, tag)
        +            : resolveFlowCollection.resolveFlowCollection(CN, ctx, token, onError, tag);
        +    const Coll = coll.constructor;
        +    // If we got a tagName matching the class, or the tag name is '!',
        +    // then use the tagName from the node class used to create it.
        +    if (tagName === '!' || tagName === Coll.tagName) {
        +        coll.tag = Coll.tagName;
        +        return coll;
        +    }
        +    if (tagName)
        +        coll.tag = tagName;
        +    return coll;
        +}
        +function composeCollection(CN, ctx, token, props, onError) {
        +    const tagToken = props.tag;
        +    const tagName = !tagToken
        +        ? null
        +        : ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg));
        +    if (token.type === 'block-seq') {
        +        const { anchor, newlineAfterProp: nl } = props;
        +        const lastProp = anchor && tagToken
        +            ? anchor.offset > tagToken.offset
        +                ? anchor
        +                : tagToken
        +            : (anchor ?? tagToken);
        +        if (lastProp && (!nl || nl.offset < lastProp.offset)) {
        +            const message = 'Missing newline after block sequence props';
        +            onError(lastProp, 'MISSING_CHAR', message);
        +        }
        +    }
        +    const expType = token.type === 'block-map'
        +        ? 'map'
        +        : token.type === 'block-seq'
        +            ? 'seq'
        +            : token.start.source === '{'
        +                ? 'map'
        +                : 'seq';
        +    // shortcut: check if it's a generic YAMLMap or YAMLSeq
        +    // before jumping into the custom tag logic.
        +    if (!tagToken ||
        +        !tagName ||
        +        tagName === '!' ||
        +        (tagName === YAMLMap.YAMLMap.tagName && expType === 'map') ||
        +        (tagName === YAMLSeq.YAMLSeq.tagName && expType === 'seq')) {
        +        return resolveCollection(CN, ctx, token, onError, tagName);
        +    }
        +    let tag = ctx.schema.tags.find(t => t.tag === tagName && t.collection === expType);
        +    if (!tag) {
        +        const kt = ctx.schema.knownTags[tagName];
        +        if (kt?.collection === expType) {
        +            ctx.schema.tags.push(Object.assign({}, kt, { default: false }));
        +            tag = kt;
        +        }
        +        else {
        +            if (kt) {
        +                onError(tagToken, 'BAD_COLLECTION_TYPE', `${kt.tag} used for ${expType} collection, but expects ${kt.collection ?? 'scalar'}`, true);
        +            }
        +            else {
        +                onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true);
        +            }
        +            return resolveCollection(CN, ctx, token, onError, tagName);
        +        }
        +    }
        +    const coll = resolveCollection(CN, ctx, token, onError, tagName, tag);
        +    const res = tag.resolve?.(coll, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg), ctx.options) ?? coll;
        +    const node = identity.isNode(res)
        +        ? res
        +        : new Scalar.Scalar(res);
        +    node.range = coll.range;
        +    node.tag = tagName;
        +    if (tag?.format)
        +        node.format = tag.format;
        +    return node;
        +}
        +
        +exports.composeCollection = composeCollection;
        +
        +
        +/***/ },
        +
        +/***/ 52206
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Document = __webpack_require__(9046);
        +var composeNode = __webpack_require__(12782);
        +var resolveEnd = __webpack_require__(56845);
        +var resolveProps = __webpack_require__(11386);
        +
        +function composeDoc(options, directives, { offset, start, value, end }, onError) {
        +    const opts = Object.assign({ _directives: directives }, options);
        +    const doc = new Document.Document(undefined, opts);
        +    const ctx = {
        +        atKey: false,
        +        atRoot: true,
        +        directives: doc.directives,
        +        options: doc.options,
        +        schema: doc.schema
        +    };
        +    const props = resolveProps.resolveProps(start, {
        +        indicator: 'doc-start',
        +        next: value ?? end?.[0],
        +        offset,
        +        onError,
        +        parentIndent: 0,
        +        startOnNewline: true
        +    });
        +    if (props.found) {
        +        doc.directives.docStart = true;
        +        if (value &&
        +            (value.type === 'block-map' || value.type === 'block-seq') &&
        +            !props.hasNewline)
        +            onError(props.end, 'MISSING_CHAR', 'Block collection cannot start on same line with directives-end marker');
        +    }
        +    // @ts-expect-error If Contents is set, let's trust the user
        +    doc.contents = value
        +        ? composeNode.composeNode(ctx, value, props, onError)
        +        : composeNode.composeEmptyNode(ctx, props.end, start, null, props, onError);
        +    const contentEnd = doc.contents.range[2];
        +    const re = resolveEnd.resolveEnd(end, contentEnd, false, onError);
        +    if (re.comment)
        +        doc.comment = re.comment;
        +    doc.range = [offset, contentEnd, re.offset];
        +    return doc;
        +}
        +
        +exports.composeDoc = composeDoc;
        +
        +
        +/***/ },
        +
        +/***/ 12782
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Alias = __webpack_require__(41736);
        +var identity = __webpack_require__(70484);
        +var composeCollection = __webpack_require__(50018);
        +var composeScalar = __webpack_require__(29094);
        +var resolveEnd = __webpack_require__(56845);
        +var utilEmptyScalarPosition = __webpack_require__(71040);
        +
        +const CN = { composeNode, composeEmptyNode };
        +function composeNode(ctx, token, props, onError) {
        +    const atKey = ctx.atKey;
        +    const { spaceBefore, comment, anchor, tag } = props;
        +    let node;
        +    let isSrcToken = true;
        +    switch (token.type) {
        +        case 'alias':
        +            node = composeAlias(ctx, token, onError);
        +            if (anchor || tag)
        +                onError(token, 'ALIAS_PROPS', 'An alias node must not specify any properties');
        +            break;
        +        case 'scalar':
        +        case 'single-quoted-scalar':
        +        case 'double-quoted-scalar':
        +        case 'block-scalar':
        +            node = composeScalar.composeScalar(ctx, token, tag, onError);
        +            if (anchor)
        +                node.anchor = anchor.source.substring(1);
        +            break;
        +        case 'block-map':
        +        case 'block-seq':
        +        case 'flow-collection':
        +            try {
        +                node = composeCollection.composeCollection(CN, ctx, token, props, onError);
        +                if (anchor)
        +                    node.anchor = anchor.source.substring(1);
        +            }
        +            catch (error) {
        +                // Almost certainly here due to a stack overflow
        +                const message = error instanceof Error ? error.message : String(error);
        +                onError(token, 'RESOURCE_EXHAUSTION', message);
        +            }
        +            break;
        +        default: {
        +            const message = token.type === 'error'
        +                ? token.message
        +                : `Unsupported token (type: ${token.type})`;
        +            onError(token, 'UNEXPECTED_TOKEN', message);
        +            isSrcToken = false;
        +        }
        +    }
        +    node ?? (node = composeEmptyNode(ctx, token.offset, undefined, null, props, onError));
        +    if (anchor && node.anchor === '')
        +        onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
        +    if (atKey &&
        +        ctx.options.stringKeys &&
        +        (!identity.isScalar(node) ||
        +            typeof node.value !== 'string' ||
        +            (node.tag && node.tag !== 'tag:yaml.org,2002:str'))) {
        +        const msg = 'With stringKeys, all keys must be strings';
        +        onError(tag ?? token, 'NON_STRING_KEY', msg);
        +    }
        +    if (spaceBefore)
        +        node.spaceBefore = true;
        +    if (comment) {
        +        if (token.type === 'scalar' && token.source === '')
        +            node.comment = comment;
        +        else
        +            node.commentBefore = comment;
        +    }
        +    // @ts-expect-error Type checking misses meaning of isSrcToken
        +    if (ctx.options.keepSourceTokens && isSrcToken)
        +        node.srcToken = token;
        +    return node;
        +}
        +function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag, end }, onError) {
        +    const token = {
        +        type: 'scalar',
        +        offset: utilEmptyScalarPosition.emptyScalarPosition(offset, before, pos),
        +        indent: -1,
        +        source: ''
        +    };
        +    const node = composeScalar.composeScalar(ctx, token, tag, onError);
        +    if (anchor) {
        +        node.anchor = anchor.source.substring(1);
        +        if (node.anchor === '')
        +            onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
        +    }
        +    if (spaceBefore)
        +        node.spaceBefore = true;
        +    if (comment) {
        +        node.comment = comment;
        +        node.range[2] = end;
        +    }
        +    return node;
        +}
        +function composeAlias({ options }, { offset, source, end }, onError) {
        +    const alias = new Alias.Alias(source.substring(1));
        +    if (alias.source === '')
        +        onError(offset, 'BAD_ALIAS', 'Alias cannot be an empty string');
        +    if (alias.source.endsWith(':'))
        +        onError(offset + source.length - 1, 'BAD_ALIAS', 'Alias ending in : is ambiguous', true);
        +    const valueEnd = offset + source.length;
        +    const re = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError);
        +    alias.range = [offset, valueEnd, re.offset];
        +    if (re.comment)
        +        alias.comment = re.comment;
        +    return alias;
        +}
        +
        +exports.composeEmptyNode = composeEmptyNode;
        +exports.composeNode = composeNode;
        +
        +
        +/***/ },
        +
        +/***/ 29094
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Scalar = __webpack_require__(89714);
        +var resolveBlockScalar = __webpack_require__(94070);
        +var resolveFlowScalar = __webpack_require__(27571);
        +
        +function composeScalar(ctx, token, tagToken, onError) {
        +    const { value, type, comment, range } = token.type === 'block-scalar'
        +        ? resolveBlockScalar.resolveBlockScalar(ctx, token, onError)
        +        : resolveFlowScalar.resolveFlowScalar(token, ctx.options.strict, onError);
        +    const tagName = tagToken
        +        ? ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg))
        +        : null;
        +    let tag;
        +    if (ctx.options.stringKeys && ctx.atKey) {
        +        tag = ctx.schema[identity.SCALAR];
        +    }
        +    else if (tagName)
        +        tag = findScalarTagByName(ctx.schema, value, tagName, tagToken, onError);
        +    else if (token.type === 'scalar')
        +        tag = findScalarTagByTest(ctx, value, token, onError);
        +    else
        +        tag = ctx.schema[identity.SCALAR];
        +    let scalar;
        +    try {
        +        const res = tag.resolve(value, msg => onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg), ctx.options);
        +        scalar = identity.isScalar(res) ? res : new Scalar.Scalar(res);
        +    }
        +    catch (error) {
        +        const msg = error instanceof Error ? error.message : String(error);
        +        onError(tagToken ?? token, 'TAG_RESOLVE_FAILED', msg);
        +        scalar = new Scalar.Scalar(value);
        +    }
        +    scalar.range = range;
        +    scalar.source = value;
        +    if (type)
        +        scalar.type = type;
        +    if (tagName)
        +        scalar.tag = tagName;
        +    if (tag.format)
        +        scalar.format = tag.format;
        +    if (comment)
        +        scalar.comment = comment;
        +    return scalar;
        +}
        +function findScalarTagByName(schema, value, tagName, tagToken, onError) {
        +    if (tagName === '!')
        +        return schema[identity.SCALAR]; // non-specific tag
        +    const matchWithTest = [];
        +    for (const tag of schema.tags) {
        +        if (!tag.collection && tag.tag === tagName) {
        +            if (tag.default && tag.test)
        +                matchWithTest.push(tag);
        +            else
        +                return tag;
        +        }
        +    }
        +    for (const tag of matchWithTest)
        +        if (tag.test?.test(value))
        +            return tag;
        +    const kt = schema.knownTags[tagName];
        +    if (kt && !kt.collection) {
        +        // Ensure that the known tag is available for stringifying,
        +        // but does not get used by default.
        +        schema.tags.push(Object.assign({}, kt, { default: false, test: undefined }));
        +        return kt;
        +    }
        +    onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, tagName !== 'tag:yaml.org,2002:str');
        +    return schema[identity.SCALAR];
        +}
        +function findScalarTagByTest({ atKey, directives, schema }, value, token, onError) {
        +    const tag = schema.tags.find(tag => (tag.default === true || (atKey && tag.default === 'key')) &&
        +        tag.test?.test(value)) || schema[identity.SCALAR];
        +    if (schema.compat) {
        +        const compat = schema.compat.find(tag => tag.default && tag.test?.test(value)) ??
        +            schema[identity.SCALAR];
        +        if (tag.tag !== compat.tag) {
        +            const ts = directives.tagString(tag.tag);
        +            const cs = directives.tagString(compat.tag);
        +            const msg = `Value may be parsed as either ${ts} or ${cs}`;
        +            onError(token, 'TAG_RESOLVE_FAILED', msg, true);
        +        }
        +    }
        +    return tag;
        +}
        +
        +exports.composeScalar = composeScalar;
        +
        +
        +/***/ },
        +
        +/***/ 24927
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_process = __webpack_require__(932);
        +var directives = __webpack_require__(38673);
        +var Document = __webpack_require__(9046);
        +var errors = __webpack_require__(44355);
        +var identity = __webpack_require__(70484);
        +var composeDoc = __webpack_require__(52206);
        +var resolveEnd = __webpack_require__(56845);
        +
        +function getErrorPos(src) {
        +    if (typeof src === 'number')
        +        return [src, src + 1];
        +    if (Array.isArray(src))
        +        return src.length === 2 ? src : [src[0], src[1]];
        +    const { offset, source } = src;
        +    return [offset, offset + (typeof source === 'string' ? source.length : 1)];
        +}
        +function parsePrelude(prelude) {
        +    let comment = '';
        +    let atComment = false;
        +    let afterEmptyLine = false;
        +    for (let i = 0; i < prelude.length; ++i) {
        +        const source = prelude[i];
        +        switch (source[0]) {
        +            case '#':
        +                comment +=
        +                    (comment === '' ? '' : afterEmptyLine ? '\n\n' : '\n') +
        +                        (source.substring(1) || ' ');
        +                atComment = true;
        +                afterEmptyLine = false;
        +                break;
        +            case '%':
        +                if (prelude[i + 1]?.[0] !== '#')
        +                    i += 1;
        +                atComment = false;
        +                break;
        +            default:
        +                // This may be wrong after doc-end, but in that case it doesn't matter
        +                if (!atComment)
        +                    afterEmptyLine = true;
        +                atComment = false;
        +        }
        +    }
        +    return { comment, afterEmptyLine };
        +}
        +/**
        + * Compose a stream of CST nodes into a stream of YAML Documents.
        + *
        + * ```ts
        + * import { Composer, Parser } from 'yaml'
        + *
        + * const src: string = ...
        + * const tokens = new Parser().parse(src)
        + * const docs = new Composer().compose(tokens)
        + * ```
        + */
        +class Composer {
        +    constructor(options = {}) {
        +        this.doc = null;
        +        this.atDirectives = false;
        +        this.prelude = [];
        +        this.errors = [];
        +        this.warnings = [];
        +        this.onError = (source, code, message, warning) => {
        +            const pos = getErrorPos(source);
        +            if (warning)
        +                this.warnings.push(new errors.YAMLWarning(pos, code, message));
        +            else
        +                this.errors.push(new errors.YAMLParseError(pos, code, message));
        +        };
        +        // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        +        this.directives = new directives.Directives({ version: options.version || '1.2' });
        +        this.options = options;
        +    }
        +    decorate(doc, afterDoc) {
        +        const { comment, afterEmptyLine } = parsePrelude(this.prelude);
        +        //console.log({ dc: doc.comment, prelude, comment })
        +        if (comment) {
        +            const dc = doc.contents;
        +            if (afterDoc) {
        +                doc.comment = doc.comment ? `${doc.comment}\n${comment}` : comment;
        +            }
        +            else if (afterEmptyLine || doc.directives.docStart || !dc) {
        +                doc.commentBefore = comment;
        +            }
        +            else if (identity.isCollection(dc) && !dc.flow && dc.items.length > 0) {
        +                let it = dc.items[0];
        +                if (identity.isPair(it))
        +                    it = it.key;
        +                const cb = it.commentBefore;
        +                it.commentBefore = cb ? `${comment}\n${cb}` : comment;
        +            }
        +            else {
        +                const cb = dc.commentBefore;
        +                dc.commentBefore = cb ? `${comment}\n${cb}` : comment;
        +            }
        +        }
        +        if (afterDoc) {
        +            Array.prototype.push.apply(doc.errors, this.errors);
        +            Array.prototype.push.apply(doc.warnings, this.warnings);
        +        }
        +        else {
        +            doc.errors = this.errors;
        +            doc.warnings = this.warnings;
        +        }
        +        this.prelude = [];
        +        this.errors = [];
        +        this.warnings = [];
        +    }
        +    /**
        +     * Current stream status information.
        +     *
        +     * Mostly useful at the end of input for an empty stream.
        +     */
        +    streamInfo() {
        +        return {
        +            comment: parsePrelude(this.prelude).comment,
        +            directives: this.directives,
        +            errors: this.errors,
        +            warnings: this.warnings
        +        };
        +    }
        +    /**
        +     * Compose tokens into documents.
        +     *
        +     * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
        +     * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
        +     */
        +    *compose(tokens, forceDoc = false, endOffset = -1) {
        +        for (const token of tokens)
        +            yield* this.next(token);
        +        yield* this.end(forceDoc, endOffset);
        +    }
        +    /** Advance the composer by one CST token. */
        +    *next(token) {
        +        if (node_process.env.LOG_STREAM)
        +            console.dir(token, { depth: null });
        +        switch (token.type) {
        +            case 'directive':
        +                this.directives.add(token.source, (offset, message, warning) => {
        +                    const pos = getErrorPos(token);
        +                    pos[0] += offset;
        +                    this.onError(pos, 'BAD_DIRECTIVE', message, warning);
        +                });
        +                this.prelude.push(token.source);
        +                this.atDirectives = true;
        +                break;
        +            case 'document': {
        +                const doc = composeDoc.composeDoc(this.options, this.directives, token, this.onError);
        +                if (this.atDirectives && !doc.directives.docStart)
        +                    this.onError(token, 'MISSING_CHAR', 'Missing directives-end/doc-start indicator line');
        +                this.decorate(doc, false);
        +                if (this.doc)
        +                    yield this.doc;
        +                this.doc = doc;
        +                this.atDirectives = false;
        +                break;
        +            }
        +            case 'byte-order-mark':
        +            case 'space':
        +                break;
        +            case 'comment':
        +            case 'newline':
        +                this.prelude.push(token.source);
        +                break;
        +            case 'error': {
        +                const msg = token.source
        +                    ? `${token.message}: ${JSON.stringify(token.source)}`
        +                    : token.message;
        +                const error = new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg);
        +                if (this.atDirectives || !this.doc)
        +                    this.errors.push(error);
        +                else
        +                    this.doc.errors.push(error);
        +                break;
        +            }
        +            case 'doc-end': {
        +                if (!this.doc) {
        +                    const msg = 'Unexpected doc-end without preceding document';
        +                    this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg));
        +                    break;
        +                }
        +                this.doc.directives.docEnd = true;
        +                const end = resolveEnd.resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError);
        +                this.decorate(this.doc, true);
        +                if (end.comment) {
        +                    const dc = this.doc.comment;
        +                    this.doc.comment = dc ? `${dc}\n${end.comment}` : end.comment;
        +                }
        +                this.doc.range[2] = end.offset;
        +                break;
        +            }
        +            default:
        +                this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', `Unsupported token ${token.type}`));
        +        }
        +    }
        +    /**
        +     * Call at end of input to yield any remaining document.
        +     *
        +     * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
        +     * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
        +     */
        +    *end(forceDoc = false, endOffset = -1) {
        +        if (this.doc) {
        +            this.decorate(this.doc, true);
        +            yield this.doc;
        +            this.doc = null;
        +        }
        +        else if (forceDoc) {
        +            const opts = Object.assign({ _directives: this.directives }, this.options);
        +            const doc = new Document.Document(undefined, opts);
        +            if (this.atDirectives)
        +                this.onError(endOffset, 'MISSING_CHAR', 'Missing directives-end indicator line');
        +            doc.range = [0, endOffset, endOffset];
        +            this.decorate(doc, false);
        +            yield doc;
        +        }
        +    }
        +}
        +
        +exports.Composer = Composer;
        +
        +
        +/***/ },
        +
        +/***/ 57434
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Pair = __webpack_require__(27902);
        +var YAMLMap = __webpack_require__(81755);
        +var resolveProps = __webpack_require__(11386);
        +var utilContainsNewline = __webpack_require__(9378);
        +var utilFlowIndentCheck = __webpack_require__(68644);
        +var utilMapIncludes = __webpack_require__(48334);
        +
        +const startColMsg = 'All mapping items must start at the same column';
        +function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError, tag) {
        +    const NodeClass = tag?.nodeClass ?? YAMLMap.YAMLMap;
        +    const map = new NodeClass(ctx.schema);
        +    if (ctx.atRoot)
        +        ctx.atRoot = false;
        +    let offset = bm.offset;
        +    let commentEnd = null;
        +    for (const collItem of bm.items) {
        +        const { start, key, sep, value } = collItem;
        +        // key properties
        +        const keyProps = resolveProps.resolveProps(start, {
        +            indicator: 'explicit-key-ind',
        +            next: key ?? sep?.[0],
        +            offset,
        +            onError,
        +            parentIndent: bm.indent,
        +            startOnNewline: true
        +        });
        +        const implicitKey = !keyProps.found;
        +        if (implicitKey) {
        +            if (key) {
        +                if (key.type === 'block-seq')
        +                    onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'A block sequence may not be used as an implicit map key');
        +                else if ('indent' in key && key.indent !== bm.indent)
        +                    onError(offset, 'BAD_INDENT', startColMsg);
        +            }
        +            if (!keyProps.anchor && !keyProps.tag && !sep) {
        +                commentEnd = keyProps.end;
        +                if (keyProps.comment) {
        +                    if (map.comment)
        +                        map.comment += '\n' + keyProps.comment;
        +                    else
        +                        map.comment = keyProps.comment;
        +                }
        +                continue;
        +            }
        +            if (keyProps.newlineAfterProp || utilContainsNewline.containsNewline(key)) {
        +                onError(key ?? start[start.length - 1], 'MULTILINE_IMPLICIT_KEY', 'Implicit keys need to be on a single line');
        +            }
        +        }
        +        else if (keyProps.found?.indent !== bm.indent) {
        +            onError(offset, 'BAD_INDENT', startColMsg);
        +        }
        +        // key value
        +        ctx.atKey = true;
        +        const keyStart = keyProps.end;
        +        const keyNode = key
        +            ? composeNode(ctx, key, keyProps, onError)
        +            : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
        +        if (ctx.schema.compat)
        +            utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError);
        +        ctx.atKey = false;
        +        if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode))
        +            onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
        +        // value properties
        +        const valueProps = resolveProps.resolveProps(sep ?? [], {
        +            indicator: 'map-value-ind',
        +            next: value,
        +            offset: keyNode.range[2],
        +            onError,
        +            parentIndent: bm.indent,
        +            startOnNewline: !key || key.type === 'block-scalar'
        +        });
        +        offset = valueProps.end;
        +        if (valueProps.found) {
        +            if (implicitKey) {
        +                if (value?.type === 'block-map' && !valueProps.hasNewline)
        +                    onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'Nested mappings are not allowed in compact mappings');
        +                if (ctx.options.strict &&
        +                    keyProps.start < valueProps.found.offset - 1024)
        +                    onError(keyNode.range, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit block mapping key');
        +            }
        +            // value value
        +            const valueNode = value
        +                ? composeNode(ctx, value, valueProps, onError)
        +                : composeEmptyNode(ctx, offset, sep, null, valueProps, onError);
        +            if (ctx.schema.compat)
        +                utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError);
        +            offset = valueNode.range[2];
        +            const pair = new Pair.Pair(keyNode, valueNode);
        +            if (ctx.options.keepSourceTokens)
        +                pair.srcToken = collItem;
        +            map.items.push(pair);
        +        }
        +        else {
        +            // key with no value
        +            if (implicitKey)
        +                onError(keyNode.range, 'MISSING_CHAR', 'Implicit map keys need to be followed by map values');
        +            if (valueProps.comment) {
        +                if (keyNode.comment)
        +                    keyNode.comment += '\n' + valueProps.comment;
        +                else
        +                    keyNode.comment = valueProps.comment;
        +            }
        +            const pair = new Pair.Pair(keyNode);
        +            if (ctx.options.keepSourceTokens)
        +                pair.srcToken = collItem;
        +            map.items.push(pair);
        +        }
        +    }
        +    if (commentEnd && commentEnd < offset)
        +        onError(commentEnd, 'IMPOSSIBLE', 'Map comment with trailing content');
        +    map.range = [bm.offset, offset, commentEnd ?? offset];
        +    return map;
        +}
        +
        +exports.resolveBlockMap = resolveBlockMap;
        +
        +
        +/***/ },
        +
        +/***/ 94070
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +
        +function resolveBlockScalar(ctx, scalar, onError) {
        +    const start = scalar.offset;
        +    const header = parseBlockScalarHeader(scalar, ctx.options.strict, onError);
        +    if (!header)
        +        return { value: '', type: null, comment: '', range: [start, start, start] };
        +    const type = header.mode === '>' ? Scalar.Scalar.BLOCK_FOLDED : Scalar.Scalar.BLOCK_LITERAL;
        +    const lines = scalar.source ? splitLines(scalar.source) : [];
        +    // determine the end of content & start of chomping
        +    let chompStart = lines.length;
        +    for (let i = lines.length - 1; i >= 0; --i) {
        +        const content = lines[i][1];
        +        if (content === '' || content === '\r')
        +            chompStart = i;
        +        else
        +            break;
        +    }
        +    // shortcut for empty contents
        +    if (chompStart === 0) {
        +        const value = header.chomp === '+' && lines.length > 0
        +            ? '\n'.repeat(Math.max(1, lines.length - 1))
        +            : '';
        +        let end = start + header.length;
        +        if (scalar.source)
        +            end += scalar.source.length;
        +        return { value, type, comment: header.comment, range: [start, end, end] };
        +    }
        +    // find the indentation level to trim from start
        +    let trimIndent = scalar.indent + header.indent;
        +    let offset = scalar.offset + header.length;
        +    let contentStart = 0;
        +    for (let i = 0; i < chompStart; ++i) {
        +        const [indent, content] = lines[i];
        +        if (content === '' || content === '\r') {
        +            if (header.indent === 0 && indent.length > trimIndent)
        +                trimIndent = indent.length;
        +        }
        +        else {
        +            if (indent.length < trimIndent) {
        +                const message = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';
        +                onError(offset + indent.length, 'MISSING_CHAR', message);
        +            }
        +            if (header.indent === 0)
        +                trimIndent = indent.length;
        +            contentStart = i;
        +            if (trimIndent === 0 && !ctx.atRoot) {
        +                const message = 'Block scalar values in collections must be indented';
        +                onError(offset, 'BAD_INDENT', message);
        +            }
        +            break;
        +        }
        +        offset += indent.length + content.length + 1;
        +    }
        +    // include trailing more-indented empty lines in content
        +    for (let i = lines.length - 1; i >= chompStart; --i) {
        +        if (lines[i][0].length > trimIndent)
        +            chompStart = i + 1;
        +    }
        +    let value = '';
        +    let sep = '';
        +    let prevMoreIndented = false;
        +    // leading whitespace is kept intact
        +    for (let i = 0; i < contentStart; ++i)
        +        value += lines[i][0].slice(trimIndent) + '\n';
        +    for (let i = contentStart; i < chompStart; ++i) {
        +        let [indent, content] = lines[i];
        +        offset += indent.length + content.length + 1;
        +        const crlf = content[content.length - 1] === '\r';
        +        if (crlf)
        +            content = content.slice(0, -1);
        +        /* istanbul ignore if already caught in lexer */
        +        if (content && indent.length < trimIndent) {
        +            const src = header.indent
        +                ? 'explicit indentation indicator'
        +                : 'first line';
        +            const message = `Block scalar lines must not be less indented than their ${src}`;
        +            onError(offset - content.length - (crlf ? 2 : 1), 'BAD_INDENT', message);
        +            indent = '';
        +        }
        +        if (type === Scalar.Scalar.BLOCK_LITERAL) {
        +            value += sep + indent.slice(trimIndent) + content;
        +            sep = '\n';
        +        }
        +        else if (indent.length > trimIndent || content[0] === '\t') {
        +            // more-indented content within a folded block
        +            if (sep === ' ')
        +                sep = '\n';
        +            else if (!prevMoreIndented && sep === '\n')
        +                sep = '\n\n';
        +            value += sep + indent.slice(trimIndent) + content;
        +            sep = '\n';
        +            prevMoreIndented = true;
        +        }
        +        else if (content === '') {
        +            // empty line
        +            if (sep === '\n')
        +                value += '\n';
        +            else
        +                sep = '\n';
        +        }
        +        else {
        +            value += sep + content;
        +            sep = ' ';
        +            prevMoreIndented = false;
        +        }
        +    }
        +    switch (header.chomp) {
        +        case '-':
        +            break;
        +        case '+':
        +            for (let i = chompStart; i < lines.length; ++i)
        +                value += '\n' + lines[i][0].slice(trimIndent);
        +            if (value[value.length - 1] !== '\n')
        +                value += '\n';
        +            break;
        +        default:
        +            value += '\n';
        +    }
        +    const end = start + header.length + scalar.source.length;
        +    return { value, type, comment: header.comment, range: [start, end, end] };
        +}
        +function parseBlockScalarHeader({ offset, props }, strict, onError) {
        +    /* istanbul ignore if should not happen */
        +    if (props[0].type !== 'block-scalar-header') {
        +        onError(props[0], 'IMPOSSIBLE', 'Block scalar header not found');
        +        return null;
        +    }
        +    const { source } = props[0];
        +    const mode = source[0];
        +    let indent = 0;
        +    let chomp = '';
        +    let error = -1;
        +    for (let i = 1; i < source.length; ++i) {
        +        const ch = source[i];
        +        if (!chomp && (ch === '-' || ch === '+'))
        +            chomp = ch;
        +        else {
        +            const n = Number(ch);
        +            if (!indent && n)
        +                indent = n;
        +            else if (error === -1)
        +                error = offset + i;
        +        }
        +    }
        +    if (error !== -1)
        +        onError(error, 'UNEXPECTED_TOKEN', `Block scalar header includes extra characters: ${source}`);
        +    let hasSpace = false;
        +    let comment = '';
        +    let length = source.length;
        +    for (let i = 1; i < props.length; ++i) {
        +        const token = props[i];
        +        switch (token.type) {
        +            case 'space':
        +                hasSpace = true;
        +            // fallthrough
        +            case 'newline':
        +                length += token.source.length;
        +                break;
        +            case 'comment':
        +                if (strict && !hasSpace) {
        +                    const message = 'Comments must be separated from other tokens by white space characters';
        +                    onError(token, 'MISSING_CHAR', message);
        +                }
        +                length += token.source.length;
        +                comment = token.source.substring(1);
        +                break;
        +            case 'error':
        +                onError(token, 'UNEXPECTED_TOKEN', token.message);
        +                length += token.source.length;
        +                break;
        +            /* istanbul ignore next should not happen */
        +            default: {
        +                const message = `Unexpected token in block scalar header: ${token.type}`;
        +                onError(token, 'UNEXPECTED_TOKEN', message);
        +                const ts = token.source;
        +                if (ts && typeof ts === 'string')
        +                    length += ts.length;
        +            }
        +        }
        +    }
        +    return { mode, indent, chomp, comment, length };
        +}
        +/** @returns Array of lines split up as `[indent, content]` */
        +function splitLines(source) {
        +    const split = source.split(/\n( *)/);
        +    const first = split[0];
        +    const m = first.match(/^( *)/);
        +    const line0 = m?.[1]
        +        ? [m[1], first.slice(m[1].length)]
        +        : ['', first];
        +    const lines = [line0];
        +    for (let i = 1; i < split.length; i += 2)
        +        lines.push([split[i], split[i + 1]]);
        +    return lines;
        +}
        +
        +exports.resolveBlockScalar = resolveBlockScalar;
        +
        +
        +/***/ },
        +
        +/***/ 10483
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var YAMLSeq = __webpack_require__(36010);
        +var resolveProps = __webpack_require__(11386);
        +var utilFlowIndentCheck = __webpack_require__(68644);
        +
        +function resolveBlockSeq({ composeNode, composeEmptyNode }, ctx, bs, onError, tag) {
        +    const NodeClass = tag?.nodeClass ?? YAMLSeq.YAMLSeq;
        +    const seq = new NodeClass(ctx.schema);
        +    if (ctx.atRoot)
        +        ctx.atRoot = false;
        +    if (ctx.atKey)
        +        ctx.atKey = false;
        +    let offset = bs.offset;
        +    let commentEnd = null;
        +    for (const { start, value } of bs.items) {
        +        const props = resolveProps.resolveProps(start, {
        +            indicator: 'seq-item-ind',
        +            next: value,
        +            offset,
        +            onError,
        +            parentIndent: bs.indent,
        +            startOnNewline: true
        +        });
        +        if (!props.found) {
        +            if (props.anchor || props.tag || value) {
        +                if (value?.type === 'block-seq')
        +                    onError(props.end, 'BAD_INDENT', 'All sequence items must start at the same column');
        +                else
        +                    onError(offset, 'MISSING_CHAR', 'Sequence item without - indicator');
        +            }
        +            else {
        +                commentEnd = props.end;
        +                if (props.comment)
        +                    seq.comment = props.comment;
        +                continue;
        +            }
        +        }
        +        const node = value
        +            ? composeNode(ctx, value, props, onError)
        +            : composeEmptyNode(ctx, props.end, start, null, props, onError);
        +        if (ctx.schema.compat)
        +            utilFlowIndentCheck.flowIndentCheck(bs.indent, value, onError);
        +        offset = node.range[2];
        +        seq.items.push(node);
        +    }
        +    seq.range = [bs.offset, offset, commentEnd ?? offset];
        +    return seq;
        +}
        +
        +exports.resolveBlockSeq = resolveBlockSeq;
        +
        +
        +/***/ },
        +
        +/***/ 56845
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function resolveEnd(end, offset, reqSpace, onError) {
        +    let comment = '';
        +    if (end) {
        +        let hasSpace = false;
        +        let sep = '';
        +        for (const token of end) {
        +            const { source, type } = token;
        +            switch (type) {
        +                case 'space':
        +                    hasSpace = true;
        +                    break;
        +                case 'comment': {
        +                    if (reqSpace && !hasSpace)
        +                        onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
        +                    const cb = source.substring(1) || ' ';
        +                    if (!comment)
        +                        comment = cb;
        +                    else
        +                        comment += sep + cb;
        +                    sep = '';
        +                    break;
        +                }
        +                case 'newline':
        +                    if (comment)
        +                        sep += source;
        +                    hasSpace = true;
        +                    break;
        +                default:
        +                    onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${type} at node end`);
        +            }
        +            offset += source.length;
        +        }
        +    }
        +    return { comment, offset };
        +}
        +
        +exports.resolveEnd = resolveEnd;
        +
        +
        +/***/ },
        +
        +/***/ 2291
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Pair = __webpack_require__(27902);
        +var YAMLMap = __webpack_require__(81755);
        +var YAMLSeq = __webpack_require__(36010);
        +var resolveEnd = __webpack_require__(56845);
        +var resolveProps = __webpack_require__(11386);
        +var utilContainsNewline = __webpack_require__(9378);
        +var utilMapIncludes = __webpack_require__(48334);
        +
        +const blockMsg = 'Block collections are not allowed within flow collections';
        +const isBlock = (token) => token && (token.type === 'block-map' || token.type === 'block-seq');
        +function resolveFlowCollection({ composeNode, composeEmptyNode }, ctx, fc, onError, tag) {
        +    const isMap = fc.start.source === '{';
        +    const fcName = isMap ? 'flow map' : 'flow sequence';
        +    const NodeClass = (tag?.nodeClass ?? (isMap ? YAMLMap.YAMLMap : YAMLSeq.YAMLSeq));
        +    const coll = new NodeClass(ctx.schema);
        +    coll.flow = true;
        +    const atRoot = ctx.atRoot;
        +    if (atRoot)
        +        ctx.atRoot = false;
        +    if (ctx.atKey)
        +        ctx.atKey = false;
        +    let offset = fc.offset + fc.start.source.length;
        +    for (let i = 0; i < fc.items.length; ++i) {
        +        const collItem = fc.items[i];
        +        const { start, key, sep, value } = collItem;
        +        const props = resolveProps.resolveProps(start, {
        +            flow: fcName,
        +            indicator: 'explicit-key-ind',
        +            next: key ?? sep?.[0],
        +            offset,
        +            onError,
        +            parentIndent: fc.indent,
        +            startOnNewline: false
        +        });
        +        if (!props.found) {
        +            if (!props.anchor && !props.tag && !sep && !value) {
        +                if (i === 0 && props.comma)
        +                    onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
        +                else if (i < fc.items.length - 1)
        +                    onError(props.start, 'UNEXPECTED_TOKEN', `Unexpected empty item in ${fcName}`);
        +                if (props.comment) {
        +                    if (coll.comment)
        +                        coll.comment += '\n' + props.comment;
        +                    else
        +                        coll.comment = props.comment;
        +                }
        +                offset = props.end;
        +                continue;
        +            }
        +            if (!isMap && ctx.options.strict && utilContainsNewline.containsNewline(key))
        +                onError(key, // checked by containsNewline()
        +                'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
        +        }
        +        if (i === 0) {
        +            if (props.comma)
        +                onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
        +        }
        +        else {
        +            if (!props.comma)
        +                onError(props.start, 'MISSING_CHAR', `Missing , between ${fcName} items`);
        +            if (props.comment) {
        +                let prevItemComment = '';
        +                loop: for (const st of start) {
        +                    switch (st.type) {
        +                        case 'comma':
        +                        case 'space':
        +                            break;
        +                        case 'comment':
        +                            prevItemComment = st.source.substring(1);
        +                            break loop;
        +                        default:
        +                            break loop;
        +                    }
        +                }
        +                if (prevItemComment) {
        +                    let prev = coll.items[coll.items.length - 1];
        +                    if (identity.isPair(prev))
        +                        prev = prev.value ?? prev.key;
        +                    if (prev.comment)
        +                        prev.comment += '\n' + prevItemComment;
        +                    else
        +                        prev.comment = prevItemComment;
        +                    props.comment = props.comment.substring(prevItemComment.length + 1);
        +                }
        +            }
        +        }
        +        if (!isMap && !sep && !props.found) {
        +            // item is a value in a seq
        +            // → key & sep are empty, start does not include ? or :
        +            const valueNode = value
        +                ? composeNode(ctx, value, props, onError)
        +                : composeEmptyNode(ctx, props.end, sep, null, props, onError);
        +            coll.items.push(valueNode);
        +            offset = valueNode.range[2];
        +            if (isBlock(value))
        +                onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
        +        }
        +        else {
        +            // item is a key+value pair
        +            // key value
        +            ctx.atKey = true;
        +            const keyStart = props.end;
        +            const keyNode = key
        +                ? composeNode(ctx, key, props, onError)
        +                : composeEmptyNode(ctx, keyStart, start, null, props, onError);
        +            if (isBlock(key))
        +                onError(keyNode.range, 'BLOCK_IN_FLOW', blockMsg);
        +            ctx.atKey = false;
        +            // value properties
        +            const valueProps = resolveProps.resolveProps(sep ?? [], {
        +                flow: fcName,
        +                indicator: 'map-value-ind',
        +                next: value,
        +                offset: keyNode.range[2],
        +                onError,
        +                parentIndent: fc.indent,
        +                startOnNewline: false
        +            });
        +            if (valueProps.found) {
        +                if (!isMap && !props.found && ctx.options.strict) {
        +                    if (sep)
        +                        for (const st of sep) {
        +                            if (st === valueProps.found)
        +                                break;
        +                            if (st.type === 'newline') {
        +                                onError(st, 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
        +                                break;
        +                            }
        +                        }
        +                    if (props.start < valueProps.found.offset - 1024)
        +                        onError(valueProps.found, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit flow sequence key');
        +                }
        +            }
        +            else if (value) {
        +                if ('source' in value && value.source?.[0] === ':')
        +                    onError(value, 'MISSING_CHAR', `Missing space after : in ${fcName}`);
        +                else
        +                    onError(valueProps.start, 'MISSING_CHAR', `Missing , or : between ${fcName} items`);
        +            }
        +            // value value
        +            const valueNode = value
        +                ? composeNode(ctx, value, valueProps, onError)
        +                : valueProps.found
        +                    ? composeEmptyNode(ctx, valueProps.end, sep, null, valueProps, onError)
        +                    : null;
        +            if (valueNode) {
        +                if (isBlock(value))
        +                    onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
        +            }
        +            else if (valueProps.comment) {
        +                if (keyNode.comment)
        +                    keyNode.comment += '\n' + valueProps.comment;
        +                else
        +                    keyNode.comment = valueProps.comment;
        +            }
        +            const pair = new Pair.Pair(keyNode, valueNode);
        +            if (ctx.options.keepSourceTokens)
        +                pair.srcToken = collItem;
        +            if (isMap) {
        +                const map = coll;
        +                if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode))
        +                    onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
        +                map.items.push(pair);
        +            }
        +            else {
        +                const map = new YAMLMap.YAMLMap(ctx.schema);
        +                map.flow = true;
        +                map.items.push(pair);
        +                const endRange = (valueNode ?? keyNode).range;
        +                map.range = [keyNode.range[0], endRange[1], endRange[2]];
        +                coll.items.push(map);
        +            }
        +            offset = valueNode ? valueNode.range[2] : valueProps.end;
        +        }
        +    }
        +    const expectedEnd = isMap ? '}' : ']';
        +    const [ce, ...ee] = fc.end;
        +    let cePos = offset;
        +    if (ce?.source === expectedEnd)
        +        cePos = ce.offset + ce.source.length;
        +    else {
        +        const name = fcName[0].toUpperCase() + fcName.substring(1);
        +        const msg = atRoot
        +            ? `${name} must end with a ${expectedEnd}`
        +            : `${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`;
        +        onError(offset, atRoot ? 'MISSING_CHAR' : 'BAD_INDENT', msg);
        +        if (ce && ce.source.length !== 1)
        +            ee.unshift(ce);
        +    }
        +    if (ee.length > 0) {
        +        const end = resolveEnd.resolveEnd(ee, cePos, ctx.options.strict, onError);
        +        if (end.comment) {
        +            if (coll.comment)
        +                coll.comment += '\n' + end.comment;
        +            else
        +                coll.comment = end.comment;
        +        }
        +        coll.range = [fc.offset, cePos, end.offset];
        +    }
        +    else {
        +        coll.range = [fc.offset, cePos, cePos];
        +    }
        +    return coll;
        +}
        +
        +exports.resolveFlowCollection = resolveFlowCollection;
        +
        +
        +/***/ },
        +
        +/***/ 27571
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +var resolveEnd = __webpack_require__(56845);
        +
        +function resolveFlowScalar(scalar, strict, onError) {
        +    const { offset, type, source, end } = scalar;
        +    let _type;
        +    let value;
        +    const _onError = (rel, code, msg) => onError(offset + rel, code, msg);
        +    switch (type) {
        +        case 'scalar':
        +            _type = Scalar.Scalar.PLAIN;
        +            value = plainValue(source, _onError);
        +            break;
        +        case 'single-quoted-scalar':
        +            _type = Scalar.Scalar.QUOTE_SINGLE;
        +            value = singleQuotedValue(source, _onError);
        +            break;
        +        case 'double-quoted-scalar':
        +            _type = Scalar.Scalar.QUOTE_DOUBLE;
        +            value = doubleQuotedValue(source, _onError);
        +            break;
        +        /* istanbul ignore next should not happen */
        +        default:
        +            onError(scalar, 'UNEXPECTED_TOKEN', `Expected a flow scalar value, but found: ${type}`);
        +            return {
        +                value: '',
        +                type: null,
        +                comment: '',
        +                range: [offset, offset + source.length, offset + source.length]
        +            };
        +    }
        +    const valueEnd = offset + source.length;
        +    const re = resolveEnd.resolveEnd(end, valueEnd, strict, onError);
        +    return {
        +        value,
        +        type: _type,
        +        comment: re.comment,
        +        range: [offset, valueEnd, re.offset]
        +    };
        +}
        +function plainValue(source, onError) {
        +    let badChar = '';
        +    switch (source[0]) {
        +        /* istanbul ignore next should not happen */
        +        case '\t':
        +            badChar = 'a tab character';
        +            break;
        +        case ',':
        +            badChar = 'flow indicator character ,';
        +            break;
        +        case '%':
        +            badChar = 'directive indicator character %';
        +            break;
        +        case '|':
        +        case '>': {
        +            badChar = `block scalar indicator ${source[0]}`;
        +            break;
        +        }
        +        case '@':
        +        case '`': {
        +            badChar = `reserved character ${source[0]}`;
        +            break;
        +        }
        +    }
        +    if (badChar)
        +        onError(0, 'BAD_SCALAR_START', `Plain value cannot start with ${badChar}`);
        +    return foldLines(source);
        +}
        +function singleQuotedValue(source, onError) {
        +    if (source[source.length - 1] !== "'" || source.length === 1)
        +        onError(source.length, 'MISSING_CHAR', "Missing closing 'quote");
        +    return foldLines(source.slice(1, -1)).replace(/''/g, "'");
        +}
        +function foldLines(source) {
        +    /**
        +     * The negative lookbehind here and in the `re` RegExp is to
        +     * prevent causing a polynomial search time in certain cases.
        +     *
        +     * The try-catch is for Safari, which doesn't support this yet:
        +     * https://caniuse.com/js-regexp-lookbehind
        +     */
        +    let first, line;
        +    try {
        +        first = new RegExp('(.*?)(? wsStart ? source.slice(wsStart, i + 1) : ch;
        +        }
        +        else {
        +            res += ch;
        +        }
        +    }
        +    if (source[source.length - 1] !== '"' || source.length === 1)
        +        onError(source.length, 'MISSING_CHAR', 'Missing closing "quote');
        +    return res;
        +}
        +/**
        + * Fold a single newline into a space, multiple newlines to N - 1 newlines.
        + * Presumes `source[offset] === '\n'`
        + */
        +function foldNewline(source, offset) {
        +    let fold = '';
        +    let ch = source[offset + 1];
        +    while (ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r') {
        +        if (ch === '\r' && source[offset + 2] !== '\n')
        +            break;
        +        if (ch === '\n')
        +            fold += '\n';
        +        offset += 1;
        +        ch = source[offset + 1];
        +    }
        +    if (!fold)
        +        fold = ' ';
        +    return { fold, offset };
        +}
        +const escapeCodes = {
        +    '0': '\0', // null character
        +    a: '\x07', // bell character
        +    b: '\b', // backspace
        +    e: '\x1b', // escape character
        +    f: '\f', // form feed
        +    n: '\n', // line feed
        +    r: '\r', // carriage return
        +    t: '\t', // horizontal tab
        +    v: '\v', // vertical tab
        +    N: '\u0085', // Unicode next line
        +    _: '\u00a0', // Unicode non-breaking space
        +    L: '\u2028', // Unicode line separator
        +    P: '\u2029', // Unicode paragraph separator
        +    ' ': ' ',
        +    '"': '"',
        +    '/': '/',
        +    '\\': '\\',
        +    '\t': '\t'
        +};
        +function parseCharCode(source, offset, length, onError) {
        +    const cc = source.substr(offset, length);
        +    const ok = cc.length === length && /^[0-9a-fA-F]+$/.test(cc);
        +    const code = ok ? parseInt(cc, 16) : NaN;
        +    if (isNaN(code)) {
        +        const raw = source.substr(offset - 2, length + 2);
        +        onError(offset - 2, 'BAD_DQ_ESCAPE', `Invalid escape sequence ${raw}`);
        +        return raw;
        +    }
        +    return String.fromCodePoint(code);
        +}
        +
        +exports.resolveFlowScalar = resolveFlowScalar;
        +
        +
        +/***/ },
        +
        +/***/ 11386
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) {
        +    let spaceBefore = false;
        +    let atNewline = startOnNewline;
        +    let hasSpace = startOnNewline;
        +    let comment = '';
        +    let commentSep = '';
        +    let hasNewline = false;
        +    let reqSpace = false;
        +    let tab = null;
        +    let anchor = null;
        +    let tag = null;
        +    let newlineAfterProp = null;
        +    let comma = null;
        +    let found = null;
        +    let start = null;
        +    for (const token of tokens) {
        +        if (reqSpace) {
        +            if (token.type !== 'space' &&
        +                token.type !== 'newline' &&
        +                token.type !== 'comma')
        +                onError(token.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space');
        +            reqSpace = false;
        +        }
        +        if (tab) {
        +            if (atNewline && token.type !== 'comment' && token.type !== 'newline') {
        +                onError(tab, 'TAB_AS_INDENT', 'Tabs are not allowed as indentation');
        +            }
        +            tab = null;
        +        }
        +        switch (token.type) {
        +            case 'space':
        +                // At the doc level, tabs at line start may be parsed
        +                // as leading white space rather than indentation.
        +                // In a flow collection, only the parser handles indent.
        +                if (!flow &&
        +                    (indicator !== 'doc-start' || next?.type !== 'flow-collection') &&
        +                    token.source.includes('\t')) {
        +                    tab = token;
        +                }
        +                hasSpace = true;
        +                break;
        +            case 'comment': {
        +                if (!hasSpace)
        +                    onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
        +                const cb = token.source.substring(1) || ' ';
        +                if (!comment)
        +                    comment = cb;
        +                else
        +                    comment += commentSep + cb;
        +                commentSep = '';
        +                atNewline = false;
        +                break;
        +            }
        +            case 'newline':
        +                if (atNewline) {
        +                    if (comment)
        +                        comment += token.source;
        +                    else if (!found || indicator !== 'seq-item-ind')
        +                        spaceBefore = true;
        +                }
        +                else
        +                    commentSep += token.source;
        +                atNewline = true;
        +                hasNewline = true;
        +                if (anchor || tag)
        +                    newlineAfterProp = token;
        +                hasSpace = true;
        +                break;
        +            case 'anchor':
        +                if (anchor)
        +                    onError(token, 'MULTIPLE_ANCHORS', 'A node can have at most one anchor');
        +                if (token.source.endsWith(':'))
        +                    onError(token.offset + token.source.length - 1, 'BAD_ALIAS', 'Anchor ending in : is ambiguous', true);
        +                anchor = token;
        +                start ?? (start = token.offset);
        +                atNewline = false;
        +                hasSpace = false;
        +                reqSpace = true;
        +                break;
        +            case 'tag': {
        +                if (tag)
        +                    onError(token, 'MULTIPLE_TAGS', 'A node can have at most one tag');
        +                tag = token;
        +                start ?? (start = token.offset);
        +                atNewline = false;
        +                hasSpace = false;
        +                reqSpace = true;
        +                break;
        +            }
        +            case indicator:
        +                // Could here handle preceding comments differently
        +                if (anchor || tag)
        +                    onError(token, 'BAD_PROP_ORDER', `Anchors and tags must be after the ${token.source} indicator`);
        +                if (found)
        +                    onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.source} in ${flow ?? 'collection'}`);
        +                found = token;
        +                atNewline =
        +                    indicator === 'seq-item-ind' || indicator === 'explicit-key-ind';
        +                hasSpace = false;
        +                break;
        +            case 'comma':
        +                if (flow) {
        +                    if (comma)
        +                        onError(token, 'UNEXPECTED_TOKEN', `Unexpected , in ${flow}`);
        +                    comma = token;
        +                    atNewline = false;
        +                    hasSpace = false;
        +                    break;
        +                }
        +            // else fallthrough
        +            default:
        +                onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${token.type} token`);
        +                atNewline = false;
        +                hasSpace = false;
        +        }
        +    }
        +    const last = tokens[tokens.length - 1];
        +    const end = last ? last.offset + last.source.length : offset;
        +    if (reqSpace &&
        +        next &&
        +        next.type !== 'space' &&
        +        next.type !== 'newline' &&
        +        next.type !== 'comma' &&
        +        (next.type !== 'scalar' || next.source !== '')) {
        +        onError(next.offset, 'MISSING_CHAR', 'Tags and anchors must be separated from the next token by white space');
        +    }
        +    if (tab &&
        +        ((atNewline && tab.indent <= parentIndent) ||
        +            next?.type === 'block-map' ||
        +            next?.type === 'block-seq'))
        +        onError(tab, 'TAB_AS_INDENT', 'Tabs are not allowed as indentation');
        +    return {
        +        comma,
        +        found,
        +        spaceBefore,
        +        comment,
        +        hasNewline,
        +        anchor,
        +        tag,
        +        newlineAfterProp,
        +        end,
        +        start: start ?? end
        +    };
        +}
        +
        +exports.resolveProps = resolveProps;
        +
        +
        +/***/ },
        +
        +/***/ 9378
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function containsNewline(key) {
        +    if (!key)
        +        return null;
        +    switch (key.type) {
        +        case 'alias':
        +        case 'scalar':
        +        case 'double-quoted-scalar':
        +        case 'single-quoted-scalar':
        +            if (key.source.includes('\n'))
        +                return true;
        +            if (key.end)
        +                for (const st of key.end)
        +                    if (st.type === 'newline')
        +                        return true;
        +            return false;
        +        case 'flow-collection':
        +            for (const it of key.items) {
        +                for (const st of it.start)
        +                    if (st.type === 'newline')
        +                        return true;
        +                if (it.sep)
        +                    for (const st of it.sep)
        +                        if (st.type === 'newline')
        +                            return true;
        +                if (containsNewline(it.key) || containsNewline(it.value))
        +                    return true;
        +            }
        +            return false;
        +        default:
        +            return true;
        +    }
        +}
        +
        +exports.containsNewline = containsNewline;
        +
        +
        +/***/ },
        +
        +/***/ 71040
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function emptyScalarPosition(offset, before, pos) {
        +    if (before) {
        +        pos ?? (pos = before.length);
        +        for (let i = pos - 1; i >= 0; --i) {
        +            let st = before[i];
        +            switch (st.type) {
        +                case 'space':
        +                case 'comment':
        +                case 'newline':
        +                    offset -= st.source.length;
        +                    continue;
        +            }
        +            // Technically, an empty scalar is immediately after the last non-empty
        +            // node, but it's more useful to place it after any whitespace.
        +            st = before[++i];
        +            while (st?.type === 'space') {
        +                offset += st.source.length;
        +                st = before[++i];
        +            }
        +            break;
        +        }
        +    }
        +    return offset;
        +}
        +
        +exports.emptyScalarPosition = emptyScalarPosition;
        +
        +
        +/***/ },
        +
        +/***/ 68644
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var utilContainsNewline = __webpack_require__(9378);
        +
        +function flowIndentCheck(indent, fc, onError) {
        +    if (fc?.type === 'flow-collection') {
        +        const end = fc.end[0];
        +        if (end.indent === indent &&
        +            (end.source === ']' || end.source === '}') &&
        +            utilContainsNewline.containsNewline(fc)) {
        +            const msg = 'Flow end indicator should be more indented than parent';
        +            onError(end, 'BAD_INDENT', msg, true);
        +        }
        +    }
        +}
        +
        +exports.flowIndentCheck = flowIndentCheck;
        +
        +
        +/***/ },
        +
        +/***/ 48334
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +
        +function mapIncludes(ctx, items, search) {
        +    const { uniqueKeys } = ctx.options;
        +    if (uniqueKeys === false)
        +        return false;
        +    const isEqual = typeof uniqueKeys === 'function'
        +        ? uniqueKeys
        +        : (a, b) => a === b || (identity.isScalar(a) && identity.isScalar(b) && a.value === b.value);
        +    return items.some(pair => isEqual(pair.key, search));
        +}
        +
        +exports.mapIncludes = mapIncludes;
        +
        +
        +/***/ },
        +
        +/***/ 9046
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Alias = __webpack_require__(41736);
        +var Collection = __webpack_require__(21614);
        +var identity = __webpack_require__(70484);
        +var Pair = __webpack_require__(27902);
        +var toJS = __webpack_require__(63732);
        +var Schema = __webpack_require__(40625);
        +var stringifyDocument = __webpack_require__(71768);
        +var anchors = __webpack_require__(46261);
        +var applyReviver = __webpack_require__(86906);
        +var createNode = __webpack_require__(95219);
        +var directives = __webpack_require__(38673);
        +
        +class Document {
        +    constructor(value, replacer, options) {
        +        /** A comment before this Document */
        +        this.commentBefore = null;
        +        /** A comment immediately after this Document */
        +        this.comment = null;
        +        /** Errors encountered during parsing. */
        +        this.errors = [];
        +        /** Warnings encountered during parsing. */
        +        this.warnings = [];
        +        Object.defineProperty(this, identity.NODE_TYPE, { value: identity.DOC });
        +        let _replacer = null;
        +        if (typeof replacer === 'function' || Array.isArray(replacer)) {
        +            _replacer = replacer;
        +        }
        +        else if (options === undefined && replacer) {
        +            options = replacer;
        +            replacer = undefined;
        +        }
        +        const opt = Object.assign({
        +            intAsBigInt: false,
        +            keepSourceTokens: false,
        +            logLevel: 'warn',
        +            prettyErrors: true,
        +            strict: true,
        +            stringKeys: false,
        +            uniqueKeys: true,
        +            version: '1.2'
        +        }, options);
        +        this.options = opt;
        +        let { version } = opt;
        +        if (options?._directives) {
        +            this.directives = options._directives.atDocument();
        +            if (this.directives.yaml.explicit)
        +                version = this.directives.yaml.version;
        +        }
        +        else
        +            this.directives = new directives.Directives({ version });
        +        this.setSchema(version, options);
        +        // @ts-expect-error We can't really know that this matches Contents.
        +        this.contents =
        +            value === undefined ? null : this.createNode(value, _replacer, options);
        +    }
        +    /**
        +     * Create a deep copy of this Document and its contents.
        +     *
        +     * Custom Node values that inherit from `Object` still refer to their original instances.
        +     */
        +    clone() {
        +        const copy = Object.create(Document.prototype, {
        +            [identity.NODE_TYPE]: { value: identity.DOC }
        +        });
        +        copy.commentBefore = this.commentBefore;
        +        copy.comment = this.comment;
        +        copy.errors = this.errors.slice();
        +        copy.warnings = this.warnings.slice();
        +        copy.options = Object.assign({}, this.options);
        +        if (this.directives)
        +            copy.directives = this.directives.clone();
        +        copy.schema = this.schema.clone();
        +        // @ts-expect-error We can't really know that this matches Contents.
        +        copy.contents = identity.isNode(this.contents)
        +            ? this.contents.clone(copy.schema)
        +            : this.contents;
        +        if (this.range)
        +            copy.range = this.range.slice();
        +        return copy;
        +    }
        +    /** Adds a value to the document. */
        +    add(value) {
        +        if (assertCollection(this.contents))
        +            this.contents.add(value);
        +    }
        +    /** Adds a value to the document. */
        +    addIn(path, value) {
        +        if (assertCollection(this.contents))
        +            this.contents.addIn(path, value);
        +    }
        +    /**
        +     * Create a new `Alias` node, ensuring that the target `node` has the required anchor.
        +     *
        +     * If `node` already has an anchor, `name` is ignored.
        +     * Otherwise, the `node.anchor` value will be set to `name`,
        +     * or if an anchor with that name is already present in the document,
        +     * `name` will be used as a prefix for a new unique anchor.
        +     * If `name` is undefined, the generated anchor will use 'a' as a prefix.
        +     */
        +    createAlias(node, name) {
        +        if (!node.anchor) {
        +            const prev = anchors.anchorNames(this);
        +            node.anchor =
        +                // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        +                !name || prev.has(name) ? anchors.findNewAnchor(name || 'a', prev) : name;
        +        }
        +        return new Alias.Alias(node.anchor);
        +    }
        +    createNode(value, replacer, options) {
        +        let _replacer = undefined;
        +        if (typeof replacer === 'function') {
        +            value = replacer.call({ '': value }, '', value);
        +            _replacer = replacer;
        +        }
        +        else if (Array.isArray(replacer)) {
        +            const keyToStr = (v) => typeof v === 'number' || v instanceof String || v instanceof Number;
        +            const asStr = replacer.filter(keyToStr).map(String);
        +            if (asStr.length > 0)
        +                replacer = replacer.concat(asStr);
        +            _replacer = replacer;
        +        }
        +        else if (options === undefined && replacer) {
        +            options = replacer;
        +            replacer = undefined;
        +        }
        +        const { aliasDuplicateObjects, anchorPrefix, flow, keepUndefined, onTagObj, tag } = options ?? {};
        +        const { onAnchor, setAnchors, sourceObjects } = anchors.createNodeAnchors(this, 
        +        // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        +        anchorPrefix || 'a');
        +        const ctx = {
        +            aliasDuplicateObjects: aliasDuplicateObjects ?? true,
        +            keepUndefined: keepUndefined ?? false,
        +            onAnchor,
        +            onTagObj,
        +            replacer: _replacer,
        +            schema: this.schema,
        +            sourceObjects
        +        };
        +        const node = createNode.createNode(value, tag, ctx);
        +        if (flow && identity.isCollection(node))
        +            node.flow = true;
        +        setAnchors();
        +        return node;
        +    }
        +    /**
        +     * Convert a key and a value into a `Pair` using the current schema,
        +     * recursively wrapping all values as `Scalar` or `Collection` nodes.
        +     */
        +    createPair(key, value, options = {}) {
        +        const k = this.createNode(key, null, options);
        +        const v = this.createNode(value, null, options);
        +        return new Pair.Pair(k, v);
        +    }
        +    /**
        +     * Removes a value from the document.
        +     * @returns `true` if the item was found and removed.
        +     */
        +    delete(key) {
        +        return assertCollection(this.contents) ? this.contents.delete(key) : false;
        +    }
        +    /**
        +     * Removes a value from the document.
        +     * @returns `true` if the item was found and removed.
        +     */
        +    deleteIn(path) {
        +        if (Collection.isEmptyPath(path)) {
        +            if (this.contents == null)
        +                return false;
        +            // @ts-expect-error Presumed impossible if Strict extends false
        +            this.contents = null;
        +            return true;
        +        }
        +        return assertCollection(this.contents)
        +            ? this.contents.deleteIn(path)
        +            : false;
        +    }
        +    /**
        +     * Returns item at `key`, or `undefined` if not found. By default unwraps
        +     * scalar values from their surrounding node; to disable set `keepScalar` to
        +     * `true` (collections are always returned intact).
        +     */
        +    get(key, keepScalar) {
        +        return identity.isCollection(this.contents)
        +            ? this.contents.get(key, keepScalar)
        +            : undefined;
        +    }
        +    /**
        +     * Returns item at `path`, or `undefined` if not found. By default unwraps
        +     * scalar values from their surrounding node; to disable set `keepScalar` to
        +     * `true` (collections are always returned intact).
        +     */
        +    getIn(path, keepScalar) {
        +        if (Collection.isEmptyPath(path))
        +            return !keepScalar && identity.isScalar(this.contents)
        +                ? this.contents.value
        +                : this.contents;
        +        return identity.isCollection(this.contents)
        +            ? this.contents.getIn(path, keepScalar)
        +            : undefined;
        +    }
        +    /**
        +     * Checks if the document includes a value with the key `key`.
        +     */
        +    has(key) {
        +        return identity.isCollection(this.contents) ? this.contents.has(key) : false;
        +    }
        +    /**
        +     * Checks if the document includes a value at `path`.
        +     */
        +    hasIn(path) {
        +        if (Collection.isEmptyPath(path))
        +            return this.contents !== undefined;
        +        return identity.isCollection(this.contents) ? this.contents.hasIn(path) : false;
        +    }
        +    /**
        +     * Sets a value in this document. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     */
        +    set(key, value) {
        +        if (this.contents == null) {
        +            // @ts-expect-error We can't really know that this matches Contents.
        +            this.contents = Collection.collectionFromPath(this.schema, [key], value);
        +        }
        +        else if (assertCollection(this.contents)) {
        +            this.contents.set(key, value);
        +        }
        +    }
        +    /**
        +     * Sets a value in this document. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     */
        +    setIn(path, value) {
        +        if (Collection.isEmptyPath(path)) {
        +            // @ts-expect-error We can't really know that this matches Contents.
        +            this.contents = value;
        +        }
        +        else if (this.contents == null) {
        +            // @ts-expect-error We can't really know that this matches Contents.
        +            this.contents = Collection.collectionFromPath(this.schema, Array.from(path), value);
        +        }
        +        else if (assertCollection(this.contents)) {
        +            this.contents.setIn(path, value);
        +        }
        +    }
        +    /**
        +     * Change the YAML version and schema used by the document.
        +     * A `null` version disables support for directives, explicit tags, anchors, and aliases.
        +     * It also requires the `schema` option to be given as a `Schema` instance value.
        +     *
        +     * Overrides all previously set schema options.
        +     */
        +    setSchema(version, options = {}) {
        +        if (typeof version === 'number')
        +            version = String(version);
        +        let opt;
        +        switch (version) {
        +            case '1.1':
        +                if (this.directives)
        +                    this.directives.yaml.version = '1.1';
        +                else
        +                    this.directives = new directives.Directives({ version: '1.1' });
        +                opt = { resolveKnownTags: false, schema: 'yaml-1.1' };
        +                break;
        +            case '1.2':
        +            case 'next':
        +                if (this.directives)
        +                    this.directives.yaml.version = version;
        +                else
        +                    this.directives = new directives.Directives({ version });
        +                opt = { resolveKnownTags: true, schema: 'core' };
        +                break;
        +            case null:
        +                if (this.directives)
        +                    delete this.directives;
        +                opt = null;
        +                break;
        +            default: {
        +                const sv = JSON.stringify(version);
        +                throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`);
        +            }
        +        }
        +        // Not using `instanceof Schema` to allow for duck typing
        +        if (options.schema instanceof Object)
        +            this.schema = options.schema;
        +        else if (opt)
        +            this.schema = new Schema.Schema(Object.assign(opt, options));
        +        else
        +            throw new Error(`With a null YAML version, the { schema: Schema } option is required`);
        +    }
        +    // json & jsonArg are only used from toJSON()
        +    toJS({ json, jsonArg, mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
        +        const ctx = {
        +            anchors: new Map(),
        +            doc: this,
        +            keep: !json,
        +            mapAsMap: mapAsMap === true,
        +            mapKeyWarned: false,
        +            maxAliasCount: typeof maxAliasCount === 'number' ? maxAliasCount : 100
        +        };
        +        const res = toJS.toJS(this.contents, jsonArg ?? '', ctx);
        +        if (typeof onAnchor === 'function')
        +            for (const { count, res } of ctx.anchors.values())
        +                onAnchor(res, count);
        +        return typeof reviver === 'function'
        +            ? applyReviver.applyReviver(reviver, { '': res }, '', res)
        +            : res;
        +    }
        +    /**
        +     * A JSON representation of the document `contents`.
        +     *
        +     * @param jsonArg Used by `JSON.stringify` to indicate the array index or
        +     *   property name.
        +     */
        +    toJSON(jsonArg, onAnchor) {
        +        return this.toJS({ json: true, jsonArg, mapAsMap: false, onAnchor });
        +    }
        +    /** A YAML representation of the document. */
        +    toString(options = {}) {
        +        if (this.errors.length > 0)
        +            throw new Error('Document with errors cannot be stringified');
        +        if ('indent' in options &&
        +            (!Number.isInteger(options.indent) || Number(options.indent) <= 0)) {
        +            const s = JSON.stringify(options.indent);
        +            throw new Error(`"indent" option must be a positive integer, not ${s}`);
        +        }
        +        return stringifyDocument.stringifyDocument(this, options);
        +    }
        +}
        +function assertCollection(contents) {
        +    if (identity.isCollection(contents))
        +        return true;
        +    throw new Error('Expected a YAML collection as document contents');
        +}
        +
        +exports.Document = Document;
        +
        +
        +/***/ },
        +
        +/***/ 46261
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var visit = __webpack_require__(29125);
        +
        +/**
        + * Verify that the input string is a valid anchor.
        + *
        + * Will throw on errors.
        + */
        +function anchorIsValid(anchor) {
        +    if (/[\x00-\x19\s,[\]{}]/.test(anchor)) {
        +        const sa = JSON.stringify(anchor);
        +        const msg = `Anchor must not contain whitespace or control characters: ${sa}`;
        +        throw new Error(msg);
        +    }
        +    return true;
        +}
        +function anchorNames(root) {
        +    const anchors = new Set();
        +    visit.visit(root, {
        +        Value(_key, node) {
        +            if (node.anchor)
        +                anchors.add(node.anchor);
        +        }
        +    });
        +    return anchors;
        +}
        +/** Find a new anchor name with the given `prefix` and a one-indexed suffix. */
        +function findNewAnchor(prefix, exclude) {
        +    for (let i = 1; true; ++i) {
        +        const name = `${prefix}${i}`;
        +        if (!exclude.has(name))
        +            return name;
        +    }
        +}
        +function createNodeAnchors(doc, prefix) {
        +    const aliasObjects = [];
        +    const sourceObjects = new Map();
        +    let prevAnchors = null;
        +    return {
        +        onAnchor: (source) => {
        +            aliasObjects.push(source);
        +            prevAnchors ?? (prevAnchors = anchorNames(doc));
        +            const anchor = findNewAnchor(prefix, prevAnchors);
        +            prevAnchors.add(anchor);
        +            return anchor;
        +        },
        +        /**
        +         * With circular references, the source node is only resolved after all
        +         * of its child nodes are. This is why anchors are set only after all of
        +         * the nodes have been created.
        +         */
        +        setAnchors: () => {
        +            for (const source of aliasObjects) {
        +                const ref = sourceObjects.get(source);
        +                if (typeof ref === 'object' &&
        +                    ref.anchor &&
        +                    (identity.isScalar(ref.node) || identity.isCollection(ref.node))) {
        +                    ref.node.anchor = ref.anchor;
        +                }
        +                else {
        +                    const error = new Error('Failed to resolve repeated object (this should not happen)');
        +                    error.source = source;
        +                    throw error;
        +                }
        +            }
        +        },
        +        sourceObjects
        +    };
        +}
        +
        +exports.anchorIsValid = anchorIsValid;
        +exports.anchorNames = anchorNames;
        +exports.createNodeAnchors = createNodeAnchors;
        +exports.findNewAnchor = findNewAnchor;
        +
        +
        +/***/ },
        +
        +/***/ 86906
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Applies the JSON.parse reviver algorithm as defined in the ECMA-262 spec,
        + * in section 24.5.1.1 "Runtime Semantics: InternalizeJSONProperty" of the
        + * 2021 edition: https://tc39.es/ecma262/#sec-json.parse
        + *
        + * Includes extensions for handling Map and Set objects.
        + */
        +function applyReviver(reviver, obj, key, val) {
        +    if (val && typeof val === 'object') {
        +        if (Array.isArray(val)) {
        +            for (let i = 0, len = val.length; i < len; ++i) {
        +                const v0 = val[i];
        +                const v1 = applyReviver(reviver, val, String(i), v0);
        +                // eslint-disable-next-line @typescript-eslint/no-array-delete
        +                if (v1 === undefined)
        +                    delete val[i];
        +                else if (v1 !== v0)
        +                    val[i] = v1;
        +            }
        +        }
        +        else if (val instanceof Map) {
        +            for (const k of Array.from(val.keys())) {
        +                const v0 = val.get(k);
        +                const v1 = applyReviver(reviver, val, k, v0);
        +                if (v1 === undefined)
        +                    val.delete(k);
        +                else if (v1 !== v0)
        +                    val.set(k, v1);
        +            }
        +        }
        +        else if (val instanceof Set) {
        +            for (const v0 of Array.from(val)) {
        +                const v1 = applyReviver(reviver, val, v0, v0);
        +                if (v1 === undefined)
        +                    val.delete(v0);
        +                else if (v1 !== v0) {
        +                    val.delete(v0);
        +                    val.add(v1);
        +                }
        +            }
        +        }
        +        else {
        +            for (const [k, v0] of Object.entries(val)) {
        +                const v1 = applyReviver(reviver, val, k, v0);
        +                if (v1 === undefined)
        +                    delete val[k];
        +                else if (v1 !== v0)
        +                    val[k] = v1;
        +            }
        +        }
        +    }
        +    return reviver.call(obj, key, val);
        +}
        +
        +exports.applyReviver = applyReviver;
        +
        +
        +/***/ },
        +
        +/***/ 95219
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Alias = __webpack_require__(41736);
        +var identity = __webpack_require__(70484);
        +var Scalar = __webpack_require__(89714);
        +
        +const defaultTagPrefix = 'tag:yaml.org,2002:';
        +function findTagObject(value, tagName, tags) {
        +    if (tagName) {
        +        const match = tags.filter(t => t.tag === tagName);
        +        const tagObj = match.find(t => !t.format) ?? match[0];
        +        if (!tagObj)
        +            throw new Error(`Tag ${tagName} not found`);
        +        return tagObj;
        +    }
        +    return tags.find(t => t.identify?.(value) && !t.format);
        +}
        +function createNode(value, tagName, ctx) {
        +    if (identity.isDocument(value))
        +        value = value.contents;
        +    if (identity.isNode(value))
        +        return value;
        +    if (identity.isPair(value)) {
        +        const map = ctx.schema[identity.MAP].createNode?.(ctx.schema, null, ctx);
        +        map.items.push(value);
        +        return map;
        +    }
        +    if (value instanceof String ||
        +        value instanceof Number ||
        +        value instanceof Boolean ||
        +        (typeof BigInt !== 'undefined' && value instanceof BigInt) // not supported everywhere
        +    ) {
        +        // https://tc39.es/ecma262/#sec-serializejsonproperty
        +        value = value.valueOf();
        +    }
        +    const { aliasDuplicateObjects, onAnchor, onTagObj, schema, sourceObjects } = ctx;
        +    // Detect duplicate references to the same object & use Alias nodes for all
        +    // after first. The `ref` wrapper allows for circular references to resolve.
        +    let ref = undefined;
        +    if (aliasDuplicateObjects && value && typeof value === 'object') {
        +        ref = sourceObjects.get(value);
        +        if (ref) {
        +            ref.anchor ?? (ref.anchor = onAnchor(value));
        +            return new Alias.Alias(ref.anchor);
        +        }
        +        else {
        +            ref = { anchor: null, node: null };
        +            sourceObjects.set(value, ref);
        +        }
        +    }
        +    if (tagName?.startsWith('!!'))
        +        tagName = defaultTagPrefix + tagName.slice(2);
        +    let tagObj = findTagObject(value, tagName, schema.tags);
        +    if (!tagObj) {
        +        if (value && typeof value.toJSON === 'function') {
        +            // eslint-disable-next-line @typescript-eslint/no-unsafe-call
        +            value = value.toJSON();
        +        }
        +        if (!value || typeof value !== 'object') {
        +            const node = new Scalar.Scalar(value);
        +            if (ref)
        +                ref.node = node;
        +            return node;
        +        }
        +        tagObj =
        +            value instanceof Map
        +                ? schema[identity.MAP]
        +                : Symbol.iterator in Object(value)
        +                    ? schema[identity.SEQ]
        +                    : schema[identity.MAP];
        +    }
        +    if (onTagObj) {
        +        onTagObj(tagObj);
        +        delete ctx.onTagObj;
        +    }
        +    const node = tagObj?.createNode
        +        ? tagObj.createNode(ctx.schema, value, ctx)
        +        : typeof tagObj?.nodeClass?.from === 'function'
        +            ? tagObj.nodeClass.from(ctx.schema, value, ctx)
        +            : new Scalar.Scalar(value);
        +    if (tagName)
        +        node.tag = tagName;
        +    else if (!tagObj.default)
        +        node.tag = tagObj.tag;
        +    if (ref)
        +        ref.node = node;
        +    return node;
        +}
        +
        +exports.createNode = createNode;
        +
        +
        +/***/ },
        +
        +/***/ 38673
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var visit = __webpack_require__(29125);
        +
        +const escapeChars = {
        +    '!': '%21',
        +    ',': '%2C',
        +    '[': '%5B',
        +    ']': '%5D',
        +    '{': '%7B',
        +    '}': '%7D'
        +};
        +const escapeTagName = (tn) => tn.replace(/[!,[\]{}]/g, ch => escapeChars[ch]);
        +class Directives {
        +    constructor(yaml, tags) {
        +        /**
        +         * The directives-end/doc-start marker `---`. If `null`, a marker may still be
        +         * included in the document's stringified representation.
        +         */
        +        this.docStart = null;
        +        /** The doc-end marker `...`.  */
        +        this.docEnd = false;
        +        this.yaml = Object.assign({}, Directives.defaultYaml, yaml);
        +        this.tags = Object.assign({}, Directives.defaultTags, tags);
        +    }
        +    clone() {
        +        const copy = new Directives(this.yaml, this.tags);
        +        copy.docStart = this.docStart;
        +        return copy;
        +    }
        +    /**
        +     * During parsing, get a Directives instance for the current document and
        +     * update the stream state according to the current version's spec.
        +     */
        +    atDocument() {
        +        const res = new Directives(this.yaml, this.tags);
        +        switch (this.yaml.version) {
        +            case '1.1':
        +                this.atNextDocument = true;
        +                break;
        +            case '1.2':
        +                this.atNextDocument = false;
        +                this.yaml = {
        +                    explicit: Directives.defaultYaml.explicit,
        +                    version: '1.2'
        +                };
        +                this.tags = Object.assign({}, Directives.defaultTags);
        +                break;
        +        }
        +        return res;
        +    }
        +    /**
        +     * @param onError - May be called even if the action was successful
        +     * @returns `true` on success
        +     */
        +    add(line, onError) {
        +        if (this.atNextDocument) {
        +            this.yaml = { explicit: Directives.defaultYaml.explicit, version: '1.1' };
        +            this.tags = Object.assign({}, Directives.defaultTags);
        +            this.atNextDocument = false;
        +        }
        +        const parts = line.trim().split(/[ \t]+/);
        +        const name = parts.shift();
        +        switch (name) {
        +            case '%TAG': {
        +                if (parts.length !== 2) {
        +                    onError(0, '%TAG directive should contain exactly two parts');
        +                    if (parts.length < 2)
        +                        return false;
        +                }
        +                const [handle, prefix] = parts;
        +                this.tags[handle] = prefix;
        +                return true;
        +            }
        +            case '%YAML': {
        +                this.yaml.explicit = true;
        +                if (parts.length !== 1) {
        +                    onError(0, '%YAML directive should contain exactly one part');
        +                    return false;
        +                }
        +                const [version] = parts;
        +                if (version === '1.1' || version === '1.2') {
        +                    this.yaml.version = version;
        +                    return true;
        +                }
        +                else {
        +                    const isValid = /^\d+\.\d+$/.test(version);
        +                    onError(6, `Unsupported YAML version ${version}`, isValid);
        +                    return false;
        +                }
        +            }
        +            default:
        +                onError(0, `Unknown directive ${name}`, true);
        +                return false;
        +        }
        +    }
        +    /**
        +     * Resolves a tag, matching handles to those defined in %TAG directives.
        +     *
        +     * @returns Resolved tag, which may also be the non-specific tag `'!'` or a
        +     *   `'!local'` tag, or `null` if unresolvable.
        +     */
        +    tagName(source, onError) {
        +        if (source === '!')
        +            return '!'; // non-specific tag
        +        if (source[0] !== '!') {
        +            onError(`Not a valid tag: ${source}`);
        +            return null;
        +        }
        +        if (source[1] === '<') {
        +            const verbatim = source.slice(2, -1);
        +            if (verbatim === '!' || verbatim === '!!') {
        +                onError(`Verbatim tags aren't resolved, so ${source} is invalid.`);
        +                return null;
        +            }
        +            if (source[source.length - 1] !== '>')
        +                onError('Verbatim tags must end with a >');
        +            return verbatim;
        +        }
        +        const [, handle, suffix] = source.match(/^(.*!)([^!]*)$/s);
        +        if (!suffix)
        +            onError(`The ${source} tag has no suffix`);
        +        const prefix = this.tags[handle];
        +        if (prefix) {
        +            try {
        +                return prefix + decodeURIComponent(suffix);
        +            }
        +            catch (error) {
        +                onError(String(error));
        +                return null;
        +            }
        +        }
        +        if (handle === '!')
        +            return source; // local tag
        +        onError(`Could not resolve tag: ${source}`);
        +        return null;
        +    }
        +    /**
        +     * Given a fully resolved tag, returns its printable string form,
        +     * taking into account current tag prefixes and defaults.
        +     */
        +    tagString(tag) {
        +        for (const [handle, prefix] of Object.entries(this.tags)) {
        +            if (tag.startsWith(prefix))
        +                return handle + escapeTagName(tag.substring(prefix.length));
        +        }
        +        return tag[0] === '!' ? tag : `!<${tag}>`;
        +    }
        +    toString(doc) {
        +        const lines = this.yaml.explicit
        +            ? [`%YAML ${this.yaml.version || '1.2'}`]
        +            : [];
        +        const tagEntries = Object.entries(this.tags);
        +        let tagNames;
        +        if (doc && tagEntries.length > 0 && identity.isNode(doc.contents)) {
        +            const tags = {};
        +            visit.visit(doc.contents, (_key, node) => {
        +                if (identity.isNode(node) && node.tag)
        +                    tags[node.tag] = true;
        +            });
        +            tagNames = Object.keys(tags);
        +        }
        +        else
        +            tagNames = [];
        +        for (const [handle, prefix] of tagEntries) {
        +            if (handle === '!!' && prefix === 'tag:yaml.org,2002:')
        +                continue;
        +            if (!doc || tagNames.some(tn => tn.startsWith(prefix)))
        +                lines.push(`%TAG ${handle} ${prefix}`);
        +        }
        +        return lines.join('\n');
        +    }
        +}
        +Directives.defaultYaml = { explicit: false, version: '1.2' };
        +Directives.defaultTags = { '!!': 'tag:yaml.org,2002:' };
        +
        +exports.Directives = Directives;
        +
        +
        +/***/ },
        +
        +/***/ 44355
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +class YAMLError extends Error {
        +    constructor(name, pos, code, message) {
        +        super();
        +        this.name = name;
        +        this.code = code;
        +        this.message = message;
        +        this.pos = pos;
        +    }
        +}
        +class YAMLParseError extends YAMLError {
        +    constructor(pos, code, message) {
        +        super('YAMLParseError', pos, code, message);
        +    }
        +}
        +class YAMLWarning extends YAMLError {
        +    constructor(pos, code, message) {
        +        super('YAMLWarning', pos, code, message);
        +    }
        +}
        +const prettifyError = (src, lc) => (error) => {
        +    if (error.pos[0] === -1)
        +        return;
        +    error.linePos = error.pos.map(pos => lc.linePos(pos));
        +    const { line, col } = error.linePos[0];
        +    error.message += ` at line ${line}, column ${col}`;
        +    let ci = col - 1;
        +    let lineStr = src
        +        .substring(lc.lineStarts[line - 1], lc.lineStarts[line])
        +        .replace(/[\n\r]+$/, '');
        +    // Trim to max 80 chars, keeping col position near the middle
        +    if (ci >= 60 && lineStr.length > 80) {
        +        const trimStart = Math.min(ci - 39, lineStr.length - 79);
        +        lineStr = '…' + lineStr.substring(trimStart);
        +        ci -= trimStart - 1;
        +    }
        +    if (lineStr.length > 80)
        +        lineStr = lineStr.substring(0, 79) + '…';
        +    // Include previous line in context if pointing at line start
        +    if (line > 1 && /^ *$/.test(lineStr.substring(0, ci))) {
        +        // Regexp won't match if start is trimmed
        +        let prev = src.substring(lc.lineStarts[line - 2], lc.lineStarts[line - 1]);
        +        if (prev.length > 80)
        +            prev = prev.substring(0, 79) + '…\n';
        +        lineStr = prev + lineStr;
        +    }
        +    if (/[^ ]/.test(lineStr)) {
        +        let count = 1;
        +        const end = error.linePos[1];
        +        if (end?.line === line && end.col > col) {
        +            count = Math.max(1, Math.min(end.col - col, 80 - ci));
        +        }
        +        const pointer = ' '.repeat(ci) + '^'.repeat(count);
        +        error.message += `:\n\n${lineStr}\n${pointer}\n`;
        +    }
        +};
        +
        +exports.YAMLError = YAMLError;
        +exports.YAMLParseError = YAMLParseError;
        +exports.YAMLWarning = YAMLWarning;
        +exports.prettifyError = prettifyError;
        +
        +
        +/***/ },
        +
        +/***/ 91198
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +var __webpack_unused_export__;
        +
        +
        +var composer = __webpack_require__(24927);
        +var Document = __webpack_require__(9046);
        +var Schema = __webpack_require__(40625);
        +var errors = __webpack_require__(44355);
        +var Alias = __webpack_require__(41736);
        +var identity = __webpack_require__(70484);
        +var Pair = __webpack_require__(27902);
        +var Scalar = __webpack_require__(89714);
        +var YAMLMap = __webpack_require__(81755);
        +var YAMLSeq = __webpack_require__(36010);
        +var cst = __webpack_require__(29112);
        +var lexer = __webpack_require__(5752);
        +var lineCounter = __webpack_require__(40483);
        +var parser = __webpack_require__(36247);
        +var publicApi = __webpack_require__(61332);
        +var visit = __webpack_require__(29125);
        +
        +
        +
        +__webpack_unused_export__ = composer.Composer;
        +__webpack_unused_export__ = Document.Document;
        +__webpack_unused_export__ = Schema.Schema;
        +__webpack_unused_export__ = errors.YAMLError;
        +__webpack_unused_export__ = errors.YAMLParseError;
        +__webpack_unused_export__ = errors.YAMLWarning;
        +__webpack_unused_export__ = Alias.Alias;
        +__webpack_unused_export__ = identity.isAlias;
        +__webpack_unused_export__ = identity.isCollection;
        +__webpack_unused_export__ = identity.isDocument;
        +__webpack_unused_export__ = identity.isMap;
        +__webpack_unused_export__ = identity.isNode;
        +__webpack_unused_export__ = identity.isPair;
        +__webpack_unused_export__ = identity.isScalar;
        +__webpack_unused_export__ = identity.isSeq;
        +__webpack_unused_export__ = Pair.Pair;
        +__webpack_unused_export__ = Scalar.Scalar;
        +__webpack_unused_export__ = YAMLMap.YAMLMap;
        +__webpack_unused_export__ = YAMLSeq.YAMLSeq;
        +__webpack_unused_export__ = cst;
        +__webpack_unused_export__ = lexer.Lexer;
        +__webpack_unused_export__ = lineCounter.LineCounter;
        +__webpack_unused_export__ = parser.Parser;
        +exports.qg = publicApi.parse;
        +__webpack_unused_export__ = publicApi.parseAllDocuments;
        +__webpack_unused_export__ = publicApi.parseDocument;
        +exports.As = publicApi.stringify;
        +__webpack_unused_export__ = visit.visit;
        +__webpack_unused_export__ = visit.visitAsync;
        +
        +
        +/***/ },
        +
        +/***/ 97444
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_process = __webpack_require__(932);
        +
        +function debug(logLevel, ...messages) {
        +    if (logLevel === 'debug')
        +        console.log(...messages);
        +}
        +function warn(logLevel, warning) {
        +    if (logLevel === 'debug' || logLevel === 'warn') {
        +        if (typeof node_process.emitWarning === 'function')
        +            node_process.emitWarning(warning);
        +        else
        +            console.warn(warning);
        +    }
        +}
        +
        +exports.debug = debug;
        +exports.warn = warn;
        +
        +
        +/***/ },
        +
        +/***/ 41736
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var anchors = __webpack_require__(46261);
        +var visit = __webpack_require__(29125);
        +var identity = __webpack_require__(70484);
        +var Node = __webpack_require__(98898);
        +var toJS = __webpack_require__(63732);
        +
        +class Alias extends Node.NodeBase {
        +    constructor(source) {
        +        super(identity.ALIAS);
        +        this.source = source;
        +        Object.defineProperty(this, 'tag', {
        +            set() {
        +                throw new Error('Alias nodes cannot have tags');
        +            }
        +        });
        +    }
        +    /**
        +     * Resolve the value of this alias within `doc`, finding the last
        +     * instance of the `source` anchor before this node.
        +     */
        +    resolve(doc, ctx) {
        +        let nodes;
        +        if (ctx?.aliasResolveCache) {
        +            nodes = ctx.aliasResolveCache;
        +        }
        +        else {
        +            nodes = [];
        +            visit.visit(doc, {
        +                Node: (_key, node) => {
        +                    if (identity.isAlias(node) || identity.hasAnchor(node))
        +                        nodes.push(node);
        +                }
        +            });
        +            if (ctx)
        +                ctx.aliasResolveCache = nodes;
        +        }
        +        let found = undefined;
        +        for (const node of nodes) {
        +            if (node === this)
        +                break;
        +            if (node.anchor === this.source)
        +                found = node;
        +        }
        +        return found;
        +    }
        +    toJSON(_arg, ctx) {
        +        if (!ctx)
        +            return { source: this.source };
        +        const { anchors, doc, maxAliasCount } = ctx;
        +        const source = this.resolve(doc, ctx);
        +        if (!source) {
        +            const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
        +            throw new ReferenceError(msg);
        +        }
        +        let data = anchors.get(source);
        +        if (!data) {
        +            // Resolve anchors for Node.prototype.toJS()
        +            toJS.toJS(source, null, ctx);
        +            data = anchors.get(source);
        +        }
        +        /* istanbul ignore if */
        +        if (data?.res === undefined) {
        +            const msg = 'This should not happen: Alias anchor was not resolved?';
        +            throw new ReferenceError(msg);
        +        }
        +        if (maxAliasCount >= 0) {
        +            data.count += 1;
        +            if (data.aliasCount === 0)
        +                data.aliasCount = getAliasCount(doc, source, anchors);
        +            if (data.count * data.aliasCount > maxAliasCount) {
        +                const msg = 'Excessive alias count indicates a resource exhaustion attack';
        +                throw new ReferenceError(msg);
        +            }
        +        }
        +        return data.res;
        +    }
        +    toString(ctx, _onComment, _onChompKeep) {
        +        const src = `*${this.source}`;
        +        if (ctx) {
        +            anchors.anchorIsValid(this.source);
        +            if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) {
        +                const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
        +                throw new Error(msg);
        +            }
        +            if (ctx.implicitKey)
        +                return `${src} `;
        +        }
        +        return src;
        +    }
        +}
        +function getAliasCount(doc, node, anchors) {
        +    if (identity.isAlias(node)) {
        +        const source = node.resolve(doc);
        +        const anchor = anchors && source && anchors.get(source);
        +        return anchor ? anchor.count * anchor.aliasCount : 0;
        +    }
        +    else if (identity.isCollection(node)) {
        +        let count = 0;
        +        for (const item of node.items) {
        +            const c = getAliasCount(doc, item, anchors);
        +            if (c > count)
        +                count = c;
        +        }
        +        return count;
        +    }
        +    else if (identity.isPair(node)) {
        +        const kc = getAliasCount(doc, node.key, anchors);
        +        const vc = getAliasCount(doc, node.value, anchors);
        +        return Math.max(kc, vc);
        +    }
        +    return 1;
        +}
        +
        +exports.Alias = Alias;
        +
        +
        +/***/ },
        +
        +/***/ 21614
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var createNode = __webpack_require__(95219);
        +var identity = __webpack_require__(70484);
        +var Node = __webpack_require__(98898);
        +
        +function collectionFromPath(schema, path, value) {
        +    let v = value;
        +    for (let i = path.length - 1; i >= 0; --i) {
        +        const k = path[i];
        +        if (typeof k === 'number' && Number.isInteger(k) && k >= 0) {
        +            const a = [];
        +            a[k] = v;
        +            v = a;
        +        }
        +        else {
        +            v = new Map([[k, v]]);
        +        }
        +    }
        +    return createNode.createNode(v, undefined, {
        +        aliasDuplicateObjects: false,
        +        keepUndefined: false,
        +        onAnchor: () => {
        +            throw new Error('This should not happen, please report a bug.');
        +        },
        +        schema,
        +        sourceObjects: new Map()
        +    });
        +}
        +// Type guard is intentionally a little wrong so as to be more useful,
        +// as it does not cover untypable empty non-string iterables (e.g. []).
        +const isEmptyPath = (path) => path == null ||
        +    (typeof path === 'object' && !!path[Symbol.iterator]().next().done);
        +class Collection extends Node.NodeBase {
        +    constructor(type, schema) {
        +        super(type);
        +        Object.defineProperty(this, 'schema', {
        +            value: schema,
        +            configurable: true,
        +            enumerable: false,
        +            writable: true
        +        });
        +    }
        +    /**
        +     * Create a copy of this collection.
        +     *
        +     * @param schema - If defined, overwrites the original's schema
        +     */
        +    clone(schema) {
        +        const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
        +        if (schema)
        +            copy.schema = schema;
        +        copy.items = copy.items.map(it => identity.isNode(it) || identity.isPair(it) ? it.clone(schema) : it);
        +        if (this.range)
        +            copy.range = this.range.slice();
        +        return copy;
        +    }
        +    /**
        +     * Adds a value to the collection. For `!!map` and `!!omap` the value must
        +     * be a Pair instance or a `{ key, value }` object, which may not have a key
        +     * that already exists in the map.
        +     */
        +    addIn(path, value) {
        +        if (isEmptyPath(path))
        +            this.add(value);
        +        else {
        +            const [key, ...rest] = path;
        +            const node = this.get(key, true);
        +            if (identity.isCollection(node))
        +                node.addIn(rest, value);
        +            else if (node === undefined && this.schema)
        +                this.set(key, collectionFromPath(this.schema, rest, value));
        +            else
        +                throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
        +        }
        +    }
        +    /**
        +     * Removes a value from the collection.
        +     * @returns `true` if the item was found and removed.
        +     */
        +    deleteIn(path) {
        +        const [key, ...rest] = path;
        +        if (rest.length === 0)
        +            return this.delete(key);
        +        const node = this.get(key, true);
        +        if (identity.isCollection(node))
        +            return node.deleteIn(rest);
        +        else
        +            throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
        +    }
        +    /**
        +     * Returns item at `key`, or `undefined` if not found. By default unwraps
        +     * scalar values from their surrounding node; to disable set `keepScalar` to
        +     * `true` (collections are always returned intact).
        +     */
        +    getIn(path, keepScalar) {
        +        const [key, ...rest] = path;
        +        const node = this.get(key, true);
        +        if (rest.length === 0)
        +            return !keepScalar && identity.isScalar(node) ? node.value : node;
        +        else
        +            return identity.isCollection(node) ? node.getIn(rest, keepScalar) : undefined;
        +    }
        +    hasAllNullValues(allowScalar) {
        +        return this.items.every(node => {
        +            if (!identity.isPair(node))
        +                return false;
        +            const n = node.value;
        +            return (n == null ||
        +                (allowScalar &&
        +                    identity.isScalar(n) &&
        +                    n.value == null &&
        +                    !n.commentBefore &&
        +                    !n.comment &&
        +                    !n.tag));
        +        });
        +    }
        +    /**
        +     * Checks if the collection includes a value with the key `key`.
        +     */
        +    hasIn(path) {
        +        const [key, ...rest] = path;
        +        if (rest.length === 0)
        +            return this.has(key);
        +        const node = this.get(key, true);
        +        return identity.isCollection(node) ? node.hasIn(rest) : false;
        +    }
        +    /**
        +     * Sets a value in this collection. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     */
        +    setIn(path, value) {
        +        const [key, ...rest] = path;
        +        if (rest.length === 0) {
        +            this.set(key, value);
        +        }
        +        else {
        +            const node = this.get(key, true);
        +            if (identity.isCollection(node))
        +                node.setIn(rest, value);
        +            else if (node === undefined && this.schema)
        +                this.set(key, collectionFromPath(this.schema, rest, value));
        +            else
        +                throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
        +        }
        +    }
        +}
        +
        +exports.Collection = Collection;
        +exports.collectionFromPath = collectionFromPath;
        +exports.isEmptyPath = isEmptyPath;
        +
        +
        +/***/ },
        +
        +/***/ 98898
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var applyReviver = __webpack_require__(86906);
        +var identity = __webpack_require__(70484);
        +var toJS = __webpack_require__(63732);
        +
        +class NodeBase {
        +    constructor(type) {
        +        Object.defineProperty(this, identity.NODE_TYPE, { value: type });
        +    }
        +    /** Create a copy of this node.  */
        +    clone() {
        +        const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
        +        if (this.range)
        +            copy.range = this.range.slice();
        +        return copy;
        +    }
        +    /** A plain JavaScript representation of this node. */
        +    toJS(doc, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
        +        if (!identity.isDocument(doc))
        +            throw new TypeError('A document argument is required');
        +        const ctx = {
        +            anchors: new Map(),
        +            doc,
        +            keep: true,
        +            mapAsMap: mapAsMap === true,
        +            mapKeyWarned: false,
        +            maxAliasCount: typeof maxAliasCount === 'number' ? maxAliasCount : 100
        +        };
        +        const res = toJS.toJS(this, '', ctx);
        +        if (typeof onAnchor === 'function')
        +            for (const { count, res } of ctx.anchors.values())
        +                onAnchor(res, count);
        +        return typeof reviver === 'function'
        +            ? applyReviver.applyReviver(reviver, { '': res }, '', res)
        +            : res;
        +    }
        +}
        +
        +exports.NodeBase = NodeBase;
        +
        +
        +/***/ },
        +
        +/***/ 27902
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var createNode = __webpack_require__(95219);
        +var stringifyPair = __webpack_require__(8017);
        +var addPairToJSMap = __webpack_require__(35139);
        +var identity = __webpack_require__(70484);
        +
        +function createPair(key, value, ctx) {
        +    const k = createNode.createNode(key, undefined, ctx);
        +    const v = createNode.createNode(value, undefined, ctx);
        +    return new Pair(k, v);
        +}
        +class Pair {
        +    constructor(key, value = null) {
        +        Object.defineProperty(this, identity.NODE_TYPE, { value: identity.PAIR });
        +        this.key = key;
        +        this.value = value;
        +    }
        +    clone(schema) {
        +        let { key, value } = this;
        +        if (identity.isNode(key))
        +            key = key.clone(schema);
        +        if (identity.isNode(value))
        +            value = value.clone(schema);
        +        return new Pair(key, value);
        +    }
        +    toJSON(_, ctx) {
        +        const pair = ctx?.mapAsMap ? new Map() : {};
        +        return addPairToJSMap.addPairToJSMap(ctx, pair, this);
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        return ctx?.doc
        +            ? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep)
        +            : JSON.stringify(this);
        +    }
        +}
        +
        +exports.Pair = Pair;
        +exports.createPair = createPair;
        +
        +
        +/***/ },
        +
        +/***/ 89714
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Node = __webpack_require__(98898);
        +var toJS = __webpack_require__(63732);
        +
        +const isScalarValue = (value) => !value || (typeof value !== 'function' && typeof value !== 'object');
        +class Scalar extends Node.NodeBase {
        +    constructor(value) {
        +        super(identity.SCALAR);
        +        this.value = value;
        +    }
        +    toJSON(arg, ctx) {
        +        return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
        +    }
        +    toString() {
        +        return String(this.value);
        +    }
        +}
        +Scalar.BLOCK_FOLDED = 'BLOCK_FOLDED';
        +Scalar.BLOCK_LITERAL = 'BLOCK_LITERAL';
        +Scalar.PLAIN = 'PLAIN';
        +Scalar.QUOTE_DOUBLE = 'QUOTE_DOUBLE';
        +Scalar.QUOTE_SINGLE = 'QUOTE_SINGLE';
        +
        +exports.Scalar = Scalar;
        +exports.isScalarValue = isScalarValue;
        +
        +
        +/***/ },
        +
        +/***/ 81755
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyCollection = __webpack_require__(60081);
        +var addPairToJSMap = __webpack_require__(35139);
        +var Collection = __webpack_require__(21614);
        +var identity = __webpack_require__(70484);
        +var Pair = __webpack_require__(27902);
        +var Scalar = __webpack_require__(89714);
        +
        +function findPair(items, key) {
        +    const k = identity.isScalar(key) ? key.value : key;
        +    for (const it of items) {
        +        if (identity.isPair(it)) {
        +            if (it.key === key || it.key === k)
        +                return it;
        +            if (identity.isScalar(it.key) && it.key.value === k)
        +                return it;
        +        }
        +    }
        +    return undefined;
        +}
        +class YAMLMap extends Collection.Collection {
        +    static get tagName() {
        +        return 'tag:yaml.org,2002:map';
        +    }
        +    constructor(schema) {
        +        super(identity.MAP, schema);
        +        this.items = [];
        +    }
        +    /**
        +     * A generic collection parsing method that can be extended
        +     * to other node classes that inherit from YAMLMap
        +     */
        +    static from(schema, obj, ctx) {
        +        const { keepUndefined, replacer } = ctx;
        +        const map = new this(schema);
        +        const add = (key, value) => {
        +            if (typeof replacer === 'function')
        +                value = replacer.call(obj, key, value);
        +            else if (Array.isArray(replacer) && !replacer.includes(key))
        +                return;
        +            if (value !== undefined || keepUndefined)
        +                map.items.push(Pair.createPair(key, value, ctx));
        +        };
        +        if (obj instanceof Map) {
        +            for (const [key, value] of obj)
        +                add(key, value);
        +        }
        +        else if (obj && typeof obj === 'object') {
        +            for (const key of Object.keys(obj))
        +                add(key, obj[key]);
        +        }
        +        if (typeof schema.sortMapEntries === 'function') {
        +            map.items.sort(schema.sortMapEntries);
        +        }
        +        return map;
        +    }
        +    /**
        +     * Adds a value to the collection.
        +     *
        +     * @param overwrite - If not set `true`, using a key that is already in the
        +     *   collection will throw. Otherwise, overwrites the previous value.
        +     */
        +    add(pair, overwrite) {
        +        let _pair;
        +        if (identity.isPair(pair))
        +            _pair = pair;
        +        else if (!pair || typeof pair !== 'object' || !('key' in pair)) {
        +            // In TypeScript, this never happens.
        +            _pair = new Pair.Pair(pair, pair?.value);
        +        }
        +        else
        +            _pair = new Pair.Pair(pair.key, pair.value);
        +        const prev = findPair(this.items, _pair.key);
        +        const sortEntries = this.schema?.sortMapEntries;
        +        if (prev) {
        +            if (!overwrite)
        +                throw new Error(`Key ${_pair.key} already set`);
        +            // For scalars, keep the old node & its comments and anchors
        +            if (identity.isScalar(prev.value) && Scalar.isScalarValue(_pair.value))
        +                prev.value.value = _pair.value;
        +            else
        +                prev.value = _pair.value;
        +        }
        +        else if (sortEntries) {
        +            const i = this.items.findIndex(item => sortEntries(_pair, item) < 0);
        +            if (i === -1)
        +                this.items.push(_pair);
        +            else
        +                this.items.splice(i, 0, _pair);
        +        }
        +        else {
        +            this.items.push(_pair);
        +        }
        +    }
        +    delete(key) {
        +        const it = findPair(this.items, key);
        +        if (!it)
        +            return false;
        +        const del = this.items.splice(this.items.indexOf(it), 1);
        +        return del.length > 0;
        +    }
        +    get(key, keepScalar) {
        +        const it = findPair(this.items, key);
        +        const node = it?.value;
        +        return (!keepScalar && identity.isScalar(node) ? node.value : node) ?? undefined;
        +    }
        +    has(key) {
        +        return !!findPair(this.items, key);
        +    }
        +    set(key, value) {
        +        this.add(new Pair.Pair(key, value), true);
        +    }
        +    /**
        +     * @param ctx - Conversion context, originally set in Document#toJS()
        +     * @param {Class} Type - If set, forces the returned collection type
        +     * @returns Instance of Type, Map, or Object
        +     */
        +    toJSON(_, ctx, Type) {
        +        const map = Type ? new Type() : ctx?.mapAsMap ? new Map() : {};
        +        if (ctx?.onCreate)
        +            ctx.onCreate(map);
        +        for (const item of this.items)
        +            addPairToJSMap.addPairToJSMap(ctx, map, item);
        +        return map;
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        if (!ctx)
        +            return JSON.stringify(this);
        +        for (const item of this.items) {
        +            if (!identity.isPair(item))
        +                throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);
        +        }
        +        if (!ctx.allNullValues && this.hasAllNullValues(false))
        +            ctx = Object.assign({}, ctx, { allNullValues: true });
        +        return stringifyCollection.stringifyCollection(this, ctx, {
        +            blockItemPrefix: '',
        +            flowChars: { start: '{', end: '}' },
        +            itemIndent: ctx.indent || '',
        +            onChompKeep,
        +            onComment
        +        });
        +    }
        +}
        +
        +exports.YAMLMap = YAMLMap;
        +exports.findPair = findPair;
        +
        +
        +/***/ },
        +
        +/***/ 36010
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var createNode = __webpack_require__(95219);
        +var stringifyCollection = __webpack_require__(60081);
        +var Collection = __webpack_require__(21614);
        +var identity = __webpack_require__(70484);
        +var Scalar = __webpack_require__(89714);
        +var toJS = __webpack_require__(63732);
        +
        +class YAMLSeq extends Collection.Collection {
        +    static get tagName() {
        +        return 'tag:yaml.org,2002:seq';
        +    }
        +    constructor(schema) {
        +        super(identity.SEQ, schema);
        +        this.items = [];
        +    }
        +    add(value) {
        +        this.items.push(value);
        +    }
        +    /**
        +     * Removes a value from the collection.
        +     *
        +     * `key` must contain a representation of an integer for this to succeed.
        +     * It may be wrapped in a `Scalar`.
        +     *
        +     * @returns `true` if the item was found and removed.
        +     */
        +    delete(key) {
        +        const idx = asItemIndex(key);
        +        if (typeof idx !== 'number')
        +            return false;
        +        const del = this.items.splice(idx, 1);
        +        return del.length > 0;
        +    }
        +    get(key, keepScalar) {
        +        const idx = asItemIndex(key);
        +        if (typeof idx !== 'number')
        +            return undefined;
        +        const it = this.items[idx];
        +        return !keepScalar && identity.isScalar(it) ? it.value : it;
        +    }
        +    /**
        +     * Checks if the collection includes a value with the key `key`.
        +     *
        +     * `key` must contain a representation of an integer for this to succeed.
        +     * It may be wrapped in a `Scalar`.
        +     */
        +    has(key) {
        +        const idx = asItemIndex(key);
        +        return typeof idx === 'number' && idx < this.items.length;
        +    }
        +    /**
        +     * Sets a value in this collection. For `!!set`, `value` needs to be a
        +     * boolean to add/remove the item from the set.
        +     *
        +     * If `key` does not contain a representation of an integer, this will throw.
        +     * It may be wrapped in a `Scalar`.
        +     */
        +    set(key, value) {
        +        const idx = asItemIndex(key);
        +        if (typeof idx !== 'number')
        +            throw new Error(`Expected a valid index, not ${key}.`);
        +        const prev = this.items[idx];
        +        if (identity.isScalar(prev) && Scalar.isScalarValue(value))
        +            prev.value = value;
        +        else
        +            this.items[idx] = value;
        +    }
        +    toJSON(_, ctx) {
        +        const seq = [];
        +        if (ctx?.onCreate)
        +            ctx.onCreate(seq);
        +        let i = 0;
        +        for (const item of this.items)
        +            seq.push(toJS.toJS(item, String(i++), ctx));
        +        return seq;
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        if (!ctx)
        +            return JSON.stringify(this);
        +        return stringifyCollection.stringifyCollection(this, ctx, {
        +            blockItemPrefix: '- ',
        +            flowChars: { start: '[', end: ']' },
        +            itemIndent: (ctx.indent || '') + '  ',
        +            onChompKeep,
        +            onComment
        +        });
        +    }
        +    static from(schema, obj, ctx) {
        +        const { replacer } = ctx;
        +        const seq = new this(schema);
        +        if (obj && Symbol.iterator in Object(obj)) {
        +            let i = 0;
        +            for (let it of obj) {
        +                if (typeof replacer === 'function') {
        +                    const key = obj instanceof Set ? it : String(i++);
        +                    it = replacer.call(obj, key, it);
        +                }
        +                seq.items.push(createNode.createNode(it, undefined, ctx));
        +            }
        +        }
        +        return seq;
        +    }
        +}
        +function asItemIndex(key) {
        +    let idx = identity.isScalar(key) ? key.value : key;
        +    if (idx && typeof idx === 'string')
        +        idx = Number(idx);
        +    return typeof idx === 'number' && Number.isInteger(idx) && idx >= 0
        +        ? idx
        +        : null;
        +}
        +
        +exports.YAMLSeq = YAMLSeq;
        +
        +
        +/***/ },
        +
        +/***/ 35139
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var log = __webpack_require__(97444);
        +var merge = __webpack_require__(59637);
        +var stringify = __webpack_require__(93793);
        +var identity = __webpack_require__(70484);
        +var toJS = __webpack_require__(63732);
        +
        +function addPairToJSMap(ctx, map, { key, value }) {
        +    if (identity.isNode(key) && key.addToJSMap)
        +        key.addToJSMap(ctx, map, value);
        +    // TODO: Should drop this special case for bare << handling
        +    else if (merge.isMergeKey(ctx, key))
        +        merge.addMergeToJSMap(ctx, map, value);
        +    else {
        +        const jsKey = toJS.toJS(key, '', ctx);
        +        if (map instanceof Map) {
        +            map.set(jsKey, toJS.toJS(value, jsKey, ctx));
        +        }
        +        else if (map instanceof Set) {
        +            map.add(jsKey);
        +        }
        +        else {
        +            const stringKey = stringifyKey(key, jsKey, ctx);
        +            const jsValue = toJS.toJS(value, stringKey, ctx);
        +            if (stringKey in map)
        +                Object.defineProperty(map, stringKey, {
        +                    value: jsValue,
        +                    writable: true,
        +                    enumerable: true,
        +                    configurable: true
        +                });
        +            else
        +                map[stringKey] = jsValue;
        +        }
        +    }
        +    return map;
        +}
        +function stringifyKey(key, jsKey, ctx) {
        +    if (jsKey === null)
        +        return '';
        +    // eslint-disable-next-line @typescript-eslint/no-base-to-string
        +    if (typeof jsKey !== 'object')
        +        return String(jsKey);
        +    if (identity.isNode(key) && ctx?.doc) {
        +        const strCtx = stringify.createStringifyContext(ctx.doc, {});
        +        strCtx.anchors = new Set();
        +        for (const node of ctx.anchors.keys())
        +            strCtx.anchors.add(node.anchor);
        +        strCtx.inFlow = true;
        +        strCtx.inStringifyKey = true;
        +        const strKey = key.toString(strCtx);
        +        if (!ctx.mapKeyWarned) {
        +            let jsonStr = JSON.stringify(strKey);
        +            if (jsonStr.length > 40)
        +                jsonStr = jsonStr.substring(0, 36) + '..."';
        +            log.warn(ctx.doc.options.logLevel, `Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`);
        +            ctx.mapKeyWarned = true;
        +        }
        +        return strKey;
        +    }
        +    return JSON.stringify(jsKey);
        +}
        +
        +exports.addPairToJSMap = addPairToJSMap;
        +
        +
        +/***/ },
        +
        +/***/ 70484
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +const ALIAS = Symbol.for('yaml.alias');
        +const DOC = Symbol.for('yaml.document');
        +const MAP = Symbol.for('yaml.map');
        +const PAIR = Symbol.for('yaml.pair');
        +const SCALAR = Symbol.for('yaml.scalar');
        +const SEQ = Symbol.for('yaml.seq');
        +const NODE_TYPE = Symbol.for('yaml.node.type');
        +const isAlias = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === ALIAS;
        +const isDocument = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === DOC;
        +const isMap = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === MAP;
        +const isPair = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === PAIR;
        +const isScalar = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SCALAR;
        +const isSeq = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SEQ;
        +function isCollection(node) {
        +    if (node && typeof node === 'object')
        +        switch (node[NODE_TYPE]) {
        +            case MAP:
        +            case SEQ:
        +                return true;
        +        }
        +    return false;
        +}
        +function isNode(node) {
        +    if (node && typeof node === 'object')
        +        switch (node[NODE_TYPE]) {
        +            case ALIAS:
        +            case MAP:
        +            case SCALAR:
        +            case SEQ:
        +                return true;
        +        }
        +    return false;
        +}
        +const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
        +
        +exports.ALIAS = ALIAS;
        +exports.DOC = DOC;
        +exports.MAP = MAP;
        +exports.NODE_TYPE = NODE_TYPE;
        +exports.PAIR = PAIR;
        +exports.SCALAR = SCALAR;
        +exports.SEQ = SEQ;
        +exports.hasAnchor = hasAnchor;
        +exports.isAlias = isAlias;
        +exports.isCollection = isCollection;
        +exports.isDocument = isDocument;
        +exports.isMap = isMap;
        +exports.isNode = isNode;
        +exports.isPair = isPair;
        +exports.isScalar = isScalar;
        +exports.isSeq = isSeq;
        +
        +
        +/***/ },
        +
        +/***/ 63732
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +
        +/**
        + * Recursively convert any node or its contents to native JavaScript
        + *
        + * @param value - The input value
        + * @param arg - If `value` defines a `toJSON()` method, use this
        + *   as its first argument
        + * @param ctx - Conversion context, originally set in Document#toJS(). If
        + *   `{ keep: true }` is not set, output should be suitable for JSON
        + *   stringification.
        + */
        +function toJS(value, arg, ctx) {
        +    // eslint-disable-next-line @typescript-eslint/no-unsafe-return
        +    if (Array.isArray(value))
        +        return value.map((v, i) => toJS(v, String(i), ctx));
        +    if (value && typeof value.toJSON === 'function') {
        +        // eslint-disable-next-line @typescript-eslint/no-unsafe-call
        +        if (!ctx || !identity.hasAnchor(value))
        +            return value.toJSON(arg, ctx);
        +        const data = { aliasCount: 0, count: 1, res: undefined };
        +        ctx.anchors.set(value, data);
        +        ctx.onCreate = res => {
        +            data.res = res;
        +            delete ctx.onCreate;
        +        };
        +        const res = value.toJSON(arg, ctx);
        +        if (ctx.onCreate)
        +            ctx.onCreate(res);
        +        return res;
        +    }
        +    if (typeof value === 'bigint' && !ctx?.keep)
        +        return Number(value);
        +    return value;
        +}
        +
        +exports.toJS = toJS;
        +
        +
        +/***/ },
        +
        +/***/ 65141
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var resolveBlockScalar = __webpack_require__(94070);
        +var resolveFlowScalar = __webpack_require__(27571);
        +var errors = __webpack_require__(44355);
        +var stringifyString = __webpack_require__(27180);
        +
        +function resolveAsScalar(token, strict = true, onError) {
        +    if (token) {
        +        const _onError = (pos, code, message) => {
        +            const offset = typeof pos === 'number' ? pos : Array.isArray(pos) ? pos[0] : pos.offset;
        +            if (onError)
        +                onError(offset, code, message);
        +            else
        +                throw new errors.YAMLParseError([offset, offset + 1], code, message);
        +        };
        +        switch (token.type) {
        +            case 'scalar':
        +            case 'single-quoted-scalar':
        +            case 'double-quoted-scalar':
        +                return resolveFlowScalar.resolveFlowScalar(token, strict, _onError);
        +            case 'block-scalar':
        +                return resolveBlockScalar.resolveBlockScalar({ options: { strict } }, token, _onError);
        +        }
        +    }
        +    return null;
        +}
        +/**
        + * Create a new scalar token with `value`
        + *
        + * Values that represent an actual string but may be parsed as a different type should use a `type` other than `'PLAIN'`,
        + * as this function does not support any schema operations and won't check for such conflicts.
        + *
        + * @param value The string representation of the value, which will have its content properly indented.
        + * @param context.end Comments and whitespace after the end of the value, or after the block scalar header. If undefined, a newline will be added.
        + * @param context.implicitKey Being within an implicit key may affect the resolved type of the token's value.
        + * @param context.indent The indent level of the token.
        + * @param context.inFlow Is this scalar within a flow collection? This may affect the resolved type of the token's value.
        + * @param context.offset The offset position of the token.
        + * @param context.type The preferred type of the scalar token. If undefined, the previous type of the `token` will be used, defaulting to `'PLAIN'`.
        + */
        +function createScalarToken(value, context) {
        +    const { implicitKey = false, indent, inFlow = false, offset = -1, type = 'PLAIN' } = context;
        +    const source = stringifyString.stringifyString({ type, value }, {
        +        implicitKey,
        +        indent: indent > 0 ? ' '.repeat(indent) : '',
        +        inFlow,
        +        options: { blockQuote: true, lineWidth: -1 }
        +    });
        +    const end = context.end ?? [
        +        { type: 'newline', offset: -1, indent, source: '\n' }
        +    ];
        +    switch (source[0]) {
        +        case '|':
        +        case '>': {
        +            const he = source.indexOf('\n');
        +            const head = source.substring(0, he);
        +            const body = source.substring(he + 1) + '\n';
        +            const props = [
        +                { type: 'block-scalar-header', offset, indent, source: head }
        +            ];
        +            if (!addEndtoBlockProps(props, end))
        +                props.push({ type: 'newline', offset: -1, indent, source: '\n' });
        +            return { type: 'block-scalar', offset, indent, props, source: body };
        +        }
        +        case '"':
        +            return { type: 'double-quoted-scalar', offset, indent, source, end };
        +        case "'":
        +            return { type: 'single-quoted-scalar', offset, indent, source, end };
        +        default:
        +            return { type: 'scalar', offset, indent, source, end };
        +    }
        +}
        +/**
        + * Set the value of `token` to the given string `value`, overwriting any previous contents and type that it may have.
        + *
        + * Best efforts are made to retain any comments previously associated with the `token`,
        + * though all contents within a collection's `items` will be overwritten.
        + *
        + * Values that represent an actual string but may be parsed as a different type should use a `type` other than `'PLAIN'`,
        + * as this function does not support any schema operations and won't check for such conflicts.
        + *
        + * @param token Any token. If it does not include an `indent` value, the value will be stringified as if it were an implicit key.
        + * @param value The string representation of the value, which will have its content properly indented.
        + * @param context.afterKey In most cases, values after a key should have an additional level of indentation.
        + * @param context.implicitKey Being within an implicit key may affect the resolved type of the token's value.
        + * @param context.inFlow Being within a flow collection may affect the resolved type of the token's value.
        + * @param context.type The preferred type of the scalar token. If undefined, the previous type of the `token` will be used, defaulting to `'PLAIN'`.
        + */
        +function setScalarValue(token, value, context = {}) {
        +    let { afterKey = false, implicitKey = false, inFlow = false, type } = context;
        +    let indent = 'indent' in token ? token.indent : null;
        +    if (afterKey && typeof indent === 'number')
        +        indent += 2;
        +    if (!type)
        +        switch (token.type) {
        +            case 'single-quoted-scalar':
        +                type = 'QUOTE_SINGLE';
        +                break;
        +            case 'double-quoted-scalar':
        +                type = 'QUOTE_DOUBLE';
        +                break;
        +            case 'block-scalar': {
        +                const header = token.props[0];
        +                if (header.type !== 'block-scalar-header')
        +                    throw new Error('Invalid block scalar header');
        +                type = header.source[0] === '>' ? 'BLOCK_FOLDED' : 'BLOCK_LITERAL';
        +                break;
        +            }
        +            default:
        +                type = 'PLAIN';
        +        }
        +    const source = stringifyString.stringifyString({ type, value }, {
        +        implicitKey: implicitKey || indent === null,
        +        indent: indent !== null && indent > 0 ? ' '.repeat(indent) : '',
        +        inFlow,
        +        options: { blockQuote: true, lineWidth: -1 }
        +    });
        +    switch (source[0]) {
        +        case '|':
        +        case '>':
        +            setBlockScalarValue(token, source);
        +            break;
        +        case '"':
        +            setFlowScalarValue(token, source, 'double-quoted-scalar');
        +            break;
        +        case "'":
        +            setFlowScalarValue(token, source, 'single-quoted-scalar');
        +            break;
        +        default:
        +            setFlowScalarValue(token, source, 'scalar');
        +    }
        +}
        +function setBlockScalarValue(token, source) {
        +    const he = source.indexOf('\n');
        +    const head = source.substring(0, he);
        +    const body = source.substring(he + 1) + '\n';
        +    if (token.type === 'block-scalar') {
        +        const header = token.props[0];
        +        if (header.type !== 'block-scalar-header')
        +            throw new Error('Invalid block scalar header');
        +        header.source = head;
        +        token.source = body;
        +    }
        +    else {
        +        const { offset } = token;
        +        const indent = 'indent' in token ? token.indent : -1;
        +        const props = [
        +            { type: 'block-scalar-header', offset, indent, source: head }
        +        ];
        +        if (!addEndtoBlockProps(props, 'end' in token ? token.end : undefined))
        +            props.push({ type: 'newline', offset: -1, indent, source: '\n' });
        +        for (const key of Object.keys(token))
        +            if (key !== 'type' && key !== 'offset')
        +                delete token[key];
        +        Object.assign(token, { type: 'block-scalar', indent, props, source: body });
        +    }
        +}
        +/** @returns `true` if last token is a newline */
        +function addEndtoBlockProps(props, end) {
        +    if (end)
        +        for (const st of end)
        +            switch (st.type) {
        +                case 'space':
        +                case 'comment':
        +                    props.push(st);
        +                    break;
        +                case 'newline':
        +                    props.push(st);
        +                    return true;
        +            }
        +    return false;
        +}
        +function setFlowScalarValue(token, source, type) {
        +    switch (token.type) {
        +        case 'scalar':
        +        case 'double-quoted-scalar':
        +        case 'single-quoted-scalar':
        +            token.type = type;
        +            token.source = source;
        +            break;
        +        case 'block-scalar': {
        +            const end = token.props.slice(1);
        +            let oa = source.length;
        +            if (token.props[0].type === 'block-scalar-header')
        +                oa -= token.props[0].source.length;
        +            for (const tok of end)
        +                tok.offset += oa;
        +            delete token.props;
        +            Object.assign(token, { type, source, end });
        +            break;
        +        }
        +        case 'block-map':
        +        case 'block-seq': {
        +            const offset = token.offset + source.length;
        +            const nl = { type: 'newline', offset, indent: token.indent, source: '\n' };
        +            delete token.items;
        +            Object.assign(token, { type, source, end: [nl] });
        +            break;
        +        }
        +        default: {
        +            const indent = 'indent' in token ? token.indent : -1;
        +            const end = 'end' in token && Array.isArray(token.end)
        +                ? token.end.filter(st => st.type === 'space' ||
        +                    st.type === 'comment' ||
        +                    st.type === 'newline')
        +                : [];
        +            for (const key of Object.keys(token))
        +                if (key !== 'type' && key !== 'offset')
        +                    delete token[key];
        +            Object.assign(token, { type, indent, source, end });
        +        }
        +    }
        +}
        +
        +exports.createScalarToken = createScalarToken;
        +exports.resolveAsScalar = resolveAsScalar;
        +exports.setScalarValue = setScalarValue;
        +
        +
        +/***/ },
        +
        +/***/ 67808
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Stringify a CST document, token, or collection item
        + *
        + * Fair warning: This applies no validation whatsoever, and
        + * simply concatenates the sources in their logical order.
        + */
        +const stringify = (cst) => 'type' in cst ? stringifyToken(cst) : stringifyItem(cst);
        +function stringifyToken(token) {
        +    switch (token.type) {
        +        case 'block-scalar': {
        +            let res = '';
        +            for (const tok of token.props)
        +                res += stringifyToken(tok);
        +            return res + token.source;
        +        }
        +        case 'block-map':
        +        case 'block-seq': {
        +            let res = '';
        +            for (const item of token.items)
        +                res += stringifyItem(item);
        +            return res;
        +        }
        +        case 'flow-collection': {
        +            let res = token.start.source;
        +            for (const item of token.items)
        +                res += stringifyItem(item);
        +            for (const st of token.end)
        +                res += st.source;
        +            return res;
        +        }
        +        case 'document': {
        +            let res = stringifyItem(token);
        +            if (token.end)
        +                for (const st of token.end)
        +                    res += st.source;
        +            return res;
        +        }
        +        default: {
        +            let res = token.source;
        +            if ('end' in token && token.end)
        +                for (const st of token.end)
        +                    res += st.source;
        +            return res;
        +        }
        +    }
        +}
        +function stringifyItem({ start, key, sep, value }) {
        +    let res = '';
        +    for (const st of start)
        +        res += st.source;
        +    if (key)
        +        res += stringifyToken(key);
        +    if (sep)
        +        for (const st of sep)
        +            res += st.source;
        +    if (value)
        +        res += stringifyToken(value);
        +    return res;
        +}
        +
        +exports.stringify = stringify;
        +
        +
        +/***/ },
        +
        +/***/ 95970
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +const BREAK = Symbol('break visit');
        +const SKIP = Symbol('skip children');
        +const REMOVE = Symbol('remove item');
        +/**
        + * Apply a visitor to a CST document or item.
        + *
        + * Walks through the tree (depth-first) starting from the root, calling a
        + * `visitor` function with two arguments when entering each item:
        + *   - `item`: The current item, which included the following members:
        + *     - `start: SourceToken[]` – Source tokens before the key or value,
        + *       possibly including its anchor or tag.
        + *     - `key?: Token | null` – Set for pair values. May then be `null`, if
        + *       the key before the `:` separator is empty.
        + *     - `sep?: SourceToken[]` – Source tokens between the key and the value,
        + *       which should include the `:` map value indicator if `value` is set.
        + *     - `value?: Token` – The value of a sequence item, or of a map pair.
        + *   - `path`: The steps from the root to the current node, as an array of
        + *     `['key' | 'value', number]` tuples.
        + *
        + * The return value of the visitor may be used to control the traversal:
        + *   - `undefined` (default): Do nothing and continue
        + *   - `visit.SKIP`: Do not visit the children of this token, continue with
        + *      next sibling
        + *   - `visit.BREAK`: Terminate traversal completely
        + *   - `visit.REMOVE`: Remove the current item, then continue with the next one
        + *   - `number`: Set the index of the next step. This is useful especially if
        + *     the index of the current token has changed.
        + *   - `function`: Define the next visitor for this item. After the original
        + *     visitor is called on item entry, next visitors are called after handling
        + *     a non-empty `key` and when exiting the item.
        + */
        +function visit(cst, visitor) {
        +    if ('type' in cst && cst.type === 'document')
        +        cst = { start: cst.start, value: cst.value };
        +    _visit(Object.freeze([]), cst, visitor);
        +}
        +// Without the `as symbol` casts, TS declares these in the `visit`
        +// namespace using `var`, but then complains about that because
        +// `unique symbol` must be `const`.
        +/** Terminate visit traversal completely */
        +visit.BREAK = BREAK;
        +/** Do not visit the children of the current item */
        +visit.SKIP = SKIP;
        +/** Remove the current item */
        +visit.REMOVE = REMOVE;
        +/** Find the item at `path` from `cst` as the root */
        +visit.itemAtPath = (cst, path) => {
        +    let item = cst;
        +    for (const [field, index] of path) {
        +        const tok = item?.[field];
        +        if (tok && 'items' in tok) {
        +            item = tok.items[index];
        +        }
        +        else
        +            return undefined;
        +    }
        +    return item;
        +};
        +/**
        + * Get the immediate parent collection of the item at `path` from `cst` as the root.
        + *
        + * Throws an error if the collection is not found, which should never happen if the item itself exists.
        + */
        +visit.parentCollection = (cst, path) => {
        +    const parent = visit.itemAtPath(cst, path.slice(0, -1));
        +    const field = path[path.length - 1][0];
        +    const coll = parent?.[field];
        +    if (coll && 'items' in coll)
        +        return coll;
        +    throw new Error('Parent collection not found');
        +};
        +function _visit(path, item, visitor) {
        +    let ctrl = visitor(item, path);
        +    if (typeof ctrl === 'symbol')
        +        return ctrl;
        +    for (const field of ['key', 'value']) {
        +        const token = item[field];
        +        if (token && 'items' in token) {
        +            for (let i = 0; i < token.items.length; ++i) {
        +                const ci = _visit(Object.freeze(path.concat([[field, i]])), token.items[i], visitor);
        +                if (typeof ci === 'number')
        +                    i = ci - 1;
        +                else if (ci === BREAK)
        +                    return BREAK;
        +                else if (ci === REMOVE) {
        +                    token.items.splice(i, 1);
        +                    i -= 1;
        +                }
        +            }
        +            if (typeof ctrl === 'function' && field === 'key')
        +                ctrl = ctrl(item, path);
        +        }
        +    }
        +    return typeof ctrl === 'function' ? ctrl(item, path) : ctrl;
        +}
        +
        +exports.visit = visit;
        +
        +
        +/***/ },
        +
        +/***/ 29112
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var cstScalar = __webpack_require__(65141);
        +var cstStringify = __webpack_require__(67808);
        +var cstVisit = __webpack_require__(95970);
        +
        +/** The byte order mark */
        +const BOM = '\u{FEFF}';
        +/** Start of doc-mode */
        +const DOCUMENT = '\x02'; // C0: Start of Text
        +/** Unexpected end of flow-mode */
        +const FLOW_END = '\x18'; // C0: Cancel
        +/** Next token is a scalar value */
        +const SCALAR = '\x1f'; // C0: Unit Separator
        +/** @returns `true` if `token` is a flow or block collection */
        +const isCollection = (token) => !!token && 'items' in token;
        +/** @returns `true` if `token` is a flow or block scalar; not an alias */
        +const isScalar = (token) => !!token &&
        +    (token.type === 'scalar' ||
        +        token.type === 'single-quoted-scalar' ||
        +        token.type === 'double-quoted-scalar' ||
        +        token.type === 'block-scalar');
        +/* istanbul ignore next */
        +/** Get a printable representation of a lexer token */
        +function prettyToken(token) {
        +    switch (token) {
        +        case BOM:
        +            return '';
        +        case DOCUMENT:
        +            return '';
        +        case FLOW_END:
        +            return '';
        +        case SCALAR:
        +            return '';
        +        default:
        +            return JSON.stringify(token);
        +    }
        +}
        +/** Identify the type of a lexer token. May return `null` for unknown tokens. */
        +function tokenType(source) {
        +    switch (source) {
        +        case BOM:
        +            return 'byte-order-mark';
        +        case DOCUMENT:
        +            return 'doc-mode';
        +        case FLOW_END:
        +            return 'flow-error-end';
        +        case SCALAR:
        +            return 'scalar';
        +        case '---':
        +            return 'doc-start';
        +        case '...':
        +            return 'doc-end';
        +        case '':
        +        case '\n':
        +        case '\r\n':
        +            return 'newline';
        +        case '-':
        +            return 'seq-item-ind';
        +        case '?':
        +            return 'explicit-key-ind';
        +        case ':':
        +            return 'map-value-ind';
        +        case '{':
        +            return 'flow-map-start';
        +        case '}':
        +            return 'flow-map-end';
        +        case '[':
        +            return 'flow-seq-start';
        +        case ']':
        +            return 'flow-seq-end';
        +        case ',':
        +            return 'comma';
        +    }
        +    switch (source[0]) {
        +        case ' ':
        +        case '\t':
        +            return 'space';
        +        case '#':
        +            return 'comment';
        +        case '%':
        +            return 'directive-line';
        +        case '*':
        +            return 'alias';
        +        case '&':
        +            return 'anchor';
        +        case '!':
        +            return 'tag';
        +        case "'":
        +            return 'single-quoted-scalar';
        +        case '"':
        +            return 'double-quoted-scalar';
        +        case '|':
        +        case '>':
        +            return 'block-scalar-header';
        +    }
        +    return null;
        +}
        +
        +exports.createScalarToken = cstScalar.createScalarToken;
        +exports.resolveAsScalar = cstScalar.resolveAsScalar;
        +exports.setScalarValue = cstScalar.setScalarValue;
        +exports.stringify = cstStringify.stringify;
        +exports.visit = cstVisit.visit;
        +exports.BOM = BOM;
        +exports.DOCUMENT = DOCUMENT;
        +exports.FLOW_END = FLOW_END;
        +exports.SCALAR = SCALAR;
        +exports.isCollection = isCollection;
        +exports.isScalar = isScalar;
        +exports.prettyToken = prettyToken;
        +exports.tokenType = tokenType;
        +
        +
        +/***/ },
        +
        +/***/ 5752
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var cst = __webpack_require__(29112);
        +
        +/*
        +START -> stream
        +
        +stream
        +  directive -> line-end -> stream
        +  indent + line-end -> stream
        +  [else] -> line-start
        +
        +line-end
        +  comment -> line-end
        +  newline -> .
        +  input-end -> END
        +
        +line-start
        +  doc-start -> doc
        +  doc-end -> stream
        +  [else] -> indent -> block-start
        +
        +block-start
        +  seq-item-start -> block-start
        +  explicit-key-start -> block-start
        +  map-value-start -> block-start
        +  [else] -> doc
        +
        +doc
        +  line-end -> line-start
        +  spaces -> doc
        +  anchor -> doc
        +  tag -> doc
        +  flow-start -> flow -> doc
        +  flow-end -> error -> doc
        +  seq-item-start -> error -> doc
        +  explicit-key-start -> error -> doc
        +  map-value-start -> doc
        +  alias -> doc
        +  quote-start -> quoted-scalar -> doc
        +  block-scalar-header -> line-end -> block-scalar(min) -> line-start
        +  [else] -> plain-scalar(false, min) -> doc
        +
        +flow
        +  line-end -> flow
        +  spaces -> flow
        +  anchor -> flow
        +  tag -> flow
        +  flow-start -> flow -> flow
        +  flow-end -> .
        +  seq-item-start -> error -> flow
        +  explicit-key-start -> flow
        +  map-value-start -> flow
        +  alias -> flow
        +  quote-start -> quoted-scalar -> flow
        +  comma -> flow
        +  [else] -> plain-scalar(true, 0) -> flow
        +
        +quoted-scalar
        +  quote-end -> .
        +  [else] -> quoted-scalar
        +
        +block-scalar(min)
        +  newline + peek(indent < min) -> .
        +  [else] -> block-scalar(min)
        +
        +plain-scalar(is-flow, min)
        +  scalar-end(is-flow) -> .
        +  peek(newline + (indent < min)) -> .
        +  [else] -> plain-scalar(min)
        +*/
        +function isEmpty(ch) {
        +    switch (ch) {
        +        case undefined:
        +        case ' ':
        +        case '\n':
        +        case '\r':
        +        case '\t':
        +            return true;
        +        default:
        +            return false;
        +    }
        +}
        +const hexDigits = new Set('0123456789ABCDEFabcdef');
        +const tagChars = new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()");
        +const flowIndicatorChars = new Set(',[]{}');
        +const invalidAnchorChars = new Set(' ,[]{}\n\r\t');
        +const isNotAnchorChar = (ch) => !ch || invalidAnchorChars.has(ch);
        +/**
        + * Splits an input string into lexical tokens, i.e. smaller strings that are
        + * easily identifiable by `tokens.tokenType()`.
        + *
        + * Lexing starts always in a "stream" context. Incomplete input may be buffered
        + * until a complete token can be emitted.
        + *
        + * In addition to slices of the original input, the following control characters
        + * may also be emitted:
        + *
        + * - `\x02` (Start of Text): A document starts with the next token
        + * - `\x18` (Cancel): Unexpected end of flow-mode (indicates an error)
        + * - `\x1f` (Unit Separator): Next token is a scalar value
        + * - `\u{FEFF}` (Byte order mark): Emitted separately outside documents
        + */
        +class Lexer {
        +    constructor() {
        +        /**
        +         * Flag indicating whether the end of the current buffer marks the end of
        +         * all input
        +         */
        +        this.atEnd = false;
        +        /**
        +         * Explicit indent set in block scalar header, as an offset from the current
        +         * minimum indent, so e.g. set to 1 from a header `|2+`. Set to -1 if not
        +         * explicitly set.
        +         */
        +        this.blockScalarIndent = -1;
        +        /**
        +         * Block scalars that include a + (keep) chomping indicator in their header
        +         * include trailing empty lines, which are otherwise excluded from the
        +         * scalar's contents.
        +         */
        +        this.blockScalarKeep = false;
        +        /** Current input */
        +        this.buffer = '';
        +        /**
        +         * Flag noting whether the map value indicator : can immediately follow this
        +         * node within a flow context.
        +         */
        +        this.flowKey = false;
        +        /** Count of surrounding flow collection levels. */
        +        this.flowLevel = 0;
        +        /**
        +         * Minimum level of indentation required for next lines to be parsed as a
        +         * part of the current scalar value.
        +         */
        +        this.indentNext = 0;
        +        /** Indentation level of the current line. */
        +        this.indentValue = 0;
        +        /** Position of the next \n character. */
        +        this.lineEndPos = null;
        +        /** Stores the state of the lexer if reaching the end of incpomplete input */
        +        this.next = null;
        +        /** A pointer to `buffer`; the current position of the lexer. */
        +        this.pos = 0;
        +    }
        +    /**
        +     * Generate YAML tokens from the `source` string. If `incomplete`,
        +     * a part of the last line may be left as a buffer for the next call.
        +     *
        +     * @returns A generator of lexical tokens
        +     */
        +    *lex(source, incomplete = false) {
        +        if (source) {
        +            if (typeof source !== 'string')
        +                throw TypeError('source is not a string');
        +            this.buffer = this.buffer ? this.buffer + source : source;
        +            this.lineEndPos = null;
        +        }
        +        this.atEnd = !incomplete;
        +        let next = this.next ?? 'stream';
        +        while (next && (incomplete || this.hasChars(1)))
        +            next = yield* this.parseNext(next);
        +    }
        +    atLineEnd() {
        +        let i = this.pos;
        +        let ch = this.buffer[i];
        +        while (ch === ' ' || ch === '\t')
        +            ch = this.buffer[++i];
        +        if (!ch || ch === '#' || ch === '\n')
        +            return true;
        +        if (ch === '\r')
        +            return this.buffer[i + 1] === '\n';
        +        return false;
        +    }
        +    charAt(n) {
        +        return this.buffer[this.pos + n];
        +    }
        +    continueScalar(offset) {
        +        let ch = this.buffer[offset];
        +        if (this.indentNext > 0) {
        +            let indent = 0;
        +            while (ch === ' ')
        +                ch = this.buffer[++indent + offset];
        +            if (ch === '\r') {
        +                const next = this.buffer[indent + offset + 1];
        +                if (next === '\n' || (!next && !this.atEnd))
        +                    return offset + indent + 1;
        +            }
        +            return ch === '\n' || indent >= this.indentNext || (!ch && !this.atEnd)
        +                ? offset + indent
        +                : -1;
        +        }
        +        if (ch === '-' || ch === '.') {
        +            const dt = this.buffer.substr(offset, 3);
        +            if ((dt === '---' || dt === '...') && isEmpty(this.buffer[offset + 3]))
        +                return -1;
        +        }
        +        return offset;
        +    }
        +    getLine() {
        +        let end = this.lineEndPos;
        +        if (typeof end !== 'number' || (end !== -1 && end < this.pos)) {
        +            end = this.buffer.indexOf('\n', this.pos);
        +            this.lineEndPos = end;
        +        }
        +        if (end === -1)
        +            return this.atEnd ? this.buffer.substring(this.pos) : null;
        +        if (this.buffer[end - 1] === '\r')
        +            end -= 1;
        +        return this.buffer.substring(this.pos, end);
        +    }
        +    hasChars(n) {
        +        return this.pos + n <= this.buffer.length;
        +    }
        +    setNext(state) {
        +        this.buffer = this.buffer.substring(this.pos);
        +        this.pos = 0;
        +        this.lineEndPos = null;
        +        this.next = state;
        +        return null;
        +    }
        +    peek(n) {
        +        return this.buffer.substr(this.pos, n);
        +    }
        +    *parseNext(next) {
        +        switch (next) {
        +            case 'stream':
        +                return yield* this.parseStream();
        +            case 'line-start':
        +                return yield* this.parseLineStart();
        +            case 'block-start':
        +                return yield* this.parseBlockStart();
        +            case 'doc':
        +                return yield* this.parseDocument();
        +            case 'flow':
        +                return yield* this.parseFlowCollection();
        +            case 'quoted-scalar':
        +                return yield* this.parseQuotedScalar();
        +            case 'block-scalar':
        +                return yield* this.parseBlockScalar();
        +            case 'plain-scalar':
        +                return yield* this.parsePlainScalar();
        +        }
        +    }
        +    *parseStream() {
        +        let line = this.getLine();
        +        if (line === null)
        +            return this.setNext('stream');
        +        if (line[0] === cst.BOM) {
        +            yield* this.pushCount(1);
        +            line = line.substring(1);
        +        }
        +        if (line[0] === '%') {
        +            let dirEnd = line.length;
        +            let cs = line.indexOf('#');
        +            while (cs !== -1) {
        +                const ch = line[cs - 1];
        +                if (ch === ' ' || ch === '\t') {
        +                    dirEnd = cs - 1;
        +                    break;
        +                }
        +                else {
        +                    cs = line.indexOf('#', cs + 1);
        +                }
        +            }
        +            while (true) {
        +                const ch = line[dirEnd - 1];
        +                if (ch === ' ' || ch === '\t')
        +                    dirEnd -= 1;
        +                else
        +                    break;
        +            }
        +            const n = (yield* this.pushCount(dirEnd)) + (yield* this.pushSpaces(true));
        +            yield* this.pushCount(line.length - n); // possible comment
        +            this.pushNewline();
        +            return 'stream';
        +        }
        +        if (this.atLineEnd()) {
        +            const sp = yield* this.pushSpaces(true);
        +            yield* this.pushCount(line.length - sp);
        +            yield* this.pushNewline();
        +            return 'stream';
        +        }
        +        yield cst.DOCUMENT;
        +        return yield* this.parseLineStart();
        +    }
        +    *parseLineStart() {
        +        const ch = this.charAt(0);
        +        if (!ch && !this.atEnd)
        +            return this.setNext('line-start');
        +        if (ch === '-' || ch === '.') {
        +            if (!this.atEnd && !this.hasChars(4))
        +                return this.setNext('line-start');
        +            const s = this.peek(3);
        +            if ((s === '---' || s === '...') && isEmpty(this.charAt(3))) {
        +                yield* this.pushCount(3);
        +                this.indentValue = 0;
        +                this.indentNext = 0;
        +                return s === '---' ? 'doc' : 'stream';
        +            }
        +        }
        +        this.indentValue = yield* this.pushSpaces(false);
        +        if (this.indentNext > this.indentValue && !isEmpty(this.charAt(1)))
        +            this.indentNext = this.indentValue;
        +        return yield* this.parseBlockStart();
        +    }
        +    *parseBlockStart() {
        +        const [ch0, ch1] = this.peek(2);
        +        if (!ch1 && !this.atEnd)
        +            return this.setNext('block-start');
        +        if ((ch0 === '-' || ch0 === '?' || ch0 === ':') && isEmpty(ch1)) {
        +            const n = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true));
        +            this.indentNext = this.indentValue + 1;
        +            this.indentValue += n;
        +            return yield* this.parseBlockStart();
        +        }
        +        return 'doc';
        +    }
        +    *parseDocument() {
        +        yield* this.pushSpaces(true);
        +        const line = this.getLine();
        +        if (line === null)
        +            return this.setNext('doc');
        +        let n = yield* this.pushIndicators();
        +        switch (line[n]) {
        +            case '#':
        +                yield* this.pushCount(line.length - n);
        +            // fallthrough
        +            case undefined:
        +                yield* this.pushNewline();
        +                return yield* this.parseLineStart();
        +            case '{':
        +            case '[':
        +                yield* this.pushCount(1);
        +                this.flowKey = false;
        +                this.flowLevel = 1;
        +                return 'flow';
        +            case '}':
        +            case ']':
        +                // this is an error
        +                yield* this.pushCount(1);
        +                return 'doc';
        +            case '*':
        +                yield* this.pushUntil(isNotAnchorChar);
        +                return 'doc';
        +            case '"':
        +            case "'":
        +                return yield* this.parseQuotedScalar();
        +            case '|':
        +            case '>':
        +                n += yield* this.parseBlockScalarHeader();
        +                n += yield* this.pushSpaces(true);
        +                yield* this.pushCount(line.length - n);
        +                yield* this.pushNewline();
        +                return yield* this.parseBlockScalar();
        +            default:
        +                return yield* this.parsePlainScalar();
        +        }
        +    }
        +    *parseFlowCollection() {
        +        let nl, sp;
        +        let indent = -1;
        +        do {
        +            nl = yield* this.pushNewline();
        +            if (nl > 0) {
        +                sp = yield* this.pushSpaces(false);
        +                this.indentValue = indent = sp;
        +            }
        +            else {
        +                sp = 0;
        +            }
        +            sp += yield* this.pushSpaces(true);
        +        } while (nl + sp > 0);
        +        const line = this.getLine();
        +        if (line === null)
        +            return this.setNext('flow');
        +        if ((indent !== -1 && indent < this.indentNext && line[0] !== '#') ||
        +            (indent === 0 &&
        +                (line.startsWith('---') || line.startsWith('...')) &&
        +                isEmpty(line[3]))) {
        +            // Allowing for the terminal ] or } at the same (rather than greater)
        +            // indent level as the initial [ or { is technically invalid, but
        +            // failing here would be surprising to users.
        +            const atFlowEndMarker = indent === this.indentNext - 1 &&
        +                this.flowLevel === 1 &&
        +                (line[0] === ']' || line[0] === '}');
        +            if (!atFlowEndMarker) {
        +                // this is an error
        +                this.flowLevel = 0;
        +                yield cst.FLOW_END;
        +                return yield* this.parseLineStart();
        +            }
        +        }
        +        let n = 0;
        +        while (line[n] === ',') {
        +            n += yield* this.pushCount(1);
        +            n += yield* this.pushSpaces(true);
        +            this.flowKey = false;
        +        }
        +        n += yield* this.pushIndicators();
        +        switch (line[n]) {
        +            case undefined:
        +                return 'flow';
        +            case '#':
        +                yield* this.pushCount(line.length - n);
        +                return 'flow';
        +            case '{':
        +            case '[':
        +                yield* this.pushCount(1);
        +                this.flowKey = false;
        +                this.flowLevel += 1;
        +                return 'flow';
        +            case '}':
        +            case ']':
        +                yield* this.pushCount(1);
        +                this.flowKey = true;
        +                this.flowLevel -= 1;
        +                return this.flowLevel ? 'flow' : 'doc';
        +            case '*':
        +                yield* this.pushUntil(isNotAnchorChar);
        +                return 'flow';
        +            case '"':
        +            case "'":
        +                this.flowKey = true;
        +                return yield* this.parseQuotedScalar();
        +            case ':': {
        +                const next = this.charAt(1);
        +                if (this.flowKey || isEmpty(next) || next === ',') {
        +                    this.flowKey = false;
        +                    yield* this.pushCount(1);
        +                    yield* this.pushSpaces(true);
        +                    return 'flow';
        +                }
        +            }
        +            // fallthrough
        +            default:
        +                this.flowKey = false;
        +                return yield* this.parsePlainScalar();
        +        }
        +    }
        +    *parseQuotedScalar() {
        +        const quote = this.charAt(0);
        +        let end = this.buffer.indexOf(quote, this.pos + 1);
        +        if (quote === "'") {
        +            while (end !== -1 && this.buffer[end + 1] === "'")
        +                end = this.buffer.indexOf("'", end + 2);
        +        }
        +        else {
        +            // double-quote
        +            while (end !== -1) {
        +                let n = 0;
        +                while (this.buffer[end - 1 - n] === '\\')
        +                    n += 1;
        +                if (n % 2 === 0)
        +                    break;
        +                end = this.buffer.indexOf('"', end + 1);
        +            }
        +        }
        +        // Only looking for newlines within the quotes
        +        const qb = this.buffer.substring(0, end);
        +        let nl = qb.indexOf('\n', this.pos);
        +        if (nl !== -1) {
        +            while (nl !== -1) {
        +                const cs = this.continueScalar(nl + 1);
        +                if (cs === -1)
        +                    break;
        +                nl = qb.indexOf('\n', cs);
        +            }
        +            if (nl !== -1) {
        +                // this is an error caused by an unexpected unindent
        +                end = nl - (qb[nl - 1] === '\r' ? 2 : 1);
        +            }
        +        }
        +        if (end === -1) {
        +            if (!this.atEnd)
        +                return this.setNext('quoted-scalar');
        +            end = this.buffer.length;
        +        }
        +        yield* this.pushToIndex(end + 1, false);
        +        return this.flowLevel ? 'flow' : 'doc';
        +    }
        +    *parseBlockScalarHeader() {
        +        this.blockScalarIndent = -1;
        +        this.blockScalarKeep = false;
        +        let i = this.pos;
        +        while (true) {
        +            const ch = this.buffer[++i];
        +            if (ch === '+')
        +                this.blockScalarKeep = true;
        +            else if (ch > '0' && ch <= '9')
        +                this.blockScalarIndent = Number(ch) - 1;
        +            else if (ch !== '-')
        +                break;
        +        }
        +        return yield* this.pushUntil(ch => isEmpty(ch) || ch === '#');
        +    }
        +    *parseBlockScalar() {
        +        let nl = this.pos - 1; // may be -1 if this.pos === 0
        +        let indent = 0;
        +        let ch;
        +        loop: for (let i = this.pos; (ch = this.buffer[i]); ++i) {
        +            switch (ch) {
        +                case ' ':
        +                    indent += 1;
        +                    break;
        +                case '\n':
        +                    nl = i;
        +                    indent = 0;
        +                    break;
        +                case '\r': {
        +                    const next = this.buffer[i + 1];
        +                    if (!next && !this.atEnd)
        +                        return this.setNext('block-scalar');
        +                    if (next === '\n')
        +                        break;
        +                } // fallthrough
        +                default:
        +                    break loop;
        +            }
        +        }
        +        if (!ch && !this.atEnd)
        +            return this.setNext('block-scalar');
        +        if (indent >= this.indentNext) {
        +            if (this.blockScalarIndent === -1)
        +                this.indentNext = indent;
        +            else {
        +                this.indentNext =
        +                    this.blockScalarIndent + (this.indentNext === 0 ? 1 : this.indentNext);
        +            }
        +            do {
        +                const cs = this.continueScalar(nl + 1);
        +                if (cs === -1)
        +                    break;
        +                nl = this.buffer.indexOf('\n', cs);
        +            } while (nl !== -1);
        +            if (nl === -1) {
        +                if (!this.atEnd)
        +                    return this.setNext('block-scalar');
        +                nl = this.buffer.length;
        +            }
        +        }
        +        // Trailing insufficiently indented tabs are invalid.
        +        // To catch that during parsing, we include them in the block scalar value.
        +        let i = nl + 1;
        +        ch = this.buffer[i];
        +        while (ch === ' ')
        +            ch = this.buffer[++i];
        +        if (ch === '\t') {
        +            while (ch === '\t' || ch === ' ' || ch === '\r' || ch === '\n')
        +                ch = this.buffer[++i];
        +            nl = i - 1;
        +        }
        +        else if (!this.blockScalarKeep) {
        +            do {
        +                let i = nl - 1;
        +                let ch = this.buffer[i];
        +                if (ch === '\r')
        +                    ch = this.buffer[--i];
        +                const lastChar = i; // Drop the line if last char not more indented
        +                while (ch === ' ')
        +                    ch = this.buffer[--i];
        +                if (ch === '\n' && i >= this.pos && i + 1 + indent > lastChar)
        +                    nl = i;
        +                else
        +                    break;
        +            } while (true);
        +        }
        +        yield cst.SCALAR;
        +        yield* this.pushToIndex(nl + 1, true);
        +        return yield* this.parseLineStart();
        +    }
        +    *parsePlainScalar() {
        +        const inFlow = this.flowLevel > 0;
        +        let end = this.pos - 1;
        +        let i = this.pos - 1;
        +        let ch;
        +        while ((ch = this.buffer[++i])) {
        +            if (ch === ':') {
        +                const next = this.buffer[i + 1];
        +                if (isEmpty(next) || (inFlow && flowIndicatorChars.has(next)))
        +                    break;
        +                end = i;
        +            }
        +            else if (isEmpty(ch)) {
        +                let next = this.buffer[i + 1];
        +                if (ch === '\r') {
        +                    if (next === '\n') {
        +                        i += 1;
        +                        ch = '\n';
        +                        next = this.buffer[i + 1];
        +                    }
        +                    else
        +                        end = i;
        +                }
        +                if (next === '#' || (inFlow && flowIndicatorChars.has(next)))
        +                    break;
        +                if (ch === '\n') {
        +                    const cs = this.continueScalar(i + 1);
        +                    if (cs === -1)
        +                        break;
        +                    i = Math.max(i, cs - 2); // to advance, but still account for ' #'
        +                }
        +            }
        +            else {
        +                if (inFlow && flowIndicatorChars.has(ch))
        +                    break;
        +                end = i;
        +            }
        +        }
        +        if (!ch && !this.atEnd)
        +            return this.setNext('plain-scalar');
        +        yield cst.SCALAR;
        +        yield* this.pushToIndex(end + 1, true);
        +        return inFlow ? 'flow' : 'doc';
        +    }
        +    *pushCount(n) {
        +        if (n > 0) {
        +            yield this.buffer.substr(this.pos, n);
        +            this.pos += n;
        +            return n;
        +        }
        +        return 0;
        +    }
        +    *pushToIndex(i, allowEmpty) {
        +        const s = this.buffer.slice(this.pos, i);
        +        if (s) {
        +            yield s;
        +            this.pos += s.length;
        +            return s.length;
        +        }
        +        else if (allowEmpty)
        +            yield '';
        +        return 0;
        +    }
        +    *pushIndicators() {
        +        switch (this.charAt(0)) {
        +            case '!':
        +                return ((yield* this.pushTag()) +
        +                    (yield* this.pushSpaces(true)) +
        +                    (yield* this.pushIndicators()));
        +            case '&':
        +                return ((yield* this.pushUntil(isNotAnchorChar)) +
        +                    (yield* this.pushSpaces(true)) +
        +                    (yield* this.pushIndicators()));
        +            case '-': // this is an error
        +            case '?': // this is an error outside flow collections
        +            case ':': {
        +                const inFlow = this.flowLevel > 0;
        +                const ch1 = this.charAt(1);
        +                if (isEmpty(ch1) || (inFlow && flowIndicatorChars.has(ch1))) {
        +                    if (!inFlow)
        +                        this.indentNext = this.indentValue + 1;
        +                    else if (this.flowKey)
        +                        this.flowKey = false;
        +                    return ((yield* this.pushCount(1)) +
        +                        (yield* this.pushSpaces(true)) +
        +                        (yield* this.pushIndicators()));
        +                }
        +            }
        +        }
        +        return 0;
        +    }
        +    *pushTag() {
        +        if (this.charAt(1) === '<') {
        +            let i = this.pos + 2;
        +            let ch = this.buffer[i];
        +            while (!isEmpty(ch) && ch !== '>')
        +                ch = this.buffer[++i];
        +            return yield* this.pushToIndex(ch === '>' ? i + 1 : i, false);
        +        }
        +        else {
        +            let i = this.pos + 1;
        +            let ch = this.buffer[i];
        +            while (ch) {
        +                if (tagChars.has(ch))
        +                    ch = this.buffer[++i];
        +                else if (ch === '%' &&
        +                    hexDigits.has(this.buffer[i + 1]) &&
        +                    hexDigits.has(this.buffer[i + 2])) {
        +                    ch = this.buffer[(i += 3)];
        +                }
        +                else
        +                    break;
        +            }
        +            return yield* this.pushToIndex(i, false);
        +        }
        +    }
        +    *pushNewline() {
        +        const ch = this.buffer[this.pos];
        +        if (ch === '\n')
        +            return yield* this.pushCount(1);
        +        else if (ch === '\r' && this.charAt(1) === '\n')
        +            return yield* this.pushCount(2);
        +        else
        +            return 0;
        +    }
        +    *pushSpaces(allowTabs) {
        +        let i = this.pos - 1;
        +        let ch;
        +        do {
        +            ch = this.buffer[++i];
        +        } while (ch === ' ' || (allowTabs && ch === '\t'));
        +        const n = i - this.pos;
        +        if (n > 0) {
        +            yield this.buffer.substr(this.pos, n);
        +            this.pos = i;
        +        }
        +        return n;
        +    }
        +    *pushUntil(test) {
        +        let i = this.pos;
        +        let ch = this.buffer[i];
        +        while (!test(ch))
        +            ch = this.buffer[++i];
        +        return yield* this.pushToIndex(i, false);
        +    }
        +}
        +
        +exports.Lexer = Lexer;
        +
        +
        +/***/ },
        +
        +/***/ 40483
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Tracks newlines during parsing in order to provide an efficient API for
        + * determining the one-indexed `{ line, col }` position for any offset
        + * within the input.
        + */
        +class LineCounter {
        +    constructor() {
        +        this.lineStarts = [];
        +        /**
        +         * Should be called in ascending order. Otherwise, call
        +         * `lineCounter.lineStarts.sort()` before calling `linePos()`.
        +         */
        +        this.addNewLine = (offset) => this.lineStarts.push(offset);
        +        /**
        +         * Performs a binary search and returns the 1-indexed { line, col }
        +         * position of `offset`. If `line === 0`, `addNewLine` has never been
        +         * called or `offset` is before the first known newline.
        +         */
        +        this.linePos = (offset) => {
        +            let low = 0;
        +            let high = this.lineStarts.length;
        +            while (low < high) {
        +                const mid = (low + high) >> 1; // Math.floor((low + high) / 2)
        +                if (this.lineStarts[mid] < offset)
        +                    low = mid + 1;
        +                else
        +                    high = mid;
        +            }
        +            if (this.lineStarts[low] === offset)
        +                return { line: low + 1, col: 1 };
        +            if (low === 0)
        +                return { line: 0, col: offset };
        +            const start = this.lineStarts[low - 1];
        +            return { line: low, col: offset - start + 1 };
        +        };
        +    }
        +}
        +
        +exports.LineCounter = LineCounter;
        +
        +
        +/***/ },
        +
        +/***/ 36247
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_process = __webpack_require__(932);
        +var cst = __webpack_require__(29112);
        +var lexer = __webpack_require__(5752);
        +
        +function includesToken(list, type) {
        +    for (let i = 0; i < list.length; ++i)
        +        if (list[i].type === type)
        +            return true;
        +    return false;
        +}
        +function findNonEmptyIndex(list) {
        +    for (let i = 0; i < list.length; ++i) {
        +        switch (list[i].type) {
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                break;
        +            default:
        +                return i;
        +        }
        +    }
        +    return -1;
        +}
        +function isFlowToken(token) {
        +    switch (token?.type) {
        +        case 'alias':
        +        case 'scalar':
        +        case 'single-quoted-scalar':
        +        case 'double-quoted-scalar':
        +        case 'flow-collection':
        +            return true;
        +        default:
        +            return false;
        +    }
        +}
        +function getPrevProps(parent) {
        +    switch (parent.type) {
        +        case 'document':
        +            return parent.start;
        +        case 'block-map': {
        +            const it = parent.items[parent.items.length - 1];
        +            return it.sep ?? it.start;
        +        }
        +        case 'block-seq':
        +            return parent.items[parent.items.length - 1].start;
        +        /* istanbul ignore next should not happen */
        +        default:
        +            return [];
        +    }
        +}
        +/** Note: May modify input array */
        +function getFirstKeyStartProps(prev) {
        +    if (prev.length === 0)
        +        return [];
        +    let i = prev.length;
        +    loop: while (--i >= 0) {
        +        switch (prev[i].type) {
        +            case 'doc-start':
        +            case 'explicit-key-ind':
        +            case 'map-value-ind':
        +            case 'seq-item-ind':
        +            case 'newline':
        +                break loop;
        +        }
        +    }
        +    while (prev[++i]?.type === 'space') {
        +        /* loop */
        +    }
        +    return prev.splice(i, prev.length);
        +}
        +function fixFlowSeqItems(fc) {
        +    if (fc.start.type === 'flow-seq-start') {
        +        for (const it of fc.items) {
        +            if (it.sep &&
        +                !it.value &&
        +                !includesToken(it.start, 'explicit-key-ind') &&
        +                !includesToken(it.sep, 'map-value-ind')) {
        +                if (it.key)
        +                    it.value = it.key;
        +                delete it.key;
        +                if (isFlowToken(it.value)) {
        +                    if (it.value.end)
        +                        Array.prototype.push.apply(it.value.end, it.sep);
        +                    else
        +                        it.value.end = it.sep;
        +                }
        +                else
        +                    Array.prototype.push.apply(it.start, it.sep);
        +                delete it.sep;
        +            }
        +        }
        +    }
        +}
        +/**
        + * A YAML concrete syntax tree (CST) parser
        + *
        + * ```ts
        + * const src: string = ...
        + * for (const token of new Parser().parse(src)) {
        + *   // token: Token
        + * }
        + * ```
        + *
        + * To use the parser with a user-provided lexer:
        + *
        + * ```ts
        + * function* parse(source: string, lexer: Lexer) {
        + *   const parser = new Parser()
        + *   for (const lexeme of lexer.lex(source))
        + *     yield* parser.next(lexeme)
        + *   yield* parser.end()
        + * }
        + *
        + * const src: string = ...
        + * const lexer = new Lexer()
        + * for (const token of parse(src, lexer)) {
        + *   // token: Token
        + * }
        + * ```
        + */
        +class Parser {
        +    /**
        +     * @param onNewLine - If defined, called separately with the start position of
        +     *   each new line (in `parse()`, including the start of input).
        +     */
        +    constructor(onNewLine) {
        +        /** If true, space and sequence indicators count as indentation */
        +        this.atNewLine = true;
        +        /** If true, next token is a scalar value */
        +        this.atScalar = false;
        +        /** Current indentation level */
        +        this.indent = 0;
        +        /** Current offset since the start of parsing */
        +        this.offset = 0;
        +        /** On the same line with a block map key */
        +        this.onKeyLine = false;
        +        /** Top indicates the node that's currently being built */
        +        this.stack = [];
        +        /** The source of the current token, set in parse() */
        +        this.source = '';
        +        /** The type of the current token, set in parse() */
        +        this.type = '';
        +        // Must be defined after `next()`
        +        this.lexer = new lexer.Lexer();
        +        this.onNewLine = onNewLine;
        +    }
        +    /**
        +     * Parse `source` as a YAML stream.
        +     * If `incomplete`, a part of the last line may be left as a buffer for the next call.
        +     *
        +     * Errors are not thrown, but yielded as `{ type: 'error', message }` tokens.
        +     *
        +     * @returns A generator of tokens representing each directive, document, and other structure.
        +     */
        +    *parse(source, incomplete = false) {
        +        if (this.onNewLine && this.offset === 0)
        +            this.onNewLine(0);
        +        for (const lexeme of this.lexer.lex(source, incomplete))
        +            yield* this.next(lexeme);
        +        if (!incomplete)
        +            yield* this.end();
        +    }
        +    /**
        +     * Advance the parser by the `source` of one lexical token.
        +     */
        +    *next(source) {
        +        this.source = source;
        +        if (node_process.env.LOG_TOKENS)
        +            console.log('|', cst.prettyToken(source));
        +        if (this.atScalar) {
        +            this.atScalar = false;
        +            yield* this.step();
        +            this.offset += source.length;
        +            return;
        +        }
        +        const type = cst.tokenType(source);
        +        if (!type) {
        +            const message = `Not a YAML token: ${source}`;
        +            yield* this.pop({ type: 'error', offset: this.offset, message, source });
        +            this.offset += source.length;
        +        }
        +        else if (type === 'scalar') {
        +            this.atNewLine = false;
        +            this.atScalar = true;
        +            this.type = 'scalar';
        +        }
        +        else {
        +            this.type = type;
        +            yield* this.step();
        +            switch (type) {
        +                case 'newline':
        +                    this.atNewLine = true;
        +                    this.indent = 0;
        +                    if (this.onNewLine)
        +                        this.onNewLine(this.offset + source.length);
        +                    break;
        +                case 'space':
        +                    if (this.atNewLine && source[0] === ' ')
        +                        this.indent += source.length;
        +                    break;
        +                case 'explicit-key-ind':
        +                case 'map-value-ind':
        +                case 'seq-item-ind':
        +                    if (this.atNewLine)
        +                        this.indent += source.length;
        +                    break;
        +                case 'doc-mode':
        +                case 'flow-error-end':
        +                    return;
        +                default:
        +                    this.atNewLine = false;
        +            }
        +            this.offset += source.length;
        +        }
        +    }
        +    /** Call at end of input to push out any remaining constructions */
        +    *end() {
        +        while (this.stack.length > 0)
        +            yield* this.pop();
        +    }
        +    get sourceToken() {
        +        const st = {
        +            type: this.type,
        +            offset: this.offset,
        +            indent: this.indent,
        +            source: this.source
        +        };
        +        return st;
        +    }
        +    *step() {
        +        const top = this.peek(1);
        +        if (this.type === 'doc-end' && top?.type !== 'doc-end') {
        +            while (this.stack.length > 0)
        +                yield* this.pop();
        +            this.stack.push({
        +                type: 'doc-end',
        +                offset: this.offset,
        +                source: this.source
        +            });
        +            return;
        +        }
        +        if (!top)
        +            return yield* this.stream();
        +        switch (top.type) {
        +            case 'document':
        +                return yield* this.document(top);
        +            case 'alias':
        +            case 'scalar':
        +            case 'single-quoted-scalar':
        +            case 'double-quoted-scalar':
        +                return yield* this.scalar(top);
        +            case 'block-scalar':
        +                return yield* this.blockScalar(top);
        +            case 'block-map':
        +                return yield* this.blockMap(top);
        +            case 'block-seq':
        +                return yield* this.blockSequence(top);
        +            case 'flow-collection':
        +                return yield* this.flowCollection(top);
        +            case 'doc-end':
        +                return yield* this.documentEnd(top);
        +        }
        +        /* istanbul ignore next should not happen */
        +        yield* this.pop();
        +    }
        +    peek(n) {
        +        return this.stack[this.stack.length - n];
        +    }
        +    *pop(error) {
        +        const token = error ?? this.stack.pop();
        +        /* istanbul ignore if should not happen */
        +        if (!token) {
        +            const message = 'Tried to pop an empty stack';
        +            yield { type: 'error', offset: this.offset, source: '', message };
        +        }
        +        else if (this.stack.length === 0) {
        +            yield token;
        +        }
        +        else {
        +            const top = this.peek(1);
        +            if (token.type === 'block-scalar') {
        +                // Block scalars use their parent rather than header indent
        +                token.indent = 'indent' in top ? top.indent : 0;
        +            }
        +            else if (token.type === 'flow-collection' && top.type === 'document') {
        +                // Ignore all indent for top-level flow collections
        +                token.indent = 0;
        +            }
        +            if (token.type === 'flow-collection')
        +                fixFlowSeqItems(token);
        +            switch (top.type) {
        +                case 'document':
        +                    top.value = token;
        +                    break;
        +                case 'block-scalar':
        +                    top.props.push(token); // error
        +                    break;
        +                case 'block-map': {
        +                    const it = top.items[top.items.length - 1];
        +                    if (it.value) {
        +                        top.items.push({ start: [], key: token, sep: [] });
        +                        this.onKeyLine = true;
        +                        return;
        +                    }
        +                    else if (it.sep) {
        +                        it.value = token;
        +                    }
        +                    else {
        +                        Object.assign(it, { key: token, sep: [] });
        +                        this.onKeyLine = !it.explicitKey;
        +                        return;
        +                    }
        +                    break;
        +                }
        +                case 'block-seq': {
        +                    const it = top.items[top.items.length - 1];
        +                    if (it.value)
        +                        top.items.push({ start: [], value: token });
        +                    else
        +                        it.value = token;
        +                    break;
        +                }
        +                case 'flow-collection': {
        +                    const it = top.items[top.items.length - 1];
        +                    if (!it || it.value)
        +                        top.items.push({ start: [], key: token, sep: [] });
        +                    else if (it.sep)
        +                        it.value = token;
        +                    else
        +                        Object.assign(it, { key: token, sep: [] });
        +                    return;
        +                }
        +                /* istanbul ignore next should not happen */
        +                default:
        +                    yield* this.pop();
        +                    yield* this.pop(token);
        +            }
        +            if ((top.type === 'document' ||
        +                top.type === 'block-map' ||
        +                top.type === 'block-seq') &&
        +                (token.type === 'block-map' || token.type === 'block-seq')) {
        +                const last = token.items[token.items.length - 1];
        +                if (last &&
        +                    !last.sep &&
        +                    !last.value &&
        +                    last.start.length > 0 &&
        +                    findNonEmptyIndex(last.start) === -1 &&
        +                    (token.indent === 0 ||
        +                        last.start.every(st => st.type !== 'comment' || st.indent < token.indent))) {
        +                    if (top.type === 'document')
        +                        top.end = last.start;
        +                    else
        +                        top.items.push({ start: last.start });
        +                    token.items.splice(-1, 1);
        +                }
        +            }
        +        }
        +    }
        +    *stream() {
        +        switch (this.type) {
        +            case 'directive-line':
        +                yield { type: 'directive', offset: this.offset, source: this.source };
        +                return;
        +            case 'byte-order-mark':
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                yield this.sourceToken;
        +                return;
        +            case 'doc-mode':
        +            case 'doc-start': {
        +                const doc = {
        +                    type: 'document',
        +                    offset: this.offset,
        +                    start: []
        +                };
        +                if (this.type === 'doc-start')
        +                    doc.start.push(this.sourceToken);
        +                this.stack.push(doc);
        +                return;
        +            }
        +        }
        +        yield {
        +            type: 'error',
        +            offset: this.offset,
        +            message: `Unexpected ${this.type} token in YAML stream`,
        +            source: this.source
        +        };
        +    }
        +    *document(doc) {
        +        if (doc.value)
        +            return yield* this.lineEnd(doc);
        +        switch (this.type) {
        +            case 'doc-start': {
        +                if (findNonEmptyIndex(doc.start) !== -1) {
        +                    yield* this.pop();
        +                    yield* this.step();
        +                }
        +                else
        +                    doc.start.push(this.sourceToken);
        +                return;
        +            }
        +            case 'anchor':
        +            case 'tag':
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                doc.start.push(this.sourceToken);
        +                return;
        +        }
        +        const bv = this.startBlockValue(doc);
        +        if (bv)
        +            this.stack.push(bv);
        +        else {
        +            yield {
        +                type: 'error',
        +                offset: this.offset,
        +                message: `Unexpected ${this.type} token in YAML document`,
        +                source: this.source
        +            };
        +        }
        +    }
        +    *scalar(scalar) {
        +        if (this.type === 'map-value-ind') {
        +            const prev = getPrevProps(this.peek(2));
        +            const start = getFirstKeyStartProps(prev);
        +            let sep;
        +            if (scalar.end) {
        +                sep = scalar.end;
        +                sep.push(this.sourceToken);
        +                delete scalar.end;
        +            }
        +            else
        +                sep = [this.sourceToken];
        +            const map = {
        +                type: 'block-map',
        +                offset: scalar.offset,
        +                indent: scalar.indent,
        +                items: [{ start, key: scalar, sep }]
        +            };
        +            this.onKeyLine = true;
        +            this.stack[this.stack.length - 1] = map;
        +        }
        +        else
        +            yield* this.lineEnd(scalar);
        +    }
        +    *blockScalar(scalar) {
        +        switch (this.type) {
        +            case 'space':
        +            case 'comment':
        +            case 'newline':
        +                scalar.props.push(this.sourceToken);
        +                return;
        +            case 'scalar':
        +                scalar.source = this.source;
        +                // block-scalar source includes trailing newline
        +                this.atNewLine = true;
        +                this.indent = 0;
        +                if (this.onNewLine) {
        +                    let nl = this.source.indexOf('\n') + 1;
        +                    while (nl !== 0) {
        +                        this.onNewLine(this.offset + nl);
        +                        nl = this.source.indexOf('\n', nl) + 1;
        +                    }
        +                }
        +                yield* this.pop();
        +                break;
        +            /* istanbul ignore next should not happen */
        +            default:
        +                yield* this.pop();
        +                yield* this.step();
        +        }
        +    }
        +    *blockMap(map) {
        +        const it = map.items[map.items.length - 1];
        +        // it.sep is true-ish if pair already has key or : separator
        +        switch (this.type) {
        +            case 'newline':
        +                this.onKeyLine = false;
        +                if (it.value) {
        +                    const end = 'end' in it.value ? it.value.end : undefined;
        +                    const last = Array.isArray(end) ? end[end.length - 1] : undefined;
        +                    if (last?.type === 'comment')
        +                        end?.push(this.sourceToken);
        +                    else
        +                        map.items.push({ start: [this.sourceToken] });
        +                }
        +                else if (it.sep) {
        +                    it.sep.push(this.sourceToken);
        +                }
        +                else {
        +                    it.start.push(this.sourceToken);
        +                }
        +                return;
        +            case 'space':
        +            case 'comment':
        +                if (it.value) {
        +                    map.items.push({ start: [this.sourceToken] });
        +                }
        +                else if (it.sep) {
        +                    it.sep.push(this.sourceToken);
        +                }
        +                else {
        +                    if (this.atIndentedComment(it.start, map.indent)) {
        +                        const prev = map.items[map.items.length - 2];
        +                        const end = prev?.value?.end;
        +                        if (Array.isArray(end)) {
        +                            Array.prototype.push.apply(end, it.start);
        +                            end.push(this.sourceToken);
        +                            map.items.pop();
        +                            return;
        +                        }
        +                    }
        +                    it.start.push(this.sourceToken);
        +                }
        +                return;
        +        }
        +        if (this.indent >= map.indent) {
        +            const atMapIndent = !this.onKeyLine && this.indent === map.indent;
        +            const atNextItem = atMapIndent &&
        +                (it.sep || it.explicitKey) &&
        +                this.type !== 'seq-item-ind';
        +            // For empty nodes, assign newline-separated not indented empty tokens to following node
        +            let start = [];
        +            if (atNextItem && it.sep && !it.value) {
        +                const nl = [];
        +                for (let i = 0; i < it.sep.length; ++i) {
        +                    const st = it.sep[i];
        +                    switch (st.type) {
        +                        case 'newline':
        +                            nl.push(i);
        +                            break;
        +                        case 'space':
        +                            break;
        +                        case 'comment':
        +                            if (st.indent > map.indent)
        +                                nl.length = 0;
        +                            break;
        +                        default:
        +                            nl.length = 0;
        +                    }
        +                }
        +                if (nl.length >= 2)
        +                    start = it.sep.splice(nl[1]);
        +            }
        +            switch (this.type) {
        +                case 'anchor':
        +                case 'tag':
        +                    if (atNextItem || it.value) {
        +                        start.push(this.sourceToken);
        +                        map.items.push({ start });
        +                        this.onKeyLine = true;
        +                    }
        +                    else if (it.sep) {
        +                        it.sep.push(this.sourceToken);
        +                    }
        +                    else {
        +                        it.start.push(this.sourceToken);
        +                    }
        +                    return;
        +                case 'explicit-key-ind':
        +                    if (!it.sep && !it.explicitKey) {
        +                        it.start.push(this.sourceToken);
        +                        it.explicitKey = true;
        +                    }
        +                    else if (atNextItem || it.value) {
        +                        start.push(this.sourceToken);
        +                        map.items.push({ start, explicitKey: true });
        +                    }
        +                    else {
        +                        this.stack.push({
        +                            type: 'block-map',
        +                            offset: this.offset,
        +                            indent: this.indent,
        +                            items: [{ start: [this.sourceToken], explicitKey: true }]
        +                        });
        +                    }
        +                    this.onKeyLine = true;
        +                    return;
        +                case 'map-value-ind':
        +                    if (it.explicitKey) {
        +                        if (!it.sep) {
        +                            if (includesToken(it.start, 'newline')) {
        +                                Object.assign(it, { key: null, sep: [this.sourceToken] });
        +                            }
        +                            else {
        +                                const start = getFirstKeyStartProps(it.start);
        +                                this.stack.push({
        +                                    type: 'block-map',
        +                                    offset: this.offset,
        +                                    indent: this.indent,
        +                                    items: [{ start, key: null, sep: [this.sourceToken] }]
        +                                });
        +                            }
        +                        }
        +                        else if (it.value) {
        +                            map.items.push({ start: [], key: null, sep: [this.sourceToken] });
        +                        }
        +                        else if (includesToken(it.sep, 'map-value-ind')) {
        +                            this.stack.push({
        +                                type: 'block-map',
        +                                offset: this.offset,
        +                                indent: this.indent,
        +                                items: [{ start, key: null, sep: [this.sourceToken] }]
        +                            });
        +                        }
        +                        else if (isFlowToken(it.key) &&
        +                            !includesToken(it.sep, 'newline')) {
        +                            const start = getFirstKeyStartProps(it.start);
        +                            const key = it.key;
        +                            const sep = it.sep;
        +                            sep.push(this.sourceToken);
        +                            // @ts-expect-error type guard is wrong here
        +                            delete it.key;
        +                            // @ts-expect-error type guard is wrong here
        +                            delete it.sep;
        +                            this.stack.push({
        +                                type: 'block-map',
        +                                offset: this.offset,
        +                                indent: this.indent,
        +                                items: [{ start, key, sep }]
        +                            });
        +                        }
        +                        else if (start.length > 0) {
        +                            // Not actually at next item
        +                            it.sep = it.sep.concat(start, this.sourceToken);
        +                        }
        +                        else {
        +                            it.sep.push(this.sourceToken);
        +                        }
        +                    }
        +                    else {
        +                        if (!it.sep) {
        +                            Object.assign(it, { key: null, sep: [this.sourceToken] });
        +                        }
        +                        else if (it.value || atNextItem) {
        +                            map.items.push({ start, key: null, sep: [this.sourceToken] });
        +                        }
        +                        else if (includesToken(it.sep, 'map-value-ind')) {
        +                            this.stack.push({
        +                                type: 'block-map',
        +                                offset: this.offset,
        +                                indent: this.indent,
        +                                items: [{ start: [], key: null, sep: [this.sourceToken] }]
        +                            });
        +                        }
        +                        else {
        +                            it.sep.push(this.sourceToken);
        +                        }
        +                    }
        +                    this.onKeyLine = true;
        +                    return;
        +                case 'alias':
        +                case 'scalar':
        +                case 'single-quoted-scalar':
        +                case 'double-quoted-scalar': {
        +                    const fs = this.flowScalar(this.type);
        +                    if (atNextItem || it.value) {
        +                        map.items.push({ start, key: fs, sep: [] });
        +                        this.onKeyLine = true;
        +                    }
        +                    else if (it.sep) {
        +                        this.stack.push(fs);
        +                    }
        +                    else {
        +                        Object.assign(it, { key: fs, sep: [] });
        +                        this.onKeyLine = true;
        +                    }
        +                    return;
        +                }
        +                default: {
        +                    const bv = this.startBlockValue(map);
        +                    if (bv) {
        +                        if (bv.type === 'block-seq') {
        +                            if (!it.explicitKey &&
        +                                it.sep &&
        +                                !includesToken(it.sep, 'newline')) {
        +                                yield* this.pop({
        +                                    type: 'error',
        +                                    offset: this.offset,
        +                                    message: 'Unexpected block-seq-ind on same line with key',
        +                                    source: this.source
        +                                });
        +                                return;
        +                            }
        +                        }
        +                        else if (atMapIndent) {
        +                            map.items.push({ start });
        +                        }
        +                        this.stack.push(bv);
        +                        return;
        +                    }
        +                }
        +            }
        +        }
        +        yield* this.pop();
        +        yield* this.step();
        +    }
        +    *blockSequence(seq) {
        +        const it = seq.items[seq.items.length - 1];
        +        switch (this.type) {
        +            case 'newline':
        +                if (it.value) {
        +                    const end = 'end' in it.value ? it.value.end : undefined;
        +                    const last = Array.isArray(end) ? end[end.length - 1] : undefined;
        +                    if (last?.type === 'comment')
        +                        end?.push(this.sourceToken);
        +                    else
        +                        seq.items.push({ start: [this.sourceToken] });
        +                }
        +                else
        +                    it.start.push(this.sourceToken);
        +                return;
        +            case 'space':
        +            case 'comment':
        +                if (it.value)
        +                    seq.items.push({ start: [this.sourceToken] });
        +                else {
        +                    if (this.atIndentedComment(it.start, seq.indent)) {
        +                        const prev = seq.items[seq.items.length - 2];
        +                        const end = prev?.value?.end;
        +                        if (Array.isArray(end)) {
        +                            Array.prototype.push.apply(end, it.start);
        +                            end.push(this.sourceToken);
        +                            seq.items.pop();
        +                            return;
        +                        }
        +                    }
        +                    it.start.push(this.sourceToken);
        +                }
        +                return;
        +            case 'anchor':
        +            case 'tag':
        +                if (it.value || this.indent <= seq.indent)
        +                    break;
        +                it.start.push(this.sourceToken);
        +                return;
        +            case 'seq-item-ind':
        +                if (this.indent !== seq.indent)
        +                    break;
        +                if (it.value || includesToken(it.start, 'seq-item-ind'))
        +                    seq.items.push({ start: [this.sourceToken] });
        +                else
        +                    it.start.push(this.sourceToken);
        +                return;
        +        }
        +        if (this.indent > seq.indent) {
        +            const bv = this.startBlockValue(seq);
        +            if (bv) {
        +                this.stack.push(bv);
        +                return;
        +            }
        +        }
        +        yield* this.pop();
        +        yield* this.step();
        +    }
        +    *flowCollection(fc) {
        +        const it = fc.items[fc.items.length - 1];
        +        if (this.type === 'flow-error-end') {
        +            let top;
        +            do {
        +                yield* this.pop();
        +                top = this.peek(1);
        +            } while (top?.type === 'flow-collection');
        +        }
        +        else if (fc.end.length === 0) {
        +            switch (this.type) {
        +                case 'comma':
        +                case 'explicit-key-ind':
        +                    if (!it || it.sep)
        +                        fc.items.push({ start: [this.sourceToken] });
        +                    else
        +                        it.start.push(this.sourceToken);
        +                    return;
        +                case 'map-value-ind':
        +                    if (!it || it.value)
        +                        fc.items.push({ start: [], key: null, sep: [this.sourceToken] });
        +                    else if (it.sep)
        +                        it.sep.push(this.sourceToken);
        +                    else
        +                        Object.assign(it, { key: null, sep: [this.sourceToken] });
        +                    return;
        +                case 'space':
        +                case 'comment':
        +                case 'newline':
        +                case 'anchor':
        +                case 'tag':
        +                    if (!it || it.value)
        +                        fc.items.push({ start: [this.sourceToken] });
        +                    else if (it.sep)
        +                        it.sep.push(this.sourceToken);
        +                    else
        +                        it.start.push(this.sourceToken);
        +                    return;
        +                case 'alias':
        +                case 'scalar':
        +                case 'single-quoted-scalar':
        +                case 'double-quoted-scalar': {
        +                    const fs = this.flowScalar(this.type);
        +                    if (!it || it.value)
        +                        fc.items.push({ start: [], key: fs, sep: [] });
        +                    else if (it.sep)
        +                        this.stack.push(fs);
        +                    else
        +                        Object.assign(it, { key: fs, sep: [] });
        +                    return;
        +                }
        +                case 'flow-map-end':
        +                case 'flow-seq-end':
        +                    fc.end.push(this.sourceToken);
        +                    return;
        +            }
        +            const bv = this.startBlockValue(fc);
        +            /* istanbul ignore else should not happen */
        +            if (bv)
        +                this.stack.push(bv);
        +            else {
        +                yield* this.pop();
        +                yield* this.step();
        +            }
        +        }
        +        else {
        +            const parent = this.peek(2);
        +            if (parent.type === 'block-map' &&
        +                ((this.type === 'map-value-ind' && parent.indent === fc.indent) ||
        +                    (this.type === 'newline' &&
        +                        !parent.items[parent.items.length - 1].sep))) {
        +                yield* this.pop();
        +                yield* this.step();
        +            }
        +            else if (this.type === 'map-value-ind' &&
        +                parent.type !== 'flow-collection') {
        +                const prev = getPrevProps(parent);
        +                const start = getFirstKeyStartProps(prev);
        +                fixFlowSeqItems(fc);
        +                const sep = fc.end.splice(1, fc.end.length);
        +                sep.push(this.sourceToken);
        +                const map = {
        +                    type: 'block-map',
        +                    offset: fc.offset,
        +                    indent: fc.indent,
        +                    items: [{ start, key: fc, sep }]
        +                };
        +                this.onKeyLine = true;
        +                this.stack[this.stack.length - 1] = map;
        +            }
        +            else {
        +                yield* this.lineEnd(fc);
        +            }
        +        }
        +    }
        +    flowScalar(type) {
        +        if (this.onNewLine) {
        +            let nl = this.source.indexOf('\n') + 1;
        +            while (nl !== 0) {
        +                this.onNewLine(this.offset + nl);
        +                nl = this.source.indexOf('\n', nl) + 1;
        +            }
        +        }
        +        return {
        +            type,
        +            offset: this.offset,
        +            indent: this.indent,
        +            source: this.source
        +        };
        +    }
        +    startBlockValue(parent) {
        +        switch (this.type) {
        +            case 'alias':
        +            case 'scalar':
        +            case 'single-quoted-scalar':
        +            case 'double-quoted-scalar':
        +                return this.flowScalar(this.type);
        +            case 'block-scalar-header':
        +                return {
        +                    type: 'block-scalar',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    props: [this.sourceToken],
        +                    source: ''
        +                };
        +            case 'flow-map-start':
        +            case 'flow-seq-start':
        +                return {
        +                    type: 'flow-collection',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    start: this.sourceToken,
        +                    items: [],
        +                    end: []
        +                };
        +            case 'seq-item-ind':
        +                return {
        +                    type: 'block-seq',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    items: [{ start: [this.sourceToken] }]
        +                };
        +            case 'explicit-key-ind': {
        +                this.onKeyLine = true;
        +                const prev = getPrevProps(parent);
        +                const start = getFirstKeyStartProps(prev);
        +                start.push(this.sourceToken);
        +                return {
        +                    type: 'block-map',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    items: [{ start, explicitKey: true }]
        +                };
        +            }
        +            case 'map-value-ind': {
        +                this.onKeyLine = true;
        +                const prev = getPrevProps(parent);
        +                const start = getFirstKeyStartProps(prev);
        +                return {
        +                    type: 'block-map',
        +                    offset: this.offset,
        +                    indent: this.indent,
        +                    items: [{ start, key: null, sep: [this.sourceToken] }]
        +                };
        +            }
        +        }
        +        return null;
        +    }
        +    atIndentedComment(start, indent) {
        +        if (this.type !== 'comment')
        +            return false;
        +        if (this.indent <= indent)
        +            return false;
        +        return start.every(st => st.type === 'newline' || st.type === 'space');
        +    }
        +    *documentEnd(docEnd) {
        +        if (this.type !== 'doc-mode') {
        +            if (docEnd.end)
        +                docEnd.end.push(this.sourceToken);
        +            else
        +                docEnd.end = [this.sourceToken];
        +            if (this.type === 'newline')
        +                yield* this.pop();
        +        }
        +    }
        +    *lineEnd(token) {
        +        switch (this.type) {
        +            case 'comma':
        +            case 'doc-start':
        +            case 'doc-end':
        +            case 'flow-seq-end':
        +            case 'flow-map-end':
        +            case 'map-value-ind':
        +                yield* this.pop();
        +                yield* this.step();
        +                break;
        +            case 'newline':
        +                this.onKeyLine = false;
        +            // fallthrough
        +            case 'space':
        +            case 'comment':
        +            default:
        +                // all other values are errors
        +                if (token.end)
        +                    token.end.push(this.sourceToken);
        +                else
        +                    token.end = [this.sourceToken];
        +                if (this.type === 'newline')
        +                    yield* this.pop();
        +        }
        +    }
        +}
        +
        +exports.Parser = Parser;
        +
        +
        +/***/ },
        +
        +/***/ 61332
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var composer = __webpack_require__(24927);
        +var Document = __webpack_require__(9046);
        +var errors = __webpack_require__(44355);
        +var log = __webpack_require__(97444);
        +var identity = __webpack_require__(70484);
        +var lineCounter = __webpack_require__(40483);
        +var parser = __webpack_require__(36247);
        +
        +function parseOptions(options) {
        +    const prettyErrors = options.prettyErrors !== false;
        +    const lineCounter$1 = options.lineCounter || (prettyErrors && new lineCounter.LineCounter()) || null;
        +    return { lineCounter: lineCounter$1, prettyErrors };
        +}
        +/**
        + * Parse the input as a stream of YAML documents.
        + *
        + * Documents should be separated from each other by `...` or `---` marker lines.
        + *
        + * @returns If an empty `docs` array is returned, it will be of type
        + *   EmptyStream and contain additional stream information. In
        + *   TypeScript, you should use `'empty' in docs` as a type guard for it.
        + */
        +function parseAllDocuments(source, options = {}) {
        +    const { lineCounter, prettyErrors } = parseOptions(options);
        +    const parser$1 = new parser.Parser(lineCounter?.addNewLine);
        +    const composer$1 = new composer.Composer(options);
        +    const docs = Array.from(composer$1.compose(parser$1.parse(source)));
        +    if (prettyErrors && lineCounter)
        +        for (const doc of docs) {
        +            doc.errors.forEach(errors.prettifyError(source, lineCounter));
        +            doc.warnings.forEach(errors.prettifyError(source, lineCounter));
        +        }
        +    if (docs.length > 0)
        +        return docs;
        +    return Object.assign([], { empty: true }, composer$1.streamInfo());
        +}
        +/** Parse an input string into a single YAML.Document */
        +function parseDocument(source, options = {}) {
        +    const { lineCounter, prettyErrors } = parseOptions(options);
        +    const parser$1 = new parser.Parser(lineCounter?.addNewLine);
        +    const composer$1 = new composer.Composer(options);
        +    // `doc` is always set by compose.end(true) at the very latest
        +    let doc = null;
        +    for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
        +        if (!doc)
        +            doc = _doc;
        +        else if (doc.options.logLevel !== 'silent') {
        +            doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0, 2), 'MULTIPLE_DOCS', 'Source contains multiple documents; please use YAML.parseAllDocuments()'));
        +            break;
        +        }
        +    }
        +    if (prettyErrors && lineCounter) {
        +        doc.errors.forEach(errors.prettifyError(source, lineCounter));
        +        doc.warnings.forEach(errors.prettifyError(source, lineCounter));
        +    }
        +    return doc;
        +}
        +function parse(src, reviver, options) {
        +    let _reviver = undefined;
        +    if (typeof reviver === 'function') {
        +        _reviver = reviver;
        +    }
        +    else if (options === undefined && reviver && typeof reviver === 'object') {
        +        options = reviver;
        +    }
        +    const doc = parseDocument(src, options);
        +    if (!doc)
        +        return null;
        +    doc.warnings.forEach(warning => log.warn(doc.options.logLevel, warning));
        +    if (doc.errors.length > 0) {
        +        if (doc.options.logLevel !== 'silent')
        +            throw doc.errors[0];
        +        else
        +            doc.errors = [];
        +    }
        +    return doc.toJS(Object.assign({ reviver: _reviver }, options));
        +}
        +function stringify(value, replacer, options) {
        +    let _replacer = null;
        +    if (typeof replacer === 'function' || Array.isArray(replacer)) {
        +        _replacer = replacer;
        +    }
        +    else if (options === undefined && replacer) {
        +        options = replacer;
        +    }
        +    if (typeof options === 'string')
        +        options = options.length;
        +    if (typeof options === 'number') {
        +        const indent = Math.round(options);
        +        options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent };
        +    }
        +    if (value === undefined) {
        +        const { keepUndefined } = options ?? replacer ?? {};
        +        if (!keepUndefined)
        +            return undefined;
        +    }
        +    if (identity.isDocument(value) && !_replacer)
        +        return value.toString(options);
        +    return new Document.Document(value, _replacer, options).toString(options);
        +}
        +
        +exports.parse = parse;
        +exports.parseAllDocuments = parseAllDocuments;
        +exports.parseDocument = parseDocument;
        +exports.stringify = stringify;
        +
        +
        +/***/ },
        +
        +/***/ 40625
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var map = __webpack_require__(63334);
        +var seq = __webpack_require__(21919);
        +var string = __webpack_require__(58531);
        +var tags = __webpack_require__(50975);
        +
        +const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
        +class Schema {
        +    constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) {
        +        this.compat = Array.isArray(compat)
        +            ? tags.getTags(compat, 'compat')
        +            : compat
        +                ? tags.getTags(null, compat)
        +                : null;
        +        this.name = (typeof schema === 'string' && schema) || 'core';
        +        this.knownTags = resolveKnownTags ? tags.coreKnownTags : {};
        +        this.tags = tags.getTags(customTags, this.name, merge);
        +        this.toStringOptions = toStringDefaults ?? null;
        +        Object.defineProperty(this, identity.MAP, { value: map.map });
        +        Object.defineProperty(this, identity.SCALAR, { value: string.string });
        +        Object.defineProperty(this, identity.SEQ, { value: seq.seq });
        +        // Used by createMap()
        +        this.sortMapEntries =
        +            typeof sortMapEntries === 'function'
        +                ? sortMapEntries
        +                : sortMapEntries === true
        +                    ? sortMapEntriesByKey
        +                    : null;
        +    }
        +    clone() {
        +        const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this));
        +        copy.tags = this.tags.slice();
        +        return copy;
        +    }
        +}
        +
        +exports.Schema = Schema;
        +
        +
        +/***/ },
        +
        +/***/ 63334
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var YAMLMap = __webpack_require__(81755);
        +
        +const map = {
        +    collection: 'map',
        +    default: true,
        +    nodeClass: YAMLMap.YAMLMap,
        +    tag: 'tag:yaml.org,2002:map',
        +    resolve(map, onError) {
        +        if (!identity.isMap(map))
        +            onError('Expected a mapping for this tag');
        +        return map;
        +    },
        +    createNode: (schema, obj, ctx) => YAMLMap.YAMLMap.from(schema, obj, ctx)
        +};
        +
        +exports.map = map;
        +
        +
        +/***/ },
        +
        +/***/ 86055
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +
        +const nullTag = {
        +    identify: value => value == null,
        +    createNode: () => new Scalar.Scalar(null),
        +    default: true,
        +    tag: 'tag:yaml.org,2002:null',
        +    test: /^(?:~|[Nn]ull|NULL)?$/,
        +    resolve: () => new Scalar.Scalar(null),
        +    stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source)
        +        ? source
        +        : ctx.options.nullStr
        +};
        +
        +exports.nullTag = nullTag;
        +
        +
        +/***/ },
        +
        +/***/ 21919
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var YAMLSeq = __webpack_require__(36010);
        +
        +const seq = {
        +    collection: 'seq',
        +    default: true,
        +    nodeClass: YAMLSeq.YAMLSeq,
        +    tag: 'tag:yaml.org,2002:seq',
        +    resolve(seq, onError) {
        +        if (!identity.isSeq(seq))
        +            onError('Expected a sequence for this tag');
        +        return seq;
        +    },
        +    createNode: (schema, obj, ctx) => YAMLSeq.YAMLSeq.from(schema, obj, ctx)
        +};
        +
        +exports.seq = seq;
        +
        +
        +/***/ },
        +
        +/***/ 58531
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyString = __webpack_require__(27180);
        +
        +const string = {
        +    identify: value => typeof value === 'string',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:str',
        +    resolve: str => str,
        +    stringify(item, ctx, onComment, onChompKeep) {
        +        ctx = Object.assign({ actualString: true }, ctx);
        +        return stringifyString.stringifyString(item, ctx, onComment, onChompKeep);
        +    }
        +};
        +
        +exports.string = string;
        +
        +
        +/***/ },
        +
        +/***/ 5132
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +
        +const boolTag = {
        +    identify: value => typeof value === 'boolean',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:bool',
        +    test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
        +    resolve: str => new Scalar.Scalar(str[0] === 't' || str[0] === 'T'),
        +    stringify({ source, value }, ctx) {
        +        if (source && boolTag.test.test(source)) {
        +            const sv = source[0] === 't' || source[0] === 'T';
        +            if (value === sv)
        +                return source;
        +        }
        +        return value ? ctx.options.trueStr : ctx.options.falseStr;
        +    }
        +};
        +
        +exports.boolTag = boolTag;
        +
        +
        +/***/ },
        +
        +/***/ 20988
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +var stringifyNumber = __webpack_require__(3144);
        +
        +const floatNaN = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
        +    resolve: str => str.slice(-3).toLowerCase() === 'nan'
        +        ? NaN
        +        : str[0] === '-'
        +            ? Number.NEGATIVE_INFINITY
        +            : Number.POSITIVE_INFINITY,
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const floatExp = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    format: 'EXP',
        +    test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
        +    resolve: str => parseFloat(str),
        +    stringify(node) {
        +        const num = Number(node.value);
        +        return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
        +    }
        +};
        +const float = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
        +    resolve(str) {
        +        const node = new Scalar.Scalar(parseFloat(str));
        +        const dot = str.indexOf('.');
        +        if (dot !== -1 && str[str.length - 1] === '0')
        +            node.minFractionDigits = str.length - dot - 1;
        +        return node;
        +    },
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +
        +exports.float = float;
        +exports.floatExp = floatExp;
        +exports.floatNaN = floatNaN;
        +
        +
        +/***/ },
        +
        +/***/ 12891
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyNumber = __webpack_require__(3144);
        +
        +const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
        +const intResolve = (str, offset, radix, { intAsBigInt }) => (intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix));
        +function intStringify(node, radix, prefix) {
        +    const { value } = node;
        +    if (intIdentify(value) && value >= 0)
        +        return prefix + value.toString(radix);
        +    return stringifyNumber.stringifyNumber(node);
        +}
        +const intOct = {
        +    identify: value => intIdentify(value) && value >= 0,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'OCT',
        +    test: /^0o[0-7]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt),
        +    stringify: node => intStringify(node, 8, '0o')
        +};
        +const int = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    test: /^[-+]?[0-9]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const intHex = {
        +    identify: value => intIdentify(value) && value >= 0,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'HEX',
        +    test: /^0x[0-9a-fA-F]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
        +    stringify: node => intStringify(node, 16, '0x')
        +};
        +
        +exports.int = int;
        +exports.intHex = intHex;
        +exports.intOct = intOct;
        +
        +
        +/***/ },
        +
        +/***/ 68523
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var map = __webpack_require__(63334);
        +var _null = __webpack_require__(86055);
        +var seq = __webpack_require__(21919);
        +var string = __webpack_require__(58531);
        +var bool = __webpack_require__(5132);
        +var float = __webpack_require__(20988);
        +var int = __webpack_require__(12891);
        +
        +const schema = [
        +    map.map,
        +    seq.seq,
        +    string.string,
        +    _null.nullTag,
        +    bool.boolTag,
        +    int.intOct,
        +    int.int,
        +    int.intHex,
        +    float.floatNaN,
        +    float.floatExp,
        +    float.float
        +];
        +
        +exports.schema = schema;
        +
        +
        +/***/ },
        +
        +/***/ 94988
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +var map = __webpack_require__(63334);
        +var seq = __webpack_require__(21919);
        +
        +function intIdentify(value) {
        +    return typeof value === 'bigint' || Number.isInteger(value);
        +}
        +const stringifyJSON = ({ value }) => JSON.stringify(value);
        +const jsonScalars = [
        +    {
        +        identify: value => typeof value === 'string',
        +        default: true,
        +        tag: 'tag:yaml.org,2002:str',
        +        resolve: str => str,
        +        stringify: stringifyJSON
        +    },
        +    {
        +        identify: value => value == null,
        +        createNode: () => new Scalar.Scalar(null),
        +        default: true,
        +        tag: 'tag:yaml.org,2002:null',
        +        test: /^null$/,
        +        resolve: () => null,
        +        stringify: stringifyJSON
        +    },
        +    {
        +        identify: value => typeof value === 'boolean',
        +        default: true,
        +        tag: 'tag:yaml.org,2002:bool',
        +        test: /^true$|^false$/,
        +        resolve: str => str === 'true',
        +        stringify: stringifyJSON
        +    },
        +    {
        +        identify: intIdentify,
        +        default: true,
        +        tag: 'tag:yaml.org,2002:int',
        +        test: /^-?(?:0|[1-9][0-9]*)$/,
        +        resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10),
        +        stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
        +    },
        +    {
        +        identify: value => typeof value === 'number',
        +        default: true,
        +        tag: 'tag:yaml.org,2002:float',
        +        test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
        +        resolve: str => parseFloat(str),
        +        stringify: stringifyJSON
        +    }
        +];
        +const jsonError = {
        +    default: true,
        +    tag: '',
        +    test: /^/,
        +    resolve(str, onError) {
        +        onError(`Unresolved plain scalar ${JSON.stringify(str)}`);
        +        return str;
        +    }
        +};
        +const schema = [map.map, seq.seq].concat(jsonScalars, jsonError);
        +
        +exports.schema = schema;
        +
        +
        +/***/ },
        +
        +/***/ 50975
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var map = __webpack_require__(63334);
        +var _null = __webpack_require__(86055);
        +var seq = __webpack_require__(21919);
        +var string = __webpack_require__(58531);
        +var bool = __webpack_require__(5132);
        +var float = __webpack_require__(20988);
        +var int = __webpack_require__(12891);
        +var schema = __webpack_require__(68523);
        +var schema$1 = __webpack_require__(94988);
        +var binary = __webpack_require__(98080);
        +var merge = __webpack_require__(59637);
        +var omap = __webpack_require__(90692);
        +var pairs = __webpack_require__(8416);
        +var schema$2 = __webpack_require__(15822);
        +var set = __webpack_require__(52557);
        +var timestamp = __webpack_require__(15437);
        +
        +const schemas = new Map([
        +    ['core', schema.schema],
        +    ['failsafe', [map.map, seq.seq, string.string]],
        +    ['json', schema$1.schema],
        +    ['yaml11', schema$2.schema],
        +    ['yaml-1.1', schema$2.schema]
        +]);
        +const tagsByName = {
        +    binary: binary.binary,
        +    bool: bool.boolTag,
        +    float: float.float,
        +    floatExp: float.floatExp,
        +    floatNaN: float.floatNaN,
        +    floatTime: timestamp.floatTime,
        +    int: int.int,
        +    intHex: int.intHex,
        +    intOct: int.intOct,
        +    intTime: timestamp.intTime,
        +    map: map.map,
        +    merge: merge.merge,
        +    null: _null.nullTag,
        +    omap: omap.omap,
        +    pairs: pairs.pairs,
        +    seq: seq.seq,
        +    set: set.set,
        +    timestamp: timestamp.timestamp
        +};
        +const coreKnownTags = {
        +    'tag:yaml.org,2002:binary': binary.binary,
        +    'tag:yaml.org,2002:merge': merge.merge,
        +    'tag:yaml.org,2002:omap': omap.omap,
        +    'tag:yaml.org,2002:pairs': pairs.pairs,
        +    'tag:yaml.org,2002:set': set.set,
        +    'tag:yaml.org,2002:timestamp': timestamp.timestamp
        +};
        +function getTags(customTags, schemaName, addMergeTag) {
        +    const schemaTags = schemas.get(schemaName);
        +    if (schemaTags && !customTags) {
        +        return addMergeTag && !schemaTags.includes(merge.merge)
        +            ? schemaTags.concat(merge.merge)
        +            : schemaTags.slice();
        +    }
        +    let tags = schemaTags;
        +    if (!tags) {
        +        if (Array.isArray(customTags))
        +            tags = [];
        +        else {
        +            const keys = Array.from(schemas.keys())
        +                .filter(key => key !== 'yaml11')
        +                .map(key => JSON.stringify(key))
        +                .join(', ');
        +            throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`);
        +        }
        +    }
        +    if (Array.isArray(customTags)) {
        +        for (const tag of customTags)
        +            tags = tags.concat(tag);
        +    }
        +    else if (typeof customTags === 'function') {
        +        tags = customTags(tags.slice());
        +    }
        +    if (addMergeTag)
        +        tags = tags.concat(merge.merge);
        +    return tags.reduce((tags, tag) => {
        +        const tagObj = typeof tag === 'string' ? tagsByName[tag] : tag;
        +        if (!tagObj) {
        +            const tagName = JSON.stringify(tag);
        +            const keys = Object.keys(tagsByName)
        +                .map(key => JSON.stringify(key))
        +                .join(', ');
        +            throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
        +        }
        +        if (!tags.includes(tagObj))
        +            tags.push(tagObj);
        +        return tags;
        +    }, []);
        +}
        +
        +exports.coreKnownTags = coreKnownTags;
        +exports.getTags = getTags;
        +
        +
        +/***/ },
        +
        +/***/ 98080
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var node_buffer = __webpack_require__(20181);
        +var Scalar = __webpack_require__(89714);
        +var stringifyString = __webpack_require__(27180);
        +
        +const binary = {
        +    identify: value => value instanceof Uint8Array, // Buffer inherits from Uint8Array
        +    default: false,
        +    tag: 'tag:yaml.org,2002:binary',
        +    /**
        +     * Returns a Buffer in node and an Uint8Array in browsers
        +     *
        +     * To use the resulting buffer as an image, you'll want to do something like:
        +     *
        +     *   const blob = new Blob([buffer], { type: 'image/jpeg' })
        +     *   document.querySelector('#photo').src = URL.createObjectURL(blob)
        +     */
        +    resolve(src, onError) {
        +        if (typeof node_buffer.Buffer === 'function') {
        +            return node_buffer.Buffer.from(src, 'base64');
        +        }
        +        else if (typeof atob === 'function') {
        +            // On IE 11, atob() can't handle newlines
        +            const str = atob(src.replace(/[\n\r]/g, ''));
        +            const buffer = new Uint8Array(str.length);
        +            for (let i = 0; i < str.length; ++i)
        +                buffer[i] = str.charCodeAt(i);
        +            return buffer;
        +        }
        +        else {
        +            onError('This environment does not support reading binary tags; either Buffer or atob is required');
        +            return src;
        +        }
        +    },
        +    stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
        +        if (!value)
        +            return '';
        +        const buf = value; // checked earlier by binary.identify()
        +        let str;
        +        if (typeof node_buffer.Buffer === 'function') {
        +            str =
        +                buf instanceof node_buffer.Buffer
        +                    ? buf.toString('base64')
        +                    : node_buffer.Buffer.from(buf.buffer).toString('base64');
        +        }
        +        else if (typeof btoa === 'function') {
        +            let s = '';
        +            for (let i = 0; i < buf.length; ++i)
        +                s += String.fromCharCode(buf[i]);
        +            str = btoa(s);
        +        }
        +        else {
        +            throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
        +        }
        +        type ?? (type = Scalar.Scalar.BLOCK_LITERAL);
        +        if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
        +            const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
        +            const n = Math.ceil(str.length / lineWidth);
        +            const lines = new Array(n);
        +            for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
        +                lines[i] = str.substr(o, lineWidth);
        +            }
        +            str = lines.join(type === Scalar.Scalar.BLOCK_LITERAL ? '\n' : ' ');
        +        }
        +        return stringifyString.stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep);
        +    }
        +};
        +
        +exports.binary = binary;
        +
        +
        +/***/ },
        +
        +/***/ 17969
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +
        +function boolStringify({ value, source }, ctx) {
        +    const boolObj = value ? trueTag : falseTag;
        +    if (source && boolObj.test.test(source))
        +        return source;
        +    return value ? ctx.options.trueStr : ctx.options.falseStr;
        +}
        +const trueTag = {
        +    identify: value => value === true,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:bool',
        +    test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
        +    resolve: () => new Scalar.Scalar(true),
        +    stringify: boolStringify
        +};
        +const falseTag = {
        +    identify: value => value === false,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:bool',
        +    test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
        +    resolve: () => new Scalar.Scalar(false),
        +    stringify: boolStringify
        +};
        +
        +exports.falseTag = falseTag;
        +exports.trueTag = trueTag;
        +
        +
        +/***/ },
        +
        +/***/ 47191
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +var stringifyNumber = __webpack_require__(3144);
        +
        +const floatNaN = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
        +    resolve: (str) => str.slice(-3).toLowerCase() === 'nan'
        +        ? NaN
        +        : str[0] === '-'
        +            ? Number.NEGATIVE_INFINITY
        +            : Number.POSITIVE_INFINITY,
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const floatExp = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    format: 'EXP',
        +    test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
        +    resolve: (str) => parseFloat(str.replace(/_/g, '')),
        +    stringify(node) {
        +        const num = Number(node.value);
        +        return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
        +    }
        +};
        +const float = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
        +    resolve(str) {
        +        const node = new Scalar.Scalar(parseFloat(str.replace(/_/g, '')));
        +        const dot = str.indexOf('.');
        +        if (dot !== -1) {
        +            const f = str.substring(dot + 1).replace(/_/g, '');
        +            if (f[f.length - 1] === '0')
        +                node.minFractionDigits = f.length;
        +        }
        +        return node;
        +    },
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +
        +exports.float = float;
        +exports.floatExp = floatExp;
        +exports.floatNaN = floatNaN;
        +
        +
        +/***/ },
        +
        +/***/ 76936
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyNumber = __webpack_require__(3144);
        +
        +const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
        +function intResolve(str, offset, radix, { intAsBigInt }) {
        +    const sign = str[0];
        +    if (sign === '-' || sign === '+')
        +        offset += 1;
        +    str = str.substring(offset).replace(/_/g, '');
        +    if (intAsBigInt) {
        +        switch (radix) {
        +            case 2:
        +                str = `0b${str}`;
        +                break;
        +            case 8:
        +                str = `0o${str}`;
        +                break;
        +            case 16:
        +                str = `0x${str}`;
        +                break;
        +        }
        +        const n = BigInt(str);
        +        return sign === '-' ? BigInt(-1) * n : n;
        +    }
        +    const n = parseInt(str, radix);
        +    return sign === '-' ? -1 * n : n;
        +}
        +function intStringify(node, radix, prefix) {
        +    const { value } = node;
        +    if (intIdentify(value)) {
        +        const str = value.toString(radix);
        +        return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;
        +    }
        +    return stringifyNumber.stringifyNumber(node);
        +}
        +const intBin = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'BIN',
        +    test: /^[-+]?0b[0-1_]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 2, opt),
        +    stringify: node => intStringify(node, 2, '0b')
        +};
        +const intOct = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'OCT',
        +    test: /^[-+]?0[0-7_]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 1, 8, opt),
        +    stringify: node => intStringify(node, 8, '0')
        +};
        +const int = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    test: /^[-+]?[0-9][0-9_]*$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
        +    stringify: stringifyNumber.stringifyNumber
        +};
        +const intHex = {
        +    identify: intIdentify,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'HEX',
        +    test: /^[-+]?0x[0-9a-fA-F_]+$/,
        +    resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
        +    stringify: node => intStringify(node, 16, '0x')
        +};
        +
        +exports.int = int;
        +exports.intBin = intBin;
        +exports.intHex = intHex;
        +exports.intOct = intOct;
        +
        +
        +/***/ },
        +
        +/***/ 59637
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Scalar = __webpack_require__(89714);
        +
        +// If the value associated with a merge key is a single mapping node, each of
        +// its key/value pairs is inserted into the current mapping, unless the key
        +// already exists in it. If the value associated with the merge key is a
        +// sequence, then this sequence is expected to contain mapping nodes and each
        +// of these nodes is merged in turn according to its order in the sequence.
        +// Keys in mapping nodes earlier in the sequence override keys specified in
        +// later mapping nodes. -- http://yaml.org/type/merge.html
        +const MERGE_KEY = '<<';
        +const merge = {
        +    identify: value => value === MERGE_KEY ||
        +        (typeof value === 'symbol' && value.description === MERGE_KEY),
        +    default: 'key',
        +    tag: 'tag:yaml.org,2002:merge',
        +    test: /^<<$/,
        +    resolve: () => Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)), {
        +        addToJSMap: addMergeToJSMap
        +    }),
        +    stringify: () => MERGE_KEY
        +};
        +const isMergeKey = (ctx, key) => (merge.identify(key) ||
        +    (identity.isScalar(key) &&
        +        (!key.type || key.type === Scalar.Scalar.PLAIN) &&
        +        merge.identify(key.value))) &&
        +    ctx?.doc.schema.tags.some(tag => tag.tag === merge.tag && tag.default);
        +function addMergeToJSMap(ctx, map, value) {
        +    value = ctx && identity.isAlias(value) ? value.resolve(ctx.doc) : value;
        +    if (identity.isSeq(value))
        +        for (const it of value.items)
        +            mergeValue(ctx, map, it);
        +    else if (Array.isArray(value))
        +        for (const it of value)
        +            mergeValue(ctx, map, it);
        +    else
        +        mergeValue(ctx, map, value);
        +}
        +function mergeValue(ctx, map, value) {
        +    const source = ctx && identity.isAlias(value) ? value.resolve(ctx.doc) : value;
        +    if (!identity.isMap(source))
        +        throw new Error('Merge sources must be maps or map aliases');
        +    const srcMap = source.toJSON(null, ctx, Map);
        +    for (const [key, value] of srcMap) {
        +        if (map instanceof Map) {
        +            if (!map.has(key))
        +                map.set(key, value);
        +        }
        +        else if (map instanceof Set) {
        +            map.add(key);
        +        }
        +        else if (!Object.prototype.hasOwnProperty.call(map, key)) {
        +            Object.defineProperty(map, key, {
        +                value,
        +                writable: true,
        +                enumerable: true,
        +                configurable: true
        +            });
        +        }
        +    }
        +    return map;
        +}
        +
        +exports.addMergeToJSMap = addMergeToJSMap;
        +exports.isMergeKey = isMergeKey;
        +exports.merge = merge;
        +
        +
        +/***/ },
        +
        +/***/ 90692
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var toJS = __webpack_require__(63732);
        +var YAMLMap = __webpack_require__(81755);
        +var YAMLSeq = __webpack_require__(36010);
        +var pairs = __webpack_require__(8416);
        +
        +class YAMLOMap extends YAMLSeq.YAMLSeq {
        +    constructor() {
        +        super();
        +        this.add = YAMLMap.YAMLMap.prototype.add.bind(this);
        +        this.delete = YAMLMap.YAMLMap.prototype.delete.bind(this);
        +        this.get = YAMLMap.YAMLMap.prototype.get.bind(this);
        +        this.has = YAMLMap.YAMLMap.prototype.has.bind(this);
        +        this.set = YAMLMap.YAMLMap.prototype.set.bind(this);
        +        this.tag = YAMLOMap.tag;
        +    }
        +    /**
        +     * If `ctx` is given, the return type is actually `Map`,
        +     * but TypeScript won't allow widening the signature of a child method.
        +     */
        +    toJSON(_, ctx) {
        +        if (!ctx)
        +            return super.toJSON(_);
        +        const map = new Map();
        +        if (ctx?.onCreate)
        +            ctx.onCreate(map);
        +        for (const pair of this.items) {
        +            let key, value;
        +            if (identity.isPair(pair)) {
        +                key = toJS.toJS(pair.key, '', ctx);
        +                value = toJS.toJS(pair.value, key, ctx);
        +            }
        +            else {
        +                key = toJS.toJS(pair, '', ctx);
        +            }
        +            if (map.has(key))
        +                throw new Error('Ordered maps must not include duplicate keys');
        +            map.set(key, value);
        +        }
        +        return map;
        +    }
        +    static from(schema, iterable, ctx) {
        +        const pairs$1 = pairs.createPairs(schema, iterable, ctx);
        +        const omap = new this();
        +        omap.items = pairs$1.items;
        +        return omap;
        +    }
        +}
        +YAMLOMap.tag = 'tag:yaml.org,2002:omap';
        +const omap = {
        +    collection: 'seq',
        +    identify: value => value instanceof Map,
        +    nodeClass: YAMLOMap,
        +    default: false,
        +    tag: 'tag:yaml.org,2002:omap',
        +    resolve(seq, onError) {
        +        const pairs$1 = pairs.resolvePairs(seq, onError);
        +        const seenKeys = [];
        +        for (const { key } of pairs$1.items) {
        +            if (identity.isScalar(key)) {
        +                if (seenKeys.includes(key.value)) {
        +                    onError(`Ordered maps must not include duplicate keys: ${key.value}`);
        +                }
        +                else {
        +                    seenKeys.push(key.value);
        +                }
        +            }
        +        }
        +        return Object.assign(new YAMLOMap(), pairs$1);
        +    },
        +    createNode: (schema, iterable, ctx) => YAMLOMap.from(schema, iterable, ctx)
        +};
        +
        +exports.YAMLOMap = YAMLOMap;
        +exports.omap = omap;
        +
        +
        +/***/ },
        +
        +/***/ 8416
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Pair = __webpack_require__(27902);
        +var Scalar = __webpack_require__(89714);
        +var YAMLSeq = __webpack_require__(36010);
        +
        +function resolvePairs(seq, onError) {
        +    if (identity.isSeq(seq)) {
        +        for (let i = 0; i < seq.items.length; ++i) {
        +            let item = seq.items[i];
        +            if (identity.isPair(item))
        +                continue;
        +            else if (identity.isMap(item)) {
        +                if (item.items.length > 1)
        +                    onError('Each pair must have its own sequence indicator');
        +                const pair = item.items[0] || new Pair.Pair(new Scalar.Scalar(null));
        +                if (item.commentBefore)
        +                    pair.key.commentBefore = pair.key.commentBefore
        +                        ? `${item.commentBefore}\n${pair.key.commentBefore}`
        +                        : item.commentBefore;
        +                if (item.comment) {
        +                    const cn = pair.value ?? pair.key;
        +                    cn.comment = cn.comment
        +                        ? `${item.comment}\n${cn.comment}`
        +                        : item.comment;
        +                }
        +                item = pair;
        +            }
        +            seq.items[i] = identity.isPair(item) ? item : new Pair.Pair(item);
        +        }
        +    }
        +    else
        +        onError('Expected a sequence for this tag');
        +    return seq;
        +}
        +function createPairs(schema, iterable, ctx) {
        +    const { replacer } = ctx;
        +    const pairs = new YAMLSeq.YAMLSeq(schema);
        +    pairs.tag = 'tag:yaml.org,2002:pairs';
        +    let i = 0;
        +    if (iterable && Symbol.iterator in Object(iterable))
        +        for (let it of iterable) {
        +            if (typeof replacer === 'function')
        +                it = replacer.call(iterable, String(i++), it);
        +            let key, value;
        +            if (Array.isArray(it)) {
        +                if (it.length === 2) {
        +                    key = it[0];
        +                    value = it[1];
        +                }
        +                else
        +                    throw new TypeError(`Expected [key, value] tuple: ${it}`);
        +            }
        +            else if (it && it instanceof Object) {
        +                const keys = Object.keys(it);
        +                if (keys.length === 1) {
        +                    key = keys[0];
        +                    value = it[key];
        +                }
        +                else {
        +                    throw new TypeError(`Expected tuple with one key, not ${keys.length} keys`);
        +                }
        +            }
        +            else {
        +                key = it;
        +            }
        +            pairs.items.push(Pair.createPair(key, value, ctx));
        +        }
        +    return pairs;
        +}
        +const pairs = {
        +    collection: 'seq',
        +    default: false,
        +    tag: 'tag:yaml.org,2002:pairs',
        +    resolve: resolvePairs,
        +    createNode: createPairs
        +};
        +
        +exports.createPairs = createPairs;
        +exports.pairs = pairs;
        +exports.resolvePairs = resolvePairs;
        +
        +
        +/***/ },
        +
        +/***/ 15822
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var map = __webpack_require__(63334);
        +var _null = __webpack_require__(86055);
        +var seq = __webpack_require__(21919);
        +var string = __webpack_require__(58531);
        +var binary = __webpack_require__(98080);
        +var bool = __webpack_require__(17969);
        +var float = __webpack_require__(47191);
        +var int = __webpack_require__(76936);
        +var merge = __webpack_require__(59637);
        +var omap = __webpack_require__(90692);
        +var pairs = __webpack_require__(8416);
        +var set = __webpack_require__(52557);
        +var timestamp = __webpack_require__(15437);
        +
        +const schema = [
        +    map.map,
        +    seq.seq,
        +    string.string,
        +    _null.nullTag,
        +    bool.trueTag,
        +    bool.falseTag,
        +    int.intBin,
        +    int.intOct,
        +    int.int,
        +    int.intHex,
        +    float.floatNaN,
        +    float.floatExp,
        +    float.float,
        +    binary.binary,
        +    merge.merge,
        +    omap.omap,
        +    pairs.pairs,
        +    set.set,
        +    timestamp.intTime,
        +    timestamp.floatTime,
        +    timestamp.timestamp
        +];
        +
        +exports.schema = schema;
        +
        +
        +/***/ },
        +
        +/***/ 52557
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Pair = __webpack_require__(27902);
        +var YAMLMap = __webpack_require__(81755);
        +
        +class YAMLSet extends YAMLMap.YAMLMap {
        +    constructor(schema) {
        +        super(schema);
        +        this.tag = YAMLSet.tag;
        +    }
        +    add(key) {
        +        let pair;
        +        if (identity.isPair(key))
        +            pair = key;
        +        else if (key &&
        +            typeof key === 'object' &&
        +            'key' in key &&
        +            'value' in key &&
        +            key.value === null)
        +            pair = new Pair.Pair(key.key, null);
        +        else
        +            pair = new Pair.Pair(key, null);
        +        const prev = YAMLMap.findPair(this.items, pair.key);
        +        if (!prev)
        +            this.items.push(pair);
        +    }
        +    /**
        +     * If `keepPair` is `true`, returns the Pair matching `key`.
        +     * Otherwise, returns the value of that Pair's key.
        +     */
        +    get(key, keepPair) {
        +        const pair = YAMLMap.findPair(this.items, key);
        +        return !keepPair && identity.isPair(pair)
        +            ? identity.isScalar(pair.key)
        +                ? pair.key.value
        +                : pair.key
        +            : pair;
        +    }
        +    set(key, value) {
        +        if (typeof value !== 'boolean')
        +            throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
        +        const prev = YAMLMap.findPair(this.items, key);
        +        if (prev && !value) {
        +            this.items.splice(this.items.indexOf(prev), 1);
        +        }
        +        else if (!prev && value) {
        +            this.items.push(new Pair.Pair(key));
        +        }
        +    }
        +    toJSON(_, ctx) {
        +        return super.toJSON(_, ctx, Set);
        +    }
        +    toString(ctx, onComment, onChompKeep) {
        +        if (!ctx)
        +            return JSON.stringify(this);
        +        if (this.hasAllNullValues(true))
        +            return super.toString(Object.assign({}, ctx, { allNullValues: true }), onComment, onChompKeep);
        +        else
        +            throw new Error('Set items must all have null values');
        +    }
        +    static from(schema, iterable, ctx) {
        +        const { replacer } = ctx;
        +        const set = new this(schema);
        +        if (iterable && Symbol.iterator in Object(iterable))
        +            for (let value of iterable) {
        +                if (typeof replacer === 'function')
        +                    value = replacer.call(iterable, value, value);
        +                set.items.push(Pair.createPair(value, null, ctx));
        +            }
        +        return set;
        +    }
        +}
        +YAMLSet.tag = 'tag:yaml.org,2002:set';
        +const set = {
        +    collection: 'map',
        +    identify: value => value instanceof Set,
        +    nodeClass: YAMLSet,
        +    default: false,
        +    tag: 'tag:yaml.org,2002:set',
        +    createNode: (schema, iterable, ctx) => YAMLSet.from(schema, iterable, ctx),
        +    resolve(map, onError) {
        +        if (identity.isMap(map)) {
        +            if (map.hasAllNullValues(true))
        +                return Object.assign(new YAMLSet(), map);
        +            else
        +                onError('Set items must all have null values');
        +        }
        +        else
        +            onError('Expected a mapping for this tag');
        +        return map;
        +    }
        +};
        +
        +exports.YAMLSet = YAMLSet;
        +exports.set = set;
        +
        +
        +/***/ },
        +
        +/***/ 15437
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var stringifyNumber = __webpack_require__(3144);
        +
        +/** Internal types handle bigint as number, because TS can't figure it out. */
        +function parseSexagesimal(str, asBigInt) {
        +    const sign = str[0];
        +    const parts = sign === '-' || sign === '+' ? str.substring(1) : str;
        +    const num = (n) => asBigInt ? BigInt(n) : Number(n);
        +    const res = parts
        +        .replace(/_/g, '')
        +        .split(':')
        +        .reduce((res, p) => res * num(60) + num(p), num(0));
        +    return (sign === '-' ? num(-1) * res : res);
        +}
        +/**
        + * hhhh:mm:ss.sss
        + *
        + * Internal types handle bigint as number, because TS can't figure it out.
        + */
        +function stringifySexagesimal(node) {
        +    let { value } = node;
        +    let num = (n) => n;
        +    if (typeof value === 'bigint')
        +        num = n => BigInt(n);
        +    else if (isNaN(value) || !isFinite(value))
        +        return stringifyNumber.stringifyNumber(node);
        +    let sign = '';
        +    if (value < 0) {
        +        sign = '-';
        +        value *= num(-1);
        +    }
        +    const _60 = num(60);
        +    const parts = [value % _60]; // seconds, including ms
        +    if (value < 60) {
        +        parts.unshift(0); // at least one : is required
        +    }
        +    else {
        +        value = (value - parts[0]) / _60;
        +        parts.unshift(value % _60); // minutes
        +        if (value >= 60) {
        +            value = (value - parts[0]) / _60;
        +            parts.unshift(value); // hours
        +        }
        +    }
        +    return (sign +
        +        parts
        +            .map(n => String(n).padStart(2, '0'))
        +            .join(':')
        +            .replace(/000000\d*$/, '') // % 60 may introduce error
        +    );
        +}
        +const intTime = {
        +    identify: value => typeof value === 'bigint' || Number.isInteger(value),
        +    default: true,
        +    tag: 'tag:yaml.org,2002:int',
        +    format: 'TIME',
        +    test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,
        +    resolve: (str, _onError, { intAsBigInt }) => parseSexagesimal(str, intAsBigInt),
        +    stringify: stringifySexagesimal
        +};
        +const floatTime = {
        +    identify: value => typeof value === 'number',
        +    default: true,
        +    tag: 'tag:yaml.org,2002:float',
        +    format: 'TIME',
        +    test: /^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,
        +    resolve: str => parseSexagesimal(str, false),
        +    stringify: stringifySexagesimal
        +};
        +const timestamp = {
        +    identify: value => value instanceof Date,
        +    default: true,
        +    tag: 'tag:yaml.org,2002:timestamp',
        +    // If the time zone is omitted, the timestamp is assumed to be specified in UTC. The time part
        +    // may be omitted altogether, resulting in a date format. In such a case, the time part is
        +    // assumed to be 00:00:00Z (start of day, UTC).
        +    test: RegExp('^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})' + // YYYY-Mm-Dd
        +        '(?:' + // time is optional
        +        '(?:t|T|[ \\t]+)' + // t | T | whitespace
        +        '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)' + // Hh:Mm:Ss(.ss)?
        +        '(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?' + // Z | +5 | -03:30
        +        ')?$'),
        +    resolve(str) {
        +        const match = str.match(timestamp.test);
        +        if (!match)
        +            throw new Error('!!timestamp expects a date, starting with yyyy-mm-dd');
        +        const [, year, month, day, hour, minute, second] = match.map(Number);
        +        const millisec = match[7] ? Number((match[7] + '00').substr(1, 3)) : 0;
        +        let date = Date.UTC(year, month - 1, day, hour || 0, minute || 0, second || 0, millisec);
        +        const tz = match[8];
        +        if (tz && tz !== 'Z') {
        +            let d = parseSexagesimal(tz, false);
        +            if (Math.abs(d) < 30)
        +                d *= 60;
        +            date -= 60000 * d;
        +        }
        +        return new Date(date);
        +    },
        +    stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, '') ?? ''
        +};
        +
        +exports.floatTime = floatTime;
        +exports.intTime = intTime;
        +exports.timestamp = timestamp;
        +
        +
        +/***/ },
        +
        +/***/ 46170
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +const FOLD_FLOW = 'flow';
        +const FOLD_BLOCK = 'block';
        +const FOLD_QUOTED = 'quoted';
        +/**
        + * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
        + * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
        + * terminated with `\n` and started with `indent`.
        + */
        +function foldFlowLines(text, indent, mode = 'flow', { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
        +    if (!lineWidth || lineWidth < 0)
        +        return text;
        +    if (lineWidth < minContentWidth)
        +        minContentWidth = 0;
        +    const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
        +    if (text.length <= endStep)
        +        return text;
        +    const folds = [];
        +    const escapedFolds = {};
        +    let end = lineWidth - indent.length;
        +    if (typeof indentAtStart === 'number') {
        +        if (indentAtStart > lineWidth - Math.max(2, minContentWidth))
        +            folds.push(0);
        +        else
        +            end = lineWidth - indentAtStart;
        +    }
        +    let split = undefined;
        +    let prev = undefined;
        +    let overflow = false;
        +    let i = -1;
        +    let escStart = -1;
        +    let escEnd = -1;
        +    if (mode === FOLD_BLOCK) {
        +        i = consumeMoreIndentedLines(text, i, indent.length);
        +        if (i !== -1)
        +            end = i + endStep;
        +    }
        +    for (let ch; (ch = text[(i += 1)]);) {
        +        if (mode === FOLD_QUOTED && ch === '\\') {
        +            escStart = i;
        +            switch (text[i + 1]) {
        +                case 'x':
        +                    i += 3;
        +                    break;
        +                case 'u':
        +                    i += 5;
        +                    break;
        +                case 'U':
        +                    i += 9;
        +                    break;
        +                default:
        +                    i += 1;
        +            }
        +            escEnd = i;
        +        }
        +        if (ch === '\n') {
        +            if (mode === FOLD_BLOCK)
        +                i = consumeMoreIndentedLines(text, i, indent.length);
        +            end = i + indent.length + endStep;
        +            split = undefined;
        +        }
        +        else {
        +            if (ch === ' ' &&
        +                prev &&
        +                prev !== ' ' &&
        +                prev !== '\n' &&
        +                prev !== '\t') {
        +                // space surrounded by non-space can be replaced with newline + indent
        +                const next = text[i + 1];
        +                if (next && next !== ' ' && next !== '\n' && next !== '\t')
        +                    split = i;
        +            }
        +            if (i >= end) {
        +                if (split) {
        +                    folds.push(split);
        +                    end = split + endStep;
        +                    split = undefined;
        +                }
        +                else if (mode === FOLD_QUOTED) {
        +                    // white-space collected at end may stretch past lineWidth
        +                    while (prev === ' ' || prev === '\t') {
        +                        prev = ch;
        +                        ch = text[(i += 1)];
        +                        overflow = true;
        +                    }
        +                    // Account for newline escape, but don't break preceding escape
        +                    const j = i > escEnd + 1 ? i - 2 : escStart - 1;
        +                    // Bail out if lineWidth & minContentWidth are shorter than an escape string
        +                    if (escapedFolds[j])
        +                        return text;
        +                    folds.push(j);
        +                    escapedFolds[j] = true;
        +                    end = j + endStep;
        +                    split = undefined;
        +                }
        +                else {
        +                    overflow = true;
        +                }
        +            }
        +        }
        +        prev = ch;
        +    }
        +    if (overflow && onOverflow)
        +        onOverflow();
        +    if (folds.length === 0)
        +        return text;
        +    if (onFold)
        +        onFold();
        +    let res = text.slice(0, folds[0]);
        +    for (let i = 0; i < folds.length; ++i) {
        +        const fold = folds[i];
        +        const end = folds[i + 1] || text.length;
        +        if (fold === 0)
        +            res = `\n${indent}${text.slice(0, end)}`;
        +        else {
        +            if (mode === FOLD_QUOTED && escapedFolds[fold])
        +                res += `${text[fold]}\\`;
        +            res += `\n${indent}${text.slice(fold + 1, end)}`;
        +        }
        +    }
        +    return res;
        +}
        +/**
        + * Presumes `i + 1` is at the start of a line
        + * @returns index of last newline in more-indented block
        + */
        +function consumeMoreIndentedLines(text, i, indent) {
        +    let end = i;
        +    let start = i + 1;
        +    let ch = text[start];
        +    while (ch === ' ' || ch === '\t') {
        +        if (i < start + indent) {
        +            ch = text[++i];
        +        }
        +        else {
        +            do {
        +                ch = text[++i];
        +            } while (ch && ch !== '\n');
        +            end = i;
        +            start = i + 1;
        +            ch = text[start];
        +        }
        +    }
        +    return end;
        +}
        +
        +exports.FOLD_BLOCK = FOLD_BLOCK;
        +exports.FOLD_FLOW = FOLD_FLOW;
        +exports.FOLD_QUOTED = FOLD_QUOTED;
        +exports.foldFlowLines = foldFlowLines;
        +
        +
        +/***/ },
        +
        +/***/ 93793
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var anchors = __webpack_require__(46261);
        +var identity = __webpack_require__(70484);
        +var stringifyComment = __webpack_require__(40248);
        +var stringifyString = __webpack_require__(27180);
        +
        +function createStringifyContext(doc, options) {
        +    const opt = Object.assign({
        +        blockQuote: true,
        +        commentString: stringifyComment.stringifyComment,
        +        defaultKeyType: null,
        +        defaultStringType: 'PLAIN',
        +        directives: null,
        +        doubleQuotedAsJSON: false,
        +        doubleQuotedMinMultiLineLength: 40,
        +        falseStr: 'false',
        +        flowCollectionPadding: true,
        +        indentSeq: true,
        +        lineWidth: 80,
        +        minContentWidth: 20,
        +        nullStr: 'null',
        +        simpleKeys: false,
        +        singleQuote: null,
        +        trailingComma: false,
        +        trueStr: 'true',
        +        verifyAliasOrder: true
        +    }, doc.schema.toStringOptions, options);
        +    let inFlow;
        +    switch (opt.collectionStyle) {
        +        case 'block':
        +            inFlow = false;
        +            break;
        +        case 'flow':
        +            inFlow = true;
        +            break;
        +        default:
        +            inFlow = null;
        +    }
        +    return {
        +        anchors: new Set(),
        +        doc,
        +        flowCollectionPadding: opt.flowCollectionPadding ? ' ' : '',
        +        indent: '',
        +        indentStep: typeof opt.indent === 'number' ? ' '.repeat(opt.indent) : '  ',
        +        inFlow,
        +        options: opt
        +    };
        +}
        +function getTagObject(tags, item) {
        +    if (item.tag) {
        +        const match = tags.filter(t => t.tag === item.tag);
        +        if (match.length > 0)
        +            return match.find(t => t.format === item.format) ?? match[0];
        +    }
        +    let tagObj = undefined;
        +    let obj;
        +    if (identity.isScalar(item)) {
        +        obj = item.value;
        +        let match = tags.filter(t => t.identify?.(obj));
        +        if (match.length > 1) {
        +            const testMatch = match.filter(t => t.test);
        +            if (testMatch.length > 0)
        +                match = testMatch;
        +        }
        +        tagObj =
        +            match.find(t => t.format === item.format) ?? match.find(t => !t.format);
        +    }
        +    else {
        +        obj = item;
        +        tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);
        +    }
        +    if (!tagObj) {
        +        const name = obj?.constructor?.name ?? (obj === null ? 'null' : typeof obj);
        +        throw new Error(`Tag not resolved for ${name} value`);
        +    }
        +    return tagObj;
        +}
        +// needs to be called before value stringifier to allow for circular anchor refs
        +function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) {
        +    if (!doc.directives)
        +        return '';
        +    const props = [];
        +    const anchor = (identity.isScalar(node) || identity.isCollection(node)) && node.anchor;
        +    if (anchor && anchors.anchorIsValid(anchor)) {
        +        anchors$1.add(anchor);
        +        props.push(`&${anchor}`);
        +    }
        +    const tag = node.tag ?? (tagObj.default ? null : tagObj.tag);
        +    if (tag)
        +        props.push(doc.directives.tagString(tag));
        +    return props.join(' ');
        +}
        +function stringify(item, ctx, onComment, onChompKeep) {
        +    if (identity.isPair(item))
        +        return item.toString(ctx, onComment, onChompKeep);
        +    if (identity.isAlias(item)) {
        +        if (ctx.doc.directives)
        +            return item.toString(ctx);
        +        if (ctx.resolvedAliases?.has(item)) {
        +            throw new TypeError(`Cannot stringify circular structure without alias nodes`);
        +        }
        +        else {
        +            if (ctx.resolvedAliases)
        +                ctx.resolvedAliases.add(item);
        +            else
        +                ctx.resolvedAliases = new Set([item]);
        +            item = item.resolve(ctx.doc);
        +        }
        +    }
        +    let tagObj = undefined;
        +    const node = identity.isNode(item)
        +        ? item
        +        : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) });
        +    tagObj ?? (tagObj = getTagObject(ctx.doc.schema.tags, node));
        +    const props = stringifyProps(node, tagObj, ctx);
        +    if (props.length > 0)
        +        ctx.indentAtStart = (ctx.indentAtStart ?? 0) + props.length + 1;
        +    const str = typeof tagObj.stringify === 'function'
        +        ? tagObj.stringify(node, ctx, onComment, onChompKeep)
        +        : identity.isScalar(node)
        +            ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep)
        +            : node.toString(ctx, onComment, onChompKeep);
        +    if (!props)
        +        return str;
        +    return identity.isScalar(node) || str[0] === '{' || str[0] === '['
        +        ? `${props} ${str}`
        +        : `${props}\n${ctx.indent}${str}`;
        +}
        +
        +exports.createStringifyContext = createStringifyContext;
        +exports.stringify = stringify;
        +
        +
        +/***/ },
        +
        +/***/ 60081
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var stringify = __webpack_require__(93793);
        +var stringifyComment = __webpack_require__(40248);
        +
        +function stringifyCollection(collection, ctx, options) {
        +    const flow = ctx.inFlow ?? collection.flow;
        +    const stringify = flow ? stringifyFlowCollection : stringifyBlockCollection;
        +    return stringify(collection, ctx, options);
        +}
        +function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) {
        +    const { indent, options: { commentString } } = ctx;
        +    const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null });
        +    let chompKeep = false; // flag for the preceding node's status
        +    const lines = [];
        +    for (let i = 0; i < items.length; ++i) {
        +        const item = items[i];
        +        let comment = null;
        +        if (identity.isNode(item)) {
        +            if (!chompKeep && item.spaceBefore)
        +                lines.push('');
        +            addCommentBefore(ctx, lines, item.commentBefore, chompKeep);
        +            if (item.comment)
        +                comment = item.comment;
        +        }
        +        else if (identity.isPair(item)) {
        +            const ik = identity.isNode(item.key) ? item.key : null;
        +            if (ik) {
        +                if (!chompKeep && ik.spaceBefore)
        +                    lines.push('');
        +                addCommentBefore(ctx, lines, ik.commentBefore, chompKeep);
        +            }
        +        }
        +        chompKeep = false;
        +        let str = stringify.stringify(item, itemCtx, () => (comment = null), () => (chompKeep = true));
        +        if (comment)
        +            str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
        +        if (chompKeep && comment)
        +            chompKeep = false;
        +        lines.push(blockItemPrefix + str);
        +    }
        +    let str;
        +    if (lines.length === 0) {
        +        str = flowChars.start + flowChars.end;
        +    }
        +    else {
        +        str = lines[0];
        +        for (let i = 1; i < lines.length; ++i) {
        +            const line = lines[i];
        +            str += line ? `\n${indent}${line}` : '\n';
        +        }
        +    }
        +    if (comment) {
        +        str += '\n' + stringifyComment.indentComment(commentString(comment), indent);
        +        if (onComment)
        +            onComment();
        +    }
        +    else if (chompKeep && onChompKeep)
        +        onChompKeep();
        +    return str;
        +}
        +function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
        +    const { indent, indentStep, flowCollectionPadding: fcPadding, options: { commentString } } = ctx;
        +    itemIndent += indentStep;
        +    const itemCtx = Object.assign({}, ctx, {
        +        indent: itemIndent,
        +        inFlow: true,
        +        type: null
        +    });
        +    let reqNewline = false;
        +    let linesAtValue = 0;
        +    const lines = [];
        +    for (let i = 0; i < items.length; ++i) {
        +        const item = items[i];
        +        let comment = null;
        +        if (identity.isNode(item)) {
        +            if (item.spaceBefore)
        +                lines.push('');
        +            addCommentBefore(ctx, lines, item.commentBefore, false);
        +            if (item.comment)
        +                comment = item.comment;
        +        }
        +        else if (identity.isPair(item)) {
        +            const ik = identity.isNode(item.key) ? item.key : null;
        +            if (ik) {
        +                if (ik.spaceBefore)
        +                    lines.push('');
        +                addCommentBefore(ctx, lines, ik.commentBefore, false);
        +                if (ik.comment)
        +                    reqNewline = true;
        +            }
        +            const iv = identity.isNode(item.value) ? item.value : null;
        +            if (iv) {
        +                if (iv.comment)
        +                    comment = iv.comment;
        +                if (iv.commentBefore)
        +                    reqNewline = true;
        +            }
        +            else if (item.value == null && ik?.comment) {
        +                comment = ik.comment;
        +            }
        +        }
        +        if (comment)
        +            reqNewline = true;
        +        let str = stringify.stringify(item, itemCtx, () => (comment = null));
        +        reqNewline || (reqNewline = lines.length > linesAtValue || str.includes('\n'));
        +        if (i < items.length - 1) {
        +            str += ',';
        +        }
        +        else if (ctx.options.trailingComma) {
        +            if (ctx.options.lineWidth > 0) {
        +                reqNewline || (reqNewline = lines.reduce((sum, line) => sum + line.length + 2, 2) +
        +                    (str.length + 2) >
        +                    ctx.options.lineWidth);
        +            }
        +            if (reqNewline) {
        +                str += ',';
        +            }
        +        }
        +        if (comment)
        +            str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
        +        lines.push(str);
        +        linesAtValue = lines.length;
        +    }
        +    const { start, end } = flowChars;
        +    if (lines.length === 0) {
        +        return start + end;
        +    }
        +    else {
        +        if (!reqNewline) {
        +            const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
        +            reqNewline = ctx.options.lineWidth > 0 && len > ctx.options.lineWidth;
        +        }
        +        if (reqNewline) {
        +            let str = start;
        +            for (const line of lines)
        +                str += line ? `\n${indentStep}${indent}${line}` : '\n';
        +            return `${str}\n${indent}${end}`;
        +        }
        +        else {
        +            return `${start}${fcPadding}${lines.join(' ')}${fcPadding}${end}`;
        +        }
        +    }
        +}
        +function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
        +    if (comment && chompKeep)
        +        comment = comment.replace(/^\n+/, '');
        +    if (comment) {
        +        const ic = stringifyComment.indentComment(commentString(comment), indent);
        +        lines.push(ic.trimStart()); // Avoid double indent on first line
        +    }
        +}
        +
        +exports.stringifyCollection = stringifyCollection;
        +
        +
        +/***/ },
        +
        +/***/ 40248
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +/**
        + * Stringifies a comment.
        + *
        + * Empty comment lines are left empty,
        + * lines consisting of a single space are replaced by `#`,
        + * and all other lines are prefixed with a `#`.
        + */
        +const stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, '#');
        +function indentComment(comment, indent) {
        +    if (/^\n+$/.test(comment))
        +        return comment.substring(1);
        +    return indent ? comment.replace(/^(?! *$)/gm, indent) : comment;
        +}
        +const lineComment = (str, indent, comment) => str.endsWith('\n')
        +    ? indentComment(comment, indent)
        +    : comment.includes('\n')
        +        ? '\n' + indentComment(comment, indent)
        +        : (str.endsWith(' ') ? '' : ' ') + comment;
        +
        +exports.indentComment = indentComment;
        +exports.lineComment = lineComment;
        +exports.stringifyComment = stringifyComment;
        +
        +
        +/***/ },
        +
        +/***/ 71768
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var stringify = __webpack_require__(93793);
        +var stringifyComment = __webpack_require__(40248);
        +
        +function stringifyDocument(doc, options) {
        +    const lines = [];
        +    let hasDirectives = options.directives === true;
        +    if (options.directives !== false && doc.directives) {
        +        const dir = doc.directives.toString(doc);
        +        if (dir) {
        +            lines.push(dir);
        +            hasDirectives = true;
        +        }
        +        else if (doc.directives.docStart)
        +            hasDirectives = true;
        +    }
        +    if (hasDirectives)
        +        lines.push('---');
        +    const ctx = stringify.createStringifyContext(doc, options);
        +    const { commentString } = ctx.options;
        +    if (doc.commentBefore) {
        +        if (lines.length !== 1)
        +            lines.unshift('');
        +        const cs = commentString(doc.commentBefore);
        +        lines.unshift(stringifyComment.indentComment(cs, ''));
        +    }
        +    let chompKeep = false;
        +    let contentComment = null;
        +    if (doc.contents) {
        +        if (identity.isNode(doc.contents)) {
        +            if (doc.contents.spaceBefore && hasDirectives)
        +                lines.push('');
        +            if (doc.contents.commentBefore) {
        +                const cs = commentString(doc.contents.commentBefore);
        +                lines.push(stringifyComment.indentComment(cs, ''));
        +            }
        +            // top-level block scalars need to be indented if followed by a comment
        +            ctx.forceBlockIndent = !!doc.comment;
        +            contentComment = doc.contents.comment;
        +        }
        +        const onChompKeep = contentComment ? undefined : () => (chompKeep = true);
        +        let body = stringify.stringify(doc.contents, ctx, () => (contentComment = null), onChompKeep);
        +        if (contentComment)
        +            body += stringifyComment.lineComment(body, '', commentString(contentComment));
        +        if ((body[0] === '|' || body[0] === '>') &&
        +            lines[lines.length - 1] === '---') {
        +            // Top-level block scalars with a preceding doc marker ought to use the
        +            // same line for their header.
        +            lines[lines.length - 1] = `--- ${body}`;
        +        }
        +        else
        +            lines.push(body);
        +    }
        +    else {
        +        lines.push(stringify.stringify(doc.contents, ctx));
        +    }
        +    if (doc.directives?.docEnd) {
        +        if (doc.comment) {
        +            const cs = commentString(doc.comment);
        +            if (cs.includes('\n')) {
        +                lines.push('...');
        +                lines.push(stringifyComment.indentComment(cs, ''));
        +            }
        +            else {
        +                lines.push(`... ${cs}`);
        +            }
        +        }
        +        else {
        +            lines.push('...');
        +        }
        +    }
        +    else {
        +        let dc = doc.comment;
        +        if (dc && chompKeep)
        +            dc = dc.replace(/^\n+/, '');
        +        if (dc) {
        +            if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '')
        +                lines.push('');
        +            lines.push(stringifyComment.indentComment(commentString(dc), ''));
        +        }
        +    }
        +    return lines.join('\n') + '\n';
        +}
        +
        +exports.stringifyDocument = stringifyDocument;
        +
        +
        +/***/ },
        +
        +/***/ 3144
        +(__unused_webpack_module, exports) {
        +
        +"use strict";
        +
        +
        +function stringifyNumber({ format, minFractionDigits, tag, value }) {
        +    if (typeof value === 'bigint')
        +        return String(value);
        +    const num = typeof value === 'number' ? value : Number(value);
        +    if (!isFinite(num))
        +        return isNaN(num) ? '.nan' : num < 0 ? '-.inf' : '.inf';
        +    let n = Object.is(value, -0) ? '-0' : JSON.stringify(value);
        +    if (!format &&
        +        minFractionDigits &&
        +        (!tag || tag === 'tag:yaml.org,2002:float') &&
        +        /^\d/.test(n)) {
        +        let i = n.indexOf('.');
        +        if (i < 0) {
        +            i = n.length;
        +            n += '.';
        +        }
        +        let d = minFractionDigits - (n.length - i - 1);
        +        while (d-- > 0)
        +            n += '0';
        +    }
        +    return n;
        +}
        +
        +exports.stringifyNumber = stringifyNumber;
        +
        +
        +/***/ },
        +
        +/***/ 8017
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +var Scalar = __webpack_require__(89714);
        +var stringify = __webpack_require__(93793);
        +var stringifyComment = __webpack_require__(40248);
        +
        +function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
        +    const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
        +    let keyComment = (identity.isNode(key) && key.comment) || null;
        +    if (simpleKeys) {
        +        if (keyComment) {
        +            throw new Error('With simple keys, key nodes cannot have comments');
        +        }
        +        if (identity.isCollection(key) || (!identity.isNode(key) && typeof key === 'object')) {
        +            const msg = 'With simple keys, collection cannot be used as a key value';
        +            throw new Error(msg);
        +        }
        +    }
        +    let explicitKey = !simpleKeys &&
        +        (!key ||
        +            (keyComment && value == null && !ctx.inFlow) ||
        +            identity.isCollection(key) ||
        +            (identity.isScalar(key)
        +                ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL
        +                : typeof key === 'object'));
        +    ctx = Object.assign({}, ctx, {
        +        allNullValues: false,
        +        implicitKey: !explicitKey && (simpleKeys || !allNullValues),
        +        indent: indent + indentStep
        +    });
        +    let keyCommentDone = false;
        +    let chompKeep = false;
        +    let str = stringify.stringify(key, ctx, () => (keyCommentDone = true), () => (chompKeep = true));
        +    if (!explicitKey && !ctx.inFlow && str.length > 1024) {
        +        if (simpleKeys)
        +            throw new Error('With simple keys, single line scalar must not span more than 1024 characters');
        +        explicitKey = true;
        +    }
        +    if (ctx.inFlow) {
        +        if (allNullValues || value == null) {
        +            if (keyCommentDone && onComment)
        +                onComment();
        +            return str === '' ? '?' : explicitKey ? `? ${str}` : str;
        +        }
        +    }
        +    else if ((allNullValues && !simpleKeys) || (value == null && explicitKey)) {
        +        str = `? ${str}`;
        +        if (keyComment && !keyCommentDone) {
        +            str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
        +        }
        +        else if (chompKeep && onChompKeep)
        +            onChompKeep();
        +        return str;
        +    }
        +    if (keyCommentDone)
        +        keyComment = null;
        +    if (explicitKey) {
        +        if (keyComment)
        +            str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
        +        str = `? ${str}\n${indent}:`;
        +    }
        +    else {
        +        str = `${str}:`;
        +        if (keyComment)
        +            str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
        +    }
        +    let vsb, vcb, valueComment;
        +    if (identity.isNode(value)) {
        +        vsb = !!value.spaceBefore;
        +        vcb = value.commentBefore;
        +        valueComment = value.comment;
        +    }
        +    else {
        +        vsb = false;
        +        vcb = null;
        +        valueComment = null;
        +        if (value && typeof value === 'object')
        +            value = doc.createNode(value);
        +    }
        +    ctx.implicitKey = false;
        +    if (!explicitKey && !keyComment && identity.isScalar(value))
        +        ctx.indentAtStart = str.length + 1;
        +    chompKeep = false;
        +    if (!indentSeq &&
        +        indentStep.length >= 2 &&
        +        !ctx.inFlow &&
        +        !explicitKey &&
        +        identity.isSeq(value) &&
        +        !value.flow &&
        +        !value.tag &&
        +        !value.anchor) {
        +        // If indentSeq === false, consider '- ' as part of indentation where possible
        +        ctx.indent = ctx.indent.substring(2);
        +    }
        +    let valueCommentDone = false;
        +    const valueStr = stringify.stringify(value, ctx, () => (valueCommentDone = true), () => (chompKeep = true));
        +    let ws = ' ';
        +    if (keyComment || vsb || vcb) {
        +        ws = vsb ? '\n' : '';
        +        if (vcb) {
        +            const cs = commentString(vcb);
        +            ws += `\n${stringifyComment.indentComment(cs, ctx.indent)}`;
        +        }
        +        if (valueStr === '' && !ctx.inFlow) {
        +            if (ws === '\n' && valueComment)
        +                ws = '\n\n';
        +        }
        +        else {
        +            ws += `\n${ctx.indent}`;
        +        }
        +    }
        +    else if (!explicitKey && identity.isCollection(value)) {
        +        const vs0 = valueStr[0];
        +        const nl0 = valueStr.indexOf('\n');
        +        const hasNewline = nl0 !== -1;
        +        const flow = ctx.inFlow ?? value.flow ?? value.items.length === 0;
        +        if (hasNewline || !flow) {
        +            let hasPropsLine = false;
        +            if (hasNewline && (vs0 === '&' || vs0 === '!')) {
        +                let sp0 = valueStr.indexOf(' ');
        +                if (vs0 === '&' &&
        +                    sp0 !== -1 &&
        +                    sp0 < nl0 &&
        +                    valueStr[sp0 + 1] === '!') {
        +                    sp0 = valueStr.indexOf(' ', sp0 + 1);
        +                }
        +                if (sp0 === -1 || nl0 < sp0)
        +                    hasPropsLine = true;
        +            }
        +            if (!hasPropsLine)
        +                ws = `\n${ctx.indent}`;
        +        }
        +    }
        +    else if (valueStr === '' || valueStr[0] === '\n') {
        +        ws = '';
        +    }
        +    str += ws + valueStr;
        +    if (ctx.inFlow) {
        +        if (valueCommentDone && onComment)
        +            onComment();
        +    }
        +    else if (valueComment && !valueCommentDone) {
        +        str += stringifyComment.lineComment(str, ctx.indent, commentString(valueComment));
        +    }
        +    else if (chompKeep && onChompKeep) {
        +        onChompKeep();
        +    }
        +    return str;
        +}
        +
        +exports.stringifyPair = stringifyPair;
        +
        +
        +/***/ },
        +
        +/***/ 27180
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var Scalar = __webpack_require__(89714);
        +var foldFlowLines = __webpack_require__(46170);
        +
        +const getFoldOptions = (ctx, isBlock) => ({
        +    indentAtStart: isBlock ? ctx.indent.length : ctx.indentAtStart,
        +    lineWidth: ctx.options.lineWidth,
        +    minContentWidth: ctx.options.minContentWidth
        +});
        +// Also checks for lines starting with %, as parsing the output as YAML 1.1 will
        +// presume that's starting a new document.
        +const containsDocumentMarker = (str) => /^(%|---|\.\.\.)/m.test(str);
        +function lineLengthOverLimit(str, lineWidth, indentLength) {
        +    if (!lineWidth || lineWidth < 0)
        +        return false;
        +    const limit = lineWidth - indentLength;
        +    const strLen = str.length;
        +    if (strLen <= limit)
        +        return false;
        +    for (let i = 0, start = 0; i < strLen; ++i) {
        +        if (str[i] === '\n') {
        +            if (i - start > limit)
        +                return true;
        +            start = i + 1;
        +            if (strLen - start <= limit)
        +                return false;
        +        }
        +    }
        +    return true;
        +}
        +function doubleQuotedString(value, ctx) {
        +    const json = JSON.stringify(value);
        +    if (ctx.options.doubleQuotedAsJSON)
        +        return json;
        +    const { implicitKey } = ctx;
        +    const minMultiLineLength = ctx.options.doubleQuotedMinMultiLineLength;
        +    const indent = ctx.indent || (containsDocumentMarker(value) ? '  ' : '');
        +    let str = '';
        +    let start = 0;
        +    for (let i = 0, ch = json[i]; ch; ch = json[++i]) {
        +        if (ch === ' ' && json[i + 1] === '\\' && json[i + 2] === 'n') {
        +            // space before newline needs to be escaped to not be folded
        +            str += json.slice(start, i) + '\\ ';
        +            i += 1;
        +            start = i;
        +            ch = '\\';
        +        }
        +        if (ch === '\\')
        +            switch (json[i + 1]) {
        +                case 'u':
        +                    {
        +                        str += json.slice(start, i);
        +                        const code = json.substr(i + 2, 4);
        +                        switch (code) {
        +                            case '0000':
        +                                str += '\\0';
        +                                break;
        +                            case '0007':
        +                                str += '\\a';
        +                                break;
        +                            case '000b':
        +                                str += '\\v';
        +                                break;
        +                            case '001b':
        +                                str += '\\e';
        +                                break;
        +                            case '0085':
        +                                str += '\\N';
        +                                break;
        +                            case '00a0':
        +                                str += '\\_';
        +                                break;
        +                            case '2028':
        +                                str += '\\L';
        +                                break;
        +                            case '2029':
        +                                str += '\\P';
        +                                break;
        +                            default:
        +                                if (code.substr(0, 2) === '00')
        +                                    str += '\\x' + code.substr(2);
        +                                else
        +                                    str += json.substr(i, 6);
        +                        }
        +                        i += 5;
        +                        start = i + 1;
        +                    }
        +                    break;
        +                case 'n':
        +                    if (implicitKey ||
        +                        json[i + 2] === '"' ||
        +                        json.length < minMultiLineLength) {
        +                        i += 1;
        +                    }
        +                    else {
        +                        // folding will eat first newline
        +                        str += json.slice(start, i) + '\n\n';
        +                        while (json[i + 2] === '\\' &&
        +                            json[i + 3] === 'n' &&
        +                            json[i + 4] !== '"') {
        +                            str += '\n';
        +                            i += 2;
        +                        }
        +                        str += indent;
        +                        // space after newline needs to be escaped to not be folded
        +                        if (json[i + 2] === ' ')
        +                            str += '\\';
        +                        i += 1;
        +                        start = i + 1;
        +                    }
        +                    break;
        +                default:
        +                    i += 1;
        +            }
        +    }
        +    str = start ? str + json.slice(start) : json;
        +    return implicitKey
        +        ? str
        +        : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_QUOTED, getFoldOptions(ctx, false));
        +}
        +function singleQuotedString(value, ctx) {
        +    if (ctx.options.singleQuote === false ||
        +        (ctx.implicitKey && value.includes('\n')) ||
        +        /[ \t]\n|\n[ \t]/.test(value) // single quoted string can't have leading or trailing whitespace around newline
        +    )
        +        return doubleQuotedString(value, ctx);
        +    const indent = ctx.indent || (containsDocumentMarker(value) ? '  ' : '');
        +    const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&\n${indent}`) + "'";
        +    return ctx.implicitKey
        +        ? res
        +        : foldFlowLines.foldFlowLines(res, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
        +}
        +function quotedString(value, ctx) {
        +    const { singleQuote } = ctx.options;
        +    let qs;
        +    if (singleQuote === false)
        +        qs = doubleQuotedString;
        +    else {
        +        const hasDouble = value.includes('"');
        +        const hasSingle = value.includes("'");
        +        if (hasDouble && !hasSingle)
        +            qs = singleQuotedString;
        +        else if (hasSingle && !hasDouble)
        +            qs = doubleQuotedString;
        +        else
        +            qs = singleQuote ? singleQuotedString : doubleQuotedString;
        +    }
        +    return qs(value, ctx);
        +}
        +// The negative lookbehind avoids a polynomial search,
        +// but isn't supported yet on Safari: https://caniuse.com/js-regexp-lookbehind
        +let blockEndNewlines;
        +try {
        +    blockEndNewlines = new RegExp('(^|(?\n';
        +    // determine chomping from whitespace at value end
        +    let chomp;
        +    let endStart;
        +    for (endStart = value.length; endStart > 0; --endStart) {
        +        const ch = value[endStart - 1];
        +        if (ch !== '\n' && ch !== '\t' && ch !== ' ')
        +            break;
        +    }
        +    let end = value.substring(endStart);
        +    const endNlPos = end.indexOf('\n');
        +    if (endNlPos === -1) {
        +        chomp = '-'; // strip
        +    }
        +    else if (value === end || endNlPos !== end.length - 1) {
        +        chomp = '+'; // keep
        +        if (onChompKeep)
        +            onChompKeep();
        +    }
        +    else {
        +        chomp = ''; // clip
        +    }
        +    if (end) {
        +        value = value.slice(0, -end.length);
        +        if (end[end.length - 1] === '\n')
        +            end = end.slice(0, -1);
        +        end = end.replace(blockEndNewlines, `$&${indent}`);
        +    }
        +    // determine indent indicator from whitespace at value start
        +    let startWithSpace = false;
        +    let startEnd;
        +    let startNlPos = -1;
        +    for (startEnd = 0; startEnd < value.length; ++startEnd) {
        +        const ch = value[startEnd];
        +        if (ch === ' ')
        +            startWithSpace = true;
        +        else if (ch === '\n')
        +            startNlPos = startEnd;
        +        else
        +            break;
        +    }
        +    let start = value.substring(0, startNlPos < startEnd ? startNlPos + 1 : startEnd);
        +    if (start) {
        +        value = value.substring(start.length);
        +        start = start.replace(/\n+/g, `$&${indent}`);
        +    }
        +    const indentSize = indent ? '2' : '1'; // root is at -1
        +    // Leading | or > is added later
        +    let header = (startWithSpace ? indentSize : '') + chomp;
        +    if (comment) {
        +        header += ' ' + commentString(comment.replace(/ ?[\r\n]+/g, ' '));
        +        if (onComment)
        +            onComment();
        +    }
        +    if (!literal) {
        +        const foldedValue = value
        +            .replace(/\n+/g, '\n$&')
        +            .replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, '$1$2') // more-indented lines aren't folded
        +            //                ^ more-ind. ^ empty     ^ capture next empty lines only at end of indent
        +            .replace(/\n+/g, `$&${indent}`);
        +        let literalFallback = false;
        +        const foldOptions = getFoldOptions(ctx, true);
        +        if (blockQuote !== 'folded' && type !== Scalar.Scalar.BLOCK_FOLDED) {
        +            foldOptions.onOverflow = () => {
        +                literalFallback = true;
        +            };
        +        }
        +        const body = foldFlowLines.foldFlowLines(`${start}${foldedValue}${end}`, indent, foldFlowLines.FOLD_BLOCK, foldOptions);
        +        if (!literalFallback)
        +            return `>${header}\n${indent}${body}`;
        +    }
        +    value = value.replace(/\n+/g, `$&${indent}`);
        +    return `|${header}\n${indent}${start}${value}${end}`;
        +}
        +function plainString(item, ctx, onComment, onChompKeep) {
        +    const { type, value } = item;
        +    const { actualString, implicitKey, indent, indentStep, inFlow } = ctx;
        +    if ((implicitKey && value.includes('\n')) ||
        +        (inFlow && /[[\]{},]/.test(value))) {
        +        return quotedString(value, ctx);
        +    }
        +    if (/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) {
        +        // not allowed:
        +        // - '-' or '?'
        +        // - start with an indicator character (except [?:-]) or /[?-] /
        +        // - '\n ', ': ' or ' \n' anywhere
        +        // - '#' not preceded by a non-space char
        +        // - end with ' ' or ':'
        +        return implicitKey || inFlow || !value.includes('\n')
        +            ? quotedString(value, ctx)
        +            : blockString(item, ctx, onComment, onChompKeep);
        +    }
        +    if (!implicitKey &&
        +        !inFlow &&
        +        type !== Scalar.Scalar.PLAIN &&
        +        value.includes('\n')) {
        +        // Where allowed & type not set explicitly, prefer block style for multiline strings
        +        return blockString(item, ctx, onComment, onChompKeep);
        +    }
        +    if (containsDocumentMarker(value)) {
        +        if (indent === '') {
        +            ctx.forceBlockIndent = true;
        +            return blockString(item, ctx, onComment, onChompKeep);
        +        }
        +        else if (implicitKey && indent === indentStep) {
        +            return quotedString(value, ctx);
        +        }
        +    }
        +    const str = value.replace(/\n+/g, `$&\n${indent}`);
        +    // Verify that output will be parsed as a string, as e.g. plain numbers and
        +    // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'),
        +    // and others in v1.1.
        +    if (actualString) {
        +        const test = (tag) => tag.default && tag.tag !== 'tag:yaml.org,2002:str' && tag.test?.test(str);
        +        const { compat, tags } = ctx.doc.schema;
        +        if (tags.some(test) || compat?.some(test))
        +            return quotedString(value, ctx);
        +    }
        +    return implicitKey
        +        ? str
        +        : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx, false));
        +}
        +function stringifyString(item, ctx, onComment, onChompKeep) {
        +    const { implicitKey, inFlow } = ctx;
        +    const ss = typeof item.value === 'string'
        +        ? item
        +        : Object.assign({}, item, { value: String(item.value) });
        +    let { type } = item;
        +    if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
        +        // force double quotes on control characters & unpaired surrogates
        +        if (/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value))
        +            type = Scalar.Scalar.QUOTE_DOUBLE;
        +    }
        +    const _stringify = (_type) => {
        +        switch (_type) {
        +            case Scalar.Scalar.BLOCK_FOLDED:
        +            case Scalar.Scalar.BLOCK_LITERAL:
        +                return implicitKey || inFlow
        +                    ? quotedString(ss.value, ctx) // blocks are not valid inside flow containers
        +                    : blockString(ss, ctx, onComment, onChompKeep);
        +            case Scalar.Scalar.QUOTE_DOUBLE:
        +                return doubleQuotedString(ss.value, ctx);
        +            case Scalar.Scalar.QUOTE_SINGLE:
        +                return singleQuotedString(ss.value, ctx);
        +            case Scalar.Scalar.PLAIN:
        +                return plainString(ss, ctx, onComment, onChompKeep);
        +            default:
        +                return null;
        +        }
        +    };
        +    let res = _stringify(type);
        +    if (res === null) {
        +        const { defaultKeyType, defaultStringType } = ctx.options;
        +        const t = (implicitKey && defaultKeyType) || defaultStringType;
        +        res = _stringify(t);
        +        if (res === null)
        +            throw new Error(`Unsupported default string type ${t}`);
        +    }
        +    return res;
        +}
        +
        +exports.stringifyString = stringifyString;
        +
        +
        +/***/ },
        +
        +/***/ 29125
        +(__unused_webpack_module, exports, __webpack_require__) {
        +
        +"use strict";
        +
        +
        +var identity = __webpack_require__(70484);
        +
        +const BREAK = Symbol('break visit');
        +const SKIP = Symbol('skip children');
        +const REMOVE = Symbol('remove node');
        +/**
        + * Apply a visitor to an AST node or document.
        + *
        + * Walks through the tree (depth-first) starting from `node`, calling a
        + * `visitor` function with three arguments:
        + *   - `key`: For sequence values and map `Pair`, the node's index in the
        + *     collection. Within a `Pair`, `'key'` or `'value'`, correspondingly.
        + *     `null` for the root node.
        + *   - `node`: The current node.
        + *   - `path`: The ancestry of the current node.
        + *
        + * The return value of the visitor may be used to control the traversal:
        + *   - `undefined` (default): Do nothing and continue
        + *   - `visit.SKIP`: Do not visit the children of this node, continue with next
        + *     sibling
        + *   - `visit.BREAK`: Terminate traversal completely
        + *   - `visit.REMOVE`: Remove the current node, then continue with the next one
        + *   - `Node`: Replace the current node, then continue by visiting it
        + *   - `number`: While iterating the items of a sequence or map, set the index
        + *     of the next step. This is useful especially if the index of the current
        + *     node has changed.
        + *
        + * If `visitor` is a single function, it will be called with all values
        + * encountered in the tree, including e.g. `null` values. Alternatively,
        + * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`,
        + * `Alias` and `Scalar` node. To define the same visitor function for more than
        + * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar)
        + * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most
        + * specific defined one will be used for each node.
        + */
        +function visit(node, visitor) {
        +    const visitor_ = initVisitor(visitor);
        +    if (identity.isDocument(node)) {
        +        const cd = visit_(null, node.contents, visitor_, Object.freeze([node]));
        +        if (cd === REMOVE)
        +            node.contents = null;
        +    }
        +    else
        +        visit_(null, node, visitor_, Object.freeze([]));
        +}
        +// Without the `as symbol` casts, TS declares these in the `visit`
        +// namespace using `var`, but then complains about that because
        +// `unique symbol` must be `const`.
        +/** Terminate visit traversal completely */
        +visit.BREAK = BREAK;
        +/** Do not visit the children of the current node */
        +visit.SKIP = SKIP;
        +/** Remove the current node */
        +visit.REMOVE = REMOVE;
        +function visit_(key, node, visitor, path) {
        +    const ctrl = callVisitor(key, node, visitor, path);
        +    if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
        +        replaceNode(key, path, ctrl);
        +        return visit_(key, ctrl, visitor, path);
        +    }
        +    if (typeof ctrl !== 'symbol') {
        +        if (identity.isCollection(node)) {
        +            path = Object.freeze(path.concat(node));
        +            for (let i = 0; i < node.items.length; ++i) {
        +                const ci = visit_(i, node.items[i], visitor, path);
        +                if (typeof ci === 'number')
        +                    i = ci - 1;
        +                else if (ci === BREAK)
        +                    return BREAK;
        +                else if (ci === REMOVE) {
        +                    node.items.splice(i, 1);
        +                    i -= 1;
        +                }
        +            }
        +        }
        +        else if (identity.isPair(node)) {
        +            path = Object.freeze(path.concat(node));
        +            const ck = visit_('key', node.key, visitor, path);
        +            if (ck === BREAK)
        +                return BREAK;
        +            else if (ck === REMOVE)
        +                node.key = null;
        +            const cv = visit_('value', node.value, visitor, path);
        +            if (cv === BREAK)
        +                return BREAK;
        +            else if (cv === REMOVE)
        +                node.value = null;
        +        }
        +    }
        +    return ctrl;
        +}
        +/**
        + * Apply an async visitor to an AST node or document.
        + *
        + * Walks through the tree (depth-first) starting from `node`, calling a
        + * `visitor` function with three arguments:
        + *   - `key`: For sequence values and map `Pair`, the node's index in the
        + *     collection. Within a `Pair`, `'key'` or `'value'`, correspondingly.
        + *     `null` for the root node.
        + *   - `node`: The current node.
        + *   - `path`: The ancestry of the current node.
        + *
        + * The return value of the visitor may be used to control the traversal:
        + *   - `Promise`: Must resolve to one of the following values
        + *   - `undefined` (default): Do nothing and continue
        + *   - `visit.SKIP`: Do not visit the children of this node, continue with next
        + *     sibling
        + *   - `visit.BREAK`: Terminate traversal completely
        + *   - `visit.REMOVE`: Remove the current node, then continue with the next one
        + *   - `Node`: Replace the current node, then continue by visiting it
        + *   - `number`: While iterating the items of a sequence or map, set the index
        + *     of the next step. This is useful especially if the index of the current
        + *     node has changed.
        + *
        + * If `visitor` is a single function, it will be called with all values
        + * encountered in the tree, including e.g. `null` values. Alternatively,
        + * separate visitor functions may be defined for each `Map`, `Pair`, `Seq`,
        + * `Alias` and `Scalar` node. To define the same visitor function for more than
        + * one node type, use the `Collection` (map and seq), `Value` (map, seq & scalar)
        + * and `Node` (alias, map, seq & scalar) targets. Of all these, only the most
        + * specific defined one will be used for each node.
        + */
        +async function visitAsync(node, visitor) {
        +    const visitor_ = initVisitor(visitor);
        +    if (identity.isDocument(node)) {
        +        const cd = await visitAsync_(null, node.contents, visitor_, Object.freeze([node]));
        +        if (cd === REMOVE)
        +            node.contents = null;
        +    }
        +    else
        +        await visitAsync_(null, node, visitor_, Object.freeze([]));
        +}
        +// Without the `as symbol` casts, TS declares these in the `visit`
        +// namespace using `var`, but then complains about that because
        +// `unique symbol` must be `const`.
        +/** Terminate visit traversal completely */
        +visitAsync.BREAK = BREAK;
        +/** Do not visit the children of the current node */
        +visitAsync.SKIP = SKIP;
        +/** Remove the current node */
        +visitAsync.REMOVE = REMOVE;
        +async function visitAsync_(key, node, visitor, path) {
        +    const ctrl = await callVisitor(key, node, visitor, path);
        +    if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
        +        replaceNode(key, path, ctrl);
        +        return visitAsync_(key, ctrl, visitor, path);
        +    }
        +    if (typeof ctrl !== 'symbol') {
        +        if (identity.isCollection(node)) {
        +            path = Object.freeze(path.concat(node));
        +            for (let i = 0; i < node.items.length; ++i) {
        +                const ci = await visitAsync_(i, node.items[i], visitor, path);
        +                if (typeof ci === 'number')
        +                    i = ci - 1;
        +                else if (ci === BREAK)
        +                    return BREAK;
        +                else if (ci === REMOVE) {
        +                    node.items.splice(i, 1);
        +                    i -= 1;
        +                }
        +            }
        +        }
        +        else if (identity.isPair(node)) {
        +            path = Object.freeze(path.concat(node));
        +            const ck = await visitAsync_('key', node.key, visitor, path);
        +            if (ck === BREAK)
        +                return BREAK;
        +            else if (ck === REMOVE)
        +                node.key = null;
        +            const cv = await visitAsync_('value', node.value, visitor, path);
        +            if (cv === BREAK)
        +                return BREAK;
        +            else if (cv === REMOVE)
        +                node.value = null;
        +        }
        +    }
        +    return ctrl;
        +}
        +function initVisitor(visitor) {
        +    if (typeof visitor === 'object' &&
        +        (visitor.Collection || visitor.Node || visitor.Value)) {
        +        return Object.assign({
        +            Alias: visitor.Node,
        +            Map: visitor.Node,
        +            Scalar: visitor.Node,
        +            Seq: visitor.Node
        +        }, visitor.Value && {
        +            Map: visitor.Value,
        +            Scalar: visitor.Value,
        +            Seq: visitor.Value
        +        }, visitor.Collection && {
        +            Map: visitor.Collection,
        +            Seq: visitor.Collection
        +        }, visitor);
        +    }
        +    return visitor;
        +}
        +function callVisitor(key, node, visitor, path) {
        +    if (typeof visitor === 'function')
        +        return visitor(key, node, path);
        +    if (identity.isMap(node))
        +        return visitor.Map?.(key, node, path);
        +    if (identity.isSeq(node))
        +        return visitor.Seq?.(key, node, path);
        +    if (identity.isPair(node))
        +        return visitor.Pair?.(key, node, path);
        +    if (identity.isScalar(node))
        +        return visitor.Scalar?.(key, node, path);
        +    if (identity.isAlias(node))
        +        return visitor.Alias?.(key, node, path);
        +    return undefined;
        +}
        +function replaceNode(key, path, node) {
        +    const parent = path[path.length - 1];
        +    if (identity.isCollection(parent)) {
        +        parent.items[key] = node;
        +    }
        +    else if (identity.isPair(parent)) {
        +        if (key === 'key')
        +            parent.key = node;
        +        else
        +            parent.value = node;
        +    }
        +    else if (identity.isDocument(parent)) {
        +        parent.contents = node;
        +    }
        +    else {
        +        const pt = identity.isAlias(parent) ? 'alias' : 'scalar';
        +        throw new Error(`Cannot replace node with ${pt} parent`);
        +    }
        +}
        +
        +exports.visit = visit;
        +exports.visitAsync = visitAsync;
        +
        +
        +/***/ },
        +
        +/***/ 24514
        +(__unused_webpack___webpack_module__, __unused_webpack___webpack_exports__, __webpack_require__) {
        +
        +"use strict";
        +
        +// NAMESPACE OBJECT: ../commons/node_modules/zod/v4/core/regexes.js
        +var regexes_namespaceObject = {};
        +__webpack_require__.r(regexes_namespaceObject);
        +__webpack_require__.d(regexes_namespaceObject, {
        +  base64: () => (base64),
        +  base64url: () => (base64url),
        +  bigint: () => (bigint),
        +  boolean: () => (regexes_boolean),
        +  browserEmail: () => (browserEmail),
        +  cidrv4: () => (cidrv4),
        +  cidrv6: () => (cidrv6),
        +  cuid: () => (cuid),
        +  cuid2: () => (cuid2),
        +  date: () => (date),
        +  datetime: () => (datetime),
        +  domain: () => (domain),
        +  duration: () => (duration),
        +  e164: () => (e164),
        +  email: () => (email),
        +  emoji: () => (emoji),
        +  extendedDuration: () => (extendedDuration),
        +  guid: () => (guid),
        +  hex: () => (hex),
        +  hostname: () => (hostname),
        +  html5Email: () => (html5Email),
        +  idnEmail: () => (idnEmail),
        +  integer: () => (integer),
        +  ipv4: () => (ipv4),
        +  ipv6: () => (ipv6),
        +  ksuid: () => (ksuid),
        +  lowercase: () => (lowercase),
        +  mac: () => (mac),
        +  md5_base64: () => (md5_base64),
        +  md5_base64url: () => (md5_base64url),
        +  md5_hex: () => (md5_hex),
        +  nanoid: () => (nanoid),
        +  "null": () => (_null),
        +  number: () => (number),
        +  rfc5322Email: () => (rfc5322Email),
        +  sha1_base64: () => (sha1_base64),
        +  sha1_base64url: () => (sha1_base64url),
        +  sha1_hex: () => (sha1_hex),
        +  sha256_base64: () => (sha256_base64),
        +  sha256_base64url: () => (sha256_base64url),
        +  sha256_hex: () => (sha256_hex),
        +  sha384_base64: () => (sha384_base64),
        +  sha384_base64url: () => (sha384_base64url),
        +  sha384_hex: () => (sha384_hex),
        +  sha512_base64: () => (sha512_base64),
        +  sha512_base64url: () => (sha512_base64url),
        +  sha512_hex: () => (sha512_hex),
        +  string: () => (string),
        +  time: () => (time),
        +  ulid: () => (ulid),
        +  undefined: () => (_undefined),
        +  unicodeEmail: () => (unicodeEmail),
        +  uppercase: () => (uppercase),
        +  uuid: () => (uuid),
        +  uuid4: () => (uuid4),
        +  uuid6: () => (uuid6),
        +  uuid7: () => (uuid7),
        +  xid: () => (xid)
        +});
        +
        +// NAMESPACE OBJECT: ../commons/node_modules/zod/v4/classic/checks.js
        +var classic_checks_namespaceObject = {};
        +__webpack_require__.r(classic_checks_namespaceObject);
        +__webpack_require__.d(classic_checks_namespaceObject, {
        +  endsWith: () => (_endsWith),
        +  gt: () => (_gt),
        +  gte: () => (_gte),
        +  includes: () => (_includes),
        +  length: () => (_length),
        +  lowercase: () => (_lowercase),
        +  lt: () => (_lt),
        +  lte: () => (_lte),
        +  maxLength: () => (_maxLength),
        +  maxSize: () => (_maxSize),
        +  mime: () => (_mime),
        +  minLength: () => (_minLength),
        +  minSize: () => (_minSize),
        +  multipleOf: () => (_multipleOf),
        +  negative: () => (_negative),
        +  nonnegative: () => (_nonnegative),
        +  nonpositive: () => (_nonpositive),
        +  normalize: () => (_normalize),
        +  overwrite: () => (_overwrite),
        +  positive: () => (_positive),
        +  property: () => (_property),
        +  regex: () => (_regex),
        +  size: () => (_size),
        +  slugify: () => (_slugify),
        +  startsWith: () => (_startsWith),
        +  toLowerCase: () => (_toLowerCase),
        +  toUpperCase: () => (_toUpperCase),
        +  trim: () => (_trim),
        +  uppercase: () => (_uppercase)
        +});
        +
        +// NAMESPACE OBJECT: ../commons/node_modules/zod/v4/classic/iso.js
        +var iso_namespaceObject = {};
        +__webpack_require__.r(iso_namespaceObject);
        +__webpack_require__.d(iso_namespaceObject, {
        +  ZodISODate: () => (ZodISODate),
        +  ZodISODateTime: () => (ZodISODateTime),
        +  ZodISODuration: () => (ZodISODuration),
        +  ZodISOTime: () => (ZodISOTime),
        +  date: () => (iso_date),
        +  datetime: () => (iso_datetime),
        +  duration: () => (iso_duration),
        +  time: () => (iso_time)
        +});
        +
        +// NAMESPACE OBJECT: ../commons/node_modules/zod/v4/classic/schemas.js
        +var classic_schemas_namespaceObject = {};
        +__webpack_require__.r(classic_schemas_namespaceObject);
        +__webpack_require__.d(classic_schemas_namespaceObject, {
        +  ZodAny: () => (ZodAny),
        +  ZodArray: () => (ZodArray),
        +  ZodBase64: () => (ZodBase64),
        +  ZodBase64URL: () => (ZodBase64URL),
        +  ZodBigInt: () => (ZodBigInt),
        +  ZodBigIntFormat: () => (ZodBigIntFormat),
        +  ZodBoolean: () => (ZodBoolean),
        +  ZodCIDRv4: () => (ZodCIDRv4),
        +  ZodCIDRv6: () => (ZodCIDRv6),
        +  ZodCUID: () => (ZodCUID),
        +  ZodCUID2: () => (ZodCUID2),
        +  ZodCatch: () => (ZodCatch),
        +  ZodCodec: () => (ZodCodec),
        +  ZodCustom: () => (ZodCustom),
        +  ZodCustomStringFormat: () => (ZodCustomStringFormat),
        +  ZodDate: () => (ZodDate),
        +  ZodDefault: () => (ZodDefault),
        +  ZodDiscriminatedUnion: () => (ZodDiscriminatedUnion),
        +  ZodE164: () => (ZodE164),
        +  ZodEmail: () => (ZodEmail),
        +  ZodEmoji: () => (ZodEmoji),
        +  ZodEnum: () => (ZodEnum),
        +  ZodExactOptional: () => (ZodExactOptional),
        +  ZodFile: () => (ZodFile),
        +  ZodFunction: () => (ZodFunction),
        +  ZodGUID: () => (ZodGUID),
        +  ZodIPv4: () => (ZodIPv4),
        +  ZodIPv6: () => (ZodIPv6),
        +  ZodIntersection: () => (ZodIntersection),
        +  ZodJWT: () => (ZodJWT),
        +  ZodKSUID: () => (ZodKSUID),
        +  ZodLazy: () => (ZodLazy),
        +  ZodLiteral: () => (ZodLiteral),
        +  ZodMAC: () => (ZodMAC),
        +  ZodMap: () => (ZodMap),
        +  ZodNaN: () => (ZodNaN),
        +  ZodNanoID: () => (ZodNanoID),
        +  ZodNever: () => (ZodNever),
        +  ZodNonOptional: () => (ZodNonOptional),
        +  ZodNull: () => (ZodNull),
        +  ZodNullable: () => (ZodNullable),
        +  ZodNumber: () => (ZodNumber),
        +  ZodNumberFormat: () => (ZodNumberFormat),
        +  ZodObject: () => (ZodObject),
        +  ZodOptional: () => (ZodOptional),
        +  ZodPipe: () => (ZodPipe),
        +  ZodPrefault: () => (ZodPrefault),
        +  ZodPromise: () => (ZodPromise),
        +  ZodReadonly: () => (ZodReadonly),
        +  ZodRecord: () => (ZodRecord),
        +  ZodSet: () => (ZodSet),
        +  ZodString: () => (ZodString),
        +  ZodStringFormat: () => (ZodStringFormat),
        +  ZodSuccess: () => (ZodSuccess),
        +  ZodSymbol: () => (ZodSymbol),
        +  ZodTemplateLiteral: () => (ZodTemplateLiteral),
        +  ZodTransform: () => (ZodTransform),
        +  ZodTuple: () => (ZodTuple),
        +  ZodType: () => (ZodType),
        +  ZodULID: () => (ZodULID),
        +  ZodURL: () => (ZodURL),
        +  ZodUUID: () => (ZodUUID),
        +  ZodUndefined: () => (ZodUndefined),
        +  ZodUnion: () => (ZodUnion),
        +  ZodUnknown: () => (ZodUnknown),
        +  ZodVoid: () => (ZodVoid),
        +  ZodXID: () => (ZodXID),
        +  ZodXor: () => (ZodXor),
        +  _ZodString: () => (_ZodString),
        +  _default: () => (schemas_default),
        +  _function: () => (_function),
        +  any: () => (any),
        +  array: () => (array),
        +  base64: () => (schemas_base64),
        +  base64url: () => (schemas_base64url),
        +  bigint: () => (schemas_bigint),
        +  boolean: () => (schemas_boolean),
        +  "catch": () => (schemas_catch),
        +  check: () => (check),
        +  cidrv4: () => (schemas_cidrv4),
        +  cidrv6: () => (schemas_cidrv6),
        +  codec: () => (codec),
        +  cuid: () => (schemas_cuid),
        +  cuid2: () => (schemas_cuid2),
        +  custom: () => (custom),
        +  date: () => (schemas_date),
        +  describe: () => (schemas_describe),
        +  discriminatedUnion: () => (discriminatedUnion),
        +  e164: () => (schemas_e164),
        +  email: () => (schemas_email),
        +  emoji: () => (schemas_emoji),
        +  "enum": () => (schemas_enum),
        +  exactOptional: () => (exactOptional),
        +  file: () => (schemas_file),
        +  float32: () => (float32),
        +  float64: () => (float64),
        +  "function": () => (_function),
        +  guid: () => (schemas_guid),
        +  hash: () => (hash),
        +  hex: () => (schemas_hex),
        +  hostname: () => (schemas_hostname),
        +  httpUrl: () => (httpUrl),
        +  "instanceof": () => (_instanceof),
        +  int: () => (schemas_int),
        +  int32: () => (int32),
        +  int64: () => (int64),
        +  intersection: () => (intersection),
        +  ipv4: () => (schemas_ipv4),
        +  ipv6: () => (schemas_ipv6),
        +  json: () => (schemas_json),
        +  jwt: () => (jwt),
        +  keyof: () => (keyof),
        +  ksuid: () => (schemas_ksuid),
        +  lazy: () => (lazy),
        +  literal: () => (literal),
        +  looseObject: () => (looseObject),
        +  looseRecord: () => (looseRecord),
        +  mac: () => (schemas_mac),
        +  map: () => (map),
        +  meta: () => (schemas_meta),
        +  nan: () => (nan),
        +  nanoid: () => (schemas_nanoid),
        +  nativeEnum: () => (nativeEnum),
        +  never: () => (never),
        +  nonoptional: () => (nonoptional),
        +  "null": () => (schemas_null),
        +  nullable: () => (nullable),
        +  nullish: () => (schemas_nullish),
        +  number: () => (schemas_number),
        +  object: () => (object),
        +  optional: () => (optional),
        +  partialRecord: () => (partialRecord),
        +  pipe: () => (pipe),
        +  prefault: () => (prefault),
        +  preprocess: () => (preprocess),
        +  promise: () => (promise),
        +  readonly: () => (readonly),
        +  record: () => (record),
        +  refine: () => (refine),
        +  set: () => (set),
        +  strictObject: () => (strictObject),
        +  string: () => (schemas_string),
        +  stringFormat: () => (stringFormat),
        +  stringbool: () => (stringbool),
        +  success: () => (success),
        +  superRefine: () => (superRefine),
        +  symbol: () => (symbol),
        +  templateLiteral: () => (templateLiteral),
        +  transform: () => (transform),
        +  tuple: () => (tuple),
        +  uint32: () => (uint32),
        +  uint64: () => (uint64),
        +  ulid: () => (schemas_ulid),
        +  undefined: () => (schemas_undefined),
        +  union: () => (union),
        +  unknown: () => (unknown),
        +  url: () => (url),
        +  uuid: () => (schemas_uuid),
        +  uuidv4: () => (uuidv4),
        +  uuidv6: () => (uuidv6),
        +  uuidv7: () => (uuidv7),
        +  "void": () => (schemas_void),
        +  xid: () => (schemas_xid),
        +  xor: () => (xor)
        +});
        +
        +// NAMESPACE OBJECT: ./node_modules/zod/v4/core/regexes.js
        +var core_regexes_namespaceObject = {};
        +__webpack_require__.r(core_regexes_namespaceObject);
        +__webpack_require__.d(core_regexes_namespaceObject, {
        +  base64: () => (regexes_base64),
        +  base64url: () => (regexes_base64url),
        +  bigint: () => (regexes_bigint),
        +  boolean: () => (core_regexes_boolean),
        +  browserEmail: () => (regexes_browserEmail),
        +  cidrv4: () => (regexes_cidrv4),
        +  cidrv6: () => (regexes_cidrv6),
        +  cuid: () => (regexes_cuid),
        +  cuid2: () => (regexes_cuid2),
        +  date: () => (regexes_date),
        +  datetime: () => (regexes_datetime),
        +  domain: () => (regexes_domain),
        +  duration: () => (regexes_duration),
        +  e164: () => (regexes_e164),
        +  email: () => (regexes_email),
        +  emoji: () => (core_regexes_emoji),
        +  extendedDuration: () => (regexes_extendedDuration),
        +  guid: () => (regexes_guid),
        +  hex: () => (regexes_hex),
        +  hostname: () => (regexes_hostname),
        +  html5Email: () => (regexes_html5Email),
        +  idnEmail: () => (regexes_idnEmail),
        +  integer: () => (regexes_integer),
        +  ipv4: () => (regexes_ipv4),
        +  ipv6: () => (regexes_ipv6),
        +  ksuid: () => (regexes_ksuid),
        +  lowercase: () => (regexes_lowercase),
        +  mac: () => (regexes_mac),
        +  md5_base64: () => (regexes_md5_base64),
        +  md5_base64url: () => (regexes_md5_base64url),
        +  md5_hex: () => (regexes_md5_hex),
        +  nanoid: () => (regexes_nanoid),
        +  "null": () => (regexes_null),
        +  number: () => (regexes_number),
        +  rfc5322Email: () => (regexes_rfc5322Email),
        +  sha1_base64: () => (regexes_sha1_base64),
        +  sha1_base64url: () => (regexes_sha1_base64url),
        +  sha1_hex: () => (regexes_sha1_hex),
        +  sha256_base64: () => (regexes_sha256_base64),
        +  sha256_base64url: () => (regexes_sha256_base64url),
        +  sha256_hex: () => (regexes_sha256_hex),
        +  sha384_base64: () => (regexes_sha384_base64),
        +  sha384_base64url: () => (regexes_sha384_base64url),
        +  sha384_hex: () => (regexes_sha384_hex),
        +  sha512_base64: () => (regexes_sha512_base64),
        +  sha512_base64url: () => (regexes_sha512_base64url),
        +  sha512_hex: () => (regexes_sha512_hex),
        +  string: () => (regexes_string),
        +  time: () => (regexes_time),
        +  ulid: () => (regexes_ulid),
        +  undefined: () => (regexes_undefined),
        +  unicodeEmail: () => (regexes_unicodeEmail),
        +  uppercase: () => (regexes_uppercase),
        +  uuid: () => (regexes_uuid),
        +  uuid4: () => (regexes_uuid4),
        +  uuid6: () => (regexes_uuid6),
        +  uuid7: () => (regexes_uuid7),
        +  xid: () => (regexes_xid)
        +});
        +
        +// NAMESPACE OBJECT: ./node_modules/zod/v4/classic/checks.js
        +var v4_classic_checks_namespaceObject = {};
        +__webpack_require__.r(v4_classic_checks_namespaceObject);
        +__webpack_require__.d(v4_classic_checks_namespaceObject, {
        +  endsWith: () => (api_endsWith),
        +  gt: () => (api_gt),
        +  gte: () => (api_gte),
        +  includes: () => (api_includes),
        +  length: () => (api_length),
        +  lowercase: () => (api_lowercase),
        +  lt: () => (api_lt),
        +  lte: () => (api_lte),
        +  maxLength: () => (api_maxLength),
        +  maxSize: () => (api_maxSize),
        +  mime: () => (api_mime),
        +  minLength: () => (api_minLength),
        +  minSize: () => (api_minSize),
        +  multipleOf: () => (api_multipleOf),
        +  negative: () => (api_negative),
        +  nonnegative: () => (api_nonnegative),
        +  nonpositive: () => (api_nonpositive),
        +  normalize: () => (api_normalize),
        +  overwrite: () => (api_overwrite),
        +  positive: () => (api_positive),
        +  property: () => (api_property),
        +  regex: () => (api_regex),
        +  size: () => (api_size),
        +  slugify: () => (api_slugify),
        +  startsWith: () => (api_startsWith),
        +  toLowerCase: () => (api_toLowerCase),
        +  toUpperCase: () => (api_toUpperCase),
        +  trim: () => (api_trim),
        +  uppercase: () => (api_uppercase)
        +});
        +
        +// NAMESPACE OBJECT: ./node_modules/zod/v4/classic/iso.js
        +var classic_iso_namespaceObject = {};
        +__webpack_require__.r(classic_iso_namespaceObject);
        +__webpack_require__.d(classic_iso_namespaceObject, {
        +  ZodISODate: () => (iso_ZodISODate),
        +  ZodISODateTime: () => (iso_ZodISODateTime),
        +  ZodISODuration: () => (iso_ZodISODuration),
        +  ZodISOTime: () => (iso_ZodISOTime),
        +  date: () => (classic_iso_date),
        +  datetime: () => (classic_iso_datetime),
        +  duration: () => (classic_iso_duration),
        +  time: () => (classic_iso_time)
        +});
        +
        +// NAMESPACE OBJECT: ./node_modules/zod/v4/classic/schemas.js
        +var v4_classic_schemas_namespaceObject = {};
        +__webpack_require__.r(v4_classic_schemas_namespaceObject);
        +__webpack_require__.d(v4_classic_schemas_namespaceObject, {
        +  ZodAny: () => (schemas_ZodAny),
        +  ZodArray: () => (schemas_ZodArray),
        +  ZodBase64: () => (schemas_ZodBase64),
        +  ZodBase64URL: () => (schemas_ZodBase64URL),
        +  ZodBigInt: () => (schemas_ZodBigInt),
        +  ZodBigIntFormat: () => (schemas_ZodBigIntFormat),
        +  ZodBoolean: () => (schemas_ZodBoolean),
        +  ZodCIDRv4: () => (schemas_ZodCIDRv4),
        +  ZodCIDRv6: () => (schemas_ZodCIDRv6),
        +  ZodCUID: () => (schemas_ZodCUID),
        +  ZodCUID2: () => (schemas_ZodCUID2),
        +  ZodCatch: () => (schemas_ZodCatch),
        +  ZodCodec: () => (schemas_ZodCodec),
        +  ZodCustom: () => (schemas_ZodCustom),
        +  ZodCustomStringFormat: () => (schemas_ZodCustomStringFormat),
        +  ZodDate: () => (schemas_ZodDate),
        +  ZodDefault: () => (classic_schemas_ZodDefault),
        +  ZodDiscriminatedUnion: () => (schemas_ZodDiscriminatedUnion),
        +  ZodE164: () => (schemas_ZodE164),
        +  ZodEmail: () => (schemas_ZodEmail),
        +  ZodEmoji: () => (schemas_ZodEmoji),
        +  ZodEnum: () => (schemas_ZodEnum),
        +  ZodExactOptional: () => (schemas_ZodExactOptional),
        +  ZodFile: () => (schemas_ZodFile),
        +  ZodFunction: () => (schemas_ZodFunction),
        +  ZodGUID: () => (schemas_ZodGUID),
        +  ZodIPv4: () => (schemas_ZodIPv4),
        +  ZodIPv6: () => (schemas_ZodIPv6),
        +  ZodIntersection: () => (schemas_ZodIntersection),
        +  ZodJWT: () => (schemas_ZodJWT),
        +  ZodKSUID: () => (schemas_ZodKSUID),
        +  ZodLazy: () => (schemas_ZodLazy),
        +  ZodLiteral: () => (schemas_ZodLiteral),
        +  ZodMAC: () => (schemas_ZodMAC),
        +  ZodMap: () => (schemas_ZodMap),
        +  ZodNaN: () => (schemas_ZodNaN),
        +  ZodNanoID: () => (schemas_ZodNanoID),
        +  ZodNever: () => (schemas_ZodNever),
        +  ZodNonOptional: () => (schemas_ZodNonOptional),
        +  ZodNull: () => (schemas_ZodNull),
        +  ZodNullable: () => (schemas_ZodNullable),
        +  ZodNumber: () => (schemas_ZodNumber),
        +  ZodNumberFormat: () => (schemas_ZodNumberFormat),
        +  ZodObject: () => (classic_schemas_ZodObject),
        +  ZodOptional: () => (classic_schemas_ZodOptional),
        +  ZodPipe: () => (schemas_ZodPipe),
        +  ZodPrefault: () => (schemas_ZodPrefault),
        +  ZodPromise: () => (schemas_ZodPromise),
        +  ZodReadonly: () => (schemas_ZodReadonly),
        +  ZodRecord: () => (schemas_ZodRecord),
        +  ZodSet: () => (schemas_ZodSet),
        +  ZodString: () => (classic_schemas_ZodString),
        +  ZodStringFormat: () => (schemas_ZodStringFormat),
        +  ZodSuccess: () => (schemas_ZodSuccess),
        +  ZodSymbol: () => (schemas_ZodSymbol),
        +  ZodTemplateLiteral: () => (schemas_ZodTemplateLiteral),
        +  ZodTransform: () => (schemas_ZodTransform),
        +  ZodTuple: () => (schemas_ZodTuple),
        +  ZodType: () => (schemas_ZodType),
        +  ZodULID: () => (schemas_ZodULID),
        +  ZodURL: () => (schemas_ZodURL),
        +  ZodUUID: () => (schemas_ZodUUID),
        +  ZodUndefined: () => (schemas_ZodUndefined),
        +  ZodUnion: () => (schemas_ZodUnion),
        +  ZodUnknown: () => (schemas_ZodUnknown),
        +  ZodVoid: () => (schemas_ZodVoid),
        +  ZodXID: () => (schemas_ZodXID),
        +  ZodXor: () => (schemas_ZodXor),
        +  _ZodString: () => (schemas_ZodString),
        +  _default: () => (classic_schemas_default),
        +  _function: () => (schemas_function),
        +  any: () => (schemas_any),
        +  array: () => (schemas_array),
        +  base64: () => (classic_schemas_base64),
        +  base64url: () => (classic_schemas_base64url),
        +  bigint: () => (classic_schemas_bigint),
        +  boolean: () => (classic_schemas_boolean),
        +  "catch": () => (classic_schemas_catch),
        +  check: () => (schemas_check),
        +  cidrv4: () => (classic_schemas_cidrv4),
        +  cidrv6: () => (classic_schemas_cidrv6),
        +  codec: () => (schemas_codec),
        +  cuid: () => (classic_schemas_cuid),
        +  cuid2: () => (classic_schemas_cuid2),
        +  custom: () => (schemas_custom),
        +  date: () => (classic_schemas_date),
        +  describe: () => (classic_schemas_describe),
        +  discriminatedUnion: () => (schemas_discriminatedUnion),
        +  e164: () => (classic_schemas_e164),
        +  email: () => (classic_schemas_email),
        +  emoji: () => (classic_schemas_emoji),
        +  "enum": () => (classic_schemas_enum),
        +  exactOptional: () => (schemas_exactOptional),
        +  file: () => (classic_schemas_file),
        +  float32: () => (schemas_float32),
        +  float64: () => (schemas_float64),
        +  "function": () => (schemas_function),
        +  guid: () => (classic_schemas_guid),
        +  hash: () => (schemas_hash),
        +  hex: () => (classic_schemas_hex),
        +  hostname: () => (classic_schemas_hostname),
        +  httpUrl: () => (schemas_httpUrl),
        +  "instanceof": () => (schemas_instanceof),
        +  int: () => (classic_schemas_int),
        +  int32: () => (schemas_int32),
        +  int64: () => (schemas_int64),
        +  intersection: () => (schemas_intersection),
        +  ipv4: () => (classic_schemas_ipv4),
        +  ipv6: () => (classic_schemas_ipv6),
        +  json: () => (classic_schemas_json),
        +  jwt: () => (schemas_jwt),
        +  keyof: () => (schemas_keyof),
        +  ksuid: () => (classic_schemas_ksuid),
        +  lazy: () => (schemas_lazy),
        +  literal: () => (schemas_literal),
        +  looseObject: () => (schemas_looseObject),
        +  looseRecord: () => (schemas_looseRecord),
        +  mac: () => (classic_schemas_mac),
        +  map: () => (schemas_map),
        +  meta: () => (classic_schemas_meta),
        +  nan: () => (schemas_nan),
        +  nanoid: () => (classic_schemas_nanoid),
        +  nativeEnum: () => (schemas_nativeEnum),
        +  never: () => (schemas_never),
        +  nonoptional: () => (schemas_nonoptional),
        +  "null": () => (classic_schemas_null),
        +  nullable: () => (schemas_nullable),
        +  nullish: () => (classic_schemas_nullish),
        +  number: () => (classic_schemas_number),
        +  object: () => (schemas_object),
        +  optional: () => (schemas_optional),
        +  partialRecord: () => (schemas_partialRecord),
        +  pipe: () => (schemas_pipe),
        +  prefault: () => (schemas_prefault),
        +  preprocess: () => (schemas_preprocess),
        +  promise: () => (schemas_promise),
        +  readonly: () => (schemas_readonly),
        +  record: () => (schemas_record),
        +  refine: () => (schemas_refine),
        +  set: () => (schemas_set),
        +  strictObject: () => (schemas_strictObject),
        +  string: () => (classic_schemas_string),
        +  stringFormat: () => (schemas_stringFormat),
        +  stringbool: () => (schemas_stringbool),
        +  success: () => (schemas_success),
        +  superRefine: () => (schemas_superRefine),
        +  symbol: () => (schemas_symbol),
        +  templateLiteral: () => (schemas_templateLiteral),
        +  transform: () => (schemas_transform),
        +  tuple: () => (schemas_tuple),
        +  uint32: () => (schemas_uint32),
        +  uint64: () => (schemas_uint64),
        +  ulid: () => (classic_schemas_ulid),
        +  undefined: () => (classic_schemas_undefined),
        +  union: () => (schemas_union),
        +  unknown: () => (schemas_unknown),
        +  url: () => (schemas_url),
        +  uuid: () => (classic_schemas_uuid),
        +  uuidv4: () => (schemas_uuidv4),
        +  uuidv6: () => (schemas_uuidv6),
        +  uuidv7: () => (schemas_uuidv7),
        +  "void": () => (classic_schemas_void),
        +  xid: () => (classic_schemas_xid),
        +  xor: () => (schemas_xor)
        +});
        +
        +// NAMESPACE OBJECT: ./node_modules/axios/lib/platform/common/utils.js
        +var common_utils_namespaceObject = {};
        +__webpack_require__.r(common_utils_namespaceObject);
        +__webpack_require__.d(common_utils_namespaceObject, {
        +  hasBrowserEnv: () => (hasBrowserEnv),
        +  hasStandardBrowserEnv: () => (hasStandardBrowserEnv),
        +  hasStandardBrowserWebWorkerEnv: () => (hasStandardBrowserWebWorkerEnv),
        +  navigator: () => (_navigator),
        +  origin: () => (origin)
        +});
        +
        +// NAMESPACE OBJECT: ../deepl-mark/node_modules/micromark/lib/constructs.js
        +var constructs_namespaceObject = {};
        +__webpack_require__.r(constructs_namespaceObject);
        +__webpack_require__.d(constructs_namespaceObject, {
        +  attentionMarkers: () => (attentionMarkers),
        +  contentInitial: () => (contentInitial),
        +  disable: () => (disable),
        +  document: () => (constructs_document),
        +  flow: () => (constructs_flow),
        +  flowInitial: () => (flowInitial),
        +  insideSpan: () => (insideSpan),
        +  string: () => (constructs_string),
        +  text: () => (constructs_text)
        +});
        +
        +// EXTERNAL MODULE: external "path"
        +var external_path_ = __webpack_require__(16928);
        +// EXTERNAL MODULE: external "fs"
        +var external_fs_ = __webpack_require__(79896);
        +;// ../fs/dist/interfaces.js
        +/////////////////////////////////////////////////////////
        +//
        +//  Enums
        +//
        +var ENodeType;
        +(function (ENodeType) {
        +    ENodeType["FILE"] = "file";
        +    ENodeType["DIR"] = "dir";
        +    ENodeType["SYMLINK"] = "symlink";
        +    ENodeType["OTHER"] = "other";
        +    ENodeType["BLOCK"] = "block";
        +})(ENodeType || (ENodeType = {}));
        +/**
        + * Native errors.
        + * @todo : replace with errno.
        + */
        +let EError = {
        +    NONE: 'None',
        +    EXISTS: 'EEXIST',
        +    PERMISSION: 'EACCES',
        +    NOEXISTS: 'ENOENT',
        +    CROSS_DEVICE: 'EXDEV'
        +};
        +/**
        + * An extended version of Error to make typescript happy. This has been copied from
        + * the official Node typings.
        + *
        + * @export
        + * @class ErrnoException
        + * @extends {Error}
        + */
        +class ErrnoException extends (/* unused pure expression or super */ null && (Error)) {
        +    errno;
        +    code;
        +    path;
        +    syscall;
        +    stack;
        +}
        +/**
        + * Basic flags during a file operation.
        + *
        + * @export
        + * @enum {number}
        + */
        +var EBaseFlags;
        +(function (EBaseFlags) {
        +    /**
        +     * When copying, don't copy symlinks but resolve them instead.
        +     */
        +    EBaseFlags[EBaseFlags["FOLLOW_SYMLINKS"] = 8] = "FOLLOW_SYMLINKS";
        +})(EBaseFlags || (EBaseFlags = {}));
        +/**
        + * Flags to determine certain properties during inspection.
        + *
        + * @export
        + * @enum {number}
        + */
        +var EInspectFlags;
        +(function (EInspectFlags) {
        +    EInspectFlags[EInspectFlags["MODE"] = 2] = "MODE";
        +    EInspectFlags[EInspectFlags["TIMES"] = 4] = "TIMES";
        +    EInspectFlags[EInspectFlags["SYMLINKS"] = 8] = "SYMLINKS";
        +    EInspectFlags[EInspectFlags["FILE_SIZE"] = 16] = "FILE_SIZE";
        +    EInspectFlags[EInspectFlags["DIRECTORY_SIZE"] = 32] = "DIRECTORY_SIZE";
        +    EInspectFlags[EInspectFlags["CHECKSUM"] = 64] = "CHECKSUM";
        +    EInspectFlags[EInspectFlags["MIME"] = 128] = "MIME";
        +})(EInspectFlags || (EInspectFlags = {}));
        +/**
        + * Status of a node operation.
        + *
        + * @export
        + * @enum {number}
        + */
        +var ENodeOperationStatus;
        +(function (ENodeOperationStatus) {
        +    // Node has been collected
        +    ENodeOperationStatus[ENodeOperationStatus["COLLECTED"] = 0] = "COLLECTED";
        +    // Node has been checked for existence
        +    ENodeOperationStatus[ENodeOperationStatus["CHECKED"] = 1] = "CHECKED";
        +    // Node is in progress, before copy
        +    ENodeOperationStatus[ENodeOperationStatus["PROCESSING"] = 2] = "PROCESSING";
        +    // Node is in process
        +    ENodeOperationStatus[ENodeOperationStatus["PROCESS"] = 3] = "PROCESS";
        +    // Node is in conflict, and user is being asked what to do
        +    ENodeOperationStatus[ENodeOperationStatus["ASKING"] = 4] = "ASKING";
        +    // Node conflict has been resolved by user
        +    ENodeOperationStatus[ENodeOperationStatus["ANSWERED"] = 5] = "ANSWERED";
        +    // Node has been copied
        +    ENodeOperationStatus[ENodeOperationStatus["DONE"] = 6] = "DONE";
        +})(ENodeOperationStatus || (ENodeOperationStatus = {}));
        +/**
        + * The possible modes to resolve a conflict during copy and move.
        + *
        + * @export
        + * @enum {number}
        + */
        +var EResolveMode;
        +(function (EResolveMode) {
        +    EResolveMode[EResolveMode["SKIP"] = 0] = "SKIP";
        +    EResolveMode[EResolveMode["OVERWRITE"] = 1] = "OVERWRITE";
        +    EResolveMode[EResolveMode["IF_NEWER"] = 2] = "IF_NEWER";
        +    EResolveMode[EResolveMode["IF_SIZE_DIFFERS"] = 3] = "IF_SIZE_DIFFERS";
        +    EResolveMode[EResolveMode["APPEND"] = 4] = "APPEND";
        +    EResolveMode[EResolveMode["THROW"] = 5] = "THROW";
        +    EResolveMode[EResolveMode["RETRY"] = 6] = "RETRY";
        +    EResolveMode[EResolveMode["ABORT"] = 7] = "ABORT";
        +})(EResolveMode || (EResolveMode = {}));
        +/**
        + * Additional flags for copy
        + *
        + * @export
        + * @enum {number}
        + */
        +var ECopyFlags;
        +(function (ECopyFlags) {
        +    /**
        +     * Transfer atime and mtime of source to target
        +     */
        +    ECopyFlags[ECopyFlags["NONE"] = 0] = "NONE";
        +    /**
        +     * Transfer atime and mtime of source to target
        +     */
        +    ECopyFlags[ECopyFlags["PRESERVE_TIMES"] = 2] = "PRESERVE_TIMES";
        +    /**
        +     * Empty the target folder
        +     */
        +    ECopyFlags[ECopyFlags["EMPTY"] = 4] = "EMPTY";
        +    /**
        +     * When copying, don't copy symlinks but resolve them instead.
        +     */
        +    ECopyFlags[ECopyFlags["FOLLOW_SYMLINKS"] = 8] = "FOLLOW_SYMLINKS";
        +    /**
        +     * Collect errors & success
        +     */
        +    ECopyFlags[ECopyFlags["REPORT"] = 16] = "REPORT";
        +})(ECopyFlags || (ECopyFlags = {}));
        +/**
        + * An enumeration to narrow a conflict resolve to a single item or for all following conflicts.
        + *
        + * @export
        + * @enum {number}
        + */
        +var EResolve;
        +(function (EResolve) {
        +    /**
        +     * Always will use the chose conflict settings for all following conflicts.
        +     */
        +    EResolve[EResolve["ALWAYS"] = 0] = "ALWAYS";
        +    /**
        +     * 'This' will use the conflict settings for a single conflict so the conflict callback will be triggered again for the next conflict.
        +     */
        +    EResolve[EResolve["THIS"] = 1] = "THIS";
        +})(EResolve || (EResolve = {}));
        +/**
        + * Additional flags for delete
        + *
        + * @export
        + * @enum {number}
        + */
        +var EDeleteFlags;
        +(function (EDeleteFlags) {
        +    EDeleteFlags[EDeleteFlags["REPORT"] = 16] = "REPORT";
        +})(EDeleteFlags || (EDeleteFlags = {}));
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxFQUFFO0FBQ0YsU0FBUztBQUNULEVBQUU7QUFDRixNQUFNLENBQU4sSUFBWSxTQU1YO0FBTkQsV0FBWSxTQUFTO0lBQ3BCLDBCQUFhLENBQUE7SUFDYix3QkFBVyxDQUFBO0lBQ1gsZ0NBQW1CLENBQUE7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7QUFDaEIsQ0FBQyxFQU5XLFNBQVMsS0FBVCxTQUFTLFFBTXBCO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQUksTUFBTSxHQUFRO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLFFBQVE7SUFDcEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsWUFBWSxFQUFFLE9BQU87Q0FDckIsQ0FBQztBQWtERjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxLQUFLO0lBQ2pDLEtBQUssQ0FBUztJQUNkLElBQUksQ0FBUztJQUNiLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBUztJQUNoQixLQUFLLENBQVM7Q0FDckI7QUFZRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLFVBS1g7QUFMRCxXQUFZLFVBQVU7SUFDckI7O09BRUc7SUFDSCxpRUFBbUIsQ0FBQTtBQUNwQixDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckI7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLGFBUVg7QUFSRCxXQUFZLGFBQWE7SUFDeEIsaURBQVEsQ0FBQTtJQUNSLG1EQUFTLENBQUE7SUFDVCx5REFBWSxDQUFBO0lBQ1osNERBQWMsQ0FBQTtJQUNkLHNFQUFtQixDQUFBO0lBQ25CLDBEQUFhLENBQUE7SUFDYixtREFBVSxDQUFBO0FBQ1gsQ0FBQyxFQVJXLGFBQWEsS0FBYixhQUFhLFFBUXhCO0FBdUZEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFOLElBQVksb0JBZVg7QUFmRCxXQUFZLG9CQUFvQjtJQUMvQiwwQkFBMEI7SUFDMUIseUVBQVMsQ0FBQTtJQUNULHNDQUFzQztJQUN0QyxxRUFBTyxDQUFBO0lBQ1AsbUNBQW1DO0lBQ25DLDJFQUFVLENBQUE7SUFDVixxQkFBcUI7SUFDckIscUVBQU8sQ0FBQTtJQUNQLDBEQUEwRDtJQUMxRCxtRUFBTSxDQUFBO0lBQ04sMENBQTBDO0lBQzFDLHVFQUFRLENBQUE7SUFDUix1QkFBdUI7SUFDdkIsK0RBQUksQ0FBQTtBQUNMLENBQUMsRUFmVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBZS9CO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxZQVNYO0FBVEQsV0FBWSxZQUFZO0lBQ3ZCLCtDQUFRLENBQUE7SUFDUix5REFBUyxDQUFBO0lBQ1QsdURBQVEsQ0FBQTtJQUNSLHFFQUFlLENBQUE7SUFDZixtREFBTSxDQUFBO0lBQ04saURBQUssQ0FBQTtJQUNMLGlEQUFLLENBQUE7SUFDTCxpREFBSyxDQUFBO0FBQ04sQ0FBQyxFQVRXLFlBQVksS0FBWixZQUFZLFFBU3ZCO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxVQXFCWDtBQXJCRCxXQUFZLFVBQVU7SUFDckI7O09BRUc7SUFDSCwyQ0FBUSxDQUFBO0lBQ1I7O09BRUc7SUFDSCwrREFBa0IsQ0FBQTtJQUNsQjs7T0FFRztJQUNILDZDQUFTLENBQUE7SUFDVDs7T0FFRztJQUNILGlFQUFtQixDQUFBO0lBQ25COztPQUVHO0lBQ0gsZ0RBQVcsQ0FBQTtBQUNaLENBQUMsRUFyQlcsVUFBVSxLQUFWLFVBQVUsUUFxQnJCO0FBcUhEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFOLElBQVksUUFTWDtBQVRELFdBQVksUUFBUTtJQUNuQjs7T0FFRztJQUNILDJDQUFNLENBQUE7SUFDTjs7T0FFRztJQUNILHVDQUFJLENBQUE7QUFDTCxDQUFDLEVBVFcsUUFBUSxLQUFSLFFBQVEsUUFTbkI7QUF3REQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxZQUVYO0FBRkQsV0FBWSxZQUFZO0lBQ3ZCLG9EQUFXLENBQUE7QUFDWixDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkIifQ==
        +;// ../fs/dist/exists.js
        +/* unused harmony import specifier */ var lstat;
        +/* unused harmony import specifier */ var validateArgument;
        +/* unused harmony import specifier */ var exists_ENodeType;
        +
        +
        +
        +function validateInput(methodName, path) {
        +    const methodSignature = methodName + '(path)';
        +    validateArgument(methodSignature, 'path', path, ['string']);
        +}
        +// ---------------------------------------------------------
        +// Sync
        +// ---------------------------------------------------------
        +function sync(path) {
        +    let stat;
        +    try {
        +        stat = (0,external_fs_.statSync)(path);
        +        if (stat.isDirectory()) {
        +            return 'dir';
        +        }
        +        else if (stat.isFile()) {
        +            return 'file';
        +        }
        +        return 'other';
        +    }
        +    catch (err) {
        +        if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') {
        +            throw err;
        +        }
        +    }
        +    return false;
        +}
        +// ---------------------------------------------------------
        +// Async
        +// ---------------------------------------------------------
        +function exists_async(path) {
        +    return new Promise((resolve, reject) => {
        +        lstat(path, (err, stat) => {
        +            if (err) {
        +                if (err.code === 'ENOENT' || err.code === 'ENOTDIR') {
        +                    resolve(false);
        +                }
        +                else {
        +                    reject(err);
        +                }
        +            }
        +            else if (stat.isDirectory()) {
        +                resolve(exists_ENodeType.DIR);
        +            }
        +            else if (stat.isFile()) {
        +                resolve(exists_ENodeType.FILE);
        +            }
        +            else {
        +                resolve(exists_ENodeType.OTHER);
        +            }
        +        });
        +    });
        +}
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2V4aXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBRTVELE1BQU0sVUFBVSxhQUFhLENBQUMsVUFBa0IsRUFBRSxJQUFZO0lBQzdELE1BQU0sZUFBZSxHQUFHLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDOUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCw0REFBNEQ7QUFDNUQsT0FBTztBQUNQLDREQUE0RDtBQUM1RCxNQUFNLFVBQVUsSUFBSSxDQUFDLElBQVk7SUFDaEMsSUFBSSxJQUFXLENBQUM7SUFDaEIsSUFBSSxDQUFDO1FBQ0osSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDMUIsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckQsTUFBTSxHQUFHLENBQUM7UUFDWCxDQUFDO0lBQ0YsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxRQUFRO0FBQ1IsNERBQTREO0FBQzVELE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBWTtJQUNqQyxPQUFPLElBQUksT0FBTyxDQUFnQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBbUIsRUFBRSxJQUFXLEVBQUUsRUFBRTtZQUNoRCxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNULElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQixDQUFDO3FCQUFNLENBQUM7b0JBQ1AsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNiLENBQUM7WUFDRixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDUCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
        +// EXTERNAL MODULE: ../log/node_modules/source-map-support/source-map-support.js
        +var source_map_support = __webpack_require__(37702);
        +// EXTERNAL MODULE: external "os"
        +var external_os_ = __webpack_require__(70857);
        +// EXTERNAL MODULE: external "util"
        +var external_util_ = __webpack_require__(39023);
        +;// ../log/node_modules/tslog/dist/esm/CallSitesHelper.js
        +/* Based on https://github.com/watson/error-callsites */
        +const callsitesSym = Symbol("callsites");
        +
        +// Lifted from Node.js 0.10.40:
        +// https://github.com/nodejs/node/blob/0439a28d519fb6efe228074b0588a59452fc1677/deps/v8/src/messages.js#L1053-L1080
        +function FormatStackTrace(error, frames) {
        +    const lines = [];
        +    try {
        +        lines.push(error.toString());
        +    }
        +    catch (e) {
        +        lines.push("");
        +    }
        +    for (let i = 0; i < frames.length; i++) {
        +        const frame = frames[i];
        +        let line;
        +        try {
        +            line = frame.toString();
        +        }
        +        catch (e) {
        +            line = "";
        +        }
        +        lines.push("    at " + line);
        +    }
        +    return lines.join("\n");
        +}
        +const fallback = Error.prepareStackTrace || FormatStackTrace;
        +let lastPrepareStackTrace = fallback;
        +function prepareStackTrace(err, callsites) {
        +    var _a;
        +    // If the symbol has already been set it must mean that someone else has also
        +    // overwritten `Error.prepareStackTrace` and retains a reference to this
        +    // function that it's calling every time it's own `prepareStackTrace`
        +    // function is being called. This would create an infinite loop if not
        +    // handled.
        +    if (Object.prototype.hasOwnProperty.call(err, callsitesSym)) {
        +        return fallback(err, callsites);
        +    }
        +    Object.defineProperty(err, callsitesSym, {
        +        enumerable: false,
        +        configurable: true,
        +        writable: false,
        +        value: callsites,
        +    });
        +    return ((_a = (lastPrepareStackTrace && lastPrepareStackTrace(err, callsites))) !== null && _a !== void 0 ? _a : err.toString());
        +}
        +Object.defineProperty(Error, "prepareStackTrace", {
        +    configurable: true,
        +    enumerable: true,
        +    get: function () {
        +        return prepareStackTrace;
        +    },
        +    set: function (fn) {
        +        // Don't set `lastPrepareStackTrace` to ourselves. If we did, we'd end up
        +        // throwing a RangeError (Maximum call stack size exceeded).
        +        lastPrepareStackTrace =
        +            fn === prepareStackTrace
        +                ? fallback
        +                : fn;
        +    },
        +});
        +function getCallSites(err) {
        +    //V8 does not initiate the "stack" property when the Error is constructed.
        +    //However it seems that the "stack" property is a getter that then calls Error.prepareStackTrace.
        +    //So to ensure that the custom "prepareStackTrace" function is executed we must first read the value of "Error.stack" to trigger the getter
        +    // eslint-disable-next-line no-unused-expressions
        +    err.stack;
        +    return err[callsitesSym] || [];
        +}
        +//# sourceMappingURL=CallSitesHelper.js.map
        +;// ../log/node_modules/tslog/dist/esm/LoggerHelper.js
        +
        +
        +
        +
        +/** @internal */
        +class LoggerHelper {
        +    static cleanUpFilePath(fileName) {
        +        return Object.entries(fileName.split(external_path_.sep))
        +            .reduce((cleanFileName, fileNamePart) => fileNamePart[1] !== LoggerHelper.cwdArray[fileNamePart[0]]
        +            ? (cleanFileName += external_path_.sep + fileNamePart[1])
        +            : cleanFileName, "")
        +            .substring(1);
        +    }
        +    static isError(e) {
        +        // An error could be an instance of Error while not being a native error
        +        // or could be from a different realm and not be instance of Error but still
        +        // be a native error.
        +        return (external_util_.types === null || external_util_.types === void 0 ? void 0 : external_util_.types.isNativeError) != null
        +            ? external_util_.types.isNativeError(e)
        +            : e instanceof Error;
        +    }
        +    static getCallSites(error, cleanUp = true) {
        +        const stack = error == null ? getCallSites(new Error()).slice(1) : getCallSites(error);
        +        return cleanUp === true && (stack === null || stack === void 0 ? void 0 : stack.reduce) != null
        +            ? stack.reduce((cleanedUpCallsites, callsite) => {
        +                var _a, _b, _c;
        +                if ((callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) != null &&
        +                    (callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) !== "" &&
        +                    ((_a = callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) === null || _a === void 0 ? void 0 : _a.indexOf("internal/")) !== 0 &&
        +                    ((_b = callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) === null || _b === void 0 ? void 0 : _b.indexOf("module.js")) !== 0 &&
        +                    ((_c = callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) === null || _c === void 0 ? void 0 : _c.indexOf("bootstrap_node.js")) !== 0) {
        +                    cleanedUpCallsites.push(callsite);
        +                }
        +                return cleanedUpCallsites;
        +            }, [])
        +            : stack;
        +    }
        +    static toStackFrameObject(stackFrame) {
        +        var _a, _b, _c, _d, _e, _f;
        +        let filePath = stackFrame.getFileName() || "";
        +        filePath = filePath.replace("file://", "");
        +        return {
        +            filePath: LoggerHelper.cleanUpFilePath(filePath),
        +            fullFilePath: filePath,
        +            fileName: (0,external_path_.basename)(filePath),
        +            lineNumber: (_a = stackFrame.getLineNumber()) !== null && _a !== void 0 ? _a : undefined,
        +            columnNumber: (_b = stackFrame.getColumnNumber()) !== null && _b !== void 0 ? _b : undefined,
        +            isConstructor: (_c = stackFrame.isConstructor()) !== null && _c !== void 0 ? _c : undefined,
        +            functionName: (_d = stackFrame.getFunctionName()) !== null && _d !== void 0 ? _d : undefined,
        +            typeName: (_e = stackFrame.getTypeName()) !== null && _e !== void 0 ? _e : undefined,
        +            methodName: (_f = stackFrame.getMethodName()) !== null && _f !== void 0 ? _f : undefined,
        +        };
        +    }
        +    static initErrorToJsonHelper() {
        +        if (!("toJSON" in Error.prototype))
        +            /* eslint-disable */
        +            Object.defineProperty(Error.prototype, "toJSON", {
        +                /* eslint-enable */
        +                value: function () {
        +                    return Object.getOwnPropertyNames(this).reduce((alt, key) => {
        +                        alt[key] = this[key];
        +                        return alt;
        +                    }, {});
        +                },
        +                configurable: true,
        +                writable: true,
        +            });
        +    }
        +    static overwriteConsole($this, handleLog) {
        +        ["log", "debug", "info", "warn", "trace", "error"].forEach((name) => {
        +            console[name] = (...args) => {
        +                const loglevelMapping = {
        +                    log: "silly",
        +                    trace: "trace",
        +                    debug: "debug",
        +                    info: "info",
        +                    warn: "warn",
        +                    error: "error",
        +                };
        +                return handleLog.apply($this, [
        +                    loglevelMapping[name.toLowerCase()],
        +                    args,
        +                ]);
        +            };
        +        });
        +    }
        +    static setUtilsInspectStyles(utilsInspectStyles) {
        +        Object.entries(utilsInspectStyles).forEach(([symbol, color]) => {
        +            external_util_.inspect.styles[symbol] = color;
        +        });
        +    }
        +    static styleString(styleTypes, str, colorizePrettyLogs = true) {
        +        return colorizePrettyLogs
        +            ? Object.values(styleTypes).reduce((resultStr, styleType) => {
        +                return LoggerHelper._stylizeWithColor(styleType, resultStr);
        +            }, str)
        +            : `${str}`;
        +    }
        +    static _stylizeWithColor(styleType, str) {
        +        var _a;
        +        const color = (_a = external_util_.inspect.colors[styleType]) !== null && _a !== void 0 ? _a : [0, 0];
        +        return `\u001b[${color[0]}m${str}\u001b[${color[1]}m`;
        +    }
        +    /* Async
        +    import { createReadStream, readFileSync } from "fs";
        +    import { createInterface, Interface } from "readline";
        +    public static async _getCodeFrameAsync(
        +      filePath: string,
        +      lineNumber: number | null,
        +      columnNumber: number | null,
        +      linesBeforeAndAfter: number
        +    ): Promise {
        +      try {
        +        const fileStream: NodeJS.ReadableStream = createReadStream(filePath, {
        +          encoding: "utf-8",
        +        });
        +        const rl: Interface = createInterface({
        +          input: fileStream,
        +          crlfDelay: Infinity,
        +        });
        +  
        +        if (lineNumber != null) {
        +          const linesBefore: string[] = [];
        +          let relevantLine: string | undefined;
        +          const linesAfter: string[] = [];
        +          let i: number = 0;
        +          rl.on("line", (line) => {
        +            if (i < lineNumber && i >= lineNumber - linesBeforeAndAfter) {
        +              linesBefore.push(line);
        +            } else if (i === lineNumber) {
        +              relevantLine = line;
        +            } else if (i > lineNumber && i <= lineNumber + linesBeforeAndAfter) {
        +              linesAfter.push(line);
        +            }
        +            i++;
        +          });
        +          rl.on("close", () => {
        +            const firstLineNumber: number =
        +              lineNumber - linesBeforeAndAfter < 0
        +                ? 0
        +                : lineNumber - linesBeforeAndAfter;
        +            return {
        +              firstLineNumber,
        +              lineNumber,
        +              columnNumber,
        +              linesBefore,
        +              relevantLine,
        +              linesAfter,
        +            };
        +          });
        +        }
        +      } catch {
        +        return undefined;
        +      }
        +    }
        +    */
        +    static _getCodeFrame(filePath, lineNumber, columnNumber, linesBeforeAndAfter) {
        +        var _a;
        +        const lineNumberMinusOne = lineNumber - 1;
        +        try {
        +            const file = (_a = (0,external_fs_.readFileSync)(filePath, {
        +                encoding: "utf-8",
        +            })) === null || _a === void 0 ? void 0 : _a.split("\n");
        +            const startAt = lineNumberMinusOne - linesBeforeAndAfter < 0
        +                ? 0
        +                : lineNumberMinusOne - linesBeforeAndAfter;
        +            const endAt = lineNumberMinusOne + linesBeforeAndAfter > file.length
        +                ? file.length
        +                : lineNumberMinusOne + linesBeforeAndAfter;
        +            const codeFrame = {
        +                firstLineNumber: startAt + 1,
        +                lineNumber,
        +                columnNumber,
        +                linesBefore: [],
        +                relevantLine: "",
        +                linesAfter: [],
        +            };
        +            for (let i = startAt; i < lineNumberMinusOne; i++) {
        +                if (file[i] != null) {
        +                    codeFrame.linesBefore.push(file[i]);
        +                }
        +            }
        +            codeFrame.relevantLine = file[lineNumberMinusOne];
        +            for (let i = lineNumberMinusOne + 1; i <= endAt; i++) {
        +                if (file[i] != null) {
        +                    codeFrame.linesAfter.push(file[i]);
        +                }
        +            }
        +            return codeFrame;
        +        }
        +        catch (err) {
        +            // (err) is needed for Node v8 support, remove later
        +            // fail silently
        +        }
        +    }
        +    static lineNumberTo3Char(lineNumber) {
        +        return lineNumber < 10
        +            ? `00${lineNumber}`
        +            : lineNumber < 100
        +                ? `0${lineNumber}`
        +                : `${lineNumber}`;
        +    }
        +    static cloneObjectRecursively(obj, maskValuesFn, done = [], clonedObject = Object.create(Object.getPrototypeOf(obj))) {
        +        done.push(obj);
        +        // clone array. could potentially be a separate function
        +        if (obj instanceof Date) {
        +            return new Date(obj);
        +        }
        +        else if (Array.isArray(obj)) {
        +            return Object.entries(obj).map(([key, value]) => {
        +                if (value == null || typeof value !== "object") {
        +                    return value;
        +                }
        +                else {
        +                    return LoggerHelper.cloneObjectRecursively(value, maskValuesFn, done);
        +                }
        +            });
        +        }
        +        else {
        +            Object.getOwnPropertyNames(obj).forEach((currentKey) => {
        +                if (!done.includes(obj[currentKey])) {
        +                    if (obj[currentKey] == null) {
        +                        clonedObject[currentKey] = obj[currentKey];
        +                    }
        +                    else if (typeof obj[currentKey] !== "object") {
        +                        clonedObject[currentKey] =
        +                            maskValuesFn != null
        +                                ? maskValuesFn(currentKey, obj[currentKey])
        +                                : obj[currentKey];
        +                    }
        +                    else {
        +                        clonedObject[currentKey] = LoggerHelper.cloneObjectRecursively(obj[currentKey], maskValuesFn, done, clonedObject[currentKey]);
        +                    }
        +                }
        +                else {
        +                    // cicrular detected: point to itself to make inspect printout [circular]
        +                    clonedObject[currentKey] = clonedObject;
        +                }
        +            });
        +        }
        +        return clonedObject;
        +    }
        +    static logObjectMaskValuesOfKeys(obj, keys, maskPlaceholder) {
        +        if (!Array.isArray(keys) || keys.length === 0) {
        +            return obj;
        +        }
        +        const maskValuesFn = (key, value) => {
        +            const keysLowerCase = keys.map((key) => typeof key === "string" ? key.toLowerCase() : key);
        +            if (keysLowerCase.includes(typeof key === "string" ? key.toLowerCase() : key)) {
        +                return maskPlaceholder;
        +            }
        +            return value;
        +        };
        +        return obj != null
        +            ? LoggerHelper.cloneObjectRecursively(obj, maskValuesFn)
        +            : obj;
        +    }
        +}
        +LoggerHelper.cwdArray = process.cwd().split(external_path_.sep);
        +//# sourceMappingURL=LoggerHelper.js.map
        +;// ../log/node_modules/tslog/dist/esm/LoggerWithoutCallSite.js
        +
        +
        +
        +
        +/**
        + * 📝 Expressive TypeScript Logger for Node.js
        + * @public
        + */
        +class LoggerWithoutCallSite {
        +    /**
        +     * @param settings - Configuration of the logger instance  (all settings are optional with sane defaults)
        +     * @param parentSettings - Used internally to
        +     */
        +    constructor(settings, parentSettings) {
        +        var _a;
        +        this._logLevels = [
        +            "silly",
        +            "trace",
        +            "debug",
        +            "info",
        +            "warn",
        +            "error",
        +            "fatal",
        +        ];
        +        this._minLevelToStdErr = 4;
        +        this._mySettings = {};
        +        this._childLogger = [];
        +        this._callSiteWrapper = (callSite) => callSite;
        +        this._parentOrDefaultSettings = {
        +            type: "pretty",
        +            instanceName: undefined,
        +            hostname: (_a = parentSettings === null || parentSettings === void 0 ? void 0 : parentSettings.hostname) !== null && _a !== void 0 ? _a : (0,external_os_.hostname)(),
        +            name: undefined,
        +            setCallerAsLoggerName: false,
        +            requestId: undefined,
        +            minLevel: "silly",
        +            exposeStack: false,
        +            exposeErrorCodeFrame: true,
        +            exposeErrorCodeFrameLinesBeforeAndAfter: 5,
        +            ignoreStackLevels: 3,
        +            suppressStdOutput: false,
        +            overwriteConsole: false,
        +            colorizePrettyLogs: true,
        +            logLevelsColors: {
        +                0: "whiteBright",
        +                1: "white",
        +                2: "greenBright",
        +                3: "blueBright",
        +                4: "yellowBright",
        +                5: "redBright",
        +                6: "magentaBright",
        +            },
        +            prettyInspectHighlightStyles: {
        +                special: "cyan",
        +                number: "green",
        +                bigint: "green",
        +                boolean: "yellow",
        +                undefined: "red",
        +                null: "red",
        +                string: "red",
        +                symbol: "green",
        +                date: "magenta",
        +                name: "white",
        +                regexp: "red",
        +                module: "underline",
        +            },
        +            prettyInspectOptions: {
        +                colors: true,
        +                compact: false,
        +                depth: Infinity,
        +            },
        +            jsonInspectOptions: {
        +                colors: false,
        +                compact: true,
        +                depth: Infinity,
        +            },
        +            delimiter: " ",
        +            dateTimePattern: undefined,
        +            // local timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
        +            dateTimeTimezone: undefined,
        +            prefix: [],
        +            maskValuesOfKeys: ["password"],
        +            maskAnyRegEx: [],
        +            maskPlaceholder: "[***]",
        +            printLogMessageInNewLine: false,
        +            // display settings
        +            displayDateTime: true,
        +            displayLogLevel: true,
        +            displayInstanceName: false,
        +            displayLoggerName: true,
        +            displayRequestId: true,
        +            displayFilePath: "hideNodeModulesOnly",
        +            displayFunctionName: true,
        +            displayTypes: false,
        +            stdOut: process.stdout,
        +            stdErr: process.stderr,
        +            attachedTransports: [],
        +        };
        +        const mySettings = settings != null ? settings : {};
        +        this.setSettings(mySettings, parentSettings);
        +        LoggerHelper.initErrorToJsonHelper();
        +    }
        +    /** Readonly settings of the current logger instance. Used for testing. */
        +    get settings() {
        +        const myPrefix = this._mySettings.prefix != null ? this._mySettings.prefix : [];
        +        return {
        +            ...this._parentOrDefaultSettings,
        +            ...this._mySettings,
        +            prefix: [...this._parentOrDefaultSettings.prefix, ...myPrefix],
        +        };
        +    }
        +    /**
        +     *  Change settings during runtime
        +     *  Changes will be propagated to potential child loggers
        +     *
        +     * @param settings - Settings to overwrite with. Only this settings will be overwritten, rest will remain the same.
        +     * @param parentSettings - INTERNAL USE: Is called by a parent logger to propagate new settings.
        +     */
        +    setSettings(settings, parentSettings) {
        +        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
        +        this._mySettings = {
        +            ...this._mySettings,
        +            ...settings,
        +        };
        +        if (((_a = this.settings.prettyInspectOptions) === null || _a === void 0 ? void 0 : _a.colors) != null ||
        +            ((_b = this.settings.prettyInspectOptions) === null || _b === void 0 ? void 0 : _b.colors) === true) {
        +            this.settings.prettyInspectOptions.colors =
        +                this.settings.colorizePrettyLogs;
        +        }
        +        this._mySettings.instanceName =
        +            (_c = this._mySettings.instanceName) !== null && _c !== void 0 ? _c : this._mySettings.hostname;
        +        if (this._mySettings.name == null &&
        +            this._mySettings.setCallerAsLoggerName) {
        +            this._mySettings.name =
        +                (_j = (_f = (_e = (_d = LoggerHelper.getCallSites()) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.getTypeName()) !== null && _f !== void 0 ? _f : (_h = (_g = LoggerHelper.getCallSites()) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.getFunctionName()) !== null && _j !== void 0 ? _j : undefined;
        +        }
        +        if (parentSettings != null) {
        +            this._parentOrDefaultSettings = {
        +                ...this._parentOrDefaultSettings,
        +                ...parentSettings,
        +            };
        +        }
        +        this._maskAnyRegExp =
        +            ((_k = this.settings.maskAnyRegEx) === null || _k === void 0 ? void 0 : _k.length) > 0
        +                ? // eslint-disable-next-line @rushstack/security/no-unsafe-regexp
        +                    new RegExp(Object.values(this.settings.maskAnyRegEx).join("|"), "g")
        +                : undefined;
        +        LoggerHelper.setUtilsInspectStyles(this.settings.prettyInspectHighlightStyles);
        +        if (this.settings.overwriteConsole) {
        +            LoggerHelper.overwriteConsole(this, this._handleLog);
        +        }
        +        this._childLogger.forEach((childLogger) => {
        +            childLogger.setSettings({}, this.settings);
        +        });
        +        return this.settings;
        +    }
        +    /**
        +     *  Returns a child logger based on the current instance with inherited settings
        +     *
        +     * @param settings - Overwrite settings inherited from parent logger
        +     */
        +    getChildLogger(settings) {
        +        const childSettings = {
        +            ...this.settings,
        +            attachedTransports: [...this.settings.attachedTransports],
        +        };
        +        const childLogger = new this.constructor(settings, childSettings);
        +        this._childLogger.push(childLogger);
        +        return childLogger;
        +    }
        +    /**
        +     *  Attaches external Loggers, e.g. external log services, file system, database
        +     *
        +     * @param transportLogger - External logger to be attached. Must implement all log methods.
        +     * @param minLevel        - Minimum log level to be forwarded to this attached transport logger. (e.g. debug)
        +     */
        +    attachTransport(transportLogger, minLevel = "silly") {
        +        this.settings.attachedTransports.push({
        +            minLevel,
        +            transportLogger,
        +        });
        +    }
        +    /**
        +     * Logs a silly message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    silly(...args) {
        +        return this._handleLog.apply(this, ["silly", args]);
        +    }
        +    /**
        +     * Logs a trace message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    trace(...args) {
        +        return this._handleLog.apply(this, ["trace", args, true]);
        +    }
        +    /**
        +     * Logs a debug message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    debug(...args) {
        +        return this._handleLog.apply(this, ["debug", args]);
        +    }
        +    /**
        +     * Logs an info message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    info(...args) {
        +        return this._handleLog.apply(this, ["info", args]);
        +    }
        +    /**
        +     * Logs a warn message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    warn(...args) {
        +        return this._handleLog.apply(this, ["warn", args]);
        +    }
        +    /**
        +     * Logs an error message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    error(...args) {
        +        return this._handleLog.apply(this, ["error", args]);
        +    }
        +    /**
        +     * Logs a fatal message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    fatal(...args) {
        +        return this._handleLog.apply(this, ["fatal", args]);
        +    }
        +    /**
        +     * Helper: Pretty print error without logging it
        +     * @param error - Error object
        +     * @param print - Print the error or return only? (default: true)
        +     * @param exposeErrorCodeFrame  - Should the code frame be exposed? (default: true)
        +     * @param exposeStackTrace  - Should the stack trace be exposed? (default: true)
        +     * @param stackOffset - Offset lines of the stack trace (default: 0)
        +     * @param stackLimit  - Limit number of lines of the stack trace (default: Infinity)
        +     * @param std - Which std should the output be printed to? (default: stdErr)
        +     */
        +    prettyError(error, print = true, exposeErrorCodeFrame = true, exposeStackTrace = true, stackOffset = 0, stackLimit = Infinity, std = this.settings.stdErr) {
        +        const errorObject = this._buildErrorObject(error, exposeErrorCodeFrame, stackOffset, stackLimit);
        +        if (print) {
        +            this._printPrettyError(std, errorObject, exposeStackTrace);
        +        }
        +        return errorObject;
        +    }
        +    _handleLog(logLevel, logArguments, exposeStack = this.settings.exposeStack) {
        +        const logObject = this._buildLogObject(logLevel, logArguments, exposeStack);
        +        if (!this.settings.suppressStdOutput &&
        +            logObject.logLevelId >= this._logLevels.indexOf(this.settings.minLevel)) {
        +            const std = logObject.logLevelId < this._minLevelToStdErr
        +                ? this.settings.stdOut
        +                : this.settings.stdErr;
        +            if (this.settings.type === "pretty") {
        +                this.printPrettyLog(std, logObject);
        +            }
        +            else if (this.settings.type === "json") {
        +                this._printJsonLog(std, logObject);
        +            }
        +            else {
        +                // don't print (e.g. "hidden")
        +            }
        +        }
        +        this.settings.attachedTransports.forEach((transport) => {
        +            if (logObject.logLevelId >=
        +                Object.values(this._logLevels).indexOf(transport.minLevel)) {
        +                transport.transportLogger[logLevel](logObject);
        +            }
        +        });
        +        return logObject;
        +    }
        +    _buildLogObject(logLevel, logArguments, exposeStack = true) {
        +        const callSites = LoggerHelper.getCallSites();
        +        const relevantCallSites = callSites.splice(this.settings.ignoreStackLevels);
        +        const stackFrame = relevantCallSites[0] != null
        +            ? this._callSiteWrapper(relevantCallSites[0])
        +            : undefined;
        +        const stackFrameObject = stackFrame != null
        +            ? LoggerHelper.toStackFrameObject(stackFrame)
        +            : undefined;
        +        const requestId = this.settings.requestId instanceof Function
        +            ? this.settings.requestId()
        +            : this.settings.requestId;
        +        const logObject = {
        +            instanceName: this.settings.instanceName,
        +            loggerName: this.settings.name,
        +            hostname: this.settings.hostname,
        +            requestId,
        +            date: new Date(),
        +            logLevel: logLevel,
        +            logLevelId: this._logLevels.indexOf(logLevel),
        +            filePath: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.filePath,
        +            fullFilePath: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.fullFilePath,
        +            fileName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.fileName,
        +            lineNumber: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.lineNumber,
        +            columnNumber: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.columnNumber,
        +            isConstructor: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.isConstructor,
        +            functionName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.functionName,
        +            typeName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.typeName,
        +            methodName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.methodName,
        +            argumentsArray: [],
        +            toJSON: () => this._logObjectToJson(logObject),
        +        };
        +        const logArgumentsWithPrefix = [
        +            ...this.settings.prefix,
        +            ...logArguments,
        +        ];
        +        logArgumentsWithPrefix.forEach((arg) => {
        +            if (arg != null && typeof arg === "object" && LoggerHelper.isError(arg)) {
        +                logObject.argumentsArray.push(this._buildErrorObject(arg, this.settings.exposeErrorCodeFrame));
        +            }
        +            else {
        +                logObject.argumentsArray.push(arg);
        +            }
        +        });
        +        if (exposeStack) {
        +            logObject.stack = this._toStackObjectArray(relevantCallSites);
        +        }
        +        return logObject;
        +    }
        +    _buildErrorObject(error, exposeErrorCodeFrame = true, stackOffset = 0, stackLimit = Infinity) {
        +        var _a, _b;
        +        const errorCallSites = LoggerHelper.getCallSites(error);
        +        stackOffset = stackOffset > -1 ? stackOffset : 0;
        +        const relevantCallSites = (_a = ((errorCallSites === null || errorCallSites === void 0 ? void 0 : errorCallSites.splice) && errorCallSites.splice(stackOffset))) !== null && _a !== void 0 ? _a : [];
        +        stackLimit = stackLimit > -1 ? stackLimit : 0;
        +        if (stackLimit < Infinity) {
        +            relevantCallSites.length = stackLimit;
        +        }
        +        const { 
        +        // eslint-disable-next-line @typescript-eslint/no-unused-vars
        +        name: _name, ...errorWithoutName } = error;
        +        const errorObject = {
        +            nativeError: error,
        +            details: { ...errorWithoutName },
        +            name: (_b = error.name) !== null && _b !== void 0 ? _b : "Error",
        +            isError: true,
        +            message: error.message,
        +            stack: this._toStackObjectArray(relevantCallSites),
        +        };
        +        if (errorObject.stack.length > 0) {
        +            const errorCallSite = LoggerHelper.toStackFrameObject(this._callSiteWrapper(relevantCallSites[0]));
        +            if (exposeErrorCodeFrame && errorCallSite.lineNumber != null) {
        +                if (errorCallSite.fullFilePath != null &&
        +                    errorCallSite.fullFilePath.indexOf("node_modules") < 0) {
        +                    errorObject.codeFrame = LoggerHelper._getCodeFrame(errorCallSite.fullFilePath, errorCallSite.lineNumber, errorCallSite === null || errorCallSite === void 0 ? void 0 : errorCallSite.columnNumber, this.settings.exposeErrorCodeFrameLinesBeforeAndAfter);
        +                }
        +            }
        +        }
        +        return errorObject;
        +    }
        +    _toStackObjectArray(jsStack) {
        +        const stackFrame = Object.values(jsStack).reduce((stackFrameObj, callsite) => {
        +            stackFrameObj.push(LoggerHelper.toStackFrameObject(this._callSiteWrapper(callsite)));
        +            return stackFrameObj;
        +        }, []);
        +        return stackFrame;
        +    }
        +    /**
        +     * Pretty print the log object to the designated output.
        +     *
        +     * @param std - output where to pretty print the object
        +     * @param logObject - object to pretty print
        +     **/
        +    printPrettyLog(std, logObject) {
        +        var _a, _b;
        +        if (this.settings.displayDateTime === true) {
        +            let nowStr = "";
        +            if (this.settings.dateTimePattern != null ||
        +                this.settings.dateTimeTimezone != null) {
        +                const dateTimePattern = (_a = this.settings.dateTimePattern) !== null && _a !== void 0 ? _a : "year-month-day hour:minute:second.millisecond";
        +                const dateTimeTimezone = (_b = this.settings.dateTimeTimezone) !== null && _b !== void 0 ? _b : "utc";
        +                const dateTimeParts = [
        +                    ...new Intl.DateTimeFormat("en", {
        +                        weekday: undefined,
        +                        year: "numeric",
        +                        month: "2-digit",
        +                        day: "2-digit",
        +                        hourCycle: "h23",
        +                        hour: "2-digit",
        +                        minute: "2-digit",
        +                        second: "2-digit",
        +                        timeZone: dateTimeTimezone,
        +                    }).formatToParts(logObject.date),
        +                    {
        +                        type: "millisecond",
        +                        value: ("00" + logObject.date.getMilliseconds()).slice(-3),
        +                    },
        +                ];
        +                nowStr = dateTimeParts.reduce((prevStr, thisStr) => prevStr.replace(thisStr.type, thisStr.value), dateTimePattern);
        +            }
        +            else {
        +                nowStr = new Date().toISOString().replace("T", " ").replace("Z", " ");
        +            }
        +            std.write(LoggerHelper.styleString(["gray"], `${nowStr}${this.settings.delimiter}`, this.settings.colorizePrettyLogs));
        +        }
        +        if (this.settings.displayLogLevel) {
        +            const colorName = this.settings.logLevelsColors[logObject.logLevelId];
        +            std.write(LoggerHelper.styleString([colorName, "bold"], logObject.logLevel.toUpperCase(), this.settings.colorizePrettyLogs) +
        +                (logObject.logLevel === "info"
        +                    ? this.settings.delimiter.repeat(2)
        +                    : this.settings.delimiter));
        +        }
        +        const loggerName = this.settings.displayLoggerName === true && logObject.loggerName != null
        +            ? logObject.loggerName
        +            : "";
        +        const instanceName = this.settings.displayInstanceName === true &&
        +            this.settings.instanceName != null
        +            ? `@${this.settings.instanceName}`
        +            : "";
        +        const traceId = this.settings.displayRequestId === true && logObject.requestId != null
        +            ? `:${logObject.requestId}`
        +            : "";
        +        const name = (loggerName + instanceName + traceId).length > 0
        +            ? loggerName + instanceName + traceId
        +            : "";
        +        const functionName = this.settings.displayFunctionName === true
        +            ? logObject.isConstructor
        +                ? ` ${logObject.typeName}.constructor`
        +                : logObject.methodName != null
        +                    ? ` ${logObject.typeName}.${logObject.methodName}`
        +                    : logObject.functionName != null
        +                        ? ` ${logObject.functionName}`
        +                        : logObject.typeName !== null
        +                            ? `${logObject.typeName}.`
        +                            : ""
        +            : "";
        +        let fileLocation = "";
        +        if (this.settings.displayFilePath === "displayAll" ||
        +            (this.settings.displayFilePath === "hideNodeModulesOnly" &&
        +                logObject.filePath != null &&
        +                logObject.filePath.indexOf("node_modules") < 0)) {
        +            fileLocation = `${logObject.filePath}:${logObject.lineNumber}`;
        +        }
        +        const concatenatedMetaLine = [name, fileLocation, functionName]
        +            .join(" ")
        +            .trim();
        +        if (concatenatedMetaLine.length > 0) {
        +            std.write(LoggerHelper.styleString(["gray"], `[${concatenatedMetaLine}]`, this.settings.colorizePrettyLogs));
        +            if (this.settings.printLogMessageInNewLine === false) {
        +                std.write(`${this.settings.delimiter}`);
        +            }
        +            else {
        +                std.write("\n");
        +            }
        +        }
        +        logObject.argumentsArray.forEach((argument) => {
        +            const typeStr = this.settings.displayTypes === true
        +                ? LoggerHelper.styleString(["grey", "bold"], typeof argument + ":", this.settings.colorizePrettyLogs) + this.settings.delimiter
        +                : "";
        +            const errorObject = argument;
        +            if (argument == null) {
        +                std.write(typeStr +
        +                    this._inspectAndHideSensitive(argument, this.settings.prettyInspectOptions) +
        +                    " ");
        +            }
        +            else if (typeof argument === "object" &&
        +                (errorObject === null || errorObject === void 0 ? void 0 : errorObject.isError) === true) {
        +                this._printPrettyError(std, errorObject);
        +            }
        +            else if (typeof argument === "object" &&
        +                (errorObject === null || errorObject === void 0 ? void 0 : errorObject.isError) !== true) {
        +                std.write("\n" +
        +                    typeStr +
        +                    this._inspectAndHideSensitive(argument, this.settings.prettyInspectOptions));
        +            }
        +            else {
        +                std.write(typeStr +
        +                    this._formatAndHideSensitive(argument, this.settings.prettyInspectOptions) +
        +                    this.settings.delimiter);
        +            }
        +        });
        +        std.write("\n");
        +        if (logObject.stack != null) {
        +            std.write(LoggerHelper.styleString(["underline", "bold"], "log stack:\n", this.settings.colorizePrettyLogs));
        +            this._printPrettyStack(std, logObject.stack);
        +        }
        +    }
        +    _printPrettyError(std, errorObject, printStackTrace = true) {
        +        var _a;
        +        std.write("\n" +
        +            LoggerHelper.styleString(["bgRed", "whiteBright", "bold"], ` ${errorObject.name}${this.settings.delimiter}`, this.settings.colorizePrettyLogs) +
        +            (errorObject.message != null
        +                ? `${this.settings.delimiter}${this._formatAndHideSensitive(errorObject.message, this.settings.prettyInspectOptions)}`
        +                : ""));
        +        if (Object.values(errorObject.details).length > 0) {
        +            std.write(LoggerHelper.styleString(["underline", "bold"], "\ndetails:", this.settings.colorizePrettyLogs));
        +            std.write("\n" +
        +                this._inspectAndHideSensitive(errorObject.details, this.settings.prettyInspectOptions));
        +        }
        +        if (printStackTrace === true && ((_a = errorObject === null || errorObject === void 0 ? void 0 : errorObject.stack) === null || _a === void 0 ? void 0 : _a.length) > 0) {
        +            std.write(LoggerHelper.styleString(["underline", "bold"], "\nerror stack:", this.settings.colorizePrettyLogs));
        +            this._printPrettyStack(std, errorObject.stack);
        +        }
        +        if (errorObject.codeFrame != null) {
        +            this._printPrettyCodeFrame(std, errorObject.codeFrame);
        +        }
        +    }
        +    _printPrettyStack(std, stackObjectArray) {
        +        std.write("\n");
        +        Object.values(stackObjectArray).forEach((stackObject) => {
        +            var _a;
        +            std.write(LoggerHelper.styleString(["gray"], "• ", this.settings.colorizePrettyLogs));
        +            if (stackObject.fileName != null) {
        +                std.write(LoggerHelper.styleString(["yellowBright"], stackObject.fileName, this.settings.colorizePrettyLogs));
        +            }
        +            if (stackObject.lineNumber != null) {
        +                std.write(LoggerHelper.styleString(["gray"], ":", this.settings.colorizePrettyLogs));
        +                std.write(LoggerHelper.styleString(["yellow"], stackObject.lineNumber, this.settings.colorizePrettyLogs));
        +            }
        +            std.write(LoggerHelper.styleString(["white"], " " + ((_a = stackObject.functionName) !== null && _a !== void 0 ? _a : ""), this.settings.colorizePrettyLogs));
        +            if (stackObject.filePath != null &&
        +                stackObject.lineNumber != null &&
        +                stackObject.columnNumber != null) {
        +                std.write("\n    ");
        +                std.write((0,external_path_.normalize)(LoggerHelper.styleString(["gray"], `${stackObject.filePath}:${stackObject.lineNumber}:${stackObject.columnNumber}`, this.settings.colorizePrettyLogs)));
        +            }
        +            std.write("\n\n");
        +        });
        +    }
        +    _printPrettyCodeFrame(std, codeFrame) {
        +        std.write(LoggerHelper.styleString(["underline", "bold"], "code frame:\n", this.settings.colorizePrettyLogs));
        +        let lineNumber = codeFrame.firstLineNumber;
        +        codeFrame.linesBefore.forEach((line) => {
        +            std.write(`  ${LoggerHelper.lineNumberTo3Char(lineNumber)} | ${line}\n`);
        +            lineNumber++;
        +        });
        +        std.write(LoggerHelper.styleString(["red"], ">", this.settings.colorizePrettyLogs) +
        +            " " +
        +            LoggerHelper.styleString(["bgRed", "whiteBright"], LoggerHelper.lineNumberTo3Char(lineNumber), this.settings.colorizePrettyLogs) +
        +            " | " +
        +            LoggerHelper.styleString(["yellow"], codeFrame.relevantLine, this.settings.colorizePrettyLogs) +
        +            "\n");
        +        lineNumber++;
        +        if (codeFrame.columnNumber != null) {
        +            const positionMarker = new Array(codeFrame.columnNumber + 8).join(" ") + `^`;
        +            std.write(LoggerHelper.styleString(["red"], positionMarker, this.settings.colorizePrettyLogs) + "\n");
        +        }
        +        codeFrame.linesAfter.forEach((line) => {
        +            std.write(`  ${LoggerHelper.lineNumberTo3Char(lineNumber)} | ${line}\n`);
        +            lineNumber++;
        +        });
        +    }
        +    _logObjectToJson(logObject) {
        +        return {
        +            ...logObject,
        +            argumentsArray: logObject.argumentsArray.map((argument) => {
        +                const errorObject = argument;
        +                if (typeof argument === "object" && (errorObject === null || errorObject === void 0 ? void 0 : errorObject.isError)) {
        +                    return {
        +                        ...errorObject,
        +                        nativeError: undefined,
        +                        errorString: this._formatAndHideSensitive(errorObject.nativeError, this.settings.jsonInspectOptions),
        +                    };
        +                }
        +                else if (typeof argument === "object") {
        +                    return this._inspectAndHideSensitive(argument, this.settings.jsonInspectOptions);
        +                }
        +                else {
        +                    return this._formatAndHideSensitive(argument, this.settings.jsonInspectOptions);
        +                }
        +            }),
        +        };
        +    }
        +    _printJsonLog(std, logObject) {
        +        std.write(JSON.stringify(logObject) + "\n");
        +    }
        +    _inspectAndHideSensitive(object, inspectOptions) {
        +        let formatted;
        +        try {
        +            const maskedObject = this._maskValuesOfKeys(object);
        +            formatted = (0,external_util_.inspect)(maskedObject, inspectOptions);
        +        }
        +        catch {
        +            formatted = (0,external_util_.inspect)(object, inspectOptions);
        +        }
        +        return this._maskAny(formatted);
        +    }
        +    _formatAndHideSensitive(formatParam, inspectOptions, ...param) {
        +        return this._maskAny((0,external_util_.formatWithOptions)(inspectOptions, formatParam, ...param));
        +    }
        +    _maskValuesOfKeys(object) {
        +        return LoggerHelper.logObjectMaskValuesOfKeys(object, this.settings.maskValuesOfKeys, this.settings.maskPlaceholder);
        +    }
        +    _maskAny(str) {
        +        const formattedStr = str;
        +        return this._maskAnyRegExp != null
        +            ? formattedStr.replace(this._maskAnyRegExp, this.settings.maskPlaceholder)
        +            : formattedStr;
        +    }
        +}
        +//# sourceMappingURL=LoggerWithoutCallSite.js.map
        +;// ../log/node_modules/tslog/dist/esm/Logger.js
        +
        +
        +/**
        + * 📝 Expressive TypeScript Logger for Node.js
        + * @public
        + */
        +class Logger extends LoggerWithoutCallSite {
        +    /**
        +     * @param settings - Configuration of the logger instance  (all settings are optional with sane defaults)
        +     * @param parentSettings - Used internally to
        +     */
        +    constructor(settings, parentSettings) {
        +        super(settings, parentSettings);
        +        this._callSiteWrapper = source_map_support.wrapCallSite;
        +    }
        +}
        +//# sourceMappingURL=Logger.js.map
        +;// ../log/dist/index.js
        +
        +var ELogTargets = /* @__PURE__ */ ((ELogTargets2) => {
        +  ELogTargets2[ELogTargets2["Console"] = 1] = "Console";
        +  ELogTargets2[ELogTargets2["FileText"] = 2] = "FileText";
        +  ELogTargets2[ELogTargets2["FileJson"] = 4] = "FileJson";
        +  ELogTargets2[ELogTargets2["Seq"] = 8] = "Seq";
        +  return ELogTargets2;
        +})(ELogTargets || {});
        +function createLogger(name, options) {
        +  return new Logger({
        +    name,
        +    type: "pretty",
        +    ...options
        +  });
        +}
        +
        +//# sourceMappingURL=index.js.map
        +;// ./dist/constants.js
        +const MODULE_NAME = `OSR-i18n`;
        +const GLOSSARY_FILE_EXT = '.csv';
        +const GLOSSARY_FILES = '${OSR_ROOT}/i18n-store/glossary';
        +const GLOSSARY_FILE_NAME = 'index.csv';
        +const GLOSSARY_INFO_FILE = 'index_glossary.json';
        +const GLOSSARY_INFO_FILE_SUFFIX = '_glossary.json';
        +const ISO_LANGUAGE_LABELS = {
        +    "ar": "العربية",
        +    "en": "English",
        +    "pt": "Português",
        +    "bg": "Български",
        +    "cs": "Čeština",
        +    "da": "Dansk",
        +    "de": "Deutsch",
        +    "el": "Ελληνικά",
        +    "es": "Español",
        +    "et": "Eesti",
        +    "fi": "Suomi",
        +    "fr": "Français",
        +    "hu": "Magyar",
        +    "id": "Bahasa Indonesia",
        +    "it": "Italiano",
        +    "ja": "日本語",
        +    "ko": "한국어",
        +    "lt": "Lietuvių",
        +    "lv": "Latviešu",
        +    "nb": "Norsk bokmål",
        +    "nl": "Nederlands",
        +    "pl": "Polski",
        +    "ro": "Română",
        +    "ru": "Русский",
        +    "sk": "Slovenčina",
        +    "sl": "Slovenščina",
        +    "sv": "Svenska",
        +    "tr": "Türkçe",
        +    "uk": "Українська",
        +    "zh": "中文"
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFBO0FBRXJDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQTtBQUN2QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsaUNBQWlDLENBQUE7QUFDL0QsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFBO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFBO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLGdCQUFnQixDQUFBO0FBRXpELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQy9CLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsV0FBVztJQUNqQixJQUFJLEVBQUUsV0FBVztJQUNqQixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsVUFBVTtJQUNoQixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsVUFBVTtJQUNoQixJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsSUFBSSxFQUFFLFVBQVU7SUFDaEIsSUFBSSxFQUFFLEtBQUs7SUFDWCxJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxVQUFVO0lBQ2hCLElBQUksRUFBRSxVQUFVO0lBQ2hCLElBQUksRUFBRSxjQUFjO0lBQ3BCLElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxhQUFhO0lBQ25CLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFFBQVE7SUFDZCxJQUFJLEVBQUUsWUFBWTtJQUNsQixJQUFJLEVBQUUsSUFBSTtDQUNiLENBQUEifQ==
        +;// ../commons/dist/os.js
        +var EPlatform;
        +(function (EPlatform) {
        +    EPlatform["Linux"] = "linux";
        +    EPlatform["Windows"] = "win32";
        +    EPlatform["OSX"] = "darwin";
        +})(EPlatform || (EPlatform = {}));
        +var EArch;
        +(function (EArch) {
        +    EArch["x64"] = "64";
        +    EArch["x32"] = "32";
        +})(EArch || (EArch = {}));
        +const is_windows = () => process && (process.platform === 'win32');
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNwQiw0QkFBZSxDQUFBO0lBQ2YsOEJBQWlCLENBQUE7SUFDakIsMkJBQWMsQ0FBQTtBQUNmLENBQUMsRUFKVyxTQUFTLEtBQVQsU0FBUyxRQUlwQjtBQUNELE1BQU0sQ0FBTixJQUFZLEtBR1g7QUFIRCxXQUFZLEtBQUs7SUFDaEIsbUJBQVUsQ0FBQTtJQUNWLG1CQUFVLENBQUE7QUFDWCxDQUFDLEVBSFcsS0FBSyxLQUFMLEtBQUssUUFHaEI7QUFDRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQSJ9
        +;// ../commons/dist/fs.js
        +/* unused harmony import specifier */ var fs_is_windows;
        +
        +// https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#namespaces
        +// https://github.com/isaacs/node-glob/blob/main/src/pattern.ts
        +const UNC_REGEX = /^[\\\/]{2,}[^\\\/]+[\\\/]+[^\\\/]+/;
        +const WIN32_PATH_REGEX = /^([a-z]:)?[\\\/]/i;
        +
        +const isFile = (src) => {
        +    let srcIsFile = false;
        +    try {
        +        srcIsFile = external_fs_.lstatSync(src).isFile();
        +    }
        +    catch (e) { }
        +    return srcIsFile;
        +};
        +const isFolder = (src) => {
        +    let srcIsFolder = false;
        +    try {
        +        srcIsFolder = external_fs_.lstatSync(src).isDirectory();
        +    }
        +    catch (e) { }
        +    return srcIsFolder;
        +};
        +const is_relative_win32 = (fp) => !fp.test(UNC_REGEX) && !WIN32_PATH_REGEX.test(fp);
        +const is_absolute_posix = (fp) => fp.charAt(0) === '/';
        +const is_absolute_win32 = (fp) => {
        +    if (/[a-z]/i.test(fp.charAt(0)) && fp.charAt(1) === ':' && fp.charAt(2) === '\\') {
        +        return true;
        +    }
        +    // Microsoft Azure absolute filepath
        +    if (fp.slice(0, 2) === '\\\\') {
        +        return true;
        +    }
        +    return !is_relative_win32(fp);
        +};
        +const is_absolute = (fp) => fs_is_windows() ? is_absolute_win32(fp) : is_absolute_posix(fp);
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFeEIsa0ZBQWtGO0FBQ2xGLCtEQUErRDtBQUUvRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsb0NBQW9DLENBQUE7QUFDN0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUE7QUFFbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUdwQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUNsQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDdEIsSUFBSSxDQUFDO1FBQ0QsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDMUMsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2YsT0FBTyxTQUFTLENBQUE7QUFDcEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7SUFDcEMsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLElBQUksQ0FBQztRQUNELFdBQVcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ2pELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNmLE9BQU8sV0FBVyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQTtBQUVELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNuRixNQUFNLGlCQUFpQixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQTtBQUN0RCxNQUFNLGlCQUFpQixHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUU7SUFDN0IsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztJQUNELG9DQUFvQztJQUNwQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDakMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFBIn0=
        +// EXTERNAL MODULE: ../commons/node_modules/env-var/env-var.js
        +var env_var = __webpack_require__(14128);
        +// EXTERNAL MODULE: ../fs/node_modules/write-file-atomic/lib/index.js
        +var lib = __webpack_require__(59177);
        +;// ../fs/dist/imports.js
        +
        +const file = {
        +    write_atomic: lib.sync
        +};
        +const json = {
        +    parse: JSON.parse,
        +    serialize: JSON.stringify
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTyxtQkFBbUIsQ0FBQTtBQUV6QyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUc7SUFDbEIsWUFBWSxFQUFFLElBQUk7Q0FDbkIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRztJQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7SUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO0NBQzFCLENBQUMifQ==
        +;// ../fs/dist/read.js
        +/* unused harmony import specifier */ var promises;
        +/* unused harmony import specifier */ var read_json;
        +/* unused harmony import specifier */ var read_validateArgument;
        +
        +
        +
        +const supportedReturnAs = (/* unused pure expression or super */ null && (['utf8', 'buffer', 'json', 'jsonWithDates']));
        +function read_validateInput(methodName, path, returnAs) {
        +    const methodSignature = methodName + '(path, returnAs)';
        +    read_validateArgument(methodSignature, 'path', path, ['string']);
        +    read_validateArgument(methodSignature, 'returnAs', returnAs, ['string', 'undefined']);
        +    if (returnAs && !supportedReturnAs.includes(returnAs)) {
        +        throw new Error('Argument "returnAs" passed to ' + methodSignature
        +            + ' must have one of values: ' + supportedReturnAs.join(', '));
        +    }
        +}
        +// Matches strings generated by Date.toJSON()
        +// which is called to serialize date to JSON.
        +const jsonDateParser = (key, value) => {
        +    const reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}\.\d*)(?:Z|(\+|-)([\d|:]*))?$/;
        +    if (typeof value === 'string') {
        +        if (reISO.test(value)) {
        +            return new Date(value);
        +        }
        +    }
        +    return value;
        +};
        +const ErrJson = (path, err) => {
        +    const nicerError = new Error('JSON parsing failed while reading '
        +        + path + ' [' + err + ']');
        +    nicerError.originalError = err;
        +    return nicerError;
        +};
        +// ---------------------------------------------------------
        +// SYNC
        +// ---------------------------------------------------------
        +function read_sync(path, returnAs) {
        +    const retAs = returnAs || 'utf8';
        +    let data;
        +    try {
        +        data = (0,external_fs_.readFileSync)(path, { encoding: retAs === 'buffer' ? null : 'utf8' });
        +    }
        +    catch (err) {
        +        if (err.code === 'ENOENT') {
        +            // If file doesn't exist return undefined instead of throwing.
        +            return undefined;
        +        }
        +        // Otherwise rethrow the error
        +        throw err;
        +    }
        +    try {
        +        if (retAs === 'json') {
        +            data = json.parse(data);
        +        }
        +        else if (retAs === 'jsonWithDates') {
        +            data = json.parse(data, jsonDateParser);
        +        }
        +    }
        +    catch (err) {
        +        throw ErrJson(path, err);
        +    }
        +    return data;
        +}
        +// ---------------------------------------------------------
        +// ASYNC
        +// ---------------------------------------------------------
        +function read_async(path, returnAs) {
        +    return new Promise((resolve, reject) => {
        +        const retAs = returnAs || 'utf8';
        +        promises.readFile(path, { encoding: retAs === 'buffer' ? null : 'utf8' })
        +            .then((data) => {
        +            // Make final parsing of the data before returning.
        +            try {
        +                if (retAs === 'json') {
        +                    resolve(read_json.parse(data));
        +                }
        +                else if (retAs === 'jsonWithDates') {
        +                    resolve(read_json.parse(data, jsonDateParser));
        +                }
        +                else {
        +                    resolve(data);
        +                }
        +            }
        +            catch (err) {
        +                reject(ErrJson(path, err));
        +            }
        +        })
        +            .catch((err) => (err.code === 'ENOENT' ? resolve(null) : reject(err)));
        +    });
        +}
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxRQUFRLEVBQUMsWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRXJELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBR3RFLE1BQU0sVUFBVSxhQUFhLENBQUMsVUFBa0IsRUFBRSxJQUFZLEVBQUUsUUFBZ0I7SUFDL0UsTUFBTSxlQUFlLEdBQUcsVUFBVSxHQUFHLGtCQUFrQixDQUFDO0lBQ3hELGdCQUFnQixDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM1RCxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLElBQUksUUFBUSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsR0FBRyxlQUFlO2NBQy9ELDRCQUE0QixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7QUFDRixDQUFDO0FBRUQsNkNBQTZDO0FBQzdDLDZDQUE2QztBQUM3QyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFvQixFQUFRLEVBQUU7SUFDbEUsTUFBTSxLQUFLLEdBQUcsOEVBQThFLENBQUM7SUFDN0YsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDRixDQUFDO0lBQ0QsT0FBTyxLQUFhLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBVSxFQUFTLEVBQUU7SUFDbkQsTUFBTSxVQUFVLEdBQVEsSUFBSSxLQUFLLENBQUMsb0NBQW9DO1VBQ25FLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLFVBQVUsQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO0lBQy9CLE9BQU8sVUFBVSxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLDREQUE0RDtBQUM1RCxPQUFPO0FBQ1AsNERBQTREO0FBQzVELE1BQU0sVUFBVSxJQUFJLENBQUMsSUFBWSxFQUFFLFFBQWlCO0lBQ25ELE1BQU0sS0FBSyxHQUFHLFFBQVEsSUFBSSxNQUFNLENBQUM7SUFDakMsSUFBSSxJQUFJLENBQUM7SUFDVCxJQUFJLENBQUM7UUFDSixJQUFJLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsOERBQThEO1lBQzlELE9BQU8sU0FBUyxDQUFDO1FBQ2xCLENBQUM7UUFDRCw4QkFBOEI7UUFDOUIsTUFBTSxHQUFHLENBQUM7SUFDWCxDQUFDO0lBRUQsSUFBSSxDQUFDO1FBQ0osSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDdEIsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsQ0FBQzthQUFNLElBQUksS0FBSyxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQ3RDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0YsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDZCxNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxRQUFRO0FBQ1IsNERBQTREO0FBQzVELE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBWSxFQUFFLFFBQWlCO0lBQ3BELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDdEMsTUFBTSxLQUFLLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQztRQUNqQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ3ZFLElBQUksQ0FBQyxDQUFDLElBQXVCLEVBQUUsRUFBRTtZQUNqQyxtREFBbUQ7WUFDbkQsSUFBSSxDQUFDO2dCQUNKLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO29CQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO3FCQUFNLElBQUksS0FBSyxLQUFLLGVBQWUsRUFBRSxDQUFDO29CQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFXLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztxQkFBTSxDQUFDO29CQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDZixDQUFDO1lBQ0YsQ0FBQztZQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0YsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDIn0=
        +;// ../core/dist/primitives.js
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +
        +const _typeof = {
        +    number: 'number',
        +    string: 'string',
        +    undefined: 'undefined',
        +    object: 'object',
        +    function: 'function'
        +};
        +/**
        + * @returns whether the provided parameter is of type `Buffer` or Uint8Array dervived type
        + */
        +function isTypedArray(obj) {
        +    const TypedArray = Object.getPrototypeOf(Uint8Array);
        +    return typeof obj === 'object'
        +        && obj instanceof TypedArray;
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript Array or not.
        + */
        +function isArray(array) {
        +    if (Array.isArray) {
        +        return Array.isArray(array);
        +    }
        +    if (array && typeof (array.length) === _typeof.number && array.constructor === Array) {
        +        return true;
        +    }
        +    return false;
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript String or not.
        + */
        +function isString(str) {
        +    if (typeof (str) === _typeof.string || str instanceof String) {
        +        return true;
        +    }
        +    return false;
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript Array and each element in the array is a string.
        + */
        +function isStringArray(value) {
        +    return isArray(value) && (value).every(elem => isString(elem));
        +}
        +/**
        + *
        + * @returns whether the provided parameter is of type `object` but **not**
        + *	`null`, an `array`, a `regexp`, nor a `date`.
        + */
        +function isObject(obj) {
        +    // The method can't do a type cast since there are type (like strings) which
        +    // are subclasses of any put not positvely matched by the function. Hence type
        +    // narrowing results in wrong results.
        +    return typeof obj === _typeof.object
        +        && obj !== null
        +        && !Array.isArray(obj)
        +        && !(obj instanceof RegExp)
        +        && !(obj instanceof Date);
        +}
        +/**
        + * In **contrast** to just checking `typeof` this will return `false` for `NaN`.
        + * @returns whether the provided parameter is a JavaScript Number or not.
        + */
        +function isNumber(obj) {
        +    if ((typeof (obj) === _typeof.number || obj instanceof Number) && !isNaN(obj)) {
        +        return true;
        +    }
        +    return false;
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript Boolean or not.
        + */
        +function isBoolean(obj) {
        +    return obj === true || obj === false;
        +}
        +/**
        + * @returns whether the provided parameter is undefined.
        + */
        +function isUndefined(obj) {
        +    return typeof (obj) === _typeof.undefined;
        +}
        +/**
        + * @returns whether the provided parameter is undefined or null.
        + */
        +function isUndefinedOrNull(obj) {
        +    return isUndefined(obj) || obj === null;
        +}
        +const primitives_hasOwnProperty = Object.prototype.hasOwnProperty;
        +/**
        + * @returns whether the provided parameter is an empty JavaScript Object or not.
        + */
        +function isEmptyObject(obj) {
        +    if (!isObject(obj)) {
        +        return false;
        +    }
        +    for (const key in obj) {
        +        if (primitives_hasOwnProperty.call(obj, key)) {
        +            return false;
        +        }
        +    }
        +    return true;
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript Function or not.
        + */
        +function isFunction(obj) {
        +    return typeof obj === _typeof.function;
        +}
        +/**
        + * @returns whether the provided parameters is are JavaScript Function or not.
        + */
        +function areFunctions(...objects) {
        +    return objects && objects.length > 0 && objects.every(isFunction);
        +}
        +function validateConstraints(args, constraints) {
        +    const len = Math.min(args.length, constraints.length);
        +    for (let i = 0; i < len; i++) {
        +        validateConstraint(args[i], constraints[i]);
        +    }
        +}
        +function validateConstraint(arg, constraint) {
        +    if (isString(constraint)) {
        +        if (typeof arg !== constraint) {
        +            throw new Error(`argument does not match constraint: typeof ${constraint}`);
        +        }
        +    }
        +    else if (isFunction(constraint)) {
        +        if (arg instanceof constraint) {
        +            return;
        +        }
        +        if (arg && arg.constructor === constraint) {
        +            return;
        +        }
        +        if (constraint.length === 1 && constraint.call(undefined, arg) === true) {
        +            return;
        +        }
        +        throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`);
        +    }
        +}
        +/**
        + * Creates a new object of the provided class and will call the constructor with
        + * any additional argument supplied.
        + */
        +function create(ctor, ...args) {
        +    const obj = Object.create(ctor.prototype);
        +    ctor.apply(obj, args);
        +    return obj;
        +}
        +//# sourceMappingURL=primitives.js.map
        +;// ../commons/dist/constants.js
        +const constants_MODULE_NAME = `OSR-Commons`;
        +const PROFILE_FILE_NAME = (/* unused pure expression or super */ null && (`.osrl.json`));
        +////////////////////////////////////////
        +//
        +//  OA Migration
        +const OA_LATEST = '${OSR_ROOT}/osr-directory/pp/${YYYY}_${MM}.json';
        +const OA_LATEST_INVALID = '${OSR_ROOT}/osr-directory/pp/${YYYY}_${MM}_INVALID.json';
        +const OA_LATEST_CENSORED = '${OSR_ROOT}/osr-directory/pp/${YYYY}_${MM}_CENSORED.json';
        +const OA_LATEST_MERGED = '${OSR_ROOT}/osr-directory/pp/${YYYY}_${MM}_MERGED.json';
        +// fecking bazar
        +const PP_BAZAR_LATEST_INDEX = '${OSR_ROOT}/pp-bazar/${YYYY}/${MM}/index.json';
        +const PP_BAZAR_LATEST_INDEX_MERGED = '${OSR_ROOT}/pp-bazar/${YYYY}/${MM}/index_merged.json';
        +// Namespaces
        +const API_NAMESPACE = '@polymech';
        +const API_PREFIX = 'polymech';
        +const API_PREFIX_NEXT = 'polymech';
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFBO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQTtBQUM3Qyx3Q0FBd0M7QUFDeEMsRUFBRTtBQUNGLGdCQUFnQjtBQUVoQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsaURBQWlELENBQUE7QUFDMUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcseURBQXlELENBQUE7QUFDMUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsMERBQTBELENBQUE7QUFDNUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsd0RBQXdELENBQUE7QUFFeEYsZ0JBQWdCO0FBQ2hCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLCtDQUErQyxDQUFBO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLHNEQUFzRCxDQUFBO0FBRWxHLGFBQWE7QUFDYixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFBO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUE7QUFDcEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQSJ9
        +;// ../commons/dist/config.js
        +
        +
        +const { get } = env_var;
        +
        +
        +
        +
        +const HOME = (sub = '') => external_path_.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], sub);
        +const get_var = (key = '') => get(key).asString() || get(key.replace(/-/g, '_')).asString() || get(key.replace(/_/g, '-')).asString();
        +const OSR_ROOT = (key = 'OSR-ROOT') => get_var(key) || external_path_.join(HOME('desktop'), API_PREFIX);
        +const OSR_SUB_DEFAULT = (key = '') => get_var(key) || external_path_.join(OSR_ROOT(), key);
        +const CONFIG_DEFAULT_PATH = (key = 'OSR-CONFIG') => get_var(key) || external_path_.join(HOME(`${API_PREFIX}`), '.config.json');
        +const OSR_TEMP = (key = 'OSR-TEMP') => get_var(key) || OSR_SUB_DEFAULT(`.${API_PREFIX}/temp`);
        +const OSR_CACHE = (key = 'OSR-CACHE') => get_var(key) || OSR_SUB_DEFAULT(`.${API_PREFIX}/cache`);
        +const OSR_PRIVATE = (key = 'OSR-PRIVATE') => get_var(key);
        +const KB_ROOT = (key = 'OSR-KB') => get_var(key);
        +const OSR_LIBRARY = (key = 'OSR-LIBRARY') => get_var(key);
        +const OSR_LIBRARY_MACHINES = (key = 'OSR-LIBRARY-MACHINES') => get_var(key);
        +const OSR_LIBRARY_DIRECTORY = (key = 'OSR-LIBRARY-DIRECTORY') => get_var(key);
        +const PRODUCT_ROOT = (key = 'PRODUCT-ROOT') => get_var(key);
        +const OSR_CUSTOMER_DRIVE = (key = 'OSR-CUSTOMER-DRIVE') => get_var(key);
        +const OA_ROOT = (key = 'OA-ROOT') => get_var(key);
        +const OSR_USER_ASSETS = (key = 'OSR-USER-ASSETS') => get_var(key);
        +const POLYMECH_ROOT = (key = 'POLYMECH-ROOT') => get_var(key) || external_path_.join(HOME('desktop'), API_PREFIX_NEXT);
        +const DEFAULT_ROOTS = {
        +    OSR_ROOT: OSR_ROOT(),
        +    OSR_TEMP: OSR_TEMP(),
        +    PRODUCT_ROOT: PRODUCT_ROOT(),
        +    OA_ROOT: OA_ROOT(),
        +    KB_ROOT: KB_ROOT(),
        +    OSR_CACHE: OSR_CACHE(),
        +    OSR_LIBRARY: OSR_LIBRARY(),
        +    OSR_LIBRARY_MACHINES: OSR_LIBRARY_MACHINES(),
        +    OSR_LIBRARY_DIRECTORY: OSR_LIBRARY_DIRECTORY(),
        +    OSR_USER_ASSETS: OSR_USER_ASSETS(),
        +    OSR_PRIVATE: OSR_PRIVATE(),
        +    OSR_TEMPLATES: external_path_.join(OSR_SUB_DEFAULT('osr-templates')),
        +    OSR_CONTENT: external_path_.join(OSR_SUB_DEFAULT('osr-content')),
        +    OSR_PROFILES: external_path_.join(OSR_SUB_DEFAULT('osr-profiles')),
        +    OSR_CUSTOMER_DRIVE: OSR_CUSTOMER_DRIVE(),
        +    POLYMECH_ROOT: POLYMECH_ROOT()
        +};
        +const CONFIG_DEFAULT = (key = 'OSR-CONFIG') => {
        +    const cPath = external_path_.resolve(CONFIG_DEFAULT_PATH(key));
        +    if (sync(cPath)) {
        +        return read_sync(cPath, 'json');
        +    }
        +    return false;
        +};
        +//////////////////////////////////////////////////////
        +//
        +//  NPM related
        +const readNPMMeta = (_path) => read_sync(_path, 'json') || {};
        +const readPackage = (val) => {
        +    if (isString(val)) {
        +        return readNPMMeta(val);
        +    }
        +    else if (isObject(val)) {
        +        return val;
        +    }
        +    return {};
        +};
        +//////////////////////////////////////////////////////
        +//
        +//  OSR related
        +const readOSRMeta = (_path) => read_sync(_path, 'json');
        +const readOSRConfig = (val) => {
        +    if (isString(val)) {
        +        return readOSRMeta(val);
        +    }
        +    else if (isObject(val)) {
        +        return val;
        +    }
        +    return null;
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEdBQUcsTUFBTSxTQUFTLENBQUM7QUFDMUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUVwQixPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFpQixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUzRSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ3JILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7QUFFcEosTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBYyxVQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQTtBQUM1RyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDL0YsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFjLFlBQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQTtBQUVuSSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLFVBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLFVBQVUsT0FBTyxDQUFDLENBQUE7QUFDNUcsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBYyxXQUFXLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxVQUFVLFFBQVEsQ0FBQyxDQUFBO0FBRS9HLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQWMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDeEUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBYyxRQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUMvRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUFjLGFBQWEsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBYyxzQkFBc0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzFGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBYyx1QkFBdUIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBRTVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQWMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDMUUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxNQUFjLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7QUFFdEYsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBYyxTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNoRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7QUFFaEYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBYyxlQUFlLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQTtBQUUzSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDekIsUUFBUSxFQUFFLFFBQVEsRUFBRTtJQUNwQixRQUFRLEVBQUUsUUFBUSxFQUFFO0lBQ3BCLFlBQVksRUFBRSxZQUFZLEVBQUU7SUFDNUIsT0FBTyxFQUFFLE9BQU8sRUFBRTtJQUNsQixPQUFPLEVBQUUsT0FBTyxFQUFFO0lBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQUU7SUFDdEIsV0FBVyxFQUFFLFdBQVcsRUFBRTtJQUMxQixvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRTtJQUM1QyxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRTtJQUM5QyxlQUFlLEVBQUUsZUFBZSxFQUFFO0lBQ2xDLFdBQVcsRUFBRSxXQUFXLEVBQUU7SUFDMUIsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzFELFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEQsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUU7SUFDeEMsYUFBYSxFQUFFLGFBQWEsRUFBRTtDQUNqQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBYyxZQUFZLEVBQUUsRUFBRTtJQUN6RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQTtBQUtELHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsZUFBZTtBQUVmLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQXFDLElBQUksRUFBRSxDQUFBO0FBQzNHLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsRUFBb0MsRUFBRTtJQUNqRSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNCLENBQUM7U0FBTSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sR0FBRyxDQUFBO0lBQ2QsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFBO0FBQ2IsQ0FBQyxDQUFBO0FBRUQsc0RBQXNEO0FBQ3RELEVBQUU7QUFDRixlQUFlO0FBRWYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBcUIsQ0FBQTtBQUNyRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNqQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hCLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzNCLENBQUM7U0FBTSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sR0FBRyxDQUFBO0lBQ2QsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFBO0FBQ2YsQ0FBQyxDQUFBIn0=
        +;// ../core/dist/constants.js
        +// standard expression for variables, eg : ${foo}
        +const REGEX_VAR = /\$\{([^\s:}]+)(?::([^\s:}]+))?\}/g;
        +// alternate expression for variables, eg : %{foo}. this is required
        +// to deal with parent expression parsers where '$' is reserved, eg: %{my_var}
        +const REGEX_VAR_ALT = /&\{([^\s:}]+)(?::([^\s:}]+))?\}/g;
        +//# sourceMappingURL=constants.js.map
        +;// ../commons/dist/variables.js
        +
        +
        +const DATE_VARS = () => {
        +    return {
        +        YYYY: new Date(Date.now()).getFullYear(),
        +        MM: new Date(Date.now()).getMonth() + 1,
        +        DD: new Date(Date.now()).getDate(),
        +        HH: new Date(Date.now()).getHours(),
        +        SS: new Date(Date.now()).getSeconds()
        +    };
        +};
        +const _substitute = (template, map, keep = true, alt = false) => {
        +    const transform = (k) => k || '';
        +    return template.replace(alt ? REGEX_VAR_ALT : REGEX_VAR, (match, key, format) => {
        +        if (map[key]) {
        +            return transform(map[key]).toString();
        +        }
        +        else if (map[key.replace(/-/g, '_')]) {
        +            return transform(map[key.replace(/-/g, '_')]).toString();
        +        }
        +        else if (keep) {
        +            return "${" + key + "}";
        +        }
        +        else {
        +            return "";
        +        }
        +    });
        +};
        +const substitute = (alt, template, vars = {}, keep = true) => alt ? _substitute(template, vars, keep, alt) : _substitute(template, vars, keep, alt);
        +const DEFAULT_VARS = (vars) => {
        +    return {
        +        ...DEFAULT_ROOTS,
        +        ...DATE_VARS(),
        +        ...vars
        +    };
        +};
        +const resolveVariables = (path, alt = false, vars = {}, keep = false) => substitute(alt, path, DEFAULT_VARS(vars), keep);
        +const resolve = (path, alt = false, vars = {}, keep = false) => resolveVariables(path, alt, vars, keep);
        +const template = (path, vars = {}, keep = false, depth = 3) => {
        +    const map = DEFAULT_VARS(vars);
        +    let oldValue = path;
        +    let newValue = resolve(oldValue, false, map);
        +    let iterationCount = 0;
        +    while (newValue !== oldValue && iterationCount < depth) {
        +        iterationCount++;
        +        oldValue = newValue;
        +        newValue = resolve(oldValue, false, map, keep);
        +    }
        +    return newValue;
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3ZhcmlhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRW5FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFM0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRTtJQUMxQixPQUFPO1FBQ0gsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRTtRQUN4QyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztRQUN2QyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO1FBQ2xDLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7UUFDbkMsRUFBRSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTtLQUN4QyxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQXdCLEVBQUUsT0FBZ0IsSUFBSSxFQUFFLE1BQWUsS0FBSyxFQUFFLEVBQUU7SUFDMUcsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEMsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzVFLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUN6QyxDQUFDO2FBQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDNUQsQ0FBQzthQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDZCxPQUFPLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxFQUFFLENBQUE7UUFDYixDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFZLEVBQUUsUUFBZ0IsRUFBRSxPQUE0QixFQUFFLEVBQUUsT0FBZ0IsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQ3pNLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFO0lBQ3RDLE9BQU87UUFDSCxHQUFHLGFBQWE7UUFDaEIsR0FBRyxTQUFTLEVBQUU7UUFDZCxHQUFHLElBQUk7S0FDVixDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsTUFBZSxLQUFLLEVBQUUsT0FBK0IsRUFBRSxFQUFFLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUNwSCxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFFbkQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBWSxFQUFFLE1BQWUsS0FBSyxFQUFFLE9BQStCLEVBQUUsRUFBRSxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FDM0csZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFFM0MsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQ3BCLElBQVksRUFDWixPQUErQixFQUFFLEVBQ2pDLE9BQWdCLEtBQUssRUFDckIsUUFBZ0IsQ0FBQyxFQUNYLEVBQUU7SUFDUixNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFBO0lBQ25CLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQzVDLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQTtJQUN0QixPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksY0FBYyxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ3JELGNBQWMsRUFBRSxDQUFBO1FBQ2hCLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDbkIsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQyxDQUFBIn0=
        +;// ../core/dist/errors.js
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +// Avoid circular dependency on EventEmitter by implementing a subset of the interface.
        +class ErrorHandler {
        +    unexpectedErrorHandler;
        +    listeners;
        +    constructor() {
        +        this.listeners = [];
        +        this.unexpectedErrorHandler = function (e) {
        +            setTimeout(() => {
        +                if (e.stack) {
        +                    if (ErrorNoTelemetry.isErrorNoTelemetry(e)) {
        +                        throw new ErrorNoTelemetry(e.message + '\n\n' + e.stack);
        +                    }
        +                    throw new Error(e.message + '\n\n' + e.stack);
        +                }
        +                throw e;
        +            }, 0);
        +        };
        +    }
        +    addListener(listener) {
        +        this.listeners.push(listener);
        +        return () => {
        +            this._removeListener(listener);
        +        };
        +    }
        +    emit(e) {
        +        this.listeners.forEach((listener) => {
        +            listener(e);
        +        });
        +    }
        +    _removeListener(listener) {
        +        this.listeners.splice(this.listeners.indexOf(listener), 1);
        +    }
        +    setUnexpectedErrorHandler(newUnexpectedErrorHandler) {
        +        this.unexpectedErrorHandler = newUnexpectedErrorHandler;
        +    }
        +    getUnexpectedErrorHandler() {
        +        return this.unexpectedErrorHandler;
        +    }
        +    onUnexpectedError(e) {
        +        this.unexpectedErrorHandler(e);
        +        this.emit(e);
        +    }
        +    // For external errors, we don't want the listeners to be called
        +    onUnexpectedExternalError(e) {
        +        this.unexpectedErrorHandler(e);
        +    }
        +}
        +const errorHandler = new ErrorHandler();
        +/** @skipMangle */
        +function setUnexpectedErrorHandler(newUnexpectedErrorHandler) {
        +    errorHandler.setUnexpectedErrorHandler(newUnexpectedErrorHandler);
        +}
        +/**
        + * Returns if the error is a SIGPIPE error. SIGPIPE errors should generally be
        + * logged at most once, to avoid a loop.
        + *
        + * @see https://github.com/microsoft/vscode-remote-release/issues/6481
        + */
        +function isSigPipeError(e) {
        +    if (!e || typeof e !== 'object') {
        +        return false;
        +    }
        +    const cast = e;
        +    return cast.code === 'EPIPE' && cast.syscall?.toUpperCase() === 'WRITE';
        +}
        +/**
        + * This function should only be called with errors that indicate a bug in the product.
        + * E.g. buggy extensions/invalid user-input/network issues should not be able to trigger this code path.
        + * If they are, this indicates there is also a bug in the product.
        +*/
        +function onBugIndicatingError(e) {
        +    errorHandler.onUnexpectedError(e);
        +    return undefined;
        +}
        +function onUnexpectedError(e) {
        +    // ignore errors from cancelled promises
        +    if (!isCancellationError(e)) {
        +        errorHandler.onUnexpectedError(e);
        +    }
        +    return undefined;
        +}
        +function onUnexpectedExternalError(e) {
        +    // ignore errors from cancelled promises
        +    if (!isCancellationError(e)) {
        +        errorHandler.onUnexpectedExternalError(e);
        +    }
        +    return undefined;
        +}
        +function transformErrorForSerialization(error) {
        +    if (error instanceof Error) {
        +        const { name, message, cause } = error;
        +        const stack = error.stacktrace || error.stack;
        +        return {
        +            $isError: true,
        +            name,
        +            message,
        +            stack,
        +            noTelemetry: ErrorNoTelemetry.isErrorNoTelemetry(error),
        +            cause: cause ? transformErrorForSerialization(cause) : undefined,
        +            code: error.code
        +        };
        +    }
        +    // return as is
        +    return error;
        +}
        +function transformErrorFromSerialization(data) {
        +    let error;
        +    if (data.noTelemetry) {
        +        error = new ErrorNoTelemetry();
        +    }
        +    else {
        +        error = new Error();
        +        error.name = data.name;
        +    }
        +    error.message = data.message;
        +    error.stack = data.stack;
        +    if (data.code) {
        +        error.code = data.code;
        +    }
        +    if (data.cause) {
        +        error.cause = transformErrorFromSerialization(data.cause);
        +    }
        +    return error;
        +}
        +const canceledName = 'Canceled';
        +/**
        + * Checks if the given error is a promise in canceled state
        + */
        +function isCancellationError(error) {
        +    if (error instanceof CancellationError) {
        +        return true;
        +    }
        +    return error instanceof Error && error.name === canceledName && error.message === canceledName;
        +}
        +// !!!IMPORTANT!!!
        +// Do NOT change this class because it is also used as an API-type.
        +class CancellationError extends Error {
        +    constructor() {
        +        super(canceledName);
        +        this.name = this.message;
        +    }
        +}
        +/**
        + * @deprecated use {@link CancellationError `new CancellationError()`} instead
        + */
        +function canceled() {
        +    const error = new Error(canceledName);
        +    error.name = error.message;
        +    return error;
        +}
        +function illegalArgument(name) {
        +    if (name) {
        +        return new Error(`Illegal argument: ${name}`);
        +    }
        +    else {
        +        return new Error('Illegal argument');
        +    }
        +}
        +function illegalState(name) {
        +    if (name) {
        +        return new Error(`Illegal state: ${name}`);
        +    }
        +    else {
        +        return new Error('Illegal state');
        +    }
        +}
        +class ReadonlyError extends TypeError {
        +    constructor(name) {
        +        super(name ? `${name} is read-only and cannot be changed` : 'Cannot change read-only property');
        +    }
        +}
        +function getErrorMessage(err) {
        +    if (!err) {
        +        return 'Error';
        +    }
        +    if (err.message) {
        +        return err.message;
        +    }
        +    if (err.stack) {
        +        return err.stack.split('\n')[0];
        +    }
        +    return String(err);
        +}
        +class NotImplementedError extends Error {
        +    constructor(message) {
        +        super('NotImplemented');
        +        if (message) {
        +            this.message = message;
        +        }
        +    }
        +}
        +class NotSupportedError extends Error {
        +    constructor(message) {
        +        super('NotSupported');
        +        if (message) {
        +            this.message = message;
        +        }
        +    }
        +}
        +class ExpectedError extends (/* unused pure expression or super */ null && (Error)) {
        +    isExpected = true;
        +}
        +/**
        + * Error that when thrown won't be logged in telemetry as an unhandled error.
        + */
        +class ErrorNoTelemetry extends Error {
        +    name;
        +    constructor(msg) {
        +        super(msg);
        +        this.name = 'CodeExpectedError';
        +    }
        +    static fromError(err) {
        +        if (err instanceof ErrorNoTelemetry) {
        +            return err;
        +        }
        +        const result = new ErrorNoTelemetry();
        +        result.message = err.message;
        +        result.stack = err.stack;
        +        return result;
        +    }
        +    static isErrorNoTelemetry(err) {
        +        return err.name === 'CodeExpectedError';
        +    }
        +}
        +/**
        + * This error indicates a bug.
        + * Do not throw this for invalid user input.
        + * Only catch this error to recover gracefully from bugs.
        + */
        +class BugIndicatingError extends Error {
        +    constructor(message) {
        +        super(message || 'An unexpected bug occurred.');
        +        Object.setPrototypeOf(this, BugIndicatingError.prototype);
        +        // Because we know for sure only buggy code throws this,
        +        // we definitely want to break here and fix the bug.
        +        // debugger;
        +    }
        +}
        +//# sourceMappingURL=errors.js.map
        +;// ../core/dist/assert.js
        +/* unused harmony import specifier */ var assert_BugIndicatingError;
        +/* unused harmony import specifier */ var assert_onUnexpectedError;
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +
        +/**
        + * Throws an error with the provided message if the provided value does not evaluate to a true Javascript value.
        + *
        + * @deprecated Use `assert(...)` instead.
        + * This method is usually used like this:
        + * ```ts
        + * import * as assert from 'vs/base/common/assert';
        + * assert.ok(...);
        + * ```
        + *
        + * However, `assert` in that example is a user chosen name.
        + * There is no tooling for generating such an import statement.
        + * Thus, the `assert(...)` function should be used instead.
        + */
        +function ok(value, message) {
        +    if (!value) {
        +        throw new Error(message ? `Assertion failed (${message})` : 'Assertion Failed');
        +    }
        +}
        +function assertNever(value, message = 'Unreachable') {
        +    throw new Error(message);
        +}
        +function assert(condition, message = 'unexpected state') {
        +    if (!condition) {
        +        throw new assert_BugIndicatingError(`Assertion Failed: ${message}`);
        +    }
        +}
        +/**
        + * Like assert, but doesn't throw.
        + */
        +function softAssert(condition) {
        +    if (!condition) {
        +        assert_onUnexpectedError(new assert_BugIndicatingError('Soft Assertion Failed'));
        +    }
        +}
        +/**
        + * condition must be side-effect free!
        + */
        +function assertFn(condition) {
        +    if (!condition()) {
        +        // eslint-disable-next-line no-debugger
        +        debugger;
        +        // Reevaluate `condition` again to make debugging easier
        +        condition();
        +        assert_onUnexpectedError(new assert_BugIndicatingError('Assertion Failed'));
        +    }
        +}
        +function checkAdjacentItems(items, predicate) {
        +    let i = 0;
        +    while (i < items.length - 1) {
        +        const a = items[i];
        +        const b = items[i + 1];
        +        if (!predicate(a, b)) {
        +            return false;
        +        }
        +        i++;
        +    }
        +    return true;
        +}
        +//# sourceMappingURL=assert.js.map
        +;// ../core/dist/types.js
        +/* unused harmony import specifier */ var types_assert;
        +/*---------------------------------------------------------------------------------------------
        + *  Copyright (c) Microsoft Corporation. All rights reserved.
        + *  Licensed under the MIT License. See License.txt in the project root for license information.
        + *--------------------------------------------------------------------------------------------*/
        +
        +/**
        + * @returns whether the provided parameter is a JavaScript String or not.
        + */
        +function types_isString(str) {
        +    return (typeof str === 'string');
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript Array and each element in the array is a string.
        + */
        +function types_isStringArray(value) {
        +    return Array.isArray(value) && value.every(elem => types_isString(elem));
        +}
        +/**
        + * @returns whether the provided parameter is of type `object` but **not**
        + *	`null`, an `array`, a `regexp`, nor a `date`.
        + */
        +function types_isObject(obj) {
        +    // The method can't do a type cast since there are type (like strings) which
        +    // are subclasses of any put not positvely matched by the function. Hence type
        +    // narrowing results in wrong results.
        +    return typeof obj === 'object'
        +        && obj !== null
        +        && !Array.isArray(obj)
        +        && !(obj instanceof RegExp)
        +        && !(obj instanceof Date);
        +}
        +/**
        + * @returns whether the provided parameter is of type `Buffer` or Uint8Array dervived type
        + */
        +function types_isTypedArray(obj) {
        +    const TypedArray = Object.getPrototypeOf(Uint8Array);
        +    return typeof obj === 'object'
        +        && obj instanceof TypedArray;
        +}
        +/**
        + * In **contrast** to just checking `typeof` this will return `false` for `NaN`.
        + * @returns whether the provided parameter is a JavaScript Number or not.
        + */
        +function types_isNumber(obj) {
        +    return (typeof obj === 'number' && !isNaN(obj));
        +}
        +/**
        + * @returns whether the provided parameter is an Iterable, casting to the given generic
        + */
        +function isIterable(obj) {
        +    return !!obj && typeof obj[Symbol.iterator] === 'function';
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript Boolean or not.
        + */
        +function types_isBoolean(obj) {
        +    return (obj === true || obj === false);
        +}
        +/**
        + * @returns whether the provided parameter is undefined.
        + */
        +function types_isUndefined(obj) {
        +    return (typeof obj === 'undefined');
        +}
        +/**
        + * @returns whether the provided parameter is defined.
        + */
        +function isDefined(arg) {
        +    return !types_isUndefinedOrNull(arg);
        +}
        +/**
        + * @returns whether the provided parameter is undefined or null.
        + */
        +function types_isUndefinedOrNull(obj) {
        +    return (types_isUndefined(obj) || obj === null);
        +}
        +function assertType(condition, type) {
        +    if (!condition) {
        +        throw new Error(type ? `Unexpected type, expected '${type}'` : 'Unexpected type');
        +    }
        +}
        +/**
        + * Asserts that the argument passed in is neither undefined nor null.
        + *
        + * @see {@link assertDefined} for a similar utility that leverages TS assertion functions to narrow down the type of `arg` to be non-nullable.
        + */
        +function assertIsDefined(arg) {
        +    types_assert(arg !== null && arg !== undefined, 'Argument is `undefined` or `null`.');
        +    return arg;
        +}
        +/**
        + * Asserts that a provided `value` is `defined` - not `null` or `undefined`,
        + * throwing an error with the provided error or error message, while also
        + * narrowing down the type of the `value` to be `NonNullable` using TS
        + * assertion functions.
        + *
        + * @throws if the provided `value` is `null` or `undefined`.
        + *
        + * ## Examples
        + *
        + * ```typescript
        + * // an assert with an error message
        + * assertDefined('some value', 'String constant is not defined o_O.');
        + *
        + * // `throws!` the provided error
        + * assertDefined(null, new Error('Should throw this error.'));
        + *
        + * // narrows down the type of `someValue` to be non-nullable
        + * const someValue: string | undefined | null = blackbox();
        + * assertDefined(someValue, 'Some value must be defined.');
        + * console.log(someValue.length); // now type of `someValue` is `string`
        + * ```
        + *
        + * @see {@link assertIsDefined} for a similar utility but without assertion.
        + * @see {@link https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#assertion-functions typescript-3-7.html#assertion-functions}
        + */
        +function assertDefined(value, error) {
        +    if (value === null || value === undefined) {
        +        const errorToThrow = typeof error === 'string' ? new Error(error) : error;
        +        throw errorToThrow;
        +    }
        +}
        +function assertAllDefined(...args) {
        +    const result = [];
        +    for (let i = 0; i < args.length; i++) {
        +        const arg = args[i];
        +        if (types_isUndefinedOrNull(arg)) {
        +            throw new Error(`Assertion Failed: argument at index ${i} is undefined or null`);
        +        }
        +        result.push(arg);
        +    }
        +    return result;
        +}
        +const types_hasOwnProperty = Object.prototype.hasOwnProperty;
        +/**
        + * @returns whether the provided parameter is an empty JavaScript Object or not.
        + */
        +function types_isEmptyObject(obj) {
        +    if (!types_isObject(obj)) {
        +        return false;
        +    }
        +    for (const key in obj) {
        +        if (types_hasOwnProperty.call(obj, key)) {
        +            return false;
        +        }
        +    }
        +    return true;
        +}
        +/**
        + * @returns whether the provided parameter is a JavaScript Function or not.
        + */
        +function types_isFunction(obj) {
        +    return (typeof obj === 'function');
        +}
        +/**
        + * @returns whether the provided parameters is are JavaScript Function or not.
        + */
        +function types_areFunctions(...objects) {
        +    return objects.length > 0 && objects.every(types_isFunction);
        +}
        +function types_validateConstraints(args, constraints) {
        +    const len = Math.min(args.length, constraints.length);
        +    for (let i = 0; i < len; i++) {
        +        types_validateConstraint(args[i], constraints[i]);
        +    }
        +}
        +function types_validateConstraint(arg, constraint) {
        +    if (types_isString(constraint)) {
        +        if (typeof arg !== constraint) {
        +            throw new Error(`argument does not match constraint: typeof ${constraint}`);
        +        }
        +    }
        +    else if (types_isFunction(constraint)) {
        +        try {
        +            if (arg instanceof constraint) {
        +                return;
        +            }
        +        }
        +        catch {
        +            // ignore
        +        }
        +        if (!types_isUndefinedOrNull(arg) && arg.constructor === constraint) {
        +            return;
        +        }
        +        if (constraint.length === 1 && constraint.call(undefined, arg) === true) {
        +            return;
        +        }
        +        throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`);
        +    }
        +}
        +/**
        + * Helper type assertion that safely upcasts a type to a supertype.
        + *
        + * This can be used to make sure the argument correctly conforms to the subtype while still being able to pass it
        + * to contexts that expects the supertype.
        + */
        +function upcast(x) {
        +    return x;
        +}
        +//# sourceMappingURL=types.js.map
        +;// ../commons/dist/profile.js
        +/* unused harmony import specifier */ var path;
        +/* unused harmony import specifier */ var profile_REGEX_VAR;
        +/* unused harmony import specifier */ var read;
        +/* unused harmony import specifier */ var exists;
        +/* unused harmony import specifier */ var profile_isString;
        +/* unused harmony import specifier */ var profile_resolve;
        +/* unused harmony import specifier */ var profile_substitute;
        +
        +
        +
        +
        +
        +
        +const _resolve = (config) => {
        +    for (const key in config) {
        +        if (types_isString(config[key])) {
        +            config[key] = template(config[key], config);
        +        }
        +    }
        +    return config;
        +};
        +const resolveConfig = (config) => _resolve(config);
        +const parse = (profilePath, profile, options = { env: 'default' }, rel) => {
        +    profilePath = path.resolve(profile_resolve(profilePath, false, profile.variables));
        +    if (!exists(profilePath)) {
        +        return;
        +    }
        +    const _profile = read(profilePath, 'json') || { includes: [], variables: {} };
        +    _profile.includes = _profile.includes || [];
        +    _profile.variables = _profile.variables || {};
        +    if (options.env && _profile.env && _profile.env[options.env] && _profile.env[options.env].includes) {
        +        profile.includes = [
        +            ...profile.includes,
        +            ..._profile.includes,
        +            ..._profile.env[options.env].includes
        +        ];
        +    }
        +    else {
        +        profile.includes = [
        +            ...profile.includes,
        +            ..._profile.includes
        +        ];
        +    }
        +    if (options.env && _profile.env && _profile.env[options.env] && _profile.env[options.env].variables) {
        +        profile.variables = {
        +            ...profile.variables,
        +            ..._profile.variables,
        +            ..._profile.env[options.env].variables
        +        };
        +    }
        +    for (const k in _profile.variables) {
        +        if (profile_isString(_profile.variables[k])) {
        +            _profile.variables[k] = profile_substitute(false, _profile.variables[k], profile.variables);
        +        }
        +    }
        +    profile.variables = { ...profile.variables, ..._profile.variables, ..._profile.env[options.env]?.variables || {} };
        +    for (const k in profile.variables) {
        +        if (profile_isString(profile.variables[k])) {
        +            profile.variables[k] = profile_substitute(false, profile.variables[k], profile.variables);
        +        }
        +    }
        +    profile.includes = Array.from(new Set(profile.includes));
        +    profile.includes = [
        +        ...profile.includes.map((i) => {
        +            if (!path.isAbsolute(i) && rel && !i.match(profile_REGEX_VAR)) {
        +                return path.resolve(`${rel}/${i}`);
        +            }
        +            let ret = profile_resolve(i, false, profile.variables);
        +            ret = path.resolve(profile_substitute(false, ret, profile.variables));
        +            return ret;
        +        })
        +    ];
        +    profile.includes = profile.includes.filter((include) => include !== null &&
        +        include !== '');
        +    profile.includes = Array.from(new Set(profile.includes));
        +    return profile;
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRS9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBbUI5RCxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQThCLEVBQTJCLEVBQUU7SUFDekUsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN2QixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQy9DLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUE7QUFDakIsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBOEIsRUFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUUxRyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxXQUFtQixFQUFFLE9BQWlCLEVBQUUsVUFBMkIsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBWSxFQUFFLEVBQUU7SUFDekgsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFxQixDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFNO0lBQ1YsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFxQixFQUFFLE1BQU0sQ0FBUSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFjLENBQUE7SUFFMUcsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQTtJQUMzQyxRQUFRLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFBO0lBRTdDLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pHLE9BQU8sQ0FBQyxRQUFRLEdBQUc7WUFDZixHQUFHLE9BQU8sQ0FBQyxRQUFRO1lBQ25CLEdBQUcsUUFBUSxDQUFDLFFBQVE7WUFDcEIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRO1NBQ3hDLENBQUE7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sQ0FBQyxRQUFRLEdBQUc7WUFDZixHQUFHLE9BQU8sQ0FBQyxRQUFRO1lBQ25CLEdBQUcsUUFBUSxDQUFDLFFBQVE7U0FDdkIsQ0FBQTtJQUNMLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNsRyxPQUFPLENBQUMsU0FBUyxHQUFHO1lBQ2hCLEdBQUcsT0FBTyxDQUFDLFNBQVM7WUFDcEIsR0FBRyxRQUFRLENBQUMsU0FBUztZQUNyQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVM7U0FDekMsQ0FBQTtJQUNMLENBQUM7SUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDdkYsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsSUFBSSxFQUFFLEVBQUUsQ0FBQTtJQUNsSCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDckYsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDeEQsT0FBTyxDQUFDLFFBQVEsR0FBRztRQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ3RDLENBQUM7WUFDRCxJQUFJLEdBQUcsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDOUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7WUFDN0QsT0FBTyxHQUFHLENBQUE7UUFDZCxDQUFDLENBQUM7S0FBQyxDQUFBO0lBRVAsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ25ELE9BQU8sS0FBSyxJQUFJO1FBQ2hCLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNuQixPQUFPLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDeEQsT0FBTyxPQUFPLENBQUE7QUFDbEIsQ0FBQyxDQUFBIn0=
        +// EXTERNAL MODULE: ../commons/node_modules/brace-expansion/index.js
        +var brace_expansion = __webpack_require__(13987);
        +;// ../commons/node_modules/minimatch/dist/esm/assert-valid-pattern.js
        +const MAX_PATTERN_LENGTH = 1024 * 64;
        +const assertValidPattern = (pattern) => {
        +    if (typeof pattern !== 'string') {
        +        throw new TypeError('invalid pattern');
        +    }
        +    if (pattern.length > MAX_PATTERN_LENGTH) {
        +        throw new TypeError('pattern is too long');
        +    }
        +};
        +//# sourceMappingURL=assert-valid-pattern.js.map
        +;// ../commons/node_modules/minimatch/dist/esm/brace-expressions.js
        +// translate the various posix character classes into unicode properties
        +// this works across all unicode locales
        +// { : [, /u flag required, negated]
        +const posixClasses = {
        +    '[:alnum:]': ['\\p{L}\\p{Nl}\\p{Nd}', true],
        +    '[:alpha:]': ['\\p{L}\\p{Nl}', true],
        +    '[:ascii:]': ['\\x' + '00-\\x' + '7f', false],
        +    '[:blank:]': ['\\p{Zs}\\t', true],
        +    '[:cntrl:]': ['\\p{Cc}', true],
        +    '[:digit:]': ['\\p{Nd}', true],
        +    '[:graph:]': ['\\p{Z}\\p{C}', true, true],
        +    '[:lower:]': ['\\p{Ll}', true],
        +    '[:print:]': ['\\p{C}', true],
        +    '[:punct:]': ['\\p{P}', true],
        +    '[:space:]': ['\\p{Z}\\t\\r\\n\\v\\f', true],
        +    '[:upper:]': ['\\p{Lu}', true],
        +    '[:word:]': ['\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}', true],
        +    '[:xdigit:]': ['A-Fa-f0-9', false],
        +};
        +// only need to escape a few things inside of brace expressions
        +// escapes: [ \ ] -
        +const braceEscape = (s) => s.replace(/[[\]\\-]/g, '\\$&');
        +// escape all regexp magic characters
        +const regexpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
        +// everything has already been escaped, we just have to join
        +const rangesToString = (ranges) => ranges.join('');
        +// takes a glob string at a posix brace expression, and returns
        +// an equivalent regular expression source, and boolean indicating
        +// whether the /u flag needs to be applied, and the number of chars
        +// consumed to parse the character class.
        +// This also removes out of order ranges, and returns ($.) if the
        +// entire class just no good.
        +const parseClass = (glob, position) => {
        +    const pos = position;
        +    /* c8 ignore start */
        +    if (glob.charAt(pos) !== '[') {
        +        throw new Error('not in a brace expression');
        +    }
        +    /* c8 ignore stop */
        +    const ranges = [];
        +    const negs = [];
        +    let i = pos + 1;
        +    let sawStart = false;
        +    let uflag = false;
        +    let escaping = false;
        +    let negate = false;
        +    let endPos = pos;
        +    let rangeStart = '';
        +    WHILE: while (i < glob.length) {
        +        const c = glob.charAt(i);
        +        if ((c === '!' || c === '^') && i === pos + 1) {
        +            negate = true;
        +            i++;
        +            continue;
        +        }
        +        if (c === ']' && sawStart && !escaping) {
        +            endPos = i + 1;
        +            break;
        +        }
        +        sawStart = true;
        +        if (c === '\\') {
        +            if (!escaping) {
        +                escaping = true;
        +                i++;
        +                continue;
        +            }
        +            // escaped \ char, fall through and treat like normal char
        +        }
        +        if (c === '[' && !escaping) {
        +            // either a posix class, a collation equivalent, or just a [
        +            for (const [cls, [unip, u, neg]] of Object.entries(posixClasses)) {
        +                if (glob.startsWith(cls, i)) {
        +                    // invalid, [a-[] is fine, but not [a-[:alpha]]
        +                    if (rangeStart) {
        +                        return ['$.', false, glob.length - pos, true];
        +                    }
        +                    i += cls.length;
        +                    if (neg)
        +                        negs.push(unip);
        +                    else
        +                        ranges.push(unip);
        +                    uflag = uflag || u;
        +                    continue WHILE;
        +                }
        +            }
        +        }
        +        // now it's just a normal character, effectively
        +        escaping = false;
        +        if (rangeStart) {
        +            // throw this range away if it's not valid, but others
        +            // can still match.
        +            if (c > rangeStart) {
        +                ranges.push(braceEscape(rangeStart) + '-' + braceEscape(c));
        +            }
        +            else if (c === rangeStart) {
        +                ranges.push(braceEscape(c));
        +            }
        +            rangeStart = '';
        +            i++;
        +            continue;
        +        }
        +        // now might be the start of a range.
        +        // can be either c-d or c-] or c] or c] at this point
        +        if (glob.startsWith('-]', i + 1)) {
        +            ranges.push(braceEscape(c + '-'));
        +            i += 2;
        +            continue;
        +        }
        +        if (glob.startsWith('-', i + 1)) {
        +            rangeStart = c;
        +            i += 2;
        +            continue;
        +        }
        +        // not the start of a range, just a single character
        +        ranges.push(braceEscape(c));
        +        i++;
        +    }
        +    if (endPos < i) {
        +        // didn't see the end of the class, not a valid class,
        +        // but might still be valid as a literal match.
        +        return ['', false, 0, false];
        +    }
        +    // if we got no ranges and no negates, then we have a range that
        +    // cannot possibly match anything, and that poisons the whole glob
        +    if (!ranges.length && !negs.length) {
        +        return ['$.', false, glob.length - pos, true];
        +    }
        +    // if we got one positive range, and it's a single character, then that's
        +    // not actually a magic pattern, it's just that one literal character.
        +    // we should not treat that as "magic", we should just return the literal
        +    // character. [_] is a perfectly valid way to escape glob magic chars.
        +    if (negs.length === 0 &&
        +        ranges.length === 1 &&
        +        /^\\?.$/.test(ranges[0]) &&
        +        !negate) {
        +        const r = ranges[0].length === 2 ? ranges[0].slice(-1) : ranges[0];
        +        return [regexpEscape(r), false, endPos - pos, false];
        +    }
        +    const sranges = '[' + (negate ? '^' : '') + rangesToString(ranges) + ']';
        +    const snegs = '[' + (negate ? '' : '^') + rangesToString(negs) + ']';
        +    const comb = ranges.length && negs.length
        +        ? '(' + sranges + '|' + snegs + ')'
        +        : ranges.length
        +            ? sranges
        +            : snegs;
        +    return [comb, uflag, endPos - pos, true];
        +};
        +//# sourceMappingURL=brace-expressions.js.map
        +;// ../commons/node_modules/minimatch/dist/esm/unescape.js
        +/**
        + * Un-escape a string that has been escaped with {@link escape}.
        + *
        + * If the {@link windowsPathsNoEscape} option is used, then square-brace
        + * escapes are removed, but not backslash escapes.  For example, it will turn
        + * the string `'[*]'` into `*`, but it will not turn `'\\*'` into `'*'`,
        + * becuase `\` is a path separator in `windowsPathsNoEscape` mode.
        + *
        + * When `windowsPathsNoEscape` is not set, then both brace escapes and
        + * backslash escapes are removed.
        + *
        + * Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped
        + * or unescaped.
        + */
        +const unescape_unescape = (s, { windowsPathsNoEscape = false, } = {}) => {
        +    return windowsPathsNoEscape
        +        ? s.replace(/\[([^\/\\])\]/g, '$1')
        +        : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1');
        +};
        +//# sourceMappingURL=unescape.js.map
        +;// ../commons/node_modules/minimatch/dist/esm/ast.js
        +// parse a single path portion
        +var _a;
        +
        +
        +const types = new Set(['!', '?', '+', '*', '@']);
        +const isExtglobType = (c) => types.has(c);
        +const isExtglobAST = (c) => isExtglobType(c.type);
        +const adoptionMap = new Map([
        +    ['!', ['@']],
        +    ['?', ['?', '@']],
        +    ['@', ['@']],
        +    ['*', ['*', '+', '?', '@']],
        +    ['+', ['+', '@']],
        +]);
        +const adoptionWithSpaceMap = new Map([
        +    ['!', ['?']],
        +    ['@', ['?']],
        +    ['+', ['?', '*']],
        +]);
        +const adoptionAnyMap = new Map([
        +    ['!', ['?', '@']],
        +    ['?', ['?', '@']],
        +    ['@', ['?', '@']],
        +    ['*', ['*', '+', '?', '@']],
        +    ['+', ['+', '@', '?', '*']],
        +]);
        +const usurpMap = new Map([
        +    ['!', new Map([['!', '@']])],
        +    ['?', new Map([['*', '*'], ['+', '*']])],
        +    ['@', new Map([['!', '!'], ['?', '?'], ['@', '@'], ['*', '*'], ['+', '+']])],
        +    ['+', new Map([['?', '*'], ['*', '*']])],
        +]);
        +// Patterns that get prepended to bind to the start of either the
        +// entire string, or just a single path portion, to prevent dots
        +// and/or traversal patterns, when needed.
        +// Exts don't need the ^ or / bit, because the root binds that already.
        +const startNoTraversal = '(?!(?:^|/)\\.\\.?(?:$|/))';
        +const startNoDot = '(?!\\.)';
        +// characters that indicate a start of pattern needs the "no dots" bit,
        +// because a dot *might* be matched. ( is not in the list, because in
        +// the case of a child extglob, it will handle the prevention itself.
        +const addPatternStart = new Set(['[', '.']);
        +// cases where traversal is A-OK, no dot prevention needed
        +const justDots = new Set(['..', '.']);
        +const reSpecials = new Set('().*{}+?[]^$\\!');
        +const regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
        +// any single thing other than /
        +const qmark = '[^/]';
        +// * => any number of characters
        +const star = qmark + '*?';
        +// use + when we need to ensure that *something* matches, because the * is
        +// the only thing in the path portion.
        +const starNoEmpty = qmark + '+?';
        +// remove the \ chars that we added if we end up doing a nonmagic compare
        +// const deslash = (s: string) => s.replace(/\\(.)/g, '$1')
        +class AST {
        +    type;
        +    #root;
        +    #hasMagic;
        +    #uflag = false;
        +    #parts = [];
        +    #parent;
        +    #parentIndex;
        +    #negs;
        +    #filledNegs = false;
        +    #options;
        +    #toString;
        +    // set to true if it's an extglob with no children
        +    // (which really means one child of '')
        +    #emptyExt = false;
        +    constructor(type, parent, options = {}) {
        +        this.type = type;
        +        // extglobs are inherently magical
        +        if (type)
        +            this.#hasMagic = true;
        +        this.#parent = parent;
        +        this.#root = this.#parent ? this.#parent.#root : this;
        +        this.#options = this.#root === this ? options : this.#root.#options;
        +        this.#negs = this.#root === this ? [] : this.#root.#negs;
        +        if (type === '!' && !this.#root.#filledNegs)
        +            this.#negs.push(this);
        +        this.#parentIndex = this.#parent ? this.#parent.#parts.length : 0;
        +    }
        +    get hasMagic() {
        +        /* c8 ignore start */
        +        if (this.#hasMagic !== undefined)
        +            return this.#hasMagic;
        +        /* c8 ignore stop */
        +        for (const p of this.#parts) {
        +            if (typeof p === 'string')
        +                continue;
        +            if (p.type || p.hasMagic)
        +                return (this.#hasMagic = true);
        +        }
        +        // note: will be undefined until we generate the regexp src and find out
        +        return this.#hasMagic;
        +    }
        +    // reconstructs the pattern
        +    toString() {
        +        if (this.#toString !== undefined)
        +            return this.#toString;
        +        if (!this.type) {
        +            return (this.#toString = this.#parts.map(p => String(p)).join(''));
        +        }
        +        else {
        +            return (this.#toString =
        +                this.type + '(' + this.#parts.map(p => String(p)).join('|') + ')');
        +        }
        +    }
        +    #fillNegs() {
        +        /* c8 ignore start */
        +        if (this !== this.#root)
        +            throw new Error('should only call on root');
        +        if (this.#filledNegs)
        +            return this;
        +        /* c8 ignore stop */
        +        // call toString() once to fill this out
        +        this.toString();
        +        this.#filledNegs = true;
        +        let n;
        +        while ((n = this.#negs.pop())) {
        +            if (n.type !== '!')
        +                continue;
        +            // walk up the tree, appending everthing that comes AFTER parentIndex
        +            let p = n;
        +            let pp = p.#parent;
        +            while (pp) {
        +                for (let i = p.#parentIndex + 1; !pp.type && i < pp.#parts.length; i++) {
        +                    for (const part of n.#parts) {
        +                        /* c8 ignore start */
        +                        if (typeof part === 'string') {
        +                            throw new Error('string part in extglob AST??');
        +                        }
        +                        /* c8 ignore stop */
        +                        part.copyIn(pp.#parts[i]);
        +                    }
        +                }
        +                p = pp;
        +                pp = p.#parent;
        +            }
        +        }
        +        return this;
        +    }
        +    push(...parts) {
        +        for (const p of parts) {
        +            if (p === '')
        +                continue;
        +            /* c8 ignore start */
        +            if (typeof p !== 'string' && !(p instanceof _a && p.#parent === this)) {
        +                throw new Error('invalid part: ' + p);
        +            }
        +            /* c8 ignore stop */
        +            this.#parts.push(p);
        +        }
        +    }
        +    toJSON() {
        +        const ret = this.type === null
        +            ? this.#parts.slice().map(p => (typeof p === 'string' ? p : p.toJSON()))
        +            : [this.type, ...this.#parts.map(p => p.toJSON())];
        +        if (this.isStart() && !this.type)
        +            ret.unshift([]);
        +        if (this.isEnd() &&
        +            (this === this.#root ||
        +                (this.#root.#filledNegs && this.#parent?.type === '!'))) {
        +            ret.push({});
        +        }
        +        return ret;
        +    }
        +    isStart() {
        +        if (this.#root === this)
        +            return true;
        +        // if (this.type) return !!this.#parent?.isStart()
        +        if (!this.#parent?.isStart())
        +            return false;
        +        if (this.#parentIndex === 0)
        +            return true;
        +        // if everything AHEAD of this is a negation, then it's still the "start"
        +        const p = this.#parent;
        +        for (let i = 0; i < this.#parentIndex; i++) {
        +            const pp = p.#parts[i];
        +            if (!(pp instanceof _a && pp.type === '!')) {
        +                return false;
        +            }
        +        }
        +        return true;
        +    }
        +    isEnd() {
        +        if (this.#root === this)
        +            return true;
        +        if (this.#parent?.type === '!')
        +            return true;
        +        if (!this.#parent?.isEnd())
        +            return false;
        +        if (!this.type)
        +            return this.#parent?.isEnd();
        +        // if not root, it'll always have a parent
        +        /* c8 ignore start */
        +        const pl = this.#parent ? this.#parent.#parts.length : 0;
        +        /* c8 ignore stop */
        +        return this.#parentIndex === pl - 1;
        +    }
        +    copyIn(part) {
        +        if (typeof part === 'string')
        +            this.push(part);
        +        else
        +            this.push(part.clone(this));
        +    }
        +    clone(parent) {
        +        const c = new _a(this.type, parent);
        +        for (const p of this.#parts) {
        +            c.copyIn(p);
        +        }
        +        return c;
        +    }
        +    static #parseAST(str, ast, pos, opt, extDepth) {
        +        const maxDepth = opt.maxExtglobRecursion ?? 2;
        +        let escaping = false;
        +        let inBrace = false;
        +        let braceStart = -1;
        +        let braceNeg = false;
        +        if (ast.type === null) {
        +            // outside of a extglob, append until we find a start
        +            let i = pos;
        +            let acc = '';
        +            while (i < str.length) {
        +                const c = str.charAt(i++);
        +                // still accumulate escapes at this point, but we do ignore
        +                // starts that are escaped
        +                if (escaping || c === '\\') {
        +                    escaping = !escaping;
        +                    acc += c;
        +                    continue;
        +                }
        +                if (inBrace) {
        +                    if (i === braceStart + 1) {
        +                        if (c === '^' || c === '!') {
        +                            braceNeg = true;
        +                        }
        +                    }
        +                    else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {
        +                        inBrace = false;
        +                    }
        +                    acc += c;
        +                    continue;
        +                }
        +                else if (c === '[') {
        +                    inBrace = true;
        +                    braceStart = i;
        +                    braceNeg = false;
        +                    acc += c;
        +                    continue;
        +                }
        +                const doRecurse = !opt.noext &&
        +                    isExtglobType(c) &&
        +                    str.charAt(i) === '(' &&
        +                    extDepth <= maxDepth;
        +                if (doRecurse) {
        +                    ast.push(acc);
        +                    acc = '';
        +                    const ext = new _a(c, ast);
        +                    i = _a.#parseAST(str, ext, i, opt, extDepth + 1);
        +                    ast.push(ext);
        +                    continue;
        +                }
        +                acc += c;
        +            }
        +            ast.push(acc);
        +            return i;
        +        }
        +        // some kind of extglob, pos is at the (
        +        // find the next | or )
        +        let i = pos + 1;
        +        let part = new _a(null, ast);
        +        const parts = [];
        +        let acc = '';
        +        while (i < str.length) {
        +            const c = str.charAt(i++);
        +            // still accumulate escapes at this point, but we do ignore
        +            // starts that are escaped
        +            if (escaping || c === '\\') {
        +                escaping = !escaping;
        +                acc += c;
        +                continue;
        +            }
        +            if (inBrace) {
        +                if (i === braceStart + 1) {
        +                    if (c === '^' || c === '!') {
        +                        braceNeg = true;
        +                    }
        +                }
        +                else if (c === ']' && !(i === braceStart + 2 && braceNeg)) {
        +                    inBrace = false;
        +                }
        +                acc += c;
        +                continue;
        +            }
        +            else if (c === '[') {
        +                inBrace = true;
        +                braceStart = i;
        +                braceNeg = false;
        +                acc += c;
        +                continue;
        +            }
        +            const doRecurse = isExtglobType(c) &&
        +                str.charAt(i) === '(' &&
        +                /* c8 ignore start - the maxDepth is sufficient here */
        +                (extDepth <= maxDepth || (ast && ast.#canAdoptType(c)));
        +            /* c8 ignore stop */
        +            if (doRecurse) {
        +                const depthAdd = ast && ast.#canAdoptType(c) ? 0 : 1;
        +                part.push(acc);
        +                acc = '';
        +                const ext = new _a(c, part);
        +                part.push(ext);
        +                i = _a.#parseAST(str, ext, i, opt, extDepth + depthAdd);
        +                continue;
        +            }
        +            if (c === '|') {
        +                part.push(acc);
        +                acc = '';
        +                parts.push(part);
        +                part = new _a(null, ast);
        +                continue;
        +            }
        +            if (c === ')') {
        +                if (acc === '' && ast.#parts.length === 0) {
        +                    ast.#emptyExt = true;
        +                }
        +                part.push(acc);
        +                acc = '';
        +                ast.push(...parts, part);
        +                return i;
        +            }
        +            acc += c;
        +        }
        +        // unfinished extglob
        +        // if we got here, it was a malformed extglob! not an extglob, but
        +        // maybe something else in there.
        +        ast.type = null;
        +        ast.#hasMagic = undefined;
        +        ast.#parts = [str.substring(pos - 1)];
        +        return i;
        +    }
        +    #canAdoptWithSpace(child) {
        +        return this.#canAdopt(child, adoptionWithSpaceMap);
        +    }
        +    #canAdopt(child, map = adoptionMap) {
        +        if (!child ||
        +            typeof child !== 'object' ||
        +            child.type !== null ||
        +            child.#parts.length !== 1 ||
        +            this.type === null) {
        +            return false;
        +        }
        +        const gc = child.#parts[0];
        +        if (!gc || typeof gc !== 'object' || gc.type === null) {
        +            return false;
        +        }
        +        return this.#canAdoptType(gc.type, map);
        +    }
        +    #canAdoptType(c, map = adoptionAnyMap) {
        +        return !!map.get(this.type)?.includes(c);
        +    }
        +    #adoptWithSpace(child, index) {
        +        const gc = child.#parts[0];
        +        const blank = new _a(null, gc, this.options);
        +        blank.#parts.push('');
        +        gc.push(blank);
        +        this.#adopt(child, index);
        +    }
        +    #adopt(child, index) {
        +        const gc = child.#parts[0];
        +        this.#parts.splice(index, 1, ...gc.#parts);
        +        for (const p of gc.#parts) {
        +            if (typeof p === 'object')
        +                p.#parent = this;
        +        }
        +        this.#toString = undefined;
        +    }
        +    #canUsurpType(c) {
        +        const m = usurpMap.get(this.type);
        +        return !!(m?.has(c));
        +    }
        +    #canUsurp(child) {
        +        if (!child ||
        +            typeof child !== 'object' ||
        +            child.type !== null ||
        +            child.#parts.length !== 1 ||
        +            this.type === null ||
        +            this.#parts.length !== 1) {
        +            return false;
        +        }
        +        const gc = child.#parts[0];
        +        if (!gc || typeof gc !== 'object' || gc.type === null) {
        +            return false;
        +        }
        +        return this.#canUsurpType(gc.type);
        +    }
        +    #usurp(child) {
        +        const m = usurpMap.get(this.type);
        +        const gc = child.#parts[0];
        +        const nt = m?.get(gc.type);
        +        /* c8 ignore start - impossible */
        +        if (!nt)
        +            return false;
        +        /* c8 ignore stop */
        +        this.#parts = gc.#parts;
        +        for (const p of this.#parts) {
        +            if (typeof p === 'object')
        +                p.#parent = this;
        +        }
        +        this.type = nt;
        +        this.#toString = undefined;
        +        this.#emptyExt = false;
        +    }
        +    #flatten() {
        +        if (!isExtglobAST(this)) {
        +            for (const p of this.#parts) {
        +                if (typeof p === 'object')
        +                    p.#flatten();
        +            }
        +        }
        +        else {
        +            let iterations = 0;
        +            let done = false;
        +            do {
        +                done = true;
        +                for (let i = 0; i < this.#parts.length; i++) {
        +                    const c = this.#parts[i];
        +                    if (typeof c === 'object') {
        +                        c.#flatten();
        +                        if (this.#canAdopt(c)) {
        +                            done = false;
        +                            this.#adopt(c, i);
        +                        }
        +                        else if (this.#canAdoptWithSpace(c)) {
        +                            done = false;
        +                            this.#adoptWithSpace(c, i);
        +                        }
        +                        else if (this.#canUsurp(c)) {
        +                            done = false;
        +                            this.#usurp(c);
        +                        }
        +                    }
        +                }
        +            } while (!done && ++iterations < 10);
        +        }
        +        this.#toString = undefined;
        +    }
        +    static fromGlob(pattern, options = {}) {
        +        const ast = new _a(null, undefined, options);
        +        _a.#parseAST(pattern, ast, 0, options, 0);
        +        return ast;
        +    }
        +    // returns the regular expression if there's magic, or the unescaped
        +    // string if not.
        +    toMMPattern() {
        +        // should only be called on root
        +        /* c8 ignore start */
        +        if (this !== this.#root)
        +            return this.#root.toMMPattern();
        +        /* c8 ignore stop */
        +        const glob = this.toString();
        +        const [re, body, hasMagic, uflag] = this.toRegExpSource();
        +        // if we're in nocase mode, and not nocaseMagicOnly, then we do
        +        // still need a regular expression if we have to case-insensitively
        +        // match capital/lowercase characters.
        +        const anyMagic = hasMagic ||
        +            this.#hasMagic ||
        +            (this.#options.nocase &&
        +                !this.#options.nocaseMagicOnly &&
        +                glob.toUpperCase() !== glob.toLowerCase());
        +        if (!anyMagic) {
        +            return body;
        +        }
        +        const flags = (this.#options.nocase ? 'i' : '') + (uflag ? 'u' : '');
        +        return Object.assign(new RegExp(`^${re}$`, flags), {
        +            _src: re,
        +            _glob: glob,
        +        });
        +    }
        +    get options() {
        +        return this.#options;
        +    }
        +    // returns the string match, the regexp source, whether there's magic
        +    // in the regexp (so a regular expression is required) and whether or
        +    // not the uflag is needed for the regular expression (for posix classes)
        +    // TODO: instead of injecting the start/end at this point, just return
        +    // the BODY of the regexp, along with the start/end portions suitable
        +    // for binding the start/end in either a joined full-path makeRe context
        +    // (where we bind to (^|/), or a standalone matchPart context (where
        +    // we bind to ^, and not /).  Otherwise slashes get duped!
        +    //
        +    // In part-matching mode, the start is:
        +    // - if not isStart: nothing
        +    // - if traversal possible, but not allowed: ^(?!\.\.?$)
        +    // - if dots allowed or not possible: ^
        +    // - if dots possible and not allowed: ^(?!\.)
        +    // end is:
        +    // - if not isEnd(): nothing
        +    // - else: $
        +    //
        +    // In full-path matching mode, we put the slash at the START of the
        +    // pattern, so start is:
        +    // - if first pattern: same as part-matching mode
        +    // - if not isStart(): nothing
        +    // - if traversal possible, but not allowed: /(?!\.\.?(?:$|/))
        +    // - if dots allowed or not possible: /
        +    // - if dots possible and not allowed: /(?!\.)
        +    // end is:
        +    // - if last pattern, same as part-matching mode
        +    // - else nothing
        +    //
        +    // Always put the (?:$|/) on negated tails, though, because that has to be
        +    // there to bind the end of the negated pattern portion, and it's easier to
        +    // just stick it in now rather than try to inject it later in the middle of
        +    // the pattern.
        +    //
        +    // We can just always return the same end, and leave it up to the caller
        +    // to know whether it's going to be used joined or in parts.
        +    // And, if the start is adjusted slightly, can do the same there:
        +    // - if not isStart: nothing
        +    // - if traversal possible, but not allowed: (?:/|^)(?!\.\.?$)
        +    // - if dots allowed or not possible: (?:/|^)
        +    // - if dots possible and not allowed: (?:/|^)(?!\.)
        +    //
        +    // But it's better to have a simpler binding without a conditional, for
        +    // performance, so probably better to return both start options.
        +    //
        +    // Then the caller just ignores the end if it's not the first pattern,
        +    // and the start always gets applied.
        +    //
        +    // But that's always going to be $ if it's the ending pattern, or nothing,
        +    // so the caller can just attach $ at the end of the pattern when building.
        +    //
        +    // So the todo is:
        +    // - better detect what kind of start is needed
        +    // - return both flavors of starting pattern
        +    // - attach $ at the end of the pattern when creating the actual RegExp
        +    //
        +    // Ah, but wait, no, that all only applies to the root when the first pattern
        +    // is not an extglob. If the first pattern IS an extglob, then we need all
        +    // that dot prevention biz to live in the extglob portions, because eg
        +    // +(*|.x*) can match .xy but not .yx.
        +    //
        +    // So, return the two flavors if it's #root and the first child is not an
        +    // AST, otherwise leave it to the child AST to handle it, and there,
        +    // use the (?:^|/) style of start binding.
        +    //
        +    // Even simplified further:
        +    // - Since the start for a join is eg /(?!\.) and the start for a part
        +    // is ^(?!\.), we can just prepend (?!\.) to the pattern (either root
        +    // or start or whatever) and prepend ^ or / at the Regexp construction.
        +    toRegExpSource(allowDot) {
        +        const dot = allowDot ?? !!this.#options.dot;
        +        if (this.#root === this) {
        +            this.#flatten();
        +            this.#fillNegs();
        +        }
        +        if (!isExtglobAST(this)) {
        +            const noEmpty = this.isStart() && this.isEnd();
        +            const src = this.#parts
        +                .map(p => {
        +                const [re, _, hasMagic, uflag] = typeof p === 'string'
        +                    ? _a.#parseGlob(p, this.#hasMagic, noEmpty)
        +                    : p.toRegExpSource(allowDot);
        +                this.#hasMagic = this.#hasMagic || hasMagic;
        +                this.#uflag = this.#uflag || uflag;
        +                return re;
        +            })
        +                .join('');
        +            let start = '';
        +            if (this.isStart()) {
        +                if (typeof this.#parts[0] === 'string') {
        +                    // this is the string that will match the start of the pattern,
        +                    // so we need to protect against dots and such.
        +                    // '.' and '..' cannot match unless the pattern is that exactly,
        +                    // even if it starts with . or dot:true is set.
        +                    const dotTravAllowed = this.#parts.length === 1 && justDots.has(this.#parts[0]);
        +                    if (!dotTravAllowed) {
        +                        const aps = addPatternStart;
        +                        // check if we have a possibility of matching . or ..,
        +                        // and prevent that.
        +                        const needNoTrav = 
        +                        // dots are allowed, and the pattern starts with [ or .
        +                        (dot && aps.has(src.charAt(0))) ||
        +                            // the pattern starts with \., and then [ or .
        +                            (src.startsWith('\\.') && aps.has(src.charAt(2))) ||
        +                            // the pattern starts with \.\., and then [ or .
        +                            (src.startsWith('\\.\\.') && aps.has(src.charAt(4)));
        +                        // no need to prevent dots if it can't match a dot, or if a
        +                        // sub-pattern will be preventing it anyway.
        +                        const needNoDot = !dot && !allowDot && aps.has(src.charAt(0));
        +                        start = needNoTrav ? startNoTraversal : needNoDot ? startNoDot : '';
        +                    }
        +                }
        +            }
        +            // append the "end of path portion" pattern to negation tails
        +            let end = '';
        +            if (this.isEnd() &&
        +                this.#root.#filledNegs &&
        +                this.#parent?.type === '!') {
        +                end = '(?:$|\\/)';
        +            }
        +            const final = start + src + end;
        +            return [
        +                final,
        +                unescape_unescape(src),
        +                (this.#hasMagic = !!this.#hasMagic),
        +                this.#uflag,
        +            ];
        +        }
        +        // We need to calculate the body *twice* if it's a repeat pattern
        +        // at the start, once in nodot mode, then again in dot mode, so a
        +        // pattern like *(?) can match 'x.y'
        +        const repeated = this.type === '*' || this.type === '+';
        +        // some kind of extglob
        +        const start = this.type === '!' ? '(?:(?!(?:' : '(?:';
        +        let body = this.#partsToRegExp(dot);
        +        if (this.isStart() && this.isEnd() && !body && this.type !== '!') {
        +            // invalid extglob, has to at least be *something* present, if it's
        +            // the entire path portion.
        +            const s = this.toString();
        +            const me = this;
        +            me.#parts = [s];
        +            me.type = null;
        +            me.#hasMagic = undefined;
        +            return [s, unescape_unescape(this.toString()), false, false];
        +        }
        +        // XXX abstract out this map method
        +        let bodyDotAllowed = !repeated || allowDot || dot || !startNoDot
        +            ? ''
        +            : this.#partsToRegExp(true);
        +        if (bodyDotAllowed === body) {
        +            bodyDotAllowed = '';
        +        }
        +        if (bodyDotAllowed) {
        +            body = `(?:${body})(?:${bodyDotAllowed})*?`;
        +        }
        +        // an empty !() is exactly equivalent to a starNoEmpty
        +        let final = '';
        +        if (this.type === '!' && this.#emptyExt) {
        +            final = (this.isStart() && !dot ? startNoDot : '') + starNoEmpty;
        +        }
        +        else {
        +            const close = this.type === '!'
        +                ? // !() must match something,but !(x) can match ''
        +                    '))' +
        +                        (this.isStart() && !dot && !allowDot ? startNoDot : '') +
        +                        star +
        +                        ')'
        +                : this.type === '@'
        +                    ? ')'
        +                    : this.type === '?'
        +                        ? ')?'
        +                        : this.type === '+' && bodyDotAllowed
        +                            ? ')'
        +                            : this.type === '*' && bodyDotAllowed
        +                                ? `)?`
        +                                : `)${this.type}`;
        +            final = start + body + close;
        +        }
        +        return [
        +            final,
        +            unescape_unescape(body),
        +            (this.#hasMagic = !!this.#hasMagic),
        +            this.#uflag,
        +        ];
        +    }
        +    #partsToRegExp(dot) {
        +        return this.#parts
        +            .map(p => {
        +            // extglob ASTs should only contain parent ASTs
        +            /* c8 ignore start */
        +            if (typeof p === 'string') {
        +                throw new Error('string type in extglob ast??');
        +            }
        +            /* c8 ignore stop */
        +            // can ignore hasMagic, because extglobs are already always magic
        +            const [re, _, _hasMagic, uflag] = p.toRegExpSource(dot);
        +            this.#uflag = this.#uflag || uflag;
        +            return re;
        +        })
        +            .filter(p => !(this.isStart() && this.isEnd()) || !!p)
        +            .join('|');
        +    }
        +    static #parseGlob(glob, hasMagic, noEmpty = false) {
        +        let escaping = false;
        +        let re = '';
        +        let uflag = false;
        +        // multiple stars that aren't globstars coalesce into one *
        +        let inStar = false;
        +        for (let i = 0; i < glob.length; i++) {
        +            const c = glob.charAt(i);
        +            if (escaping) {
        +                escaping = false;
        +                re += (reSpecials.has(c) ? '\\' : '') + c;
        +                inStar = false;
        +                continue;
        +            }
        +            if (c === '\\') {
        +                if (i === glob.length - 1) {
        +                    re += '\\\\';
        +                }
        +                else {
        +                    escaping = true;
        +                }
        +                continue;
        +            }
        +            if (c === '[') {
        +                const [src, needUflag, consumed, magic] = parseClass(glob, i);
        +                if (consumed) {
        +                    re += src;
        +                    uflag = uflag || needUflag;
        +                    i += consumed - 1;
        +                    hasMagic = hasMagic || magic;
        +                    inStar = false;
        +                    continue;
        +                }
        +            }
        +            if (c === '*') {
        +                if (inStar)
        +                    continue;
        +                inStar = true;
        +                re += noEmpty && /^[*]+$/.test(glob) ? starNoEmpty : star;
        +                hasMagic = true;
        +                continue;
        +            }
        +            else {
        +                inStar = false;
        +            }
        +            if (c === '?') {
        +                re += qmark;
        +                hasMagic = true;
        +                continue;
        +            }
        +            re += regExpEscape(c);
        +        }
        +        return [re, unescape_unescape(glob), !!hasMagic, uflag];
        +    }
        +}
        +_a = AST;
        +//# sourceMappingURL=ast.js.map
        +;// ../commons/node_modules/minimatch/dist/esm/escape.js
        +/**
        + * Escape all magic characters in a glob pattern.
        + *
        + * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}
        + * option is used, then characters are escaped by wrapping in `[]`, because
        + * a magic character wrapped in a character class can only be satisfied by
        + * that exact character.  In this mode, `\` is _not_ escaped, because it is
        + * not interpreted as a magic character, but instead as a path separator.
        + */
        +const escape_escape = (s, { windowsPathsNoEscape = false, } = {}) => {
        +    // don't need to escape +@! because we escape the parens
        +    // that make those magic, and escaping ! as [!] isn't valid,
        +    // because [!]] is a valid glob class meaning not ']'.
        +    return windowsPathsNoEscape
        +        ? s.replace(/[?*()[\]]/g, '[$&]')
        +        : s.replace(/[?*()[\]\\]/g, '\\$&');
        +};
        +//# sourceMappingURL=escape.js.map
        +;// ../commons/node_modules/minimatch/dist/esm/index.js
        +
        +
        +
        +
        +
        +const minimatch = (p, pattern, options = {}) => {
        +    assertValidPattern(pattern);
        +    // shortcut: comments match nothing.
        +    if (!options.nocomment && pattern.charAt(0) === '#') {
        +        return false;
        +    }
        +    return new Minimatch(pattern, options).match(p);
        +};
        +// Optimized checking for the most common glob patterns.
        +const starDotExtRE = /^\*+([^+@!?\*\[\(]*)$/;
        +const starDotExtTest = (ext) => (f) => !f.startsWith('.') && f.endsWith(ext);
        +const starDotExtTestDot = (ext) => (f) => f.endsWith(ext);
        +const starDotExtTestNocase = (ext) => {
        +    ext = ext.toLowerCase();
        +    return (f) => !f.startsWith('.') && f.toLowerCase().endsWith(ext);
        +};
        +const starDotExtTestNocaseDot = (ext) => {
        +    ext = ext.toLowerCase();
        +    return (f) => f.toLowerCase().endsWith(ext);
        +};
        +const starDotStarRE = /^\*+\.\*+$/;
        +const starDotStarTest = (f) => !f.startsWith('.') && f.includes('.');
        +const starDotStarTestDot = (f) => f !== '.' && f !== '..' && f.includes('.');
        +const dotStarRE = /^\.\*+$/;
        +const dotStarTest = (f) => f !== '.' && f !== '..' && f.startsWith('.');
        +const starRE = /^\*+$/;
        +const starTest = (f) => f.length !== 0 && !f.startsWith('.');
        +const starTestDot = (f) => f.length !== 0 && f !== '.' && f !== '..';
        +const qmarksRE = /^\?+([^+@!?\*\[\(]*)?$/;
        +const qmarksTestNocase = ([$0, ext = '']) => {
        +    const noext = qmarksTestNoExt([$0]);
        +    if (!ext)
        +        return noext;
        +    ext = ext.toLowerCase();
        +    return (f) => noext(f) && f.toLowerCase().endsWith(ext);
        +};
        +const qmarksTestNocaseDot = ([$0, ext = '']) => {
        +    const noext = qmarksTestNoExtDot([$0]);
        +    if (!ext)
        +        return noext;
        +    ext = ext.toLowerCase();
        +    return (f) => noext(f) && f.toLowerCase().endsWith(ext);
        +};
        +const qmarksTestDot = ([$0, ext = '']) => {
        +    const noext = qmarksTestNoExtDot([$0]);
        +    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);
        +};
        +const qmarksTest = ([$0, ext = '']) => {
        +    const noext = qmarksTestNoExt([$0]);
        +    return !ext ? noext : (f) => noext(f) && f.endsWith(ext);
        +};
        +const qmarksTestNoExt = ([$0]) => {
        +    const len = $0.length;
        +    return (f) => f.length === len && !f.startsWith('.');
        +};
        +const qmarksTestNoExtDot = ([$0]) => {
        +    const len = $0.length;
        +    return (f) => f.length === len && f !== '.' && f !== '..';
        +};
        +/* c8 ignore start */
        +const defaultPlatform = (typeof process === 'object' && process
        +    ? (typeof process.env === 'object' &&
        +        process.env &&
        +        process.env.__MINIMATCH_TESTING_PLATFORM__) ||
        +        process.platform
        +    : 'posix');
        +const esm_path = {
        +    win32: { sep: '\\' },
        +    posix: { sep: '/' },
        +};
        +/* c8 ignore stop */
        +const sep = defaultPlatform === 'win32' ? esm_path.win32.sep : esm_path.posix.sep;
        +minimatch.sep = sep;
        +const GLOBSTAR = Symbol('globstar **');
        +minimatch.GLOBSTAR = GLOBSTAR;
        +// any single thing other than /
        +// don't need to escape / when using new RegExp()
        +const esm_qmark = '[^/]';
        +// * => any number of characters
        +const esm_star = esm_qmark + '*?';
        +// ** when dots are allowed.  Anything goes, except .. and .
        +// not (^ or / followed by one or two dots followed by $ or /),
        +// followed by anything, any number of times.
        +const twoStarDot = '(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?';
        +// not a ^ or / followed by a dot,
        +// followed by anything, any number of times.
        +const twoStarNoDot = '(?:(?!(?:\\/|^)\\.).)*?';
        +const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);
        +minimatch.filter = filter;
        +const ext = (a, b = {}) => Object.assign({}, a, b);
        +const defaults = (def) => {
        +    if (!def || typeof def !== 'object' || !Object.keys(def).length) {
        +        return minimatch;
        +    }
        +    const orig = minimatch;
        +    const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
        +    return Object.assign(m, {
        +        Minimatch: class Minimatch extends orig.Minimatch {
        +            constructor(pattern, options = {}) {
        +                super(pattern, ext(def, options));
        +            }
        +            static defaults(options) {
        +                return orig.defaults(ext(def, options)).Minimatch;
        +            }
        +        },
        +        AST: class AST extends orig.AST {
        +            /* c8 ignore start */
        +            constructor(type, parent, options = {}) {
        +                super(type, parent, ext(def, options));
        +            }
        +            /* c8 ignore stop */
        +            static fromGlob(pattern, options = {}) {
        +                return orig.AST.fromGlob(pattern, ext(def, options));
        +            }
        +        },
        +        unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
        +        escape: (s, options = {}) => orig.escape(s, ext(def, options)),
        +        filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
        +        defaults: (options) => orig.defaults(ext(def, options)),
        +        makeRe: (pattern, options = {}) => orig.makeRe(pattern, ext(def, options)),
        +        braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
        +        match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
        +        sep: orig.sep,
        +        GLOBSTAR: GLOBSTAR,
        +    });
        +};
        +minimatch.defaults = defaults;
        +// Brace expansion:
        +// a{b,c}d -> abd acd
        +// a{b,}c -> abc ac
        +// a{0..3}d -> a0d a1d a2d a3d
        +// a{b,c{d,e}f}g -> abg acdfg acefg
        +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
        +//
        +// Invalid sets are not expanded.
        +// a{2..}b -> a{2..}b
        +// a{b}c -> a{b}c
        +const braceExpand = (pattern, options = {}) => {
        +    assertValidPattern(pattern);
        +    // Thanks to Yeting Li  for
        +    // improving this regexp to avoid a ReDOS vulnerability.
        +    if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
        +        // shortcut. no need to expand.
        +        return [pattern];
        +    }
        +    return brace_expansion(pattern);
        +};
        +minimatch.braceExpand = braceExpand;
        +// parse a component of the expanded set.
        +// At this point, no pattern may contain "/" in it
        +// so we're going to return a 2d array, where each entry is the full
        +// pattern, split on '/', and then turned into a regular expression.
        +// A regexp is made at the end which joins each array with an
        +// escaped /, and another full one which joins each regexp with |.
        +//
        +// Following the lead of Bash 4.1, note that "**" only has special meaning
        +// when it is the *only* thing in a path portion.  Otherwise, any series
        +// of * is equivalent to a single *.  Globstar behavior is enabled by
        +// default, and can be disabled by setting options.noglobstar.
        +const makeRe = (pattern, options = {}) => new Minimatch(pattern, options).makeRe();
        +minimatch.makeRe = makeRe;
        +const match = (list, pattern, options = {}) => {
        +    const mm = new Minimatch(pattern, options);
        +    list = list.filter(f => mm.match(f));
        +    if (mm.options.nonull && !list.length) {
        +        list.push(pattern);
        +    }
        +    return list;
        +};
        +minimatch.match = match;
        +// replace stuff like \* with *
        +const globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
        +const esm_regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
        +class Minimatch {
        +    options;
        +    set;
        +    pattern;
        +    windowsPathsNoEscape;
        +    nonegate;
        +    negate;
        +    comment;
        +    empty;
        +    preserveMultipleSlashes;
        +    partial;
        +    globSet;
        +    globParts;
        +    nocase;
        +    isWindows;
        +    platform;
        +    windowsNoMagicRoot;
        +    maxGlobstarRecursion;
        +    regexp;
        +    constructor(pattern, options = {}) {
        +        assertValidPattern(pattern);
        +        options = options || {};
        +        this.options = options;
        +        this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;
        +        this.pattern = pattern;
        +        this.platform = options.platform || defaultPlatform;
        +        this.isWindows = this.platform === 'win32';
        +        this.windowsPathsNoEscape =
        +            !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
        +        if (this.windowsPathsNoEscape) {
        +            this.pattern = this.pattern.replace(/\\/g, '/');
        +        }
        +        this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
        +        this.regexp = null;
        +        this.negate = false;
        +        this.nonegate = !!options.nonegate;
        +        this.comment = false;
        +        this.empty = false;
        +        this.partial = !!options.partial;
        +        this.nocase = !!this.options.nocase;
        +        this.windowsNoMagicRoot =
        +            options.windowsNoMagicRoot !== undefined
        +                ? options.windowsNoMagicRoot
        +                : !!(this.isWindows && this.nocase);
        +        this.globSet = [];
        +        this.globParts = [];
        +        this.set = [];
        +        // make the set of regexps etc.
        +        this.make();
        +    }
        +    hasMagic() {
        +        if (this.options.magicalBraces && this.set.length > 1) {
        +            return true;
        +        }
        +        for (const pattern of this.set) {
        +            for (const part of pattern) {
        +                if (typeof part !== 'string')
        +                    return true;
        +            }
        +        }
        +        return false;
        +    }
        +    debug(..._) { }
        +    make() {
        +        const pattern = this.pattern;
        +        const options = this.options;
        +        // empty patterns and comments match nothing.
        +        if (!options.nocomment && pattern.charAt(0) === '#') {
        +            this.comment = true;
        +            return;
        +        }
        +        if (!pattern) {
        +            this.empty = true;
        +            return;
        +        }
        +        // step 1: figure out negation, etc.
        +        this.parseNegate();
        +        // step 2: expand braces
        +        this.globSet = [...new Set(this.braceExpand())];
        +        if (options.debug) {
        +            this.debug = (...args) => console.error(...args);
        +        }
        +        this.debug(this.pattern, this.globSet);
        +        // step 3: now we have a set, so turn each one into a series of
        +        // path-portion matching patterns.
        +        // These will be regexps, except in the case of "**", which is
        +        // set to the GLOBSTAR object for globstar behavior,
        +        // and will not contain any / characters
        +        //
        +        // First, we preprocess to make the glob pattern sets a bit simpler
        +        // and deduped.  There are some perf-killing patterns that can cause
        +        // problems with a glob walk, but we can simplify them down a bit.
        +        const rawGlobParts = this.globSet.map(s => this.slashSplit(s));
        +        this.globParts = this.preprocess(rawGlobParts);
        +        this.debug(this.pattern, this.globParts);
        +        // glob --> regexps
        +        let set = this.globParts.map((s, _, __) => {
        +            if (this.isWindows && this.windowsNoMagicRoot) {
        +                // check if it's a drive or unc path.
        +                const isUNC = s[0] === '' &&
        +                    s[1] === '' &&
        +                    (s[2] === '?' || !globMagic.test(s[2])) &&
        +                    !globMagic.test(s[3]);
        +                const isDrive = /^[a-z]:/i.test(s[0]);
        +                if (isUNC) {
        +                    return [...s.slice(0, 4), ...s.slice(4).map(ss => this.parse(ss))];
        +                }
        +                else if (isDrive) {
        +                    return [s[0], ...s.slice(1).map(ss => this.parse(ss))];
        +                }
        +            }
        +            return s.map(ss => this.parse(ss));
        +        });
        +        this.debug(this.pattern, set);
        +        // filter out everything that didn't compile properly.
        +        this.set = set.filter(s => s.indexOf(false) === -1);
        +        // do not treat the ? in UNC paths as magic
        +        if (this.isWindows) {
        +            for (let i = 0; i < this.set.length; i++) {
        +                const p = this.set[i];
        +                if (p[0] === '' &&
        +                    p[1] === '' &&
        +                    this.globParts[i][2] === '?' &&
        +                    typeof p[3] === 'string' &&
        +                    /^[a-z]:$/i.test(p[3])) {
        +                    p[2] = '?';
        +                }
        +            }
        +        }
        +        this.debug(this.pattern, this.set);
        +    }
        +    // various transforms to equivalent pattern sets that are
        +    // faster to process in a filesystem walk.  The goal is to
        +    // eliminate what we can, and push all ** patterns as far
        +    // to the right as possible, even if it increases the number
        +    // of patterns that we have to process.
        +    preprocess(globParts) {
        +        // if we're not in globstar mode, then turn all ** into *
        +        if (this.options.noglobstar) {
        +            for (let i = 0; i < globParts.length; i++) {
        +                for (let j = 0; j < globParts[i].length; j++) {
        +                    if (globParts[i][j] === '**') {
        +                        globParts[i][j] = '*';
        +                    }
        +                }
        +            }
        +        }
        +        const { optimizationLevel = 1 } = this.options;
        +        if (optimizationLevel >= 2) {
        +            // aggressive optimization for the purpose of fs walking
        +            globParts = this.firstPhasePreProcess(globParts);
        +            globParts = this.secondPhasePreProcess(globParts);
        +        }
        +        else if (optimizationLevel >= 1) {
        +            // just basic optimizations to remove some .. parts
        +            globParts = this.levelOneOptimize(globParts);
        +        }
        +        else {
        +            // just collapse multiple ** portions into one
        +            globParts = this.adjascentGlobstarOptimize(globParts);
        +        }
        +        return globParts;
        +    }
        +    // just get rid of adjascent ** portions
        +    adjascentGlobstarOptimize(globParts) {
        +        return globParts.map(parts => {
        +            let gs = -1;
        +            while (-1 !== (gs = parts.indexOf('**', gs + 1))) {
        +                let i = gs;
        +                while (parts[i + 1] === '**') {
        +                    i++;
        +                }
        +                if (i !== gs) {
        +                    parts.splice(gs, i - gs);
        +                }
        +            }
        +            return parts;
        +        });
        +    }
        +    // get rid of adjascent ** and resolve .. portions
        +    levelOneOptimize(globParts) {
        +        return globParts.map(parts => {
        +            parts = parts.reduce((set, part) => {
        +                const prev = set[set.length - 1];
        +                if (part === '**' && prev === '**') {
        +                    return set;
        +                }
        +                if (part === '..') {
        +                    if (prev && prev !== '..' && prev !== '.' && prev !== '**') {
        +                        set.pop();
        +                        return set;
        +                    }
        +                }
        +                set.push(part);
        +                return set;
        +            }, []);
        +            return parts.length === 0 ? [''] : parts;
        +        });
        +    }
        +    levelTwoFileOptimize(parts) {
        +        if (!Array.isArray(parts)) {
        +            parts = this.slashSplit(parts);
        +        }
        +        let didSomething = false;
        +        do {
        +            didSomething = false;
        +            // 
        // -> 
        /
        +            if (!this.preserveMultipleSlashes) {
        +                for (let i = 1; i < parts.length - 1; i++) {
        +                    const p = parts[i];
        +                    // don't squeeze out UNC patterns
        +                    if (i === 1 && p === '' && parts[0] === '')
        +                        continue;
        +                    if (p === '.' || p === '') {
        +                        didSomething = true;
        +                        parts.splice(i, 1);
        +                        i--;
        +                    }
        +                }
        +                if (parts[0] === '.' &&
        +                    parts.length === 2 &&
        +                    (parts[1] === '.' || parts[1] === '')) {
        +                    didSomething = true;
        +                    parts.pop();
        +                }
        +            }
        +            // 
        /

        /../ ->

        /
        +            let dd = 0;
        +            while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
        +                const p = parts[dd - 1];
        +                if (p && p !== '.' && p !== '..' && p !== '**') {
        +                    didSomething = true;
        +                    parts.splice(dd - 1, 2);
        +                    dd -= 2;
        +                }
        +            }
        +        } while (didSomething);
        +        return parts.length === 0 ? [''] : parts;
        +    }
        +    // First phase: single-pattern processing
        +    // 
         is 1 or more portions
        +    //  is 1 or more portions
        +    // 

        is any portion other than ., .., '', or ** + // is . or '' + // + // **/.. is *brutal* for filesystem walking performance, because + // it effectively resets the recursive walk each time it occurs, + // and ** cannot be reduced out by a .. pattern part like a regexp + // or most strings (other than .., ., and '') can be. + // + //

        /**/../

        /

        / -> {

        /../

        /

        /,

        /**/

        /

        /} + //

        // -> 
        /
        +    // 
        /

        /../ ->

        /
        +    // **/**/ -> **/
        +    //
        +    // **/*/ -> */**/ <== not valid because ** doesn't follow
        +    // this WOULD be allowed if ** did follow symlinks, or * didn't
        +    firstPhasePreProcess(globParts) {
        +        let didSomething = false;
        +        do {
        +            didSomething = false;
        +            // 
        /**/../

        /

        / -> {

        /../

        /

        /,

        /**/

        /

        /} + for (let parts of globParts) { + let gs = -1; + while (-1 !== (gs = parts.indexOf('**', gs + 1))) { + let gss = gs; + while (parts[gss + 1] === '**') { + //

        /**/**/ -> 
        /**/
        +                        gss++;
        +                    }
        +                    // eg, if gs is 2 and gss is 4, that means we have 3 **
        +                    // parts, and can remove 2 of them.
        +                    if (gss > gs) {
        +                        parts.splice(gs + 1, gss - gs);
        +                    }
        +                    let next = parts[gs + 1];
        +                    const p = parts[gs + 2];
        +                    const p2 = parts[gs + 3];
        +                    if (next !== '..')
        +                        continue;
        +                    if (!p ||
        +                        p === '.' ||
        +                        p === '..' ||
        +                        !p2 ||
        +                        p2 === '.' ||
        +                        p2 === '..') {
        +                        continue;
        +                    }
        +                    didSomething = true;
        +                    // edit parts in place, and push the new one
        +                    parts.splice(gs, 1);
        +                    const other = parts.slice(0);
        +                    other[gs] = '**';
        +                    globParts.push(other);
        +                    gs--;
        +                }
        +                // 
        // -> 
        /
        +                if (!this.preserveMultipleSlashes) {
        +                    for (let i = 1; i < parts.length - 1; i++) {
        +                        const p = parts[i];
        +                        // don't squeeze out UNC patterns
        +                        if (i === 1 && p === '' && parts[0] === '')
        +                            continue;
        +                        if (p === '.' || p === '') {
        +                            didSomething = true;
        +                            parts.splice(i, 1);
        +                            i--;
        +                        }
        +                    }
        +                    if (parts[0] === '.' &&
        +                        parts.length === 2 &&
        +                        (parts[1] === '.' || parts[1] === '')) {
        +                        didSomething = true;
        +                        parts.pop();
        +                    }
        +                }
        +                // 
        /

        /../ ->

        /
        +                let dd = 0;
        +                while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
        +                    const p = parts[dd - 1];
        +                    if (p && p !== '.' && p !== '..' && p !== '**') {
        +                        didSomething = true;
        +                        const needDot = dd === 1 && parts[dd + 1] === '**';
        +                        const splin = needDot ? ['.'] : [];
        +                        parts.splice(dd - 1, 2, ...splin);
        +                        if (parts.length === 0)
        +                            parts.push('');
        +                        dd -= 2;
        +                    }
        +                }
        +            }
        +        } while (didSomething);
        +        return globParts;
        +    }
        +    // second phase: multi-pattern dedupes
        +    // {
        /*/,
        /

        /} ->

        /*/
        +    // {
        /,
        /} -> 
        /
        +    // {
        /**/,
        /} -> 
        /**/
        +    //
        +    // {
        /**/,
        /**/

        /} ->

        /**/
        +    // ^-- not valid because ** doens't follow symlinks
        +    secondPhasePreProcess(globParts) {
        +        for (let i = 0; i < globParts.length - 1; i++) {
        +            for (let j = i + 1; j < globParts.length; j++) {
        +                const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
        +                if (matched) {
        +                    globParts[i] = [];
        +                    globParts[j] = matched;
        +                    break;
        +                }
        +            }
        +        }
        +        return globParts.filter(gs => gs.length);
        +    }
        +    partsMatch(a, b, emptyGSMatch = false) {
        +        let ai = 0;
        +        let bi = 0;
        +        let result = [];
        +        let which = '';
        +        while (ai < a.length && bi < b.length) {
        +            if (a[ai] === b[bi]) {
        +                result.push(which === 'b' ? b[bi] : a[ai]);
        +                ai++;
        +                bi++;
        +            }
        +            else if (emptyGSMatch && a[ai] === '**' && b[bi] === a[ai + 1]) {
        +                result.push(a[ai]);
        +                ai++;
        +            }
        +            else if (emptyGSMatch && b[bi] === '**' && a[ai] === b[bi + 1]) {
        +                result.push(b[bi]);
        +                bi++;
        +            }
        +            else if (a[ai] === '*' &&
        +                b[bi] &&
        +                (this.options.dot || !b[bi].startsWith('.')) &&
        +                b[bi] !== '**') {
        +                if (which === 'b')
        +                    return false;
        +                which = 'a';
        +                result.push(a[ai]);
        +                ai++;
        +                bi++;
        +            }
        +            else if (b[bi] === '*' &&
        +                a[ai] &&
        +                (this.options.dot || !a[ai].startsWith('.')) &&
        +                a[ai] !== '**') {
        +                if (which === 'a')
        +                    return false;
        +                which = 'b';
        +                result.push(b[bi]);
        +                ai++;
        +                bi++;
        +            }
        +            else {
        +                return false;
        +            }
        +        }
        +        // if we fall out of the loop, it means they two are identical
        +        // as long as their lengths match
        +        return a.length === b.length && result;
        +    }
        +    parseNegate() {
        +        if (this.nonegate)
        +            return;
        +        const pattern = this.pattern;
        +        let negate = false;
        +        let negateOffset = 0;
        +        for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {
        +            negate = !negate;
        +            negateOffset++;
        +        }
        +        if (negateOffset)
        +            this.pattern = pattern.slice(negateOffset);
        +        this.negate = negate;
        +    }
        +    // set partial to true to test if, for example,
        +    // "/a/b" matches the start of "/*/b/*/d"
        +    // Partial means, if you run out of file before you run
        +    // out of pattern, then that's fine, as long as all
        +    // the parts match.
        +    matchOne(file, pattern, partial = false) {
        +        let fileStartIndex = 0;
        +        let patternStartIndex = 0;
        +        // UNC paths like //?/X:/... can match X:/... and vice versa
        +        // Drive letters in absolute drive or unc paths are always compared
        +        // case-insensitively.
        +        if (this.isWindows) {
        +            const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);
        +            const fileUNC = !fileDrive &&
        +                file[0] === '' &&
        +                file[1] === '' &&
        +                file[2] === '?' &&
        +                /^[a-z]:$/i.test(file[3]);
        +            const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);
        +            const patternUNC = !patternDrive &&
        +                pattern[0] === '' &&
        +                pattern[1] === '' &&
        +                pattern[2] === '?' &&
        +                typeof pattern[3] === 'string' &&
        +                /^[a-z]:$/i.test(pattern[3]);
        +            const fdi = fileUNC ? 3 : fileDrive ? 0 : undefined;
        +            const pdi = patternUNC ? 3 : patternDrive ? 0 : undefined;
        +            if (typeof fdi === 'number' && typeof pdi === 'number') {
        +                const [fd, pd] = [
        +                    file[fdi],
        +                    pattern[pdi],
        +                ];
        +                if (fd.toLowerCase() === pd.toLowerCase()) {
        +                    pattern[pdi] = fd;
        +                    patternStartIndex = pdi;
        +                    fileStartIndex = fdi;
        +                }
        +            }
        +        }
        +        // resolve and reduce . and .. portions in the file as well.
        +        // dont' need to do the second phase, because it's only one string[]
        +        const { optimizationLevel = 1 } = this.options;
        +        if (optimizationLevel >= 2) {
        +            file = this.levelTwoFileOptimize(file);
        +        }
        +        if (pattern.includes(GLOBSTAR)) {
        +            return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);
        +        }
        +        return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);
        +    }
        +    #matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {
        +        const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
        +        const lastgs = pattern.lastIndexOf(GLOBSTAR);
        +        const [head, body, tail] = partial ? [
        +            pattern.slice(patternIndex, firstgs),
        +            pattern.slice(firstgs + 1),
        +            [],
        +        ] : [
        +            pattern.slice(patternIndex, firstgs),
        +            pattern.slice(firstgs + 1, lastgs),
        +            pattern.slice(lastgs + 1),
        +        ];
        +        if (head.length) {
        +            const fileHead = file.slice(fileIndex, fileIndex + head.length);
        +            if (!this.#matchOne(fileHead, head, partial, 0, 0))
        +                return false;
        +            fileIndex += head.length;
        +        }
        +        let fileTailMatch = 0;
        +        if (tail.length) {
        +            if (tail.length + fileIndex > file.length)
        +                return false;
        +            let tailStart = file.length - tail.length;
        +            if (this.#matchOne(file, tail, partial, tailStart, 0)) {
        +                fileTailMatch = tail.length;
        +            }
        +            else {
        +                if (file[file.length - 1] !== '' ||
        +                    fileIndex + tail.length === file.length) {
        +                    return false;
        +                }
        +                tailStart--;
        +                if (!this.#matchOne(file, tail, partial, tailStart, 0))
        +                    return false;
        +                fileTailMatch = tail.length + 1;
        +            }
        +        }
        +        if (!body.length) {
        +            let sawSome = !!fileTailMatch;
        +            for (let i = fileIndex; i < file.length - fileTailMatch; i++) {
        +                const f = String(file[i]);
        +                sawSome = true;
        +                if (f === '.' || f === '..' ||
        +                    (!this.options.dot && f.startsWith('.'))) {
        +                    return false;
        +                }
        +            }
        +            return partial || sawSome;
        +        }
        +        const bodySegments = [[[], 0]];
        +        let currentBody = bodySegments[0];
        +        let nonGsParts = 0;
        +        const nonGsPartsSums = [0];
        +        for (const b of body) {
        +            if (b === GLOBSTAR) {
        +                nonGsPartsSums.push(nonGsParts);
        +                currentBody = [[], 0];
        +                bodySegments.push(currentBody);
        +            }
        +            else {
        +                currentBody[0].push(b);
        +                nonGsParts++;
        +            }
        +        }
        +        let i = bodySegments.length - 1;
        +        const fileLength = file.length - fileTailMatch;
        +        for (const b of bodySegments) {
        +            b[1] = fileLength - (nonGsPartsSums[i--] + b[0].length);
        +        }
        +        return !!this.#matchGlobStarBodySections(file, bodySegments, fileIndex, 0, partial, 0, !!fileTailMatch);
        +    }
        +    #matchGlobStarBodySections(file, bodySegments, fileIndex, bodyIndex, partial, globStarDepth, sawTail) {
        +        const bs = bodySegments[bodyIndex];
        +        if (!bs) {
        +            for (let i = fileIndex; i < file.length; i++) {
        +                sawTail = true;
        +                const f = file[i];
        +                if (f === '.' || f === '..' ||
        +                    (!this.options.dot && f.startsWith('.'))) {
        +                    return false;
        +                }
        +            }
        +            return sawTail;
        +        }
        +        const [body, after] = bs;
        +        while (fileIndex <= after) {
        +            const m = this.#matchOne(file.slice(0, fileIndex + body.length), body, partial, fileIndex, 0);
        +            if (m && globStarDepth < this.maxGlobstarRecursion) {
        +                const sub = this.#matchGlobStarBodySections(file, bodySegments, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail);
        +                if (sub !== false)
        +                    return sub;
        +            }
        +            const f = file[fileIndex];
        +            if (f === '.' || f === '..' ||
        +                (!this.options.dot && f.startsWith('.'))) {
        +                return false;
        +            }
        +            fileIndex++;
        +        }
        +        return partial || null;
        +    }
        +    #matchOne(file, pattern, partial, fileIndex, patternIndex) {
        +        let fi;
        +        let pi;
        +        let pl;
        +        let fl;
        +        for (fi = fileIndex, pi = patternIndex,
        +            fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
        +            this.debug('matchOne loop');
        +            let p = pattern[pi];
        +            let f = file[fi];
        +            this.debug(pattern, p, f);
        +            /* c8 ignore start */
        +            if (p === false || p === GLOBSTAR)
        +                return false;
        +            /* c8 ignore stop */
        +            let hit;
        +            if (typeof p === 'string') {
        +                hit = f === p;
        +                this.debug('string match', p, f, hit);
        +            }
        +            else {
        +                hit = p.test(f);
        +                this.debug('pattern match', p, f, hit);
        +            }
        +            if (!hit)
        +                return false;
        +        }
        +        if (fi === fl && pi === pl) {
        +            return true;
        +        }
        +        else if (fi === fl) {
        +            return partial;
        +        }
        +        else if (pi === pl) {
        +            return fi === fl - 1 && file[fi] === '';
        +            /* c8 ignore start */
        +        }
        +        else {
        +            throw new Error('wtf?');
        +        }
        +        /* c8 ignore stop */
        +    }
        +    braceExpand() {
        +        return braceExpand(this.pattern, this.options);
        +    }
        +    parse(pattern) {
        +        assertValidPattern(pattern);
        +        const options = this.options;
        +        // shortcuts
        +        if (pattern === '**')
        +            return GLOBSTAR;
        +        if (pattern === '')
        +            return '';
        +        // far and away, the most common glob pattern parts are
        +        // *, *.*, and *.  Add a fast check method for those.
        +        let m;
        +        let fastTest = null;
        +        if ((m = pattern.match(starRE))) {
        +            fastTest = options.dot ? starTestDot : starTest;
        +        }
        +        else if ((m = pattern.match(starDotExtRE))) {
        +            fastTest = (options.nocase
        +                ? options.dot
        +                    ? starDotExtTestNocaseDot
        +                    : starDotExtTestNocase
        +                : options.dot
        +                    ? starDotExtTestDot
        +                    : starDotExtTest)(m[1]);
        +        }
        +        else if ((m = pattern.match(qmarksRE))) {
        +            fastTest = (options.nocase
        +                ? options.dot
        +                    ? qmarksTestNocaseDot
        +                    : qmarksTestNocase
        +                : options.dot
        +                    ? qmarksTestDot
        +                    : qmarksTest)(m);
        +        }
        +        else if ((m = pattern.match(starDotStarRE))) {
        +            fastTest = options.dot ? starDotStarTestDot : starDotStarTest;
        +        }
        +        else if ((m = pattern.match(dotStarRE))) {
        +            fastTest = dotStarTest;
        +        }
        +        const re = AST.fromGlob(pattern, this.options).toMMPattern();
        +        if (fastTest && typeof re === 'object') {
        +            // Avoids overriding in frozen environments
        +            Reflect.defineProperty(re, 'test', { value: fastTest });
        +        }
        +        return re;
        +    }
        +    makeRe() {
        +        if (this.regexp || this.regexp === false)
        +            return this.regexp;
        +        // at this point, this.set is a 2d array of partial
        +        // pattern strings, or "**".
        +        //
        +        // It's better to use .match().  This function shouldn't
        +        // be used, really, but it's pretty convenient sometimes,
        +        // when you just want to work with a regex.
        +        const set = this.set;
        +        if (!set.length) {
        +            this.regexp = false;
        +            return this.regexp;
        +        }
        +        const options = this.options;
        +        const twoStar = options.noglobstar
        +            ? esm_star
        +            : options.dot
        +                ? twoStarDot
        +                : twoStarNoDot;
        +        const flags = new Set(options.nocase ? ['i'] : []);
        +        // regexpify non-globstar patterns
        +        // if ** is only item, then we just do one twoStar
        +        // if ** is first, and there are more, prepend (\/|twoStar\/)? to next
        +        // if ** is last, append (\/twoStar|) to previous
        +        // if ** is in the middle, append (\/|\/twoStar\/) to previous
        +        // then filter out GLOBSTAR symbols
        +        let re = set
        +            .map(pattern => {
        +            const pp = pattern.map(p => {
        +                if (p instanceof RegExp) {
        +                    for (const f of p.flags.split(''))
        +                        flags.add(f);
        +                }
        +                return typeof p === 'string'
        +                    ? esm_regExpEscape(p)
        +                    : p === GLOBSTAR
        +                        ? GLOBSTAR
        +                        : p._src;
        +            });
        +            pp.forEach((p, i) => {
        +                const next = pp[i + 1];
        +                const prev = pp[i - 1];
        +                if (p !== GLOBSTAR || prev === GLOBSTAR) {
        +                    return;
        +                }
        +                if (prev === undefined) {
        +                    if (next !== undefined && next !== GLOBSTAR) {
        +                        pp[i + 1] = '(?:\\/|' + twoStar + '\\/)?' + next;
        +                    }
        +                    else {
        +                        pp[i] = twoStar;
        +                    }
        +                }
        +                else if (next === undefined) {
        +                    pp[i - 1] = prev + '(?:\\/|' + twoStar + ')?';
        +                }
        +                else if (next !== GLOBSTAR) {
        +                    pp[i - 1] = prev + '(?:\\/|\\/' + twoStar + '\\/)' + next;
        +                    pp[i + 1] = GLOBSTAR;
        +                }
        +            });
        +            return pp.filter(p => p !== GLOBSTAR).join('/');
        +        })
        +            .join('|');
        +        // need to wrap in parens if we had more than one thing with |,
        +        // otherwise only the first will be anchored to ^ and the last to $
        +        const [open, close] = set.length > 1 ? ['(?:', ')'] : ['', ''];
        +        // must match entire pattern
        +        // ending in a * or ** will make it less strict.
        +        re = '^' + open + re + close + '$';
        +        // can match anything, as long as it's not this.
        +        if (this.negate)
        +            re = '^(?!' + re + ').+$';
        +        try {
        +            this.regexp = new RegExp(re, [...flags].join(''));
        +            /* c8 ignore start */
        +        }
        +        catch (ex) {
        +            // should be impossible
        +            this.regexp = false;
        +        }
        +        /* c8 ignore stop */
        +        return this.regexp;
        +    }
        +    slashSplit(p) {
        +        // if p starts with // on windows, we preserve that
        +        // so that UNC paths aren't broken.  Otherwise, any number of
        +        // / characters are coalesced into one, unless
        +        // preserveMultipleSlashes is set to true.
        +        if (this.preserveMultipleSlashes) {
        +            return p.split('/');
        +        }
        +        else if (this.isWindows && /^\/\/[^\/]+/.test(p)) {
        +            // add an extra '' for the one we lose
        +            return ['', ...p.split(/\/+/)];
        +        }
        +        else {
        +            return p.split(/\/+/);
        +        }
        +    }
        +    match(f, partial = this.partial) {
        +        this.debug('match', f, this.pattern);
        +        // short-circuit in the case of busted things.
        +        // comments, etc.
        +        if (this.comment) {
        +            return false;
        +        }
        +        if (this.empty) {
        +            return f === '';
        +        }
        +        if (f === '/' && partial) {
        +            return true;
        +        }
        +        const options = this.options;
        +        // windows: need to use /, not \
        +        if (this.isWindows) {
        +            f = f.split('\\').join('/');
        +        }
        +        // treat the test path as a set of pathparts.
        +        const ff = this.slashSplit(f);
        +        this.debug(this.pattern, 'split', ff);
        +        // just ONE of the pattern sets in this.set needs to match
        +        // in order for it to be valid.  If negating, then just one
        +        // match means that we have failed.
        +        // Either way, return on the first hit.
        +        const set = this.set;
        +        this.debug(this.pattern, 'set', set);
        +        // Find the basename of the path by looking for the last non-empty segment
        +        let filename = ff[ff.length - 1];
        +        if (!filename) {
        +            for (let i = ff.length - 2; !filename && i >= 0; i--) {
        +                filename = ff[i];
        +            }
        +        }
        +        for (let i = 0; i < set.length; i++) {
        +            const pattern = set[i];
        +            let file = ff;
        +            if (options.matchBase && pattern.length === 1) {
        +                file = [filename];
        +            }
        +            const hit = this.matchOne(file, pattern, partial);
        +            if (hit) {
        +                if (options.flipNegate) {
        +                    return true;
        +                }
        +                return !this.negate;
        +            }
        +        }
        +        // didn't get any hits.  this is success if it's a negative
        +        // pattern, failure otherwise.
        +        if (options.flipNegate) {
        +            return false;
        +        }
        +        return this.negate;
        +    }
        +    static defaults(def) {
        +        return minimatch.defaults(def).Minimatch;
        +    }
        +}
        +/* c8 ignore start */
        +
        +
        +
        +/* c8 ignore stop */
        +minimatch.AST = AST;
        +minimatch.Minimatch = Minimatch;
        +minimatch.escape = escape_escape;
        +minimatch.unescape = unescape_unescape;
        +//# sourceMappingURL=index.js.map
        +// EXTERNAL MODULE: external "node:url"
        +var external_node_url_ = __webpack_require__(73136);
        +;// ../commons/node_modules/lru-cache/dist/esm/index.js
        +/**
        + * @module LRUCache
        + */
        +const perf = typeof performance === 'object' &&
        +    performance &&
        +    typeof performance.now === 'function'
        +    ? performance
        +    : Date;
        +const warned = new Set();
        +/* c8 ignore start */
        +const PROCESS = (typeof process === 'object' && !!process ? process : {});
        +/* c8 ignore start */
        +const emitWarning = (msg, type, code, fn) => {
        +    typeof PROCESS.emitWarning === 'function'
        +        ? PROCESS.emitWarning(msg, type, code, fn)
        +        : console.error(`[${code}] ${type}: ${msg}`);
        +};
        +let AC = globalThis.AbortController;
        +let AS = globalThis.AbortSignal;
        +/* c8 ignore start */
        +if (typeof AC === 'undefined') {
        +    //@ts-ignore
        +    AS = class AbortSignal {
        +        onabort;
        +        _onabort = [];
        +        reason;
        +        aborted = false;
        +        addEventListener(_, fn) {
        +            this._onabort.push(fn);
        +        }
        +    };
        +    //@ts-ignore
        +    AC = class AbortController {
        +        constructor() {
        +            warnACPolyfill();
        +        }
        +        signal = new AS();
        +        abort(reason) {
        +            if (this.signal.aborted)
        +                return;
        +            //@ts-ignore
        +            this.signal.reason = reason;
        +            //@ts-ignore
        +            this.signal.aborted = true;
        +            //@ts-ignore
        +            for (const fn of this.signal._onabort) {
        +                fn(reason);
        +            }
        +            this.signal.onabort?.(reason);
        +        }
        +    };
        +    let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== '1';
        +    const warnACPolyfill = () => {
        +        if (!printACPolyfillWarning)
        +            return;
        +        printACPolyfillWarning = false;
        +        emitWarning('AbortController is not defined. If using lru-cache in ' +
        +            'node 14, load an AbortController polyfill from the ' +
        +            '`node-abort-controller` package. A minimal polyfill is ' +
        +            'provided for use by LRUCache.fetch(), but it should not be ' +
        +            'relied upon in other contexts (eg, passing it to other APIs that ' +
        +            'use AbortController/AbortSignal might have undesirable effects). ' +
        +            'You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.', 'NO_ABORT_CONTROLLER', 'ENOTSUP', warnACPolyfill);
        +    };
        +}
        +/* c8 ignore stop */
        +const shouldWarn = (code) => !warned.has(code);
        +const TYPE = Symbol('type');
        +const isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
        +/* c8 ignore start */
        +// This is a little bit ridiculous, tbh.
        +// The maximum array length is 2^32-1 or thereabouts on most JS impls.
        +// And well before that point, you're caching the entire world, I mean,
        +// that's ~32GB of just integers for the next/prev links, plus whatever
        +// else to hold that many keys and values.  Just filling the memory with
        +// zeroes at init time is brutal when you get that big.
        +// But why not be complete?
        +// Maybe in the future, these limits will have expanded.
        +const getUintArray = (max) => !isPosInt(max)
        +    ? null
        +    : max <= Math.pow(2, 8)
        +        ? Uint8Array
        +        : max <= Math.pow(2, 16)
        +            ? Uint16Array
        +            : max <= Math.pow(2, 32)
        +                ? Uint32Array
        +                : max <= Number.MAX_SAFE_INTEGER
        +                    ? ZeroArray
        +                    : null;
        +/* c8 ignore stop */
        +class ZeroArray extends Array {
        +    constructor(size) {
        +        super(size);
        +        this.fill(0);
        +    }
        +}
        +class Stack {
        +    heap;
        +    length;
        +    // private constructor
        +    static #constructing = false;
        +    static create(max) {
        +        const HeapCls = getUintArray(max);
        +        if (!HeapCls)
        +            return [];
        +        Stack.#constructing = true;
        +        const s = new Stack(max, HeapCls);
        +        Stack.#constructing = false;
        +        return s;
        +    }
        +    constructor(max, HeapCls) {
        +        /* c8 ignore start */
        +        if (!Stack.#constructing) {
        +            throw new TypeError('instantiate Stack using Stack.create(n)');
        +        }
        +        /* c8 ignore stop */
        +        this.heap = new HeapCls(max);
        +        this.length = 0;
        +    }
        +    push(n) {
        +        this.heap[this.length++] = n;
        +    }
        +    pop() {
        +        return this.heap[--this.length];
        +    }
        +}
        +/**
        + * Default export, the thing you're using this module to get.
        + *
        + * The `K` and `V` types define the key and value types, respectively. The
        + * optional `FC` type defines the type of the `context` object passed to
        + * `cache.fetch()` and `cache.memo()`.
        + *
        + * Keys and values **must not** be `null` or `undefined`.
        + *
        + * All properties from the options object (with the exception of `max`,
        + * `maxSize`, `fetchMethod`, `memoMethod`, `dispose` and `disposeAfter`) are
        + * added as normal public members. (The listed options are read-only getters.)
        + *
        + * Changing any of these will alter the defaults for subsequent method calls.
        + */
        +class LRUCache {
        +    // options that cannot be changed without disaster
        +    #max;
        +    #maxSize;
        +    #dispose;
        +    #disposeAfter;
        +    #fetchMethod;
        +    #memoMethod;
        +    /**
        +     * {@link LRUCache.OptionsBase.ttl}
        +     */
        +    ttl;
        +    /**
        +     * {@link LRUCache.OptionsBase.ttlResolution}
        +     */
        +    ttlResolution;
        +    /**
        +     * {@link LRUCache.OptionsBase.ttlAutopurge}
        +     */
        +    ttlAutopurge;
        +    /**
        +     * {@link LRUCache.OptionsBase.updateAgeOnGet}
        +     */
        +    updateAgeOnGet;
        +    /**
        +     * {@link LRUCache.OptionsBase.updateAgeOnHas}
        +     */
        +    updateAgeOnHas;
        +    /**
        +     * {@link LRUCache.OptionsBase.allowStale}
        +     */
        +    allowStale;
        +    /**
        +     * {@link LRUCache.OptionsBase.noDisposeOnSet}
        +     */
        +    noDisposeOnSet;
        +    /**
        +     * {@link LRUCache.OptionsBase.noUpdateTTL}
        +     */
        +    noUpdateTTL;
        +    /**
        +     * {@link LRUCache.OptionsBase.maxEntrySize}
        +     */
        +    maxEntrySize;
        +    /**
        +     * {@link LRUCache.OptionsBase.sizeCalculation}
        +     */
        +    sizeCalculation;
        +    /**
        +     * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
        +     */
        +    noDeleteOnFetchRejection;
        +    /**
        +     * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
        +     */
        +    noDeleteOnStaleGet;
        +    /**
        +     * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
        +     */
        +    allowStaleOnFetchAbort;
        +    /**
        +     * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
        +     */
        +    allowStaleOnFetchRejection;
        +    /**
        +     * {@link LRUCache.OptionsBase.ignoreFetchAbort}
        +     */
        +    ignoreFetchAbort;
        +    // computed properties
        +    #size;
        +    #calculatedSize;
        +    #keyMap;
        +    #keyList;
        +    #valList;
        +    #next;
        +    #prev;
        +    #head;
        +    #tail;
        +    #free;
        +    #disposed;
        +    #sizes;
        +    #starts;
        +    #ttls;
        +    #hasDispose;
        +    #hasFetchMethod;
        +    #hasDisposeAfter;
        +    /**
        +     * Do not call this method unless you need to inspect the
        +     * inner workings of the cache.  If anything returned by this
        +     * object is modified in any way, strange breakage may occur.
        +     *
        +     * These fields are private for a reason!
        +     *
        +     * @internal
        +     */
        +    static unsafeExposeInternals(c) {
        +        return {
        +            // properties
        +            starts: c.#starts,
        +            ttls: c.#ttls,
        +            sizes: c.#sizes,
        +            keyMap: c.#keyMap,
        +            keyList: c.#keyList,
        +            valList: c.#valList,
        +            next: c.#next,
        +            prev: c.#prev,
        +            get head() {
        +                return c.#head;
        +            },
        +            get tail() {
        +                return c.#tail;
        +            },
        +            free: c.#free,
        +            // methods
        +            isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
        +            backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),
        +            moveToTail: (index) => c.#moveToTail(index),
        +            indexes: (options) => c.#indexes(options),
        +            rindexes: (options) => c.#rindexes(options),
        +            isStale: (index) => c.#isStale(index),
        +        };
        +    }
        +    // Protected read-only members
        +    /**
        +     * {@link LRUCache.OptionsBase.max} (read-only)
        +     */
        +    get max() {
        +        return this.#max;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.maxSize} (read-only)
        +     */
        +    get maxSize() {
        +        return this.#maxSize;
        +    }
        +    /**
        +     * The total computed size of items in the cache (read-only)
        +     */
        +    get calculatedSize() {
        +        return this.#calculatedSize;
        +    }
        +    /**
        +     * The number of items stored in the cache (read-only)
        +     */
        +    get size() {
        +        return this.#size;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
        +     */
        +    get fetchMethod() {
        +        return this.#fetchMethod;
        +    }
        +    get memoMethod() {
        +        return this.#memoMethod;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.dispose} (read-only)
        +     */
        +    get dispose() {
        +        return this.#dispose;
        +    }
        +    /**
        +     * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
        +     */
        +    get disposeAfter() {
        +        return this.#disposeAfter;
        +    }
        +    constructor(options) {
        +        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort, } = options;
        +        if (max !== 0 && !isPosInt(max)) {
        +            throw new TypeError('max option must be a nonnegative integer');
        +        }
        +        const UintArray = max ? getUintArray(max) : Array;
        +        if (!UintArray) {
        +            throw new Error('invalid max value: ' + max);
        +        }
        +        this.#max = max;
        +        this.#maxSize = maxSize;
        +        this.maxEntrySize = maxEntrySize || this.#maxSize;
        +        this.sizeCalculation = sizeCalculation;
        +        if (this.sizeCalculation) {
        +            if (!this.#maxSize && !this.maxEntrySize) {
        +                throw new TypeError('cannot set sizeCalculation without setting maxSize or maxEntrySize');
        +            }
        +            if (typeof this.sizeCalculation !== 'function') {
        +                throw new TypeError('sizeCalculation set to non-function');
        +            }
        +        }
        +        if (memoMethod !== undefined &&
        +            typeof memoMethod !== 'function') {
        +            throw new TypeError('memoMethod must be a function if defined');
        +        }
        +        this.#memoMethod = memoMethod;
        +        if (fetchMethod !== undefined &&
        +            typeof fetchMethod !== 'function') {
        +            throw new TypeError('fetchMethod must be a function if specified');
        +        }
        +        this.#fetchMethod = fetchMethod;
        +        this.#hasFetchMethod = !!fetchMethod;
        +        this.#keyMap = new Map();
        +        this.#keyList = new Array(max).fill(undefined);
        +        this.#valList = new Array(max).fill(undefined);
        +        this.#next = new UintArray(max);
        +        this.#prev = new UintArray(max);
        +        this.#head = 0;
        +        this.#tail = 0;
        +        this.#free = Stack.create(max);
        +        this.#size = 0;
        +        this.#calculatedSize = 0;
        +        if (typeof dispose === 'function') {
        +            this.#dispose = dispose;
        +        }
        +        if (typeof disposeAfter === 'function') {
        +            this.#disposeAfter = disposeAfter;
        +            this.#disposed = [];
        +        }
        +        else {
        +            this.#disposeAfter = undefined;
        +            this.#disposed = undefined;
        +        }
        +        this.#hasDispose = !!this.#dispose;
        +        this.#hasDisposeAfter = !!this.#disposeAfter;
        +        this.noDisposeOnSet = !!noDisposeOnSet;
        +        this.noUpdateTTL = !!noUpdateTTL;
        +        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
        +        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
        +        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
        +        this.ignoreFetchAbort = !!ignoreFetchAbort;
        +        // NB: maxEntrySize is set to maxSize if it's set
        +        if (this.maxEntrySize !== 0) {
        +            if (this.#maxSize !== 0) {
        +                if (!isPosInt(this.#maxSize)) {
        +                    throw new TypeError('maxSize must be a positive integer if specified');
        +                }
        +            }
        +            if (!isPosInt(this.maxEntrySize)) {
        +                throw new TypeError('maxEntrySize must be a positive integer if specified');
        +            }
        +            this.#initializeSizeTracking();
        +        }
        +        this.allowStale = !!allowStale;
        +        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
        +        this.updateAgeOnGet = !!updateAgeOnGet;
        +        this.updateAgeOnHas = !!updateAgeOnHas;
        +        this.ttlResolution =
        +            isPosInt(ttlResolution) || ttlResolution === 0
        +                ? ttlResolution
        +                : 1;
        +        this.ttlAutopurge = !!ttlAutopurge;
        +        this.ttl = ttl || 0;
        +        if (this.ttl) {
        +            if (!isPosInt(this.ttl)) {
        +                throw new TypeError('ttl must be a positive integer if specified');
        +            }
        +            this.#initializeTTLTracking();
        +        }
        +        // do not allow completely unbounded caches
        +        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
        +            throw new TypeError('At least one of max, maxSize, or ttl is required');
        +        }
        +        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
        +            const code = 'LRU_CACHE_UNBOUNDED';
        +            if (shouldWarn(code)) {
        +                warned.add(code);
        +                const msg = 'TTL caching without ttlAutopurge, max, or maxSize can ' +
        +                    'result in unbounded memory consumption.';
        +                emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache);
        +            }
        +        }
        +    }
        +    /**
        +     * Return the number of ms left in the item's TTL. If item is not in cache,
        +     * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
        +     */
        +    getRemainingTTL(key) {
        +        return this.#keyMap.has(key) ? Infinity : 0;
        +    }
        +    #initializeTTLTracking() {
        +        const ttls = new ZeroArray(this.#max);
        +        const starts = new ZeroArray(this.#max);
        +        this.#ttls = ttls;
        +        this.#starts = starts;
        +        this.#setItemTTL = (index, ttl, start = perf.now()) => {
        +            starts[index] = ttl !== 0 ? start : 0;
        +            ttls[index] = ttl;
        +            if (ttl !== 0 && this.ttlAutopurge) {
        +                const t = setTimeout(() => {
        +                    if (this.#isStale(index)) {
        +                        this.#delete(this.#keyList[index], 'expire');
        +                    }
        +                }, ttl + 1);
        +                // unref() not supported on all platforms
        +                /* c8 ignore start */
        +                if (t.unref) {
        +                    t.unref();
        +                }
        +                /* c8 ignore stop */
        +            }
        +        };
        +        this.#updateItemAge = index => {
        +            starts[index] = ttls[index] !== 0 ? perf.now() : 0;
        +        };
        +        this.#statusTTL = (status, index) => {
        +            if (ttls[index]) {
        +                const ttl = ttls[index];
        +                const start = starts[index];
        +                /* c8 ignore next */
        +                if (!ttl || !start)
        +                    return;
        +                status.ttl = ttl;
        +                status.start = start;
        +                status.now = cachedNow || getNow();
        +                const age = status.now - start;
        +                status.remainingTTL = ttl - age;
        +            }
        +        };
        +        // debounce calls to perf.now() to 1s so we're not hitting
        +        // that costly call repeatedly.
        +        let cachedNow = 0;
        +        const getNow = () => {
        +            const n = perf.now();
        +            if (this.ttlResolution > 0) {
        +                cachedNow = n;
        +                const t = setTimeout(() => (cachedNow = 0), this.ttlResolution);
        +                // not available on all platforms
        +                /* c8 ignore start */
        +                if (t.unref) {
        +                    t.unref();
        +                }
        +                /* c8 ignore stop */
        +            }
        +            return n;
        +        };
        +        this.getRemainingTTL = key => {
        +            const index = this.#keyMap.get(key);
        +            if (index === undefined) {
        +                return 0;
        +            }
        +            const ttl = ttls[index];
        +            const start = starts[index];
        +            if (!ttl || !start) {
        +                return Infinity;
        +            }
        +            const age = (cachedNow || getNow()) - start;
        +            return ttl - age;
        +        };
        +        this.#isStale = index => {
        +            const s = starts[index];
        +            const t = ttls[index];
        +            return !!t && !!s && (cachedNow || getNow()) - s > t;
        +        };
        +    }
        +    // conditionally set private methods related to TTL
        +    #updateItemAge = () => { };
        +    #statusTTL = () => { };
        +    #setItemTTL = () => { };
        +    /* c8 ignore stop */
        +    #isStale = () => false;
        +    #initializeSizeTracking() {
        +        const sizes = new ZeroArray(this.#max);
        +        this.#calculatedSize = 0;
        +        this.#sizes = sizes;
        +        this.#removeItemSize = index => {
        +            this.#calculatedSize -= sizes[index];
        +            sizes[index] = 0;
        +        };
        +        this.#requireSize = (k, v, size, sizeCalculation) => {
        +            // provisionally accept background fetches.
        +            // actual value size will be checked when they return.
        +            if (this.#isBackgroundFetch(v)) {
        +                return 0;
        +            }
        +            if (!isPosInt(size)) {
        +                if (sizeCalculation) {
        +                    if (typeof sizeCalculation !== 'function') {
        +                        throw new TypeError('sizeCalculation must be a function');
        +                    }
        +                    size = sizeCalculation(v, k);
        +                    if (!isPosInt(size)) {
        +                        throw new TypeError('sizeCalculation return invalid (expect positive integer)');
        +                    }
        +                }
        +                else {
        +                    throw new TypeError('invalid size value (must be positive integer). ' +
        +                        'When maxSize or maxEntrySize is used, sizeCalculation ' +
        +                        'or size must be set.');
        +                }
        +            }
        +            return size;
        +        };
        +        this.#addItemSize = (index, size, status) => {
        +            sizes[index] = size;
        +            if (this.#maxSize) {
        +                const maxSize = this.#maxSize - sizes[index];
        +                while (this.#calculatedSize > maxSize) {
        +                    this.#evict(true);
        +                }
        +            }
        +            this.#calculatedSize += sizes[index];
        +            if (status) {
        +                status.entrySize = size;
        +                status.totalCalculatedSize = this.#calculatedSize;
        +            }
        +        };
        +    }
        +    #removeItemSize = _i => { };
        +    #addItemSize = (_i, _s, _st) => { };
        +    #requireSize = (_k, _v, size, sizeCalculation) => {
        +        if (size || sizeCalculation) {
        +            throw new TypeError('cannot set size without setting maxSize or maxEntrySize on cache');
        +        }
        +        return 0;
        +    };
        +    *#indexes({ allowStale = this.allowStale } = {}) {
        +        if (this.#size) {
        +            for (let i = this.#tail; true;) {
        +                if (!this.#isValidIndex(i)) {
        +                    break;
        +                }
        +                if (allowStale || !this.#isStale(i)) {
        +                    yield i;
        +                }
        +                if (i === this.#head) {
        +                    break;
        +                }
        +                else {
        +                    i = this.#prev[i];
        +                }
        +            }
        +        }
        +    }
        +    *#rindexes({ allowStale = this.allowStale } = {}) {
        +        if (this.#size) {
        +            for (let i = this.#head; true;) {
        +                if (!this.#isValidIndex(i)) {
        +                    break;
        +                }
        +                if (allowStale || !this.#isStale(i)) {
        +                    yield i;
        +                }
        +                if (i === this.#tail) {
        +                    break;
        +                }
        +                else {
        +                    i = this.#next[i];
        +                }
        +            }
        +        }
        +    }
        +    #isValidIndex(index) {
        +        return (index !== undefined &&
        +            this.#keyMap.get(this.#keyList[index]) === index);
        +    }
        +    /**
        +     * Return a generator yielding `[key, value]` pairs,
        +     * in order from most recently used to least recently used.
        +     */
        +    *entries() {
        +        for (const i of this.#indexes()) {
        +            if (this.#valList[i] !== undefined &&
        +                this.#keyList[i] !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield [this.#keyList[i], this.#valList[i]];
        +            }
        +        }
        +    }
        +    /**
        +     * Inverse order version of {@link LRUCache.entries}
        +     *
        +     * Return a generator yielding `[key, value]` pairs,
        +     * in order from least recently used to most recently used.
        +     */
        +    *rentries() {
        +        for (const i of this.#rindexes()) {
        +            if (this.#valList[i] !== undefined &&
        +                this.#keyList[i] !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield [this.#keyList[i], this.#valList[i]];
        +            }
        +        }
        +    }
        +    /**
        +     * Return a generator yielding the keys in the cache,
        +     * in order from most recently used to least recently used.
        +     */
        +    *keys() {
        +        for (const i of this.#indexes()) {
        +            const k = this.#keyList[i];
        +            if (k !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield k;
        +            }
        +        }
        +    }
        +    /**
        +     * Inverse order version of {@link LRUCache.keys}
        +     *
        +     * Return a generator yielding the keys in the cache,
        +     * in order from least recently used to most recently used.
        +     */
        +    *rkeys() {
        +        for (const i of this.#rindexes()) {
        +            const k = this.#keyList[i];
        +            if (k !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield k;
        +            }
        +        }
        +    }
        +    /**
        +     * Return a generator yielding the values in the cache,
        +     * in order from most recently used to least recently used.
        +     */
        +    *values() {
        +        for (const i of this.#indexes()) {
        +            const v = this.#valList[i];
        +            if (v !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield this.#valList[i];
        +            }
        +        }
        +    }
        +    /**
        +     * Inverse order version of {@link LRUCache.values}
        +     *
        +     * Return a generator yielding the values in the cache,
        +     * in order from least recently used to most recently used.
        +     */
        +    *rvalues() {
        +        for (const i of this.#rindexes()) {
        +            const v = this.#valList[i];
        +            if (v !== undefined &&
        +                !this.#isBackgroundFetch(this.#valList[i])) {
        +                yield this.#valList[i];
        +            }
        +        }
        +    }
        +    /**
        +     * Iterating over the cache itself yields the same results as
        +     * {@link LRUCache.entries}
        +     */
        +    [Symbol.iterator]() {
        +        return this.entries();
        +    }
        +    /**
        +     * A String value that is used in the creation of the default string
        +     * description of an object. Called by the built-in method
        +     * `Object.prototype.toString`.
        +     */
        +    [Symbol.toStringTag] = 'LRUCache';
        +    /**
        +     * Find a value for which the supplied fn method returns a truthy value,
        +     * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
        +     */
        +    find(fn, getOptions = {}) {
        +        for (const i of this.#indexes()) {
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined)
        +                continue;
        +            if (fn(value, this.#keyList[i], this)) {
        +                return this.get(this.#keyList[i], getOptions);
        +            }
        +        }
        +    }
        +    /**
        +     * Call the supplied function on each item in the cache, in order from most
        +     * recently used to least recently used.
        +     *
        +     * `fn` is called as `fn(value, key, cache)`.
        +     *
        +     * If `thisp` is provided, function will be called in the `this`-context of
        +     * the provided object, or the cache if no `thisp` object is provided.
        +     *
        +     * Does not update age or recenty of use, or iterate over stale values.
        +     */
        +    forEach(fn, thisp = this) {
        +        for (const i of this.#indexes()) {
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined)
        +                continue;
        +            fn.call(thisp, value, this.#keyList[i], this);
        +        }
        +    }
        +    /**
        +     * The same as {@link LRUCache.forEach} but items are iterated over in
        +     * reverse order.  (ie, less recently used items are iterated over first.)
        +     */
        +    rforEach(fn, thisp = this) {
        +        for (const i of this.#rindexes()) {
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined)
        +                continue;
        +            fn.call(thisp, value, this.#keyList[i], this);
        +        }
        +    }
        +    /**
        +     * Delete any stale entries. Returns true if anything was removed,
        +     * false otherwise.
        +     */
        +    purgeStale() {
        +        let deleted = false;
        +        for (const i of this.#rindexes({ allowStale: true })) {
        +            if (this.#isStale(i)) {
        +                this.#delete(this.#keyList[i], 'expire');
        +                deleted = true;
        +            }
        +        }
        +        return deleted;
        +    }
        +    /**
        +     * Get the extended info about a given entry, to get its value, size, and
        +     * TTL info simultaneously. Returns `undefined` if the key is not present.
        +     *
        +     * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
        +     * serialization, the `start` value is always the current timestamp, and the
        +     * `ttl` is a calculated remaining time to live (negative if expired).
        +     *
        +     * Always returns stale values, if their info is found in the cache, so be
        +     * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
        +     * if relevant.
        +     */
        +    info(key) {
        +        const i = this.#keyMap.get(key);
        +        if (i === undefined)
        +            return undefined;
        +        const v = this.#valList[i];
        +        const value = this.#isBackgroundFetch(v)
        +            ? v.__staleWhileFetching
        +            : v;
        +        if (value === undefined)
        +            return undefined;
        +        const entry = { value };
        +        if (this.#ttls && this.#starts) {
        +            const ttl = this.#ttls[i];
        +            const start = this.#starts[i];
        +            if (ttl && start) {
        +                const remain = ttl - (perf.now() - start);
        +                entry.ttl = remain;
        +                entry.start = Date.now();
        +            }
        +        }
        +        if (this.#sizes) {
        +            entry.size = this.#sizes[i];
        +        }
        +        return entry;
        +    }
        +    /**
        +     * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
        +     * passed to {@link LRLUCache#load}.
        +     *
        +     * The `start` fields are calculated relative to a portable `Date.now()`
        +     * timestamp, even if `performance.now()` is available.
        +     *
        +     * Stale entries are always included in the `dump`, even if
        +     * {@link LRUCache.OptionsBase.allowStale} is false.
        +     *
        +     * Note: this returns an actual array, not a generator, so it can be more
        +     * easily passed around.
        +     */
        +    dump() {
        +        const arr = [];
        +        for (const i of this.#indexes({ allowStale: true })) {
        +            const key = this.#keyList[i];
        +            const v = this.#valList[i];
        +            const value = this.#isBackgroundFetch(v)
        +                ? v.__staleWhileFetching
        +                : v;
        +            if (value === undefined || key === undefined)
        +                continue;
        +            const entry = { value };
        +            if (this.#ttls && this.#starts) {
        +                entry.ttl = this.#ttls[i];
        +                // always dump the start relative to a portable timestamp
        +                // it's ok for this to be a bit slow, it's a rare operation.
        +                const age = perf.now() - this.#starts[i];
        +                entry.start = Math.floor(Date.now() - age);
        +            }
        +            if (this.#sizes) {
        +                entry.size = this.#sizes[i];
        +            }
        +            arr.unshift([key, entry]);
        +        }
        +        return arr;
        +    }
        +    /**
        +     * Reset the cache and load in the items in entries in the order listed.
        +     *
        +     * The shape of the resulting cache may be different if the same options are
        +     * not used in both caches.
        +     *
        +     * The `start` fields are assumed to be calculated relative to a portable
        +     * `Date.now()` timestamp, even if `performance.now()` is available.
        +     */
        +    load(arr) {
        +        this.clear();
        +        for (const [key, entry] of arr) {
        +            if (entry.start) {
        +                // entry.start is a portable timestamp, but we may be using
        +                // node's performance.now(), so calculate the offset, so that
        +                // we get the intended remaining TTL, no matter how long it's
        +                // been on ice.
        +                //
        +                // it's ok for this to be a bit slow, it's a rare operation.
        +                const age = Date.now() - entry.start;
        +                entry.start = perf.now() - age;
        +            }
        +            this.set(key, entry.value, entry);
        +        }
        +    }
        +    /**
        +     * Add a value to the cache.
        +     *
        +     * Note: if `undefined` is specified as a value, this is an alias for
        +     * {@link LRUCache#delete}
        +     *
        +     * Fields on the {@link LRUCache.SetOptions} options param will override
        +     * their corresponding values in the constructor options for the scope
        +     * of this single `set()` operation.
        +     *
        +     * If `start` is provided, then that will set the effective start
        +     * time for the TTL calculation. Note that this must be a previous
        +     * value of `performance.now()` if supported, or a previous value of
        +     * `Date.now()` if not.
        +     *
        +     * Options object may also include `size`, which will prevent
        +     * calling the `sizeCalculation` function and just use the specified
        +     * number if it is a positive integer, and `noDisposeOnSet` which
        +     * will prevent calling a `dispose` function in the case of
        +     * overwrites.
        +     *
        +     * If the `size` (or return value of `sizeCalculation`) for a given
        +     * entry is greater than `maxEntrySize`, then the item will not be
        +     * added to the cache.
        +     *
        +     * Will update the recency of the entry.
        +     *
        +     * If the value is `undefined`, then this is an alias for
        +     * `cache.delete(key)`. `undefined` is never stored in the cache.
        +     */
        +    set(k, v, setOptions = {}) {
        +        if (v === undefined) {
        +            this.delete(k);
        +            return this;
        +        }
        +        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status, } = setOptions;
        +        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
        +        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
        +        // if the item doesn't fit, don't do anything
        +        // NB: maxEntrySize set to maxSize by default
        +        if (this.maxEntrySize && size > this.maxEntrySize) {
        +            if (status) {
        +                status.set = 'miss';
        +                status.maxEntrySizeExceeded = true;
        +            }
        +            // have to delete, in case something is there already.
        +            this.#delete(k, 'set');
        +            return this;
        +        }
        +        let index = this.#size === 0 ? undefined : this.#keyMap.get(k);
        +        if (index === undefined) {
        +            // addition
        +            index = (this.#size === 0
        +                ? this.#tail
        +                : this.#free.length !== 0
        +                    ? this.#free.pop()
        +                    : this.#size === this.#max
        +                        ? this.#evict(false)
        +                        : this.#size);
        +            this.#keyList[index] = k;
        +            this.#valList[index] = v;
        +            this.#keyMap.set(k, index);
        +            this.#next[this.#tail] = index;
        +            this.#prev[index] = this.#tail;
        +            this.#tail = index;
        +            this.#size++;
        +            this.#addItemSize(index, size, status);
        +            if (status)
        +                status.set = 'add';
        +            noUpdateTTL = false;
        +        }
        +        else {
        +            // update
        +            this.#moveToTail(index);
        +            const oldVal = this.#valList[index];
        +            if (v !== oldVal) {
        +                if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
        +                    oldVal.__abortController.abort(new Error('replaced'));
        +                    const { __staleWhileFetching: s } = oldVal;
        +                    if (s !== undefined && !noDisposeOnSet) {
        +                        if (this.#hasDispose) {
        +                            this.#dispose?.(s, k, 'set');
        +                        }
        +                        if (this.#hasDisposeAfter) {
        +                            this.#disposed?.push([s, k, 'set']);
        +                        }
        +                    }
        +                }
        +                else if (!noDisposeOnSet) {
        +                    if (this.#hasDispose) {
        +                        this.#dispose?.(oldVal, k, 'set');
        +                    }
        +                    if (this.#hasDisposeAfter) {
        +                        this.#disposed?.push([oldVal, k, 'set']);
        +                    }
        +                }
        +                this.#removeItemSize(index);
        +                this.#addItemSize(index, size, status);
        +                this.#valList[index] = v;
        +                if (status) {
        +                    status.set = 'replace';
        +                    const oldValue = oldVal && this.#isBackgroundFetch(oldVal)
        +                        ? oldVal.__staleWhileFetching
        +                        : oldVal;
        +                    if (oldValue !== undefined)
        +                        status.oldValue = oldValue;
        +                }
        +            }
        +            else if (status) {
        +                status.set = 'update';
        +            }
        +        }
        +        if (ttl !== 0 && !this.#ttls) {
        +            this.#initializeTTLTracking();
        +        }
        +        if (this.#ttls) {
        +            if (!noUpdateTTL) {
        +                this.#setItemTTL(index, ttl, start);
        +            }
        +            if (status)
        +                this.#statusTTL(status, index);
        +        }
        +        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
        +            const dt = this.#disposed;
        +            let task;
        +            while ((task = dt?.shift())) {
        +                this.#disposeAfter?.(...task);
        +            }
        +        }
        +        return this;
        +    }
        +    /**
        +     * Evict the least recently used item, returning its value or
        +     * `undefined` if cache is empty.
        +     */
        +    pop() {
        +        try {
        +            while (this.#size) {
        +                const val = this.#valList[this.#head];
        +                this.#evict(true);
        +                if (this.#isBackgroundFetch(val)) {
        +                    if (val.__staleWhileFetching) {
        +                        return val.__staleWhileFetching;
        +                    }
        +                }
        +                else if (val !== undefined) {
        +                    return val;
        +                }
        +            }
        +        }
        +        finally {
        +            if (this.#hasDisposeAfter && this.#disposed) {
        +                const dt = this.#disposed;
        +                let task;
        +                while ((task = dt?.shift())) {
        +                    this.#disposeAfter?.(...task);
        +                }
        +            }
        +        }
        +    }
        +    #evict(free) {
        +        const head = this.#head;
        +        const k = this.#keyList[head];
        +        const v = this.#valList[head];
        +        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
        +            v.__abortController.abort(new Error('evicted'));
        +        }
        +        else if (this.#hasDispose || this.#hasDisposeAfter) {
        +            if (this.#hasDispose) {
        +                this.#dispose?.(v, k, 'evict');
        +            }
        +            if (this.#hasDisposeAfter) {
        +                this.#disposed?.push([v, k, 'evict']);
        +            }
        +        }
        +        this.#removeItemSize(head);
        +        // if we aren't about to use the index, then null these out
        +        if (free) {
        +            this.#keyList[head] = undefined;
        +            this.#valList[head] = undefined;
        +            this.#free.push(head);
        +        }
        +        if (this.#size === 1) {
        +            this.#head = this.#tail = 0;
        +            this.#free.length = 0;
        +        }
        +        else {
        +            this.#head = this.#next[head];
        +        }
        +        this.#keyMap.delete(k);
        +        this.#size--;
        +        return head;
        +    }
        +    /**
        +     * Check if a key is in the cache, without updating the recency of use.
        +     * Will return false if the item is stale, even though it is technically
        +     * in the cache.
        +     *
        +     * Check if a key is in the cache, without updating the recency of
        +     * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
        +     * to `true` in either the options or the constructor.
        +     *
        +     * Will return `false` if the item is stale, even though it is technically in
        +     * the cache. The difference can be determined (if it matters) by using a
        +     * `status` argument, and inspecting the `has` field.
        +     *
        +     * Will not update item age unless
        +     * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
        +     */
        +    has(k, hasOptions = {}) {
        +        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
        +        const index = this.#keyMap.get(k);
        +        if (index !== undefined) {
        +            const v = this.#valList[index];
        +            if (this.#isBackgroundFetch(v) &&
        +                v.__staleWhileFetching === undefined) {
        +                return false;
        +            }
        +            if (!this.#isStale(index)) {
        +                if (updateAgeOnHas) {
        +                    this.#updateItemAge(index);
        +                }
        +                if (status) {
        +                    status.has = 'hit';
        +                    this.#statusTTL(status, index);
        +                }
        +                return true;
        +            }
        +            else if (status) {
        +                status.has = 'stale';
        +                this.#statusTTL(status, index);
        +            }
        +        }
        +        else if (status) {
        +            status.has = 'miss';
        +        }
        +        return false;
        +    }
        +    /**
        +     * Like {@link LRUCache#get} but doesn't update recency or delete stale
        +     * items.
        +     *
        +     * Returns `undefined` if the item is stale, unless
        +     * {@link LRUCache.OptionsBase.allowStale} is set.
        +     */
        +    peek(k, peekOptions = {}) {
        +        const { allowStale = this.allowStale } = peekOptions;
        +        const index = this.#keyMap.get(k);
        +        if (index === undefined ||
        +            (!allowStale && this.#isStale(index))) {
        +            return;
        +        }
        +        const v = this.#valList[index];
        +        // either stale and allowed, or forcing a refresh of non-stale value
        +        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
        +    }
        +    #backgroundFetch(k, index, options, context) {
        +        const v = index === undefined ? undefined : this.#valList[index];
        +        if (this.#isBackgroundFetch(v)) {
        +            return v;
        +        }
        +        const ac = new AC();
        +        const { signal } = options;
        +        // when/if our AC signals, then stop listening to theirs.
        +        signal?.addEventListener('abort', () => ac.abort(signal.reason), {
        +            signal: ac.signal,
        +        });
        +        const fetchOpts = {
        +            signal: ac.signal,
        +            options,
        +            context,
        +        };
        +        const cb = (v, updateCache = false) => {
        +            const { aborted } = ac.signal;
        +            const ignoreAbort = options.ignoreFetchAbort && v !== undefined;
        +            if (options.status) {
        +                if (aborted && !updateCache) {
        +                    options.status.fetchAborted = true;
        +                    options.status.fetchError = ac.signal.reason;
        +                    if (ignoreAbort)
        +                        options.status.fetchAbortIgnored = true;
        +                }
        +                else {
        +                    options.status.fetchResolved = true;
        +                }
        +            }
        +            if (aborted && !ignoreAbort && !updateCache) {
        +                return fetchFail(ac.signal.reason);
        +            }
        +            // either we didn't abort, and are still here, or we did, and ignored
        +            const bf = p;
        +            if (this.#valList[index] === p) {
        +                if (v === undefined) {
        +                    if (bf.__staleWhileFetching) {
        +                        this.#valList[index] = bf.__staleWhileFetching;
        +                    }
        +                    else {
        +                        this.#delete(k, 'fetch');
        +                    }
        +                }
        +                else {
        +                    if (options.status)
        +                        options.status.fetchUpdated = true;
        +                    this.set(k, v, fetchOpts.options);
        +                }
        +            }
        +            return v;
        +        };
        +        const eb = (er) => {
        +            if (options.status) {
        +                options.status.fetchRejected = true;
        +                options.status.fetchError = er;
        +            }
        +            return fetchFail(er);
        +        };
        +        const fetchFail = (er) => {
        +            const { aborted } = ac.signal;
        +            const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
        +            const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
        +            const noDelete = allowStale || options.noDeleteOnFetchRejection;
        +            const bf = p;
        +            if (this.#valList[index] === p) {
        +                // if we allow stale on fetch rejections, then we need to ensure that
        +                // the stale value is not removed from the cache when the fetch fails.
        +                const del = !noDelete || bf.__staleWhileFetching === undefined;
        +                if (del) {
        +                    this.#delete(k, 'fetch');
        +                }
        +                else if (!allowStaleAborted) {
        +                    // still replace the *promise* with the stale value,
        +                    // since we are done with the promise at this point.
        +                    // leave it untouched if we're still waiting for an
        +                    // aborted background fetch that hasn't yet returned.
        +                    this.#valList[index] = bf.__staleWhileFetching;
        +                }
        +            }
        +            if (allowStale) {
        +                if (options.status && bf.__staleWhileFetching !== undefined) {
        +                    options.status.returnedStale = true;
        +                }
        +                return bf.__staleWhileFetching;
        +            }
        +            else if (bf.__returned === bf) {
        +                throw er;
        +            }
        +        };
        +        const pcall = (res, rej) => {
        +            const fmp = this.#fetchMethod?.(k, v, fetchOpts);
        +            if (fmp && fmp instanceof Promise) {
        +                fmp.then(v => res(v === undefined ? undefined : v), rej);
        +            }
        +            // ignored, we go until we finish, regardless.
        +            // defer check until we are actually aborting,
        +            // so fetchMethod can override.
        +            ac.signal.addEventListener('abort', () => {
        +                if (!options.ignoreFetchAbort ||
        +                    options.allowStaleOnFetchAbort) {
        +                    res(undefined);
        +                    // when it eventually resolves, update the cache.
        +                    if (options.allowStaleOnFetchAbort) {
        +                        res = v => cb(v, true);
        +                    }
        +                }
        +            });
        +        };
        +        if (options.status)
        +            options.status.fetchDispatched = true;
        +        const p = new Promise(pcall).then(cb, eb);
        +        const bf = Object.assign(p, {
        +            __abortController: ac,
        +            __staleWhileFetching: v,
        +            __returned: undefined,
        +        });
        +        if (index === undefined) {
        +            // internal, don't expose status.
        +            this.set(k, bf, { ...fetchOpts.options, status: undefined });
        +            index = this.#keyMap.get(k);
        +        }
        +        else {
        +            this.#valList[index] = bf;
        +        }
        +        return bf;
        +    }
        +    #isBackgroundFetch(p) {
        +        if (!this.#hasFetchMethod)
        +            return false;
        +        const b = p;
        +        return (!!b &&
        +            b instanceof Promise &&
        +            b.hasOwnProperty('__staleWhileFetching') &&
        +            b.__abortController instanceof AC);
        +    }
        +    async fetch(k, fetchOptions = {}) {
        +        const { 
        +        // get options
        +        allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, 
        +        // set options
        +        ttl = this.ttl, noDisposeOnSet = this.noDisposeOnSet, size = 0, sizeCalculation = this.sizeCalculation, noUpdateTTL = this.noUpdateTTL, 
        +        // fetch exclusive options
        +        noDeleteOnFetchRejection = this.noDeleteOnFetchRejection, allowStaleOnFetchRejection = this.allowStaleOnFetchRejection, ignoreFetchAbort = this.ignoreFetchAbort, allowStaleOnFetchAbort = this.allowStaleOnFetchAbort, context, forceRefresh = false, status, signal, } = fetchOptions;
        +        if (!this.#hasFetchMethod) {
        +            if (status)
        +                status.fetch = 'get';
        +            return this.get(k, {
        +                allowStale,
        +                updateAgeOnGet,
        +                noDeleteOnStaleGet,
        +                status,
        +            });
        +        }
        +        const options = {
        +            allowStale,
        +            updateAgeOnGet,
        +            noDeleteOnStaleGet,
        +            ttl,
        +            noDisposeOnSet,
        +            size,
        +            sizeCalculation,
        +            noUpdateTTL,
        +            noDeleteOnFetchRejection,
        +            allowStaleOnFetchRejection,
        +            allowStaleOnFetchAbort,
        +            ignoreFetchAbort,
        +            status,
        +            signal,
        +        };
        +        let index = this.#keyMap.get(k);
        +        if (index === undefined) {
        +            if (status)
        +                status.fetch = 'miss';
        +            const p = this.#backgroundFetch(k, index, options, context);
        +            return (p.__returned = p);
        +        }
        +        else {
        +            // in cache, maybe already fetching
        +            const v = this.#valList[index];
        +            if (this.#isBackgroundFetch(v)) {
        +                const stale = allowStale && v.__staleWhileFetching !== undefined;
        +                if (status) {
        +                    status.fetch = 'inflight';
        +                    if (stale)
        +                        status.returnedStale = true;
        +                }
        +                return stale ? v.__staleWhileFetching : (v.__returned = v);
        +            }
        +            // if we force a refresh, that means do NOT serve the cached value,
        +            // unless we are already in the process of refreshing the cache.
        +            const isStale = this.#isStale(index);
        +            if (!forceRefresh && !isStale) {
        +                if (status)
        +                    status.fetch = 'hit';
        +                this.#moveToTail(index);
        +                if (updateAgeOnGet) {
        +                    this.#updateItemAge(index);
        +                }
        +                if (status)
        +                    this.#statusTTL(status, index);
        +                return v;
        +            }
        +            // ok, it is stale or a forced refresh, and not already fetching.
        +            // refresh the cache.
        +            const p = this.#backgroundFetch(k, index, options, context);
        +            const hasStale = p.__staleWhileFetching !== undefined;
        +            const staleVal = hasStale && allowStale;
        +            if (status) {
        +                status.fetch = isStale ? 'stale' : 'refresh';
        +                if (staleVal && isStale)
        +                    status.returnedStale = true;
        +            }
        +            return staleVal ? p.__staleWhileFetching : (p.__returned = p);
        +        }
        +    }
        +    async forceFetch(k, fetchOptions = {}) {
        +        const v = await this.fetch(k, fetchOptions);
        +        if (v === undefined)
        +            throw new Error('fetch() returned undefined');
        +        return v;
        +    }
        +    memo(k, memoOptions = {}) {
        +        const memoMethod = this.#memoMethod;
        +        if (!memoMethod) {
        +            throw new Error('no memoMethod provided to constructor');
        +        }
        +        const { context, forceRefresh, ...options } = memoOptions;
        +        const v = this.get(k, options);
        +        if (!forceRefresh && v !== undefined)
        +            return v;
        +        const vv = memoMethod(k, v, {
        +            options,
        +            context,
        +        });
        +        this.set(k, vv, options);
        +        return vv;
        +    }
        +    /**
        +     * Return a value from the cache. Will update the recency of the cache
        +     * entry found.
        +     *
        +     * If the key is not found, get() will return `undefined`.
        +     */
        +    get(k, getOptions = {}) {
        +        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status, } = getOptions;
        +        const index = this.#keyMap.get(k);
        +        if (index !== undefined) {
        +            const value = this.#valList[index];
        +            const fetching = this.#isBackgroundFetch(value);
        +            if (status)
        +                this.#statusTTL(status, index);
        +            if (this.#isStale(index)) {
        +                if (status)
        +                    status.get = 'stale';
        +                // delete only if not an in-flight background fetch
        +                if (!fetching) {
        +                    if (!noDeleteOnStaleGet) {
        +                        this.#delete(k, 'expire');
        +                    }
        +                    if (status && allowStale)
        +                        status.returnedStale = true;
        +                    return allowStale ? value : undefined;
        +                }
        +                else {
        +                    if (status &&
        +                        allowStale &&
        +                        value.__staleWhileFetching !== undefined) {
        +                        status.returnedStale = true;
        +                    }
        +                    return allowStale ? value.__staleWhileFetching : undefined;
        +                }
        +            }
        +            else {
        +                if (status)
        +                    status.get = 'hit';
        +                // if we're currently fetching it, we don't actually have it yet
        +                // it's not stale, which means this isn't a staleWhileRefetching.
        +                // If it's not stale, and fetching, AND has a __staleWhileFetching
        +                // value, then that means the user fetched with {forceRefresh:true},
        +                // so it's safe to return that value.
        +                if (fetching) {
        +                    return value.__staleWhileFetching;
        +                }
        +                this.#moveToTail(index);
        +                if (updateAgeOnGet) {
        +                    this.#updateItemAge(index);
        +                }
        +                return value;
        +            }
        +        }
        +        else if (status) {
        +            status.get = 'miss';
        +        }
        +    }
        +    #connect(p, n) {
        +        this.#prev[n] = p;
        +        this.#next[p] = n;
        +    }
        +    #moveToTail(index) {
        +        // if tail already, nothing to do
        +        // if head, move head to next[index]
        +        // else
        +        //   move next[prev[index]] to next[index] (head has no prev)
        +        //   move prev[next[index]] to prev[index]
        +        // prev[index] = tail
        +        // next[tail] = index
        +        // tail = index
        +        if (index !== this.#tail) {
        +            if (index === this.#head) {
        +                this.#head = this.#next[index];
        +            }
        +            else {
        +                this.#connect(this.#prev[index], this.#next[index]);
        +            }
        +            this.#connect(this.#tail, index);
        +            this.#tail = index;
        +        }
        +    }
        +    /**
        +     * Deletes a key out of the cache.
        +     *
        +     * Returns true if the key was deleted, false otherwise.
        +     */
        +    delete(k) {
        +        return this.#delete(k, 'delete');
        +    }
        +    #delete(k, reason) {
        +        let deleted = false;
        +        if (this.#size !== 0) {
        +            const index = this.#keyMap.get(k);
        +            if (index !== undefined) {
        +                deleted = true;
        +                if (this.#size === 1) {
        +                    this.#clear(reason);
        +                }
        +                else {
        +                    this.#removeItemSize(index);
        +                    const v = this.#valList[index];
        +                    if (this.#isBackgroundFetch(v)) {
        +                        v.__abortController.abort(new Error('deleted'));
        +                    }
        +                    else if (this.#hasDispose || this.#hasDisposeAfter) {
        +                        if (this.#hasDispose) {
        +                            this.#dispose?.(v, k, reason);
        +                        }
        +                        if (this.#hasDisposeAfter) {
        +                            this.#disposed?.push([v, k, reason]);
        +                        }
        +                    }
        +                    this.#keyMap.delete(k);
        +                    this.#keyList[index] = undefined;
        +                    this.#valList[index] = undefined;
        +                    if (index === this.#tail) {
        +                        this.#tail = this.#prev[index];
        +                    }
        +                    else if (index === this.#head) {
        +                        this.#head = this.#next[index];
        +                    }
        +                    else {
        +                        const pi = this.#prev[index];
        +                        this.#next[pi] = this.#next[index];
        +                        const ni = this.#next[index];
        +                        this.#prev[ni] = this.#prev[index];
        +                    }
        +                    this.#size--;
        +                    this.#free.push(index);
        +                }
        +            }
        +        }
        +        if (this.#hasDisposeAfter && this.#disposed?.length) {
        +            const dt = this.#disposed;
        +            let task;
        +            while ((task = dt?.shift())) {
        +                this.#disposeAfter?.(...task);
        +            }
        +        }
        +        return deleted;
        +    }
        +    /**
        +     * Clear the cache entirely, throwing away all values.
        +     */
        +    clear() {
        +        return this.#clear('delete');
        +    }
        +    #clear(reason) {
        +        for (const index of this.#rindexes({ allowStale: true })) {
        +            const v = this.#valList[index];
        +            if (this.#isBackgroundFetch(v)) {
        +                v.__abortController.abort(new Error('deleted'));
        +            }
        +            else {
        +                const k = this.#keyList[index];
        +                if (this.#hasDispose) {
        +                    this.#dispose?.(v, k, reason);
        +                }
        +                if (this.#hasDisposeAfter) {
        +                    this.#disposed?.push([v, k, reason]);
        +                }
        +            }
        +        }
        +        this.#keyMap.clear();
        +        this.#valList.fill(undefined);
        +        this.#keyList.fill(undefined);
        +        if (this.#ttls && this.#starts) {
        +            this.#ttls.fill(0);
        +            this.#starts.fill(0);
        +        }
        +        if (this.#sizes) {
        +            this.#sizes.fill(0);
        +        }
        +        this.#head = 0;
        +        this.#tail = 0;
        +        this.#free.length = 0;
        +        this.#calculatedSize = 0;
        +        this.#size = 0;
        +        if (this.#hasDisposeAfter && this.#disposed) {
        +            const dt = this.#disposed;
        +            let task;
        +            while ((task = dt?.shift())) {
        +                this.#disposeAfter?.(...task);
        +            }
        +        }
        +    }
        +}
        +//# sourceMappingURL=index.js.map
        +// EXTERNAL MODULE: external "node:path"
        +var external_node_path_ = __webpack_require__(76760);
        +// EXTERNAL MODULE: external "node:fs"
        +var external_node_fs_ = __webpack_require__(73024);
        +var external_node_fs_namespaceObject = /*#__PURE__*/__webpack_require__.t(external_node_fs_, 2);
        +// EXTERNAL MODULE: external "node:fs/promises"
        +var promises_ = __webpack_require__(51455);
        +// EXTERNAL MODULE: external "node:events"
        +var external_node_events_ = __webpack_require__(78474);
        +// EXTERNAL MODULE: external "node:stream"
        +var external_node_stream_ = __webpack_require__(57075);
        +// EXTERNAL MODULE: external "node:string_decoder"
        +var external_node_string_decoder_ = __webpack_require__(46193);
        +;// ../commons/node_modules/minipass/dist/esm/index.js
        +const proc = typeof process === 'object' && process
        +    ? process
        +    : {
        +        stdout: null,
        +        stderr: null,
        +    };
        +
        +
        +
        +/**
        + * Return true if the argument is a Minipass stream, Node stream, or something
        + * else that Minipass can interact with.
        + */
        +const isStream = (s) => !!s &&
        +    typeof s === 'object' &&
        +    (s instanceof Minipass ||
        +        s instanceof external_node_stream_ ||
        +        isReadable(s) ||
        +        isWritable(s));
        +/**
        + * Return true if the argument is a valid {@link Minipass.Readable}
        + */
        +const isReadable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof external_node_events_.EventEmitter &&
        +    typeof s.pipe === 'function' &&
        +    // node core Writable streams have a pipe() method, but it throws
        +    s.pipe !== external_node_stream_.Writable.prototype.pipe;
        +/**
        + * Return true if the argument is a valid {@link Minipass.Writable}
        + */
        +const isWritable = (s) => !!s &&
        +    typeof s === 'object' &&
        +    s instanceof external_node_events_.EventEmitter &&
        +    typeof s.write === 'function' &&
        +    typeof s.end === 'function';
        +const EOF = Symbol('EOF');
        +const MAYBE_EMIT_END = Symbol('maybeEmitEnd');
        +const EMITTED_END = Symbol('emittedEnd');
        +const EMITTING_END = Symbol('emittingEnd');
        +const EMITTED_ERROR = Symbol('emittedError');
        +const CLOSED = Symbol('closed');
        +const READ = Symbol('read');
        +const FLUSH = Symbol('flush');
        +const FLUSHCHUNK = Symbol('flushChunk');
        +const ENCODING = Symbol('encoding');
        +const DECODER = Symbol('decoder');
        +const FLOWING = Symbol('flowing');
        +const PAUSED = Symbol('paused');
        +const RESUME = Symbol('resume');
        +const BUFFER = Symbol('buffer');
        +const PIPES = Symbol('pipes');
        +const BUFFERLENGTH = Symbol('bufferLength');
        +const BUFFERPUSH = Symbol('bufferPush');
        +const BUFFERSHIFT = Symbol('bufferShift');
        +const OBJECTMODE = Symbol('objectMode');
        +// internal event when stream is destroyed
        +const DESTROYED = Symbol('destroyed');
        +// internal event when stream has an error
        +const ERROR = Symbol('error');
        +const EMITDATA = Symbol('emitData');
        +const EMITEND = Symbol('emitEnd');
        +const EMITEND2 = Symbol('emitEnd2');
        +const ASYNC = Symbol('async');
        +const ABORT = Symbol('abort');
        +const ABORTED = Symbol('aborted');
        +const SIGNAL = Symbol('signal');
        +const DATALISTENERS = Symbol('dataListeners');
        +const DISCARDED = Symbol('discarded');
        +const defer = (fn) => Promise.resolve().then(fn);
        +const nodefer = (fn) => fn();
        +const isEndish = (ev) => ev === 'end' || ev === 'finish' || ev === 'prefinish';
        +const isArrayBufferLike = (b) => b instanceof ArrayBuffer ||
        +    (!!b &&
        +        typeof b === 'object' &&
        +        b.constructor &&
        +        b.constructor.name === 'ArrayBuffer' &&
        +        b.byteLength >= 0);
        +const isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
        +/**
        + * Internal class representing a pipe to a destination stream.
        + *
        + * @internal
        + */
        +class Pipe {
        +    src;
        +    dest;
        +    opts;
        +    ondrain;
        +    constructor(src, dest, opts) {
        +        this.src = src;
        +        this.dest = dest;
        +        this.opts = opts;
        +        this.ondrain = () => src[RESUME]();
        +        this.dest.on('drain', this.ondrain);
        +    }
        +    unpipe() {
        +        this.dest.removeListener('drain', this.ondrain);
        +    }
        +    // only here for the prototype
        +    /* c8 ignore start */
        +    proxyErrors(_er) { }
        +    /* c8 ignore stop */
        +    end() {
        +        this.unpipe();
        +        if (this.opts.end)
        +            this.dest.end();
        +    }
        +}
        +/**
        + * Internal class representing a pipe to a destination stream where
        + * errors are proxied.
        + *
        + * @internal
        + */
        +class PipeProxyErrors extends Pipe {
        +    unpipe() {
        +        this.src.removeListener('error', this.proxyErrors);
        +        super.unpipe();
        +    }
        +    constructor(src, dest, opts) {
        +        super(src, dest, opts);
        +        this.proxyErrors = er => dest.emit('error', er);
        +        src.on('error', this.proxyErrors);
        +    }
        +}
        +const isObjectModeOptions = (o) => !!o.objectMode;
        +const isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== 'buffer';
        +/**
        + * Main export, the Minipass class
        + *
        + * `RType` is the type of data emitted, defaults to Buffer
        + *
        + * `WType` is the type of data to be written, if RType is buffer or string,
        + * then any {@link Minipass.ContiguousData} is allowed.
        + *
        + * `Events` is the set of event handler signatures that this object
        + * will emit, see {@link Minipass.Events}
        + */
        +class Minipass extends external_node_events_.EventEmitter {
        +    [FLOWING] = false;
        +    [PAUSED] = false;
        +    [PIPES] = [];
        +    [BUFFER] = [];
        +    [OBJECTMODE];
        +    [ENCODING];
        +    [ASYNC];
        +    [DECODER];
        +    [EOF] = false;
        +    [EMITTED_END] = false;
        +    [EMITTING_END] = false;
        +    [CLOSED] = false;
        +    [EMITTED_ERROR] = null;
        +    [BUFFERLENGTH] = 0;
        +    [DESTROYED] = false;
        +    [SIGNAL];
        +    [ABORTED] = false;
        +    [DATALISTENERS] = 0;
        +    [DISCARDED] = false;
        +    /**
        +     * true if the stream can be written
        +     */
        +    writable = true;
        +    /**
        +     * true if the stream can be read
        +     */
        +    readable = true;
        +    /**
        +     * If `RType` is Buffer, then options do not need to be provided.
        +     * Otherwise, an options object must be provided to specify either
        +     * {@link Minipass.SharedOptions.objectMode} or
        +     * {@link Minipass.SharedOptions.encoding}, as appropriate.
        +     */
        +    constructor(...args) {
        +        const options = (args[0] ||
        +            {});
        +        super();
        +        if (options.objectMode && typeof options.encoding === 'string') {
        +            throw new TypeError('Encoding and objectMode may not be used together');
        +        }
        +        if (isObjectModeOptions(options)) {
        +            this[OBJECTMODE] = true;
        +            this[ENCODING] = null;
        +        }
        +        else if (isEncodingOptions(options)) {
        +            this[ENCODING] = options.encoding;
        +            this[OBJECTMODE] = false;
        +        }
        +        else {
        +            this[OBJECTMODE] = false;
        +            this[ENCODING] = null;
        +        }
        +        this[ASYNC] = !!options.async;
        +        this[DECODER] = this[ENCODING]
        +            ? new external_node_string_decoder_.StringDecoder(this[ENCODING])
        +            : null;
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposeBuffer === true) {
        +            Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] });
        +        }
        +        //@ts-ignore - private option for debugging and testing
        +        if (options && options.debugExposePipes === true) {
        +            Object.defineProperty(this, 'pipes', { get: () => this[PIPES] });
        +        }
        +        const { signal } = options;
        +        if (signal) {
        +            this[SIGNAL] = signal;
        +            if (signal.aborted) {
        +                this[ABORT]();
        +            }
        +            else {
        +                signal.addEventListener('abort', () => this[ABORT]());
        +            }
        +        }
        +    }
        +    /**
        +     * The amount of data stored in the buffer waiting to be read.
        +     *
        +     * For Buffer strings, this will be the total byte length.
        +     * For string encoding streams, this will be the string character length,
        +     * according to JavaScript's `string.length` logic.
        +     * For objectMode streams, this is a count of the items waiting to be
        +     * emitted.
        +     */
        +    get bufferLength() {
        +        return this[BUFFERLENGTH];
        +    }
        +    /**
        +     * The `BufferEncoding` currently in use, or `null`
        +     */
        +    get encoding() {
        +        return this[ENCODING];
        +    }
        +    /**
        +     * @deprecated - This is a read only property
        +     */
        +    set encoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * @deprecated - Encoding may only be set at instantiation time
        +     */
        +    setEncoding(_enc) {
        +        throw new Error('Encoding must be set at instantiation time');
        +    }
        +    /**
        +     * True if this is an objectMode stream
        +     */
        +    get objectMode() {
        +        return this[OBJECTMODE];
        +    }
        +    /**
        +     * @deprecated - This is a read-only property
        +     */
        +    set objectMode(_om) {
        +        throw new Error('objectMode must be set at instantiation time');
        +    }
        +    /**
        +     * true if this is an async stream
        +     */
        +    get ['async']() {
        +        return this[ASYNC];
        +    }
        +    /**
        +     * Set to true to make this stream async.
        +     *
        +     * Once set, it cannot be unset, as this would potentially cause incorrect
        +     * behavior.  Ie, a sync stream can be made async, but an async stream
        +     * cannot be safely made sync.
        +     */
        +    set ['async'](a) {
        +        this[ASYNC] = this[ASYNC] || !!a;
        +    }
        +    // drop everything and get out of the flow completely
        +    [ABORT]() {
        +        this[ABORTED] = true;
        +        this.emit('abort', this[SIGNAL]?.reason);
        +        this.destroy(this[SIGNAL]?.reason);
        +    }
        +    /**
        +     * True if the stream has been aborted.
        +     */
        +    get aborted() {
        +        return this[ABORTED];
        +    }
        +    /**
        +     * No-op setter. Stream aborted status is set via the AbortSignal provided
        +     * in the constructor options.
        +     */
        +    set aborted(_) { }
        +    write(chunk, encoding, cb) {
        +        if (this[ABORTED])
        +            return false;
        +        if (this[EOF])
        +            throw new Error('write after end');
        +        if (this[DESTROYED]) {
        +            this.emit('error', Object.assign(new Error('Cannot call write after a stream was destroyed'), { code: 'ERR_STREAM_DESTROYED' }));
        +            return true;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (!encoding)
        +            encoding = 'utf8';
        +        const fn = this[ASYNC] ? defer : nodefer;
        +        // convert array buffers and typed array views into buffers
        +        // at some point in the future, we may want to do the opposite!
        +        // leave strings and buffers as-is
        +        // anything is only allowed if in object mode, so throw
        +        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
        +            if (isArrayBufferView(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
        +            }
        +            else if (isArrayBufferLike(chunk)) {
        +                //@ts-ignore - sinful unsafe type changing
        +                chunk = Buffer.from(chunk);
        +            }
        +            else if (typeof chunk !== 'string') {
        +                throw new Error('Non-contiguous data written to non-objectMode stream');
        +            }
        +        }
        +        // handle object mode up front, since it's simpler
        +        // this yields better performance, fewer checks later.
        +        if (this[OBJECTMODE]) {
        +            // maybe impossible?
        +            /* c8 ignore start */
        +            if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +                this[FLUSH](true);
        +            /* c8 ignore stop */
        +            if (this[FLOWING])
        +                this.emit('data', chunk);
        +            else
        +                this[BUFFERPUSH](chunk);
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // at this point the chunk is a buffer or string
        +        // don't buffer it up or send it to the decoder
        +        if (!chunk.length) {
        +            if (this[BUFFERLENGTH] !== 0)
        +                this.emit('readable');
        +            if (cb)
        +                fn(cb);
        +            return this[FLOWING];
        +        }
        +        // fast-path writing strings of same encoding to a stream with
        +        // an empty buffer, skipping the buffer/decoder dance
        +        if (typeof chunk === 'string' &&
        +            // unless it is a string already ready for us to use
        +            !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = Buffer.from(chunk, encoding);
        +        }
        +        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
        +            //@ts-ignore - sinful unsafe type change
        +            chunk = this[DECODER].write(chunk);
        +        }
        +        // Note: flushing CAN potentially switch us into not-flowing mode
        +        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
        +            this[FLUSH](true);
        +        if (this[FLOWING])
        +            this.emit('data', chunk);
        +        else
        +            this[BUFFERPUSH](chunk);
        +        if (this[BUFFERLENGTH] !== 0)
        +            this.emit('readable');
        +        if (cb)
        +            fn(cb);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Low-level explicit read method.
        +     *
        +     * In objectMode, the argument is ignored, and one item is returned if
        +     * available.
        +     *
        +     * `n` is the number of bytes (or in the case of encoding streams,
        +     * characters) to consume. If `n` is not provided, then the entire buffer
        +     * is returned, or `null` is returned if no data is available.
        +     *
        +     * If `n` is greater that the amount of data in the internal buffer,
        +     * then `null` is returned.
        +     */
        +    read(n) {
        +        if (this[DESTROYED])
        +            return null;
        +        this[DISCARDED] = false;
        +        if (this[BUFFERLENGTH] === 0 ||
        +            n === 0 ||
        +            (n && n > this[BUFFERLENGTH])) {
        +            this[MAYBE_EMIT_END]();
        +            return null;
        +        }
        +        if (this[OBJECTMODE])
        +            n = null;
        +        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
        +            // not object mode, so if we have an encoding, then RType is string
        +            // otherwise, must be Buffer
        +            this[BUFFER] = [
        +                (this[ENCODING]
        +                    ? this[BUFFER].join('')
        +                    : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])),
        +            ];
        +        }
        +        const ret = this[READ](n || null, this[BUFFER][0]);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [READ](n, chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERSHIFT]();
        +        else {
        +            const c = chunk;
        +            if (n === c.length || n === null)
        +                this[BUFFERSHIFT]();
        +            else if (typeof c === 'string') {
        +                this[BUFFER][0] = c.slice(n);
        +                chunk = c.slice(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +            else {
        +                this[BUFFER][0] = c.subarray(n);
        +                chunk = c.subarray(0, n);
        +                this[BUFFERLENGTH] -= n;
        +            }
        +        }
        +        this.emit('data', chunk);
        +        if (!this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +        return chunk;
        +    }
        +    end(chunk, encoding, cb) {
        +        if (typeof chunk === 'function') {
        +            cb = chunk;
        +            chunk = undefined;
        +        }
        +        if (typeof encoding === 'function') {
        +            cb = encoding;
        +            encoding = 'utf8';
        +        }
        +        if (chunk !== undefined)
        +            this.write(chunk, encoding);
        +        if (cb)
        +            this.once('end', cb);
        +        this[EOF] = true;
        +        this.writable = false;
        +        // if we haven't written anything, then go ahead and emit,
        +        // even if we're not reading.
        +        // we'll re-emit if a new 'end' listener is added anyway.
        +        // This makes MP more suitable to write-only use cases.
        +        if (this[FLOWING] || !this[PAUSED])
        +            this[MAYBE_EMIT_END]();
        +        return this;
        +    }
        +    // don't let the internal resume be overwritten
        +    [RESUME]() {
        +        if (this[DESTROYED])
        +            return;
        +        if (!this[DATALISTENERS] && !this[PIPES].length) {
        +            this[DISCARDED] = true;
        +        }
        +        this[PAUSED] = false;
        +        this[FLOWING] = true;
        +        this.emit('resume');
        +        if (this[BUFFER].length)
        +            this[FLUSH]();
        +        else if (this[EOF])
        +            this[MAYBE_EMIT_END]();
        +        else
        +            this.emit('drain');
        +    }
        +    /**
        +     * Resume the stream if it is currently in a paused state
        +     *
        +     * If called when there are no pipe destinations or `data` event listeners,
        +     * this will place the stream in a "discarded" state, where all data will
        +     * be thrown away. The discarded state is removed if a pipe destination or
        +     * data handler is added, if pause() is called, or if any synchronous or
        +     * asynchronous iteration is started.
        +     */
        +    resume() {
        +        return this[RESUME]();
        +    }
        +    /**
        +     * Pause the stream
        +     */
        +    pause() {
        +        this[FLOWING] = false;
        +        this[PAUSED] = true;
        +        this[DISCARDED] = false;
        +    }
        +    /**
        +     * true if the stream has been forcibly destroyed
        +     */
        +    get destroyed() {
        +        return this[DESTROYED];
        +    }
        +    /**
        +     * true if the stream is currently in a flowing state, meaning that
        +     * any writes will be immediately emitted.
        +     */
        +    get flowing() {
        +        return this[FLOWING];
        +    }
        +    /**
        +     * true if the stream is currently in a paused state
        +     */
        +    get paused() {
        +        return this[PAUSED];
        +    }
        +    [BUFFERPUSH](chunk) {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] += 1;
        +        else
        +            this[BUFFERLENGTH] += chunk.length;
        +        this[BUFFER].push(chunk);
        +    }
        +    [BUFFERSHIFT]() {
        +        if (this[OBJECTMODE])
        +            this[BUFFERLENGTH] -= 1;
        +        else
        +            this[BUFFERLENGTH] -= this[BUFFER][0].length;
        +        return this[BUFFER].shift();
        +    }
        +    [FLUSH](noDrain = false) {
        +        do { } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&
        +            this[BUFFER].length);
        +        if (!noDrain && !this[BUFFER].length && !this[EOF])
        +            this.emit('drain');
        +    }
        +    [FLUSHCHUNK](chunk) {
        +        this.emit('data', chunk);
        +        return this[FLOWING];
        +    }
        +    /**
        +     * Pipe all data emitted by this stream into the destination provided.
        +     *
        +     * Triggers the flow of data.
        +     */
        +    pipe(dest, opts) {
        +        if (this[DESTROYED])
        +            return dest;
        +        this[DISCARDED] = false;
        +        const ended = this[EMITTED_END];
        +        opts = opts || {};
        +        if (dest === proc.stdout || dest === proc.stderr)
        +            opts.end = false;
        +        else
        +            opts.end = opts.end !== false;
        +        opts.proxyErrors = !!opts.proxyErrors;
        +        // piping an ended stream ends immediately
        +        if (ended) {
        +            if (opts.end)
        +                dest.end();
        +        }
        +        else {
        +            // "as" here just ignores the WType, which pipes don't care about,
        +            // since they're only consuming from us, and writing to the dest
        +            this[PIPES].push(!opts.proxyErrors
        +                ? new Pipe(this, dest, opts)
        +                : new PipeProxyErrors(this, dest, opts));
        +            if (this[ASYNC])
        +                defer(() => this[RESUME]());
        +            else
        +                this[RESUME]();
        +        }
        +        return dest;
        +    }
        +    /**
        +     * Fully unhook a piped destination stream.
        +     *
        +     * If the destination stream was the only consumer of this stream (ie,
        +     * there are no other piped destinations or `'data'` event listeners)
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    unpipe(dest) {
        +        const p = this[PIPES].find(p => p.dest === dest);
        +        if (p) {
        +            if (this[PIPES].length === 1) {
        +                if (this[FLOWING] && this[DATALISTENERS] === 0) {
        +                    this[FLOWING] = false;
        +                }
        +                this[PIPES] = [];
        +            }
        +            else
        +                this[PIPES].splice(this[PIPES].indexOf(p), 1);
        +            p.unpipe();
        +        }
        +    }
        +    /**
        +     * Alias for {@link Minipass#on}
        +     */
        +    addListener(ev, handler) {
        +        return this.on(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.on`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * - Adding a 'data' event handler will trigger the flow of data
        +     *
        +     * - Adding a 'readable' event handler when there is data waiting to be read
        +     *   will cause 'readable' to be emitted immediately.
        +     *
        +     * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
        +     *   already passed will cause the event to be emitted immediately and all
        +     *   handlers removed.
        +     *
        +     * - Adding an 'error' event handler after an error has been emitted will
        +     *   cause the event to be re-emitted immediately with the error previously
        +     *   raised.
        +     */
        +    on(ev, handler) {
        +        const ret = super.on(ev, handler);
        +        if (ev === 'data') {
        +            this[DISCARDED] = false;
        +            this[DATALISTENERS]++;
        +            if (!this[PIPES].length && !this[FLOWING]) {
        +                this[RESUME]();
        +            }
        +        }
        +        else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {
        +            super.emit('readable');
        +        }
        +        else if (isEndish(ev) && this[EMITTED_END]) {
        +            super.emit(ev);
        +            this.removeAllListeners(ev);
        +        }
        +        else if (ev === 'error' && this[EMITTED_ERROR]) {
        +            const h = handler;
        +            if (this[ASYNC])
        +                defer(() => h.call(this, this[EMITTED_ERROR]));
        +            else
        +                h.call(this, this[EMITTED_ERROR]);
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Alias for {@link Minipass#off}
        +     */
        +    removeListener(ev, handler) {
        +        return this.off(ev, handler);
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.off`
        +     *
        +     * If a 'data' event handler is removed, and it was the last consumer
        +     * (ie, there are no pipe destinations or other 'data' event listeners),
        +     * then the flow of data will stop until there is another consumer or
        +     * {@link Minipass#resume} is explicitly called.
        +     */
        +    off(ev, handler) {
        +        const ret = super.off(ev, handler);
        +        // if we previously had listeners, and now we don't, and we don't
        +        // have any pipes, then stop the flow, unless it's been explicitly
        +        // put in a discarded flowing state via stream.resume().
        +        if (ev === 'data') {
        +            this[DATALISTENERS] = this.listeners('data').length;
        +            if (this[DATALISTENERS] === 0 &&
        +                !this[DISCARDED] &&
        +                !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.removeAllListeners`
        +     *
        +     * If all 'data' event handlers are removed, and they were the last consumer
        +     * (ie, there are no pipe destinations), then the flow of data will stop
        +     * until there is another consumer or {@link Minipass#resume} is explicitly
        +     * called.
        +     */
        +    removeAllListeners(ev) {
        +        const ret = super.removeAllListeners(ev);
        +        if (ev === 'data' || ev === undefined) {
        +            this[DATALISTENERS] = 0;
        +            if (!this[DISCARDED] && !this[PIPES].length) {
        +                this[FLOWING] = false;
        +            }
        +        }
        +        return ret;
        +    }
        +    /**
        +     * true if the 'end' event has been emitted
        +     */
        +    get emittedEnd() {
        +        return this[EMITTED_END];
        +    }
        +    [MAYBE_EMIT_END]() {
        +        if (!this[EMITTING_END] &&
        +            !this[EMITTED_END] &&
        +            !this[DESTROYED] &&
        +            this[BUFFER].length === 0 &&
        +            this[EOF]) {
        +            this[EMITTING_END] = true;
        +            this.emit('end');
        +            this.emit('prefinish');
        +            this.emit('finish');
        +            if (this[CLOSED])
        +                this.emit('close');
        +            this[EMITTING_END] = false;
        +        }
        +    }
        +    /**
        +     * Mostly identical to `EventEmitter.emit`, with the following
        +     * behavior differences to prevent data loss and unnecessary hangs:
        +     *
        +     * If the stream has been destroyed, and the event is something other
        +     * than 'close' or 'error', then `false` is returned and no handlers
        +     * are called.
        +     *
        +     * If the event is 'end', and has already been emitted, then the event
        +     * is ignored. If the stream is in a paused or non-flowing state, then
        +     * the event will be deferred until data flow resumes. If the stream is
        +     * async, then handlers will be called on the next tick rather than
        +     * immediately.
        +     *
        +     * If the event is 'close', and 'end' has not yet been emitted, then
        +     * the event will be deferred until after 'end' is emitted.
        +     *
        +     * If the event is 'error', and an AbortSignal was provided for the stream,
        +     * and there are no listeners, then the event is ignored, matching the
        +     * behavior of node core streams in the presense of an AbortSignal.
        +     *
        +     * If the event is 'finish' or 'prefinish', then all listeners will be
        +     * removed after emitting the event, to prevent double-firing.
        +     */
        +    emit(ev, ...args) {
        +        const data = args[0];
        +        // error and close are only events allowed after calling destroy()
        +        if (ev !== 'error' &&
        +            ev !== 'close' &&
        +            ev !== DESTROYED &&
        +            this[DESTROYED]) {
        +            return false;
        +        }
        +        else if (ev === 'data') {
        +            return !this[OBJECTMODE] && !data
        +                ? false
        +                : this[ASYNC]
        +                    ? (defer(() => this[EMITDATA](data)), true)
        +                    : this[EMITDATA](data);
        +        }
        +        else if (ev === 'end') {
        +            return this[EMITEND]();
        +        }
        +        else if (ev === 'close') {
        +            this[CLOSED] = true;
        +            // don't emit close before 'end' and 'finish'
        +            if (!this[EMITTED_END] && !this[DESTROYED])
        +                return false;
        +            const ret = super.emit('close');
        +            this.removeAllListeners('close');
        +            return ret;
        +        }
        +        else if (ev === 'error') {
        +            this[EMITTED_ERROR] = data;
        +            super.emit(ERROR, data);
        +            const ret = !this[SIGNAL] || this.listeners('error').length
        +                ? super.emit('error', data)
        +                : false;
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'resume') {
        +            const ret = super.emit('resume');
        +            this[MAYBE_EMIT_END]();
        +            return ret;
        +        }
        +        else if (ev === 'finish' || ev === 'prefinish') {
        +            const ret = super.emit(ev);
        +            this.removeAllListeners(ev);
        +            return ret;
        +        }
        +        // Some other unknown event
        +        const ret = super.emit(ev, ...args);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITDATA](data) {
        +        for (const p of this[PIPES]) {
        +            if (p.dest.write(data) === false)
        +                this.pause();
        +        }
        +        const ret = this[DISCARDED] ? false : super.emit('data', data);
        +        this[MAYBE_EMIT_END]();
        +        return ret;
        +    }
        +    [EMITEND]() {
        +        if (this[EMITTED_END])
        +            return false;
        +        this[EMITTED_END] = true;
        +        this.readable = false;
        +        return this[ASYNC]
        +            ? (defer(() => this[EMITEND2]()), true)
        +            : this[EMITEND2]();
        +    }
        +    [EMITEND2]() {
        +        if (this[DECODER]) {
        +            const data = this[DECODER].end();
        +            if (data) {
        +                for (const p of this[PIPES]) {
        +                    p.dest.write(data);
        +                }
        +                if (!this[DISCARDED])
        +                    super.emit('data', data);
        +            }
        +        }
        +        for (const p of this[PIPES]) {
        +            p.end();
        +        }
        +        const ret = super.emit('end');
        +        this.removeAllListeners('end');
        +        return ret;
        +    }
        +    /**
        +     * Return a Promise that resolves to an array of all emitted data once
        +     * the stream ends.
        +     */
        +    async collect() {
        +        const buf = Object.assign([], {
        +            dataLength: 0,
        +        });
        +        if (!this[OBJECTMODE])
        +            buf.dataLength = 0;
        +        // set the promise first, in case an error is raised
        +        // by triggering the flow here.
        +        const p = this.promise();
        +        this.on('data', c => {
        +            buf.push(c);
        +            if (!this[OBJECTMODE])
        +                buf.dataLength += c.length;
        +        });
        +        await p;
        +        return buf;
        +    }
        +    /**
        +     * Return a Promise that resolves to the concatenation of all emitted data
        +     * once the stream ends.
        +     *
        +     * Not allowed on objectMode streams.
        +     */
        +    async concat() {
        +        if (this[OBJECTMODE]) {
        +            throw new Error('cannot concat in objectMode');
        +        }
        +        const buf = await this.collect();
        +        return (this[ENCODING]
        +            ? buf.join('')
        +            : Buffer.concat(buf, buf.dataLength));
        +    }
        +    /**
        +     * Return a void Promise that resolves once the stream ends.
        +     */
        +    async promise() {
        +        return new Promise((resolve, reject) => {
        +            this.on(DESTROYED, () => reject(new Error('stream destroyed')));
        +            this.on('error', er => reject(er));
        +            this.on('end', () => resolve());
        +        });
        +    }
        +    /**
        +     * Asynchronous `for await of` iteration.
        +     *
        +     * This will continue emitting all chunks until the stream terminates.
        +     */
        +    [Symbol.asyncIterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = async () => {
        +            this.pause();
        +            stopped = true;
        +            return { value: undefined, done: true };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const res = this.read();
        +            if (res !== null)
        +                return Promise.resolve({ done: false, value: res });
        +            if (this[EOF])
        +                return stop();
        +            let resolve;
        +            let reject;
        +            const onerr = (er) => {
        +                this.off('data', ondata);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                reject(er);
        +            };
        +            const ondata = (value) => {
        +                this.off('error', onerr);
        +                this.off('end', onend);
        +                this.off(DESTROYED, ondestroy);
        +                this.pause();
        +                resolve({ value, done: !!this[EOF] });
        +            };
        +            const onend = () => {
        +                this.off('error', onerr);
        +                this.off('data', ondata);
        +                this.off(DESTROYED, ondestroy);
        +                stop();
        +                resolve({ done: true, value: undefined });
        +            };
        +            const ondestroy = () => onerr(new Error('stream destroyed'));
        +            return new Promise((res, rej) => {
        +                reject = rej;
        +                resolve = res;
        +                this.once(DESTROYED, ondestroy);
        +                this.once('error', onerr);
        +                this.once('end', onend);
        +                this.once('data', ondata);
        +            });
        +        };
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.asyncIterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Synchronous `for of` iteration.
        +     *
        +     * The iteration will terminate when the internal buffer runs out, even
        +     * if the stream has not yet terminated.
        +     */
        +    [Symbol.iterator]() {
        +        // set this up front, in case the consumer doesn't call next()
        +        // right away.
        +        this[DISCARDED] = false;
        +        let stopped = false;
        +        const stop = () => {
        +            this.pause();
        +            this.off(ERROR, stop);
        +            this.off(DESTROYED, stop);
        +            this.off('end', stop);
        +            stopped = true;
        +            return { done: true, value: undefined };
        +        };
        +        const next = () => {
        +            if (stopped)
        +                return stop();
        +            const value = this.read();
        +            return value === null ? stop() : { done: false, value };
        +        };
        +        this.once('end', stop);
        +        this.once(ERROR, stop);
        +        this.once(DESTROYED, stop);
        +        return {
        +            next,
        +            throw: stop,
        +            return: stop,
        +            [Symbol.iterator]() {
        +                return this;
        +            },
        +        };
        +    }
        +    /**
        +     * Destroy a stream, preventing it from being used for any further purpose.
        +     *
        +     * If the stream has a `close()` method, then it will be called on
        +     * destruction.
        +     *
        +     * After destruction, any attempt to write data, read data, or emit most
        +     * events will be ignored.
        +     *
        +     * If an error argument is provided, then it will be emitted in an
        +     * 'error' event.
        +     */
        +    destroy(er) {
        +        if (this[DESTROYED]) {
        +            if (er)
        +                this.emit('error', er);
        +            else
        +                this.emit(DESTROYED);
        +            return this;
        +        }
        +        this[DESTROYED] = true;
        +        this[DISCARDED] = true;
        +        // throw away all buffered data, it's never coming out
        +        this[BUFFER].length = 0;
        +        this[BUFFERLENGTH] = 0;
        +        const wc = this;
        +        if (typeof wc.close === 'function' && !this[CLOSED])
        +            wc.close();
        +        if (er)
        +            this.emit('error', er);
        +        // if no error to emit, still reject pending promises
        +        else
        +            this.emit(DESTROYED);
        +        return this;
        +    }
        +    /**
        +     * Alias for {@link isStream}
        +     *
        +     * Former export location, maintained for backwards compatibility.
        +     *
        +     * @deprecated
        +     */
        +    static get isStream() {
        +        return isStream;
        +    }
        +}
        +//# sourceMappingURL=index.js.map
        +;// ../commons/node_modules/path-scurry/dist/esm/index.js
        +
        +
        +
        +
        +
        +const realpathSync = external_fs_.realpathSync.native;
        +// TODO: test perf of fs/promises realpath vs realpathCB,
        +// since the promises one uses realpath.native
        +
        +
        +const defaultFS = {
        +    lstatSync: external_fs_.lstatSync,
        +    readdir: external_fs_.readdir,
        +    readdirSync: external_fs_.readdirSync,
        +    readlinkSync: external_fs_.readlinkSync,
        +    realpathSync,
        +    promises: {
        +        lstat: promises_.lstat,
        +        readdir: promises_.readdir,
        +        readlink: promises_.readlink,
        +        realpath: promises_.realpath,
        +    },
        +};
        +// if they just gave us require('fs') then use our default
        +const fsFromOption = (fsOption) => !fsOption || fsOption === defaultFS || fsOption === external_node_fs_namespaceObject ?
        +    defaultFS
        +    : {
        +        ...defaultFS,
        +        ...fsOption,
        +        promises: {
        +            ...defaultFS.promises,
        +            ...(fsOption.promises || {}),
        +        },
        +    };
        +// turn something like //?/c:/ into c:\
        +const uncDriveRegexp = /^\\\\\?\\([a-z]:)\\?$/i;
        +const uncToDrive = (rootPath) => rootPath.replace(/\//g, '\\').replace(uncDriveRegexp, '$1\\');
        +// windows paths are separated by either / or \
        +const eitherSep = /[\\\/]/;
        +const UNKNOWN = 0; // may not even exist, for all we know
        +const IFIFO = 0b0001;
        +const IFCHR = 0b0010;
        +const IFDIR = 0b0100;
        +const IFBLK = 0b0110;
        +const IFREG = 0b1000;
        +const IFLNK = 0b1010;
        +const IFSOCK = 0b1100;
        +const IFMT = 0b1111;
        +// mask to unset low 4 bits
        +const IFMT_UNKNOWN = ~IFMT;
        +// set after successfully calling readdir() and getting entries.
        +const READDIR_CALLED = 0b0000_0001_0000;
        +// set after a successful lstat()
        +const LSTAT_CALLED = 0b0000_0010_0000;
        +// set if an entry (or one of its parents) is definitely not a dir
        +const ENOTDIR = 0b0000_0100_0000;
        +// set if an entry (or one of its parents) does not exist
        +// (can also be set on lstat errors like EACCES or ENAMETOOLONG)
        +const ENOENT = 0b0000_1000_0000;
        +// cannot have child entries -- also verify &IFMT is either IFDIR or IFLNK
        +// set if we fail to readlink
        +const ENOREADLINK = 0b0001_0000_0000;
        +// set if we know realpath() will fail
        +const ENOREALPATH = 0b0010_0000_0000;
        +const ENOCHILD = ENOTDIR | ENOENT | ENOREALPATH;
        +const TYPEMASK = 0b0011_1111_1111;
        +const entToType = (s) => s.isFile() ? IFREG
        +    : s.isDirectory() ? IFDIR
        +        : s.isSymbolicLink() ? IFLNK
        +            : s.isCharacterDevice() ? IFCHR
        +                : s.isBlockDevice() ? IFBLK
        +                    : s.isSocket() ? IFSOCK
        +                        : s.isFIFO() ? IFIFO
        +                            : UNKNOWN;
        +// normalize unicode path names
        +const normalizeCache = new Map();
        +const normalize = (s) => {
        +    const c = normalizeCache.get(s);
        +    if (c)
        +        return c;
        +    const n = s.normalize('NFKD');
        +    normalizeCache.set(s, n);
        +    return n;
        +};
        +const normalizeNocaseCache = new Map();
        +const normalizeNocase = (s) => {
        +    const c = normalizeNocaseCache.get(s);
        +    if (c)
        +        return c;
        +    const n = normalize(s.toLowerCase());
        +    normalizeNocaseCache.set(s, n);
        +    return n;
        +};
        +/**
        + * An LRUCache for storing resolved path strings or Path objects.
        + * @internal
        + */
        +class ResolveCache extends LRUCache {
        +    constructor() {
        +        super({ max: 256 });
        +    }
        +}
        +// In order to prevent blowing out the js heap by allocating hundreds of
        +// thousands of Path entries when walking extremely large trees, the "children"
        +// in this tree are represented by storing an array of Path entries in an
        +// LRUCache, indexed by the parent.  At any time, Path.children() may return an
        +// empty array, indicating that it doesn't know about any of its children, and
        +// thus has to rebuild that cache.  This is fine, it just means that we don't
        +// benefit as much from having the cached entries, but huge directory walks
        +// don't blow out the stack, and smaller ones are still as fast as possible.
        +//
        +//It does impose some complexity when building up the readdir data, because we
        +//need to pass a reference to the children array that we started with.
        +/**
        + * an LRUCache for storing child entries.
        + * @internal
        + */
        +class ChildrenCache extends LRUCache {
        +    constructor(maxSize = 16 * 1024) {
        +        super({
        +            maxSize,
        +            // parent + children
        +            sizeCalculation: a => a.length + 1,
        +        });
        +    }
        +}
        +const setAsCwd = Symbol('PathScurry setAsCwd');
        +/**
        + * Path objects are sort of like a super-powered
        + * {@link https://nodejs.org/docs/latest/api/fs.html#class-fsdirent fs.Dirent}
        + *
        + * Each one represents a single filesystem entry on disk, which may or may not
        + * exist. It includes methods for reading various types of information via
        + * lstat, readlink, and readdir, and caches all information to the greatest
        + * degree possible.
        + *
        + * Note that fs operations that would normally throw will instead return an
        + * "empty" value. This is in order to prevent excessive overhead from error
        + * stack traces.
        + */
        +class PathBase {
        +    /**
        +     * the basename of this path
        +     *
        +     * **Important**: *always* test the path name against any test string
        +     * usingthe {@link isNamed} method, and not by directly comparing this
        +     * string. Otherwise, unicode path strings that the system sees as identical
        +     * will not be properly treated as the same path, leading to incorrect
        +     * behavior and possible security issues.
        +     */
        +    name;
        +    /**
        +     * the Path entry corresponding to the path root.
        +     *
        +     * @internal
        +     */
        +    root;
        +    /**
        +     * All roots found within the current PathScurry family
        +     *
        +     * @internal
        +     */
        +    roots;
        +    /**
        +     * a reference to the parent path, or undefined in the case of root entries
        +     *
        +     * @internal
        +     */
        +    parent;
        +    /**
        +     * boolean indicating whether paths are compared case-insensitively
        +     * @internal
        +     */
        +    nocase;
        +    /**
        +     * boolean indicating that this path is the current working directory
        +     * of the PathScurry collection that contains it.
        +     */
        +    isCWD = false;
        +    // potential default fs override
        +    #fs;
        +    // Stats fields
        +    #dev;
        +    get dev() {
        +        return this.#dev;
        +    }
        +    #mode;
        +    get mode() {
        +        return this.#mode;
        +    }
        +    #nlink;
        +    get nlink() {
        +        return this.#nlink;
        +    }
        +    #uid;
        +    get uid() {
        +        return this.#uid;
        +    }
        +    #gid;
        +    get gid() {
        +        return this.#gid;
        +    }
        +    #rdev;
        +    get rdev() {
        +        return this.#rdev;
        +    }
        +    #blksize;
        +    get blksize() {
        +        return this.#blksize;
        +    }
        +    #ino;
        +    get ino() {
        +        return this.#ino;
        +    }
        +    #size;
        +    get size() {
        +        return this.#size;
        +    }
        +    #blocks;
        +    get blocks() {
        +        return this.#blocks;
        +    }
        +    #atimeMs;
        +    get atimeMs() {
        +        return this.#atimeMs;
        +    }
        +    #mtimeMs;
        +    get mtimeMs() {
        +        return this.#mtimeMs;
        +    }
        +    #ctimeMs;
        +    get ctimeMs() {
        +        return this.#ctimeMs;
        +    }
        +    #birthtimeMs;
        +    get birthtimeMs() {
        +        return this.#birthtimeMs;
        +    }
        +    #atime;
        +    get atime() {
        +        return this.#atime;
        +    }
        +    #mtime;
        +    get mtime() {
        +        return this.#mtime;
        +    }
        +    #ctime;
        +    get ctime() {
        +        return this.#ctime;
        +    }
        +    #birthtime;
        +    get birthtime() {
        +        return this.#birthtime;
        +    }
        +    #matchName;
        +    #depth;
        +    #fullpath;
        +    #fullpathPosix;
        +    #relative;
        +    #relativePosix;
        +    #type;
        +    #children;
        +    #linkTarget;
        +    #realpath;
        +    /**
        +     * This property is for compatibility with the Dirent class as of
        +     * Node v20, where Dirent['parentPath'] refers to the path of the
        +     * directory that was passed to readdir. For root entries, it's the path
        +     * to the entry itself.
        +     */
        +    get parentPath() {
        +        return (this.parent || this).fullpath();
        +    }
        +    /**
        +     * Deprecated alias for Dirent['parentPath'] Somewhat counterintuitively,
        +     * this property refers to the *parent* path, not the path object itself.
        +     */
        +    get path() {
        +        return this.parentPath;
        +    }
        +    /**
        +     * Do not create new Path objects directly.  They should always be accessed
        +     * via the PathScurry class or other methods on the Path class.
        +     *
        +     * @internal
        +     */
        +    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
        +        this.name = name;
        +        this.#matchName = nocase ? normalizeNocase(name) : normalize(name);
        +        this.#type = type & TYPEMASK;
        +        this.nocase = nocase;
        +        this.roots = roots;
        +        this.root = root || this;
        +        this.#children = children;
        +        this.#fullpath = opts.fullpath;
        +        this.#relative = opts.relative;
        +        this.#relativePosix = opts.relativePosix;
        +        this.parent = opts.parent;
        +        if (this.parent) {
        +            this.#fs = this.parent.#fs;
        +        }
        +        else {
        +            this.#fs = fsFromOption(opts.fs);
        +        }
        +    }
        +    /**
        +     * Returns the depth of the Path object from its root.
        +     *
        +     * For example, a path at `/foo/bar` would have a depth of 2.
        +     */
        +    depth() {
        +        if (this.#depth !== undefined)
        +            return this.#depth;
        +        if (!this.parent)
        +            return (this.#depth = 0);
        +        return (this.#depth = this.parent.depth() + 1);
        +    }
        +    /**
        +     * @internal
        +     */
        +    childrenCache() {
        +        return this.#children;
        +    }
        +    /**
        +     * Get the Path object referenced by the string path, resolved from this Path
        +     */
        +    resolve(path) {
        +        if (!path) {
        +            return this;
        +        }
        +        const rootPath = this.getRootString(path);
        +        const dir = path.substring(rootPath.length);
        +        const dirParts = dir.split(this.splitSep);
        +        const result = rootPath ?
        +            this.getRoot(rootPath).#resolveParts(dirParts)
        +            : this.#resolveParts(dirParts);
        +        return result;
        +    }
        +    #resolveParts(dirParts) {
        +        let p = this;
        +        for (const part of dirParts) {
        +            p = p.child(part);
        +        }
        +        return p;
        +    }
        +    /**
        +     * Returns the cached children Path objects, if still available.  If they
        +     * have fallen out of the cache, then returns an empty array, and resets the
        +     * READDIR_CALLED bit, so that future calls to readdir() will require an fs
        +     * lookup.
        +     *
        +     * @internal
        +     */
        +    children() {
        +        const cached = this.#children.get(this);
        +        if (cached) {
        +            return cached;
        +        }
        +        const children = Object.assign([], { provisional: 0 });
        +        this.#children.set(this, children);
        +        this.#type &= ~READDIR_CALLED;
        +        return children;
        +    }
        +    /**
        +     * Resolves a path portion and returns or creates the child Path.
        +     *
        +     * Returns `this` if pathPart is `''` or `'.'`, or `parent` if pathPart is
        +     * `'..'`.
        +     *
        +     * This should not be called directly.  If `pathPart` contains any path
        +     * separators, it will lead to unsafe undefined behavior.
        +     *
        +     * Use `Path.resolve()` instead.
        +     *
        +     * @internal
        +     */
        +    child(pathPart, opts) {
        +        if (pathPart === '' || pathPart === '.') {
        +            return this;
        +        }
        +        if (pathPart === '..') {
        +            return this.parent || this;
        +        }
        +        // find the child
        +        const children = this.children();
        +        const name = this.nocase ? normalizeNocase(pathPart) : normalize(pathPart);
        +        for (const p of children) {
        +            if (p.#matchName === name) {
        +                return p;
        +            }
        +        }
        +        // didn't find it, create provisional child, since it might not
        +        // actually exist.  If we know the parent isn't a dir, then
        +        // in fact it CAN'T exist.
        +        const s = this.parent ? this.sep : '';
        +        const fullpath = this.#fullpath ? this.#fullpath + s + pathPart : undefined;
        +        const pchild = this.newChild(pathPart, UNKNOWN, {
        +            ...opts,
        +            parent: this,
        +            fullpath,
        +        });
        +        if (!this.canReaddir()) {
        +            pchild.#type |= ENOENT;
        +        }
        +        // don't have to update provisional, because if we have real children,
        +        // then provisional is set to children.length, otherwise a lower number
        +        children.push(pchild);
        +        return pchild;
        +    }
        +    /**
        +     * The relative path from the cwd. If it does not share an ancestor with
        +     * the cwd, then this ends up being equivalent to the fullpath()
        +     */
        +    relative() {
        +        if (this.isCWD)
        +            return '';
        +        if (this.#relative !== undefined) {
        +            return this.#relative;
        +        }
        +        const name = this.name;
        +        const p = this.parent;
        +        if (!p) {
        +            return (this.#relative = this.name);
        +        }
        +        const pv = p.relative();
        +        return pv + (!pv || !p.parent ? '' : this.sep) + name;
        +    }
        +    /**
        +     * The relative path from the cwd, using / as the path separator.
        +     * If it does not share an ancestor with
        +     * the cwd, then this ends up being equivalent to the fullpathPosix()
        +     * On posix systems, this is identical to relative().
        +     */
        +    relativePosix() {
        +        if (this.sep === '/')
        +            return this.relative();
        +        if (this.isCWD)
        +            return '';
        +        if (this.#relativePosix !== undefined)
        +            return this.#relativePosix;
        +        const name = this.name;
        +        const p = this.parent;
        +        if (!p) {
        +            return (this.#relativePosix = this.fullpathPosix());
        +        }
        +        const pv = p.relativePosix();
        +        return pv + (!pv || !p.parent ? '' : '/') + name;
        +    }
        +    /**
        +     * The fully resolved path string for this Path entry
        +     */
        +    fullpath() {
        +        if (this.#fullpath !== undefined) {
        +            return this.#fullpath;
        +        }
        +        const name = this.name;
        +        const p = this.parent;
        +        if (!p) {
        +            return (this.#fullpath = this.name);
        +        }
        +        const pv = p.fullpath();
        +        const fp = pv + (!p.parent ? '' : this.sep) + name;
        +        return (this.#fullpath = fp);
        +    }
        +    /**
        +     * On platforms other than windows, this is identical to fullpath.
        +     *
        +     * On windows, this is overridden to return the forward-slash form of the
        +     * full UNC path.
        +     */
        +    fullpathPosix() {
        +        if (this.#fullpathPosix !== undefined)
        +            return this.#fullpathPosix;
        +        if (this.sep === '/')
        +            return (this.#fullpathPosix = this.fullpath());
        +        if (!this.parent) {
        +            const p = this.fullpath().replace(/\\/g, '/');
        +            if (/^[a-z]:\//i.test(p)) {
        +                return (this.#fullpathPosix = `//?/${p}`);
        +            }
        +            else {
        +                return (this.#fullpathPosix = p);
        +            }
        +        }
        +        const p = this.parent;
        +        const pfpp = p.fullpathPosix();
        +        const fpp = pfpp + (!pfpp || !p.parent ? '' : '/') + this.name;
        +        return (this.#fullpathPosix = fpp);
        +    }
        +    /**
        +     * Is the Path of an unknown type?
        +     *
        +     * Note that we might know *something* about it if there has been a previous
        +     * filesystem operation, for example that it does not exist, or is not a
        +     * link, or whether it has child entries.
        +     */
        +    isUnknown() {
        +        return (this.#type & IFMT) === UNKNOWN;
        +    }
        +    isType(type) {
        +        return this[`is${type}`]();
        +    }
        +    getType() {
        +        return (this.isUnknown() ? 'Unknown'
        +            : this.isDirectory() ? 'Directory'
        +                : this.isFile() ? 'File'
        +                    : this.isSymbolicLink() ? 'SymbolicLink'
        +                        : this.isFIFO() ? 'FIFO'
        +                            : this.isCharacterDevice() ? 'CharacterDevice'
        +                                : this.isBlockDevice() ? 'BlockDevice'
        +                                    : /* c8 ignore start */ this.isSocket() ? 'Socket'
        +                                        : 'Unknown');
        +        /* c8 ignore stop */
        +    }
        +    /**
        +     * Is the Path a regular file?
        +     */
        +    isFile() {
        +        return (this.#type & IFMT) === IFREG;
        +    }
        +    /**
        +     * Is the Path a directory?
        +     */
        +    isDirectory() {
        +        return (this.#type & IFMT) === IFDIR;
        +    }
        +    /**
        +     * Is the path a character device?
        +     */
        +    isCharacterDevice() {
        +        return (this.#type & IFMT) === IFCHR;
        +    }
        +    /**
        +     * Is the path a block device?
        +     */
        +    isBlockDevice() {
        +        return (this.#type & IFMT) === IFBLK;
        +    }
        +    /**
        +     * Is the path a FIFO pipe?
        +     */
        +    isFIFO() {
        +        return (this.#type & IFMT) === IFIFO;
        +    }
        +    /**
        +     * Is the path a socket?
        +     */
        +    isSocket() {
        +        return (this.#type & IFMT) === IFSOCK;
        +    }
        +    /**
        +     * Is the path a symbolic link?
        +     */
        +    isSymbolicLink() {
        +        return (this.#type & IFLNK) === IFLNK;
        +    }
        +    /**
        +     * Return the entry if it has been subject of a successful lstat, or
        +     * undefined otherwise.
        +     *
        +     * Does not read the filesystem, so an undefined result *could* simply
        +     * mean that we haven't called lstat on it.
        +     */
        +    lstatCached() {
        +        return this.#type & LSTAT_CALLED ? this : undefined;
        +    }
        +    /**
        +     * Return the cached link target if the entry has been the subject of a
        +     * successful readlink, or undefined otherwise.
        +     *
        +     * Does not read the filesystem, so an undefined result *could* just mean we
        +     * don't have any cached data. Only use it if you are very sure that a
        +     * readlink() has been called at some point.
        +     */
        +    readlinkCached() {
        +        return this.#linkTarget;
        +    }
        +    /**
        +     * Returns the cached realpath target if the entry has been the subject
        +     * of a successful realpath, or undefined otherwise.
        +     *
        +     * Does not read the filesystem, so an undefined result *could* just mean we
        +     * don't have any cached data. Only use it if you are very sure that a
        +     * realpath() has been called at some point.
        +     */
        +    realpathCached() {
        +        return this.#realpath;
        +    }
        +    /**
        +     * Returns the cached child Path entries array if the entry has been the
        +     * subject of a successful readdir(), or [] otherwise.
        +     *
        +     * Does not read the filesystem, so an empty array *could* just mean we
        +     * don't have any cached data. Only use it if you are very sure that a
        +     * readdir() has been called recently enough to still be valid.
        +     */
        +    readdirCached() {
        +        const children = this.children();
        +        return children.slice(0, children.provisional);
        +    }
        +    /**
        +     * Return true if it's worth trying to readlink.  Ie, we don't (yet) have
        +     * any indication that readlink will definitely fail.
        +     *
        +     * Returns false if the path is known to not be a symlink, if a previous
        +     * readlink failed, or if the entry does not exist.
        +     */
        +    canReadlink() {
        +        if (this.#linkTarget)
        +            return true;
        +        if (!this.parent)
        +            return false;
        +        // cases where it cannot possibly succeed
        +        const ifmt = this.#type & IFMT;
        +        return !((ifmt !== UNKNOWN && ifmt !== IFLNK) ||
        +            this.#type & ENOREADLINK ||
        +            this.#type & ENOENT);
        +    }
        +    /**
        +     * Return true if readdir has previously been successfully called on this
        +     * path, indicating that cachedReaddir() is likely valid.
        +     */
        +    calledReaddir() {
        +        return !!(this.#type & READDIR_CALLED);
        +    }
        +    /**
        +     * Returns true if the path is known to not exist. That is, a previous lstat
        +     * or readdir failed to verify its existence when that would have been
        +     * expected, or a parent entry was marked either enoent or enotdir.
        +     */
        +    isENOENT() {
        +        return !!(this.#type & ENOENT);
        +    }
        +    /**
        +     * Return true if the path is a match for the given path name.  This handles
        +     * case sensitivity and unicode normalization.
        +     *
        +     * Note: even on case-sensitive systems, it is **not** safe to test the
        +     * equality of the `.name` property to determine whether a given pathname
        +     * matches, due to unicode normalization mismatches.
        +     *
        +     * Always use this method instead of testing the `path.name` property
        +     * directly.
        +     */
        +    isNamed(n) {
        +        return !this.nocase ?
        +            this.#matchName === normalize(n)
        +            : this.#matchName === normalizeNocase(n);
        +    }
        +    /**
        +     * Return the Path object corresponding to the target of a symbolic link.
        +     *
        +     * If the Path is not a symbolic link, or if the readlink call fails for any
        +     * reason, `undefined` is returned.
        +     *
        +     * Result is cached, and thus may be outdated if the filesystem is mutated.
        +     */
        +    async readlink() {
        +        const target = this.#linkTarget;
        +        if (target) {
        +            return target;
        +        }
        +        if (!this.canReadlink()) {
        +            return undefined;
        +        }
        +        /* c8 ignore start */
        +        // already covered by the canReadlink test, here for ts grumples
        +        if (!this.parent) {
        +            return undefined;
        +        }
        +        /* c8 ignore stop */
        +        try {
        +            const read = await this.#fs.promises.readlink(this.fullpath());
        +            const linkTarget = (await this.parent.realpath())?.resolve(read);
        +            if (linkTarget) {
        +                return (this.#linkTarget = linkTarget);
        +            }
        +        }
        +        catch (er) {
        +            this.#readlinkFail(er.code);
        +            return undefined;
        +        }
        +    }
        +    /**
        +     * Synchronous {@link PathBase.readlink}
        +     */
        +    readlinkSync() {
        +        const target = this.#linkTarget;
        +        if (target) {
        +            return target;
        +        }
        +        if (!this.canReadlink()) {
        +            return undefined;
        +        }
        +        /* c8 ignore start */
        +        // already covered by the canReadlink test, here for ts grumples
        +        if (!this.parent) {
        +            return undefined;
        +        }
        +        /* c8 ignore stop */
        +        try {
        +            const read = this.#fs.readlinkSync(this.fullpath());
        +            const linkTarget = this.parent.realpathSync()?.resolve(read);
        +            if (linkTarget) {
        +                return (this.#linkTarget = linkTarget);
        +            }
        +        }
        +        catch (er) {
        +            this.#readlinkFail(er.code);
        +            return undefined;
        +        }
        +    }
        +    #readdirSuccess(children) {
        +        // succeeded, mark readdir called bit
        +        this.#type |= READDIR_CALLED;
        +        // mark all remaining provisional children as ENOENT
        +        for (let p = children.provisional; p < children.length; p++) {
        +            const c = children[p];
        +            if (c)
        +                c.#markENOENT();
        +        }
        +    }
        +    #markENOENT() {
        +        // mark as UNKNOWN and ENOENT
        +        if (this.#type & ENOENT)
        +            return;
        +        this.#type = (this.#type | ENOENT) & IFMT_UNKNOWN;
        +        this.#markChildrenENOENT();
        +    }
        +    #markChildrenENOENT() {
        +        // all children are provisional and do not exist
        +        const children = this.children();
        +        children.provisional = 0;
        +        for (const p of children) {
        +            p.#markENOENT();
        +        }
        +    }
        +    #markENOREALPATH() {
        +        this.#type |= ENOREALPATH;
        +        this.#markENOTDIR();
        +    }
        +    // save the information when we know the entry is not a dir
        +    #markENOTDIR() {
        +        // entry is not a directory, so any children can't exist.
        +        // this *should* be impossible, since any children created
        +        // after it's been marked ENOTDIR should be marked ENOENT,
        +        // so it won't even get to this point.
        +        /* c8 ignore start */
        +        if (this.#type & ENOTDIR)
        +            return;
        +        /* c8 ignore stop */
        +        let t = this.#type;
        +        // this could happen if we stat a dir, then delete it,
        +        // then try to read it or one of its children.
        +        if ((t & IFMT) === IFDIR)
        +            t &= IFMT_UNKNOWN;
        +        this.#type = t | ENOTDIR;
        +        this.#markChildrenENOENT();
        +    }
        +    #readdirFail(code = '') {
        +        // markENOTDIR and markENOENT also set provisional=0
        +        if (code === 'ENOTDIR' || code === 'EPERM') {
        +            this.#markENOTDIR();
        +        }
        +        else if (code === 'ENOENT') {
        +            this.#markENOENT();
        +        }
        +        else {
        +            this.children().provisional = 0;
        +        }
        +    }
        +    #lstatFail(code = '') {
        +        // Windows just raises ENOENT in this case, disable for win CI
        +        /* c8 ignore start */
        +        if (code === 'ENOTDIR') {
        +            // already know it has a parent by this point
        +            const p = this.parent;
        +            p.#markENOTDIR();
        +        }
        +        else if (code === 'ENOENT') {
        +            /* c8 ignore stop */
        +            this.#markENOENT();
        +        }
        +    }
        +    #readlinkFail(code = '') {
        +        let ter = this.#type;
        +        ter |= ENOREADLINK;
        +        if (code === 'ENOENT')
        +            ter |= ENOENT;
        +        // windows gets a weird error when you try to readlink a file
        +        if (code === 'EINVAL' || code === 'UNKNOWN') {
        +            // exists, but not a symlink, we don't know WHAT it is, so remove
        +            // all IFMT bits.
        +            ter &= IFMT_UNKNOWN;
        +        }
        +        this.#type = ter;
        +        // windows just gets ENOENT in this case.  We do cover the case,
        +        // just disabled because it's impossible on Windows CI
        +        /* c8 ignore start */
        +        if (code === 'ENOTDIR' && this.parent) {
        +            this.parent.#markENOTDIR();
        +        }
        +        /* c8 ignore stop */
        +    }
        +    #readdirAddChild(e, c) {
        +        return (this.#readdirMaybePromoteChild(e, c) ||
        +            this.#readdirAddNewChild(e, c));
        +    }
        +    #readdirAddNewChild(e, c) {
        +        // alloc new entry at head, so it's never provisional
        +        const type = entToType(e);
        +        const child = this.newChild(e.name, type, { parent: this });
        +        const ifmt = child.#type & IFMT;
        +        if (ifmt !== IFDIR && ifmt !== IFLNK && ifmt !== UNKNOWN) {
        +            child.#type |= ENOTDIR;
        +        }
        +        c.unshift(child);
        +        c.provisional++;
        +        return child;
        +    }
        +    #readdirMaybePromoteChild(e, c) {
        +        for (let p = c.provisional; p < c.length; p++) {
        +            const pchild = c[p];
        +            const name = this.nocase ? normalizeNocase(e.name) : normalize(e.name);
        +            if (name !== pchild.#matchName) {
        +                continue;
        +            }
        +            return this.#readdirPromoteChild(e, pchild, p, c);
        +        }
        +    }
        +    #readdirPromoteChild(e, p, index, c) {
        +        const v = p.name;
        +        // retain any other flags, but set ifmt from dirent
        +        p.#type = (p.#type & IFMT_UNKNOWN) | entToType(e);
        +        // case sensitivity fixing when we learn the true name.
        +        if (v !== e.name)
        +            p.name = e.name;
        +        // just advance provisional index (potentially off the list),
        +        // otherwise we have to splice/pop it out and re-insert at head
        +        if (index !== c.provisional) {
        +            if (index === c.length - 1)
        +                c.pop();
        +            else
        +                c.splice(index, 1);
        +            c.unshift(p);
        +        }
        +        c.provisional++;
        +        return p;
        +    }
        +    /**
        +     * Call lstat() on this Path, and update all known information that can be
        +     * determined.
        +     *
        +     * Note that unlike `fs.lstat()`, the returned value does not contain some
        +     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
        +     * information is required, you will need to call `fs.lstat` yourself.
        +     *
        +     * If the Path refers to a nonexistent file, or if the lstat call fails for
        +     * any reason, `undefined` is returned.  Otherwise the updated Path object is
        +     * returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     */
        +    async lstat() {
        +        if ((this.#type & ENOENT) === 0) {
        +            try {
        +                this.#applyStat(await this.#fs.promises.lstat(this.fullpath()));
        +                return this;
        +            }
        +            catch (er) {
        +                this.#lstatFail(er.code);
        +            }
        +        }
        +    }
        +    /**
        +     * synchronous {@link PathBase.lstat}
        +     */
        +    lstatSync() {
        +        if ((this.#type & ENOENT) === 0) {
        +            try {
        +                this.#applyStat(this.#fs.lstatSync(this.fullpath()));
        +                return this;
        +            }
        +            catch (er) {
        +                this.#lstatFail(er.code);
        +            }
        +        }
        +    }
        +    #applyStat(st) {
        +        const { atime, atimeMs, birthtime, birthtimeMs, blksize, blocks, ctime, ctimeMs, dev, gid, ino, mode, mtime, mtimeMs, nlink, rdev, size, uid, } = st;
        +        this.#atime = atime;
        +        this.#atimeMs = atimeMs;
        +        this.#birthtime = birthtime;
        +        this.#birthtimeMs = birthtimeMs;
        +        this.#blksize = blksize;
        +        this.#blocks = blocks;
        +        this.#ctime = ctime;
        +        this.#ctimeMs = ctimeMs;
        +        this.#dev = dev;
        +        this.#gid = gid;
        +        this.#ino = ino;
        +        this.#mode = mode;
        +        this.#mtime = mtime;
        +        this.#mtimeMs = mtimeMs;
        +        this.#nlink = nlink;
        +        this.#rdev = rdev;
        +        this.#size = size;
        +        this.#uid = uid;
        +        const ifmt = entToType(st);
        +        // retain any other flags, but set the ifmt
        +        this.#type = (this.#type & IFMT_UNKNOWN) | ifmt | LSTAT_CALLED;
        +        if (ifmt !== UNKNOWN && ifmt !== IFDIR && ifmt !== IFLNK) {
        +            this.#type |= ENOTDIR;
        +        }
        +    }
        +    #onReaddirCB = [];
        +    #readdirCBInFlight = false;
        +    #callOnReaddirCB(children) {
        +        this.#readdirCBInFlight = false;
        +        const cbs = this.#onReaddirCB.slice();
        +        this.#onReaddirCB.length = 0;
        +        cbs.forEach(cb => cb(null, children));
        +    }
        +    /**
        +     * Standard node-style callback interface to get list of directory entries.
        +     *
        +     * If the Path cannot or does not contain any children, then an empty array
        +     * is returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     *
        +     * @param cb The callback called with (er, entries).  Note that the `er`
        +     * param is somewhat extraneous, as all readdir() errors are handled and
        +     * simply result in an empty set of entries being returned.
        +     * @param allowZalgo Boolean indicating that immediately known results should
        +     * *not* be deferred with `queueMicrotask`. Defaults to `false`. Release
        +     * zalgo at your peril, the dark pony lord is devious and unforgiving.
        +     */
        +    readdirCB(cb, allowZalgo = false) {
        +        if (!this.canReaddir()) {
        +            if (allowZalgo)
        +                cb(null, []);
        +            else
        +                queueMicrotask(() => cb(null, []));
        +            return;
        +        }
        +        const children = this.children();
        +        if (this.calledReaddir()) {
        +            const c = children.slice(0, children.provisional);
        +            if (allowZalgo)
        +                cb(null, c);
        +            else
        +                queueMicrotask(() => cb(null, c));
        +            return;
        +        }
        +        // don't have to worry about zalgo at this point.
        +        this.#onReaddirCB.push(cb);
        +        if (this.#readdirCBInFlight) {
        +            return;
        +        }
        +        this.#readdirCBInFlight = true;
        +        // else read the directory, fill up children
        +        // de-provisionalize any provisional children.
        +        const fullpath = this.fullpath();
        +        this.#fs.readdir(fullpath, { withFileTypes: true }, (er, entries) => {
        +            if (er) {
        +                this.#readdirFail(er.code);
        +                children.provisional = 0;
        +            }
        +            else {
        +                // if we didn't get an error, we always get entries.
        +                //@ts-ignore
        +                for (const e of entries) {
        +                    this.#readdirAddChild(e, children);
        +                }
        +                this.#readdirSuccess(children);
        +            }
        +            this.#callOnReaddirCB(children.slice(0, children.provisional));
        +            return;
        +        });
        +    }
        +    #asyncReaddirInFlight;
        +    /**
        +     * Return an array of known child entries.
        +     *
        +     * If the Path cannot or does not contain any children, then an empty array
        +     * is returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     */
        +    async readdir() {
        +        if (!this.canReaddir()) {
        +            return [];
        +        }
        +        const children = this.children();
        +        if (this.calledReaddir()) {
        +            return children.slice(0, children.provisional);
        +        }
        +        // else read the directory, fill up children
        +        // de-provisionalize any provisional children.
        +        const fullpath = this.fullpath();
        +        if (this.#asyncReaddirInFlight) {
        +            await this.#asyncReaddirInFlight;
        +        }
        +        else {
        +            /* c8 ignore start */
        +            let resolve = () => { };
        +            /* c8 ignore stop */
        +            this.#asyncReaddirInFlight = new Promise(res => (resolve = res));
        +            try {
        +                for (const e of await this.#fs.promises.readdir(fullpath, {
        +                    withFileTypes: true,
        +                })) {
        +                    this.#readdirAddChild(e, children);
        +                }
        +                this.#readdirSuccess(children);
        +            }
        +            catch (er) {
        +                this.#readdirFail(er.code);
        +                children.provisional = 0;
        +            }
        +            this.#asyncReaddirInFlight = undefined;
        +            resolve();
        +        }
        +        return children.slice(0, children.provisional);
        +    }
        +    /**
        +     * synchronous {@link PathBase.readdir}
        +     */
        +    readdirSync() {
        +        if (!this.canReaddir()) {
        +            return [];
        +        }
        +        const children = this.children();
        +        if (this.calledReaddir()) {
        +            return children.slice(0, children.provisional);
        +        }
        +        // else read the directory, fill up children
        +        // de-provisionalize any provisional children.
        +        const fullpath = this.fullpath();
        +        try {
        +            for (const e of this.#fs.readdirSync(fullpath, {
        +                withFileTypes: true,
        +            })) {
        +                this.#readdirAddChild(e, children);
        +            }
        +            this.#readdirSuccess(children);
        +        }
        +        catch (er) {
        +            this.#readdirFail(er.code);
        +            children.provisional = 0;
        +        }
        +        return children.slice(0, children.provisional);
        +    }
        +    canReaddir() {
        +        if (this.#type & ENOCHILD)
        +            return false;
        +        const ifmt = IFMT & this.#type;
        +        // we always set ENOTDIR when setting IFMT, so should be impossible
        +        /* c8 ignore start */
        +        if (!(ifmt === UNKNOWN || ifmt === IFDIR || ifmt === IFLNK)) {
        +            return false;
        +        }
        +        /* c8 ignore stop */
        +        return true;
        +    }
        +    shouldWalk(dirs, walkFilter) {
        +        return ((this.#type & IFDIR) === IFDIR &&
        +            !(this.#type & ENOCHILD) &&
        +            !dirs.has(this) &&
        +            (!walkFilter || walkFilter(this)));
        +    }
        +    /**
        +     * Return the Path object corresponding to path as resolved
        +     * by realpath(3).
        +     *
        +     * If the realpath call fails for any reason, `undefined` is returned.
        +     *
        +     * Result is cached, and thus may be outdated if the filesystem is mutated.
        +     * On success, returns a Path object.
        +     */
        +    async realpath() {
        +        if (this.#realpath)
        +            return this.#realpath;
        +        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
        +            return undefined;
        +        try {
        +            const rp = await this.#fs.promises.realpath(this.fullpath());
        +            return (this.#realpath = this.resolve(rp));
        +        }
        +        catch (_) {
        +            this.#markENOREALPATH();
        +        }
        +    }
        +    /**
        +     * Synchronous {@link realpath}
        +     */
        +    realpathSync() {
        +        if (this.#realpath)
        +            return this.#realpath;
        +        if ((ENOREALPATH | ENOREADLINK | ENOENT) & this.#type)
        +            return undefined;
        +        try {
        +            const rp = this.#fs.realpathSync(this.fullpath());
        +            return (this.#realpath = this.resolve(rp));
        +        }
        +        catch (_) {
        +            this.#markENOREALPATH();
        +        }
        +    }
        +    /**
        +     * Internal method to mark this Path object as the scurry cwd,
        +     * called by {@link PathScurry#chdir}
        +     *
        +     * @internal
        +     */
        +    [setAsCwd](oldCwd) {
        +        if (oldCwd === this)
        +            return;
        +        oldCwd.isCWD = false;
        +        this.isCWD = true;
        +        const changed = new Set([]);
        +        let rp = [];
        +        let p = this;
        +        while (p && p.parent) {
        +            changed.add(p);
        +            p.#relative = rp.join(this.sep);
        +            p.#relativePosix = rp.join('/');
        +            p = p.parent;
        +            rp.push('..');
        +        }
        +        // now un-memoize parents of old cwd
        +        p = oldCwd;
        +        while (p && p.parent && !changed.has(p)) {
        +            p.#relative = undefined;
        +            p.#relativePosix = undefined;
        +            p = p.parent;
        +        }
        +    }
        +}
        +/**
        + * Path class used on win32 systems
        + *
        + * Uses `'\\'` as the path separator for returned paths, either `'\\'` or `'/'`
        + * as the path separator for parsing paths.
        + */
        +class PathWin32 extends PathBase {
        +    /**
        +     * Separator for generating path strings.
        +     */
        +    sep = '\\';
        +    /**
        +     * Separator for parsing path strings.
        +     */
        +    splitSep = eitherSep;
        +    /**
        +     * Do not create new Path objects directly.  They should always be accessed
        +     * via the PathScurry class or other methods on the Path class.
        +     *
        +     * @internal
        +     */
        +    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
        +        super(name, type, root, roots, nocase, children, opts);
        +    }
        +    /**
        +     * @internal
        +     */
        +    newChild(name, type = UNKNOWN, opts = {}) {
        +        return new PathWin32(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRootString(path) {
        +        return external_node_path_.win32.parse(path).root;
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRoot(rootPath) {
        +        rootPath = uncToDrive(rootPath.toUpperCase());
        +        if (rootPath === this.root.name) {
        +            return this.root;
        +        }
        +        // ok, not that one, check if it matches another we know about
        +        for (const [compare, root] of Object.entries(this.roots)) {
        +            if (this.sameRoot(rootPath, compare)) {
        +                return (this.roots[rootPath] = root);
        +            }
        +        }
        +        // otherwise, have to create a new one.
        +        return (this.roots[rootPath] = new PathScurryWin32(rootPath, this).root);
        +    }
        +    /**
        +     * @internal
        +     */
        +    sameRoot(rootPath, compare = this.root.name) {
        +        // windows can (rarely) have case-sensitive filesystem, but
        +        // UNC and drive letters are always case-insensitive, and canonically
        +        // represented uppercase.
        +        rootPath = rootPath
        +            .toUpperCase()
        +            .replace(/\//g, '\\')
        +            .replace(uncDriveRegexp, '$1\\');
        +        return rootPath === compare;
        +    }
        +}
        +/**
        + * Path class used on all posix systems.
        + *
        + * Uses `'/'` as the path separator.
        + */
        +class PathPosix extends PathBase {
        +    /**
        +     * separator for parsing path strings
        +     */
        +    splitSep = '/';
        +    /**
        +     * separator for generating path strings
        +     */
        +    sep = '/';
        +    /**
        +     * Do not create new Path objects directly.  They should always be accessed
        +     * via the PathScurry class or other methods on the Path class.
        +     *
        +     * @internal
        +     */
        +    constructor(name, type = UNKNOWN, root, roots, nocase, children, opts) {
        +        super(name, type, root, roots, nocase, children, opts);
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRootString(path) {
        +        return path.startsWith('/') ? '/' : '';
        +    }
        +    /**
        +     * @internal
        +     */
        +    getRoot(_rootPath) {
        +        return this.root;
        +    }
        +    /**
        +     * @internal
        +     */
        +    newChild(name, type = UNKNOWN, opts = {}) {
        +        return new PathPosix(name, type, this.root, this.roots, this.nocase, this.childrenCache(), opts);
        +    }
        +}
        +/**
        + * The base class for all PathScurry classes, providing the interface for path
        + * resolution and filesystem operations.
        + *
        + * Typically, you should *not* instantiate this class directly, but rather one
        + * of the platform-specific classes, or the exported {@link PathScurry} which
        + * defaults to the current platform.
        + */
        +class PathScurryBase {
        +    /**
        +     * The root Path entry for the current working directory of this Scurry
        +     */
        +    root;
        +    /**
        +     * The string path for the root of this Scurry's current working directory
        +     */
        +    rootPath;
        +    /**
        +     * A collection of all roots encountered, referenced by rootPath
        +     */
        +    roots;
        +    /**
        +     * The Path entry corresponding to this PathScurry's current working directory.
        +     */
        +    cwd;
        +    #resolveCache;
        +    #resolvePosixCache;
        +    #children;
        +    /**
        +     * Perform path comparisons case-insensitively.
        +     *
        +     * Defaults true on Darwin and Windows systems, false elsewhere.
        +     */
        +    nocase;
        +    #fs;
        +    /**
        +     * This class should not be instantiated directly.
        +     *
        +     * Use PathScurryWin32, PathScurryDarwin, PathScurryPosix, or PathScurry
        +     *
        +     * @internal
        +     */
        +    constructor(cwd = process.cwd(), pathImpl, sep, { nocase, childrenCacheSize = 16 * 1024, fs = defaultFS, } = {}) {
        +        this.#fs = fsFromOption(fs);
        +        if (cwd instanceof URL || cwd.startsWith('file://')) {
        +            cwd = (0,external_node_url_.fileURLToPath)(cwd);
        +        }
        +        // resolve and split root, and then add to the store.
        +        // this is the only time we call path.resolve()
        +        const cwdPath = pathImpl.resolve(cwd);
        +        this.roots = Object.create(null);
        +        this.rootPath = this.parseRootPath(cwdPath);
        +        this.#resolveCache = new ResolveCache();
        +        this.#resolvePosixCache = new ResolveCache();
        +        this.#children = new ChildrenCache(childrenCacheSize);
        +        const split = cwdPath.substring(this.rootPath.length).split(sep);
        +        // resolve('/') leaves '', splits to [''], we don't want that.
        +        if (split.length === 1 && !split[0]) {
        +            split.pop();
        +        }
        +        /* c8 ignore start */
        +        if (nocase === undefined) {
        +            throw new TypeError('must provide nocase setting to PathScurryBase ctor');
        +        }
        +        /* c8 ignore stop */
        +        this.nocase = nocase;
        +        this.root = this.newRoot(this.#fs);
        +        this.roots[this.rootPath] = this.root;
        +        let prev = this.root;
        +        let len = split.length - 1;
        +        const joinSep = pathImpl.sep;
        +        let abs = this.rootPath;
        +        let sawFirst = false;
        +        for (const part of split) {
        +            const l = len--;
        +            prev = prev.child(part, {
        +                relative: new Array(l).fill('..').join(joinSep),
        +                relativePosix: new Array(l).fill('..').join('/'),
        +                fullpath: (abs += (sawFirst ? '' : joinSep) + part),
        +            });
        +            sawFirst = true;
        +        }
        +        this.cwd = prev;
        +    }
        +    /**
        +     * Get the depth of a provided path, string, or the cwd
        +     */
        +    depth(path = this.cwd) {
        +        if (typeof path === 'string') {
        +            path = this.cwd.resolve(path);
        +        }
        +        return path.depth();
        +    }
        +    /**
        +     * Return the cache of child entries.  Exposed so subclasses can create
        +     * child Path objects in a platform-specific way.
        +     *
        +     * @internal
        +     */
        +    childrenCache() {
        +        return this.#children;
        +    }
        +    /**
        +     * Resolve one or more path strings to a resolved string
        +     *
        +     * Same interface as require('path').resolve.
        +     *
        +     * Much faster than path.resolve() when called multiple times for the same
        +     * path, because the resolved Path objects are cached.  Much slower
        +     * otherwise.
        +     */
        +    resolve(...paths) {
        +        // first figure out the minimum number of paths we have to test
        +        // we always start at cwd, but any absolutes will bump the start
        +        let r = '';
        +        for (let i = paths.length - 1; i >= 0; i--) {
        +            const p = paths[i];
        +            if (!p || p === '.')
        +                continue;
        +            r = r ? `${p}/${r}` : p;
        +            if (this.isAbsolute(p)) {
        +                break;
        +            }
        +        }
        +        const cached = this.#resolveCache.get(r);
        +        if (cached !== undefined) {
        +            return cached;
        +        }
        +        const result = this.cwd.resolve(r).fullpath();
        +        this.#resolveCache.set(r, result);
        +        return result;
        +    }
        +    /**
        +     * Resolve one or more path strings to a resolved string, returning
        +     * the posix path.  Identical to .resolve() on posix systems, but on
        +     * windows will return a forward-slash separated UNC path.
        +     *
        +     * Same interface as require('path').resolve.
        +     *
        +     * Much faster than path.resolve() when called multiple times for the same
        +     * path, because the resolved Path objects are cached.  Much slower
        +     * otherwise.
        +     */
        +    resolvePosix(...paths) {
        +        // first figure out the minimum number of paths we have to test
        +        // we always start at cwd, but any absolutes will bump the start
        +        let r = '';
        +        for (let i = paths.length - 1; i >= 0; i--) {
        +            const p = paths[i];
        +            if (!p || p === '.')
        +                continue;
        +            r = r ? `${p}/${r}` : p;
        +            if (this.isAbsolute(p)) {
        +                break;
        +            }
        +        }
        +        const cached = this.#resolvePosixCache.get(r);
        +        if (cached !== undefined) {
        +            return cached;
        +        }
        +        const result = this.cwd.resolve(r).fullpathPosix();
        +        this.#resolvePosixCache.set(r, result);
        +        return result;
        +    }
        +    /**
        +     * find the relative path from the cwd to the supplied path string or entry
        +     */
        +    relative(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.relative();
        +    }
        +    /**
        +     * find the relative path from the cwd to the supplied path string or
        +     * entry, using / as the path delimiter, even on Windows.
        +     */
        +    relativePosix(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.relativePosix();
        +    }
        +    /**
        +     * Return the basename for the provided string or Path object
        +     */
        +    basename(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.name;
        +    }
        +    /**
        +     * Return the dirname for the provided string or Path object
        +     */
        +    dirname(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return (entry.parent || entry).fullpath();
        +    }
        +    async readdir(entry = this.cwd, opts = {
        +        withFileTypes: true,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes } = opts;
        +        if (!entry.canReaddir()) {
        +            return [];
        +        }
        +        else {
        +            const p = await entry.readdir();
        +            return withFileTypes ? p : p.map(e => e.name);
        +        }
        +    }
        +    readdirSync(entry = this.cwd, opts = {
        +        withFileTypes: true,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true } = opts;
        +        if (!entry.canReaddir()) {
        +            return [];
        +        }
        +        else if (withFileTypes) {
        +            return entry.readdirSync();
        +        }
        +        else {
        +            return entry.readdirSync().map(e => e.name);
        +        }
        +    }
        +    /**
        +     * Call lstat() on the string or Path object, and update all known
        +     * information that can be determined.
        +     *
        +     * Note that unlike `fs.lstat()`, the returned value does not contain some
        +     * information, such as `mode`, `dev`, `nlink`, and `ino`.  If that
        +     * information is required, you will need to call `fs.lstat` yourself.
        +     *
        +     * If the Path refers to a nonexistent file, or if the lstat call fails for
        +     * any reason, `undefined` is returned.  Otherwise the updated Path object is
        +     * returned.
        +     *
        +     * Results are cached, and thus may be out of date if the filesystem is
        +     * mutated.
        +     */
        +    async lstat(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.lstat();
        +    }
        +    /**
        +     * synchronous {@link PathScurryBase.lstat}
        +     */
        +    lstatSync(entry = this.cwd) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        return entry.lstatSync();
        +    }
        +    async readlink(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = await entry.readlink();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    readlinkSync(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = entry.readlinkSync();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    async realpath(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = await entry.realpath();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    realpathSync(entry = this.cwd, { withFileTypes } = {
        +        withFileTypes: false,
        +    }) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            withFileTypes = entry.withFileTypes;
        +            entry = this.cwd;
        +        }
        +        const e = entry.realpathSync();
        +        return withFileTypes ? e : e?.fullpath();
        +    }
        +    async walk(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = [];
        +        if (!filter || filter(entry)) {
        +            results.push(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const dirs = new Set();
        +        const walk = (dir, cb) => {
        +            dirs.add(dir);
        +            dir.readdirCB((er, entries) => {
        +                /* c8 ignore start */
        +                if (er) {
        +                    return cb(er);
        +                }
        +                /* c8 ignore stop */
        +                let len = entries.length;
        +                if (!len)
        +                    return cb();
        +                const next = () => {
        +                    if (--len === 0) {
        +                        cb();
        +                    }
        +                };
        +                for (const e of entries) {
        +                    if (!filter || filter(e)) {
        +                        results.push(withFileTypes ? e : e.fullpath());
        +                    }
        +                    if (follow && e.isSymbolicLink()) {
        +                        e.realpath()
        +                            .then(r => (r?.isUnknown() ? r.lstat() : r))
        +                            .then(r => r?.shouldWalk(dirs, walkFilter) ? walk(r, next) : next());
        +                    }
        +                    else {
        +                        if (e.shouldWalk(dirs, walkFilter)) {
        +                            walk(e, next);
        +                        }
        +                        else {
        +                            next();
        +                        }
        +                    }
        +                }
        +            }, true); // zalgooooooo
        +        };
        +        const start = entry;
        +        return new Promise((res, rej) => {
        +            walk(start, er => {
        +                /* c8 ignore start */
        +                if (er)
        +                    return rej(er);
        +                /* c8 ignore stop */
        +                res(results);
        +            });
        +        });
        +    }
        +    walkSync(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = [];
        +        if (!filter || filter(entry)) {
        +            results.push(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const dirs = new Set([entry]);
        +        for (const dir of dirs) {
        +            const entries = dir.readdirSync();
        +            for (const e of entries) {
        +                if (!filter || filter(e)) {
        +                    results.push(withFileTypes ? e : e.fullpath());
        +                }
        +                let r = e;
        +                if (e.isSymbolicLink()) {
        +                    if (!(follow && (r = e.realpathSync())))
        +                        continue;
        +                    if (r.isUnknown())
        +                        r.lstatSync();
        +                }
        +                if (r.shouldWalk(dirs, walkFilter)) {
        +                    dirs.add(r);
        +                }
        +            }
        +        }
        +        return results;
        +    }
        +    /**
        +     * Support for `for await`
        +     *
        +     * Alias for {@link PathScurryBase.iterate}
        +     *
        +     * Note: As of Node 19, this is very slow, compared to other methods of
        +     * walking.  Consider using {@link PathScurryBase.stream} if memory overhead
        +     * and backpressure are concerns, or {@link PathScurryBase.walk} if not.
        +     */
        +    [Symbol.asyncIterator]() {
        +        return this.iterate();
        +    }
        +    iterate(entry = this.cwd, options = {}) {
        +        // iterating async over the stream is significantly more performant,
        +        // especially in the warm-cache scenario, because it buffers up directory
        +        // entries in the background instead of waiting for a yield for each one.
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            options = entry;
        +            entry = this.cwd;
        +        }
        +        return this.stream(entry, options)[Symbol.asyncIterator]();
        +    }
        +    /**
        +     * Iterating over a PathScurry performs a synchronous walk.
        +     *
        +     * Alias for {@link PathScurryBase.iterateSync}
        +     */
        +    [Symbol.iterator]() {
        +        return this.iterateSync();
        +    }
        +    *iterateSync(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        if (!filter || filter(entry)) {
        +            yield withFileTypes ? entry : entry.fullpath();
        +        }
        +        const dirs = new Set([entry]);
        +        for (const dir of dirs) {
        +            const entries = dir.readdirSync();
        +            for (const e of entries) {
        +                if (!filter || filter(e)) {
        +                    yield withFileTypes ? e : e.fullpath();
        +                }
        +                let r = e;
        +                if (e.isSymbolicLink()) {
        +                    if (!(follow && (r = e.realpathSync())))
        +                        continue;
        +                    if (r.isUnknown())
        +                        r.lstatSync();
        +                }
        +                if (r.shouldWalk(dirs, walkFilter)) {
        +                    dirs.add(r);
        +                }
        +            }
        +        }
        +    }
        +    stream(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = new Minipass({ objectMode: true });
        +        if (!filter || filter(entry)) {
        +            results.write(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const dirs = new Set();
        +        const queue = [entry];
        +        let processing = 0;
        +        const process = () => {
        +            let paused = false;
        +            while (!paused) {
        +                const dir = queue.shift();
        +                if (!dir) {
        +                    if (processing === 0)
        +                        results.end();
        +                    return;
        +                }
        +                processing++;
        +                dirs.add(dir);
        +                const onReaddir = (er, entries, didRealpaths = false) => {
        +                    /* c8 ignore start */
        +                    if (er)
        +                        return results.emit('error', er);
        +                    /* c8 ignore stop */
        +                    if (follow && !didRealpaths) {
        +                        const promises = [];
        +                        for (const e of entries) {
        +                            if (e.isSymbolicLink()) {
        +                                promises.push(e
        +                                    .realpath()
        +                                    .then((r) => r?.isUnknown() ? r.lstat() : r));
        +                            }
        +                        }
        +                        if (promises.length) {
        +                            Promise.all(promises).then(() => onReaddir(null, entries, true));
        +                            return;
        +                        }
        +                    }
        +                    for (const e of entries) {
        +                        if (e && (!filter || filter(e))) {
        +                            if (!results.write(withFileTypes ? e : e.fullpath())) {
        +                                paused = true;
        +                            }
        +                        }
        +                    }
        +                    processing--;
        +                    for (const e of entries) {
        +                        const r = e.realpathCached() || e;
        +                        if (r.shouldWalk(dirs, walkFilter)) {
        +                            queue.push(r);
        +                        }
        +                    }
        +                    if (paused && !results.flowing) {
        +                        results.once('drain', process);
        +                    }
        +                    else if (!sync) {
        +                        process();
        +                    }
        +                };
        +                // zalgo containment
        +                let sync = true;
        +                dir.readdirCB(onReaddir, true);
        +                sync = false;
        +            }
        +        };
        +        process();
        +        return results;
        +    }
        +    streamSync(entry = this.cwd, opts = {}) {
        +        if (typeof entry === 'string') {
        +            entry = this.cwd.resolve(entry);
        +        }
        +        else if (!(entry instanceof PathBase)) {
        +            opts = entry;
        +            entry = this.cwd;
        +        }
        +        const { withFileTypes = true, follow = false, filter, walkFilter, } = opts;
        +        const results = new Minipass({ objectMode: true });
        +        const dirs = new Set();
        +        if (!filter || filter(entry)) {
        +            results.write(withFileTypes ? entry : entry.fullpath());
        +        }
        +        const queue = [entry];
        +        let processing = 0;
        +        const process = () => {
        +            let paused = false;
        +            while (!paused) {
        +                const dir = queue.shift();
        +                if (!dir) {
        +                    if (processing === 0)
        +                        results.end();
        +                    return;
        +                }
        +                processing++;
        +                dirs.add(dir);
        +                const entries = dir.readdirSync();
        +                for (const e of entries) {
        +                    if (!filter || filter(e)) {
        +                        if (!results.write(withFileTypes ? e : e.fullpath())) {
        +                            paused = true;
        +                        }
        +                    }
        +                }
        +                processing--;
        +                for (const e of entries) {
        +                    let r = e;
        +                    if (e.isSymbolicLink()) {
        +                        if (!(follow && (r = e.realpathSync())))
        +                            continue;
        +                        if (r.isUnknown())
        +                            r.lstatSync();
        +                    }
        +                    if (r.shouldWalk(dirs, walkFilter)) {
        +                        queue.push(r);
        +                    }
        +                }
        +            }
        +            if (paused && !results.flowing)
        +                results.once('drain', process);
        +        };
        +        process();
        +        return results;
        +    }
        +    chdir(path = this.cwd) {
        +        const oldCwd = this.cwd;
        +        this.cwd = typeof path === 'string' ? this.cwd.resolve(path) : path;
        +        this.cwd[setAsCwd](oldCwd);
        +    }
        +}
        +/**
        + * Windows implementation of {@link PathScurryBase}
        + *
        + * Defaults to case insensitve, uses `'\\'` to generate path strings.  Uses
        + * {@link PathWin32} for Path objects.
        + */
        +class PathScurryWin32 extends PathScurryBase {
        +    /**
        +     * separator for generating path strings
        +     */
        +    sep = '\\';
        +    constructor(cwd = process.cwd(), opts = {}) {
        +        const { nocase = true } = opts;
        +        super(cwd, external_node_path_.win32, '\\', { ...opts, nocase });
        +        this.nocase = nocase;
        +        for (let p = this.cwd; p; p = p.parent) {
        +            p.nocase = this.nocase;
        +        }
        +    }
        +    /**
        +     * @internal
        +     */
        +    parseRootPath(dir) {
        +        // if the path starts with a single separator, it's not a UNC, and we'll
        +        // just get separator as the root, and driveFromUNC will return \
        +        // In that case, mount \ on the root from the cwd.
        +        return external_node_path_.win32.parse(dir).root.toUpperCase();
        +    }
        +    /**
        +     * @internal
        +     */
        +    newRoot(fs) {
        +        return new PathWin32(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });
        +    }
        +    /**
        +     * Return true if the provided path string is an absolute path
        +     */
        +    isAbsolute(p) {
        +        return (p.startsWith('/') || p.startsWith('\\') || /^[a-z]:(\/|\\)/i.test(p));
        +    }
        +}
        +/**
        + * {@link PathScurryBase} implementation for all posix systems other than Darwin.
        + *
        + * Defaults to case-sensitive matching, uses `'/'` to generate path strings.
        + *
        + * Uses {@link PathPosix} for Path objects.
        + */
        +class PathScurryPosix extends PathScurryBase {
        +    /**
        +     * separator for generating path strings
        +     */
        +    sep = '/';
        +    constructor(cwd = process.cwd(), opts = {}) {
        +        const { nocase = false } = opts;
        +        super(cwd, external_node_path_.posix, '/', { ...opts, nocase });
        +        this.nocase = nocase;
        +    }
        +    /**
        +     * @internal
        +     */
        +    parseRootPath(_dir) {
        +        return '/';
        +    }
        +    /**
        +     * @internal
        +     */
        +    newRoot(fs) {
        +        return new PathPosix(this.rootPath, IFDIR, undefined, this.roots, this.nocase, this.childrenCache(), { fs });
        +    }
        +    /**
        +     * Return true if the provided path string is an absolute path
        +     */
        +    isAbsolute(p) {
        +        return p.startsWith('/');
        +    }
        +}
        +/**
        + * {@link PathScurryBase} implementation for Darwin (macOS) systems.
        + *
        + * Defaults to case-insensitive matching, uses `'/'` for generating path
        + * strings.
        + *
        + * Uses {@link PathPosix} for Path objects.
        + */
        +class PathScurryDarwin extends PathScurryPosix {
        +    constructor(cwd = process.cwd(), opts = {}) {
        +        const { nocase = true } = opts;
        +        super(cwd, { ...opts, nocase });
        +    }
        +}
        +/**
        + * Default {@link PathBase} implementation for the current platform.
        + *
        + * {@link PathWin32} on Windows systems, {@link PathPosix} on all others.
        + */
        +const Path = process.platform === 'win32' ? PathWin32 : PathPosix;
        +/**
        + * Default {@link PathScurryBase} implementation for the current platform.
        + *
        + * {@link PathScurryWin32} on Windows systems, {@link PathScurryDarwin} on
        + * Darwin (macOS) systems, {@link PathScurryPosix} on all others.
        + */
        +const PathScurry = process.platform === 'win32' ? PathScurryWin32
        +    : process.platform === 'darwin' ? PathScurryDarwin
        +        : PathScurryPosix;
        +//# sourceMappingURL=index.js.map
        +;// ../commons/node_modules/glob/dist/esm/pattern.js
        +// this is just a very light wrapper around 2 arrays with an offset index
        +
        +const isPatternList = (pl) => pl.length >= 1;
        +const isGlobList = (gl) => gl.length >= 1;
        +/**
        + * An immutable-ish view on an array of glob parts and their parsed
        + * results
        + */
        +class Pattern {
        +    #patternList;
        +    #globList;
        +    #index;
        +    length;
        +    #platform;
        +    #rest;
        +    #globString;
        +    #isDrive;
        +    #isUNC;
        +    #isAbsolute;
        +    #followGlobstar = true;
        +    constructor(patternList, globList, index, platform) {
        +        if (!isPatternList(patternList)) {
        +            throw new TypeError('empty pattern list');
        +        }
        +        if (!isGlobList(globList)) {
        +            throw new TypeError('empty glob list');
        +        }
        +        if (globList.length !== patternList.length) {
        +            throw new TypeError('mismatched pattern list and glob list lengths');
        +        }
        +        this.length = patternList.length;
        +        if (index < 0 || index >= this.length) {
        +            throw new TypeError('index out of range');
        +        }
        +        this.#patternList = patternList;
        +        this.#globList = globList;
        +        this.#index = index;
        +        this.#platform = platform;
        +        // normalize root entries of absolute patterns on initial creation.
        +        if (this.#index === 0) {
        +            // c: => ['c:/']
        +            // C:/ => ['C:/']
        +            // C:/x => ['C:/', 'x']
        +            // //host/share => ['//host/share/']
        +            // //host/share/ => ['//host/share/']
        +            // //host/share/x => ['//host/share/', 'x']
        +            // /etc => ['/', 'etc']
        +            // / => ['/']
        +            if (this.isUNC()) {
        +                // '' / '' / 'host' / 'share'
        +                const [p0, p1, p2, p3, ...prest] = this.#patternList;
        +                const [g0, g1, g2, g3, ...grest] = this.#globList;
        +                if (prest[0] === '') {
        +                    // ends in /
        +                    prest.shift();
        +                    grest.shift();
        +                }
        +                const p = [p0, p1, p2, p3, ''].join('/');
        +                const g = [g0, g1, g2, g3, ''].join('/');
        +                this.#patternList = [p, ...prest];
        +                this.#globList = [g, ...grest];
        +                this.length = this.#patternList.length;
        +            }
        +            else if (this.isDrive() || this.isAbsolute()) {
        +                const [p1, ...prest] = this.#patternList;
        +                const [g1, ...grest] = this.#globList;
        +                if (prest[0] === '') {
        +                    // ends in /
        +                    prest.shift();
        +                    grest.shift();
        +                }
        +                const p = p1 + '/';
        +                const g = g1 + '/';
        +                this.#patternList = [p, ...prest];
        +                this.#globList = [g, ...grest];
        +                this.length = this.#patternList.length;
        +            }
        +        }
        +    }
        +    /**
        +     * The first entry in the parsed list of patterns
        +     */
        +    pattern() {
        +        return this.#patternList[this.#index];
        +    }
        +    /**
        +     * true of if pattern() returns a string
        +     */
        +    isString() {
        +        return typeof this.#patternList[this.#index] === 'string';
        +    }
        +    /**
        +     * true of if pattern() returns GLOBSTAR
        +     */
        +    isGlobstar() {
        +        return this.#patternList[this.#index] === GLOBSTAR;
        +    }
        +    /**
        +     * true if pattern() returns a regexp
        +     */
        +    isRegExp() {
        +        return this.#patternList[this.#index] instanceof RegExp;
        +    }
        +    /**
        +     * The /-joined set of glob parts that make up this pattern
        +     */
        +    globString() {
        +        return (this.#globString =
        +            this.#globString ||
        +                (this.#index === 0 ?
        +                    this.isAbsolute() ?
        +                        this.#globList[0] + this.#globList.slice(1).join('/')
        +                        : this.#globList.join('/')
        +                    : this.#globList.slice(this.#index).join('/')));
        +    }
        +    /**
        +     * true if there are more pattern parts after this one
        +     */
        +    hasMore() {
        +        return this.length > this.#index + 1;
        +    }
        +    /**
        +     * The rest of the pattern after this part, or null if this is the end
        +     */
        +    rest() {
        +        if (this.#rest !== undefined)
        +            return this.#rest;
        +        if (!this.hasMore())
        +            return (this.#rest = null);
        +        this.#rest = new Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
        +        this.#rest.#isAbsolute = this.#isAbsolute;
        +        this.#rest.#isUNC = this.#isUNC;
        +        this.#rest.#isDrive = this.#isDrive;
        +        return this.#rest;
        +    }
        +    /**
        +     * true if the pattern represents a //unc/path/ on windows
        +     */
        +    isUNC() {
        +        const pl = this.#patternList;
        +        return this.#isUNC !== undefined ?
        +            this.#isUNC
        +            : (this.#isUNC =
        +                this.#platform === 'win32' &&
        +                    this.#index === 0 &&
        +                    pl[0] === '' &&
        +                    pl[1] === '' &&
        +                    typeof pl[2] === 'string' &&
        +                    !!pl[2] &&
        +                    typeof pl[3] === 'string' &&
        +                    !!pl[3]);
        +    }
        +    // pattern like C:/...
        +    // split = ['C:', ...]
        +    // XXX: would be nice to handle patterns like `c:*` to test the cwd
        +    // in c: for *, but I don't know of a way to even figure out what that
        +    // cwd is without actually chdir'ing into it?
        +    /**
        +     * True if the pattern starts with a drive letter on Windows
        +     */
        +    isDrive() {
        +        const pl = this.#patternList;
        +        return this.#isDrive !== undefined ?
        +            this.#isDrive
        +            : (this.#isDrive =
        +                this.#platform === 'win32' &&
        +                    this.#index === 0 &&
        +                    this.length > 1 &&
        +                    typeof pl[0] === 'string' &&
        +                    /^[a-z]:$/i.test(pl[0]));
        +    }
        +    // pattern = '/' or '/...' or '/x/...'
        +    // split = ['', ''] or ['', ...] or ['', 'x', ...]
        +    // Drive and UNC both considered absolute on windows
        +    /**
        +     * True if the pattern is rooted on an absolute path
        +     */
        +    isAbsolute() {
        +        const pl = this.#patternList;
        +        return this.#isAbsolute !== undefined ?
        +            this.#isAbsolute
        +            : (this.#isAbsolute =
        +                (pl[0] === '' && pl.length > 1) ||
        +                    this.isDrive() ||
        +                    this.isUNC());
        +    }
        +    /**
        +     * consume the root of the pattern, and return it
        +     */
        +    root() {
        +        const p = this.#patternList[0];
        +        return (typeof p === 'string' && this.isAbsolute() && this.#index === 0) ?
        +            p
        +            : '';
        +    }
        +    /**
        +     * Check to see if the current globstar pattern is allowed to follow
        +     * a symbolic link.
        +     */
        +    checkFollowGlobstar() {
        +        return !(this.#index === 0 ||
        +            !this.isGlobstar() ||
        +            !this.#followGlobstar);
        +    }
        +    /**
        +     * Mark that the current globstar pattern is following a symbolic link
        +     */
        +    markFollowGlobstar() {
        +        if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
        +            return false;
        +        this.#followGlobstar = false;
        +        return true;
        +    }
        +}
        +//# sourceMappingURL=pattern.js.map
        +;// ../commons/node_modules/glob/dist/esm/ignore.js
        +// give it a pattern, and it'll be able to tell you if
        +// a given path should be ignored.
        +// Ignoring a path ignores its children if the pattern ends in /**
        +// Ignores are always parsed in dot:true mode
        +
        +
        +const ignore_defaultPlatform = (typeof process === 'object' &&
        +    process &&
        +    typeof process.platform === 'string') ?
        +    process.platform
        +    : 'linux';
        +/**
        + * Class used to process ignored patterns
        + */
        +class Ignore {
        +    relative;
        +    relativeChildren;
        +    absolute;
        +    absoluteChildren;
        +    platform;
        +    mmopts;
        +    constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = ignore_defaultPlatform, }) {
        +        this.relative = [];
        +        this.absolute = [];
        +        this.relativeChildren = [];
        +        this.absoluteChildren = [];
        +        this.platform = platform;
        +        this.mmopts = {
        +            dot: true,
        +            nobrace,
        +            nocase,
        +            noext,
        +            noglobstar,
        +            optimizationLevel: 2,
        +            platform,
        +            nocomment: true,
        +            nonegate: true,
        +        };
        +        for (const ign of ignored)
        +            this.add(ign);
        +    }
        +    add(ign) {
        +        // this is a little weird, but it gives us a clean set of optimized
        +        // minimatch matchers, without getting tripped up if one of them
        +        // ends in /** inside a brace section, and it's only inefficient at
        +        // the start of the walk, not along it.
        +        // It'd be nice if the Pattern class just had a .test() method, but
        +        // handling globstars is a bit of a pita, and that code already lives
        +        // in minimatch anyway.
        +        // Another way would be if maybe Minimatch could take its set/globParts
        +        // as an option, and then we could at least just use Pattern to test
        +        // for absolute-ness.
        +        // Yet another way, Minimatch could take an array of glob strings, and
        +        // a cwd option, and do the right thing.
        +        const mm = new Minimatch(ign, this.mmopts);
        +        for (let i = 0; i < mm.set.length; i++) {
        +            const parsed = mm.set[i];
        +            const globParts = mm.globParts[i];
        +            /* c8 ignore start */
        +            if (!parsed || !globParts) {
        +                throw new Error('invalid pattern object');
        +            }
        +            // strip off leading ./ portions
        +            // https://github.com/isaacs/node-glob/issues/570
        +            while (parsed[0] === '.' && globParts[0] === '.') {
        +                parsed.shift();
        +                globParts.shift();
        +            }
        +            /* c8 ignore stop */
        +            const p = new Pattern(parsed, globParts, 0, this.platform);
        +            const m = new Minimatch(p.globString(), this.mmopts);
        +            const children = globParts[globParts.length - 1] === '**';
        +            const absolute = p.isAbsolute();
        +            if (absolute)
        +                this.absolute.push(m);
        +            else
        +                this.relative.push(m);
        +            if (children) {
        +                if (absolute)
        +                    this.absoluteChildren.push(m);
        +                else
        +                    this.relativeChildren.push(m);
        +            }
        +        }
        +    }
        +    ignored(p) {
        +        const fullpath = p.fullpath();
        +        const fullpaths = `${fullpath}/`;
        +        const relative = p.relative() || '.';
        +        const relatives = `${relative}/`;
        +        for (const m of this.relative) {
        +            if (m.match(relative) || m.match(relatives))
        +                return true;
        +        }
        +        for (const m of this.absolute) {
        +            if (m.match(fullpath) || m.match(fullpaths))
        +                return true;
        +        }
        +        return false;
        +    }
        +    childrenIgnored(p) {
        +        const fullpath = p.fullpath() + '/';
        +        const relative = (p.relative() || '.') + '/';
        +        for (const m of this.relativeChildren) {
        +            if (m.match(relative))
        +                return true;
        +        }
        +        for (const m of this.absoluteChildren) {
        +            if (m.match(fullpath))
        +                return true;
        +        }
        +        return false;
        +    }
        +}
        +//# sourceMappingURL=ignore.js.map
        +;// ../commons/node_modules/glob/dist/esm/processor.js
        +// synchronous utility for filtering entries and calculating subwalks
        +
        +/**
        + * A cache of which patterns have been processed for a given Path
        + */
        +class HasWalkedCache {
        +    store;
        +    constructor(store = new Map()) {
        +        this.store = store;
        +    }
        +    copy() {
        +        return new HasWalkedCache(new Map(this.store));
        +    }
        +    hasWalked(target, pattern) {
        +        return this.store.get(target.fullpath())?.has(pattern.globString());
        +    }
        +    storeWalked(target, pattern) {
        +        const fullpath = target.fullpath();
        +        const cached = this.store.get(fullpath);
        +        if (cached)
        +            cached.add(pattern.globString());
        +        else
        +            this.store.set(fullpath, new Set([pattern.globString()]));
        +    }
        +}
        +/**
        + * A record of which paths have been matched in a given walk step,
        + * and whether they only are considered a match if they are a directory,
        + * and whether their absolute or relative path should be returned.
        + */
        +class MatchRecord {
        +    store = new Map();
        +    add(target, absolute, ifDir) {
        +        const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
        +        const current = this.store.get(target);
        +        this.store.set(target, current === undefined ? n : n & current);
        +    }
        +    // match, absolute, ifdir
        +    entries() {
        +        return [...this.store.entries()].map(([path, n]) => [
        +            path,
        +            !!(n & 2),
        +            !!(n & 1),
        +        ]);
        +    }
        +}
        +/**
        + * A collection of patterns that must be processed in a subsequent step
        + * for a given path.
        + */
        +class SubWalks {
        +    store = new Map();
        +    add(target, pattern) {
        +        if (!target.canReaddir()) {
        +            return;
        +        }
        +        const subs = this.store.get(target);
        +        if (subs) {
        +            if (!subs.find(p => p.globString() === pattern.globString())) {
        +                subs.push(pattern);
        +            }
        +        }
        +        else
        +            this.store.set(target, [pattern]);
        +    }
        +    get(target) {
        +        const subs = this.store.get(target);
        +        /* c8 ignore start */
        +        if (!subs) {
        +            throw new Error('attempting to walk unknown path');
        +        }
        +        /* c8 ignore stop */
        +        return subs;
        +    }
        +    entries() {
        +        return this.keys().map(k => [k, this.store.get(k)]);
        +    }
        +    keys() {
        +        return [...this.store.keys()].filter(t => t.canReaddir());
        +    }
        +}
        +/**
        + * The class that processes patterns for a given path.
        + *
        + * Handles child entry filtering, and determining whether a path's
        + * directory contents must be read.
        + */
        +class Processor {
        +    hasWalkedCache;
        +    matches = new MatchRecord();
        +    subwalks = new SubWalks();
        +    patterns;
        +    follow;
        +    dot;
        +    opts;
        +    constructor(opts, hasWalkedCache) {
        +        this.opts = opts;
        +        this.follow = !!opts.follow;
        +        this.dot = !!opts.dot;
        +        this.hasWalkedCache =
        +            hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
        +    }
        +    processPatterns(target, patterns) {
        +        this.patterns = patterns;
        +        const processingSet = patterns.map(p => [target, p]);
        +        // map of paths to the magic-starting subwalks they need to walk
        +        // first item in patterns is the filter
        +        for (let [t, pattern] of processingSet) {
        +            this.hasWalkedCache.storeWalked(t, pattern);
        +            const root = pattern.root();
        +            const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
        +            // start absolute patterns at root
        +            if (root) {
        +                t = t.resolve(root === '/' && this.opts.root !== undefined ?
        +                    this.opts.root
        +                    : root);
        +                const rest = pattern.rest();
        +                if (!rest) {
        +                    this.matches.add(t, true, false);
        +                    continue;
        +                }
        +                else {
        +                    pattern = rest;
        +                }
        +            }
        +            if (t.isENOENT())
        +                continue;
        +            let p;
        +            let rest;
        +            let changed = false;
        +            while (typeof (p = pattern.pattern()) === 'string' &&
        +                (rest = pattern.rest())) {
        +                const c = t.resolve(p);
        +                t = c;
        +                pattern = rest;
        +                changed = true;
        +            }
        +            p = pattern.pattern();
        +            rest = pattern.rest();
        +            if (changed) {
        +                if (this.hasWalkedCache.hasWalked(t, pattern))
        +                    continue;
        +                this.hasWalkedCache.storeWalked(t, pattern);
        +            }
        +            // now we have either a final string for a known entry,
        +            // more strings for an unknown entry,
        +            // or a pattern starting with magic, mounted on t.
        +            if (typeof p === 'string') {
        +                // must not be final entry, otherwise we would have
        +                // concatenated it earlier.
        +                const ifDir = p === '..' || p === '' || p === '.';
        +                this.matches.add(t.resolve(p), absolute, ifDir);
        +                continue;
        +            }
        +            else if (p === GLOBSTAR) {
        +                // if no rest, match and subwalk pattern
        +                // if rest, process rest and subwalk pattern
        +                // if it's a symlink, but we didn't get here by way of a
        +                // globstar match (meaning it's the first time THIS globstar
        +                // has traversed a symlink), then we follow it. Otherwise, stop.
        +                if (!t.isSymbolicLink() ||
        +                    this.follow ||
        +                    pattern.checkFollowGlobstar()) {
        +                    this.subwalks.add(t, pattern);
        +                }
        +                const rp = rest?.pattern();
        +                const rrest = rest?.rest();
        +                if (!rest || ((rp === '' || rp === '.') && !rrest)) {
        +                    // only HAS to be a dir if it ends in **/ or **/.
        +                    // but ending in ** will match files as well.
        +                    this.matches.add(t, absolute, rp === '' || rp === '.');
        +                }
        +                else {
        +                    if (rp === '..') {
        +                        // this would mean you're matching **/.. at the fs root,
        +                        // and no thanks, I'm not gonna test that specific case.
        +                        /* c8 ignore start */
        +                        const tp = t.parent || t;
        +                        /* c8 ignore stop */
        +                        if (!rrest)
        +                            this.matches.add(tp, absolute, true);
        +                        else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
        +                            this.subwalks.add(tp, rrest);
        +                        }
        +                    }
        +                }
        +            }
        +            else if (p instanceof RegExp) {
        +                this.subwalks.add(t, pattern);
        +            }
        +        }
        +        return this;
        +    }
        +    subwalkTargets() {
        +        return this.subwalks.keys();
        +    }
        +    child() {
        +        return new Processor(this.opts, this.hasWalkedCache);
        +    }
        +    // return a new Processor containing the subwalks for each
        +    // child entry, and a set of matches, and
        +    // a hasWalkedCache that's a copy of this one
        +    // then we're going to call
        +    filterEntries(parent, entries) {
        +        const patterns = this.subwalks.get(parent);
        +        // put matches and entry walks into the results processor
        +        const results = this.child();
        +        for (const e of entries) {
        +            for (const pattern of patterns) {
        +                const absolute = pattern.isAbsolute();
        +                const p = pattern.pattern();
        +                const rest = pattern.rest();
        +                if (p === GLOBSTAR) {
        +                    results.testGlobstar(e, pattern, rest, absolute);
        +                }
        +                else if (p instanceof RegExp) {
        +                    results.testRegExp(e, p, rest, absolute);
        +                }
        +                else {
        +                    results.testString(e, p, rest, absolute);
        +                }
        +            }
        +        }
        +        return results;
        +    }
        +    testGlobstar(e, pattern, rest, absolute) {
        +        if (this.dot || !e.name.startsWith('.')) {
        +            if (!pattern.hasMore()) {
        +                this.matches.add(e, absolute, false);
        +            }
        +            if (e.canReaddir()) {
        +                // if we're in follow mode or it's not a symlink, just keep
        +                // testing the same pattern. If there's more after the globstar,
        +                // then this symlink consumes the globstar. If not, then we can
        +                // follow at most ONE symlink along the way, so we mark it, which
        +                // also checks to ensure that it wasn't already marked.
        +                if (this.follow || !e.isSymbolicLink()) {
        +                    this.subwalks.add(e, pattern);
        +                }
        +                else if (e.isSymbolicLink()) {
        +                    if (rest && pattern.checkFollowGlobstar()) {
        +                        this.subwalks.add(e, rest);
        +                    }
        +                    else if (pattern.markFollowGlobstar()) {
        +                        this.subwalks.add(e, pattern);
        +                    }
        +                }
        +            }
        +        }
        +        // if the NEXT thing matches this entry, then also add
        +        // the rest.
        +        if (rest) {
        +            const rp = rest.pattern();
        +            if (typeof rp === 'string' &&
        +                // dots and empty were handled already
        +                rp !== '..' &&
        +                rp !== '' &&
        +                rp !== '.') {
        +                this.testString(e, rp, rest.rest(), absolute);
        +            }
        +            else if (rp === '..') {
        +                /* c8 ignore start */
        +                const ep = e.parent || e;
        +                /* c8 ignore stop */
        +                this.subwalks.add(ep, rest);
        +            }
        +            else if (rp instanceof RegExp) {
        +                this.testRegExp(e, rp, rest.rest(), absolute);
        +            }
        +        }
        +    }
        +    testRegExp(e, p, rest, absolute) {
        +        if (!p.test(e.name))
        +            return;
        +        if (!rest) {
        +            this.matches.add(e, absolute, false);
        +        }
        +        else {
        +            this.subwalks.add(e, rest);
        +        }
        +    }
        +    testString(e, p, rest, absolute) {
        +        // should never happen?
        +        if (!e.isNamed(p))
        +            return;
        +        if (!rest) {
        +            this.matches.add(e, absolute, false);
        +        }
        +        else {
        +            this.subwalks.add(e, rest);
        +        }
        +    }
        +}
        +//# sourceMappingURL=processor.js.map
        +;// ../commons/node_modules/glob/dist/esm/walker.js
        +/**
        + * Single-use utility classes to provide functionality to the {@link Glob}
        + * methods.
        + *
        + * @module
        + */
        +
        +
        +
        +const makeIgnore = (ignore, opts) => typeof ignore === 'string' ? new Ignore([ignore], opts)
        +    : Array.isArray(ignore) ? new Ignore(ignore, opts)
        +        : ignore;
        +/**
        + * basic walking utilities that all the glob walker types use
        + */
        +class GlobUtil {
        +    path;
        +    patterns;
        +    opts;
        +    seen = new Set();
        +    paused = false;
        +    aborted = false;
        +    #onResume = [];
        +    #ignore;
        +    #sep;
        +    signal;
        +    maxDepth;
        +    includeChildMatches;
        +    constructor(patterns, path, opts) {
        +        this.patterns = patterns;
        +        this.path = path;
        +        this.opts = opts;
        +        this.#sep = !opts.posix && opts.platform === 'win32' ? '\\' : '/';
        +        this.includeChildMatches = opts.includeChildMatches !== false;
        +        if (opts.ignore || !this.includeChildMatches) {
        +            this.#ignore = makeIgnore(opts.ignore ?? [], opts);
        +            if (!this.includeChildMatches &&
        +                typeof this.#ignore.add !== 'function') {
        +                const m = 'cannot ignore child matches, ignore lacks add() method.';
        +                throw new Error(m);
        +            }
        +        }
        +        // ignore, always set with maxDepth, but it's optional on the
        +        // GlobOptions type
        +        /* c8 ignore start */
        +        this.maxDepth = opts.maxDepth || Infinity;
        +        /* c8 ignore stop */
        +        if (opts.signal) {
        +            this.signal = opts.signal;
        +            this.signal.addEventListener('abort', () => {
        +                this.#onResume.length = 0;
        +            });
        +        }
        +    }
        +    #ignored(path) {
        +        return this.seen.has(path) || !!this.#ignore?.ignored?.(path);
        +    }
        +    #childrenIgnored(path) {
        +        return !!this.#ignore?.childrenIgnored?.(path);
        +    }
        +    // backpressure mechanism
        +    pause() {
        +        this.paused = true;
        +    }
        +    resume() {
        +        /* c8 ignore start */
        +        if (this.signal?.aborted)
        +            return;
        +        /* c8 ignore stop */
        +        this.paused = false;
        +        let fn = undefined;
        +        while (!this.paused && (fn = this.#onResume.shift())) {
        +            fn();
        +        }
        +    }
        +    onResume(fn) {
        +        if (this.signal?.aborted)
        +            return;
        +        /* c8 ignore start */
        +        if (!this.paused) {
        +            fn();
        +        }
        +        else {
        +            /* c8 ignore stop */
        +            this.#onResume.push(fn);
        +        }
        +    }
        +    // do the requisite realpath/stat checking, and return the path
        +    // to add or undefined to filter it out.
        +    async matchCheck(e, ifDir) {
        +        if (ifDir && this.opts.nodir)
        +            return undefined;
        +        let rpc;
        +        if (this.opts.realpath) {
        +            rpc = e.realpathCached() || (await e.realpath());
        +            if (!rpc)
        +                return undefined;
        +            e = rpc;
        +        }
        +        const needStat = e.isUnknown() || this.opts.stat;
        +        const s = needStat ? await e.lstat() : e;
        +        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
        +            const target = await s.realpath();
        +            /* c8 ignore start */
        +            if (target && (target.isUnknown() || this.opts.stat)) {
        +                await target.lstat();
        +            }
        +            /* c8 ignore stop */
        +        }
        +        return this.matchCheckTest(s, ifDir);
        +    }
        +    matchCheckTest(e, ifDir) {
        +        return (e &&
        +            (this.maxDepth === Infinity || e.depth() <= this.maxDepth) &&
        +            (!ifDir || e.canReaddir()) &&
        +            (!this.opts.nodir || !e.isDirectory()) &&
        +            (!this.opts.nodir ||
        +                !this.opts.follow ||
        +                !e.isSymbolicLink() ||
        +                !e.realpathCached()?.isDirectory()) &&
        +            !this.#ignored(e)) ?
        +            e
        +            : undefined;
        +    }
        +    matchCheckSync(e, ifDir) {
        +        if (ifDir && this.opts.nodir)
        +            return undefined;
        +        let rpc;
        +        if (this.opts.realpath) {
        +            rpc = e.realpathCached() || e.realpathSync();
        +            if (!rpc)
        +                return undefined;
        +            e = rpc;
        +        }
        +        const needStat = e.isUnknown() || this.opts.stat;
        +        const s = needStat ? e.lstatSync() : e;
        +        if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
        +            const target = s.realpathSync();
        +            if (target && (target?.isUnknown() || this.opts.stat)) {
        +                target.lstatSync();
        +            }
        +        }
        +        return this.matchCheckTest(s, ifDir);
        +    }
        +    matchFinish(e, absolute) {
        +        if (this.#ignored(e))
        +            return;
        +        // we know we have an ignore if this is false, but TS doesn't
        +        if (!this.includeChildMatches && this.#ignore?.add) {
        +            const ign = `${e.relativePosix()}/**`;
        +            this.#ignore.add(ign);
        +        }
        +        const abs = this.opts.absolute === undefined ? absolute : this.opts.absolute;
        +        this.seen.add(e);
        +        const mark = this.opts.mark && e.isDirectory() ? this.#sep : '';
        +        // ok, we have what we need!
        +        if (this.opts.withFileTypes) {
        +            this.matchEmit(e);
        +        }
        +        else if (abs) {
        +            const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath();
        +            this.matchEmit(abs + mark);
        +        }
        +        else {
        +            const rel = this.opts.posix ? e.relativePosix() : e.relative();
        +            const pre = this.opts.dotRelative && !rel.startsWith('..' + this.#sep) ?
        +                '.' + this.#sep
        +                : '';
        +            this.matchEmit(!rel ? '.' + mark : pre + rel + mark);
        +        }
        +    }
        +    async match(e, absolute, ifDir) {
        +        const p = await this.matchCheck(e, ifDir);
        +        if (p)
        +            this.matchFinish(p, absolute);
        +    }
        +    matchSync(e, absolute, ifDir) {
        +        const p = this.matchCheckSync(e, ifDir);
        +        if (p)
        +            this.matchFinish(p, absolute);
        +    }
        +    walkCB(target, patterns, cb) {
        +        /* c8 ignore start */
        +        if (this.signal?.aborted)
        +            cb();
        +        /* c8 ignore stop */
        +        this.walkCB2(target, patterns, new Processor(this.opts), cb);
        +    }
        +    walkCB2(target, patterns, processor, cb) {
        +        if (this.#childrenIgnored(target))
        +            return cb();
        +        if (this.signal?.aborted)
        +            cb();
        +        if (this.paused) {
        +            this.onResume(() => this.walkCB2(target, patterns, processor, cb));
        +            return;
        +        }
        +        processor.processPatterns(target, patterns);
        +        // done processing.  all of the above is sync, can be abstracted out.
        +        // subwalks is a map of paths to the entry filters they need
        +        // matches is a map of paths to [absolute, ifDir] tuples.
        +        let tasks = 1;
        +        const next = () => {
        +            if (--tasks === 0)
        +                cb();
        +        };
        +        for (const [m, absolute, ifDir] of processor.matches.entries()) {
        +            if (this.#ignored(m))
        +                continue;
        +            tasks++;
        +            this.match(m, absolute, ifDir).then(() => next());
        +        }
        +        for (const t of processor.subwalkTargets()) {
        +            if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
        +                continue;
        +            }
        +            tasks++;
        +            const childrenCached = t.readdirCached();
        +            if (t.calledReaddir())
        +                this.walkCB3(t, childrenCached, processor, next);
        +            else {
        +                t.readdirCB((_, entries) => this.walkCB3(t, entries, processor, next), true);
        +            }
        +        }
        +        next();
        +    }
        +    walkCB3(target, entries, processor, cb) {
        +        processor = processor.filterEntries(target, entries);
        +        let tasks = 1;
        +        const next = () => {
        +            if (--tasks === 0)
        +                cb();
        +        };
        +        for (const [m, absolute, ifDir] of processor.matches.entries()) {
        +            if (this.#ignored(m))
        +                continue;
        +            tasks++;
        +            this.match(m, absolute, ifDir).then(() => next());
        +        }
        +        for (const [target, patterns] of processor.subwalks.entries()) {
        +            tasks++;
        +            this.walkCB2(target, patterns, processor.child(), next);
        +        }
        +        next();
        +    }
        +    walkCBSync(target, patterns, cb) {
        +        /* c8 ignore start */
        +        if (this.signal?.aborted)
        +            cb();
        +        /* c8 ignore stop */
        +        this.walkCB2Sync(target, patterns, new Processor(this.opts), cb);
        +    }
        +    walkCB2Sync(target, patterns, processor, cb) {
        +        if (this.#childrenIgnored(target))
        +            return cb();
        +        if (this.signal?.aborted)
        +            cb();
        +        if (this.paused) {
        +            this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
        +            return;
        +        }
        +        processor.processPatterns(target, patterns);
        +        // done processing.  all of the above is sync, can be abstracted out.
        +        // subwalks is a map of paths to the entry filters they need
        +        // matches is a map of paths to [absolute, ifDir] tuples.
        +        let tasks = 1;
        +        const next = () => {
        +            if (--tasks === 0)
        +                cb();
        +        };
        +        for (const [m, absolute, ifDir] of processor.matches.entries()) {
        +            if (this.#ignored(m))
        +                continue;
        +            this.matchSync(m, absolute, ifDir);
        +        }
        +        for (const t of processor.subwalkTargets()) {
        +            if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
        +                continue;
        +            }
        +            tasks++;
        +            const children = t.readdirSync();
        +            this.walkCB3Sync(t, children, processor, next);
        +        }
        +        next();
        +    }
        +    walkCB3Sync(target, entries, processor, cb) {
        +        processor = processor.filterEntries(target, entries);
        +        let tasks = 1;
        +        const next = () => {
        +            if (--tasks === 0)
        +                cb();
        +        };
        +        for (const [m, absolute, ifDir] of processor.matches.entries()) {
        +            if (this.#ignored(m))
        +                continue;
        +            this.matchSync(m, absolute, ifDir);
        +        }
        +        for (const [target, patterns] of processor.subwalks.entries()) {
        +            tasks++;
        +            this.walkCB2Sync(target, patterns, processor.child(), next);
        +        }
        +        next();
        +    }
        +}
        +class GlobWalker extends GlobUtil {
        +    matches = new Set();
        +    constructor(patterns, path, opts) {
        +        super(patterns, path, opts);
        +    }
        +    matchEmit(e) {
        +        this.matches.add(e);
        +    }
        +    async walk() {
        +        if (this.signal?.aborted)
        +            throw this.signal.reason;
        +        if (this.path.isUnknown()) {
        +            await this.path.lstat();
        +        }
        +        await new Promise((res, rej) => {
        +            this.walkCB(this.path, this.patterns, () => {
        +                if (this.signal?.aborted) {
        +                    rej(this.signal.reason);
        +                }
        +                else {
        +                    res(this.matches);
        +                }
        +            });
        +        });
        +        return this.matches;
        +    }
        +    walkSync() {
        +        if (this.signal?.aborted)
        +            throw this.signal.reason;
        +        if (this.path.isUnknown()) {
        +            this.path.lstatSync();
        +        }
        +        // nothing for the callback to do, because this never pauses
        +        this.walkCBSync(this.path, this.patterns, () => {
        +            if (this.signal?.aborted)
        +                throw this.signal.reason;
        +        });
        +        return this.matches;
        +    }
        +}
        +class GlobStream extends GlobUtil {
        +    results;
        +    constructor(patterns, path, opts) {
        +        super(patterns, path, opts);
        +        this.results = new Minipass({
        +            signal: this.signal,
        +            objectMode: true,
        +        });
        +        this.results.on('drain', () => this.resume());
        +        this.results.on('resume', () => this.resume());
        +    }
        +    matchEmit(e) {
        +        this.results.write(e);
        +        if (!this.results.flowing)
        +            this.pause();
        +    }
        +    stream() {
        +        const target = this.path;
        +        if (target.isUnknown()) {
        +            target.lstat().then(() => {
        +                this.walkCB(target, this.patterns, () => this.results.end());
        +            });
        +        }
        +        else {
        +            this.walkCB(target, this.patterns, () => this.results.end());
        +        }
        +        return this.results;
        +    }
        +    streamSync() {
        +        if (this.path.isUnknown()) {
        +            this.path.lstatSync();
        +        }
        +        this.walkCBSync(this.path, this.patterns, () => this.results.end());
        +        return this.results;
        +    }
        +}
        +//# sourceMappingURL=walker.js.map
        +;// ../commons/node_modules/glob/dist/esm/glob.js
        +
        +
        +
        +
        +
        +// if no process global, just call it linux.
        +// so we default to case-sensitive, / separators
        +const glob_defaultPlatform = (typeof process === 'object' &&
        +    process &&
        +    typeof process.platform === 'string') ?
        +    process.platform
        +    : 'linux';
        +/**
        + * An object that can perform glob pattern traversals.
        + */
        +class Glob {
        +    absolute;
        +    cwd;
        +    root;
        +    dot;
        +    dotRelative;
        +    follow;
        +    ignore;
        +    magicalBraces;
        +    mark;
        +    matchBase;
        +    maxDepth;
        +    nobrace;
        +    nocase;
        +    nodir;
        +    noext;
        +    noglobstar;
        +    pattern;
        +    platform;
        +    realpath;
        +    scurry;
        +    stat;
        +    signal;
        +    windowsPathsNoEscape;
        +    withFileTypes;
        +    includeChildMatches;
        +    /**
        +     * The options provided to the constructor.
        +     */
        +    opts;
        +    /**
        +     * An array of parsed immutable {@link Pattern} objects.
        +     */
        +    patterns;
        +    /**
        +     * All options are stored as properties on the `Glob` object.
        +     *
        +     * See {@link GlobOptions} for full options descriptions.
        +     *
        +     * Note that a previous `Glob` object can be passed as the
        +     * `GlobOptions` to another `Glob` instantiation to re-use settings
        +     * and caches with a new pattern.
        +     *
        +     * Traversal functions can be called multiple times to run the walk
        +     * again.
        +     */
        +    constructor(pattern, opts) {
        +        /* c8 ignore start */
        +        if (!opts)
        +            throw new TypeError('glob options required');
        +        /* c8 ignore stop */
        +        this.withFileTypes = !!opts.withFileTypes;
        +        this.signal = opts.signal;
        +        this.follow = !!opts.follow;
        +        this.dot = !!opts.dot;
        +        this.dotRelative = !!opts.dotRelative;
        +        this.nodir = !!opts.nodir;
        +        this.mark = !!opts.mark;
        +        if (!opts.cwd) {
        +            this.cwd = '';
        +        }
        +        else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {
        +            opts.cwd = (0,external_node_url_.fileURLToPath)(opts.cwd);
        +        }
        +        this.cwd = opts.cwd || '';
        +        this.root = opts.root;
        +        this.magicalBraces = !!opts.magicalBraces;
        +        this.nobrace = !!opts.nobrace;
        +        this.noext = !!opts.noext;
        +        this.realpath = !!opts.realpath;
        +        this.absolute = opts.absolute;
        +        this.includeChildMatches = opts.includeChildMatches !== false;
        +        this.noglobstar = !!opts.noglobstar;
        +        this.matchBase = !!opts.matchBase;
        +        this.maxDepth =
        +            typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity;
        +        this.stat = !!opts.stat;
        +        this.ignore = opts.ignore;
        +        if (this.withFileTypes && this.absolute !== undefined) {
        +            throw new Error('cannot set absolute and withFileTypes:true');
        +        }
        +        if (typeof pattern === 'string') {
        +            pattern = [pattern];
        +        }
        +        this.windowsPathsNoEscape =
        +            !!opts.windowsPathsNoEscape ||
        +                opts.allowWindowsEscape ===
        +                    false;
        +        if (this.windowsPathsNoEscape) {
        +            pattern = pattern.map(p => p.replace(/\\/g, '/'));
        +        }
        +        if (this.matchBase) {
        +            if (opts.noglobstar) {
        +                throw new TypeError('base matching requires globstar');
        +            }
        +            pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`));
        +        }
        +        this.pattern = pattern;
        +        this.platform = opts.platform || glob_defaultPlatform;
        +        this.opts = { ...opts, platform: this.platform };
        +        if (opts.scurry) {
        +            this.scurry = opts.scurry;
        +            if (opts.nocase !== undefined &&
        +                opts.nocase !== opts.scurry.nocase) {
        +                throw new Error('nocase option contradicts provided scurry option');
        +            }
        +        }
        +        else {
        +            const Scurry = opts.platform === 'win32' ? PathScurryWin32
        +                : opts.platform === 'darwin' ? PathScurryDarwin
        +                    : opts.platform ? PathScurryPosix
        +                        : PathScurry;
        +            this.scurry = new Scurry(this.cwd, {
        +                nocase: opts.nocase,
        +                fs: opts.fs,
        +            });
        +        }
        +        this.nocase = this.scurry.nocase;
        +        // If you do nocase:true on a case-sensitive file system, then
        +        // we need to use regexps instead of strings for non-magic
        +        // path portions, because statting `aBc` won't return results
        +        // for the file `AbC` for example.
        +        const nocaseMagicOnly = this.platform === 'darwin' || this.platform === 'win32';
        +        const mmo = {
        +            // default nocase based on platform
        +            ...opts,
        +            dot: this.dot,
        +            matchBase: this.matchBase,
        +            nobrace: this.nobrace,
        +            nocase: this.nocase,
        +            nocaseMagicOnly,
        +            nocomment: true,
        +            noext: this.noext,
        +            nonegate: true,
        +            optimizationLevel: 2,
        +            platform: this.platform,
        +            windowsPathsNoEscape: this.windowsPathsNoEscape,
        +            debug: !!this.opts.debug,
        +        };
        +        const mms = this.pattern.map(p => new Minimatch(p, mmo));
        +        const [matchSet, globParts] = mms.reduce((set, m) => {
        +            set[0].push(...m.set);
        +            set[1].push(...m.globParts);
        +            return set;
        +        }, [[], []]);
        +        this.patterns = matchSet.map((set, i) => {
        +            const g = globParts[i];
        +            /* c8 ignore start */
        +            if (!g)
        +                throw new Error('invalid pattern object');
        +            /* c8 ignore stop */
        +            return new Pattern(set, g, 0, this.platform);
        +        });
        +    }
        +    async walk() {
        +        // Walkers always return array of Path objects, so we just have to
        +        // coerce them into the right shape.  It will have already called
        +        // realpath() if the option was set to do so, so we know that's cached.
        +        // start out knowing the cwd, at least
        +        return [
        +            ...(await new GlobWalker(this.patterns, this.scurry.cwd, {
        +                ...this.opts,
        +                maxDepth: this.maxDepth !== Infinity ?
        +                    this.maxDepth + this.scurry.cwd.depth()
        +                    : Infinity,
        +                platform: this.platform,
        +                nocase: this.nocase,
        +                includeChildMatches: this.includeChildMatches,
        +            }).walk()),
        +        ];
        +    }
        +    walkSync() {
        +        return [
        +            ...new GlobWalker(this.patterns, this.scurry.cwd, {
        +                ...this.opts,
        +                maxDepth: this.maxDepth !== Infinity ?
        +                    this.maxDepth + this.scurry.cwd.depth()
        +                    : Infinity,
        +                platform: this.platform,
        +                nocase: this.nocase,
        +                includeChildMatches: this.includeChildMatches,
        +            }).walkSync(),
        +        ];
        +    }
        +    stream() {
        +        return new GlobStream(this.patterns, this.scurry.cwd, {
        +            ...this.opts,
        +            maxDepth: this.maxDepth !== Infinity ?
        +                this.maxDepth + this.scurry.cwd.depth()
        +                : Infinity,
        +            platform: this.platform,
        +            nocase: this.nocase,
        +            includeChildMatches: this.includeChildMatches,
        +        }).stream();
        +    }
        +    streamSync() {
        +        return new GlobStream(this.patterns, this.scurry.cwd, {
        +            ...this.opts,
        +            maxDepth: this.maxDepth !== Infinity ?
        +                this.maxDepth + this.scurry.cwd.depth()
        +                : Infinity,
        +            platform: this.platform,
        +            nocase: this.nocase,
        +            includeChildMatches: this.includeChildMatches,
        +        }).streamSync();
        +    }
        +    /**
        +     * Default sync iteration function. Returns a Generator that
        +     * iterates over the results.
        +     */
        +    iterateSync() {
        +        return this.streamSync()[Symbol.iterator]();
        +    }
        +    [Symbol.iterator]() {
        +        return this.iterateSync();
        +    }
        +    /**
        +     * Default async iteration function. Returns an AsyncGenerator that
        +     * iterates over the results.
        +     */
        +    iterate() {
        +        return this.stream()[Symbol.asyncIterator]();
        +    }
        +    [Symbol.asyncIterator]() {
        +        return this.iterate();
        +    }
        +}
        +//# sourceMappingURL=glob.js.map
        +;// ../commons/node_modules/glob/dist/esm/has-magic.js
        +
        +/**
        + * Return true if the patterns provided contain any magic glob characters,
        + * given the options provided.
        + *
        + * Brace expansion is not considered "magic" unless the `magicalBraces` option
        + * is set, as brace expansion just turns one string into an array of strings.
        + * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and
        + * `'xby'` both do not contain any magic glob characters, and it's treated the
        + * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true`
        + * is in the options, brace expansion _is_ treated as a pattern having magic.
        + */
        +const hasMagic = (pattern, options = {}) => {
        +    if (!Array.isArray(pattern)) {
        +        pattern = [pattern];
        +    }
        +    for (const p of pattern) {
        +        if (new Minimatch(p, options).hasMagic())
        +            return true;
        +    }
        +    return false;
        +};
        +//# sourceMappingURL=has-magic.js.map
        +;// ../commons/node_modules/glob/dist/esm/index.js
        +
        +
        +
        +
        +
        +
        +
        +function globStreamSync(pattern, options = {}) {
        +    return new Glob(pattern, options).streamSync();
        +}
        +function globStream(pattern, options = {}) {
        +    return new Glob(pattern, options).stream();
        +}
        +function globSync(pattern, options = {}) {
        +    return new Glob(pattern, options).walkSync();
        +}
        +async function glob_(pattern, options = {}) {
        +    return new Glob(pattern, options).walk();
        +}
        +function globIterateSync(pattern, options = {}) {
        +    return new Glob(pattern, options).iterateSync();
        +}
        +function globIterate(pattern, options = {}) {
        +    return new Glob(pattern, options).iterate();
        +}
        +// aliases: glob.sync.stream() glob.stream.sync() glob.sync() etc
        +const streamSync = globStreamSync;
        +const stream = Object.assign(globStream, { sync: globStreamSync });
        +const iterateSync = globIterateSync;
        +const iterate = Object.assign(globIterate, {
        +    sync: globIterateSync,
        +});
        +const esm_sync = Object.assign(globSync, {
        +    stream: globStreamSync,
        +    iterate: globIterateSync,
        +});
        +const glob = Object.assign(glob_, {
        +    glob: glob_,
        +    globSync,
        +    sync: esm_sync,
        +    globStream,
        +    stream,
        +    globStreamSync,
        +    streamSync,
        +    globIterate,
        +    iterate,
        +    globIterateSync,
        +    iterateSync,
        +    Glob: Glob,
        +    hasMagic: hasMagic,
        +    escape: escape_escape,
        +    unescape: unescape_unescape,
        +});
        +glob.glob = glob;
        +//# sourceMappingURL=index.js.map
        +;// ../commons/dist/fs/glob-parent.js
        +
        +
        +
        +const isWin32 = (0,external_os_.platform)() === 'win32';
        +const slash = '/';
        +const backslash = /\\/g;
        +const escaped = /\\([!*?|[\](){}])/g;
        +const globParent = (str, opts) => {
        +    const options = { flipBackslashes: true, ...opts };
        +    // flip windows path separators
        +    if (options.flipBackslashes && isWin32 && !str.includes(slash)) {
        +        str = str.replace(backslash, slash);
        +    }
        +    // special case for strings ending in enclosure containing path separator
        +    if (isEnclosure(str)) {
        +        str += slash;
        +    }
        +    // preserves full path in case of trailing path separator
        +    str += 'a';
        +    // remove path parts that are globby
        +    do {
        +        str = external_path_.posix.dirname(str);
        +    } while (isGlobby(str));
        +    // remove escape chars and return result
        +    return str.replace(escaped, '$1');
        +};
        +function isEnclosure(str) {
        +    const lastChar = str.slice(-1);
        +    let enclosureStart;
        +    switch (lastChar) {
        +        case '}':
        +            enclosureStart = '{';
        +            break;
        +        case ']':
        +            enclosureStart = '[';
        +            break;
        +        default:
        +            return false;
        +    }
        +    const foundIndex = str.indexOf(enclosureStart);
        +    if (foundIndex < 0) {
        +        return false;
        +    }
        +    return str.slice(foundIndex + 1, -1).includes(slash);
        +}
        +function isGlobby(str) {
        +    if (/\([^()]+$/.test(str)) {
        +        return true;
        +    }
        +    if (str[0] === '{' || str[0] === '[') {
        +        return true;
        +    }
        +    if (/[^\\][{[]/.test(str)) {
        +        return true;
        +    }
        +    return hasMagic(str);
        +}
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYi1wYXJlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnMvZ2xvYi1wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQzdCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFL0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxFQUFFLEtBQUssT0FBTyxDQUFBO0FBRXRDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUNsQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDeEIsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUM7QUFNckMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLElBQWMsRUFBVSxFQUFFO0lBQ2hFLE1BQU0sT0FBTyxHQUFZLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO0lBRTVELCtCQUErQjtJQUMvQixJQUFJLE9BQU8sQ0FBQyxlQUFlLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9ELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQseUVBQXlFO0lBQ3pFLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsR0FBRyxJQUFJLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx5REFBeUQ7SUFDekQsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUVYLG9DQUFvQztJQUNwQyxHQUFHLENBQUM7UUFDRixHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDLFFBQVEsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBRXhCLHdDQUF3QztJQUN4QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQTtBQUVELFNBQVMsV0FBVyxDQUFDLEdBQVc7SUFDOUIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRS9CLElBQUksY0FBc0IsQ0FBQztJQUMzQixRQUFRLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssR0FBRztZQUNOLGNBQWMsR0FBRyxHQUFHLENBQUM7WUFDckIsTUFBTTtRQUNSLEtBQUssR0FBRztZQUNOLGNBQWMsR0FBRyxHQUFHLENBQUM7WUFDckIsTUFBTTtRQUNSO1lBQ0UsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0MsSUFBSSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLEdBQVc7SUFDM0IsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDIn0=
        +;// ../commons/dist/fs/glob-base.js
        +/*!
        + * glob-base 
        + *
        + * Copyright (c) 2015, Jon Schlinkert.
        + * Licensed under the MIT License.
        + */
        +
        +
        +
        +function dirname(glob) {
        +    if (glob.slice(-1) === '/')
        +        return glob;
        +    return (0,external_path_.dirname)(glob);
        +}
        +const globBase = (pattern) => {
        +    if (typeof pattern !== 'string') {
        +        throw new TypeError('glob-base expects a string.');
        +    }
        +    const res = {
        +        base: globParent(pattern),
        +        isGlob: hasMagic(pattern),
        +        glob: ''
        +    };
        +    if (res.base !== '.') {
        +        res.glob = pattern.substr(res.base.length);
        +        if (res.glob.charAt(0) === '/') {
        +            res.glob = res.glob.substr(1);
        +        }
        +    }
        +    else {
        +        res.glob = pattern;
        +    }
        +    if (!res.isGlob) {
        +        res.base = dirname(pattern);
        +        res.glob = res.base !== '.'
        +            ? pattern.substr(res.base.length)
        +            : pattern;
        +    }
        +    if (res.glob.substr(0, 2) === './') {
        +        res.glob = res.glob.substr(2);
        +    }
        +    if (res.glob.charAt(0) === '/') {
        +        res.glob = res.glob.substr(1);
        +    }
        +    return res;
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYi1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZzL2dsb2ItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUVILE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBUTdDLFNBQVMsT0FBTyxDQUFDLElBQVk7SUFDM0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3hDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFlLEVBQWtCLEVBQUU7SUFDMUQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxNQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELE1BQU0sR0FBRyxHQUFtQjtRQUMxQixJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN6QixNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN6QixJQUFJLEVBQUUsRUFBRTtLQUNULENBQUM7SUFFRixJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDckIsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO1NBQU0sQ0FBQztRQUNOLEdBQUcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHO1lBQ3pCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbkMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUMvQixHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQSJ9
        +;// ../commons/dist/fs/glob-parse.js
        +/*!
        + * parse-glob 
        + *
        + * Copyright (c) 2015, Jon Schlinkert.
        + * Licensed under the MIT License.
        + */
        +
        +
        +/**
        + * Expose `cache`
        + */
        +const cache = {};
        +/**
        + * Parse a glob pattern into tokens.
        + *
        + * When no paths or '**' are in the glob, a different
        + * strategy is used for parsing the filename, since
        + * file names can contain braces and other tricky patterns:
        + *
        + *  - `*.{a,b}`
        + *  - `(**|*.js)`
        + */
        +function parseGlob(glob) {
        +    if (cache.hasOwnProperty(glob)) {
        +        return cache[glob];
        +    }
        +    const tok = {};
        +    tok.orig = glob;
        +    tok.is = {
        +        glob: false,
        +        negated: false,
        +        extglob: false,
        +        braces: false,
        +        brackets: false,
        +        globstar: false,
        +        dotfile: false,
        +        dotdir: false,
        +    };
        +    // Temporarily escape dots and slashes within braces/brackets
        +    glob = escapeSpecial(glob);
        +    const parsed = globBase(glob);
        +    tok.is.glob = parsed.isGlob;
        +    tok.glob = parsed.glob;
        +    tok.base = parsed.base;
        +    const segs = /([^/]*)$/.exec(glob);
        +    tok.path = {
        +        dirname: '',
        +        basename: segs ? segs[1] : '',
        +        filename: '',
        +        extname: '',
        +        ext: '',
        +    };
        +    tok.path.dirname = glob.split(tok.path.basename).join('') || '';
        +    const basenameParts = tok.path.basename.split('.') || [];
        +    tok.path.filename = basenameParts[0] || '';
        +    tok.path.extname = basenameParts.slice(1).join('.') || '';
        +    // If the dirname is a glob and we have no basename, adjust
        +    if (hasMagic(tok.path.dirname) && !tok.path.basename) {
        +        if (!/\/$/.test(tok.glob)) {
        +            tok.path.basename = tok.glob;
        +        }
        +        tok.path.dirname = tok.base;
        +    }
        +    // If glob doesn't contain '/', handle everything as basename
        +    if (!glob.includes('/') && !tok.is.globstar) {
        +        tok.path.dirname = '';
        +        tok.path.basename = tok.orig;
        +    }
        +    const dotIndex = tok.path.basename.indexOf('.');
        +    if (dotIndex !== -1) {
        +        tok.path.filename = tok.path.basename.slice(0, dotIndex);
        +        tok.path.extname = tok.path.basename.slice(dotIndex);
        +    }
        +    if (tok.path.extname.startsWith('.')) {
        +        const exts = tok.path.extname.split('.');
        +        tok.path.ext = exts[exts.length - 1];
        +    }
        +    // Unescape
        +    tok.glob = unescapeSpecial(tok.glob);
        +    tok.path.dirname = unescapeSpecial(tok.path.dirname);
        +    tok.path.basename = unescapeSpecial(tok.path.basename);
        +    tok.path.filename = unescapeSpecial(tok.path.filename);
        +    tok.path.extname = unescapeSpecial(tok.path.extname);
        +    // Booleans
        +    const maybeGlob = !!glob && tok.is.glob;
        +    tok.is.negated = !!glob && glob.charAt(0) === '!';
        +    //tok.is.extglob = !!glob && extglob(glob);
        +    tok.is.braces = has(maybeGlob, glob, '{');
        +    tok.is.brackets = has(maybeGlob, glob, '[:');
        +    tok.is.globstar = has(maybeGlob, glob, '**');
        +    //tok.is.dotfile = dotfile(tok.path.basename) || dotfile(tok.path.filename);
        +    tok.is.dotdir = isDotDir(tok.path.dirname);
        +    cache[glob] = tok;
        +    return tok;
        +}
        +/**
        + * Returns true if the pattern has the given `ch`aracter(s).
        + */
        +function has(is, glob, ch) {
        +    return is && glob.includes(ch);
        +}
        +/**
        + * Returns true if the glob matches dot-directories.
        + */
        +function isDotDir(base) {
        +    if (base.includes('/.')) {
        +        return true;
        +    }
        +    if (base.charAt(0) === '.' && base.charAt(1) !== '/') {
        +        return true;
        +    }
        +    return false;
        +}
        +/**
        + * Escape special characters (dots and slashes) in braces/brackets/parens.
        + */
        +function escapeSpecial(str) {
        +    const re = /\{([^{}]*?)\}|\(([^()]*?)\)|\[([^\[\]]*?)\]/g;
        +    return str.replace(re, (outer, braces, parens, brackets) => {
        +        const inner = braces || parens || brackets;
        +        if (!inner)
        +            return outer;
        +        return outer.split(inner).join(escapeDotsAndSlashes(inner));
        +    });
        +}
        +function escapeDotsAndSlashes(str) {
        +    return str
        +        .split('/')
        +        .join('__SLASH__')
        +        .split('.')
        +        .join('__DOT__');
        +}
        +/**
        + * Unescape special placeholders back to dots and slashes.
        + */
        +function unescapeSpecial(str) {
        +    return str
        +        .split('__SLASH__')
        +        .join('/')
        +        .split('__DOT__')
        +        .join('.');
        +}
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYi1wYXJzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcy9nbG9iLXBhcnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUE4QjFDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUErQixFQUFFLENBQUM7QUFFcEQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFZO0lBQ3BDLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxFQUFnQixDQUFDO0lBQzdCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLEdBQUcsQ0FBQyxFQUFFLEdBQUc7UUFDUCxJQUFJLEVBQUUsS0FBSztRQUNYLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNLEVBQUUsS0FBSztRQUNiLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLEtBQUs7UUFDZixPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxLQUFLO0tBQ2QsQ0FBQztJQUVGLDZEQUE2RDtJQUM3RCxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTNCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM3QixHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVCLEdBQUcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztJQUN2QixHQUFHLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFdkIsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxHQUFHLENBQUMsSUFBSSxHQUFHO1FBQ1QsT0FBTyxFQUFFLEVBQUU7UUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDN0IsUUFBUSxFQUFFLEVBQUU7UUFDWixPQUFPLEVBQUUsRUFBRTtRQUNYLEdBQUcsRUFBRSxFQUFFO0tBQ1IsQ0FBQztJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hFLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekQsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFMUQsMkRBQTJEO0lBQzNELElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDL0IsQ0FBQztRQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekQsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVztJQUNYLEdBQUcsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVyRCxXQUFXO0lBQ1gsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztJQUN4QyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDO0lBQ2xELDJDQUEyQztJQUMzQyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3Qyw0RUFBNEU7SUFDNUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFM0MsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNsQixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsR0FBRyxDQUFDLEVBQVcsRUFBRSxJQUFZLEVBQUUsRUFBVTtJQUNoRCxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsUUFBUSxDQUFDLElBQVk7SUFDNUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxhQUFhLENBQUMsR0FBVztJQUNoQyxNQUFNLEVBQUUsR0FBRyw4Q0FBOEMsQ0FBQztJQUMxRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7UUFDekQsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLE1BQU0sSUFBSSxRQUFRLENBQUM7UUFDM0MsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxHQUFXO0lBQ3ZDLE9BQU8sR0FBRztTQUNQLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ2pCLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDckIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxlQUFlLENBQUMsR0FBVztJQUNsQyxPQUFPLEdBQUc7U0FDUCxLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDVCxLQUFLLENBQUMsU0FBUyxDQUFDO1NBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUMifQ==
        +;// ../commons/dist/fs/_glob.js
        +/* unused harmony import specifier */ var _glob_path;
        +/* unused harmony import specifier */ var _glob_globSync;
        +/* unused harmony import specifier */ var _glob_hasMagic;
        +/* unused harmony import specifier */ var _glob_glob;
        +/* unused harmony import specifier */ var _glob_REGEX_VAR_ALT;
        +/* unused harmony import specifier */ var _glob_REGEX_VAR;
        +/* unused harmony import specifier */ var _glob_exists;
        +/* unused harmony import specifier */ var _glob_isFile;
        +/* unused harmony import specifier */ var _glob_isFolder;
        +/* unused harmony import specifier */ var _glob_globBase;
        +
        +
        +
        +
        +const files = (cwd, glob, options) => _glob_globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} });
        +const filesEx = (cwd, glob, options) => _glob_globSync(glob, { ...{ dot: true, cwd, absolute: true, caseSensitiveMatch: false }, ...options || {} });
        +
        +
        +
        +
        +
        +const GLOB_GROUP_PATTERN = /[!*+?@]\(.*\)/;
        +const getExtensions = (glob) => {
        +    const match = glob.match(GLOB_GROUP_PATTERN);
        +    if (match) {
        +        return glob.substring((match.index || 0) + 2, glob.lastIndexOf(')')).split('|');
        +    }
        +    else {
        +        return [parseGlob(glob).path.ext];
        +    }
        +};
        +const forward_slash = (path) => {
        +    const isExtendedLengthPath = /^\\\\\?\\/.test(path);
        +    const hasNonAscii = /[^\u0000-\u0080]+/.test(path);
        +    if (isExtendedLengthPath || hasNonAscii) {
        +        return path;
        +    }
        +    return path.replace(/\\/g, '/');
        +};
        +const pathInfoEx = (src, altToken = false, globOptions = {}) => {
        +    const srcParts = _glob_path.parse(src);
        +    let variables = {
        +        PATH: src
        +    };
        +    variables.DIR = srcParts.dir;
        +    variables.NAME = srcParts.name;
        +    variables.FILE_NAME = srcParts.base;
        +    variables.FILE_EXT = srcParts.ext.replace('.', '');
        +    variables.PATH = src;
        +    variables.IS_FILE = _glob_isFile(src);
        +    variables.IS_FOLDER = _glob_isFolder(src);
        +    variables.IS_EXPRESSION = src.match(altToken ? _glob_REGEX_VAR_ALT : _glob_REGEX_VAR) != null;
        +    variables.IS_GLOB = _glob_hasMagic(src);
        +    if (variables.IS_GLOB) {
        +        const glob_base = _glob_globBase(src);
        +        variables.DIR = _glob_path.resolve(glob_base.base);
        +        variables.FILE_NAME = glob_base.glob;
        +        variables.GLOB = glob_base.glob;
        +        variables.GLOB_EXTENSIONS = getExtensions(glob_base.glob);
        +        globOptions = {
        +            ...globOptions,
        +            cwd: globOptions.cwd ? _glob_path.join(globOptions.cwd, glob_base.base) : glob_base.base
        +        };
        +        variables.FILES = _glob_glob.sync(glob_base.glob, globOptions);
        +    }
        +    else if (variables.IS_FILE && _glob_exists(src)) {
        +        variables.FILES = [src];
        +    }
        +    return variables;
        +};
        +const pathInfo = (src, altToken = false, cwd = null) => {
        +    const srcParts = external_path_.parse(src);
        +    let variables = {
        +        PATH: src
        +    };
        +    variables.DIR = srcParts.dir;
        +    variables.NAME = srcParts.name;
        +    variables.FILE_NAME = srcParts.base;
        +    variables.FILE_EXT = srcParts.ext.replace('.', '');
        +    variables.PATH = src;
        +    variables.IS_FILE = isFile(src);
        +    variables.IS_FOLDER = isFolder(src);
        +    variables.IS_EXPRESSION = src.match(altToken ? REGEX_VAR_ALT : REGEX_VAR) != null;
        +    if (!variables.IS_FOLDER && !variables.IS_FILE) {
        +        variables.IS_GLOB = hasMagic(srcParts.base);
        +    }
        +    else {
        +        variables.IS_GLOB = false;
        +    }
        +    if (variables.IS_GLOB) {
        +        const glob_base = globBase(src);
        +        variables.DIR = external_path_.resolve(glob_base.base);
        +        variables.FILE_NAME = glob_base.glob;
        +        variables.GLOB = glob_base.glob;
        +        variables.GLOB_EXTENSIONS = getExtensions(glob_base.glob);
        +        variables.FILES = globSync(glob_base.glob, {
        +            dot: true,
        +            cwd: external_path_.resolve(cwd || variables.DIR),
        +            absolute: true
        +        });
        +    }
        +    else if (variables.IS_FILE && sync(src)) {
        +        variables.FILES = [src];
        +    }
        +    return variables;
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnMvX2dsb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUE7QUFFNUIsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQWUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDbkUsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUVwRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQWEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFPLENBQUE7QUFDL0osTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFxQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxFQUFFLENBQU8sQ0FBQTtBQUV6SyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUczQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFN0MsTUFBTSxrQkFBa0IsR0FBRyxlQUFlLENBQUE7QUFFMUMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ25GLENBQUM7U0FBTSxDQUFDO1FBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUdELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2xDLE1BQU0sb0JBQW9CLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNuRCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEQsSUFBSSxvQkFBb0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQUUsV0FBb0IsS0FBSyxFQUFFLGNBQTJCLEVBQUUsRUFBYSxFQUFFO0lBQzNHLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEMsSUFBSSxTQUFTLEdBQWM7UUFDdkIsSUFBSSxFQUFFLEdBQUc7S0FDQyxDQUFBO0lBRWQsU0FBUyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFBO0lBQzVCLFNBQVMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQTtJQUM5QixTQUFTLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUE7SUFDbkMsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbEQsU0FBUyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUE7SUFDcEIsU0FBUyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDL0IsU0FBUyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkMsU0FBUyxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUE7SUFDakYsU0FBUyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDakMsSUFBSSxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQy9CLFNBQVMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDNUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFBO1FBQ3BDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQTtRQUMvQixTQUFTLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekQsV0FBVyxHQUFHO1lBQ1YsR0FBRyxXQUFXO1lBQ2QsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQWEsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJO1NBQy9GLENBQUE7UUFDRCxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLENBQU8sQ0FBQTtJQUNsRSxDQUFDO1NBQU0sSUFBSSxTQUFTLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUE7QUFDcEIsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLFdBQW9CLEtBQUssRUFBRSxNQUFjLElBQUksRUFBYSxFQUFFO0lBQzlGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEMsSUFBSSxTQUFTLEdBQWM7UUFDdkIsSUFBSSxFQUFFLEdBQUc7S0FDQyxDQUFBO0lBQ2QsU0FBUyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFBO0lBQzVCLFNBQVMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQTtJQUM5QixTQUFTLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUE7SUFDbkMsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbEQsU0FBUyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUE7SUFDcEIsU0FBUyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDL0IsU0FBUyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkMsU0FBUyxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUE7SUFFakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0MsU0FBUyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9DLENBQUM7U0FBTSxDQUFDO1FBQ0osU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7SUFDN0IsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMvQixTQUFTLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQTtRQUNwQyxTQUFTLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUE7UUFDL0IsU0FBUyxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pELFNBQVMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDdkMsR0FBRyxFQUFFLElBQUk7WUFDVCxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QyxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUE7SUFDTixDQUFDO1NBQU0sSUFBSSxTQUFTLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUE7QUFDcEIsQ0FBQyxDQUFBIn0=
        +;// ../commons/node_modules/zod/v4/core/core.js
        +/** A special constant with type `never` */
        +const NEVER = Object.freeze({
        +    status: "aborted",
        +});
        +function $constructor(name, initializer, params) {
        +    function init(inst, def) {
        +        if (!inst._zod) {
        +            Object.defineProperty(inst, "_zod", {
        +                value: {
        +                    def,
        +                    constr: _,
        +                    traits: new Set(),
        +                },
        +                enumerable: false,
        +            });
        +        }
        +        if (inst._zod.traits.has(name)) {
        +            return;
        +        }
        +        inst._zod.traits.add(name);
        +        initializer(inst, def);
        +        // support prototype modifications
        +        const proto = _.prototype;
        +        const keys = Object.keys(proto);
        +        for (let i = 0; i < keys.length; i++) {
        +            const k = keys[i];
        +            if (!(k in inst)) {
        +                inst[k] = proto[k].bind(inst);
        +            }
        +        }
        +    }
        +    // doesn't work if Parent has a constructor with arguments
        +    const Parent = params?.Parent ?? Object;
        +    class Definition extends Parent {
        +    }
        +    Object.defineProperty(Definition, "name", { value: name });
        +    function _(def) {
        +        var _a;
        +        const inst = params?.Parent ? new Definition() : this;
        +        init(inst, def);
        +        (_a = inst._zod).deferred ?? (_a.deferred = []);
        +        for (const fn of inst._zod.deferred) {
        +            fn();
        +        }
        +        return inst;
        +    }
        +    Object.defineProperty(_, "init", { value: init });
        +    Object.defineProperty(_, Symbol.hasInstance, {
        +        value: (inst) => {
        +            if (params?.Parent && inst instanceof params.Parent)
        +                return true;
        +            return inst?._zod?.traits?.has(name);
        +        },
        +    });
        +    Object.defineProperty(_, "name", { value: name });
        +    return _;
        +}
        +//////////////////////////////   UTILITIES   ///////////////////////////////////////
        +const $brand = Symbol("zod_brand");
        +class $ZodAsyncError extends Error {
        +    constructor() {
        +        super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);
        +    }
        +}
        +class $ZodEncodeError extends Error {
        +    constructor(name) {
        +        super(`Encountered unidirectional transform during encode: ${name}`);
        +        this.name = "ZodEncodeError";
        +    }
        +}
        +const globalConfig = {};
        +function config(newConfig) {
        +    if (newConfig)
        +        Object.assign(globalConfig, newConfig);
        +    return globalConfig;
        +}
        +
        +;// ../commons/node_modules/zod/v4/core/util.js
        +// functions
        +function assertEqual(val) {
        +    return val;
        +}
        +function assertNotEqual(val) {
        +    return val;
        +}
        +function assertIs(_arg) { }
        +function util_assertNever(_x) {
        +    throw new Error("Unexpected value in exhaustive check");
        +}
        +function util_assert(_) { }
        +function getEnumValues(entries) {
        +    const numericValues = Object.values(entries).filter((v) => typeof v === "number");
        +    const values = Object.entries(entries)
        +        .filter(([k, _]) => numericValues.indexOf(+k) === -1)
        +        .map(([_, v]) => v);
        +    return values;
        +}
        +function joinValues(array, separator = "|") {
        +    return array.map((val) => stringifyPrimitive(val)).join(separator);
        +}
        +function jsonStringifyReplacer(_, value) {
        +    if (typeof value === "bigint")
        +        return value.toString();
        +    return value;
        +}
        +function cached(getter) {
        +    const set = false;
        +    return {
        +        get value() {
        +            if (!set) {
        +                const value = getter();
        +                Object.defineProperty(this, "value", { value });
        +                return value;
        +            }
        +            throw new Error("cached value already set");
        +        },
        +    };
        +}
        +function nullish(input) {
        +    return input === null || input === undefined;
        +}
        +function cleanRegex(source) {
        +    const start = source.startsWith("^") ? 1 : 0;
        +    const end = source.endsWith("$") ? source.length - 1 : source.length;
        +    return source.slice(start, end);
        +}
        +function floatSafeRemainder(val, step) {
        +    const valDecCount = (val.toString().split(".")[1] || "").length;
        +    const stepString = step.toString();
        +    let stepDecCount = (stepString.split(".")[1] || "").length;
        +    if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) {
        +        const match = stepString.match(/\d?e-(\d?)/);
        +        if (match?.[1]) {
        +            stepDecCount = Number.parseInt(match[1]);
        +        }
        +    }
        +    const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
        +    const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
        +    const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
        +    return (valInt % stepInt) / 10 ** decCount;
        +}
        +const EVALUATING = Symbol("evaluating");
        +function defineLazy(object, key, getter) {
        +    let value = undefined;
        +    Object.defineProperty(object, key, {
        +        get() {
        +            if (value === EVALUATING) {
        +                // Circular reference detected, return undefined to break the cycle
        +                return undefined;
        +            }
        +            if (value === undefined) {
        +                value = EVALUATING;
        +                value = getter();
        +            }
        +            return value;
        +        },
        +        set(v) {
        +            Object.defineProperty(object, key, {
        +                value: v,
        +                // configurable: true,
        +            });
        +            // object[key] = v;
        +        },
        +        configurable: true,
        +    });
        +}
        +function objectClone(obj) {
        +    return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));
        +}
        +function assignProp(target, prop, value) {
        +    Object.defineProperty(target, prop, {
        +        value,
        +        writable: true,
        +        enumerable: true,
        +        configurable: true,
        +    });
        +}
        +function mergeDefs(...defs) {
        +    const mergedDescriptors = {};
        +    for (const def of defs) {
        +        const descriptors = Object.getOwnPropertyDescriptors(def);
        +        Object.assign(mergedDescriptors, descriptors);
        +    }
        +    return Object.defineProperties({}, mergedDescriptors);
        +}
        +function cloneDef(schema) {
        +    return mergeDefs(schema._zod.def);
        +}
        +function getElementAtPath(obj, path) {
        +    if (!path)
        +        return obj;
        +    return path.reduce((acc, key) => acc?.[key], obj);
        +}
        +function promiseAllObject(promisesObj) {
        +    const keys = Object.keys(promisesObj);
        +    const promises = keys.map((key) => promisesObj[key]);
        +    return Promise.all(promises).then((results) => {
        +        const resolvedObj = {};
        +        for (let i = 0; i < keys.length; i++) {
        +            resolvedObj[keys[i]] = results[i];
        +        }
        +        return resolvedObj;
        +    });
        +}
        +function randomString(length = 10) {
        +    const chars = "abcdefghijklmnopqrstuvwxyz";
        +    let str = "";
        +    for (let i = 0; i < length; i++) {
        +        str += chars[Math.floor(Math.random() * chars.length)];
        +    }
        +    return str;
        +}
        +function esc(str) {
        +    return JSON.stringify(str);
        +}
        +function slugify(input) {
        +    return input
        +        .toLowerCase()
        +        .trim()
        +        .replace(/[^\w\s-]/g, "")
        +        .replace(/[\s_-]+/g, "-")
        +        .replace(/^-+|-+$/g, "");
        +}
        +const captureStackTrace = ("captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => { });
        +function util_isObject(data) {
        +    return typeof data === "object" && data !== null && !Array.isArray(data);
        +}
        +const util_allowsEval = cached(() => {
        +    // @ts-ignore
        +    if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
        +        return false;
        +    }
        +    try {
        +        const F = Function;
        +        new F("");
        +        return true;
        +    }
        +    catch (_) {
        +        return false;
        +    }
        +});
        +function isPlainObject(o) {
        +    if (util_isObject(o) === false)
        +        return false;
        +    // modified constructor
        +    const ctor = o.constructor;
        +    if (ctor === undefined)
        +        return true;
        +    if (typeof ctor !== "function")
        +        return true;
        +    // modified prototype
        +    const prot = ctor.prototype;
        +    if (util_isObject(prot) === false)
        +        return false;
        +    // ctor doesn't have static `isPrototypeOf`
        +    if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
        +        return false;
        +    }
        +    return true;
        +}
        +function shallowClone(o) {
        +    if (isPlainObject(o))
        +        return { ...o };
        +    if (Array.isArray(o))
        +        return [...o];
        +    return o;
        +}
        +function numKeys(data) {
        +    let keyCount = 0;
        +    for (const key in data) {
        +        if (Object.prototype.hasOwnProperty.call(data, key)) {
        +            keyCount++;
        +        }
        +    }
        +    return keyCount;
        +}
        +const getParsedType = (data) => {
        +    const t = typeof data;
        +    switch (t) {
        +        case "undefined":
        +            return "undefined";
        +        case "string":
        +            return "string";
        +        case "number":
        +            return Number.isNaN(data) ? "nan" : "number";
        +        case "boolean":
        +            return "boolean";
        +        case "function":
        +            return "function";
        +        case "bigint":
        +            return "bigint";
        +        case "symbol":
        +            return "symbol";
        +        case "object":
        +            if (Array.isArray(data)) {
        +                return "array";
        +            }
        +            if (data === null) {
        +                return "null";
        +            }
        +            if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
        +                return "promise";
        +            }
        +            if (typeof Map !== "undefined" && data instanceof Map) {
        +                return "map";
        +            }
        +            if (typeof Set !== "undefined" && data instanceof Set) {
        +                return "set";
        +            }
        +            if (typeof Date !== "undefined" && data instanceof Date) {
        +                return "date";
        +            }
        +            // @ts-ignore
        +            if (typeof File !== "undefined" && data instanceof File) {
        +                return "file";
        +            }
        +            return "object";
        +        default:
        +            throw new Error(`Unknown data type: ${t}`);
        +    }
        +};
        +const propertyKeyTypes = new Set(["string", "number", "symbol"]);
        +const primitiveTypes = new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
        +function escapeRegex(str) {
        +    return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
        +}
        +// zod-specific utils
        +function clone(inst, def, params) {
        +    const cl = new inst._zod.constr(def ?? inst._zod.def);
        +    if (!def || params?.parent)
        +        cl._zod.parent = inst;
        +    return cl;
        +}
        +function normalizeParams(_params) {
        +    const params = _params;
        +    if (!params)
        +        return {};
        +    if (typeof params === "string")
        +        return { error: () => params };
        +    if (params?.message !== undefined) {
        +        if (params?.error !== undefined)
        +            throw new Error("Cannot specify both `message` and `error` params");
        +        params.error = params.message;
        +    }
        +    delete params.message;
        +    if (typeof params.error === "string")
        +        return { ...params, error: () => params.error };
        +    return params;
        +}
        +function createTransparentProxy(getter) {
        +    let target;
        +    return new Proxy({}, {
        +        get(_, prop, receiver) {
        +            target ?? (target = getter());
        +            return Reflect.get(target, prop, receiver);
        +        },
        +        set(_, prop, value, receiver) {
        +            target ?? (target = getter());
        +            return Reflect.set(target, prop, value, receiver);
        +        },
        +        has(_, prop) {
        +            target ?? (target = getter());
        +            return Reflect.has(target, prop);
        +        },
        +        deleteProperty(_, prop) {
        +            target ?? (target = getter());
        +            return Reflect.deleteProperty(target, prop);
        +        },
        +        ownKeys(_) {
        +            target ?? (target = getter());
        +            return Reflect.ownKeys(target);
        +        },
        +        getOwnPropertyDescriptor(_, prop) {
        +            target ?? (target = getter());
        +            return Reflect.getOwnPropertyDescriptor(target, prop);
        +        },
        +        defineProperty(_, prop, descriptor) {
        +            target ?? (target = getter());
        +            return Reflect.defineProperty(target, prop, descriptor);
        +        },
        +    });
        +}
        +function stringifyPrimitive(value) {
        +    if (typeof value === "bigint")
        +        return value.toString() + "n";
        +    if (typeof value === "string")
        +        return `"${value}"`;
        +    return `${value}`;
        +}
        +function optionalKeys(shape) {
        +    return Object.keys(shape).filter((k) => {
        +        return shape[k]._zod.optin === "optional" && shape[k]._zod.optout === "optional";
        +    });
        +}
        +const NUMBER_FORMAT_RANGES = {
        +    safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
        +    int32: [-2147483648, 2147483647],
        +    uint32: [0, 4294967295],
        +    float32: [-3.4028234663852886e38, 3.4028234663852886e38],
        +    float64: [-Number.MAX_VALUE, Number.MAX_VALUE],
        +};
        +const BIGINT_FORMAT_RANGES = {
        +    int64: [/* @__PURE__*/ BigInt("-9223372036854775808"), /* @__PURE__*/ BigInt("9223372036854775807")],
        +    uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt("18446744073709551615")],
        +};
        +function pick(schema, mask) {
        +    const currDef = schema._zod.def;
        +    const checks = currDef.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        throw new Error(".pick() cannot be used on object schemas containing refinements");
        +    }
        +    const def = mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const newShape = {};
        +            for (const key in mask) {
        +                if (!(key in currDef.shape)) {
        +                    throw new Error(`Unrecognized key: "${key}"`);
        +                }
        +                if (!mask[key])
        +                    continue;
        +                newShape[key] = currDef.shape[key];
        +            }
        +            assignProp(this, "shape", newShape); // self-caching
        +            return newShape;
        +        },
        +        checks: [],
        +    });
        +    return clone(schema, def);
        +}
        +function omit(schema, mask) {
        +    const currDef = schema._zod.def;
        +    const checks = currDef.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        throw new Error(".omit() cannot be used on object schemas containing refinements");
        +    }
        +    const def = mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const newShape = { ...schema._zod.def.shape };
        +            for (const key in mask) {
        +                if (!(key in currDef.shape)) {
        +                    throw new Error(`Unrecognized key: "${key}"`);
        +                }
        +                if (!mask[key])
        +                    continue;
        +                delete newShape[key];
        +            }
        +            assignProp(this, "shape", newShape); // self-caching
        +            return newShape;
        +        },
        +        checks: [],
        +    });
        +    return clone(schema, def);
        +}
        +function extend(schema, shape) {
        +    if (!isPlainObject(shape)) {
        +        throw new Error("Invalid input to extend: expected a plain object");
        +    }
        +    const checks = schema._zod.def.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        // Only throw if new shape overlaps with existing shape
        +        // Use getOwnPropertyDescriptor to check key existence without accessing values
        +        const existingShape = schema._zod.def.shape;
        +        for (const key in shape) {
        +            if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {
        +                throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.");
        +            }
        +        }
        +    }
        +    const def = mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const _shape = { ...schema._zod.def.shape, ...shape };
        +            assignProp(this, "shape", _shape); // self-caching
        +            return _shape;
        +        },
        +    });
        +    return clone(schema, def);
        +}
        +function safeExtend(schema, shape) {
        +    if (!isPlainObject(shape)) {
        +        throw new Error("Invalid input to safeExtend: expected a plain object");
        +    }
        +    const def = mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const _shape = { ...schema._zod.def.shape, ...shape };
        +            assignProp(this, "shape", _shape); // self-caching
        +            return _shape;
        +        },
        +    });
        +    return clone(schema, def);
        +}
        +function merge(a, b) {
        +    const def = mergeDefs(a._zod.def, {
        +        get shape() {
        +            const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };
        +            assignProp(this, "shape", _shape); // self-caching
        +            return _shape;
        +        },
        +        get catchall() {
        +            return b._zod.def.catchall;
        +        },
        +        checks: [], // delete existing checks
        +    });
        +    return clone(a, def);
        +}
        +function partial(Class, schema, mask) {
        +    const currDef = schema._zod.def;
        +    const checks = currDef.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        throw new Error(".partial() cannot be used on object schemas containing refinements");
        +    }
        +    const def = mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const oldShape = schema._zod.def.shape;
        +            const shape = { ...oldShape };
        +            if (mask) {
        +                for (const key in mask) {
        +                    if (!(key in oldShape)) {
        +                        throw new Error(`Unrecognized key: "${key}"`);
        +                    }
        +                    if (!mask[key])
        +                        continue;
        +                    // if (oldShape[key]!._zod.optin === "optional") continue;
        +                    shape[key] = Class
        +                        ? new Class({
        +                            type: "optional",
        +                            innerType: oldShape[key],
        +                        })
        +                        : oldShape[key];
        +                }
        +            }
        +            else {
        +                for (const key in oldShape) {
        +                    // if (oldShape[key]!._zod.optin === "optional") continue;
        +                    shape[key] = Class
        +                        ? new Class({
        +                            type: "optional",
        +                            innerType: oldShape[key],
        +                        })
        +                        : oldShape[key];
        +                }
        +            }
        +            assignProp(this, "shape", shape); // self-caching
        +            return shape;
        +        },
        +        checks: [],
        +    });
        +    return clone(schema, def);
        +}
        +function required(Class, schema, mask) {
        +    const def = mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const oldShape = schema._zod.def.shape;
        +            const shape = { ...oldShape };
        +            if (mask) {
        +                for (const key in mask) {
        +                    if (!(key in shape)) {
        +                        throw new Error(`Unrecognized key: "${key}"`);
        +                    }
        +                    if (!mask[key])
        +                        continue;
        +                    // overwrite with non-optional
        +                    shape[key] = new Class({
        +                        type: "nonoptional",
        +                        innerType: oldShape[key],
        +                    });
        +                }
        +            }
        +            else {
        +                for (const key in oldShape) {
        +                    // overwrite with non-optional
        +                    shape[key] = new Class({
        +                        type: "nonoptional",
        +                        innerType: oldShape[key],
        +                    });
        +                }
        +            }
        +            assignProp(this, "shape", shape); // self-caching
        +            return shape;
        +        },
        +    });
        +    return clone(schema, def);
        +}
        +// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom
        +function aborted(x, startIndex = 0) {
        +    if (x.aborted === true)
        +        return true;
        +    for (let i = startIndex; i < x.issues.length; i++) {
        +        if (x.issues[i]?.continue !== true) {
        +            return true;
        +        }
        +    }
        +    return false;
        +}
        +function prefixIssues(path, issues) {
        +    return issues.map((iss) => {
        +        var _a;
        +        (_a = iss).path ?? (_a.path = []);
        +        iss.path.unshift(path);
        +        return iss;
        +    });
        +}
        +function unwrapMessage(message) {
        +    return typeof message === "string" ? message : message?.message;
        +}
        +function finalizeIssue(iss, ctx, config) {
        +    const full = { ...iss, path: iss.path ?? [] };
        +    // for backwards compatibility
        +    if (!iss.message) {
        +        const message = unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??
        +            unwrapMessage(ctx?.error?.(iss)) ??
        +            unwrapMessage(config.customError?.(iss)) ??
        +            unwrapMessage(config.localeError?.(iss)) ??
        +            "Invalid input";
        +        full.message = message;
        +    }
        +    // delete (full as any).def;
        +    delete full.inst;
        +    delete full.continue;
        +    if (!ctx?.reportInput) {
        +        delete full.input;
        +    }
        +    return full;
        +}
        +function getSizableOrigin(input) {
        +    if (input instanceof Set)
        +        return "set";
        +    if (input instanceof Map)
        +        return "map";
        +    // @ts-ignore
        +    if (input instanceof File)
        +        return "file";
        +    return "unknown";
        +}
        +function getLengthableOrigin(input) {
        +    if (Array.isArray(input))
        +        return "array";
        +    if (typeof input === "string")
        +        return "string";
        +    return "unknown";
        +}
        +function parsedType(data) {
        +    const t = typeof data;
        +    switch (t) {
        +        case "number": {
        +            return Number.isNaN(data) ? "nan" : "number";
        +        }
        +        case "object": {
        +            if (data === null) {
        +                return "null";
        +            }
        +            if (Array.isArray(data)) {
        +                return "array";
        +            }
        +            const obj = data;
        +            if (obj && Object.getPrototypeOf(obj) !== Object.prototype && "constructor" in obj && obj.constructor) {
        +                return obj.constructor.name;
        +            }
        +        }
        +    }
        +    return t;
        +}
        +function util_issue(...args) {
        +    const [iss, input, inst] = args;
        +    if (typeof iss === "string") {
        +        return {
        +            message: iss,
        +            code: "custom",
        +            input,
        +            inst,
        +        };
        +    }
        +    return { ...iss };
        +}
        +function cleanEnum(obj) {
        +    return Object.entries(obj)
        +        .filter(([k, _]) => {
        +        // return true if NaN, meaning it's not a number, thus a string key
        +        return Number.isNaN(Number.parseInt(k, 10));
        +    })
        +        .map((el) => el[1]);
        +}
        +// Codec utility functions
        +function base64ToUint8Array(base64) {
        +    const binaryString = atob(base64);
        +    const bytes = new Uint8Array(binaryString.length);
        +    for (let i = 0; i < binaryString.length; i++) {
        +        bytes[i] = binaryString.charCodeAt(i);
        +    }
        +    return bytes;
        +}
        +function uint8ArrayToBase64(bytes) {
        +    let binaryString = "";
        +    for (let i = 0; i < bytes.length; i++) {
        +        binaryString += String.fromCharCode(bytes[i]);
        +    }
        +    return btoa(binaryString);
        +}
        +function base64urlToUint8Array(base64url) {
        +    const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
        +    const padding = "=".repeat((4 - (base64.length % 4)) % 4);
        +    return base64ToUint8Array(base64 + padding);
        +}
        +function uint8ArrayToBase64url(bytes) {
        +    return uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
        +}
        +function hexToUint8Array(hex) {
        +    const cleanHex = hex.replace(/^0x/, "");
        +    if (cleanHex.length % 2 !== 0) {
        +        throw new Error("Invalid hex string length");
        +    }
        +    const bytes = new Uint8Array(cleanHex.length / 2);
        +    for (let i = 0; i < cleanHex.length; i += 2) {
        +        bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);
        +    }
        +    return bytes;
        +}
        +function uint8ArrayToHex(bytes) {
        +    return Array.from(bytes)
        +        .map((b) => b.toString(16).padStart(2, "0"))
        +        .join("");
        +}
        +// instanceof
        +class Class {
        +    constructor(..._args) { }
        +}
        +
        +;// ../commons/node_modules/zod/v4/core/errors.js
        +
        +
        +const initializer = (inst, def) => {
        +    inst.name = "$ZodError";
        +    Object.defineProperty(inst, "_zod", {
        +        value: inst._zod,
        +        enumerable: false,
        +    });
        +    Object.defineProperty(inst, "issues", {
        +        value: def,
        +        enumerable: false,
        +    });
        +    inst.message = JSON.stringify(def, jsonStringifyReplacer, 2);
        +    Object.defineProperty(inst, "toString", {
        +        value: () => inst.message,
        +        enumerable: false,
        +    });
        +};
        +const $ZodError = $constructor("$ZodError", initializer);
        +const $ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
        +function flattenError(error, mapper = (issue) => issue.message) {
        +    const fieldErrors = {};
        +    const formErrors = [];
        +    for (const sub of error.issues) {
        +        if (sub.path.length > 0) {
        +            fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
        +            fieldErrors[sub.path[0]].push(mapper(sub));
        +        }
        +        else {
        +            formErrors.push(mapper(sub));
        +        }
        +    }
        +    return { formErrors, fieldErrors };
        +}
        +function formatError(error, mapper = (issue) => issue.message) {
        +    const fieldErrors = { _errors: [] };
        +    const processError = (error) => {
        +        for (const issue of error.issues) {
        +            if (issue.code === "invalid_union" && issue.errors.length) {
        +                issue.errors.map((issues) => processError({ issues }));
        +            }
        +            else if (issue.code === "invalid_key") {
        +                processError({ issues: issue.issues });
        +            }
        +            else if (issue.code === "invalid_element") {
        +                processError({ issues: issue.issues });
        +            }
        +            else if (issue.path.length === 0) {
        +                fieldErrors._errors.push(mapper(issue));
        +            }
        +            else {
        +                let curr = fieldErrors;
        +                let i = 0;
        +                while (i < issue.path.length) {
        +                    const el = issue.path[i];
        +                    const terminal = i === issue.path.length - 1;
        +                    if (!terminal) {
        +                        curr[el] = curr[el] || { _errors: [] };
        +                    }
        +                    else {
        +                        curr[el] = curr[el] || { _errors: [] };
        +                        curr[el]._errors.push(mapper(issue));
        +                    }
        +                    curr = curr[el];
        +                    i++;
        +                }
        +            }
        +        }
        +    };
        +    processError(error);
        +    return fieldErrors;
        +}
        +function treeifyError(error, mapper = (issue) => issue.message) {
        +    const result = { errors: [] };
        +    const processError = (error, path = []) => {
        +        var _a, _b;
        +        for (const issue of error.issues) {
        +            if (issue.code === "invalid_union" && issue.errors.length) {
        +                // regular union error
        +                issue.errors.map((issues) => processError({ issues }, issue.path));
        +            }
        +            else if (issue.code === "invalid_key") {
        +                processError({ issues: issue.issues }, issue.path);
        +            }
        +            else if (issue.code === "invalid_element") {
        +                processError({ issues: issue.issues }, issue.path);
        +            }
        +            else {
        +                const fullpath = [...path, ...issue.path];
        +                if (fullpath.length === 0) {
        +                    result.errors.push(mapper(issue));
        +                    continue;
        +                }
        +                let curr = result;
        +                let i = 0;
        +                while (i < fullpath.length) {
        +                    const el = fullpath[i];
        +                    const terminal = i === fullpath.length - 1;
        +                    if (typeof el === "string") {
        +                        curr.properties ?? (curr.properties = {});
        +                        (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });
        +                        curr = curr.properties[el];
        +                    }
        +                    else {
        +                        curr.items ?? (curr.items = []);
        +                        (_b = curr.items)[el] ?? (_b[el] = { errors: [] });
        +                        curr = curr.items[el];
        +                    }
        +                    if (terminal) {
        +                        curr.errors.push(mapper(issue));
        +                    }
        +                    i++;
        +                }
        +            }
        +        }
        +    };
        +    processError(error);
        +    return result;
        +}
        +/** Format a ZodError as a human-readable string in the following form.
        + *
        + * From
        + *
        + * ```ts
        + * ZodError {
        + *   issues: [
        + *     {
        + *       expected: 'string',
        + *       code: 'invalid_type',
        + *       path: [ 'username' ],
        + *       message: 'Invalid input: expected string'
        + *     },
        + *     {
        + *       expected: 'number',
        + *       code: 'invalid_type',
        + *       path: [ 'favoriteNumbers', 1 ],
        + *       message: 'Invalid input: expected number'
        + *     }
        + *   ];
        + * }
        + * ```
        + *
        + * to
        + *
        + * ```
        + * username
        + *   ✖ Expected number, received string at "username
        + * favoriteNumbers[0]
        + *   ✖ Invalid input: expected number
        + * ```
        + */
        +function toDotPath(_path) {
        +    const segs = [];
        +    const path = _path.map((seg) => (typeof seg === "object" ? seg.key : seg));
        +    for (const seg of path) {
        +        if (typeof seg === "number")
        +            segs.push(`[${seg}]`);
        +        else if (typeof seg === "symbol")
        +            segs.push(`[${JSON.stringify(String(seg))}]`);
        +        else if (/[^\w$]/.test(seg))
        +            segs.push(`[${JSON.stringify(seg)}]`);
        +        else {
        +            if (segs.length)
        +                segs.push(".");
        +            segs.push(seg);
        +        }
        +    }
        +    return segs.join("");
        +}
        +function prettifyError(error) {
        +    const lines = [];
        +    // sort by path length
        +    const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
        +    // Process each issue
        +    for (const issue of issues) {
        +        lines.push(`✖ ${issue.message}`);
        +        if (issue.path?.length)
        +            lines.push(`  → at ${toDotPath(issue.path)}`);
        +    }
        +    // Convert Map to formatted string
        +    return lines.join("\n");
        +}
        +
        +;// ../commons/node_modules/zod/v4/core/parse.js
        +
        +
        +
        +const _parse = (_Err) => (schema, value, _ctx, _params) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
        +    const result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise) {
        +        throw new $ZodAsyncError();
        +    }
        +    if (result.issues.length) {
        +        const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
        +        captureStackTrace(e, _params?.callee);
        +        throw e;
        +    }
        +    return result.value;
        +};
        +const parse_parse = /* @__PURE__*/ _parse($ZodRealError);
        +const _parseAsync = (_Err) => async (schema, value, _ctx, params) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
        +    let result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise)
        +        result = await result;
        +    if (result.issues.length) {
        +        const e = new (params?.Err ?? _Err)(result.issues.map((iss) => finalizeIssue(iss, ctx, config())));
        +        captureStackTrace(e, params?.callee);
        +        throw e;
        +    }
        +    return result.value;
        +};
        +const parseAsync = /* @__PURE__*/ _parseAsync($ZodRealError);
        +const _safeParse = (_Err) => (schema, value, _ctx) => {
        +    const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
        +    const result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise) {
        +        throw new $ZodAsyncError();
        +    }
        +    return result.issues.length
        +        ? {
        +            success: false,
        +            error: new (_Err ?? $ZodError)(result.issues.map((iss) => finalizeIssue(iss, ctx, config()))),
        +        }
        +        : { success: true, data: result.value };
        +};
        +const safeParse = /* @__PURE__*/ _safeParse($ZodRealError);
        +const _safeParseAsync = (_Err) => async (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
        +    let result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise)
        +        result = await result;
        +    return result.issues.length
        +        ? {
        +            success: false,
        +            error: new _Err(result.issues.map((iss) => finalizeIssue(iss, ctx, config()))),
        +        }
        +        : { success: true, data: result.value };
        +};
        +const safeParseAsync = /* @__PURE__*/ _safeParseAsync($ZodRealError);
        +const _encode = (_Err) => (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return _parse(_Err)(schema, value, ctx);
        +};
        +const encode = /* @__PURE__*/ _encode($ZodRealError);
        +const _decode = (_Err) => (schema, value, _ctx) => {
        +    return _parse(_Err)(schema, value, _ctx);
        +};
        +const decode = /* @__PURE__*/ _decode($ZodRealError);
        +const _encodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return _parseAsync(_Err)(schema, value, ctx);
        +};
        +const encodeAsync = /* @__PURE__*/ _encodeAsync($ZodRealError);
        +const _decodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    return _parseAsync(_Err)(schema, value, _ctx);
        +};
        +const decodeAsync = /* @__PURE__*/ _decodeAsync($ZodRealError);
        +const _safeEncode = (_Err) => (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return _safeParse(_Err)(schema, value, ctx);
        +};
        +const safeEncode = /* @__PURE__*/ _safeEncode($ZodRealError);
        +const _safeDecode = (_Err) => (schema, value, _ctx) => {
        +    return _safeParse(_Err)(schema, value, _ctx);
        +};
        +const safeDecode = /* @__PURE__*/ _safeDecode($ZodRealError);
        +const _safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return _safeParseAsync(_Err)(schema, value, ctx);
        +};
        +const safeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync($ZodRealError);
        +const _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    return _safeParseAsync(_Err)(schema, value, _ctx);
        +};
        +const safeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync($ZodRealError);
        +
        +;// ../commons/node_modules/zod/v4/core/regexes.js
        +
        +const cuid = /^[cC][^\s-]{8,}$/;
        +const cuid2 = /^[0-9a-z]+$/;
        +const ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
        +const xid = /^[0-9a-vA-V]{20}$/;
        +const ksuid = /^[A-Za-z0-9]{27}$/;
        +const nanoid = /^[a-zA-Z0-9_-]{21}$/;
        +/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */
        +const duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
        +/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */
        +const extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
        +/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
        +const guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
        +/** Returns a regex for validating an RFC 9562/4122 UUID.
        + *
        + * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
        +const uuid = (version) => {
        +    if (!version)
        +        return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
        +    return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
        +};
        +const uuid4 = /*@__PURE__*/ uuid(4);
        +const uuid6 = /*@__PURE__*/ uuid(6);
        +const uuid7 = /*@__PURE__*/ uuid(7);
        +/** Practical email validation */
        +const email = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
        +/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */
        +const html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
        +/** The classic emailregex.com regex for RFC 5322-compliant emails */
        +const rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        +/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
        +const unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
        +const idnEmail = unicodeEmail;
        +const browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
        +// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
        +const _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
        +function emoji() {
        +    return new RegExp(_emoji, "u");
        +}
        +const ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
        +const ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
        +const mac = (delimiter) => {
        +    const escapedDelim = escapeRegex(delimiter ?? ":");
        +    return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
        +};
        +const cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
        +const cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
        +// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
        +const base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
        +const base64url = /^[A-Za-z0-9_-]*$/;
        +// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address
        +// export const hostname: RegExp = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
        +const hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
        +const domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
        +// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
        +// E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15
        +const e164 = /^\+[1-9]\d{6,14}$/;
        +// const dateSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
        +const dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;
        +const date = /*@__PURE__*/ new RegExp(`^${dateSource}$`);
        +function timeSource(args) {
        +    const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`;
        +    const regex = typeof args.precision === "number"
        +        ? args.precision === -1
        +            ? `${hhmm}`
        +            : args.precision === 0
        +                ? `${hhmm}:[0-5]\\d`
        +                : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}`
        +        : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
        +    return regex;
        +}
        +function time(args) {
        +    return new RegExp(`^${timeSource(args)}$`);
        +}
        +// Adapted from https://stackoverflow.com/a/3143231
        +function datetime(args) {
        +    const time = timeSource({ precision: args.precision });
        +    const opts = ["Z"];
        +    if (args.local)
        +        opts.push("");
        +    // if (args.offset) opts.push(`([+-]\\d{2}:\\d{2})`);
        +    if (args.offset)
        +        opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
        +    const timeRegex = `${time}(?:${opts.join("|")})`;
        +    return new RegExp(`^${dateSource}T(?:${timeRegex})$`);
        +}
        +const string = (params) => {
        +    const regex = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
        +    return new RegExp(`^${regex}$`);
        +};
        +const bigint = /^-?\d+n?$/;
        +const integer = /^-?\d+$/;
        +const number = /^-?\d+(?:\.\d+)?$/;
        +const regexes_boolean = /^(?:true|false)$/i;
        +const _null = /^null$/i;
        +
        +const _undefined = /^undefined$/i;
        +
        +// regex for string with no uppercase letters
        +const lowercase = /^[^A-Z]*$/;
        +// regex for string with no lowercase letters
        +const uppercase = /^[^a-z]*$/;
        +// regex for hexadecimal strings (any length)
        +const hex = /^[0-9a-fA-F]*$/;
        +// Hash regexes for different algorithms and encodings
        +// Helper function to create base64 regex with exact length and padding
        +function fixedBase64(bodyLength, padding) {
        +    return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
        +}
        +// Helper function to create base64url regex with exact length (no padding)
        +function fixedBase64url(length) {
        +    return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
        +}
        +// MD5 (16 bytes): base64 = 24 chars total (22 + "==")
        +const md5_hex = /^[0-9a-fA-F]{32}$/;
        +const md5_base64 = /*@__PURE__*/ fixedBase64(22, "==");
        +const md5_base64url = /*@__PURE__*/ fixedBase64url(22);
        +// SHA1 (20 bytes): base64 = 28 chars total (27 + "=")
        +const sha1_hex = /^[0-9a-fA-F]{40}$/;
        +const sha1_base64 = /*@__PURE__*/ fixedBase64(27, "=");
        +const sha1_base64url = /*@__PURE__*/ fixedBase64url(27);
        +// SHA256 (32 bytes): base64 = 44 chars total (43 + "=")
        +const sha256_hex = /^[0-9a-fA-F]{64}$/;
        +const sha256_base64 = /*@__PURE__*/ fixedBase64(43, "=");
        +const sha256_base64url = /*@__PURE__*/ fixedBase64url(43);
        +// SHA384 (48 bytes): base64 = 64 chars total (no padding)
        +const sha384_hex = /^[0-9a-fA-F]{96}$/;
        +const sha384_base64 = /*@__PURE__*/ fixedBase64(64, "");
        +const sha384_base64url = /*@__PURE__*/ fixedBase64url(64);
        +// SHA512 (64 bytes): base64 = 88 chars total (86 + "==")
        +const sha512_hex = /^[0-9a-fA-F]{128}$/;
        +const sha512_base64 = /*@__PURE__*/ fixedBase64(86, "==");
        +const sha512_base64url = /*@__PURE__*/ fixedBase64url(86);
        +
        +;// ../commons/node_modules/zod/v4/core/checks.js
        +// import { $ZodType } from "./schemas.js";
        +
        +
        +
        +const $ZodCheck = /*@__PURE__*/ $constructor("$ZodCheck", (inst, def) => {
        +    var _a;
        +    inst._zod ?? (inst._zod = {});
        +    inst._zod.def = def;
        +    (_a = inst._zod).onattach ?? (_a.onattach = []);
        +});
        +const numericOriginMap = {
        +    number: "number",
        +    bigint: "bigint",
        +    object: "date",
        +};
        +const $ZodCheckLessThan = /*@__PURE__*/ $constructor("$ZodCheckLessThan", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    const origin = numericOriginMap[typeof def.value];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;
        +        if (def.value < curr) {
        +            if (def.inclusive)
        +                bag.maximum = def.value;
        +            else
        +                bag.exclusiveMaximum = def.value;
        +        }
        +    });
        +    inst._zod.check = (payload) => {
        +        if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {
        +            return;
        +        }
        +        payload.issues.push({
        +            origin,
        +            code: "too_big",
        +            maximum: typeof def.value === "object" ? def.value.getTime() : def.value,
        +            input: payload.value,
        +            inclusive: def.inclusive,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckGreaterThan = /*@__PURE__*/ $constructor("$ZodCheckGreaterThan", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    const origin = numericOriginMap[typeof def.value];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;
        +        if (def.value > curr) {
        +            if (def.inclusive)
        +                bag.minimum = def.value;
        +            else
        +                bag.exclusiveMinimum = def.value;
        +        }
        +    });
        +    inst._zod.check = (payload) => {
        +        if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {
        +            return;
        +        }
        +        payload.issues.push({
        +            origin,
        +            code: "too_small",
        +            minimum: typeof def.value === "object" ? def.value.getTime() : def.value,
        +            input: payload.value,
        +            inclusive: def.inclusive,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckMultipleOf = 
        +/*@__PURE__*/ $constructor("$ZodCheckMultipleOf", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    inst._zod.onattach.push((inst) => {
        +        var _a;
        +        (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (typeof payload.value !== typeof def.value)
        +            throw new Error("Cannot mix number and bigint in multiple_of check.");
        +        const isMultiple = typeof payload.value === "bigint"
        +            ? payload.value % def.value === BigInt(0)
        +            : floatSafeRemainder(payload.value, def.value) === 0;
        +        if (isMultiple)
        +            return;
        +        payload.issues.push({
        +            origin: typeof payload.value,
        +            code: "not_multiple_of",
        +            divisor: def.value,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckNumberFormat = /*@__PURE__*/ $constructor("$ZodCheckNumberFormat", (inst, def) => {
        +    $ZodCheck.init(inst, def); // no format checks
        +    def.format = def.format || "float64";
        +    const isInt = def.format?.includes("int");
        +    const origin = isInt ? "int" : "number";
        +    const [minimum, maximum] = NUMBER_FORMAT_RANGES[def.format];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.format = def.format;
        +        bag.minimum = minimum;
        +        bag.maximum = maximum;
        +        if (isInt)
        +            bag.pattern = integer;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        if (isInt) {
        +            if (!Number.isInteger(input)) {
        +                // invalid_format issue
        +                // payload.issues.push({
        +                //   expected: def.format,
        +                //   format: def.format,
        +                //   code: "invalid_format",
        +                //   input,
        +                //   inst,
        +                // });
        +                // invalid_type issue
        +                payload.issues.push({
        +                    expected: origin,
        +                    format: def.format,
        +                    code: "invalid_type",
        +                    continue: false,
        +                    input,
        +                    inst,
        +                });
        +                return;
        +                // not_multiple_of issue
        +                // payload.issues.push({
        +                //   code: "not_multiple_of",
        +                //   origin: "number",
        +                //   input,
        +                //   inst,
        +                //   divisor: 1,
        +                // });
        +            }
        +            if (!Number.isSafeInteger(input)) {
        +                if (input > 0) {
        +                    // too_big
        +                    payload.issues.push({
        +                        input,
        +                        code: "too_big",
        +                        maximum: Number.MAX_SAFE_INTEGER,
        +                        note: "Integers must be within the safe integer range.",
        +                        inst,
        +                        origin,
        +                        inclusive: true,
        +                        continue: !def.abort,
        +                    });
        +                }
        +                else {
        +                    // too_small
        +                    payload.issues.push({
        +                        input,
        +                        code: "too_small",
        +                        minimum: Number.MIN_SAFE_INTEGER,
        +                        note: "Integers must be within the safe integer range.",
        +                        inst,
        +                        origin,
        +                        inclusive: true,
        +                        continue: !def.abort,
        +                    });
        +                }
        +                return;
        +            }
        +        }
        +        if (input < minimum) {
        +            payload.issues.push({
        +                origin: "number",
        +                input,
        +                code: "too_small",
        +                minimum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +        if (input > maximum) {
        +            payload.issues.push({
        +                origin: "number",
        +                input,
        +                code: "too_big",
        +                maximum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const $ZodCheckBigIntFormat = /*@__PURE__*/ $constructor("$ZodCheckBigIntFormat", (inst, def) => {
        +    $ZodCheck.init(inst, def); // no format checks
        +    const [minimum, maximum] = BIGINT_FORMAT_RANGES[def.format];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.format = def.format;
        +        bag.minimum = minimum;
        +        bag.maximum = maximum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        if (input < minimum) {
        +            payload.issues.push({
        +                origin: "bigint",
        +                input,
        +                code: "too_small",
        +                minimum: minimum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +        if (input > maximum) {
        +            payload.issues.push({
        +                origin: "bigint",
        +                input,
        +                code: "too_big",
        +                maximum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const $ZodCheckMaxSize = /*@__PURE__*/ $constructor("$ZodCheckMaxSize", (inst, def) => {
        +    var _a;
        +    $ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !nullish(val) && val.size !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
        +        if (def.maximum < curr)
        +            inst._zod.bag.maximum = def.maximum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const size = input.size;
        +        if (size <= def.maximum)
        +            return;
        +        payload.issues.push({
        +            origin: getSizableOrigin(input),
        +            code: "too_big",
        +            maximum: def.maximum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckMinSize = /*@__PURE__*/ $constructor("$ZodCheckMinSize", (inst, def) => {
        +    var _a;
        +    $ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !nullish(val) && val.size !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
        +        if (def.minimum > curr)
        +            inst._zod.bag.minimum = def.minimum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const size = input.size;
        +        if (size >= def.minimum)
        +            return;
        +        payload.issues.push({
        +            origin: getSizableOrigin(input),
        +            code: "too_small",
        +            minimum: def.minimum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckSizeEquals = /*@__PURE__*/ $constructor("$ZodCheckSizeEquals", (inst, def) => {
        +    var _a;
        +    $ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !nullish(val) && val.size !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.minimum = def.size;
        +        bag.maximum = def.size;
        +        bag.size = def.size;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const size = input.size;
        +        if (size === def.size)
        +            return;
        +        const tooBig = size > def.size;
        +        payload.issues.push({
        +            origin: getSizableOrigin(input),
        +            ...(tooBig ? { code: "too_big", maximum: def.size } : { code: "too_small", minimum: def.size }),
        +            inclusive: true,
        +            exact: true,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckMaxLength = /*@__PURE__*/ $constructor("$ZodCheckMaxLength", (inst, def) => {
        +    var _a;
        +    $ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !nullish(val) && val.length !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
        +        if (def.maximum < curr)
        +            inst._zod.bag.maximum = def.maximum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const length = input.length;
        +        if (length <= def.maximum)
        +            return;
        +        const origin = getLengthableOrigin(input);
        +        payload.issues.push({
        +            origin,
        +            code: "too_big",
        +            maximum: def.maximum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckMinLength = /*@__PURE__*/ $constructor("$ZodCheckMinLength", (inst, def) => {
        +    var _a;
        +    $ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !nullish(val) && val.length !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
        +        if (def.minimum > curr)
        +            inst._zod.bag.minimum = def.minimum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const length = input.length;
        +        if (length >= def.minimum)
        +            return;
        +        const origin = getLengthableOrigin(input);
        +        payload.issues.push({
        +            origin,
        +            code: "too_small",
        +            minimum: def.minimum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckLengthEquals = /*@__PURE__*/ $constructor("$ZodCheckLengthEquals", (inst, def) => {
        +    var _a;
        +    $ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !nullish(val) && val.length !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.minimum = def.length;
        +        bag.maximum = def.length;
        +        bag.length = def.length;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const length = input.length;
        +        if (length === def.length)
        +            return;
        +        const origin = getLengthableOrigin(input);
        +        const tooBig = length > def.length;
        +        payload.issues.push({
        +            origin,
        +            ...(tooBig ? { code: "too_big", maximum: def.length } : { code: "too_small", minimum: def.length }),
        +            inclusive: true,
        +            exact: true,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckStringFormat = /*@__PURE__*/ $constructor("$ZodCheckStringFormat", (inst, def) => {
        +    var _a, _b;
        +    $ZodCheck.init(inst, def);
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.format = def.format;
        +        if (def.pattern) {
        +            bag.patterns ?? (bag.patterns = new Set());
        +            bag.patterns.add(def.pattern);
        +        }
        +    });
        +    if (def.pattern)
        +        (_a = inst._zod).check ?? (_a.check = (payload) => {
        +            def.pattern.lastIndex = 0;
        +            if (def.pattern.test(payload.value))
        +                return;
        +            payload.issues.push({
        +                origin: "string",
        +                code: "invalid_format",
        +                format: def.format,
        +                input: payload.value,
        +                ...(def.pattern ? { pattern: def.pattern.toString() } : {}),
        +                inst,
        +                continue: !def.abort,
        +            });
        +        });
        +    else
        +        (_b = inst._zod).check ?? (_b.check = () => { });
        +});
        +const $ZodCheckRegex = /*@__PURE__*/ $constructor("$ZodCheckRegex", (inst, def) => {
        +    $ZodCheckStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        def.pattern.lastIndex = 0;
        +        if (def.pattern.test(payload.value))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "regex",
        +            input: payload.value,
        +            pattern: def.pattern.toString(),
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckLowerCase = /*@__PURE__*/ $constructor("$ZodCheckLowerCase", (inst, def) => {
        +    def.pattern ?? (def.pattern = lowercase);
        +    $ZodCheckStringFormat.init(inst, def);
        +});
        +const $ZodCheckUpperCase = /*@__PURE__*/ $constructor("$ZodCheckUpperCase", (inst, def) => {
        +    def.pattern ?? (def.pattern = uppercase);
        +    $ZodCheckStringFormat.init(inst, def);
        +});
        +const $ZodCheckIncludes = /*@__PURE__*/ $constructor("$ZodCheckIncludes", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    const escapedRegex = escapeRegex(def.includes);
        +    const pattern = new RegExp(typeof def.position === "number" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);
        +    def.pattern = pattern;
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.patterns ?? (bag.patterns = new Set());
        +        bag.patterns.add(pattern);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (payload.value.includes(def.includes, def.position))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "includes",
        +            includes: def.includes,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckStartsWith = /*@__PURE__*/ $constructor("$ZodCheckStartsWith", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    const pattern = new RegExp(`^${escapeRegex(def.prefix)}.*`);
        +    def.pattern ?? (def.pattern = pattern);
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.patterns ?? (bag.patterns = new Set());
        +        bag.patterns.add(pattern);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (payload.value.startsWith(def.prefix))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "starts_with",
        +            prefix: def.prefix,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckEndsWith = /*@__PURE__*/ $constructor("$ZodCheckEndsWith", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    const pattern = new RegExp(`.*${escapeRegex(def.suffix)}$`);
        +    def.pattern ?? (def.pattern = pattern);
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.patterns ?? (bag.patterns = new Set());
        +        bag.patterns.add(pattern);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (payload.value.endsWith(def.suffix))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "ends_with",
        +            suffix: def.suffix,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +///////////////////////////////////
        +/////    $ZodCheckProperty    /////
        +///////////////////////////////////
        +function handleCheckPropertyResult(result, payload, property) {
        +    if (result.issues.length) {
        +        payload.issues.push(...prefixIssues(property, result.issues));
        +    }
        +}
        +const $ZodCheckProperty = /*@__PURE__*/ $constructor("$ZodCheckProperty", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        const result = def.schema._zod.run({
        +            value: payload.value[def.property],
        +            issues: [],
        +        }, {});
        +        if (result instanceof Promise) {
        +            return result.then((result) => handleCheckPropertyResult(result, payload, def.property));
        +        }
        +        handleCheckPropertyResult(result, payload, def.property);
        +        return;
        +    };
        +});
        +const $ZodCheckMimeType = /*@__PURE__*/ $constructor("$ZodCheckMimeType", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    const mimeSet = new Set(def.mime);
        +    inst._zod.onattach.push((inst) => {
        +        inst._zod.bag.mime = def.mime;
        +    });
        +    inst._zod.check = (payload) => {
        +        if (mimeSet.has(payload.value.type))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_value",
        +            values: def.mime,
        +            input: payload.value.type,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCheckOverwrite = /*@__PURE__*/ $constructor("$ZodCheckOverwrite", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        payload.value = def.tx(payload.value);
        +    };
        +});
        +
        +;// ../commons/node_modules/zod/v4/core/doc.js
        +class Doc {
        +    constructor(args = []) {
        +        this.content = [];
        +        this.indent = 0;
        +        if (this)
        +            this.args = args;
        +    }
        +    indented(fn) {
        +        this.indent += 1;
        +        fn(this);
        +        this.indent -= 1;
        +    }
        +    write(arg) {
        +        if (typeof arg === "function") {
        +            arg(this, { execution: "sync" });
        +            arg(this, { execution: "async" });
        +            return;
        +        }
        +        const content = arg;
        +        const lines = content.split("\n").filter((x) => x);
        +        const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));
        +        const dedented = lines.map((x) => x.slice(minIndent)).map((x) => " ".repeat(this.indent * 2) + x);
        +        for (const line of dedented) {
        +            this.content.push(line);
        +        }
        +    }
        +    compile() {
        +        const F = Function;
        +        const args = this?.args;
        +        const content = this?.content ?? [``];
        +        const lines = [...content.map((x) => `  ${x}`)];
        +        // console.log(lines.join("\n"));
        +        return new F(...args, lines.join("\n"));
        +    }
        +}
        +
        +;// ../commons/node_modules/zod/v4/core/versions.js
        +const version = {
        +    major: 4,
        +    minor: 3,
        +    patch: 6,
        +};
        +
        +;// ../commons/node_modules/zod/v4/core/schemas.js
        +
        +
        +
        +
        +
        +
        +
        +const $ZodType = /*@__PURE__*/ $constructor("$ZodType", (inst, def) => {
        +    var _a;
        +    inst ?? (inst = {});
        +    inst._zod.def = def; // set _def property
        +    inst._zod.bag = inst._zod.bag || {}; // initialize _bag object
        +    inst._zod.version = version;
        +    const checks = [...(inst._zod.def.checks ?? [])];
        +    // if inst is itself a checks.$ZodCheck, run it as a check
        +    if (inst._zod.traits.has("$ZodCheck")) {
        +        checks.unshift(inst);
        +    }
        +    for (const ch of checks) {
        +        for (const fn of ch._zod.onattach) {
        +            fn(inst);
        +        }
        +    }
        +    if (checks.length === 0) {
        +        // deferred initializer
        +        // inst._zod.parse is not yet defined
        +        (_a = inst._zod).deferred ?? (_a.deferred = []);
        +        inst._zod.deferred?.push(() => {
        +            inst._zod.run = inst._zod.parse;
        +        });
        +    }
        +    else {
        +        const runChecks = (payload, checks, ctx) => {
        +            let isAborted = aborted(payload);
        +            let asyncResult;
        +            for (const ch of checks) {
        +                if (ch._zod.def.when) {
        +                    const shouldRun = ch._zod.def.when(payload);
        +                    if (!shouldRun)
        +                        continue;
        +                }
        +                else if (isAborted) {
        +                    continue;
        +                }
        +                const currLen = payload.issues.length;
        +                const _ = ch._zod.check(payload);
        +                if (_ instanceof Promise && ctx?.async === false) {
        +                    throw new $ZodAsyncError();
        +                }
        +                if (asyncResult || _ instanceof Promise) {
        +                    asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {
        +                        await _;
        +                        const nextLen = payload.issues.length;
        +                        if (nextLen === currLen)
        +                            return;
        +                        if (!isAborted)
        +                            isAborted = aborted(payload, currLen);
        +                    });
        +                }
        +                else {
        +                    const nextLen = payload.issues.length;
        +                    if (nextLen === currLen)
        +                        continue;
        +                    if (!isAborted)
        +                        isAborted = aborted(payload, currLen);
        +                }
        +            }
        +            if (asyncResult) {
        +                return asyncResult.then(() => {
        +                    return payload;
        +                });
        +            }
        +            return payload;
        +        };
        +        const handleCanaryResult = (canary, payload, ctx) => {
        +            // abort if the canary is aborted
        +            if (aborted(canary)) {
        +                canary.aborted = true;
        +                return canary;
        +            }
        +            // run checks first, then
        +            const checkResult = runChecks(payload, checks, ctx);
        +            if (checkResult instanceof Promise) {
        +                if (ctx.async === false)
        +                    throw new $ZodAsyncError();
        +                return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));
        +            }
        +            return inst._zod.parse(checkResult, ctx);
        +        };
        +        inst._zod.run = (payload, ctx) => {
        +            if (ctx.skipChecks) {
        +                return inst._zod.parse(payload, ctx);
        +            }
        +            if (ctx.direction === "backward") {
        +                // run canary
        +                // initial pass (no checks)
        +                const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });
        +                if (canary instanceof Promise) {
        +                    return canary.then((canary) => {
        +                        return handleCanaryResult(canary, payload, ctx);
        +                    });
        +                }
        +                return handleCanaryResult(canary, payload, ctx);
        +            }
        +            // forward
        +            const result = inst._zod.parse(payload, ctx);
        +            if (result instanceof Promise) {
        +                if (ctx.async === false)
        +                    throw new $ZodAsyncError();
        +                return result.then((result) => runChecks(result, checks, ctx));
        +            }
        +            return runChecks(result, checks, ctx);
        +        };
        +    }
        +    // Lazy initialize ~standard to avoid creating objects for every schema
        +    defineLazy(inst, "~standard", () => ({
        +        validate: (value) => {
        +            try {
        +                const r = safeParse(inst, value);
        +                return r.success ? { value: r.data } : { issues: r.error?.issues };
        +            }
        +            catch (_) {
        +                return safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));
        +            }
        +        },
        +        vendor: "zod",
        +        version: 1,
        +    }));
        +});
        +
        +const $ZodString = /*@__PURE__*/ $constructor("$ZodString", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? string(inst._zod.bag);
        +    inst._zod.parse = (payload, _) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = String(payload.value);
        +            }
        +            catch (_) { }
        +        if (typeof payload.value === "string")
        +            return payload;
        +        payload.issues.push({
        +            expected: "string",
        +            code: "invalid_type",
        +            input: payload.value,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodStringFormat = /*@__PURE__*/ $constructor("$ZodStringFormat", (inst, def) => {
        +    // check initialization must come first
        +    $ZodCheckStringFormat.init(inst, def);
        +    $ZodString.init(inst, def);
        +});
        +const $ZodGUID = /*@__PURE__*/ $constructor("$ZodGUID", (inst, def) => {
        +    def.pattern ?? (def.pattern = guid);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodUUID = /*@__PURE__*/ $constructor("$ZodUUID", (inst, def) => {
        +    if (def.version) {
        +        const versionMap = {
        +            v1: 1,
        +            v2: 2,
        +            v3: 3,
        +            v4: 4,
        +            v5: 5,
        +            v6: 6,
        +            v7: 7,
        +            v8: 8,
        +        };
        +        const v = versionMap[def.version];
        +        if (v === undefined)
        +            throw new Error(`Invalid UUID version: "${def.version}"`);
        +        def.pattern ?? (def.pattern = uuid(v));
        +    }
        +    else
        +        def.pattern ?? (def.pattern = uuid());
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodEmail = /*@__PURE__*/ $constructor("$ZodEmail", (inst, def) => {
        +    def.pattern ?? (def.pattern = email);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodURL = /*@__PURE__*/ $constructor("$ZodURL", (inst, def) => {
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        try {
        +            // Trim whitespace from input
        +            const trimmed = payload.value.trim();
        +            // @ts-ignore
        +            const url = new URL(trimmed);
        +            if (def.hostname) {
        +                def.hostname.lastIndex = 0;
        +                if (!def.hostname.test(url.hostname)) {
        +                    payload.issues.push({
        +                        code: "invalid_format",
        +                        format: "url",
        +                        note: "Invalid hostname",
        +                        pattern: def.hostname.source,
        +                        input: payload.value,
        +                        inst,
        +                        continue: !def.abort,
        +                    });
        +                }
        +            }
        +            if (def.protocol) {
        +                def.protocol.lastIndex = 0;
        +                if (!def.protocol.test(url.protocol.endsWith(":") ? url.protocol.slice(0, -1) : url.protocol)) {
        +                    payload.issues.push({
        +                        code: "invalid_format",
        +                        format: "url",
        +                        note: "Invalid protocol",
        +                        pattern: def.protocol.source,
        +                        input: payload.value,
        +                        inst,
        +                        continue: !def.abort,
        +                    });
        +                }
        +            }
        +            // Set the output value based on normalize flag
        +            if (def.normalize) {
        +                // Use normalized URL
        +                payload.value = url.href;
        +            }
        +            else {
        +                // Preserve the original input (trimmed)
        +                payload.value = trimmed;
        +            }
        +            return;
        +        }
        +        catch (_) {
        +            payload.issues.push({
        +                code: "invalid_format",
        +                format: "url",
        +                input: payload.value,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const $ZodEmoji = /*@__PURE__*/ $constructor("$ZodEmoji", (inst, def) => {
        +    def.pattern ?? (def.pattern = emoji());
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodNanoID = /*@__PURE__*/ $constructor("$ZodNanoID", (inst, def) => {
        +    def.pattern ?? (def.pattern = nanoid);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodCUID = /*@__PURE__*/ $constructor("$ZodCUID", (inst, def) => {
        +    def.pattern ?? (def.pattern = cuid);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodCUID2 = /*@__PURE__*/ $constructor("$ZodCUID2", (inst, def) => {
        +    def.pattern ?? (def.pattern = cuid2);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodULID = /*@__PURE__*/ $constructor("$ZodULID", (inst, def) => {
        +    def.pattern ?? (def.pattern = ulid);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodXID = /*@__PURE__*/ $constructor("$ZodXID", (inst, def) => {
        +    def.pattern ?? (def.pattern = xid);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodKSUID = /*@__PURE__*/ $constructor("$ZodKSUID", (inst, def) => {
        +    def.pattern ?? (def.pattern = ksuid);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodISODateTime = /*@__PURE__*/ $constructor("$ZodISODateTime", (inst, def) => {
        +    def.pattern ?? (def.pattern = datetime(def));
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodISODate = /*@__PURE__*/ $constructor("$ZodISODate", (inst, def) => {
        +    def.pattern ?? (def.pattern = date);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodISOTime = /*@__PURE__*/ $constructor("$ZodISOTime", (inst, def) => {
        +    def.pattern ?? (def.pattern = time(def));
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodISODuration = /*@__PURE__*/ $constructor("$ZodISODuration", (inst, def) => {
        +    def.pattern ?? (def.pattern = duration);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodIPv4 = /*@__PURE__*/ $constructor("$ZodIPv4", (inst, def) => {
        +    def.pattern ?? (def.pattern = ipv4);
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.bag.format = `ipv4`;
        +});
        +const $ZodIPv6 = /*@__PURE__*/ $constructor("$ZodIPv6", (inst, def) => {
        +    def.pattern ?? (def.pattern = ipv6);
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.bag.format = `ipv6`;
        +    inst._zod.check = (payload) => {
        +        try {
        +            // @ts-ignore
        +            new URL(`http://[${payload.value}]`);
        +            // return;
        +        }
        +        catch {
        +            payload.issues.push({
        +                code: "invalid_format",
        +                format: "ipv6",
        +                input: payload.value,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const $ZodMAC = /*@__PURE__*/ $constructor("$ZodMAC", (inst, def) => {
        +    def.pattern ?? (def.pattern = mac(def.delimiter));
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.bag.format = `mac`;
        +});
        +const $ZodCIDRv4 = /*@__PURE__*/ $constructor("$ZodCIDRv4", (inst, def) => {
        +    def.pattern ?? (def.pattern = cidrv4);
        +    $ZodStringFormat.init(inst, def);
        +});
        +const $ZodCIDRv6 = /*@__PURE__*/ $constructor("$ZodCIDRv6", (inst, def) => {
        +    def.pattern ?? (def.pattern = cidrv6); // not used for validation
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        const parts = payload.value.split("/");
        +        try {
        +            if (parts.length !== 2)
        +                throw new Error();
        +            const [address, prefix] = parts;
        +            if (!prefix)
        +                throw new Error();
        +            const prefixNum = Number(prefix);
        +            if (`${prefixNum}` !== prefix)
        +                throw new Error();
        +            if (prefixNum < 0 || prefixNum > 128)
        +                throw new Error();
        +            // @ts-ignore
        +            new URL(`http://[${address}]`);
        +        }
        +        catch {
        +            payload.issues.push({
        +                code: "invalid_format",
        +                format: "cidrv6",
        +                input: payload.value,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +//////////////////////////////   ZodBase64   //////////////////////////////
        +function isValidBase64(data) {
        +    if (data === "")
        +        return true;
        +    if (data.length % 4 !== 0)
        +        return false;
        +    try {
        +        // @ts-ignore
        +        atob(data);
        +        return true;
        +    }
        +    catch {
        +        return false;
        +    }
        +}
        +const $ZodBase64 = /*@__PURE__*/ $constructor("$ZodBase64", (inst, def) => {
        +    def.pattern ?? (def.pattern = base64);
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.bag.contentEncoding = "base64";
        +    inst._zod.check = (payload) => {
        +        if (isValidBase64(payload.value))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: "base64",
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +//////////////////////////////   ZodBase64   //////////////////////////////
        +function isValidBase64URL(data) {
        +    if (!base64url.test(data))
        +        return false;
        +    const base64 = data.replace(/[-_]/g, (c) => (c === "-" ? "+" : "/"));
        +    const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, "=");
        +    return isValidBase64(padded);
        +}
        +const $ZodBase64URL = /*@__PURE__*/ $constructor("$ZodBase64URL", (inst, def) => {
        +    def.pattern ?? (def.pattern = base64url);
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.bag.contentEncoding = "base64url";
        +    inst._zod.check = (payload) => {
        +        if (isValidBase64URL(payload.value))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: "base64url",
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodE164 = /*@__PURE__*/ $constructor("$ZodE164", (inst, def) => {
        +    def.pattern ?? (def.pattern = e164);
        +    $ZodStringFormat.init(inst, def);
        +});
        +//////////////////////////////   ZodJWT   //////////////////////////////
        +function isValidJWT(token, algorithm = null) {
        +    try {
        +        const tokensParts = token.split(".");
        +        if (tokensParts.length !== 3)
        +            return false;
        +        const [header] = tokensParts;
        +        if (!header)
        +            return false;
        +        // @ts-ignore
        +        const parsedHeader = JSON.parse(atob(header));
        +        if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT")
        +            return false;
        +        if (!parsedHeader.alg)
        +            return false;
        +        if (algorithm && (!("alg" in parsedHeader) || parsedHeader.alg !== algorithm))
        +            return false;
        +        return true;
        +    }
        +    catch {
        +        return false;
        +    }
        +}
        +const $ZodJWT = /*@__PURE__*/ $constructor("$ZodJWT", (inst, def) => {
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        if (isValidJWT(payload.value, def.alg))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: "jwt",
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodCustomStringFormat = /*@__PURE__*/ $constructor("$ZodCustomStringFormat", (inst, def) => {
        +    $ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        if (def.fn(payload.value))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: def.format,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const $ZodNumber = /*@__PURE__*/ $constructor("$ZodNumber", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.pattern = inst._zod.bag.pattern ?? number;
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = Number(payload.value);
        +            }
        +            catch (_) { }
        +        const input = payload.value;
        +        if (typeof input === "number" && !Number.isNaN(input) && Number.isFinite(input)) {
        +            return payload;
        +        }
        +        const received = typeof input === "number"
        +            ? Number.isNaN(input)
        +                ? "NaN"
        +                : !Number.isFinite(input)
        +                    ? "Infinity"
        +                    : undefined
        +            : undefined;
        +        payload.issues.push({
        +            expected: "number",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +            ...(received ? { received } : {}),
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodNumberFormat = /*@__PURE__*/ $constructor("$ZodNumberFormat", (inst, def) => {
        +    $ZodCheckNumberFormat.init(inst, def);
        +    $ZodNumber.init(inst, def); // no format checks
        +});
        +const $ZodBoolean = /*@__PURE__*/ $constructor("$ZodBoolean", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.pattern = regexes_boolean;
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = Boolean(payload.value);
        +            }
        +            catch (_) { }
        +        const input = payload.value;
        +        if (typeof input === "boolean")
        +            return payload;
        +        payload.issues.push({
        +            expected: "boolean",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodBigInt = /*@__PURE__*/ $constructor("$ZodBigInt", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.pattern = bigint;
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = BigInt(payload.value);
        +            }
        +            catch (_) { }
        +        if (typeof payload.value === "bigint")
        +            return payload;
        +        payload.issues.push({
        +            expected: "bigint",
        +            code: "invalid_type",
        +            input: payload.value,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodBigIntFormat = /*@__PURE__*/ $constructor("$ZodBigIntFormat", (inst, def) => {
        +    $ZodCheckBigIntFormat.init(inst, def);
        +    $ZodBigInt.init(inst, def); // no format checks
        +});
        +const $ZodSymbol = /*@__PURE__*/ $constructor("$ZodSymbol", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (typeof input === "symbol")
        +            return payload;
        +        payload.issues.push({
        +            expected: "symbol",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodUndefined = /*@__PURE__*/ $constructor("$ZodUndefined", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.pattern = _undefined;
        +    inst._zod.values = new Set([undefined]);
        +    inst._zod.optin = "optional";
        +    inst._zod.optout = "optional";
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (typeof input === "undefined")
        +            return payload;
        +        payload.issues.push({
        +            expected: "undefined",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodNull = /*@__PURE__*/ $constructor("$ZodNull", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.pattern = _null;
        +    inst._zod.values = new Set([null]);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (input === null)
        +            return payload;
        +        payload.issues.push({
        +            expected: "null",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodAny = /*@__PURE__*/ $constructor("$ZodAny", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload) => payload;
        +});
        +const $ZodUnknown = /*@__PURE__*/ $constructor("$ZodUnknown", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload) => payload;
        +});
        +const $ZodNever = /*@__PURE__*/ $constructor("$ZodNever", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        payload.issues.push({
        +            expected: "never",
        +            code: "invalid_type",
        +            input: payload.value,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodVoid = /*@__PURE__*/ $constructor("$ZodVoid", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (typeof input === "undefined")
        +            return payload;
        +        payload.issues.push({
        +            expected: "void",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodDate = /*@__PURE__*/ $constructor("$ZodDate", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce) {
        +            try {
        +                payload.value = new Date(payload.value);
        +            }
        +            catch (_err) { }
        +        }
        +        const input = payload.value;
        +        const isDate = input instanceof Date;
        +        const isValidDate = isDate && !Number.isNaN(input.getTime());
        +        if (isValidDate)
        +            return payload;
        +        payload.issues.push({
        +            expected: "date",
        +            code: "invalid_type",
        +            input,
        +            ...(isDate ? { received: "Invalid Date" } : {}),
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +function handleArrayResult(result, final, index) {
        +    if (result.issues.length) {
        +        final.issues.push(...prefixIssues(index, result.issues));
        +    }
        +    final.value[index] = result.value;
        +}
        +const $ZodArray = /*@__PURE__*/ $constructor("$ZodArray", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!Array.isArray(input)) {
        +            payload.issues.push({
        +                expected: "array",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        payload.value = Array(input.length);
        +        const proms = [];
        +        for (let i = 0; i < input.length; i++) {
        +            const item = input[i];
        +            const result = def.element._zod.run({
        +                value: item,
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                proms.push(result.then((result) => handleArrayResult(result, payload, i)));
        +            }
        +            else {
        +                handleArrayResult(result, payload, i);
        +            }
        +        }
        +        if (proms.length) {
        +            return Promise.all(proms).then(() => payload);
        +        }
        +        return payload; //handleArrayResultsAsync(parseResults, final);
        +    };
        +});
        +function handlePropertyResult(result, final, key, input, isOptionalOut) {
        +    if (result.issues.length) {
        +        // For optional-out schemas, ignore errors on absent keys
        +        if (isOptionalOut && !(key in input)) {
        +            return;
        +        }
        +        final.issues.push(...prefixIssues(key, result.issues));
        +    }
        +    if (result.value === undefined) {
        +        if (key in input) {
        +            final.value[key] = undefined;
        +        }
        +    }
        +    else {
        +        final.value[key] = result.value;
        +    }
        +}
        +function normalizeDef(def) {
        +    const keys = Object.keys(def.shape);
        +    for (const k of keys) {
        +        if (!def.shape?.[k]?._zod?.traits?.has("$ZodType")) {
        +            throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
        +        }
        +    }
        +    const okeys = optionalKeys(def.shape);
        +    return {
        +        ...def,
        +        keys,
        +        keySet: new Set(keys),
        +        numKeys: keys.length,
        +        optionalKeys: new Set(okeys),
        +    };
        +}
        +function handleCatchall(proms, input, payload, ctx, def, inst) {
        +    const unrecognized = [];
        +    // iterate over input keys
        +    const keySet = def.keySet;
        +    const _catchall = def.catchall._zod;
        +    const t = _catchall.def.type;
        +    const isOptionalOut = _catchall.optout === "optional";
        +    for (const key in input) {
        +        if (keySet.has(key))
        +            continue;
        +        if (t === "never") {
        +            unrecognized.push(key);
        +            continue;
        +        }
        +        const r = _catchall.run({ value: input[key], issues: [] }, ctx);
        +        if (r instanceof Promise) {
        +            proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalOut)));
        +        }
        +        else {
        +            handlePropertyResult(r, payload, key, input, isOptionalOut);
        +        }
        +    }
        +    if (unrecognized.length) {
        +        payload.issues.push({
        +            code: "unrecognized_keys",
        +            keys: unrecognized,
        +            input,
        +            inst,
        +        });
        +    }
        +    if (!proms.length)
        +        return payload;
        +    return Promise.all(proms).then(() => {
        +        return payload;
        +    });
        +}
        +const $ZodObject = /*@__PURE__*/ $constructor("$ZodObject", (inst, def) => {
        +    // requires cast because technically $ZodObject doesn't extend
        +    $ZodType.init(inst, def);
        +    // const sh = def.shape;
        +    const desc = Object.getOwnPropertyDescriptor(def, "shape");
        +    if (!desc?.get) {
        +        const sh = def.shape;
        +        Object.defineProperty(def, "shape", {
        +            get: () => {
        +                const newSh = { ...sh };
        +                Object.defineProperty(def, "shape", {
        +                    value: newSh,
        +                });
        +                return newSh;
        +            },
        +        });
        +    }
        +    const _normalized = cached(() => normalizeDef(def));
        +    defineLazy(inst._zod, "propValues", () => {
        +        const shape = def.shape;
        +        const propValues = {};
        +        for (const key in shape) {
        +            const field = shape[key]._zod;
        +            if (field.values) {
        +                propValues[key] ?? (propValues[key] = new Set());
        +                for (const v of field.values)
        +                    propValues[key].add(v);
        +            }
        +        }
        +        return propValues;
        +    });
        +    const isObject = util_isObject;
        +    const catchall = def.catchall;
        +    let value;
        +    inst._zod.parse = (payload, ctx) => {
        +        value ?? (value = _normalized.value);
        +        const input = payload.value;
        +        if (!isObject(input)) {
        +            payload.issues.push({
        +                expected: "object",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        payload.value = {};
        +        const proms = [];
        +        const shape = value.shape;
        +        for (const key of value.keys) {
        +            const el = shape[key];
        +            const isOptionalOut = el._zod.optout === "optional";
        +            const r = el._zod.run({ value: input[key], issues: [] }, ctx);
        +            if (r instanceof Promise) {
        +                proms.push(r.then((r) => handlePropertyResult(r, payload, key, input, isOptionalOut)));
        +            }
        +            else {
        +                handlePropertyResult(r, payload, key, input, isOptionalOut);
        +            }
        +        }
        +        if (!catchall) {
        +            return proms.length ? Promise.all(proms).then(() => payload) : payload;
        +        }
        +        return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);
        +    };
        +});
        +const $ZodObjectJIT = /*@__PURE__*/ $constructor("$ZodObjectJIT", (inst, def) => {
        +    // requires cast because technically $ZodObject doesn't extend
        +    $ZodObject.init(inst, def);
        +    const superParse = inst._zod.parse;
        +    const _normalized = cached(() => normalizeDef(def));
        +    const generateFastpass = (shape) => {
        +        const doc = new Doc(["shape", "payload", "ctx"]);
        +        const normalized = _normalized.value;
        +        const parseStr = (key) => {
        +            const k = esc(key);
        +            return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;
        +        };
        +        doc.write(`const input = payload.value;`);
        +        const ids = Object.create(null);
        +        let counter = 0;
        +        for (const key of normalized.keys) {
        +            ids[key] = `key_${counter++}`;
        +        }
        +        // A: preserve key order {
        +        doc.write(`const newResult = {};`);
        +        for (const key of normalized.keys) {
        +            const id = ids[key];
        +            const k = esc(key);
        +            const schema = shape[key];
        +            const isOptionalOut = schema?._zod?.optout === "optional";
        +            doc.write(`const ${id} = ${parseStr(key)};`);
        +            if (isOptionalOut) {
        +                // For optional-out schemas, ignore errors on absent keys
        +                doc.write(`
        +        if (${id}.issues.length) {
        +          if (${k} in input) {
        +            payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
        +              ...iss,
        +              path: iss.path ? [${k}, ...iss.path] : [${k}]
        +            })));
        +          }
        +        }
        +        
        +        if (${id}.value === undefined) {
        +          if (${k} in input) {
        +            newResult[${k}] = undefined;
        +          }
        +        } else {
        +          newResult[${k}] = ${id}.value;
        +        }
        +        
        +      `);
        +            }
        +            else {
        +                doc.write(`
        +        if (${id}.issues.length) {
        +          payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
        +            ...iss,
        +            path: iss.path ? [${k}, ...iss.path] : [${k}]
        +          })));
        +        }
        +        
        +        if (${id}.value === undefined) {
        +          if (${k} in input) {
        +            newResult[${k}] = undefined;
        +          }
        +        } else {
        +          newResult[${k}] = ${id}.value;
        +        }
        +        
        +      `);
        +            }
        +        }
        +        doc.write(`payload.value = newResult;`);
        +        doc.write(`return payload;`);
        +        const fn = doc.compile();
        +        return (payload, ctx) => fn(shape, payload, ctx);
        +    };
        +    let fastpass;
        +    const isObject = util_isObject;
        +    const jit = !globalConfig.jitless;
        +    const allowsEval = util_allowsEval;
        +    const fastEnabled = jit && allowsEval.value; // && !def.catchall;
        +    const catchall = def.catchall;
        +    let value;
        +    inst._zod.parse = (payload, ctx) => {
        +        value ?? (value = _normalized.value);
        +        const input = payload.value;
        +        if (!isObject(input)) {
        +            payload.issues.push({
        +                expected: "object",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {
        +            // always synchronous
        +            if (!fastpass)
        +                fastpass = generateFastpass(def.shape);
        +            payload = fastpass(payload, ctx);
        +            if (!catchall)
        +                return payload;
        +            return handleCatchall([], input, payload, ctx, value, inst);
        +        }
        +        return superParse(payload, ctx);
        +    };
        +});
        +function handleUnionResults(results, final, inst, ctx) {
        +    for (const result of results) {
        +        if (result.issues.length === 0) {
        +            final.value = result.value;
        +            return final;
        +        }
        +    }
        +    const nonaborted = results.filter((r) => !aborted(r));
        +    if (nonaborted.length === 1) {
        +        final.value = nonaborted[0].value;
        +        return nonaborted[0];
        +    }
        +    final.issues.push({
        +        code: "invalid_union",
        +        input: final.value,
        +        inst,
        +        errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config()))),
        +    });
        +    return final;
        +}
        +const $ZodUnion = /*@__PURE__*/ $constructor("$ZodUnion", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    defineLazy(inst._zod, "optin", () => def.options.some((o) => o._zod.optin === "optional") ? "optional" : undefined);
        +    defineLazy(inst._zod, "optout", () => def.options.some((o) => o._zod.optout === "optional") ? "optional" : undefined);
        +    defineLazy(inst._zod, "values", () => {
        +        if (def.options.every((o) => o._zod.values)) {
        +            return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));
        +        }
        +        return undefined;
        +    });
        +    defineLazy(inst._zod, "pattern", () => {
        +        if (def.options.every((o) => o._zod.pattern)) {
        +            const patterns = def.options.map((o) => o._zod.pattern);
        +            return new RegExp(`^(${patterns.map((p) => cleanRegex(p.source)).join("|")})$`);
        +        }
        +        return undefined;
        +    });
        +    const single = def.options.length === 1;
        +    const first = def.options[0]._zod.run;
        +    inst._zod.parse = (payload, ctx) => {
        +        if (single) {
        +            return first(payload, ctx);
        +        }
        +        let async = false;
        +        const results = [];
        +        for (const option of def.options) {
        +            const result = option._zod.run({
        +                value: payload.value,
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                results.push(result);
        +                async = true;
        +            }
        +            else {
        +                if (result.issues.length === 0)
        +                    return result;
        +                results.push(result);
        +            }
        +        }
        +        if (!async)
        +            return handleUnionResults(results, payload, inst, ctx);
        +        return Promise.all(results).then((results) => {
        +            return handleUnionResults(results, payload, inst, ctx);
        +        });
        +    };
        +});
        +function handleExclusiveUnionResults(results, final, inst, ctx) {
        +    const successes = results.filter((r) => r.issues.length === 0);
        +    if (successes.length === 1) {
        +        final.value = successes[0].value;
        +        return final;
        +    }
        +    if (successes.length === 0) {
        +        // No matches - same as regular union
        +        final.issues.push({
        +            code: "invalid_union",
        +            input: final.value,
        +            inst,
        +            errors: results.map((result) => result.issues.map((iss) => finalizeIssue(iss, ctx, config()))),
        +        });
        +    }
        +    else {
        +        // Multiple matches - exclusive union failure
        +        final.issues.push({
        +            code: "invalid_union",
        +            input: final.value,
        +            inst,
        +            errors: [],
        +            inclusive: false,
        +        });
        +    }
        +    return final;
        +}
        +const $ZodXor = /*@__PURE__*/ $constructor("$ZodXor", (inst, def) => {
        +    $ZodUnion.init(inst, def);
        +    def.inclusive = false;
        +    const single = def.options.length === 1;
        +    const first = def.options[0]._zod.run;
        +    inst._zod.parse = (payload, ctx) => {
        +        if (single) {
        +            return first(payload, ctx);
        +        }
        +        let async = false;
        +        const results = [];
        +        for (const option of def.options) {
        +            const result = option._zod.run({
        +                value: payload.value,
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                results.push(result);
        +                async = true;
        +            }
        +            else {
        +                results.push(result);
        +            }
        +        }
        +        if (!async)
        +            return handleExclusiveUnionResults(results, payload, inst, ctx);
        +        return Promise.all(results).then((results) => {
        +            return handleExclusiveUnionResults(results, payload, inst, ctx);
        +        });
        +    };
        +});
        +const $ZodDiscriminatedUnion = 
        +/*@__PURE__*/
        +$constructor("$ZodDiscriminatedUnion", (inst, def) => {
        +    def.inclusive = false;
        +    $ZodUnion.init(inst, def);
        +    const _super = inst._zod.parse;
        +    defineLazy(inst._zod, "propValues", () => {
        +        const propValues = {};
        +        for (const option of def.options) {
        +            const pv = option._zod.propValues;
        +            if (!pv || Object.keys(pv).length === 0)
        +                throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`);
        +            for (const [k, v] of Object.entries(pv)) {
        +                if (!propValues[k])
        +                    propValues[k] = new Set();
        +                for (const val of v) {
        +                    propValues[k].add(val);
        +                }
        +            }
        +        }
        +        return propValues;
        +    });
        +    const disc = cached(() => {
        +        const opts = def.options;
        +        const map = new Map();
        +        for (const o of opts) {
        +            const values = o._zod.propValues?.[def.discriminator];
        +            if (!values || values.size === 0)
        +                throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);
        +            for (const v of values) {
        +                if (map.has(v)) {
        +                    throw new Error(`Duplicate discriminator value "${String(v)}"`);
        +                }
        +                map.set(v, o);
        +            }
        +        }
        +        return map;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!util_isObject(input)) {
        +            payload.issues.push({
        +                code: "invalid_type",
        +                expected: "object",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        const opt = disc.value.get(input?.[def.discriminator]);
        +        if (opt) {
        +            return opt._zod.run(payload, ctx);
        +        }
        +        if (def.unionFallback) {
        +            return _super(payload, ctx);
        +        }
        +        // no matching discriminator
        +        payload.issues.push({
        +            code: "invalid_union",
        +            errors: [],
        +            note: "No matching discriminator",
        +            discriminator: def.discriminator,
        +            input,
        +            path: [def.discriminator],
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodIntersection = /*@__PURE__*/ $constructor("$ZodIntersection", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        const left = def.left._zod.run({ value: input, issues: [] }, ctx);
        +        const right = def.right._zod.run({ value: input, issues: [] }, ctx);
        +        const async = left instanceof Promise || right instanceof Promise;
        +        if (async) {
        +            return Promise.all([left, right]).then(([left, right]) => {
        +                return handleIntersectionResults(payload, left, right);
        +            });
        +        }
        +        return handleIntersectionResults(payload, left, right);
        +    };
        +});
        +function mergeValues(a, b) {
        +    // const aType = parse.t(a);
        +    // const bType = parse.t(b);
        +    if (a === b) {
        +        return { valid: true, data: a };
        +    }
        +    if (a instanceof Date && b instanceof Date && +a === +b) {
        +        return { valid: true, data: a };
        +    }
        +    if (isPlainObject(a) && isPlainObject(b)) {
        +        const bKeys = Object.keys(b);
        +        const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);
        +        const newObj = { ...a, ...b };
        +        for (const key of sharedKeys) {
        +            const sharedValue = mergeValues(a[key], b[key]);
        +            if (!sharedValue.valid) {
        +                return {
        +                    valid: false,
        +                    mergeErrorPath: [key, ...sharedValue.mergeErrorPath],
        +                };
        +            }
        +            newObj[key] = sharedValue.data;
        +        }
        +        return { valid: true, data: newObj };
        +    }
        +    if (Array.isArray(a) && Array.isArray(b)) {
        +        if (a.length !== b.length) {
        +            return { valid: false, mergeErrorPath: [] };
        +        }
        +        const newArray = [];
        +        for (let index = 0; index < a.length; index++) {
        +            const itemA = a[index];
        +            const itemB = b[index];
        +            const sharedValue = mergeValues(itemA, itemB);
        +            if (!sharedValue.valid) {
        +                return {
        +                    valid: false,
        +                    mergeErrorPath: [index, ...sharedValue.mergeErrorPath],
        +                };
        +            }
        +            newArray.push(sharedValue.data);
        +        }
        +        return { valid: true, data: newArray };
        +    }
        +    return { valid: false, mergeErrorPath: [] };
        +}
        +function handleIntersectionResults(result, left, right) {
        +    // Track which side(s) report each key as unrecognized
        +    const unrecKeys = new Map();
        +    let unrecIssue;
        +    for (const iss of left.issues) {
        +        if (iss.code === "unrecognized_keys") {
        +            unrecIssue ?? (unrecIssue = iss);
        +            for (const k of iss.keys) {
        +                if (!unrecKeys.has(k))
        +                    unrecKeys.set(k, {});
        +                unrecKeys.get(k).l = true;
        +            }
        +        }
        +        else {
        +            result.issues.push(iss);
        +        }
        +    }
        +    for (const iss of right.issues) {
        +        if (iss.code === "unrecognized_keys") {
        +            for (const k of iss.keys) {
        +                if (!unrecKeys.has(k))
        +                    unrecKeys.set(k, {});
        +                unrecKeys.get(k).r = true;
        +            }
        +        }
        +        else {
        +            result.issues.push(iss);
        +        }
        +    }
        +    // Report only keys unrecognized by BOTH sides
        +    const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k]) => k);
        +    if (bothKeys.length && unrecIssue) {
        +        result.issues.push({ ...unrecIssue, keys: bothKeys });
        +    }
        +    if (aborted(result))
        +        return result;
        +    const merged = mergeValues(left.value, right.value);
        +    if (!merged.valid) {
        +        throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);
        +    }
        +    result.value = merged.data;
        +    return result;
        +}
        +const $ZodTuple = /*@__PURE__*/ $constructor("$ZodTuple", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    const items = def.items;
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!Array.isArray(input)) {
        +            payload.issues.push({
        +                input,
        +                inst,
        +                expected: "tuple",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        payload.value = [];
        +        const proms = [];
        +        const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
        +        const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;
        +        if (!def.rest) {
        +            const tooBig = input.length > items.length;
        +            const tooSmall = input.length < optStart - 1;
        +            if (tooBig || tooSmall) {
        +                payload.issues.push({
        +                    ...(tooBig
        +                        ? { code: "too_big", maximum: items.length, inclusive: true }
        +                        : { code: "too_small", minimum: items.length }),
        +                    input,
        +                    inst,
        +                    origin: "array",
        +                });
        +                return payload;
        +            }
        +        }
        +        let i = -1;
        +        for (const item of items) {
        +            i++;
        +            if (i >= input.length)
        +                if (i >= optStart)
        +                    continue;
        +            const result = item._zod.run({
        +                value: input[i],
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                proms.push(result.then((result) => handleTupleResult(result, payload, i)));
        +            }
        +            else {
        +                handleTupleResult(result, payload, i);
        +            }
        +        }
        +        if (def.rest) {
        +            const rest = input.slice(items.length);
        +            for (const el of rest) {
        +                i++;
        +                const result = def.rest._zod.run({
        +                    value: el,
        +                    issues: [],
        +                }, ctx);
        +                if (result instanceof Promise) {
        +                    proms.push(result.then((result) => handleTupleResult(result, payload, i)));
        +                }
        +                else {
        +                    handleTupleResult(result, payload, i);
        +                }
        +            }
        +        }
        +        if (proms.length)
        +            return Promise.all(proms).then(() => payload);
        +        return payload;
        +    };
        +});
        +function handleTupleResult(result, final, index) {
        +    if (result.issues.length) {
        +        final.issues.push(...prefixIssues(index, result.issues));
        +    }
        +    final.value[index] = result.value;
        +}
        +const $ZodRecord = /*@__PURE__*/ $constructor("$ZodRecord", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!isPlainObject(input)) {
        +            payload.issues.push({
        +                expected: "record",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        const proms = [];
        +        const values = def.keyType._zod.values;
        +        if (values) {
        +            payload.value = {};
        +            const recordKeys = new Set();
        +            for (const key of values) {
        +                if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") {
        +                    recordKeys.add(typeof key === "number" ? key.toString() : key);
        +                    const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
        +                    if (result instanceof Promise) {
        +                        proms.push(result.then((result) => {
        +                            if (result.issues.length) {
        +                                payload.issues.push(...prefixIssues(key, result.issues));
        +                            }
        +                            payload.value[key] = result.value;
        +                        }));
        +                    }
        +                    else {
        +                        if (result.issues.length) {
        +                            payload.issues.push(...prefixIssues(key, result.issues));
        +                        }
        +                        payload.value[key] = result.value;
        +                    }
        +                }
        +            }
        +            let unrecognized;
        +            for (const key in input) {
        +                if (!recordKeys.has(key)) {
        +                    unrecognized = unrecognized ?? [];
        +                    unrecognized.push(key);
        +                }
        +            }
        +            if (unrecognized && unrecognized.length > 0) {
        +                payload.issues.push({
        +                    code: "unrecognized_keys",
        +                    input,
        +                    inst,
        +                    keys: unrecognized,
        +                });
        +            }
        +        }
        +        else {
        +            payload.value = {};
        +            for (const key of Reflect.ownKeys(input)) {
        +                if (key === "__proto__")
        +                    continue;
        +                let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
        +                if (keyResult instanceof Promise) {
        +                    throw new Error("Async schemas not supported in object keys currently");
        +                }
        +                // Numeric string fallback: if key is a numeric string and failed, retry with Number(key)
        +                // This handles z.number(), z.literal([1, 2, 3]), and unions containing numeric literals
        +                const checkNumericKey = typeof key === "string" && number.test(key) && keyResult.issues.length;
        +                if (checkNumericKey) {
        +                    const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);
        +                    if (retryResult instanceof Promise) {
        +                        throw new Error("Async schemas not supported in object keys currently");
        +                    }
        +                    if (retryResult.issues.length === 0) {
        +                        keyResult = retryResult;
        +                    }
        +                }
        +                if (keyResult.issues.length) {
        +                    if (def.mode === "loose") {
        +                        // Pass through unchanged
        +                        payload.value[key] = input[key];
        +                    }
        +                    else {
        +                        // Default "strict" behavior: error on invalid key
        +                        payload.issues.push({
        +                            code: "invalid_key",
        +                            origin: "record",
        +                            issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())),
        +                            input: key,
        +                            path: [key],
        +                            inst,
        +                        });
        +                    }
        +                    continue;
        +                }
        +                const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
        +                if (result instanceof Promise) {
        +                    proms.push(result.then((result) => {
        +                        if (result.issues.length) {
        +                            payload.issues.push(...prefixIssues(key, result.issues));
        +                        }
        +                        payload.value[keyResult.value] = result.value;
        +                    }));
        +                }
        +                else {
        +                    if (result.issues.length) {
        +                        payload.issues.push(...prefixIssues(key, result.issues));
        +                    }
        +                    payload.value[keyResult.value] = result.value;
        +                }
        +            }
        +        }
        +        if (proms.length) {
        +            return Promise.all(proms).then(() => payload);
        +        }
        +        return payload;
        +    };
        +});
        +const $ZodMap = /*@__PURE__*/ $constructor("$ZodMap", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!(input instanceof Map)) {
        +            payload.issues.push({
        +                expected: "map",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        const proms = [];
        +        payload.value = new Map();
        +        for (const [key, value] of input) {
        +            const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
        +            const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);
        +            if (keyResult instanceof Promise || valueResult instanceof Promise) {
        +                proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {
        +                    handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);
        +                }));
        +            }
        +            else {
        +                handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);
        +            }
        +        }
        +        if (proms.length)
        +            return Promise.all(proms).then(() => payload);
        +        return payload;
        +    };
        +});
        +function handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {
        +    if (keyResult.issues.length) {
        +        if (propertyKeyTypes.has(typeof key)) {
        +            final.issues.push(...prefixIssues(key, keyResult.issues));
        +        }
        +        else {
        +            final.issues.push({
        +                code: "invalid_key",
        +                origin: "map",
        +                input,
        +                inst,
        +                issues: keyResult.issues.map((iss) => finalizeIssue(iss, ctx, config())),
        +            });
        +        }
        +    }
        +    if (valueResult.issues.length) {
        +        if (propertyKeyTypes.has(typeof key)) {
        +            final.issues.push(...prefixIssues(key, valueResult.issues));
        +        }
        +        else {
        +            final.issues.push({
        +                origin: "map",
        +                code: "invalid_element",
        +                input,
        +                inst,
        +                key: key,
        +                issues: valueResult.issues.map((iss) => finalizeIssue(iss, ctx, config())),
        +            });
        +        }
        +    }
        +    final.value.set(keyResult.value, valueResult.value);
        +}
        +const $ZodSet = /*@__PURE__*/ $constructor("$ZodSet", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!(input instanceof Set)) {
        +            payload.issues.push({
        +                input,
        +                inst,
        +                expected: "set",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        const proms = [];
        +        payload.value = new Set();
        +        for (const item of input) {
        +            const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);
        +            if (result instanceof Promise) {
        +                proms.push(result.then((result) => handleSetResult(result, payload)));
        +            }
        +            else
        +                handleSetResult(result, payload);
        +        }
        +        if (proms.length)
        +            return Promise.all(proms).then(() => payload);
        +        return payload;
        +    };
        +});
        +function handleSetResult(result, final) {
        +    if (result.issues.length) {
        +        final.issues.push(...result.issues);
        +    }
        +    final.value.add(result.value);
        +}
        +const $ZodEnum = /*@__PURE__*/ $constructor("$ZodEnum", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    const values = getEnumValues(def.entries);
        +    const valuesSet = new Set(values);
        +    inst._zod.values = valuesSet;
        +    inst._zod.pattern = new RegExp(`^(${values
        +        .filter((k) => propertyKeyTypes.has(typeof k))
        +        .map((o) => (typeof o === "string" ? escapeRegex(o) : o.toString()))
        +        .join("|")})$`);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (valuesSet.has(input)) {
        +            return payload;
        +        }
        +        payload.issues.push({
        +            code: "invalid_value",
        +            values,
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodLiteral = /*@__PURE__*/ $constructor("$ZodLiteral", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    if (def.values.length === 0) {
        +        throw new Error("Cannot create literal schema with no valid values");
        +    }
        +    const values = new Set(def.values);
        +    inst._zod.values = values;
        +    inst._zod.pattern = new RegExp(`^(${def.values
        +        .map((o) => (typeof o === "string" ? escapeRegex(o) : o ? escapeRegex(o.toString()) : String(o)))
        +        .join("|")})$`);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (values.has(input)) {
        +            return payload;
        +        }
        +        payload.issues.push({
        +            code: "invalid_value",
        +            values: def.values,
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodFile = /*@__PURE__*/ $constructor("$ZodFile", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        // @ts-ignore
        +        if (input instanceof File)
        +            return payload;
        +        payload.issues.push({
        +            expected: "file",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const $ZodTransform = /*@__PURE__*/ $constructor("$ZodTransform", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            throw new $ZodEncodeError(inst.constructor.name);
        +        }
        +        const _out = def.transform(payload.value, payload);
        +        if (ctx.async) {
        +            const output = _out instanceof Promise ? _out : Promise.resolve(_out);
        +            return output.then((output) => {
        +                payload.value = output;
        +                return payload;
        +            });
        +        }
        +        if (_out instanceof Promise) {
        +            throw new $ZodAsyncError();
        +        }
        +        payload.value = _out;
        +        return payload;
        +    };
        +});
        +function handleOptionalResult(result, input) {
        +    if (result.issues.length && input === undefined) {
        +        return { issues: [], value: undefined };
        +    }
        +    return result;
        +}
        +const $ZodOptional = /*@__PURE__*/ $constructor("$ZodOptional", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.optin = "optional";
        +    inst._zod.optout = "optional";
        +    defineLazy(inst._zod, "values", () => {
        +        return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;
        +    });
        +    defineLazy(inst._zod, "pattern", () => {
        +        const pattern = def.innerType._zod.pattern;
        +        return pattern ? new RegExp(`^(${cleanRegex(pattern.source)})?$`) : undefined;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        if (def.innerType._zod.optin === "optional") {
        +            const result = def.innerType._zod.run(payload, ctx);
        +            if (result instanceof Promise)
        +                return result.then((r) => handleOptionalResult(r, payload.value));
        +            return handleOptionalResult(result, payload.value);
        +        }
        +        if (payload.value === undefined) {
        +            return payload;
        +        }
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const $ZodExactOptional = /*@__PURE__*/ $constructor("$ZodExactOptional", (inst, def) => {
        +    // Call parent init - inherits optin/optout = "optional"
        +    $ZodOptional.init(inst, def);
        +    // Override values/pattern to NOT add undefined
        +    defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    defineLazy(inst._zod, "pattern", () => def.innerType._zod.pattern);
        +    // Override parse to just delegate (no undefined handling)
        +    inst._zod.parse = (payload, ctx) => {
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const $ZodNullable = /*@__PURE__*/ $constructor("$ZodNullable", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
        +    defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
        +    defineLazy(inst._zod, "pattern", () => {
        +        const pattern = def.innerType._zod.pattern;
        +        return pattern ? new RegExp(`^(${cleanRegex(pattern.source)}|null)$`) : undefined;
        +    });
        +    defineLazy(inst._zod, "values", () => {
        +        return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        // Forward direction (decode): allow null to pass through
        +        if (payload.value === null)
        +            return payload;
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const $ZodDefault = /*@__PURE__*/ $constructor("$ZodDefault", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    // inst._zod.qin = "true";
        +    inst._zod.optin = "optional";
        +    defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        // Forward direction (decode): apply defaults for undefined input
        +        if (payload.value === undefined) {
        +            payload.value = def.defaultValue;
        +            /**
        +             * $ZodDefault returns the default value immediately in forward direction.
        +             * It doesn't pass the default value into the validator ("prefault"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a "prefault" for the pipe.   */
        +            return payload;
        +        }
        +        // Forward direction: continue with default handling
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => handleDefaultResult(result, def));
        +        }
        +        return handleDefaultResult(result, def);
        +    };
        +});
        +function handleDefaultResult(payload, def) {
        +    if (payload.value === undefined) {
        +        payload.value = def.defaultValue;
        +    }
        +    return payload;
        +}
        +const $ZodPrefault = /*@__PURE__*/ $constructor("$ZodPrefault", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.optin = "optional";
        +    defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        // Forward direction (decode): apply prefault for undefined input
        +        if (payload.value === undefined) {
        +            payload.value = def.defaultValue;
        +        }
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const $ZodNonOptional = /*@__PURE__*/ $constructor("$ZodNonOptional", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    defineLazy(inst._zod, "values", () => {
        +        const v = def.innerType._zod.values;
        +        return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => handleNonOptionalResult(result, inst));
        +        }
        +        return handleNonOptionalResult(result, inst);
        +    };
        +});
        +function handleNonOptionalResult(payload, inst) {
        +    if (!payload.issues.length && payload.value === undefined) {
        +        payload.issues.push({
        +            code: "invalid_type",
        +            expected: "nonoptional",
        +            input: payload.value,
        +            inst,
        +        });
        +    }
        +    return payload;
        +}
        +const $ZodSuccess = /*@__PURE__*/ $constructor("$ZodSuccess", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            throw new $ZodEncodeError("ZodSuccess");
        +        }
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => {
        +                payload.value = result.issues.length === 0;
        +                return payload;
        +            });
        +        }
        +        payload.value = result.issues.length === 0;
        +        return payload;
        +    };
        +});
        +const $ZodCatch = /*@__PURE__*/ $constructor("$ZodCatch", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
        +    defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
        +    defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        // Forward direction (decode): apply catch logic
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => {
        +                payload.value = result.value;
        +                if (result.issues.length) {
        +                    payload.value = def.catchValue({
        +                        ...payload,
        +                        error: {
        +                            issues: result.issues.map((iss) => finalizeIssue(iss, ctx, config())),
        +                        },
        +                        input: payload.value,
        +                    });
        +                    payload.issues = [];
        +                }
        +                return payload;
        +            });
        +        }
        +        payload.value = result.value;
        +        if (result.issues.length) {
        +            payload.value = def.catchValue({
        +                ...payload,
        +                error: {
        +                    issues: result.issues.map((iss) => finalizeIssue(iss, ctx, config())),
        +                },
        +                input: payload.value,
        +            });
        +            payload.issues = [];
        +        }
        +        return payload;
        +    };
        +});
        +const $ZodNaN = /*@__PURE__*/ $constructor("$ZodNaN", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (typeof payload.value !== "number" || !Number.isNaN(payload.value)) {
        +            payload.issues.push({
        +                input: payload.value,
        +                inst,
        +                expected: "nan",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        return payload;
        +    };
        +});
        +const $ZodPipe = /*@__PURE__*/ $constructor("$ZodPipe", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    defineLazy(inst._zod, "values", () => def.in._zod.values);
        +    defineLazy(inst._zod, "optin", () => def.in._zod.optin);
        +    defineLazy(inst._zod, "optout", () => def.out._zod.optout);
        +    defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            const right = def.out._zod.run(payload, ctx);
        +            if (right instanceof Promise) {
        +                return right.then((right) => handlePipeResult(right, def.in, ctx));
        +            }
        +            return handlePipeResult(right, def.in, ctx);
        +        }
        +        const left = def.in._zod.run(payload, ctx);
        +        if (left instanceof Promise) {
        +            return left.then((left) => handlePipeResult(left, def.out, ctx));
        +        }
        +        return handlePipeResult(left, def.out, ctx);
        +    };
        +});
        +function handlePipeResult(left, next, ctx) {
        +    if (left.issues.length) {
        +        // prevent further checks
        +        left.aborted = true;
        +        return left;
        +    }
        +    return next._zod.run({ value: left.value, issues: left.issues }, ctx);
        +}
        +const $ZodCodec = /*@__PURE__*/ $constructor("$ZodCodec", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    defineLazy(inst._zod, "values", () => def.in._zod.values);
        +    defineLazy(inst._zod, "optin", () => def.in._zod.optin);
        +    defineLazy(inst._zod, "optout", () => def.out._zod.optout);
        +    defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
        +    inst._zod.parse = (payload, ctx) => {
        +        const direction = ctx.direction || "forward";
        +        if (direction === "forward") {
        +            const left = def.in._zod.run(payload, ctx);
        +            if (left instanceof Promise) {
        +                return left.then((left) => handleCodecAResult(left, def, ctx));
        +            }
        +            return handleCodecAResult(left, def, ctx);
        +        }
        +        else {
        +            const right = def.out._zod.run(payload, ctx);
        +            if (right instanceof Promise) {
        +                return right.then((right) => handleCodecAResult(right, def, ctx));
        +            }
        +            return handleCodecAResult(right, def, ctx);
        +        }
        +    };
        +});
        +function handleCodecAResult(result, def, ctx) {
        +    if (result.issues.length) {
        +        // prevent further checks
        +        result.aborted = true;
        +        return result;
        +    }
        +    const direction = ctx.direction || "forward";
        +    if (direction === "forward") {
        +        const transformed = def.transform(result.value, result);
        +        if (transformed instanceof Promise) {
        +            return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));
        +        }
        +        return handleCodecTxResult(result, transformed, def.out, ctx);
        +    }
        +    else {
        +        const transformed = def.reverseTransform(result.value, result);
        +        if (transformed instanceof Promise) {
        +            return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));
        +        }
        +        return handleCodecTxResult(result, transformed, def.in, ctx);
        +    }
        +}
        +function handleCodecTxResult(left, value, nextSchema, ctx) {
        +    // Check if transform added any issues
        +    if (left.issues.length) {
        +        left.aborted = true;
        +        return left;
        +    }
        +    return nextSchema._zod.run({ value, issues: left.issues }, ctx);
        +}
        +const $ZodReadonly = /*@__PURE__*/ $constructor("$ZodReadonly", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    defineLazy(inst._zod, "propValues", () => def.innerType._zod.propValues);
        +    defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    defineLazy(inst._zod, "optin", () => def.innerType?._zod?.optin);
        +    defineLazy(inst._zod, "optout", () => def.innerType?._zod?.optout);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then(handleReadonlyResult);
        +        }
        +        return handleReadonlyResult(result);
        +    };
        +});
        +function handleReadonlyResult(payload) {
        +    payload.value = Object.freeze(payload.value);
        +    return payload;
        +}
        +const $ZodTemplateLiteral = /*@__PURE__*/ $constructor("$ZodTemplateLiteral", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    const regexParts = [];
        +    for (const part of def.parts) {
        +        if (typeof part === "object" && part !== null) {
        +            // is Zod schema
        +            if (!part._zod.pattern) {
        +                // if (!source)
        +                throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
        +            }
        +            const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;
        +            if (!source)
        +                throw new Error(`Invalid template literal part: ${part._zod.traits}`);
        +            const start = source.startsWith("^") ? 1 : 0;
        +            const end = source.endsWith("$") ? source.length - 1 : source.length;
        +            regexParts.push(source.slice(start, end));
        +        }
        +        else if (part === null || primitiveTypes.has(typeof part)) {
        +            regexParts.push(escapeRegex(`${part}`));
        +        }
        +        else {
        +            throw new Error(`Invalid template literal part: ${part}`);
        +        }
        +    }
        +    inst._zod.pattern = new RegExp(`^${regexParts.join("")}$`);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (typeof payload.value !== "string") {
        +            payload.issues.push({
        +                input: payload.value,
        +                inst,
        +                expected: "string",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        inst._zod.pattern.lastIndex = 0;
        +        if (!inst._zod.pattern.test(payload.value)) {
        +            payload.issues.push({
        +                input: payload.value,
        +                inst,
        +                code: "invalid_format",
        +                format: def.format ?? "template_literal",
        +                pattern: inst._zod.pattern.source,
        +            });
        +            return payload;
        +        }
        +        return payload;
        +    };
        +});
        +const $ZodFunction = /*@__PURE__*/ $constructor("$ZodFunction", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._def = def;
        +    inst._zod.def = def;
        +    inst.implement = (func) => {
        +        if (typeof func !== "function") {
        +            throw new Error("implement() must be called with a function");
        +        }
        +        return function (...args) {
        +            const parsedArgs = inst._def.input ? parse_parse(inst._def.input, args) : args;
        +            const result = Reflect.apply(func, this, parsedArgs);
        +            if (inst._def.output) {
        +                return parse_parse(inst._def.output, result);
        +            }
        +            return result;
        +        };
        +    };
        +    inst.implementAsync = (func) => {
        +        if (typeof func !== "function") {
        +            throw new Error("implementAsync() must be called with a function");
        +        }
        +        return async function (...args) {
        +            const parsedArgs = inst._def.input ? await parseAsync(inst._def.input, args) : args;
        +            const result = await Reflect.apply(func, this, parsedArgs);
        +            if (inst._def.output) {
        +                return await parseAsync(inst._def.output, result);
        +            }
        +            return result;
        +        };
        +    };
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (typeof payload.value !== "function") {
        +            payload.issues.push({
        +                code: "invalid_type",
        +                expected: "function",
        +                input: payload.value,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        // Check if output is a promise type to determine if we should use async implementation
        +        const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise";
        +        if (hasPromiseOutput) {
        +            payload.value = inst.implementAsync(payload.value);
        +        }
        +        else {
        +            payload.value = inst.implement(payload.value);
        +        }
        +        return payload;
        +    };
        +    inst.input = (...args) => {
        +        const F = inst.constructor;
        +        if (Array.isArray(args[0])) {
        +            return new F({
        +                type: "function",
        +                input: new $ZodTuple({
        +                    type: "tuple",
        +                    items: args[0],
        +                    rest: args[1],
        +                }),
        +                output: inst._def.output,
        +            });
        +        }
        +        return new F({
        +            type: "function",
        +            input: args[0],
        +            output: inst._def.output,
        +        });
        +    };
        +    inst.output = (output) => {
        +        const F = inst.constructor;
        +        return new F({
        +            type: "function",
        +            input: inst._def.input,
        +            output,
        +        });
        +    };
        +    return inst;
        +});
        +const $ZodPromise = /*@__PURE__*/ $constructor("$ZodPromise", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));
        +    };
        +});
        +const $ZodLazy = /*@__PURE__*/ $constructor("$ZodLazy", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    // let _innerType!: any;
        +    // util.defineLazy(def, "getter", () => {
        +    //   if (!_innerType) {
        +    //     _innerType = def.getter();
        +    //   }
        +    //   return () => _innerType;
        +    // });
        +    defineLazy(inst._zod, "innerType", () => def.getter());
        +    defineLazy(inst._zod, "pattern", () => inst._zod.innerType?._zod?.pattern);
        +    defineLazy(inst._zod, "propValues", () => inst._zod.innerType?._zod?.propValues);
        +    defineLazy(inst._zod, "optin", () => inst._zod.innerType?._zod?.optin ?? undefined);
        +    defineLazy(inst._zod, "optout", () => inst._zod.innerType?._zod?.optout ?? undefined);
        +    inst._zod.parse = (payload, ctx) => {
        +        const inner = inst._zod.innerType;
        +        return inner._zod.run(payload, ctx);
        +    };
        +});
        +const $ZodCustom = /*@__PURE__*/ $constructor("$ZodCustom", (inst, def) => {
        +    $ZodCheck.init(inst, def);
        +    $ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _) => {
        +        return payload;
        +    };
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const r = def.fn(input);
        +        if (r instanceof Promise) {
        +            return r.then((r) => handleRefineResult(r, payload, input, inst));
        +        }
        +        handleRefineResult(r, payload, input, inst);
        +        return;
        +    };
        +});
        +function handleRefineResult(result, payload, input, inst) {
        +    if (!result) {
        +        const _iss = {
        +            code: "custom",
        +            input,
        +            inst, // incorporates params.error into issue reporting
        +            path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting
        +            continue: !inst._zod.def.abort,
        +            // params: inst._zod.def.params,
        +        };
        +        if (inst._zod.def.params)
        +            _iss.params = inst._zod.def.params;
        +        payload.issues.push(util_issue(_iss));
        +    }
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ar.js
        +/* unused harmony import specifier */ var util;
        +
        +const error = () => {
        +    const Sizable = {
        +        string: { unit: "حرف", verb: "أن يحوي" },
        +        file: { unit: "بايت", verb: "أن يحوي" },
        +        array: { unit: "عنصر", verb: "أن يحوي" },
        +        set: { unit: "عنصر", verb: "أن يحوي" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "مدخل",
        +        email: "بريد إلكتروني",
        +        url: "رابط",
        +        emoji: "إيموجي",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "تاريخ ووقت بمعيار ISO",
        +        date: "تاريخ بمعيار ISO",
        +        time: "وقت بمعيار ISO",
        +        duration: "مدة بمعيار ISO",
        +        ipv4: "عنوان IPv4",
        +        ipv6: "عنوان IPv6",
        +        cidrv4: "مدى عناوين بصيغة IPv4",
        +        cidrv6: "مدى عناوين بصيغة IPv6",
        +        base64: "نَص بترميز base64-encoded",
        +        base64url: "نَص بترميز base64url-encoded",
        +        json_string: "نَص على هيئة JSON",
        +        e164: "رقم هاتف بمعيار E.164",
        +        jwt: "JWT",
        +        template_literal: "مدخل",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `مدخلات غير مقبولة: يفترض إدخال instanceof ${issue.expected}، ولكن تم إدخال ${received}`;
        +                }
        +                return `مدخلات غير مقبولة: يفترض إدخال ${expected}، ولكن تم إدخال ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `مدخلات غير مقبولة: يفترض إدخال ${util.stringifyPrimitive(issue.values[0])}`;
        +                return `اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return ` أكبر من اللازم: يفترض أن تكون ${issue.origin ?? "القيمة"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "عنصر"}`;
        +                return `أكبر من اللازم: يفترض أن تكون ${issue.origin ?? "القيمة"} ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `نَص غير مقبول: يجب أن يبدأ بـ "${issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `نَص غير مقبول: يجب أن ينتهي بـ "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `نَص غير مقبول: يجب أن يتضمَّن "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `نَص غير مقبول: يجب أن يطابق النمط ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} غير مقبول`;
        +            }
        +            case "not_multiple_of":
        +                return `رقم غير مقبول: يجب أن يكون من مضاعفات ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `معرف${issue.keys.length > 1 ? "ات" : ""} غريب${issue.keys.length > 1 ? "ة" : ""}: ${util.joinValues(issue.keys, "، ")}`;
        +            case "invalid_key":
        +                return `معرف غير مقبول في ${issue.origin}`;
        +            case "invalid_union":
        +                return "مدخل غير مقبول";
        +            case "invalid_element":
        +                return `مدخل غير مقبول في ${issue.origin}`;
        +            default:
        +                return "مدخل غير مقبول";
        +        }
        +    };
        +};
        +/* harmony default export */ function ar() {
        +    return {
        +        localeError: error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/az.js
        +/* unused harmony import specifier */ var az_util;
        +
        +const az_error = () => {
        +    const Sizable = {
        +        string: { unit: "simvol", verb: "olmalıdır" },
        +        file: { unit: "bayt", verb: "olmalıdır" },
        +        array: { unit: "element", verb: "olmalıdır" },
        +        set: { unit: "element", verb: "olmalıdır" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "email address",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datetime",
        +        date: "ISO date",
        +        time: "ISO time",
        +        duration: "ISO duration",
        +        ipv4: "IPv4 address",
        +        ipv6: "IPv6 address",
        +        cidrv4: "IPv4 range",
        +        cidrv6: "IPv6 range",
        +        base64: "base64-encoded string",
        +        base64url: "base64url-encoded string",
        +        json_string: "JSON string",
        +        e164: "E.164 number",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = az_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Yanlış dəyər: gözlənilən instanceof ${issue.expected}, daxil olan ${received}`;
        +                }
        +                return `Yanlış dəyər: gözlənilən ${expected}, daxil olan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Yanlış dəyər: gözlənilən ${az_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Yanlış seçim: aşağıdakılardan biri olmalıdır: ${az_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "element"}`;
        +                return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Yanlış mətn: "${_issue.prefix}" ilə başlamalıdır`;
        +                if (_issue.format === "ends_with")
        +                    return `Yanlış mətn: "${_issue.suffix}" ilə bitməlidir`;
        +                if (_issue.format === "includes")
        +                    return `Yanlış mətn: "${_issue.includes}" daxil olmalıdır`;
        +                if (_issue.format === "regex")
        +                    return `Yanlış mətn: ${_issue.pattern} şablonuna uyğun olmalıdır`;
        +                return `Yanlış ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Yanlış ədəd: ${issue.divisor} ilə bölünə bilən olmalıdır`;
        +            case "unrecognized_keys":
        +                return `Tanınmayan açar${issue.keys.length > 1 ? "lar" : ""}: ${az_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} daxilində yanlış açar`;
        +            case "invalid_union":
        +                return "Yanlış dəyər";
        +            case "invalid_element":
        +                return `${issue.origin} daxilində yanlış dəyər`;
        +            default:
        +                return `Yanlış dəyər`;
        +        }
        +    };
        +};
        +/* harmony default export */ function az() {
        +    return {
        +        localeError: az_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/be.js
        +/* unused harmony import specifier */ var be_util;
        +
        +function getBelarusianPlural(count, one, few, many) {
        +    const absCount = Math.abs(count);
        +    const lastDigit = absCount % 10;
        +    const lastTwoDigits = absCount % 100;
        +    if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
        +        return many;
        +    }
        +    if (lastDigit === 1) {
        +        return one;
        +    }
        +    if (lastDigit >= 2 && lastDigit <= 4) {
        +        return few;
        +    }
        +    return many;
        +}
        +const be_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "сімвал",
        +                few: "сімвалы",
        +                many: "сімвалаў",
        +            },
        +            verb: "мець",
        +        },
        +        array: {
        +            unit: {
        +                one: "элемент",
        +                few: "элементы",
        +                many: "элементаў",
        +            },
        +            verb: "мець",
        +        },
        +        set: {
        +            unit: {
        +                one: "элемент",
        +                few: "элементы",
        +                many: "элементаў",
        +            },
        +            verb: "мець",
        +        },
        +        file: {
        +            unit: {
        +                one: "байт",
        +                few: "байты",
        +                many: "байтаў",
        +            },
        +            verb: "мець",
        +        },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "увод",
        +        email: "email адрас",
        +        url: "URL",
        +        emoji: "эмодзі",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO дата і час",
        +        date: "ISO дата",
        +        time: "ISO час",
        +        duration: "ISO працягласць",
        +        ipv4: "IPv4 адрас",
        +        ipv6: "IPv6 адрас",
        +        cidrv4: "IPv4 дыяпазон",
        +        cidrv6: "IPv6 дыяпазон",
        +        base64: "радок у фармаце base64",
        +        base64url: "радок у фармаце base64url",
        +        json_string: "JSON радок",
        +        e164: "нумар E.164",
        +        jwt: "JWT",
        +        template_literal: "увод",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "лік",
        +        array: "масіў",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = be_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Няправільны ўвод: чакаўся instanceof ${issue.expected}, атрымана ${received}`;
        +                }
        +                return `Няправільны ўвод: чакаўся ${expected}, атрымана ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Няправільны ўвод: чакалася ${be_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Няправільны варыянт: чакаўся адзін з ${be_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const maxValue = Number(issue.maximum);
        +                    const unit = getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Занадта вялікі: чакалася, што ${issue.origin ?? "значэнне"} павінна ${sizing.verb} ${adj}${issue.maximum.toString()} ${unit}`;
        +                }
        +                return `Занадта вялікі: чакалася, што ${issue.origin ?? "значэнне"} павінна быць ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const minValue = Number(issue.minimum);
        +                    const unit = getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Занадта малы: чакалася, што ${issue.origin} павінна ${sizing.verb} ${adj}${issue.minimum.toString()} ${unit}`;
        +                }
        +                return `Занадта малы: чакалася, што ${issue.origin} павінна быць ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Няправільны радок: павінен пачынацца з "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Няправільны радок: павінен заканчвацца на "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Няправільны радок: павінен змяшчаць "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Няправільны радок: павінен адпавядаць шаблону ${_issue.pattern}`;
        +                return `Няправільны ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Няправільны лік: павінен быць кратным ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Нераспазнаны ${issue.keys.length > 1 ? "ключы" : "ключ"}: ${be_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Няправільны ключ у ${issue.origin}`;
        +            case "invalid_union":
        +                return "Няправільны ўвод";
        +            case "invalid_element":
        +                return `Няправільнае значэнне ў ${issue.origin}`;
        +            default:
        +                return `Няправільны ўвод`;
        +        }
        +    };
        +};
        +/* harmony default export */ function be() {
        +    return {
        +        localeError: be_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/bg.js
        +/* unused harmony import specifier */ var bg_util;
        +
        +const bg_error = () => {
        +    const Sizable = {
        +        string: { unit: "символа", verb: "да съдържа" },
        +        file: { unit: "байта", verb: "да съдържа" },
        +        array: { unit: "елемента", verb: "да съдържа" },
        +        set: { unit: "елемента", verb: "да съдържа" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "вход",
        +        email: "имейл адрес",
        +        url: "URL",
        +        emoji: "емоджи",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO време",
        +        date: "ISO дата",
        +        time: "ISO време",
        +        duration: "ISO продължителност",
        +        ipv4: "IPv4 адрес",
        +        ipv6: "IPv6 адрес",
        +        cidrv4: "IPv4 диапазон",
        +        cidrv6: "IPv6 диапазон",
        +        base64: "base64-кодиран низ",
        +        base64url: "base64url-кодиран низ",
        +        json_string: "JSON низ",
        +        e164: "E.164 номер",
        +        jwt: "JWT",
        +        template_literal: "вход",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "число",
        +        array: "масив",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = bg_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Невалиден вход: очакван instanceof ${issue.expected}, получен ${received}`;
        +                }
        +                return `Невалиден вход: очакван ${expected}, получен ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Невалиден вход: очакван ${bg_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Невалидна опция: очаквано едно от ${bg_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Твърде голямо: очаква се ${issue.origin ?? "стойност"} да съдържа ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елемента"}`;
        +                return `Твърде голямо: очаква се ${issue.origin ?? "стойност"} да бъде ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Твърде малко: очаква се ${issue.origin} да съдържа ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Твърде малко: очаква се ${issue.origin} да бъде ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Невалиден низ: трябва да започва с "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Невалиден низ: трябва да завършва с "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Невалиден низ: трябва да включва "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Невалиден низ: трябва да съвпада с ${_issue.pattern}`;
        +                let invalid_adj = "Невалиден";
        +                if (_issue.format === "emoji")
        +                    invalid_adj = "Невалидно";
        +                if (_issue.format === "datetime")
        +                    invalid_adj = "Невалидно";
        +                if (_issue.format === "date")
        +                    invalid_adj = "Невалидна";
        +                if (_issue.format === "time")
        +                    invalid_adj = "Невалидно";
        +                if (_issue.format === "duration")
        +                    invalid_adj = "Невалидна";
        +                return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Невалидно число: трябва да бъде кратно на ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Неразпознат${issue.keys.length > 1 ? "и" : ""} ключ${issue.keys.length > 1 ? "ове" : ""}: ${bg_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Невалиден ключ в ${issue.origin}`;
        +            case "invalid_union":
        +                return "Невалиден вход";
        +            case "invalid_element":
        +                return `Невалидна стойност в ${issue.origin}`;
        +            default:
        +                return `Невалиден вход`;
        +        }
        +    };
        +};
        +/* harmony default export */ function bg() {
        +    return {
        +        localeError: bg_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ca.js
        +/* unused harmony import specifier */ var ca_util;
        +
        +const ca_error = () => {
        +    const Sizable = {
        +        string: { unit: "caràcters", verb: "contenir" },
        +        file: { unit: "bytes", verb: "contenir" },
        +        array: { unit: "elements", verb: "contenir" },
        +        set: { unit: "elements", verb: "contenir" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrada",
        +        email: "adreça electrònica",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data i hora ISO",
        +        date: "data ISO",
        +        time: "hora ISO",
        +        duration: "durada ISO",
        +        ipv4: "adreça IPv4",
        +        ipv6: "adreça IPv6",
        +        cidrv4: "rang IPv4",
        +        cidrv6: "rang IPv6",
        +        base64: "cadena codificada en base64",
        +        base64url: "cadena codificada en base64url",
        +        json_string: "cadena JSON",
        +        e164: "número E.164",
        +        jwt: "JWT",
        +        template_literal: "entrada",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ca_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Tipus invàlid: s'esperava instanceof ${issue.expected}, s'ha rebut ${received}`;
        +                }
        +                return `Tipus invàlid: s'esperava ${expected}, s'ha rebut ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Valor invàlid: s'esperava ${ca_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opció invàlida: s'esperava una de ${ca_util.joinValues(issue.values, " o ")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "com a màxim" : "menys de";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} contingués ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
        +                return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} fos ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "com a mínim" : "més de";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Massa petit: s'esperava que ${issue.origin} contingués ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Format invàlid: ha de començar amb "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Format invàlid: ha d'acabar amb "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Format invàlid: ha d'incloure "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Format invàlid: ha de coincidir amb el patró ${_issue.pattern}`;
        +                return `Format invàlid per a ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Número invàlid: ha de ser múltiple de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Clau${issue.keys.length > 1 ? "s" : ""} no reconeguda${issue.keys.length > 1 ? "s" : ""}: ${ca_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Clau invàlida a ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrada invàlida"; // Could also be "Tipus d'unió invàlid" but "Entrada invàlida" is more general
        +            case "invalid_element":
        +                return `Element invàlid a ${issue.origin}`;
        +            default:
        +                return `Entrada invàlida`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ca() {
        +    return {
        +        localeError: ca_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/cs.js
        +/* unused harmony import specifier */ var cs_util;
        +
        +const cs_error = () => {
        +    const Sizable = {
        +        string: { unit: "znaků", verb: "mít" },
        +        file: { unit: "bajtů", verb: "mít" },
        +        array: { unit: "prvků", verb: "mít" },
        +        set: { unit: "prvků", verb: "mít" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "regulární výraz",
        +        email: "e-mailová adresa",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "datum a čas ve formátu ISO",
        +        date: "datum ve formátu ISO",
        +        time: "čas ve formátu ISO",
        +        duration: "doba trvání ISO",
        +        ipv4: "IPv4 adresa",
        +        ipv6: "IPv6 adresa",
        +        cidrv4: "rozsah IPv4",
        +        cidrv6: "rozsah IPv6",
        +        base64: "řetězec zakódovaný ve formátu base64",
        +        base64url: "řetězec zakódovaný ve formátu base64url",
        +        json_string: "řetězec ve formátu JSON",
        +        e164: "číslo E.164",
        +        jwt: "JWT",
        +        template_literal: "vstup",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "číslo",
        +        string: "řetězec",
        +        function: "funkce",
        +        array: "pole",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = cs_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Neplatný vstup: očekáváno instanceof ${issue.expected}, obdrženo ${received}`;
        +                }
        +                return `Neplatný vstup: očekáváno ${expected}, obdrženo ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Neplatný vstup: očekáváno ${cs_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Neplatná možnost: očekávána jedna z hodnot ${cs_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Hodnota je příliš velká: ${issue.origin ?? "hodnota"} musí mít ${adj}${issue.maximum.toString()} ${sizing.unit ?? "prvků"}`;
        +                }
        +                return `Hodnota je příliš velká: ${issue.origin ?? "hodnota"} musí být ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Hodnota je příliš malá: ${issue.origin ?? "hodnota"} musí mít ${adj}${issue.minimum.toString()} ${sizing.unit ?? "prvků"}`;
        +                }
        +                return `Hodnota je příliš malá: ${issue.origin ?? "hodnota"} musí být ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Neplatný řetězec: musí začínat na "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Neplatný řetězec: musí končit na "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Neplatný řetězec: musí obsahovat "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Neplatný řetězec: musí odpovídat vzoru ${_issue.pattern}`;
        +                return `Neplatný formát ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Neplatné číslo: musí být násobkem ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Neznámé klíče: ${cs_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Neplatný klíč v ${issue.origin}`;
        +            case "invalid_union":
        +                return "Neplatný vstup";
        +            case "invalid_element":
        +                return `Neplatná hodnota v ${issue.origin}`;
        +            default:
        +                return `Neplatný vstup`;
        +        }
        +    };
        +};
        +/* harmony default export */ function cs() {
        +    return {
        +        localeError: cs_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/da.js
        +/* unused harmony import specifier */ var da_util;
        +
        +const da_error = () => {
        +    const Sizable = {
        +        string: { unit: "tegn", verb: "havde" },
        +        file: { unit: "bytes", verb: "havde" },
        +        array: { unit: "elementer", verb: "indeholdt" },
        +        set: { unit: "elementer", verb: "indeholdt" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "e-mailadresse",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO dato- og klokkeslæt",
        +        date: "ISO-dato",
        +        time: "ISO-klokkeslæt",
        +        duration: "ISO-varighed",
        +        ipv4: "IPv4-område",
        +        ipv6: "IPv6-område",
        +        cidrv4: "IPv4-spektrum",
        +        cidrv6: "IPv6-spektrum",
        +        base64: "base64-kodet streng",
        +        base64url: "base64url-kodet streng",
        +        json_string: "JSON-streng",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        string: "streng",
        +        number: "tal",
        +        boolean: "boolean",
        +        array: "liste",
        +        object: "objekt",
        +        set: "sæt",
        +        file: "fil",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = da_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ugyldigt input: forventede instanceof ${issue.expected}, fik ${received}`;
        +                }
        +                return `Ugyldigt input: forventede ${expected}, fik ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ugyldig værdi: forventede ${da_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ugyldigt valg: forventede en af følgende ${da_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing)
        +                    return `For stor: forventede ${origin ?? "value"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elementer"}`;
        +                return `For stor: forventede ${origin ?? "value"} havde ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing) {
        +                    return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ugyldig streng: skal starte med "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Ugyldig streng: skal ende med "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ugyldig streng: skal indeholde "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ugyldig streng: skal matche mønsteret ${_issue.pattern}`;
        +                return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ugyldigt tal: skal være deleligt med ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Ukendte nøgler" : "Ukendt nøgle"}: ${da_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ugyldig nøgle i ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ugyldigt input: matcher ingen af de tilladte typer";
        +            case "invalid_element":
        +                return `Ugyldig værdi i ${issue.origin}`;
        +            default:
        +                return `Ugyldigt input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function da() {
        +    return {
        +        localeError: da_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/de.js
        +/* unused harmony import specifier */ var de_util;
        +
        +const de_error = () => {
        +    const Sizable = {
        +        string: { unit: "Zeichen", verb: "zu haben" },
        +        file: { unit: "Bytes", verb: "zu haben" },
        +        array: { unit: "Elemente", verb: "zu haben" },
        +        set: { unit: "Elemente", verb: "zu haben" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "Eingabe",
        +        email: "E-Mail-Adresse",
        +        url: "URL",
        +        emoji: "Emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-Datum und -Uhrzeit",
        +        date: "ISO-Datum",
        +        time: "ISO-Uhrzeit",
        +        duration: "ISO-Dauer",
        +        ipv4: "IPv4-Adresse",
        +        ipv6: "IPv6-Adresse",
        +        cidrv4: "IPv4-Bereich",
        +        cidrv6: "IPv6-Bereich",
        +        base64: "Base64-codierter String",
        +        base64url: "Base64-URL-codierter String",
        +        json_string: "JSON-String",
        +        e164: "E.164-Nummer",
        +        jwt: "JWT",
        +        template_literal: "Eingabe",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "Zahl",
        +        array: "Array",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = de_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ungültige Eingabe: erwartet instanceof ${issue.expected}, erhalten ${received}`;
        +                }
        +                return `Ungültige Eingabe: erwartet ${expected}, erhalten ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ungültige Eingabe: erwartet ${de_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ungültige Option: erwartet eine von ${de_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`;
        +                return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ist`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;
        +                }
        +                return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ungültiger String: muss mit "${_issue.prefix}" beginnen`;
        +                if (_issue.format === "ends_with")
        +                    return `Ungültiger String: muss mit "${_issue.suffix}" enden`;
        +                if (_issue.format === "includes")
        +                    return `Ungültiger String: muss "${_issue.includes}" enthalten`;
        +                if (_issue.format === "regex")
        +                    return `Ungültiger String: muss dem Muster ${_issue.pattern} entsprechen`;
        +                return `Ungültig: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ungültige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Unbekannte Schlüssel" : "Unbekannter Schlüssel"}: ${de_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ungültiger Schlüssel in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ungültige Eingabe";
        +            case "invalid_element":
        +                return `Ungültiger Wert in ${issue.origin}`;
        +            default:
        +                return `Ungültige Eingabe`;
        +        }
        +    };
        +};
        +/* harmony default export */ function de() {
        +    return {
        +        localeError: de_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/en.js
        +
        +const en_error = () => {
        +    const Sizable = {
        +        string: { unit: "characters", verb: "to have" },
        +        file: { unit: "bytes", verb: "to have" },
        +        array: { unit: "items", verb: "to have" },
        +        set: { unit: "items", verb: "to have" },
        +        map: { unit: "entries", verb: "to have" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "email address",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datetime",
        +        date: "ISO date",
        +        time: "ISO time",
        +        duration: "ISO duration",
        +        ipv4: "IPv4 address",
        +        ipv6: "IPv6 address",
        +        mac: "MAC address",
        +        cidrv4: "IPv4 range",
        +        cidrv6: "IPv6 range",
        +        base64: "base64-encoded string",
        +        base64url: "base64url-encoded string",
        +        json_string: "JSON string",
        +        e164: "E.164 number",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    // type names: missing keys = do not translate (use raw value via ?? fallback)
        +    const TypeDictionary = {
        +        // Compatibility: "nan" -> "NaN" for display
        +        nan: "NaN",
        +        // All other type names omitted - they fall back to raw values via ?? operator
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                return `Invalid input: expected ${expected}, received ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Invalid input: expected ${stringifyPrimitive(issue.values[0])}`;
        +                return `Invalid option: expected one of ${joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Too big: expected ${issue.origin ?? "value"} to have ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
        +                return `Too big: expected ${issue.origin ?? "value"} to be ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Too small: expected ${issue.origin} to have ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Too small: expected ${issue.origin} to be ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Invalid string: must start with "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Invalid string: must end with "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Invalid string: must include "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Invalid string: must match pattern ${_issue.pattern}`;
        +                return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Invalid number: must be a multiple of ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Unrecognized key${issue.keys.length > 1 ? "s" : ""}: ${joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Invalid key in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Invalid input";
        +            case "invalid_element":
        +                return `Invalid value in ${issue.origin}`;
        +            default:
        +                return `Invalid input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function en() {
        +    return {
        +        localeError: en_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/eo.js
        +/* unused harmony import specifier */ var eo_util;
        +
        +const eo_error = () => {
        +    const Sizable = {
        +        string: { unit: "karaktrojn", verb: "havi" },
        +        file: { unit: "bajtojn", verb: "havi" },
        +        array: { unit: "elementojn", verb: "havi" },
        +        set: { unit: "elementojn", verb: "havi" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "enigo",
        +        email: "retadreso",
        +        url: "URL",
        +        emoji: "emoĝio",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-datotempo",
        +        date: "ISO-dato",
        +        time: "ISO-tempo",
        +        duration: "ISO-daŭro",
        +        ipv4: "IPv4-adreso",
        +        ipv6: "IPv6-adreso",
        +        cidrv4: "IPv4-rango",
        +        cidrv6: "IPv6-rango",
        +        base64: "64-ume kodita karaktraro",
        +        base64url: "URL-64-ume kodita karaktraro",
        +        json_string: "JSON-karaktraro",
        +        e164: "E.164-nombro",
        +        jwt: "JWT",
        +        template_literal: "enigo",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nombro",
        +        array: "tabelo",
        +        null: "senvalora",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = eo_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Nevalida enigo: atendiĝis instanceof ${issue.expected}, riceviĝis ${received}`;
        +                }
        +                return `Nevalida enigo: atendiĝis ${expected}, riceviĝis ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Nevalida enigo: atendiĝis ${eo_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Nevalida opcio: atendiĝis unu el ${eo_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementojn"}`;
        +                return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Tro malgranda: atendiĝis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Tro malgranda: atendiĝis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Nevalida karaktraro: devas komenciĝi per "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Nevalida karaktraro: devas finiĝi per "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;
        +                return `Nevalida ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Nekonata${issue.keys.length > 1 ? "j" : ""} ŝlosilo${issue.keys.length > 1 ? "j" : ""}: ${eo_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Nevalida ŝlosilo en ${issue.origin}`;
        +            case "invalid_union":
        +                return "Nevalida enigo";
        +            case "invalid_element":
        +                return `Nevalida valoro en ${issue.origin}`;
        +            default:
        +                return `Nevalida enigo`;
        +        }
        +    };
        +};
        +/* harmony default export */ function eo() {
        +    return {
        +        localeError: eo_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/es.js
        +/* unused harmony import specifier */ var es_util;
        +
        +const es_error = () => {
        +    const Sizable = {
        +        string: { unit: "caracteres", verb: "tener" },
        +        file: { unit: "bytes", verb: "tener" },
        +        array: { unit: "elementos", verb: "tener" },
        +        set: { unit: "elementos", verb: "tener" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrada",
        +        email: "dirección de correo electrónico",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "fecha y hora ISO",
        +        date: "fecha ISO",
        +        time: "hora ISO",
        +        duration: "duración ISO",
        +        ipv4: "dirección IPv4",
        +        ipv6: "dirección IPv6",
        +        cidrv4: "rango IPv4",
        +        cidrv6: "rango IPv6",
        +        base64: "cadena codificada en base64",
        +        base64url: "URL codificada en base64",
        +        json_string: "cadena JSON",
        +        e164: "número E.164",
        +        jwt: "JWT",
        +        template_literal: "entrada",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        string: "texto",
        +        number: "número",
        +        boolean: "booleano",
        +        array: "arreglo",
        +        object: "objeto",
        +        set: "conjunto",
        +        file: "archivo",
        +        date: "fecha",
        +        bigint: "número grande",
        +        symbol: "símbolo",
        +        undefined: "indefinido",
        +        null: "nulo",
        +        function: "función",
        +        map: "mapa",
        +        record: "registro",
        +        tuple: "tupla",
        +        enum: "enumeración",
        +        union: "unión",
        +        literal: "literal",
        +        promise: "promesa",
        +        void: "vacío",
        +        never: "nunca",
        +        unknown: "desconocido",
        +        any: "cualquiera",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = es_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Entrada inválida: se esperaba instanceof ${issue.expected}, recibido ${received}`;
        +                }
        +                return `Entrada inválida: se esperaba ${expected}, recibido ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrada inválida: se esperaba ${es_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opción inválida: se esperaba una de ${es_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing)
        +                    return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
        +                return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing) {
        +                    return `Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Cadena inválida: debe comenzar con "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Cadena inválida: debe terminar en "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Cadena inválida: debe incluir "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Cadena inválida: debe coincidir con el patrón ${_issue.pattern}`;
        +                return `Inválido ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Número inválido: debe ser múltiplo de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Llave${issue.keys.length > 1 ? "s" : ""} desconocida${issue.keys.length > 1 ? "s" : ""}: ${es_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Llave inválida en ${TypeDictionary[issue.origin] ?? issue.origin}`;
        +            case "invalid_union":
        +                return "Entrada inválida";
        +            case "invalid_element":
        +                return `Valor inválido en ${TypeDictionary[issue.origin] ?? issue.origin}`;
        +            default:
        +                return `Entrada inválida`;
        +        }
        +    };
        +};
        +/* harmony default export */ function es() {
        +    return {
        +        localeError: es_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/fa.js
        +/* unused harmony import specifier */ var fa_util;
        +
        +const fa_error = () => {
        +    const Sizable = {
        +        string: { unit: "کاراکتر", verb: "داشته باشد" },
        +        file: { unit: "بایت", verb: "داشته باشد" },
        +        array: { unit: "آیتم", verb: "داشته باشد" },
        +        set: { unit: "آیتم", verb: "داشته باشد" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ورودی",
        +        email: "آدرس ایمیل",
        +        url: "URL",
        +        emoji: "ایموجی",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "تاریخ و زمان ایزو",
        +        date: "تاریخ ایزو",
        +        time: "زمان ایزو",
        +        duration: "مدت زمان ایزو",
        +        ipv4: "IPv4 آدرس",
        +        ipv6: "IPv6 آدرس",
        +        cidrv4: "IPv4 دامنه",
        +        cidrv6: "IPv6 دامنه",
        +        base64: "base64-encoded رشته",
        +        base64url: "base64url-encoded رشته",
        +        json_string: "JSON رشته",
        +        e164: "E.164 عدد",
        +        jwt: "JWT",
        +        template_literal: "ورودی",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "عدد",
        +        array: "آرایه",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = fa_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ورودی نامعتبر: می‌بایست instanceof ${issue.expected} می‌بود، ${received} دریافت شد`;
        +                }
        +                return `ورودی نامعتبر: می‌بایست ${expected} می‌بود، ${received} دریافت شد`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1) {
        +                    return `ورودی نامعتبر: می‌بایست ${fa_util.stringifyPrimitive(issue.values[0])} می‌بود`;
        +                }
        +                return `گزینه نامعتبر: می‌بایست یکی از ${fa_util.joinValues(issue.values, "|")} می‌بود`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `خیلی بزرگ: ${issue.origin ?? "مقدار"} باید ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عنصر"} باشد`;
        +                }
        +                return `خیلی بزرگ: ${issue.origin ?? "مقدار"} باید ${adj}${issue.maximum.toString()} باشد`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `خیلی کوچک: ${issue.origin} باید ${adj}${issue.minimum.toString()} ${sizing.unit} باشد`;
        +                }
        +                return `خیلی کوچک: ${issue.origin} باید ${adj}${issue.minimum.toString()} باشد`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `رشته نامعتبر: باید با "${_issue.prefix}" شروع شود`;
        +                }
        +                if (_issue.format === "ends_with") {
        +                    return `رشته نامعتبر: باید با "${_issue.suffix}" تمام شود`;
        +                }
        +                if (_issue.format === "includes") {
        +                    return `رشته نامعتبر: باید شامل "${_issue.includes}" باشد`;
        +                }
        +                if (_issue.format === "regex") {
        +                    return `رشته نامعتبر: باید با الگوی ${_issue.pattern} مطابقت داشته باشد`;
        +                }
        +                return `${FormatDictionary[_issue.format] ?? issue.format} نامعتبر`;
        +            }
        +            case "not_multiple_of":
        +                return `عدد نامعتبر: باید مضرب ${issue.divisor} باشد`;
        +            case "unrecognized_keys":
        +                return `کلید${issue.keys.length > 1 ? "های" : ""} ناشناس: ${fa_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `کلید ناشناس در ${issue.origin}`;
        +            case "invalid_union":
        +                return `ورودی نامعتبر`;
        +            case "invalid_element":
        +                return `مقدار نامعتبر در ${issue.origin}`;
        +            default:
        +                return `ورودی نامعتبر`;
        +        }
        +    };
        +};
        +/* harmony default export */ function fa() {
        +    return {
        +        localeError: fa_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/fi.js
        +/* unused harmony import specifier */ var fi_util;
        +
        +const fi_error = () => {
        +    const Sizable = {
        +        string: { unit: "merkkiä", subject: "merkkijonon" },
        +        file: { unit: "tavua", subject: "tiedoston" },
        +        array: { unit: "alkiota", subject: "listan" },
        +        set: { unit: "alkiota", subject: "joukon" },
        +        number: { unit: "", subject: "luvun" },
        +        bigint: { unit: "", subject: "suuren kokonaisluvun" },
        +        int: { unit: "", subject: "kokonaisluvun" },
        +        date: { unit: "", subject: "päivämäärän" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "säännöllinen lauseke",
        +        email: "sähköpostiosoite",
        +        url: "URL-osoite",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-aikaleima",
        +        date: "ISO-päivämäärä",
        +        time: "ISO-aika",
        +        duration: "ISO-kesto",
        +        ipv4: "IPv4-osoite",
        +        ipv6: "IPv6-osoite",
        +        cidrv4: "IPv4-alue",
        +        cidrv6: "IPv6-alue",
        +        base64: "base64-koodattu merkkijono",
        +        base64url: "base64url-koodattu merkkijono",
        +        json_string: "JSON-merkkijono",
        +        e164: "E.164-luku",
        +        jwt: "JWT",
        +        template_literal: "templaattimerkkijono",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = fi_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Virheellinen tyyppi: odotettiin instanceof ${issue.expected}, oli ${received}`;
        +                }
        +                return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Virheellinen syöte: täytyy olla ${fi_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Virheellinen valinta: täytyy olla yksi seuraavista: ${fi_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Liian suuri: ${sizing.subject} täytyy olla ${adj}${issue.maximum.toString()} ${sizing.unit}`.trim();
        +                }
        +                return `Liian suuri: arvon täytyy olla ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Liian pieni: ${sizing.subject} täytyy olla ${adj}${issue.minimum.toString()} ${sizing.unit}`.trim();
        +                }
        +                return `Liian pieni: arvon täytyy olla ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Virheellinen syöte: täytyy alkaa "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Virheellinen syöte: täytyy loppua "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Virheellinen syöte: täytyy sisältää "${_issue.includes}"`;
        +                if (_issue.format === "regex") {
        +                    return `Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${_issue.pattern}`;
        +                }
        +                return `Virheellinen ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Virheellinen luku: täytyy olla luvun ${issue.divisor} monikerta`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Tuntemattomat avaimet" : "Tuntematon avain"}: ${fi_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return "Virheellinen avain tietueessa";
        +            case "invalid_union":
        +                return "Virheellinen unioni";
        +            case "invalid_element":
        +                return "Virheellinen arvo joukossa";
        +            default:
        +                return `Virheellinen syöte`;
        +        }
        +    };
        +};
        +/* harmony default export */ function fi() {
        +    return {
        +        localeError: fi_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/fr.js
        +/* unused harmony import specifier */ var fr_util;
        +
        +const fr_error = () => {
        +    const Sizable = {
        +        string: { unit: "caractères", verb: "avoir" },
        +        file: { unit: "octets", verb: "avoir" },
        +        array: { unit: "éléments", verb: "avoir" },
        +        set: { unit: "éléments", verb: "avoir" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrée",
        +        email: "adresse e-mail",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "date et heure ISO",
        +        date: "date ISO",
        +        time: "heure ISO",
        +        duration: "durée ISO",
        +        ipv4: "adresse IPv4",
        +        ipv6: "adresse IPv6",
        +        cidrv4: "plage IPv4",
        +        cidrv6: "plage IPv6",
        +        base64: "chaîne encodée en base64",
        +        base64url: "chaîne encodée en base64url",
        +        json_string: "chaîne JSON",
        +        e164: "numéro E.164",
        +        jwt: "JWT",
        +        template_literal: "entrée",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nombre",
        +        array: "tableau",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = fr_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Entrée invalide : instanceof ${issue.expected} attendu, ${received} reçu`;
        +                }
        +                return `Entrée invalide : ${expected} attendu, ${received} reçu`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrée invalide : ${fr_util.stringifyPrimitive(issue.values[0])} attendu`;
        +                return `Option invalide : une valeur parmi ${fr_util.joinValues(issue.values, "|")} attendue`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Trop grand : ${issue.origin ?? "valeur"} doit ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "élément(s)"}`;
        +                return `Trop grand : ${issue.origin ?? "valeur"} doit être ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Trop petit : ${issue.origin} doit ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Trop petit : ${issue.origin} doit être ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Chaîne invalide : doit commencer par "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Chaîne invalide : doit se terminer par "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Chaîne invalide : doit inclure "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Chaîne invalide : doit correspondre au modèle ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;
        +            }
        +            case "not_multiple_of":
        +                return `Nombre invalide : doit être un multiple de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Clé${issue.keys.length > 1 ? "s" : ""} non reconnue${issue.keys.length > 1 ? "s" : ""} : ${fr_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Clé invalide dans ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrée invalide";
        +            case "invalid_element":
        +                return `Valeur invalide dans ${issue.origin}`;
        +            default:
        +                return `Entrée invalide`;
        +        }
        +    };
        +};
        +/* harmony default export */ function fr() {
        +    return {
        +        localeError: fr_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/fr-CA.js
        +/* unused harmony import specifier */ var fr_CA_util;
        +
        +const fr_CA_error = () => {
        +    const Sizable = {
        +        string: { unit: "caractères", verb: "avoir" },
        +        file: { unit: "octets", verb: "avoir" },
        +        array: { unit: "éléments", verb: "avoir" },
        +        set: { unit: "éléments", verb: "avoir" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrée",
        +        email: "adresse courriel",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "date-heure ISO",
        +        date: "date ISO",
        +        time: "heure ISO",
        +        duration: "durée ISO",
        +        ipv4: "adresse IPv4",
        +        ipv6: "adresse IPv6",
        +        cidrv4: "plage IPv4",
        +        cidrv6: "plage IPv6",
        +        base64: "chaîne encodée en base64",
        +        base64url: "chaîne encodée en base64url",
        +        json_string: "chaîne JSON",
        +        e164: "numéro E.164",
        +        jwt: "JWT",
        +        template_literal: "entrée",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = fr_CA_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Entrée invalide : attendu instanceof ${issue.expected}, reçu ${received}`;
        +                }
        +                return `Entrée invalide : attendu ${expected}, reçu ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrée invalide : attendu ${fr_CA_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Option invalide : attendu l'une des valeurs suivantes ${fr_CA_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "≤" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Trop grand : attendu que ${issue.origin ?? "la valeur"} ait ${adj}${issue.maximum.toString()} ${sizing.unit}`;
        +                return `Trop grand : attendu que ${issue.origin ?? "la valeur"} soit ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "≥" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Trop petit : attendu que ${issue.origin} ait ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Trop petit : attendu que ${issue.origin} soit ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Chaîne invalide : doit commencer par "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Chaîne invalide : doit se terminer par "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Chaîne invalide : doit inclure "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Chaîne invalide : doit correspondre au motif ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;
        +            }
        +            case "not_multiple_of":
        +                return `Nombre invalide : doit être un multiple de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Clé${issue.keys.length > 1 ? "s" : ""} non reconnue${issue.keys.length > 1 ? "s" : ""} : ${fr_CA_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Clé invalide dans ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrée invalide";
        +            case "invalid_element":
        +                return `Valeur invalide dans ${issue.origin}`;
        +            default:
        +                return `Entrée invalide`;
        +        }
        +    };
        +};
        +/* harmony default export */ function fr_CA() {
        +    return {
        +        localeError: fr_CA_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/he.js
        +/* unused harmony import specifier */ var he_util;
        +
        +const he_error = () => {
        +    // Hebrew labels + grammatical gender
        +    const TypeNames = {
        +        string: { label: "מחרוזת", gender: "f" },
        +        number: { label: "מספר", gender: "m" },
        +        boolean: { label: "ערך בוליאני", gender: "m" },
        +        bigint: { label: "BigInt", gender: "m" },
        +        date: { label: "תאריך", gender: "m" },
        +        array: { label: "מערך", gender: "m" },
        +        object: { label: "אובייקט", gender: "m" },
        +        null: { label: "ערך ריק (null)", gender: "m" },
        +        undefined: { label: "ערך לא מוגדר (undefined)", gender: "m" },
        +        symbol: { label: "סימבול (Symbol)", gender: "m" },
        +        function: { label: "פונקציה", gender: "f" },
        +        map: { label: "מפה (Map)", gender: "f" },
        +        set: { label: "קבוצה (Set)", gender: "f" },
        +        file: { label: "קובץ", gender: "m" },
        +        promise: { label: "Promise", gender: "m" },
        +        NaN: { label: "NaN", gender: "m" },
        +        unknown: { label: "ערך לא ידוע", gender: "m" },
        +        value: { label: "ערך", gender: "m" },
        +    };
        +    // Sizing units for size-related messages + localized origin labels
        +    const Sizable = {
        +        string: { unit: "תווים", shortLabel: "קצר", longLabel: "ארוך" },
        +        file: { unit: "בייטים", shortLabel: "קטן", longLabel: "גדול" },
        +        array: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
        +        set: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
        +        number: { unit: "", shortLabel: "קטן", longLabel: "גדול" }, // no unit
        +    };
        +    // Helpers — labels, articles, and verbs
        +    const typeEntry = (t) => (t ? TypeNames[t] : undefined);
        +    const typeLabel = (t) => {
        +        const e = typeEntry(t);
        +        if (e)
        +            return e.label;
        +        // fallback: show raw string if unknown
        +        return t ?? TypeNames.unknown.label;
        +    };
        +    const withDefinite = (t) => `ה${typeLabel(t)}`;
        +    const verbFor = (t) => {
        +        const e = typeEntry(t);
        +        const gender = e?.gender ?? "m";
        +        return gender === "f" ? "צריכה להיות" : "צריך להיות";
        +    };
        +    const getSizing = (origin) => {
        +        if (!origin)
        +            return null;
        +        return Sizable[origin] ?? null;
        +    };
        +    const FormatDictionary = {
        +        regex: { label: "קלט", gender: "m" },
        +        email: { label: "כתובת אימייל", gender: "f" },
        +        url: { label: "כתובת רשת", gender: "f" },
        +        emoji: { label: "אימוג'י", gender: "m" },
        +        uuid: { label: "UUID", gender: "m" },
        +        nanoid: { label: "nanoid", gender: "m" },
        +        guid: { label: "GUID", gender: "m" },
        +        cuid: { label: "cuid", gender: "m" },
        +        cuid2: { label: "cuid2", gender: "m" },
        +        ulid: { label: "ULID", gender: "m" },
        +        xid: { label: "XID", gender: "m" },
        +        ksuid: { label: "KSUID", gender: "m" },
        +        datetime: { label: "תאריך וזמן ISO", gender: "m" },
        +        date: { label: "תאריך ISO", gender: "m" },
        +        time: { label: "זמן ISO", gender: "m" },
        +        duration: { label: "משך זמן ISO", gender: "m" },
        +        ipv4: { label: "כתובת IPv4", gender: "f" },
        +        ipv6: { label: "כתובת IPv6", gender: "f" },
        +        cidrv4: { label: "טווח IPv4", gender: "m" },
        +        cidrv6: { label: "טווח IPv6", gender: "m" },
        +        base64: { label: "מחרוזת בבסיס 64", gender: "f" },
        +        base64url: { label: "מחרוזת בבסיס 64 לכתובות רשת", gender: "f" },
        +        json_string: { label: "מחרוזת JSON", gender: "f" },
        +        e164: { label: "מספר E.164", gender: "m" },
        +        jwt: { label: "JWT", gender: "m" },
        +        ends_with: { label: "קלט", gender: "m" },
        +        includes: { label: "קלט", gender: "m" },
        +        lowercase: { label: "קלט", gender: "m" },
        +        starts_with: { label: "קלט", gender: "m" },
        +        uppercase: { label: "קלט", gender: "m" },
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                // Expected type: show without definite article for clearer Hebrew
        +                const expectedKey = issue.expected;
        +                const expected = TypeDictionary[expectedKey ?? ""] ?? typeLabel(expectedKey);
        +                // Received: show localized label if known, otherwise constructor/raw
        +                const receivedType = he_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `קלט לא תקין: צריך להיות instanceof ${issue.expected}, התקבל ${received}`;
        +                }
        +                return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;
        +            }
        +            case "invalid_value": {
        +                if (issue.values.length === 1) {
        +                    return `ערך לא תקין: הערך חייב להיות ${he_util.stringifyPrimitive(issue.values[0])}`;
        +                }
        +                // Join values with proper Hebrew formatting
        +                const stringified = issue.values.map((v) => he_util.stringifyPrimitive(v));
        +                if (issue.values.length === 2) {
        +                    return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;
        +                }
        +                // For 3+ values: "a", "b" או "c"
        +                const lastValue = stringified[stringified.length - 1];
        +                const restValues = stringified.slice(0, -1).join(", ");
        +                return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;
        +            }
        +            case "too_big": {
        +                const sizing = getSizing(issue.origin);
        +                const subject = withDefinite(issue.origin ?? "value");
        +                if (issue.origin === "string") {
        +                    // Special handling for strings - more natural Hebrew
        +                    return `${sizing?.longLabel ?? "ארוך"} מדי: ${subject} צריכה להכיל ${issue.maximum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או פחות" : "לכל היותר"}`.trim();
        +                }
        +                if (issue.origin === "number") {
        +                    // Natural Hebrew for numbers
        +                    const comparison = issue.inclusive ? `קטן או שווה ל-${issue.maximum}` : `קטן מ-${issue.maximum}`;
        +                    return `גדול מדי: ${subject} צריך להיות ${comparison}`;
        +                }
        +                if (issue.origin === "array" || issue.origin === "set") {
        +                    // Natural Hebrew for arrays and sets
        +                    const verb = issue.origin === "set" ? "צריכה" : "צריך";
        +                    const comparison = issue.inclusive
        +                        ? `${issue.maximum} ${sizing?.unit ?? ""} או פחות`
        +                        : `פחות מ-${issue.maximum} ${sizing?.unit ?? ""}`;
        +                    return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
        +                }
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const be = verbFor(issue.origin ?? "value");
        +                if (sizing?.unit) {
        +                    return `${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
        +                }
        +                return `${sizing?.longLabel ?? "גדול"} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const sizing = getSizing(issue.origin);
        +                const subject = withDefinite(issue.origin ?? "value");
        +                if (issue.origin === "string") {
        +                    // Special handling for strings - more natural Hebrew
        +                    return `${sizing?.shortLabel ?? "קצר"} מדי: ${subject} צריכה להכיל ${issue.minimum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או יותר" : "לפחות"}`.trim();
        +                }
        +                if (issue.origin === "number") {
        +                    // Natural Hebrew for numbers
        +                    const comparison = issue.inclusive ? `גדול או שווה ל-${issue.minimum}` : `גדול מ-${issue.minimum}`;
        +                    return `קטן מדי: ${subject} צריך להיות ${comparison}`;
        +                }
        +                if (issue.origin === "array" || issue.origin === "set") {
        +                    // Natural Hebrew for arrays and sets
        +                    const verb = issue.origin === "set" ? "צריכה" : "צריך";
        +                    // Special case for singular (minimum === 1)
        +                    if (issue.minimum === 1 && issue.inclusive) {
        +                        const singularPhrase = issue.origin === "set" ? "לפחות פריט אחד" : "לפחות פריט אחד";
        +                        return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;
        +                    }
        +                    const comparison = issue.inclusive
        +                        ? `${issue.minimum} ${sizing?.unit ?? ""} או יותר`
        +                        : `יותר מ-${issue.minimum} ${sizing?.unit ?? ""}`;
        +                    return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
        +                }
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const be = verbFor(issue.origin ?? "value");
        +                if (sizing?.unit) {
        +                    return `${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `${sizing?.shortLabel ?? "קטן"} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                // These apply to strings — use feminine grammar + ה׳ הידיעה
        +                if (_issue.format === "starts_with")
        +                    return `המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `המחרוזת חייבת לכלול "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;
        +                // Handle gender agreement for formats
        +                const nounEntry = FormatDictionary[_issue.format];
        +                const noun = nounEntry?.label ?? _issue.format;
        +                const gender = nounEntry?.gender ?? "m";
        +                const adjective = gender === "f" ? "תקינה" : "תקין";
        +                return `${noun} לא ${adjective}`;
        +            }
        +            case "not_multiple_of":
        +                return `מספר לא תקין: חייב להיות מכפלה של ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `מפתח${issue.keys.length > 1 ? "ות" : ""} לא מזוה${issue.keys.length > 1 ? "ים" : "ה"}: ${he_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key": {
        +                return `שדה לא תקין באובייקט`;
        +            }
        +            case "invalid_union":
        +                return "קלט לא תקין";
        +            case "invalid_element": {
        +                const place = withDefinite(issue.origin ?? "array");
        +                return `ערך לא תקין ב${place}`;
        +            }
        +            default:
        +                return `קלט לא תקין`;
        +        }
        +    };
        +};
        +/* harmony default export */ function he() {
        +    return {
        +        localeError: he_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/hu.js
        +/* unused harmony import specifier */ var hu_util;
        +
        +const hu_error = () => {
        +    const Sizable = {
        +        string: { unit: "karakter", verb: "legyen" },
        +        file: { unit: "byte", verb: "legyen" },
        +        array: { unit: "elem", verb: "legyen" },
        +        set: { unit: "elem", verb: "legyen" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "bemenet",
        +        email: "email cím",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO időbélyeg",
        +        date: "ISO dátum",
        +        time: "ISO idő",
        +        duration: "ISO időintervallum",
        +        ipv4: "IPv4 cím",
        +        ipv6: "IPv6 cím",
        +        cidrv4: "IPv4 tartomány",
        +        cidrv6: "IPv6 tartomány",
        +        base64: "base64-kódolt string",
        +        base64url: "base64url-kódolt string",
        +        json_string: "JSON string",
        +        e164: "E.164 szám",
        +        jwt: "JWT",
        +        template_literal: "bemenet",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "szám",
        +        array: "tömb",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = hu_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Érvénytelen bemenet: a várt érték instanceof ${issue.expected}, a kapott érték ${received}`;
        +                }
        +                return `Érvénytelen bemenet: a várt érték ${expected}, a kapott érték ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Érvénytelen bemenet: a várt érték ${hu_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Érvénytelen opció: valamelyik érték várt ${hu_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Túl nagy: ${issue.origin ?? "érték"} mérete túl nagy ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elem"}`;
        +                return `Túl nagy: a bemeneti érték ${issue.origin ?? "érték"} túl nagy: ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Túl kicsi: a bemeneti érték ${issue.origin} mérete túl kicsi ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Túl kicsi: a bemeneti érték ${issue.origin} túl kicsi ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Érvénytelen string: "${_issue.prefix}" értékkel kell kezdődnie`;
        +                if (_issue.format === "ends_with")
        +                    return `Érvénytelen string: "${_issue.suffix}" értékkel kell végződnie`;
        +                if (_issue.format === "includes")
        +                    return `Érvénytelen string: "${_issue.includes}" értéket kell tartalmaznia`;
        +                if (_issue.format === "regex")
        +                    return `Érvénytelen string: ${_issue.pattern} mintának kell megfelelnie`;
        +                return `Érvénytelen ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Érvénytelen szám: ${issue.divisor} többszörösének kell lennie`;
        +            case "unrecognized_keys":
        +                return `Ismeretlen kulcs${issue.keys.length > 1 ? "s" : ""}: ${hu_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Érvénytelen kulcs ${issue.origin}`;
        +            case "invalid_union":
        +                return "Érvénytelen bemenet";
        +            case "invalid_element":
        +                return `Érvénytelen érték: ${issue.origin}`;
        +            default:
        +                return `Érvénytelen bemenet`;
        +        }
        +    };
        +};
        +/* harmony default export */ function hu() {
        +    return {
        +        localeError: hu_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/hy.js
        +/* unused harmony import specifier */ var hy_util;
        +
        +function getArmenianPlural(count, one, many) {
        +    return Math.abs(count) === 1 ? one : many;
        +}
        +function withDefiniteArticle(word) {
        +    if (!word)
        +        return "";
        +    const vowels = ["ա", "ե", "ը", "ի", "ո", "ու", "օ"];
        +    const lastChar = word[word.length - 1];
        +    return word + (vowels.includes(lastChar) ? "ն" : "ը");
        +}
        +const hy_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "նշան",
        +                many: "նշաններ",
        +            },
        +            verb: "ունենալ",
        +        },
        +        file: {
        +            unit: {
        +                one: "բայթ",
        +                many: "բայթեր",
        +            },
        +            verb: "ունենալ",
        +        },
        +        array: {
        +            unit: {
        +                one: "տարր",
        +                many: "տարրեր",
        +            },
        +            verb: "ունենալ",
        +        },
        +        set: {
        +            unit: {
        +                one: "տարր",
        +                many: "տարրեր",
        +            },
        +            verb: "ունենալ",
        +        },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "մուտք",
        +        email: "էլ. հասցե",
        +        url: "URL",
        +        emoji: "էմոջի",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO ամսաթիվ և ժամ",
        +        date: "ISO ամսաթիվ",
        +        time: "ISO ժամ",
        +        duration: "ISO տևողություն",
        +        ipv4: "IPv4 հասցե",
        +        ipv6: "IPv6 հասցե",
        +        cidrv4: "IPv4 միջակայք",
        +        cidrv6: "IPv6 միջակայք",
        +        base64: "base64 ձևաչափով տող",
        +        base64url: "base64url ձևաչափով տող",
        +        json_string: "JSON տող",
        +        e164: "E.164 համար",
        +        jwt: "JWT",
        +        template_literal: "մուտք",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "թիվ",
        +        array: "զանգված",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = hy_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Սխալ մուտքագրում․ սպասվում էր instanceof ${issue.expected}, ստացվել է ${received}`;
        +                }
        +                return `Սխալ մուտքագրում․ սպասվում էր ${expected}, ստացվել է ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Սխալ մուտքագրում․ սպասվում էր ${hy_util.stringifyPrimitive(issue.values[1])}`;
        +                return `Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${hy_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const maxValue = Number(issue.maximum);
        +                    const unit = getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many);
        +                    return `Չափազանց մեծ արժեք․ սպասվում է, որ ${withDefiniteArticle(issue.origin ?? "արժեք")} կունենա ${adj}${issue.maximum.toString()} ${unit}`;
        +                }
        +                return `Չափազանց մեծ արժեք․ սպասվում է, որ ${withDefiniteArticle(issue.origin ?? "արժեք")} լինի ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const minValue = Number(issue.minimum);
        +                    const unit = getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many);
        +                    return `Չափազանց փոքր արժեք․ սպասվում է, որ ${withDefiniteArticle(issue.origin)} կունենա ${adj}${issue.minimum.toString()} ${unit}`;
        +                }
        +                return `Չափազանց փոքր արժեք․ սպասվում է, որ ${withDefiniteArticle(issue.origin)} լինի ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Սխալ տող․ պետք է սկսվի "${_issue.prefix}"-ով`;
        +                if (_issue.format === "ends_with")
        +                    return `Սխալ տող․ պետք է ավարտվի "${_issue.suffix}"-ով`;
        +                if (_issue.format === "includes")
        +                    return `Սխալ տող․ պետք է պարունակի "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Սխալ տող․ պետք է համապատասխանի ${_issue.pattern} ձևաչափին`;
        +                return `Սխալ ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Սխալ թիվ․ պետք է բազմապատիկ լինի ${issue.divisor}-ի`;
        +            case "unrecognized_keys":
        +                return `Չճանաչված բանալի${issue.keys.length > 1 ? "ներ" : ""}. ${hy_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Սխալ բանալի ${withDefiniteArticle(issue.origin)}-ում`;
        +            case "invalid_union":
        +                return "Սխալ մուտքագրում";
        +            case "invalid_element":
        +                return `Սխալ արժեք ${withDefiniteArticle(issue.origin)}-ում`;
        +            default:
        +                return `Սխալ մուտքագրում`;
        +        }
        +    };
        +};
        +/* harmony default export */ function hy() {
        +    return {
        +        localeError: hy_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/id.js
        +/* unused harmony import specifier */ var id_util;
        +
        +const id_error = () => {
        +    const Sizable = {
        +        string: { unit: "karakter", verb: "memiliki" },
        +        file: { unit: "byte", verb: "memiliki" },
        +        array: { unit: "item", verb: "memiliki" },
        +        set: { unit: "item", verb: "memiliki" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "alamat email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "tanggal dan waktu format ISO",
        +        date: "tanggal format ISO",
        +        time: "jam format ISO",
        +        duration: "durasi format ISO",
        +        ipv4: "alamat IPv4",
        +        ipv6: "alamat IPv6",
        +        cidrv4: "rentang alamat IPv4",
        +        cidrv6: "rentang alamat IPv6",
        +        base64: "string dengan enkode base64",
        +        base64url: "string dengan enkode base64url",
        +        json_string: "string JSON",
        +        e164: "angka E.164",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = id_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Input tidak valid: diharapkan instanceof ${issue.expected}, diterima ${received}`;
        +                }
        +                return `Input tidak valid: diharapkan ${expected}, diterima ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Input tidak valid: diharapkan ${id_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Pilihan tidak valid: diharapkan salah satu dari ${id_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Terlalu besar: diharapkan ${issue.origin ?? "value"} memiliki ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elemen"}`;
        +                return `Terlalu besar: diharapkan ${issue.origin ?? "value"} menjadi ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Terlalu kecil: diharapkan ${issue.origin} memiliki ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Terlalu kecil: diharapkan ${issue.origin} menjadi ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `String tidak valid: harus dimulai dengan "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `String tidak valid: harus berakhir dengan "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `String tidak valid: harus menyertakan "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `String tidak valid: harus sesuai pola ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} tidak valid`;
        +            }
        +            case "not_multiple_of":
        +                return `Angka tidak valid: harus kelipatan dari ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Kunci tidak dikenali ${issue.keys.length > 1 ? "s" : ""}: ${id_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Kunci tidak valid di ${issue.origin}`;
        +            case "invalid_union":
        +                return "Input tidak valid";
        +            case "invalid_element":
        +                return `Nilai tidak valid di ${issue.origin}`;
        +            default:
        +                return `Input tidak valid`;
        +        }
        +    };
        +};
        +/* harmony default export */ function id() {
        +    return {
        +        localeError: id_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/is.js
        +/* unused harmony import specifier */ var is_util;
        +
        +const is_error = () => {
        +    const Sizable = {
        +        string: { unit: "stafi", verb: "að hafa" },
        +        file: { unit: "bæti", verb: "að hafa" },
        +        array: { unit: "hluti", verb: "að hafa" },
        +        set: { unit: "hluti", verb: "að hafa" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "gildi",
        +        email: "netfang",
        +        url: "vefslóð",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO dagsetning og tími",
        +        date: "ISO dagsetning",
        +        time: "ISO tími",
        +        duration: "ISO tímalengd",
        +        ipv4: "IPv4 address",
        +        ipv6: "IPv6 address",
        +        cidrv4: "IPv4 range",
        +        cidrv6: "IPv6 range",
        +        base64: "base64-encoded strengur",
        +        base64url: "base64url-encoded strengur",
        +        json_string: "JSON strengur",
        +        e164: "E.164 tölugildi",
        +        jwt: "JWT",
        +        template_literal: "gildi",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "númer",
        +        array: "fylki",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = is_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Rangt gildi: Þú slóst inn ${received} þar sem á að vera instanceof ${issue.expected}`;
        +                }
        +                return `Rangt gildi: Þú slóst inn ${received} þar sem á að vera ${expected}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Rangt gildi: gert ráð fyrir ${is_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ógilt val: má vera eitt af eftirfarandi ${is_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Of stórt: gert er ráð fyrir að ${issue.origin ?? "gildi"} hafi ${adj}${issue.maximum.toString()} ${sizing.unit ?? "hluti"}`;
        +                return `Of stórt: gert er ráð fyrir að ${issue.origin ?? "gildi"} sé ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Of lítið: gert er ráð fyrir að ${issue.origin} hafi ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Of lítið: gert er ráð fyrir að ${issue.origin} sé ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Ógildur strengur: verður að byrja á "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Ógildur strengur: verður að enda á "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ógildur strengur: verður að innihalda "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ógildur strengur: verður að fylgja mynstri ${_issue.pattern}`;
        +                return `Rangt ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Röng tala: verður að vera margfeldi af ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Óþekkt ${issue.keys.length > 1 ? "ir lyklar" : "ur lykill"}: ${is_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Rangur lykill í ${issue.origin}`;
        +            case "invalid_union":
        +                return "Rangt gildi";
        +            case "invalid_element":
        +                return `Rangt gildi í ${issue.origin}`;
        +            default:
        +                return `Rangt gildi`;
        +        }
        +    };
        +};
        +/* harmony default export */ function is() {
        +    return {
        +        localeError: is_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/it.js
        +/* unused harmony import specifier */ var it_util;
        +
        +const it_error = () => {
        +    const Sizable = {
        +        string: { unit: "caratteri", verb: "avere" },
        +        file: { unit: "byte", verb: "avere" },
        +        array: { unit: "elementi", verb: "avere" },
        +        set: { unit: "elementi", verb: "avere" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "indirizzo email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data e ora ISO",
        +        date: "data ISO",
        +        time: "ora ISO",
        +        duration: "durata ISO",
        +        ipv4: "indirizzo IPv4",
        +        ipv6: "indirizzo IPv6",
        +        cidrv4: "intervallo IPv4",
        +        cidrv6: "intervallo IPv6",
        +        base64: "stringa codificata in base64",
        +        base64url: "URL codificata in base64",
        +        json_string: "stringa JSON",
        +        e164: "numero E.164",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "numero",
        +        array: "vettore",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = it_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Input non valido: atteso instanceof ${issue.expected}, ricevuto ${received}`;
        +                }
        +                return `Input non valido: atteso ${expected}, ricevuto ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Input non valido: atteso ${it_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opzione non valida: atteso uno tra ${it_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Troppo grande: ${issue.origin ?? "valore"} deve avere ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementi"}`;
        +                return `Troppo grande: ${issue.origin ?? "valore"} deve essere ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Troppo piccolo: ${issue.origin} deve avere ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Troppo piccolo: ${issue.origin} deve essere ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Stringa non valida: deve iniziare con "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Stringa non valida: deve terminare con "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Stringa non valida: deve includere "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;
        +                return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Numero non valido: deve essere un multiplo di ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Chiav${issue.keys.length > 1 ? "i" : "e"} non riconosciut${issue.keys.length > 1 ? "e" : "a"}: ${it_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Chiave non valida in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Input non valido";
        +            case "invalid_element":
        +                return `Valore non valido in ${issue.origin}`;
        +            default:
        +                return `Input non valido`;
        +        }
        +    };
        +};
        +/* harmony default export */ function it() {
        +    return {
        +        localeError: it_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ja.js
        +/* unused harmony import specifier */ var ja_util;
        +
        +const ja_error = () => {
        +    const Sizable = {
        +        string: { unit: "文字", verb: "である" },
        +        file: { unit: "バイト", verb: "である" },
        +        array: { unit: "要素", verb: "である" },
        +        set: { unit: "要素", verb: "である" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "入力値",
        +        email: "メールアドレス",
        +        url: "URL",
        +        emoji: "絵文字",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO日時",
        +        date: "ISO日付",
        +        time: "ISO時刻",
        +        duration: "ISO期間",
        +        ipv4: "IPv4アドレス",
        +        ipv6: "IPv6アドレス",
        +        cidrv4: "IPv4範囲",
        +        cidrv6: "IPv6範囲",
        +        base64: "base64エンコード文字列",
        +        base64url: "base64urlエンコード文字列",
        +        json_string: "JSON文字列",
        +        e164: "E.164番号",
        +        jwt: "JWT",
        +        template_literal: "入力値",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "数値",
        +        array: "配列",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ja_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `無効な入力: instanceof ${issue.expected}が期待されましたが、${received}が入力されました`;
        +                }
        +                return `無効な入力: ${expected}が期待されましたが、${received}が入力されました`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `無効な入力: ${ja_util.stringifyPrimitive(issue.values[0])}が期待されました`;
        +                return `無効な選択: ${ja_util.joinValues(issue.values, "、")}のいずれかである必要があります`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "以下である" : "より小さい";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${sizing.unit ?? "要素"}${adj}必要があります`;
        +                return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${adj}必要があります`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "以上である" : "より大きい";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${sizing.unit}${adj}必要があります`;
        +                return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${adj}必要があります`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `無効な文字列: "${_issue.prefix}"で始まる必要があります`;
        +                if (_issue.format === "ends_with")
        +                    return `無効な文字列: "${_issue.suffix}"で終わる必要があります`;
        +                if (_issue.format === "includes")
        +                    return `無効な文字列: "${_issue.includes}"を含む必要があります`;
        +                if (_issue.format === "regex")
        +                    return `無効な文字列: パターン${_issue.pattern}に一致する必要があります`;
        +                return `無効な${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `無効な数値: ${issue.divisor}の倍数である必要があります`;
        +            case "unrecognized_keys":
        +                return `認識されていないキー${issue.keys.length > 1 ? "群" : ""}: ${ja_util.joinValues(issue.keys, "、")}`;
        +            case "invalid_key":
        +                return `${issue.origin}内の無効なキー`;
        +            case "invalid_union":
        +                return "無効な入力";
        +            case "invalid_element":
        +                return `${issue.origin}内の無効な値`;
        +            default:
        +                return `無効な入力`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ja() {
        +    return {
        +        localeError: ja_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ka.js
        +/* unused harmony import specifier */ var ka_util;
        +
        +const ka_error = () => {
        +    const Sizable = {
        +        string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
        +        file: { unit: "ბაიტი", verb: "უნდა შეიცავდეს" },
        +        array: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
        +        set: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "შეყვანა",
        +        email: "ელ-ფოსტის მისამართი",
        +        url: "URL",
        +        emoji: "ემოჯი",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "თარიღი-დრო",
        +        date: "თარიღი",
        +        time: "დრო",
        +        duration: "ხანგრძლივობა",
        +        ipv4: "IPv4 მისამართი",
        +        ipv6: "IPv6 მისამართი",
        +        cidrv4: "IPv4 დიაპაზონი",
        +        cidrv6: "IPv6 დიაპაზონი",
        +        base64: "base64-კოდირებული სტრინგი",
        +        base64url: "base64url-კოდირებული სტრინგი",
        +        json_string: "JSON სტრინგი",
        +        e164: "E.164 ნომერი",
        +        jwt: "JWT",
        +        template_literal: "შეყვანა",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "რიცხვი",
        +        string: "სტრინგი",
        +        boolean: "ბულეანი",
        +        function: "ფუნქცია",
        +        array: "მასივი",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ka_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `არასწორი შეყვანა: მოსალოდნელი instanceof ${issue.expected}, მიღებული ${received}`;
        +                }
        +                return `არასწორი შეყვანა: მოსალოდნელი ${expected}, მიღებული ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `არასწორი შეყვანა: მოსალოდნელი ${ka_util.stringifyPrimitive(issue.values[0])}`;
        +                return `არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${ka_util.joinValues(issue.values, "|")}-დან`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
        +                return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} იყოს ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} იყოს ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `არასწორი სტრინგი: უნდა იწყებოდეს "${_issue.prefix}"-ით`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `არასწორი სტრინგი: უნდა მთავრდებოდეს "${_issue.suffix}"-ით`;
        +                if (_issue.format === "includes")
        +                    return `არასწორი სტრინგი: უნდა შეიცავდეს "${_issue.includes}"-ს`;
        +                if (_issue.format === "regex")
        +                    return `არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;
        +                return `არასწორი ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `არასწორი რიცხვი: უნდა იყოს ${issue.divisor}-ის ჯერადი`;
        +            case "unrecognized_keys":
        +                return `უცნობი გასაღებ${issue.keys.length > 1 ? "ები" : "ი"}: ${ka_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `არასწორი გასაღები ${issue.origin}-ში`;
        +            case "invalid_union":
        +                return "არასწორი შეყვანა";
        +            case "invalid_element":
        +                return `არასწორი მნიშვნელობა ${issue.origin}-ში`;
        +            default:
        +                return `არასწორი შეყვანა`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ka() {
        +    return {
        +        localeError: ka_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/km.js
        +/* unused harmony import specifier */ var km_util;
        +
        +const km_error = () => {
        +    const Sizable = {
        +        string: { unit: "តួអក្សរ", verb: "គួរមាន" },
        +        file: { unit: "បៃ", verb: "គួរមាន" },
        +        array: { unit: "ធាតុ", verb: "គួរមាន" },
        +        set: { unit: "ធាតុ", verb: "គួរមាន" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ទិន្នន័យបញ្ចូល",
        +        email: "អាសយដ្ឋានអ៊ីមែល",
        +        url: "URL",
        +        emoji: "សញ្ញាអារម្មណ៍",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
        +        date: "កាលបរិច្ឆេទ ISO",
        +        time: "ម៉ោង ISO",
        +        duration: "រយៈពេល ISO",
        +        ipv4: "អាសយដ្ឋាន IPv4",
        +        ipv6: "អាសយដ្ឋាន IPv6",
        +        cidrv4: "ដែនអាសយដ្ឋាន IPv4",
        +        cidrv6: "ដែនអាសយដ្ឋាន IPv6",
        +        base64: "ខ្សែអក្សរអ៊ិកូដ base64",
        +        base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
        +        json_string: "ខ្សែអក្សរ JSON",
        +        e164: "លេខ E.164",
        +        jwt: "JWT",
        +        template_literal: "ទិន្នន័យបញ្ចូល",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "លេខ",
        +        array: "អារេ (Array)",
        +        null: "គ្មានតម្លៃ (null)",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = km_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${issue.expected} ប៉ុន្តែទទួលបាន ${received}`;
        +                }
        +                return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${expected} ប៉ុន្តែទទួលបាន ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${km_util.stringifyPrimitive(issue.values[0])}`;
        +                return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${km_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
        +                return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
        +                return `មិនត្រឹមត្រូវ៖ ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `រកឃើញសោមិនស្គាល់៖ ${km_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
        +            case "invalid_union":
        +                return `ទិន្នន័យមិនត្រឹមត្រូវ`;
        +            case "invalid_element":
        +                return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
        +            default:
        +                return `ទិន្នន័យមិនត្រឹមត្រូវ`;
        +        }
        +    };
        +};
        +/* harmony default export */ function km() {
        +    return {
        +        localeError: km_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/kh.js
        +/* unused harmony import specifier */ var kh_km;
        +
        +/** @deprecated Use `km` instead. */
        +/* harmony default export */ function kh() {
        +    return kh_km();
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ko.js
        +/* unused harmony import specifier */ var ko_util;
        +
        +const ko_error = () => {
        +    const Sizable = {
        +        string: { unit: "문자", verb: "to have" },
        +        file: { unit: "바이트", verb: "to have" },
        +        array: { unit: "개", verb: "to have" },
        +        set: { unit: "개", verb: "to have" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "입력",
        +        email: "이메일 주소",
        +        url: "URL",
        +        emoji: "이모지",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO 날짜시간",
        +        date: "ISO 날짜",
        +        time: "ISO 시간",
        +        duration: "ISO 기간",
        +        ipv4: "IPv4 주소",
        +        ipv6: "IPv6 주소",
        +        cidrv4: "IPv4 범위",
        +        cidrv6: "IPv6 범위",
        +        base64: "base64 인코딩 문자열",
        +        base64url: "base64url 인코딩 문자열",
        +        json_string: "JSON 문자열",
        +        e164: "E.164 번호",
        +        jwt: "JWT",
        +        template_literal: "입력",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ko_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `잘못된 입력: 예상 타입은 instanceof ${issue.expected}, 받은 타입은 ${received}입니다`;
        +                }
        +                return `잘못된 입력: 예상 타입은 ${expected}, 받은 타입은 ${received}입니다`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `잘못된 입력: 값은 ${ko_util.stringifyPrimitive(issue.values[0])} 이어야 합니다`;
        +                return `잘못된 옵션: ${ko_util.joinValues(issue.values, "또는 ")} 중 하나여야 합니다`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "이하" : "미만";
        +                const suffix = adj === "미만" ? "이어야 합니다" : "여야 합니다";
        +                const sizing = getSizing(issue.origin);
        +                const unit = sizing?.unit ?? "요소";
        +                if (sizing)
        +                    return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;
        +                return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()} ${adj}${suffix}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "이상" : "초과";
        +                const suffix = adj === "이상" ? "이어야 합니다" : "여야 합니다";
        +                const sizing = getSizing(issue.origin);
        +                const unit = sizing?.unit ?? "요소";
        +                if (sizing) {
        +                    return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;
        +                }
        +                return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()} ${adj}${suffix}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `잘못된 문자열: "${_issue.prefix}"(으)로 시작해야 합니다`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `잘못된 문자열: "${_issue.suffix}"(으)로 끝나야 합니다`;
        +                if (_issue.format === "includes")
        +                    return `잘못된 문자열: "${_issue.includes}"을(를) 포함해야 합니다`;
        +                if (_issue.format === "regex")
        +                    return `잘못된 문자열: 정규식 ${_issue.pattern} 패턴과 일치해야 합니다`;
        +                return `잘못된 ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `잘못된 숫자: ${issue.divisor}의 배수여야 합니다`;
        +            case "unrecognized_keys":
        +                return `인식할 수 없는 키: ${ko_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `잘못된 키: ${issue.origin}`;
        +            case "invalid_union":
        +                return `잘못된 입력`;
        +            case "invalid_element":
        +                return `잘못된 값: ${issue.origin}`;
        +            default:
        +                return `잘못된 입력`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ko() {
        +    return {
        +        localeError: ko_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/lt.js
        +/* unused harmony import specifier */ var lt_util;
        +
        +const capitalizeFirstCharacter = (text) => {
        +    return text.charAt(0).toUpperCase() + text.slice(1);
        +};
        +function getUnitTypeFromNumber(number) {
        +    const abs = Math.abs(number);
        +    const last = abs % 10;
        +    const last2 = abs % 100;
        +    if ((last2 >= 11 && last2 <= 19) || last === 0)
        +        return "many";
        +    if (last === 1)
        +        return "one";
        +    return "few";
        +}
        +const lt_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "simbolis",
        +                few: "simboliai",
        +                many: "simbolių",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi būti ne ilgesnė kaip",
        +                    notInclusive: "turi būti trumpesnė kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi būti ne trumpesnė kaip",
        +                    notInclusive: "turi būti ilgesnė kaip",
        +                },
        +            },
        +        },
        +        file: {
        +            unit: {
        +                one: "baitas",
        +                few: "baitai",
        +                many: "baitų",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi būti ne didesnis kaip",
        +                    notInclusive: "turi būti mažesnis kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi būti ne mažesnis kaip",
        +                    notInclusive: "turi būti didesnis kaip",
        +                },
        +            },
        +        },
        +        array: {
        +            unit: {
        +                one: "elementą",
        +                few: "elementus",
        +                many: "elementų",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi turėti ne daugiau kaip",
        +                    notInclusive: "turi turėti mažiau kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi turėti ne mažiau kaip",
        +                    notInclusive: "turi turėti daugiau kaip",
        +                },
        +            },
        +        },
        +        set: {
        +            unit: {
        +                one: "elementą",
        +                few: "elementus",
        +                many: "elementų",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi turėti ne daugiau kaip",
        +                    notInclusive: "turi turėti mažiau kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi turėti ne mažiau kaip",
        +                    notInclusive: "turi turėti daugiau kaip",
        +                },
        +            },
        +        },
        +    };
        +    function getSizing(origin, unitType, inclusive, targetShouldBe) {
        +        const result = Sizable[origin] ?? null;
        +        if (result === null)
        +            return result;
        +        return {
        +            unit: result.unit[unitType],
        +            verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"],
        +        };
        +    }
        +    const FormatDictionary = {
        +        regex: "įvestis",
        +        email: "el. pašto adresas",
        +        url: "URL",
        +        emoji: "jaustukas",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO data ir laikas",
        +        date: "ISO data",
        +        time: "ISO laikas",
        +        duration: "ISO trukmė",
        +        ipv4: "IPv4 adresas",
        +        ipv6: "IPv6 adresas",
        +        cidrv4: "IPv4 tinklo prefiksas (CIDR)",
        +        cidrv6: "IPv6 tinklo prefiksas (CIDR)",
        +        base64: "base64 užkoduota eilutė",
        +        base64url: "base64url užkoduota eilutė",
        +        json_string: "JSON eilutė",
        +        e164: "E.164 numeris",
        +        jwt: "JWT",
        +        template_literal: "įvestis",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "skaičius",
        +        bigint: "sveikasis skaičius",
        +        string: "eilutė",
        +        boolean: "loginė reikšmė",
        +        undefined: "neapibrėžta reikšmė",
        +        function: "funkcija",
        +        symbol: "simbolis",
        +        array: "masyvas",
        +        object: "objektas",
        +        null: "nulinė reikšmė",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = lt_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Gautas tipas ${received}, o tikėtasi - instanceof ${issue.expected}`;
        +                }
        +                return `Gautas tipas ${received}, o tikėtasi - ${expected}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Privalo būti ${lt_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Privalo būti vienas iš ${lt_util.joinValues(issue.values, "|")} pasirinkimų`;
        +            case "too_big": {
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, "smaller");
        +                if (sizing?.verb)
        +                    return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? "elementų"}`;
        +                const adj = issue.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
        +                return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;
        +            }
        +            case "too_small": {
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                const sizing = getSizing(issue.origin, getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, "bigger");
        +                if (sizing?.verb)
        +                    return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? "elementų"}`;
        +                const adj = issue.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
        +                return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Eilutė privalo prasidėti "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Eilutė privalo įtraukti "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Eilutė privalo atitikti ${_issue.pattern}`;
        +                return `Neteisingas ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Skaičius privalo būti ${issue.divisor} kartotinis.`;
        +            case "unrecognized_keys":
        +                return `Neatpažint${issue.keys.length > 1 ? "i" : "as"} rakt${issue.keys.length > 1 ? "ai" : "as"}: ${lt_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return "Rastas klaidingas raktas";
        +            case "invalid_union":
        +                return "Klaidinga įvestis";
        +            case "invalid_element": {
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                return `${capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi klaidingą įvestį`;
        +            }
        +            default:
        +                return "Klaidinga įvestis";
        +        }
        +    };
        +};
        +/* harmony default export */ function lt() {
        +    return {
        +        localeError: lt_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/mk.js
        +/* unused harmony import specifier */ var mk_util;
        +
        +const mk_error = () => {
        +    const Sizable = {
        +        string: { unit: "знаци", verb: "да имаат" },
        +        file: { unit: "бајти", verb: "да имаат" },
        +        array: { unit: "ставки", verb: "да имаат" },
        +        set: { unit: "ставки", verb: "да имаат" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "внес",
        +        email: "адреса на е-пошта",
        +        url: "URL",
        +        emoji: "емоџи",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO датум и време",
        +        date: "ISO датум",
        +        time: "ISO време",
        +        duration: "ISO времетраење",
        +        ipv4: "IPv4 адреса",
        +        ipv6: "IPv6 адреса",
        +        cidrv4: "IPv4 опсег",
        +        cidrv6: "IPv6 опсег",
        +        base64: "base64-енкодирана низа",
        +        base64url: "base64url-енкодирана низа",
        +        json_string: "JSON низа",
        +        e164: "E.164 број",
        +        jwt: "JWT",
        +        template_literal: "внес",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "број",
        +        array: "низа",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = mk_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Грешен внес: се очекува instanceof ${issue.expected}, примено ${received}`;
        +                }
        +                return `Грешен внес: се очекува ${expected}, примено ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Invalid input: expected ${mk_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Грешана опција: се очекува една ${mk_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Премногу голем: се очекува ${issue.origin ?? "вредноста"} да има ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементи"}`;
        +                return `Премногу голем: се очекува ${issue.origin ?? "вредноста"} да биде ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Премногу мал: се очекува ${issue.origin} да има ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Премногу мал: се очекува ${issue.origin} да биде ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Неважечка низа: мора да започнува со "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Неважечка низа: мора да завршува со "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Неважечка низа: мора да вклучува "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Неважечка низа: мора да одгоара на патернот ${_issue.pattern}`;
        +                return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Грешен број: мора да биде делив со ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Непрепознаени клучеви" : "Непрепознаен клуч"}: ${mk_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Грешен клуч во ${issue.origin}`;
        +            case "invalid_union":
        +                return "Грешен внес";
        +            case "invalid_element":
        +                return `Грешна вредност во ${issue.origin}`;
        +            default:
        +                return `Грешен внес`;
        +        }
        +    };
        +};
        +/* harmony default export */ function mk() {
        +    return {
        +        localeError: mk_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ms.js
        +/* unused harmony import specifier */ var ms_util;
        +
        +const ms_error = () => {
        +    const Sizable = {
        +        string: { unit: "aksara", verb: "mempunyai" },
        +        file: { unit: "bait", verb: "mempunyai" },
        +        array: { unit: "elemen", verb: "mempunyai" },
        +        set: { unit: "elemen", verb: "mempunyai" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "alamat e-mel",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "tarikh masa ISO",
        +        date: "tarikh ISO",
        +        time: "masa ISO",
        +        duration: "tempoh ISO",
        +        ipv4: "alamat IPv4",
        +        ipv6: "alamat IPv6",
        +        cidrv4: "julat IPv4",
        +        cidrv6: "julat IPv6",
        +        base64: "string dikodkan base64",
        +        base64url: "string dikodkan base64url",
        +        json_string: "string JSON",
        +        e164: "nombor E.164",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nombor",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ms_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Input tidak sah: dijangka instanceof ${issue.expected}, diterima ${received}`;
        +                }
        +                return `Input tidak sah: dijangka ${expected}, diterima ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Input tidak sah: dijangka ${ms_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Pilihan tidak sah: dijangka salah satu daripada ${ms_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Terlalu besar: dijangka ${issue.origin ?? "nilai"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elemen"}`;
        +                return `Terlalu besar: dijangka ${issue.origin ?? "nilai"} adalah ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Terlalu kecil: dijangka ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Terlalu kecil: dijangka ${issue.origin} adalah ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `String tidak sah: mesti bermula dengan "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `String tidak sah: mesti berakhir dengan "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `String tidak sah: mesti mengandungi "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} tidak sah`;
        +            }
        +            case "not_multiple_of":
        +                return `Nombor tidak sah: perlu gandaan ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Kunci tidak dikenali: ${ms_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Kunci tidak sah dalam ${issue.origin}`;
        +            case "invalid_union":
        +                return "Input tidak sah";
        +            case "invalid_element":
        +                return `Nilai tidak sah dalam ${issue.origin}`;
        +            default:
        +                return `Input tidak sah`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ms() {
        +    return {
        +        localeError: ms_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/nl.js
        +/* unused harmony import specifier */ var nl_util;
        +
        +const nl_error = () => {
        +    const Sizable = {
        +        string: { unit: "tekens", verb: "heeft" },
        +        file: { unit: "bytes", verb: "heeft" },
        +        array: { unit: "elementen", verb: "heeft" },
        +        set: { unit: "elementen", verb: "heeft" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "invoer",
        +        email: "emailadres",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datum en tijd",
        +        date: "ISO datum",
        +        time: "ISO tijd",
        +        duration: "ISO duur",
        +        ipv4: "IPv4-adres",
        +        ipv6: "IPv6-adres",
        +        cidrv4: "IPv4-bereik",
        +        cidrv6: "IPv6-bereik",
        +        base64: "base64-gecodeerde tekst",
        +        base64url: "base64 URL-gecodeerde tekst",
        +        json_string: "JSON string",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "invoer",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "getal",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = nl_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ongeldige invoer: verwacht instanceof ${issue.expected}, ontving ${received}`;
        +                }
        +                return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ongeldige invoer: verwacht ${nl_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ongeldige optie: verwacht één van ${nl_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                const longName = issue.origin === "date" ? "laat" : issue.origin === "string" ? "lang" : "groot";
        +                if (sizing)
        +                    return `Te ${longName}: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"} ${sizing.verb}`;
        +                return `Te ${longName}: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                const shortName = issue.origin === "date" ? "vroeg" : issue.origin === "string" ? "kort" : "klein";
        +                if (sizing) {
        +                    return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
        +                }
        +                return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Ongeldige tekst: moet met "${_issue.prefix}" beginnen`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Ongeldige tekst: moet op "${_issue.suffix}" eindigen`;
        +                if (_issue.format === "includes")
        +                    return `Ongeldige tekst: moet "${_issue.includes}" bevatten`;
        +                if (_issue.format === "regex")
        +                    return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;
        +                return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ongeldig getal: moet een veelvoud van ${issue.divisor} zijn`;
        +            case "unrecognized_keys":
        +                return `Onbekende key${issue.keys.length > 1 ? "s" : ""}: ${nl_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ongeldige key in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ongeldige invoer";
        +            case "invalid_element":
        +                return `Ongeldige waarde in ${issue.origin}`;
        +            default:
        +                return `Ongeldige invoer`;
        +        }
        +    };
        +};
        +/* harmony default export */ function nl() {
        +    return {
        +        localeError: nl_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/no.js
        +/* unused harmony import specifier */ var no_util;
        +
        +const no_error = () => {
        +    const Sizable = {
        +        string: { unit: "tegn", verb: "å ha" },
        +        file: { unit: "bytes", verb: "å ha" },
        +        array: { unit: "elementer", verb: "å inneholde" },
        +        set: { unit: "elementer", verb: "å inneholde" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "e-postadresse",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO dato- og klokkeslett",
        +        date: "ISO-dato",
        +        time: "ISO-klokkeslett",
        +        duration: "ISO-varighet",
        +        ipv4: "IPv4-område",
        +        ipv6: "IPv6-område",
        +        cidrv4: "IPv4-spekter",
        +        cidrv6: "IPv6-spekter",
        +        base64: "base64-enkodet streng",
        +        base64url: "base64url-enkodet streng",
        +        json_string: "JSON-streng",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "tall",
        +        array: "liste",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = no_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ugyldig input: forventet instanceof ${issue.expected}, fikk ${received}`;
        +                }
        +                return `Ugyldig input: forventet ${expected}, fikk ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ugyldig verdi: forventet ${no_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ugyldig valg: forventet en av ${no_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `For stor(t): forventet ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementer"}`;
        +                return `For stor(t): forventet ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ugyldig streng: må starte med "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Ugyldig streng: må ende med "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ugyldig streng: må inneholde "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ugyldig streng: må matche mønsteret ${_issue.pattern}`;
        +                return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ugyldig tall: må være et multiplum av ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Ukjente nøkler" : "Ukjent nøkkel"}: ${no_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ugyldig nøkkel i ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ugyldig input";
        +            case "invalid_element":
        +                return `Ugyldig verdi i ${issue.origin}`;
        +            default:
        +                return `Ugyldig input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function no() {
        +    return {
        +        localeError: no_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ota.js
        +/* unused harmony import specifier */ var ota_util;
        +
        +const ota_error = () => {
        +    const Sizable = {
        +        string: { unit: "harf", verb: "olmalıdır" },
        +        file: { unit: "bayt", verb: "olmalıdır" },
        +        array: { unit: "unsur", verb: "olmalıdır" },
        +        set: { unit: "unsur", verb: "olmalıdır" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "giren",
        +        email: "epostagâh",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO hengâmı",
        +        date: "ISO tarihi",
        +        time: "ISO zamanı",
        +        duration: "ISO müddeti",
        +        ipv4: "IPv4 nişânı",
        +        ipv6: "IPv6 nişânı",
        +        cidrv4: "IPv4 menzili",
        +        cidrv6: "IPv6 menzili",
        +        base64: "base64-şifreli metin",
        +        base64url: "base64url-şifreli metin",
        +        json_string: "JSON metin",
        +        e164: "E.164 sayısı",
        +        jwt: "JWT",
        +        template_literal: "giren",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "numara",
        +        array: "saf",
        +        null: "gayb",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ota_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Fâsit giren: umulan instanceof ${issue.expected}, alınan ${received}`;
        +                }
        +                return `Fâsit giren: umulan ${expected}, alınan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Fâsit giren: umulan ${ota_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Fâsit tercih: mûteberler ${ota_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmalıydı.`;
        +                return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} olmalıydı.`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmalıydı.`;
        +                }
        +                return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} olmalıydı.`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Fâsit metin: "${_issue.prefix}" ile başlamalı.`;
        +                if (_issue.format === "ends_with")
        +                    return `Fâsit metin: "${_issue.suffix}" ile bitmeli.`;
        +                if (_issue.format === "includes")
        +                    return `Fâsit metin: "${_issue.includes}" ihtivâ etmeli.`;
        +                if (_issue.format === "regex")
        +                    return `Fâsit metin: ${_issue.pattern} nakşına uymalı.`;
        +                return `Fâsit ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Fâsit sayı: ${issue.divisor} katı olmalıydı.`;
        +            case "unrecognized_keys":
        +                return `Tanınmayan anahtar ${issue.keys.length > 1 ? "s" : ""}: ${ota_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} için tanınmayan anahtar var.`;
        +            case "invalid_union":
        +                return "Giren tanınamadı.";
        +            case "invalid_element":
        +                return `${issue.origin} için tanınmayan kıymet var.`;
        +            default:
        +                return `Kıymet tanınamadı.`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ota() {
        +    return {
        +        localeError: ota_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ps.js
        +/* unused harmony import specifier */ var ps_util;
        +
        +const ps_error = () => {
        +    const Sizable = {
        +        string: { unit: "توکي", verb: "ولري" },
        +        file: { unit: "بایټس", verb: "ولري" },
        +        array: { unit: "توکي", verb: "ولري" },
        +        set: { unit: "توکي", verb: "ولري" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ورودي",
        +        email: "بریښنالیک",
        +        url: "یو آر ال",
        +        emoji: "ایموجي",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "نیټه او وخت",
        +        date: "نېټه",
        +        time: "وخت",
        +        duration: "موده",
        +        ipv4: "د IPv4 پته",
        +        ipv6: "د IPv6 پته",
        +        cidrv4: "د IPv4 ساحه",
        +        cidrv6: "د IPv6 ساحه",
        +        base64: "base64-encoded متن",
        +        base64url: "base64url-encoded متن",
        +        json_string: "JSON متن",
        +        e164: "د E.164 شمېره",
        +        jwt: "JWT",
        +        template_literal: "ورودي",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "عدد",
        +        array: "ارې",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ps_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ناسم ورودي: باید instanceof ${issue.expected} وای, مګر ${received} ترلاسه شو`;
        +                }
        +                return `ناسم ورودي: باید ${expected} وای, مګر ${received} ترلاسه شو`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1) {
        +                    return `ناسم ورودي: باید ${ps_util.stringifyPrimitive(issue.values[0])} وای`;
        +                }
        +                return `ناسم انتخاب: باید یو له ${ps_util.joinValues(issue.values, "|")} څخه وای`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `ډیر لوی: ${issue.origin ?? "ارزښت"} باید ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عنصرونه"} ولري`;
        +                }
        +                return `ډیر لوی: ${issue.origin ?? "ارزښت"} باید ${adj}${issue.maximum.toString()} وي`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} ${sizing.unit} ولري`;
        +                }
        +                return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} وي`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `ناسم متن: باید د "${_issue.prefix}" سره پیل شي`;
        +                }
        +                if (_issue.format === "ends_with") {
        +                    return `ناسم متن: باید د "${_issue.suffix}" سره پای ته ورسيږي`;
        +                }
        +                if (_issue.format === "includes") {
        +                    return `ناسم متن: باید "${_issue.includes}" ولري`;
        +                }
        +                if (_issue.format === "regex") {
        +                    return `ناسم متن: باید د ${_issue.pattern} سره مطابقت ولري`;
        +                }
        +                return `${FormatDictionary[_issue.format] ?? issue.format} ناسم دی`;
        +            }
        +            case "not_multiple_of":
        +                return `ناسم عدد: باید د ${issue.divisor} مضرب وي`;
        +            case "unrecognized_keys":
        +                return `ناسم ${issue.keys.length > 1 ? "کلیډونه" : "کلیډ"}: ${ps_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `ناسم کلیډ په ${issue.origin} کې`;
        +            case "invalid_union":
        +                return `ناسمه ورودي`;
        +            case "invalid_element":
        +                return `ناسم عنصر په ${issue.origin} کې`;
        +            default:
        +                return `ناسمه ورودي`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ps() {
        +    return {
        +        localeError: ps_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/pl.js
        +/* unused harmony import specifier */ var pl_util;
        +
        +const pl_error = () => {
        +    const Sizable = {
        +        string: { unit: "znaków", verb: "mieć" },
        +        file: { unit: "bajtów", verb: "mieć" },
        +        array: { unit: "elementów", verb: "mieć" },
        +        set: { unit: "elementów", verb: "mieć" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "wyrażenie",
        +        email: "adres email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data i godzina w formacie ISO",
        +        date: "data w formacie ISO",
        +        time: "godzina w formacie ISO",
        +        duration: "czas trwania ISO",
        +        ipv4: "adres IPv4",
        +        ipv6: "adres IPv6",
        +        cidrv4: "zakres IPv4",
        +        cidrv6: "zakres IPv6",
        +        base64: "ciąg znaków zakodowany w formacie base64",
        +        base64url: "ciąg znaków zakodowany w formacie base64url",
        +        json_string: "ciąg znaków w formacie JSON",
        +        e164: "liczba E.164",
        +        jwt: "JWT",
        +        template_literal: "wejście",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "liczba",
        +        array: "tablica",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = pl_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Nieprawidłowe dane wejściowe: oczekiwano instanceof ${issue.expected}, otrzymano ${received}`;
        +                }
        +                return `Nieprawidłowe dane wejściowe: oczekiwano ${expected}, otrzymano ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Nieprawidłowe dane wejściowe: oczekiwano ${pl_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Nieprawidłowa opcja: oczekiwano jednej z wartości ${pl_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Za duża wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementów"}`;
        +                }
        +                return `Zbyt duż(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Za mała wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.minimum.toString()} ${sizing.unit ?? "elementów"}`;
        +                }
        +                return `Zbyt mał(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Nieprawidłowy ciąg znaków: musi zaczynać się od "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Nieprawidłowy ciąg znaków: musi kończyć się na "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Nieprawidłowy ciąg znaków: musi zawierać "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${_issue.pattern}`;
        +                return `Nieprawidłow(y/a/e) ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Nieprawidłowa liczba: musi być wielokrotnością ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Nierozpoznane klucze${issue.keys.length > 1 ? "s" : ""}: ${pl_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Nieprawidłowy klucz w ${issue.origin}`;
        +            case "invalid_union":
        +                return "Nieprawidłowe dane wejściowe";
        +            case "invalid_element":
        +                return `Nieprawidłowa wartość w ${issue.origin}`;
        +            default:
        +                return `Nieprawidłowe dane wejściowe`;
        +        }
        +    };
        +};
        +/* harmony default export */ function pl() {
        +    return {
        +        localeError: pl_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/pt.js
        +/* unused harmony import specifier */ var pt_util;
        +
        +const pt_error = () => {
        +    const Sizable = {
        +        string: { unit: "caracteres", verb: "ter" },
        +        file: { unit: "bytes", verb: "ter" },
        +        array: { unit: "itens", verb: "ter" },
        +        set: { unit: "itens", verb: "ter" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "padrão",
        +        email: "endereço de e-mail",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data e hora ISO",
        +        date: "data ISO",
        +        time: "hora ISO",
        +        duration: "duração ISO",
        +        ipv4: "endereço IPv4",
        +        ipv6: "endereço IPv6",
        +        cidrv4: "faixa de IPv4",
        +        cidrv6: "faixa de IPv6",
        +        base64: "texto codificado em base64",
        +        base64url: "URL codificada em base64",
        +        json_string: "texto JSON",
        +        e164: "número E.164",
        +        jwt: "JWT",
        +        template_literal: "entrada",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "número",
        +        null: "nulo",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = pt_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Tipo inválido: esperado instanceof ${issue.expected}, recebido ${received}`;
        +                }
        +                return `Tipo inválido: esperado ${expected}, recebido ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrada inválida: esperado ${pt_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opção inválida: esperada uma das ${pt_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Muito grande: esperado que ${issue.origin ?? "valor"} tivesse ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
        +                return `Muito grande: esperado que ${issue.origin ?? "valor"} fosse ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Muito pequeno: esperado que ${issue.origin} tivesse ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Muito pequeno: esperado que ${issue.origin} fosse ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Texto inválido: deve começar com "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Texto inválido: deve terminar com "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Texto inválido: deve incluir "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Texto inválido: deve corresponder ao padrão ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} inválido`;
        +            }
        +            case "not_multiple_of":
        +                return `Número inválido: deve ser múltiplo de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Chave${issue.keys.length > 1 ? "s" : ""} desconhecida${issue.keys.length > 1 ? "s" : ""}: ${pt_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Chave inválida em ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrada inválida";
        +            case "invalid_element":
        +                return `Valor inválido em ${issue.origin}`;
        +            default:
        +                return `Campo inválido`;
        +        }
        +    };
        +};
        +/* harmony default export */ function pt() {
        +    return {
        +        localeError: pt_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ru.js
        +/* unused harmony import specifier */ var ru_util;
        +
        +function getRussianPlural(count, one, few, many) {
        +    const absCount = Math.abs(count);
        +    const lastDigit = absCount % 10;
        +    const lastTwoDigits = absCount % 100;
        +    if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
        +        return many;
        +    }
        +    if (lastDigit === 1) {
        +        return one;
        +    }
        +    if (lastDigit >= 2 && lastDigit <= 4) {
        +        return few;
        +    }
        +    return many;
        +}
        +const ru_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "символ",
        +                few: "символа",
        +                many: "символов",
        +            },
        +            verb: "иметь",
        +        },
        +        file: {
        +            unit: {
        +                one: "байт",
        +                few: "байта",
        +                many: "байт",
        +            },
        +            verb: "иметь",
        +        },
        +        array: {
        +            unit: {
        +                one: "элемент",
        +                few: "элемента",
        +                many: "элементов",
        +            },
        +            verb: "иметь",
        +        },
        +        set: {
        +            unit: {
        +                one: "элемент",
        +                few: "элемента",
        +                many: "элементов",
        +            },
        +            verb: "иметь",
        +        },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ввод",
        +        email: "email адрес",
        +        url: "URL",
        +        emoji: "эмодзи",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO дата и время",
        +        date: "ISO дата",
        +        time: "ISO время",
        +        duration: "ISO длительность",
        +        ipv4: "IPv4 адрес",
        +        ipv6: "IPv6 адрес",
        +        cidrv4: "IPv4 диапазон",
        +        cidrv6: "IPv6 диапазон",
        +        base64: "строка в формате base64",
        +        base64url: "строка в формате base64url",
        +        json_string: "JSON строка",
        +        e164: "номер E.164",
        +        jwt: "JWT",
        +        template_literal: "ввод",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "число",
        +        array: "массив",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ru_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Неверный ввод: ожидалось instanceof ${issue.expected}, получено ${received}`;
        +                }
        +                return `Неверный ввод: ожидалось ${expected}, получено ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Неверный ввод: ожидалось ${ru_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Неверный вариант: ожидалось одно из ${ru_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const maxValue = Number(issue.maximum);
        +                    const unit = getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Слишком большое значение: ожидалось, что ${issue.origin ?? "значение"} будет иметь ${adj}${issue.maximum.toString()} ${unit}`;
        +                }
        +                return `Слишком большое значение: ожидалось, что ${issue.origin ?? "значение"} будет ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const minValue = Number(issue.minimum);
        +                    const unit = getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет иметь ${adj}${issue.minimum.toString()} ${unit}`;
        +                }
        +                return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Неверная строка: должна начинаться с "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Неверная строка: должна заканчиваться на "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Неверная строка: должна содержать "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Неверная строка: должна соответствовать шаблону ${_issue.pattern}`;
        +                return `Неверный ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Неверное число: должно быть кратным ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Нераспознанн${issue.keys.length > 1 ? "ые" : "ый"} ключ${issue.keys.length > 1 ? "и" : ""}: ${ru_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Неверный ключ в ${issue.origin}`;
        +            case "invalid_union":
        +                return "Неверные входные данные";
        +            case "invalid_element":
        +                return `Неверное значение в ${issue.origin}`;
        +            default:
        +                return `Неверные входные данные`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ru() {
        +    return {
        +        localeError: ru_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/sl.js
        +/* unused harmony import specifier */ var sl_util;
        +
        +const sl_error = () => {
        +    const Sizable = {
        +        string: { unit: "znakov", verb: "imeti" },
        +        file: { unit: "bajtov", verb: "imeti" },
        +        array: { unit: "elementov", verb: "imeti" },
        +        set: { unit: "elementov", verb: "imeti" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "vnos",
        +        email: "e-poštni naslov",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datum in čas",
        +        date: "ISO datum",
        +        time: "ISO čas",
        +        duration: "ISO trajanje",
        +        ipv4: "IPv4 naslov",
        +        ipv6: "IPv6 naslov",
        +        cidrv4: "obseg IPv4",
        +        cidrv6: "obseg IPv6",
        +        base64: "base64 kodiran niz",
        +        base64url: "base64url kodiran niz",
        +        json_string: "JSON niz",
        +        e164: "E.164 številka",
        +        jwt: "JWT",
        +        template_literal: "vnos",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "število",
        +        array: "tabela",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = sl_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Neveljaven vnos: pričakovano instanceof ${issue.expected}, prejeto ${received}`;
        +                }
        +                return `Neveljaven vnos: pričakovano ${expected}, prejeto ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Neveljaven vnos: pričakovano ${sl_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Neveljavna možnost: pričakovano eno izmed ${sl_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Preveliko: pričakovano, da bo ${issue.origin ?? "vrednost"} imelo ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementov"}`;
        +                return `Preveliko: pričakovano, da bo ${issue.origin ?? "vrednost"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Premajhno: pričakovano, da bo ${issue.origin} imelo ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Premajhno: pričakovano, da bo ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Neveljaven niz: mora se začeti z "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Neveljaven niz: mora se končati z "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Neveljaven niz: mora vsebovati "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;
        +                return `Neveljaven ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Neveljavno število: mora biti večkratnik ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Neprepoznan${issue.keys.length > 1 ? "i ključi" : " ključ"}: ${sl_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Neveljaven ključ v ${issue.origin}`;
        +            case "invalid_union":
        +                return "Neveljaven vnos";
        +            case "invalid_element":
        +                return `Neveljavna vrednost v ${issue.origin}`;
        +            default:
        +                return "Neveljaven vnos";
        +        }
        +    };
        +};
        +/* harmony default export */ function sl() {
        +    return {
        +        localeError: sl_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/sv.js
        +/* unused harmony import specifier */ var sv_util;
        +
        +const sv_error = () => {
        +    const Sizable = {
        +        string: { unit: "tecken", verb: "att ha" },
        +        file: { unit: "bytes", verb: "att ha" },
        +        array: { unit: "objekt", verb: "att innehålla" },
        +        set: { unit: "objekt", verb: "att innehålla" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "reguljärt uttryck",
        +        email: "e-postadress",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-datum och tid",
        +        date: "ISO-datum",
        +        time: "ISO-tid",
        +        duration: "ISO-varaktighet",
        +        ipv4: "IPv4-intervall",
        +        ipv6: "IPv6-intervall",
        +        cidrv4: "IPv4-spektrum",
        +        cidrv6: "IPv6-spektrum",
        +        base64: "base64-kodad sträng",
        +        base64url: "base64url-kodad sträng",
        +        json_string: "JSON-sträng",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "mall-literal",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "antal",
        +        array: "lista",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = sv_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ogiltig inmatning: förväntat instanceof ${issue.expected}, fick ${received}`;
        +                }
        +                return `Ogiltig inmatning: förväntat ${expected}, fick ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ogiltig inmatning: förväntat ${sv_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ogiltigt val: förväntade en av ${sv_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `För stor(t): förväntade ${issue.origin ?? "värdet"} att ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? "element"}`;
        +                }
        +                return `För stor(t): förväntat ${issue.origin ?? "värdet"} att ha ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `För lite(t): förväntade ${issue.origin ?? "värdet"} att ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `För lite(t): förväntade ${issue.origin ?? "värdet"} att ha ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Ogiltig sträng: måste börja med "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Ogiltig sträng: måste sluta med "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ogiltig sträng: måste innehålla "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ogiltig sträng: måste matcha mönstret "${_issue.pattern}"`;
        +                return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ogiltigt tal: måste vara en multipel av ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Okända nycklar" : "Okänd nyckel"}: ${sv_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ogiltig nyckel i ${issue.origin ?? "värdet"}`;
        +            case "invalid_union":
        +                return "Ogiltig input";
        +            case "invalid_element":
        +                return `Ogiltigt värde i ${issue.origin ?? "värdet"}`;
        +            default:
        +                return `Ogiltig input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function sv() {
        +    return {
        +        localeError: sv_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ta.js
        +/* unused harmony import specifier */ var ta_util;
        +
        +const ta_error = () => {
        +    const Sizable = {
        +        string: { unit: "எழுத்துக்கள்", verb: "கொண்டிருக்க வேண்டும்" },
        +        file: { unit: "பைட்டுகள்", verb: "கொண்டிருக்க வேண்டும்" },
        +        array: { unit: "உறுப்புகள்", verb: "கொண்டிருக்க வேண்டும்" },
        +        set: { unit: "உறுப்புகள்", verb: "கொண்டிருக்க வேண்டும்" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "உள்ளீடு",
        +        email: "மின்னஞ்சல் முகவரி",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO தேதி நேரம்",
        +        date: "ISO தேதி",
        +        time: "ISO நேரம்",
        +        duration: "ISO கால அளவு",
        +        ipv4: "IPv4 முகவரி",
        +        ipv6: "IPv6 முகவரி",
        +        cidrv4: "IPv4 வரம்பு",
        +        cidrv6: "IPv6 வரம்பு",
        +        base64: "base64-encoded சரம்",
        +        base64url: "base64url-encoded சரம்",
        +        json_string: "JSON சரம்",
        +        e164: "E.164 எண்",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "எண்",
        +        array: "அணி",
        +        null: "வெறுமை",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ta_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${issue.expected}, பெறப்பட்டது ${received}`;
        +                }
        +                return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${expected}, பெறப்பட்டது ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${ta_util.stringifyPrimitive(issue.values[0])}`;
        +                return `தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${ta_util.joinValues(issue.values, "|")} இல் ஒன்று`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue.origin ?? "மதிப்பு"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "உறுப்புகள்"} ஆக இருக்க வேண்டும்`;
        +                }
        +                return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue.origin ?? "மதிப்பு"} ${adj}${issue.maximum.toString()} ஆக இருக்க வேண்டும்`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ஆக இருக்க வேண்டும்`; //
        +                }
        +                return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue.origin} ${adj}${issue.minimum.toString()} ஆக இருக்க வேண்டும்`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `தவறான சரம்: "${_issue.prefix}" இல் தொடங்க வேண்டும்`;
        +                if (_issue.format === "ends_with")
        +                    return `தவறான சரம்: "${_issue.suffix}" இல் முடிவடைய வேண்டும்`;
        +                if (_issue.format === "includes")
        +                    return `தவறான சரம்: "${_issue.includes}" ஐ உள்ளடக்க வேண்டும்`;
        +                if (_issue.format === "regex")
        +                    return `தவறான சரம்: ${_issue.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;
        +                return `தவறான ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `தவறான எண்: ${issue.divisor} இன் பலமாக இருக்க வேண்டும்`;
        +            case "unrecognized_keys":
        +                return `அடையாளம் தெரியாத விசை${issue.keys.length > 1 ? "கள்" : ""}: ${ta_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} இல் தவறான விசை`;
        +            case "invalid_union":
        +                return "தவறான உள்ளீடு";
        +            case "invalid_element":
        +                return `${issue.origin} இல் தவறான மதிப்பு`;
        +            default:
        +                return `தவறான உள்ளீடு`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ta() {
        +    return {
        +        localeError: ta_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/th.js
        +/* unused harmony import specifier */ var th_util;
        +
        +const th_error = () => {
        +    const Sizable = {
        +        string: { unit: "ตัวอักษร", verb: "ควรมี" },
        +        file: { unit: "ไบต์", verb: "ควรมี" },
        +        array: { unit: "รายการ", verb: "ควรมี" },
        +        set: { unit: "รายการ", verb: "ควรมี" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ข้อมูลที่ป้อน",
        +        email: "ที่อยู่อีเมล",
        +        url: "URL",
        +        emoji: "อิโมจิ",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "วันที่เวลาแบบ ISO",
        +        date: "วันที่แบบ ISO",
        +        time: "เวลาแบบ ISO",
        +        duration: "ช่วงเวลาแบบ ISO",
        +        ipv4: "ที่อยู่ IPv4",
        +        ipv6: "ที่อยู่ IPv6",
        +        cidrv4: "ช่วง IP แบบ IPv4",
        +        cidrv6: "ช่วง IP แบบ IPv6",
        +        base64: "ข้อความแบบ Base64",
        +        base64url: "ข้อความแบบ Base64 สำหรับ URL",
        +        json_string: "ข้อความแบบ JSON",
        +        e164: "เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",
        +        jwt: "โทเคน JWT",
        +        template_literal: "ข้อมูลที่ป้อน",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "ตัวเลข",
        +        array: "อาร์เรย์ (Array)",
        +        null: "ไม่มีค่า (null)",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = th_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${issue.expected} แต่ได้รับ ${received}`;
        +                }
        +                return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${expected} แต่ได้รับ ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `ค่าไม่ถูกต้อง: ควรเป็น ${th_util.stringifyPrimitive(issue.values[0])}`;
        +                return `ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${th_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "ไม่เกิน" : "น้อยกว่า";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `เกินกำหนด: ${issue.origin ?? "ค่า"} ควรมี${adj} ${issue.maximum.toString()} ${sizing.unit ?? "รายการ"}`;
        +                return `เกินกำหนด: ${issue.origin ?? "ค่า"} ควรมี${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "อย่างน้อย" : "มากกว่า";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${_issue.includes}" อยู่ในข้อความ`;
        +                if (_issue.format === "regex")
        +                    return `รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${_issue.pattern}`;
        +                return `รูปแบบไม่ถูกต้อง: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${issue.divisor} ได้ลงตัว`;
        +            case "unrecognized_keys":
        +                return `พบคีย์ที่ไม่รู้จัก: ${th_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `คีย์ไม่ถูกต้องใน ${issue.origin}`;
        +            case "invalid_union":
        +                return "ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";
        +            case "invalid_element":
        +                return `ข้อมูลไม่ถูกต้องใน ${issue.origin}`;
        +            default:
        +                return `ข้อมูลไม่ถูกต้อง`;
        +        }
        +    };
        +};
        +/* harmony default export */ function th() {
        +    return {
        +        localeError: th_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/tr.js
        +/* unused harmony import specifier */ var tr_util;
        +
        +const tr_error = () => {
        +    const Sizable = {
        +        string: { unit: "karakter", verb: "olmalı" },
        +        file: { unit: "bayt", verb: "olmalı" },
        +        array: { unit: "öğe", verb: "olmalı" },
        +        set: { unit: "öğe", verb: "olmalı" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "girdi",
        +        email: "e-posta adresi",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO tarih ve saat",
        +        date: "ISO tarih",
        +        time: "ISO saat",
        +        duration: "ISO süre",
        +        ipv4: "IPv4 adresi",
        +        ipv6: "IPv6 adresi",
        +        cidrv4: "IPv4 aralığı",
        +        cidrv6: "IPv6 aralığı",
        +        base64: "base64 ile şifrelenmiş metin",
        +        base64url: "base64url ile şifrelenmiş metin",
        +        json_string: "JSON dizesi",
        +        e164: "E.164 sayısı",
        +        jwt: "JWT",
        +        template_literal: "Şablon dizesi",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = tr_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Geçersiz değer: beklenen instanceof ${issue.expected}, alınan ${received}`;
        +                }
        +                return `Geçersiz değer: beklenen ${expected}, alınan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Geçersiz değer: beklenen ${tr_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Geçersiz seçenek: aşağıdakilerden biri olmalı: ${tr_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çok büyük: beklenen ${issue.origin ?? "değer"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "öğe"}`;
        +                return `Çok büyük: beklenen ${issue.origin ?? "değer"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Geçersiz metin: "${_issue.prefix}" ile başlamalı`;
        +                if (_issue.format === "ends_with")
        +                    return `Geçersiz metin: "${_issue.suffix}" ile bitmeli`;
        +                if (_issue.format === "includes")
        +                    return `Geçersiz metin: "${_issue.includes}" içermeli`;
        +                if (_issue.format === "regex")
        +                    return `Geçersiz metin: ${_issue.pattern} desenine uymalı`;
        +                return `Geçersiz ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Geçersiz sayı: ${issue.divisor} ile tam bölünebilmeli`;
        +            case "unrecognized_keys":
        +                return `Tanınmayan anahtar${issue.keys.length > 1 ? "lar" : ""}: ${tr_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} içinde geçersiz anahtar`;
        +            case "invalid_union":
        +                return "Geçersiz değer";
        +            case "invalid_element":
        +                return `${issue.origin} içinde geçersiz değer`;
        +            default:
        +                return `Geçersiz değer`;
        +        }
        +    };
        +};
        +/* harmony default export */ function tr() {
        +    return {
        +        localeError: tr_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/uk.js
        +/* unused harmony import specifier */ var uk_util;
        +
        +const uk_error = () => {
        +    const Sizable = {
        +        string: { unit: "символів", verb: "матиме" },
        +        file: { unit: "байтів", verb: "матиме" },
        +        array: { unit: "елементів", verb: "матиме" },
        +        set: { unit: "елементів", verb: "матиме" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "вхідні дані",
        +        email: "адреса електронної пошти",
        +        url: "URL",
        +        emoji: "емодзі",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "дата та час ISO",
        +        date: "дата ISO",
        +        time: "час ISO",
        +        duration: "тривалість ISO",
        +        ipv4: "адреса IPv4",
        +        ipv6: "адреса IPv6",
        +        cidrv4: "діапазон IPv4",
        +        cidrv6: "діапазон IPv6",
        +        base64: "рядок у кодуванні base64",
        +        base64url: "рядок у кодуванні base64url",
        +        json_string: "рядок JSON",
        +        e164: "номер E.164",
        +        jwt: "JWT",
        +        template_literal: "вхідні дані",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "число",
        +        array: "масив",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = uk_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Неправильні вхідні дані: очікується instanceof ${issue.expected}, отримано ${received}`;
        +                }
        +                return `Неправильні вхідні дані: очікується ${expected}, отримано ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Неправильні вхідні дані: очікується ${uk_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Неправильна опція: очікується одне з ${uk_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Занадто велике: очікується, що ${issue.origin ?? "значення"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементів"}`;
        +                return `Занадто велике: очікується, що ${issue.origin ?? "значення"} буде ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Занадто мале: очікується, що ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Занадто мале: очікується, що ${issue.origin} буде ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Неправильний рядок: повинен починатися з "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Неправильний рядок: повинен містити "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;
        +                return `Неправильний ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Неправильне число: повинно бути кратним ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Нерозпізнаний ключ${issue.keys.length > 1 ? "і" : ""}: ${uk_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Неправильний ключ у ${issue.origin}`;
        +            case "invalid_union":
        +                return "Неправильні вхідні дані";
        +            case "invalid_element":
        +                return `Неправильне значення у ${issue.origin}`;
        +            default:
        +                return `Неправильні вхідні дані`;
        +        }
        +    };
        +};
        +/* harmony default export */ function uk() {
        +    return {
        +        localeError: uk_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ua.js
        +/* unused harmony import specifier */ var ua_uk;
        +
        +/** @deprecated Use `uk` instead. */
        +/* harmony default export */ function ua() {
        +    return ua_uk();
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/ur.js
        +/* unused harmony import specifier */ var ur_util;
        +
        +const ur_error = () => {
        +    const Sizable = {
        +        string: { unit: "حروف", verb: "ہونا" },
        +        file: { unit: "بائٹس", verb: "ہونا" },
        +        array: { unit: "آئٹمز", verb: "ہونا" },
        +        set: { unit: "آئٹمز", verb: "ہونا" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ان پٹ",
        +        email: "ای میل ایڈریس",
        +        url: "یو آر ایل",
        +        emoji: "ایموجی",
        +        uuid: "یو یو آئی ڈی",
        +        uuidv4: "یو یو آئی ڈی وی 4",
        +        uuidv6: "یو یو آئی ڈی وی 6",
        +        nanoid: "نینو آئی ڈی",
        +        guid: "جی یو آئی ڈی",
        +        cuid: "سی یو آئی ڈی",
        +        cuid2: "سی یو آئی ڈی 2",
        +        ulid: "یو ایل آئی ڈی",
        +        xid: "ایکس آئی ڈی",
        +        ksuid: "کے ایس یو آئی ڈی",
        +        datetime: "آئی ایس او ڈیٹ ٹائم",
        +        date: "آئی ایس او تاریخ",
        +        time: "آئی ایس او وقت",
        +        duration: "آئی ایس او مدت",
        +        ipv4: "آئی پی وی 4 ایڈریس",
        +        ipv6: "آئی پی وی 6 ایڈریس",
        +        cidrv4: "آئی پی وی 4 رینج",
        +        cidrv6: "آئی پی وی 6 رینج",
        +        base64: "بیس 64 ان کوڈڈ سٹرنگ",
        +        base64url: "بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",
        +        json_string: "جے ایس او این سٹرنگ",
        +        e164: "ای 164 نمبر",
        +        jwt: "جے ڈبلیو ٹی",
        +        template_literal: "ان پٹ",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "نمبر",
        +        array: "آرے",
        +        null: "نل",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ur_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `غلط ان پٹ: instanceof ${issue.expected} متوقع تھا، ${received} موصول ہوا`;
        +                }
        +                return `غلط ان پٹ: ${expected} متوقع تھا، ${received} موصول ہوا`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `غلط ان پٹ: ${ur_util.stringifyPrimitive(issue.values[0])} متوقع تھا`;
        +                return `غلط آپشن: ${ur_util.joinValues(issue.values, "|")} میں سے ایک متوقع تھا`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `بہت بڑا: ${issue.origin ?? "ویلیو"} کے ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عناصر"} ہونے متوقع تھے`;
        +                return `بہت بڑا: ${issue.origin ?? "ویلیو"} کا ${adj}${issue.maximum.toString()} ہونا متوقع تھا`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `بہت چھوٹا: ${issue.origin} کے ${adj}${issue.minimum.toString()} ${sizing.unit} ہونے متوقع تھے`;
        +                }
        +                return `بہت چھوٹا: ${issue.origin} کا ${adj}${issue.minimum.toString()} ہونا متوقع تھا`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `غلط سٹرنگ: "${_issue.prefix}" سے شروع ہونا چاہیے`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `غلط سٹرنگ: "${_issue.suffix}" پر ختم ہونا چاہیے`;
        +                if (_issue.format === "includes")
        +                    return `غلط سٹرنگ: "${_issue.includes}" شامل ہونا چاہیے`;
        +                if (_issue.format === "regex")
        +                    return `غلط سٹرنگ: پیٹرن ${_issue.pattern} سے میچ ہونا چاہیے`;
        +                return `غلط ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `غلط نمبر: ${issue.divisor} کا مضاعف ہونا چاہیے`;
        +            case "unrecognized_keys":
        +                return `غیر تسلیم شدہ کی${issue.keys.length > 1 ? "ز" : ""}: ${ur_util.joinValues(issue.keys, "، ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} میں غلط کی`;
        +            case "invalid_union":
        +                return "غلط ان پٹ";
        +            case "invalid_element":
        +                return `${issue.origin} میں غلط ویلیو`;
        +            default:
        +                return `غلط ان پٹ`;
        +        }
        +    };
        +};
        +/* harmony default export */ function ur() {
        +    return {
        +        localeError: ur_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/uz.js
        +/* unused harmony import specifier */ var uz_util;
        +
        +const uz_error = () => {
        +    const Sizable = {
        +        string: { unit: "belgi", verb: "bo‘lishi kerak" },
        +        file: { unit: "bayt", verb: "bo‘lishi kerak" },
        +        array: { unit: "element", verb: "bo‘lishi kerak" },
        +        set: { unit: "element", verb: "bo‘lishi kerak" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "kirish",
        +        email: "elektron pochta manzili",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO sana va vaqti",
        +        date: "ISO sana",
        +        time: "ISO vaqt",
        +        duration: "ISO davomiylik",
        +        ipv4: "IPv4 manzil",
        +        ipv6: "IPv6 manzil",
        +        mac: "MAC manzil",
        +        cidrv4: "IPv4 diapazon",
        +        cidrv6: "IPv6 diapazon",
        +        base64: "base64 kodlangan satr",
        +        base64url: "base64url kodlangan satr",
        +        json_string: "JSON satr",
        +        e164: "E.164 raqam",
        +        jwt: "JWT",
        +        template_literal: "kirish",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "raqam",
        +        array: "massiv",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = uz_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Noto‘g‘ri kirish: kutilgan instanceof ${issue.expected}, qabul qilingan ${received}`;
        +                }
        +                return `Noto‘g‘ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Noto‘g‘ri kirish: kutilgan ${uz_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Noto‘g‘ri variant: quyidagilardan biri kutilgan ${uz_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Juda katta: kutilgan ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
        +                return `Juda katta: kutilgan ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
        +                }
        +                return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Noto‘g‘ri satr: "${_issue.prefix}" bilan boshlanishi kerak`;
        +                if (_issue.format === "ends_with")
        +                    return `Noto‘g‘ri satr: "${_issue.suffix}" bilan tugashi kerak`;
        +                if (_issue.format === "includes")
        +                    return `Noto‘g‘ri satr: "${_issue.includes}" ni o‘z ichiga olishi kerak`;
        +                if (_issue.format === "regex")
        +                    return `Noto‘g‘ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;
        +                return `Noto‘g‘ri ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Noto‘g‘ri raqam: ${issue.divisor} ning karralisi bo‘lishi kerak`;
        +            case "unrecognized_keys":
        +                return `Noma’lum kalit${issue.keys.length > 1 ? "lar" : ""}: ${uz_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} dagi kalit noto‘g‘ri`;
        +            case "invalid_union":
        +                return "Noto‘g‘ri kirish";
        +            case "invalid_element":
        +                return `${issue.origin} da noto‘g‘ri qiymat`;
        +            default:
        +                return `Noto‘g‘ri kirish`;
        +        }
        +    };
        +};
        +/* harmony default export */ function uz() {
        +    return {
        +        localeError: uz_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/vi.js
        +/* unused harmony import specifier */ var vi_util;
        +
        +const vi_error = () => {
        +    const Sizable = {
        +        string: { unit: "ký tự", verb: "có" },
        +        file: { unit: "byte", verb: "có" },
        +        array: { unit: "phần tử", verb: "có" },
        +        set: { unit: "phần tử", verb: "có" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "đầu vào",
        +        email: "địa chỉ email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ngày giờ ISO",
        +        date: "ngày ISO",
        +        time: "giờ ISO",
        +        duration: "khoảng thời gian ISO",
        +        ipv4: "địa chỉ IPv4",
        +        ipv6: "địa chỉ IPv6",
        +        cidrv4: "dải IPv4",
        +        cidrv6: "dải IPv6",
        +        base64: "chuỗi mã hóa base64",
        +        base64url: "chuỗi mã hóa base64url",
        +        json_string: "chuỗi JSON",
        +        e164: "số E.164",
        +        jwt: "JWT",
        +        template_literal: "đầu vào",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "số",
        +        array: "mảng",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = vi_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Đầu vào không hợp lệ: mong đợi instanceof ${issue.expected}, nhận được ${received}`;
        +                }
        +                return `Đầu vào không hợp lệ: mong đợi ${expected}, nhận được ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Đầu vào không hợp lệ: mong đợi ${vi_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${vi_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Quá lớn: mong đợi ${issue.origin ?? "giá trị"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "phần tử"}`;
        +                return `Quá lớn: mong đợi ${issue.origin ?? "giá trị"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Quá nhỏ: mong đợi ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Quá nhỏ: mong đợi ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Chuỗi không hợp lệ: phải bắt đầu bằng "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Chuỗi không hợp lệ: phải kết thúc bằng "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Chuỗi không hợp lệ: phải bao gồm "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Chuỗi không hợp lệ: phải khớp với mẫu ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} không hợp lệ`;
        +            }
        +            case "not_multiple_of":
        +                return `Số không hợp lệ: phải là bội số của ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Khóa không được nhận dạng: ${vi_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Khóa không hợp lệ trong ${issue.origin}`;
        +            case "invalid_union":
        +                return "Đầu vào không hợp lệ";
        +            case "invalid_element":
        +                return `Giá trị không hợp lệ trong ${issue.origin}`;
        +            default:
        +                return `Đầu vào không hợp lệ`;
        +        }
        +    };
        +};
        +/* harmony default export */ function vi() {
        +    return {
        +        localeError: vi_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/zh-CN.js
        +/* unused harmony import specifier */ var zh_CN_util;
        +
        +const zh_CN_error = () => {
        +    const Sizable = {
        +        string: { unit: "字符", verb: "包含" },
        +        file: { unit: "字节", verb: "包含" },
        +        array: { unit: "项", verb: "包含" },
        +        set: { unit: "项", verb: "包含" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "输入",
        +        email: "电子邮件",
        +        url: "URL",
        +        emoji: "表情符号",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO日期时间",
        +        date: "ISO日期",
        +        time: "ISO时间",
        +        duration: "ISO时长",
        +        ipv4: "IPv4地址",
        +        ipv6: "IPv6地址",
        +        cidrv4: "IPv4网段",
        +        cidrv6: "IPv6网段",
        +        base64: "base64编码字符串",
        +        base64url: "base64url编码字符串",
        +        json_string: "JSON字符串",
        +        e164: "E.164号码",
        +        jwt: "JWT",
        +        template_literal: "输入",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "数字",
        +        array: "数组",
        +        null: "空值(null)",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = zh_CN_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `无效输入:期望 instanceof ${issue.expected},实际接收 ${received}`;
        +                }
        +                return `无效输入:期望 ${expected},实际接收 ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `无效输入:期望 ${zh_CN_util.stringifyPrimitive(issue.values[0])}`;
        +                return `无效选项:期望以下之一 ${zh_CN_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `数值过大:期望 ${issue.origin ?? "值"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "个元素"}`;
        +                return `数值过大:期望 ${issue.origin ?? "值"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `数值过小:期望 ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `数值过小:期望 ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `无效字符串:必须以 "${_issue.prefix}" 开头`;
        +                if (_issue.format === "ends_with")
        +                    return `无效字符串:必须以 "${_issue.suffix}" 结尾`;
        +                if (_issue.format === "includes")
        +                    return `无效字符串:必须包含 "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `无效字符串:必须满足正则表达式 ${_issue.pattern}`;
        +                return `无效${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `无效数字:必须是 ${issue.divisor} 的倍数`;
        +            case "unrecognized_keys":
        +                return `出现未知的键(key): ${zh_CN_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} 中的键(key)无效`;
        +            case "invalid_union":
        +                return "无效输入";
        +            case "invalid_element":
        +                return `${issue.origin} 中包含无效值(value)`;
        +            default:
        +                return `无效输入`;
        +        }
        +    };
        +};
        +/* harmony default export */ function zh_CN() {
        +    return {
        +        localeError: zh_CN_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/zh-TW.js
        +/* unused harmony import specifier */ var zh_TW_util;
        +
        +const zh_TW_error = () => {
        +    const Sizable = {
        +        string: { unit: "字元", verb: "擁有" },
        +        file: { unit: "位元組", verb: "擁有" },
        +        array: { unit: "項目", verb: "擁有" },
        +        set: { unit: "項目", verb: "擁有" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "輸入",
        +        email: "郵件地址",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO 日期時間",
        +        date: "ISO 日期",
        +        time: "ISO 時間",
        +        duration: "ISO 期間",
        +        ipv4: "IPv4 位址",
        +        ipv6: "IPv6 位址",
        +        cidrv4: "IPv4 範圍",
        +        cidrv6: "IPv6 範圍",
        +        base64: "base64 編碼字串",
        +        base64url: "base64url 編碼字串",
        +        json_string: "JSON 字串",
        +        e164: "E.164 數值",
        +        jwt: "JWT",
        +        template_literal: "輸入",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = zh_TW_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `無效的輸入值:預期為 instanceof ${issue.expected},但收到 ${received}`;
        +                }
        +                return `無效的輸入值:預期為 ${expected},但收到 ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `無效的輸入值:預期為 ${zh_TW_util.stringifyPrimitive(issue.values[0])}`;
        +                return `無效的選項:預期為以下其中之一 ${zh_TW_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `數值過大:預期 ${issue.origin ?? "值"} 應為 ${adj}${issue.maximum.toString()} ${sizing.unit ?? "個元素"}`;
        +                return `數值過大:預期 ${issue.origin ?? "值"} 應為 ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `數值過小:預期 ${issue.origin} 應為 ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `數值過小:預期 ${issue.origin} 應為 ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `無效的字串:必須以 "${_issue.prefix}" 開頭`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `無效的字串:必須以 "${_issue.suffix}" 結尾`;
        +                if (_issue.format === "includes")
        +                    return `無效的字串:必須包含 "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `無效的字串:必須符合格式 ${_issue.pattern}`;
        +                return `無效的 ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `無效的數字:必須為 ${issue.divisor} 的倍數`;
        +            case "unrecognized_keys":
        +                return `無法識別的鍵值${issue.keys.length > 1 ? "們" : ""}:${zh_TW_util.joinValues(issue.keys, "、")}`;
        +            case "invalid_key":
        +                return `${issue.origin} 中有無效的鍵值`;
        +            case "invalid_union":
        +                return "無效的輸入值";
        +            case "invalid_element":
        +                return `${issue.origin} 中有無效的值`;
        +            default:
        +                return `無效的輸入值`;
        +        }
        +    };
        +};
        +/* harmony default export */ function zh_TW() {
        +    return {
        +        localeError: zh_TW_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/yo.js
        +/* unused harmony import specifier */ var yo_util;
        +
        +const yo_error = () => {
        +    const Sizable = {
        +        string: { unit: "àmi", verb: "ní" },
        +        file: { unit: "bytes", verb: "ní" },
        +        array: { unit: "nkan", verb: "ní" },
        +        set: { unit: "nkan", verb: "ní" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ẹ̀rọ ìbáwọlé",
        +        email: "àdírẹ́sì ìmẹ́lì",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "àkókò ISO",
        +        date: "ọjọ́ ISO",
        +        time: "àkókò ISO",
        +        duration: "àkókò tó pé ISO",
        +        ipv4: "àdírẹ́sì IPv4",
        +        ipv6: "àdírẹ́sì IPv6",
        +        cidrv4: "àgbègbè IPv4",
        +        cidrv6: "àgbègbè IPv6",
        +        base64: "ọ̀rọ̀ tí a kọ́ ní base64",
        +        base64url: "ọ̀rọ̀ base64url",
        +        json_string: "ọ̀rọ̀ JSON",
        +        e164: "nọ́mbà E.164",
        +        jwt: "JWT",
        +        template_literal: "ẹ̀rọ ìbáwọlé",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nọ́mbà",
        +        array: "akopọ",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = yo_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${issue.expected}, àmọ̀ a rí ${received}`;
        +                }
        +                return `Ìbáwọlé aṣìṣe: a ní láti fi ${expected}, àmọ̀ a rí ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ìbáwọlé aṣìṣe: a ní láti fi ${yo_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Àṣàyàn aṣìṣe: yan ọ̀kan lára ${yo_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Tó pọ̀ jù: a ní láti jẹ́ pé ${issue.origin ?? "iye"} ${sizing.verb} ${adj}${issue.maximum} ${sizing.unit}`;
        +                return `Tó pọ̀ jù: a ní láti jẹ́ ${adj}${issue.maximum}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Kéré ju: a ní láti jẹ́ pé ${issue.origin} ${sizing.verb} ${adj}${issue.minimum} ${sizing.unit}`;
        +                return `Kéré ju: a ní láti jẹ́ ${adj}${issue.minimum}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${_issue.pattern}`;
        +                return `Aṣìṣe: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Bọtìnì àìmọ̀: ${yo_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Bọtìnì aṣìṣe nínú ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ìbáwọlé aṣìṣe";
        +            case "invalid_element":
        +                return `Iye aṣìṣe nínú ${issue.origin}`;
        +            default:
        +                return "Ìbáwọlé aṣìṣe";
        +        }
        +    };
        +};
        +/* harmony default export */ function yo() {
        +    return {
        +        localeError: yo_error(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod/v4/locales/index.js
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +;// ../commons/node_modules/zod/v4/core/registries.js
        +var registries_a;
        +const $output = Symbol("ZodOutput");
        +const $input = Symbol("ZodInput");
        +class $ZodRegistry {
        +    constructor() {
        +        this._map = new WeakMap();
        +        this._idmap = new Map();
        +    }
        +    add(schema, ..._meta) {
        +        const meta = _meta[0];
        +        this._map.set(schema, meta);
        +        if (meta && typeof meta === "object" && "id" in meta) {
        +            this._idmap.set(meta.id, schema);
        +        }
        +        return this;
        +    }
        +    clear() {
        +        this._map = new WeakMap();
        +        this._idmap = new Map();
        +        return this;
        +    }
        +    remove(schema) {
        +        const meta = this._map.get(schema);
        +        if (meta && typeof meta === "object" && "id" in meta) {
        +            this._idmap.delete(meta.id);
        +        }
        +        this._map.delete(schema);
        +        return this;
        +    }
        +    get(schema) {
        +        // return this._map.get(schema) as any;
        +        // inherit metadata
        +        const p = schema._zod.parent;
        +        if (p) {
        +            const pm = { ...(this.get(p) ?? {}) };
        +            delete pm.id; // do not inherit id
        +            const f = { ...pm, ...this._map.get(schema) };
        +            return Object.keys(f).length ? f : undefined;
        +        }
        +        return this._map.get(schema);
        +    }
        +    has(schema) {
        +        return this._map.has(schema);
        +    }
        +}
        +// registries
        +function registry() {
        +    return new $ZodRegistry();
        +}
        +(registries_a = globalThis).__zod_globalRegistry ?? (registries_a.__zod_globalRegistry = registry());
        +const globalRegistry = globalThis.__zod_globalRegistry;
        +
        +;// ../commons/node_modules/zod/v4/core/api.js
        +/* unused harmony import specifier */ var schemas;
        +/* unused harmony import specifier */ var api_util;
        +
        +
        +
        +
        +// @__NO_SIDE_EFFECTS__
        +function _string(Class, params) {
        +    return new Class({
        +        type: "string",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _coercedString(Class, params) {
        +    return new Class({
        +        type: "string",
        +        coerce: true,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _email(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "email",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _guid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "guid",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _uuid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _uuidv4(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        version: "v4",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _uuidv6(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        version: "v6",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _uuidv7(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        version: "v7",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _url(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "url",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_emoji(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "emoji",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _nanoid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "nanoid",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _cuid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cuid",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _cuid2(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cuid2",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _ulid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ulid",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _xid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "xid",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _ksuid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ksuid",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _ipv4(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ipv4",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _ipv6(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ipv6",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _mac(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "mac",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _cidrv4(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cidrv4",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _cidrv6(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cidrv6",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _base64(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "base64",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _base64url(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "base64url",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _e164(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "e164",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _jwt(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "jwt",
        +        check: "string_format",
        +        abort: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +const TimePrecision = {
        +    Any: null,
        +    Minute: -1,
        +    Second: 0,
        +    Millisecond: 3,
        +    Microsecond: 6,
        +};
        +// @__NO_SIDE_EFFECTS__
        +function _isoDateTime(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "datetime",
        +        check: "string_format",
        +        offset: false,
        +        local: false,
        +        precision: null,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _isoDate(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "date",
        +        check: "string_format",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _isoTime(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "time",
        +        check: "string_format",
        +        precision: null,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _isoDuration(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "duration",
        +        check: "string_format",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _number(Class, params) {
        +    return new Class({
        +        type: "number",
        +        checks: [],
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _coercedNumber(Class, params) {
        +    return new Class({
        +        type: "number",
        +        coerce: true,
        +        checks: [],
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _int(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "safeint",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _float32(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "float32",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _float64(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "float64",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _int32(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "int32",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _uint32(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "uint32",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _boolean(Class, params) {
        +    return new Class({
        +        type: "boolean",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _coercedBoolean(Class, params) {
        +    return new Class({
        +        type: "boolean",
        +        coerce: true,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _bigint(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _coercedBigint(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        coerce: true,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _int64(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        check: "bigint_format",
        +        abort: false,
        +        format: "int64",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _uint64(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        check: "bigint_format",
        +        abort: false,
        +        format: "uint64",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _symbol(Class, params) {
        +    return new Class({
        +        type: "symbol",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_undefined(Class, params) {
        +    return new Class({
        +        type: "undefined",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_null(Class, params) {
        +    return new Class({
        +        type: "null",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _any(Class) {
        +    return new Class({
        +        type: "any",
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _unknown(Class) {
        +    return new Class({
        +        type: "unknown",
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _never(Class, params) {
        +    return new Class({
        +        type: "never",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _void(Class, params) {
        +    return new Class({
        +        type: "void",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _date(Class, params) {
        +    return new Class({
        +        type: "date",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _coercedDate(Class, params) {
        +    return new Class({
        +        type: "date",
        +        coerce: true,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _nan(Class, params) {
        +    return new Class({
        +        type: "nan",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _lt(value, params) {
        +    return new $ZodCheckLessThan({
        +        check: "less_than",
        +        ...normalizeParams(params),
        +        value,
        +        inclusive: false,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _lte(value, params) {
        +    return new $ZodCheckLessThan({
        +        check: "less_than",
        +        ...normalizeParams(params),
        +        value,
        +        inclusive: true,
        +    });
        +}
        +
        +// @__NO_SIDE_EFFECTS__
        +function _gt(value, params) {
        +    return new $ZodCheckGreaterThan({
        +        check: "greater_than",
        +        ...normalizeParams(params),
        +        value,
        +        inclusive: false,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _gte(value, params) {
        +    return new $ZodCheckGreaterThan({
        +        check: "greater_than",
        +        ...normalizeParams(params),
        +        value,
        +        inclusive: true,
        +    });
        +}
        +
        +// @__NO_SIDE_EFFECTS__
        +function _positive(params) {
        +    return _gt(0, params);
        +}
        +// negative
        +// @__NO_SIDE_EFFECTS__
        +function _negative(params) {
        +    return _lt(0, params);
        +}
        +// nonpositive
        +// @__NO_SIDE_EFFECTS__
        +function _nonpositive(params) {
        +    return _lte(0, params);
        +}
        +// nonnegative
        +// @__NO_SIDE_EFFECTS__
        +function _nonnegative(params) {
        +    return _gte(0, params);
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _multipleOf(value, params) {
        +    return new $ZodCheckMultipleOf({
        +        check: "multiple_of",
        +        ...normalizeParams(params),
        +        value,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _maxSize(maximum, params) {
        +    return new $ZodCheckMaxSize({
        +        check: "max_size",
        +        ...normalizeParams(params),
        +        maximum,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _minSize(minimum, params) {
        +    return new $ZodCheckMinSize({
        +        check: "min_size",
        +        ...normalizeParams(params),
        +        minimum,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _size(size, params) {
        +    return new $ZodCheckSizeEquals({
        +        check: "size_equals",
        +        ...normalizeParams(params),
        +        size,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _maxLength(maximum, params) {
        +    const ch = new $ZodCheckMaxLength({
        +        check: "max_length",
        +        ...normalizeParams(params),
        +        maximum,
        +    });
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _minLength(minimum, params) {
        +    return new $ZodCheckMinLength({
        +        check: "min_length",
        +        ...normalizeParams(params),
        +        minimum,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _length(length, params) {
        +    return new $ZodCheckLengthEquals({
        +        check: "length_equals",
        +        ...normalizeParams(params),
        +        length,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _regex(pattern, params) {
        +    return new $ZodCheckRegex({
        +        check: "string_format",
        +        format: "regex",
        +        ...normalizeParams(params),
        +        pattern,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _lowercase(params) {
        +    return new $ZodCheckLowerCase({
        +        check: "string_format",
        +        format: "lowercase",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _uppercase(params) {
        +    return new $ZodCheckUpperCase({
        +        check: "string_format",
        +        format: "uppercase",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _includes(includes, params) {
        +    return new $ZodCheckIncludes({
        +        check: "string_format",
        +        format: "includes",
        +        ...normalizeParams(params),
        +        includes,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _startsWith(prefix, params) {
        +    return new $ZodCheckStartsWith({
        +        check: "string_format",
        +        format: "starts_with",
        +        ...normalizeParams(params),
        +        prefix,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _endsWith(suffix, params) {
        +    return new $ZodCheckEndsWith({
        +        check: "string_format",
        +        format: "ends_with",
        +        ...normalizeParams(params),
        +        suffix,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _property(property, schema, params) {
        +    return new $ZodCheckProperty({
        +        check: "property",
        +        property,
        +        schema,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _mime(types, params) {
        +    return new $ZodCheckMimeType({
        +        check: "mime_type",
        +        mime: types,
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _overwrite(tx) {
        +    return new $ZodCheckOverwrite({
        +        check: "overwrite",
        +        tx,
        +    });
        +}
        +// normalize
        +// @__NO_SIDE_EFFECTS__
        +function _normalize(form) {
        +    return _overwrite((input) => input.normalize(form));
        +}
        +// trim
        +// @__NO_SIDE_EFFECTS__
        +function _trim() {
        +    return _overwrite((input) => input.trim());
        +}
        +// toLowerCase
        +// @__NO_SIDE_EFFECTS__
        +function _toLowerCase() {
        +    return _overwrite((input) => input.toLowerCase());
        +}
        +// toUpperCase
        +// @__NO_SIDE_EFFECTS__
        +function _toUpperCase() {
        +    return _overwrite((input) => input.toUpperCase());
        +}
        +// slugify
        +// @__NO_SIDE_EFFECTS__
        +function _slugify() {
        +    return _overwrite((input) => slugify(input));
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _array(Class, element, params) {
        +    return new Class({
        +        type: "array",
        +        element,
        +        // get element() {
        +        //   return element;
        +        // },
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _union(Class, options, params) {
        +    return new Class({
        +        type: "union",
        +        options,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +function _xor(Class, options, params) {
        +    return new Class({
        +        type: "union",
        +        options,
        +        inclusive: false,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _discriminatedUnion(Class, discriminator, options, params) {
        +    return new Class({
        +        type: "union",
        +        options,
        +        discriminator,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _intersection(Class, left, right) {
        +    return new Class({
        +        type: "intersection",
        +        left,
        +        right,
        +    });
        +}
        +// export function _tuple(
        +//   Class: util.SchemaClass,
        +//   items: [],
        +//   params?: string | $ZodTupleParams
        +// ): schemas.$ZodTuple<[], null>;
        +// @__NO_SIDE_EFFECTS__
        +function _tuple(Class, items, _paramsOrRest, _params) {
        +    const hasRest = _paramsOrRest instanceof schemas.$ZodType;
        +    const params = hasRest ? _params : _paramsOrRest;
        +    const rest = hasRest ? _paramsOrRest : null;
        +    return new Class({
        +        type: "tuple",
        +        items,
        +        rest,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _record(Class, keyType, valueType, params) {
        +    return new Class({
        +        type: "record",
        +        keyType,
        +        valueType,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _map(Class, keyType, valueType, params) {
        +    return new Class({
        +        type: "map",
        +        keyType,
        +        valueType,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _set(Class, valueType, params) {
        +    return new Class({
        +        type: "set",
        +        valueType,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _enum(Class, values, params) {
        +    const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
        +    // if (Array.isArray(values)) {
        +    //   for (const value of values) {
        +    //     entries[value] = value;
        +    //   }
        +    // } else {
        +    //   Object.assign(entries, values);
        +    // }
        +    // const entries: util.EnumLike = {};
        +    // for (const val of values) {
        +    //   entries[val] = val;
        +    // }
        +    return new Class({
        +        type: "enum",
        +        entries,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.
        + *
        + * ```ts
        + * enum Colors { red, green, blue }
        + * z.enum(Colors);
        + * ```
        + */
        +function _nativeEnum(Class, entries, params) {
        +    return new Class({
        +        type: "enum",
        +        entries,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _literal(Class, value, params) {
        +    return new Class({
        +        type: "literal",
        +        values: Array.isArray(value) ? value : [value],
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _file(Class, params) {
        +    return new Class({
        +        type: "file",
        +        ...normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _transform(Class, fn) {
        +    return new Class({
        +        type: "transform",
        +        transform: fn,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _optional(Class, innerType) {
        +    return new Class({
        +        type: "optional",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _nullable(Class, innerType) {
        +    return new Class({
        +        type: "nullable",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _default(Class, innerType, defaultValue) {
        +    return new Class({
        +        type: "default",
        +        innerType,
        +        get defaultValue() {
        +            return typeof defaultValue === "function" ? defaultValue() : api_util.shallowClone(defaultValue);
        +        },
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _nonoptional(Class, innerType, params) {
        +    return new Class({
        +        type: "nonoptional",
        +        innerType,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _success(Class, innerType) {
        +    return new Class({
        +        type: "success",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _catch(Class, innerType, catchValue) {
        +    return new Class({
        +        type: "catch",
        +        innerType,
        +        catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _pipe(Class, in_, out) {
        +    return new Class({
        +        type: "pipe",
        +        in: in_,
        +        out,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _readonly(Class, innerType) {
        +    return new Class({
        +        type: "readonly",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _templateLiteral(Class, parts, params) {
        +    return new Class({
        +        type: "template_literal",
        +        parts,
        +        ...api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _lazy(Class, getter) {
        +    return new Class({
        +        type: "lazy",
        +        getter,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _promise(Class, innerType) {
        +    return new Class({
        +        type: "promise",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _custom(Class, fn, _params) {
        +    const norm = normalizeParams(_params);
        +    norm.abort ?? (norm.abort = true); // default to abort:false
        +    const schema = new Class({
        +        type: "custom",
        +        check: "custom",
        +        fn: fn,
        +        ...norm,
        +    });
        +    return schema;
        +}
        +// same as _custom but defaults to abort:false
        +// @__NO_SIDE_EFFECTS__
        +function _refine(Class, fn, _params) {
        +    const schema = new Class({
        +        type: "custom",
        +        check: "custom",
        +        fn: fn,
        +        ...normalizeParams(_params),
        +    });
        +    return schema;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _superRefine(fn) {
        +    const ch = _check((payload) => {
        +        payload.addIssue = (issue) => {
        +            if (typeof issue === "string") {
        +                payload.issues.push(util_issue(issue, payload.value, ch._zod.def));
        +            }
        +            else {
        +                // for Zod 3 backwards compatibility
        +                const _issue = issue;
        +                if (_issue.fatal)
        +                    _issue.continue = false;
        +                _issue.code ?? (_issue.code = "custom");
        +                _issue.input ?? (_issue.input = payload.value);
        +                _issue.inst ?? (_issue.inst = ch);
        +                _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...
        +                payload.issues.push(util_issue(_issue));
        +            }
        +        };
        +        return fn(payload.value, payload);
        +    });
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _check(fn, params) {
        +    const ch = new $ZodCheck({
        +        check: "custom",
        +        ...normalizeParams(params),
        +    });
        +    ch._zod.check = fn;
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function describe(description) {
        +    const ch = new $ZodCheck({ check: "describe" });
        +    ch._zod.onattach = [
        +        (inst) => {
        +            const existing = globalRegistry.get(inst) ?? {};
        +            globalRegistry.add(inst, { ...existing, description });
        +        },
        +    ];
        +    ch._zod.check = () => { }; // no-op check
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function meta(metadata) {
        +    const ch = new $ZodCheck({ check: "meta" });
        +    ch._zod.onattach = [
        +        (inst) => {
        +            const existing = globalRegistry.get(inst) ?? {};
        +            globalRegistry.add(inst, { ...existing, ...metadata });
        +        },
        +    ];
        +    ch._zod.check = () => { }; // no-op check
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _stringbool(Classes, _params) {
        +    const params = normalizeParams(_params);
        +    let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
        +    let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"];
        +    if (params.case !== "sensitive") {
        +        truthyArray = truthyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
        +        falsyArray = falsyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
        +    }
        +    const truthySet = new Set(truthyArray);
        +    const falsySet = new Set(falsyArray);
        +    const _Codec = Classes.Codec ?? $ZodCodec;
        +    const _Boolean = Classes.Boolean ?? $ZodBoolean;
        +    const _String = Classes.String ?? $ZodString;
        +    const stringSchema = new _String({ type: "string", error: params.error });
        +    const booleanSchema = new _Boolean({ type: "boolean", error: params.error });
        +    const codec = new _Codec({
        +        type: "pipe",
        +        in: stringSchema,
        +        out: booleanSchema,
        +        transform: ((input, payload) => {
        +            let data = input;
        +            if (params.case !== "sensitive")
        +                data = data.toLowerCase();
        +            if (truthySet.has(data)) {
        +                return true;
        +            }
        +            else if (falsySet.has(data)) {
        +                return false;
        +            }
        +            else {
        +                payload.issues.push({
        +                    code: "invalid_value",
        +                    expected: "stringbool",
        +                    values: [...truthySet, ...falsySet],
        +                    input: payload.value,
        +                    inst: codec,
        +                    continue: false,
        +                });
        +                return {};
        +            }
        +        }),
        +        reverseTransform: ((input, _payload) => {
        +            if (input === true) {
        +                return truthyArray[0] || "true";
        +            }
        +            else {
        +                return falsyArray[0] || "false";
        +            }
        +        }),
        +        error: params.error,
        +    });
        +    return codec;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function _stringFormat(Class, format, fnOrRegex, _params = {}) {
        +    const params = normalizeParams(_params);
        +    const def = {
        +        ...normalizeParams(_params),
        +        check: "string_format",
        +        type: "string",
        +        format,
        +        fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
        +        ...params,
        +    };
        +    if (fnOrRegex instanceof RegExp) {
        +        def.pattern = fnOrRegex;
        +    }
        +    const inst = new Class(def);
        +    return inst;
        +}
        +
        +;// ../commons/node_modules/zod/v4/core/to-json-schema.js
        +
        +// function initializeContext(inputs: JSONSchemaGeneratorParams): ToJSONSchemaContext {
        +//   return {
        +//     processor: inputs.processor,
        +//     metadataRegistry: inputs.metadata ?? globalRegistry,
        +//     target: inputs.target ?? "draft-2020-12",
        +//     unrepresentable: inputs.unrepresentable ?? "throw",
        +//   };
        +// }
        +function initializeContext(params) {
        +    // Normalize target: convert old non-hyphenated versions to hyphenated versions
        +    let target = params?.target ?? "draft-2020-12";
        +    if (target === "draft-4")
        +        target = "draft-04";
        +    if (target === "draft-7")
        +        target = "draft-07";
        +    return {
        +        processors: params.processors ?? {},
        +        metadataRegistry: params?.metadata ?? globalRegistry,
        +        target,
        +        unrepresentable: params?.unrepresentable ?? "throw",
        +        override: params?.override ?? (() => { }),
        +        io: params?.io ?? "output",
        +        counter: 0,
        +        seen: new Map(),
        +        cycles: params?.cycles ?? "ref",
        +        reused: params?.reused ?? "inline",
        +        external: params?.external ?? undefined,
        +    };
        +}
        +function to_json_schema_process(schema, ctx, _params = { path: [], schemaPath: [] }) {
        +    var _a;
        +    const def = schema._zod.def;
        +    // check for schema in seens
        +    const seen = ctx.seen.get(schema);
        +    if (seen) {
        +        seen.count++;
        +        // check if cycle
        +        const isCycle = _params.schemaPath.includes(schema);
        +        if (isCycle) {
        +            seen.cycle = _params.path;
        +        }
        +        return seen.schema;
        +    }
        +    // initialize
        +    const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };
        +    ctx.seen.set(schema, result);
        +    // custom method overrides default behavior
        +    const overrideSchema = schema._zod.toJSONSchema?.();
        +    if (overrideSchema) {
        +        result.schema = overrideSchema;
        +    }
        +    else {
        +        const params = {
        +            ..._params,
        +            schemaPath: [..._params.schemaPath, schema],
        +            path: _params.path,
        +        };
        +        if (schema._zod.processJSONSchema) {
        +            schema._zod.processJSONSchema(ctx, result.schema, params);
        +        }
        +        else {
        +            const _json = result.schema;
        +            const processor = ctx.processors[def.type];
        +            if (!processor) {
        +                throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);
        +            }
        +            processor(schema, ctx, _json, params);
        +        }
        +        const parent = schema._zod.parent;
        +        if (parent) {
        +            // Also set ref if processor didn't (for inheritance)
        +            if (!result.ref)
        +                result.ref = parent;
        +            to_json_schema_process(parent, ctx, params);
        +            ctx.seen.get(parent).isParent = true;
        +        }
        +    }
        +    // metadata
        +    const meta = ctx.metadataRegistry.get(schema);
        +    if (meta)
        +        Object.assign(result.schema, meta);
        +    if (ctx.io === "input" && isTransforming(schema)) {
        +        // examples/defaults only apply to output type of pipe
        +        delete result.schema.examples;
        +        delete result.schema.default;
        +    }
        +    // set prefault as default
        +    if (ctx.io === "input" && result.schema._prefault)
        +        (_a = result.schema).default ?? (_a.default = result.schema._prefault);
        +    delete result.schema._prefault;
        +    // pulling fresh from ctx.seen in case it was overwritten
        +    const _result = ctx.seen.get(schema);
        +    return _result.schema;
        +}
        +function extractDefs(ctx, schema
        +// params: EmitParams
        +) {
        +    // iterate over seen map;
        +    const root = ctx.seen.get(schema);
        +    if (!root)
        +        throw new Error("Unprocessed schema. This is a bug in Zod.");
        +    // Track ids to detect duplicates across different schemas
        +    const idToSchema = new Map();
        +    for (const entry of ctx.seen.entries()) {
        +        const id = ctx.metadataRegistry.get(entry[0])?.id;
        +        if (id) {
        +            const existing = idToSchema.get(id);
        +            if (existing && existing !== entry[0]) {
        +                throw new Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);
        +            }
        +            idToSchema.set(id, entry[0]);
        +        }
        +    }
        +    // returns a ref to the schema
        +    // defId will be empty if the ref points to an external schema (or #)
        +    const makeURI = (entry) => {
        +        // comparing the seen objects because sometimes
        +        // multiple schemas map to the same seen object.
        +        // e.g. lazy
        +        // external is configured
        +        const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions";
        +        if (ctx.external) {
        +            const externalId = ctx.external.registry.get(entry[0])?.id; // ?? "__shared";// `__schema${ctx.counter++}`;
        +            // check if schema is in the external registry
        +            const uriGenerator = ctx.external.uri ?? ((id) => id);
        +            if (externalId) {
        +                return { ref: uriGenerator(externalId) };
        +            }
        +            // otherwise, add to __shared
        +            const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;
        +            entry[1].defId = id; // set defId so it will be reused if needed
        +            return { defId: id, ref: `${uriGenerator("__shared")}#/${defsSegment}/${id}` };
        +        }
        +        if (entry[1] === root) {
        +            return { ref: "#" };
        +        }
        +        // self-contained schema
        +        const uriPrefix = `#`;
        +        const defUriPrefix = `${uriPrefix}/${defsSegment}/`;
        +        const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;
        +        return { defId, ref: defUriPrefix + defId };
        +    };
        +    // stored cached version in `def` property
        +    // remove all properties, set $ref
        +    const extractToDef = (entry) => {
        +        // if the schema is already a reference, do not extract it
        +        if (entry[1].schema.$ref) {
        +            return;
        +        }
        +        const seen = entry[1];
        +        const { ref, defId } = makeURI(entry);
        +        seen.def = { ...seen.schema };
        +        // defId won't be set if the schema is a reference to an external schema
        +        // or if the schema is the root schema
        +        if (defId)
        +            seen.defId = defId;
        +        // wipe away all properties except $ref
        +        const schema = seen.schema;
        +        for (const key in schema) {
        +            delete schema[key];
        +        }
        +        schema.$ref = ref;
        +    };
        +    // throw on cycles
        +    // break cycles
        +    if (ctx.cycles === "throw") {
        +        for (const entry of ctx.seen.entries()) {
        +            const seen = entry[1];
        +            if (seen.cycle) {
        +                throw new Error("Cycle detected: " +
        +                    `#/${seen.cycle?.join("/")}/` +
        +                    '\n\nSet the `cycles` parameter to `"ref"` to resolve cyclical schemas with defs.');
        +            }
        +        }
        +    }
        +    // extract schemas into $defs
        +    for (const entry of ctx.seen.entries()) {
        +        const seen = entry[1];
        +        // convert root schema to # $ref
        +        if (schema === entry[0]) {
        +            extractToDef(entry); // this has special handling for the root schema
        +            continue;
        +        }
        +        // extract schemas that are in the external registry
        +        if (ctx.external) {
        +            const ext = ctx.external.registry.get(entry[0])?.id;
        +            if (schema !== entry[0] && ext) {
        +                extractToDef(entry);
        +                continue;
        +            }
        +        }
        +        // extract schemas with `id` meta
        +        const id = ctx.metadataRegistry.get(entry[0])?.id;
        +        if (id) {
        +            extractToDef(entry);
        +            continue;
        +        }
        +        // break cycles
        +        if (seen.cycle) {
        +            // any
        +            extractToDef(entry);
        +            continue;
        +        }
        +        // extract reused schemas
        +        if (seen.count > 1) {
        +            if (ctx.reused === "ref") {
        +                extractToDef(entry);
        +                // biome-ignore lint:
        +                continue;
        +            }
        +        }
        +    }
        +}
        +function finalize(ctx, schema) {
        +    const root = ctx.seen.get(schema);
        +    if (!root)
        +        throw new Error("Unprocessed schema. This is a bug in Zod.");
        +    // flatten refs - inherit properties from parent schemas
        +    const flattenRef = (zodSchema) => {
        +        const seen = ctx.seen.get(zodSchema);
        +        // already processed
        +        if (seen.ref === null)
        +            return;
        +        const schema = seen.def ?? seen.schema;
        +        const _cached = { ...schema };
        +        const ref = seen.ref;
        +        seen.ref = null; // prevent infinite recursion
        +        if (ref) {
        +            flattenRef(ref);
        +            const refSeen = ctx.seen.get(ref);
        +            const refSchema = refSeen.schema;
        +            // merge referenced schema into current
        +            if (refSchema.$ref && (ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0")) {
        +                // older drafts can't combine $ref with other properties
        +                schema.allOf = schema.allOf ?? [];
        +                schema.allOf.push(refSchema);
        +            }
        +            else {
        +                Object.assign(schema, refSchema);
        +            }
        +            // restore child's own properties (child wins)
        +            Object.assign(schema, _cached);
        +            const isParentRef = zodSchema._zod.parent === ref;
        +            // For parent chain, child is a refinement - remove parent-only properties
        +            if (isParentRef) {
        +                for (const key in schema) {
        +                    if (key === "$ref" || key === "allOf")
        +                        continue;
        +                    if (!(key in _cached)) {
        +                        delete schema[key];
        +                    }
        +                }
        +            }
        +            // When ref was extracted to $defs, remove properties that match the definition
        +            if (refSchema.$ref && refSeen.def) {
        +                for (const key in schema) {
        +                    if (key === "$ref" || key === "allOf")
        +                        continue;
        +                    if (key in refSeen.def && JSON.stringify(schema[key]) === JSON.stringify(refSeen.def[key])) {
        +                        delete schema[key];
        +                    }
        +                }
        +            }
        +        }
        +        // If parent was extracted (has $ref), propagate $ref to this schema
        +        // This handles cases like: readonly().meta({id}).describe()
        +        // where processor sets ref to innerType but parent should be referenced
        +        const parent = zodSchema._zod.parent;
        +        if (parent && parent !== ref) {
        +            // Ensure parent is processed first so its def has inherited properties
        +            flattenRef(parent);
        +            const parentSeen = ctx.seen.get(parent);
        +            if (parentSeen?.schema.$ref) {
        +                schema.$ref = parentSeen.schema.$ref;
        +                // De-duplicate with parent's definition
        +                if (parentSeen.def) {
        +                    for (const key in schema) {
        +                        if (key === "$ref" || key === "allOf")
        +                            continue;
        +                        if (key in parentSeen.def && JSON.stringify(schema[key]) === JSON.stringify(parentSeen.def[key])) {
        +                            delete schema[key];
        +                        }
        +                    }
        +                }
        +            }
        +        }
        +        // execute overrides
        +        ctx.override({
        +            zodSchema: zodSchema,
        +            jsonSchema: schema,
        +            path: seen.path ?? [],
        +        });
        +    };
        +    for (const entry of [...ctx.seen.entries()].reverse()) {
        +        flattenRef(entry[0]);
        +    }
        +    const result = {};
        +    if (ctx.target === "draft-2020-12") {
        +        result.$schema = "https://json-schema.org/draft/2020-12/schema";
        +    }
        +    else if (ctx.target === "draft-07") {
        +        result.$schema = "http://json-schema.org/draft-07/schema#";
        +    }
        +    else if (ctx.target === "draft-04") {
        +        result.$schema = "http://json-schema.org/draft-04/schema#";
        +    }
        +    else if (ctx.target === "openapi-3.0") {
        +        // OpenAPI 3.0 schema objects should not include a $schema property
        +    }
        +    else {
        +        // Arbitrary string values are allowed but won't have a $schema property set
        +    }
        +    if (ctx.external?.uri) {
        +        const id = ctx.external.registry.get(schema)?.id;
        +        if (!id)
        +            throw new Error("Schema is missing an `id` property");
        +        result.$id = ctx.external.uri(id);
        +    }
        +    Object.assign(result, root.def ?? root.schema);
        +    // build defs object
        +    const defs = ctx.external?.defs ?? {};
        +    for (const entry of ctx.seen.entries()) {
        +        const seen = entry[1];
        +        if (seen.def && seen.defId) {
        +            defs[seen.defId] = seen.def;
        +        }
        +    }
        +    // set definitions in result
        +    if (ctx.external) {
        +    }
        +    else {
        +        if (Object.keys(defs).length > 0) {
        +            if (ctx.target === "draft-2020-12") {
        +                result.$defs = defs;
        +            }
        +            else {
        +                result.definitions = defs;
        +            }
        +        }
        +    }
        +    try {
        +        // this "finalizes" this schema and ensures all cycles are removed
        +        // each call to finalize() is functionally independent
        +        // though the seen map is shared
        +        const finalized = JSON.parse(JSON.stringify(result));
        +        Object.defineProperty(finalized, "~standard", {
        +            value: {
        +                ...schema["~standard"],
        +                jsonSchema: {
        +                    input: createStandardJSONSchemaMethod(schema, "input", ctx.processors),
        +                    output: createStandardJSONSchemaMethod(schema, "output", ctx.processors),
        +                },
        +            },
        +            enumerable: false,
        +            writable: false,
        +        });
        +        return finalized;
        +    }
        +    catch (_err) {
        +        throw new Error("Error converting schema to JSON.");
        +    }
        +}
        +function isTransforming(_schema, _ctx) {
        +    const ctx = _ctx ?? { seen: new Set() };
        +    if (ctx.seen.has(_schema))
        +        return false;
        +    ctx.seen.add(_schema);
        +    const def = _schema._zod.def;
        +    if (def.type === "transform")
        +        return true;
        +    if (def.type === "array")
        +        return isTransforming(def.element, ctx);
        +    if (def.type === "set")
        +        return isTransforming(def.valueType, ctx);
        +    if (def.type === "lazy")
        +        return isTransforming(def.getter(), ctx);
        +    if (def.type === "promise" ||
        +        def.type === "optional" ||
        +        def.type === "nonoptional" ||
        +        def.type === "nullable" ||
        +        def.type === "readonly" ||
        +        def.type === "default" ||
        +        def.type === "prefault") {
        +        return isTransforming(def.innerType, ctx);
        +    }
        +    if (def.type === "intersection") {
        +        return isTransforming(def.left, ctx) || isTransforming(def.right, ctx);
        +    }
        +    if (def.type === "record" || def.type === "map") {
        +        return isTransforming(def.keyType, ctx) || isTransforming(def.valueType, ctx);
        +    }
        +    if (def.type === "pipe") {
        +        return isTransforming(def.in, ctx) || isTransforming(def.out, ctx);
        +    }
        +    if (def.type === "object") {
        +        for (const key in def.shape) {
        +            if (isTransforming(def.shape[key], ctx))
        +                return true;
        +        }
        +        return false;
        +    }
        +    if (def.type === "union") {
        +        for (const option of def.options) {
        +            if (isTransforming(option, ctx))
        +                return true;
        +        }
        +        return false;
        +    }
        +    if (def.type === "tuple") {
        +        for (const item of def.items) {
        +            if (isTransforming(item, ctx))
        +                return true;
        +        }
        +        if (def.rest && isTransforming(def.rest, ctx))
        +            return true;
        +        return false;
        +    }
        +    return false;
        +}
        +/**
        + * Creates a toJSONSchema method for a schema instance.
        + * This encapsulates the logic of initializing context, processing, extracting defs, and finalizing.
        + */
        +const createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
        +    const ctx = initializeContext({ ...params, processors });
        +    to_json_schema_process(schema, ctx);
        +    extractDefs(ctx, schema);
        +    return finalize(ctx, schema);
        +};
        +const createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {
        +    const { libraryOptions, target } = params ?? {};
        +    const ctx = initializeContext({ ...(libraryOptions ?? {}), target, io, processors });
        +    to_json_schema_process(schema, ctx);
        +    extractDefs(ctx, schema);
        +    return finalize(ctx, schema);
        +};
        +
        +;// ../commons/node_modules/zod/v4/core/json-schema-processors.js
        +/* unused harmony import specifier */ var json_schema_processors_initializeContext;
        +/* unused harmony import specifier */ var json_schema_processors_process;
        +/* unused harmony import specifier */ var json_schema_processors_extractDefs;
        +/* unused harmony import specifier */ var json_schema_processors_finalize;
        +
        +
        +const formatMap = {
        +    guid: "uuid",
        +    url: "uri",
        +    datetime: "date-time",
        +    json_string: "json-string",
        +    regex: "", // do not set
        +};
        +// ==================== SIMPLE TYPE PROCESSORS ====================
        +const stringProcessor = (schema, ctx, _json, _params) => {
        +    const json = _json;
        +    json.type = "string";
        +    const { minimum, maximum, format, patterns, contentEncoding } = schema._zod
        +        .bag;
        +    if (typeof minimum === "number")
        +        json.minLength = minimum;
        +    if (typeof maximum === "number")
        +        json.maxLength = maximum;
        +    // custom pattern overrides format
        +    if (format) {
        +        json.format = formatMap[format] ?? format;
        +        if (json.format === "")
        +            delete json.format; // empty format is not valid
        +        // JSON Schema format: "time" requires a full time with offset or Z
        +        // z.iso.time() does not include timezone information, so format: "time" should never be used
        +        if (format === "time") {
        +            delete json.format;
        +        }
        +    }
        +    if (contentEncoding)
        +        json.contentEncoding = contentEncoding;
        +    if (patterns && patterns.size > 0) {
        +        const regexes = [...patterns];
        +        if (regexes.length === 1)
        +            json.pattern = regexes[0].source;
        +        else if (regexes.length > 1) {
        +            json.allOf = [
        +                ...regexes.map((regex) => ({
        +                    ...(ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0"
        +                        ? { type: "string" }
        +                        : {}),
        +                    pattern: regex.source,
        +                })),
        +            ];
        +        }
        +    }
        +};
        +const numberProcessor = (schema, ctx, _json, _params) => {
        +    const json = _json;
        +    const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
        +    if (typeof format === "string" && format.includes("int"))
        +        json.type = "integer";
        +    else
        +        json.type = "number";
        +    if (typeof exclusiveMinimum === "number") {
        +        if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
        +            json.minimum = exclusiveMinimum;
        +            json.exclusiveMinimum = true;
        +        }
        +        else {
        +            json.exclusiveMinimum = exclusiveMinimum;
        +        }
        +    }
        +    if (typeof minimum === "number") {
        +        json.minimum = minimum;
        +        if (typeof exclusiveMinimum === "number" && ctx.target !== "draft-04") {
        +            if (exclusiveMinimum >= minimum)
        +                delete json.minimum;
        +            else
        +                delete json.exclusiveMinimum;
        +        }
        +    }
        +    if (typeof exclusiveMaximum === "number") {
        +        if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
        +            json.maximum = exclusiveMaximum;
        +            json.exclusiveMaximum = true;
        +        }
        +        else {
        +            json.exclusiveMaximum = exclusiveMaximum;
        +        }
        +    }
        +    if (typeof maximum === "number") {
        +        json.maximum = maximum;
        +        if (typeof exclusiveMaximum === "number" && ctx.target !== "draft-04") {
        +            if (exclusiveMaximum <= maximum)
        +                delete json.maximum;
        +            else
        +                delete json.exclusiveMaximum;
        +        }
        +    }
        +    if (typeof multipleOf === "number")
        +        json.multipleOf = multipleOf;
        +};
        +const booleanProcessor = (_schema, _ctx, json, _params) => {
        +    json.type = "boolean";
        +};
        +const bigintProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("BigInt cannot be represented in JSON Schema");
        +    }
        +};
        +const symbolProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Symbols cannot be represented in JSON Schema");
        +    }
        +};
        +const nullProcessor = (_schema, ctx, json, _params) => {
        +    if (ctx.target === "openapi-3.0") {
        +        json.type = "string";
        +        json.nullable = true;
        +        json.enum = [null];
        +    }
        +    else {
        +        json.type = "null";
        +    }
        +};
        +const undefinedProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Undefined cannot be represented in JSON Schema");
        +    }
        +};
        +const voidProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Void cannot be represented in JSON Schema");
        +    }
        +};
        +const neverProcessor = (_schema, _ctx, json, _params) => {
        +    json.not = {};
        +};
        +const anyProcessor = (_schema, _ctx, _json, _params) => {
        +    // empty schema accepts anything
        +};
        +const unknownProcessor = (_schema, _ctx, _json, _params) => {
        +    // empty schema accepts anything
        +};
        +const dateProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Date cannot be represented in JSON Schema");
        +    }
        +};
        +const enumProcessor = (schema, _ctx, json, _params) => {
        +    const def = schema._zod.def;
        +    const values = getEnumValues(def.entries);
        +    // Number enums can have both string and number values
        +    if (values.every((v) => typeof v === "number"))
        +        json.type = "number";
        +    if (values.every((v) => typeof v === "string"))
        +        json.type = "string";
        +    json.enum = values;
        +};
        +const literalProcessor = (schema, ctx, json, _params) => {
        +    const def = schema._zod.def;
        +    const vals = [];
        +    for (const val of def.values) {
        +        if (val === undefined) {
        +            if (ctx.unrepresentable === "throw") {
        +                throw new Error("Literal `undefined` cannot be represented in JSON Schema");
        +            }
        +            else {
        +                // do not add to vals
        +            }
        +        }
        +        else if (typeof val === "bigint") {
        +            if (ctx.unrepresentable === "throw") {
        +                throw new Error("BigInt literals cannot be represented in JSON Schema");
        +            }
        +            else {
        +                vals.push(Number(val));
        +            }
        +        }
        +        else {
        +            vals.push(val);
        +        }
        +    }
        +    if (vals.length === 0) {
        +        // do nothing (an undefined literal was stripped)
        +    }
        +    else if (vals.length === 1) {
        +        const val = vals[0];
        +        json.type = val === null ? "null" : typeof val;
        +        if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
        +            json.enum = [val];
        +        }
        +        else {
        +            json.const = val;
        +        }
        +    }
        +    else {
        +        if (vals.every((v) => typeof v === "number"))
        +            json.type = "number";
        +        if (vals.every((v) => typeof v === "string"))
        +            json.type = "string";
        +        if (vals.every((v) => typeof v === "boolean"))
        +            json.type = "boolean";
        +        if (vals.every((v) => v === null))
        +            json.type = "null";
        +        json.enum = vals;
        +    }
        +};
        +const nanProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("NaN cannot be represented in JSON Schema");
        +    }
        +};
        +const templateLiteralProcessor = (schema, _ctx, json, _params) => {
        +    const _json = json;
        +    const pattern = schema._zod.pattern;
        +    if (!pattern)
        +        throw new Error("Pattern not found in template literal");
        +    _json.type = "string";
        +    _json.pattern = pattern.source;
        +};
        +const fileProcessor = (schema, _ctx, json, _params) => {
        +    const _json = json;
        +    const file = {
        +        type: "string",
        +        format: "binary",
        +        contentEncoding: "binary",
        +    };
        +    const { minimum, maximum, mime } = schema._zod.bag;
        +    if (minimum !== undefined)
        +        file.minLength = minimum;
        +    if (maximum !== undefined)
        +        file.maxLength = maximum;
        +    if (mime) {
        +        if (mime.length === 1) {
        +            file.contentMediaType = mime[0];
        +            Object.assign(_json, file);
        +        }
        +        else {
        +            Object.assign(_json, file); // shared props at root
        +            _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs
        +        }
        +    }
        +    else {
        +        Object.assign(_json, file);
        +    }
        +};
        +const successProcessor = (_schema, _ctx, json, _params) => {
        +    json.type = "boolean";
        +};
        +const customProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Custom types cannot be represented in JSON Schema");
        +    }
        +};
        +const functionProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Function types cannot be represented in JSON Schema");
        +    }
        +};
        +const transformProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Transforms cannot be represented in JSON Schema");
        +    }
        +};
        +const mapProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Map cannot be represented in JSON Schema");
        +    }
        +};
        +const setProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Set cannot be represented in JSON Schema");
        +    }
        +};
        +// ==================== COMPOSITE TYPE PROCESSORS ====================
        +const arrayProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    const { minimum, maximum } = schema._zod.bag;
        +    if (typeof minimum === "number")
        +        json.minItems = minimum;
        +    if (typeof maximum === "number")
        +        json.maxItems = maximum;
        +    json.type = "array";
        +    json.items = to_json_schema_process(def.element, ctx, { ...params, path: [...params.path, "items"] });
        +};
        +const objectProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    json.type = "object";
        +    json.properties = {};
        +    const shape = def.shape;
        +    for (const key in shape) {
        +        json.properties[key] = to_json_schema_process(shape[key], ctx, {
        +            ...params,
        +            path: [...params.path, "properties", key],
        +        });
        +    }
        +    // required keys
        +    const allKeys = new Set(Object.keys(shape));
        +    const requiredKeys = new Set([...allKeys].filter((key) => {
        +        const v = def.shape[key]._zod;
        +        if (ctx.io === "input") {
        +            return v.optin === undefined;
        +        }
        +        else {
        +            return v.optout === undefined;
        +        }
        +    }));
        +    if (requiredKeys.size > 0) {
        +        json.required = Array.from(requiredKeys);
        +    }
        +    // catchall
        +    if (def.catchall?._zod.def.type === "never") {
        +        // strict
        +        json.additionalProperties = false;
        +    }
        +    else if (!def.catchall) {
        +        // regular
        +        if (ctx.io === "output")
        +            json.additionalProperties = false;
        +    }
        +    else if (def.catchall) {
        +        json.additionalProperties = to_json_schema_process(def.catchall, ctx, {
        +            ...params,
        +            path: [...params.path, "additionalProperties"],
        +        });
        +    }
        +};
        +const unionProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches)
        +    // This includes both z.xor() and discriminated unions
        +    const isExclusive = def.inclusive === false;
        +    const options = def.options.map((x, i) => to_json_schema_process(x, ctx, {
        +        ...params,
        +        path: [...params.path, isExclusive ? "oneOf" : "anyOf", i],
        +    }));
        +    if (isExclusive) {
        +        json.oneOf = options;
        +    }
        +    else {
        +        json.anyOf = options;
        +    }
        +};
        +const intersectionProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    const a = to_json_schema_process(def.left, ctx, {
        +        ...params,
        +        path: [...params.path, "allOf", 0],
        +    });
        +    const b = to_json_schema_process(def.right, ctx, {
        +        ...params,
        +        path: [...params.path, "allOf", 1],
        +    });
        +    const isSimpleIntersection = (val) => "allOf" in val && Object.keys(val).length === 1;
        +    const allOf = [
        +        ...(isSimpleIntersection(a) ? a.allOf : [a]),
        +        ...(isSimpleIntersection(b) ? b.allOf : [b]),
        +    ];
        +    json.allOf = allOf;
        +};
        +const tupleProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    json.type = "array";
        +    const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
        +    const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
        +    const prefixItems = def.items.map((x, i) => to_json_schema_process(x, ctx, {
        +        ...params,
        +        path: [...params.path, prefixPath, i],
        +    }));
        +    const rest = def.rest
        +        ? to_json_schema_process(def.rest, ctx, {
        +            ...params,
        +            path: [...params.path, restPath, ...(ctx.target === "openapi-3.0" ? [def.items.length] : [])],
        +        })
        +        : null;
        +    if (ctx.target === "draft-2020-12") {
        +        json.prefixItems = prefixItems;
        +        if (rest) {
        +            json.items = rest;
        +        }
        +    }
        +    else if (ctx.target === "openapi-3.0") {
        +        json.items = {
        +            anyOf: prefixItems,
        +        };
        +        if (rest) {
        +            json.items.anyOf.push(rest);
        +        }
        +        json.minItems = prefixItems.length;
        +        if (!rest) {
        +            json.maxItems = prefixItems.length;
        +        }
        +    }
        +    else {
        +        json.items = prefixItems;
        +        if (rest) {
        +            json.additionalItems = rest;
        +        }
        +    }
        +    // length
        +    const { minimum, maximum } = schema._zod.bag;
        +    if (typeof minimum === "number")
        +        json.minItems = minimum;
        +    if (typeof maximum === "number")
        +        json.maxItems = maximum;
        +};
        +const recordProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    json.type = "object";
        +    // For looseRecord with regex patterns, use patternProperties
        +    // This correctly represents "only validate keys matching the pattern" semantics
        +    // and composes well with allOf (intersections)
        +    const keyType = def.keyType;
        +    const keyBag = keyType._zod.bag;
        +    const patterns = keyBag?.patterns;
        +    if (def.mode === "loose" && patterns && patterns.size > 0) {
        +        // Use patternProperties for looseRecord with regex patterns
        +        const valueSchema = to_json_schema_process(def.valueType, ctx, {
        +            ...params,
        +            path: [...params.path, "patternProperties", "*"],
        +        });
        +        json.patternProperties = {};
        +        for (const pattern of patterns) {
        +            json.patternProperties[pattern.source] = valueSchema;
        +        }
        +    }
        +    else {
        +        // Default behavior: use propertyNames + additionalProperties
        +        if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") {
        +            json.propertyNames = to_json_schema_process(def.keyType, ctx, {
        +                ...params,
        +                path: [...params.path, "propertyNames"],
        +            });
        +        }
        +        json.additionalProperties = to_json_schema_process(def.valueType, ctx, {
        +            ...params,
        +            path: [...params.path, "additionalProperties"],
        +        });
        +    }
        +    // Add required for keys with discrete values (enum, literal, etc.)
        +    const keyValues = keyType._zod.values;
        +    if (keyValues) {
        +        const validKeyValues = [...keyValues].filter((v) => typeof v === "string" || typeof v === "number");
        +        if (validKeyValues.length > 0) {
        +            json.required = validKeyValues;
        +        }
        +    }
        +};
        +const nullableProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    const inner = to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    if (ctx.target === "openapi-3.0") {
        +        seen.ref = def.innerType;
        +        json.nullable = true;
        +    }
        +    else {
        +        json.anyOf = [inner, { type: "null" }];
        +    }
        +};
        +const nonoptionalProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +};
        +const defaultProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    json.default = JSON.parse(JSON.stringify(def.defaultValue));
        +};
        +const prefaultProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    if (ctx.io === "input")
        +        json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
        +};
        +const catchProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    let catchValue;
        +    try {
        +        catchValue = def.catchValue(undefined);
        +    }
        +    catch {
        +        throw new Error("Dynamic catch values are not supported in JSON Schema");
        +    }
        +    json.default = catchValue;
        +};
        +const pipeProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    const innerType = ctx.io === "input" ? (def.in._zod.def.type === "transform" ? def.out : def.in) : def.out;
        +    to_json_schema_process(innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = innerType;
        +};
        +const readonlyProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    json.readOnly = true;
        +};
        +const promiseProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +};
        +const optionalProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +};
        +const lazyProcessor = (schema, ctx, _json, params) => {
        +    const innerType = schema._zod.innerType;
        +    to_json_schema_process(innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = innerType;
        +};
        +// ==================== ALL PROCESSORS ====================
        +const allProcessors = {
        +    string: stringProcessor,
        +    number: numberProcessor,
        +    boolean: booleanProcessor,
        +    bigint: bigintProcessor,
        +    symbol: symbolProcessor,
        +    null: nullProcessor,
        +    undefined: undefinedProcessor,
        +    void: voidProcessor,
        +    never: neverProcessor,
        +    any: anyProcessor,
        +    unknown: unknownProcessor,
        +    date: dateProcessor,
        +    enum: enumProcessor,
        +    literal: literalProcessor,
        +    nan: nanProcessor,
        +    template_literal: templateLiteralProcessor,
        +    file: fileProcessor,
        +    success: successProcessor,
        +    custom: customProcessor,
        +    function: functionProcessor,
        +    transform: transformProcessor,
        +    map: mapProcessor,
        +    set: setProcessor,
        +    array: arrayProcessor,
        +    object: objectProcessor,
        +    union: unionProcessor,
        +    intersection: intersectionProcessor,
        +    tuple: tupleProcessor,
        +    record: recordProcessor,
        +    nullable: nullableProcessor,
        +    nonoptional: nonoptionalProcessor,
        +    default: defaultProcessor,
        +    prefault: prefaultProcessor,
        +    catch: catchProcessor,
        +    pipe: pipeProcessor,
        +    readonly: readonlyProcessor,
        +    promise: promiseProcessor,
        +    optional: optionalProcessor,
        +    lazy: lazyProcessor,
        +};
        +function toJSONSchema(input, params) {
        +    if ("_idmap" in input) {
        +        // Registry case
        +        const registry = input;
        +        const ctx = json_schema_processors_initializeContext({ ...params, processors: allProcessors });
        +        const defs = {};
        +        // First pass: process all schemas to build the seen map
        +        for (const entry of registry._idmap.entries()) {
        +            const [_, schema] = entry;
        +            json_schema_processors_process(schema, ctx);
        +        }
        +        const schemas = {};
        +        const external = {
        +            registry,
        +            uri: params?.uri,
        +            defs,
        +        };
        +        // Update the context with external configuration
        +        ctx.external = external;
        +        // Second pass: emit each schema
        +        for (const entry of registry._idmap.entries()) {
        +            const [key, schema] = entry;
        +            json_schema_processors_extractDefs(ctx, schema);
        +            schemas[key] = json_schema_processors_finalize(ctx, schema);
        +        }
        +        if (Object.keys(defs).length > 0) {
        +            const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions";
        +            schemas.__shared = {
        +                [defsSegment]: defs,
        +            };
        +        }
        +        return { schemas };
        +    }
        +    // Single schema case
        +    const ctx = json_schema_processors_initializeContext({ ...params, processors: allProcessors });
        +    json_schema_processors_process(input, ctx);
        +    json_schema_processors_extractDefs(ctx, input);
        +    return json_schema_processors_finalize(ctx, input);
        +}
        +
        +;// ../commons/node_modules/zod/v4/core/json-schema-generator.js
        +/* unused harmony import specifier */ var json_schema_generator_allProcessors;
        +/* unused harmony import specifier */ var json_schema_generator_initializeContext;
        +/* unused harmony import specifier */ var json_schema_generator_process;
        +/* unused harmony import specifier */ var json_schema_generator_extractDefs;
        +/* unused harmony import specifier */ var json_schema_generator_finalize;
        +
        +
        +/**
        + * Legacy class-based interface for JSON Schema generation.
        + * This class wraps the new functional implementation to provide backward compatibility.
        + *
        + * @deprecated Use the `toJSONSchema` function instead for new code.
        + *
        + * @example
        + * ```typescript
        + * // Legacy usage (still supported)
        + * const gen = new JSONSchemaGenerator({ target: "draft-07" });
        + * gen.process(schema);
        + * const result = gen.emit(schema);
        + *
        + * // Preferred modern usage
        + * const result = toJSONSchema(schema, { target: "draft-07" });
        + * ```
        + */
        +class JSONSchemaGenerator {
        +    /** @deprecated Access via ctx instead */
        +    get metadataRegistry() {
        +        return this.ctx.metadataRegistry;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get target() {
        +        return this.ctx.target;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get unrepresentable() {
        +        return this.ctx.unrepresentable;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get override() {
        +        return this.ctx.override;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get io() {
        +        return this.ctx.io;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get counter() {
        +        return this.ctx.counter;
        +    }
        +    set counter(value) {
        +        this.ctx.counter = value;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get seen() {
        +        return this.ctx.seen;
        +    }
        +    constructor(params) {
        +        // Normalize target for internal context
        +        let normalizedTarget = params?.target ?? "draft-2020-12";
        +        if (normalizedTarget === "draft-4")
        +            normalizedTarget = "draft-04";
        +        if (normalizedTarget === "draft-7")
        +            normalizedTarget = "draft-07";
        +        this.ctx = json_schema_generator_initializeContext({
        +            processors: json_schema_generator_allProcessors,
        +            target: normalizedTarget,
        +            ...(params?.metadata && { metadata: params.metadata }),
        +            ...(params?.unrepresentable && { unrepresentable: params.unrepresentable }),
        +            ...(params?.override && { override: params.override }),
        +            ...(params?.io && { io: params.io }),
        +        });
        +    }
        +    /**
        +     * Process a schema to prepare it for JSON Schema generation.
        +     * This must be called before emit().
        +     */
        +    process(schema, _params = { path: [], schemaPath: [] }) {
        +        return json_schema_generator_process(schema, this.ctx, _params);
        +    }
        +    /**
        +     * Emit the final JSON Schema after processing.
        +     * Must call process() first.
        +     */
        +    emit(schema, _params) {
        +        // Apply emit params to the context
        +        if (_params) {
        +            if (_params.cycles)
        +                this.ctx.cycles = _params.cycles;
        +            if (_params.reused)
        +                this.ctx.reused = _params.reused;
        +            if (_params.external)
        +                this.ctx.external = _params.external;
        +        }
        +        json_schema_generator_extractDefs(this.ctx, schema);
        +        const result = json_schema_generator_finalize(this.ctx, schema);
        +        // Strip ~standard property to match old implementation's return type
        +        const { "~standard": _, ...plainResult } = result;
        +        return plainResult;
        +    }
        +}
        +
        +;// ../commons/node_modules/zod/v4/core/index.js
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +;// ../commons/node_modules/zod/v4/classic/checks.js
        +
        +
        +;// ../commons/node_modules/zod/v4/classic/iso.js
        +
        +
        +const ZodISODateTime = /*@__PURE__*/ $constructor("ZodISODateTime", (inst, def) => {
        +    $ZodISODateTime.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function iso_datetime(params) {
        +    return _isoDateTime(ZodISODateTime, params);
        +}
        +const ZodISODate = /*@__PURE__*/ $constructor("ZodISODate", (inst, def) => {
        +    $ZodISODate.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function iso_date(params) {
        +    return _isoDate(ZodISODate, params);
        +}
        +const ZodISOTime = /*@__PURE__*/ $constructor("ZodISOTime", (inst, def) => {
        +    $ZodISOTime.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function iso_time(params) {
        +    return _isoTime(ZodISOTime, params);
        +}
        +const ZodISODuration = /*@__PURE__*/ $constructor("ZodISODuration", (inst, def) => {
        +    $ZodISODuration.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function iso_duration(params) {
        +    return _isoDuration(ZodISODuration, params);
        +}
        +
        +;// ../commons/node_modules/zod/v4/classic/errors.js
        +
        +
        +
        +const errors_initializer = (inst, issues) => {
        +    $ZodError.init(inst, issues);
        +    inst.name = "ZodError";
        +    Object.defineProperties(inst, {
        +        format: {
        +            value: (mapper) => formatError(inst, mapper),
        +            // enumerable: false,
        +        },
        +        flatten: {
        +            value: (mapper) => flattenError(inst, mapper),
        +            // enumerable: false,
        +        },
        +        addIssue: {
        +            value: (issue) => {
        +                inst.issues.push(issue);
        +                inst.message = JSON.stringify(inst.issues, jsonStringifyReplacer, 2);
        +            },
        +            // enumerable: false,
        +        },
        +        addIssues: {
        +            value: (issues) => {
        +                inst.issues.push(...issues);
        +                inst.message = JSON.stringify(inst.issues, jsonStringifyReplacer, 2);
        +            },
        +            // enumerable: false,
        +        },
        +        isEmpty: {
        +            get() {
        +                return inst.issues.length === 0;
        +            },
        +            // enumerable: false,
        +        },
        +    });
        +    // Object.defineProperty(inst, "isEmpty", {
        +    //   get() {
        +    //     return inst.issues.length === 0;
        +    //   },
        +    // });
        +};
        +const ZodError = $constructor("ZodError", errors_initializer);
        +const ZodRealError = $constructor("ZodError", errors_initializer, {
        +    Parent: Error,
        +});
        +// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */
        +// export type ErrorMapCtx = core.$ZodErrorMapCtx;
        +
        +;// ../commons/node_modules/zod/v4/classic/parse.js
        +
        +
        +const classic_parse_parse = /* @__PURE__ */ _parse(ZodRealError);
        +const parse_parseAsync = /* @__PURE__ */ _parseAsync(ZodRealError);
        +const parse_safeParse = /* @__PURE__ */ _safeParse(ZodRealError);
        +const parse_safeParseAsync = /* @__PURE__ */ _safeParseAsync(ZodRealError);
        +// Codec functions
        +const parse_encode = /* @__PURE__ */ _encode(ZodRealError);
        +const parse_decode = /* @__PURE__ */ _decode(ZodRealError);
        +const parse_encodeAsync = /* @__PURE__ */ _encodeAsync(ZodRealError);
        +const parse_decodeAsync = /* @__PURE__ */ _decodeAsync(ZodRealError);
        +const parse_safeEncode = /* @__PURE__ */ _safeEncode(ZodRealError);
        +const parse_safeDecode = /* @__PURE__ */ _safeDecode(ZodRealError);
        +const parse_safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
        +const parse_safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
        +
        +;// ../commons/node_modules/zod/v4/classic/schemas.js
        +
        +
        +
        +
        +
        +
        +
        +const ZodType = /*@__PURE__*/ $constructor("ZodType", (inst, def) => {
        +    $ZodType.init(inst, def);
        +    Object.assign(inst["~standard"], {
        +        jsonSchema: {
        +            input: createStandardJSONSchemaMethod(inst, "input"),
        +            output: createStandardJSONSchemaMethod(inst, "output"),
        +        },
        +    });
        +    inst.toJSONSchema = createToJSONSchemaMethod(inst, {});
        +    inst.def = def;
        +    inst.type = def.type;
        +    Object.defineProperty(inst, "_def", { value: def });
        +    // base methods
        +    inst.check = (...checks) => {
        +        return inst.clone(mergeDefs(def, {
        +            checks: [
        +                ...(def.checks ?? []),
        +                ...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch),
        +            ],
        +        }), {
        +            parent: true,
        +        });
        +    };
        +    inst.with = inst.check;
        +    inst.clone = (def, params) => clone(inst, def, params);
        +    inst.brand = () => inst;
        +    inst.register = ((reg, meta) => {
        +        reg.add(inst, meta);
        +        return inst;
        +    });
        +    // parsing
        +    inst.parse = (data, params) => classic_parse_parse(inst, data, params, { callee: inst.parse });
        +    inst.safeParse = (data, params) => parse_safeParse(inst, data, params);
        +    inst.parseAsync = async (data, params) => parse_parseAsync(inst, data, params, { callee: inst.parseAsync });
        +    inst.safeParseAsync = async (data, params) => parse_safeParseAsync(inst, data, params);
        +    inst.spa = inst.safeParseAsync;
        +    // encoding/decoding
        +    inst.encode = (data, params) => parse_encode(inst, data, params);
        +    inst.decode = (data, params) => parse_decode(inst, data, params);
        +    inst.encodeAsync = async (data, params) => parse_encodeAsync(inst, data, params);
        +    inst.decodeAsync = async (data, params) => parse_decodeAsync(inst, data, params);
        +    inst.safeEncode = (data, params) => parse_safeEncode(inst, data, params);
        +    inst.safeDecode = (data, params) => parse_safeDecode(inst, data, params);
        +    inst.safeEncodeAsync = async (data, params) => parse_safeEncodeAsync(inst, data, params);
        +    inst.safeDecodeAsync = async (data, params) => parse_safeDecodeAsync(inst, data, params);
        +    // refinements
        +    inst.refine = (check, params) => inst.check(refine(check, params));
        +    inst.superRefine = (refinement) => inst.check(superRefine(refinement));
        +    inst.overwrite = (fn) => inst.check(_overwrite(fn));
        +    // wrappers
        +    inst.optional = () => optional(inst);
        +    inst.exactOptional = () => exactOptional(inst);
        +    inst.nullable = () => nullable(inst);
        +    inst.nullish = () => optional(nullable(inst));
        +    inst.nonoptional = (params) => nonoptional(inst, params);
        +    inst.array = () => array(inst);
        +    inst.or = (arg) => union([inst, arg]);
        +    inst.and = (arg) => intersection(inst, arg);
        +    inst.transform = (tx) => pipe(inst, transform(tx));
        +    inst.default = (def) => schemas_default(inst, def);
        +    inst.prefault = (def) => prefault(inst, def);
        +    // inst.coalesce = (def, params) => coalesce(inst, def, params);
        +    inst.catch = (params) => schemas_catch(inst, params);
        +    inst.pipe = (target) => pipe(inst, target);
        +    inst.readonly = () => readonly(inst);
        +    // meta
        +    inst.describe = (description) => {
        +        const cl = inst.clone();
        +        globalRegistry.add(cl, { description });
        +        return cl;
        +    };
        +    Object.defineProperty(inst, "description", {
        +        get() {
        +            return globalRegistry.get(inst)?.description;
        +        },
        +        configurable: true,
        +    });
        +    inst.meta = (...args) => {
        +        if (args.length === 0) {
        +            return globalRegistry.get(inst);
        +        }
        +        const cl = inst.clone();
        +        globalRegistry.add(cl, args[0]);
        +        return cl;
        +    };
        +    // helpers
        +    inst.isOptional = () => inst.safeParse(undefined).success;
        +    inst.isNullable = () => inst.safeParse(null).success;
        +    inst.apply = (fn) => fn(inst);
        +    return inst;
        +});
        +/** @internal */
        +const _ZodString = /*@__PURE__*/ $constructor("_ZodString", (inst, def) => {
        +    $ZodString.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => stringProcessor(inst, ctx, json, params);
        +    const bag = inst._zod.bag;
        +    inst.format = bag.format ?? null;
        +    inst.minLength = bag.minimum ?? null;
        +    inst.maxLength = bag.maximum ?? null;
        +    // validations
        +    inst.regex = (...args) => inst.check(_regex(...args));
        +    inst.includes = (...args) => inst.check(_includes(...args));
        +    inst.startsWith = (...args) => inst.check(_startsWith(...args));
        +    inst.endsWith = (...args) => inst.check(_endsWith(...args));
        +    inst.min = (...args) => inst.check(_minLength(...args));
        +    inst.max = (...args) => inst.check(_maxLength(...args));
        +    inst.length = (...args) => inst.check(_length(...args));
        +    inst.nonempty = (...args) => inst.check(_minLength(1, ...args));
        +    inst.lowercase = (params) => inst.check(_lowercase(params));
        +    inst.uppercase = (params) => inst.check(_uppercase(params));
        +    // transforms
        +    inst.trim = () => inst.check(_trim());
        +    inst.normalize = (...args) => inst.check(_normalize(...args));
        +    inst.toLowerCase = () => inst.check(_toLowerCase());
        +    inst.toUpperCase = () => inst.check(_toUpperCase());
        +    inst.slugify = () => inst.check(_slugify());
        +});
        +const ZodString = /*@__PURE__*/ $constructor("ZodString", (inst, def) => {
        +    $ZodString.init(inst, def);
        +    _ZodString.init(inst, def);
        +    inst.email = (params) => inst.check(_email(ZodEmail, params));
        +    inst.url = (params) => inst.check(_url(ZodURL, params));
        +    inst.jwt = (params) => inst.check(_jwt(ZodJWT, params));
        +    inst.emoji = (params) => inst.check(api_emoji(ZodEmoji, params));
        +    inst.guid = (params) => inst.check(_guid(ZodGUID, params));
        +    inst.uuid = (params) => inst.check(_uuid(ZodUUID, params));
        +    inst.uuidv4 = (params) => inst.check(_uuidv4(ZodUUID, params));
        +    inst.uuidv6 = (params) => inst.check(_uuidv6(ZodUUID, params));
        +    inst.uuidv7 = (params) => inst.check(_uuidv7(ZodUUID, params));
        +    inst.nanoid = (params) => inst.check(_nanoid(ZodNanoID, params));
        +    inst.guid = (params) => inst.check(_guid(ZodGUID, params));
        +    inst.cuid = (params) => inst.check(_cuid(ZodCUID, params));
        +    inst.cuid2 = (params) => inst.check(_cuid2(ZodCUID2, params));
        +    inst.ulid = (params) => inst.check(_ulid(ZodULID, params));
        +    inst.base64 = (params) => inst.check(_base64(ZodBase64, params));
        +    inst.base64url = (params) => inst.check(_base64url(ZodBase64URL, params));
        +    inst.xid = (params) => inst.check(_xid(ZodXID, params));
        +    inst.ksuid = (params) => inst.check(_ksuid(ZodKSUID, params));
        +    inst.ipv4 = (params) => inst.check(_ipv4(ZodIPv4, params));
        +    inst.ipv6 = (params) => inst.check(_ipv6(ZodIPv6, params));
        +    inst.cidrv4 = (params) => inst.check(_cidrv4(ZodCIDRv4, params));
        +    inst.cidrv6 = (params) => inst.check(_cidrv6(ZodCIDRv6, params));
        +    inst.e164 = (params) => inst.check(_e164(ZodE164, params));
        +    // iso
        +    inst.datetime = (params) => inst.check(iso_datetime(params));
        +    inst.date = (params) => inst.check(iso_date(params));
        +    inst.time = (params) => inst.check(iso_time(params));
        +    inst.duration = (params) => inst.check(iso_duration(params));
        +});
        +function schemas_string(params) {
        +    return _string(ZodString, params);
        +}
        +const ZodStringFormat = /*@__PURE__*/ $constructor("ZodStringFormat", (inst, def) => {
        +    $ZodStringFormat.init(inst, def);
        +    _ZodString.init(inst, def);
        +});
        +const ZodEmail = /*@__PURE__*/ $constructor("ZodEmail", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodEmail.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_email(params) {
        +    return _email(ZodEmail, params);
        +}
        +const ZodGUID = /*@__PURE__*/ $constructor("ZodGUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodGUID.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_guid(params) {
        +    return _guid(ZodGUID, params);
        +}
        +const ZodUUID = /*@__PURE__*/ $constructor("ZodUUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodUUID.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_uuid(params) {
        +    return _uuid(ZodUUID, params);
        +}
        +function uuidv4(params) {
        +    return _uuidv4(ZodUUID, params);
        +}
        +// ZodUUIDv6
        +function uuidv6(params) {
        +    return _uuidv6(ZodUUID, params);
        +}
        +// ZodUUIDv7
        +function uuidv7(params) {
        +    return _uuidv7(ZodUUID, params);
        +}
        +const ZodURL = /*@__PURE__*/ $constructor("ZodURL", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodURL.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function url(params) {
        +    return _url(ZodURL, params);
        +}
        +function httpUrl(params) {
        +    return _url(ZodURL, {
        +        protocol: /^https?$/,
        +        hostname: domain,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodEmoji = /*@__PURE__*/ $constructor("ZodEmoji", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodEmoji.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_emoji(params) {
        +    return api_emoji(ZodEmoji, params);
        +}
        +const ZodNanoID = /*@__PURE__*/ $constructor("ZodNanoID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodNanoID.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_nanoid(params) {
        +    return _nanoid(ZodNanoID, params);
        +}
        +const ZodCUID = /*@__PURE__*/ $constructor("ZodCUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodCUID.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_cuid(params) {
        +    return _cuid(ZodCUID, params);
        +}
        +const ZodCUID2 = /*@__PURE__*/ $constructor("ZodCUID2", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodCUID2.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_cuid2(params) {
        +    return _cuid2(ZodCUID2, params);
        +}
        +const ZodULID = /*@__PURE__*/ $constructor("ZodULID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodULID.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_ulid(params) {
        +    return _ulid(ZodULID, params);
        +}
        +const ZodXID = /*@__PURE__*/ $constructor("ZodXID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodXID.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_xid(params) {
        +    return _xid(ZodXID, params);
        +}
        +const ZodKSUID = /*@__PURE__*/ $constructor("ZodKSUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodKSUID.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_ksuid(params) {
        +    return _ksuid(ZodKSUID, params);
        +}
        +const ZodIPv4 = /*@__PURE__*/ $constructor("ZodIPv4", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodIPv4.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_ipv4(params) {
        +    return _ipv4(ZodIPv4, params);
        +}
        +const ZodMAC = /*@__PURE__*/ $constructor("ZodMAC", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodMAC.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_mac(params) {
        +    return _mac(ZodMAC, params);
        +}
        +const ZodIPv6 = /*@__PURE__*/ $constructor("ZodIPv6", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodIPv6.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_ipv6(params) {
        +    return _ipv6(ZodIPv6, params);
        +}
        +const ZodCIDRv4 = /*@__PURE__*/ $constructor("ZodCIDRv4", (inst, def) => {
        +    $ZodCIDRv4.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_cidrv4(params) {
        +    return _cidrv4(ZodCIDRv4, params);
        +}
        +const ZodCIDRv6 = /*@__PURE__*/ $constructor("ZodCIDRv6", (inst, def) => {
        +    $ZodCIDRv6.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_cidrv6(params) {
        +    return _cidrv6(ZodCIDRv6, params);
        +}
        +const ZodBase64 = /*@__PURE__*/ $constructor("ZodBase64", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodBase64.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_base64(params) {
        +    return _base64(ZodBase64, params);
        +}
        +const ZodBase64URL = /*@__PURE__*/ $constructor("ZodBase64URL", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodBase64URL.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_base64url(params) {
        +    return _base64url(ZodBase64URL, params);
        +}
        +const ZodE164 = /*@__PURE__*/ $constructor("ZodE164", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodE164.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function schemas_e164(params) {
        +    return _e164(ZodE164, params);
        +}
        +const ZodJWT = /*@__PURE__*/ $constructor("ZodJWT", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodJWT.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function jwt(params) {
        +    return _jwt(ZodJWT, params);
        +}
        +const ZodCustomStringFormat = /*@__PURE__*/ $constructor("ZodCustomStringFormat", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    $ZodCustomStringFormat.init(inst, def);
        +    ZodStringFormat.init(inst, def);
        +});
        +function stringFormat(format, fnOrRegex, _params = {}) {
        +    return _stringFormat(ZodCustomStringFormat, format, fnOrRegex, _params);
        +}
        +function schemas_hostname(_params) {
        +    return _stringFormat(ZodCustomStringFormat, "hostname", hostname, _params);
        +}
        +function schemas_hex(_params) {
        +    return _stringFormat(ZodCustomStringFormat, "hex", hex, _params);
        +}
        +function hash(alg, params) {
        +    const enc = params?.enc ?? "hex";
        +    const format = `${alg}_${enc}`;
        +    const regex = regexes_namespaceObject[format];
        +    if (!regex)
        +        throw new Error(`Unrecognized hash format: ${format}`);
        +    return _stringFormat(ZodCustomStringFormat, format, regex, params);
        +}
        +const ZodNumber = /*@__PURE__*/ $constructor("ZodNumber", (inst, def) => {
        +    $ZodNumber.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => numberProcessor(inst, ctx, json, params);
        +    inst.gt = (value, params) => inst.check(_gt(value, params));
        +    inst.gte = (value, params) => inst.check(_gte(value, params));
        +    inst.min = (value, params) => inst.check(_gte(value, params));
        +    inst.lt = (value, params) => inst.check(_lt(value, params));
        +    inst.lte = (value, params) => inst.check(_lte(value, params));
        +    inst.max = (value, params) => inst.check(_lte(value, params));
        +    inst.int = (params) => inst.check(schemas_int(params));
        +    inst.safe = (params) => inst.check(schemas_int(params));
        +    inst.positive = (params) => inst.check(_gt(0, params));
        +    inst.nonnegative = (params) => inst.check(_gte(0, params));
        +    inst.negative = (params) => inst.check(_lt(0, params));
        +    inst.nonpositive = (params) => inst.check(_lte(0, params));
        +    inst.multipleOf = (value, params) => inst.check(_multipleOf(value, params));
        +    inst.step = (value, params) => inst.check(_multipleOf(value, params));
        +    // inst.finite = (params) => inst.check(core.finite(params));
        +    inst.finite = () => inst;
        +    const bag = inst._zod.bag;
        +    inst.minValue =
        +        Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;
        +    inst.maxValue =
        +        Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;
        +    inst.isInt = (bag.format ?? "").includes("int") || Number.isSafeInteger(bag.multipleOf ?? 0.5);
        +    inst.isFinite = true;
        +    inst.format = bag.format ?? null;
        +});
        +function schemas_number(params) {
        +    return _number(ZodNumber, params);
        +}
        +const ZodNumberFormat = /*@__PURE__*/ $constructor("ZodNumberFormat", (inst, def) => {
        +    $ZodNumberFormat.init(inst, def);
        +    ZodNumber.init(inst, def);
        +});
        +function schemas_int(params) {
        +    return _int(ZodNumberFormat, params);
        +}
        +function float32(params) {
        +    return _float32(ZodNumberFormat, params);
        +}
        +function float64(params) {
        +    return _float64(ZodNumberFormat, params);
        +}
        +function int32(params) {
        +    return _int32(ZodNumberFormat, params);
        +}
        +function uint32(params) {
        +    return _uint32(ZodNumberFormat, params);
        +}
        +const ZodBoolean = /*@__PURE__*/ $constructor("ZodBoolean", (inst, def) => {
        +    $ZodBoolean.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => booleanProcessor(inst, ctx, json, params);
        +});
        +function schemas_boolean(params) {
        +    return _boolean(ZodBoolean, params);
        +}
        +const ZodBigInt = /*@__PURE__*/ $constructor("ZodBigInt", (inst, def) => {
        +    $ZodBigInt.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => bigintProcessor(inst, ctx, json, params);
        +    inst.gte = (value, params) => inst.check(_gte(value, params));
        +    inst.min = (value, params) => inst.check(_gte(value, params));
        +    inst.gt = (value, params) => inst.check(_gt(value, params));
        +    inst.gte = (value, params) => inst.check(_gte(value, params));
        +    inst.min = (value, params) => inst.check(_gte(value, params));
        +    inst.lt = (value, params) => inst.check(_lt(value, params));
        +    inst.lte = (value, params) => inst.check(_lte(value, params));
        +    inst.max = (value, params) => inst.check(_lte(value, params));
        +    inst.positive = (params) => inst.check(_gt(BigInt(0), params));
        +    inst.negative = (params) => inst.check(_lt(BigInt(0), params));
        +    inst.nonpositive = (params) => inst.check(_lte(BigInt(0), params));
        +    inst.nonnegative = (params) => inst.check(_gte(BigInt(0), params));
        +    inst.multipleOf = (value, params) => inst.check(_multipleOf(value, params));
        +    const bag = inst._zod.bag;
        +    inst.minValue = bag.minimum ?? null;
        +    inst.maxValue = bag.maximum ?? null;
        +    inst.format = bag.format ?? null;
        +});
        +function schemas_bigint(params) {
        +    return _bigint(ZodBigInt, params);
        +}
        +const ZodBigIntFormat = /*@__PURE__*/ $constructor("ZodBigIntFormat", (inst, def) => {
        +    $ZodBigIntFormat.init(inst, def);
        +    ZodBigInt.init(inst, def);
        +});
        +// int64
        +function int64(params) {
        +    return _int64(ZodBigIntFormat, params);
        +}
        +// uint64
        +function uint64(params) {
        +    return _uint64(ZodBigIntFormat, params);
        +}
        +const ZodSymbol = /*@__PURE__*/ $constructor("ZodSymbol", (inst, def) => {
        +    $ZodSymbol.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => symbolProcessor(inst, ctx, json, params);
        +});
        +function symbol(params) {
        +    return _symbol(ZodSymbol, params);
        +}
        +const ZodUndefined = /*@__PURE__*/ $constructor("ZodUndefined", (inst, def) => {
        +    $ZodUndefined.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => undefinedProcessor(inst, ctx, json, params);
        +});
        +function schemas_undefined(params) {
        +    return api_undefined(ZodUndefined, params);
        +}
        +
        +const ZodNull = /*@__PURE__*/ $constructor("ZodNull", (inst, def) => {
        +    $ZodNull.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => nullProcessor(inst, ctx, json, params);
        +});
        +function schemas_null(params) {
        +    return api_null(ZodNull, params);
        +}
        +
        +const ZodAny = /*@__PURE__*/ $constructor("ZodAny", (inst, def) => {
        +    $ZodAny.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => anyProcessor(inst, ctx, json, params);
        +});
        +function any() {
        +    return _any(ZodAny);
        +}
        +const ZodUnknown = /*@__PURE__*/ $constructor("ZodUnknown", (inst, def) => {
        +    $ZodUnknown.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => unknownProcessor(inst, ctx, json, params);
        +});
        +function unknown() {
        +    return _unknown(ZodUnknown);
        +}
        +const ZodNever = /*@__PURE__*/ $constructor("ZodNever", (inst, def) => {
        +    $ZodNever.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => neverProcessor(inst, ctx, json, params);
        +});
        +function never(params) {
        +    return _never(ZodNever, params);
        +}
        +const ZodVoid = /*@__PURE__*/ $constructor("ZodVoid", (inst, def) => {
        +    $ZodVoid.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => voidProcessor(inst, ctx, json, params);
        +});
        +function schemas_void(params) {
        +    return _void(ZodVoid, params);
        +}
        +
        +const ZodDate = /*@__PURE__*/ $constructor("ZodDate", (inst, def) => {
        +    $ZodDate.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => dateProcessor(inst, ctx, json, params);
        +    inst.min = (value, params) => inst.check(_gte(value, params));
        +    inst.max = (value, params) => inst.check(_lte(value, params));
        +    const c = inst._zod.bag;
        +    inst.minDate = c.minimum ? new Date(c.minimum) : null;
        +    inst.maxDate = c.maximum ? new Date(c.maximum) : null;
        +});
        +function schemas_date(params) {
        +    return _date(ZodDate, params);
        +}
        +const ZodArray = /*@__PURE__*/ $constructor("ZodArray", (inst, def) => {
        +    $ZodArray.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => arrayProcessor(inst, ctx, json, params);
        +    inst.element = def.element;
        +    inst.min = (minLength, params) => inst.check(_minLength(minLength, params));
        +    inst.nonempty = (params) => inst.check(_minLength(1, params));
        +    inst.max = (maxLength, params) => inst.check(_maxLength(maxLength, params));
        +    inst.length = (len, params) => inst.check(_length(len, params));
        +    inst.unwrap = () => inst.element;
        +});
        +function array(element, params) {
        +    return _array(ZodArray, element, params);
        +}
        +// .keyof
        +function keyof(schema) {
        +    const shape = schema._zod.def.shape;
        +    return schemas_enum(Object.keys(shape));
        +}
        +const ZodObject = /*@__PURE__*/ $constructor("ZodObject", (inst, def) => {
        +    $ZodObjectJIT.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => objectProcessor(inst, ctx, json, params);
        +    defineLazy(inst, "shape", () => {
        +        return def.shape;
        +    });
        +    inst.keyof = () => schemas_enum(Object.keys(inst._zod.def.shape));
        +    inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });
        +    inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
        +    inst.loose = () => inst.clone({ ...inst._zod.def, catchall: unknown() });
        +    inst.strict = () => inst.clone({ ...inst._zod.def, catchall: never() });
        +    inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });
        +    inst.extend = (incoming) => {
        +        return extend(inst, incoming);
        +    };
        +    inst.safeExtend = (incoming) => {
        +        return safeExtend(inst, incoming);
        +    };
        +    inst.merge = (other) => merge(inst, other);
        +    inst.pick = (mask) => pick(inst, mask);
        +    inst.omit = (mask) => omit(inst, mask);
        +    inst.partial = (...args) => partial(ZodOptional, inst, args[0]);
        +    inst.required = (...args) => required(ZodNonOptional, inst, args[0]);
        +});
        +function object(shape, params) {
        +    const def = {
        +        type: "object",
        +        shape: shape ?? {},
        +        ...normalizeParams(params),
        +    };
        +    return new ZodObject(def);
        +}
        +// strictObject
        +function strictObject(shape, params) {
        +    return new ZodObject({
        +        type: "object",
        +        shape,
        +        catchall: never(),
        +        ...normalizeParams(params),
        +    });
        +}
        +// looseObject
        +function looseObject(shape, params) {
        +    return new ZodObject({
        +        type: "object",
        +        shape,
        +        catchall: unknown(),
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodUnion = /*@__PURE__*/ $constructor("ZodUnion", (inst, def) => {
        +    $ZodUnion.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => unionProcessor(inst, ctx, json, params);
        +    inst.options = def.options;
        +});
        +function union(options, params) {
        +    return new ZodUnion({
        +        type: "union",
        +        options: options,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodXor = /*@__PURE__*/ $constructor("ZodXor", (inst, def) => {
        +    ZodUnion.init(inst, def);
        +    $ZodXor.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => unionProcessor(inst, ctx, json, params);
        +    inst.options = def.options;
        +});
        +/** Creates an exclusive union (XOR) where exactly one option must match.
        + * Unlike regular unions that succeed when any option matches, xor fails if
        + * zero or more than one option matches the input. */
        +function xor(options, params) {
        +    return new ZodXor({
        +        type: "union",
        +        options: options,
        +        inclusive: false,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodDiscriminatedUnion = /*@__PURE__*/ $constructor("ZodDiscriminatedUnion", (inst, def) => {
        +    ZodUnion.init(inst, def);
        +    $ZodDiscriminatedUnion.init(inst, def);
        +});
        +function discriminatedUnion(discriminator, options, params) {
        +    // const [options, params] = args;
        +    return new ZodDiscriminatedUnion({
        +        type: "union",
        +        options,
        +        discriminator,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodIntersection = /*@__PURE__*/ $constructor("ZodIntersection", (inst, def) => {
        +    $ZodIntersection.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => intersectionProcessor(inst, ctx, json, params);
        +});
        +function intersection(left, right) {
        +    return new ZodIntersection({
        +        type: "intersection",
        +        left: left,
        +        right: right,
        +    });
        +}
        +const ZodTuple = /*@__PURE__*/ $constructor("ZodTuple", (inst, def) => {
        +    $ZodTuple.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => tupleProcessor(inst, ctx, json, params);
        +    inst.rest = (rest) => inst.clone({
        +        ...inst._zod.def,
        +        rest: rest,
        +    });
        +});
        +function tuple(items, _paramsOrRest, _params) {
        +    const hasRest = _paramsOrRest instanceof $ZodType;
        +    const params = hasRest ? _params : _paramsOrRest;
        +    const rest = hasRest ? _paramsOrRest : null;
        +    return new ZodTuple({
        +        type: "tuple",
        +        items: items,
        +        rest,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodRecord = /*@__PURE__*/ $constructor("ZodRecord", (inst, def) => {
        +    $ZodRecord.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => recordProcessor(inst, ctx, json, params);
        +    inst.keyType = def.keyType;
        +    inst.valueType = def.valueType;
        +});
        +function record(keyType, valueType, params) {
        +    return new ZodRecord({
        +        type: "record",
        +        keyType,
        +        valueType: valueType,
        +        ...normalizeParams(params),
        +    });
        +}
        +// type alksjf = core.output;
        +function partialRecord(keyType, valueType, params) {
        +    const k = clone(keyType);
        +    k._zod.values = undefined;
        +    return new ZodRecord({
        +        type: "record",
        +        keyType: k,
        +        valueType: valueType,
        +        ...normalizeParams(params),
        +    });
        +}
        +function looseRecord(keyType, valueType, params) {
        +    return new ZodRecord({
        +        type: "record",
        +        keyType,
        +        valueType: valueType,
        +        mode: "loose",
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodMap = /*@__PURE__*/ $constructor("ZodMap", (inst, def) => {
        +    $ZodMap.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => mapProcessor(inst, ctx, json, params);
        +    inst.keyType = def.keyType;
        +    inst.valueType = def.valueType;
        +    inst.min = (...args) => inst.check(_minSize(...args));
        +    inst.nonempty = (params) => inst.check(_minSize(1, params));
        +    inst.max = (...args) => inst.check(_maxSize(...args));
        +    inst.size = (...args) => inst.check(_size(...args));
        +});
        +function map(keyType, valueType, params) {
        +    return new ZodMap({
        +        type: "map",
        +        keyType: keyType,
        +        valueType: valueType,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodSet = /*@__PURE__*/ $constructor("ZodSet", (inst, def) => {
        +    $ZodSet.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => setProcessor(inst, ctx, json, params);
        +    inst.min = (...args) => inst.check(_minSize(...args));
        +    inst.nonempty = (params) => inst.check(_minSize(1, params));
        +    inst.max = (...args) => inst.check(_maxSize(...args));
        +    inst.size = (...args) => inst.check(_size(...args));
        +});
        +function set(valueType, params) {
        +    return new ZodSet({
        +        type: "set",
        +        valueType: valueType,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodEnum = /*@__PURE__*/ $constructor("ZodEnum", (inst, def) => {
        +    $ZodEnum.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => enumProcessor(inst, ctx, json, params);
        +    inst.enum = def.entries;
        +    inst.options = Object.values(def.entries);
        +    const keys = new Set(Object.keys(def.entries));
        +    inst.extract = (values, params) => {
        +        const newEntries = {};
        +        for (const value of values) {
        +            if (keys.has(value)) {
        +                newEntries[value] = def.entries[value];
        +            }
        +            else
        +                throw new Error(`Key ${value} not found in enum`);
        +        }
        +        return new ZodEnum({
        +            ...def,
        +            checks: [],
        +            ...normalizeParams(params),
        +            entries: newEntries,
        +        });
        +    };
        +    inst.exclude = (values, params) => {
        +        const newEntries = { ...def.entries };
        +        for (const value of values) {
        +            if (keys.has(value)) {
        +                delete newEntries[value];
        +            }
        +            else
        +                throw new Error(`Key ${value} not found in enum`);
        +        }
        +        return new ZodEnum({
        +            ...def,
        +            checks: [],
        +            ...normalizeParams(params),
        +            entries: newEntries,
        +        });
        +    };
        +});
        +function schemas_enum(values, params) {
        +    const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
        +    return new ZodEnum({
        +        type: "enum",
        +        entries,
        +        ...normalizeParams(params),
        +    });
        +}
        +
        +/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.
        + *
        + * ```ts
        + * enum Colors { red, green, blue }
        + * z.enum(Colors);
        + * ```
        + */
        +function nativeEnum(entries, params) {
        +    return new ZodEnum({
        +        type: "enum",
        +        entries,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodLiteral = /*@__PURE__*/ $constructor("ZodLiteral", (inst, def) => {
        +    $ZodLiteral.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => literalProcessor(inst, ctx, json, params);
        +    inst.values = new Set(def.values);
        +    Object.defineProperty(inst, "value", {
        +        get() {
        +            if (def.values.length > 1) {
        +                throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");
        +            }
        +            return def.values[0];
        +        },
        +    });
        +});
        +function literal(value, params) {
        +    return new ZodLiteral({
        +        type: "literal",
        +        values: Array.isArray(value) ? value : [value],
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodFile = /*@__PURE__*/ $constructor("ZodFile", (inst, def) => {
        +    $ZodFile.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => fileProcessor(inst, ctx, json, params);
        +    inst.min = (size, params) => inst.check(_minSize(size, params));
        +    inst.max = (size, params) => inst.check(_maxSize(size, params));
        +    inst.mime = (types, params) => inst.check(_mime(Array.isArray(types) ? types : [types], params));
        +});
        +function schemas_file(params) {
        +    return _file(ZodFile, params);
        +}
        +const ZodTransform = /*@__PURE__*/ $constructor("ZodTransform", (inst, def) => {
        +    $ZodTransform.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => transformProcessor(inst, ctx, json, params);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (_ctx.direction === "backward") {
        +            throw new $ZodEncodeError(inst.constructor.name);
        +        }
        +        payload.addIssue = (issue) => {
        +            if (typeof issue === "string") {
        +                payload.issues.push(util_issue(issue, payload.value, def));
        +            }
        +            else {
        +                // for Zod 3 backwards compatibility
        +                const _issue = issue;
        +                if (_issue.fatal)
        +                    _issue.continue = false;
        +                _issue.code ?? (_issue.code = "custom");
        +                _issue.input ?? (_issue.input = payload.value);
        +                _issue.inst ?? (_issue.inst = inst);
        +                // _issue.continue ??= true;
        +                payload.issues.push(util_issue(_issue));
        +            }
        +        };
        +        const output = def.transform(payload.value, payload);
        +        if (output instanceof Promise) {
        +            return output.then((output) => {
        +                payload.value = output;
        +                return payload;
        +            });
        +        }
        +        payload.value = output;
        +        return payload;
        +    };
        +});
        +function transform(fn) {
        +    return new ZodTransform({
        +        type: "transform",
        +        transform: fn,
        +    });
        +}
        +const ZodOptional = /*@__PURE__*/ $constructor("ZodOptional", (inst, def) => {
        +    $ZodOptional.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => optionalProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function optional(innerType) {
        +    return new ZodOptional({
        +        type: "optional",
        +        innerType: innerType,
        +    });
        +}
        +const ZodExactOptional = /*@__PURE__*/ $constructor("ZodExactOptional", (inst, def) => {
        +    $ZodExactOptional.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => optionalProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function exactOptional(innerType) {
        +    return new ZodExactOptional({
        +        type: "optional",
        +        innerType: innerType,
        +    });
        +}
        +const ZodNullable = /*@__PURE__*/ $constructor("ZodNullable", (inst, def) => {
        +    $ZodNullable.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => nullableProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function nullable(innerType) {
        +    return new ZodNullable({
        +        type: "nullable",
        +        innerType: innerType,
        +    });
        +}
        +// nullish
        +function schemas_nullish(innerType) {
        +    return optional(nullable(innerType));
        +}
        +const ZodDefault = /*@__PURE__*/ $constructor("ZodDefault", (inst, def) => {
        +    $ZodDefault.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => defaultProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +    inst.removeDefault = inst.unwrap;
        +});
        +function schemas_default(innerType, defaultValue) {
        +    return new ZodDefault({
        +        type: "default",
        +        innerType: innerType,
        +        get defaultValue() {
        +            return typeof defaultValue === "function" ? defaultValue() : shallowClone(defaultValue);
        +        },
        +    });
        +}
        +const ZodPrefault = /*@__PURE__*/ $constructor("ZodPrefault", (inst, def) => {
        +    $ZodPrefault.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => prefaultProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function prefault(innerType, defaultValue) {
        +    return new ZodPrefault({
        +        type: "prefault",
        +        innerType: innerType,
        +        get defaultValue() {
        +            return typeof defaultValue === "function" ? defaultValue() : shallowClone(defaultValue);
        +        },
        +    });
        +}
        +const ZodNonOptional = /*@__PURE__*/ $constructor("ZodNonOptional", (inst, def) => {
        +    $ZodNonOptional.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => nonoptionalProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function nonoptional(innerType, params) {
        +    return new ZodNonOptional({
        +        type: "nonoptional",
        +        innerType: innerType,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodSuccess = /*@__PURE__*/ $constructor("ZodSuccess", (inst, def) => {
        +    $ZodSuccess.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => successProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function success(innerType) {
        +    return new ZodSuccess({
        +        type: "success",
        +        innerType: innerType,
        +    });
        +}
        +const ZodCatch = /*@__PURE__*/ $constructor("ZodCatch", (inst, def) => {
        +    $ZodCatch.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => catchProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +    inst.removeCatch = inst.unwrap;
        +});
        +function schemas_catch(innerType, catchValue) {
        +    return new ZodCatch({
        +        type: "catch",
        +        innerType: innerType,
        +        catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
        +    });
        +}
        +
        +const ZodNaN = /*@__PURE__*/ $constructor("ZodNaN", (inst, def) => {
        +    $ZodNaN.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => nanProcessor(inst, ctx, json, params);
        +});
        +function nan(params) {
        +    return _nan(ZodNaN, params);
        +}
        +const ZodPipe = /*@__PURE__*/ $constructor("ZodPipe", (inst, def) => {
        +    $ZodPipe.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => pipeProcessor(inst, ctx, json, params);
        +    inst.in = def.in;
        +    inst.out = def.out;
        +});
        +function pipe(in_, out) {
        +    return new ZodPipe({
        +        type: "pipe",
        +        in: in_,
        +        out: out,
        +        // ...util.normalizeParams(params),
        +    });
        +}
        +const ZodCodec = /*@__PURE__*/ $constructor("ZodCodec", (inst, def) => {
        +    ZodPipe.init(inst, def);
        +    $ZodCodec.init(inst, def);
        +});
        +function codec(in_, out, params) {
        +    return new ZodCodec({
        +        type: "pipe",
        +        in: in_,
        +        out: out,
        +        transform: params.decode,
        +        reverseTransform: params.encode,
        +    });
        +}
        +const ZodReadonly = /*@__PURE__*/ $constructor("ZodReadonly", (inst, def) => {
        +    $ZodReadonly.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => readonlyProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function readonly(innerType) {
        +    return new ZodReadonly({
        +        type: "readonly",
        +        innerType: innerType,
        +    });
        +}
        +const ZodTemplateLiteral = /*@__PURE__*/ $constructor("ZodTemplateLiteral", (inst, def) => {
        +    $ZodTemplateLiteral.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => templateLiteralProcessor(inst, ctx, json, params);
        +});
        +function templateLiteral(parts, params) {
        +    return new ZodTemplateLiteral({
        +        type: "template_literal",
        +        parts,
        +        ...normalizeParams(params),
        +    });
        +}
        +const ZodLazy = /*@__PURE__*/ $constructor("ZodLazy", (inst, def) => {
        +    $ZodLazy.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => lazyProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.getter();
        +});
        +function lazy(getter) {
        +    return new ZodLazy({
        +        type: "lazy",
        +        getter: getter,
        +    });
        +}
        +const ZodPromise = /*@__PURE__*/ $constructor("ZodPromise", (inst, def) => {
        +    $ZodPromise.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => promiseProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function promise(innerType) {
        +    return new ZodPromise({
        +        type: "promise",
        +        innerType: innerType,
        +    });
        +}
        +const ZodFunction = /*@__PURE__*/ $constructor("ZodFunction", (inst, def) => {
        +    $ZodFunction.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => functionProcessor(inst, ctx, json, params);
        +});
        +function _function(params) {
        +    return new ZodFunction({
        +        type: "function",
        +        input: Array.isArray(params?.input) ? tuple(params?.input) : (params?.input ?? array(unknown())),
        +        output: params?.output ?? unknown(),
        +    });
        +}
        +
        +const ZodCustom = /*@__PURE__*/ $constructor("ZodCustom", (inst, def) => {
        +    $ZodCustom.init(inst, def);
        +    ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => customProcessor(inst, ctx, json, params);
        +});
        +// custom checks
        +function check(fn) {
        +    const ch = new $ZodCheck({
        +        check: "custom",
        +        // ...util.normalizeParams(params),
        +    });
        +    ch._zod.check = fn;
        +    return ch;
        +}
        +function custom(fn, _params) {
        +    return _custom(ZodCustom, fn ?? (() => true), _params);
        +}
        +function refine(fn, _params = {}) {
        +    return _refine(ZodCustom, fn, _params);
        +}
        +// superRefine
        +function superRefine(fn) {
        +    return _superRefine(fn);
        +}
        +// Re-export describe and meta from core
        +const schemas_describe = describe;
        +const schemas_meta = meta;
        +function _instanceof(cls, params = {}) {
        +    const inst = new ZodCustom({
        +        type: "custom",
        +        check: "custom",
        +        fn: (data) => data instanceof cls,
        +        abort: true,
        +        ...normalizeParams(params),
        +    });
        +    inst._zod.bag.Class = cls;
        +    // Override check to emit invalid_type instead of custom
        +    inst._zod.check = (payload) => {
        +        if (!(payload.value instanceof cls)) {
        +            payload.issues.push({
        +                code: "invalid_type",
        +                expected: cls.name,
        +                input: payload.value,
        +                inst,
        +                path: [...(inst._zod.def.path ?? [])],
        +            });
        +        }
        +    };
        +    return inst;
        +}
        +
        +// stringbool
        +const stringbool = (...args) => _stringbool({
        +    Codec: ZodCodec,
        +    Boolean: ZodBoolean,
        +    String: ZodString,
        +}, ...args);
        +function schemas_json(params) {
        +    const jsonSchema = lazy(() => {
        +        return union([schemas_string(params), schemas_number(), schemas_boolean(), schemas_null(), array(jsonSchema), record(schemas_string(), jsonSchema)]);
        +    });
        +    return jsonSchema;
        +}
        +// preprocess
        +// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */
        +function preprocess(fn, schema) {
        +    return pipe(transform(fn), schema);
        +}
        +
        +;// ../commons/node_modules/zod/v4/classic/compat.js
        +/* unused harmony import specifier */ var core;
        +// Zod 3 compat layer
        +
        +/** @deprecated Use the raw string literal codes instead, e.g. "invalid_type". */
        +const ZodIssueCode = {
        +    invalid_type: "invalid_type",
        +    too_big: "too_big",
        +    too_small: "too_small",
        +    invalid_format: "invalid_format",
        +    not_multiple_of: "not_multiple_of",
        +    unrecognized_keys: "unrecognized_keys",
        +    invalid_union: "invalid_union",
        +    invalid_key: "invalid_key",
        +    invalid_element: "invalid_element",
        +    invalid_value: "invalid_value",
        +    custom: "custom",
        +};
        +
        +/** @deprecated Use `z.config(params)` instead. */
        +function setErrorMap(map) {
        +    core.config({
        +        customError: map,
        +    });
        +}
        +/** @deprecated Use `z.config()` instead. */
        +function getErrorMap() {
        +    return core.config().customError;
        +}
        +/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */
        +var ZodFirstPartyTypeKind;
        +(function (ZodFirstPartyTypeKind) {
        +})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));
        +
        +;// ../commons/node_modules/zod/v4/classic/from-json-schema.js
        +/* unused harmony import specifier */ var from_json_schema_globalRegistry;
        +
        +
        +
        +
        +// Local z object to avoid circular dependency with ../index.js
        +const z = {
        +    ...classic_schemas_namespaceObject,
        +    ...classic_checks_namespaceObject,
        +    iso: iso_namespaceObject,
        +};
        +// Keys that are recognized and handled by the conversion logic
        +const RECOGNIZED_KEYS = new Set([
        +    // Schema identification
        +    "$schema",
        +    "$ref",
        +    "$defs",
        +    "definitions",
        +    // Core schema keywords
        +    "$id",
        +    "id",
        +    "$comment",
        +    "$anchor",
        +    "$vocabulary",
        +    "$dynamicRef",
        +    "$dynamicAnchor",
        +    // Type
        +    "type",
        +    "enum",
        +    "const",
        +    // Composition
        +    "anyOf",
        +    "oneOf",
        +    "allOf",
        +    "not",
        +    // Object
        +    "properties",
        +    "required",
        +    "additionalProperties",
        +    "patternProperties",
        +    "propertyNames",
        +    "minProperties",
        +    "maxProperties",
        +    // Array
        +    "items",
        +    "prefixItems",
        +    "additionalItems",
        +    "minItems",
        +    "maxItems",
        +    "uniqueItems",
        +    "contains",
        +    "minContains",
        +    "maxContains",
        +    // String
        +    "minLength",
        +    "maxLength",
        +    "pattern",
        +    "format",
        +    // Number
        +    "minimum",
        +    "maximum",
        +    "exclusiveMinimum",
        +    "exclusiveMaximum",
        +    "multipleOf",
        +    // Already handled metadata
        +    "description",
        +    "default",
        +    // Content
        +    "contentEncoding",
        +    "contentMediaType",
        +    "contentSchema",
        +    // Unsupported (error-throwing)
        +    "unevaluatedItems",
        +    "unevaluatedProperties",
        +    "if",
        +    "then",
        +    "else",
        +    "dependentSchemas",
        +    "dependentRequired",
        +    // OpenAPI
        +    "nullable",
        +    "readOnly",
        +]);
        +function detectVersion(schema, defaultTarget) {
        +    const $schema = schema.$schema;
        +    if ($schema === "https://json-schema.org/draft/2020-12/schema") {
        +        return "draft-2020-12";
        +    }
        +    if ($schema === "http://json-schema.org/draft-07/schema#") {
        +        return "draft-7";
        +    }
        +    if ($schema === "http://json-schema.org/draft-04/schema#") {
        +        return "draft-4";
        +    }
        +    // Use defaultTarget if provided, otherwise default to draft-2020-12
        +    return defaultTarget ?? "draft-2020-12";
        +}
        +function resolveRef(ref, ctx) {
        +    if (!ref.startsWith("#")) {
        +        throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
        +    }
        +    const path = ref.slice(1).split("/").filter(Boolean);
        +    // Handle root reference "#"
        +    if (path.length === 0) {
        +        return ctx.rootSchema;
        +    }
        +    const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
        +    if (path[0] === defsKey) {
        +        const key = path[1];
        +        if (!key || !ctx.defs[key]) {
        +            throw new Error(`Reference not found: ${ref}`);
        +        }
        +        return ctx.defs[key];
        +    }
        +    throw new Error(`Reference not found: ${ref}`);
        +}
        +function convertBaseSchema(schema, ctx) {
        +    // Handle unsupported features
        +    if (schema.not !== undefined) {
        +        // Special case: { not: {} } represents never
        +        if (typeof schema.not === "object" && Object.keys(schema.not).length === 0) {
        +            return z.never();
        +        }
        +        throw new Error("not is not supported in Zod (except { not: {} } for never)");
        +    }
        +    if (schema.unevaluatedItems !== undefined) {
        +        throw new Error("unevaluatedItems is not supported");
        +    }
        +    if (schema.unevaluatedProperties !== undefined) {
        +        throw new Error("unevaluatedProperties is not supported");
        +    }
        +    if (schema.if !== undefined || schema.then !== undefined || schema.else !== undefined) {
        +        throw new Error("Conditional schemas (if/then/else) are not supported");
        +    }
        +    if (schema.dependentSchemas !== undefined || schema.dependentRequired !== undefined) {
        +        throw new Error("dependentSchemas and dependentRequired are not supported");
        +    }
        +    // Handle $ref
        +    if (schema.$ref) {
        +        const refPath = schema.$ref;
        +        if (ctx.refs.has(refPath)) {
        +            return ctx.refs.get(refPath);
        +        }
        +        if (ctx.processing.has(refPath)) {
        +            // Circular reference - use lazy
        +            return z.lazy(() => {
        +                if (!ctx.refs.has(refPath)) {
        +                    throw new Error(`Circular reference not resolved: ${refPath}`);
        +                }
        +                return ctx.refs.get(refPath);
        +            });
        +        }
        +        ctx.processing.add(refPath);
        +        const resolved = resolveRef(refPath, ctx);
        +        const zodSchema = convertSchema(resolved, ctx);
        +        ctx.refs.set(refPath, zodSchema);
        +        ctx.processing.delete(refPath);
        +        return zodSchema;
        +    }
        +    // Handle enum
        +    if (schema.enum !== undefined) {
        +        const enumValues = schema.enum;
        +        // Special case: OpenAPI 3.0 null representation { type: "string", nullable: true, enum: [null] }
        +        if (ctx.version === "openapi-3.0" &&
        +            schema.nullable === true &&
        +            enumValues.length === 1 &&
        +            enumValues[0] === null) {
        +            return z.null();
        +        }
        +        if (enumValues.length === 0) {
        +            return z.never();
        +        }
        +        if (enumValues.length === 1) {
        +            return z.literal(enumValues[0]);
        +        }
        +        // Check if all values are strings
        +        if (enumValues.every((v) => typeof v === "string")) {
        +            return z.enum(enumValues);
        +        }
        +        // Mixed types - use union of literals
        +        const literalSchemas = enumValues.map((v) => z.literal(v));
        +        if (literalSchemas.length < 2) {
        +            return literalSchemas[0];
        +        }
        +        return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);
        +    }
        +    // Handle const
        +    if (schema.const !== undefined) {
        +        return z.literal(schema.const);
        +    }
        +    // Handle type
        +    const type = schema.type;
        +    if (Array.isArray(type)) {
        +        // Expand type array into anyOf union
        +        const typeSchemas = type.map((t) => {
        +            const typeSchema = { ...schema, type: t };
        +            return convertBaseSchema(typeSchema, ctx);
        +        });
        +        if (typeSchemas.length === 0) {
        +            return z.never();
        +        }
        +        if (typeSchemas.length === 1) {
        +            return typeSchemas[0];
        +        }
        +        return z.union(typeSchemas);
        +    }
        +    if (!type) {
        +        // No type specified - empty schema (any)
        +        return z.any();
        +    }
        +    let zodSchema;
        +    switch (type) {
        +        case "string": {
        +            let stringSchema = z.string();
        +            // Apply format using .check() with Zod format functions
        +            if (schema.format) {
        +                const format = schema.format;
        +                // Map common formats to Zod check functions
        +                if (format === "email") {
        +                    stringSchema = stringSchema.check(z.email());
        +                }
        +                else if (format === "uri" || format === "uri-reference") {
        +                    stringSchema = stringSchema.check(z.url());
        +                }
        +                else if (format === "uuid" || format === "guid") {
        +                    stringSchema = stringSchema.check(z.uuid());
        +                }
        +                else if (format === "date-time") {
        +                    stringSchema = stringSchema.check(z.iso.datetime());
        +                }
        +                else if (format === "date") {
        +                    stringSchema = stringSchema.check(z.iso.date());
        +                }
        +                else if (format === "time") {
        +                    stringSchema = stringSchema.check(z.iso.time());
        +                }
        +                else if (format === "duration") {
        +                    stringSchema = stringSchema.check(z.iso.duration());
        +                }
        +                else if (format === "ipv4") {
        +                    stringSchema = stringSchema.check(z.ipv4());
        +                }
        +                else if (format === "ipv6") {
        +                    stringSchema = stringSchema.check(z.ipv6());
        +                }
        +                else if (format === "mac") {
        +                    stringSchema = stringSchema.check(z.mac());
        +                }
        +                else if (format === "cidr") {
        +                    stringSchema = stringSchema.check(z.cidrv4());
        +                }
        +                else if (format === "cidr-v6") {
        +                    stringSchema = stringSchema.check(z.cidrv6());
        +                }
        +                else if (format === "base64") {
        +                    stringSchema = stringSchema.check(z.base64());
        +                }
        +                else if (format === "base64url") {
        +                    stringSchema = stringSchema.check(z.base64url());
        +                }
        +                else if (format === "e164") {
        +                    stringSchema = stringSchema.check(z.e164());
        +                }
        +                else if (format === "jwt") {
        +                    stringSchema = stringSchema.check(z.jwt());
        +                }
        +                else if (format === "emoji") {
        +                    stringSchema = stringSchema.check(z.emoji());
        +                }
        +                else if (format === "nanoid") {
        +                    stringSchema = stringSchema.check(z.nanoid());
        +                }
        +                else if (format === "cuid") {
        +                    stringSchema = stringSchema.check(z.cuid());
        +                }
        +                else if (format === "cuid2") {
        +                    stringSchema = stringSchema.check(z.cuid2());
        +                }
        +                else if (format === "ulid") {
        +                    stringSchema = stringSchema.check(z.ulid());
        +                }
        +                else if (format === "xid") {
        +                    stringSchema = stringSchema.check(z.xid());
        +                }
        +                else if (format === "ksuid") {
        +                    stringSchema = stringSchema.check(z.ksuid());
        +                }
        +                // Note: json-string format is not currently supported by Zod
        +                // Custom formats are ignored - keep as plain string
        +            }
        +            // Apply constraints
        +            if (typeof schema.minLength === "number") {
        +                stringSchema = stringSchema.min(schema.minLength);
        +            }
        +            if (typeof schema.maxLength === "number") {
        +                stringSchema = stringSchema.max(schema.maxLength);
        +            }
        +            if (schema.pattern) {
        +                // JSON Schema patterns are not implicitly anchored (match anywhere in string)
        +                stringSchema = stringSchema.regex(new RegExp(schema.pattern));
        +            }
        +            zodSchema = stringSchema;
        +            break;
        +        }
        +        case "number":
        +        case "integer": {
        +            let numberSchema = type === "integer" ? z.number().int() : z.number();
        +            // Apply constraints
        +            if (typeof schema.minimum === "number") {
        +                numberSchema = numberSchema.min(schema.minimum);
        +            }
        +            if (typeof schema.maximum === "number") {
        +                numberSchema = numberSchema.max(schema.maximum);
        +            }
        +            if (typeof schema.exclusiveMinimum === "number") {
        +                numberSchema = numberSchema.gt(schema.exclusiveMinimum);
        +            }
        +            else if (schema.exclusiveMinimum === true && typeof schema.minimum === "number") {
        +                numberSchema = numberSchema.gt(schema.minimum);
        +            }
        +            if (typeof schema.exclusiveMaximum === "number") {
        +                numberSchema = numberSchema.lt(schema.exclusiveMaximum);
        +            }
        +            else if (schema.exclusiveMaximum === true && typeof schema.maximum === "number") {
        +                numberSchema = numberSchema.lt(schema.maximum);
        +            }
        +            if (typeof schema.multipleOf === "number") {
        +                numberSchema = numberSchema.multipleOf(schema.multipleOf);
        +            }
        +            zodSchema = numberSchema;
        +            break;
        +        }
        +        case "boolean": {
        +            zodSchema = z.boolean();
        +            break;
        +        }
        +        case "null": {
        +            zodSchema = z.null();
        +            break;
        +        }
        +        case "object": {
        +            const shape = {};
        +            const properties = schema.properties || {};
        +            const requiredSet = new Set(schema.required || []);
        +            // Convert properties - mark optional ones
        +            for (const [key, propSchema] of Object.entries(properties)) {
        +                const propZodSchema = convertSchema(propSchema, ctx);
        +                // If not in required array, make it optional
        +                shape[key] = requiredSet.has(key) ? propZodSchema : propZodSchema.optional();
        +            }
        +            // Handle propertyNames
        +            if (schema.propertyNames) {
        +                const keySchema = convertSchema(schema.propertyNames, ctx);
        +                const valueSchema = schema.additionalProperties && typeof schema.additionalProperties === "object"
        +                    ? convertSchema(schema.additionalProperties, ctx)
        +                    : z.any();
        +                // Case A: No properties (pure record)
        +                if (Object.keys(shape).length === 0) {
        +                    zodSchema = z.record(keySchema, valueSchema);
        +                    break;
        +                }
        +                // Case B: With properties (intersection of object and looseRecord)
        +                const objectSchema = z.object(shape).passthrough();
        +                const recordSchema = z.looseRecord(keySchema, valueSchema);
        +                zodSchema = z.intersection(objectSchema, recordSchema);
        +                break;
        +            }
        +            // Handle patternProperties
        +            if (schema.patternProperties) {
        +                // patternProperties: keys matching pattern must satisfy corresponding schema
        +                // Use loose records so non-matching keys pass through
        +                const patternProps = schema.patternProperties;
        +                const patternKeys = Object.keys(patternProps);
        +                const looseRecords = [];
        +                for (const pattern of patternKeys) {
        +                    const patternValue = convertSchema(patternProps[pattern], ctx);
        +                    const keySchema = z.string().regex(new RegExp(pattern));
        +                    looseRecords.push(z.looseRecord(keySchema, patternValue));
        +                }
        +                // Build intersection: object schema + all pattern property records
        +                const schemasToIntersect = [];
        +                if (Object.keys(shape).length > 0) {
        +                    // Use passthrough so patternProperties can validate additional keys
        +                    schemasToIntersect.push(z.object(shape).passthrough());
        +                }
        +                schemasToIntersect.push(...looseRecords);
        +                if (schemasToIntersect.length === 0) {
        +                    zodSchema = z.object({}).passthrough();
        +                }
        +                else if (schemasToIntersect.length === 1) {
        +                    zodSchema = schemasToIntersect[0];
        +                }
        +                else {
        +                    // Chain intersections: (A & B) & C & D ...
        +                    let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]);
        +                    for (let i = 2; i < schemasToIntersect.length; i++) {
        +                        result = z.intersection(result, schemasToIntersect[i]);
        +                    }
        +                    zodSchema = result;
        +                }
        +                break;
        +            }
        +            // Handle additionalProperties
        +            // In JSON Schema, additionalProperties defaults to true (allow any extra properties)
        +            // In Zod, objects strip unknown keys by default, so we need to handle this explicitly
        +            const objectSchema = z.object(shape);
        +            if (schema.additionalProperties === false) {
        +                // Strict mode - no extra properties allowed
        +                zodSchema = objectSchema.strict();
        +            }
        +            else if (typeof schema.additionalProperties === "object") {
        +                // Extra properties must match the specified schema
        +                zodSchema = objectSchema.catchall(convertSchema(schema.additionalProperties, ctx));
        +            }
        +            else {
        +                // additionalProperties is true or undefined - allow any extra properties (passthrough)
        +                zodSchema = objectSchema.passthrough();
        +            }
        +            break;
        +        }
        +        case "array": {
        +            // TODO: uniqueItems is not supported
        +            // TODO: contains/minContains/maxContains are not supported
        +            // Check if this is a tuple (prefixItems or items as array)
        +            const prefixItems = schema.prefixItems;
        +            const items = schema.items;
        +            if (prefixItems && Array.isArray(prefixItems)) {
        +                // Tuple with prefixItems (draft-2020-12)
        +                const tupleItems = prefixItems.map((item) => convertSchema(item, ctx));
        +                const rest = items && typeof items === "object" && !Array.isArray(items)
        +                    ? convertSchema(items, ctx)
        +                    : undefined;
        +                if (rest) {
        +                    zodSchema = z.tuple(tupleItems).rest(rest);
        +                }
        +                else {
        +                    zodSchema = z.tuple(tupleItems);
        +                }
        +                // Apply minItems/maxItems constraints to tuples
        +                if (typeof schema.minItems === "number") {
        +                    zodSchema = zodSchema.check(z.minLength(schema.minItems));
        +                }
        +                if (typeof schema.maxItems === "number") {
        +                    zodSchema = zodSchema.check(z.maxLength(schema.maxItems));
        +                }
        +            }
        +            else if (Array.isArray(items)) {
        +                // Tuple with items array (draft-7)
        +                const tupleItems = items.map((item) => convertSchema(item, ctx));
        +                const rest = schema.additionalItems && typeof schema.additionalItems === "object"
        +                    ? convertSchema(schema.additionalItems, ctx)
        +                    : undefined; // additionalItems: false means no rest, handled by default tuple behavior
        +                if (rest) {
        +                    zodSchema = z.tuple(tupleItems).rest(rest);
        +                }
        +                else {
        +                    zodSchema = z.tuple(tupleItems);
        +                }
        +                // Apply minItems/maxItems constraints to tuples
        +                if (typeof schema.minItems === "number") {
        +                    zodSchema = zodSchema.check(z.minLength(schema.minItems));
        +                }
        +                if (typeof schema.maxItems === "number") {
        +                    zodSchema = zodSchema.check(z.maxLength(schema.maxItems));
        +                }
        +            }
        +            else if (items !== undefined) {
        +                // Regular array
        +                const element = convertSchema(items, ctx);
        +                let arraySchema = z.array(element);
        +                // Apply constraints
        +                if (typeof schema.minItems === "number") {
        +                    arraySchema = arraySchema.min(schema.minItems);
        +                }
        +                if (typeof schema.maxItems === "number") {
        +                    arraySchema = arraySchema.max(schema.maxItems);
        +                }
        +                zodSchema = arraySchema;
        +            }
        +            else {
        +                // No items specified - array of any
        +                zodSchema = z.array(z.any());
        +            }
        +            break;
        +        }
        +        default:
        +            throw new Error(`Unsupported type: ${type}`);
        +    }
        +    // Apply metadata
        +    if (schema.description) {
        +        zodSchema = zodSchema.describe(schema.description);
        +    }
        +    if (schema.default !== undefined) {
        +        zodSchema = zodSchema.default(schema.default);
        +    }
        +    return zodSchema;
        +}
        +function convertSchema(schema, ctx) {
        +    if (typeof schema === "boolean") {
        +        return schema ? z.any() : z.never();
        +    }
        +    // Convert base schema first (ignoring composition keywords)
        +    let baseSchema = convertBaseSchema(schema, ctx);
        +    const hasExplicitType = schema.type || schema.enum !== undefined || schema.const !== undefined;
        +    // Process composition keywords LAST (they can appear together)
        +    // Handle anyOf - wrap base schema with union
        +    if (schema.anyOf && Array.isArray(schema.anyOf)) {
        +        const options = schema.anyOf.map((s) => convertSchema(s, ctx));
        +        const anyOfUnion = z.union(options);
        +        baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion;
        +    }
        +    // Handle oneOf - exclusive union (exactly one must match)
        +    if (schema.oneOf && Array.isArray(schema.oneOf)) {
        +        const options = schema.oneOf.map((s) => convertSchema(s, ctx));
        +        const oneOfUnion = z.xor(options);
        +        baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion;
        +    }
        +    // Handle allOf - wrap base schema with intersection
        +    if (schema.allOf && Array.isArray(schema.allOf)) {
        +        if (schema.allOf.length === 0) {
        +            baseSchema = hasExplicitType ? baseSchema : z.any();
        +        }
        +        else {
        +            let result = hasExplicitType ? baseSchema : convertSchema(schema.allOf[0], ctx);
        +            const startIdx = hasExplicitType ? 0 : 1;
        +            for (let i = startIdx; i < schema.allOf.length; i++) {
        +                result = z.intersection(result, convertSchema(schema.allOf[i], ctx));
        +            }
        +            baseSchema = result;
        +        }
        +    }
        +    // Handle nullable (OpenAPI 3.0)
        +    if (schema.nullable === true && ctx.version === "openapi-3.0") {
        +        baseSchema = z.nullable(baseSchema);
        +    }
        +    // Handle readOnly
        +    if (schema.readOnly === true) {
        +        baseSchema = z.readonly(baseSchema);
        +    }
        +    // Collect metadata: core schema keywords and unrecognized keys
        +    const extraMeta = {};
        +    // Core schema keywords that should be captured as metadata
        +    const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"];
        +    for (const key of coreMetadataKeys) {
        +        if (key in schema) {
        +            extraMeta[key] = schema[key];
        +        }
        +    }
        +    // Content keywords - store as metadata
        +    const contentMetadataKeys = ["contentEncoding", "contentMediaType", "contentSchema"];
        +    for (const key of contentMetadataKeys) {
        +        if (key in schema) {
        +            extraMeta[key] = schema[key];
        +        }
        +    }
        +    // Unrecognized keys (custom metadata)
        +    for (const key of Object.keys(schema)) {
        +        if (!RECOGNIZED_KEYS.has(key)) {
        +            extraMeta[key] = schema[key];
        +        }
        +    }
        +    if (Object.keys(extraMeta).length > 0) {
        +        ctx.registry.add(baseSchema, extraMeta);
        +    }
        +    return baseSchema;
        +}
        +/**
        + * Converts a JSON Schema to a Zod schema. This function should be considered semi-experimental. It's behavior is liable to change. */
        +function fromJSONSchema(schema, params) {
        +    // Handle boolean schemas
        +    if (typeof schema === "boolean") {
        +        return schema ? z.any() : z.never();
        +    }
        +    const version = detectVersion(schema, params?.defaultTarget);
        +    const defs = (schema.$defs || schema.definitions || {});
        +    const ctx = {
        +        version,
        +        defs,
        +        refs: new Map(),
        +        processing: new Set(),
        +        rootSchema: schema,
        +        registry: params?.registry ?? from_json_schema_globalRegistry,
        +    };
        +    return convertSchema(schema, ctx);
        +}
        +
        +;// ../commons/node_modules/zod/v4/classic/coerce.js
        +/* unused harmony import specifier */ var coerce_core;
        +/* unused harmony import specifier */ var coerce_schemas;
        +
        +
        +function coerce_string(params) {
        +    return coerce_core._coercedString(coerce_schemas.ZodString, params);
        +}
        +function coerce_number(params) {
        +    return coerce_core._coercedNumber(coerce_schemas.ZodNumber, params);
        +}
        +function coerce_boolean(params) {
        +    return coerce_core._coercedBoolean(coerce_schemas.ZodBoolean, params);
        +}
        +function coerce_bigint(params) {
        +    return coerce_core._coercedBigint(coerce_schemas.ZodBigInt, params);
        +}
        +function coerce_date(params) {
        +    return coerce_core._coercedDate(coerce_schemas.ZodDate, params);
        +}
        +
        +;// ../commons/node_modules/zod/v4/classic/external.js
        +
        +
        +
        +
        +
        +
        +// zod-specified
        +
        +
        +config(en());
        +
        +
        +
        +
        +// iso
        +// must be exported from top-level
        +// https://github.com/colinhacks/zod/issues/4491
        +
        +
        +
        +
        +;// ../commons/node_modules/normalize-url/index.js
        +// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
        +const DATA_URL_DEFAULT_MIME_TYPE = 'text/plain';
        +const DATA_URL_DEFAULT_CHARSET = 'us-ascii';
        +
        +const testParameter = (name, filters) => filters.some(filter => filter instanceof RegExp ? filter.test(name) : filter === name);
        +
        +const supportedProtocols = new Set([
        +	'https:',
        +	'http:',
        +	'file:',
        +]);
        +
        +const hasCustomProtocol = urlString => {
        +	try {
        +		const {protocol} = new URL(urlString);
        +
        +		return protocol.endsWith(':')
        +			&& !protocol.includes('.')
        +			&& !supportedProtocols.has(protocol);
        +	} catch {
        +		return false;
        +	}
        +};
        +
        +const normalizeDataURL = (urlString, {stripHash}) => {
        +	const match = /^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(urlString);
        +
        +	if (!match) {
        +		throw new Error(`Invalid URL: ${urlString}`);
        +	}
        +
        +	let {type, data, hash} = match.groups;
        +	const mediaType = type.split(';');
        +	hash = stripHash ? '' : hash;
        +
        +	let isBase64 = false;
        +	if (mediaType[mediaType.length - 1] === 'base64') {
        +		mediaType.pop();
        +		isBase64 = true;
        +	}
        +
        +	// Lowercase MIME type
        +	const mimeType = mediaType.shift()?.toLowerCase() ?? '';
        +	const attributes = mediaType
        +		.map(attribute => {
        +			let [key, value = ''] = attribute.split('=').map(string => string.trim());
        +
        +			// Lowercase `charset`
        +			if (key === 'charset') {
        +				value = value.toLowerCase();
        +
        +				if (value === DATA_URL_DEFAULT_CHARSET) {
        +					return '';
        +				}
        +			}
        +
        +			return `${key}${value ? `=${value}` : ''}`;
        +		})
        +		.filter(Boolean);
        +
        +	const normalizedMediaType = [
        +		...attributes,
        +	];
        +
        +	if (isBase64) {
        +		normalizedMediaType.push('base64');
        +	}
        +
        +	if (normalizedMediaType.length > 0 || (mimeType && mimeType !== DATA_URL_DEFAULT_MIME_TYPE)) {
        +		normalizedMediaType.unshift(mimeType);
        +	}
        +
        +	return `data:${normalizedMediaType.join(';')},${isBase64 ? data.trim() : data}${hash ? `#${hash}` : ''}`;
        +};
        +
        +function normalizeUrl(urlString, options) {
        +	options = {
        +		defaultProtocol: 'http',
        +		normalizeProtocol: true,
        +		forceHttp: false,
        +		forceHttps: false,
        +		stripAuthentication: true,
        +		stripHash: false,
        +		stripTextFragment: true,
        +		stripWWW: true,
        +		removeQueryParameters: [/^utm_\w+/i],
        +		removeTrailingSlash: true,
        +		removeSingleSlash: true,
        +		removeDirectoryIndex: false,
        +		removeExplicitPort: false,
        +		sortQueryParameters: true,
        +		...options,
        +	};
        +
        +	// Legacy: Append `:` to the protocol if missing.
        +	if (typeof options.defaultProtocol === 'string' && !options.defaultProtocol.endsWith(':')) {
        +		options.defaultProtocol = `${options.defaultProtocol}:`;
        +	}
        +
        +	urlString = urlString.trim();
        +
        +	// Data URL
        +	if (/^data:/i.test(urlString)) {
        +		return normalizeDataURL(urlString, options);
        +	}
        +
        +	if (hasCustomProtocol(urlString)) {
        +		return urlString;
        +	}
        +
        +	const hasRelativeProtocol = urlString.startsWith('//');
        +	const isRelativeUrl = !hasRelativeProtocol && /^\.*\//.test(urlString);
        +
        +	// Prepend protocol
        +	if (!isRelativeUrl) {
        +		urlString = urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//, options.defaultProtocol);
        +	}
        +
        +	const urlObject = new URL(urlString);
        +
        +	if (options.forceHttp && options.forceHttps) {
        +		throw new Error('The `forceHttp` and `forceHttps` options cannot be used together');
        +	}
        +
        +	if (options.forceHttp && urlObject.protocol === 'https:') {
        +		urlObject.protocol = 'http:';
        +	}
        +
        +	if (options.forceHttps && urlObject.protocol === 'http:') {
        +		urlObject.protocol = 'https:';
        +	}
        +
        +	// Remove auth
        +	if (options.stripAuthentication) {
        +		urlObject.username = '';
        +		urlObject.password = '';
        +	}
        +
        +	// Remove hash
        +	if (options.stripHash) {
        +		urlObject.hash = '';
        +	} else if (options.stripTextFragment) {
        +		urlObject.hash = urlObject.hash.replace(/#?:~:text.*?$/i, '');
        +	}
        +
        +	// Remove duplicate slashes if not preceded by a protocol
        +	// NOTE: This could be implemented using a single negative lookbehind
        +	// regex, but we avoid that to maintain compatibility with older js engines
        +	// which do not have support for that feature.
        +	if (urlObject.pathname) {
        +		// TODO: Replace everything below with `urlObject.pathname = urlObject.pathname.replace(/(? 0) {
        +		let pathComponents = urlObject.pathname.split('/');
        +		const lastComponent = pathComponents[pathComponents.length - 1];
        +
        +		if (testParameter(lastComponent, options.removeDirectoryIndex)) {
        +			pathComponents = pathComponents.slice(0, -1);
        +			urlObject.pathname = pathComponents.slice(1).join('/') + '/';
        +		}
        +	}
        +
        +	if (urlObject.hostname) {
        +		// Remove trailing dot
        +		urlObject.hostname = urlObject.hostname.replace(/\.$/, '');
        +
        +		// Remove `www.`
        +		if (options.stripWWW && /^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(urlObject.hostname)) {
        +			// Each label should be max 63 at length (min: 1).
        +			// Source: https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names
        +			// Each TLD should be up to 63 characters long (min: 2).
        +			// It is technically possible to have a single character TLD, but none currently exist.
        +			urlObject.hostname = urlObject.hostname.replace(/^www\./, '');
        +		}
        +	}
        +
        +	// Remove query unwanted parameters
        +	if (Array.isArray(options.removeQueryParameters)) {
        +		// eslint-disable-next-line unicorn/no-useless-spread -- We are intentionally spreading to get a copy.
        +		for (const key of [...urlObject.searchParams.keys()]) {
        +			if (testParameter(key, options.removeQueryParameters)) {
        +				urlObject.searchParams.delete(key);
        +			}
        +		}
        +	}
        +
        +	if (!Array.isArray(options.keepQueryParameters) && options.removeQueryParameters === true) {
        +		urlObject.search = '';
        +	}
        +
        +	// Keep wanted query parameters
        +	if (Array.isArray(options.keepQueryParameters) && options.keepQueryParameters.length > 0) {
        +		// eslint-disable-next-line unicorn/no-useless-spread -- We are intentionally spreading to get a copy.
        +		for (const key of [...urlObject.searchParams.keys()]) {
        +			if (!testParameter(key, options.keepQueryParameters)) {
        +				urlObject.searchParams.delete(key);
        +			}
        +		}
        +	}
        +
        +	// Sort query parameters
        +	if (options.sortQueryParameters) {
        +		urlObject.searchParams.sort();
        +
        +		// Calling `.sort()` encodes the search parameters, so we need to decode them again.
        +		try {
        +			urlObject.search = decodeURIComponent(urlObject.search);
        +		} catch {}
        +	}
        +
        +	if (options.removeTrailingSlash) {
        +		urlObject.pathname = urlObject.pathname.replace(/\/$/, '');
        +	}
        +
        +	// Remove an explicit port number, excluding a default port number, if applicable
        +	if (options.removeExplicitPort && urlObject.port) {
        +		urlObject.port = '';
        +	}
        +
        +	const oldUrlString = urlString;
        +
        +	// Take advantage of many of the Node `url` normalizations
        +	urlString = urlObject.toString();
        +
        +	if (!options.removeSingleSlash && urlObject.pathname === '/' && !oldUrlString.endsWith('/') && urlObject.hash === '') {
        +		urlString = urlString.replace(/\/$/, '');
        +	}
        +
        +	// Remove ending `/` unless removeSingleSlash is false
        +	if ((options.removeTrailingSlash || urlObject.pathname === '/') && urlObject.hash === '' && options.removeSingleSlash) {
        +		urlString = urlString.replace(/\/$/, '');
        +	}
        +
        +	// Restore relative protocol, if applicable
        +	if (hasRelativeProtocol && !options.normalizeProtocol) {
        +		urlString = urlString.replace(/^http:\/\//, '//');
        +	}
        +
        +	// Remove http/https
        +	if (options.stripProtocol) {
        +		urlString = urlString.replace(/^(?:https?:)?\/\//, '');
        +	}
        +
        +	return urlString;
        +}
        +
        +;// ../commons/dist/filter.js
        +/* unused harmony import specifier */ var filter_readPackage;
        +/* unused harmony import specifier */ var filter_readOSRConfig;
        +
        +
        +
        +
        +//////////////////////////////////////////////////////
        +//
        +//  NPM related
        +const isAPIPackage = (_path) => {
        +    const pkg = readPackage(_path);
        +    return (pkg.name || '').startsWith(`${API_NAMESPACE}/${API_PREFIX}`) ? pkg : null;
        +};
        +const hasDependency = (pkg, dep) => {
        +    pkg = filter_readPackage(pkg);
        +    return Object.keys((pkg.dependencies || {})).
        +        concat(Object.keys(pkg.devDependencies || {})).
        +        find((d) => d === dep);
        +};
        +//////////////////////////////////////////////////////
        +//
        +//  OSR related
        +const isValidMarketplaceComponent = (_path) => {
        +    const pkg = readOSRConfig(_path);
        +    if (!pkg ||
        +        !pkg.name ||
        +        !pkg.slug ||
        +        !pkg.code) {
        +        return false;
        +    }
        +    return true;
        +};
        +const isInvalidMarketplaceComponent = (_path) => {
        +    const pkg = filter_readOSRConfig(_path);
        +    if (pkg &&
        +        !pkg.name ||
        +        !pkg.slug ||
        +        !pkg.code) {
        +        return true;
        +    }
        +    return false;
        +};
        +const isValidLibraryComponent = (_path) => {
        +    const pkg = readOSRConfig(_path);
        +    if (!pkg || !pkg.name) {
        +        return false;
        +    }
        +    const templatePath = external_path_.resolve(`${external_path_.parse(_path).dir}/templates/shared/body.md`);
        +    if (!sync(templatePath)) {
        +        return false;
        +    }
        +    return true;
        +};
        +const PFilterInvalid = {
        +    marketplace_component: 'invalid_marketplace_component'
        +};
        +const PFilterValid = {
        +    marketplace_component: 'marketplace_component',
        +    library_component: 'library_component',
        +    package: 'package'
        +};
        +const FiltersValid = {
        +    'marketplace_component': isValidMarketplaceComponent,
        +    'library_component': isValidLibraryComponent,
        +    'package': isAPIPackage
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUU1QixPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXBELE9BQU8sRUFDSCxhQUFhLEVBQ2IsVUFBVSxFQUNiLE1BQU0sZ0JBQWdCLENBQUE7QUFFdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxhQUFhLEVBQ2hCLE1BQU0sYUFBYSxDQUFBO0FBRXBCLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsZUFBZTtBQUVmLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQzFDLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxhQUFhLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7QUFDckYsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBOEMsRUFBRSxHQUFXLEVBQUUsRUFBRTtJQUN6RixHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RCLE9BQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsQ0FBQyxDQUFRLEVBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQTtBQUN4QyxDQUFDLENBQUE7QUFFRCxzREFBc0Q7QUFDdEQsRUFBRTtBQUNGLGVBQWU7QUFFZixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQ3pELE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxJQUFJLENBQUMsR0FBRztRQUNKLENBQUMsR0FBRyxDQUFDLElBQUk7UUFDVCxDQUFDLEdBQUcsQ0FBQyxJQUFJO1FBQ1QsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLENBQUM7UUFDWCxPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDZixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQzNELE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxJQUFJLEdBQUc7UUFDSCxDQUFDLEdBQUcsQ0FBQyxJQUFJO1FBQ1QsQ0FBQyxHQUFHLENBQUMsSUFBSTtRQUNULENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDaEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFhLEVBQUUsRUFBRTtJQUNyRCxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsTUFBTSxZQUFZLEdBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRywyQkFBMkIsQ0FBQyxDQUFBO0lBQ3ZGLElBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDZixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIscUJBQXFCLEVBQUUsK0JBQStCO0NBQ3pELENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIscUJBQXFCLEVBQUUsdUJBQXVCO0lBQzlDLGlCQUFpQixFQUFFLG1CQUFtQjtJQUN0QyxPQUFPLEVBQUUsU0FBUztDQUNyQixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUN6QjtJQUNJLHVCQUF1QixFQUFFLDJCQUEyQjtJQUNwRCxtQkFBbUIsRUFBRSx1QkFBdUI7SUFDNUMsU0FBUyxFQUFHLFlBQVk7Q0FDM0IsQ0FBQSJ9
        +;// ../commons/dist/component.js
        +/* unused harmony import specifier */ var component_path;
        +/* unused harmony import specifier */ var component_PFilterValid;
        +/* unused harmony import specifier */ var component_isValidMarketplaceComponent;
        +/* unused harmony import specifier */ var component_isValidLibraryComponent;
        +/* unused harmony import specifier */ var component_PFilterInvalid;
        +/* unused harmony import specifier */ var component_isInvalidMarketplaceComponent;
        +/* unused harmony import specifier */ var component_forward_slash;
        +/* unused harmony import specifier */ var component_pathInfoEx;
        +/* unused harmony import specifier */ var component_resolve;
        +/* unused harmony import specifier */ var component_readOSRConfig;
        +
        +
        +
        +
        +
        +
        +
        +const IMAGES_GLOB = '*.+(JPG|jpg|png|PNG|gif)';
        +const find_items = (nodes, options) => {
        +    nodes = nodes.filter(options.filter);
        +    return nodes.map((c) => {
        +        const root = component_resolve(options.root, false, {});
        +        return {
        +            rel: component_forward_slash(`${component_path.relative(root, component_path.parse(c).dir)}`),
        +            path: component_forward_slash(`${options.root}/${component_path.relative(root, c)}`),
        +            config: component_readOSRConfig(c)
        +        };
        +    });
        +};
        +const component_get = (src, root, type) => {
        +    const srcInfo = component_pathInfoEx(src, false, {
        +        absolute: true
        +    });
        +    switch (type) {
        +        case component_PFilterValid.marketplace_component: {
        +            const options = {
        +                filter: component_isValidMarketplaceComponent,
        +                root
        +            };
        +            return find_items(srcInfo.FILES, options);
        +        }
        +        case component_PFilterValid.library_component: {
        +            const options = {
        +                filter: component_isValidLibraryComponent,
        +                root
        +            };
        +            return find_items(srcInfo.FILES, options);
        +        }
        +        case component_PFilterInvalid.marketplace_component: {
        +            const options = {
        +                filter: component_isInvalidMarketplaceComponent,
        +                root
        +            };
        +            return find_items(srcInfo.FILES, options);
        +        }
        +    }
        +};
        +const UrlSchema = schemas_string().url().transform((arg) => normalizeUrl(arg));
        +const ExifSchema = object({
        +    file: any(), // Assuming File is another schema or any type
        +    jfif: any(), // Assuming Jfif is another schema or any type
        +    exif: any(), // Assuming Exif2 is another schema or any type
        +    gps: any() // Assuming Gps is another schema or any type
        +});
        +const ImageMetaSchema = object({
        +    format: schemas_string(),
        +    width: schemas_number(),
        +    height: schemas_number(),
        +    space: schemas_string(),
        +    channels: schemas_number(),
        +    depth: schemas_string(),
        +    density: schemas_number(),
        +    chromaSubsampling: schemas_string(),
        +    isProgressive: schemas_boolean(),
        +    resolutionUnit: schemas_string(),
        +    hasProfile: schemas_boolean(),
        +    hasAlpha: schemas_boolean(),
        +    orientation: schemas_number(),
        +    exif: any() // Assuming Exif is another schema or any type
        +});
        +const CADMetaSchema = object({
        +    file: schemas_string(),
        +    name: schemas_string(),
        +    configuration: schemas_string(), // solidworks map
        +    step: schemas_string().optional(),
        +    model: schemas_string().optional(),
        +    html: schemas_string().optional(),
        +});
        +const ShippingSchema = object({
        +    price: schemas_number().optional(),
        +    transit: schemas_number().optional(),
        +    handling: schemas_number().optional()
        +});
        +const ManufacturingSchema = object({
        +    lead_time: schemas_number().optional()
        +});
        +const ResourceSchema = object({
        +    name: schemas_string(),
        +    url: schemas_string(),
        +    type: schemas_string()
        +});
        +const AssetImageSchema = object({
        +    name: schemas_string().optional(),
        +    url: schemas_string(),
        +    thumb: schemas_string().optional(),
        +    responsive: schemas_string().optional(),
        +    meta: any().optional(),
        +    keywords: array(schemas_string()).optional(),
        +    description: schemas_string().optional(),
        +    alt: schemas_string().optional(),
        +    title: schemas_string().optional(),
        +    height: schemas_number().optional(),
        +    width: schemas_number().optional(),
        +    order: schemas_number().optional(),
        +    exif: ExifSchema.optional(),
        +});
        +const GalleryConfig = object({
        +    glob: array(schemas_string())
        +});
        +const GalleryConfigsSchema = record(schemas_string(), GalleryConfig);
        +const AuthorSchema = object({
        +    name: schemas_string(),
        +    url: schemas_string(),
        +});
        +const ContentSchema = object({
        +    body: schemas_string().optional(),
        +    features: schemas_string().optional(),
        +    highlights: schemas_string().optional(),
        +    specs: schemas_string().optional(),
        +    license: schemas_string().optional(),
        +    resources: schemas_string().optional(),
        +    readme: schemas_string().optional(),
        +    shared: schemas_string().optional()
        +});
        +const VersionSchema = object({
        +    version: schemas_string().optional(),
        +    up: schemas_string().optional(),
        +    down: schemas_string().optional(),
        +    family: schemas_string().optional(),
        +    sheet: schemas_string().optional()
        +});
        +const AssetsSchema = object({
        +    gallery: array(AssetImageSchema).optional(),
        +    renderings: array(AssetImageSchema).optional(),
        +    components: array(AssetImageSchema).optional(),
        +    configurations: array(AssetImageSchema).optional(),
        +    showcase: array(AssetImageSchema).optional(),
        +    samples: array(AssetImageSchema).optional()
        +});
        +const ProductionSchema = object({
        +    "fusion-folder": schemas_string(),
        +    "nc-folder": schemas_string(),
        +    cam: array(AuthorSchema)
        +});
        +const ComponentConfigSchema = object({
        +    // shop
        +    cart_id: schemas_string().optional(),
        +    code: schemas_string(),
        +    price: schemas_number().optional(),
        +    cscartCats: array(schemas_number()).optional(),
        +    cscartId: schemas_number().optional(),
        +    vendorId: schemas_number().optional(),
        +    shipping: ShippingSchema.optional().default({
        +        price: 0,
        +        transit: 12,
        +        handling: 2
        +    }),
        +    // references
        +    replaced_by: schemas_string().optional(),
        +    alternatives: array(ResourceSchema).optional(),
        +    used_by: array(ResourceSchema).optional(),
        +    image: AssetImageSchema.optional(),
        +    name: schemas_string(),
        +    // cad
        +    edrawings: schemas_string().optional(),
        +    cad: array(CADMetaSchema).default([]),
        +    manufacturing: ManufacturingSchema,
        +    // settings
        +    showDimensions: schemas_boolean().optional(),
        +    showParts: schemas_boolean().optional(),
        +    Preview3d: schemas_boolean().optional(),
        +    flags: schemas_number().optional().default(0),
        +    // meta
        +    slug: schemas_string(),
        +    keywords: schemas_string().optional(),
        +    meta_keywords: schemas_string().optional(),
        +    version: schemas_string().optional(),
        +    versions: VersionSchema.optional(),
        +    status: schemas_string().optional(),
        +    authors: array(AuthorSchema).optional(),
        +    // content
        +    assets: AssetsSchema.default({
        +        gallery: [],
        +        renderings: [],
        +        components: [],
        +        configurations: [],
        +        showcase: [],
        +        samples: []
        +    }),
        +    resources: array(ResourceSchema).default([]),
        +    tests: array(ResourceSchema).default([]),
        +    download: schemas_boolean().optional(),
        +    // galleries
        +    gallery: GalleryConfigsSchema.default({}).default(Object.fromEntries(["renderings", "gallery", "components", "configurations", "showcase", "samples"].map(key => [key, { glob: [IMAGES_GLOB] }]))),
        +    // nesting
        +    components: array(lazy(() => ComponentConfigSchema)).optional().default([]),
        +    // @deprecated     
        +    howto_categories: union([schemas_string(), array(schemas_string())]).optional(),
        +    steps: any().optional(),
        +    sourceLanguage: schemas_string().optional(),
        +    category: schemas_string(),
        +    product_dimensions: schemas_string().optional(),
        +    production: ProductionSchema.optional(),
        +    score: schemas_number().optional()
        +}).merge(ContentSchema).passthrough();
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZCLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMvSSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUUzQyxNQUFNLFdBQVcsR0FBRywwQkFBMEIsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFlLEVBQUUsT0FBTyxFQUFFLEVBQUU7SUFDbkQsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3BDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ25CLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUM3QyxPQUFPO1lBQ0gsR0FBRyxFQUFFLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxJQUFJLEVBQUUsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQzNCLENBQUE7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFvQixFQUFFO0lBQ3JELE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFO1FBQ25DLFFBQVEsRUFBRSxJQUFJO0tBQ2pCLENBQUMsQ0FBQTtJQUNGLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDWCxLQUFLLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxPQUFPLEdBQUc7Z0JBQ1osTUFBTSxFQUFFLDJCQUEyQjtnQkFDbkMsSUFBSTthQUNQLENBQUE7WUFDRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFFRCxLQUFLLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDbEMsTUFBTSxPQUFPLEdBQUc7Z0JBQ1osTUFBTSxFQUFFLHVCQUF1QjtnQkFDL0IsSUFBSTthQUNQLENBQUE7WUFDRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFFRCxLQUFLLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxPQUFPLEdBQUc7Z0JBQ1osTUFBTSxFQUFFLDZCQUE2QjtnQkFDckMsSUFBSTthQUNQLENBQUE7WUFDRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDTCxDQUFDO0FBQ0wsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9CLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsOENBQThDO0lBQzdELElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsOENBQThDO0lBQzdELElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsK0NBQStDO0lBQzlELEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsNkNBQTZDO0NBQzdELENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ25CLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDN0IsYUFBYSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsY0FBYyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDckIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDdkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4Q0FBOEM7Q0FDL0QsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxpQkFBaUI7SUFDNUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDbEMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNuQyxDQUFDLENBQUE7QUFHRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ25CLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QixRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUIsQ0FBQyxDQUFBO0FBR0YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0NBQzVCLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFBO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2pDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ2xCLENBQUMsQ0FBQTtBQUdGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2hDLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQy9CLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2pDLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzdDLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2hELFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2hELGNBQWMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3BELFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzlDLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ2hELENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsZUFBZSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDM0IsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDdkIsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0NBQzdCLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFMUMsT0FBTztJQUNQLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxFQUFFO1FBQ1gsUUFBUSxFQUFFLENBQUM7S0FDZCxDQUFDO0lBR0YsYUFBYTtJQUNiLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNoRCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFFM0MsS0FBSyxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtJQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUVoQixNQUFNO0lBQ04sU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUN2QyxhQUFhLEVBQUUsbUJBQW1CO0lBRWxDLFdBQVc7SUFDWCxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFFdkMsT0FBTztJQUNQLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLFFBQVEsRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUV6QyxVQUFVO0lBQ1YsTUFBTSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUM7UUFDekIsT0FBTyxFQUFFLEVBQUU7UUFDWCxVQUFVLEVBQUUsRUFBRTtRQUNkLFVBQVUsRUFBRSxFQUFFO1FBQ2QsY0FBYyxFQUFFLEVBQUU7UUFDbEIsUUFBUSxFQUFFLEVBQUU7UUFDWixPQUFPLEVBQUUsRUFBRTtLQUNkLENBQUM7SUFFRixTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQzlDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDMUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFaEMsWUFBWTtJQUNaLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQ2hFLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzlILENBQUM7SUFFRixVQUFVO0lBQ1YsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUUvRSxtQkFBbUI7SUFDbkIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdkUsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsY0FBYyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBSS9CLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUEifQ==
        +// EXTERNAL MODULE: ../commons/node_modules/source-map-support/source-map-support.js
        +var source_map_support_source_map_support = __webpack_require__(16966);
        +;// ../commons/node_modules/tslog/dist/esm/CallSitesHelper.js
        +/* Based on https://github.com/watson/error-callsites */
        +const CallSitesHelper_callsitesSym = Symbol("callsites");
        +
        +// Lifted from Node.js 0.10.40:
        +// https://github.com/nodejs/node/blob/0439a28d519fb6efe228074b0588a59452fc1677/deps/v8/src/messages.js#L1053-L1080
        +function CallSitesHelper_FormatStackTrace(error, frames) {
        +    const lines = [];
        +    try {
        +        lines.push(error.toString());
        +    }
        +    catch (e) {
        +        lines.push("");
        +    }
        +    for (let i = 0; i < frames.length; i++) {
        +        const frame = frames[i];
        +        let line;
        +        try {
        +            line = frame.toString();
        +        }
        +        catch (e) {
        +            line = "";
        +        }
        +        lines.push("    at " + line);
        +    }
        +    return lines.join("\n");
        +}
        +const CallSitesHelper_fallback = Error.prepareStackTrace || CallSitesHelper_FormatStackTrace;
        +let CallSitesHelper_lastPrepareStackTrace = CallSitesHelper_fallback;
        +function CallSitesHelper_prepareStackTrace(err, callsites) {
        +    var _a;
        +    // If the symbol has already been set it must mean that someone else has also
        +    // overwritten `Error.prepareStackTrace` and retains a reference to this
        +    // function that it's calling every time it's own `prepareStackTrace`
        +    // function is being called. This would create an infinite loop if not
        +    // handled.
        +    if (Object.prototype.hasOwnProperty.call(err, CallSitesHelper_callsitesSym)) {
        +        return CallSitesHelper_fallback(err, callsites);
        +    }
        +    Object.defineProperty(err, CallSitesHelper_callsitesSym, {
        +        enumerable: false,
        +        configurable: true,
        +        writable: false,
        +        value: callsites,
        +    });
        +    return ((_a = (CallSitesHelper_lastPrepareStackTrace && CallSitesHelper_lastPrepareStackTrace(err, callsites))) !== null && _a !== void 0 ? _a : err.toString());
        +}
        +Object.defineProperty(Error, "prepareStackTrace", {
        +    configurable: true,
        +    enumerable: true,
        +    get: function () {
        +        return CallSitesHelper_prepareStackTrace;
        +    },
        +    set: function (fn) {
        +        // Don't set `lastPrepareStackTrace` to ourselves. If we did, we'd end up
        +        // throwing a RangeError (Maximum call stack size exceeded).
        +        CallSitesHelper_lastPrepareStackTrace =
        +            fn === CallSitesHelper_prepareStackTrace
        +                ? CallSitesHelper_fallback
        +                : fn;
        +    },
        +});
        +function CallSitesHelper_getCallSites(err) {
        +    //V8 does not initiate the "stack" property when the Error is constructed.
        +    //However it seems that the "stack" property is a getter that then calls Error.prepareStackTrace.
        +    //So to ensure that the custom "prepareStackTrace" function is executed we must first read the value of "Error.stack" to trigger the getter
        +    // eslint-disable-next-line no-unused-expressions
        +    err.stack;
        +    return err[CallSitesHelper_callsitesSym] || [];
        +}
        +//# sourceMappingURL=CallSitesHelper.js.map
        +;// ../commons/node_modules/tslog/dist/esm/LoggerHelper.js
        +
        +
        +
        +
        +/** @internal */
        +class LoggerHelper_LoggerHelper {
        +    static cleanUpFilePath(fileName) {
        +        return Object.entries(fileName.split(external_path_.sep))
        +            .reduce((cleanFileName, fileNamePart) => fileNamePart[1] !== LoggerHelper_LoggerHelper.cwdArray[fileNamePart[0]]
        +            ? (cleanFileName += external_path_.sep + fileNamePart[1])
        +            : cleanFileName, "")
        +            .substring(1);
        +    }
        +    static isError(e) {
        +        // An error could be an instance of Error while not being a native error
        +        // or could be from a different realm and not be instance of Error but still
        +        // be a native error.
        +        return (external_util_.types === null || external_util_.types === void 0 ? void 0 : external_util_.types.isNativeError) != null
        +            ? external_util_.types.isNativeError(e)
        +            : e instanceof Error;
        +    }
        +    static getCallSites(error, cleanUp = true) {
        +        const stack = error == null ? CallSitesHelper_getCallSites(new Error()).slice(1) : CallSitesHelper_getCallSites(error);
        +        return cleanUp === true && (stack === null || stack === void 0 ? void 0 : stack.reduce) != null
        +            ? stack.reduce((cleanedUpCallsites, callsite) => {
        +                var _a, _b, _c;
        +                if ((callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) != null &&
        +                    (callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) !== "" &&
        +                    ((_a = callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) === null || _a === void 0 ? void 0 : _a.indexOf("internal/")) !== 0 &&
        +                    ((_b = callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) === null || _b === void 0 ? void 0 : _b.indexOf("module.js")) !== 0 &&
        +                    ((_c = callsite === null || callsite === void 0 ? void 0 : callsite.getFileName()) === null || _c === void 0 ? void 0 : _c.indexOf("bootstrap_node.js")) !== 0) {
        +                    cleanedUpCallsites.push(callsite);
        +                }
        +                return cleanedUpCallsites;
        +            }, [])
        +            : stack;
        +    }
        +    static toStackFrameObject(stackFrame) {
        +        var _a, _b, _c, _d, _e, _f;
        +        let filePath = stackFrame.getFileName() || "";
        +        filePath = filePath.replace("file://", "");
        +        return {
        +            filePath: LoggerHelper_LoggerHelper.cleanUpFilePath(filePath),
        +            fullFilePath: filePath,
        +            fileName: (0,external_path_.basename)(filePath),
        +            lineNumber: (_a = stackFrame.getLineNumber()) !== null && _a !== void 0 ? _a : undefined,
        +            columnNumber: (_b = stackFrame.getColumnNumber()) !== null && _b !== void 0 ? _b : undefined,
        +            isConstructor: (_c = stackFrame.isConstructor()) !== null && _c !== void 0 ? _c : undefined,
        +            functionName: (_d = stackFrame.getFunctionName()) !== null && _d !== void 0 ? _d : undefined,
        +            typeName: (_e = stackFrame.getTypeName()) !== null && _e !== void 0 ? _e : undefined,
        +            methodName: (_f = stackFrame.getMethodName()) !== null && _f !== void 0 ? _f : undefined,
        +        };
        +    }
        +    static initErrorToJsonHelper() {
        +        if (!("toJSON" in Error.prototype))
        +            /* eslint-disable */
        +            Object.defineProperty(Error.prototype, "toJSON", {
        +                /* eslint-enable */
        +                value: function () {
        +                    return Object.getOwnPropertyNames(this).reduce((alt, key) => {
        +                        alt[key] = this[key];
        +                        return alt;
        +                    }, {});
        +                },
        +                configurable: true,
        +                writable: true,
        +            });
        +    }
        +    static overwriteConsole($this, handleLog) {
        +        ["log", "debug", "info", "warn", "trace", "error"].forEach((name) => {
        +            console[name] = (...args) => {
        +                const loglevelMapping = {
        +                    log: "silly",
        +                    trace: "trace",
        +                    debug: "debug",
        +                    info: "info",
        +                    warn: "warn",
        +                    error: "error",
        +                };
        +                return handleLog.apply($this, [
        +                    loglevelMapping[name.toLowerCase()],
        +                    args,
        +                ]);
        +            };
        +        });
        +    }
        +    static setUtilsInspectStyles(utilsInspectStyles) {
        +        Object.entries(utilsInspectStyles).forEach(([symbol, color]) => {
        +            external_util_.inspect.styles[symbol] = color;
        +        });
        +    }
        +    static styleString(styleTypes, str, colorizePrettyLogs = true) {
        +        return colorizePrettyLogs
        +            ? Object.values(styleTypes).reduce((resultStr, styleType) => {
        +                return LoggerHelper_LoggerHelper._stylizeWithColor(styleType, resultStr);
        +            }, str)
        +            : `${str}`;
        +    }
        +    static _stylizeWithColor(styleType, str) {
        +        var _a;
        +        const color = (_a = external_util_.inspect.colors[styleType]) !== null && _a !== void 0 ? _a : [0, 0];
        +        return `\u001b[${color[0]}m${str}\u001b[${color[1]}m`;
        +    }
        +    /* Async
        +    import { createReadStream, readFileSync } from "fs";
        +    import { createInterface, Interface } from "readline";
        +    public static async _getCodeFrameAsync(
        +      filePath: string,
        +      lineNumber: number | null,
        +      columnNumber: number | null,
        +      linesBeforeAndAfter: number
        +    ): Promise {
        +      try {
        +        const fileStream: NodeJS.ReadableStream = createReadStream(filePath, {
        +          encoding: "utf-8",
        +        });
        +        const rl: Interface = createInterface({
        +          input: fileStream,
        +          crlfDelay: Infinity,
        +        });
        +  
        +        if (lineNumber != null) {
        +          const linesBefore: string[] = [];
        +          let relevantLine: string | undefined;
        +          const linesAfter: string[] = [];
        +          let i: number = 0;
        +          rl.on("line", (line) => {
        +            if (i < lineNumber && i >= lineNumber - linesBeforeAndAfter) {
        +              linesBefore.push(line);
        +            } else if (i === lineNumber) {
        +              relevantLine = line;
        +            } else if (i > lineNumber && i <= lineNumber + linesBeforeAndAfter) {
        +              linesAfter.push(line);
        +            }
        +            i++;
        +          });
        +          rl.on("close", () => {
        +            const firstLineNumber: number =
        +              lineNumber - linesBeforeAndAfter < 0
        +                ? 0
        +                : lineNumber - linesBeforeAndAfter;
        +            return {
        +              firstLineNumber,
        +              lineNumber,
        +              columnNumber,
        +              linesBefore,
        +              relevantLine,
        +              linesAfter,
        +            };
        +          });
        +        }
        +      } catch {
        +        return undefined;
        +      }
        +    }
        +    */
        +    static _getCodeFrame(filePath, lineNumber, columnNumber, linesBeforeAndAfter) {
        +        var _a;
        +        const lineNumberMinusOne = lineNumber - 1;
        +        try {
        +            const file = (_a = (0,external_fs_.readFileSync)(filePath, {
        +                encoding: "utf-8",
        +            })) === null || _a === void 0 ? void 0 : _a.split("\n");
        +            const startAt = lineNumberMinusOne - linesBeforeAndAfter < 0
        +                ? 0
        +                : lineNumberMinusOne - linesBeforeAndAfter;
        +            const endAt = lineNumberMinusOne + linesBeforeAndAfter > file.length
        +                ? file.length
        +                : lineNumberMinusOne + linesBeforeAndAfter;
        +            const codeFrame = {
        +                firstLineNumber: startAt + 1,
        +                lineNumber,
        +                columnNumber,
        +                linesBefore: [],
        +                relevantLine: "",
        +                linesAfter: [],
        +            };
        +            for (let i = startAt; i < lineNumberMinusOne; i++) {
        +                if (file[i] != null) {
        +                    codeFrame.linesBefore.push(file[i]);
        +                }
        +            }
        +            codeFrame.relevantLine = file[lineNumberMinusOne];
        +            for (let i = lineNumberMinusOne + 1; i <= endAt; i++) {
        +                if (file[i] != null) {
        +                    codeFrame.linesAfter.push(file[i]);
        +                }
        +            }
        +            return codeFrame;
        +        }
        +        catch (err) {
        +            // (err) is needed for Node v8 support, remove later
        +            // fail silently
        +        }
        +    }
        +    static lineNumberTo3Char(lineNumber) {
        +        return lineNumber < 10
        +            ? `00${lineNumber}`
        +            : lineNumber < 100
        +                ? `0${lineNumber}`
        +                : `${lineNumber}`;
        +    }
        +    static cloneObjectRecursively(obj, maskValuesFn, done = [], clonedObject = Object.create(Object.getPrototypeOf(obj))) {
        +        done.push(obj);
        +        // clone array. could potentially be a separate function
        +        if (obj instanceof Date) {
        +            return new Date(obj);
        +        }
        +        else if (Array.isArray(obj)) {
        +            return Object.entries(obj).map(([key, value]) => {
        +                if (value == null || typeof value !== "object") {
        +                    return value;
        +                }
        +                else {
        +                    return LoggerHelper_LoggerHelper.cloneObjectRecursively(value, maskValuesFn, done);
        +                }
        +            });
        +        }
        +        else {
        +            Object.getOwnPropertyNames(obj).forEach((currentKey) => {
        +                if (!done.includes(obj[currentKey])) {
        +                    if (obj[currentKey] == null) {
        +                        clonedObject[currentKey] = obj[currentKey];
        +                    }
        +                    else if (typeof obj[currentKey] !== "object") {
        +                        clonedObject[currentKey] =
        +                            maskValuesFn != null
        +                                ? maskValuesFn(currentKey, obj[currentKey])
        +                                : obj[currentKey];
        +                    }
        +                    else {
        +                        clonedObject[currentKey] = LoggerHelper_LoggerHelper.cloneObjectRecursively(obj[currentKey], maskValuesFn, done, clonedObject[currentKey]);
        +                    }
        +                }
        +                else {
        +                    // cicrular detected: point to itself to make inspect printout [circular]
        +                    clonedObject[currentKey] = clonedObject;
        +                }
        +            });
        +        }
        +        return clonedObject;
        +    }
        +    static logObjectMaskValuesOfKeys(obj, keys, maskPlaceholder) {
        +        if (!Array.isArray(keys) || keys.length === 0) {
        +            return obj;
        +        }
        +        const maskValuesFn = (key, value) => {
        +            const keysLowerCase = keys.map((key) => typeof key === "string" ? key.toLowerCase() : key);
        +            if (keysLowerCase.includes(typeof key === "string" ? key.toLowerCase() : key)) {
        +                return maskPlaceholder;
        +            }
        +            return value;
        +        };
        +        return obj != null
        +            ? LoggerHelper_LoggerHelper.cloneObjectRecursively(obj, maskValuesFn)
        +            : obj;
        +    }
        +}
        +LoggerHelper_LoggerHelper.cwdArray = process.cwd().split(external_path_.sep);
        +//# sourceMappingURL=LoggerHelper.js.map
        +;// ../commons/node_modules/tslog/dist/esm/LoggerWithoutCallSite.js
        +
        +
        +
        +
        +/**
        + * 📝 Expressive TypeScript Logger for Node.js
        + * @public
        + */
        +class LoggerWithoutCallSite_LoggerWithoutCallSite {
        +    /**
        +     * @param settings - Configuration of the logger instance  (all settings are optional with sane defaults)
        +     * @param parentSettings - Used internally to
        +     */
        +    constructor(settings, parentSettings) {
        +        var _a;
        +        this._logLevels = [
        +            "silly",
        +            "trace",
        +            "debug",
        +            "info",
        +            "warn",
        +            "error",
        +            "fatal",
        +        ];
        +        this._minLevelToStdErr = 4;
        +        this._mySettings = {};
        +        this._childLogger = [];
        +        this._callSiteWrapper = (callSite) => callSite;
        +        this._parentOrDefaultSettings = {
        +            type: "pretty",
        +            instanceName: undefined,
        +            hostname: (_a = parentSettings === null || parentSettings === void 0 ? void 0 : parentSettings.hostname) !== null && _a !== void 0 ? _a : (0,external_os_.hostname)(),
        +            name: undefined,
        +            setCallerAsLoggerName: false,
        +            requestId: undefined,
        +            minLevel: "silly",
        +            exposeStack: false,
        +            exposeErrorCodeFrame: true,
        +            exposeErrorCodeFrameLinesBeforeAndAfter: 5,
        +            ignoreStackLevels: 3,
        +            suppressStdOutput: false,
        +            overwriteConsole: false,
        +            colorizePrettyLogs: true,
        +            logLevelsColors: {
        +                0: "whiteBright",
        +                1: "white",
        +                2: "greenBright",
        +                3: "blueBright",
        +                4: "yellowBright",
        +                5: "redBright",
        +                6: "magentaBright",
        +            },
        +            prettyInspectHighlightStyles: {
        +                special: "cyan",
        +                number: "green",
        +                bigint: "green",
        +                boolean: "yellow",
        +                undefined: "red",
        +                null: "red",
        +                string: "red",
        +                symbol: "green",
        +                date: "magenta",
        +                name: "white",
        +                regexp: "red",
        +                module: "underline",
        +            },
        +            prettyInspectOptions: {
        +                colors: true,
        +                compact: false,
        +                depth: Infinity,
        +            },
        +            jsonInspectOptions: {
        +                colors: false,
        +                compact: true,
        +                depth: Infinity,
        +            },
        +            delimiter: " ",
        +            dateTimePattern: undefined,
        +            // local timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
        +            dateTimeTimezone: undefined,
        +            prefix: [],
        +            maskValuesOfKeys: ["password"],
        +            maskAnyRegEx: [],
        +            maskPlaceholder: "[***]",
        +            printLogMessageInNewLine: false,
        +            // display settings
        +            displayDateTime: true,
        +            displayLogLevel: true,
        +            displayInstanceName: false,
        +            displayLoggerName: true,
        +            displayRequestId: true,
        +            displayFilePath: "hideNodeModulesOnly",
        +            displayFunctionName: true,
        +            displayTypes: false,
        +            stdOut: process.stdout,
        +            stdErr: process.stderr,
        +            attachedTransports: [],
        +        };
        +        const mySettings = settings != null ? settings : {};
        +        this.setSettings(mySettings, parentSettings);
        +        LoggerHelper_LoggerHelper.initErrorToJsonHelper();
        +    }
        +    /** Readonly settings of the current logger instance. Used for testing. */
        +    get settings() {
        +        const myPrefix = this._mySettings.prefix != null ? this._mySettings.prefix : [];
        +        return {
        +            ...this._parentOrDefaultSettings,
        +            ...this._mySettings,
        +            prefix: [...this._parentOrDefaultSettings.prefix, ...myPrefix],
        +        };
        +    }
        +    /**
        +     *  Change settings during runtime
        +     *  Changes will be propagated to potential child loggers
        +     *
        +     * @param settings - Settings to overwrite with. Only this settings will be overwritten, rest will remain the same.
        +     * @param parentSettings - INTERNAL USE: Is called by a parent logger to propagate new settings.
        +     */
        +    setSettings(settings, parentSettings) {
        +        var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
        +        this._mySettings = {
        +            ...this._mySettings,
        +            ...settings,
        +        };
        +        if (((_a = this.settings.prettyInspectOptions) === null || _a === void 0 ? void 0 : _a.colors) != null ||
        +            ((_b = this.settings.prettyInspectOptions) === null || _b === void 0 ? void 0 : _b.colors) === true) {
        +            this.settings.prettyInspectOptions.colors =
        +                this.settings.colorizePrettyLogs;
        +        }
        +        this._mySettings.instanceName =
        +            (_c = this._mySettings.instanceName) !== null && _c !== void 0 ? _c : this._mySettings.hostname;
        +        if (this._mySettings.name == null &&
        +            this._mySettings.setCallerAsLoggerName) {
        +            this._mySettings.name =
        +                (_j = (_f = (_e = (_d = LoggerHelper_LoggerHelper.getCallSites()) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.getTypeName()) !== null && _f !== void 0 ? _f : (_h = (_g = LoggerHelper_LoggerHelper.getCallSites()) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.getFunctionName()) !== null && _j !== void 0 ? _j : undefined;
        +        }
        +        if (parentSettings != null) {
        +            this._parentOrDefaultSettings = {
        +                ...this._parentOrDefaultSettings,
        +                ...parentSettings,
        +            };
        +        }
        +        this._maskAnyRegExp =
        +            ((_k = this.settings.maskAnyRegEx) === null || _k === void 0 ? void 0 : _k.length) > 0
        +                ? // eslint-disable-next-line @rushstack/security/no-unsafe-regexp
        +                    new RegExp(Object.values(this.settings.maskAnyRegEx).join("|"), "g")
        +                : undefined;
        +        LoggerHelper_LoggerHelper.setUtilsInspectStyles(this.settings.prettyInspectHighlightStyles);
        +        if (this.settings.overwriteConsole) {
        +            LoggerHelper_LoggerHelper.overwriteConsole(this, this._handleLog);
        +        }
        +        this._childLogger.forEach((childLogger) => {
        +            childLogger.setSettings({}, this.settings);
        +        });
        +        return this.settings;
        +    }
        +    /**
        +     *  Returns a child logger based on the current instance with inherited settings
        +     *
        +     * @param settings - Overwrite settings inherited from parent logger
        +     */
        +    getChildLogger(settings) {
        +        const childSettings = {
        +            ...this.settings,
        +            attachedTransports: [...this.settings.attachedTransports],
        +        };
        +        const childLogger = new this.constructor(settings, childSettings);
        +        this._childLogger.push(childLogger);
        +        return childLogger;
        +    }
        +    /**
        +     *  Attaches external Loggers, e.g. external log services, file system, database
        +     *
        +     * @param transportLogger - External logger to be attached. Must implement all log methods.
        +     * @param minLevel        - Minimum log level to be forwarded to this attached transport logger. (e.g. debug)
        +     */
        +    attachTransport(transportLogger, minLevel = "silly") {
        +        this.settings.attachedTransports.push({
        +            minLevel,
        +            transportLogger,
        +        });
        +    }
        +    /**
        +     * Logs a silly message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    silly(...args) {
        +        return this._handleLog.apply(this, ["silly", args]);
        +    }
        +    /**
        +     * Logs a trace message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    trace(...args) {
        +        return this._handleLog.apply(this, ["trace", args, true]);
        +    }
        +    /**
        +     * Logs a debug message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    debug(...args) {
        +        return this._handleLog.apply(this, ["debug", args]);
        +    }
        +    /**
        +     * Logs an info message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    info(...args) {
        +        return this._handleLog.apply(this, ["info", args]);
        +    }
        +    /**
        +     * Logs a warn message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    warn(...args) {
        +        return this._handleLog.apply(this, ["warn", args]);
        +    }
        +    /**
        +     * Logs an error message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    error(...args) {
        +        return this._handleLog.apply(this, ["error", args]);
        +    }
        +    /**
        +     * Logs a fatal message.
        +     * @param args  - Multiple log attributes that should be logged out.
        +     */
        +    fatal(...args) {
        +        return this._handleLog.apply(this, ["fatal", args]);
        +    }
        +    /**
        +     * Helper: Pretty print error without logging it
        +     * @param error - Error object
        +     * @param print - Print the error or return only? (default: true)
        +     * @param exposeErrorCodeFrame  - Should the code frame be exposed? (default: true)
        +     * @param exposeStackTrace  - Should the stack trace be exposed? (default: true)
        +     * @param stackOffset - Offset lines of the stack trace (default: 0)
        +     * @param stackLimit  - Limit number of lines of the stack trace (default: Infinity)
        +     * @param std - Which std should the output be printed to? (default: stdErr)
        +     */
        +    prettyError(error, print = true, exposeErrorCodeFrame = true, exposeStackTrace = true, stackOffset = 0, stackLimit = Infinity, std = this.settings.stdErr) {
        +        const errorObject = this._buildErrorObject(error, exposeErrorCodeFrame, stackOffset, stackLimit);
        +        if (print) {
        +            this._printPrettyError(std, errorObject, exposeStackTrace);
        +        }
        +        return errorObject;
        +    }
        +    _handleLog(logLevel, logArguments, exposeStack = this.settings.exposeStack) {
        +        const logObject = this._buildLogObject(logLevel, logArguments, exposeStack);
        +        if (!this.settings.suppressStdOutput &&
        +            logObject.logLevelId >= this._logLevels.indexOf(this.settings.minLevel)) {
        +            const std = logObject.logLevelId < this._minLevelToStdErr
        +                ? this.settings.stdOut
        +                : this.settings.stdErr;
        +            if (this.settings.type === "pretty") {
        +                this.printPrettyLog(std, logObject);
        +            }
        +            else if (this.settings.type === "json") {
        +                this._printJsonLog(std, logObject);
        +            }
        +            else {
        +                // don't print (e.g. "hidden")
        +            }
        +        }
        +        this.settings.attachedTransports.forEach((transport) => {
        +            if (logObject.logLevelId >=
        +                Object.values(this._logLevels).indexOf(transport.minLevel)) {
        +                transport.transportLogger[logLevel](logObject);
        +            }
        +        });
        +        return logObject;
        +    }
        +    _buildLogObject(logLevel, logArguments, exposeStack = true) {
        +        const callSites = LoggerHelper_LoggerHelper.getCallSites();
        +        const relevantCallSites = callSites.splice(this.settings.ignoreStackLevels);
        +        const stackFrame = relevantCallSites[0] != null
        +            ? this._callSiteWrapper(relevantCallSites[0])
        +            : undefined;
        +        const stackFrameObject = stackFrame != null
        +            ? LoggerHelper_LoggerHelper.toStackFrameObject(stackFrame)
        +            : undefined;
        +        const requestId = this.settings.requestId instanceof Function
        +            ? this.settings.requestId()
        +            : this.settings.requestId;
        +        const logObject = {
        +            instanceName: this.settings.instanceName,
        +            loggerName: this.settings.name,
        +            hostname: this.settings.hostname,
        +            requestId,
        +            date: new Date(),
        +            logLevel: logLevel,
        +            logLevelId: this._logLevels.indexOf(logLevel),
        +            filePath: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.filePath,
        +            fullFilePath: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.fullFilePath,
        +            fileName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.fileName,
        +            lineNumber: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.lineNumber,
        +            columnNumber: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.columnNumber,
        +            isConstructor: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.isConstructor,
        +            functionName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.functionName,
        +            typeName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.typeName,
        +            methodName: stackFrameObject === null || stackFrameObject === void 0 ? void 0 : stackFrameObject.methodName,
        +            argumentsArray: [],
        +            toJSON: () => this._logObjectToJson(logObject),
        +        };
        +        const logArgumentsWithPrefix = [
        +            ...this.settings.prefix,
        +            ...logArguments,
        +        ];
        +        logArgumentsWithPrefix.forEach((arg) => {
        +            if (arg != null && typeof arg === "object" && LoggerHelper_LoggerHelper.isError(arg)) {
        +                logObject.argumentsArray.push(this._buildErrorObject(arg, this.settings.exposeErrorCodeFrame));
        +            }
        +            else {
        +                logObject.argumentsArray.push(arg);
        +            }
        +        });
        +        if (exposeStack) {
        +            logObject.stack = this._toStackObjectArray(relevantCallSites);
        +        }
        +        return logObject;
        +    }
        +    _buildErrorObject(error, exposeErrorCodeFrame = true, stackOffset = 0, stackLimit = Infinity) {
        +        var _a, _b;
        +        const errorCallSites = LoggerHelper_LoggerHelper.getCallSites(error);
        +        stackOffset = stackOffset > -1 ? stackOffset : 0;
        +        const relevantCallSites = (_a = ((errorCallSites === null || errorCallSites === void 0 ? void 0 : errorCallSites.splice) && errorCallSites.splice(stackOffset))) !== null && _a !== void 0 ? _a : [];
        +        stackLimit = stackLimit > -1 ? stackLimit : 0;
        +        if (stackLimit < Infinity) {
        +            relevantCallSites.length = stackLimit;
        +        }
        +        const { 
        +        // eslint-disable-next-line @typescript-eslint/no-unused-vars
        +        name: _name, ...errorWithoutName } = error;
        +        const errorObject = {
        +            nativeError: error,
        +            details: { ...errorWithoutName },
        +            name: (_b = error.name) !== null && _b !== void 0 ? _b : "Error",
        +            isError: true,
        +            message: error.message,
        +            stack: this._toStackObjectArray(relevantCallSites),
        +        };
        +        if (errorObject.stack.length > 0) {
        +            const errorCallSite = LoggerHelper_LoggerHelper.toStackFrameObject(this._callSiteWrapper(relevantCallSites[0]));
        +            if (exposeErrorCodeFrame && errorCallSite.lineNumber != null) {
        +                if (errorCallSite.fullFilePath != null &&
        +                    errorCallSite.fullFilePath.indexOf("node_modules") < 0) {
        +                    errorObject.codeFrame = LoggerHelper_LoggerHelper._getCodeFrame(errorCallSite.fullFilePath, errorCallSite.lineNumber, errorCallSite === null || errorCallSite === void 0 ? void 0 : errorCallSite.columnNumber, this.settings.exposeErrorCodeFrameLinesBeforeAndAfter);
        +                }
        +            }
        +        }
        +        return errorObject;
        +    }
        +    _toStackObjectArray(jsStack) {
        +        const stackFrame = Object.values(jsStack).reduce((stackFrameObj, callsite) => {
        +            stackFrameObj.push(LoggerHelper_LoggerHelper.toStackFrameObject(this._callSiteWrapper(callsite)));
        +            return stackFrameObj;
        +        }, []);
        +        return stackFrame;
        +    }
        +    /**
        +     * Pretty print the log object to the designated output.
        +     *
        +     * @param std - output where to pretty print the object
        +     * @param logObject - object to pretty print
        +     **/
        +    printPrettyLog(std, logObject) {
        +        var _a, _b;
        +        if (this.settings.displayDateTime === true) {
        +            let nowStr = "";
        +            if (this.settings.dateTimePattern != null ||
        +                this.settings.dateTimeTimezone != null) {
        +                const dateTimePattern = (_a = this.settings.dateTimePattern) !== null && _a !== void 0 ? _a : "year-month-day hour:minute:second.millisecond";
        +                const dateTimeTimezone = (_b = this.settings.dateTimeTimezone) !== null && _b !== void 0 ? _b : "utc";
        +                const dateTimeParts = [
        +                    ...new Intl.DateTimeFormat("en", {
        +                        weekday: undefined,
        +                        year: "numeric",
        +                        month: "2-digit",
        +                        day: "2-digit",
        +                        hourCycle: "h23",
        +                        hour: "2-digit",
        +                        minute: "2-digit",
        +                        second: "2-digit",
        +                        timeZone: dateTimeTimezone,
        +                    }).formatToParts(logObject.date),
        +                    {
        +                        type: "millisecond",
        +                        value: ("00" + logObject.date.getMilliseconds()).slice(-3),
        +                    },
        +                ];
        +                nowStr = dateTimeParts.reduce((prevStr, thisStr) => prevStr.replace(thisStr.type, thisStr.value), dateTimePattern);
        +            }
        +            else {
        +                nowStr = new Date().toISOString().replace("T", " ").replace("Z", " ");
        +            }
        +            std.write(LoggerHelper_LoggerHelper.styleString(["gray"], `${nowStr}${this.settings.delimiter}`, this.settings.colorizePrettyLogs));
        +        }
        +        if (this.settings.displayLogLevel) {
        +            const colorName = this.settings.logLevelsColors[logObject.logLevelId];
        +            std.write(LoggerHelper_LoggerHelper.styleString([colorName, "bold"], logObject.logLevel.toUpperCase(), this.settings.colorizePrettyLogs) +
        +                (logObject.logLevel === "info"
        +                    ? this.settings.delimiter.repeat(2)
        +                    : this.settings.delimiter));
        +        }
        +        const loggerName = this.settings.displayLoggerName === true && logObject.loggerName != null
        +            ? logObject.loggerName
        +            : "";
        +        const instanceName = this.settings.displayInstanceName === true &&
        +            this.settings.instanceName != null
        +            ? `@${this.settings.instanceName}`
        +            : "";
        +        const traceId = this.settings.displayRequestId === true && logObject.requestId != null
        +            ? `:${logObject.requestId}`
        +            : "";
        +        const name = (loggerName + instanceName + traceId).length > 0
        +            ? loggerName + instanceName + traceId
        +            : "";
        +        const functionName = this.settings.displayFunctionName === true
        +            ? logObject.isConstructor
        +                ? ` ${logObject.typeName}.constructor`
        +                : logObject.methodName != null
        +                    ? ` ${logObject.typeName}.${logObject.methodName}`
        +                    : logObject.functionName != null
        +                        ? ` ${logObject.functionName}`
        +                        : logObject.typeName !== null
        +                            ? `${logObject.typeName}.`
        +                            : ""
        +            : "";
        +        let fileLocation = "";
        +        if (this.settings.displayFilePath === "displayAll" ||
        +            (this.settings.displayFilePath === "hideNodeModulesOnly" &&
        +                logObject.filePath != null &&
        +                logObject.filePath.indexOf("node_modules") < 0)) {
        +            fileLocation = `${logObject.filePath}:${logObject.lineNumber}`;
        +        }
        +        const concatenatedMetaLine = [name, fileLocation, functionName]
        +            .join(" ")
        +            .trim();
        +        if (concatenatedMetaLine.length > 0) {
        +            std.write(LoggerHelper_LoggerHelper.styleString(["gray"], `[${concatenatedMetaLine}]`, this.settings.colorizePrettyLogs));
        +            if (this.settings.printLogMessageInNewLine === false) {
        +                std.write(`${this.settings.delimiter}`);
        +            }
        +            else {
        +                std.write("\n");
        +            }
        +        }
        +        logObject.argumentsArray.forEach((argument) => {
        +            const typeStr = this.settings.displayTypes === true
        +                ? LoggerHelper_LoggerHelper.styleString(["grey", "bold"], typeof argument + ":", this.settings.colorizePrettyLogs) + this.settings.delimiter
        +                : "";
        +            const errorObject = argument;
        +            if (argument == null) {
        +                std.write(typeStr +
        +                    this._inspectAndHideSensitive(argument, this.settings.prettyInspectOptions) +
        +                    " ");
        +            }
        +            else if (typeof argument === "object" &&
        +                (errorObject === null || errorObject === void 0 ? void 0 : errorObject.isError) === true) {
        +                this._printPrettyError(std, errorObject);
        +            }
        +            else if (typeof argument === "object" &&
        +                (errorObject === null || errorObject === void 0 ? void 0 : errorObject.isError) !== true) {
        +                std.write("\n" +
        +                    typeStr +
        +                    this._inspectAndHideSensitive(argument, this.settings.prettyInspectOptions));
        +            }
        +            else {
        +                std.write(typeStr +
        +                    this._formatAndHideSensitive(argument, this.settings.prettyInspectOptions) +
        +                    this.settings.delimiter);
        +            }
        +        });
        +        std.write("\n");
        +        if (logObject.stack != null) {
        +            std.write(LoggerHelper_LoggerHelper.styleString(["underline", "bold"], "log stack:\n", this.settings.colorizePrettyLogs));
        +            this._printPrettyStack(std, logObject.stack);
        +        }
        +    }
        +    _printPrettyError(std, errorObject, printStackTrace = true) {
        +        var _a;
        +        std.write("\n" +
        +            LoggerHelper_LoggerHelper.styleString(["bgRed", "whiteBright", "bold"], ` ${errorObject.name}${this.settings.delimiter}`, this.settings.colorizePrettyLogs) +
        +            (errorObject.message != null
        +                ? `${this.settings.delimiter}${this._formatAndHideSensitive(errorObject.message, this.settings.prettyInspectOptions)}`
        +                : ""));
        +        if (Object.values(errorObject.details).length > 0) {
        +            std.write(LoggerHelper_LoggerHelper.styleString(["underline", "bold"], "\ndetails:", this.settings.colorizePrettyLogs));
        +            std.write("\n" +
        +                this._inspectAndHideSensitive(errorObject.details, this.settings.prettyInspectOptions));
        +        }
        +        if (printStackTrace === true && ((_a = errorObject === null || errorObject === void 0 ? void 0 : errorObject.stack) === null || _a === void 0 ? void 0 : _a.length) > 0) {
        +            std.write(LoggerHelper_LoggerHelper.styleString(["underline", "bold"], "\nerror stack:", this.settings.colorizePrettyLogs));
        +            this._printPrettyStack(std, errorObject.stack);
        +        }
        +        if (errorObject.codeFrame != null) {
        +            this._printPrettyCodeFrame(std, errorObject.codeFrame);
        +        }
        +    }
        +    _printPrettyStack(std, stackObjectArray) {
        +        std.write("\n");
        +        Object.values(stackObjectArray).forEach((stackObject) => {
        +            var _a;
        +            std.write(LoggerHelper_LoggerHelper.styleString(["gray"], "• ", this.settings.colorizePrettyLogs));
        +            if (stackObject.fileName != null) {
        +                std.write(LoggerHelper_LoggerHelper.styleString(["yellowBright"], stackObject.fileName, this.settings.colorizePrettyLogs));
        +            }
        +            if (stackObject.lineNumber != null) {
        +                std.write(LoggerHelper_LoggerHelper.styleString(["gray"], ":", this.settings.colorizePrettyLogs));
        +                std.write(LoggerHelper_LoggerHelper.styleString(["yellow"], stackObject.lineNumber, this.settings.colorizePrettyLogs));
        +            }
        +            std.write(LoggerHelper_LoggerHelper.styleString(["white"], " " + ((_a = stackObject.functionName) !== null && _a !== void 0 ? _a : ""), this.settings.colorizePrettyLogs));
        +            if (stackObject.filePath != null &&
        +                stackObject.lineNumber != null &&
        +                stackObject.columnNumber != null) {
        +                std.write("\n    ");
        +                std.write((0,external_path_.normalize)(LoggerHelper_LoggerHelper.styleString(["gray"], `${stackObject.filePath}:${stackObject.lineNumber}:${stackObject.columnNumber}`, this.settings.colorizePrettyLogs)));
        +            }
        +            std.write("\n\n");
        +        });
        +    }
        +    _printPrettyCodeFrame(std, codeFrame) {
        +        std.write(LoggerHelper_LoggerHelper.styleString(["underline", "bold"], "code frame:\n", this.settings.colorizePrettyLogs));
        +        let lineNumber = codeFrame.firstLineNumber;
        +        codeFrame.linesBefore.forEach((line) => {
        +            std.write(`  ${LoggerHelper_LoggerHelper.lineNumberTo3Char(lineNumber)} | ${line}\n`);
        +            lineNumber++;
        +        });
        +        std.write(LoggerHelper_LoggerHelper.styleString(["red"], ">", this.settings.colorizePrettyLogs) +
        +            " " +
        +            LoggerHelper_LoggerHelper.styleString(["bgRed", "whiteBright"], LoggerHelper_LoggerHelper.lineNumberTo3Char(lineNumber), this.settings.colorizePrettyLogs) +
        +            " | " +
        +            LoggerHelper_LoggerHelper.styleString(["yellow"], codeFrame.relevantLine, this.settings.colorizePrettyLogs) +
        +            "\n");
        +        lineNumber++;
        +        if (codeFrame.columnNumber != null) {
        +            const positionMarker = new Array(codeFrame.columnNumber + 8).join(" ") + `^`;
        +            std.write(LoggerHelper_LoggerHelper.styleString(["red"], positionMarker, this.settings.colorizePrettyLogs) + "\n");
        +        }
        +        codeFrame.linesAfter.forEach((line) => {
        +            std.write(`  ${LoggerHelper_LoggerHelper.lineNumberTo3Char(lineNumber)} | ${line}\n`);
        +            lineNumber++;
        +        });
        +    }
        +    _logObjectToJson(logObject) {
        +        return {
        +            ...logObject,
        +            argumentsArray: logObject.argumentsArray.map((argument) => {
        +                const errorObject = argument;
        +                if (typeof argument === "object" && (errorObject === null || errorObject === void 0 ? void 0 : errorObject.isError)) {
        +                    return {
        +                        ...errorObject,
        +                        nativeError: undefined,
        +                        errorString: this._formatAndHideSensitive(errorObject.nativeError, this.settings.jsonInspectOptions),
        +                    };
        +                }
        +                else if (typeof argument === "object") {
        +                    return this._inspectAndHideSensitive(argument, this.settings.jsonInspectOptions);
        +                }
        +                else {
        +                    return this._formatAndHideSensitive(argument, this.settings.jsonInspectOptions);
        +                }
        +            }),
        +        };
        +    }
        +    _printJsonLog(std, logObject) {
        +        std.write(JSON.stringify(logObject) + "\n");
        +    }
        +    _inspectAndHideSensitive(object, inspectOptions) {
        +        let formatted;
        +        try {
        +            const maskedObject = this._maskValuesOfKeys(object);
        +            formatted = (0,external_util_.inspect)(maskedObject, inspectOptions);
        +        }
        +        catch {
        +            formatted = (0,external_util_.inspect)(object, inspectOptions);
        +        }
        +        return this._maskAny(formatted);
        +    }
        +    _formatAndHideSensitive(formatParam, inspectOptions, ...param) {
        +        return this._maskAny((0,external_util_.formatWithOptions)(inspectOptions, formatParam, ...param));
        +    }
        +    _maskValuesOfKeys(object) {
        +        return LoggerHelper_LoggerHelper.logObjectMaskValuesOfKeys(object, this.settings.maskValuesOfKeys, this.settings.maskPlaceholder);
        +    }
        +    _maskAny(str) {
        +        const formattedStr = str;
        +        return this._maskAnyRegExp != null
        +            ? formattedStr.replace(this._maskAnyRegExp, this.settings.maskPlaceholder)
        +            : formattedStr;
        +    }
        +}
        +//# sourceMappingURL=LoggerWithoutCallSite.js.map
        +;// ../commons/node_modules/tslog/dist/esm/Logger.js
        +
        +
        +/**
        + * 📝 Expressive TypeScript Logger for Node.js
        + * @public
        + */
        +class Logger_Logger extends LoggerWithoutCallSite_LoggerWithoutCallSite {
        +    /**
        +     * @param settings - Configuration of the logger instance  (all settings are optional with sane defaults)
        +     * @param parentSettings - Used internally to
        +     */
        +    constructor(settings, parentSettings) {
        +        super(settings, parentSettings);
        +        this._callSiteWrapper = source_map_support_source_map_support.wrapCallSite;
        +    }
        +}
        +//# sourceMappingURL=Logger.js.map
        +;// ../commons/dist/logger.js
        +
        +function logger_createLogger(name, options) {
        +    return new Logger_Logger({
        +        name,
        +        type: 'pretty',
        +        ...options,
        +    });
        +}
        +const defaultLogger = logger_createLogger('DefaultLogger', {
        +    minLevel: 1
        +});
        +
        +
        +const logger = logger_createLogger(constants_MODULE_NAME, {});
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBRTlCLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBWSxFQUFFLE9BQWE7SUFDcEQsT0FBTyxJQUFJLE1BQU0sQ0FBQztRQUNkLElBQUk7UUFDSixJQUFJLEVBQUUsUUFBUTtRQUNkLEdBQUcsT0FBTztLQUNiLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFDRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLGVBQWUsRUFBRTtJQUN2RCxRQUFRLEVBQUUsQ0FBQztDQUNkLENBQUMsQ0FBQTtBQUVGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUEifQ==
        +;// ../fs/node_modules/mkdirp/dist/mjs/opts-arg.js
        +
        +const optsArg = (opts) => {
        +    if (!opts) {
        +        opts = { mode: 0o777 };
        +    }
        +    else if (typeof opts === 'object') {
        +        opts = { mode: 0o777, ...opts };
        +    }
        +    else if (typeof opts === 'number') {
        +        opts = { mode: opts };
        +    }
        +    else if (typeof opts === 'string') {
        +        opts = { mode: parseInt(opts, 8) };
        +    }
        +    else {
        +        throw new TypeError('invalid options argument');
        +    }
        +    const resolved = opts;
        +    const optsFs = opts.fs || {};
        +    opts.mkdir = opts.mkdir || optsFs.mkdir || external_fs_.mkdir;
        +    opts.mkdirAsync = opts.mkdirAsync
        +        ? opts.mkdirAsync
        +        : async (path, options) => {
        +            return new Promise((res, rej) => resolved.mkdir(path, options, (er, made) => er ? rej(er) : res(made)));
        +        };
        +    opts.stat = opts.stat || optsFs.stat || external_fs_.stat;
        +    opts.statAsync = opts.statAsync
        +        ? opts.statAsync
        +        : async (path) => new Promise((res, rej) => resolved.stat(path, (err, stats) => (err ? rej(err) : res(stats))));
        +    opts.statSync = opts.statSync || optsFs.statSync || external_fs_.statSync;
        +    opts.mkdirSync = opts.mkdirSync || optsFs.mkdirSync || external_fs_.mkdirSync;
        +    return resolved;
        +};
        +//# sourceMappingURL=opts-arg.js.map
        +;// ../fs/node_modules/mkdirp/dist/mjs/mkdirp-manual.js
        +
        +
        +const mkdirpManualSync = (path, options, made) => {
        +    const parent = (0,external_path_.dirname)(path);
        +    const opts = { ...optsArg(options), recursive: false };
        +    if (parent === path) {
        +        try {
        +            return opts.mkdirSync(path, opts);
        +        }
        +        catch (er) {
        +            // swallowed by recursive implementation on posix systems
        +            // any other error is a failure
        +            const fer = er;
        +            if (fer && fer.code !== 'EISDIR') {
        +                throw er;
        +            }
        +            return;
        +        }
        +    }
        +    try {
        +        opts.mkdirSync(path, opts);
        +        return made || path;
        +    }
        +    catch (er) {
        +        const fer = er;
        +        if (fer && fer.code === 'ENOENT') {
        +            return mkdirpManualSync(path, opts, mkdirpManualSync(parent, opts, made));
        +        }
        +        if (fer && fer.code !== 'EEXIST' && fer && fer.code !== 'EROFS') {
        +            throw er;
        +        }
        +        try {
        +            if (!opts.statSync(path).isDirectory())
        +                throw er;
        +        }
        +        catch (_) {
        +            throw er;
        +        }
        +    }
        +};
        +const mkdirpManual = Object.assign(async (path, options, made) => {
        +    const opts = optsArg(options);
        +    opts.recursive = false;
        +    const parent = (0,external_path_.dirname)(path);
        +    if (parent === path) {
        +        return opts.mkdirAsync(path, opts).catch(er => {
        +            // swallowed by recursive implementation on posix systems
        +            // any other error is a failure
        +            const fer = er;
        +            if (fer && fer.code !== 'EISDIR') {
        +                throw er;
        +            }
        +        });
        +    }
        +    return opts.mkdirAsync(path, opts).then(() => made || path, async (er) => {
        +        const fer = er;
        +        if (fer && fer.code === 'ENOENT') {
        +            return mkdirpManual(parent, opts).then((made) => mkdirpManual(path, opts, made));
        +        }
        +        if (fer && fer.code !== 'EEXIST' && fer.code !== 'EROFS') {
        +            throw er;
        +        }
        +        return opts.statAsync(path).then(st => {
        +            if (st.isDirectory()) {
        +                return made;
        +            }
        +            else {
        +                throw er;
        +            }
        +        }, () => {
        +            throw er;
        +        });
        +    });
        +}, { sync: mkdirpManualSync });
        +//# sourceMappingURL=mkdirp-manual.js.map
        +;// ../fs/node_modules/mkdirp/dist/mjs/find-made.js
        +
        +const findMade = async (opts, parent, path) => {
        +    // we never want the 'made' return value to be a root directory
        +    if (path === parent) {
        +        return;
        +    }
        +    return opts.statAsync(parent).then(st => (st.isDirectory() ? path : undefined), // will fail later
        +    // will fail later
        +    er => {
        +        const fer = er;
        +        return fer && fer.code === 'ENOENT'
        +            ? findMade(opts, (0,external_path_.dirname)(parent), parent)
        +            : undefined;
        +    });
        +};
        +const findMadeSync = (opts, parent, path) => {
        +    if (path === parent) {
        +        return undefined;
        +    }
        +    try {
        +        return opts.statSync(parent).isDirectory() ? path : undefined;
        +    }
        +    catch (er) {
        +        const fer = er;
        +        return fer && fer.code === 'ENOENT'
        +            ? findMadeSync(opts, (0,external_path_.dirname)(parent), parent)
        +            : undefined;
        +    }
        +};
        +//# sourceMappingURL=find-made.js.map
        +;// ../fs/node_modules/mkdirp/dist/mjs/mkdirp-native.js
        +
        +
        +
        +
        +const mkdirpNativeSync = (path, options) => {
        +    const opts = optsArg(options);
        +    opts.recursive = true;
        +    const parent = (0,external_path_.dirname)(path);
        +    if (parent === path) {
        +        return opts.mkdirSync(path, opts);
        +    }
        +    const made = findMadeSync(opts, path);
        +    try {
        +        opts.mkdirSync(path, opts);
        +        return made;
        +    }
        +    catch (er) {
        +        const fer = er;
        +        if (fer && fer.code === 'ENOENT') {
        +            return mkdirpManualSync(path, opts);
        +        }
        +        else {
        +            throw er;
        +        }
        +    }
        +};
        +const mkdirpNative = Object.assign(async (path, options) => {
        +    const opts = { ...optsArg(options), recursive: true };
        +    const parent = (0,external_path_.dirname)(path);
        +    if (parent === path) {
        +        return await opts.mkdirAsync(path, opts);
        +    }
        +    return findMade(opts, path).then((made) => opts
        +        .mkdirAsync(path, opts)
        +        .then(m => made || m)
        +        .catch(er => {
        +        const fer = er;
        +        if (fer && fer.code === 'ENOENT') {
        +            return mkdirpManual(path, opts);
        +        }
        +        else {
        +            throw er;
        +        }
        +    }));
        +}, { sync: mkdirpNativeSync });
        +//# sourceMappingURL=mkdirp-native.js.map
        +;// ../fs/node_modules/mkdirp/dist/mjs/path-arg.js
        +const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
        +
        +const pathArg = (path) => {
        +    if (/\0/.test(path)) {
        +        // simulate same failure that node raises
        +        throw Object.assign(new TypeError('path must be a string without null bytes'), {
        +            path,
        +            code: 'ERR_INVALID_ARG_VALUE',
        +        });
        +    }
        +    path = (0,external_path_.resolve)(path);
        +    if (platform === 'win32') {
        +        const badWinChars = /[*|"<>?:]/;
        +        const { root } = (0,external_path_.parse)(path);
        +        if (badWinChars.test(path.substring(root.length))) {
        +            throw Object.assign(new Error('Illegal characters in path.'), {
        +                path,
        +                code: 'EINVAL',
        +            });
        +        }
        +    }
        +    return path;
        +};
        +//# sourceMappingURL=path-arg.js.map
        +;// ../fs/node_modules/mkdirp/dist/mjs/use-native.js
        +
        +
        +const use_native_version = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
        +const versArr = use_native_version.replace(/^v/, '').split('.');
        +const hasNative = +versArr[0] > 10 || (+versArr[0] === 10 && +versArr[1] >= 12);
        +const useNativeSync = !hasNative
        +    ? () => false
        +    : (opts) => optsArg(opts).mkdirSync === external_fs_.mkdirSync;
        +const useNative = Object.assign(!hasNative
        +    ? () => false
        +    : (opts) => optsArg(opts).mkdir === external_fs_.mkdir, {
        +    sync: useNativeSync,
        +});
        +//# sourceMappingURL=use-native.js.map
        +;// ../fs/node_modules/mkdirp/dist/mjs/index.js
        +/* unused harmony import specifier */ var mjs_mkdirpManual;
        +/* unused harmony import specifier */ var mjs_mkdirpManualSync;
        +/* unused harmony import specifier */ var mjs_mkdirpNative;
        +/* unused harmony import specifier */ var mjs_mkdirpNativeSync;
        +
        +
        +
        +
        +
        +/* c8 ignore start */
        +
        +
        +
        +/* c8 ignore stop */
        +const mkdirpSync = (path, opts) => {
        +    path = pathArg(path);
        +    const resolved = optsArg(opts);
        +    return useNativeSync(resolved)
        +        ? mkdirpNativeSync(path, resolved)
        +        : mkdirpManualSync(path, resolved);
        +};
        +const mjs_sync = mkdirpSync;
        +const manual = (/* unused pure expression or super */ null && (mjs_mkdirpManual));
        +const manualSync = (/* unused pure expression or super */ null && (mjs_mkdirpManualSync));
        +const mjs_native = (/* unused pure expression or super */ null && (mjs_mkdirpNative));
        +const nativeSync = (/* unused pure expression or super */ null && (mjs_mkdirpNativeSync));
        +const mkdirp = Object.assign(async (path, opts) => {
        +    path = pathArg(path);
        +    const resolved = optsArg(opts);
        +    return useNative(resolved)
        +        ? mkdirpNative(path, resolved)
        +        : mkdirpManual(path, resolved);
        +}, {
        +    mkdirpSync,
        +    mkdirpNative: mkdirpNative,
        +    mkdirpNativeSync: mkdirpNativeSync,
        +    mkdirpManual: mkdirpManual,
        +    mkdirpManualSync: mkdirpManualSync,
        +    sync: mkdirpSync,
        +    native: mkdirpNative,
        +    nativeSync: mkdirpNativeSync,
        +    manual: mkdirpManual,
        +    manualSync: mkdirpManualSync,
        +    useNative: useNative,
        +    useNativeSync: useNativeSync,
        +});
        +//# sourceMappingURL=index.js.map
        +;// ../fs/dist/promisify.js
        +function promisify(f, thisContext) {
        +    return function () {
        +        const args = Array.prototype.slice.call(arguments);
        +        return new Promise((resolve, reject) => {
        +            args.push((err, result) => err !== null ? reject(err) : resolve(result));
        +            f.apply(thisContext, args);
        +        });
        +    };
        +}
        +function promisify_map(elts, f) {
        +    const apply = (appElts) => Promise.all(appElts.map((elt) => typeof elt.then === 'function' ? elt.then(f) : f(elt)));
        +    return typeof elts.then === 'function' ? elts.then(apply) : apply(elts);
        +}
        +function _try(f, thisContext) {
        +    const args = Array.prototype.slice.call(arguments);
        +    return new Promise((res, rej) => {
        +        try {
        +            args.shift();
        +            res(f.apply(thisContext, args));
        +        }
        +        catch (err) {
        +            rej(err);
        +        }
        +    });
        +}
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzaWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb21pc2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLFVBQVUsU0FBUyxDQUFDLENBQU0sRUFBRSxXQUFpQjtJQUNsRCxPQUFPO1FBQ04sTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxNQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbkYsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSCxDQUFDO0FBT0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFTLEVBQUUsQ0FBTTtJQUNwQyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlILE9BQU8sT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pFLENBQUM7QUFRRCxNQUFNLFVBQVUsSUFBSSxDQUFDLENBQU0sRUFBRSxXQUFpQjtJQUM3QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUMvQixJQUFJLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNkLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDRixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
        +;// ../fs/dist/write.js
        +/* unused harmony import specifier */ var pathUtil;
        +/* unused harmony import specifier */ var write_mkdirp;
        +/* unused harmony import specifier */ var write_validateArgument;
        +/* unused harmony import specifier */ var validateOptions;
        +
        +
        +
        +
        +
        +
        +
        +const newExt = '.__new__';
        +function write_validateInput(methodName, path, data, options) {
        +    const methodSignature = methodName + '(path, data, [options])';
        +    write_validateArgument(methodSignature, 'path', path, ['string']);
        +    write_validateArgument(methodSignature, 'data', data, ['string', 'buffer', 'object', 'array']);
        +    validateOptions(methodSignature, 'options', options, {
        +        atomic: ['boolean'],
        +        jsonIndent: ['number'],
        +        progress: ['function']
        +    });
        +}
        +const toJson = (data, jsonIndent) => {
        +    if (typeof data === 'object'
        +        && !Buffer.isBuffer(data)
        +        && data !== null) {
        +        return json.serialize(data, null, typeof jsonIndent !== 'number' ? 2 : jsonIndent);
        +    }
        +    return data;
        +};
        +// ---------------------------------------------------------
        +// SYNC
        +// ---------------------------------------------------------
        +const _writeFileSync = (path, data, options) => {
        +    try {
        +        (0,external_fs_.writeFileSync)(path, data, options);
        +    }
        +    catch (err) {
        +        if (err.code === 'ENOENT') {
        +            // Means parent directory doesn't exist, so create it and try again.
        +            mjs_sync(external_path_.dirname(path));
        +            external_fs_.writeFileSync(path, data, options);
        +        }
        +        else {
        +            throw err;
        +        }
        +    }
        +};
        +const writeAtomicSync = (path, data, options) => {
        +    return file.write_atomic(path + newExt, data, options, function () { });
        +};
        +function write_sync(path, data, options) {
        +    const opts = options || {};
        +    const processedData = toJson(data, opts.jsonIndent);
        +    const writeStrategy = opts.atomic ? writeAtomicSync : _writeFileSync;
        +    writeStrategy(path, processedData, { mode: opts.mode });
        +}
        +// ---------------------------------------------------------
        +// ASYNC
        +// ---------------------------------------------------------
        +const promisedWriteFile = external_fs_.promises.writeFile;
        +const promisedAtomic = promisify(writeAtomicSync);
        +function writeFileAsync(path, data, options) {
        +    return new Promise((resolve, reject) => {
        +        promisedWriteFile(path, data, options)
        +            .then(resolve)
        +            .catch((err) => {
        +            // First attempt to write a file ended with error.
        +            // Check if this is not due to nonexistent parent directory.
        +            if (err.code === 'ENOENT') {
        +                // Parent directory doesn't exist, so create it and try again.
        +                write_mkdirp(pathUtil.dirname(path));
        +                promisedWriteFile(path, data, options);
        +                resolve();
        +            }
        +            else {
        +                reject(err);
        +            }
        +        });
        +    });
        +}
        +function write_async(path, data, options) {
        +    const opts = options || {};
        +    const processedData = toJson(data, opts.jsonIndent);
        +    return (opts.atomic ? promisedAtomic : writeFileAsync)(path, processedData, { mode: opts.mode });
        +}
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd3JpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFFBQVEsTUFBTSxNQUFNLENBQUE7QUFDaEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLElBQUksQ0FBQTtBQUNsQyxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQTtBQUV6QixNQUFNLFVBQVUsYUFBYSxDQUFDLFVBQWtCLEVBQUUsSUFBWSxFQUFFLElBQXVCLEVBQUUsT0FBc0I7SUFDOUcsTUFBTSxlQUFlLEdBQUcsVUFBVSxHQUFHLHlCQUF5QixDQUFDO0lBQy9ELGdCQUFnQixDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM1RCxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekYsZUFBZSxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO1FBQ3BELE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUNuQixVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7UUFDdEIsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDO0tBQ3RCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQXVCLEVBQUUsVUFBa0IsRUFBVSxFQUFFO0lBQ3RFLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUTtXQUN4QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1dBQ3RCLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUNELE9BQU8sSUFBYyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQztBQUVGLDREQUE0RDtBQUM1RCxPQUFPO0FBQ1AsNERBQTREO0FBQzVELE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQWtCLEVBQUUsT0FBdUIsRUFBUSxFQUFFO0lBQzFGLElBQUksQ0FBQztRQUNKLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLG9FQUFvRTtZQUNwRSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQzlCLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNQLE1BQU0sR0FBRyxDQUFDO1FBQ1gsQ0FBQztJQUNGLENBQUM7QUFDRixDQUFDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBdUIsRUFBUSxFQUFFO0lBQ3JGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsSUFBSSxDQUFDLElBQVksRUFBRSxJQUF1QixFQUFFLE9BQXVCO0lBQ2xGLE1BQU0sSUFBSSxHQUFRLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDckUsYUFBYSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxRQUFRO0FBQ1IsNERBQTREO0FBQzVELE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUE7QUFDaEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRWpELFNBQVMsY0FBYyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBdUI7SUFDMUUsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUM1QyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2IsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDbkIsa0RBQWtEO1lBQ2xELDREQUE0RDtZQUM1RCxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzNCLDhEQUE4RDtnQkFDOUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtnQkFDOUIsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDdEMsT0FBTyxFQUFFLENBQUE7WUFDVixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBQ0QsTUFBTSxVQUFVLEtBQUssQ0FBQyxJQUFZLEVBQUUsSUFBdUIsRUFBRSxPQUF1QjtJQUNuRixNQUFNLElBQUksR0FBUSxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ2hDLE1BQU0sYUFBYSxHQUFXLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7QUFDakcsQ0FBQyJ9
        +;// external "typescript"
        +const external_typescript_namespaceObject = require("typescript");
        +;// ../commons/node_modules/zod-to-ts/dist/ast-helpers.js
        +/* unused harmony import specifier */ var f;
        +/* unused harmony import specifier */ var ts;
        +
        +function createTypeReferenceFromString(identifier) {
        +    return f.createTypeReferenceNode(f.createIdentifier(identifier));
        +}
        +function createTypeAlias(node, identifier, comment) {
        +    const typeAlias = f.createTypeAliasDeclaration(undefined, f.createIdentifier(identifier), undefined, node);
        +    if (comment) {
        +        addJsDocComment(typeAlias, comment);
        +    }
        +    return typeAlias;
        +}
        +function printNode(node, printerOptions) {
        +    const sourceFile = ts.createSourceFile('print.ts', '', ts.ScriptTarget.Latest, false, ts.ScriptKind.TS);
        +    const printer = ts.createPrinter(printerOptions);
        +    return printer.printNode(ts.EmitHint.Unspecified, node, sourceFile);
        +}
        +const identifierRE = /^[$A-Z_a-z][\w$]*$/;
        +function getIdentifierOrStringLiteral(string_) {
        +    if (identifierRE.test(string_)) {
        +        return f.createIdentifier(string_);
        +    }
        +    return f.createStringLiteral(string_);
        +}
        +function addJsDocComment(node, text) {
        +    ts.addSyntheticLeadingComment(node, ts.SyntaxKind.MultiLineCommentTrivia, `* ${text} `, true);
        +}
        +
        +;// ../commons/node_modules/zod-to-ts/dist/types.js
        +/* unused harmony import specifier */ var z4;
        +
        +function resolveOptions(options) {
        +    return {
        +        unrepresentable: options.unrepresentable ?? 'throw',
        +        io: options.io ?? 'output',
        +        overrides: options.overrides,
        +        metadataRegistry: options.metadataRegistry ?? z4.globalRegistry,
        +        auxiliaryTypeStore: options.auxiliaryTypeStore,
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-ts/dist/utils.js
        +/* unused harmony import specifier */ var utils_f;
        +/* unused harmony import specifier */ var utils_ts;
        +
        +function handleUnrepresentable(unrepresentable, unrepresentableType) {
        +    if (unrepresentable === 'any') {
        +        return utils_f.createKeywordTypeNode(utils_ts.SyntaxKind.AnyKeyword);
        +    }
        +    throw new Error(`Schemas of type "${unrepresentableType}" cannot be represented in TypeScript`);
        +}
        +function createAuxiliaryTypeStore() {
        +    let id = 0;
        +    return {
        +        nextId() {
        +            const currentId = id;
        +            id++;
        +            return `Auxiliary_${currentId}`;
        +        },
        +        definitions: new Map(),
        +    };
        +}
        +function literalValueToLiteralType(literalValue) {
        +    switch (typeof literalValue) {
        +        case 'string':
        +            return utils_f.createLiteralTypeNode(utils_f.createStringLiteral(literalValue));
        +        case 'number':
        +            return utils_f.createLiteralTypeNode(utils_f.createNumericLiteral(literalValue));
        +        case 'bigint':
        +            return utils_f.createLiteralTypeNode(utils_f.createBigIntLiteral(`${literalValue.toString()}n`));
        +        case 'boolean':
        +            return literalValue === true
        +                ? utils_f.createLiteralTypeNode(utils_f.createTrue())
        +                : utils_f.createLiteralTypeNode(utils_f.createFalse());
        +        case 'object':
        +            if (literalValue === null)
        +                return utils_f.createLiteralTypeNode(utils_f.createNull());
        +            throw new Error('Object literals are not supported');
        +        case 'undefined':
        +            return utils_f.createKeywordTypeNode(utils_ts.SyntaxKind.UndefinedKeyword);
        +    }
        +}
        +
        +;// ../commons/node_modules/zod-to-ts/dist/index.js
        +/* unused harmony import specifier */ var dist_ts;
        +/* unused harmony import specifier */ var dist_f;
        +/* unused harmony import specifier */ var dist_createTypeReferenceFromString;
        +/* unused harmony import specifier */ var dist_getIdentifierOrStringLiteral;
        +/* unused harmony import specifier */ var dist_addJsDocComment;
        +/* unused harmony import specifier */ var dist_resolveOptions;
        +/* unused harmony import specifier */ var dist_literalValueToLiteralType;
        +/* unused harmony import specifier */ var dist_handleUnrepresentable;
        +
        +
        +
        +
        +function callTypeOverride(schema, options) {
        +    const getTypeOverride = options.overrides?.get(schema);
        +    if (!getTypeOverride)
        +        return;
        +    return getTypeOverride(dist_ts, options);
        +}
        +function withAuxiliaryType(schema, getInner, options) {
        +    const auxiliaryTypeDefinition = {
        +        identifier: dist_f.createIdentifier(options.auxiliaryTypeStore.nextId()),
        +    };
        +    const internalDefinitionsMap = options.auxiliaryTypeStore.definitions;
        +    internalDefinitionsMap.set(schema, auxiliaryTypeDefinition);
        +    const node = getInner();
        +    if (auxiliaryTypeDefinition.used) {
        +        auxiliaryTypeDefinition.node = dist_f.createTypeAliasDeclaration(undefined, auxiliaryTypeDefinition.identifier, undefined, node);
        +        return dist_f.createTypeReferenceNode(auxiliaryTypeDefinition.identifier);
        +    }
        +    internalDefinitionsMap.delete(schema);
        +    return node;
        +}
        +function zodToTs(zod, options) {
        +    const resolvedOptions = dist_resolveOptions(options);
        +    const node = zodToTsNode(zod, resolvedOptions);
        +    return { node };
        +}
        +function zodToTsNode(schema, options) {
        +    const def = schema._zod.def;
        +    const typeOverride = callTypeOverride(schema, options);
        +    if (typeOverride)
        +        return typeOverride;
        +    const auxiliaryTypeDefinition = options.auxiliaryTypeStore.definitions.get(schema);
        +    if (auxiliaryTypeDefinition) {
        +        ;
        +        auxiliaryTypeDefinition.used = true;
        +        return dist_f.createTypeReferenceNode(auxiliaryTypeDefinition.identifier);
        +    }
        +    switch (def.type) {
        +        case 'string': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.StringKeyword);
        +        }
        +        case 'nan':
        +        case 'number': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.NumberKeyword);
        +        }
        +        case 'bigint': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.BigIntKeyword);
        +        }
        +        case 'success':
        +        case 'boolean': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.BooleanKeyword);
        +        }
        +        case 'date': {
        +            return dist_createTypeReferenceFromString('Date');
        +        }
        +        case 'undefined': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.UndefinedKeyword);
        +        }
        +        case 'null': {
        +            return dist_f.createLiteralTypeNode(dist_f.createNull());
        +        }
        +        case 'void': {
        +            return dist_f.createUnionTypeNode([
        +                dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.VoidKeyword),
        +                dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.UndefinedKeyword),
        +            ]);
        +        }
        +        case 'any': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.AnyKeyword);
        +        }
        +        case 'unknown': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.UnknownKeyword);
        +        }
        +        case 'never': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.NeverKeyword);
        +        }
        +        case 'lazy': {
        +            return withAuxiliaryType(schema, () => zodToTsNode(def.getter(), options), options);
        +        }
        +        case 'literal': {
        +            // z.literal(['hi', 'bye']) -> 'hi' | 'bye'
        +            const members = def.values.map((value) => dist_literalValueToLiteralType(value));
        +            if (members.length === 1) {
        +                return members[0];
        +            }
        +            return dist_f.createUnionTypeNode(members);
        +        }
        +        case 'object': {
        +            return withAuxiliaryType(schema, () => {
        +                const properties = Object.entries(def.shape);
        +                const members = properties.map(([key, memberZodSchema]) => {
        +                    const type = zodToTsNode(memberZodSchema, options);
        +                    const isOptional = options.io === 'input'
        +                        ? memberZodSchema._zod.optin
        +                        : memberZodSchema._zod.optout;
        +                    const propertySignature = dist_f.createPropertySignature(undefined, dist_getIdentifierOrStringLiteral(key), isOptional
        +                        ? dist_f.createToken(dist_ts.SyntaxKind.QuestionToken)
        +                        : undefined, type);
        +                    const description = options.metadataRegistry?.get(memberZodSchema)?.description;
        +                    if (description) {
        +                        dist_addJsDocComment(propertySignature, description);
        +                    }
        +                    return propertySignature;
        +                });
        +                if (def.catchall) {
        +                    const catchallType = zodToTsNode(def.catchall, options);
        +                    members.push(dist_f.createIndexSignature(undefined, [
        +                        dist_f.createParameterDeclaration(undefined, undefined, dist_f.createIdentifier('x'), undefined, dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.StringKeyword)),
        +                    ], catchallType));
        +                }
        +                return dist_f.createTypeLiteralNode(members);
        +            }, options);
        +        }
        +        case 'array': {
        +            const type = zodToTsNode(def.element, options);
        +            const node = dist_f.createArrayTypeNode(type);
        +            return node;
        +        }
        +        case 'enum': {
        +            // z.enum(['a', 'b', 'c']) -> 'a' | 'b' | 'c
        +            const members = Object.values(def.entries).map((value) => dist_literalValueToLiteralType(value));
        +            return dist_f.createUnionTypeNode(members);
        +        }
        +        case 'union': {
        +            // z.union([z.string(), z.number()]) -> string | number
        +            const types = def.options.map((option) => zodToTsNode(option, options));
        +            return dist_f.createUnionTypeNode(types);
        +        }
        +        case 'optional': {
        +            const innerType = zodToTsNode(def.innerType, options);
        +            return dist_f.createUnionTypeNode([
        +                innerType,
        +                dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.UndefinedKeyword),
        +            ]);
        +        }
        +        case 'nullable': {
        +            const innerType = zodToTsNode(def.innerType, options);
        +            return dist_f.createUnionTypeNode([
        +                innerType,
        +                dist_f.createLiteralTypeNode(dist_f.createNull()),
        +            ]);
        +        }
        +        case 'tuple': {
        +            // z.tuple([z.string(), z.number()]) -> [string, number]
        +            const types = def.items.map((option) => zodToTsNode(option, options));
        +            return dist_f.createTupleTypeNode(types);
        +        }
        +        case 'record': {
        +            // z.record(z.number()) -> { [x: string]: number }
        +            const keyType = zodToTsNode(def.keyType, options);
        +            const valueType = zodToTsNode(def.valueType, options);
        +            const node = dist_f.createTypeLiteralNode([
        +                dist_f.createIndexSignature(undefined, [
        +                    dist_f.createParameterDeclaration(undefined, undefined, dist_f.createIdentifier('key'), undefined, keyType),
        +                ], valueType),
        +            ]);
        +            return node;
        +        }
        +        case 'map': {
        +            // z.map(z.string()) -> Map
        +            const keyType = zodToTsNode(def.keyType, options);
        +            const valueType = zodToTsNode(def.valueType, options);
        +            const node = dist_f.createTypeReferenceNode(dist_f.createIdentifier('Map'), [
        +                keyType,
        +                valueType,
        +            ]);
        +            return node;
        +        }
        +        case 'set': {
        +            // z.set(z.string()) -> Set
        +            const type = zodToTsNode(def.valueType, options);
        +            const node = dist_f.createTypeReferenceNode(dist_f.createIdentifier('Set'), [type]);
        +            return node;
        +        }
        +        case 'intersection': {
        +            // z.number().and(z.string()) -> number & string
        +            const left = zodToTsNode(def.left, options);
        +            const right = zodToTsNode(def.right, options);
        +            const node = dist_f.createIntersectionTypeNode([left, right]);
        +            return node;
        +        }
        +        case 'promise': {
        +            // z.promise(z.string()) -> Promise
        +            const type = zodToTsNode(def.innerType, options);
        +            const node = dist_f.createTypeReferenceNode(dist_f.createIdentifier('Promise'), [
        +                type,
        +            ]);
        +            return node;
        +        }
        +        case 'function': {
        +            // z.function({ input: [z.string()], output: z.number() }) -> (args_0: string) => number
        +            const argumentSchemas = def.input._zod.def.items;
        +            const parameterTypes = argumentSchemas.map((argument, index) => {
        +                const parameterType = zodToTsNode(argument, options);
        +                return dist_f.createParameterDeclaration(undefined, undefined, dist_f.createIdentifier(`args_${index}`), undefined, parameterType);
        +            });
        +            const returnType = zodToTsNode(def.output, options);
        +            const node = dist_f.createFunctionTypeNode(undefined, parameterTypes, returnType);
        +            return node;
        +        }
        +        case 'prefault':
        +        case 'default': {
        +            // z.string().optional().default('hi') -> string
        +            // if it's an input type, the type is optional
        +            if (options.io === 'input') {
        +            }
        +            return zodToTsNode(def.innerType, options);
        +        }
        +        case 'file': {
        +            return dist_createTypeReferenceFromString('File');
        +        }
        +        case 'pipe': {
        +            const innerType = options.io === 'input'
        +                ? def.in._zod.def.type === 'transform'
        +                    ? def.out
        +                    : def.in
        +                : def.out;
        +            return zodToTsNode(innerType, options);
        +        }
        +        case 'readonly': {
        +            const innerType = zodToTsNode(def.innerType, options);
        +            if (dist_ts.isArrayTypeNode(innerType) || dist_ts.isTupleTypeNode(innerType)) {
        +                return dist_f.createTypeOperatorNode(dist_ts.SyntaxKind.ReadonlyKeyword, innerType);
        +            }
        +            if (dist_ts.isTypeLiteralNode(innerType)) {
        +                const members = innerType.members.map((member) => {
        +                    if (dist_ts.isPropertySignature(member)) {
        +                        return dist_f.updatePropertySignature(member, [
        +                            ...(member.modifiers ?? []),
        +                            dist_f.createToken(dist_ts.SyntaxKind.ReadonlyKeyword),
        +                        ], member.name, member.questionToken, member.type);
        +                    }
        +                    return member;
        +                });
        +                return dist_f.createTypeLiteralNode(members);
        +            }
        +            if (dist_ts.isTypeReferenceNode(innerType) &&
        +                dist_ts.isIdentifier(innerType.typeName)) {
        +                const identifier = innerType.typeName.text;
        +                if (identifier === 'Set')
        +                    return dist_f.createTypeReferenceNode(dist_f.createIdentifier('ReadonlySet'), innerType.typeArguments);
        +                if (identifier === 'Map')
        +                    return dist_f.createTypeReferenceNode(dist_f.createIdentifier('ReadonlyMap'), innerType.typeArguments);
        +            }
        +            // fall back to just returning the inner type
        +            return innerType;
        +        }
        +        case 'catch': {
        +            // z.string().catch('default') -> string
        +            return zodToTsNode(def.innerType, options);
        +        }
        +        case 'nonoptional': {
        +            // z.string().optional().nonoptional() -> Exclude -> string
        +            return dist_f.createTypeReferenceNode('Exclude', [
        +                zodToTsNode(def.innerType, options),
        +                dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.UndefinedKeyword),
        +            ]);
        +        }
        +        case 'symbol': {
        +            return dist_f.createKeywordTypeNode(dist_ts.SyntaxKind.SymbolKeyword);
        +        }
        +        case 'template_literal': {
        +            const partNodes = def.parts.map((part) => {
        +                if (typeof part !== 'object' || part === null) {
        +                    return dist_literalValueToLiteralType(part);
        +                }
        +                return zodToTsNode(part, options);
        +            });
        +            let templateHead;
        +            const templateSpans = [];
        +            let currentTypeSpanNode;
        +            let currentMiddle = '';
        +            for (const node of partNodes) {
        +                if (dist_ts.isLiteralTypeNode(node) && dist_ts.isStringLiteral(node.literal)) {
        +                    currentMiddle += node.literal.text;
        +                    continue;
        +                }
        +                if (currentTypeSpanNode) {
        +                    const templateSpan = dist_f.createTemplateLiteralTypeSpan(currentTypeSpanNode, dist_f.createTemplateMiddle(currentMiddle));
        +                    templateSpans.push(templateSpan);
        +                }
        +                else {
        +                    // if it's the first, set the head
        +                    templateHead = dist_f.createTemplateHead(currentMiddle);
        +                    currentTypeSpanNode = node;
        +                }
        +                currentMiddle = '';
        +                currentTypeSpanNode = node;
        +            }
        +            if (templateHead && currentTypeSpanNode) {
        +                const templateSpan = dist_f.createTemplateLiteralTypeSpan(currentTypeSpanNode, dist_f.createTemplateTail(currentMiddle));
        +                templateSpans.push(templateSpan);
        +            }
        +            else {
        +                return dist_f.createLiteralTypeNode(dist_f.createNoSubstitutionTemplateLiteral(currentMiddle));
        +            }
        +            return dist_f.createTemplateLiteralType(templateHead, templateSpans);
        +        }
        +    }
        +    return dist_handleUnrepresentable(options.unrepresentable, def.type);
        +}
        +
        +
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/Options.js
        +const ignoreOverride = Symbol("Let zodToJsonSchema decide on which parser to use");
        +const jsonDescription = (jsonSchema, def) => {
        +    if (def.description) {
        +        try {
        +            return {
        +                ...jsonSchema,
        +                ...JSON.parse(def.description),
        +            };
        +        }
        +        catch { }
        +    }
        +    return jsonSchema;
        +};
        +const defaultOptions = {
        +    name: undefined,
        +    $refStrategy: "root",
        +    basePath: ["#"],
        +    effectStrategy: "input",
        +    pipeStrategy: "all",
        +    dateStrategy: "format:date-time",
        +    mapStrategy: "entries",
        +    removeAdditionalStrategy: "passthrough",
        +    allowedAdditionalProperties: true,
        +    rejectedAdditionalProperties: false,
        +    definitionPath: "definitions",
        +    target: "jsonSchema7",
        +    strictUnions: false,
        +    definitions: {},
        +    errorMessages: false,
        +    markdownDescription: false,
        +    patternStrategy: "escape",
        +    applyRegexFlags: false,
        +    emailStrategy: "format:email",
        +    base64Strategy: "contentEncoding:base64",
        +    nameStrategy: "ref",
        +    openAiAnyTypeName: "OpenAiAnyType"
        +};
        +const getDefaultOptions = (options) => (typeof options === "string"
        +    ? {
        +        ...defaultOptions,
        +        name: options,
        +    }
        +    : {
        +        ...defaultOptions,
        +        ...options,
        +    });
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/Refs.js
        +
        +const getRefs = (options) => {
        +    const _options = getDefaultOptions(options);
        +    const currentPath = _options.name !== undefined
        +        ? [..._options.basePath, _options.definitionPath, _options.name]
        +        : _options.basePath;
        +    return {
        +        ..._options,
        +        flags: { hasReferencedOpenAiAnyType: false },
        +        currentPath: currentPath,
        +        propertyPath: undefined,
        +        seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [
        +            def._def,
        +            {
        +                def: def._def,
        +                path: [..._options.basePath, _options.definitionPath, name],
        +                // Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.
        +                jsonSchema: undefined,
        +            },
        +        ])),
        +    };
        +};
        +
        +;// ../commons/node_modules/zod/v3/helpers/util.js
        +var util_util;
        +(function (util) {
        +    util.assertEqual = (_) => { };
        +    function assertIs(_arg) { }
        +    util.assertIs = assertIs;
        +    function assertNever(_x) {
        +        throw new Error();
        +    }
        +    util.assertNever = assertNever;
        +    util.arrayToEnum = (items) => {
        +        const obj = {};
        +        for (const item of items) {
        +            obj[item] = item;
        +        }
        +        return obj;
        +    };
        +    util.getValidEnumValues = (obj) => {
        +        const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== "number");
        +        const filtered = {};
        +        for (const k of validKeys) {
        +            filtered[k] = obj[k];
        +        }
        +        return util.objectValues(filtered);
        +    };
        +    util.objectValues = (obj) => {
        +        return util.objectKeys(obj).map(function (e) {
        +            return obj[e];
        +        });
        +    };
        +    util.objectKeys = typeof Object.keys === "function" // eslint-disable-line ban/ban
        +        ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban
        +        : (object) => {
        +            const keys = [];
        +            for (const key in object) {
        +                if (Object.prototype.hasOwnProperty.call(object, key)) {
        +                    keys.push(key);
        +                }
        +            }
        +            return keys;
        +        };
        +    util.find = (arr, checker) => {
        +        for (const item of arr) {
        +            if (checker(item))
        +                return item;
        +        }
        +        return undefined;
        +    };
        +    util.isInteger = typeof Number.isInteger === "function"
        +        ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban
        +        : (val) => typeof val === "number" && Number.isFinite(val) && Math.floor(val) === val;
        +    function joinValues(array, separator = " | ") {
        +        return array.map((val) => (typeof val === "string" ? `'${val}'` : val)).join(separator);
        +    }
        +    util.joinValues = joinValues;
        +    util.jsonStringifyReplacer = (_, value) => {
        +        if (typeof value === "bigint") {
        +            return value.toString();
        +        }
        +        return value;
        +    };
        +})(util_util || (util_util = {}));
        +var objectUtil;
        +(function (objectUtil) {
        +    objectUtil.mergeShapes = (first, second) => {
        +        return {
        +            ...first,
        +            ...second, // second overwrites first
        +        };
        +    };
        +})(objectUtil || (objectUtil = {}));
        +const ZodParsedType = util_util.arrayToEnum([
        +    "string",
        +    "nan",
        +    "number",
        +    "integer",
        +    "float",
        +    "boolean",
        +    "date",
        +    "bigint",
        +    "symbol",
        +    "function",
        +    "undefined",
        +    "null",
        +    "array",
        +    "object",
        +    "unknown",
        +    "promise",
        +    "void",
        +    "never",
        +    "map",
        +    "set",
        +]);
        +const util_getParsedType = (data) => {
        +    const t = typeof data;
        +    switch (t) {
        +        case "undefined":
        +            return ZodParsedType.undefined;
        +        case "string":
        +            return ZodParsedType.string;
        +        case "number":
        +            return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;
        +        case "boolean":
        +            return ZodParsedType.boolean;
        +        case "function":
        +            return ZodParsedType.function;
        +        case "bigint":
        +            return ZodParsedType.bigint;
        +        case "symbol":
        +            return ZodParsedType.symbol;
        +        case "object":
        +            if (Array.isArray(data)) {
        +                return ZodParsedType.array;
        +            }
        +            if (data === null) {
        +                return ZodParsedType.null;
        +            }
        +            if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
        +                return ZodParsedType.promise;
        +            }
        +            if (typeof Map !== "undefined" && data instanceof Map) {
        +                return ZodParsedType.map;
        +            }
        +            if (typeof Set !== "undefined" && data instanceof Set) {
        +                return ZodParsedType.set;
        +            }
        +            if (typeof Date !== "undefined" && data instanceof Date) {
        +                return ZodParsedType.date;
        +            }
        +            return ZodParsedType.object;
        +        default:
        +            return ZodParsedType.unknown;
        +    }
        +};
        +
        +;// ../commons/node_modules/zod/v3/ZodError.js
        +
        +const ZodError_ZodIssueCode = util_util.arrayToEnum([
        +    "invalid_type",
        +    "invalid_literal",
        +    "custom",
        +    "invalid_union",
        +    "invalid_union_discriminator",
        +    "invalid_enum_value",
        +    "unrecognized_keys",
        +    "invalid_arguments",
        +    "invalid_return_type",
        +    "invalid_date",
        +    "invalid_string",
        +    "too_small",
        +    "too_big",
        +    "invalid_intersection_types",
        +    "not_multiple_of",
        +    "not_finite",
        +]);
        +const quotelessJson = (obj) => {
        +    const json = JSON.stringify(obj, null, 2);
        +    return json.replace(/"([^"]+)":/g, "$1:");
        +};
        +class ZodError_ZodError extends Error {
        +    get errors() {
        +        return this.issues;
        +    }
        +    constructor(issues) {
        +        super();
        +        this.issues = [];
        +        this.addIssue = (sub) => {
        +            this.issues = [...this.issues, sub];
        +        };
        +        this.addIssues = (subs = []) => {
        +            this.issues = [...this.issues, ...subs];
        +        };
        +        const actualProto = new.target.prototype;
        +        if (Object.setPrototypeOf) {
        +            // eslint-disable-next-line ban/ban
        +            Object.setPrototypeOf(this, actualProto);
        +        }
        +        else {
        +            this.__proto__ = actualProto;
        +        }
        +        this.name = "ZodError";
        +        this.issues = issues;
        +    }
        +    format(_mapper) {
        +        const mapper = _mapper ||
        +            function (issue) {
        +                return issue.message;
        +            };
        +        const fieldErrors = { _errors: [] };
        +        const processError = (error) => {
        +            for (const issue of error.issues) {
        +                if (issue.code === "invalid_union") {
        +                    issue.unionErrors.map(processError);
        +                }
        +                else if (issue.code === "invalid_return_type") {
        +                    processError(issue.returnTypeError);
        +                }
        +                else if (issue.code === "invalid_arguments") {
        +                    processError(issue.argumentsError);
        +                }
        +                else if (issue.path.length === 0) {
        +                    fieldErrors._errors.push(mapper(issue));
        +                }
        +                else {
        +                    let curr = fieldErrors;
        +                    let i = 0;
        +                    while (i < issue.path.length) {
        +                        const el = issue.path[i];
        +                        const terminal = i === issue.path.length - 1;
        +                        if (!terminal) {
        +                            curr[el] = curr[el] || { _errors: [] };
        +                            // if (typeof el === "string") {
        +                            //   curr[el] = curr[el] || { _errors: [] };
        +                            // } else if (typeof el === "number") {
        +                            //   const errorArray: any = [];
        +                            //   errorArray._errors = [];
        +                            //   curr[el] = curr[el] || errorArray;
        +                            // }
        +                        }
        +                        else {
        +                            curr[el] = curr[el] || { _errors: [] };
        +                            curr[el]._errors.push(mapper(issue));
        +                        }
        +                        curr = curr[el];
        +                        i++;
        +                    }
        +                }
        +            }
        +        };
        +        processError(this);
        +        return fieldErrors;
        +    }
        +    static assert(value) {
        +        if (!(value instanceof ZodError_ZodError)) {
        +            throw new Error(`Not a ZodError: ${value}`);
        +        }
        +    }
        +    toString() {
        +        return this.message;
        +    }
        +    get message() {
        +        return JSON.stringify(this.issues, util_util.jsonStringifyReplacer, 2);
        +    }
        +    get isEmpty() {
        +        return this.issues.length === 0;
        +    }
        +    flatten(mapper = (issue) => issue.message) {
        +        const fieldErrors = Object.create(null);
        +        const formErrors = [];
        +        for (const sub of this.issues) {
        +            if (sub.path.length > 0) {
        +                const firstEl = sub.path[0];
        +                fieldErrors[firstEl] = fieldErrors[firstEl] || [];
        +                fieldErrors[firstEl].push(mapper(sub));
        +            }
        +            else {
        +                formErrors.push(mapper(sub));
        +            }
        +        }
        +        return { formErrors, fieldErrors };
        +    }
        +    get formErrors() {
        +        return this.flatten();
        +    }
        +}
        +ZodError_ZodError.create = (issues) => {
        +    const error = new ZodError_ZodError(issues);
        +    return error;
        +};
        +
        +;// ../commons/node_modules/zod/v3/locales/en.js
        +
        +
        +const errorMap = (issue, _ctx) => {
        +    let message;
        +    switch (issue.code) {
        +        case ZodError_ZodIssueCode.invalid_type:
        +            if (issue.received === ZodParsedType.undefined) {
        +                message = "Required";
        +            }
        +            else {
        +                message = `Expected ${issue.expected}, received ${issue.received}`;
        +            }
        +            break;
        +        case ZodError_ZodIssueCode.invalid_literal:
        +            message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_util.jsonStringifyReplacer)}`;
        +            break;
        +        case ZodError_ZodIssueCode.unrecognized_keys:
        +            message = `Unrecognized key(s) in object: ${util_util.joinValues(issue.keys, ", ")}`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_union:
        +            message = `Invalid input`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_union_discriminator:
        +            message = `Invalid discriminator value. Expected ${util_util.joinValues(issue.options)}`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_enum_value:
        +            message = `Invalid enum value. Expected ${util_util.joinValues(issue.options)}, received '${issue.received}'`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_arguments:
        +            message = `Invalid function arguments`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_return_type:
        +            message = `Invalid function return type`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_date:
        +            message = `Invalid date`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_string:
        +            if (typeof issue.validation === "object") {
        +                if ("includes" in issue.validation) {
        +                    message = `Invalid input: must include "${issue.validation.includes}"`;
        +                    if (typeof issue.validation.position === "number") {
        +                        message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;
        +                    }
        +                }
        +                else if ("startsWith" in issue.validation) {
        +                    message = `Invalid input: must start with "${issue.validation.startsWith}"`;
        +                }
        +                else if ("endsWith" in issue.validation) {
        +                    message = `Invalid input: must end with "${issue.validation.endsWith}"`;
        +                }
        +                else {
        +                    util_util.assertNever(issue.validation);
        +                }
        +            }
        +            else if (issue.validation !== "regex") {
        +                message = `Invalid ${issue.validation}`;
        +            }
        +            else {
        +                message = "Invalid";
        +            }
        +            break;
        +        case ZodError_ZodIssueCode.too_small:
        +            if (issue.type === "array")
        +                message = `Array must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;
        +            else if (issue.type === "string")
        +                message = `String must contain ${issue.exact ? "exactly" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;
        +            else if (issue.type === "number")
        +                message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;
        +            else if (issue.type === "bigint")
        +                message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;
        +            else if (issue.type === "date")
        +                message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;
        +            else
        +                message = "Invalid input";
        +            break;
        +        case ZodError_ZodIssueCode.too_big:
        +            if (issue.type === "array")
        +                message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;
        +            else if (issue.type === "string")
        +                message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;
        +            else if (issue.type === "number")
        +                message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
        +            else if (issue.type === "bigint")
        +                message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;
        +            else if (issue.type === "date")
        +                message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;
        +            else
        +                message = "Invalid input";
        +            break;
        +        case ZodError_ZodIssueCode.custom:
        +            message = `Invalid input`;
        +            break;
        +        case ZodError_ZodIssueCode.invalid_intersection_types:
        +            message = `Intersection results could not be merged`;
        +            break;
        +        case ZodError_ZodIssueCode.not_multiple_of:
        +            message = `Number must be a multiple of ${issue.multipleOf}`;
        +            break;
        +        case ZodError_ZodIssueCode.not_finite:
        +            message = "Number must be finite";
        +            break;
        +        default:
        +            message = _ctx.defaultError;
        +            util_util.assertNever(issue);
        +    }
        +    return { message };
        +};
        +/* harmony default export */ const locales_en = (errorMap);
        +
        +;// ../commons/node_modules/zod/v3/errors.js
        +
        +let overrideErrorMap = locales_en;
        +
        +function errors_setErrorMap(map) {
        +    overrideErrorMap = map;
        +}
        +function errors_getErrorMap() {
        +    return overrideErrorMap;
        +}
        +
        +;// ../commons/node_modules/zod/v3/helpers/parseUtil.js
        +
        +
        +const makeIssue = (params) => {
        +    const { data, path, errorMaps, issueData } = params;
        +    const fullPath = [...path, ...(issueData.path || [])];
        +    const fullIssue = {
        +        ...issueData,
        +        path: fullPath,
        +    };
        +    if (issueData.message !== undefined) {
        +        return {
        +            ...issueData,
        +            path: fullPath,
        +            message: issueData.message,
        +        };
        +    }
        +    let errorMessage = "";
        +    const maps = errorMaps
        +        .filter((m) => !!m)
        +        .slice()
        +        .reverse();
        +    for (const map of maps) {
        +        errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;
        +    }
        +    return {
        +        ...issueData,
        +        path: fullPath,
        +        message: errorMessage,
        +    };
        +};
        +const EMPTY_PATH = (/* unused pure expression or super */ null && ([]));
        +function addIssueToContext(ctx, issueData) {
        +    const overrideMap = errors_getErrorMap();
        +    const issue = makeIssue({
        +        issueData: issueData,
        +        data: ctx.data,
        +        path: ctx.path,
        +        errorMaps: [
        +            ctx.common.contextualErrorMap, // contextual error map is first priority
        +            ctx.schemaErrorMap, // then schema-bound map if available
        +            overrideMap, // then global override map
        +            overrideMap === locales_en ? undefined : locales_en, // then global default map
        +        ].filter((x) => !!x),
        +    });
        +    ctx.common.issues.push(issue);
        +}
        +class ParseStatus {
        +    constructor() {
        +        this.value = "valid";
        +    }
        +    dirty() {
        +        if (this.value === "valid")
        +            this.value = "dirty";
        +    }
        +    abort() {
        +        if (this.value !== "aborted")
        +            this.value = "aborted";
        +    }
        +    static mergeArray(status, results) {
        +        const arrayValue = [];
        +        for (const s of results) {
        +            if (s.status === "aborted")
        +                return INVALID;
        +            if (s.status === "dirty")
        +                status.dirty();
        +            arrayValue.push(s.value);
        +        }
        +        return { status: status.value, value: arrayValue };
        +    }
        +    static async mergeObjectAsync(status, pairs) {
        +        const syncPairs = [];
        +        for (const pair of pairs) {
        +            const key = await pair.key;
        +            const value = await pair.value;
        +            syncPairs.push({
        +                key,
        +                value,
        +            });
        +        }
        +        return ParseStatus.mergeObjectSync(status, syncPairs);
        +    }
        +    static mergeObjectSync(status, pairs) {
        +        const finalObject = {};
        +        for (const pair of pairs) {
        +            const { key, value } = pair;
        +            if (key.status === "aborted")
        +                return INVALID;
        +            if (value.status === "aborted")
        +                return INVALID;
        +            if (key.status === "dirty")
        +                status.dirty();
        +            if (value.status === "dirty")
        +                status.dirty();
        +            if (key.value !== "__proto__" && (typeof value.value !== "undefined" || pair.alwaysSet)) {
        +                finalObject[key.value] = value.value;
        +            }
        +        }
        +        return { status: status.value, value: finalObject };
        +    }
        +}
        +const INVALID = Object.freeze({
        +    status: "aborted",
        +});
        +const DIRTY = (value) => ({ status: "dirty", value });
        +const OK = (value) => ({ status: "valid", value });
        +const isAborted = (x) => x.status === "aborted";
        +const isDirty = (x) => x.status === "dirty";
        +const isValid = (x) => x.status === "valid";
        +const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
        +
        +;// ../commons/node_modules/zod/v3/helpers/errorUtil.js
        +var errorUtil;
        +(function (errorUtil) {
        +    errorUtil.errToObj = (message) => typeof message === "string" ? { message } : message || {};
        +    // biome-ignore lint:
        +    errorUtil.toString = (message) => typeof message === "string" ? message : message?.message;
        +})(errorUtil || (errorUtil = {}));
        +
        +;// ../commons/node_modules/zod/v3/types.js
        +/* unused harmony import specifier */ var types_INVALID;
        +
        +
        +
        +
        +
        +class ParseInputLazyPath {
        +    constructor(parent, value, path, key) {
        +        this._cachedPath = [];
        +        this.parent = parent;
        +        this.data = value;
        +        this._path = path;
        +        this._key = key;
        +    }
        +    get path() {
        +        if (!this._cachedPath.length) {
        +            if (Array.isArray(this._key)) {
        +                this._cachedPath.push(...this._path, ...this._key);
        +            }
        +            else {
        +                this._cachedPath.push(...this._path, this._key);
        +            }
        +        }
        +        return this._cachedPath;
        +    }
        +}
        +const handleResult = (ctx, result) => {
        +    if (isValid(result)) {
        +        return { success: true, data: result.value };
        +    }
        +    else {
        +        if (!ctx.common.issues.length) {
        +            throw new Error("Validation failed but no issues detected.");
        +        }
        +        return {
        +            success: false,
        +            get error() {
        +                if (this._error)
        +                    return this._error;
        +                const error = new ZodError_ZodError(ctx.common.issues);
        +                this._error = error;
        +                return this._error;
        +            },
        +        };
        +    }
        +};
        +function processCreateParams(params) {
        +    if (!params)
        +        return {};
        +    const { errorMap, invalid_type_error, required_error, description } = params;
        +    if (errorMap && (invalid_type_error || required_error)) {
        +        throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);
        +    }
        +    if (errorMap)
        +        return { errorMap: errorMap, description };
        +    const customMap = (iss, ctx) => {
        +        const { message } = params;
        +        if (iss.code === "invalid_enum_value") {
        +            return { message: message ?? ctx.defaultError };
        +        }
        +        if (typeof ctx.data === "undefined") {
        +            return { message: message ?? required_error ?? ctx.defaultError };
        +        }
        +        if (iss.code !== "invalid_type")
        +            return { message: ctx.defaultError };
        +        return { message: message ?? invalid_type_error ?? ctx.defaultError };
        +    };
        +    return { errorMap: customMap, description };
        +}
        +class types_ZodType {
        +    get description() {
        +        return this._def.description;
        +    }
        +    _getType(input) {
        +        return util_getParsedType(input.data);
        +    }
        +    _getOrReturnCtx(input, ctx) {
        +        return (ctx || {
        +            common: input.parent.common,
        +            data: input.data,
        +            parsedType: util_getParsedType(input.data),
        +            schemaErrorMap: this._def.errorMap,
        +            path: input.path,
        +            parent: input.parent,
        +        });
        +    }
        +    _processInputParams(input) {
        +        return {
        +            status: new ParseStatus(),
        +            ctx: {
        +                common: input.parent.common,
        +                data: input.data,
        +                parsedType: util_getParsedType(input.data),
        +                schemaErrorMap: this._def.errorMap,
        +                path: input.path,
        +                parent: input.parent,
        +            },
        +        };
        +    }
        +    _parseSync(input) {
        +        const result = this._parse(input);
        +        if (isAsync(result)) {
        +            throw new Error("Synchronous parse encountered promise.");
        +        }
        +        return result;
        +    }
        +    _parseAsync(input) {
        +        const result = this._parse(input);
        +        return Promise.resolve(result);
        +    }
        +    parse(data, params) {
        +        const result = this.safeParse(data, params);
        +        if (result.success)
        +            return result.data;
        +        throw result.error;
        +    }
        +    safeParse(data, params) {
        +        const ctx = {
        +            common: {
        +                issues: [],
        +                async: params?.async ?? false,
        +                contextualErrorMap: params?.errorMap,
        +            },
        +            path: params?.path || [],
        +            schemaErrorMap: this._def.errorMap,
        +            parent: null,
        +            data,
        +            parsedType: util_getParsedType(data),
        +        };
        +        const result = this._parseSync({ data, path: ctx.path, parent: ctx });
        +        return handleResult(ctx, result);
        +    }
        +    "~validate"(data) {
        +        const ctx = {
        +            common: {
        +                issues: [],
        +                async: !!this["~standard"].async,
        +            },
        +            path: [],
        +            schemaErrorMap: this._def.errorMap,
        +            parent: null,
        +            data,
        +            parsedType: util_getParsedType(data),
        +        };
        +        if (!this["~standard"].async) {
        +            try {
        +                const result = this._parseSync({ data, path: [], parent: ctx });
        +                return isValid(result)
        +                    ? {
        +                        value: result.value,
        +                    }
        +                    : {
        +                        issues: ctx.common.issues,
        +                    };
        +            }
        +            catch (err) {
        +                if (err?.message?.toLowerCase()?.includes("encountered")) {
        +                    this["~standard"].async = true;
        +                }
        +                ctx.common = {
        +                    issues: [],
        +                    async: true,
        +                };
        +            }
        +        }
        +        return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)
        +            ? {
        +                value: result.value,
        +            }
        +            : {
        +                issues: ctx.common.issues,
        +            });
        +    }
        +    async parseAsync(data, params) {
        +        const result = await this.safeParseAsync(data, params);
        +        if (result.success)
        +            return result.data;
        +        throw result.error;
        +    }
        +    async safeParseAsync(data, params) {
        +        const ctx = {
        +            common: {
        +                issues: [],
        +                contextualErrorMap: params?.errorMap,
        +                async: true,
        +            },
        +            path: params?.path || [],
        +            schemaErrorMap: this._def.errorMap,
        +            parent: null,
        +            data,
        +            parsedType: util_getParsedType(data),
        +        };
        +        const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });
        +        const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));
        +        return handleResult(ctx, result);
        +    }
        +    refine(check, message) {
        +        const getIssueProperties = (val) => {
        +            if (typeof message === "string" || typeof message === "undefined") {
        +                return { message };
        +            }
        +            else if (typeof message === "function") {
        +                return message(val);
        +            }
        +            else {
        +                return message;
        +            }
        +        };
        +        return this._refinement((val, ctx) => {
        +            const result = check(val);
        +            const setError = () => ctx.addIssue({
        +                code: ZodError_ZodIssueCode.custom,
        +                ...getIssueProperties(val),
        +            });
        +            if (typeof Promise !== "undefined" && result instanceof Promise) {
        +                return result.then((data) => {
        +                    if (!data) {
        +                        setError();
        +                        return false;
        +                    }
        +                    else {
        +                        return true;
        +                    }
        +                });
        +            }
        +            if (!result) {
        +                setError();
        +                return false;
        +            }
        +            else {
        +                return true;
        +            }
        +        });
        +    }
        +    refinement(check, refinementData) {
        +        return this._refinement((val, ctx) => {
        +            if (!check(val)) {
        +                ctx.addIssue(typeof refinementData === "function" ? refinementData(val, ctx) : refinementData);
        +                return false;
        +            }
        +            else {
        +                return true;
        +            }
        +        });
        +    }
        +    _refinement(refinement) {
        +        return new ZodEffects({
        +            schema: this,
        +            typeName: types_ZodFirstPartyTypeKind.ZodEffects,
        +            effect: { type: "refinement", refinement },
        +        });
        +    }
        +    superRefine(refinement) {
        +        return this._refinement(refinement);
        +    }
        +    constructor(def) {
        +        /** Alias of safeParseAsync */
        +        this.spa = this.safeParseAsync;
        +        this._def = def;
        +        this.parse = this.parse.bind(this);
        +        this.safeParse = this.safeParse.bind(this);
        +        this.parseAsync = this.parseAsync.bind(this);
        +        this.safeParseAsync = this.safeParseAsync.bind(this);
        +        this.spa = this.spa.bind(this);
        +        this.refine = this.refine.bind(this);
        +        this.refinement = this.refinement.bind(this);
        +        this.superRefine = this.superRefine.bind(this);
        +        this.optional = this.optional.bind(this);
        +        this.nullable = this.nullable.bind(this);
        +        this.nullish = this.nullish.bind(this);
        +        this.array = this.array.bind(this);
        +        this.promise = this.promise.bind(this);
        +        this.or = this.or.bind(this);
        +        this.and = this.and.bind(this);
        +        this.transform = this.transform.bind(this);
        +        this.brand = this.brand.bind(this);
        +        this.default = this.default.bind(this);
        +        this.catch = this.catch.bind(this);
        +        this.describe = this.describe.bind(this);
        +        this.pipe = this.pipe.bind(this);
        +        this.readonly = this.readonly.bind(this);
        +        this.isNullable = this.isNullable.bind(this);
        +        this.isOptional = this.isOptional.bind(this);
        +        this["~standard"] = {
        +            version: 1,
        +            vendor: "zod",
        +            validate: (data) => this["~validate"](data),
        +        };
        +    }
        +    optional() {
        +        return types_ZodOptional.create(this, this._def);
        +    }
        +    nullable() {
        +        return types_ZodNullable.create(this, this._def);
        +    }
        +    nullish() {
        +        return this.nullable().optional();
        +    }
        +    array() {
        +        return types_ZodArray.create(this);
        +    }
        +    promise() {
        +        return types_ZodPromise.create(this, this._def);
        +    }
        +    or(option) {
        +        return types_ZodUnion.create([this, option], this._def);
        +    }
        +    and(incoming) {
        +        return types_ZodIntersection.create(this, incoming, this._def);
        +    }
        +    transform(transform) {
        +        return new ZodEffects({
        +            ...processCreateParams(this._def),
        +            schema: this,
        +            typeName: types_ZodFirstPartyTypeKind.ZodEffects,
        +            effect: { type: "transform", transform },
        +        });
        +    }
        +    default(def) {
        +        const defaultValueFunc = typeof def === "function" ? def : () => def;
        +        return new types_ZodDefault({
        +            ...processCreateParams(this._def),
        +            innerType: this,
        +            defaultValue: defaultValueFunc,
        +            typeName: types_ZodFirstPartyTypeKind.ZodDefault,
        +        });
        +    }
        +    brand() {
        +        return new ZodBranded({
        +            typeName: types_ZodFirstPartyTypeKind.ZodBranded,
        +            type: this,
        +            ...processCreateParams(this._def),
        +        });
        +    }
        +    catch(def) {
        +        const catchValueFunc = typeof def === "function" ? def : () => def;
        +        return new types_ZodCatch({
        +            ...processCreateParams(this._def),
        +            innerType: this,
        +            catchValue: catchValueFunc,
        +            typeName: types_ZodFirstPartyTypeKind.ZodCatch,
        +        });
        +    }
        +    describe(description) {
        +        const This = this.constructor;
        +        return new This({
        +            ...this._def,
        +            description,
        +        });
        +    }
        +    pipe(target) {
        +        return ZodPipeline.create(this, target);
        +    }
        +    readonly() {
        +        return types_ZodReadonly.create(this);
        +    }
        +    isOptional() {
        +        return this.safeParse(undefined).success;
        +    }
        +    isNullable() {
        +        return this.safeParse(null).success;
        +    }
        +}
        +const cuidRegex = /^c[^\s-]{8,}$/i;
        +const cuid2Regex = /^[0-9a-z]+$/;
        +const ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;
        +// const uuidRegex =
        +//   /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;
        +const uuidRegex = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i;
        +const nanoidRegex = /^[a-z0-9_-]{21}$/i;
        +const jwtRegex = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;
        +const durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
        +// from https://stackoverflow.com/a/46181/1550155
        +// old version: too slow, didn't support unicode
        +// const emailRegex = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i;
        +//old email regex
        +// const emailRegex = /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@((?!-)([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{1,})[^-<>()[\].,;:\s@"]$/i;
        +// eslint-disable-next-line
        +// const emailRegex =
        +//   /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/;
        +// const emailRegex =
        +//   /^[a-zA-Z0-9\.\!\#\$\%\&\'\*\+\/\=\?\^\_\`\{\|\}\~\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
        +// const emailRegex =
        +//   /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i;
        +const emailRegex = /^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;
        +// const emailRegex =
        +//   /^[a-z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\.[a-z0-9\-]+)*$/i;
        +// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
        +const _emojiRegex = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
        +let emojiRegex;
        +// faster, simpler, safer
        +const ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
        +const ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/;
        +// const ipv6Regex =
        +// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;
        +const ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;
        +const ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
        +// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
        +const base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
        +// https://base64.guru/standards/base64url
        +const base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;
        +// simple
        +// const dateRegexSource = `\\d{4}-\\d{2}-\\d{2}`;
        +// no leap year validation
        +// const dateRegexSource = `\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\d|2\\d))`;
        +// with leap year validation
        +const dateRegexSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
        +const dateRegex = new RegExp(`^${dateRegexSource}$`);
        +function timeRegexSource(args) {
        +    let secondsRegexSource = `[0-5]\\d`;
        +    if (args.precision) {
        +        secondsRegexSource = `${secondsRegexSource}\\.\\d{${args.precision}}`;
        +    }
        +    else if (args.precision == null) {
        +        secondsRegexSource = `${secondsRegexSource}(\\.\\d+)?`;
        +    }
        +    const secondsQuantifier = args.precision ? "+" : "?"; // require seconds if precision is nonzero
        +    return `([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`;
        +}
        +function timeRegex(args) {
        +    return new RegExp(`^${timeRegexSource(args)}$`);
        +}
        +// Adapted from https://stackoverflow.com/a/3143231
        +function datetimeRegex(args) {
        +    let regex = `${dateRegexSource}T${timeRegexSource(args)}`;
        +    const opts = [];
        +    opts.push(args.local ? `Z?` : `Z`);
        +    if (args.offset)
        +        opts.push(`([+-]\\d{2}:?\\d{2})`);
        +    regex = `${regex}(${opts.join("|")})`;
        +    return new RegExp(`^${regex}$`);
        +}
        +function isValidIP(ip, version) {
        +    if ((version === "v4" || !version) && ipv4Regex.test(ip)) {
        +        return true;
        +    }
        +    if ((version === "v6" || !version) && ipv6Regex.test(ip)) {
        +        return true;
        +    }
        +    return false;
        +}
        +function types_isValidJWT(jwt, alg) {
        +    if (!jwtRegex.test(jwt))
        +        return false;
        +    try {
        +        const [header] = jwt.split(".");
        +        if (!header)
        +            return false;
        +        // Convert base64url to base64
        +        const base64 = header
        +            .replace(/-/g, "+")
        +            .replace(/_/g, "/")
        +            .padEnd(header.length + ((4 - (header.length % 4)) % 4), "=");
        +        // @ts-ignore
        +        const decoded = JSON.parse(atob(base64));
        +        if (typeof decoded !== "object" || decoded === null)
        +            return false;
        +        if ("typ" in decoded && decoded?.typ !== "JWT")
        +            return false;
        +        if (!decoded.alg)
        +            return false;
        +        if (alg && decoded.alg !== alg)
        +            return false;
        +        return true;
        +    }
        +    catch {
        +        return false;
        +    }
        +}
        +function isValidCidr(ip, version) {
        +    if ((version === "v4" || !version) && ipv4CidrRegex.test(ip)) {
        +        return true;
        +    }
        +    if ((version === "v6" || !version) && ipv6CidrRegex.test(ip)) {
        +        return true;
        +    }
        +    return false;
        +}
        +class types_ZodString extends types_ZodType {
        +    _parse(input) {
        +        if (this._def.coerce) {
        +            input.data = String(input.data);
        +        }
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.string) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.string,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        const status = new ParseStatus();
        +        let ctx = undefined;
        +        for (const check of this._def.checks) {
        +            if (check.kind === "min") {
        +                if (input.data.length < check.value) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_small,
        +                        minimum: check.value,
        +                        type: "string",
        +                        inclusive: true,
        +                        exact: false,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "max") {
        +                if (input.data.length > check.value) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_big,
        +                        maximum: check.value,
        +                        type: "string",
        +                        inclusive: true,
        +                        exact: false,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "length") {
        +                const tooBig = input.data.length > check.value;
        +                const tooSmall = input.data.length < check.value;
        +                if (tooBig || tooSmall) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    if (tooBig) {
        +                        addIssueToContext(ctx, {
        +                            code: ZodError_ZodIssueCode.too_big,
        +                            maximum: check.value,
        +                            type: "string",
        +                            inclusive: true,
        +                            exact: true,
        +                            message: check.message,
        +                        });
        +                    }
        +                    else if (tooSmall) {
        +                        addIssueToContext(ctx, {
        +                            code: ZodError_ZodIssueCode.too_small,
        +                            minimum: check.value,
        +                            type: "string",
        +                            inclusive: true,
        +                            exact: true,
        +                            message: check.message,
        +                        });
        +                    }
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "email") {
        +                if (!emailRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "email",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "emoji") {
        +                if (!emojiRegex) {
        +                    emojiRegex = new RegExp(_emojiRegex, "u");
        +                }
        +                if (!emojiRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "emoji",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "uuid") {
        +                if (!uuidRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "uuid",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "nanoid") {
        +                if (!nanoidRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "nanoid",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "cuid") {
        +                if (!cuidRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "cuid",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "cuid2") {
        +                if (!cuid2Regex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "cuid2",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "ulid") {
        +                if (!ulidRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "ulid",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "url") {
        +                try {
        +                    // @ts-ignore
        +                    new URL(input.data);
        +                }
        +                catch {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "url",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "regex") {
        +                check.regex.lastIndex = 0;
        +                const testResult = check.regex.test(input.data);
        +                if (!testResult) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "regex",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "trim") {
        +                input.data = input.data.trim();
        +            }
        +            else if (check.kind === "includes") {
        +                if (!input.data.includes(check.value, check.position)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        validation: { includes: check.value, position: check.position },
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "toLowerCase") {
        +                input.data = input.data.toLowerCase();
        +            }
        +            else if (check.kind === "toUpperCase") {
        +                input.data = input.data.toUpperCase();
        +            }
        +            else if (check.kind === "startsWith") {
        +                if (!input.data.startsWith(check.value)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        validation: { startsWith: check.value },
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "endsWith") {
        +                if (!input.data.endsWith(check.value)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        validation: { endsWith: check.value },
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "datetime") {
        +                const regex = datetimeRegex(check);
        +                if (!regex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        validation: "datetime",
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "date") {
        +                const regex = dateRegex;
        +                if (!regex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        validation: "date",
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "time") {
        +                const regex = timeRegex(check);
        +                if (!regex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        validation: "time",
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "duration") {
        +                if (!durationRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "duration",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "ip") {
        +                if (!isValidIP(input.data, check.version)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "ip",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "jwt") {
        +                if (!types_isValidJWT(input.data, check.alg)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "jwt",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "cidr") {
        +                if (!isValidCidr(input.data, check.version)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "cidr",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "base64") {
        +                if (!base64Regex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "base64",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "base64url") {
        +                if (!base64urlRegex.test(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        validation: "base64url",
        +                        code: ZodError_ZodIssueCode.invalid_string,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else {
        +                util_util.assertNever(check);
        +            }
        +        }
        +        return { status: status.value, value: input.data };
        +    }
        +    _regex(regex, validation, message) {
        +        return this.refinement((data) => regex.test(data), {
        +            validation,
        +            code: ZodError_ZodIssueCode.invalid_string,
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    _addCheck(check) {
        +        return new types_ZodString({
        +            ...this._def,
        +            checks: [...this._def.checks, check],
        +        });
        +    }
        +    email(message) {
        +        return this._addCheck({ kind: "email", ...errorUtil.errToObj(message) });
        +    }
        +    url(message) {
        +        return this._addCheck({ kind: "url", ...errorUtil.errToObj(message) });
        +    }
        +    emoji(message) {
        +        return this._addCheck({ kind: "emoji", ...errorUtil.errToObj(message) });
        +    }
        +    uuid(message) {
        +        return this._addCheck({ kind: "uuid", ...errorUtil.errToObj(message) });
        +    }
        +    nanoid(message) {
        +        return this._addCheck({ kind: "nanoid", ...errorUtil.errToObj(message) });
        +    }
        +    cuid(message) {
        +        return this._addCheck({ kind: "cuid", ...errorUtil.errToObj(message) });
        +    }
        +    cuid2(message) {
        +        return this._addCheck({ kind: "cuid2", ...errorUtil.errToObj(message) });
        +    }
        +    ulid(message) {
        +        return this._addCheck({ kind: "ulid", ...errorUtil.errToObj(message) });
        +    }
        +    base64(message) {
        +        return this._addCheck({ kind: "base64", ...errorUtil.errToObj(message) });
        +    }
        +    base64url(message) {
        +        // base64url encoding is a modification of base64 that can safely be used in URLs and filenames
        +        return this._addCheck({
        +            kind: "base64url",
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    jwt(options) {
        +        return this._addCheck({ kind: "jwt", ...errorUtil.errToObj(options) });
        +    }
        +    ip(options) {
        +        return this._addCheck({ kind: "ip", ...errorUtil.errToObj(options) });
        +    }
        +    cidr(options) {
        +        return this._addCheck({ kind: "cidr", ...errorUtil.errToObj(options) });
        +    }
        +    datetime(options) {
        +        if (typeof options === "string") {
        +            return this._addCheck({
        +                kind: "datetime",
        +                precision: null,
        +                offset: false,
        +                local: false,
        +                message: options,
        +            });
        +        }
        +        return this._addCheck({
        +            kind: "datetime",
        +            precision: typeof options?.precision === "undefined" ? null : options?.precision,
        +            offset: options?.offset ?? false,
        +            local: options?.local ?? false,
        +            ...errorUtil.errToObj(options?.message),
        +        });
        +    }
        +    date(message) {
        +        return this._addCheck({ kind: "date", message });
        +    }
        +    time(options) {
        +        if (typeof options === "string") {
        +            return this._addCheck({
        +                kind: "time",
        +                precision: null,
        +                message: options,
        +            });
        +        }
        +        return this._addCheck({
        +            kind: "time",
        +            precision: typeof options?.precision === "undefined" ? null : options?.precision,
        +            ...errorUtil.errToObj(options?.message),
        +        });
        +    }
        +    duration(message) {
        +        return this._addCheck({ kind: "duration", ...errorUtil.errToObj(message) });
        +    }
        +    regex(regex, message) {
        +        return this._addCheck({
        +            kind: "regex",
        +            regex: regex,
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    includes(value, options) {
        +        return this._addCheck({
        +            kind: "includes",
        +            value: value,
        +            position: options?.position,
        +            ...errorUtil.errToObj(options?.message),
        +        });
        +    }
        +    startsWith(value, message) {
        +        return this._addCheck({
        +            kind: "startsWith",
        +            value: value,
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    endsWith(value, message) {
        +        return this._addCheck({
        +            kind: "endsWith",
        +            value: value,
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    min(minLength, message) {
        +        return this._addCheck({
        +            kind: "min",
        +            value: minLength,
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    max(maxLength, message) {
        +        return this._addCheck({
        +            kind: "max",
        +            value: maxLength,
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    length(len, message) {
        +        return this._addCheck({
        +            kind: "length",
        +            value: len,
        +            ...errorUtil.errToObj(message),
        +        });
        +    }
        +    /**
        +     * Equivalent to `.min(1)`
        +     */
        +    nonempty(message) {
        +        return this.min(1, errorUtil.errToObj(message));
        +    }
        +    trim() {
        +        return new types_ZodString({
        +            ...this._def,
        +            checks: [...this._def.checks, { kind: "trim" }],
        +        });
        +    }
        +    toLowerCase() {
        +        return new types_ZodString({
        +            ...this._def,
        +            checks: [...this._def.checks, { kind: "toLowerCase" }],
        +        });
        +    }
        +    toUpperCase() {
        +        return new types_ZodString({
        +            ...this._def,
        +            checks: [...this._def.checks, { kind: "toUpperCase" }],
        +        });
        +    }
        +    get isDatetime() {
        +        return !!this._def.checks.find((ch) => ch.kind === "datetime");
        +    }
        +    get isDate() {
        +        return !!this._def.checks.find((ch) => ch.kind === "date");
        +    }
        +    get isTime() {
        +        return !!this._def.checks.find((ch) => ch.kind === "time");
        +    }
        +    get isDuration() {
        +        return !!this._def.checks.find((ch) => ch.kind === "duration");
        +    }
        +    get isEmail() {
        +        return !!this._def.checks.find((ch) => ch.kind === "email");
        +    }
        +    get isURL() {
        +        return !!this._def.checks.find((ch) => ch.kind === "url");
        +    }
        +    get isEmoji() {
        +        return !!this._def.checks.find((ch) => ch.kind === "emoji");
        +    }
        +    get isUUID() {
        +        return !!this._def.checks.find((ch) => ch.kind === "uuid");
        +    }
        +    get isNANOID() {
        +        return !!this._def.checks.find((ch) => ch.kind === "nanoid");
        +    }
        +    get isCUID() {
        +        return !!this._def.checks.find((ch) => ch.kind === "cuid");
        +    }
        +    get isCUID2() {
        +        return !!this._def.checks.find((ch) => ch.kind === "cuid2");
        +    }
        +    get isULID() {
        +        return !!this._def.checks.find((ch) => ch.kind === "ulid");
        +    }
        +    get isIP() {
        +        return !!this._def.checks.find((ch) => ch.kind === "ip");
        +    }
        +    get isCIDR() {
        +        return !!this._def.checks.find((ch) => ch.kind === "cidr");
        +    }
        +    get isBase64() {
        +        return !!this._def.checks.find((ch) => ch.kind === "base64");
        +    }
        +    get isBase64url() {
        +        // base64url encoding is a modification of base64 that can safely be used in URLs and filenames
        +        return !!this._def.checks.find((ch) => ch.kind === "base64url");
        +    }
        +    get minLength() {
        +        let min = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "min") {
        +                if (min === null || ch.value > min)
        +                    min = ch.value;
        +            }
        +        }
        +        return min;
        +    }
        +    get maxLength() {
        +        let max = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "max") {
        +                if (max === null || ch.value < max)
        +                    max = ch.value;
        +            }
        +        }
        +        return max;
        +    }
        +}
        +types_ZodString.create = (params) => {
        +    return new types_ZodString({
        +        checks: [],
        +        typeName: types_ZodFirstPartyTypeKind.ZodString,
        +        coerce: params?.coerce ?? false,
        +        ...processCreateParams(params),
        +    });
        +};
        +// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034
        +function types_floatSafeRemainder(val, step) {
        +    const valDecCount = (val.toString().split(".")[1] || "").length;
        +    const stepDecCount = (step.toString().split(".")[1] || "").length;
        +    const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
        +    const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
        +    const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
        +    return (valInt % stepInt) / 10 ** decCount;
        +}
        +class types_ZodNumber extends types_ZodType {
        +    constructor() {
        +        super(...arguments);
        +        this.min = this.gte;
        +        this.max = this.lte;
        +        this.step = this.multipleOf;
        +    }
        +    _parse(input) {
        +        if (this._def.coerce) {
        +            input.data = Number(input.data);
        +        }
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.number) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.number,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        let ctx = undefined;
        +        const status = new ParseStatus();
        +        for (const check of this._def.checks) {
        +            if (check.kind === "int") {
        +                if (!util_util.isInteger(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.invalid_type,
        +                        expected: "integer",
        +                        received: "float",
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "min") {
        +                const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
        +                if (tooSmall) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_small,
        +                        minimum: check.value,
        +                        type: "number",
        +                        inclusive: check.inclusive,
        +                        exact: false,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "max") {
        +                const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
        +                if (tooBig) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_big,
        +                        maximum: check.value,
        +                        type: "number",
        +                        inclusive: check.inclusive,
        +                        exact: false,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "multipleOf") {
        +                if (types_floatSafeRemainder(input.data, check.value) !== 0) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.not_multiple_of,
        +                        multipleOf: check.value,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "finite") {
        +                if (!Number.isFinite(input.data)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.not_finite,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else {
        +                util_util.assertNever(check);
        +            }
        +        }
        +        return { status: status.value, value: input.data };
        +    }
        +    gte(value, message) {
        +        return this.setLimit("min", value, true, errorUtil.toString(message));
        +    }
        +    gt(value, message) {
        +        return this.setLimit("min", value, false, errorUtil.toString(message));
        +    }
        +    lte(value, message) {
        +        return this.setLimit("max", value, true, errorUtil.toString(message));
        +    }
        +    lt(value, message) {
        +        return this.setLimit("max", value, false, errorUtil.toString(message));
        +    }
        +    setLimit(kind, value, inclusive, message) {
        +        return new types_ZodNumber({
        +            ...this._def,
        +            checks: [
        +                ...this._def.checks,
        +                {
        +                    kind,
        +                    value,
        +                    inclusive,
        +                    message: errorUtil.toString(message),
        +                },
        +            ],
        +        });
        +    }
        +    _addCheck(check) {
        +        return new types_ZodNumber({
        +            ...this._def,
        +            checks: [...this._def.checks, check],
        +        });
        +    }
        +    int(message) {
        +        return this._addCheck({
        +            kind: "int",
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    positive(message) {
        +        return this._addCheck({
        +            kind: "min",
        +            value: 0,
        +            inclusive: false,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    negative(message) {
        +        return this._addCheck({
        +            kind: "max",
        +            value: 0,
        +            inclusive: false,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    nonpositive(message) {
        +        return this._addCheck({
        +            kind: "max",
        +            value: 0,
        +            inclusive: true,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    nonnegative(message) {
        +        return this._addCheck({
        +            kind: "min",
        +            value: 0,
        +            inclusive: true,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    multipleOf(value, message) {
        +        return this._addCheck({
        +            kind: "multipleOf",
        +            value: value,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    finite(message) {
        +        return this._addCheck({
        +            kind: "finite",
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    safe(message) {
        +        return this._addCheck({
        +            kind: "min",
        +            inclusive: true,
        +            value: Number.MIN_SAFE_INTEGER,
        +            message: errorUtil.toString(message),
        +        })._addCheck({
        +            kind: "max",
        +            inclusive: true,
        +            value: Number.MAX_SAFE_INTEGER,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    get minValue() {
        +        let min = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "min") {
        +                if (min === null || ch.value > min)
        +                    min = ch.value;
        +            }
        +        }
        +        return min;
        +    }
        +    get maxValue() {
        +        let max = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "max") {
        +                if (max === null || ch.value < max)
        +                    max = ch.value;
        +            }
        +        }
        +        return max;
        +    }
        +    get isInt() {
        +        return !!this._def.checks.find((ch) => ch.kind === "int" || (ch.kind === "multipleOf" && util_util.isInteger(ch.value)));
        +    }
        +    get isFinite() {
        +        let max = null;
        +        let min = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "finite" || ch.kind === "int" || ch.kind === "multipleOf") {
        +                return true;
        +            }
        +            else if (ch.kind === "min") {
        +                if (min === null || ch.value > min)
        +                    min = ch.value;
        +            }
        +            else if (ch.kind === "max") {
        +                if (max === null || ch.value < max)
        +                    max = ch.value;
        +            }
        +        }
        +        return Number.isFinite(min) && Number.isFinite(max);
        +    }
        +}
        +types_ZodNumber.create = (params) => {
        +    return new types_ZodNumber({
        +        checks: [],
        +        typeName: types_ZodFirstPartyTypeKind.ZodNumber,
        +        coerce: params?.coerce || false,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodBigInt extends types_ZodType {
        +    constructor() {
        +        super(...arguments);
        +        this.min = this.gte;
        +        this.max = this.lte;
        +    }
        +    _parse(input) {
        +        if (this._def.coerce) {
        +            try {
        +                input.data = BigInt(input.data);
        +            }
        +            catch {
        +                return this._getInvalidInput(input);
        +            }
        +        }
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.bigint) {
        +            return this._getInvalidInput(input);
        +        }
        +        let ctx = undefined;
        +        const status = new ParseStatus();
        +        for (const check of this._def.checks) {
        +            if (check.kind === "min") {
        +                const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;
        +                if (tooSmall) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_small,
        +                        type: "bigint",
        +                        minimum: check.value,
        +                        inclusive: check.inclusive,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "max") {
        +                const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;
        +                if (tooBig) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_big,
        +                        type: "bigint",
        +                        maximum: check.value,
        +                        inclusive: check.inclusive,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "multipleOf") {
        +                if (input.data % check.value !== BigInt(0)) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.not_multiple_of,
        +                        multipleOf: check.value,
        +                        message: check.message,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else {
        +                util_util.assertNever(check);
        +            }
        +        }
        +        return { status: status.value, value: input.data };
        +    }
        +    _getInvalidInput(input) {
        +        const ctx = this._getOrReturnCtx(input);
        +        addIssueToContext(ctx, {
        +            code: ZodError_ZodIssueCode.invalid_type,
        +            expected: ZodParsedType.bigint,
        +            received: ctx.parsedType,
        +        });
        +        return INVALID;
        +    }
        +    gte(value, message) {
        +        return this.setLimit("min", value, true, errorUtil.toString(message));
        +    }
        +    gt(value, message) {
        +        return this.setLimit("min", value, false, errorUtil.toString(message));
        +    }
        +    lte(value, message) {
        +        return this.setLimit("max", value, true, errorUtil.toString(message));
        +    }
        +    lt(value, message) {
        +        return this.setLimit("max", value, false, errorUtil.toString(message));
        +    }
        +    setLimit(kind, value, inclusive, message) {
        +        return new types_ZodBigInt({
        +            ...this._def,
        +            checks: [
        +                ...this._def.checks,
        +                {
        +                    kind,
        +                    value,
        +                    inclusive,
        +                    message: errorUtil.toString(message),
        +                },
        +            ],
        +        });
        +    }
        +    _addCheck(check) {
        +        return new types_ZodBigInt({
        +            ...this._def,
        +            checks: [...this._def.checks, check],
        +        });
        +    }
        +    positive(message) {
        +        return this._addCheck({
        +            kind: "min",
        +            value: BigInt(0),
        +            inclusive: false,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    negative(message) {
        +        return this._addCheck({
        +            kind: "max",
        +            value: BigInt(0),
        +            inclusive: false,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    nonpositive(message) {
        +        return this._addCheck({
        +            kind: "max",
        +            value: BigInt(0),
        +            inclusive: true,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    nonnegative(message) {
        +        return this._addCheck({
        +            kind: "min",
        +            value: BigInt(0),
        +            inclusive: true,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    multipleOf(value, message) {
        +        return this._addCheck({
        +            kind: "multipleOf",
        +            value,
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    get minValue() {
        +        let min = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "min") {
        +                if (min === null || ch.value > min)
        +                    min = ch.value;
        +            }
        +        }
        +        return min;
        +    }
        +    get maxValue() {
        +        let max = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "max") {
        +                if (max === null || ch.value < max)
        +                    max = ch.value;
        +            }
        +        }
        +        return max;
        +    }
        +}
        +types_ZodBigInt.create = (params) => {
        +    return new types_ZodBigInt({
        +        checks: [],
        +        typeName: types_ZodFirstPartyTypeKind.ZodBigInt,
        +        coerce: params?.coerce ?? false,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodBoolean extends types_ZodType {
        +    _parse(input) {
        +        if (this._def.coerce) {
        +            input.data = Boolean(input.data);
        +        }
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.boolean) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.boolean,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        return OK(input.data);
        +    }
        +}
        +types_ZodBoolean.create = (params) => {
        +    return new types_ZodBoolean({
        +        typeName: types_ZodFirstPartyTypeKind.ZodBoolean,
        +        coerce: params?.coerce || false,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodDate extends types_ZodType {
        +    _parse(input) {
        +        if (this._def.coerce) {
        +            input.data = new Date(input.data);
        +        }
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.date) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.date,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        if (Number.isNaN(input.data.getTime())) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_date,
        +            });
        +            return INVALID;
        +        }
        +        const status = new ParseStatus();
        +        let ctx = undefined;
        +        for (const check of this._def.checks) {
        +            if (check.kind === "min") {
        +                if (input.data.getTime() < check.value) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_small,
        +                        message: check.message,
        +                        inclusive: true,
        +                        exact: false,
        +                        minimum: check.value,
        +                        type: "date",
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (check.kind === "max") {
        +                if (input.data.getTime() > check.value) {
        +                    ctx = this._getOrReturnCtx(input, ctx);
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.too_big,
        +                        message: check.message,
        +                        inclusive: true,
        +                        exact: false,
        +                        maximum: check.value,
        +                        type: "date",
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else {
        +                util_util.assertNever(check);
        +            }
        +        }
        +        return {
        +            status: status.value,
        +            value: new Date(input.data.getTime()),
        +        };
        +    }
        +    _addCheck(check) {
        +        return new types_ZodDate({
        +            ...this._def,
        +            checks: [...this._def.checks, check],
        +        });
        +    }
        +    min(minDate, message) {
        +        return this._addCheck({
        +            kind: "min",
        +            value: minDate.getTime(),
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    max(maxDate, message) {
        +        return this._addCheck({
        +            kind: "max",
        +            value: maxDate.getTime(),
        +            message: errorUtil.toString(message),
        +        });
        +    }
        +    get minDate() {
        +        let min = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "min") {
        +                if (min === null || ch.value > min)
        +                    min = ch.value;
        +            }
        +        }
        +        return min != null ? new Date(min) : null;
        +    }
        +    get maxDate() {
        +        let max = null;
        +        for (const ch of this._def.checks) {
        +            if (ch.kind === "max") {
        +                if (max === null || ch.value < max)
        +                    max = ch.value;
        +            }
        +        }
        +        return max != null ? new Date(max) : null;
        +    }
        +}
        +types_ZodDate.create = (params) => {
        +    return new types_ZodDate({
        +        checks: [],
        +        coerce: params?.coerce || false,
        +        typeName: types_ZodFirstPartyTypeKind.ZodDate,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodSymbol extends types_ZodType {
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.symbol) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.symbol,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        return OK(input.data);
        +    }
        +}
        +types_ZodSymbol.create = (params) => {
        +    return new types_ZodSymbol({
        +        typeName: types_ZodFirstPartyTypeKind.ZodSymbol,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodUndefined extends types_ZodType {
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.undefined) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.undefined,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        return OK(input.data);
        +    }
        +}
        +types_ZodUndefined.create = (params) => {
        +    return new types_ZodUndefined({
        +        typeName: types_ZodFirstPartyTypeKind.ZodUndefined,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodNull extends types_ZodType {
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.null) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.null,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        return OK(input.data);
        +    }
        +}
        +types_ZodNull.create = (params) => {
        +    return new types_ZodNull({
        +        typeName: types_ZodFirstPartyTypeKind.ZodNull,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodAny extends types_ZodType {
        +    constructor() {
        +        super(...arguments);
        +        // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.
        +        this._any = true;
        +    }
        +    _parse(input) {
        +        return OK(input.data);
        +    }
        +}
        +types_ZodAny.create = (params) => {
        +    return new types_ZodAny({
        +        typeName: types_ZodFirstPartyTypeKind.ZodAny,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodUnknown extends types_ZodType {
        +    constructor() {
        +        super(...arguments);
        +        // required
        +        this._unknown = true;
        +    }
        +    _parse(input) {
        +        return OK(input.data);
        +    }
        +}
        +types_ZodUnknown.create = (params) => {
        +    return new types_ZodUnknown({
        +        typeName: types_ZodFirstPartyTypeKind.ZodUnknown,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodNever extends types_ZodType {
        +    _parse(input) {
        +        const ctx = this._getOrReturnCtx(input);
        +        addIssueToContext(ctx, {
        +            code: ZodError_ZodIssueCode.invalid_type,
        +            expected: ZodParsedType.never,
        +            received: ctx.parsedType,
        +        });
        +        return INVALID;
        +    }
        +}
        +types_ZodNever.create = (params) => {
        +    return new types_ZodNever({
        +        typeName: types_ZodFirstPartyTypeKind.ZodNever,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodVoid extends types_ZodType {
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.undefined) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.void,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        return OK(input.data);
        +    }
        +}
        +types_ZodVoid.create = (params) => {
        +    return new types_ZodVoid({
        +        typeName: types_ZodFirstPartyTypeKind.ZodVoid,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodArray extends types_ZodType {
        +    _parse(input) {
        +        const { ctx, status } = this._processInputParams(input);
        +        const def = this._def;
        +        if (ctx.parsedType !== ZodParsedType.array) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.array,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        if (def.exactLength !== null) {
        +            const tooBig = ctx.data.length > def.exactLength.value;
        +            const tooSmall = ctx.data.length < def.exactLength.value;
        +            if (tooBig || tooSmall) {
        +                addIssueToContext(ctx, {
        +                    code: tooBig ? ZodError_ZodIssueCode.too_big : ZodError_ZodIssueCode.too_small,
        +                    minimum: (tooSmall ? def.exactLength.value : undefined),
        +                    maximum: (tooBig ? def.exactLength.value : undefined),
        +                    type: "array",
        +                    inclusive: true,
        +                    exact: true,
        +                    message: def.exactLength.message,
        +                });
        +                status.dirty();
        +            }
        +        }
        +        if (def.minLength !== null) {
        +            if (ctx.data.length < def.minLength.value) {
        +                addIssueToContext(ctx, {
        +                    code: ZodError_ZodIssueCode.too_small,
        +                    minimum: def.minLength.value,
        +                    type: "array",
        +                    inclusive: true,
        +                    exact: false,
        +                    message: def.minLength.message,
        +                });
        +                status.dirty();
        +            }
        +        }
        +        if (def.maxLength !== null) {
        +            if (ctx.data.length > def.maxLength.value) {
        +                addIssueToContext(ctx, {
        +                    code: ZodError_ZodIssueCode.too_big,
        +                    maximum: def.maxLength.value,
        +                    type: "array",
        +                    inclusive: true,
        +                    exact: false,
        +                    message: def.maxLength.message,
        +                });
        +                status.dirty();
        +            }
        +        }
        +        if (ctx.common.async) {
        +            return Promise.all([...ctx.data].map((item, i) => {
        +                return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));
        +            })).then((result) => {
        +                return ParseStatus.mergeArray(status, result);
        +            });
        +        }
        +        const result = [...ctx.data].map((item, i) => {
        +            return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));
        +        });
        +        return ParseStatus.mergeArray(status, result);
        +    }
        +    get element() {
        +        return this._def.type;
        +    }
        +    min(minLength, message) {
        +        return new types_ZodArray({
        +            ...this._def,
        +            minLength: { value: minLength, message: errorUtil.toString(message) },
        +        });
        +    }
        +    max(maxLength, message) {
        +        return new types_ZodArray({
        +            ...this._def,
        +            maxLength: { value: maxLength, message: errorUtil.toString(message) },
        +        });
        +    }
        +    length(len, message) {
        +        return new types_ZodArray({
        +            ...this._def,
        +            exactLength: { value: len, message: errorUtil.toString(message) },
        +        });
        +    }
        +    nonempty(message) {
        +        return this.min(1, message);
        +    }
        +}
        +types_ZodArray.create = (schema, params) => {
        +    return new types_ZodArray({
        +        type: schema,
        +        minLength: null,
        +        maxLength: null,
        +        exactLength: null,
        +        typeName: types_ZodFirstPartyTypeKind.ZodArray,
        +        ...processCreateParams(params),
        +    });
        +};
        +function deepPartialify(schema) {
        +    if (schema instanceof types_ZodObject) {
        +        const newShape = {};
        +        for (const key in schema.shape) {
        +            const fieldSchema = schema.shape[key];
        +            newShape[key] = types_ZodOptional.create(deepPartialify(fieldSchema));
        +        }
        +        return new types_ZodObject({
        +            ...schema._def,
        +            shape: () => newShape,
        +        });
        +    }
        +    else if (schema instanceof types_ZodArray) {
        +        return new types_ZodArray({
        +            ...schema._def,
        +            type: deepPartialify(schema.element),
        +        });
        +    }
        +    else if (schema instanceof types_ZodOptional) {
        +        return types_ZodOptional.create(deepPartialify(schema.unwrap()));
        +    }
        +    else if (schema instanceof types_ZodNullable) {
        +        return types_ZodNullable.create(deepPartialify(schema.unwrap()));
        +    }
        +    else if (schema instanceof types_ZodTuple) {
        +        return types_ZodTuple.create(schema.items.map((item) => deepPartialify(item)));
        +    }
        +    else {
        +        return schema;
        +    }
        +}
        +class types_ZodObject extends types_ZodType {
        +    constructor() {
        +        super(...arguments);
        +        this._cached = null;
        +        /**
        +         * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.
        +         * If you want to pass through unknown properties, use `.passthrough()` instead.
        +         */
        +        this.nonstrict = this.passthrough;
        +        // extend<
        +        //   Augmentation extends ZodRawShape,
        +        //   NewOutput extends util.flatten<{
        +        //     [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation
        +        //       ? Augmentation[k]["_output"]
        +        //       : k extends keyof Output
        +        //       ? Output[k]
        +        //       : never;
        +        //   }>,
        +        //   NewInput extends util.flatten<{
        +        //     [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation
        +        //       ? Augmentation[k]["_input"]
        +        //       : k extends keyof Input
        +        //       ? Input[k]
        +        //       : never;
        +        //   }>
        +        // >(
        +        //   augmentation: Augmentation
        +        // ): ZodObject<
        +        //   extendShape,
        +        //   UnknownKeys,
        +        //   Catchall,
        +        //   NewOutput,
        +        //   NewInput
        +        // > {
        +        //   return new ZodObject({
        +        //     ...this._def,
        +        //     shape: () => ({
        +        //       ...this._def.shape(),
        +        //       ...augmentation,
        +        //     }),
        +        //   }) as any;
        +        // }
        +        /**
        +         * @deprecated Use `.extend` instead
        +         *  */
        +        this.augment = this.extend;
        +    }
        +    _getCached() {
        +        if (this._cached !== null)
        +            return this._cached;
        +        const shape = this._def.shape();
        +        const keys = util_util.objectKeys(shape);
        +        this._cached = { shape, keys };
        +        return this._cached;
        +    }
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.object) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.object,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        const { status, ctx } = this._processInputParams(input);
        +        const { shape, keys: shapeKeys } = this._getCached();
        +        const extraKeys = [];
        +        if (!(this._def.catchall instanceof types_ZodNever && this._def.unknownKeys === "strip")) {
        +            for (const key in ctx.data) {
        +                if (!shapeKeys.includes(key)) {
        +                    extraKeys.push(key);
        +                }
        +            }
        +        }
        +        const pairs = [];
        +        for (const key of shapeKeys) {
        +            const keyValidator = shape[key];
        +            const value = ctx.data[key];
        +            pairs.push({
        +                key: { status: "valid", value: key },
        +                value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),
        +                alwaysSet: key in ctx.data,
        +            });
        +        }
        +        if (this._def.catchall instanceof types_ZodNever) {
        +            const unknownKeys = this._def.unknownKeys;
        +            if (unknownKeys === "passthrough") {
        +                for (const key of extraKeys) {
        +                    pairs.push({
        +                        key: { status: "valid", value: key },
        +                        value: { status: "valid", value: ctx.data[key] },
        +                    });
        +                }
        +            }
        +            else if (unknownKeys === "strict") {
        +                if (extraKeys.length > 0) {
        +                    addIssueToContext(ctx, {
        +                        code: ZodError_ZodIssueCode.unrecognized_keys,
        +                        keys: extraKeys,
        +                    });
        +                    status.dirty();
        +                }
        +            }
        +            else if (unknownKeys === "strip") {
        +            }
        +            else {
        +                throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);
        +            }
        +        }
        +        else {
        +            // run catchall validation
        +            const catchall = this._def.catchall;
        +            for (const key of extraKeys) {
        +                const value = ctx.data[key];
        +                pairs.push({
        +                    key: { status: "valid", value: key },
        +                    value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)
        +                    ),
        +                    alwaysSet: key in ctx.data,
        +                });
        +            }
        +        }
        +        if (ctx.common.async) {
        +            return Promise.resolve()
        +                .then(async () => {
        +                const syncPairs = [];
        +                for (const pair of pairs) {
        +                    const key = await pair.key;
        +                    const value = await pair.value;
        +                    syncPairs.push({
        +                        key,
        +                        value,
        +                        alwaysSet: pair.alwaysSet,
        +                    });
        +                }
        +                return syncPairs;
        +            })
        +                .then((syncPairs) => {
        +                return ParseStatus.mergeObjectSync(status, syncPairs);
        +            });
        +        }
        +        else {
        +            return ParseStatus.mergeObjectSync(status, pairs);
        +        }
        +    }
        +    get shape() {
        +        return this._def.shape();
        +    }
        +    strict(message) {
        +        errorUtil.errToObj;
        +        return new types_ZodObject({
        +            ...this._def,
        +            unknownKeys: "strict",
        +            ...(message !== undefined
        +                ? {
        +                    errorMap: (issue, ctx) => {
        +                        const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;
        +                        if (issue.code === "unrecognized_keys")
        +                            return {
        +                                message: errorUtil.errToObj(message).message ?? defaultError,
        +                            };
        +                        return {
        +                            message: defaultError,
        +                        };
        +                    },
        +                }
        +                : {}),
        +        });
        +    }
        +    strip() {
        +        return new types_ZodObject({
        +            ...this._def,
        +            unknownKeys: "strip",
        +        });
        +    }
        +    passthrough() {
        +        return new types_ZodObject({
        +            ...this._def,
        +            unknownKeys: "passthrough",
        +        });
        +    }
        +    // const AugmentFactory =
        +    //   (def: Def) =>
        +    //   (
        +    //     augmentation: Augmentation
        +    //   ): ZodObject<
        +    //     extendShape, Augmentation>,
        +    //     Def["unknownKeys"],
        +    //     Def["catchall"]
        +    //   > => {
        +    //     return new ZodObject({
        +    //       ...def,
        +    //       shape: () => ({
        +    //         ...def.shape(),
        +    //         ...augmentation,
        +    //       }),
        +    //     }) as any;
        +    //   };
        +    extend(augmentation) {
        +        return new types_ZodObject({
        +            ...this._def,
        +            shape: () => ({
        +                ...this._def.shape(),
        +                ...augmentation,
        +            }),
        +        });
        +    }
        +    /**
        +     * Prior to zod@1.0.12 there was a bug in the
        +     * inferred type of merged objects. Please
        +     * upgrade if you are experiencing issues.
        +     */
        +    merge(merging) {
        +        const merged = new types_ZodObject({
        +            unknownKeys: merging._def.unknownKeys,
        +            catchall: merging._def.catchall,
        +            shape: () => ({
        +                ...this._def.shape(),
        +                ...merging._def.shape(),
        +            }),
        +            typeName: types_ZodFirstPartyTypeKind.ZodObject,
        +        });
        +        return merged;
        +    }
        +    // merge<
        +    //   Incoming extends AnyZodObject,
        +    //   Augmentation extends Incoming["shape"],
        +    //   NewOutput extends {
        +    //     [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation
        +    //       ? Augmentation[k]["_output"]
        +    //       : k extends keyof Output
        +    //       ? Output[k]
        +    //       : never;
        +    //   },
        +    //   NewInput extends {
        +    //     [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation
        +    //       ? Augmentation[k]["_input"]
        +    //       : k extends keyof Input
        +    //       ? Input[k]
        +    //       : never;
        +    //   }
        +    // >(
        +    //   merging: Incoming
        +    // ): ZodObject<
        +    //   extendShape>,
        +    //   Incoming["_def"]["unknownKeys"],
        +    //   Incoming["_def"]["catchall"],
        +    //   NewOutput,
        +    //   NewInput
        +    // > {
        +    //   const merged: any = new ZodObject({
        +    //     unknownKeys: merging._def.unknownKeys,
        +    //     catchall: merging._def.catchall,
        +    //     shape: () =>
        +    //       objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),
        +    //     typeName: ZodFirstPartyTypeKind.ZodObject,
        +    //   }) as any;
        +    //   return merged;
        +    // }
        +    setKey(key, schema) {
        +        return this.augment({ [key]: schema });
        +    }
        +    // merge(
        +    //   merging: Incoming
        +    // ): //ZodObject = (merging) => {
        +    // ZodObject<
        +    //   extendShape>,
        +    //   Incoming["_def"]["unknownKeys"],
        +    //   Incoming["_def"]["catchall"]
        +    // > {
        +    //   // const mergedShape = objectUtil.mergeShapes(
        +    //   //   this._def.shape(),
        +    //   //   merging._def.shape()
        +    //   // );
        +    //   const merged: any = new ZodObject({
        +    //     unknownKeys: merging._def.unknownKeys,
        +    //     catchall: merging._def.catchall,
        +    //     shape: () =>
        +    //       objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),
        +    //     typeName: ZodFirstPartyTypeKind.ZodObject,
        +    //   }) as any;
        +    //   return merged;
        +    // }
        +    catchall(index) {
        +        return new types_ZodObject({
        +            ...this._def,
        +            catchall: index,
        +        });
        +    }
        +    pick(mask) {
        +        const shape = {};
        +        for (const key of util_util.objectKeys(mask)) {
        +            if (mask[key] && this.shape[key]) {
        +                shape[key] = this.shape[key];
        +            }
        +        }
        +        return new types_ZodObject({
        +            ...this._def,
        +            shape: () => shape,
        +        });
        +    }
        +    omit(mask) {
        +        const shape = {};
        +        for (const key of util_util.objectKeys(this.shape)) {
        +            if (!mask[key]) {
        +                shape[key] = this.shape[key];
        +            }
        +        }
        +        return new types_ZodObject({
        +            ...this._def,
        +            shape: () => shape,
        +        });
        +    }
        +    /**
        +     * @deprecated
        +     */
        +    deepPartial() {
        +        return deepPartialify(this);
        +    }
        +    partial(mask) {
        +        const newShape = {};
        +        for (const key of util_util.objectKeys(this.shape)) {
        +            const fieldSchema = this.shape[key];
        +            if (mask && !mask[key]) {
        +                newShape[key] = fieldSchema;
        +            }
        +            else {
        +                newShape[key] = fieldSchema.optional();
        +            }
        +        }
        +        return new types_ZodObject({
        +            ...this._def,
        +            shape: () => newShape,
        +        });
        +    }
        +    required(mask) {
        +        const newShape = {};
        +        for (const key of util_util.objectKeys(this.shape)) {
        +            if (mask && !mask[key]) {
        +                newShape[key] = this.shape[key];
        +            }
        +            else {
        +                const fieldSchema = this.shape[key];
        +                let newField = fieldSchema;
        +                while (newField instanceof types_ZodOptional) {
        +                    newField = newField._def.innerType;
        +                }
        +                newShape[key] = newField;
        +            }
        +        }
        +        return new types_ZodObject({
        +            ...this._def,
        +            shape: () => newShape,
        +        });
        +    }
        +    keyof() {
        +        return createZodEnum(util_util.objectKeys(this.shape));
        +    }
        +}
        +types_ZodObject.create = (shape, params) => {
        +    return new types_ZodObject({
        +        shape: () => shape,
        +        unknownKeys: "strip",
        +        catchall: types_ZodNever.create(),
        +        typeName: types_ZodFirstPartyTypeKind.ZodObject,
        +        ...processCreateParams(params),
        +    });
        +};
        +types_ZodObject.strictCreate = (shape, params) => {
        +    return new types_ZodObject({
        +        shape: () => shape,
        +        unknownKeys: "strict",
        +        catchall: types_ZodNever.create(),
        +        typeName: types_ZodFirstPartyTypeKind.ZodObject,
        +        ...processCreateParams(params),
        +    });
        +};
        +types_ZodObject.lazycreate = (shape, params) => {
        +    return new types_ZodObject({
        +        shape,
        +        unknownKeys: "strip",
        +        catchall: types_ZodNever.create(),
        +        typeName: types_ZodFirstPartyTypeKind.ZodObject,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodUnion extends types_ZodType {
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        const options = this._def.options;
        +        function handleResults(results) {
        +            // return first issue-free validation if it exists
        +            for (const result of results) {
        +                if (result.result.status === "valid") {
        +                    return result.result;
        +                }
        +            }
        +            for (const result of results) {
        +                if (result.result.status === "dirty") {
        +                    // add issues from dirty option
        +                    ctx.common.issues.push(...result.ctx.common.issues);
        +                    return result.result;
        +                }
        +            }
        +            // return invalid
        +            const unionErrors = results.map((result) => new ZodError_ZodError(result.ctx.common.issues));
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_union,
        +                unionErrors,
        +            });
        +            return INVALID;
        +        }
        +        if (ctx.common.async) {
        +            return Promise.all(options.map(async (option) => {
        +                const childCtx = {
        +                    ...ctx,
        +                    common: {
        +                        ...ctx.common,
        +                        issues: [],
        +                    },
        +                    parent: null,
        +                };
        +                return {
        +                    result: await option._parseAsync({
        +                        data: ctx.data,
        +                        path: ctx.path,
        +                        parent: childCtx,
        +                    }),
        +                    ctx: childCtx,
        +                };
        +            })).then(handleResults);
        +        }
        +        else {
        +            let dirty = undefined;
        +            const issues = [];
        +            for (const option of options) {
        +                const childCtx = {
        +                    ...ctx,
        +                    common: {
        +                        ...ctx.common,
        +                        issues: [],
        +                    },
        +                    parent: null,
        +                };
        +                const result = option._parseSync({
        +                    data: ctx.data,
        +                    path: ctx.path,
        +                    parent: childCtx,
        +                });
        +                if (result.status === "valid") {
        +                    return result;
        +                }
        +                else if (result.status === "dirty" && !dirty) {
        +                    dirty = { result, ctx: childCtx };
        +                }
        +                if (childCtx.common.issues.length) {
        +                    issues.push(childCtx.common.issues);
        +                }
        +            }
        +            if (dirty) {
        +                ctx.common.issues.push(...dirty.ctx.common.issues);
        +                return dirty.result;
        +            }
        +            const unionErrors = issues.map((issues) => new ZodError_ZodError(issues));
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_union,
        +                unionErrors,
        +            });
        +            return INVALID;
        +        }
        +    }
        +    get options() {
        +        return this._def.options;
        +    }
        +}
        +types_ZodUnion.create = (types, params) => {
        +    return new types_ZodUnion({
        +        options: types,
        +        typeName: types_ZodFirstPartyTypeKind.ZodUnion,
        +        ...processCreateParams(params),
        +    });
        +};
        +/////////////////////////////////////////////////////
        +/////////////////////////////////////////////////////
        +//////////                                 //////////
        +//////////      ZodDiscriminatedUnion      //////////
        +//////////                                 //////////
        +/////////////////////////////////////////////////////
        +/////////////////////////////////////////////////////
        +const getDiscriminator = (type) => {
        +    if (type instanceof types_ZodLazy) {
        +        return getDiscriminator(type.schema);
        +    }
        +    else if (type instanceof ZodEffects) {
        +        return getDiscriminator(type.innerType());
        +    }
        +    else if (type instanceof types_ZodLiteral) {
        +        return [type.value];
        +    }
        +    else if (type instanceof types_ZodEnum) {
        +        return type.options;
        +    }
        +    else if (type instanceof ZodNativeEnum) {
        +        // eslint-disable-next-line ban/ban
        +        return util_util.objectValues(type.enum);
        +    }
        +    else if (type instanceof types_ZodDefault) {
        +        return getDiscriminator(type._def.innerType);
        +    }
        +    else if (type instanceof types_ZodUndefined) {
        +        return [undefined];
        +    }
        +    else if (type instanceof types_ZodNull) {
        +        return [null];
        +    }
        +    else if (type instanceof types_ZodOptional) {
        +        return [undefined, ...getDiscriminator(type.unwrap())];
        +    }
        +    else if (type instanceof types_ZodNullable) {
        +        return [null, ...getDiscriminator(type.unwrap())];
        +    }
        +    else if (type instanceof ZodBranded) {
        +        return getDiscriminator(type.unwrap());
        +    }
        +    else if (type instanceof types_ZodReadonly) {
        +        return getDiscriminator(type.unwrap());
        +    }
        +    else if (type instanceof types_ZodCatch) {
        +        return getDiscriminator(type._def.innerType);
        +    }
        +    else {
        +        return [];
        +    }
        +};
        +class types_ZodDiscriminatedUnion extends types_ZodType {
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        if (ctx.parsedType !== ZodParsedType.object) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.object,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        const discriminator = this.discriminator;
        +        const discriminatorValue = ctx.data[discriminator];
        +        const option = this.optionsMap.get(discriminatorValue);
        +        if (!option) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_union_discriminator,
        +                options: Array.from(this.optionsMap.keys()),
        +                path: [discriminator],
        +            });
        +            return INVALID;
        +        }
        +        if (ctx.common.async) {
        +            return option._parseAsync({
        +                data: ctx.data,
        +                path: ctx.path,
        +                parent: ctx,
        +            });
        +        }
        +        else {
        +            return option._parseSync({
        +                data: ctx.data,
        +                path: ctx.path,
        +                parent: ctx,
        +            });
        +        }
        +    }
        +    get discriminator() {
        +        return this._def.discriminator;
        +    }
        +    get options() {
        +        return this._def.options;
        +    }
        +    get optionsMap() {
        +        return this._def.optionsMap;
        +    }
        +    /**
        +     * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.
        +     * However, it only allows a union of objects, all of which need to share a discriminator property. This property must
        +     * have a different value for each object in the union.
        +     * @param discriminator the name of the discriminator property
        +     * @param types an array of object schemas
        +     * @param params
        +     */
        +    static create(discriminator, options, params) {
        +        // Get all the valid discriminator values
        +        const optionsMap = new Map();
        +        // try {
        +        for (const type of options) {
        +            const discriminatorValues = getDiscriminator(type.shape[discriminator]);
        +            if (!discriminatorValues.length) {
        +                throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`);
        +            }
        +            for (const value of discriminatorValues) {
        +                if (optionsMap.has(value)) {
        +                    throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);
        +                }
        +                optionsMap.set(value, type);
        +            }
        +        }
        +        return new types_ZodDiscriminatedUnion({
        +            typeName: types_ZodFirstPartyTypeKind.ZodDiscriminatedUnion,
        +            discriminator,
        +            options,
        +            optionsMap,
        +            ...processCreateParams(params),
        +        });
        +    }
        +}
        +function types_mergeValues(a, b) {
        +    const aType = util_getParsedType(a);
        +    const bType = util_getParsedType(b);
        +    if (a === b) {
        +        return { valid: true, data: a };
        +    }
        +    else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {
        +        const bKeys = util_util.objectKeys(b);
        +        const sharedKeys = util_util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);
        +        const newObj = { ...a, ...b };
        +        for (const key of sharedKeys) {
        +            const sharedValue = types_mergeValues(a[key], b[key]);
        +            if (!sharedValue.valid) {
        +                return { valid: false };
        +            }
        +            newObj[key] = sharedValue.data;
        +        }
        +        return { valid: true, data: newObj };
        +    }
        +    else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {
        +        if (a.length !== b.length) {
        +            return { valid: false };
        +        }
        +        const newArray = [];
        +        for (let index = 0; index < a.length; index++) {
        +            const itemA = a[index];
        +            const itemB = b[index];
        +            const sharedValue = types_mergeValues(itemA, itemB);
        +            if (!sharedValue.valid) {
        +                return { valid: false };
        +            }
        +            newArray.push(sharedValue.data);
        +        }
        +        return { valid: true, data: newArray };
        +    }
        +    else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {
        +        return { valid: true, data: a };
        +    }
        +    else {
        +        return { valid: false };
        +    }
        +}
        +class types_ZodIntersection extends types_ZodType {
        +    _parse(input) {
        +        const { status, ctx } = this._processInputParams(input);
        +        const handleParsed = (parsedLeft, parsedRight) => {
        +            if (isAborted(parsedLeft) || isAborted(parsedRight)) {
        +                return INVALID;
        +            }
        +            const merged = types_mergeValues(parsedLeft.value, parsedRight.value);
        +            if (!merged.valid) {
        +                addIssueToContext(ctx, {
        +                    code: ZodError_ZodIssueCode.invalid_intersection_types,
        +                });
        +                return INVALID;
        +            }
        +            if (isDirty(parsedLeft) || isDirty(parsedRight)) {
        +                status.dirty();
        +            }
        +            return { status: status.value, value: merged.data };
        +        };
        +        if (ctx.common.async) {
        +            return Promise.all([
        +                this._def.left._parseAsync({
        +                    data: ctx.data,
        +                    path: ctx.path,
        +                    parent: ctx,
        +                }),
        +                this._def.right._parseAsync({
        +                    data: ctx.data,
        +                    path: ctx.path,
        +                    parent: ctx,
        +                }),
        +            ]).then(([left, right]) => handleParsed(left, right));
        +        }
        +        else {
        +            return handleParsed(this._def.left._parseSync({
        +                data: ctx.data,
        +                path: ctx.path,
        +                parent: ctx,
        +            }), this._def.right._parseSync({
        +                data: ctx.data,
        +                path: ctx.path,
        +                parent: ctx,
        +            }));
        +        }
        +    }
        +}
        +types_ZodIntersection.create = (left, right, params) => {
        +    return new types_ZodIntersection({
        +        left: left,
        +        right: right,
        +        typeName: types_ZodFirstPartyTypeKind.ZodIntersection,
        +        ...processCreateParams(params),
        +    });
        +};
        +// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];
        +class types_ZodTuple extends types_ZodType {
        +    _parse(input) {
        +        const { status, ctx } = this._processInputParams(input);
        +        if (ctx.parsedType !== ZodParsedType.array) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.array,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        if (ctx.data.length < this._def.items.length) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.too_small,
        +                minimum: this._def.items.length,
        +                inclusive: true,
        +                exact: false,
        +                type: "array",
        +            });
        +            return INVALID;
        +        }
        +        const rest = this._def.rest;
        +        if (!rest && ctx.data.length > this._def.items.length) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.too_big,
        +                maximum: this._def.items.length,
        +                inclusive: true,
        +                exact: false,
        +                type: "array",
        +            });
        +            status.dirty();
        +        }
        +        const items = [...ctx.data]
        +            .map((item, itemIndex) => {
        +            const schema = this._def.items[itemIndex] || this._def.rest;
        +            if (!schema)
        +                return null;
        +            return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));
        +        })
        +            .filter((x) => !!x); // filter nulls
        +        if (ctx.common.async) {
        +            return Promise.all(items).then((results) => {
        +                return ParseStatus.mergeArray(status, results);
        +            });
        +        }
        +        else {
        +            return ParseStatus.mergeArray(status, items);
        +        }
        +    }
        +    get items() {
        +        return this._def.items;
        +    }
        +    rest(rest) {
        +        return new types_ZodTuple({
        +            ...this._def,
        +            rest,
        +        });
        +    }
        +}
        +types_ZodTuple.create = (schemas, params) => {
        +    if (!Array.isArray(schemas)) {
        +        throw new Error("You must pass an array of schemas to z.tuple([ ... ])");
        +    }
        +    return new types_ZodTuple({
        +        items: schemas,
        +        typeName: types_ZodFirstPartyTypeKind.ZodTuple,
        +        rest: null,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodRecord extends types_ZodType {
        +    get keySchema() {
        +        return this._def.keyType;
        +    }
        +    get valueSchema() {
        +        return this._def.valueType;
        +    }
        +    _parse(input) {
        +        const { status, ctx } = this._processInputParams(input);
        +        if (ctx.parsedType !== ZodParsedType.object) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.object,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        const pairs = [];
        +        const keyType = this._def.keyType;
        +        const valueType = this._def.valueType;
        +        for (const key in ctx.data) {
        +            pairs.push({
        +                key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),
        +                value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),
        +                alwaysSet: key in ctx.data,
        +            });
        +        }
        +        if (ctx.common.async) {
        +            return ParseStatus.mergeObjectAsync(status, pairs);
        +        }
        +        else {
        +            return ParseStatus.mergeObjectSync(status, pairs);
        +        }
        +    }
        +    get element() {
        +        return this._def.valueType;
        +    }
        +    static create(first, second, third) {
        +        if (second instanceof types_ZodType) {
        +            return new types_ZodRecord({
        +                keyType: first,
        +                valueType: second,
        +                typeName: types_ZodFirstPartyTypeKind.ZodRecord,
        +                ...processCreateParams(third),
        +            });
        +        }
        +        return new types_ZodRecord({
        +            keyType: types_ZodString.create(),
        +            valueType: first,
        +            typeName: types_ZodFirstPartyTypeKind.ZodRecord,
        +            ...processCreateParams(second),
        +        });
        +    }
        +}
        +class types_ZodMap extends types_ZodType {
        +    get keySchema() {
        +        return this._def.keyType;
        +    }
        +    get valueSchema() {
        +        return this._def.valueType;
        +    }
        +    _parse(input) {
        +        const { status, ctx } = this._processInputParams(input);
        +        if (ctx.parsedType !== ZodParsedType.map) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.map,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        const keyType = this._def.keyType;
        +        const valueType = this._def.valueType;
        +        const pairs = [...ctx.data.entries()].map(([key, value], index) => {
        +            return {
        +                key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, "key"])),
        +                value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, "value"])),
        +            };
        +        });
        +        if (ctx.common.async) {
        +            const finalMap = new Map();
        +            return Promise.resolve().then(async () => {
        +                for (const pair of pairs) {
        +                    const key = await pair.key;
        +                    const value = await pair.value;
        +                    if (key.status === "aborted" || value.status === "aborted") {
        +                        return INVALID;
        +                    }
        +                    if (key.status === "dirty" || value.status === "dirty") {
        +                        status.dirty();
        +                    }
        +                    finalMap.set(key.value, value.value);
        +                }
        +                return { status: status.value, value: finalMap };
        +            });
        +        }
        +        else {
        +            const finalMap = new Map();
        +            for (const pair of pairs) {
        +                const key = pair.key;
        +                const value = pair.value;
        +                if (key.status === "aborted" || value.status === "aborted") {
        +                    return INVALID;
        +                }
        +                if (key.status === "dirty" || value.status === "dirty") {
        +                    status.dirty();
        +                }
        +                finalMap.set(key.value, value.value);
        +            }
        +            return { status: status.value, value: finalMap };
        +        }
        +    }
        +}
        +types_ZodMap.create = (keyType, valueType, params) => {
        +    return new types_ZodMap({
        +        valueType,
        +        keyType,
        +        typeName: types_ZodFirstPartyTypeKind.ZodMap,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodSet extends types_ZodType {
        +    _parse(input) {
        +        const { status, ctx } = this._processInputParams(input);
        +        if (ctx.parsedType !== ZodParsedType.set) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.set,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        const def = this._def;
        +        if (def.minSize !== null) {
        +            if (ctx.data.size < def.minSize.value) {
        +                addIssueToContext(ctx, {
        +                    code: ZodError_ZodIssueCode.too_small,
        +                    minimum: def.minSize.value,
        +                    type: "set",
        +                    inclusive: true,
        +                    exact: false,
        +                    message: def.minSize.message,
        +                });
        +                status.dirty();
        +            }
        +        }
        +        if (def.maxSize !== null) {
        +            if (ctx.data.size > def.maxSize.value) {
        +                addIssueToContext(ctx, {
        +                    code: ZodError_ZodIssueCode.too_big,
        +                    maximum: def.maxSize.value,
        +                    type: "set",
        +                    inclusive: true,
        +                    exact: false,
        +                    message: def.maxSize.message,
        +                });
        +                status.dirty();
        +            }
        +        }
        +        const valueType = this._def.valueType;
        +        function finalizeSet(elements) {
        +            const parsedSet = new Set();
        +            for (const element of elements) {
        +                if (element.status === "aborted")
        +                    return INVALID;
        +                if (element.status === "dirty")
        +                    status.dirty();
        +                parsedSet.add(element.value);
        +            }
        +            return { status: status.value, value: parsedSet };
        +        }
        +        const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));
        +        if (ctx.common.async) {
        +            return Promise.all(elements).then((elements) => finalizeSet(elements));
        +        }
        +        else {
        +            return finalizeSet(elements);
        +        }
        +    }
        +    min(minSize, message) {
        +        return new types_ZodSet({
        +            ...this._def,
        +            minSize: { value: minSize, message: errorUtil.toString(message) },
        +        });
        +    }
        +    max(maxSize, message) {
        +        return new types_ZodSet({
        +            ...this._def,
        +            maxSize: { value: maxSize, message: errorUtil.toString(message) },
        +        });
        +    }
        +    size(size, message) {
        +        return this.min(size, message).max(size, message);
        +    }
        +    nonempty(message) {
        +        return this.min(1, message);
        +    }
        +}
        +types_ZodSet.create = (valueType, params) => {
        +    return new types_ZodSet({
        +        valueType,
        +        minSize: null,
        +        maxSize: null,
        +        typeName: types_ZodFirstPartyTypeKind.ZodSet,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodFunction extends types_ZodType {
        +    constructor() {
        +        super(...arguments);
        +        this.validate = this.implement;
        +    }
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        if (ctx.parsedType !== ZodParsedType.function) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.function,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        function makeArgsIssue(args, error) {
        +            return makeIssue({
        +                data: args,
        +                path: ctx.path,
        +                errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, errors_getErrorMap(), locales_en].filter((x) => !!x),
        +                issueData: {
        +                    code: ZodError_ZodIssueCode.invalid_arguments,
        +                    argumentsError: error,
        +                },
        +            });
        +        }
        +        function makeReturnsIssue(returns, error) {
        +            return makeIssue({
        +                data: returns,
        +                path: ctx.path,
        +                errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, errors_getErrorMap(), locales_en].filter((x) => !!x),
        +                issueData: {
        +                    code: ZodError_ZodIssueCode.invalid_return_type,
        +                    returnTypeError: error,
        +                },
        +            });
        +        }
        +        const params = { errorMap: ctx.common.contextualErrorMap };
        +        const fn = ctx.data;
        +        if (this._def.returns instanceof types_ZodPromise) {
        +            // Would love a way to avoid disabling this rule, but we need
        +            // an alias (using an arrow function was what caused 2651).
        +            // eslint-disable-next-line @typescript-eslint/no-this-alias
        +            const me = this;
        +            return OK(async function (...args) {
        +                const error = new ZodError_ZodError([]);
        +                const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {
        +                    error.addIssue(makeArgsIssue(args, e));
        +                    throw error;
        +                });
        +                const result = await Reflect.apply(fn, this, parsedArgs);
        +                const parsedReturns = await me._def.returns._def.type
        +                    .parseAsync(result, params)
        +                    .catch((e) => {
        +                    error.addIssue(makeReturnsIssue(result, e));
        +                    throw error;
        +                });
        +                return parsedReturns;
        +            });
        +        }
        +        else {
        +            // Would love a way to avoid disabling this rule, but we need
        +            // an alias (using an arrow function was what caused 2651).
        +            // eslint-disable-next-line @typescript-eslint/no-this-alias
        +            const me = this;
        +            return OK(function (...args) {
        +                const parsedArgs = me._def.args.safeParse(args, params);
        +                if (!parsedArgs.success) {
        +                    throw new ZodError_ZodError([makeArgsIssue(args, parsedArgs.error)]);
        +                }
        +                const result = Reflect.apply(fn, this, parsedArgs.data);
        +                const parsedReturns = me._def.returns.safeParse(result, params);
        +                if (!parsedReturns.success) {
        +                    throw new ZodError_ZodError([makeReturnsIssue(result, parsedReturns.error)]);
        +                }
        +                return parsedReturns.data;
        +            });
        +        }
        +    }
        +    parameters() {
        +        return this._def.args;
        +    }
        +    returnType() {
        +        return this._def.returns;
        +    }
        +    args(...items) {
        +        return new types_ZodFunction({
        +            ...this._def,
        +            args: types_ZodTuple.create(items).rest(types_ZodUnknown.create()),
        +        });
        +    }
        +    returns(returnType) {
        +        return new types_ZodFunction({
        +            ...this._def,
        +            returns: returnType,
        +        });
        +    }
        +    implement(func) {
        +        const validatedFunc = this.parse(func);
        +        return validatedFunc;
        +    }
        +    strictImplement(func) {
        +        const validatedFunc = this.parse(func);
        +        return validatedFunc;
        +    }
        +    static create(args, returns, params) {
        +        return new types_ZodFunction({
        +            args: (args ? args : types_ZodTuple.create([]).rest(types_ZodUnknown.create())),
        +            returns: returns || types_ZodUnknown.create(),
        +            typeName: types_ZodFirstPartyTypeKind.ZodFunction,
        +            ...processCreateParams(params),
        +        });
        +    }
        +}
        +class types_ZodLazy extends types_ZodType {
        +    get schema() {
        +        return this._def.getter();
        +    }
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        const lazySchema = this._def.getter();
        +        return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });
        +    }
        +}
        +types_ZodLazy.create = (getter, params) => {
        +    return new types_ZodLazy({
        +        getter: getter,
        +        typeName: types_ZodFirstPartyTypeKind.ZodLazy,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodLiteral extends types_ZodType {
        +    _parse(input) {
        +        if (input.data !== this._def.value) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                received: ctx.data,
        +                code: ZodError_ZodIssueCode.invalid_literal,
        +                expected: this._def.value,
        +            });
        +            return INVALID;
        +        }
        +        return { status: "valid", value: input.data };
        +    }
        +    get value() {
        +        return this._def.value;
        +    }
        +}
        +types_ZodLiteral.create = (value, params) => {
        +    return new types_ZodLiteral({
        +        value: value,
        +        typeName: types_ZodFirstPartyTypeKind.ZodLiteral,
        +        ...processCreateParams(params),
        +    });
        +};
        +function createZodEnum(values, params) {
        +    return new types_ZodEnum({
        +        values,
        +        typeName: types_ZodFirstPartyTypeKind.ZodEnum,
        +        ...processCreateParams(params),
        +    });
        +}
        +class types_ZodEnum extends types_ZodType {
        +    _parse(input) {
        +        if (typeof input.data !== "string") {
        +            const ctx = this._getOrReturnCtx(input);
        +            const expectedValues = this._def.values;
        +            addIssueToContext(ctx, {
        +                expected: util_util.joinValues(expectedValues),
        +                received: ctx.parsedType,
        +                code: ZodError_ZodIssueCode.invalid_type,
        +            });
        +            return INVALID;
        +        }
        +        if (!this._cache) {
        +            this._cache = new Set(this._def.values);
        +        }
        +        if (!this._cache.has(input.data)) {
        +            const ctx = this._getOrReturnCtx(input);
        +            const expectedValues = this._def.values;
        +            addIssueToContext(ctx, {
        +                received: ctx.data,
        +                code: ZodError_ZodIssueCode.invalid_enum_value,
        +                options: expectedValues,
        +            });
        +            return INVALID;
        +        }
        +        return OK(input.data);
        +    }
        +    get options() {
        +        return this._def.values;
        +    }
        +    get enum() {
        +        const enumValues = {};
        +        for (const val of this._def.values) {
        +            enumValues[val] = val;
        +        }
        +        return enumValues;
        +    }
        +    get Values() {
        +        const enumValues = {};
        +        for (const val of this._def.values) {
        +            enumValues[val] = val;
        +        }
        +        return enumValues;
        +    }
        +    get Enum() {
        +        const enumValues = {};
        +        for (const val of this._def.values) {
        +            enumValues[val] = val;
        +        }
        +        return enumValues;
        +    }
        +    extract(values, newDef = this._def) {
        +        return types_ZodEnum.create(values, {
        +            ...this._def,
        +            ...newDef,
        +        });
        +    }
        +    exclude(values, newDef = this._def) {
        +        return types_ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {
        +            ...this._def,
        +            ...newDef,
        +        });
        +    }
        +}
        +types_ZodEnum.create = createZodEnum;
        +class ZodNativeEnum extends types_ZodType {
        +    _parse(input) {
        +        const nativeEnumValues = util_util.getValidEnumValues(this._def.values);
        +        const ctx = this._getOrReturnCtx(input);
        +        if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {
        +            const expectedValues = util_util.objectValues(nativeEnumValues);
        +            addIssueToContext(ctx, {
        +                expected: util_util.joinValues(expectedValues),
        +                received: ctx.parsedType,
        +                code: ZodError_ZodIssueCode.invalid_type,
        +            });
        +            return INVALID;
        +        }
        +        if (!this._cache) {
        +            this._cache = new Set(util_util.getValidEnumValues(this._def.values));
        +        }
        +        if (!this._cache.has(input.data)) {
        +            const expectedValues = util_util.objectValues(nativeEnumValues);
        +            addIssueToContext(ctx, {
        +                received: ctx.data,
        +                code: ZodError_ZodIssueCode.invalid_enum_value,
        +                options: expectedValues,
        +            });
        +            return INVALID;
        +        }
        +        return OK(input.data);
        +    }
        +    get enum() {
        +        return this._def.values;
        +    }
        +}
        +ZodNativeEnum.create = (values, params) => {
        +    return new ZodNativeEnum({
        +        values: values,
        +        typeName: types_ZodFirstPartyTypeKind.ZodNativeEnum,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodPromise extends types_ZodType {
        +    unwrap() {
        +        return this._def.type;
        +    }
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.promise,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);
        +        return OK(promisified.then((data) => {
        +            return this._def.type.parseAsync(data, {
        +                path: ctx.path,
        +                errorMap: ctx.common.contextualErrorMap,
        +            });
        +        }));
        +    }
        +}
        +types_ZodPromise.create = (schema, params) => {
        +    return new types_ZodPromise({
        +        type: schema,
        +        typeName: types_ZodFirstPartyTypeKind.ZodPromise,
        +        ...processCreateParams(params),
        +    });
        +};
        +class ZodEffects extends types_ZodType {
        +    innerType() {
        +        return this._def.schema;
        +    }
        +    sourceType() {
        +        return this._def.schema._def.typeName === types_ZodFirstPartyTypeKind.ZodEffects
        +            ? this._def.schema.sourceType()
        +            : this._def.schema;
        +    }
        +    _parse(input) {
        +        const { status, ctx } = this._processInputParams(input);
        +        const effect = this._def.effect || null;
        +        const checkCtx = {
        +            addIssue: (arg) => {
        +                addIssueToContext(ctx, arg);
        +                if (arg.fatal) {
        +                    status.abort();
        +                }
        +                else {
        +                    status.dirty();
        +                }
        +            },
        +            get path() {
        +                return ctx.path;
        +            },
        +        };
        +        checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);
        +        if (effect.type === "preprocess") {
        +            const processed = effect.transform(ctx.data, checkCtx);
        +            if (ctx.common.async) {
        +                return Promise.resolve(processed).then(async (processed) => {
        +                    if (status.value === "aborted")
        +                        return INVALID;
        +                    const result = await this._def.schema._parseAsync({
        +                        data: processed,
        +                        path: ctx.path,
        +                        parent: ctx,
        +                    });
        +                    if (result.status === "aborted")
        +                        return INVALID;
        +                    if (result.status === "dirty")
        +                        return DIRTY(result.value);
        +                    if (status.value === "dirty")
        +                        return DIRTY(result.value);
        +                    return result;
        +                });
        +            }
        +            else {
        +                if (status.value === "aborted")
        +                    return INVALID;
        +                const result = this._def.schema._parseSync({
        +                    data: processed,
        +                    path: ctx.path,
        +                    parent: ctx,
        +                });
        +                if (result.status === "aborted")
        +                    return INVALID;
        +                if (result.status === "dirty")
        +                    return DIRTY(result.value);
        +                if (status.value === "dirty")
        +                    return DIRTY(result.value);
        +                return result;
        +            }
        +        }
        +        if (effect.type === "refinement") {
        +            const executeRefinement = (acc) => {
        +                const result = effect.refinement(acc, checkCtx);
        +                if (ctx.common.async) {
        +                    return Promise.resolve(result);
        +                }
        +                if (result instanceof Promise) {
        +                    throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");
        +                }
        +                return acc;
        +            };
        +            if (ctx.common.async === false) {
        +                const inner = this._def.schema._parseSync({
        +                    data: ctx.data,
        +                    path: ctx.path,
        +                    parent: ctx,
        +                });
        +                if (inner.status === "aborted")
        +                    return INVALID;
        +                if (inner.status === "dirty")
        +                    status.dirty();
        +                // return value is ignored
        +                executeRefinement(inner.value);
        +                return { status: status.value, value: inner.value };
        +            }
        +            else {
        +                return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {
        +                    if (inner.status === "aborted")
        +                        return INVALID;
        +                    if (inner.status === "dirty")
        +                        status.dirty();
        +                    return executeRefinement(inner.value).then(() => {
        +                        return { status: status.value, value: inner.value };
        +                    });
        +                });
        +            }
        +        }
        +        if (effect.type === "transform") {
        +            if (ctx.common.async === false) {
        +                const base = this._def.schema._parseSync({
        +                    data: ctx.data,
        +                    path: ctx.path,
        +                    parent: ctx,
        +                });
        +                if (!isValid(base))
        +                    return INVALID;
        +                const result = effect.transform(base.value, checkCtx);
        +                if (result instanceof Promise) {
        +                    throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);
        +                }
        +                return { status: status.value, value: result };
        +            }
        +            else {
        +                return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {
        +                    if (!isValid(base))
        +                        return INVALID;
        +                    return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({
        +                        status: status.value,
        +                        value: result,
        +                    }));
        +                });
        +            }
        +        }
        +        util_util.assertNever(effect);
        +    }
        +}
        +ZodEffects.create = (schema, effect, params) => {
        +    return new ZodEffects({
        +        schema,
        +        typeName: types_ZodFirstPartyTypeKind.ZodEffects,
        +        effect,
        +        ...processCreateParams(params),
        +    });
        +};
        +ZodEffects.createWithPreprocess = (preprocess, schema, params) => {
        +    return new ZodEffects({
        +        schema,
        +        effect: { type: "preprocess", transform: preprocess },
        +        typeName: types_ZodFirstPartyTypeKind.ZodEffects,
        +        ...processCreateParams(params),
        +    });
        +};
        +
        +class types_ZodOptional extends types_ZodType {
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType === ZodParsedType.undefined) {
        +            return OK(undefined);
        +        }
        +        return this._def.innerType._parse(input);
        +    }
        +    unwrap() {
        +        return this._def.innerType;
        +    }
        +}
        +types_ZodOptional.create = (type, params) => {
        +    return new types_ZodOptional({
        +        innerType: type,
        +        typeName: types_ZodFirstPartyTypeKind.ZodOptional,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodNullable extends types_ZodType {
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType === ZodParsedType.null) {
        +            return OK(null);
        +        }
        +        return this._def.innerType._parse(input);
        +    }
        +    unwrap() {
        +        return this._def.innerType;
        +    }
        +}
        +types_ZodNullable.create = (type, params) => {
        +    return new types_ZodNullable({
        +        innerType: type,
        +        typeName: types_ZodFirstPartyTypeKind.ZodNullable,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodDefault extends types_ZodType {
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        let data = ctx.data;
        +        if (ctx.parsedType === ZodParsedType.undefined) {
        +            data = this._def.defaultValue();
        +        }
        +        return this._def.innerType._parse({
        +            data,
        +            path: ctx.path,
        +            parent: ctx,
        +        });
        +    }
        +    removeDefault() {
        +        return this._def.innerType;
        +    }
        +}
        +types_ZodDefault.create = (type, params) => {
        +    return new types_ZodDefault({
        +        innerType: type,
        +        typeName: types_ZodFirstPartyTypeKind.ZodDefault,
        +        defaultValue: typeof params.default === "function" ? params.default : () => params.default,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodCatch extends types_ZodType {
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        // newCtx is used to not collect issues from inner types in ctx
        +        const newCtx = {
        +            ...ctx,
        +            common: {
        +                ...ctx.common,
        +                issues: [],
        +            },
        +        };
        +        const result = this._def.innerType._parse({
        +            data: newCtx.data,
        +            path: newCtx.path,
        +            parent: {
        +                ...newCtx,
        +            },
        +        });
        +        if (isAsync(result)) {
        +            return result.then((result) => {
        +                return {
        +                    status: "valid",
        +                    value: result.status === "valid"
        +                        ? result.value
        +                        : this._def.catchValue({
        +                            get error() {
        +                                return new ZodError_ZodError(newCtx.common.issues);
        +                            },
        +                            input: newCtx.data,
        +                        }),
        +                };
        +            });
        +        }
        +        else {
        +            return {
        +                status: "valid",
        +                value: result.status === "valid"
        +                    ? result.value
        +                    : this._def.catchValue({
        +                        get error() {
        +                            return new ZodError_ZodError(newCtx.common.issues);
        +                        },
        +                        input: newCtx.data,
        +                    }),
        +            };
        +        }
        +    }
        +    removeCatch() {
        +        return this._def.innerType;
        +    }
        +}
        +types_ZodCatch.create = (type, params) => {
        +    return new types_ZodCatch({
        +        innerType: type,
        +        typeName: types_ZodFirstPartyTypeKind.ZodCatch,
        +        catchValue: typeof params.catch === "function" ? params.catch : () => params.catch,
        +        ...processCreateParams(params),
        +    });
        +};
        +class types_ZodNaN extends types_ZodType {
        +    _parse(input) {
        +        const parsedType = this._getType(input);
        +        if (parsedType !== ZodParsedType.nan) {
        +            const ctx = this._getOrReturnCtx(input);
        +            addIssueToContext(ctx, {
        +                code: ZodError_ZodIssueCode.invalid_type,
        +                expected: ZodParsedType.nan,
        +                received: ctx.parsedType,
        +            });
        +            return INVALID;
        +        }
        +        return { status: "valid", value: input.data };
        +    }
        +}
        +types_ZodNaN.create = (params) => {
        +    return new types_ZodNaN({
        +        typeName: types_ZodFirstPartyTypeKind.ZodNaN,
        +        ...processCreateParams(params),
        +    });
        +};
        +const BRAND = Symbol("zod_brand");
        +class ZodBranded extends types_ZodType {
        +    _parse(input) {
        +        const { ctx } = this._processInputParams(input);
        +        const data = ctx.data;
        +        return this._def.type._parse({
        +            data,
        +            path: ctx.path,
        +            parent: ctx,
        +        });
        +    }
        +    unwrap() {
        +        return this._def.type;
        +    }
        +}
        +class ZodPipeline extends types_ZodType {
        +    _parse(input) {
        +        const { status, ctx } = this._processInputParams(input);
        +        if (ctx.common.async) {
        +            const handleAsync = async () => {
        +                const inResult = await this._def.in._parseAsync({
        +                    data: ctx.data,
        +                    path: ctx.path,
        +                    parent: ctx,
        +                });
        +                if (inResult.status === "aborted")
        +                    return INVALID;
        +                if (inResult.status === "dirty") {
        +                    status.dirty();
        +                    return DIRTY(inResult.value);
        +                }
        +                else {
        +                    return this._def.out._parseAsync({
        +                        data: inResult.value,
        +                        path: ctx.path,
        +                        parent: ctx,
        +                    });
        +                }
        +            };
        +            return handleAsync();
        +        }
        +        else {
        +            const inResult = this._def.in._parseSync({
        +                data: ctx.data,
        +                path: ctx.path,
        +                parent: ctx,
        +            });
        +            if (inResult.status === "aborted")
        +                return INVALID;
        +            if (inResult.status === "dirty") {
        +                status.dirty();
        +                return {
        +                    status: "dirty",
        +                    value: inResult.value,
        +                };
        +            }
        +            else {
        +                return this._def.out._parseSync({
        +                    data: inResult.value,
        +                    path: ctx.path,
        +                    parent: ctx,
        +                });
        +            }
        +        }
        +    }
        +    static create(a, b) {
        +        return new ZodPipeline({
        +            in: a,
        +            out: b,
        +            typeName: types_ZodFirstPartyTypeKind.ZodPipeline,
        +        });
        +    }
        +}
        +class types_ZodReadonly extends types_ZodType {
        +    _parse(input) {
        +        const result = this._def.innerType._parse(input);
        +        const freeze = (data) => {
        +            if (isValid(data)) {
        +                data.value = Object.freeze(data.value);
        +            }
        +            return data;
        +        };
        +        return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);
        +    }
        +    unwrap() {
        +        return this._def.innerType;
        +    }
        +}
        +types_ZodReadonly.create = (type, params) => {
        +    return new types_ZodReadonly({
        +        innerType: type,
        +        typeName: types_ZodFirstPartyTypeKind.ZodReadonly,
        +        ...processCreateParams(params),
        +    });
        +};
        +////////////////////////////////////////
        +////////////////////////////////////////
        +//////////                    //////////
        +//////////      z.custom      //////////
        +//////////                    //////////
        +////////////////////////////////////////
        +////////////////////////////////////////
        +function cleanParams(params, data) {
        +    const p = typeof params === "function" ? params(data) : typeof params === "string" ? { message: params } : params;
        +    const p2 = typeof p === "string" ? { message: p } : p;
        +    return p2;
        +}
        +function types_custom(check, _params = {}, 
        +/**
        + * @deprecated
        + *
        + * Pass `fatal` into the params object instead:
        + *
        + * ```ts
        + * z.string().custom((val) => val.length > 5, { fatal: false })
        + * ```
        + *
        + */
        +fatal) {
        +    if (check)
        +        return types_ZodAny.create().superRefine((data, ctx) => {
        +            const r = check(data);
        +            if (r instanceof Promise) {
        +                return r.then((r) => {
        +                    if (!r) {
        +                        const params = cleanParams(_params, data);
        +                        const _fatal = params.fatal ?? fatal ?? true;
        +                        ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
        +                    }
        +                });
        +            }
        +            if (!r) {
        +                const params = cleanParams(_params, data);
        +                const _fatal = params.fatal ?? fatal ?? true;
        +                ctx.addIssue({ code: "custom", ...params, fatal: _fatal });
        +            }
        +            return;
        +        });
        +    return types_ZodAny.create();
        +}
        +
        +const late = {
        +    object: types_ZodObject.lazycreate,
        +};
        +var types_ZodFirstPartyTypeKind;
        +(function (ZodFirstPartyTypeKind) {
        +    ZodFirstPartyTypeKind["ZodString"] = "ZodString";
        +    ZodFirstPartyTypeKind["ZodNumber"] = "ZodNumber";
        +    ZodFirstPartyTypeKind["ZodNaN"] = "ZodNaN";
        +    ZodFirstPartyTypeKind["ZodBigInt"] = "ZodBigInt";
        +    ZodFirstPartyTypeKind["ZodBoolean"] = "ZodBoolean";
        +    ZodFirstPartyTypeKind["ZodDate"] = "ZodDate";
        +    ZodFirstPartyTypeKind["ZodSymbol"] = "ZodSymbol";
        +    ZodFirstPartyTypeKind["ZodUndefined"] = "ZodUndefined";
        +    ZodFirstPartyTypeKind["ZodNull"] = "ZodNull";
        +    ZodFirstPartyTypeKind["ZodAny"] = "ZodAny";
        +    ZodFirstPartyTypeKind["ZodUnknown"] = "ZodUnknown";
        +    ZodFirstPartyTypeKind["ZodNever"] = "ZodNever";
        +    ZodFirstPartyTypeKind["ZodVoid"] = "ZodVoid";
        +    ZodFirstPartyTypeKind["ZodArray"] = "ZodArray";
        +    ZodFirstPartyTypeKind["ZodObject"] = "ZodObject";
        +    ZodFirstPartyTypeKind["ZodUnion"] = "ZodUnion";
        +    ZodFirstPartyTypeKind["ZodDiscriminatedUnion"] = "ZodDiscriminatedUnion";
        +    ZodFirstPartyTypeKind["ZodIntersection"] = "ZodIntersection";
        +    ZodFirstPartyTypeKind["ZodTuple"] = "ZodTuple";
        +    ZodFirstPartyTypeKind["ZodRecord"] = "ZodRecord";
        +    ZodFirstPartyTypeKind["ZodMap"] = "ZodMap";
        +    ZodFirstPartyTypeKind["ZodSet"] = "ZodSet";
        +    ZodFirstPartyTypeKind["ZodFunction"] = "ZodFunction";
        +    ZodFirstPartyTypeKind["ZodLazy"] = "ZodLazy";
        +    ZodFirstPartyTypeKind["ZodLiteral"] = "ZodLiteral";
        +    ZodFirstPartyTypeKind["ZodEnum"] = "ZodEnum";
        +    ZodFirstPartyTypeKind["ZodEffects"] = "ZodEffects";
        +    ZodFirstPartyTypeKind["ZodNativeEnum"] = "ZodNativeEnum";
        +    ZodFirstPartyTypeKind["ZodOptional"] = "ZodOptional";
        +    ZodFirstPartyTypeKind["ZodNullable"] = "ZodNullable";
        +    ZodFirstPartyTypeKind["ZodDefault"] = "ZodDefault";
        +    ZodFirstPartyTypeKind["ZodCatch"] = "ZodCatch";
        +    ZodFirstPartyTypeKind["ZodPromise"] = "ZodPromise";
        +    ZodFirstPartyTypeKind["ZodBranded"] = "ZodBranded";
        +    ZodFirstPartyTypeKind["ZodPipeline"] = "ZodPipeline";
        +    ZodFirstPartyTypeKind["ZodReadonly"] = "ZodReadonly";
        +})(types_ZodFirstPartyTypeKind || (types_ZodFirstPartyTypeKind = {}));
        +// requires TS 4.4+
        +class types_Class {
        +    constructor(..._) { }
        +}
        +const instanceOfType = (
        +// const instanceOfType =  any>(
        +cls, params = {
        +    message: `Input not instance of ${cls.name}`,
        +}) => types_custom((data) => data instanceof cls, params);
        +const stringType = types_ZodString.create;
        +const numberType = types_ZodNumber.create;
        +const nanType = types_ZodNaN.create;
        +const bigIntType = types_ZodBigInt.create;
        +const booleanType = types_ZodBoolean.create;
        +const dateType = types_ZodDate.create;
        +const symbolType = types_ZodSymbol.create;
        +const undefinedType = types_ZodUndefined.create;
        +const nullType = types_ZodNull.create;
        +const anyType = types_ZodAny.create;
        +const unknownType = types_ZodUnknown.create;
        +const neverType = types_ZodNever.create;
        +const voidType = types_ZodVoid.create;
        +const arrayType = types_ZodArray.create;
        +const objectType = types_ZodObject.create;
        +const strictObjectType = types_ZodObject.strictCreate;
        +const unionType = types_ZodUnion.create;
        +const discriminatedUnionType = types_ZodDiscriminatedUnion.create;
        +const intersectionType = types_ZodIntersection.create;
        +const tupleType = types_ZodTuple.create;
        +const recordType = types_ZodRecord.create;
        +const mapType = types_ZodMap.create;
        +const setType = types_ZodSet.create;
        +const functionType = types_ZodFunction.create;
        +const lazyType = types_ZodLazy.create;
        +const literalType = types_ZodLiteral.create;
        +const enumType = types_ZodEnum.create;
        +const nativeEnumType = ZodNativeEnum.create;
        +const promiseType = types_ZodPromise.create;
        +const effectsType = ZodEffects.create;
        +const optionalType = types_ZodOptional.create;
        +const nullableType = types_ZodNullable.create;
        +const preprocessType = ZodEffects.createWithPreprocess;
        +const pipelineType = ZodPipeline.create;
        +const ostring = () => stringType().optional();
        +const onumber = () => numberType().optional();
        +const oboolean = () => booleanType().optional();
        +const coerce = {
        +    string: ((arg) => types_ZodString.create({ ...arg, coerce: true })),
        +    number: ((arg) => types_ZodNumber.create({ ...arg, coerce: true })),
        +    boolean: ((arg) => types_ZodBoolean.create({
        +        ...arg,
        +        coerce: true,
        +    })),
        +    bigint: ((arg) => types_ZodBigInt.create({ ...arg, coerce: true })),
        +    date: ((arg) => types_ZodDate.create({ ...arg, coerce: true })),
        +};
        +
        +const types_NEVER = (/* unused pure expression or super */ null && (types_INVALID));
        +
        +;// ../commons/node_modules/zod/v3/external.js
        +
        +
        +
        +
        +
        +
        +
        +;// ../commons/node_modules/zod/v3/index.js
        +/* unused harmony import specifier */ var v3_z;
        +
        +
        +
        +/* harmony default export */ const v3 = ((/* unused pure expression or super */ null && (v3_z)));
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js
        +const getRelativePath = (pathA, pathB) => {
        +    let i = 0;
        +    for (; i < pathA.length && i < pathB.length; i++) {
        +        if (pathA[i] !== pathB[i])
        +            break;
        +    }
        +    return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/any.js
        +
        +function parseAnyDef(refs) {
        +    if (refs.target !== "openAi") {
        +        return {};
        +    }
        +    const anyDefinitionPath = [
        +        ...refs.basePath,
        +        refs.definitionPath,
        +        refs.openAiAnyTypeName,
        +    ];
        +    refs.flags.hasReferencedOpenAiAnyType = true;
        +    return {
        +        $ref: refs.$refStrategy === "relative"
        +            ? getRelativePath(anyDefinitionPath, refs.currentPath)
        +            : anyDefinitionPath.join("/"),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/errorMessages.js
        +function addErrorMessage(res, key, errorMessage, refs) {
        +    if (!refs?.errorMessages)
        +        return;
        +    if (errorMessage) {
        +        res.errorMessage = {
        +            ...res.errorMessage,
        +            [key]: errorMessage,
        +        };
        +    }
        +}
        +function setResponseValueAndErrors(res, key, value, errorMessage, refs) {
        +    res[key] = value;
        +    addErrorMessage(res, key, errorMessage, refs);
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/array.js
        +
        +
        +
        +function parseArrayDef(def, refs) {
        +    const res = {
        +        type: "array",
        +    };
        +    if (def.type?._def &&
        +        def.type?._def?.typeName !== types_ZodFirstPartyTypeKind.ZodAny) {
        +        res.items = parseDef(def.type._def, {
        +            ...refs,
        +            currentPath: [...refs.currentPath, "items"],
        +        });
        +    }
        +    if (def.minLength) {
        +        setResponseValueAndErrors(res, "minItems", def.minLength.value, def.minLength.message, refs);
        +    }
        +    if (def.maxLength) {
        +        setResponseValueAndErrors(res, "maxItems", def.maxLength.value, def.maxLength.message, refs);
        +    }
        +    if (def.exactLength) {
        +        setResponseValueAndErrors(res, "minItems", def.exactLength.value, def.exactLength.message, refs);
        +        setResponseValueAndErrors(res, "maxItems", def.exactLength.value, def.exactLength.message, refs);
        +    }
        +    return res;
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
        +
        +function parseBigintDef(def, refs) {
        +    const res = {
        +        type: "integer",
        +        format: "int64",
        +    };
        +    if (!def.checks)
        +        return res;
        +    for (const check of def.checks) {
        +        switch (check.kind) {
        +            case "min":
        +                if (refs.target === "jsonSchema7") {
        +                    if (check.inclusive) {
        +                        setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
        +                    }
        +                    else {
        +                        setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
        +                    }
        +                }
        +                else {
        +                    if (!check.inclusive) {
        +                        res.exclusiveMinimum = true;
        +                    }
        +                    setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
        +                }
        +                break;
        +            case "max":
        +                if (refs.target === "jsonSchema7") {
        +                    if (check.inclusive) {
        +                        setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
        +                    }
        +                    else {
        +                        setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
        +                    }
        +                }
        +                else {
        +                    if (!check.inclusive) {
        +                        res.exclusiveMaximum = true;
        +                    }
        +                    setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
        +                }
        +                break;
        +            case "multipleOf":
        +                setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
        +                break;
        +        }
        +    }
        +    return res;
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js
        +function parseBooleanDef() {
        +    return {
        +        type: "boolean",
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
        +
        +function parseBrandedDef(_def, refs) {
        +    return parseDef(_def.type._def, refs);
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
        +
        +const parseCatchDef = (def, refs) => {
        +    return parseDef(def.innerType._def, refs);
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/date.js
        +
        +function parseDateDef(def, refs, overrideDateStrategy) {
        +    const strategy = overrideDateStrategy ?? refs.dateStrategy;
        +    if (Array.isArray(strategy)) {
        +        return {
        +            anyOf: strategy.map((item, i) => parseDateDef(def, refs, item)),
        +        };
        +    }
        +    switch (strategy) {
        +        case "string":
        +        case "format:date-time":
        +            return {
        +                type: "string",
        +                format: "date-time",
        +            };
        +        case "format:date":
        +            return {
        +                type: "string",
        +                format: "date",
        +            };
        +        case "integer":
        +            return integerDateParser(def, refs);
        +    }
        +}
        +const integerDateParser = (def, refs) => {
        +    const res = {
        +        type: "integer",
        +        format: "unix-time",
        +    };
        +    if (refs.target === "openApi3") {
        +        return res;
        +    }
        +    for (const check of def.checks) {
        +        switch (check.kind) {
        +            case "min":
        +                setResponseValueAndErrors(res, "minimum", check.value, // This is in milliseconds
        +                check.message, refs);
        +                break;
        +            case "max":
        +                setResponseValueAndErrors(res, "maximum", check.value, // This is in milliseconds
        +                check.message, refs);
        +                break;
        +        }
        +    }
        +    return res;
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/default.js
        +
        +function parseDefaultDef(_def, refs) {
        +    return {
        +        ...parseDef(_def.innerType._def, refs),
        +        default: _def.defaultValue(),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
        +
        +
        +function parseEffectsDef(_def, refs) {
        +    return refs.effectStrategy === "input"
        +        ? parseDef(_def.schema._def, refs)
        +        : parseAnyDef(refs);
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js
        +function parseEnumDef(def) {
        +    return {
        +        type: "string",
        +        enum: Array.from(def.values),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
        +
        +const isJsonSchema7AllOfType = (type) => {
        +    if ("type" in type && type.type === "string")
        +        return false;
        +    return "allOf" in type;
        +};
        +function parseIntersectionDef(def, refs) {
        +    const allOf = [
        +        parseDef(def.left._def, {
        +            ...refs,
        +            currentPath: [...refs.currentPath, "allOf", "0"],
        +        }),
        +        parseDef(def.right._def, {
        +            ...refs,
        +            currentPath: [...refs.currentPath, "allOf", "1"],
        +        }),
        +    ].filter((x) => !!x);
        +    let unevaluatedProperties = refs.target === "jsonSchema2019-09"
        +        ? { unevaluatedProperties: false }
        +        : undefined;
        +    const mergedAllOf = [];
        +    // If either of the schemas is an allOf, merge them into a single allOf
        +    allOf.forEach((schema) => {
        +        if (isJsonSchema7AllOfType(schema)) {
        +            mergedAllOf.push(...schema.allOf);
        +            if (schema.unevaluatedProperties === undefined) {
        +                // If one of the schemas has no unevaluatedProperties set,
        +                // the merged schema should also have no unevaluatedProperties set
        +                unevaluatedProperties = undefined;
        +            }
        +        }
        +        else {
        +            let nestedSchema = schema;
        +            if ("additionalProperties" in schema &&
        +                schema.additionalProperties === false) {
        +                const { additionalProperties, ...rest } = schema;
        +                nestedSchema = rest;
        +            }
        +            else {
        +                // As soon as one of the schemas has additionalProperties set not to false, we allow unevaluatedProperties
        +                unevaluatedProperties = undefined;
        +            }
        +            mergedAllOf.push(nestedSchema);
        +        }
        +    });
        +    return mergedAllOf.length
        +        ? {
        +            allOf: mergedAllOf,
        +            ...unevaluatedProperties,
        +        }
        +        : undefined;
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js
        +function parseLiteralDef(def, refs) {
        +    const parsedType = typeof def.value;
        +    if (parsedType !== "bigint" &&
        +        parsedType !== "number" &&
        +        parsedType !== "boolean" &&
        +        parsedType !== "string") {
        +        return {
        +            type: Array.isArray(def.value) ? "array" : "object",
        +        };
        +    }
        +    if (refs.target === "openApi3") {
        +        return {
        +            type: parsedType === "bigint" ? "integer" : parsedType,
        +            enum: [def.value],
        +        };
        +    }
        +    return {
        +        type: parsedType === "bigint" ? "integer" : parsedType,
        +        const: def.value,
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/string.js
        +
        +let string_emojiRegex = undefined;
        +/**
        + * Generated from the regular expressions found here as of 2024-05-22:
        + * https://github.com/colinhacks/zod/blob/master/src/types.ts.
        + *
        + * Expressions with /i flag have been changed accordingly.
        + */
        +const zodPatterns = {
        +    /**
        +     * `c` was changed to `[cC]` to replicate /i flag
        +     */
        +    cuid: /^[cC][^\s-]{8,}$/,
        +    cuid2: /^[0-9a-z]+$/,
        +    ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,
        +    /**
        +     * `a-z` was added to replicate /i flag
        +     */
        +    email: /^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,
        +    /**
        +     * Constructed a valid Unicode RegExp
        +     *
        +     * Lazily instantiate since this type of regex isn't supported
        +     * in all envs (e.g. React Native).
        +     *
        +     * See:
        +     * https://github.com/colinhacks/zod/issues/2433
        +     * Fix in Zod:
        +     * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b
        +     */
        +    emoji: () => {
        +        if (string_emojiRegex === undefined) {
        +            string_emojiRegex = RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", "u");
        +        }
        +        return string_emojiRegex;
        +    },
        +    /**
        +     * Unused
        +     */
        +    uuid: /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,
        +    /**
        +     * Unused
        +     */
        +    ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,
        +    ipv4Cidr: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,
        +    /**
        +     * Unused
        +     */
        +    ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,
        +    ipv6Cidr: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,
        +    base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,
        +    base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,
        +    nanoid: /^[a-zA-Z0-9_-]{21}$/,
        +    jwt: /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,
        +};
        +function parseStringDef(def, refs) {
        +    const res = {
        +        type: "string",
        +    };
        +    if (def.checks) {
        +        for (const check of def.checks) {
        +            switch (check.kind) {
        +                case "min":
        +                    setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number"
        +                        ? Math.max(res.minLength, check.value)
        +                        : check.value, check.message, refs);
        +                    break;
        +                case "max":
        +                    setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number"
        +                        ? Math.min(res.maxLength, check.value)
        +                        : check.value, check.message, refs);
        +                    break;
        +                case "email":
        +                    switch (refs.emailStrategy) {
        +                        case "format:email":
        +                            addFormat(res, "email", check.message, refs);
        +                            break;
        +                        case "format:idn-email":
        +                            addFormat(res, "idn-email", check.message, refs);
        +                            break;
        +                        case "pattern:zod":
        +                            addPattern(res, zodPatterns.email, check.message, refs);
        +                            break;
        +                    }
        +                    break;
        +                case "url":
        +                    addFormat(res, "uri", check.message, refs);
        +                    break;
        +                case "uuid":
        +                    addFormat(res, "uuid", check.message, refs);
        +                    break;
        +                case "regex":
        +                    addPattern(res, check.regex, check.message, refs);
        +                    break;
        +                case "cuid":
        +                    addPattern(res, zodPatterns.cuid, check.message, refs);
        +                    break;
        +                case "cuid2":
        +                    addPattern(res, zodPatterns.cuid2, check.message, refs);
        +                    break;
        +                case "startsWith":
        +                    addPattern(res, RegExp(`^${escapeLiteralCheckValue(check.value, refs)}`), check.message, refs);
        +                    break;
        +                case "endsWith":
        +                    addPattern(res, RegExp(`${escapeLiteralCheckValue(check.value, refs)}$`), check.message, refs);
        +                    break;
        +                case "datetime":
        +                    addFormat(res, "date-time", check.message, refs);
        +                    break;
        +                case "date":
        +                    addFormat(res, "date", check.message, refs);
        +                    break;
        +                case "time":
        +                    addFormat(res, "time", check.message, refs);
        +                    break;
        +                case "duration":
        +                    addFormat(res, "duration", check.message, refs);
        +                    break;
        +                case "length":
        +                    setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number"
        +                        ? Math.max(res.minLength, check.value)
        +                        : check.value, check.message, refs);
        +                    setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number"
        +                        ? Math.min(res.maxLength, check.value)
        +                        : check.value, check.message, refs);
        +                    break;
        +                case "includes": {
        +                    addPattern(res, RegExp(escapeLiteralCheckValue(check.value, refs)), check.message, refs);
        +                    break;
        +                }
        +                case "ip": {
        +                    if (check.version !== "v6") {
        +                        addFormat(res, "ipv4", check.message, refs);
        +                    }
        +                    if (check.version !== "v4") {
        +                        addFormat(res, "ipv6", check.message, refs);
        +                    }
        +                    break;
        +                }
        +                case "base64url":
        +                    addPattern(res, zodPatterns.base64url, check.message, refs);
        +                    break;
        +                case "jwt":
        +                    addPattern(res, zodPatterns.jwt, check.message, refs);
        +                    break;
        +                case "cidr": {
        +                    if (check.version !== "v6") {
        +                        addPattern(res, zodPatterns.ipv4Cidr, check.message, refs);
        +                    }
        +                    if (check.version !== "v4") {
        +                        addPattern(res, zodPatterns.ipv6Cidr, check.message, refs);
        +                    }
        +                    break;
        +                }
        +                case "emoji":
        +                    addPattern(res, zodPatterns.emoji(), check.message, refs);
        +                    break;
        +                case "ulid": {
        +                    addPattern(res, zodPatterns.ulid, check.message, refs);
        +                    break;
        +                }
        +                case "base64": {
        +                    switch (refs.base64Strategy) {
        +                        case "format:binary": {
        +                            addFormat(res, "binary", check.message, refs);
        +                            break;
        +                        }
        +                        case "contentEncoding:base64": {
        +                            setResponseValueAndErrors(res, "contentEncoding", "base64", check.message, refs);
        +                            break;
        +                        }
        +                        case "pattern:zod": {
        +                            addPattern(res, zodPatterns.base64, check.message, refs);
        +                            break;
        +                        }
        +                    }
        +                    break;
        +                }
        +                case "nanoid": {
        +                    addPattern(res, zodPatterns.nanoid, check.message, refs);
        +                }
        +                case "toLowerCase":
        +                case "toUpperCase":
        +                case "trim":
        +                    break;
        +                default:
        +                    ((_) => { })(check);
        +            }
        +        }
        +    }
        +    return res;
        +}
        +function escapeLiteralCheckValue(literal, refs) {
        +    return refs.patternStrategy === "escape"
        +        ? escapeNonAlphaNumeric(literal)
        +        : literal;
        +}
        +const ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
        +function escapeNonAlphaNumeric(source) {
        +    let result = "";
        +    for (let i = 0; i < source.length; i++) {
        +        if (!ALPHA_NUMERIC.has(source[i])) {
        +            result += "\\";
        +        }
        +        result += source[i];
        +    }
        +    return result;
        +}
        +// Adds a "format" keyword to the schema. If a format exists, both formats will be joined in an allOf-node, along with subsequent ones.
        +function addFormat(schema, value, message, refs) {
        +    if (schema.format || schema.anyOf?.some((x) => x.format)) {
        +        if (!schema.anyOf) {
        +            schema.anyOf = [];
        +        }
        +        if (schema.format) {
        +            schema.anyOf.push({
        +                format: schema.format,
        +                ...(schema.errorMessage &&
        +                    refs.errorMessages && {
        +                    errorMessage: { format: schema.errorMessage.format },
        +                }),
        +            });
        +            delete schema.format;
        +            if (schema.errorMessage) {
        +                delete schema.errorMessage.format;
        +                if (Object.keys(schema.errorMessage).length === 0) {
        +                    delete schema.errorMessage;
        +                }
        +            }
        +        }
        +        schema.anyOf.push({
        +            format: value,
        +            ...(message &&
        +                refs.errorMessages && { errorMessage: { format: message } }),
        +        });
        +    }
        +    else {
        +        setResponseValueAndErrors(schema, "format", value, message, refs);
        +    }
        +}
        +// Adds a "pattern" keyword to the schema. If a pattern exists, both patterns will be joined in an allOf-node, along with subsequent ones.
        +function addPattern(schema, regex, message, refs) {
        +    if (schema.pattern || schema.allOf?.some((x) => x.pattern)) {
        +        if (!schema.allOf) {
        +            schema.allOf = [];
        +        }
        +        if (schema.pattern) {
        +            schema.allOf.push({
        +                pattern: schema.pattern,
        +                ...(schema.errorMessage &&
        +                    refs.errorMessages && {
        +                    errorMessage: { pattern: schema.errorMessage.pattern },
        +                }),
        +            });
        +            delete schema.pattern;
        +            if (schema.errorMessage) {
        +                delete schema.errorMessage.pattern;
        +                if (Object.keys(schema.errorMessage).length === 0) {
        +                    delete schema.errorMessage;
        +                }
        +            }
        +        }
        +        schema.allOf.push({
        +            pattern: stringifyRegExpWithFlags(regex, refs),
        +            ...(message &&
        +                refs.errorMessages && { errorMessage: { pattern: message } }),
        +        });
        +    }
        +    else {
        +        setResponseValueAndErrors(schema, "pattern", stringifyRegExpWithFlags(regex, refs), message, refs);
        +    }
        +}
        +// Mutate z.string.regex() in a best attempt to accommodate for regex flags when applyRegexFlags is true
        +function stringifyRegExpWithFlags(regex, refs) {
        +    if (!refs.applyRegexFlags || !regex.flags) {
        +        return regex.source;
        +    }
        +    // Currently handled flags
        +    const flags = {
        +        i: regex.flags.includes("i"),
        +        m: regex.flags.includes("m"),
        +        s: regex.flags.includes("s"), // `.` matches newlines
        +    };
        +    // The general principle here is to step through each character, one at a time, applying mutations as flags require. We keep track when the current character is escaped, and when it's inside a group /like [this]/ or (also) a range like /[a-z]/. The following is fairly brittle imperative code; edit at your peril!
        +    const source = flags.i ? regex.source.toLowerCase() : regex.source;
        +    let pattern = "";
        +    let isEscaped = false;
        +    let inCharGroup = false;
        +    let inCharRange = false;
        +    for (let i = 0; i < source.length; i++) {
        +        if (isEscaped) {
        +            pattern += source[i];
        +            isEscaped = false;
        +            continue;
        +        }
        +        if (flags.i) {
        +            if (inCharGroup) {
        +                if (source[i].match(/[a-z]/)) {
        +                    if (inCharRange) {
        +                        pattern += source[i];
        +                        pattern += `${source[i - 2]}-${source[i]}`.toUpperCase();
        +                        inCharRange = false;
        +                    }
        +                    else if (source[i + 1] === "-" && source[i + 2]?.match(/[a-z]/)) {
        +                        pattern += source[i];
        +                        inCharRange = true;
        +                    }
        +                    else {
        +                        pattern += `${source[i]}${source[i].toUpperCase()}`;
        +                    }
        +                    continue;
        +                }
        +            }
        +            else if (source[i].match(/[a-z]/)) {
        +                pattern += `[${source[i]}${source[i].toUpperCase()}]`;
        +                continue;
        +            }
        +        }
        +        if (flags.m) {
        +            if (source[i] === "^") {
        +                pattern += `(^|(?<=[\r\n]))`;
        +                continue;
        +            }
        +            else if (source[i] === "$") {
        +                pattern += `($|(?=[\r\n]))`;
        +                continue;
        +            }
        +        }
        +        if (flags.s && source[i] === ".") {
        +            pattern += inCharGroup ? `${source[i]}\r\n` : `[${source[i]}\r\n]`;
        +            continue;
        +        }
        +        pattern += source[i];
        +        if (source[i] === "\\") {
        +            isEscaped = true;
        +        }
        +        else if (inCharGroup && source[i] === "]") {
        +            inCharGroup = false;
        +        }
        +        else if (!inCharGroup && source[i] === "[") {
        +            inCharGroup = true;
        +        }
        +    }
        +    try {
        +        new RegExp(pattern);
        +    }
        +    catch {
        +        console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`);
        +        return regex.source;
        +    }
        +    return pattern;
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/record.js
        +
        +
        +
        +
        +
        +function parseRecordDef(def, refs) {
        +    if (refs.target === "openAi") {
        +        console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
        +    }
        +    if (refs.target === "openApi3" &&
        +        def.keyType?._def.typeName === types_ZodFirstPartyTypeKind.ZodEnum) {
        +        return {
        +            type: "object",
        +            required: def.keyType._def.values,
        +            properties: def.keyType._def.values.reduce((acc, key) => ({
        +                ...acc,
        +                [key]: parseDef(def.valueType._def, {
        +                    ...refs,
        +                    currentPath: [...refs.currentPath, "properties", key],
        +                }) ?? parseAnyDef(refs),
        +            }), {}),
        +            additionalProperties: refs.rejectedAdditionalProperties,
        +        };
        +    }
        +    const schema = {
        +        type: "object",
        +        additionalProperties: parseDef(def.valueType._def, {
        +            ...refs,
        +            currentPath: [...refs.currentPath, "additionalProperties"],
        +        }) ?? refs.allowedAdditionalProperties,
        +    };
        +    if (refs.target === "openApi3") {
        +        return schema;
        +    }
        +    if (def.keyType?._def.typeName === types_ZodFirstPartyTypeKind.ZodString &&
        +        def.keyType._def.checks?.length) {
        +        const { type, ...keyType } = parseStringDef(def.keyType._def, refs);
        +        return {
        +            ...schema,
        +            propertyNames: keyType,
        +        };
        +    }
        +    else if (def.keyType?._def.typeName === types_ZodFirstPartyTypeKind.ZodEnum) {
        +        return {
        +            ...schema,
        +            propertyNames: {
        +                enum: def.keyType._def.values,
        +            },
        +        };
        +    }
        +    else if (def.keyType?._def.typeName === types_ZodFirstPartyTypeKind.ZodBranded &&
        +        def.keyType._def.type._def.typeName === types_ZodFirstPartyTypeKind.ZodString &&
        +        def.keyType._def.type._def.checks?.length) {
        +        const { type, ...keyType } = parseBrandedDef(def.keyType._def, refs);
        +        return {
        +            ...schema,
        +            propertyNames: keyType,
        +        };
        +    }
        +    return schema;
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/map.js
        +
        +
        +
        +function parseMapDef(def, refs) {
        +    if (refs.mapStrategy === "record") {
        +        return parseRecordDef(def, refs);
        +    }
        +    const keys = parseDef(def.keyType._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "items", "items", "0"],
        +    }) || parseAnyDef(refs);
        +    const values = parseDef(def.valueType._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "items", "items", "1"],
        +    }) || parseAnyDef(refs);
        +    return {
        +        type: "array",
        +        maxItems: 125,
        +        items: {
        +            type: "array",
        +            items: [keys, values],
        +            minItems: 2,
        +            maxItems: 2,
        +        },
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js
        +function parseNativeEnumDef(def) {
        +    const object = def.values;
        +    const actualKeys = Object.keys(def.values).filter((key) => {
        +        return typeof object[object[key]] !== "number";
        +    });
        +    const actualValues = actualKeys.map((key) => object[key]);
        +    const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));
        +    return {
        +        type: parsedTypes.length === 1
        +            ? parsedTypes[0] === "string"
        +                ? "string"
        +                : "number"
        +            : ["string", "number"],
        +        enum: actualValues,
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/never.js
        +
        +function parseNeverDef(refs) {
        +    return refs.target === "openAi"
        +        ? undefined
        +        : {
        +            not: parseAnyDef({
        +                ...refs,
        +                currentPath: [...refs.currentPath, "not"],
        +            }),
        +        };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/null.js
        +function parseNullDef(refs) {
        +    return refs.target === "openApi3"
        +        ? {
        +            enum: ["null"],
        +            nullable: true,
        +        }
        +        : {
        +            type: "null",
        +        };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/union.js
        +
        +const primitiveMappings = {
        +    ZodString: "string",
        +    ZodNumber: "number",
        +    ZodBigInt: "integer",
        +    ZodBoolean: "boolean",
        +    ZodNull: "null",
        +};
        +function parseUnionDef(def, refs) {
        +    if (refs.target === "openApi3")
        +        return asAnyOf(def, refs);
        +    const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;
        +    // This blocks tries to look ahead a bit to produce nicer looking schemas with type array instead of anyOf.
        +    if (options.every((x) => x._def.typeName in primitiveMappings &&
        +        (!x._def.checks || !x._def.checks.length))) {
        +        // all types in union are primitive and lack checks, so might as well squash into {type: [...]}
        +        const types = options.reduce((types, x) => {
        +            const type = primitiveMappings[x._def.typeName]; //Can be safely casted due to row 43
        +            return type && !types.includes(type) ? [...types, type] : types;
        +        }, []);
        +        return {
        +            type: types.length > 1 ? types : types[0],
        +        };
        +    }
        +    else if (options.every((x) => x._def.typeName === "ZodLiteral" && !x.description)) {
        +        // all options literals
        +        const types = options.reduce((acc, x) => {
        +            const type = typeof x._def.value;
        +            switch (type) {
        +                case "string":
        +                case "number":
        +                case "boolean":
        +                    return [...acc, type];
        +                case "bigint":
        +                    return [...acc, "integer"];
        +                case "object":
        +                    if (x._def.value === null)
        +                        return [...acc, "null"];
        +                case "symbol":
        +                case "undefined":
        +                case "function":
        +                default:
        +                    return acc;
        +            }
        +        }, []);
        +        if (types.length === options.length) {
        +            // all the literals are primitive, as far as null can be considered primitive
        +            const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i);
        +            return {
        +                type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],
        +                enum: options.reduce((acc, x) => {
        +                    return acc.includes(x._def.value) ? acc : [...acc, x._def.value];
        +                }, []),
        +            };
        +        }
        +    }
        +    else if (options.every((x) => x._def.typeName === "ZodEnum")) {
        +        return {
        +            type: "string",
        +            enum: options.reduce((acc, x) => [
        +                ...acc,
        +                ...x._def.values.filter((x) => !acc.includes(x)),
        +            ], []),
        +        };
        +    }
        +    return asAnyOf(def, refs);
        +}
        +const asAnyOf = (def, refs) => {
        +    const anyOf = (def.options instanceof Map
        +        ? Array.from(def.options.values())
        +        : def.options)
        +        .map((x, i) => parseDef(x._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "anyOf", `${i}`],
        +    }))
        +        .filter((x) => !!x &&
        +        (!refs.strictUnions ||
        +            (typeof x === "object" && Object.keys(x).length > 0)));
        +    return anyOf.length ? { anyOf } : undefined;
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
        +
        +
        +function parseNullableDef(def, refs) {
        +    if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) &&
        +        (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
        +        if (refs.target === "openApi3") {
        +            return {
        +                type: primitiveMappings[def.innerType._def.typeName],
        +                nullable: true,
        +            };
        +        }
        +        return {
        +            type: [
        +                primitiveMappings[def.innerType._def.typeName],
        +                "null",
        +            ],
        +        };
        +    }
        +    if (refs.target === "openApi3") {
        +        const base = parseDef(def.innerType._def, {
        +            ...refs,
        +            currentPath: [...refs.currentPath],
        +        });
        +        if (base && "$ref" in base)
        +            return { allOf: [base], nullable: true };
        +        return base && { ...base, nullable: true };
        +    }
        +    const base = parseDef(def.innerType._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "anyOf", "0"],
        +    });
        +    return base && { anyOf: [base, { type: "null" }] };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/number.js
        +
        +function parseNumberDef(def, refs) {
        +    const res = {
        +        type: "number",
        +    };
        +    if (!def.checks)
        +        return res;
        +    for (const check of def.checks) {
        +        switch (check.kind) {
        +            case "int":
        +                res.type = "integer";
        +                addErrorMessage(res, "type", check.message, refs);
        +                break;
        +            case "min":
        +                if (refs.target === "jsonSchema7") {
        +                    if (check.inclusive) {
        +                        setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
        +                    }
        +                    else {
        +                        setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
        +                    }
        +                }
        +                else {
        +                    if (!check.inclusive) {
        +                        res.exclusiveMinimum = true;
        +                    }
        +                    setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
        +                }
        +                break;
        +            case "max":
        +                if (refs.target === "jsonSchema7") {
        +                    if (check.inclusive) {
        +                        setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
        +                    }
        +                    else {
        +                        setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
        +                    }
        +                }
        +                else {
        +                    if (!check.inclusive) {
        +                        res.exclusiveMaximum = true;
        +                    }
        +                    setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
        +                }
        +                break;
        +            case "multipleOf":
        +                setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
        +                break;
        +        }
        +    }
        +    return res;
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/object.js
        +
        +function parseObjectDef(def, refs) {
        +    const forceOptionalIntoNullable = refs.target === "openAi";
        +    const result = {
        +        type: "object",
        +        properties: {},
        +    };
        +    const required = [];
        +    const shape = def.shape();
        +    for (const propName in shape) {
        +        let propDef = shape[propName];
        +        if (propDef === undefined || propDef._def === undefined) {
        +            continue;
        +        }
        +        let propOptional = safeIsOptional(propDef);
        +        if (propOptional && forceOptionalIntoNullable) {
        +            if (propDef._def.typeName === "ZodOptional") {
        +                propDef = propDef._def.innerType;
        +            }
        +            if (!propDef.isNullable()) {
        +                propDef = propDef.nullable();
        +            }
        +            propOptional = false;
        +        }
        +        const parsedDef = parseDef(propDef._def, {
        +            ...refs,
        +            currentPath: [...refs.currentPath, "properties", propName],
        +            propertyPath: [...refs.currentPath, "properties", propName],
        +        });
        +        if (parsedDef === undefined) {
        +            continue;
        +        }
        +        result.properties[propName] = parsedDef;
        +        if (!propOptional) {
        +            required.push(propName);
        +        }
        +    }
        +    if (required.length) {
        +        result.required = required;
        +    }
        +    const additionalProperties = decideAdditionalProperties(def, refs);
        +    if (additionalProperties !== undefined) {
        +        result.additionalProperties = additionalProperties;
        +    }
        +    return result;
        +}
        +function decideAdditionalProperties(def, refs) {
        +    if (def.catchall._def.typeName !== "ZodNever") {
        +        return parseDef(def.catchall._def, {
        +            ...refs,
        +            currentPath: [...refs.currentPath, "additionalProperties"],
        +        });
        +    }
        +    switch (def.unknownKeys) {
        +        case "passthrough":
        +            return refs.allowedAdditionalProperties;
        +        case "strict":
        +            return refs.rejectedAdditionalProperties;
        +        case "strip":
        +            return refs.removeAdditionalStrategy === "strict"
        +                ? refs.allowedAdditionalProperties
        +                : refs.rejectedAdditionalProperties;
        +    }
        +}
        +function safeIsOptional(schema) {
        +    try {
        +        return schema.isOptional();
        +    }
        +    catch {
        +        return true;
        +    }
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
        +
        +
        +const parseOptionalDef = (def, refs) => {
        +    if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
        +        return parseDef(def.innerType._def, refs);
        +    }
        +    const innerSchema = parseDef(def.innerType._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "anyOf", "1"],
        +    });
        +    return innerSchema
        +        ? {
        +            anyOf: [
        +                {
        +                    not: parseAnyDef(refs),
        +                },
        +                innerSchema,
        +            ],
        +        }
        +        : parseAnyDef(refs);
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
        +
        +const parsePipelineDef = (def, refs) => {
        +    if (refs.pipeStrategy === "input") {
        +        return parseDef(def.in._def, refs);
        +    }
        +    else if (refs.pipeStrategy === "output") {
        +        return parseDef(def.out._def, refs);
        +    }
        +    const a = parseDef(def.in._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "allOf", "0"],
        +    });
        +    const b = parseDef(def.out._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"],
        +    });
        +    return {
        +        allOf: [a, b].filter((x) => x !== undefined),
        +    };
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
        +
        +function parsePromiseDef(def, refs) {
        +    return parseDef(def.type._def, refs);
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/set.js
        +
        +
        +function parseSetDef(def, refs) {
        +    const items = parseDef(def.valueType._def, {
        +        ...refs,
        +        currentPath: [...refs.currentPath, "items"],
        +    });
        +    const schema = {
        +        type: "array",
        +        uniqueItems: true,
        +        items,
        +    };
        +    if (def.minSize) {
        +        setResponseValueAndErrors(schema, "minItems", def.minSize.value, def.minSize.message, refs);
        +    }
        +    if (def.maxSize) {
        +        setResponseValueAndErrors(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs);
        +    }
        +    return schema;
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
        +
        +function parseTupleDef(def, refs) {
        +    if (def.rest) {
        +        return {
        +            type: "array",
        +            minItems: def.items.length,
        +            items: def.items
        +                .map((x, i) => parseDef(x._def, {
        +                ...refs,
        +                currentPath: [...refs.currentPath, "items", `${i}`],
        +            }))
        +                .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),
        +            additionalItems: parseDef(def.rest._def, {
        +                ...refs,
        +                currentPath: [...refs.currentPath, "additionalItems"],
        +            }),
        +        };
        +    }
        +    else {
        +        return {
        +            type: "array",
        +            minItems: def.items.length,
        +            maxItems: def.items.length,
        +            items: def.items
        +                .map((x, i) => parseDef(x._def, {
        +                ...refs,
        +                currentPath: [...refs.currentPath, "items", `${i}`],
        +            }))
        +                .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),
        +        };
        +    }
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
        +
        +function parseUndefinedDef(refs) {
        +    return {
        +        not: parseAnyDef(refs),
        +    };
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
        +
        +function parseUnknownDef(refs) {
        +    return parseAnyDef(refs);
        +}
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
        +
        +const parseReadonlyDef = (def, refs) => {
        +    return parseDef(def.innerType._def, refs);
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/selectParser.js
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +const selectParser = (def, typeName, refs) => {
        +    switch (typeName) {
        +        case types_ZodFirstPartyTypeKind.ZodString:
        +            return parseStringDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodNumber:
        +            return parseNumberDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodObject:
        +            return parseObjectDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodBigInt:
        +            return parseBigintDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodBoolean:
        +            return parseBooleanDef();
        +        case types_ZodFirstPartyTypeKind.ZodDate:
        +            return parseDateDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodUndefined:
        +            return parseUndefinedDef(refs);
        +        case types_ZodFirstPartyTypeKind.ZodNull:
        +            return parseNullDef(refs);
        +        case types_ZodFirstPartyTypeKind.ZodArray:
        +            return parseArrayDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodUnion:
        +        case types_ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
        +            return parseUnionDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodIntersection:
        +            return parseIntersectionDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodTuple:
        +            return parseTupleDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodRecord:
        +            return parseRecordDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodLiteral:
        +            return parseLiteralDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodEnum:
        +            return parseEnumDef(def);
        +        case types_ZodFirstPartyTypeKind.ZodNativeEnum:
        +            return parseNativeEnumDef(def);
        +        case types_ZodFirstPartyTypeKind.ZodNullable:
        +            return parseNullableDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodOptional:
        +            return parseOptionalDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodMap:
        +            return parseMapDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodSet:
        +            return parseSetDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodLazy:
        +            return () => def.getter()._def;
        +        case types_ZodFirstPartyTypeKind.ZodPromise:
        +            return parsePromiseDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodNaN:
        +        case types_ZodFirstPartyTypeKind.ZodNever:
        +            return parseNeverDef(refs);
        +        case types_ZodFirstPartyTypeKind.ZodEffects:
        +            return parseEffectsDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodAny:
        +            return parseAnyDef(refs);
        +        case types_ZodFirstPartyTypeKind.ZodUnknown:
        +            return parseUnknownDef(refs);
        +        case types_ZodFirstPartyTypeKind.ZodDefault:
        +            return parseDefaultDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodBranded:
        +            return parseBrandedDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodReadonly:
        +            return parseReadonlyDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodCatch:
        +            return parseCatchDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodPipeline:
        +            return parsePipelineDef(def, refs);
        +        case types_ZodFirstPartyTypeKind.ZodFunction:
        +        case types_ZodFirstPartyTypeKind.ZodVoid:
        +        case types_ZodFirstPartyTypeKind.ZodSymbol:
        +            return undefined;
        +        default:
        +            return ((_) => undefined)(typeName);
        +    }
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/parseDef.js
        +
        +
        +
        +
        +function parseDef(def, refs, forceResolution = false) {
        +    const seenItem = refs.seen.get(def);
        +    if (refs.override) {
        +        const overrideResult = refs.override?.(def, refs, seenItem, forceResolution);
        +        if (overrideResult !== ignoreOverride) {
        +            return overrideResult;
        +        }
        +    }
        +    if (seenItem && !forceResolution) {
        +        const seenSchema = get$ref(seenItem, refs);
        +        if (seenSchema !== undefined) {
        +            return seenSchema;
        +        }
        +    }
        +    const newItem = { def, path: refs.currentPath, jsonSchema: undefined };
        +    refs.seen.set(def, newItem);
        +    const jsonSchemaOrGetter = selectParser(def, def.typeName, refs);
        +    // If the return was a function, then the inner definition needs to be extracted before a call to parseDef (recursive)
        +    const jsonSchema = typeof jsonSchemaOrGetter === "function"
        +        ? parseDef(jsonSchemaOrGetter(), refs)
        +        : jsonSchemaOrGetter;
        +    if (jsonSchema) {
        +        addMeta(def, refs, jsonSchema);
        +    }
        +    if (refs.postProcess) {
        +        const postProcessResult = refs.postProcess(jsonSchema, def, refs);
        +        newItem.jsonSchema = jsonSchema;
        +        return postProcessResult;
        +    }
        +    newItem.jsonSchema = jsonSchema;
        +    return jsonSchema;
        +}
        +const get$ref = (item, refs) => {
        +    switch (refs.$refStrategy) {
        +        case "root":
        +            return { $ref: item.path.join("/") };
        +        case "relative":
        +            return { $ref: getRelativePath(refs.currentPath, item.path) };
        +        case "none":
        +        case "seen": {
        +            if (item.path.length < refs.currentPath.length &&
        +                item.path.every((value, index) => refs.currentPath[index] === value)) {
        +                console.warn(`Recursive reference detected at ${refs.currentPath.join("/")}! Defaulting to any`);
        +                return parseAnyDef(refs);
        +            }
        +            return refs.$refStrategy === "seen" ? parseAnyDef(refs) : undefined;
        +        }
        +    }
        +};
        +const addMeta = (def, refs, jsonSchema) => {
        +    if (def.description) {
        +        jsonSchema.description = def.description;
        +        if (refs.markdownDescription) {
        +            jsonSchema.markdownDescription = def.description;
        +        }
        +    }
        +    return jsonSchema;
        +};
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
        +
        +
        +
        +const zodToJsonSchema = (schema, options) => {
        +    const refs = getRefs(options);
        +    let definitions = typeof options === "object" && options.definitions
        +        ? Object.entries(options.definitions).reduce((acc, [name, schema]) => ({
        +            ...acc,
        +            [name]: parseDef(schema._def, {
        +                ...refs,
        +                currentPath: [...refs.basePath, refs.definitionPath, name],
        +            }, true) ?? parseAnyDef(refs),
        +        }), {})
        +        : undefined;
        +    const name = typeof options === "string"
        +        ? options
        +        : options?.nameStrategy === "title"
        +            ? undefined
        +            : options?.name;
        +    const main = parseDef(schema._def, name === undefined
        +        ? refs
        +        : {
        +            ...refs,
        +            currentPath: [...refs.basePath, refs.definitionPath, name],
        +        }, false) ?? parseAnyDef(refs);
        +    const title = typeof options === "object" &&
        +        options.name !== undefined &&
        +        options.nameStrategy === "title"
        +        ? options.name
        +        : undefined;
        +    if (title !== undefined) {
        +        main.title = title;
        +    }
        +    if (refs.flags.hasReferencedOpenAiAnyType) {
        +        if (!definitions) {
        +            definitions = {};
        +        }
        +        if (!definitions[refs.openAiAnyTypeName]) {
        +            definitions[refs.openAiAnyTypeName] = {
        +                // Skipping "object" as no properties can be defined and additionalProperties must be "false"
        +                type: ["string", "number", "integer", "boolean", "array", "null"],
        +                items: {
        +                    $ref: refs.$refStrategy === "relative"
        +                        ? "1"
        +                        : [
        +                            ...refs.basePath,
        +                            refs.definitionPath,
        +                            refs.openAiAnyTypeName,
        +                        ].join("/"),
        +                },
        +            };
        +        }
        +    }
        +    const combined = name === undefined
        +        ? definitions
        +            ? {
        +                ...main,
        +                [refs.definitionPath]: definitions,
        +            }
        +            : main
        +        : {
        +            $ref: [
        +                ...(refs.$refStrategy === "relative" ? [] : refs.basePath),
        +                refs.definitionPath,
        +                name,
        +            ].join("/"),
        +            [refs.definitionPath]: {
        +                ...definitions,
        +                [name]: main,
        +            },
        +        };
        +    if (refs.target === "jsonSchema7") {
        +        combined.$schema = "http://json-schema.org/draft-07/schema#";
        +    }
        +    else if (refs.target === "jsonSchema2019-09" || refs.target === "openAi") {
        +        combined.$schema = "https://json-schema.org/draft/2019-09/schema#";
        +    }
        +    if (refs.target === "openAi" &&
        +        ("anyOf" in combined ||
        +            "oneOf" in combined ||
        +            "allOf" in combined ||
        +            ("type" in combined && Array.isArray(combined.type)))) {
        +        console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");
        +    }
        +    return combined;
        +};
        +
        +
        +;// ../commons/node_modules/zod-to-json-schema/dist/esm/index.js
        +/* unused harmony import specifier */ var esm_zodToJsonSchema;
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +/* harmony default export */ const esm = ((/* unused pure expression or super */ null && (esm_zodToJsonSchema)));
        +
        +;// ../commons/dist/lib/fs.js
        +/* unused harmony import specifier */ var fs;
        +
        +const fs_isFile = (src) => {
        +    let srcIsFile = false;
        +    try {
        +        srcIsFile = external_fs_.lstatSync(src).isFile();
        +    }
        +    catch (e) { }
        +    return srcIsFile;
        +};
        +const fs_isFolder = (src) => {
        +    let srcIsFolder = false;
        +    try {
        +        srcIsFolder = fs.lstatSync(src).isDirectory();
        +    }
        +    catch (e) { }
        +    return srcIsFolder;
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2ZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBRXhCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQ2xDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN0QixJQUFJLENBQUM7UUFDRCxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDZixPQUFPLFNBQVMsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUNwQyxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDeEIsSUFBSSxDQUFDO1FBQ0QsV0FBVyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDakQsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2YsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFBIn0=
        +;// ../commons/dist/schemas/path.js
        +/* unused harmony import specifier */ var path_z;
        +/* unused harmony import specifier */ var path_path;
        +/* unused harmony import specifier */ var existsSync;
        +/* unused harmony import specifier */ var lstatSync;
        +/* unused harmony import specifier */ var accessSync;
        +/* unused harmony import specifier */ var constants;
        +/* unused harmony import specifier */ var path_resolve;
        +/* unused harmony import specifier */ var path_template;
        +/* unused harmony import specifier */ var path_DEFAULT_VARS;
        +/* unused harmony import specifier */ var getDescription;
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +const DefaultPathSchemaBase = schemas_string().describe('Path to a file or directory');
        +const PathErrorMessages = {
        +    INVALID_INPUT: 'INVALID_INPUT: ${inputPath}',
        +    PATH_DOES_NOT_EXIST: 'Path does not exist ${inputPath} = ${resolvedPath}',
        +    DIRECTORY_NOT_WRITABLE: 'Directory is not writable ${inputPath} = ${resolvedPath}',
        +    NOT_A_DIRECTORY: 'Path is not a directory or does not exist ${inputPath} = ${resolvedPath}',
        +    NOT_A_JSON_FILE: 'File is not a JSON file or does not exist ${inputPath} = ${resolvedPath}',
        +    PATH_NOT_ABSOLUTE: 'Path is not absolute ${inputPath} = ${resolvedPath}',
        +    PATH_NOT_RELATIVE: 'Path is not relative ${inputPath} = ${resolvedPath}',
        +};
        +var E_PATH;
        +(function (E_PATH) {
        +    E_PATH[E_PATH["ENSURE_PATH_EXISTS"] = 1] = "ENSURE_PATH_EXISTS";
        +    E_PATH[E_PATH["INVALID_INPUT"] = 2] = "INVALID_INPUT";
        +    E_PATH[E_PATH["ENSURE_DIRECTORY_WRITABLE"] = 3] = "ENSURE_DIRECTORY_WRITABLE";
        +    E_PATH[E_PATH["ENSURE_FILE_IS_JSON"] = 4] = "ENSURE_FILE_IS_JSON";
        +    E_PATH[E_PATH["ENSURE_PATH_IS_ABSOLUTE"] = 5] = "ENSURE_PATH_IS_ABSOLUTE";
        +    E_PATH[E_PATH["ENSURE_PATH_IS_RELATIVE"] = 6] = "ENSURE_PATH_IS_RELATIVE";
        +    E_PATH[E_PATH["GET_PATH_INFO"] = 7] = "GET_PATH_INFO";
        +})(E_PATH || (E_PATH = {}));
        +const Transformers = {
        +    resolve: (val, variables = {}) => {
        +        if (!val) {
        +            return null;
        +        }
        +        return {
        +            resolved: external_path_.resolve(resolve(val, false, variables)),
        +            source: val
        +        };
        +    },
        +    json: (val, variables = {}) => {
        +        if (!val) {
        +            return null;
        +        }
        +        const resolved = external_path_.resolve(resolve(isString(val) ? val : val.source, false, variables));
        +        return {
        +            resolved,
        +            source: val,
        +            value: read_sync(resolved, 'json')
        +        };
        +    },
        +    string: (val, variables = {}) => {
        +        if (!val) {
        +            return null;
        +        }
        +        let src = isString(val) ? val : val.source;
        +        src = resolve(src, false, variables);
        +        const resolved = external_path_.resolve(src);
        +        if (!sync(resolved) || !fs_isFile(resolved)) {
        +            return {
        +                resolved,
        +                source: val,
        +                value: null
        +            };
        +        }
        +        else {
        +            let value = null;
        +            try {
        +                value = read_sync(resolved, 'string');
        +            }
        +            catch (e) {
        +                logger.error('Failed to read file', { resolved, source: val, error: e.message });
        +            }
        +            return {
        +                resolved,
        +                source: val,
        +                value
        +            };
        +        }
        +    }
        +};
        +const TransformersDescription = [
        +    {
        +        description: 'RESOLVE_PATH',
        +        fn: Transformers.resolve
        +    },
        +    {
        +        description: 'READ_JSON',
        +        fn: Transformers.json
        +    },
        +    {
        +        description: 'READ_STRING',
        +        fn: Transformers.string
        +    }
        +];
        +const extendType = (type, extend, variables = {}) => {
        +    if (Array.isArray(extend.refine)) {
        +        for (const refine of extend.refine) {
        +            type = type.refine(refine);
        +        }
        +    }
        +    else {
        +        type = type.refine(extend.refine);
        +    }
        +    if (Array.isArray(extend.transform)) {
        +        for (const transform of extend.transform) {
        +            type = type.transform((val) => transform(val, variables));
        +        }
        +    }
        +    else {
        +        type = type.transform(extend.transform);
        +    }
        +    return type;
        +};
        +const extendTypeDescription = (type, extension, variables = {}) => {
        +    const description = getDescription(type) || '';
        +    let transformerDescriptions = 'Transformers:\n';
        +    if (Array.isArray(extension.transform)) {
        +        for (const transform of extension.transform) {
        +            transformerDescriptions += transformerDescription(transform) + '\n';
        +        }
        +    }
        +    else {
        +        transformerDescriptions += transformerDescription(extension.transform) + '\n';
        +    }
        +    type = type.describe(description + '\n' + transformerDescriptions);
        +    return type;
        +};
        +const transformerDescription = (fn) => {
        +    const description = TransformersDescription.find((t) => t.fn === fn);
        +    return description ? description.description : 'Unknown';
        +};
        +const extendSchema = (baseSchema, extend) => {
        +    const baseShape = baseSchema.shape;
        +    const extendedShape = { ...baseShape };
        +    for (const [key, refines] of Object.entries(extend)) {
        +        if (!baseShape[key])
        +            continue;
        +        let fieldSchema = baseShape[key];
        +        if (Array.isArray(refines.refine)) {
        +            for (const refine of refines.refine) {
        +                fieldSchema = fieldSchema.superRefine(refine);
        +            }
        +        }
        +        else {
        +            fieldSchema = fieldSchema.superRefine(refines);
        +        }
        +        if (Array.isArray(refines.transform)) {
        +            for (const transform of refines.transform) {
        +                fieldSchema = fieldSchema.transform((val) => transform(val));
        +            }
        +        }
        +        else {
        +            fieldSchema = fieldSchema.transform(refines.transform);
        +        }
        +        extendedShape[key] = fieldSchema;
        +    }
        +    return path_z.object(extendedShape);
        +};
        +const ENSURE_DIRECTORY_WRITABLE = (inputPath, ctx, variables) => {
        +    const resolvedPath = path_path.resolve(path_resolve(inputPath, false, variables));
        +    const parts = path_path.parse(resolvedPath);
        +    if (resolvedPath && existsSync(parts.dir) && lstatSync(parts.dir).isDirectory()) {
        +        try {
        +            accessSync(resolvedPath, constants.W_OK);
        +            return resolvedPath;
        +        }
        +        catch (e) {
        +            ctx.addIssue({
        +                code: E_PATH.ENSURE_DIRECTORY_WRITABLE,
        +                message: path_template(PathErrorMessages.DIRECTORY_NOT_WRITABLE, { inputPath, resolvedPath })
        +            });
        +            return path_z.NEVER;
        +        }
        +    }
        +    else {
        +        ctx.addIssue({
        +            code: E_PATH.ENSURE_DIRECTORY_WRITABLE,
        +            message: path_template(PathErrorMessages.NOT_A_DIRECTORY, { inputPath, resolvedPath })
        +        });
        +        return path_z.NEVER;
        +    }
        +};
        +const IS_VALID_STRING = (inputPath) => isString(inputPath);
        +const ENSURE_PATH_EXISTS = (inputPath, ctx, variables) => {
        +    if (!inputPath || !ctx) {
        +        return NEVER;
        +    }
        +    if (!isString(inputPath)) {
        +        ctx.addIssue({
        +            code: E_PATH.INVALID_INPUT,
        +            message: template(PathErrorMessages.INVALID_INPUT, {})
        +        });
        +        return NEVER;
        +    }
        +    const resolvedPath = external_path_.resolve(resolve(inputPath, false, variables));
        +    if (!sync(resolvedPath)) {
        +        ctx.addIssue({
        +            code: E_PATH.ENSURE_PATH_EXISTS,
        +            message: template(PathErrorMessages.PATH_DOES_NOT_EXIST, { inputPath, resolvedPath })
        +        });
        +        return NEVER;
        +    }
        +    return resolvedPath;
        +};
        +const test = () => {
        +    const BaseCompilerOptions = () => path_z.object({
        +        root: DefaultPathSchemaBase.default(`${process.cwd()}`)
        +    });
        +    const ret = extendSchema(BaseCompilerOptions(), {
        +        root: {
        +            refine: [
        +                (val, ctx) => ENSURE_DIRECTORY_WRITABLE(val, ctx, path_DEFAULT_VARS({ exampleVar: 'exampleValue' })),
        +                (val, ctx) => ENSURE_PATH_EXISTS(val, ctx, path_DEFAULT_VARS({ exampleVar: 'exampleValue' }))
        +            ],
        +            transform: [
        +                (val) => path_path.resolve(path_resolve(val, false, path_DEFAULT_VARS({ exampleVar: 'exampleValue' })))
        +            ]
        +        }
        +    });
        +    return ret;
        +};
        +const Templates = {
        +    json: {
        +        refine: [IS_VALID_STRING, ENSURE_PATH_EXISTS],
        +        transform: [Transformers.resolve, Transformers.json]
        +    },
        +    string: {
        +        refine: [ENSURE_PATH_EXISTS],
        +        transform: [Transformers.resolve, Transformers.string]
        +    }
        +};
        +const path_extend = (baseSchema, template, variables = {}) => {
        +    const type = extendType(baseSchema, template, variables);
        +    return extendTypeDescription(type, template, variables);
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWFzL3BhdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBYyxNQUFNLEtBQUssQ0FBQTtBQUNuQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFPckMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUE7QUFFaEYsTUFBTSxpQkFBaUIsR0FBRztJQUN0QixhQUFhLEVBQUUsNkJBQTZCO0lBQzVDLG1CQUFtQixFQUFFLG9EQUFvRDtJQUN6RSxzQkFBc0IsRUFBRSwwREFBMEQ7SUFDbEYsZUFBZSxFQUFFLDBFQUEwRTtJQUMzRixlQUFlLEVBQUUsMEVBQTBFO0lBQzNGLGlCQUFpQixFQUFFLHFEQUFxRDtJQUN4RSxpQkFBaUIsRUFBRSxxREFBcUQ7Q0FDbEUsQ0FBQTtBQUVWLE1BQU0sQ0FBTixJQUFZLE1BUVg7QUFSRCxXQUFZLE1BQU07SUFDZCwrREFBc0IsQ0FBQTtJQUN0QixxREFBYSxDQUFBO0lBQ2IsNkVBQXlCLENBQUE7SUFDekIsaUVBQW1CLENBQUE7SUFDbkIseUVBQXVCLENBQUE7SUFDdkIseUVBQXVCLENBQUE7SUFDdkIscURBQWEsQ0FBQTtBQUNqQixDQUFDLEVBUlcsTUFBTSxLQUFOLE1BQU0sUUFRakI7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXNCO0lBQzNDLE9BQU8sRUFBRSxDQUFDLEdBQVcsRUFBRSxZQUFvQyxFQUFFLEVBQUUsRUFBRTtRQUM3RCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQTtRQUNmLENBQUM7UUFDRCxPQUFPO1lBQ0gsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdEQsTUFBTSxFQUFFLEdBQUc7U0FDZCxDQUFBO0lBQ0wsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLEdBQWtELEVBQUUsWUFBb0MsRUFBRSxFQUFFLEVBQUU7UUFDakcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDMUYsT0FBTztZQUNILFFBQVE7WUFDUixNQUFNLEVBQUUsR0FBRztZQUNYLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztTQUNoQyxDQUFBO0lBQ0wsQ0FBQztJQUNELE1BQU0sRUFBRSxDQUFDLEdBQWtELEVBQUUsWUFBb0MsRUFBRSxFQUFFLEVBQUU7UUFDbkcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1AsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO1FBQ0QsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUE7UUFDMUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU87Z0JBQ0gsUUFBUTtnQkFDUixNQUFNLEVBQUUsR0FBRztnQkFDWCxLQUFLLEVBQUUsSUFBSTthQUNkLENBQUE7UUFDTCxDQUFDO2FBQ0ksQ0FBQztZQUNGLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQTtZQUNoQixJQUFJLENBQUM7Z0JBQ0QsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDcEMsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUNwRixDQUFDO1lBQ0QsT0FBTztnQkFDSCxRQUFRO2dCQUNSLE1BQU0sRUFBRSxHQUFHO2dCQUNYLEtBQUs7YUFDUixDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkM7UUFDSSxXQUFXLEVBQUUsY0FBYztRQUMzQixFQUFFLEVBQUUsWUFBWSxDQUFDLE9BQU87S0FDM0I7SUFDRDtRQUNJLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLEVBQUUsRUFBRSxZQUFZLENBQUMsSUFBSTtLQUN4QjtJQUNEO1FBQ0ksV0FBVyxFQUFFLGFBQWE7UUFDMUIsRUFBRSxFQUFFLFlBQVksQ0FBQyxNQUFNO0tBQzFCO0NBQ0osQ0FBQTtBQUNELE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBZ0IsRUFBRSxNQUFlLEVBQUUsWUFBb0MsRUFBRSxFQUFFLEVBQUU7SUFDN0YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQy9CLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQWEsQ0FBQyxDQUFBO1FBQ3JDLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2xDLEtBQUssTUFBTSxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDdkUsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBQ0osSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUVELE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFnQixFQUFFLFNBQWtCLEVBQUUsWUFBb0MsRUFBRSxFQUFFLEVBQUU7SUFDM0csTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM5QyxJQUFJLHVCQUF1QixHQUFHLGlCQUFpQixDQUFBO0lBQy9DLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQyx1QkFBdUIsSUFBSSxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUE7UUFDdkUsQ0FBQztJQUNMLENBQUM7U0FBTSxDQUFDO1FBQ0osdUJBQXVCLElBQUksc0JBQXNCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQTtJQUNqRixDQUFDO0lBQ0QsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxDQUFBO0lBQ2xFLE9BQU8sSUFBSSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEVBQWMsRUFBRSxFQUFFO0lBQzlDLE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNwRSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0FBQzVELENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLFVBQTRCLEVBQUUsTUFBMkIsRUFBRSxFQUFFO0lBQ3RGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUE7SUFDbEMsTUFBTSxhQUFhLEdBQStCLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQTtJQUNsRSxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ2YsU0FBUTtRQUVaLElBQUksV0FBVyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNoQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xDLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pELENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2xELENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbkMsS0FBSyxNQUFNLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3hDLFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUNoRSxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDMUQsQ0FBQztRQUNELGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUE7SUFFcEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUNsQyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsR0FBUSxFQUFFLFNBQWlDLEVBQUUsRUFBRTtJQUN4RyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDdkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUN0QyxJQUFJLFlBQVksSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUM5RSxJQUFJLENBQUM7WUFDRCxVQUFVLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN4QyxPQUFPLFlBQVksQ0FBQTtRQUN2QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLE1BQU0sQ0FBQyx5QkFBeUI7Z0JBQ3RDLE9BQU8sRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLENBQUM7YUFDNUYsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFBO1FBQ2xCLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDVCxJQUFJLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtZQUN0QyxPQUFPLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQztTQUNwRixDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUE7SUFDbEIsQ0FBQztBQUVMLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUV6RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFNBQWlCLEVBQUUsR0FBUSxFQUFFLFNBQWlDLEVBQUUsRUFBRTtJQUNqRyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQ2xCLENBQUM7SUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDdkIsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLENBQUMsYUFBYTtZQUMxQixPQUFPLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7U0FDekQsQ0FBQyxDQUFBO1FBQ0YsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBQ2xCLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFDdkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDVCxJQUFJLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtZQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixFQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDO1NBQ3pGLENBQUMsQ0FBQTtRQUVGLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUNsQixDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtJQUNyQixNQUFNLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO0tBQzFELENBQUMsQ0FBQTtJQUNGLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO1FBQzVDLElBQUksRUFBRTtZQUNGLE1BQU0sRUFBRTtnQkFDSixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7Z0JBQy9GLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQzthQUMzRjtZQUNELFNBQVMsRUFBRTtnQkFDUCxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzNGO1NBQ0o7S0FDSixDQUFDLENBQUE7SUFDRixPQUFPLEdBQUcsQ0FBQTtBQUNkLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FDdEI7SUFDSSxJQUFJLEVBQUU7UUFDRixNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUM7UUFDN0MsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDO0tBQ3ZEO0lBQ0QsTUFBTSxFQUFFO1FBQ0osTUFBTSxFQUFFLENBQUMsa0JBQWtCLENBQUM7UUFDNUIsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDO0tBQ3pEO0NBQ0osQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFVBQXNCLEVBQUUsUUFBYSxFQUFFLFlBQW9DLEVBQUUsRUFBRSxFQUFFO0lBQ3BHLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3hELE9BQU8scUJBQXFCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUMzRCxDQUFDLENBQUEifQ==
        +;// ../commons/dist/schemas/index.js
        +/* unused harmony import specifier */ var schemas_path;
        +/* unused harmony import specifier */ var schemas_z;
        +/* unused harmony import specifier */ var schemas_ZodObject;
        +/* unused harmony import specifier */ var schemas_ZodOptional;
        +/* unused harmony import specifier */ var schemas_ZodDefault;
        +/* unused harmony import specifier */ var writeFS;
        +/* unused harmony import specifier */ var schemas_printNode;
        +/* unused harmony import specifier */ var schemas_zodToTs;
        +/* unused harmony import specifier */ var schemas_createAuxiliaryTypeStore;
        +/* unused harmony import specifier */ var schemas_logger;
        +
        +
        +
        +
        +
        +
        +
        +
        +const generate_interfaces = (schemas, dst) => {
        +    const types = schemas.map(schema => `export interface ${schema.description || 'IOptions'} ${schemas_printNode(schemas_zodToTs(schema, { auxiliaryTypeStore: schemas_createAuxiliaryTypeStore() }).node)}`);
        +    writeFS(dst, types.join('\n'));
        +};
        +const enumerateHelpStrings = (schema, path = [], logger) => {
        +    if (schema instanceof schemas_ZodObject) {
        +        for (const key in schema.shape) {
        +            const nestedSchema = schema.shape[key];
        +            enumerateHelpStrings(nestedSchema, [...path, key], logger);
        +        }
        +    }
        +    else {
        +        const description = schema._zod?.def?.description ?? schema._def?.description;
        +        if (description) {
        +            logger.debug(`\t ${path.join('.')}: ${description}`);
        +        }
        +    }
        +};
        +const yargsDefaults = (yargs) => yargs.parserConfiguration({ "camel-case-expansion": false });
        +const getInnerSchema = (schema) => {
        +    // ZodEffects was removed in Zod v4; just return the schema as-is
        +    return schema;
        +};
        +const getInnerType = (type) => {
        +    while (type instanceof schemas_ZodOptional) {
        +        type = type.unwrap();
        +    }
        +    while (type instanceof schemas_ZodDefault) {
        +        type = type.removeDefault();
        +    }
        +    // Zod v4: typeName is on _zod.def.type (fallback to _def.typeName for compat)
        +    return type._zod?.def?.type ?? type._def?.typeName;
        +};
        +const getDefaultValue = (schema) => {
        +    if (schema instanceof schemas_ZodDefault) {
        +        // Zod v4: defaultValue moved to _zod.def.defaultValue
        +        const defVal = schema._zod?.def?.defaultValue ?? schema._def?.defaultValue;
        +        return typeof defVal === 'function' ? defVal() : defVal;
        +    }
        +    return undefined;
        +};
        +const getFieldDefaultValue = (schema) => {
        +    if (!schema) {
        +        return undefined;
        +    }
        +    if (schema instanceof schemas_ZodDefault) {
        +        const defVal = schema._zod?.def?.defaultValue ?? schema._def?.defaultValue;
        +        return typeof defVal === 'function' ? defVal() : defVal;
        +    }
        +    if (schema instanceof schemas_ZodOptional) {
        +        return getFieldDefaultValue(schema.unwrap());
        +    }
        +    return undefined;
        +};
        +const schemas_getDescription = (schema) => {
        +    if (!schema) {
        +        return undefined;
        +    }
        +    // Zod v4: description is in _zod.def.description
        +    const desc = schema._zod?.def?.description ?? schema._def?.description;
        +    if (desc) {
        +        return desc;
        +    }
        +    if (schema instanceof schemas_ZodOptional) {
        +        return schemas_getDescription(schema.unwrap());
        +    }
        +    return undefined;
        +};
        +const toYargs = (yargs, zodSchema, options) => {
        +    yargsDefaults(yargs);
        +    try {
        +        const shape = zodSchema.shape;
        +        for (const key in shape) {
        +            const zodField = shape[key];
        +            const innerDef = getInnerSchema(zodField);
        +            if (!innerDef) {
        +                continue;
        +            }
        +            let type;
        +            const inner_type = getInnerType(innerDef);
        +            let descriptionExtra = '';
        +            switch (inner_type) {
        +                case 'ZodString':
        +                    type = 'string';
        +                    break;
        +                case 'ZodBoolean':
        +                    type = 'boolean';
        +                    break;
        +                case 'ZodNumber':
        +                    type = 'number';
        +                    break;
        +                case 'ZodOptional':
        +                case 'enum':
        +                case 'ZodEnum':
        +                    type = getInnerType(innerDef);
        +                    {
        +                        const defType = innerDef._zod?.def?.type ?? innerDef._def?.typeName;
        +                        const values = innerDef._zod?.def?.entries
        +                            ? Object.values(innerDef._zod.def.entries)
        +                            : innerDef._def?.values;
        +                        if ((defType === 'enum' || defType === 'ZodEnum') && Array.isArray(values)) {
        +                            descriptionExtra = `\n\t ${values.join(' \n\t ')}`;
        +                        }
        +                    }
        +                    break;
        +            }
        +            const defaultValue = getFieldDefaultValue(zodField);
        +            let handled = false;
        +            const args = {
        +                type,
        +                default: defaultValue,
        +                describe: `${zodField._zod?.def?.description ?? zodField._def?.description ?? ''} ${descriptionExtra}`.trim()
        +            };
        +            if (options?.onKey) {
        +                handled = options.onKey(yargs, key, args);
        +            }
        +            if (!handled) {
        +                yargs.option(key, args);
        +            }
        +        }
        +        return yargs;
        +    }
        +    catch (error) {
        +        schemas_logger.error('Error processing schema:', error);
        +        return yargs;
        +    }
        +};
        +/////////////////////////////////////////////////////////
        +//
        +//  Schema Writers
        +//
        +const extension = (file) => schemas_path.parse(file).ext;
        +const dist_schemas_json = (data, file, name, options) => write_sync(file, data.map((s) => zodToJsonSchema(s, name)));
        +const WRITERS = {
        +    '.json': dist_schemas_json
        +};
        +const writer = (file) => WRITERS[extension(file)];
        +const write = (schemas, file, name, options) => {
        +    if (!WRITERS[extension(file)]) {
        +        schemas_logger.error(`No writer found for file extension: ${extension(file)} : file: ${file}`);
        +        return;
        +    }
        +    schemas_logger.debug(`Writing schema to ${file} : ${name}`);
        +    try {
        +        writer(file)(schemas, file, name, options);
        +    }
        +    catch (e) {
        +        schemas_logger.trace(`Error writing schema to ${file} : ${name}`, e, e.stack, e.message);
        +    }
        +};
        +////////////////////////////////////////////////////////////////////
        +//
        +//  Schema Combinators
        +const combineValidatorsOr = (validators) => {
        +    return schemas_z.string().refine((value) => {
        +        const errors = [];
        +        const isValid = validators.some((validator) => {
        +            try {
        +                validator.parse(value);
        +                return true;
        +            }
        +            catch (err) {
        +                errors.push(err.errors);
        +                return false;
        +            }
        +        });
        +        if (!isValid) {
        +            throw new schemas_z.ZodError(errors.flat());
        +        }
        +        return true;
        +    }, 'Invalid value for all provided validators');
        +};
        +const combineValidatorsOrUsingZod = (validators) => {
        +    return validators.reduce((acc, validator) => acc.or(validator));
        +};
        +const combineValidatorsOrUsingZod2 = (validators) => {
        +    return validators.reduce((acc, validator) => {
        +        return acc.or(validator).refine((value) => {
        +            try {
        +                acc.parse(value);
        +                return true;
        +            }
        +            catch (errAcc) {
        +                try {
        +                    validator.parse(value);
        +                    return true;
        +                }
        +                catch (errValidator) {
        +                    throw new schemas_z.ZodError([...errAcc.errors, ...errValidator.errors]);
        +                }
        +            }
        +        });
        +    });
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUU1QixPQUFPLEVBQUUsQ0FBQyxFQUFjLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLElBQUksT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFckMsY0FBYyxXQUFXLENBQUE7QUFDekIsY0FBYyxjQUFjLENBQUE7QUFFNUIsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUF5QixFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQzFFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsTUFBTSxDQUFDLFdBQVcsSUFBSSxVQUFVLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDbEwsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDbEMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFrQixFQUFFLE9BQWlCLEVBQUUsRUFBRSxNQUFXLEVBQVEsRUFBRTtJQUMvRixJQUFJLE1BQU0sWUFBWSxTQUFTLEVBQUUsQ0FBQztRQUM5QixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM3QixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzlELENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLE1BQU0sV0FBVyxHQUFJLE1BQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFdBQVcsSUFBSyxNQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUNoRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUN4RCxDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtBQUU5RyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFrQixFQUFjLEVBQUU7SUFDN0QsaUVBQWlFO0lBQ2pFLE9BQU8sTUFBTSxDQUFBO0FBQ2pCLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQWdCLEVBQUUsRUFBRTtJQUM3QyxPQUFPLElBQUksWUFBWSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEdBQUksSUFBeUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUM5QyxDQUFDO0lBQ0QsT0FBTyxJQUFJLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDaEMsSUFBSSxHQUFJLElBQXdCLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDcEQsQ0FBQztJQUNELDhFQUE4RTtJQUM5RSxPQUFRLElBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSyxJQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQTtBQUN4RSxDQUFDLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFrQixFQUFFLEVBQUU7SUFDbEQsSUFBSSxNQUFNLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDL0Isc0RBQXNEO1FBQ3RELE1BQU0sTUFBTSxHQUFJLE1BQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFlBQVksSUFBSyxNQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztRQUM3RixPQUFPLE9BQU8sTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFrQixFQUFtQixFQUFFO0lBQ3hFLElBQUcsQ0FBQyxNQUFNLEVBQUMsQ0FBQztRQUNSLE9BQU8sU0FBUyxDQUFBO0lBQ3BCLENBQUM7SUFDRCxJQUFJLE1BQU0sWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUMvQixNQUFNLE1BQU0sR0FBSSxNQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxZQUFZLElBQUssTUFBYyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUM7UUFDN0YsT0FBTyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUQsQ0FBQztJQUNELElBQUksTUFBTSxZQUFZLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sb0JBQW9CLENBQUUsTUFBMkIsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUE7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFrQixFQUFzQixFQUFFO0lBQ3JFLElBQUcsQ0FBQyxNQUFNLEVBQUMsQ0FBQztRQUNSLE9BQU8sU0FBUyxDQUFBO0lBQ3BCLENBQUM7SUFDRCxpREFBaUQ7SUFDakQsTUFBTSxJQUFJLEdBQUksTUFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsV0FBVyxJQUFLLE1BQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO0lBQ3pGLElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLE1BQU0sWUFBWSxXQUFXLEVBQUUsQ0FBQztRQUNsQyxPQUFPLGNBQWMsQ0FBRSxNQUEyQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQTtBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWUsRUFBRSxTQUF5QixFQUFFLE9BRW5FLEVBQUUsRUFBRTtJQUNELGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNwQixJQUFJLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFBO1FBQzdCLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBZSxDQUFBO1lBQ3pDLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN6QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ1osU0FBUTtZQUNaLENBQUM7WUFDRCxJQUFJLElBQWlELENBQUM7WUFDdEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ3pDLElBQUksZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1lBQ3pCLFFBQVEsVUFBVSxFQUFFLENBQUM7Z0JBQ2pCLEtBQUssV0FBVztvQkFDWixJQUFJLEdBQUcsUUFBUSxDQUFBO29CQUNmLE1BQUs7Z0JBQ1QsS0FBSyxZQUFZO29CQUNiLElBQUksR0FBRyxTQUFTLENBQUE7b0JBQ2hCLE1BQUs7Z0JBQ1QsS0FBSyxXQUFXO29CQUNaLElBQUksR0FBRyxRQUFRLENBQUE7b0JBQ2YsTUFBSztnQkFDVCxLQUFLLGFBQWEsQ0FBQztnQkFDbkIsS0FBSyxNQUFNLENBQUM7Z0JBQ1osS0FBSyxTQUFTO29CQUNWLElBQUksR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUE7b0JBQzdCLENBQUM7d0JBQ0csTUFBTSxPQUFPLEdBQUksUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSyxRQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7d0JBQ3RGLE1BQU0sTUFBTSxHQUFJLFFBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPOzRCQUMvQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBRSxRQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDOzRCQUNuRCxDQUFDLENBQUUsUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO3dCQUNyQyxJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxPQUFPLEtBQUssU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDOzRCQUN6RSxnQkFBZ0IsR0FBRyxRQUFRLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQTt3QkFDdEQsQ0FBQztvQkFDTCxDQUFDO29CQUNELE1BQUs7WUFDYixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDbkQsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFBO1lBQ25CLE1BQU0sSUFBSSxHQUFHO2dCQUNULElBQUk7Z0JBQ0osT0FBTyxFQUFFLFlBQVk7Z0JBQ3JCLFFBQVEsRUFBRSxHQUFJLFFBQWdCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLElBQUssUUFBZ0IsQ0FBQyxJQUFJLEVBQUUsV0FBVyxJQUFJLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLElBQUksRUFBRTthQUNsSSxDQUFBO1lBQ0QsSUFBRyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUM7Z0JBQ2YsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUM3QyxDQUFDO1lBQ0QsSUFBRyxDQUFDLE9BQU8sRUFBQyxDQUFDO2dCQUNULEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFDLElBQUksQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQy9DLE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUE7QUFDRCx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLGtCQUFrQjtBQUNsQixFQUFFO0FBQ0YsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFBO0FBQ3hELE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBUyxFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRTdILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FDcEI7SUFDSSxPQUFPLEVBQUUsSUFBSTtDQUNoQixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFFaEUsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBeUIsRUFBRSxJQUFZLEVBQUUsSUFBWSxFQUFFLE9BQVcsRUFBRSxFQUFFO0lBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUN0RixPQUFNO0lBQ1YsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMscUJBQXFCLElBQUksTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ25ELElBQUksQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNULE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEYsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUNELG9FQUFvRTtBQUNwRSxFQUFFO0FBQ0Ysc0JBQXNCO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsVUFBMEIsRUFBRSxFQUFFO0lBQzlELE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDO2dCQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUN2QixPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUN2QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxFQUFFLDJDQUEyQyxDQUFDLENBQUE7QUFDbkQsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxVQUEwQixFQUFFLEVBQUU7SUFDdEUsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsVUFBMEIsRUFBRSxFQUFFO0lBQ3ZFLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRTtRQUN4QyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDO2dCQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFBQyxPQUFPLE1BQU0sRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQztvQkFDRCxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixPQUFPLElBQUksQ0FBQztnQkFDaEIsQ0FBQztnQkFBQyxPQUFPLFlBQVksRUFBRSxDQUFDO29CQUNwQixNQUFNLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNyRSxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUEifQ==
        +;// ../commons/dist/index.js
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGNBQWMsQ0FBQTtBQUM1QixjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLGdCQUFnQixDQUFBO0FBQzlCLGNBQWMsZUFBZSxDQUFBO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxhQUFhLENBQUE7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQSJ9
        +;// ./dist/lib/filters.js
        +const Filters = {};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFFdEIsQ0FBQSJ9
        +;// ./dist/options.js
        +
        +
        +
        +
        +
        +const options_clone = (obj) => {
        +    if (null == obj || "object" != typeof obj)
        +        return obj;
        +    var copy = obj.constructor();
        +    for (var attr in obj) {
        +        if (obj.hasOwnProperty(attr))
        +            copy[attr] = obj[attr];
        +    }
        +    return copy;
        +};
        +const targets = (f, options) => {
        +    const srcParts = external_path_.parse(f);
        +    const variables = {
        +        ...options_clone(options.pathVariables),
        +        ...DEFAULT_ROOTS
        +    };
        +    const targets = [];
        +    variables.SRC_NAME = srcParts.name;
        +    variables.SRC_DIR = srcParts.dir;
        +    variables.SRC_EXT = srcParts.ext;
        +    if (variables.ROOT) {
        +        variables.SRC_REL = external_path_.relative(variables.ROOT, srcParts.dir);
        +    }
        +    const dashed = srcParts.name.split('-');
        +    if (dashed.length > 1) {
        +        for (let i = 0; i < dashed.length; i++) {
        +            variables[`SRC_NAME-${i}`] = dashed[i];
        +        }
        +    }
        +    const dotted = srcParts.name.split('.');
        +    if (dotted.length > 1) {
        +        for (let i = 0; i < dotted.length; i++) {
        +            variables[`SRC_NAME.${i}`] = dotted[i];
        +        }
        +    }
        +    const underscored = srcParts.name.split('_');
        +    if (underscored.length > 1) {
        +        for (let i = 0; i < underscored.length; i++) {
        +            variables[`SRC_NAME_${i}`] = underscored[i];
        +        }
        +    }
        +    if (options.targetInfo.IS_GLOB) {
        +        options.targetInfo.GLOB_EXTENSIONS.forEach((e) => {
        +            let targetPath = resolve(options.pathVariables.DST_PATH, options.alt, variables);
        +            targetPath = external_path_.resolve(targetPath.replace(options.pathVariables.DST_FILE_EXT, '') + e);
        +            targets.push(targetPath);
        +        });
        +    }
        +    else {
        +        let targetPath = resolve(options.pathVariables.DST_PATH, options.alt, variables);
        +        //targetPath = path.resolve(targetPath.replace(options.pathVariables.DST_FILE_EXT, ''));
        +        targets.push(targetPath);
        +    }
        +    return targets;
        +};
        +const options_parse = (options, argv) => {
        +    for (const k in argv) {
        +        if (!(k in options.variables) && k !== '_'
        +            && k !== '$0'
        +            && k !== 'variables'
        +            && k !== 'source'
        +            && k !== 'language'
        +            && k !== 'envVariables'
        +            && k !== 'format'
        +            && k !== 'profile'
        +            && k !== 'output'
        +            && k !== 'plugins'
        +            && k !== 'dry'
        +            && k !== 'stdout'
        +            && k !== 'filters'
        +            && k !== 'cache'
        +            && k !== 'text'
        +            && k !== 'keys'
        +            && k !== 'glossary'
        +            && k !== 'logLevel'
        +            && k !== 'bootstrap') {
        +            options.variables[k] = argv[k];
        +        }
        +    }
        +    options.variables['cwd'] = external_path_.resolve(options.variables['cwd'] ? options.variables['cwd'] : options.cwd);
        +    resolveConfig(options.variables);
        +    let variables = {};
        +    let srcInfo;
        +    if (options.src) {
        +        srcInfo = pathInfo(resolve(options.src, options.alt, options.variables));
        +        //we have glob patterns:
        +        if (srcInfo && srcInfo.FILES && srcInfo.FILES.length) {
        +            options.srcInfo = srcInfo;
        +            for (const key in srcInfo) {
        +                if (Object.prototype.hasOwnProperty.call(srcInfo, key)) {
        +                    variables['SRC_' + key] = srcInfo[key];
        +                }
        +            }
        +        }
        +        else {
        +            options.src = resolve(options.src, options.alt, options.variables);
        +            options.srcInfo = srcInfo;
        +            options.srcInfo.FILES = [options.src];
        +        }
        +    }
        +    if (options.dst) {
        +        const out = resolve(options.dst, options.alt, options.variables);
        +        let targetInfo = pathInfo(out);
        +        //we have glob patterns:
        +        if (options.srcInfo && targetInfo) {
        +            targetInfo.PATH = options.dst;
        +            for (const key in targetInfo) {
        +                if (Object.prototype.hasOwnProperty.call(targetInfo, key)) {
        +                    variables['DST_' + key] = targetInfo[key];
        +                }
        +            }
        +            options.targetInfo = targetInfo;
        +        }
        +        else {
        +            options.dst = resolve(options.dst || '', options.alt, options.variables);
        +        }
        +    }
        +    else {
        +        options.stdout = true;
        +    }
        +    options.pathVariables = variables;
        +    if (argv.filters && isString(argv.filters)) {
        +        const filters = argv.filters.split(',');
        +        options.filters = [];
        +        filters.forEach((f) => {
        +            if (Filters[f]) {
        +                options.filters.push(Filters[f]);
        +            }
        +        });
        +    }
        +    if (argv.keys && isString(argv.keys)) {
        +        options.keys = argv.keys.split(',');
        +    }
        +    options.logLevel = options.logLevel || 'warn';
        +    options.storeRoot = options.storeRoot || '${OSR_ROOT}/i18n-store/';
        +    return options;
        +};
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBRTVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFHM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQ3pCLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksT0FBTyxHQUFHO1FBQUUsT0FBTyxHQUFHLENBQUM7SUFDdEQsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdCLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQVMsRUFBRSxPQUFpQixFQUFFLEVBQUU7SUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM5QixNQUFNLFNBQVMsR0FBRztRQUNkLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDL0IsR0FBRyxhQUFhO0tBQ25CLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFFbEIsU0FBUyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFBO0lBQ2xDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQTtJQUNoQyxTQUFTLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUE7SUFFaEMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN2QyxJQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFDLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDNUMsSUFBRyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBQyxDQUFDO1FBQ3ZCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDL0MsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDaEYsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUN6RixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRix3RkFBd0Y7UUFDeEYsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM1QixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBR0QsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBaUIsRUFBRSxJQUFTLEVBQVksRUFBRTtJQUM1RCxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUc7ZUFDbkMsQ0FBQyxLQUFLLElBQUk7ZUFDVixDQUFDLEtBQUssV0FBVztlQUNqQixDQUFDLEtBQUssUUFBUTtlQUNkLENBQUMsS0FBSyxVQUFVO2VBQ2hCLENBQUMsS0FBSyxjQUFjO2VBQ3BCLENBQUMsS0FBSyxRQUFRO2VBQ2QsQ0FBQyxLQUFLLFNBQVM7ZUFDZixDQUFDLEtBQUssUUFBUTtlQUNkLENBQUMsS0FBSyxTQUFTO2VBQ2YsQ0FBQyxLQUFLLEtBQUs7ZUFDWCxDQUFDLEtBQUssUUFBUTtlQUNkLENBQUMsS0FBSyxTQUFTO2VBQ2YsQ0FBQyxLQUFLLE9BQU87ZUFDYixDQUFDLEtBQUssTUFBTTtlQUNaLENBQUMsS0FBSyxNQUFNO2VBQ1osQ0FBQyxLQUFLLFVBQVU7ZUFDaEIsQ0FBQyxLQUFLLFVBQVU7ZUFDaEIsQ0FBQyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMxRyxhQUFhLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ2hDLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUNsQixJQUFJLE9BQU8sQ0FBQTtJQUNYLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2QsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLHdCQUF3QjtRQUN4QixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkQsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDMUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3JELFNBQVMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRSxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtZQUN6QixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2QsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDaEUsSUFBSSxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzlCLHdCQUF3QjtRQUN4QixJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsVUFBVSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsR0FBYSxDQUFDO1lBQ3hDLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQzNCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN4RCxTQUFTLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDN0MsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUVuQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQzVFLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxPQUFPLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQTtJQUVqQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBQ3BCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQixJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNaLE9BQU8sQ0FBQyxPQUE2QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMzRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFBO0lBQzdDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSx5QkFBeUIsQ0FBQTtJQUNsRSxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUEifQ==
        +;// ./node_modules/zod/v4/core/core.js
        +/** A special constant with type `never` */
        +const core_NEVER = Object.freeze({
        +    status: "aborted",
        +});
        +function core_$constructor(name, initializer, params) {
        +    function init(inst, def) {
        +        if (!inst._zod) {
        +            Object.defineProperty(inst, "_zod", {
        +                value: {
        +                    def,
        +                    constr: _,
        +                    traits: new Set(),
        +                },
        +                enumerable: false,
        +            });
        +        }
        +        if (inst._zod.traits.has(name)) {
        +            return;
        +        }
        +        inst._zod.traits.add(name);
        +        initializer(inst, def);
        +        // support prototype modifications
        +        const proto = _.prototype;
        +        const keys = Object.keys(proto);
        +        for (let i = 0; i < keys.length; i++) {
        +            const k = keys[i];
        +            if (!(k in inst)) {
        +                inst[k] = proto[k].bind(inst);
        +            }
        +        }
        +    }
        +    // doesn't work if Parent has a constructor with arguments
        +    const Parent = params?.Parent ?? Object;
        +    class Definition extends Parent {
        +    }
        +    Object.defineProperty(Definition, "name", { value: name });
        +    function _(def) {
        +        var _a;
        +        const inst = params?.Parent ? new Definition() : this;
        +        init(inst, def);
        +        (_a = inst._zod).deferred ?? (_a.deferred = []);
        +        for (const fn of inst._zod.deferred) {
        +            fn();
        +        }
        +        return inst;
        +    }
        +    Object.defineProperty(_, "init", { value: init });
        +    Object.defineProperty(_, Symbol.hasInstance, {
        +        value: (inst) => {
        +            if (params?.Parent && inst instanceof params.Parent)
        +                return true;
        +            return inst?._zod?.traits?.has(name);
        +        },
        +    });
        +    Object.defineProperty(_, "name", { value: name });
        +    return _;
        +}
        +//////////////////////////////   UTILITIES   ///////////////////////////////////////
        +const core_$brand = Symbol("zod_brand");
        +class core_$ZodAsyncError extends Error {
        +    constructor() {
        +        super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`);
        +    }
        +}
        +class core_$ZodEncodeError extends Error {
        +    constructor(name) {
        +        super(`Encountered unidirectional transform during encode: ${name}`);
        +        this.name = "ZodEncodeError";
        +    }
        +}
        +const core_globalConfig = {};
        +function core_config(newConfig) {
        +    if (newConfig)
        +        Object.assign(core_globalConfig, newConfig);
        +    return core_globalConfig;
        +}
        +
        +;// ./node_modules/zod/v4/core/util.js
        +// functions
        +function util_assertEqual(val) {
        +    return val;
        +}
        +function util_assertNotEqual(val) {
        +    return val;
        +}
        +function util_assertIs(_arg) { }
        +function core_util_assertNever(_x) {
        +    throw new Error("Unexpected value in exhaustive check");
        +}
        +function core_util_assert(_) { }
        +function util_getEnumValues(entries) {
        +    const numericValues = Object.values(entries).filter((v) => typeof v === "number");
        +    const values = Object.entries(entries)
        +        .filter(([k, _]) => numericValues.indexOf(+k) === -1)
        +        .map(([_, v]) => v);
        +    return values;
        +}
        +function util_joinValues(array, separator = "|") {
        +    return array.map((val) => util_stringifyPrimitive(val)).join(separator);
        +}
        +function util_jsonStringifyReplacer(_, value) {
        +    if (typeof value === "bigint")
        +        return value.toString();
        +    return value;
        +}
        +function util_cached(getter) {
        +    const set = false;
        +    return {
        +        get value() {
        +            if (!set) {
        +                const value = getter();
        +                Object.defineProperty(this, "value", { value });
        +                return value;
        +            }
        +            throw new Error("cached value already set");
        +        },
        +    };
        +}
        +function util_nullish(input) {
        +    return input === null || input === undefined;
        +}
        +function util_cleanRegex(source) {
        +    const start = source.startsWith("^") ? 1 : 0;
        +    const end = source.endsWith("$") ? source.length - 1 : source.length;
        +    return source.slice(start, end);
        +}
        +function util_floatSafeRemainder(val, step) {
        +    const valDecCount = (val.toString().split(".")[1] || "").length;
        +    const stepString = step.toString();
        +    let stepDecCount = (stepString.split(".")[1] || "").length;
        +    if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) {
        +        const match = stepString.match(/\d?e-(\d?)/);
        +        if (match?.[1]) {
        +            stepDecCount = Number.parseInt(match[1]);
        +        }
        +    }
        +    const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
        +    const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
        +    const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
        +    return (valInt % stepInt) / 10 ** decCount;
        +}
        +const util_EVALUATING = Symbol("evaluating");
        +function util_defineLazy(object, key, getter) {
        +    let value = undefined;
        +    Object.defineProperty(object, key, {
        +        get() {
        +            if (value === util_EVALUATING) {
        +                // Circular reference detected, return undefined to break the cycle
        +                return undefined;
        +            }
        +            if (value === undefined) {
        +                value = util_EVALUATING;
        +                value = getter();
        +            }
        +            return value;
        +        },
        +        set(v) {
        +            Object.defineProperty(object, key, {
        +                value: v,
        +                // configurable: true,
        +            });
        +            // object[key] = v;
        +        },
        +        configurable: true,
        +    });
        +}
        +function util_objectClone(obj) {
        +    return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));
        +}
        +function util_assignProp(target, prop, value) {
        +    Object.defineProperty(target, prop, {
        +        value,
        +        writable: true,
        +        enumerable: true,
        +        configurable: true,
        +    });
        +}
        +function util_mergeDefs(...defs) {
        +    const mergedDescriptors = {};
        +    for (const def of defs) {
        +        const descriptors = Object.getOwnPropertyDescriptors(def);
        +        Object.assign(mergedDescriptors, descriptors);
        +    }
        +    return Object.defineProperties({}, mergedDescriptors);
        +}
        +function util_cloneDef(schema) {
        +    return util_mergeDefs(schema._zod.def);
        +}
        +function util_getElementAtPath(obj, path) {
        +    if (!path)
        +        return obj;
        +    return path.reduce((acc, key) => acc?.[key], obj);
        +}
        +function util_promiseAllObject(promisesObj) {
        +    const keys = Object.keys(promisesObj);
        +    const promises = keys.map((key) => promisesObj[key]);
        +    return Promise.all(promises).then((results) => {
        +        const resolvedObj = {};
        +        for (let i = 0; i < keys.length; i++) {
        +            resolvedObj[keys[i]] = results[i];
        +        }
        +        return resolvedObj;
        +    });
        +}
        +function util_randomString(length = 10) {
        +    const chars = "abcdefghijklmnopqrstuvwxyz";
        +    let str = "";
        +    for (let i = 0; i < length; i++) {
        +        str += chars[Math.floor(Math.random() * chars.length)];
        +    }
        +    return str;
        +}
        +function util_esc(str) {
        +    return JSON.stringify(str);
        +}
        +function util_slugify(input) {
        +    return input
        +        .toLowerCase()
        +        .trim()
        +        .replace(/[^\w\s-]/g, "")
        +        .replace(/[\s_-]+/g, "-")
        +        .replace(/^-+|-+$/g, "");
        +}
        +const util_captureStackTrace = ("captureStackTrace" in Error ? Error.captureStackTrace : (..._args) => { });
        +function core_util_isObject(data) {
        +    return typeof data === "object" && data !== null && !Array.isArray(data);
        +}
        +const core_util_allowsEval = util_cached(() => {
        +    // @ts-ignore
        +    if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
        +        return false;
        +    }
        +    try {
        +        const F = Function;
        +        new F("");
        +        return true;
        +    }
        +    catch (_) {
        +        return false;
        +    }
        +});
        +function util_isPlainObject(o) {
        +    if (core_util_isObject(o) === false)
        +        return false;
        +    // modified constructor
        +    const ctor = o.constructor;
        +    if (ctor === undefined)
        +        return true;
        +    if (typeof ctor !== "function")
        +        return true;
        +    // modified prototype
        +    const prot = ctor.prototype;
        +    if (core_util_isObject(prot) === false)
        +        return false;
        +    // ctor doesn't have static `isPrototypeOf`
        +    if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
        +        return false;
        +    }
        +    return true;
        +}
        +function util_shallowClone(o) {
        +    if (util_isPlainObject(o))
        +        return { ...o };
        +    if (Array.isArray(o))
        +        return [...o];
        +    return o;
        +}
        +function util_numKeys(data) {
        +    let keyCount = 0;
        +    for (const key in data) {
        +        if (Object.prototype.hasOwnProperty.call(data, key)) {
        +            keyCount++;
        +        }
        +    }
        +    return keyCount;
        +}
        +const core_util_getParsedType = (data) => {
        +    const t = typeof data;
        +    switch (t) {
        +        case "undefined":
        +            return "undefined";
        +        case "string":
        +            return "string";
        +        case "number":
        +            return Number.isNaN(data) ? "nan" : "number";
        +        case "boolean":
        +            return "boolean";
        +        case "function":
        +            return "function";
        +        case "bigint":
        +            return "bigint";
        +        case "symbol":
        +            return "symbol";
        +        case "object":
        +            if (Array.isArray(data)) {
        +                return "array";
        +            }
        +            if (data === null) {
        +                return "null";
        +            }
        +            if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
        +                return "promise";
        +            }
        +            if (typeof Map !== "undefined" && data instanceof Map) {
        +                return "map";
        +            }
        +            if (typeof Set !== "undefined" && data instanceof Set) {
        +                return "set";
        +            }
        +            if (typeof Date !== "undefined" && data instanceof Date) {
        +                return "date";
        +            }
        +            // @ts-ignore
        +            if (typeof File !== "undefined" && data instanceof File) {
        +                return "file";
        +            }
        +            return "object";
        +        default:
        +            throw new Error(`Unknown data type: ${t}`);
        +    }
        +};
        +const util_propertyKeyTypes = new Set(["string", "number", "symbol"]);
        +const util_primitiveTypes = new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
        +function util_escapeRegex(str) {
        +    return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
        +}
        +// zod-specific utils
        +function util_clone(inst, def, params) {
        +    const cl = new inst._zod.constr(def ?? inst._zod.def);
        +    if (!def || params?.parent)
        +        cl._zod.parent = inst;
        +    return cl;
        +}
        +function util_normalizeParams(_params) {
        +    const params = _params;
        +    if (!params)
        +        return {};
        +    if (typeof params === "string")
        +        return { error: () => params };
        +    if (params?.message !== undefined) {
        +        if (params?.error !== undefined)
        +            throw new Error("Cannot specify both `message` and `error` params");
        +        params.error = params.message;
        +    }
        +    delete params.message;
        +    if (typeof params.error === "string")
        +        return { ...params, error: () => params.error };
        +    return params;
        +}
        +function util_createTransparentProxy(getter) {
        +    let target;
        +    return new Proxy({}, {
        +        get(_, prop, receiver) {
        +            target ?? (target = getter());
        +            return Reflect.get(target, prop, receiver);
        +        },
        +        set(_, prop, value, receiver) {
        +            target ?? (target = getter());
        +            return Reflect.set(target, prop, value, receiver);
        +        },
        +        has(_, prop) {
        +            target ?? (target = getter());
        +            return Reflect.has(target, prop);
        +        },
        +        deleteProperty(_, prop) {
        +            target ?? (target = getter());
        +            return Reflect.deleteProperty(target, prop);
        +        },
        +        ownKeys(_) {
        +            target ?? (target = getter());
        +            return Reflect.ownKeys(target);
        +        },
        +        getOwnPropertyDescriptor(_, prop) {
        +            target ?? (target = getter());
        +            return Reflect.getOwnPropertyDescriptor(target, prop);
        +        },
        +        defineProperty(_, prop, descriptor) {
        +            target ?? (target = getter());
        +            return Reflect.defineProperty(target, prop, descriptor);
        +        },
        +    });
        +}
        +function util_stringifyPrimitive(value) {
        +    if (typeof value === "bigint")
        +        return value.toString() + "n";
        +    if (typeof value === "string")
        +        return `"${value}"`;
        +    return `${value}`;
        +}
        +function util_optionalKeys(shape) {
        +    return Object.keys(shape).filter((k) => {
        +        return shape[k]._zod.optin === "optional" && shape[k]._zod.optout === "optional";
        +    });
        +}
        +const util_NUMBER_FORMAT_RANGES = {
        +    safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
        +    int32: [-2147483648, 2147483647],
        +    uint32: [0, 4294967295],
        +    float32: [-3.4028234663852886e38, 3.4028234663852886e38],
        +    float64: [-Number.MAX_VALUE, Number.MAX_VALUE],
        +};
        +const util_BIGINT_FORMAT_RANGES = {
        +    int64: [/* @__PURE__*/ BigInt("-9223372036854775808"), /* @__PURE__*/ BigInt("9223372036854775807")],
        +    uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt("18446744073709551615")],
        +};
        +function util_pick(schema, mask) {
        +    const currDef = schema._zod.def;
        +    const checks = currDef.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        throw new Error(".pick() cannot be used on object schemas containing refinements");
        +    }
        +    const def = util_mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const newShape = {};
        +            for (const key in mask) {
        +                if (!(key in currDef.shape)) {
        +                    throw new Error(`Unrecognized key: "${key}"`);
        +                }
        +                if (!mask[key])
        +                    continue;
        +                newShape[key] = currDef.shape[key];
        +            }
        +            util_assignProp(this, "shape", newShape); // self-caching
        +            return newShape;
        +        },
        +        checks: [],
        +    });
        +    return util_clone(schema, def);
        +}
        +function util_omit(schema, mask) {
        +    const currDef = schema._zod.def;
        +    const checks = currDef.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        throw new Error(".omit() cannot be used on object schemas containing refinements");
        +    }
        +    const def = util_mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const newShape = { ...schema._zod.def.shape };
        +            for (const key in mask) {
        +                if (!(key in currDef.shape)) {
        +                    throw new Error(`Unrecognized key: "${key}"`);
        +                }
        +                if (!mask[key])
        +                    continue;
        +                delete newShape[key];
        +            }
        +            util_assignProp(this, "shape", newShape); // self-caching
        +            return newShape;
        +        },
        +        checks: [],
        +    });
        +    return util_clone(schema, def);
        +}
        +function util_extend(schema, shape) {
        +    if (!util_isPlainObject(shape)) {
        +        throw new Error("Invalid input to extend: expected a plain object");
        +    }
        +    const checks = schema._zod.def.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        // Only throw if new shape overlaps with existing shape
        +        // Use getOwnPropertyDescriptor to check key existence without accessing values
        +        const existingShape = schema._zod.def.shape;
        +        for (const key in shape) {
        +            if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {
        +                throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.");
        +            }
        +        }
        +    }
        +    const def = util_mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const _shape = { ...schema._zod.def.shape, ...shape };
        +            util_assignProp(this, "shape", _shape); // self-caching
        +            return _shape;
        +        },
        +    });
        +    return util_clone(schema, def);
        +}
        +function util_safeExtend(schema, shape) {
        +    if (!util_isPlainObject(shape)) {
        +        throw new Error("Invalid input to safeExtend: expected a plain object");
        +    }
        +    const def = util_mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const _shape = { ...schema._zod.def.shape, ...shape };
        +            util_assignProp(this, "shape", _shape); // self-caching
        +            return _shape;
        +        },
        +    });
        +    return util_clone(schema, def);
        +}
        +function util_merge(a, b) {
        +    const def = util_mergeDefs(a._zod.def, {
        +        get shape() {
        +            const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };
        +            util_assignProp(this, "shape", _shape); // self-caching
        +            return _shape;
        +        },
        +        get catchall() {
        +            return b._zod.def.catchall;
        +        },
        +        checks: [], // delete existing checks
        +    });
        +    return util_clone(a, def);
        +}
        +function util_partial(Class, schema, mask) {
        +    const currDef = schema._zod.def;
        +    const checks = currDef.checks;
        +    const hasChecks = checks && checks.length > 0;
        +    if (hasChecks) {
        +        throw new Error(".partial() cannot be used on object schemas containing refinements");
        +    }
        +    const def = util_mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const oldShape = schema._zod.def.shape;
        +            const shape = { ...oldShape };
        +            if (mask) {
        +                for (const key in mask) {
        +                    if (!(key in oldShape)) {
        +                        throw new Error(`Unrecognized key: "${key}"`);
        +                    }
        +                    if (!mask[key])
        +                        continue;
        +                    // if (oldShape[key]!._zod.optin === "optional") continue;
        +                    shape[key] = Class
        +                        ? new Class({
        +                            type: "optional",
        +                            innerType: oldShape[key],
        +                        })
        +                        : oldShape[key];
        +                }
        +            }
        +            else {
        +                for (const key in oldShape) {
        +                    // if (oldShape[key]!._zod.optin === "optional") continue;
        +                    shape[key] = Class
        +                        ? new Class({
        +                            type: "optional",
        +                            innerType: oldShape[key],
        +                        })
        +                        : oldShape[key];
        +                }
        +            }
        +            util_assignProp(this, "shape", shape); // self-caching
        +            return shape;
        +        },
        +        checks: [],
        +    });
        +    return util_clone(schema, def);
        +}
        +function util_required(Class, schema, mask) {
        +    const def = util_mergeDefs(schema._zod.def, {
        +        get shape() {
        +            const oldShape = schema._zod.def.shape;
        +            const shape = { ...oldShape };
        +            if (mask) {
        +                for (const key in mask) {
        +                    if (!(key in shape)) {
        +                        throw new Error(`Unrecognized key: "${key}"`);
        +                    }
        +                    if (!mask[key])
        +                        continue;
        +                    // overwrite with non-optional
        +                    shape[key] = new Class({
        +                        type: "nonoptional",
        +                        innerType: oldShape[key],
        +                    });
        +                }
        +            }
        +            else {
        +                for (const key in oldShape) {
        +                    // overwrite with non-optional
        +                    shape[key] = new Class({
        +                        type: "nonoptional",
        +                        innerType: oldShape[key],
        +                    });
        +                }
        +            }
        +            util_assignProp(this, "shape", shape); // self-caching
        +            return shape;
        +        },
        +    });
        +    return util_clone(schema, def);
        +}
        +// invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom
        +function util_aborted(x, startIndex = 0) {
        +    if (x.aborted === true)
        +        return true;
        +    for (let i = startIndex; i < x.issues.length; i++) {
        +        if (x.issues[i]?.continue !== true) {
        +            return true;
        +        }
        +    }
        +    return false;
        +}
        +function util_prefixIssues(path, issues) {
        +    return issues.map((iss) => {
        +        var _a;
        +        (_a = iss).path ?? (_a.path = []);
        +        iss.path.unshift(path);
        +        return iss;
        +    });
        +}
        +function util_unwrapMessage(message) {
        +    return typeof message === "string" ? message : message?.message;
        +}
        +function util_finalizeIssue(iss, ctx, config) {
        +    const full = { ...iss, path: iss.path ?? [] };
        +    // for backwards compatibility
        +    if (!iss.message) {
        +        const message = util_unwrapMessage(iss.inst?._zod.def?.error?.(iss)) ??
        +            util_unwrapMessage(ctx?.error?.(iss)) ??
        +            util_unwrapMessage(config.customError?.(iss)) ??
        +            util_unwrapMessage(config.localeError?.(iss)) ??
        +            "Invalid input";
        +        full.message = message;
        +    }
        +    // delete (full as any).def;
        +    delete full.inst;
        +    delete full.continue;
        +    if (!ctx?.reportInput) {
        +        delete full.input;
        +    }
        +    return full;
        +}
        +function util_getSizableOrigin(input) {
        +    if (input instanceof Set)
        +        return "set";
        +    if (input instanceof Map)
        +        return "map";
        +    // @ts-ignore
        +    if (input instanceof File)
        +        return "file";
        +    return "unknown";
        +}
        +function util_getLengthableOrigin(input) {
        +    if (Array.isArray(input))
        +        return "array";
        +    if (typeof input === "string")
        +        return "string";
        +    return "unknown";
        +}
        +function util_parsedType(data) {
        +    const t = typeof data;
        +    switch (t) {
        +        case "number": {
        +            return Number.isNaN(data) ? "nan" : "number";
        +        }
        +        case "object": {
        +            if (data === null) {
        +                return "null";
        +            }
        +            if (Array.isArray(data)) {
        +                return "array";
        +            }
        +            const obj = data;
        +            if (obj && Object.getPrototypeOf(obj) !== Object.prototype && "constructor" in obj && obj.constructor) {
        +                return obj.constructor.name;
        +            }
        +        }
        +    }
        +    return t;
        +}
        +function core_util_issue(...args) {
        +    const [iss, input, inst] = args;
        +    if (typeof iss === "string") {
        +        return {
        +            message: iss,
        +            code: "custom",
        +            input,
        +            inst,
        +        };
        +    }
        +    return { ...iss };
        +}
        +function util_cleanEnum(obj) {
        +    return Object.entries(obj)
        +        .filter(([k, _]) => {
        +        // return true if NaN, meaning it's not a number, thus a string key
        +        return Number.isNaN(Number.parseInt(k, 10));
        +    })
        +        .map((el) => el[1]);
        +}
        +// Codec utility functions
        +function util_base64ToUint8Array(base64) {
        +    const binaryString = atob(base64);
        +    const bytes = new Uint8Array(binaryString.length);
        +    for (let i = 0; i < binaryString.length; i++) {
        +        bytes[i] = binaryString.charCodeAt(i);
        +    }
        +    return bytes;
        +}
        +function util_uint8ArrayToBase64(bytes) {
        +    let binaryString = "";
        +    for (let i = 0; i < bytes.length; i++) {
        +        binaryString += String.fromCharCode(bytes[i]);
        +    }
        +    return btoa(binaryString);
        +}
        +function util_base64urlToUint8Array(base64url) {
        +    const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
        +    const padding = "=".repeat((4 - (base64.length % 4)) % 4);
        +    return util_base64ToUint8Array(base64 + padding);
        +}
        +function util_uint8ArrayToBase64url(bytes) {
        +    return util_uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
        +}
        +function util_hexToUint8Array(hex) {
        +    const cleanHex = hex.replace(/^0x/, "");
        +    if (cleanHex.length % 2 !== 0) {
        +        throw new Error("Invalid hex string length");
        +    }
        +    const bytes = new Uint8Array(cleanHex.length / 2);
        +    for (let i = 0; i < cleanHex.length; i += 2) {
        +        bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);
        +    }
        +    return bytes;
        +}
        +function util_uint8ArrayToHex(bytes) {
        +    return Array.from(bytes)
        +        .map((b) => b.toString(16).padStart(2, "0"))
        +        .join("");
        +}
        +// instanceof
        +class util_Class {
        +    constructor(..._args) { }
        +}
        +
        +;// ./node_modules/zod/v4/core/errors.js
        +
        +
        +const core_errors_initializer = (inst, def) => {
        +    inst.name = "$ZodError";
        +    Object.defineProperty(inst, "_zod", {
        +        value: inst._zod,
        +        enumerable: false,
        +    });
        +    Object.defineProperty(inst, "issues", {
        +        value: def,
        +        enumerable: false,
        +    });
        +    inst.message = JSON.stringify(def, util_jsonStringifyReplacer, 2);
        +    Object.defineProperty(inst, "toString", {
        +        value: () => inst.message,
        +        enumerable: false,
        +    });
        +};
        +const errors_$ZodError = core_$constructor("$ZodError", core_errors_initializer);
        +const errors_$ZodRealError = core_$constructor("$ZodError", core_errors_initializer, { Parent: Error });
        +function errors_flattenError(error, mapper = (issue) => issue.message) {
        +    const fieldErrors = {};
        +    const formErrors = [];
        +    for (const sub of error.issues) {
        +        if (sub.path.length > 0) {
        +            fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
        +            fieldErrors[sub.path[0]].push(mapper(sub));
        +        }
        +        else {
        +            formErrors.push(mapper(sub));
        +        }
        +    }
        +    return { formErrors, fieldErrors };
        +}
        +function errors_formatError(error, mapper = (issue) => issue.message) {
        +    const fieldErrors = { _errors: [] };
        +    const processError = (error) => {
        +        for (const issue of error.issues) {
        +            if (issue.code === "invalid_union" && issue.errors.length) {
        +                issue.errors.map((issues) => processError({ issues }));
        +            }
        +            else if (issue.code === "invalid_key") {
        +                processError({ issues: issue.issues });
        +            }
        +            else if (issue.code === "invalid_element") {
        +                processError({ issues: issue.issues });
        +            }
        +            else if (issue.path.length === 0) {
        +                fieldErrors._errors.push(mapper(issue));
        +            }
        +            else {
        +                let curr = fieldErrors;
        +                let i = 0;
        +                while (i < issue.path.length) {
        +                    const el = issue.path[i];
        +                    const terminal = i === issue.path.length - 1;
        +                    if (!terminal) {
        +                        curr[el] = curr[el] || { _errors: [] };
        +                    }
        +                    else {
        +                        curr[el] = curr[el] || { _errors: [] };
        +                        curr[el]._errors.push(mapper(issue));
        +                    }
        +                    curr = curr[el];
        +                    i++;
        +                }
        +            }
        +        }
        +    };
        +    processError(error);
        +    return fieldErrors;
        +}
        +function errors_treeifyError(error, mapper = (issue) => issue.message) {
        +    const result = { errors: [] };
        +    const processError = (error, path = []) => {
        +        var _a, _b;
        +        for (const issue of error.issues) {
        +            if (issue.code === "invalid_union" && issue.errors.length) {
        +                // regular union error
        +                issue.errors.map((issues) => processError({ issues }, issue.path));
        +            }
        +            else if (issue.code === "invalid_key") {
        +                processError({ issues: issue.issues }, issue.path);
        +            }
        +            else if (issue.code === "invalid_element") {
        +                processError({ issues: issue.issues }, issue.path);
        +            }
        +            else {
        +                const fullpath = [...path, ...issue.path];
        +                if (fullpath.length === 0) {
        +                    result.errors.push(mapper(issue));
        +                    continue;
        +                }
        +                let curr = result;
        +                let i = 0;
        +                while (i < fullpath.length) {
        +                    const el = fullpath[i];
        +                    const terminal = i === fullpath.length - 1;
        +                    if (typeof el === "string") {
        +                        curr.properties ?? (curr.properties = {});
        +                        (_a = curr.properties)[el] ?? (_a[el] = { errors: [] });
        +                        curr = curr.properties[el];
        +                    }
        +                    else {
        +                        curr.items ?? (curr.items = []);
        +                        (_b = curr.items)[el] ?? (_b[el] = { errors: [] });
        +                        curr = curr.items[el];
        +                    }
        +                    if (terminal) {
        +                        curr.errors.push(mapper(issue));
        +                    }
        +                    i++;
        +                }
        +            }
        +        }
        +    };
        +    processError(error);
        +    return result;
        +}
        +/** Format a ZodError as a human-readable string in the following form.
        + *
        + * From
        + *
        + * ```ts
        + * ZodError {
        + *   issues: [
        + *     {
        + *       expected: 'string',
        + *       code: 'invalid_type',
        + *       path: [ 'username' ],
        + *       message: 'Invalid input: expected string'
        + *     },
        + *     {
        + *       expected: 'number',
        + *       code: 'invalid_type',
        + *       path: [ 'favoriteNumbers', 1 ],
        + *       message: 'Invalid input: expected number'
        + *     }
        + *   ];
        + * }
        + * ```
        + *
        + * to
        + *
        + * ```
        + * username
        + *   ✖ Expected number, received string at "username
        + * favoriteNumbers[0]
        + *   ✖ Invalid input: expected number
        + * ```
        + */
        +function errors_toDotPath(_path) {
        +    const segs = [];
        +    const path = _path.map((seg) => (typeof seg === "object" ? seg.key : seg));
        +    for (const seg of path) {
        +        if (typeof seg === "number")
        +            segs.push(`[${seg}]`);
        +        else if (typeof seg === "symbol")
        +            segs.push(`[${JSON.stringify(String(seg))}]`);
        +        else if (/[^\w$]/.test(seg))
        +            segs.push(`[${JSON.stringify(seg)}]`);
        +        else {
        +            if (segs.length)
        +                segs.push(".");
        +            segs.push(seg);
        +        }
        +    }
        +    return segs.join("");
        +}
        +function errors_prettifyError(error) {
        +    const lines = [];
        +    // sort by path length
        +    const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
        +    // Process each issue
        +    for (const issue of issues) {
        +        lines.push(`✖ ${issue.message}`);
        +        if (issue.path?.length)
        +            lines.push(`  → at ${errors_toDotPath(issue.path)}`);
        +    }
        +    // Convert Map to formatted string
        +    return lines.join("\n");
        +}
        +
        +;// ./node_modules/zod/v4/core/parse.js
        +
        +
        +
        +const core_parse_parse = (_Err) => (schema, value, _ctx, _params) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { async: false }) : { async: false };
        +    const result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise) {
        +        throw new core_$ZodAsyncError();
        +    }
        +    if (result.issues.length) {
        +        const e = new (_params?.Err ?? _Err)(result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config())));
        +        util_captureStackTrace(e, _params?.callee);
        +        throw e;
        +    }
        +    return result.value;
        +};
        +const v4_core_parse_parse = /* @__PURE__*/ core_parse_parse(errors_$ZodRealError);
        +const core_parse_parseAsync = (_Err) => async (schema, value, _ctx, params) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
        +    let result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise)
        +        result = await result;
        +    if (result.issues.length) {
        +        const e = new (params?.Err ?? _Err)(result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config())));
        +        util_captureStackTrace(e, params?.callee);
        +        throw e;
        +    }
        +    return result.value;
        +};
        +const v4_core_parse_parseAsync = /* @__PURE__*/ core_parse_parseAsync(errors_$ZodRealError);
        +const core_parse_safeParse = (_Err) => (schema, value, _ctx) => {
        +    const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
        +    const result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise) {
        +        throw new core_$ZodAsyncError();
        +    }
        +    return result.issues.length
        +        ? {
        +            success: false,
        +            error: new (_Err ?? errors_$ZodError)(result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config()))),
        +        }
        +        : { success: true, data: result.value };
        +};
        +const v4_core_parse_safeParse = /* @__PURE__*/ core_parse_safeParse(errors_$ZodRealError);
        +const core_parse_safeParseAsync = (_Err) => async (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { async: true }) : { async: true };
        +    let result = schema._zod.run({ value, issues: [] }, ctx);
        +    if (result instanceof Promise)
        +        result = await result;
        +    return result.issues.length
        +        ? {
        +            success: false,
        +            error: new _Err(result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config()))),
        +        }
        +        : { success: true, data: result.value };
        +};
        +const v4_core_parse_safeParseAsync = /* @__PURE__*/ core_parse_safeParseAsync(errors_$ZodRealError);
        +const core_parse_encode = (_Err) => (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return core_parse_parse(_Err)(schema, value, ctx);
        +};
        +const v4_core_parse_encode = /* @__PURE__*/ core_parse_encode(errors_$ZodRealError);
        +const core_parse_decode = (_Err) => (schema, value, _ctx) => {
        +    return core_parse_parse(_Err)(schema, value, _ctx);
        +};
        +const v4_core_parse_decode = /* @__PURE__*/ core_parse_decode(errors_$ZodRealError);
        +const core_parse_encodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return core_parse_parseAsync(_Err)(schema, value, ctx);
        +};
        +const v4_core_parse_encodeAsync = /* @__PURE__*/ core_parse_encodeAsync(errors_$ZodRealError);
        +const core_parse_decodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    return core_parse_parseAsync(_Err)(schema, value, _ctx);
        +};
        +const v4_core_parse_decodeAsync = /* @__PURE__*/ core_parse_decodeAsync(errors_$ZodRealError);
        +const core_parse_safeEncode = (_Err) => (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return core_parse_safeParse(_Err)(schema, value, ctx);
        +};
        +const v4_core_parse_safeEncode = /* @__PURE__*/ core_parse_safeEncode(errors_$ZodRealError);
        +const core_parse_safeDecode = (_Err) => (schema, value, _ctx) => {
        +    return core_parse_safeParse(_Err)(schema, value, _ctx);
        +};
        +const v4_core_parse_safeDecode = /* @__PURE__*/ core_parse_safeDecode(errors_$ZodRealError);
        +const core_parse_safeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" }) : { direction: "backward" };
        +    return core_parse_safeParseAsync(_Err)(schema, value, ctx);
        +};
        +const v4_core_parse_safeEncodeAsync = /* @__PURE__*/ core_parse_safeEncodeAsync(errors_$ZodRealError);
        +const core_parse_safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
        +    return core_parse_safeParseAsync(_Err)(schema, value, _ctx);
        +};
        +const v4_core_parse_safeDecodeAsync = /* @__PURE__*/ core_parse_safeDecodeAsync(errors_$ZodRealError);
        +
        +;// ./node_modules/zod/v4/core/regexes.js
        +
        +const regexes_cuid = /^[cC][^\s-]{8,}$/;
        +const regexes_cuid2 = /^[0-9a-z]+$/;
        +const regexes_ulid = /^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/;
        +const regexes_xid = /^[0-9a-vA-V]{20}$/;
        +const regexes_ksuid = /^[A-Za-z0-9]{27}$/;
        +const regexes_nanoid = /^[a-zA-Z0-9_-]{21}$/;
        +/** ISO 8601-1 duration regex. Does not support the 8601-2 extensions like negative durations or fractional/negative components. */
        +const regexes_duration = /^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;
        +/** Implements ISO 8601-2 extensions like explicit +- prefixes, mixing weeks with other units, and fractional/negative components. */
        +const regexes_extendedDuration = /^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/;
        +/** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
        +const regexes_guid = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
        +/** Returns a regex for validating an RFC 9562/4122 UUID.
        + *
        + * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
        +const regexes_uuid = (version) => {
        +    if (!version)
        +        return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
        +    return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`);
        +};
        +const regexes_uuid4 = /*@__PURE__*/ regexes_uuid(4);
        +const regexes_uuid6 = /*@__PURE__*/ regexes_uuid(6);
        +const regexes_uuid7 = /*@__PURE__*/ regexes_uuid(7);
        +/** Practical email validation */
        +const regexes_email = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
        +/** Equivalent to the HTML5 input[type=email] validation implemented by browsers. Source: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email */
        +const regexes_html5Email = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
        +/** The classic emailregex.com regex for RFC 5322-compliant emails */
        +const regexes_rfc5322Email = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        +/** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
        +const regexes_unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
        +const regexes_idnEmail = regexes_unicodeEmail;
        +const regexes_browserEmail = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
        +// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
        +const regexes_emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
        +function core_regexes_emoji() {
        +    return new RegExp(regexes_emoji, "u");
        +}
        +const regexes_ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
        +const regexes_ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
        +const regexes_mac = (delimiter) => {
        +    const escapedDelim = util_escapeRegex(delimiter ?? ":");
        +    return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
        +};
        +const regexes_cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
        +const regexes_cidrv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;
        +// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
        +const regexes_base64 = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/;
        +const regexes_base64url = /^[A-Za-z0-9_-]*$/;
        +// based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address
        +// export const hostname: RegExp = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
        +const regexes_hostname = /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
        +const regexes_domain = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
        +// https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
        +// E.164: leading digit must be 1-9; total digits (excluding '+') between 7-15
        +const regexes_e164 = /^\+[1-9]\d{6,14}$/;
        +// const dateSource = `((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))`;
        +const regexes_dateSource = `(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;
        +const regexes_date = /*@__PURE__*/ new RegExp(`^${regexes_dateSource}$`);
        +function regexes_timeSource(args) {
        +    const hhmm = `(?:[01]\\d|2[0-3]):[0-5]\\d`;
        +    const regex = typeof args.precision === "number"
        +        ? args.precision === -1
        +            ? `${hhmm}`
        +            : args.precision === 0
        +                ? `${hhmm}:[0-5]\\d`
        +                : `${hhmm}:[0-5]\\d\\.\\d{${args.precision}}`
        +        : `${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`;
        +    return regex;
        +}
        +function regexes_time(args) {
        +    return new RegExp(`^${regexes_timeSource(args)}$`);
        +}
        +// Adapted from https://stackoverflow.com/a/3143231
        +function regexes_datetime(args) {
        +    const time = regexes_timeSource({ precision: args.precision });
        +    const opts = ["Z"];
        +    if (args.local)
        +        opts.push("");
        +    // if (args.offset) opts.push(`([+-]\\d{2}:\\d{2})`);
        +    if (args.offset)
        +        opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
        +    const timeRegex = `${time}(?:${opts.join("|")})`;
        +    return new RegExp(`^${regexes_dateSource}T(?:${timeRegex})$`);
        +}
        +const regexes_string = (params) => {
        +    const regex = params ? `[\\s\\S]{${params?.minimum ?? 0},${params?.maximum ?? ""}}` : `[\\s\\S]*`;
        +    return new RegExp(`^${regex}$`);
        +};
        +const regexes_bigint = /^-?\d+n?$/;
        +const regexes_integer = /^-?\d+$/;
        +const regexes_number = /^-?\d+(?:\.\d+)?$/;
        +const core_regexes_boolean = /^(?:true|false)$/i;
        +const regexes_null = /^null$/i;
        +
        +const regexes_undefined = /^undefined$/i;
        +
        +// regex for string with no uppercase letters
        +const regexes_lowercase = /^[^A-Z]*$/;
        +// regex for string with no lowercase letters
        +const regexes_uppercase = /^[^a-z]*$/;
        +// regex for hexadecimal strings (any length)
        +const regexes_hex = /^[0-9a-fA-F]*$/;
        +// Hash regexes for different algorithms and encodings
        +// Helper function to create base64 regex with exact length and padding
        +function regexes_fixedBase64(bodyLength, padding) {
        +    return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
        +}
        +// Helper function to create base64url regex with exact length (no padding)
        +function regexes_fixedBase64url(length) {
        +    return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
        +}
        +// MD5 (16 bytes): base64 = 24 chars total (22 + "==")
        +const regexes_md5_hex = /^[0-9a-fA-F]{32}$/;
        +const regexes_md5_base64 = /*@__PURE__*/ regexes_fixedBase64(22, "==");
        +const regexes_md5_base64url = /*@__PURE__*/ regexes_fixedBase64url(22);
        +// SHA1 (20 bytes): base64 = 28 chars total (27 + "=")
        +const regexes_sha1_hex = /^[0-9a-fA-F]{40}$/;
        +const regexes_sha1_base64 = /*@__PURE__*/ regexes_fixedBase64(27, "=");
        +const regexes_sha1_base64url = /*@__PURE__*/ regexes_fixedBase64url(27);
        +// SHA256 (32 bytes): base64 = 44 chars total (43 + "=")
        +const regexes_sha256_hex = /^[0-9a-fA-F]{64}$/;
        +const regexes_sha256_base64 = /*@__PURE__*/ regexes_fixedBase64(43, "=");
        +const regexes_sha256_base64url = /*@__PURE__*/ regexes_fixedBase64url(43);
        +// SHA384 (48 bytes): base64 = 64 chars total (no padding)
        +const regexes_sha384_hex = /^[0-9a-fA-F]{96}$/;
        +const regexes_sha384_base64 = /*@__PURE__*/ regexes_fixedBase64(64, "");
        +const regexes_sha384_base64url = /*@__PURE__*/ regexes_fixedBase64url(64);
        +// SHA512 (64 bytes): base64 = 88 chars total (86 + "==")
        +const regexes_sha512_hex = /^[0-9a-fA-F]{128}$/;
        +const regexes_sha512_base64 = /*@__PURE__*/ regexes_fixedBase64(86, "==");
        +const regexes_sha512_base64url = /*@__PURE__*/ regexes_fixedBase64url(86);
        +
        +;// ./node_modules/zod/v4/core/checks.js
        +// import { $ZodType } from "./schemas.js";
        +
        +
        +
        +const checks_$ZodCheck = /*@__PURE__*/ core_$constructor("$ZodCheck", (inst, def) => {
        +    var _a;
        +    inst._zod ?? (inst._zod = {});
        +    inst._zod.def = def;
        +    (_a = inst._zod).onattach ?? (_a.onattach = []);
        +});
        +const checks_numericOriginMap = {
        +    number: "number",
        +    bigint: "bigint",
        +    object: "date",
        +};
        +const checks_$ZodCheckLessThan = /*@__PURE__*/ core_$constructor("$ZodCheckLessThan", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    const origin = checks_numericOriginMap[typeof def.value];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        const curr = (def.inclusive ? bag.maximum : bag.exclusiveMaximum) ?? Number.POSITIVE_INFINITY;
        +        if (def.value < curr) {
        +            if (def.inclusive)
        +                bag.maximum = def.value;
        +            else
        +                bag.exclusiveMaximum = def.value;
        +        }
        +    });
        +    inst._zod.check = (payload) => {
        +        if (def.inclusive ? payload.value <= def.value : payload.value < def.value) {
        +            return;
        +        }
        +        payload.issues.push({
        +            origin,
        +            code: "too_big",
        +            maximum: typeof def.value === "object" ? def.value.getTime() : def.value,
        +            input: payload.value,
        +            inclusive: def.inclusive,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckGreaterThan = /*@__PURE__*/ core_$constructor("$ZodCheckGreaterThan", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    const origin = checks_numericOriginMap[typeof def.value];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        const curr = (def.inclusive ? bag.minimum : bag.exclusiveMinimum) ?? Number.NEGATIVE_INFINITY;
        +        if (def.value > curr) {
        +            if (def.inclusive)
        +                bag.minimum = def.value;
        +            else
        +                bag.exclusiveMinimum = def.value;
        +        }
        +    });
        +    inst._zod.check = (payload) => {
        +        if (def.inclusive ? payload.value >= def.value : payload.value > def.value) {
        +            return;
        +        }
        +        payload.issues.push({
        +            origin,
        +            code: "too_small",
        +            minimum: typeof def.value === "object" ? def.value.getTime() : def.value,
        +            input: payload.value,
        +            inclusive: def.inclusive,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckMultipleOf = 
        +/*@__PURE__*/ core_$constructor("$ZodCheckMultipleOf", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    inst._zod.onattach.push((inst) => {
        +        var _a;
        +        (_a = inst._zod.bag).multipleOf ?? (_a.multipleOf = def.value);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (typeof payload.value !== typeof def.value)
        +            throw new Error("Cannot mix number and bigint in multiple_of check.");
        +        const isMultiple = typeof payload.value === "bigint"
        +            ? payload.value % def.value === BigInt(0)
        +            : util_floatSafeRemainder(payload.value, def.value) === 0;
        +        if (isMultiple)
        +            return;
        +        payload.issues.push({
        +            origin: typeof payload.value,
        +            code: "not_multiple_of",
        +            divisor: def.value,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckNumberFormat = /*@__PURE__*/ core_$constructor("$ZodCheckNumberFormat", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def); // no format checks
        +    def.format = def.format || "float64";
        +    const isInt = def.format?.includes("int");
        +    const origin = isInt ? "int" : "number";
        +    const [minimum, maximum] = util_NUMBER_FORMAT_RANGES[def.format];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.format = def.format;
        +        bag.minimum = minimum;
        +        bag.maximum = maximum;
        +        if (isInt)
        +            bag.pattern = regexes_integer;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        if (isInt) {
        +            if (!Number.isInteger(input)) {
        +                // invalid_format issue
        +                // payload.issues.push({
        +                //   expected: def.format,
        +                //   format: def.format,
        +                //   code: "invalid_format",
        +                //   input,
        +                //   inst,
        +                // });
        +                // invalid_type issue
        +                payload.issues.push({
        +                    expected: origin,
        +                    format: def.format,
        +                    code: "invalid_type",
        +                    continue: false,
        +                    input,
        +                    inst,
        +                });
        +                return;
        +                // not_multiple_of issue
        +                // payload.issues.push({
        +                //   code: "not_multiple_of",
        +                //   origin: "number",
        +                //   input,
        +                //   inst,
        +                //   divisor: 1,
        +                // });
        +            }
        +            if (!Number.isSafeInteger(input)) {
        +                if (input > 0) {
        +                    // too_big
        +                    payload.issues.push({
        +                        input,
        +                        code: "too_big",
        +                        maximum: Number.MAX_SAFE_INTEGER,
        +                        note: "Integers must be within the safe integer range.",
        +                        inst,
        +                        origin,
        +                        inclusive: true,
        +                        continue: !def.abort,
        +                    });
        +                }
        +                else {
        +                    // too_small
        +                    payload.issues.push({
        +                        input,
        +                        code: "too_small",
        +                        minimum: Number.MIN_SAFE_INTEGER,
        +                        note: "Integers must be within the safe integer range.",
        +                        inst,
        +                        origin,
        +                        inclusive: true,
        +                        continue: !def.abort,
        +                    });
        +                }
        +                return;
        +            }
        +        }
        +        if (input < minimum) {
        +            payload.issues.push({
        +                origin: "number",
        +                input,
        +                code: "too_small",
        +                minimum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +        if (input > maximum) {
        +            payload.issues.push({
        +                origin: "number",
        +                input,
        +                code: "too_big",
        +                maximum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const checks_$ZodCheckBigIntFormat = /*@__PURE__*/ core_$constructor("$ZodCheckBigIntFormat", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def); // no format checks
        +    const [minimum, maximum] = util_BIGINT_FORMAT_RANGES[def.format];
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.format = def.format;
        +        bag.minimum = minimum;
        +        bag.maximum = maximum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        if (input < minimum) {
        +            payload.issues.push({
        +                origin: "bigint",
        +                input,
        +                code: "too_small",
        +                minimum: minimum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +        if (input > maximum) {
        +            payload.issues.push({
        +                origin: "bigint",
        +                input,
        +                code: "too_big",
        +                maximum,
        +                inclusive: true,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const checks_$ZodCheckMaxSize = /*@__PURE__*/ core_$constructor("$ZodCheckMaxSize", (inst, def) => {
        +    var _a;
        +    checks_$ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !util_nullish(val) && val.size !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
        +        if (def.maximum < curr)
        +            inst._zod.bag.maximum = def.maximum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const size = input.size;
        +        if (size <= def.maximum)
        +            return;
        +        payload.issues.push({
        +            origin: util_getSizableOrigin(input),
        +            code: "too_big",
        +            maximum: def.maximum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckMinSize = /*@__PURE__*/ core_$constructor("$ZodCheckMinSize", (inst, def) => {
        +    var _a;
        +    checks_$ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !util_nullish(val) && val.size !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
        +        if (def.minimum > curr)
        +            inst._zod.bag.minimum = def.minimum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const size = input.size;
        +        if (size >= def.minimum)
        +            return;
        +        payload.issues.push({
        +            origin: util_getSizableOrigin(input),
        +            code: "too_small",
        +            minimum: def.minimum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckSizeEquals = /*@__PURE__*/ core_$constructor("$ZodCheckSizeEquals", (inst, def) => {
        +    var _a;
        +    checks_$ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !util_nullish(val) && val.size !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.minimum = def.size;
        +        bag.maximum = def.size;
        +        bag.size = def.size;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const size = input.size;
        +        if (size === def.size)
        +            return;
        +        const tooBig = size > def.size;
        +        payload.issues.push({
        +            origin: util_getSizableOrigin(input),
        +            ...(tooBig ? { code: "too_big", maximum: def.size } : { code: "too_small", minimum: def.size }),
        +            inclusive: true,
        +            exact: true,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckMaxLength = /*@__PURE__*/ core_$constructor("$ZodCheckMaxLength", (inst, def) => {
        +    var _a;
        +    checks_$ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !util_nullish(val) && val.length !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.maximum ?? Number.POSITIVE_INFINITY);
        +        if (def.maximum < curr)
        +            inst._zod.bag.maximum = def.maximum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const length = input.length;
        +        if (length <= def.maximum)
        +            return;
        +        const origin = util_getLengthableOrigin(input);
        +        payload.issues.push({
        +            origin,
        +            code: "too_big",
        +            maximum: def.maximum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckMinLength = /*@__PURE__*/ core_$constructor("$ZodCheckMinLength", (inst, def) => {
        +    var _a;
        +    checks_$ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !util_nullish(val) && val.length !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const curr = (inst._zod.bag.minimum ?? Number.NEGATIVE_INFINITY);
        +        if (def.minimum > curr)
        +            inst._zod.bag.minimum = def.minimum;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const length = input.length;
        +        if (length >= def.minimum)
        +            return;
        +        const origin = util_getLengthableOrigin(input);
        +        payload.issues.push({
        +            origin,
        +            code: "too_small",
        +            minimum: def.minimum,
        +            inclusive: true,
        +            input,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckLengthEquals = /*@__PURE__*/ core_$constructor("$ZodCheckLengthEquals", (inst, def) => {
        +    var _a;
        +    checks_$ZodCheck.init(inst, def);
        +    (_a = inst._zod.def).when ?? (_a.when = (payload) => {
        +        const val = payload.value;
        +        return !util_nullish(val) && val.length !== undefined;
        +    });
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.minimum = def.length;
        +        bag.maximum = def.length;
        +        bag.length = def.length;
        +    });
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const length = input.length;
        +        if (length === def.length)
        +            return;
        +        const origin = util_getLengthableOrigin(input);
        +        const tooBig = length > def.length;
        +        payload.issues.push({
        +            origin,
        +            ...(tooBig ? { code: "too_big", maximum: def.length } : { code: "too_small", minimum: def.length }),
        +            inclusive: true,
        +            exact: true,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckStringFormat = /*@__PURE__*/ core_$constructor("$ZodCheckStringFormat", (inst, def) => {
        +    var _a, _b;
        +    checks_$ZodCheck.init(inst, def);
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.format = def.format;
        +        if (def.pattern) {
        +            bag.patterns ?? (bag.patterns = new Set());
        +            bag.patterns.add(def.pattern);
        +        }
        +    });
        +    if (def.pattern)
        +        (_a = inst._zod).check ?? (_a.check = (payload) => {
        +            def.pattern.lastIndex = 0;
        +            if (def.pattern.test(payload.value))
        +                return;
        +            payload.issues.push({
        +                origin: "string",
        +                code: "invalid_format",
        +                format: def.format,
        +                input: payload.value,
        +                ...(def.pattern ? { pattern: def.pattern.toString() } : {}),
        +                inst,
        +                continue: !def.abort,
        +            });
        +        });
        +    else
        +        (_b = inst._zod).check ?? (_b.check = () => { });
        +});
        +const checks_$ZodCheckRegex = /*@__PURE__*/ core_$constructor("$ZodCheckRegex", (inst, def) => {
        +    checks_$ZodCheckStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        def.pattern.lastIndex = 0;
        +        if (def.pattern.test(payload.value))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "regex",
        +            input: payload.value,
        +            pattern: def.pattern.toString(),
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckLowerCase = /*@__PURE__*/ core_$constructor("$ZodCheckLowerCase", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_lowercase);
        +    checks_$ZodCheckStringFormat.init(inst, def);
        +});
        +const checks_$ZodCheckUpperCase = /*@__PURE__*/ core_$constructor("$ZodCheckUpperCase", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_uppercase);
        +    checks_$ZodCheckStringFormat.init(inst, def);
        +});
        +const checks_$ZodCheckIncludes = /*@__PURE__*/ core_$constructor("$ZodCheckIncludes", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    const escapedRegex = util_escapeRegex(def.includes);
        +    const pattern = new RegExp(typeof def.position === "number" ? `^.{${def.position}}${escapedRegex}` : escapedRegex);
        +    def.pattern = pattern;
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.patterns ?? (bag.patterns = new Set());
        +        bag.patterns.add(pattern);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (payload.value.includes(def.includes, def.position))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "includes",
        +            includes: def.includes,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckStartsWith = /*@__PURE__*/ core_$constructor("$ZodCheckStartsWith", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    const pattern = new RegExp(`^${util_escapeRegex(def.prefix)}.*`);
        +    def.pattern ?? (def.pattern = pattern);
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.patterns ?? (bag.patterns = new Set());
        +        bag.patterns.add(pattern);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (payload.value.startsWith(def.prefix))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "starts_with",
        +            prefix: def.prefix,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckEndsWith = /*@__PURE__*/ core_$constructor("$ZodCheckEndsWith", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    const pattern = new RegExp(`.*${util_escapeRegex(def.suffix)}$`);
        +    def.pattern ?? (def.pattern = pattern);
        +    inst._zod.onattach.push((inst) => {
        +        const bag = inst._zod.bag;
        +        bag.patterns ?? (bag.patterns = new Set());
        +        bag.patterns.add(pattern);
        +    });
        +    inst._zod.check = (payload) => {
        +        if (payload.value.endsWith(def.suffix))
        +            return;
        +        payload.issues.push({
        +            origin: "string",
        +            code: "invalid_format",
        +            format: "ends_with",
        +            suffix: def.suffix,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +///////////////////////////////////
        +/////    $ZodCheckProperty    /////
        +///////////////////////////////////
        +function checks_handleCheckPropertyResult(result, payload, property) {
        +    if (result.issues.length) {
        +        payload.issues.push(...util_prefixIssues(property, result.issues));
        +    }
        +}
        +const checks_$ZodCheckProperty = /*@__PURE__*/ core_$constructor("$ZodCheckProperty", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        const result = def.schema._zod.run({
        +            value: payload.value[def.property],
        +            issues: [],
        +        }, {});
        +        if (result instanceof Promise) {
        +            return result.then((result) => checks_handleCheckPropertyResult(result, payload, def.property));
        +        }
        +        checks_handleCheckPropertyResult(result, payload, def.property);
        +        return;
        +    };
        +});
        +const checks_$ZodCheckMimeType = /*@__PURE__*/ core_$constructor("$ZodCheckMimeType", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    const mimeSet = new Set(def.mime);
        +    inst._zod.onattach.push((inst) => {
        +        inst._zod.bag.mime = def.mime;
        +    });
        +    inst._zod.check = (payload) => {
        +        if (mimeSet.has(payload.value.type))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_value",
        +            values: def.mime,
        +            input: payload.value.type,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const checks_$ZodCheckOverwrite = /*@__PURE__*/ core_$constructor("$ZodCheckOverwrite", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        payload.value = def.tx(payload.value);
        +    };
        +});
        +
        +;// ./node_modules/zod/v4/core/doc.js
        +class doc_Doc {
        +    constructor(args = []) {
        +        this.content = [];
        +        this.indent = 0;
        +        if (this)
        +            this.args = args;
        +    }
        +    indented(fn) {
        +        this.indent += 1;
        +        fn(this);
        +        this.indent -= 1;
        +    }
        +    write(arg) {
        +        if (typeof arg === "function") {
        +            arg(this, { execution: "sync" });
        +            arg(this, { execution: "async" });
        +            return;
        +        }
        +        const content = arg;
        +        const lines = content.split("\n").filter((x) => x);
        +        const minIndent = Math.min(...lines.map((x) => x.length - x.trimStart().length));
        +        const dedented = lines.map((x) => x.slice(minIndent)).map((x) => " ".repeat(this.indent * 2) + x);
        +        for (const line of dedented) {
        +            this.content.push(line);
        +        }
        +    }
        +    compile() {
        +        const F = Function;
        +        const args = this?.args;
        +        const content = this?.content ?? [``];
        +        const lines = [...content.map((x) => `  ${x}`)];
        +        // console.log(lines.join("\n"));
        +        return new F(...args, lines.join("\n"));
        +    }
        +}
        +
        +;// ./node_modules/zod/v4/core/versions.js
        +const versions_version = {
        +    major: 4,
        +    minor: 3,
        +    patch: 6,
        +};
        +
        +;// ./node_modules/zod/v4/core/schemas.js
        +
        +
        +
        +
        +
        +
        +
        +const schemas_$ZodType = /*@__PURE__*/ core_$constructor("$ZodType", (inst, def) => {
        +    var _a;
        +    inst ?? (inst = {});
        +    inst._zod.def = def; // set _def property
        +    inst._zod.bag = inst._zod.bag || {}; // initialize _bag object
        +    inst._zod.version = versions_version;
        +    const checks = [...(inst._zod.def.checks ?? [])];
        +    // if inst is itself a checks.$ZodCheck, run it as a check
        +    if (inst._zod.traits.has("$ZodCheck")) {
        +        checks.unshift(inst);
        +    }
        +    for (const ch of checks) {
        +        for (const fn of ch._zod.onattach) {
        +            fn(inst);
        +        }
        +    }
        +    if (checks.length === 0) {
        +        // deferred initializer
        +        // inst._zod.parse is not yet defined
        +        (_a = inst._zod).deferred ?? (_a.deferred = []);
        +        inst._zod.deferred?.push(() => {
        +            inst._zod.run = inst._zod.parse;
        +        });
        +    }
        +    else {
        +        const runChecks = (payload, checks, ctx) => {
        +            let isAborted = util_aborted(payload);
        +            let asyncResult;
        +            for (const ch of checks) {
        +                if (ch._zod.def.when) {
        +                    const shouldRun = ch._zod.def.when(payload);
        +                    if (!shouldRun)
        +                        continue;
        +                }
        +                else if (isAborted) {
        +                    continue;
        +                }
        +                const currLen = payload.issues.length;
        +                const _ = ch._zod.check(payload);
        +                if (_ instanceof Promise && ctx?.async === false) {
        +                    throw new core_$ZodAsyncError();
        +                }
        +                if (asyncResult || _ instanceof Promise) {
        +                    asyncResult = (asyncResult ?? Promise.resolve()).then(async () => {
        +                        await _;
        +                        const nextLen = payload.issues.length;
        +                        if (nextLen === currLen)
        +                            return;
        +                        if (!isAborted)
        +                            isAborted = util_aborted(payload, currLen);
        +                    });
        +                }
        +                else {
        +                    const nextLen = payload.issues.length;
        +                    if (nextLen === currLen)
        +                        continue;
        +                    if (!isAborted)
        +                        isAborted = util_aborted(payload, currLen);
        +                }
        +            }
        +            if (asyncResult) {
        +                return asyncResult.then(() => {
        +                    return payload;
        +                });
        +            }
        +            return payload;
        +        };
        +        const handleCanaryResult = (canary, payload, ctx) => {
        +            // abort if the canary is aborted
        +            if (util_aborted(canary)) {
        +                canary.aborted = true;
        +                return canary;
        +            }
        +            // run checks first, then
        +            const checkResult = runChecks(payload, checks, ctx);
        +            if (checkResult instanceof Promise) {
        +                if (ctx.async === false)
        +                    throw new core_$ZodAsyncError();
        +                return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));
        +            }
        +            return inst._zod.parse(checkResult, ctx);
        +        };
        +        inst._zod.run = (payload, ctx) => {
        +            if (ctx.skipChecks) {
        +                return inst._zod.parse(payload, ctx);
        +            }
        +            if (ctx.direction === "backward") {
        +                // run canary
        +                // initial pass (no checks)
        +                const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });
        +                if (canary instanceof Promise) {
        +                    return canary.then((canary) => {
        +                        return handleCanaryResult(canary, payload, ctx);
        +                    });
        +                }
        +                return handleCanaryResult(canary, payload, ctx);
        +            }
        +            // forward
        +            const result = inst._zod.parse(payload, ctx);
        +            if (result instanceof Promise) {
        +                if (ctx.async === false)
        +                    throw new core_$ZodAsyncError();
        +                return result.then((result) => runChecks(result, checks, ctx));
        +            }
        +            return runChecks(result, checks, ctx);
        +        };
        +    }
        +    // Lazy initialize ~standard to avoid creating objects for every schema
        +    util_defineLazy(inst, "~standard", () => ({
        +        validate: (value) => {
        +            try {
        +                const r = v4_core_parse_safeParse(inst, value);
        +                return r.success ? { value: r.data } : { issues: r.error?.issues };
        +            }
        +            catch (_) {
        +                return v4_core_parse_safeParseAsync(inst, value).then((r) => (r.success ? { value: r.data } : { issues: r.error?.issues }));
        +            }
        +        },
        +        vendor: "zod",
        +        version: 1,
        +    }));
        +});
        +
        +const schemas_$ZodString = /*@__PURE__*/ core_$constructor("$ZodString", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes_string(inst._zod.bag);
        +    inst._zod.parse = (payload, _) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = String(payload.value);
        +            }
        +            catch (_) { }
        +        if (typeof payload.value === "string")
        +            return payload;
        +        payload.issues.push({
        +            expected: "string",
        +            code: "invalid_type",
        +            input: payload.value,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodStringFormat = /*@__PURE__*/ core_$constructor("$ZodStringFormat", (inst, def) => {
        +    // check initialization must come first
        +    checks_$ZodCheckStringFormat.init(inst, def);
        +    schemas_$ZodString.init(inst, def);
        +});
        +const schemas_$ZodGUID = /*@__PURE__*/ core_$constructor("$ZodGUID", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_guid);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodUUID = /*@__PURE__*/ core_$constructor("$ZodUUID", (inst, def) => {
        +    if (def.version) {
        +        const versionMap = {
        +            v1: 1,
        +            v2: 2,
        +            v3: 3,
        +            v4: 4,
        +            v5: 5,
        +            v6: 6,
        +            v7: 7,
        +            v8: 8,
        +        };
        +        const v = versionMap[def.version];
        +        if (v === undefined)
        +            throw new Error(`Invalid UUID version: "${def.version}"`);
        +        def.pattern ?? (def.pattern = regexes_uuid(v));
        +    }
        +    else
        +        def.pattern ?? (def.pattern = regexes_uuid());
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodEmail = /*@__PURE__*/ core_$constructor("$ZodEmail", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_email);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodURL = /*@__PURE__*/ core_$constructor("$ZodURL", (inst, def) => {
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        try {
        +            // Trim whitespace from input
        +            const trimmed = payload.value.trim();
        +            // @ts-ignore
        +            const url = new URL(trimmed);
        +            if (def.hostname) {
        +                def.hostname.lastIndex = 0;
        +                if (!def.hostname.test(url.hostname)) {
        +                    payload.issues.push({
        +                        code: "invalid_format",
        +                        format: "url",
        +                        note: "Invalid hostname",
        +                        pattern: def.hostname.source,
        +                        input: payload.value,
        +                        inst,
        +                        continue: !def.abort,
        +                    });
        +                }
        +            }
        +            if (def.protocol) {
        +                def.protocol.lastIndex = 0;
        +                if (!def.protocol.test(url.protocol.endsWith(":") ? url.protocol.slice(0, -1) : url.protocol)) {
        +                    payload.issues.push({
        +                        code: "invalid_format",
        +                        format: "url",
        +                        note: "Invalid protocol",
        +                        pattern: def.protocol.source,
        +                        input: payload.value,
        +                        inst,
        +                        continue: !def.abort,
        +                    });
        +                }
        +            }
        +            // Set the output value based on normalize flag
        +            if (def.normalize) {
        +                // Use normalized URL
        +                payload.value = url.href;
        +            }
        +            else {
        +                // Preserve the original input (trimmed)
        +                payload.value = trimmed;
        +            }
        +            return;
        +        }
        +        catch (_) {
        +            payload.issues.push({
        +                code: "invalid_format",
        +                format: "url",
        +                input: payload.value,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const schemas_$ZodEmoji = /*@__PURE__*/ core_$constructor("$ZodEmoji", (inst, def) => {
        +    def.pattern ?? (def.pattern = core_regexes_emoji());
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodNanoID = /*@__PURE__*/ core_$constructor("$ZodNanoID", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_nanoid);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodCUID = /*@__PURE__*/ core_$constructor("$ZodCUID", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_cuid);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodCUID2 = /*@__PURE__*/ core_$constructor("$ZodCUID2", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_cuid2);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodULID = /*@__PURE__*/ core_$constructor("$ZodULID", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_ulid);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodXID = /*@__PURE__*/ core_$constructor("$ZodXID", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_xid);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodKSUID = /*@__PURE__*/ core_$constructor("$ZodKSUID", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_ksuid);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodISODateTime = /*@__PURE__*/ core_$constructor("$ZodISODateTime", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_datetime(def));
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodISODate = /*@__PURE__*/ core_$constructor("$ZodISODate", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_date);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodISOTime = /*@__PURE__*/ core_$constructor("$ZodISOTime", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_time(def));
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodISODuration = /*@__PURE__*/ core_$constructor("$ZodISODuration", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_duration);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodIPv4 = /*@__PURE__*/ core_$constructor("$ZodIPv4", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_ipv4);
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.bag.format = `ipv4`;
        +});
        +const schemas_$ZodIPv6 = /*@__PURE__*/ core_$constructor("$ZodIPv6", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_ipv6);
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.bag.format = `ipv6`;
        +    inst._zod.check = (payload) => {
        +        try {
        +            // @ts-ignore
        +            new URL(`http://[${payload.value}]`);
        +            // return;
        +        }
        +        catch {
        +            payload.issues.push({
        +                code: "invalid_format",
        +                format: "ipv6",
        +                input: payload.value,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +const schemas_$ZodMAC = /*@__PURE__*/ core_$constructor("$ZodMAC", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_mac(def.delimiter));
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.bag.format = `mac`;
        +});
        +const schemas_$ZodCIDRv4 = /*@__PURE__*/ core_$constructor("$ZodCIDRv4", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_cidrv4);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +const schemas_$ZodCIDRv6 = /*@__PURE__*/ core_$constructor("$ZodCIDRv6", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_cidrv6); // not used for validation
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        const parts = payload.value.split("/");
        +        try {
        +            if (parts.length !== 2)
        +                throw new Error();
        +            const [address, prefix] = parts;
        +            if (!prefix)
        +                throw new Error();
        +            const prefixNum = Number(prefix);
        +            if (`${prefixNum}` !== prefix)
        +                throw new Error();
        +            if (prefixNum < 0 || prefixNum > 128)
        +                throw new Error();
        +            // @ts-ignore
        +            new URL(`http://[${address}]`);
        +        }
        +        catch {
        +            payload.issues.push({
        +                code: "invalid_format",
        +                format: "cidrv6",
        +                input: payload.value,
        +                inst,
        +                continue: !def.abort,
        +            });
        +        }
        +    };
        +});
        +//////////////////////////////   ZodBase64   //////////////////////////////
        +function schemas_isValidBase64(data) {
        +    if (data === "")
        +        return true;
        +    if (data.length % 4 !== 0)
        +        return false;
        +    try {
        +        // @ts-ignore
        +        atob(data);
        +        return true;
        +    }
        +    catch {
        +        return false;
        +    }
        +}
        +const schemas_$ZodBase64 = /*@__PURE__*/ core_$constructor("$ZodBase64", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_base64);
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.bag.contentEncoding = "base64";
        +    inst._zod.check = (payload) => {
        +        if (schemas_isValidBase64(payload.value))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: "base64",
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +//////////////////////////////   ZodBase64   //////////////////////////////
        +function schemas_isValidBase64URL(data) {
        +    if (!regexes_base64url.test(data))
        +        return false;
        +    const base64 = data.replace(/[-_]/g, (c) => (c === "-" ? "+" : "/"));
        +    const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, "=");
        +    return schemas_isValidBase64(padded);
        +}
        +const schemas_$ZodBase64URL = /*@__PURE__*/ core_$constructor("$ZodBase64URL", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_base64url);
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.bag.contentEncoding = "base64url";
        +    inst._zod.check = (payload) => {
        +        if (schemas_isValidBase64URL(payload.value))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: "base64url",
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const schemas_$ZodE164 = /*@__PURE__*/ core_$constructor("$ZodE164", (inst, def) => {
        +    def.pattern ?? (def.pattern = regexes_e164);
        +    schemas_$ZodStringFormat.init(inst, def);
        +});
        +//////////////////////////////   ZodJWT   //////////////////////////////
        +function schemas_isValidJWT(token, algorithm = null) {
        +    try {
        +        const tokensParts = token.split(".");
        +        if (tokensParts.length !== 3)
        +            return false;
        +        const [header] = tokensParts;
        +        if (!header)
        +            return false;
        +        // @ts-ignore
        +        const parsedHeader = JSON.parse(atob(header));
        +        if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT")
        +            return false;
        +        if (!parsedHeader.alg)
        +            return false;
        +        if (algorithm && (!("alg" in parsedHeader) || parsedHeader.alg !== algorithm))
        +            return false;
        +        return true;
        +    }
        +    catch {
        +        return false;
        +    }
        +}
        +const schemas_$ZodJWT = /*@__PURE__*/ core_$constructor("$ZodJWT", (inst, def) => {
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        if (schemas_isValidJWT(payload.value, def.alg))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: "jwt",
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const schemas_$ZodCustomStringFormat = /*@__PURE__*/ core_$constructor("$ZodCustomStringFormat", (inst, def) => {
        +    schemas_$ZodStringFormat.init(inst, def);
        +    inst._zod.check = (payload) => {
        +        if (def.fn(payload.value))
        +            return;
        +        payload.issues.push({
        +            code: "invalid_format",
        +            format: def.format,
        +            input: payload.value,
        +            inst,
        +            continue: !def.abort,
        +        });
        +    };
        +});
        +const schemas_$ZodNumber = /*@__PURE__*/ core_$constructor("$ZodNumber", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.pattern = inst._zod.bag.pattern ?? regexes_number;
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = Number(payload.value);
        +            }
        +            catch (_) { }
        +        const input = payload.value;
        +        if (typeof input === "number" && !Number.isNaN(input) && Number.isFinite(input)) {
        +            return payload;
        +        }
        +        const received = typeof input === "number"
        +            ? Number.isNaN(input)
        +                ? "NaN"
        +                : !Number.isFinite(input)
        +                    ? "Infinity"
        +                    : undefined
        +            : undefined;
        +        payload.issues.push({
        +            expected: "number",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +            ...(received ? { received } : {}),
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodNumberFormat = /*@__PURE__*/ core_$constructor("$ZodNumberFormat", (inst, def) => {
        +    checks_$ZodCheckNumberFormat.init(inst, def);
        +    schemas_$ZodNumber.init(inst, def); // no format checks
        +});
        +const schemas_$ZodBoolean = /*@__PURE__*/ core_$constructor("$ZodBoolean", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.pattern = core_regexes_boolean;
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = Boolean(payload.value);
        +            }
        +            catch (_) { }
        +        const input = payload.value;
        +        if (typeof input === "boolean")
        +            return payload;
        +        payload.issues.push({
        +            expected: "boolean",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodBigInt = /*@__PURE__*/ core_$constructor("$ZodBigInt", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.pattern = regexes_bigint;
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce)
        +            try {
        +                payload.value = BigInt(payload.value);
        +            }
        +            catch (_) { }
        +        if (typeof payload.value === "bigint")
        +            return payload;
        +        payload.issues.push({
        +            expected: "bigint",
        +            code: "invalid_type",
        +            input: payload.value,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodBigIntFormat = /*@__PURE__*/ core_$constructor("$ZodBigIntFormat", (inst, def) => {
        +    checks_$ZodCheckBigIntFormat.init(inst, def);
        +    schemas_$ZodBigInt.init(inst, def); // no format checks
        +});
        +const schemas_$ZodSymbol = /*@__PURE__*/ core_$constructor("$ZodSymbol", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (typeof input === "symbol")
        +            return payload;
        +        payload.issues.push({
        +            expected: "symbol",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodUndefined = /*@__PURE__*/ core_$constructor("$ZodUndefined", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.pattern = regexes_undefined;
        +    inst._zod.values = new Set([undefined]);
        +    inst._zod.optin = "optional";
        +    inst._zod.optout = "optional";
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (typeof input === "undefined")
        +            return payload;
        +        payload.issues.push({
        +            expected: "undefined",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodNull = /*@__PURE__*/ core_$constructor("$ZodNull", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.pattern = regexes_null;
        +    inst._zod.values = new Set([null]);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (input === null)
        +            return payload;
        +        payload.issues.push({
        +            expected: "null",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodAny = /*@__PURE__*/ core_$constructor("$ZodAny", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload) => payload;
        +});
        +const schemas_$ZodUnknown = /*@__PURE__*/ core_$constructor("$ZodUnknown", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload) => payload;
        +});
        +const schemas_$ZodNever = /*@__PURE__*/ core_$constructor("$ZodNever", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        payload.issues.push({
        +            expected: "never",
        +            code: "invalid_type",
        +            input: payload.value,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodVoid = /*@__PURE__*/ core_$constructor("$ZodVoid", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (typeof input === "undefined")
        +            return payload;
        +        payload.issues.push({
        +            expected: "void",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodDate = /*@__PURE__*/ core_$constructor("$ZodDate", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (def.coerce) {
        +            try {
        +                payload.value = new Date(payload.value);
        +            }
        +            catch (_err) { }
        +        }
        +        const input = payload.value;
        +        const isDate = input instanceof Date;
        +        const isValidDate = isDate && !Number.isNaN(input.getTime());
        +        if (isValidDate)
        +            return payload;
        +        payload.issues.push({
        +            expected: "date",
        +            code: "invalid_type",
        +            input,
        +            ...(isDate ? { received: "Invalid Date" } : {}),
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +function schemas_handleArrayResult(result, final, index) {
        +    if (result.issues.length) {
        +        final.issues.push(...util_prefixIssues(index, result.issues));
        +    }
        +    final.value[index] = result.value;
        +}
        +const schemas_$ZodArray = /*@__PURE__*/ core_$constructor("$ZodArray", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!Array.isArray(input)) {
        +            payload.issues.push({
        +                expected: "array",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        payload.value = Array(input.length);
        +        const proms = [];
        +        for (let i = 0; i < input.length; i++) {
        +            const item = input[i];
        +            const result = def.element._zod.run({
        +                value: item,
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                proms.push(result.then((result) => schemas_handleArrayResult(result, payload, i)));
        +            }
        +            else {
        +                schemas_handleArrayResult(result, payload, i);
        +            }
        +        }
        +        if (proms.length) {
        +            return Promise.all(proms).then(() => payload);
        +        }
        +        return payload; //handleArrayResultsAsync(parseResults, final);
        +    };
        +});
        +function schemas_handlePropertyResult(result, final, key, input, isOptionalOut) {
        +    if (result.issues.length) {
        +        // For optional-out schemas, ignore errors on absent keys
        +        if (isOptionalOut && !(key in input)) {
        +            return;
        +        }
        +        final.issues.push(...util_prefixIssues(key, result.issues));
        +    }
        +    if (result.value === undefined) {
        +        if (key in input) {
        +            final.value[key] = undefined;
        +        }
        +    }
        +    else {
        +        final.value[key] = result.value;
        +    }
        +}
        +function schemas_normalizeDef(def) {
        +    const keys = Object.keys(def.shape);
        +    for (const k of keys) {
        +        if (!def.shape?.[k]?._zod?.traits?.has("$ZodType")) {
        +            throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
        +        }
        +    }
        +    const okeys = util_optionalKeys(def.shape);
        +    return {
        +        ...def,
        +        keys,
        +        keySet: new Set(keys),
        +        numKeys: keys.length,
        +        optionalKeys: new Set(okeys),
        +    };
        +}
        +function schemas_handleCatchall(proms, input, payload, ctx, def, inst) {
        +    const unrecognized = [];
        +    // iterate over input keys
        +    const keySet = def.keySet;
        +    const _catchall = def.catchall._zod;
        +    const t = _catchall.def.type;
        +    const isOptionalOut = _catchall.optout === "optional";
        +    for (const key in input) {
        +        if (keySet.has(key))
        +            continue;
        +        if (t === "never") {
        +            unrecognized.push(key);
        +            continue;
        +        }
        +        const r = _catchall.run({ value: input[key], issues: [] }, ctx);
        +        if (r instanceof Promise) {
        +            proms.push(r.then((r) => schemas_handlePropertyResult(r, payload, key, input, isOptionalOut)));
        +        }
        +        else {
        +            schemas_handlePropertyResult(r, payload, key, input, isOptionalOut);
        +        }
        +    }
        +    if (unrecognized.length) {
        +        payload.issues.push({
        +            code: "unrecognized_keys",
        +            keys: unrecognized,
        +            input,
        +            inst,
        +        });
        +    }
        +    if (!proms.length)
        +        return payload;
        +    return Promise.all(proms).then(() => {
        +        return payload;
        +    });
        +}
        +const schemas_$ZodObject = /*@__PURE__*/ core_$constructor("$ZodObject", (inst, def) => {
        +    // requires cast because technically $ZodObject doesn't extend
        +    schemas_$ZodType.init(inst, def);
        +    // const sh = def.shape;
        +    const desc = Object.getOwnPropertyDescriptor(def, "shape");
        +    if (!desc?.get) {
        +        const sh = def.shape;
        +        Object.defineProperty(def, "shape", {
        +            get: () => {
        +                const newSh = { ...sh };
        +                Object.defineProperty(def, "shape", {
        +                    value: newSh,
        +                });
        +                return newSh;
        +            },
        +        });
        +    }
        +    const _normalized = util_cached(() => schemas_normalizeDef(def));
        +    util_defineLazy(inst._zod, "propValues", () => {
        +        const shape = def.shape;
        +        const propValues = {};
        +        for (const key in shape) {
        +            const field = shape[key]._zod;
        +            if (field.values) {
        +                propValues[key] ?? (propValues[key] = new Set());
        +                for (const v of field.values)
        +                    propValues[key].add(v);
        +            }
        +        }
        +        return propValues;
        +    });
        +    const isObject = core_util_isObject;
        +    const catchall = def.catchall;
        +    let value;
        +    inst._zod.parse = (payload, ctx) => {
        +        value ?? (value = _normalized.value);
        +        const input = payload.value;
        +        if (!isObject(input)) {
        +            payload.issues.push({
        +                expected: "object",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        payload.value = {};
        +        const proms = [];
        +        const shape = value.shape;
        +        for (const key of value.keys) {
        +            const el = shape[key];
        +            const isOptionalOut = el._zod.optout === "optional";
        +            const r = el._zod.run({ value: input[key], issues: [] }, ctx);
        +            if (r instanceof Promise) {
        +                proms.push(r.then((r) => schemas_handlePropertyResult(r, payload, key, input, isOptionalOut)));
        +            }
        +            else {
        +                schemas_handlePropertyResult(r, payload, key, input, isOptionalOut);
        +            }
        +        }
        +        if (!catchall) {
        +            return proms.length ? Promise.all(proms).then(() => payload) : payload;
        +        }
        +        return schemas_handleCatchall(proms, input, payload, ctx, _normalized.value, inst);
        +    };
        +});
        +const schemas_$ZodObjectJIT = /*@__PURE__*/ core_$constructor("$ZodObjectJIT", (inst, def) => {
        +    // requires cast because technically $ZodObject doesn't extend
        +    schemas_$ZodObject.init(inst, def);
        +    const superParse = inst._zod.parse;
        +    const _normalized = util_cached(() => schemas_normalizeDef(def));
        +    const generateFastpass = (shape) => {
        +        const doc = new doc_Doc(["shape", "payload", "ctx"]);
        +        const normalized = _normalized.value;
        +        const parseStr = (key) => {
        +            const k = util_esc(key);
        +            return `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;
        +        };
        +        doc.write(`const input = payload.value;`);
        +        const ids = Object.create(null);
        +        let counter = 0;
        +        for (const key of normalized.keys) {
        +            ids[key] = `key_${counter++}`;
        +        }
        +        // A: preserve key order {
        +        doc.write(`const newResult = {};`);
        +        for (const key of normalized.keys) {
        +            const id = ids[key];
        +            const k = util_esc(key);
        +            const schema = shape[key];
        +            const isOptionalOut = schema?._zod?.optout === "optional";
        +            doc.write(`const ${id} = ${parseStr(key)};`);
        +            if (isOptionalOut) {
        +                // For optional-out schemas, ignore errors on absent keys
        +                doc.write(`
        +        if (${id}.issues.length) {
        +          if (${k} in input) {
        +            payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
        +              ...iss,
        +              path: iss.path ? [${k}, ...iss.path] : [${k}]
        +            })));
        +          }
        +        }
        +        
        +        if (${id}.value === undefined) {
        +          if (${k} in input) {
        +            newResult[${k}] = undefined;
        +          }
        +        } else {
        +          newResult[${k}] = ${id}.value;
        +        }
        +        
        +      `);
        +            }
        +            else {
        +                doc.write(`
        +        if (${id}.issues.length) {
        +          payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
        +            ...iss,
        +            path: iss.path ? [${k}, ...iss.path] : [${k}]
        +          })));
        +        }
        +        
        +        if (${id}.value === undefined) {
        +          if (${k} in input) {
        +            newResult[${k}] = undefined;
        +          }
        +        } else {
        +          newResult[${k}] = ${id}.value;
        +        }
        +        
        +      `);
        +            }
        +        }
        +        doc.write(`payload.value = newResult;`);
        +        doc.write(`return payload;`);
        +        const fn = doc.compile();
        +        return (payload, ctx) => fn(shape, payload, ctx);
        +    };
        +    let fastpass;
        +    const isObject = core_util_isObject;
        +    const jit = !core_globalConfig.jitless;
        +    const allowsEval = core_util_allowsEval;
        +    const fastEnabled = jit && allowsEval.value; // && !def.catchall;
        +    const catchall = def.catchall;
        +    let value;
        +    inst._zod.parse = (payload, ctx) => {
        +        value ?? (value = _normalized.value);
        +        const input = payload.value;
        +        if (!isObject(input)) {
        +            payload.issues.push({
        +                expected: "object",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {
        +            // always synchronous
        +            if (!fastpass)
        +                fastpass = generateFastpass(def.shape);
        +            payload = fastpass(payload, ctx);
        +            if (!catchall)
        +                return payload;
        +            return schemas_handleCatchall([], input, payload, ctx, value, inst);
        +        }
        +        return superParse(payload, ctx);
        +    };
        +});
        +function schemas_handleUnionResults(results, final, inst, ctx) {
        +    for (const result of results) {
        +        if (result.issues.length === 0) {
        +            final.value = result.value;
        +            return final;
        +        }
        +    }
        +    const nonaborted = results.filter((r) => !util_aborted(r));
        +    if (nonaborted.length === 1) {
        +        final.value = nonaborted[0].value;
        +        return nonaborted[0];
        +    }
        +    final.issues.push({
        +        code: "invalid_union",
        +        input: final.value,
        +        inst,
        +        errors: results.map((result) => result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config()))),
        +    });
        +    return final;
        +}
        +const schemas_$ZodUnion = /*@__PURE__*/ core_$constructor("$ZodUnion", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    util_defineLazy(inst._zod, "optin", () => def.options.some((o) => o._zod.optin === "optional") ? "optional" : undefined);
        +    util_defineLazy(inst._zod, "optout", () => def.options.some((o) => o._zod.optout === "optional") ? "optional" : undefined);
        +    util_defineLazy(inst._zod, "values", () => {
        +        if (def.options.every((o) => o._zod.values)) {
        +            return new Set(def.options.flatMap((option) => Array.from(option._zod.values)));
        +        }
        +        return undefined;
        +    });
        +    util_defineLazy(inst._zod, "pattern", () => {
        +        if (def.options.every((o) => o._zod.pattern)) {
        +            const patterns = def.options.map((o) => o._zod.pattern);
        +            return new RegExp(`^(${patterns.map((p) => util_cleanRegex(p.source)).join("|")})$`);
        +        }
        +        return undefined;
        +    });
        +    const single = def.options.length === 1;
        +    const first = def.options[0]._zod.run;
        +    inst._zod.parse = (payload, ctx) => {
        +        if (single) {
        +            return first(payload, ctx);
        +        }
        +        let async = false;
        +        const results = [];
        +        for (const option of def.options) {
        +            const result = option._zod.run({
        +                value: payload.value,
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                results.push(result);
        +                async = true;
        +            }
        +            else {
        +                if (result.issues.length === 0)
        +                    return result;
        +                results.push(result);
        +            }
        +        }
        +        if (!async)
        +            return schemas_handleUnionResults(results, payload, inst, ctx);
        +        return Promise.all(results).then((results) => {
        +            return schemas_handleUnionResults(results, payload, inst, ctx);
        +        });
        +    };
        +});
        +function schemas_handleExclusiveUnionResults(results, final, inst, ctx) {
        +    const successes = results.filter((r) => r.issues.length === 0);
        +    if (successes.length === 1) {
        +        final.value = successes[0].value;
        +        return final;
        +    }
        +    if (successes.length === 0) {
        +        // No matches - same as regular union
        +        final.issues.push({
        +            code: "invalid_union",
        +            input: final.value,
        +            inst,
        +            errors: results.map((result) => result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config()))),
        +        });
        +    }
        +    else {
        +        // Multiple matches - exclusive union failure
        +        final.issues.push({
        +            code: "invalid_union",
        +            input: final.value,
        +            inst,
        +            errors: [],
        +            inclusive: false,
        +        });
        +    }
        +    return final;
        +}
        +const schemas_$ZodXor = /*@__PURE__*/ core_$constructor("$ZodXor", (inst, def) => {
        +    schemas_$ZodUnion.init(inst, def);
        +    def.inclusive = false;
        +    const single = def.options.length === 1;
        +    const first = def.options[0]._zod.run;
        +    inst._zod.parse = (payload, ctx) => {
        +        if (single) {
        +            return first(payload, ctx);
        +        }
        +        let async = false;
        +        const results = [];
        +        for (const option of def.options) {
        +            const result = option._zod.run({
        +                value: payload.value,
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                results.push(result);
        +                async = true;
        +            }
        +            else {
        +                results.push(result);
        +            }
        +        }
        +        if (!async)
        +            return schemas_handleExclusiveUnionResults(results, payload, inst, ctx);
        +        return Promise.all(results).then((results) => {
        +            return schemas_handleExclusiveUnionResults(results, payload, inst, ctx);
        +        });
        +    };
        +});
        +const schemas_$ZodDiscriminatedUnion = 
        +/*@__PURE__*/
        +core_$constructor("$ZodDiscriminatedUnion", (inst, def) => {
        +    def.inclusive = false;
        +    schemas_$ZodUnion.init(inst, def);
        +    const _super = inst._zod.parse;
        +    util_defineLazy(inst._zod, "propValues", () => {
        +        const propValues = {};
        +        for (const option of def.options) {
        +            const pv = option._zod.propValues;
        +            if (!pv || Object.keys(pv).length === 0)
        +                throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`);
        +            for (const [k, v] of Object.entries(pv)) {
        +                if (!propValues[k])
        +                    propValues[k] = new Set();
        +                for (const val of v) {
        +                    propValues[k].add(val);
        +                }
        +            }
        +        }
        +        return propValues;
        +    });
        +    const disc = util_cached(() => {
        +        const opts = def.options;
        +        const map = new Map();
        +        for (const o of opts) {
        +            const values = o._zod.propValues?.[def.discriminator];
        +            if (!values || values.size === 0)
        +                throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);
        +            for (const v of values) {
        +                if (map.has(v)) {
        +                    throw new Error(`Duplicate discriminator value "${String(v)}"`);
        +                }
        +                map.set(v, o);
        +            }
        +        }
        +        return map;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!core_util_isObject(input)) {
        +            payload.issues.push({
        +                code: "invalid_type",
        +                expected: "object",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        const opt = disc.value.get(input?.[def.discriminator]);
        +        if (opt) {
        +            return opt._zod.run(payload, ctx);
        +        }
        +        if (def.unionFallback) {
        +            return _super(payload, ctx);
        +        }
        +        // no matching discriminator
        +        payload.issues.push({
        +            code: "invalid_union",
        +            errors: [],
        +            note: "No matching discriminator",
        +            discriminator: def.discriminator,
        +            input,
        +            path: [def.discriminator],
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodIntersection = /*@__PURE__*/ core_$constructor("$ZodIntersection", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        const left = def.left._zod.run({ value: input, issues: [] }, ctx);
        +        const right = def.right._zod.run({ value: input, issues: [] }, ctx);
        +        const async = left instanceof Promise || right instanceof Promise;
        +        if (async) {
        +            return Promise.all([left, right]).then(([left, right]) => {
        +                return schemas_handleIntersectionResults(payload, left, right);
        +            });
        +        }
        +        return schemas_handleIntersectionResults(payload, left, right);
        +    };
        +});
        +function schemas_mergeValues(a, b) {
        +    // const aType = parse.t(a);
        +    // const bType = parse.t(b);
        +    if (a === b) {
        +        return { valid: true, data: a };
        +    }
        +    if (a instanceof Date && b instanceof Date && +a === +b) {
        +        return { valid: true, data: a };
        +    }
        +    if (util_isPlainObject(a) && util_isPlainObject(b)) {
        +        const bKeys = Object.keys(b);
        +        const sharedKeys = Object.keys(a).filter((key) => bKeys.indexOf(key) !== -1);
        +        const newObj = { ...a, ...b };
        +        for (const key of sharedKeys) {
        +            const sharedValue = schemas_mergeValues(a[key], b[key]);
        +            if (!sharedValue.valid) {
        +                return {
        +                    valid: false,
        +                    mergeErrorPath: [key, ...sharedValue.mergeErrorPath],
        +                };
        +            }
        +            newObj[key] = sharedValue.data;
        +        }
        +        return { valid: true, data: newObj };
        +    }
        +    if (Array.isArray(a) && Array.isArray(b)) {
        +        if (a.length !== b.length) {
        +            return { valid: false, mergeErrorPath: [] };
        +        }
        +        const newArray = [];
        +        for (let index = 0; index < a.length; index++) {
        +            const itemA = a[index];
        +            const itemB = b[index];
        +            const sharedValue = schemas_mergeValues(itemA, itemB);
        +            if (!sharedValue.valid) {
        +                return {
        +                    valid: false,
        +                    mergeErrorPath: [index, ...sharedValue.mergeErrorPath],
        +                };
        +            }
        +            newArray.push(sharedValue.data);
        +        }
        +        return { valid: true, data: newArray };
        +    }
        +    return { valid: false, mergeErrorPath: [] };
        +}
        +function schemas_handleIntersectionResults(result, left, right) {
        +    // Track which side(s) report each key as unrecognized
        +    const unrecKeys = new Map();
        +    let unrecIssue;
        +    for (const iss of left.issues) {
        +        if (iss.code === "unrecognized_keys") {
        +            unrecIssue ?? (unrecIssue = iss);
        +            for (const k of iss.keys) {
        +                if (!unrecKeys.has(k))
        +                    unrecKeys.set(k, {});
        +                unrecKeys.get(k).l = true;
        +            }
        +        }
        +        else {
        +            result.issues.push(iss);
        +        }
        +    }
        +    for (const iss of right.issues) {
        +        if (iss.code === "unrecognized_keys") {
        +            for (const k of iss.keys) {
        +                if (!unrecKeys.has(k))
        +                    unrecKeys.set(k, {});
        +                unrecKeys.get(k).r = true;
        +            }
        +        }
        +        else {
        +            result.issues.push(iss);
        +        }
        +    }
        +    // Report only keys unrecognized by BOTH sides
        +    const bothKeys = [...unrecKeys].filter(([, f]) => f.l && f.r).map(([k]) => k);
        +    if (bothKeys.length && unrecIssue) {
        +        result.issues.push({ ...unrecIssue, keys: bothKeys });
        +    }
        +    if (util_aborted(result))
        +        return result;
        +    const merged = schemas_mergeValues(left.value, right.value);
        +    if (!merged.valid) {
        +        throw new Error(`Unmergable intersection. Error path: ` + `${JSON.stringify(merged.mergeErrorPath)}`);
        +    }
        +    result.value = merged.data;
        +    return result;
        +}
        +const schemas_$ZodTuple = /*@__PURE__*/ core_$constructor("$ZodTuple", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    const items = def.items;
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!Array.isArray(input)) {
        +            payload.issues.push({
        +                input,
        +                inst,
        +                expected: "tuple",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        payload.value = [];
        +        const proms = [];
        +        const reversedIndex = [...items].reverse().findIndex((item) => item._zod.optin !== "optional");
        +        const optStart = reversedIndex === -1 ? 0 : items.length - reversedIndex;
        +        if (!def.rest) {
        +            const tooBig = input.length > items.length;
        +            const tooSmall = input.length < optStart - 1;
        +            if (tooBig || tooSmall) {
        +                payload.issues.push({
        +                    ...(tooBig
        +                        ? { code: "too_big", maximum: items.length, inclusive: true }
        +                        : { code: "too_small", minimum: items.length }),
        +                    input,
        +                    inst,
        +                    origin: "array",
        +                });
        +                return payload;
        +            }
        +        }
        +        let i = -1;
        +        for (const item of items) {
        +            i++;
        +            if (i >= input.length)
        +                if (i >= optStart)
        +                    continue;
        +            const result = item._zod.run({
        +                value: input[i],
        +                issues: [],
        +            }, ctx);
        +            if (result instanceof Promise) {
        +                proms.push(result.then((result) => schemas_handleTupleResult(result, payload, i)));
        +            }
        +            else {
        +                schemas_handleTupleResult(result, payload, i);
        +            }
        +        }
        +        if (def.rest) {
        +            const rest = input.slice(items.length);
        +            for (const el of rest) {
        +                i++;
        +                const result = def.rest._zod.run({
        +                    value: el,
        +                    issues: [],
        +                }, ctx);
        +                if (result instanceof Promise) {
        +                    proms.push(result.then((result) => schemas_handleTupleResult(result, payload, i)));
        +                }
        +                else {
        +                    schemas_handleTupleResult(result, payload, i);
        +                }
        +            }
        +        }
        +        if (proms.length)
        +            return Promise.all(proms).then(() => payload);
        +        return payload;
        +    };
        +});
        +function schemas_handleTupleResult(result, final, index) {
        +    if (result.issues.length) {
        +        final.issues.push(...util_prefixIssues(index, result.issues));
        +    }
        +    final.value[index] = result.value;
        +}
        +const schemas_$ZodRecord = /*@__PURE__*/ core_$constructor("$ZodRecord", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!util_isPlainObject(input)) {
        +            payload.issues.push({
        +                expected: "record",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        const proms = [];
        +        const values = def.keyType._zod.values;
        +        if (values) {
        +            payload.value = {};
        +            const recordKeys = new Set();
        +            for (const key of values) {
        +                if (typeof key === "string" || typeof key === "number" || typeof key === "symbol") {
        +                    recordKeys.add(typeof key === "number" ? key.toString() : key);
        +                    const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
        +                    if (result instanceof Promise) {
        +                        proms.push(result.then((result) => {
        +                            if (result.issues.length) {
        +                                payload.issues.push(...util_prefixIssues(key, result.issues));
        +                            }
        +                            payload.value[key] = result.value;
        +                        }));
        +                    }
        +                    else {
        +                        if (result.issues.length) {
        +                            payload.issues.push(...util_prefixIssues(key, result.issues));
        +                        }
        +                        payload.value[key] = result.value;
        +                    }
        +                }
        +            }
        +            let unrecognized;
        +            for (const key in input) {
        +                if (!recordKeys.has(key)) {
        +                    unrecognized = unrecognized ?? [];
        +                    unrecognized.push(key);
        +                }
        +            }
        +            if (unrecognized && unrecognized.length > 0) {
        +                payload.issues.push({
        +                    code: "unrecognized_keys",
        +                    input,
        +                    inst,
        +                    keys: unrecognized,
        +                });
        +            }
        +        }
        +        else {
        +            payload.value = {};
        +            for (const key of Reflect.ownKeys(input)) {
        +                if (key === "__proto__")
        +                    continue;
        +                let keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
        +                if (keyResult instanceof Promise) {
        +                    throw new Error("Async schemas not supported in object keys currently");
        +                }
        +                // Numeric string fallback: if key is a numeric string and failed, retry with Number(key)
        +                // This handles z.number(), z.literal([1, 2, 3]), and unions containing numeric literals
        +                const checkNumericKey = typeof key === "string" && regexes_number.test(key) && keyResult.issues.length;
        +                if (checkNumericKey) {
        +                    const retryResult = def.keyType._zod.run({ value: Number(key), issues: [] }, ctx);
        +                    if (retryResult instanceof Promise) {
        +                        throw new Error("Async schemas not supported in object keys currently");
        +                    }
        +                    if (retryResult.issues.length === 0) {
        +                        keyResult = retryResult;
        +                    }
        +                }
        +                if (keyResult.issues.length) {
        +                    if (def.mode === "loose") {
        +                        // Pass through unchanged
        +                        payload.value[key] = input[key];
        +                    }
        +                    else {
        +                        // Default "strict" behavior: error on invalid key
        +                        payload.issues.push({
        +                            code: "invalid_key",
        +                            origin: "record",
        +                            issues: keyResult.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config())),
        +                            input: key,
        +                            path: [key],
        +                            inst,
        +                        });
        +                    }
        +                    continue;
        +                }
        +                const result = def.valueType._zod.run({ value: input[key], issues: [] }, ctx);
        +                if (result instanceof Promise) {
        +                    proms.push(result.then((result) => {
        +                        if (result.issues.length) {
        +                            payload.issues.push(...util_prefixIssues(key, result.issues));
        +                        }
        +                        payload.value[keyResult.value] = result.value;
        +                    }));
        +                }
        +                else {
        +                    if (result.issues.length) {
        +                        payload.issues.push(...util_prefixIssues(key, result.issues));
        +                    }
        +                    payload.value[keyResult.value] = result.value;
        +                }
        +            }
        +        }
        +        if (proms.length) {
        +            return Promise.all(proms).then(() => payload);
        +        }
        +        return payload;
        +    };
        +});
        +const schemas_$ZodMap = /*@__PURE__*/ core_$constructor("$ZodMap", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!(input instanceof Map)) {
        +            payload.issues.push({
        +                expected: "map",
        +                code: "invalid_type",
        +                input,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        const proms = [];
        +        payload.value = new Map();
        +        for (const [key, value] of input) {
        +            const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
        +            const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);
        +            if (keyResult instanceof Promise || valueResult instanceof Promise) {
        +                proms.push(Promise.all([keyResult, valueResult]).then(([keyResult, valueResult]) => {
        +                    schemas_handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);
        +                }));
        +            }
        +            else {
        +                schemas_handleMapResult(keyResult, valueResult, payload, key, input, inst, ctx);
        +            }
        +        }
        +        if (proms.length)
        +            return Promise.all(proms).then(() => payload);
        +        return payload;
        +    };
        +});
        +function schemas_handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {
        +    if (keyResult.issues.length) {
        +        if (util_propertyKeyTypes.has(typeof key)) {
        +            final.issues.push(...util_prefixIssues(key, keyResult.issues));
        +        }
        +        else {
        +            final.issues.push({
        +                code: "invalid_key",
        +                origin: "map",
        +                input,
        +                inst,
        +                issues: keyResult.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config())),
        +            });
        +        }
        +    }
        +    if (valueResult.issues.length) {
        +        if (util_propertyKeyTypes.has(typeof key)) {
        +            final.issues.push(...util_prefixIssues(key, valueResult.issues));
        +        }
        +        else {
        +            final.issues.push({
        +                origin: "map",
        +                code: "invalid_element",
        +                input,
        +                inst,
        +                key: key,
        +                issues: valueResult.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config())),
        +            });
        +        }
        +    }
        +    final.value.set(keyResult.value, valueResult.value);
        +}
        +const schemas_$ZodSet = /*@__PURE__*/ core_$constructor("$ZodSet", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        const input = payload.value;
        +        if (!(input instanceof Set)) {
        +            payload.issues.push({
        +                input,
        +                inst,
        +                expected: "set",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        const proms = [];
        +        payload.value = new Set();
        +        for (const item of input) {
        +            const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);
        +            if (result instanceof Promise) {
        +                proms.push(result.then((result) => schemas_handleSetResult(result, payload)));
        +            }
        +            else
        +                schemas_handleSetResult(result, payload);
        +        }
        +        if (proms.length)
        +            return Promise.all(proms).then(() => payload);
        +        return payload;
        +    };
        +});
        +function schemas_handleSetResult(result, final) {
        +    if (result.issues.length) {
        +        final.issues.push(...result.issues);
        +    }
        +    final.value.add(result.value);
        +}
        +const schemas_$ZodEnum = /*@__PURE__*/ core_$constructor("$ZodEnum", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    const values = util_getEnumValues(def.entries);
        +    const valuesSet = new Set(values);
        +    inst._zod.values = valuesSet;
        +    inst._zod.pattern = new RegExp(`^(${values
        +        .filter((k) => util_propertyKeyTypes.has(typeof k))
        +        .map((o) => (typeof o === "string" ? util_escapeRegex(o) : o.toString()))
        +        .join("|")})$`);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (valuesSet.has(input)) {
        +            return payload;
        +        }
        +        payload.issues.push({
        +            code: "invalid_value",
        +            values,
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodLiteral = /*@__PURE__*/ core_$constructor("$ZodLiteral", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    if (def.values.length === 0) {
        +        throw new Error("Cannot create literal schema with no valid values");
        +    }
        +    const values = new Set(def.values);
        +    inst._zod.values = values;
        +    inst._zod.pattern = new RegExp(`^(${def.values
        +        .map((o) => (typeof o === "string" ? util_escapeRegex(o) : o ? util_escapeRegex(o.toString()) : String(o)))
        +        .join("|")})$`);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        if (values.has(input)) {
        +            return payload;
        +        }
        +        payload.issues.push({
        +            code: "invalid_value",
        +            values: def.values,
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodFile = /*@__PURE__*/ core_$constructor("$ZodFile", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        const input = payload.value;
        +        // @ts-ignore
        +        if (input instanceof File)
        +            return payload;
        +        payload.issues.push({
        +            expected: "file",
        +            code: "invalid_type",
        +            input,
        +            inst,
        +        });
        +        return payload;
        +    };
        +});
        +const schemas_$ZodTransform = /*@__PURE__*/ core_$constructor("$ZodTransform", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            throw new core_$ZodEncodeError(inst.constructor.name);
        +        }
        +        const _out = def.transform(payload.value, payload);
        +        if (ctx.async) {
        +            const output = _out instanceof Promise ? _out : Promise.resolve(_out);
        +            return output.then((output) => {
        +                payload.value = output;
        +                return payload;
        +            });
        +        }
        +        if (_out instanceof Promise) {
        +            throw new core_$ZodAsyncError();
        +        }
        +        payload.value = _out;
        +        return payload;
        +    };
        +});
        +function schemas_handleOptionalResult(result, input) {
        +    if (result.issues.length && input === undefined) {
        +        return { issues: [], value: undefined };
        +    }
        +    return result;
        +}
        +const schemas_$ZodOptional = /*@__PURE__*/ core_$constructor("$ZodOptional", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.optin = "optional";
        +    inst._zod.optout = "optional";
        +    util_defineLazy(inst._zod, "values", () => {
        +        return def.innerType._zod.values ? new Set([...def.innerType._zod.values, undefined]) : undefined;
        +    });
        +    util_defineLazy(inst._zod, "pattern", () => {
        +        const pattern = def.innerType._zod.pattern;
        +        return pattern ? new RegExp(`^(${util_cleanRegex(pattern.source)})?$`) : undefined;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        if (def.innerType._zod.optin === "optional") {
        +            const result = def.innerType._zod.run(payload, ctx);
        +            if (result instanceof Promise)
        +                return result.then((r) => schemas_handleOptionalResult(r, payload.value));
        +            return schemas_handleOptionalResult(result, payload.value);
        +        }
        +        if (payload.value === undefined) {
        +            return payload;
        +        }
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const schemas_$ZodExactOptional = /*@__PURE__*/ core_$constructor("$ZodExactOptional", (inst, def) => {
        +    // Call parent init - inherits optin/optout = "optional"
        +    schemas_$ZodOptional.init(inst, def);
        +    // Override values/pattern to NOT add undefined
        +    util_defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    util_defineLazy(inst._zod, "pattern", () => def.innerType._zod.pattern);
        +    // Override parse to just delegate (no undefined handling)
        +    inst._zod.parse = (payload, ctx) => {
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const schemas_$ZodNullable = /*@__PURE__*/ core_$constructor("$ZodNullable", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    util_defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
        +    util_defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
        +    util_defineLazy(inst._zod, "pattern", () => {
        +        const pattern = def.innerType._zod.pattern;
        +        return pattern ? new RegExp(`^(${util_cleanRegex(pattern.source)}|null)$`) : undefined;
        +    });
        +    util_defineLazy(inst._zod, "values", () => {
        +        return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        // Forward direction (decode): allow null to pass through
        +        if (payload.value === null)
        +            return payload;
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const schemas_$ZodDefault = /*@__PURE__*/ core_$constructor("$ZodDefault", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    // inst._zod.qin = "true";
        +    inst._zod.optin = "optional";
        +    util_defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        // Forward direction (decode): apply defaults for undefined input
        +        if (payload.value === undefined) {
        +            payload.value = def.defaultValue;
        +            /**
        +             * $ZodDefault returns the default value immediately in forward direction.
        +             * It doesn't pass the default value into the validator ("prefault"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a "prefault" for the pipe.   */
        +            return payload;
        +        }
        +        // Forward direction: continue with default handling
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => schemas_handleDefaultResult(result, def));
        +        }
        +        return schemas_handleDefaultResult(result, def);
        +    };
        +});
        +function schemas_handleDefaultResult(payload, def) {
        +    if (payload.value === undefined) {
        +        payload.value = def.defaultValue;
        +    }
        +    return payload;
        +}
        +const schemas_$ZodPrefault = /*@__PURE__*/ core_$constructor("$ZodPrefault", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.optin = "optional";
        +    util_defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        // Forward direction (decode): apply prefault for undefined input
        +        if (payload.value === undefined) {
        +            payload.value = def.defaultValue;
        +        }
        +        return def.innerType._zod.run(payload, ctx);
        +    };
        +});
        +const schemas_$ZodNonOptional = /*@__PURE__*/ core_$constructor("$ZodNonOptional", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    util_defineLazy(inst._zod, "values", () => {
        +        const v = def.innerType._zod.values;
        +        return v ? new Set([...v].filter((x) => x !== undefined)) : undefined;
        +    });
        +    inst._zod.parse = (payload, ctx) => {
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => schemas_handleNonOptionalResult(result, inst));
        +        }
        +        return schemas_handleNonOptionalResult(result, inst);
        +    };
        +});
        +function schemas_handleNonOptionalResult(payload, inst) {
        +    if (!payload.issues.length && payload.value === undefined) {
        +        payload.issues.push({
        +            code: "invalid_type",
        +            expected: "nonoptional",
        +            input: payload.value,
        +            inst,
        +        });
        +    }
        +    return payload;
        +}
        +const schemas_$ZodSuccess = /*@__PURE__*/ core_$constructor("$ZodSuccess", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            throw new core_$ZodEncodeError("ZodSuccess");
        +        }
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => {
        +                payload.value = result.issues.length === 0;
        +                return payload;
        +            });
        +        }
        +        payload.value = result.issues.length === 0;
        +        return payload;
        +    };
        +});
        +const schemas_$ZodCatch = /*@__PURE__*/ core_$constructor("$ZodCatch", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    util_defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
        +    util_defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
        +    util_defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        // Forward direction (decode): apply catch logic
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then((result) => {
        +                payload.value = result.value;
        +                if (result.issues.length) {
        +                    payload.value = def.catchValue({
        +                        ...payload,
        +                        error: {
        +                            issues: result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config())),
        +                        },
        +                        input: payload.value,
        +                    });
        +                    payload.issues = [];
        +                }
        +                return payload;
        +            });
        +        }
        +        payload.value = result.value;
        +        if (result.issues.length) {
        +            payload.value = def.catchValue({
        +                ...payload,
        +                error: {
        +                    issues: result.issues.map((iss) => util_finalizeIssue(iss, ctx, core_config())),
        +                },
        +                input: payload.value,
        +            });
        +            payload.issues = [];
        +        }
        +        return payload;
        +    };
        +});
        +const schemas_$ZodNaN = /*@__PURE__*/ core_$constructor("$ZodNaN", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (typeof payload.value !== "number" || !Number.isNaN(payload.value)) {
        +            payload.issues.push({
        +                input: payload.value,
        +                inst,
        +                expected: "nan",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        return payload;
        +    };
        +});
        +const schemas_$ZodPipe = /*@__PURE__*/ core_$constructor("$ZodPipe", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    util_defineLazy(inst._zod, "values", () => def.in._zod.values);
        +    util_defineLazy(inst._zod, "optin", () => def.in._zod.optin);
        +    util_defineLazy(inst._zod, "optout", () => def.out._zod.optout);
        +    util_defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            const right = def.out._zod.run(payload, ctx);
        +            if (right instanceof Promise) {
        +                return right.then((right) => schemas_handlePipeResult(right, def.in, ctx));
        +            }
        +            return schemas_handlePipeResult(right, def.in, ctx);
        +        }
        +        const left = def.in._zod.run(payload, ctx);
        +        if (left instanceof Promise) {
        +            return left.then((left) => schemas_handlePipeResult(left, def.out, ctx));
        +        }
        +        return schemas_handlePipeResult(left, def.out, ctx);
        +    };
        +});
        +function schemas_handlePipeResult(left, next, ctx) {
        +    if (left.issues.length) {
        +        // prevent further checks
        +        left.aborted = true;
        +        return left;
        +    }
        +    return next._zod.run({ value: left.value, issues: left.issues }, ctx);
        +}
        +const schemas_$ZodCodec = /*@__PURE__*/ core_$constructor("$ZodCodec", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    util_defineLazy(inst._zod, "values", () => def.in._zod.values);
        +    util_defineLazy(inst._zod, "optin", () => def.in._zod.optin);
        +    util_defineLazy(inst._zod, "optout", () => def.out._zod.optout);
        +    util_defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
        +    inst._zod.parse = (payload, ctx) => {
        +        const direction = ctx.direction || "forward";
        +        if (direction === "forward") {
        +            const left = def.in._zod.run(payload, ctx);
        +            if (left instanceof Promise) {
        +                return left.then((left) => schemas_handleCodecAResult(left, def, ctx));
        +            }
        +            return schemas_handleCodecAResult(left, def, ctx);
        +        }
        +        else {
        +            const right = def.out._zod.run(payload, ctx);
        +            if (right instanceof Promise) {
        +                return right.then((right) => schemas_handleCodecAResult(right, def, ctx));
        +            }
        +            return schemas_handleCodecAResult(right, def, ctx);
        +        }
        +    };
        +});
        +function schemas_handleCodecAResult(result, def, ctx) {
        +    if (result.issues.length) {
        +        // prevent further checks
        +        result.aborted = true;
        +        return result;
        +    }
        +    const direction = ctx.direction || "forward";
        +    if (direction === "forward") {
        +        const transformed = def.transform(result.value, result);
        +        if (transformed instanceof Promise) {
        +            return transformed.then((value) => schemas_handleCodecTxResult(result, value, def.out, ctx));
        +        }
        +        return schemas_handleCodecTxResult(result, transformed, def.out, ctx);
        +    }
        +    else {
        +        const transformed = def.reverseTransform(result.value, result);
        +        if (transformed instanceof Promise) {
        +            return transformed.then((value) => schemas_handleCodecTxResult(result, value, def.in, ctx));
        +        }
        +        return schemas_handleCodecTxResult(result, transformed, def.in, ctx);
        +    }
        +}
        +function schemas_handleCodecTxResult(left, value, nextSchema, ctx) {
        +    // Check if transform added any issues
        +    if (left.issues.length) {
        +        left.aborted = true;
        +        return left;
        +    }
        +    return nextSchema._zod.run({ value, issues: left.issues }, ctx);
        +}
        +const schemas_$ZodReadonly = /*@__PURE__*/ core_$constructor("$ZodReadonly", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    util_defineLazy(inst._zod, "propValues", () => def.innerType._zod.propValues);
        +    util_defineLazy(inst._zod, "values", () => def.innerType._zod.values);
        +    util_defineLazy(inst._zod, "optin", () => def.innerType?._zod?.optin);
        +    util_defineLazy(inst._zod, "optout", () => def.innerType?._zod?.optout);
        +    inst._zod.parse = (payload, ctx) => {
        +        if (ctx.direction === "backward") {
        +            return def.innerType._zod.run(payload, ctx);
        +        }
        +        const result = def.innerType._zod.run(payload, ctx);
        +        if (result instanceof Promise) {
        +            return result.then(schemas_handleReadonlyResult);
        +        }
        +        return schemas_handleReadonlyResult(result);
        +    };
        +});
        +function schemas_handleReadonlyResult(payload) {
        +    payload.value = Object.freeze(payload.value);
        +    return payload;
        +}
        +const schemas_$ZodTemplateLiteral = /*@__PURE__*/ core_$constructor("$ZodTemplateLiteral", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    const regexParts = [];
        +    for (const part of def.parts) {
        +        if (typeof part === "object" && part !== null) {
        +            // is Zod schema
        +            if (!part._zod.pattern) {
        +                // if (!source)
        +                throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
        +            }
        +            const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;
        +            if (!source)
        +                throw new Error(`Invalid template literal part: ${part._zod.traits}`);
        +            const start = source.startsWith("^") ? 1 : 0;
        +            const end = source.endsWith("$") ? source.length - 1 : source.length;
        +            regexParts.push(source.slice(start, end));
        +        }
        +        else if (part === null || util_primitiveTypes.has(typeof part)) {
        +            regexParts.push(util_escapeRegex(`${part}`));
        +        }
        +        else {
        +            throw new Error(`Invalid template literal part: ${part}`);
        +        }
        +    }
        +    inst._zod.pattern = new RegExp(`^${regexParts.join("")}$`);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (typeof payload.value !== "string") {
        +            payload.issues.push({
        +                input: payload.value,
        +                inst,
        +                expected: "string",
        +                code: "invalid_type",
        +            });
        +            return payload;
        +        }
        +        inst._zod.pattern.lastIndex = 0;
        +        if (!inst._zod.pattern.test(payload.value)) {
        +            payload.issues.push({
        +                input: payload.value,
        +                inst,
        +                code: "invalid_format",
        +                format: def.format ?? "template_literal",
        +                pattern: inst._zod.pattern.source,
        +            });
        +            return payload;
        +        }
        +        return payload;
        +    };
        +});
        +const schemas_$ZodFunction = /*@__PURE__*/ core_$constructor("$ZodFunction", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._def = def;
        +    inst._zod.def = def;
        +    inst.implement = (func) => {
        +        if (typeof func !== "function") {
        +            throw new Error("implement() must be called with a function");
        +        }
        +        return function (...args) {
        +            const parsedArgs = inst._def.input ? v4_core_parse_parse(inst._def.input, args) : args;
        +            const result = Reflect.apply(func, this, parsedArgs);
        +            if (inst._def.output) {
        +                return v4_core_parse_parse(inst._def.output, result);
        +            }
        +            return result;
        +        };
        +    };
        +    inst.implementAsync = (func) => {
        +        if (typeof func !== "function") {
        +            throw new Error("implementAsync() must be called with a function");
        +        }
        +        return async function (...args) {
        +            const parsedArgs = inst._def.input ? await v4_core_parse_parseAsync(inst._def.input, args) : args;
        +            const result = await Reflect.apply(func, this, parsedArgs);
        +            if (inst._def.output) {
        +                return await v4_core_parse_parseAsync(inst._def.output, result);
        +            }
        +            return result;
        +        };
        +    };
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (typeof payload.value !== "function") {
        +            payload.issues.push({
        +                code: "invalid_type",
        +                expected: "function",
        +                input: payload.value,
        +                inst,
        +            });
        +            return payload;
        +        }
        +        // Check if output is a promise type to determine if we should use async implementation
        +        const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise";
        +        if (hasPromiseOutput) {
        +            payload.value = inst.implementAsync(payload.value);
        +        }
        +        else {
        +            payload.value = inst.implement(payload.value);
        +        }
        +        return payload;
        +    };
        +    inst.input = (...args) => {
        +        const F = inst.constructor;
        +        if (Array.isArray(args[0])) {
        +            return new F({
        +                type: "function",
        +                input: new schemas_$ZodTuple({
        +                    type: "tuple",
        +                    items: args[0],
        +                    rest: args[1],
        +                }),
        +                output: inst._def.output,
        +            });
        +        }
        +        return new F({
        +            type: "function",
        +            input: args[0],
        +            output: inst._def.output,
        +        });
        +    };
        +    inst.output = (output) => {
        +        const F = inst.constructor;
        +        return new F({
        +            type: "function",
        +            input: inst._def.input,
        +            output,
        +        });
        +    };
        +    return inst;
        +});
        +const schemas_$ZodPromise = /*@__PURE__*/ core_$constructor("$ZodPromise", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, ctx) => {
        +        return Promise.resolve(payload.value).then((inner) => def.innerType._zod.run({ value: inner, issues: [] }, ctx));
        +    };
        +});
        +const schemas_$ZodLazy = /*@__PURE__*/ core_$constructor("$ZodLazy", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    // let _innerType!: any;
        +    // util.defineLazy(def, "getter", () => {
        +    //   if (!_innerType) {
        +    //     _innerType = def.getter();
        +    //   }
        +    //   return () => _innerType;
        +    // });
        +    util_defineLazy(inst._zod, "innerType", () => def.getter());
        +    util_defineLazy(inst._zod, "pattern", () => inst._zod.innerType?._zod?.pattern);
        +    util_defineLazy(inst._zod, "propValues", () => inst._zod.innerType?._zod?.propValues);
        +    util_defineLazy(inst._zod, "optin", () => inst._zod.innerType?._zod?.optin ?? undefined);
        +    util_defineLazy(inst._zod, "optout", () => inst._zod.innerType?._zod?.optout ?? undefined);
        +    inst._zod.parse = (payload, ctx) => {
        +        const inner = inst._zod.innerType;
        +        return inner._zod.run(payload, ctx);
        +    };
        +});
        +const schemas_$ZodCustom = /*@__PURE__*/ core_$constructor("$ZodCustom", (inst, def) => {
        +    checks_$ZodCheck.init(inst, def);
        +    schemas_$ZodType.init(inst, def);
        +    inst._zod.parse = (payload, _) => {
        +        return payload;
        +    };
        +    inst._zod.check = (payload) => {
        +        const input = payload.value;
        +        const r = def.fn(input);
        +        if (r instanceof Promise) {
        +            return r.then((r) => schemas_handleRefineResult(r, payload, input, inst));
        +        }
        +        schemas_handleRefineResult(r, payload, input, inst);
        +        return;
        +    };
        +});
        +function schemas_handleRefineResult(result, payload, input, inst) {
        +    if (!result) {
        +        const _iss = {
        +            code: "custom",
        +            input,
        +            inst, // incorporates params.error into issue reporting
        +            path: [...(inst._zod.def.path ?? [])], // incorporates params.error into issue reporting
        +            continue: !inst._zod.def.abort,
        +            // params: inst._zod.def.params,
        +        };
        +        if (inst._zod.def.params)
        +            _iss.params = inst._zod.def.params;
        +        payload.issues.push(core_util_issue(_iss));
        +    }
        +}
        +
        +;// ./node_modules/zod/v4/locales/ar.js
        +/* unused harmony import specifier */ var ar_util;
        +
        +const ar_error = () => {
        +    const Sizable = {
        +        string: { unit: "حرف", verb: "أن يحوي" },
        +        file: { unit: "بايت", verb: "أن يحوي" },
        +        array: { unit: "عنصر", verb: "أن يحوي" },
        +        set: { unit: "عنصر", verb: "أن يحوي" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "مدخل",
        +        email: "بريد إلكتروني",
        +        url: "رابط",
        +        emoji: "إيموجي",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "تاريخ ووقت بمعيار ISO",
        +        date: "تاريخ بمعيار ISO",
        +        time: "وقت بمعيار ISO",
        +        duration: "مدة بمعيار ISO",
        +        ipv4: "عنوان IPv4",
        +        ipv6: "عنوان IPv6",
        +        cidrv4: "مدى عناوين بصيغة IPv4",
        +        cidrv6: "مدى عناوين بصيغة IPv6",
        +        base64: "نَص بترميز base64-encoded",
        +        base64url: "نَص بترميز base64url-encoded",
        +        json_string: "نَص على هيئة JSON",
        +        e164: "رقم هاتف بمعيار E.164",
        +        jwt: "JWT",
        +        template_literal: "مدخل",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = ar_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `مدخلات غير مقبولة: يفترض إدخال instanceof ${issue.expected}، ولكن تم إدخال ${received}`;
        +                }
        +                return `مدخلات غير مقبولة: يفترض إدخال ${expected}، ولكن تم إدخال ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `مدخلات غير مقبولة: يفترض إدخال ${ar_util.stringifyPrimitive(issue.values[0])}`;
        +                return `اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${ar_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return ` أكبر من اللازم: يفترض أن تكون ${issue.origin ?? "القيمة"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "عنصر"}`;
        +                return `أكبر من اللازم: يفترض أن تكون ${issue.origin ?? "القيمة"} ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `أصغر من اللازم: يفترض لـ ${issue.origin} أن يكون ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `نَص غير مقبول: يجب أن يبدأ بـ "${issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `نَص غير مقبول: يجب أن ينتهي بـ "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `نَص غير مقبول: يجب أن يتضمَّن "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `نَص غير مقبول: يجب أن يطابق النمط ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} غير مقبول`;
        +            }
        +            case "not_multiple_of":
        +                return `رقم غير مقبول: يجب أن يكون من مضاعفات ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `معرف${issue.keys.length > 1 ? "ات" : ""} غريب${issue.keys.length > 1 ? "ة" : ""}: ${ar_util.joinValues(issue.keys, "، ")}`;
        +            case "invalid_key":
        +                return `معرف غير مقبول في ${issue.origin}`;
        +            case "invalid_union":
        +                return "مدخل غير مقبول";
        +            case "invalid_element":
        +                return `مدخل غير مقبول في ${issue.origin}`;
        +            default:
        +                return "مدخل غير مقبول";
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ar() {
        +    return {
        +        localeError: ar_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/az.js
        +/* unused harmony import specifier */ var locales_az_util;
        +
        +const locales_az_error = () => {
        +    const Sizable = {
        +        string: { unit: "simvol", verb: "olmalıdır" },
        +        file: { unit: "bayt", verb: "olmalıdır" },
        +        array: { unit: "element", verb: "olmalıdır" },
        +        set: { unit: "element", verb: "olmalıdır" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "email address",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datetime",
        +        date: "ISO date",
        +        time: "ISO time",
        +        duration: "ISO duration",
        +        ipv4: "IPv4 address",
        +        ipv6: "IPv6 address",
        +        cidrv4: "IPv4 range",
        +        cidrv6: "IPv6 range",
        +        base64: "base64-encoded string",
        +        base64url: "base64url-encoded string",
        +        json_string: "JSON string",
        +        e164: "E.164 number",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_az_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Yanlış dəyər: gözlənilən instanceof ${issue.expected}, daxil olan ${received}`;
        +                }
        +                return `Yanlış dəyər: gözlənilən ${expected}, daxil olan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Yanlış dəyər: gözlənilən ${locales_az_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Yanlış seçim: aşağıdakılardan biri olmalıdır: ${locales_az_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "element"}`;
        +                return `Çox böyük: gözlənilən ${issue.origin ?? "dəyər"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                return `Çox kiçik: gözlənilən ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Yanlış mətn: "${_issue.prefix}" ilə başlamalıdır`;
        +                if (_issue.format === "ends_with")
        +                    return `Yanlış mətn: "${_issue.suffix}" ilə bitməlidir`;
        +                if (_issue.format === "includes")
        +                    return `Yanlış mətn: "${_issue.includes}" daxil olmalıdır`;
        +                if (_issue.format === "regex")
        +                    return `Yanlış mətn: ${_issue.pattern} şablonuna uyğun olmalıdır`;
        +                return `Yanlış ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Yanlış ədəd: ${issue.divisor} ilə bölünə bilən olmalıdır`;
        +            case "unrecognized_keys":
        +                return `Tanınmayan açar${issue.keys.length > 1 ? "lar" : ""}: ${locales_az_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} daxilində yanlış açar`;
        +            case "invalid_union":
        +                return "Yanlış dəyər";
        +            case "invalid_element":
        +                return `${issue.origin} daxilində yanlış dəyər`;
        +            default:
        +                return `Yanlış dəyər`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_az() {
        +    return {
        +        localeError: locales_az_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/be.js
        +/* unused harmony import specifier */ var locales_be_util;
        +
        +function be_getBelarusianPlural(count, one, few, many) {
        +    const absCount = Math.abs(count);
        +    const lastDigit = absCount % 10;
        +    const lastTwoDigits = absCount % 100;
        +    if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
        +        return many;
        +    }
        +    if (lastDigit === 1) {
        +        return one;
        +    }
        +    if (lastDigit >= 2 && lastDigit <= 4) {
        +        return few;
        +    }
        +    return many;
        +}
        +const locales_be_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "сімвал",
        +                few: "сімвалы",
        +                many: "сімвалаў",
        +            },
        +            verb: "мець",
        +        },
        +        array: {
        +            unit: {
        +                one: "элемент",
        +                few: "элементы",
        +                many: "элементаў",
        +            },
        +            verb: "мець",
        +        },
        +        set: {
        +            unit: {
        +                one: "элемент",
        +                few: "элементы",
        +                many: "элементаў",
        +            },
        +            verb: "мець",
        +        },
        +        file: {
        +            unit: {
        +                one: "байт",
        +                few: "байты",
        +                many: "байтаў",
        +            },
        +            verb: "мець",
        +        },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "увод",
        +        email: "email адрас",
        +        url: "URL",
        +        emoji: "эмодзі",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO дата і час",
        +        date: "ISO дата",
        +        time: "ISO час",
        +        duration: "ISO працягласць",
        +        ipv4: "IPv4 адрас",
        +        ipv6: "IPv6 адрас",
        +        cidrv4: "IPv4 дыяпазон",
        +        cidrv6: "IPv6 дыяпазон",
        +        base64: "радок у фармаце base64",
        +        base64url: "радок у фармаце base64url",
        +        json_string: "JSON радок",
        +        e164: "нумар E.164",
        +        jwt: "JWT",
        +        template_literal: "увод",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "лік",
        +        array: "масіў",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_be_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Няправільны ўвод: чакаўся instanceof ${issue.expected}, атрымана ${received}`;
        +                }
        +                return `Няправільны ўвод: чакаўся ${expected}, атрымана ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Няправільны ўвод: чакалася ${locales_be_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Няправільны варыянт: чакаўся адзін з ${locales_be_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const maxValue = Number(issue.maximum);
        +                    const unit = be_getBelarusianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Занадта вялікі: чакалася, што ${issue.origin ?? "значэнне"} павінна ${sizing.verb} ${adj}${issue.maximum.toString()} ${unit}`;
        +                }
        +                return `Занадта вялікі: чакалася, што ${issue.origin ?? "значэнне"} павінна быць ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const minValue = Number(issue.minimum);
        +                    const unit = be_getBelarusianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Занадта малы: чакалася, што ${issue.origin} павінна ${sizing.verb} ${adj}${issue.minimum.toString()} ${unit}`;
        +                }
        +                return `Занадта малы: чакалася, што ${issue.origin} павінна быць ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Няправільны радок: павінен пачынацца з "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Няправільны радок: павінен заканчвацца на "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Няправільны радок: павінен змяшчаць "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Няправільны радок: павінен адпавядаць шаблону ${_issue.pattern}`;
        +                return `Няправільны ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Няправільны лік: павінен быць кратным ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Нераспазнаны ${issue.keys.length > 1 ? "ключы" : "ключ"}: ${locales_be_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Няправільны ключ у ${issue.origin}`;
        +            case "invalid_union":
        +                return "Няправільны ўвод";
        +            case "invalid_element":
        +                return `Няправільнае значэнне ў ${issue.origin}`;
        +            default:
        +                return `Няправільны ўвод`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_be() {
        +    return {
        +        localeError: locales_be_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/bg.js
        +/* unused harmony import specifier */ var locales_bg_util;
        +
        +const locales_bg_error = () => {
        +    const Sizable = {
        +        string: { unit: "символа", verb: "да съдържа" },
        +        file: { unit: "байта", verb: "да съдържа" },
        +        array: { unit: "елемента", verb: "да съдържа" },
        +        set: { unit: "елемента", verb: "да съдържа" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "вход",
        +        email: "имейл адрес",
        +        url: "URL",
        +        emoji: "емоджи",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO време",
        +        date: "ISO дата",
        +        time: "ISO време",
        +        duration: "ISO продължителност",
        +        ipv4: "IPv4 адрес",
        +        ipv6: "IPv6 адрес",
        +        cidrv4: "IPv4 диапазон",
        +        cidrv6: "IPv6 диапазон",
        +        base64: "base64-кодиран низ",
        +        base64url: "base64url-кодиран низ",
        +        json_string: "JSON низ",
        +        e164: "E.164 номер",
        +        jwt: "JWT",
        +        template_literal: "вход",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "число",
        +        array: "масив",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_bg_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Невалиден вход: очакван instanceof ${issue.expected}, получен ${received}`;
        +                }
        +                return `Невалиден вход: очакван ${expected}, получен ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Невалиден вход: очакван ${locales_bg_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Невалидна опция: очаквано едно от ${locales_bg_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Твърде голямо: очаква се ${issue.origin ?? "стойност"} да съдържа ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елемента"}`;
        +                return `Твърде голямо: очаква се ${issue.origin ?? "стойност"} да бъде ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Твърде малко: очаква се ${issue.origin} да съдържа ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Твърде малко: очаква се ${issue.origin} да бъде ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Невалиден низ: трябва да започва с "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Невалиден низ: трябва да завършва с "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Невалиден низ: трябва да включва "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Невалиден низ: трябва да съвпада с ${_issue.pattern}`;
        +                let invalid_adj = "Невалиден";
        +                if (_issue.format === "emoji")
        +                    invalid_adj = "Невалидно";
        +                if (_issue.format === "datetime")
        +                    invalid_adj = "Невалидно";
        +                if (_issue.format === "date")
        +                    invalid_adj = "Невалидна";
        +                if (_issue.format === "time")
        +                    invalid_adj = "Невалидно";
        +                if (_issue.format === "duration")
        +                    invalid_adj = "Невалидна";
        +                return `${invalid_adj} ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Невалидно число: трябва да бъде кратно на ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Неразпознат${issue.keys.length > 1 ? "и" : ""} ключ${issue.keys.length > 1 ? "ове" : ""}: ${locales_bg_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Невалиден ключ в ${issue.origin}`;
        +            case "invalid_union":
        +                return "Невалиден вход";
        +            case "invalid_element":
        +                return `Невалидна стойност в ${issue.origin}`;
        +            default:
        +                return `Невалиден вход`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_bg() {
        +    return {
        +        localeError: locales_bg_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ca.js
        +/* unused harmony import specifier */ var locales_ca_util;
        +
        +const locales_ca_error = () => {
        +    const Sizable = {
        +        string: { unit: "caràcters", verb: "contenir" },
        +        file: { unit: "bytes", verb: "contenir" },
        +        array: { unit: "elements", verb: "contenir" },
        +        set: { unit: "elements", verb: "contenir" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrada",
        +        email: "adreça electrònica",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data i hora ISO",
        +        date: "data ISO",
        +        time: "hora ISO",
        +        duration: "durada ISO",
        +        ipv4: "adreça IPv4",
        +        ipv6: "adreça IPv6",
        +        cidrv4: "rang IPv4",
        +        cidrv6: "rang IPv6",
        +        base64: "cadena codificada en base64",
        +        base64url: "cadena codificada en base64url",
        +        json_string: "cadena JSON",
        +        e164: "número E.164",
        +        jwt: "JWT",
        +        template_literal: "entrada",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ca_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Tipus invàlid: s'esperava instanceof ${issue.expected}, s'ha rebut ${received}`;
        +                }
        +                return `Tipus invàlid: s'esperava ${expected}, s'ha rebut ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Valor invàlid: s'esperava ${locales_ca_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opció invàlida: s'esperava una de ${locales_ca_util.joinValues(issue.values, " o ")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "com a màxim" : "menys de";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} contingués ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
        +                return `Massa gran: s'esperava que ${issue.origin ?? "el valor"} fos ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "com a mínim" : "més de";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Massa petit: s'esperava que ${issue.origin} contingués ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Massa petit: s'esperava que ${issue.origin} fos ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Format invàlid: ha de començar amb "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Format invàlid: ha d'acabar amb "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Format invàlid: ha d'incloure "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Format invàlid: ha de coincidir amb el patró ${_issue.pattern}`;
        +                return `Format invàlid per a ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Número invàlid: ha de ser múltiple de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Clau${issue.keys.length > 1 ? "s" : ""} no reconeguda${issue.keys.length > 1 ? "s" : ""}: ${locales_ca_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Clau invàlida a ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrada invàlida"; // Could also be "Tipus d'unió invàlid" but "Entrada invàlida" is more general
        +            case "invalid_element":
        +                return `Element invàlid a ${issue.origin}`;
        +            default:
        +                return `Entrada invàlida`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ca() {
        +    return {
        +        localeError: locales_ca_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/cs.js
        +/* unused harmony import specifier */ var locales_cs_util;
        +
        +const locales_cs_error = () => {
        +    const Sizable = {
        +        string: { unit: "znaků", verb: "mít" },
        +        file: { unit: "bajtů", verb: "mít" },
        +        array: { unit: "prvků", verb: "mít" },
        +        set: { unit: "prvků", verb: "mít" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "regulární výraz",
        +        email: "e-mailová adresa",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "datum a čas ve formátu ISO",
        +        date: "datum ve formátu ISO",
        +        time: "čas ve formátu ISO",
        +        duration: "doba trvání ISO",
        +        ipv4: "IPv4 adresa",
        +        ipv6: "IPv6 adresa",
        +        cidrv4: "rozsah IPv4",
        +        cidrv6: "rozsah IPv6",
        +        base64: "řetězec zakódovaný ve formátu base64",
        +        base64url: "řetězec zakódovaný ve formátu base64url",
        +        json_string: "řetězec ve formátu JSON",
        +        e164: "číslo E.164",
        +        jwt: "JWT",
        +        template_literal: "vstup",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "číslo",
        +        string: "řetězec",
        +        function: "funkce",
        +        array: "pole",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_cs_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Neplatný vstup: očekáváno instanceof ${issue.expected}, obdrženo ${received}`;
        +                }
        +                return `Neplatný vstup: očekáváno ${expected}, obdrženo ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Neplatný vstup: očekáváno ${locales_cs_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Neplatná možnost: očekávána jedna z hodnot ${locales_cs_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Hodnota je příliš velká: ${issue.origin ?? "hodnota"} musí mít ${adj}${issue.maximum.toString()} ${sizing.unit ?? "prvků"}`;
        +                }
        +                return `Hodnota je příliš velká: ${issue.origin ?? "hodnota"} musí být ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Hodnota je příliš malá: ${issue.origin ?? "hodnota"} musí mít ${adj}${issue.minimum.toString()} ${sizing.unit ?? "prvků"}`;
        +                }
        +                return `Hodnota je příliš malá: ${issue.origin ?? "hodnota"} musí být ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Neplatný řetězec: musí začínat na "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Neplatný řetězec: musí končit na "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Neplatný řetězec: musí obsahovat "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Neplatný řetězec: musí odpovídat vzoru ${_issue.pattern}`;
        +                return `Neplatný formát ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Neplatné číslo: musí být násobkem ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Neznámé klíče: ${locales_cs_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Neplatný klíč v ${issue.origin}`;
        +            case "invalid_union":
        +                return "Neplatný vstup";
        +            case "invalid_element":
        +                return `Neplatná hodnota v ${issue.origin}`;
        +            default:
        +                return `Neplatný vstup`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_cs() {
        +    return {
        +        localeError: locales_cs_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/da.js
        +/* unused harmony import specifier */ var locales_da_util;
        +
        +const locales_da_error = () => {
        +    const Sizable = {
        +        string: { unit: "tegn", verb: "havde" },
        +        file: { unit: "bytes", verb: "havde" },
        +        array: { unit: "elementer", verb: "indeholdt" },
        +        set: { unit: "elementer", verb: "indeholdt" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "e-mailadresse",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO dato- og klokkeslæt",
        +        date: "ISO-dato",
        +        time: "ISO-klokkeslæt",
        +        duration: "ISO-varighed",
        +        ipv4: "IPv4-område",
        +        ipv6: "IPv6-område",
        +        cidrv4: "IPv4-spektrum",
        +        cidrv6: "IPv6-spektrum",
        +        base64: "base64-kodet streng",
        +        base64url: "base64url-kodet streng",
        +        json_string: "JSON-streng",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        string: "streng",
        +        number: "tal",
        +        boolean: "boolean",
        +        array: "liste",
        +        object: "objekt",
        +        set: "sæt",
        +        file: "fil",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_da_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ugyldigt input: forventede instanceof ${issue.expected}, fik ${received}`;
        +                }
        +                return `Ugyldigt input: forventede ${expected}, fik ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ugyldig værdi: forventede ${locales_da_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ugyldigt valg: forventede en af følgende ${locales_da_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing)
        +                    return `For stor: forventede ${origin ?? "value"} ${sizing.verb} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "elementer"}`;
        +                return `For stor: forventede ${origin ?? "value"} havde ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing) {
        +                    return `For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `For lille: forventede ${origin} havde ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ugyldig streng: skal starte med "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Ugyldig streng: skal ende med "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ugyldig streng: skal indeholde "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ugyldig streng: skal matche mønsteret ${_issue.pattern}`;
        +                return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ugyldigt tal: skal være deleligt med ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Ukendte nøgler" : "Ukendt nøgle"}: ${locales_da_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ugyldig nøgle i ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ugyldigt input: matcher ingen af de tilladte typer";
        +            case "invalid_element":
        +                return `Ugyldig værdi i ${issue.origin}`;
        +            default:
        +                return `Ugyldigt input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_da() {
        +    return {
        +        localeError: locales_da_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/de.js
        +/* unused harmony import specifier */ var locales_de_util;
        +
        +const locales_de_error = () => {
        +    const Sizable = {
        +        string: { unit: "Zeichen", verb: "zu haben" },
        +        file: { unit: "Bytes", verb: "zu haben" },
        +        array: { unit: "Elemente", verb: "zu haben" },
        +        set: { unit: "Elemente", verb: "zu haben" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "Eingabe",
        +        email: "E-Mail-Adresse",
        +        url: "URL",
        +        emoji: "Emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-Datum und -Uhrzeit",
        +        date: "ISO-Datum",
        +        time: "ISO-Uhrzeit",
        +        duration: "ISO-Dauer",
        +        ipv4: "IPv4-Adresse",
        +        ipv6: "IPv6-Adresse",
        +        cidrv4: "IPv4-Bereich",
        +        cidrv6: "IPv6-Bereich",
        +        base64: "Base64-codierter String",
        +        base64url: "Base64-URL-codierter String",
        +        json_string: "JSON-String",
        +        e164: "E.164-Nummer",
        +        jwt: "JWT",
        +        template_literal: "Eingabe",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "Zahl",
        +        array: "Array",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_de_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ungültige Eingabe: erwartet instanceof ${issue.expected}, erhalten ${received}`;
        +                }
        +                return `Ungültige Eingabe: erwartet ${expected}, erhalten ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ungültige Eingabe: erwartet ${locales_de_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ungültige Option: erwartet eine von ${locales_de_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "Elemente"} hat`;
        +                return `Zu groß: erwartet, dass ${issue.origin ?? "Wert"} ${adj}${issue.maximum.toString()} ist`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} hat`;
        +                }
        +                return `Zu klein: erwartet, dass ${issue.origin} ${adj}${issue.minimum.toString()} ist`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ungültiger String: muss mit "${_issue.prefix}" beginnen`;
        +                if (_issue.format === "ends_with")
        +                    return `Ungültiger String: muss mit "${_issue.suffix}" enden`;
        +                if (_issue.format === "includes")
        +                    return `Ungültiger String: muss "${_issue.includes}" enthalten`;
        +                if (_issue.format === "regex")
        +                    return `Ungültiger String: muss dem Muster ${_issue.pattern} entsprechen`;
        +                return `Ungültig: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ungültige Zahl: muss ein Vielfaches von ${issue.divisor} sein`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Unbekannte Schlüssel" : "Unbekannter Schlüssel"}: ${locales_de_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ungültiger Schlüssel in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ungültige Eingabe";
        +            case "invalid_element":
        +                return `Ungültiger Wert in ${issue.origin}`;
        +            default:
        +                return `Ungültige Eingabe`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_de() {
        +    return {
        +        localeError: locales_de_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/en.js
        +
        +const locales_en_error = () => {
        +    const Sizable = {
        +        string: { unit: "characters", verb: "to have" },
        +        file: { unit: "bytes", verb: "to have" },
        +        array: { unit: "items", verb: "to have" },
        +        set: { unit: "items", verb: "to have" },
        +        map: { unit: "entries", verb: "to have" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "email address",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datetime",
        +        date: "ISO date",
        +        time: "ISO time",
        +        duration: "ISO duration",
        +        ipv4: "IPv4 address",
        +        ipv6: "IPv6 address",
        +        mac: "MAC address",
        +        cidrv4: "IPv4 range",
        +        cidrv6: "IPv6 range",
        +        base64: "base64-encoded string",
        +        base64url: "base64url-encoded string",
        +        json_string: "JSON string",
        +        e164: "E.164 number",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    // type names: missing keys = do not translate (use raw value via ?? fallback)
        +    const TypeDictionary = {
        +        // Compatibility: "nan" -> "NaN" for display
        +        nan: "NaN",
        +        // All other type names omitted - they fall back to raw values via ?? operator
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = util_parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                return `Invalid input: expected ${expected}, received ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Invalid input: expected ${util_stringifyPrimitive(issue.values[0])}`;
        +                return `Invalid option: expected one of ${util_joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Too big: expected ${issue.origin ?? "value"} to have ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"}`;
        +                return `Too big: expected ${issue.origin ?? "value"} to be ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Too small: expected ${issue.origin} to have ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Too small: expected ${issue.origin} to be ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Invalid string: must start with "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Invalid string: must end with "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Invalid string: must include "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Invalid string: must match pattern ${_issue.pattern}`;
        +                return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Invalid number: must be a multiple of ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Unrecognized key${issue.keys.length > 1 ? "s" : ""}: ${util_joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Invalid key in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Invalid input";
        +            case "invalid_element":
        +                return `Invalid value in ${issue.origin}`;
        +            default:
        +                return `Invalid input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function v4_locales_en() {
        +    return {
        +        localeError: locales_en_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/eo.js
        +/* unused harmony import specifier */ var locales_eo_util;
        +
        +const locales_eo_error = () => {
        +    const Sizable = {
        +        string: { unit: "karaktrojn", verb: "havi" },
        +        file: { unit: "bajtojn", verb: "havi" },
        +        array: { unit: "elementojn", verb: "havi" },
        +        set: { unit: "elementojn", verb: "havi" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "enigo",
        +        email: "retadreso",
        +        url: "URL",
        +        emoji: "emoĝio",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-datotempo",
        +        date: "ISO-dato",
        +        time: "ISO-tempo",
        +        duration: "ISO-daŭro",
        +        ipv4: "IPv4-adreso",
        +        ipv6: "IPv6-adreso",
        +        cidrv4: "IPv4-rango",
        +        cidrv6: "IPv6-rango",
        +        base64: "64-ume kodita karaktraro",
        +        base64url: "URL-64-ume kodita karaktraro",
        +        json_string: "JSON-karaktraro",
        +        e164: "E.164-nombro",
        +        jwt: "JWT",
        +        template_literal: "enigo",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nombro",
        +        array: "tabelo",
        +        null: "senvalora",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_eo_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Nevalida enigo: atendiĝis instanceof ${issue.expected}, riceviĝis ${received}`;
        +                }
        +                return `Nevalida enigo: atendiĝis ${expected}, riceviĝis ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Nevalida enigo: atendiĝis ${locales_eo_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Nevalida opcio: atendiĝis unu el ${locales_eo_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementojn"}`;
        +                return `Tro granda: atendiĝis ke ${issue.origin ?? "valoro"} havu ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Tro malgranda: atendiĝis ke ${issue.origin} havu ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Tro malgranda: atendiĝis ke ${issue.origin} estu ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Nevalida karaktraro: devas komenciĝi per "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Nevalida karaktraro: devas finiĝi per "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;
        +                return `Nevalida ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Nevalida nombro: devas esti oblo de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Nekonata${issue.keys.length > 1 ? "j" : ""} ŝlosilo${issue.keys.length > 1 ? "j" : ""}: ${locales_eo_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Nevalida ŝlosilo en ${issue.origin}`;
        +            case "invalid_union":
        +                return "Nevalida enigo";
        +            case "invalid_element":
        +                return `Nevalida valoro en ${issue.origin}`;
        +            default:
        +                return `Nevalida enigo`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_eo() {
        +    return {
        +        localeError: locales_eo_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/es.js
        +/* unused harmony import specifier */ var locales_es_util;
        +
        +const locales_es_error = () => {
        +    const Sizable = {
        +        string: { unit: "caracteres", verb: "tener" },
        +        file: { unit: "bytes", verb: "tener" },
        +        array: { unit: "elementos", verb: "tener" },
        +        set: { unit: "elementos", verb: "tener" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrada",
        +        email: "dirección de correo electrónico",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "fecha y hora ISO",
        +        date: "fecha ISO",
        +        time: "hora ISO",
        +        duration: "duración ISO",
        +        ipv4: "dirección IPv4",
        +        ipv6: "dirección IPv6",
        +        cidrv4: "rango IPv4",
        +        cidrv6: "rango IPv6",
        +        base64: "cadena codificada en base64",
        +        base64url: "URL codificada en base64",
        +        json_string: "cadena JSON",
        +        e164: "número E.164",
        +        jwt: "JWT",
        +        template_literal: "entrada",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        string: "texto",
        +        number: "número",
        +        boolean: "booleano",
        +        array: "arreglo",
        +        object: "objeto",
        +        set: "conjunto",
        +        file: "archivo",
        +        date: "fecha",
        +        bigint: "número grande",
        +        symbol: "símbolo",
        +        undefined: "indefinido",
        +        null: "nulo",
        +        function: "función",
        +        map: "mapa",
        +        record: "registro",
        +        tuple: "tupla",
        +        enum: "enumeración",
        +        union: "unión",
        +        literal: "literal",
        +        promise: "promesa",
        +        void: "vacío",
        +        never: "nunca",
        +        unknown: "desconocido",
        +        any: "cualquiera",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_es_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Entrada inválida: se esperaba instanceof ${issue.expected}, recibido ${received}`;
        +                }
        +                return `Entrada inválida: se esperaba ${expected}, recibido ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrada inválida: se esperaba ${locales_es_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opción inválida: se esperaba una de ${locales_es_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing)
        +                    return `Demasiado grande: se esperaba que ${origin ?? "valor"} tuviera ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
        +                return `Demasiado grande: se esperaba que ${origin ?? "valor"} fuera ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                if (sizing) {
        +                    return `Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Cadena inválida: debe comenzar con "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Cadena inválida: debe terminar en "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Cadena inválida: debe incluir "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Cadena inválida: debe coincidir con el patrón ${_issue.pattern}`;
        +                return `Inválido ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Número inválido: debe ser múltiplo de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Llave${issue.keys.length > 1 ? "s" : ""} desconocida${issue.keys.length > 1 ? "s" : ""}: ${locales_es_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Llave inválida en ${TypeDictionary[issue.origin] ?? issue.origin}`;
        +            case "invalid_union":
        +                return "Entrada inválida";
        +            case "invalid_element":
        +                return `Valor inválido en ${TypeDictionary[issue.origin] ?? issue.origin}`;
        +            default:
        +                return `Entrada inválida`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_es() {
        +    return {
        +        localeError: locales_es_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/fa.js
        +/* unused harmony import specifier */ var locales_fa_util;
        +
        +const locales_fa_error = () => {
        +    const Sizable = {
        +        string: { unit: "کاراکتر", verb: "داشته باشد" },
        +        file: { unit: "بایت", verb: "داشته باشد" },
        +        array: { unit: "آیتم", verb: "داشته باشد" },
        +        set: { unit: "آیتم", verb: "داشته باشد" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ورودی",
        +        email: "آدرس ایمیل",
        +        url: "URL",
        +        emoji: "ایموجی",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "تاریخ و زمان ایزو",
        +        date: "تاریخ ایزو",
        +        time: "زمان ایزو",
        +        duration: "مدت زمان ایزو",
        +        ipv4: "IPv4 آدرس",
        +        ipv6: "IPv6 آدرس",
        +        cidrv4: "IPv4 دامنه",
        +        cidrv6: "IPv6 دامنه",
        +        base64: "base64-encoded رشته",
        +        base64url: "base64url-encoded رشته",
        +        json_string: "JSON رشته",
        +        e164: "E.164 عدد",
        +        jwt: "JWT",
        +        template_literal: "ورودی",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "عدد",
        +        array: "آرایه",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_fa_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ورودی نامعتبر: می‌بایست instanceof ${issue.expected} می‌بود، ${received} دریافت شد`;
        +                }
        +                return `ورودی نامعتبر: می‌بایست ${expected} می‌بود، ${received} دریافت شد`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1) {
        +                    return `ورودی نامعتبر: می‌بایست ${locales_fa_util.stringifyPrimitive(issue.values[0])} می‌بود`;
        +                }
        +                return `گزینه نامعتبر: می‌بایست یکی از ${locales_fa_util.joinValues(issue.values, "|")} می‌بود`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `خیلی بزرگ: ${issue.origin ?? "مقدار"} باید ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عنصر"} باشد`;
        +                }
        +                return `خیلی بزرگ: ${issue.origin ?? "مقدار"} باید ${adj}${issue.maximum.toString()} باشد`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `خیلی کوچک: ${issue.origin} باید ${adj}${issue.minimum.toString()} ${sizing.unit} باشد`;
        +                }
        +                return `خیلی کوچک: ${issue.origin} باید ${adj}${issue.minimum.toString()} باشد`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `رشته نامعتبر: باید با "${_issue.prefix}" شروع شود`;
        +                }
        +                if (_issue.format === "ends_with") {
        +                    return `رشته نامعتبر: باید با "${_issue.suffix}" تمام شود`;
        +                }
        +                if (_issue.format === "includes") {
        +                    return `رشته نامعتبر: باید شامل "${_issue.includes}" باشد`;
        +                }
        +                if (_issue.format === "regex") {
        +                    return `رشته نامعتبر: باید با الگوی ${_issue.pattern} مطابقت داشته باشد`;
        +                }
        +                return `${FormatDictionary[_issue.format] ?? issue.format} نامعتبر`;
        +            }
        +            case "not_multiple_of":
        +                return `عدد نامعتبر: باید مضرب ${issue.divisor} باشد`;
        +            case "unrecognized_keys":
        +                return `کلید${issue.keys.length > 1 ? "های" : ""} ناشناس: ${locales_fa_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `کلید ناشناس در ${issue.origin}`;
        +            case "invalid_union":
        +                return `ورودی نامعتبر`;
        +            case "invalid_element":
        +                return `مقدار نامعتبر در ${issue.origin}`;
        +            default:
        +                return `ورودی نامعتبر`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_fa() {
        +    return {
        +        localeError: locales_fa_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/fi.js
        +/* unused harmony import specifier */ var locales_fi_util;
        +
        +const locales_fi_error = () => {
        +    const Sizable = {
        +        string: { unit: "merkkiä", subject: "merkkijonon" },
        +        file: { unit: "tavua", subject: "tiedoston" },
        +        array: { unit: "alkiota", subject: "listan" },
        +        set: { unit: "alkiota", subject: "joukon" },
        +        number: { unit: "", subject: "luvun" },
        +        bigint: { unit: "", subject: "suuren kokonaisluvun" },
        +        int: { unit: "", subject: "kokonaisluvun" },
        +        date: { unit: "", subject: "päivämäärän" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "säännöllinen lauseke",
        +        email: "sähköpostiosoite",
        +        url: "URL-osoite",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-aikaleima",
        +        date: "ISO-päivämäärä",
        +        time: "ISO-aika",
        +        duration: "ISO-kesto",
        +        ipv4: "IPv4-osoite",
        +        ipv6: "IPv6-osoite",
        +        cidrv4: "IPv4-alue",
        +        cidrv6: "IPv6-alue",
        +        base64: "base64-koodattu merkkijono",
        +        base64url: "base64url-koodattu merkkijono",
        +        json_string: "JSON-merkkijono",
        +        e164: "E.164-luku",
        +        jwt: "JWT",
        +        template_literal: "templaattimerkkijono",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_fi_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Virheellinen tyyppi: odotettiin instanceof ${issue.expected}, oli ${received}`;
        +                }
        +                return `Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Virheellinen syöte: täytyy olla ${locales_fi_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Virheellinen valinta: täytyy olla yksi seuraavista: ${locales_fi_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Liian suuri: ${sizing.subject} täytyy olla ${adj}${issue.maximum.toString()} ${sizing.unit}`.trim();
        +                }
        +                return `Liian suuri: arvon täytyy olla ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Liian pieni: ${sizing.subject} täytyy olla ${adj}${issue.minimum.toString()} ${sizing.unit}`.trim();
        +                }
        +                return `Liian pieni: arvon täytyy olla ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Virheellinen syöte: täytyy alkaa "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Virheellinen syöte: täytyy loppua "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Virheellinen syöte: täytyy sisältää "${_issue.includes}"`;
        +                if (_issue.format === "regex") {
        +                    return `Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${_issue.pattern}`;
        +                }
        +                return `Virheellinen ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Virheellinen luku: täytyy olla luvun ${issue.divisor} monikerta`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Tuntemattomat avaimet" : "Tuntematon avain"}: ${locales_fi_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return "Virheellinen avain tietueessa";
        +            case "invalid_union":
        +                return "Virheellinen unioni";
        +            case "invalid_element":
        +                return "Virheellinen arvo joukossa";
        +            default:
        +                return `Virheellinen syöte`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_fi() {
        +    return {
        +        localeError: locales_fi_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/fr.js
        +/* unused harmony import specifier */ var locales_fr_util;
        +
        +const locales_fr_error = () => {
        +    const Sizable = {
        +        string: { unit: "caractères", verb: "avoir" },
        +        file: { unit: "octets", verb: "avoir" },
        +        array: { unit: "éléments", verb: "avoir" },
        +        set: { unit: "éléments", verb: "avoir" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrée",
        +        email: "adresse e-mail",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "date et heure ISO",
        +        date: "date ISO",
        +        time: "heure ISO",
        +        duration: "durée ISO",
        +        ipv4: "adresse IPv4",
        +        ipv6: "adresse IPv6",
        +        cidrv4: "plage IPv4",
        +        cidrv6: "plage IPv6",
        +        base64: "chaîne encodée en base64",
        +        base64url: "chaîne encodée en base64url",
        +        json_string: "chaîne JSON",
        +        e164: "numéro E.164",
        +        jwt: "JWT",
        +        template_literal: "entrée",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nombre",
        +        array: "tableau",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_fr_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Entrée invalide : instanceof ${issue.expected} attendu, ${received} reçu`;
        +                }
        +                return `Entrée invalide : ${expected} attendu, ${received} reçu`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrée invalide : ${locales_fr_util.stringifyPrimitive(issue.values[0])} attendu`;
        +                return `Option invalide : une valeur parmi ${locales_fr_util.joinValues(issue.values, "|")} attendue`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Trop grand : ${issue.origin ?? "valeur"} doit ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "élément(s)"}`;
        +                return `Trop grand : ${issue.origin ?? "valeur"} doit être ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Trop petit : ${issue.origin} doit ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Trop petit : ${issue.origin} doit être ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Chaîne invalide : doit commencer par "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Chaîne invalide : doit se terminer par "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Chaîne invalide : doit inclure "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Chaîne invalide : doit correspondre au modèle ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;
        +            }
        +            case "not_multiple_of":
        +                return `Nombre invalide : doit être un multiple de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Clé${issue.keys.length > 1 ? "s" : ""} non reconnue${issue.keys.length > 1 ? "s" : ""} : ${locales_fr_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Clé invalide dans ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrée invalide";
        +            case "invalid_element":
        +                return `Valeur invalide dans ${issue.origin}`;
        +            default:
        +                return `Entrée invalide`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_fr() {
        +    return {
        +        localeError: locales_fr_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/fr-CA.js
        +/* unused harmony import specifier */ var locales_fr_CA_util;
        +
        +const locales_fr_CA_error = () => {
        +    const Sizable = {
        +        string: { unit: "caractères", verb: "avoir" },
        +        file: { unit: "octets", verb: "avoir" },
        +        array: { unit: "éléments", verb: "avoir" },
        +        set: { unit: "éléments", verb: "avoir" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "entrée",
        +        email: "adresse courriel",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "date-heure ISO",
        +        date: "date ISO",
        +        time: "heure ISO",
        +        duration: "durée ISO",
        +        ipv4: "adresse IPv4",
        +        ipv6: "adresse IPv6",
        +        cidrv4: "plage IPv4",
        +        cidrv6: "plage IPv6",
        +        base64: "chaîne encodée en base64",
        +        base64url: "chaîne encodée en base64url",
        +        json_string: "chaîne JSON",
        +        e164: "numéro E.164",
        +        jwt: "JWT",
        +        template_literal: "entrée",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_fr_CA_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Entrée invalide : attendu instanceof ${issue.expected}, reçu ${received}`;
        +                }
        +                return `Entrée invalide : attendu ${expected}, reçu ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrée invalide : attendu ${locales_fr_CA_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Option invalide : attendu l'une des valeurs suivantes ${locales_fr_CA_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "≤" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Trop grand : attendu que ${issue.origin ?? "la valeur"} ait ${adj}${issue.maximum.toString()} ${sizing.unit}`;
        +                return `Trop grand : attendu que ${issue.origin ?? "la valeur"} soit ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "≥" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Trop petit : attendu que ${issue.origin} ait ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Trop petit : attendu que ${issue.origin} soit ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Chaîne invalide : doit commencer par "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Chaîne invalide : doit se terminer par "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Chaîne invalide : doit inclure "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Chaîne invalide : doit correspondre au motif ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} invalide`;
        +            }
        +            case "not_multiple_of":
        +                return `Nombre invalide : doit être un multiple de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Clé${issue.keys.length > 1 ? "s" : ""} non reconnue${issue.keys.length > 1 ? "s" : ""} : ${locales_fr_CA_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Clé invalide dans ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrée invalide";
        +            case "invalid_element":
        +                return `Valeur invalide dans ${issue.origin}`;
        +            default:
        +                return `Entrée invalide`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_fr_CA() {
        +    return {
        +        localeError: locales_fr_CA_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/he.js
        +/* unused harmony import specifier */ var locales_he_util;
        +
        +const locales_he_error = () => {
        +    // Hebrew labels + grammatical gender
        +    const TypeNames = {
        +        string: { label: "מחרוזת", gender: "f" },
        +        number: { label: "מספר", gender: "m" },
        +        boolean: { label: "ערך בוליאני", gender: "m" },
        +        bigint: { label: "BigInt", gender: "m" },
        +        date: { label: "תאריך", gender: "m" },
        +        array: { label: "מערך", gender: "m" },
        +        object: { label: "אובייקט", gender: "m" },
        +        null: { label: "ערך ריק (null)", gender: "m" },
        +        undefined: { label: "ערך לא מוגדר (undefined)", gender: "m" },
        +        symbol: { label: "סימבול (Symbol)", gender: "m" },
        +        function: { label: "פונקציה", gender: "f" },
        +        map: { label: "מפה (Map)", gender: "f" },
        +        set: { label: "קבוצה (Set)", gender: "f" },
        +        file: { label: "קובץ", gender: "m" },
        +        promise: { label: "Promise", gender: "m" },
        +        NaN: { label: "NaN", gender: "m" },
        +        unknown: { label: "ערך לא ידוע", gender: "m" },
        +        value: { label: "ערך", gender: "m" },
        +    };
        +    // Sizing units for size-related messages + localized origin labels
        +    const Sizable = {
        +        string: { unit: "תווים", shortLabel: "קצר", longLabel: "ארוך" },
        +        file: { unit: "בייטים", shortLabel: "קטן", longLabel: "גדול" },
        +        array: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
        +        set: { unit: "פריטים", shortLabel: "קטן", longLabel: "גדול" },
        +        number: { unit: "", shortLabel: "קטן", longLabel: "גדול" }, // no unit
        +    };
        +    // Helpers — labels, articles, and verbs
        +    const typeEntry = (t) => (t ? TypeNames[t] : undefined);
        +    const typeLabel = (t) => {
        +        const e = typeEntry(t);
        +        if (e)
        +            return e.label;
        +        // fallback: show raw string if unknown
        +        return t ?? TypeNames.unknown.label;
        +    };
        +    const withDefinite = (t) => `ה${typeLabel(t)}`;
        +    const verbFor = (t) => {
        +        const e = typeEntry(t);
        +        const gender = e?.gender ?? "m";
        +        return gender === "f" ? "צריכה להיות" : "צריך להיות";
        +    };
        +    const getSizing = (origin) => {
        +        if (!origin)
        +            return null;
        +        return Sizable[origin] ?? null;
        +    };
        +    const FormatDictionary = {
        +        regex: { label: "קלט", gender: "m" },
        +        email: { label: "כתובת אימייל", gender: "f" },
        +        url: { label: "כתובת רשת", gender: "f" },
        +        emoji: { label: "אימוג'י", gender: "m" },
        +        uuid: { label: "UUID", gender: "m" },
        +        nanoid: { label: "nanoid", gender: "m" },
        +        guid: { label: "GUID", gender: "m" },
        +        cuid: { label: "cuid", gender: "m" },
        +        cuid2: { label: "cuid2", gender: "m" },
        +        ulid: { label: "ULID", gender: "m" },
        +        xid: { label: "XID", gender: "m" },
        +        ksuid: { label: "KSUID", gender: "m" },
        +        datetime: { label: "תאריך וזמן ISO", gender: "m" },
        +        date: { label: "תאריך ISO", gender: "m" },
        +        time: { label: "זמן ISO", gender: "m" },
        +        duration: { label: "משך זמן ISO", gender: "m" },
        +        ipv4: { label: "כתובת IPv4", gender: "f" },
        +        ipv6: { label: "כתובת IPv6", gender: "f" },
        +        cidrv4: { label: "טווח IPv4", gender: "m" },
        +        cidrv6: { label: "טווח IPv6", gender: "m" },
        +        base64: { label: "מחרוזת בבסיס 64", gender: "f" },
        +        base64url: { label: "מחרוזת בבסיס 64 לכתובות רשת", gender: "f" },
        +        json_string: { label: "מחרוזת JSON", gender: "f" },
        +        e164: { label: "מספר E.164", gender: "m" },
        +        jwt: { label: "JWT", gender: "m" },
        +        ends_with: { label: "קלט", gender: "m" },
        +        includes: { label: "קלט", gender: "m" },
        +        lowercase: { label: "קלט", gender: "m" },
        +        starts_with: { label: "קלט", gender: "m" },
        +        uppercase: { label: "קלט", gender: "m" },
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                // Expected type: show without definite article for clearer Hebrew
        +                const expectedKey = issue.expected;
        +                const expected = TypeDictionary[expectedKey ?? ""] ?? typeLabel(expectedKey);
        +                // Received: show localized label if known, otherwise constructor/raw
        +                const receivedType = locales_he_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? TypeNames[receivedType]?.label ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `קלט לא תקין: צריך להיות instanceof ${issue.expected}, התקבל ${received}`;
        +                }
        +                return `קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`;
        +            }
        +            case "invalid_value": {
        +                if (issue.values.length === 1) {
        +                    return `ערך לא תקין: הערך חייב להיות ${locales_he_util.stringifyPrimitive(issue.values[0])}`;
        +                }
        +                // Join values with proper Hebrew formatting
        +                const stringified = issue.values.map((v) => locales_he_util.stringifyPrimitive(v));
        +                if (issue.values.length === 2) {
        +                    return `ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;
        +                }
        +                // For 3+ values: "a", "b" או "c"
        +                const lastValue = stringified[stringified.length - 1];
        +                const restValues = stringified.slice(0, -1).join(", ");
        +                return `ערך לא תקין: האפשרויות המתאימות הן ${restValues} או ${lastValue}`;
        +            }
        +            case "too_big": {
        +                const sizing = getSizing(issue.origin);
        +                const subject = withDefinite(issue.origin ?? "value");
        +                if (issue.origin === "string") {
        +                    // Special handling for strings - more natural Hebrew
        +                    return `${sizing?.longLabel ?? "ארוך"} מדי: ${subject} צריכה להכיל ${issue.maximum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או פחות" : "לכל היותר"}`.trim();
        +                }
        +                if (issue.origin === "number") {
        +                    // Natural Hebrew for numbers
        +                    const comparison = issue.inclusive ? `קטן או שווה ל-${issue.maximum}` : `קטן מ-${issue.maximum}`;
        +                    return `גדול מדי: ${subject} צריך להיות ${comparison}`;
        +                }
        +                if (issue.origin === "array" || issue.origin === "set") {
        +                    // Natural Hebrew for arrays and sets
        +                    const verb = issue.origin === "set" ? "צריכה" : "צריך";
        +                    const comparison = issue.inclusive
        +                        ? `${issue.maximum} ${sizing?.unit ?? ""} או פחות`
        +                        : `פחות מ-${issue.maximum} ${sizing?.unit ?? ""}`;
        +                    return `גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
        +                }
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const be = verbFor(issue.origin ?? "value");
        +                if (sizing?.unit) {
        +                    return `${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
        +                }
        +                return `${sizing?.longLabel ?? "גדול"} מדי: ${subject} ${be} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const sizing = getSizing(issue.origin);
        +                const subject = withDefinite(issue.origin ?? "value");
        +                if (issue.origin === "string") {
        +                    // Special handling for strings - more natural Hebrew
        +                    return `${sizing?.shortLabel ?? "קצר"} מדי: ${subject} צריכה להכיל ${issue.minimum.toString()} ${sizing?.unit ?? ""} ${issue.inclusive ? "או יותר" : "לפחות"}`.trim();
        +                }
        +                if (issue.origin === "number") {
        +                    // Natural Hebrew for numbers
        +                    const comparison = issue.inclusive ? `גדול או שווה ל-${issue.minimum}` : `גדול מ-${issue.minimum}`;
        +                    return `קטן מדי: ${subject} צריך להיות ${comparison}`;
        +                }
        +                if (issue.origin === "array" || issue.origin === "set") {
        +                    // Natural Hebrew for arrays and sets
        +                    const verb = issue.origin === "set" ? "צריכה" : "צריך";
        +                    // Special case for singular (minimum === 1)
        +                    if (issue.minimum === 1 && issue.inclusive) {
        +                        const singularPhrase = issue.origin === "set" ? "לפחות פריט אחד" : "לפחות פריט אחד";
        +                        return `קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`;
        +                    }
        +                    const comparison = issue.inclusive
        +                        ? `${issue.minimum} ${sizing?.unit ?? ""} או יותר`
        +                        : `יותר מ-${issue.minimum} ${sizing?.unit ?? ""}`;
        +                    return `קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim();
        +                }
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const be = verbFor(issue.origin ?? "value");
        +                if (sizing?.unit) {
        +                    return `${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `${sizing?.shortLabel ?? "קטן"} מדי: ${subject} ${be} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                // These apply to strings — use feminine grammar + ה׳ הידיעה
        +                if (_issue.format === "starts_with")
        +                    return `המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `המחרוזת חייבת לכלול "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;
        +                // Handle gender agreement for formats
        +                const nounEntry = FormatDictionary[_issue.format];
        +                const noun = nounEntry?.label ?? _issue.format;
        +                const gender = nounEntry?.gender ?? "m";
        +                const adjective = gender === "f" ? "תקינה" : "תקין";
        +                return `${noun} לא ${adjective}`;
        +            }
        +            case "not_multiple_of":
        +                return `מספר לא תקין: חייב להיות מכפלה של ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `מפתח${issue.keys.length > 1 ? "ות" : ""} לא מזוה${issue.keys.length > 1 ? "ים" : "ה"}: ${locales_he_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key": {
        +                return `שדה לא תקין באובייקט`;
        +            }
        +            case "invalid_union":
        +                return "קלט לא תקין";
        +            case "invalid_element": {
        +                const place = withDefinite(issue.origin ?? "array");
        +                return `ערך לא תקין ב${place}`;
        +            }
        +            default:
        +                return `קלט לא תקין`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_he() {
        +    return {
        +        localeError: locales_he_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/hu.js
        +/* unused harmony import specifier */ var locales_hu_util;
        +
        +const locales_hu_error = () => {
        +    const Sizable = {
        +        string: { unit: "karakter", verb: "legyen" },
        +        file: { unit: "byte", verb: "legyen" },
        +        array: { unit: "elem", verb: "legyen" },
        +        set: { unit: "elem", verb: "legyen" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "bemenet",
        +        email: "email cím",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO időbélyeg",
        +        date: "ISO dátum",
        +        time: "ISO idő",
        +        duration: "ISO időintervallum",
        +        ipv4: "IPv4 cím",
        +        ipv6: "IPv6 cím",
        +        cidrv4: "IPv4 tartomány",
        +        cidrv6: "IPv6 tartomány",
        +        base64: "base64-kódolt string",
        +        base64url: "base64url-kódolt string",
        +        json_string: "JSON string",
        +        e164: "E.164 szám",
        +        jwt: "JWT",
        +        template_literal: "bemenet",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "szám",
        +        array: "tömb",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_hu_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Érvénytelen bemenet: a várt érték instanceof ${issue.expected}, a kapott érték ${received}`;
        +                }
        +                return `Érvénytelen bemenet: a várt érték ${expected}, a kapott érték ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Érvénytelen bemenet: a várt érték ${locales_hu_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Érvénytelen opció: valamelyik érték várt ${locales_hu_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Túl nagy: ${issue.origin ?? "érték"} mérete túl nagy ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elem"}`;
        +                return `Túl nagy: a bemeneti érték ${issue.origin ?? "érték"} túl nagy: ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Túl kicsi: a bemeneti érték ${issue.origin} mérete túl kicsi ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Túl kicsi: a bemeneti érték ${issue.origin} túl kicsi ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Érvénytelen string: "${_issue.prefix}" értékkel kell kezdődnie`;
        +                if (_issue.format === "ends_with")
        +                    return `Érvénytelen string: "${_issue.suffix}" értékkel kell végződnie`;
        +                if (_issue.format === "includes")
        +                    return `Érvénytelen string: "${_issue.includes}" értéket kell tartalmaznia`;
        +                if (_issue.format === "regex")
        +                    return `Érvénytelen string: ${_issue.pattern} mintának kell megfelelnie`;
        +                return `Érvénytelen ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Érvénytelen szám: ${issue.divisor} többszörösének kell lennie`;
        +            case "unrecognized_keys":
        +                return `Ismeretlen kulcs${issue.keys.length > 1 ? "s" : ""}: ${locales_hu_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Érvénytelen kulcs ${issue.origin}`;
        +            case "invalid_union":
        +                return "Érvénytelen bemenet";
        +            case "invalid_element":
        +                return `Érvénytelen érték: ${issue.origin}`;
        +            default:
        +                return `Érvénytelen bemenet`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_hu() {
        +    return {
        +        localeError: locales_hu_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/hy.js
        +/* unused harmony import specifier */ var locales_hy_util;
        +
        +function hy_getArmenianPlural(count, one, many) {
        +    return Math.abs(count) === 1 ? one : many;
        +}
        +function hy_withDefiniteArticle(word) {
        +    if (!word)
        +        return "";
        +    const vowels = ["ա", "ե", "ը", "ի", "ո", "ու", "օ"];
        +    const lastChar = word[word.length - 1];
        +    return word + (vowels.includes(lastChar) ? "ն" : "ը");
        +}
        +const locales_hy_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "նշան",
        +                many: "նշաններ",
        +            },
        +            verb: "ունենալ",
        +        },
        +        file: {
        +            unit: {
        +                one: "բայթ",
        +                many: "բայթեր",
        +            },
        +            verb: "ունենալ",
        +        },
        +        array: {
        +            unit: {
        +                one: "տարր",
        +                many: "տարրեր",
        +            },
        +            verb: "ունենալ",
        +        },
        +        set: {
        +            unit: {
        +                one: "տարր",
        +                many: "տարրեր",
        +            },
        +            verb: "ունենալ",
        +        },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "մուտք",
        +        email: "էլ. հասցե",
        +        url: "URL",
        +        emoji: "էմոջի",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO ամսաթիվ և ժամ",
        +        date: "ISO ամսաթիվ",
        +        time: "ISO ժամ",
        +        duration: "ISO տևողություն",
        +        ipv4: "IPv4 հասցե",
        +        ipv6: "IPv6 հասցե",
        +        cidrv4: "IPv4 միջակայք",
        +        cidrv6: "IPv6 միջակայք",
        +        base64: "base64 ձևաչափով տող",
        +        base64url: "base64url ձևաչափով տող",
        +        json_string: "JSON տող",
        +        e164: "E.164 համար",
        +        jwt: "JWT",
        +        template_literal: "մուտք",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "թիվ",
        +        array: "զանգված",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_hy_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Սխալ մուտքագրում․ սպասվում էր instanceof ${issue.expected}, ստացվել է ${received}`;
        +                }
        +                return `Սխալ մուտքագրում․ սպասվում էր ${expected}, ստացվել է ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Սխալ մուտքագրում․ սպասվում էր ${locales_hy_util.stringifyPrimitive(issue.values[1])}`;
        +                return `Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${locales_hy_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const maxValue = Number(issue.maximum);
        +                    const unit = hy_getArmenianPlural(maxValue, sizing.unit.one, sizing.unit.many);
        +                    return `Չափազանց մեծ արժեք․ սպասվում է, որ ${hy_withDefiniteArticle(issue.origin ?? "արժեք")} կունենա ${adj}${issue.maximum.toString()} ${unit}`;
        +                }
        +                return `Չափազանց մեծ արժեք․ սպասվում է, որ ${hy_withDefiniteArticle(issue.origin ?? "արժեք")} լինի ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const minValue = Number(issue.minimum);
        +                    const unit = hy_getArmenianPlural(minValue, sizing.unit.one, sizing.unit.many);
        +                    return `Չափազանց փոքր արժեք․ սպասվում է, որ ${hy_withDefiniteArticle(issue.origin)} կունենա ${adj}${issue.minimum.toString()} ${unit}`;
        +                }
        +                return `Չափազանց փոքր արժեք․ սպասվում է, որ ${hy_withDefiniteArticle(issue.origin)} լինի ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Սխալ տող․ պետք է սկսվի "${_issue.prefix}"-ով`;
        +                if (_issue.format === "ends_with")
        +                    return `Սխալ տող․ պետք է ավարտվի "${_issue.suffix}"-ով`;
        +                if (_issue.format === "includes")
        +                    return `Սխալ տող․ պետք է պարունակի "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Սխալ տող․ պետք է համապատասխանի ${_issue.pattern} ձևաչափին`;
        +                return `Սխալ ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Սխալ թիվ․ պետք է բազմապատիկ լինի ${issue.divisor}-ի`;
        +            case "unrecognized_keys":
        +                return `Չճանաչված բանալի${issue.keys.length > 1 ? "ներ" : ""}. ${locales_hy_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Սխալ բանալի ${hy_withDefiniteArticle(issue.origin)}-ում`;
        +            case "invalid_union":
        +                return "Սխալ մուտքագրում";
        +            case "invalid_element":
        +                return `Սխալ արժեք ${hy_withDefiniteArticle(issue.origin)}-ում`;
        +            default:
        +                return `Սխալ մուտքագրում`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_hy() {
        +    return {
        +        localeError: locales_hy_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/id.js
        +/* unused harmony import specifier */ var locales_id_util;
        +
        +const locales_id_error = () => {
        +    const Sizable = {
        +        string: { unit: "karakter", verb: "memiliki" },
        +        file: { unit: "byte", verb: "memiliki" },
        +        array: { unit: "item", verb: "memiliki" },
        +        set: { unit: "item", verb: "memiliki" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "alamat email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "tanggal dan waktu format ISO",
        +        date: "tanggal format ISO",
        +        time: "jam format ISO",
        +        duration: "durasi format ISO",
        +        ipv4: "alamat IPv4",
        +        ipv6: "alamat IPv6",
        +        cidrv4: "rentang alamat IPv4",
        +        cidrv6: "rentang alamat IPv6",
        +        base64: "string dengan enkode base64",
        +        base64url: "string dengan enkode base64url",
        +        json_string: "string JSON",
        +        e164: "angka E.164",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_id_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Input tidak valid: diharapkan instanceof ${issue.expected}, diterima ${received}`;
        +                }
        +                return `Input tidak valid: diharapkan ${expected}, diterima ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Input tidak valid: diharapkan ${locales_id_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Pilihan tidak valid: diharapkan salah satu dari ${locales_id_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Terlalu besar: diharapkan ${issue.origin ?? "value"} memiliki ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elemen"}`;
        +                return `Terlalu besar: diharapkan ${issue.origin ?? "value"} menjadi ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Terlalu kecil: diharapkan ${issue.origin} memiliki ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Terlalu kecil: diharapkan ${issue.origin} menjadi ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `String tidak valid: harus dimulai dengan "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `String tidak valid: harus berakhir dengan "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `String tidak valid: harus menyertakan "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `String tidak valid: harus sesuai pola ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} tidak valid`;
        +            }
        +            case "not_multiple_of":
        +                return `Angka tidak valid: harus kelipatan dari ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Kunci tidak dikenali ${issue.keys.length > 1 ? "s" : ""}: ${locales_id_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Kunci tidak valid di ${issue.origin}`;
        +            case "invalid_union":
        +                return "Input tidak valid";
        +            case "invalid_element":
        +                return `Nilai tidak valid di ${issue.origin}`;
        +            default:
        +                return `Input tidak valid`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_id() {
        +    return {
        +        localeError: locales_id_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/is.js
        +/* unused harmony import specifier */ var locales_is_util;
        +
        +const locales_is_error = () => {
        +    const Sizable = {
        +        string: { unit: "stafi", verb: "að hafa" },
        +        file: { unit: "bæti", verb: "að hafa" },
        +        array: { unit: "hluti", verb: "að hafa" },
        +        set: { unit: "hluti", verb: "að hafa" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "gildi",
        +        email: "netfang",
        +        url: "vefslóð",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO dagsetning og tími",
        +        date: "ISO dagsetning",
        +        time: "ISO tími",
        +        duration: "ISO tímalengd",
        +        ipv4: "IPv4 address",
        +        ipv6: "IPv6 address",
        +        cidrv4: "IPv4 range",
        +        cidrv6: "IPv6 range",
        +        base64: "base64-encoded strengur",
        +        base64url: "base64url-encoded strengur",
        +        json_string: "JSON strengur",
        +        e164: "E.164 tölugildi",
        +        jwt: "JWT",
        +        template_literal: "gildi",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "númer",
        +        array: "fylki",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_is_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Rangt gildi: Þú slóst inn ${received} þar sem á að vera instanceof ${issue.expected}`;
        +                }
        +                return `Rangt gildi: Þú slóst inn ${received} þar sem á að vera ${expected}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Rangt gildi: gert ráð fyrir ${locales_is_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ógilt val: má vera eitt af eftirfarandi ${locales_is_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Of stórt: gert er ráð fyrir að ${issue.origin ?? "gildi"} hafi ${adj}${issue.maximum.toString()} ${sizing.unit ?? "hluti"}`;
        +                return `Of stórt: gert er ráð fyrir að ${issue.origin ?? "gildi"} sé ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Of lítið: gert er ráð fyrir að ${issue.origin} hafi ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Of lítið: gert er ráð fyrir að ${issue.origin} sé ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Ógildur strengur: verður að byrja á "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Ógildur strengur: verður að enda á "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ógildur strengur: verður að innihalda "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ógildur strengur: verður að fylgja mynstri ${_issue.pattern}`;
        +                return `Rangt ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Röng tala: verður að vera margfeldi af ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Óþekkt ${issue.keys.length > 1 ? "ir lyklar" : "ur lykill"}: ${locales_is_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Rangur lykill í ${issue.origin}`;
        +            case "invalid_union":
        +                return "Rangt gildi";
        +            case "invalid_element":
        +                return `Rangt gildi í ${issue.origin}`;
        +            default:
        +                return `Rangt gildi`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_is() {
        +    return {
        +        localeError: locales_is_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/it.js
        +/* unused harmony import specifier */ var locales_it_util;
        +
        +const locales_it_error = () => {
        +    const Sizable = {
        +        string: { unit: "caratteri", verb: "avere" },
        +        file: { unit: "byte", verb: "avere" },
        +        array: { unit: "elementi", verb: "avere" },
        +        set: { unit: "elementi", verb: "avere" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "indirizzo email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data e ora ISO",
        +        date: "data ISO",
        +        time: "ora ISO",
        +        duration: "durata ISO",
        +        ipv4: "indirizzo IPv4",
        +        ipv6: "indirizzo IPv6",
        +        cidrv4: "intervallo IPv4",
        +        cidrv6: "intervallo IPv6",
        +        base64: "stringa codificata in base64",
        +        base64url: "URL codificata in base64",
        +        json_string: "stringa JSON",
        +        e164: "numero E.164",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "numero",
        +        array: "vettore",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_it_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Input non valido: atteso instanceof ${issue.expected}, ricevuto ${received}`;
        +                }
        +                return `Input non valido: atteso ${expected}, ricevuto ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Input non valido: atteso ${locales_it_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opzione non valida: atteso uno tra ${locales_it_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Troppo grande: ${issue.origin ?? "valore"} deve avere ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementi"}`;
        +                return `Troppo grande: ${issue.origin ?? "valore"} deve essere ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Troppo piccolo: ${issue.origin} deve avere ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Troppo piccolo: ${issue.origin} deve essere ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Stringa non valida: deve iniziare con "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Stringa non valida: deve terminare con "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Stringa non valida: deve includere "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;
        +                return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Numero non valido: deve essere un multiplo di ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Chiav${issue.keys.length > 1 ? "i" : "e"} non riconosciut${issue.keys.length > 1 ? "e" : "a"}: ${locales_it_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Chiave non valida in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Input non valido";
        +            case "invalid_element":
        +                return `Valore non valido in ${issue.origin}`;
        +            default:
        +                return `Input non valido`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_it() {
        +    return {
        +        localeError: locales_it_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ja.js
        +/* unused harmony import specifier */ var locales_ja_util;
        +
        +const locales_ja_error = () => {
        +    const Sizable = {
        +        string: { unit: "文字", verb: "である" },
        +        file: { unit: "バイト", verb: "である" },
        +        array: { unit: "要素", verb: "である" },
        +        set: { unit: "要素", verb: "である" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "入力値",
        +        email: "メールアドレス",
        +        url: "URL",
        +        emoji: "絵文字",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO日時",
        +        date: "ISO日付",
        +        time: "ISO時刻",
        +        duration: "ISO期間",
        +        ipv4: "IPv4アドレス",
        +        ipv6: "IPv6アドレス",
        +        cidrv4: "IPv4範囲",
        +        cidrv6: "IPv6範囲",
        +        base64: "base64エンコード文字列",
        +        base64url: "base64urlエンコード文字列",
        +        json_string: "JSON文字列",
        +        e164: "E.164番号",
        +        jwt: "JWT",
        +        template_literal: "入力値",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "数値",
        +        array: "配列",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ja_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `無効な入力: instanceof ${issue.expected}が期待されましたが、${received}が入力されました`;
        +                }
        +                return `無効な入力: ${expected}が期待されましたが、${received}が入力されました`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `無効な入力: ${locales_ja_util.stringifyPrimitive(issue.values[0])}が期待されました`;
        +                return `無効な選択: ${locales_ja_util.joinValues(issue.values, "、")}のいずれかである必要があります`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "以下である" : "より小さい";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${sizing.unit ?? "要素"}${adj}必要があります`;
        +                return `大きすぎる値: ${issue.origin ?? "値"}は${issue.maximum.toString()}${adj}必要があります`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "以上である" : "より大きい";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${sizing.unit}${adj}必要があります`;
        +                return `小さすぎる値: ${issue.origin}は${issue.minimum.toString()}${adj}必要があります`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `無効な文字列: "${_issue.prefix}"で始まる必要があります`;
        +                if (_issue.format === "ends_with")
        +                    return `無効な文字列: "${_issue.suffix}"で終わる必要があります`;
        +                if (_issue.format === "includes")
        +                    return `無効な文字列: "${_issue.includes}"を含む必要があります`;
        +                if (_issue.format === "regex")
        +                    return `無効な文字列: パターン${_issue.pattern}に一致する必要があります`;
        +                return `無効な${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `無効な数値: ${issue.divisor}の倍数である必要があります`;
        +            case "unrecognized_keys":
        +                return `認識されていないキー${issue.keys.length > 1 ? "群" : ""}: ${locales_ja_util.joinValues(issue.keys, "、")}`;
        +            case "invalid_key":
        +                return `${issue.origin}内の無効なキー`;
        +            case "invalid_union":
        +                return "無効な入力";
        +            case "invalid_element":
        +                return `${issue.origin}内の無効な値`;
        +            default:
        +                return `無効な入力`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ja() {
        +    return {
        +        localeError: locales_ja_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ka.js
        +/* unused harmony import specifier */ var locales_ka_util;
        +
        +const locales_ka_error = () => {
        +    const Sizable = {
        +        string: { unit: "სიმბოლო", verb: "უნდა შეიცავდეს" },
        +        file: { unit: "ბაიტი", verb: "უნდა შეიცავდეს" },
        +        array: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
        +        set: { unit: "ელემენტი", verb: "უნდა შეიცავდეს" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "შეყვანა",
        +        email: "ელ-ფოსტის მისამართი",
        +        url: "URL",
        +        emoji: "ემოჯი",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "თარიღი-დრო",
        +        date: "თარიღი",
        +        time: "დრო",
        +        duration: "ხანგრძლივობა",
        +        ipv4: "IPv4 მისამართი",
        +        ipv6: "IPv6 მისამართი",
        +        cidrv4: "IPv4 დიაპაზონი",
        +        cidrv6: "IPv6 დიაპაზონი",
        +        base64: "base64-კოდირებული სტრინგი",
        +        base64url: "base64url-კოდირებული სტრინგი",
        +        json_string: "JSON სტრინგი",
        +        e164: "E.164 ნომერი",
        +        jwt: "JWT",
        +        template_literal: "შეყვანა",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "რიცხვი",
        +        string: "სტრინგი",
        +        boolean: "ბულეანი",
        +        function: "ფუნქცია",
        +        array: "მასივი",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ka_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `არასწორი შეყვანა: მოსალოდნელი instanceof ${issue.expected}, მიღებული ${received}`;
        +                }
        +                return `არასწორი შეყვანა: მოსალოდნელი ${expected}, მიღებული ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `არასწორი შეყვანა: მოსალოდნელი ${locales_ka_util.stringifyPrimitive(issue.values[0])}`;
        +                return `არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${locales_ka_util.joinValues(issue.values, "|")}-დან`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit}`;
        +                return `ზედმეტად დიდი: მოსალოდნელი ${issue.origin ?? "მნიშვნელობა"} იყოს ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `ზედმეტად პატარა: მოსალოდნელი ${issue.origin} იყოს ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `არასწორი სტრინგი: უნდა იწყებოდეს "${_issue.prefix}"-ით`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `არასწორი სტრინგი: უნდა მთავრდებოდეს "${_issue.suffix}"-ით`;
        +                if (_issue.format === "includes")
        +                    return `არასწორი სტრინგი: უნდა შეიცავდეს "${_issue.includes}"-ს`;
        +                if (_issue.format === "regex")
        +                    return `არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;
        +                return `არასწორი ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `არასწორი რიცხვი: უნდა იყოს ${issue.divisor}-ის ჯერადი`;
        +            case "unrecognized_keys":
        +                return `უცნობი გასაღებ${issue.keys.length > 1 ? "ები" : "ი"}: ${locales_ka_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `არასწორი გასაღები ${issue.origin}-ში`;
        +            case "invalid_union":
        +                return "არასწორი შეყვანა";
        +            case "invalid_element":
        +                return `არასწორი მნიშვნელობა ${issue.origin}-ში`;
        +            default:
        +                return `არასწორი შეყვანა`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ka() {
        +    return {
        +        localeError: locales_ka_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/km.js
        +/* unused harmony import specifier */ var locales_km_util;
        +
        +const locales_km_error = () => {
        +    const Sizable = {
        +        string: { unit: "តួអក្សរ", verb: "គួរមាន" },
        +        file: { unit: "បៃ", verb: "គួរមាន" },
        +        array: { unit: "ធាតុ", verb: "គួរមាន" },
        +        set: { unit: "ធាតុ", verb: "គួរមាន" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ទិន្នន័យបញ្ចូល",
        +        email: "អាសយដ្ឋានអ៊ីមែល",
        +        url: "URL",
        +        emoji: "សញ្ញាអារម្មណ៍",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "កាលបរិច្ឆេទ និងម៉ោង ISO",
        +        date: "កាលបរិច្ឆេទ ISO",
        +        time: "ម៉ោង ISO",
        +        duration: "រយៈពេល ISO",
        +        ipv4: "អាសយដ្ឋាន IPv4",
        +        ipv6: "អាសយដ្ឋាន IPv6",
        +        cidrv4: "ដែនអាសយដ្ឋាន IPv4",
        +        cidrv6: "ដែនអាសយដ្ឋាន IPv6",
        +        base64: "ខ្សែអក្សរអ៊ិកូដ base64",
        +        base64url: "ខ្សែអក្សរអ៊ិកូដ base64url",
        +        json_string: "ខ្សែអក្សរ JSON",
        +        e164: "លេខ E.164",
        +        jwt: "JWT",
        +        template_literal: "ទិន្នន័យបញ្ចូល",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "លេខ",
        +        array: "អារេ (Array)",
        +        null: "គ្មានតម្លៃ (null)",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_km_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${issue.expected} ប៉ុន្តែទទួលបាន ${received}`;
        +                }
        +                return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${expected} ប៉ុន្តែទទួលបាន ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${locales_km_util.stringifyPrimitive(issue.values[0])}`;
        +                return `ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${locales_km_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()} ${sizing.unit ?? "ធាតុ"}`;
        +                return `ធំពេក៖ ត្រូវការ ${issue.origin ?? "តម្លៃ"} ${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `តូចពេក៖ ត្រូវការ ${issue.origin} ${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;
        +                return `មិនត្រឹមត្រូវ៖ ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `រកឃើញសោមិនស្គាល់៖ ${locales_km_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `សោមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
        +            case "invalid_union":
        +                return `ទិន្នន័យមិនត្រឹមត្រូវ`;
        +            case "invalid_element":
        +                return `ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue.origin}`;
        +            default:
        +                return `ទិន្នន័យមិនត្រឹមត្រូវ`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_km() {
        +    return {
        +        localeError: locales_km_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/kh.js
        +/* unused harmony import specifier */ var locales_kh_km;
        +
        +/** @deprecated Use `km` instead. */
        +/* harmony default export */ function locales_kh() {
        +    return locales_kh_km();
        +}
        +
        +;// ./node_modules/zod/v4/locales/ko.js
        +/* unused harmony import specifier */ var locales_ko_util;
        +
        +const locales_ko_error = () => {
        +    const Sizable = {
        +        string: { unit: "문자", verb: "to have" },
        +        file: { unit: "바이트", verb: "to have" },
        +        array: { unit: "개", verb: "to have" },
        +        set: { unit: "개", verb: "to have" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "입력",
        +        email: "이메일 주소",
        +        url: "URL",
        +        emoji: "이모지",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO 날짜시간",
        +        date: "ISO 날짜",
        +        time: "ISO 시간",
        +        duration: "ISO 기간",
        +        ipv4: "IPv4 주소",
        +        ipv6: "IPv6 주소",
        +        cidrv4: "IPv4 범위",
        +        cidrv6: "IPv6 범위",
        +        base64: "base64 인코딩 문자열",
        +        base64url: "base64url 인코딩 문자열",
        +        json_string: "JSON 문자열",
        +        e164: "E.164 번호",
        +        jwt: "JWT",
        +        template_literal: "입력",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ko_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `잘못된 입력: 예상 타입은 instanceof ${issue.expected}, 받은 타입은 ${received}입니다`;
        +                }
        +                return `잘못된 입력: 예상 타입은 ${expected}, 받은 타입은 ${received}입니다`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `잘못된 입력: 값은 ${locales_ko_util.stringifyPrimitive(issue.values[0])} 이어야 합니다`;
        +                return `잘못된 옵션: ${locales_ko_util.joinValues(issue.values, "또는 ")} 중 하나여야 합니다`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "이하" : "미만";
        +                const suffix = adj === "미만" ? "이어야 합니다" : "여야 합니다";
        +                const sizing = getSizing(issue.origin);
        +                const unit = sizing?.unit ?? "요소";
        +                if (sizing)
        +                    return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()}${unit} ${adj}${suffix}`;
        +                return `${issue.origin ?? "값"}이 너무 큽니다: ${issue.maximum.toString()} ${adj}${suffix}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "이상" : "초과";
        +                const suffix = adj === "이상" ? "이어야 합니다" : "여야 합니다";
        +                const sizing = getSizing(issue.origin);
        +                const unit = sizing?.unit ?? "요소";
        +                if (sizing) {
        +                    return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()}${unit} ${adj}${suffix}`;
        +                }
        +                return `${issue.origin ?? "값"}이 너무 작습니다: ${issue.minimum.toString()} ${adj}${suffix}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `잘못된 문자열: "${_issue.prefix}"(으)로 시작해야 합니다`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `잘못된 문자열: "${_issue.suffix}"(으)로 끝나야 합니다`;
        +                if (_issue.format === "includes")
        +                    return `잘못된 문자열: "${_issue.includes}"을(를) 포함해야 합니다`;
        +                if (_issue.format === "regex")
        +                    return `잘못된 문자열: 정규식 ${_issue.pattern} 패턴과 일치해야 합니다`;
        +                return `잘못된 ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `잘못된 숫자: ${issue.divisor}의 배수여야 합니다`;
        +            case "unrecognized_keys":
        +                return `인식할 수 없는 키: ${locales_ko_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `잘못된 키: ${issue.origin}`;
        +            case "invalid_union":
        +                return `잘못된 입력`;
        +            case "invalid_element":
        +                return `잘못된 값: ${issue.origin}`;
        +            default:
        +                return `잘못된 입력`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ko() {
        +    return {
        +        localeError: locales_ko_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/lt.js
        +/* unused harmony import specifier */ var locales_lt_util;
        +
        +const lt_capitalizeFirstCharacter = (text) => {
        +    return text.charAt(0).toUpperCase() + text.slice(1);
        +};
        +function lt_getUnitTypeFromNumber(number) {
        +    const abs = Math.abs(number);
        +    const last = abs % 10;
        +    const last2 = abs % 100;
        +    if ((last2 >= 11 && last2 <= 19) || last === 0)
        +        return "many";
        +    if (last === 1)
        +        return "one";
        +    return "few";
        +}
        +const locales_lt_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "simbolis",
        +                few: "simboliai",
        +                many: "simbolių",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi būti ne ilgesnė kaip",
        +                    notInclusive: "turi būti trumpesnė kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi būti ne trumpesnė kaip",
        +                    notInclusive: "turi būti ilgesnė kaip",
        +                },
        +            },
        +        },
        +        file: {
        +            unit: {
        +                one: "baitas",
        +                few: "baitai",
        +                many: "baitų",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi būti ne didesnis kaip",
        +                    notInclusive: "turi būti mažesnis kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi būti ne mažesnis kaip",
        +                    notInclusive: "turi būti didesnis kaip",
        +                },
        +            },
        +        },
        +        array: {
        +            unit: {
        +                one: "elementą",
        +                few: "elementus",
        +                many: "elementų",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi turėti ne daugiau kaip",
        +                    notInclusive: "turi turėti mažiau kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi turėti ne mažiau kaip",
        +                    notInclusive: "turi turėti daugiau kaip",
        +                },
        +            },
        +        },
        +        set: {
        +            unit: {
        +                one: "elementą",
        +                few: "elementus",
        +                many: "elementų",
        +            },
        +            verb: {
        +                smaller: {
        +                    inclusive: "turi turėti ne daugiau kaip",
        +                    notInclusive: "turi turėti mažiau kaip",
        +                },
        +                bigger: {
        +                    inclusive: "turi turėti ne mažiau kaip",
        +                    notInclusive: "turi turėti daugiau kaip",
        +                },
        +            },
        +        },
        +    };
        +    function getSizing(origin, unitType, inclusive, targetShouldBe) {
        +        const result = Sizable[origin] ?? null;
        +        if (result === null)
        +            return result;
        +        return {
        +            unit: result.unit[unitType],
        +            verb: result.verb[targetShouldBe][inclusive ? "inclusive" : "notInclusive"],
        +        };
        +    }
        +    const FormatDictionary = {
        +        regex: "įvestis",
        +        email: "el. pašto adresas",
        +        url: "URL",
        +        emoji: "jaustukas",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO data ir laikas",
        +        date: "ISO data",
        +        time: "ISO laikas",
        +        duration: "ISO trukmė",
        +        ipv4: "IPv4 adresas",
        +        ipv6: "IPv6 adresas",
        +        cidrv4: "IPv4 tinklo prefiksas (CIDR)",
        +        cidrv6: "IPv6 tinklo prefiksas (CIDR)",
        +        base64: "base64 užkoduota eilutė",
        +        base64url: "base64url užkoduota eilutė",
        +        json_string: "JSON eilutė",
        +        e164: "E.164 numeris",
        +        jwt: "JWT",
        +        template_literal: "įvestis",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "skaičius",
        +        bigint: "sveikasis skaičius",
        +        string: "eilutė",
        +        boolean: "loginė reikšmė",
        +        undefined: "neapibrėžta reikšmė",
        +        function: "funkcija",
        +        symbol: "simbolis",
        +        array: "masyvas",
        +        object: "objektas",
        +        null: "nulinė reikšmė",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_lt_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Gautas tipas ${received}, o tikėtasi - instanceof ${issue.expected}`;
        +                }
        +                return `Gautas tipas ${received}, o tikėtasi - ${expected}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Privalo būti ${locales_lt_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Privalo būti vienas iš ${locales_lt_util.joinValues(issue.values, "|")} pasirinkimų`;
        +            case "too_big": {
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                const sizing = getSizing(issue.origin, lt_getUnitTypeFromNumber(Number(issue.maximum)), issue.inclusive ?? false, "smaller");
        +                if (sizing?.verb)
        +                    return `${lt_capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.maximum.toString()} ${sizing.unit ?? "elementų"}`;
        +                const adj = issue.inclusive ? "ne didesnis kaip" : "mažesnis kaip";
        +                return `${lt_capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.maximum.toString()} ${sizing?.unit}`;
        +            }
        +            case "too_small": {
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                const sizing = getSizing(issue.origin, lt_getUnitTypeFromNumber(Number(issue.minimum)), issue.inclusive ?? false, "bigger");
        +                if (sizing?.verb)
        +                    return `${lt_capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} ${sizing.verb} ${issue.minimum.toString()} ${sizing.unit ?? "elementų"}`;
        +                const adj = issue.inclusive ? "ne mažesnis kaip" : "didesnis kaip";
        +                return `${lt_capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi būti ${adj} ${issue.minimum.toString()} ${sizing?.unit}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Eilutė privalo prasidėti "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Eilutė privalo pasibaigti "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Eilutė privalo įtraukti "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Eilutė privalo atitikti ${_issue.pattern}`;
        +                return `Neteisingas ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Skaičius privalo būti ${issue.divisor} kartotinis.`;
        +            case "unrecognized_keys":
        +                return `Neatpažint${issue.keys.length > 1 ? "i" : "as"} rakt${issue.keys.length > 1 ? "ai" : "as"}: ${locales_lt_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return "Rastas klaidingas raktas";
        +            case "invalid_union":
        +                return "Klaidinga įvestis";
        +            case "invalid_element": {
        +                const origin = TypeDictionary[issue.origin] ?? issue.origin;
        +                return `${lt_capitalizeFirstCharacter(origin ?? issue.origin ?? "reikšmė")} turi klaidingą įvestį`;
        +            }
        +            default:
        +                return "Klaidinga įvestis";
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_lt() {
        +    return {
        +        localeError: locales_lt_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/mk.js
        +/* unused harmony import specifier */ var locales_mk_util;
        +
        +const locales_mk_error = () => {
        +    const Sizable = {
        +        string: { unit: "знаци", verb: "да имаат" },
        +        file: { unit: "бајти", verb: "да имаат" },
        +        array: { unit: "ставки", verb: "да имаат" },
        +        set: { unit: "ставки", verb: "да имаат" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "внес",
        +        email: "адреса на е-пошта",
        +        url: "URL",
        +        emoji: "емоџи",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO датум и време",
        +        date: "ISO датум",
        +        time: "ISO време",
        +        duration: "ISO времетраење",
        +        ipv4: "IPv4 адреса",
        +        ipv6: "IPv6 адреса",
        +        cidrv4: "IPv4 опсег",
        +        cidrv6: "IPv6 опсег",
        +        base64: "base64-енкодирана низа",
        +        base64url: "base64url-енкодирана низа",
        +        json_string: "JSON низа",
        +        e164: "E.164 број",
        +        jwt: "JWT",
        +        template_literal: "внес",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "број",
        +        array: "низа",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_mk_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Грешен внес: се очекува instanceof ${issue.expected}, примено ${received}`;
        +                }
        +                return `Грешен внес: се очекува ${expected}, примено ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Invalid input: expected ${locales_mk_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Грешана опција: се очекува една ${locales_mk_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Премногу голем: се очекува ${issue.origin ?? "вредноста"} да има ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементи"}`;
        +                return `Премногу голем: се очекува ${issue.origin ?? "вредноста"} да биде ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Премногу мал: се очекува ${issue.origin} да има ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Премногу мал: се очекува ${issue.origin} да биде ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Неважечка низа: мора да започнува со "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Неважечка низа: мора да завршува со "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Неважечка низа: мора да вклучува "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Неважечка низа: мора да одгоара на патернот ${_issue.pattern}`;
        +                return `Invalid ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Грешен број: мора да биде делив со ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Непрепознаени клучеви" : "Непрепознаен клуч"}: ${locales_mk_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Грешен клуч во ${issue.origin}`;
        +            case "invalid_union":
        +                return "Грешен внес";
        +            case "invalid_element":
        +                return `Грешна вредност во ${issue.origin}`;
        +            default:
        +                return `Грешен внес`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_mk() {
        +    return {
        +        localeError: locales_mk_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ms.js
        +/* unused harmony import specifier */ var locales_ms_util;
        +
        +const locales_ms_error = () => {
        +    const Sizable = {
        +        string: { unit: "aksara", verb: "mempunyai" },
        +        file: { unit: "bait", verb: "mempunyai" },
        +        array: { unit: "elemen", verb: "mempunyai" },
        +        set: { unit: "elemen", verb: "mempunyai" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "alamat e-mel",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "tarikh masa ISO",
        +        date: "tarikh ISO",
        +        time: "masa ISO",
        +        duration: "tempoh ISO",
        +        ipv4: "alamat IPv4",
        +        ipv6: "alamat IPv6",
        +        cidrv4: "julat IPv4",
        +        cidrv6: "julat IPv6",
        +        base64: "string dikodkan base64",
        +        base64url: "string dikodkan base64url",
        +        json_string: "string JSON",
        +        e164: "nombor E.164",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nombor",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ms_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Input tidak sah: dijangka instanceof ${issue.expected}, diterima ${received}`;
        +                }
        +                return `Input tidak sah: dijangka ${expected}, diterima ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Input tidak sah: dijangka ${locales_ms_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Pilihan tidak sah: dijangka salah satu daripada ${locales_ms_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Terlalu besar: dijangka ${issue.origin ?? "nilai"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elemen"}`;
        +                return `Terlalu besar: dijangka ${issue.origin ?? "nilai"} adalah ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Terlalu kecil: dijangka ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Terlalu kecil: dijangka ${issue.origin} adalah ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `String tidak sah: mesti bermula dengan "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `String tidak sah: mesti berakhir dengan "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `String tidak sah: mesti mengandungi "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} tidak sah`;
        +            }
        +            case "not_multiple_of":
        +                return `Nombor tidak sah: perlu gandaan ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Kunci tidak dikenali: ${locales_ms_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Kunci tidak sah dalam ${issue.origin}`;
        +            case "invalid_union":
        +                return "Input tidak sah";
        +            case "invalid_element":
        +                return `Nilai tidak sah dalam ${issue.origin}`;
        +            default:
        +                return `Input tidak sah`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ms() {
        +    return {
        +        localeError: locales_ms_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/nl.js
        +/* unused harmony import specifier */ var locales_nl_util;
        +
        +const locales_nl_error = () => {
        +    const Sizable = {
        +        string: { unit: "tekens", verb: "heeft" },
        +        file: { unit: "bytes", verb: "heeft" },
        +        array: { unit: "elementen", verb: "heeft" },
        +        set: { unit: "elementen", verb: "heeft" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "invoer",
        +        email: "emailadres",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datum en tijd",
        +        date: "ISO datum",
        +        time: "ISO tijd",
        +        duration: "ISO duur",
        +        ipv4: "IPv4-adres",
        +        ipv6: "IPv6-adres",
        +        cidrv4: "IPv4-bereik",
        +        cidrv6: "IPv6-bereik",
        +        base64: "base64-gecodeerde tekst",
        +        base64url: "base64 URL-gecodeerde tekst",
        +        json_string: "JSON string",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "invoer",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "getal",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_nl_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ongeldige invoer: verwacht instanceof ${issue.expected}, ontving ${received}`;
        +                }
        +                return `Ongeldige invoer: verwacht ${expected}, ontving ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ongeldige invoer: verwacht ${locales_nl_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ongeldige optie: verwacht één van ${locales_nl_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                const longName = issue.origin === "date" ? "laat" : issue.origin === "string" ? "lang" : "groot";
        +                if (sizing)
        +                    return `Te ${longName}: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementen"} ${sizing.verb}`;
        +                return `Te ${longName}: verwacht dat ${issue.origin ?? "waarde"} ${adj}${issue.maximum.toString()} is`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                const shortName = issue.origin === "date" ? "vroeg" : issue.origin === "string" ? "kort" : "klein";
        +                if (sizing) {
        +                    return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
        +                }
        +                return `Te ${shortName}: verwacht dat ${issue.origin} ${adj}${issue.minimum.toString()} is`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Ongeldige tekst: moet met "${_issue.prefix}" beginnen`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Ongeldige tekst: moet op "${_issue.suffix}" eindigen`;
        +                if (_issue.format === "includes")
        +                    return `Ongeldige tekst: moet "${_issue.includes}" bevatten`;
        +                if (_issue.format === "regex")
        +                    return `Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;
        +                return `Ongeldig: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ongeldig getal: moet een veelvoud van ${issue.divisor} zijn`;
        +            case "unrecognized_keys":
        +                return `Onbekende key${issue.keys.length > 1 ? "s" : ""}: ${locales_nl_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ongeldige key in ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ongeldige invoer";
        +            case "invalid_element":
        +                return `Ongeldige waarde in ${issue.origin}`;
        +            default:
        +                return `Ongeldige invoer`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_nl() {
        +    return {
        +        localeError: locales_nl_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/no.js
        +/* unused harmony import specifier */ var locales_no_util;
        +
        +const locales_no_error = () => {
        +    const Sizable = {
        +        string: { unit: "tegn", verb: "å ha" },
        +        file: { unit: "bytes", verb: "å ha" },
        +        array: { unit: "elementer", verb: "å inneholde" },
        +        set: { unit: "elementer", verb: "å inneholde" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "input",
        +        email: "e-postadresse",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO dato- og klokkeslett",
        +        date: "ISO-dato",
        +        time: "ISO-klokkeslett",
        +        duration: "ISO-varighet",
        +        ipv4: "IPv4-område",
        +        ipv6: "IPv6-område",
        +        cidrv4: "IPv4-spekter",
        +        cidrv6: "IPv6-spekter",
        +        base64: "base64-enkodet streng",
        +        base64url: "base64url-enkodet streng",
        +        json_string: "JSON-streng",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "tall",
        +        array: "liste",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_no_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ugyldig input: forventet instanceof ${issue.expected}, fikk ${received}`;
        +                }
        +                return `Ugyldig input: forventet ${expected}, fikk ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ugyldig verdi: forventet ${locales_no_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ugyldig valg: forventet en av ${locales_no_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `For stor(t): forventet ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementer"}`;
        +                return `For stor(t): forventet ${issue.origin ?? "value"} til å ha ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `For lite(n): forventet ${issue.origin} til å ha ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ugyldig streng: må starte med "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Ugyldig streng: må ende med "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ugyldig streng: må inneholde "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ugyldig streng: må matche mønsteret ${_issue.pattern}`;
        +                return `Ugyldig ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ugyldig tall: må være et multiplum av ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Ukjente nøkler" : "Ukjent nøkkel"}: ${locales_no_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ugyldig nøkkel i ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ugyldig input";
        +            case "invalid_element":
        +                return `Ugyldig verdi i ${issue.origin}`;
        +            default:
        +                return `Ugyldig input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_no() {
        +    return {
        +        localeError: locales_no_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ota.js
        +/* unused harmony import specifier */ var locales_ota_util;
        +
        +const locales_ota_error = () => {
        +    const Sizable = {
        +        string: { unit: "harf", verb: "olmalıdır" },
        +        file: { unit: "bayt", verb: "olmalıdır" },
        +        array: { unit: "unsur", verb: "olmalıdır" },
        +        set: { unit: "unsur", verb: "olmalıdır" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "giren",
        +        email: "epostagâh",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO hengâmı",
        +        date: "ISO tarihi",
        +        time: "ISO zamanı",
        +        duration: "ISO müddeti",
        +        ipv4: "IPv4 nişânı",
        +        ipv6: "IPv6 nişânı",
        +        cidrv4: "IPv4 menzili",
        +        cidrv6: "IPv6 menzili",
        +        base64: "base64-şifreli metin",
        +        base64url: "base64url-şifreli metin",
        +        json_string: "JSON metin",
        +        e164: "E.164 sayısı",
        +        jwt: "JWT",
        +        template_literal: "giren",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "numara",
        +        array: "saf",
        +        null: "gayb",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ota_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Fâsit giren: umulan instanceof ${issue.expected}, alınan ${received}`;
        +                }
        +                return `Fâsit giren: umulan ${expected}, alınan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Fâsit giren: umulan ${locales_ota_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Fâsit tercih: mûteberler ${locales_ota_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elements"} sahip olmalıydı.`;
        +                return `Fazla büyük: ${issue.origin ?? "value"}, ${adj}${issue.maximum.toString()} olmalıydı.`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} ${sizing.unit} sahip olmalıydı.`;
        +                }
        +                return `Fazla küçük: ${issue.origin}, ${adj}${issue.minimum.toString()} olmalıydı.`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Fâsit metin: "${_issue.prefix}" ile başlamalı.`;
        +                if (_issue.format === "ends_with")
        +                    return `Fâsit metin: "${_issue.suffix}" ile bitmeli.`;
        +                if (_issue.format === "includes")
        +                    return `Fâsit metin: "${_issue.includes}" ihtivâ etmeli.`;
        +                if (_issue.format === "regex")
        +                    return `Fâsit metin: ${_issue.pattern} nakşına uymalı.`;
        +                return `Fâsit ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Fâsit sayı: ${issue.divisor} katı olmalıydı.`;
        +            case "unrecognized_keys":
        +                return `Tanınmayan anahtar ${issue.keys.length > 1 ? "s" : ""}: ${locales_ota_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} için tanınmayan anahtar var.`;
        +            case "invalid_union":
        +                return "Giren tanınamadı.";
        +            case "invalid_element":
        +                return `${issue.origin} için tanınmayan kıymet var.`;
        +            default:
        +                return `Kıymet tanınamadı.`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ota() {
        +    return {
        +        localeError: locales_ota_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ps.js
        +/* unused harmony import specifier */ var locales_ps_util;
        +
        +const locales_ps_error = () => {
        +    const Sizable = {
        +        string: { unit: "توکي", verb: "ولري" },
        +        file: { unit: "بایټس", verb: "ولري" },
        +        array: { unit: "توکي", verb: "ولري" },
        +        set: { unit: "توکي", verb: "ولري" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ورودي",
        +        email: "بریښنالیک",
        +        url: "یو آر ال",
        +        emoji: "ایموجي",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "نیټه او وخت",
        +        date: "نېټه",
        +        time: "وخت",
        +        duration: "موده",
        +        ipv4: "د IPv4 پته",
        +        ipv6: "د IPv6 پته",
        +        cidrv4: "د IPv4 ساحه",
        +        cidrv6: "د IPv6 ساحه",
        +        base64: "base64-encoded متن",
        +        base64url: "base64url-encoded متن",
        +        json_string: "JSON متن",
        +        e164: "د E.164 شمېره",
        +        jwt: "JWT",
        +        template_literal: "ورودي",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "عدد",
        +        array: "ارې",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ps_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ناسم ورودي: باید instanceof ${issue.expected} وای, مګر ${received} ترلاسه شو`;
        +                }
        +                return `ناسم ورودي: باید ${expected} وای, مګر ${received} ترلاسه شو`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1) {
        +                    return `ناسم ورودي: باید ${locales_ps_util.stringifyPrimitive(issue.values[0])} وای`;
        +                }
        +                return `ناسم انتخاب: باید یو له ${locales_ps_util.joinValues(issue.values, "|")} څخه وای`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `ډیر لوی: ${issue.origin ?? "ارزښت"} باید ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عنصرونه"} ولري`;
        +                }
        +                return `ډیر لوی: ${issue.origin ?? "ارزښت"} باید ${adj}${issue.maximum.toString()} وي`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} ${sizing.unit} ولري`;
        +                }
        +                return `ډیر کوچنی: ${issue.origin} باید ${adj}${issue.minimum.toString()} وي`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `ناسم متن: باید د "${_issue.prefix}" سره پیل شي`;
        +                }
        +                if (_issue.format === "ends_with") {
        +                    return `ناسم متن: باید د "${_issue.suffix}" سره پای ته ورسيږي`;
        +                }
        +                if (_issue.format === "includes") {
        +                    return `ناسم متن: باید "${_issue.includes}" ولري`;
        +                }
        +                if (_issue.format === "regex") {
        +                    return `ناسم متن: باید د ${_issue.pattern} سره مطابقت ولري`;
        +                }
        +                return `${FormatDictionary[_issue.format] ?? issue.format} ناسم دی`;
        +            }
        +            case "not_multiple_of":
        +                return `ناسم عدد: باید د ${issue.divisor} مضرب وي`;
        +            case "unrecognized_keys":
        +                return `ناسم ${issue.keys.length > 1 ? "کلیډونه" : "کلیډ"}: ${locales_ps_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `ناسم کلیډ په ${issue.origin} کې`;
        +            case "invalid_union":
        +                return `ناسمه ورودي`;
        +            case "invalid_element":
        +                return `ناسم عنصر په ${issue.origin} کې`;
        +            default:
        +                return `ناسمه ورودي`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ps() {
        +    return {
        +        localeError: locales_ps_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/pl.js
        +/* unused harmony import specifier */ var locales_pl_util;
        +
        +const locales_pl_error = () => {
        +    const Sizable = {
        +        string: { unit: "znaków", verb: "mieć" },
        +        file: { unit: "bajtów", verb: "mieć" },
        +        array: { unit: "elementów", verb: "mieć" },
        +        set: { unit: "elementów", verb: "mieć" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "wyrażenie",
        +        email: "adres email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data i godzina w formacie ISO",
        +        date: "data w formacie ISO",
        +        time: "godzina w formacie ISO",
        +        duration: "czas trwania ISO",
        +        ipv4: "adres IPv4",
        +        ipv6: "adres IPv6",
        +        cidrv4: "zakres IPv4",
        +        cidrv6: "zakres IPv6",
        +        base64: "ciąg znaków zakodowany w formacie base64",
        +        base64url: "ciąg znaków zakodowany w formacie base64url",
        +        json_string: "ciąg znaków w formacie JSON",
        +        e164: "liczba E.164",
        +        jwt: "JWT",
        +        template_literal: "wejście",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "liczba",
        +        array: "tablica",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_pl_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Nieprawidłowe dane wejściowe: oczekiwano instanceof ${issue.expected}, otrzymano ${received}`;
        +                }
        +                return `Nieprawidłowe dane wejściowe: oczekiwano ${expected}, otrzymano ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Nieprawidłowe dane wejściowe: oczekiwano ${locales_pl_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Nieprawidłowa opcja: oczekiwano jednej z wartości ${locales_pl_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Za duża wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementów"}`;
        +                }
        +                return `Zbyt duż(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Za mała wartość: oczekiwano, że ${issue.origin ?? "wartość"} będzie mieć ${adj}${issue.minimum.toString()} ${sizing.unit ?? "elementów"}`;
        +                }
        +                return `Zbyt mał(y/a/e): oczekiwano, że ${issue.origin ?? "wartość"} będzie wynosić ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Nieprawidłowy ciąg znaków: musi zaczynać się od "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Nieprawidłowy ciąg znaków: musi kończyć się na "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Nieprawidłowy ciąg znaków: musi zawierać "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${_issue.pattern}`;
        +                return `Nieprawidłow(y/a/e) ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Nieprawidłowa liczba: musi być wielokrotnością ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Nierozpoznane klucze${issue.keys.length > 1 ? "s" : ""}: ${locales_pl_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Nieprawidłowy klucz w ${issue.origin}`;
        +            case "invalid_union":
        +                return "Nieprawidłowe dane wejściowe";
        +            case "invalid_element":
        +                return `Nieprawidłowa wartość w ${issue.origin}`;
        +            default:
        +                return `Nieprawidłowe dane wejściowe`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_pl() {
        +    return {
        +        localeError: locales_pl_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/pt.js
        +/* unused harmony import specifier */ var locales_pt_util;
        +
        +const locales_pt_error = () => {
        +    const Sizable = {
        +        string: { unit: "caracteres", verb: "ter" },
        +        file: { unit: "bytes", verb: "ter" },
        +        array: { unit: "itens", verb: "ter" },
        +        set: { unit: "itens", verb: "ter" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "padrão",
        +        email: "endereço de e-mail",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "data e hora ISO",
        +        date: "data ISO",
        +        time: "hora ISO",
        +        duration: "duração ISO",
        +        ipv4: "endereço IPv4",
        +        ipv6: "endereço IPv6",
        +        cidrv4: "faixa de IPv4",
        +        cidrv6: "faixa de IPv6",
        +        base64: "texto codificado em base64",
        +        base64url: "URL codificada em base64",
        +        json_string: "texto JSON",
        +        e164: "número E.164",
        +        jwt: "JWT",
        +        template_literal: "entrada",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "número",
        +        null: "nulo",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_pt_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Tipo inválido: esperado instanceof ${issue.expected}, recebido ${received}`;
        +                }
        +                return `Tipo inválido: esperado ${expected}, recebido ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Entrada inválida: esperado ${locales_pt_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Opção inválida: esperada uma das ${locales_pt_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Muito grande: esperado que ${issue.origin ?? "valor"} tivesse ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementos"}`;
        +                return `Muito grande: esperado que ${issue.origin ?? "valor"} fosse ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Muito pequeno: esperado que ${issue.origin} tivesse ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Muito pequeno: esperado que ${issue.origin} fosse ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Texto inválido: deve começar com "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Texto inválido: deve terminar com "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Texto inválido: deve incluir "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Texto inválido: deve corresponder ao padrão ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} inválido`;
        +            }
        +            case "not_multiple_of":
        +                return `Número inválido: deve ser múltiplo de ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Chave${issue.keys.length > 1 ? "s" : ""} desconhecida${issue.keys.length > 1 ? "s" : ""}: ${locales_pt_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Chave inválida em ${issue.origin}`;
        +            case "invalid_union":
        +                return "Entrada inválida";
        +            case "invalid_element":
        +                return `Valor inválido em ${issue.origin}`;
        +            default:
        +                return `Campo inválido`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_pt() {
        +    return {
        +        localeError: locales_pt_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ru.js
        +/* unused harmony import specifier */ var locales_ru_util;
        +
        +function ru_getRussianPlural(count, one, few, many) {
        +    const absCount = Math.abs(count);
        +    const lastDigit = absCount % 10;
        +    const lastTwoDigits = absCount % 100;
        +    if (lastTwoDigits >= 11 && lastTwoDigits <= 19) {
        +        return many;
        +    }
        +    if (lastDigit === 1) {
        +        return one;
        +    }
        +    if (lastDigit >= 2 && lastDigit <= 4) {
        +        return few;
        +    }
        +    return many;
        +}
        +const locales_ru_error = () => {
        +    const Sizable = {
        +        string: {
        +            unit: {
        +                one: "символ",
        +                few: "символа",
        +                many: "символов",
        +            },
        +            verb: "иметь",
        +        },
        +        file: {
        +            unit: {
        +                one: "байт",
        +                few: "байта",
        +                many: "байт",
        +            },
        +            verb: "иметь",
        +        },
        +        array: {
        +            unit: {
        +                one: "элемент",
        +                few: "элемента",
        +                many: "элементов",
        +            },
        +            verb: "иметь",
        +        },
        +        set: {
        +            unit: {
        +                one: "элемент",
        +                few: "элемента",
        +                many: "элементов",
        +            },
        +            verb: "иметь",
        +        },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ввод",
        +        email: "email адрес",
        +        url: "URL",
        +        emoji: "эмодзи",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO дата и время",
        +        date: "ISO дата",
        +        time: "ISO время",
        +        duration: "ISO длительность",
        +        ipv4: "IPv4 адрес",
        +        ipv6: "IPv6 адрес",
        +        cidrv4: "IPv4 диапазон",
        +        cidrv6: "IPv6 диапазон",
        +        base64: "строка в формате base64",
        +        base64url: "строка в формате base64url",
        +        json_string: "JSON строка",
        +        e164: "номер E.164",
        +        jwt: "JWT",
        +        template_literal: "ввод",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "число",
        +        array: "массив",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ru_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Неверный ввод: ожидалось instanceof ${issue.expected}, получено ${received}`;
        +                }
        +                return `Неверный ввод: ожидалось ${expected}, получено ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Неверный ввод: ожидалось ${locales_ru_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Неверный вариант: ожидалось одно из ${locales_ru_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const maxValue = Number(issue.maximum);
        +                    const unit = ru_getRussianPlural(maxValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Слишком большое значение: ожидалось, что ${issue.origin ?? "значение"} будет иметь ${adj}${issue.maximum.toString()} ${unit}`;
        +                }
        +                return `Слишком большое значение: ожидалось, что ${issue.origin ?? "значение"} будет ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    const minValue = Number(issue.minimum);
        +                    const unit = ru_getRussianPlural(minValue, sizing.unit.one, sizing.unit.few, sizing.unit.many);
        +                    return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет иметь ${adj}${issue.minimum.toString()} ${unit}`;
        +                }
        +                return `Слишком маленькое значение: ожидалось, что ${issue.origin} будет ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Неверная строка: должна начинаться с "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Неверная строка: должна заканчиваться на "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Неверная строка: должна содержать "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Неверная строка: должна соответствовать шаблону ${_issue.pattern}`;
        +                return `Неверный ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Неверное число: должно быть кратным ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Нераспознанн${issue.keys.length > 1 ? "ые" : "ый"} ключ${issue.keys.length > 1 ? "и" : ""}: ${locales_ru_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Неверный ключ в ${issue.origin}`;
        +            case "invalid_union":
        +                return "Неверные входные данные";
        +            case "invalid_element":
        +                return `Неверное значение в ${issue.origin}`;
        +            default:
        +                return `Неверные входные данные`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ru() {
        +    return {
        +        localeError: locales_ru_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/sl.js
        +/* unused harmony import specifier */ var locales_sl_util;
        +
        +const locales_sl_error = () => {
        +    const Sizable = {
        +        string: { unit: "znakov", verb: "imeti" },
        +        file: { unit: "bajtov", verb: "imeti" },
        +        array: { unit: "elementov", verb: "imeti" },
        +        set: { unit: "elementov", verb: "imeti" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "vnos",
        +        email: "e-poštni naslov",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO datum in čas",
        +        date: "ISO datum",
        +        time: "ISO čas",
        +        duration: "ISO trajanje",
        +        ipv4: "IPv4 naslov",
        +        ipv6: "IPv6 naslov",
        +        cidrv4: "obseg IPv4",
        +        cidrv6: "obseg IPv6",
        +        base64: "base64 kodiran niz",
        +        base64url: "base64url kodiran niz",
        +        json_string: "JSON niz",
        +        e164: "E.164 številka",
        +        jwt: "JWT",
        +        template_literal: "vnos",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "število",
        +        array: "tabela",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_sl_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Neveljaven vnos: pričakovano instanceof ${issue.expected}, prejeto ${received}`;
        +                }
        +                return `Neveljaven vnos: pričakovano ${expected}, prejeto ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Neveljaven vnos: pričakovano ${locales_sl_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Neveljavna možnost: pričakovano eno izmed ${locales_sl_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Preveliko: pričakovano, da bo ${issue.origin ?? "vrednost"} imelo ${adj}${issue.maximum.toString()} ${sizing.unit ?? "elementov"}`;
        +                return `Preveliko: pričakovano, da bo ${issue.origin ?? "vrednost"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Premajhno: pričakovano, da bo ${issue.origin} imelo ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Premajhno: pričakovano, da bo ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Neveljaven niz: mora se začeti z "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Neveljaven niz: mora se končati z "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Neveljaven niz: mora vsebovati "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;
        +                return `Neveljaven ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Neveljavno število: mora biti večkratnik ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Neprepoznan${issue.keys.length > 1 ? "i ključi" : " ključ"}: ${locales_sl_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Neveljaven ključ v ${issue.origin}`;
        +            case "invalid_union":
        +                return "Neveljaven vnos";
        +            case "invalid_element":
        +                return `Neveljavna vrednost v ${issue.origin}`;
        +            default:
        +                return "Neveljaven vnos";
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_sl() {
        +    return {
        +        localeError: locales_sl_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/sv.js
        +/* unused harmony import specifier */ var locales_sv_util;
        +
        +const locales_sv_error = () => {
        +    const Sizable = {
        +        string: { unit: "tecken", verb: "att ha" },
        +        file: { unit: "bytes", verb: "att ha" },
        +        array: { unit: "objekt", verb: "att innehålla" },
        +        set: { unit: "objekt", verb: "att innehålla" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "reguljärt uttryck",
        +        email: "e-postadress",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO-datum och tid",
        +        date: "ISO-datum",
        +        time: "ISO-tid",
        +        duration: "ISO-varaktighet",
        +        ipv4: "IPv4-intervall",
        +        ipv6: "IPv6-intervall",
        +        cidrv4: "IPv4-spektrum",
        +        cidrv6: "IPv6-spektrum",
        +        base64: "base64-kodad sträng",
        +        base64url: "base64url-kodad sträng",
        +        json_string: "JSON-sträng",
        +        e164: "E.164-nummer",
        +        jwt: "JWT",
        +        template_literal: "mall-literal",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "antal",
        +        array: "lista",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_sv_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ogiltig inmatning: förväntat instanceof ${issue.expected}, fick ${received}`;
        +                }
        +                return `Ogiltig inmatning: förväntat ${expected}, fick ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ogiltig inmatning: förväntat ${locales_sv_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Ogiltigt val: förväntade en av ${locales_sv_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `För stor(t): förväntade ${issue.origin ?? "värdet"} att ha ${adj}${issue.maximum.toString()} ${sizing.unit ?? "element"}`;
        +                }
        +                return `För stor(t): förväntat ${issue.origin ?? "värdet"} att ha ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `För lite(t): förväntade ${issue.origin ?? "värdet"} att ha ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `För lite(t): förväntade ${issue.origin ?? "värdet"} att ha ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `Ogiltig sträng: måste börja med "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `Ogiltig sträng: måste sluta med "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ogiltig sträng: måste innehålla "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ogiltig sträng: måste matcha mönstret "${_issue.pattern}"`;
        +                return `Ogiltig(t) ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Ogiltigt tal: måste vara en multipel av ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `${issue.keys.length > 1 ? "Okända nycklar" : "Okänd nyckel"}: ${locales_sv_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Ogiltig nyckel i ${issue.origin ?? "värdet"}`;
        +            case "invalid_union":
        +                return "Ogiltig input";
        +            case "invalid_element":
        +                return `Ogiltigt värde i ${issue.origin ?? "värdet"}`;
        +            default:
        +                return `Ogiltig input`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_sv() {
        +    return {
        +        localeError: locales_sv_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ta.js
        +/* unused harmony import specifier */ var locales_ta_util;
        +
        +const locales_ta_error = () => {
        +    const Sizable = {
        +        string: { unit: "எழுத்துக்கள்", verb: "கொண்டிருக்க வேண்டும்" },
        +        file: { unit: "பைட்டுகள்", verb: "கொண்டிருக்க வேண்டும்" },
        +        array: { unit: "உறுப்புகள்", verb: "கொண்டிருக்க வேண்டும்" },
        +        set: { unit: "உறுப்புகள்", verb: "கொண்டிருக்க வேண்டும்" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "உள்ளீடு",
        +        email: "மின்னஞ்சல் முகவரி",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO தேதி நேரம்",
        +        date: "ISO தேதி",
        +        time: "ISO நேரம்",
        +        duration: "ISO கால அளவு",
        +        ipv4: "IPv4 முகவரி",
        +        ipv6: "IPv6 முகவரி",
        +        cidrv4: "IPv4 வரம்பு",
        +        cidrv6: "IPv6 வரம்பு",
        +        base64: "base64-encoded சரம்",
        +        base64url: "base64url-encoded சரம்",
        +        json_string: "JSON சரம்",
        +        e164: "E.164 எண்",
        +        jwt: "JWT",
        +        template_literal: "input",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "எண்",
        +        array: "அணி",
        +        null: "வெறுமை",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ta_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${issue.expected}, பெறப்பட்டது ${received}`;
        +                }
        +                return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${expected}, பெறப்பட்டது ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${locales_ta_util.stringifyPrimitive(issue.values[0])}`;
        +                return `தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${locales_ta_util.joinValues(issue.values, "|")} இல் ஒன்று`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue.origin ?? "மதிப்பு"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "உறுப்புகள்"} ஆக இருக்க வேண்டும்`;
        +                }
        +                return `மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue.origin ?? "மதிப்பு"} ${adj}${issue.maximum.toString()} ஆக இருக்க வேண்டும்`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ஆக இருக்க வேண்டும்`; //
        +                }
        +                return `மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue.origin} ${adj}${issue.minimum.toString()} ஆக இருக்க வேண்டும்`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `தவறான சரம்: "${_issue.prefix}" இல் தொடங்க வேண்டும்`;
        +                if (_issue.format === "ends_with")
        +                    return `தவறான சரம்: "${_issue.suffix}" இல் முடிவடைய வேண்டும்`;
        +                if (_issue.format === "includes")
        +                    return `தவறான சரம்: "${_issue.includes}" ஐ உள்ளடக்க வேண்டும்`;
        +                if (_issue.format === "regex")
        +                    return `தவறான சரம்: ${_issue.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;
        +                return `தவறான ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `தவறான எண்: ${issue.divisor} இன் பலமாக இருக்க வேண்டும்`;
        +            case "unrecognized_keys":
        +                return `அடையாளம் தெரியாத விசை${issue.keys.length > 1 ? "கள்" : ""}: ${locales_ta_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} இல் தவறான விசை`;
        +            case "invalid_union":
        +                return "தவறான உள்ளீடு";
        +            case "invalid_element":
        +                return `${issue.origin} இல் தவறான மதிப்பு`;
        +            default:
        +                return `தவறான உள்ளீடு`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ta() {
        +    return {
        +        localeError: locales_ta_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/th.js
        +/* unused harmony import specifier */ var locales_th_util;
        +
        +const locales_th_error = () => {
        +    const Sizable = {
        +        string: { unit: "ตัวอักษร", verb: "ควรมี" },
        +        file: { unit: "ไบต์", verb: "ควรมี" },
        +        array: { unit: "รายการ", verb: "ควรมี" },
        +        set: { unit: "รายการ", verb: "ควรมี" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ข้อมูลที่ป้อน",
        +        email: "ที่อยู่อีเมล",
        +        url: "URL",
        +        emoji: "อิโมจิ",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "วันที่เวลาแบบ ISO",
        +        date: "วันที่แบบ ISO",
        +        time: "เวลาแบบ ISO",
        +        duration: "ช่วงเวลาแบบ ISO",
        +        ipv4: "ที่อยู่ IPv4",
        +        ipv6: "ที่อยู่ IPv6",
        +        cidrv4: "ช่วง IP แบบ IPv4",
        +        cidrv6: "ช่วง IP แบบ IPv6",
        +        base64: "ข้อความแบบ Base64",
        +        base64url: "ข้อความแบบ Base64 สำหรับ URL",
        +        json_string: "ข้อความแบบ JSON",
        +        e164: "เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",
        +        jwt: "โทเคน JWT",
        +        template_literal: "ข้อมูลที่ป้อน",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "ตัวเลข",
        +        array: "อาร์เรย์ (Array)",
        +        null: "ไม่มีค่า (null)",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_th_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${issue.expected} แต่ได้รับ ${received}`;
        +                }
        +                return `ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${expected} แต่ได้รับ ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `ค่าไม่ถูกต้อง: ควรเป็น ${locales_th_util.stringifyPrimitive(issue.values[0])}`;
        +                return `ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${locales_th_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "ไม่เกิน" : "น้อยกว่า";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `เกินกำหนด: ${issue.origin ?? "ค่า"} ควรมี${adj} ${issue.maximum.toString()} ${sizing.unit ?? "รายการ"}`;
        +                return `เกินกำหนด: ${issue.origin ?? "ค่า"} ควรมี${adj} ${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? "อย่างน้อย" : "มากกว่า";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `น้อยกว่ากำหนด: ${issue.origin} ควรมี${adj} ${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${_issue.prefix}"`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${_issue.includes}" อยู่ในข้อความ`;
        +                if (_issue.format === "regex")
        +                    return `รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${_issue.pattern}`;
        +                return `รูปแบบไม่ถูกต้อง: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${issue.divisor} ได้ลงตัว`;
        +            case "unrecognized_keys":
        +                return `พบคีย์ที่ไม่รู้จัก: ${locales_th_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `คีย์ไม่ถูกต้องใน ${issue.origin}`;
        +            case "invalid_union":
        +                return "ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";
        +            case "invalid_element":
        +                return `ข้อมูลไม่ถูกต้องใน ${issue.origin}`;
        +            default:
        +                return `ข้อมูลไม่ถูกต้อง`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_th() {
        +    return {
        +        localeError: locales_th_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/tr.js
        +/* unused harmony import specifier */ var locales_tr_util;
        +
        +const locales_tr_error = () => {
        +    const Sizable = {
        +        string: { unit: "karakter", verb: "olmalı" },
        +        file: { unit: "bayt", verb: "olmalı" },
        +        array: { unit: "öğe", verb: "olmalı" },
        +        set: { unit: "öğe", verb: "olmalı" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "girdi",
        +        email: "e-posta adresi",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO tarih ve saat",
        +        date: "ISO tarih",
        +        time: "ISO saat",
        +        duration: "ISO süre",
        +        ipv4: "IPv4 adresi",
        +        ipv6: "IPv6 adresi",
        +        cidrv4: "IPv4 aralığı",
        +        cidrv6: "IPv6 aralığı",
        +        base64: "base64 ile şifrelenmiş metin",
        +        base64url: "base64url ile şifrelenmiş metin",
        +        json_string: "JSON dizesi",
        +        e164: "E.164 sayısı",
        +        jwt: "JWT",
        +        template_literal: "Şablon dizesi",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_tr_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Geçersiz değer: beklenen instanceof ${issue.expected}, alınan ${received}`;
        +                }
        +                return `Geçersiz değer: beklenen ${expected}, alınan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Geçersiz değer: beklenen ${locales_tr_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Geçersiz seçenek: aşağıdakilerden biri olmalı: ${locales_tr_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çok büyük: beklenen ${issue.origin ?? "değer"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "öğe"}`;
        +                return `Çok büyük: beklenen ${issue.origin ?? "değer"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                return `Çok küçük: beklenen ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Geçersiz metin: "${_issue.prefix}" ile başlamalı`;
        +                if (_issue.format === "ends_with")
        +                    return `Geçersiz metin: "${_issue.suffix}" ile bitmeli`;
        +                if (_issue.format === "includes")
        +                    return `Geçersiz metin: "${_issue.includes}" içermeli`;
        +                if (_issue.format === "regex")
        +                    return `Geçersiz metin: ${_issue.pattern} desenine uymalı`;
        +                return `Geçersiz ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Geçersiz sayı: ${issue.divisor} ile tam bölünebilmeli`;
        +            case "unrecognized_keys":
        +                return `Tanınmayan anahtar${issue.keys.length > 1 ? "lar" : ""}: ${locales_tr_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} içinde geçersiz anahtar`;
        +            case "invalid_union":
        +                return "Geçersiz değer";
        +            case "invalid_element":
        +                return `${issue.origin} içinde geçersiz değer`;
        +            default:
        +                return `Geçersiz değer`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_tr() {
        +    return {
        +        localeError: locales_tr_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/uk.js
        +/* unused harmony import specifier */ var locales_uk_util;
        +
        +const locales_uk_error = () => {
        +    const Sizable = {
        +        string: { unit: "символів", verb: "матиме" },
        +        file: { unit: "байтів", verb: "матиме" },
        +        array: { unit: "елементів", verb: "матиме" },
        +        set: { unit: "елементів", verb: "матиме" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "вхідні дані",
        +        email: "адреса електронної пошти",
        +        url: "URL",
        +        emoji: "емодзі",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "дата та час ISO",
        +        date: "дата ISO",
        +        time: "час ISO",
        +        duration: "тривалість ISO",
        +        ipv4: "адреса IPv4",
        +        ipv6: "адреса IPv6",
        +        cidrv4: "діапазон IPv4",
        +        cidrv6: "діапазон IPv6",
        +        base64: "рядок у кодуванні base64",
        +        base64url: "рядок у кодуванні base64url",
        +        json_string: "рядок JSON",
        +        e164: "номер E.164",
        +        jwt: "JWT",
        +        template_literal: "вхідні дані",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "число",
        +        array: "масив",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_uk_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Неправильні вхідні дані: очікується instanceof ${issue.expected}, отримано ${received}`;
        +                }
        +                return `Неправильні вхідні дані: очікується ${expected}, отримано ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Неправильні вхідні дані: очікується ${locales_uk_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Неправильна опція: очікується одне з ${locales_uk_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Занадто велике: очікується, що ${issue.origin ?? "значення"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "елементів"}`;
        +                return `Занадто велике: очікується, що ${issue.origin ?? "значення"} буде ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Занадто мале: очікується, що ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Занадто мале: очікується, що ${issue.origin} буде ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Неправильний рядок: повинен починатися з "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Неправильний рядок: повинен містити "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;
        +                return `Неправильний ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Неправильне число: повинно бути кратним ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Нерозпізнаний ключ${issue.keys.length > 1 ? "і" : ""}: ${locales_uk_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Неправильний ключ у ${issue.origin}`;
        +            case "invalid_union":
        +                return "Неправильні вхідні дані";
        +            case "invalid_element":
        +                return `Неправильне значення у ${issue.origin}`;
        +            default:
        +                return `Неправильні вхідні дані`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_uk() {
        +    return {
        +        localeError: locales_uk_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/ua.js
        +/* unused harmony import specifier */ var locales_ua_uk;
        +
        +/** @deprecated Use `uk` instead. */
        +/* harmony default export */ function locales_ua() {
        +    return locales_ua_uk();
        +}
        +
        +;// ./node_modules/zod/v4/locales/ur.js
        +/* unused harmony import specifier */ var locales_ur_util;
        +
        +const locales_ur_error = () => {
        +    const Sizable = {
        +        string: { unit: "حروف", verb: "ہونا" },
        +        file: { unit: "بائٹس", verb: "ہونا" },
        +        array: { unit: "آئٹمز", verb: "ہونا" },
        +        set: { unit: "آئٹمز", verb: "ہونا" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ان پٹ",
        +        email: "ای میل ایڈریس",
        +        url: "یو آر ایل",
        +        emoji: "ایموجی",
        +        uuid: "یو یو آئی ڈی",
        +        uuidv4: "یو یو آئی ڈی وی 4",
        +        uuidv6: "یو یو آئی ڈی وی 6",
        +        nanoid: "نینو آئی ڈی",
        +        guid: "جی یو آئی ڈی",
        +        cuid: "سی یو آئی ڈی",
        +        cuid2: "سی یو آئی ڈی 2",
        +        ulid: "یو ایل آئی ڈی",
        +        xid: "ایکس آئی ڈی",
        +        ksuid: "کے ایس یو آئی ڈی",
        +        datetime: "آئی ایس او ڈیٹ ٹائم",
        +        date: "آئی ایس او تاریخ",
        +        time: "آئی ایس او وقت",
        +        duration: "آئی ایس او مدت",
        +        ipv4: "آئی پی وی 4 ایڈریس",
        +        ipv6: "آئی پی وی 6 ایڈریس",
        +        cidrv4: "آئی پی وی 4 رینج",
        +        cidrv6: "آئی پی وی 6 رینج",
        +        base64: "بیس 64 ان کوڈڈ سٹرنگ",
        +        base64url: "بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",
        +        json_string: "جے ایس او این سٹرنگ",
        +        e164: "ای 164 نمبر",
        +        jwt: "جے ڈبلیو ٹی",
        +        template_literal: "ان پٹ",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "نمبر",
        +        array: "آرے",
        +        null: "نل",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_ur_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `غلط ان پٹ: instanceof ${issue.expected} متوقع تھا، ${received} موصول ہوا`;
        +                }
        +                return `غلط ان پٹ: ${expected} متوقع تھا، ${received} موصول ہوا`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `غلط ان پٹ: ${locales_ur_util.stringifyPrimitive(issue.values[0])} متوقع تھا`;
        +                return `غلط آپشن: ${locales_ur_util.joinValues(issue.values, "|")} میں سے ایک متوقع تھا`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `بہت بڑا: ${issue.origin ?? "ویلیو"} کے ${adj}${issue.maximum.toString()} ${sizing.unit ?? "عناصر"} ہونے متوقع تھے`;
        +                return `بہت بڑا: ${issue.origin ?? "ویلیو"} کا ${adj}${issue.maximum.toString()} ہونا متوقع تھا`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `بہت چھوٹا: ${issue.origin} کے ${adj}${issue.minimum.toString()} ${sizing.unit} ہونے متوقع تھے`;
        +                }
        +                return `بہت چھوٹا: ${issue.origin} کا ${adj}${issue.minimum.toString()} ہونا متوقع تھا`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `غلط سٹرنگ: "${_issue.prefix}" سے شروع ہونا چاہیے`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `غلط سٹرنگ: "${_issue.suffix}" پر ختم ہونا چاہیے`;
        +                if (_issue.format === "includes")
        +                    return `غلط سٹرنگ: "${_issue.includes}" شامل ہونا چاہیے`;
        +                if (_issue.format === "regex")
        +                    return `غلط سٹرنگ: پیٹرن ${_issue.pattern} سے میچ ہونا چاہیے`;
        +                return `غلط ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `غلط نمبر: ${issue.divisor} کا مضاعف ہونا چاہیے`;
        +            case "unrecognized_keys":
        +                return `غیر تسلیم شدہ کی${issue.keys.length > 1 ? "ز" : ""}: ${locales_ur_util.joinValues(issue.keys, "، ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} میں غلط کی`;
        +            case "invalid_union":
        +                return "غلط ان پٹ";
        +            case "invalid_element":
        +                return `${issue.origin} میں غلط ویلیو`;
        +            default:
        +                return `غلط ان پٹ`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_ur() {
        +    return {
        +        localeError: locales_ur_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/uz.js
        +/* unused harmony import specifier */ var locales_uz_util;
        +
        +const locales_uz_error = () => {
        +    const Sizable = {
        +        string: { unit: "belgi", verb: "bo‘lishi kerak" },
        +        file: { unit: "bayt", verb: "bo‘lishi kerak" },
        +        array: { unit: "element", verb: "bo‘lishi kerak" },
        +        set: { unit: "element", verb: "bo‘lishi kerak" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "kirish",
        +        email: "elektron pochta manzili",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO sana va vaqti",
        +        date: "ISO sana",
        +        time: "ISO vaqt",
        +        duration: "ISO davomiylik",
        +        ipv4: "IPv4 manzil",
        +        ipv6: "IPv6 manzil",
        +        mac: "MAC manzil",
        +        cidrv4: "IPv4 diapazon",
        +        cidrv6: "IPv6 diapazon",
        +        base64: "base64 kodlangan satr",
        +        base64url: "base64url kodlangan satr",
        +        json_string: "JSON satr",
        +        e164: "E.164 raqam",
        +        jwt: "JWT",
        +        template_literal: "kirish",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "raqam",
        +        array: "massiv",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_uz_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Noto‘g‘ri kirish: kutilgan instanceof ${issue.expected}, qabul qilingan ${received}`;
        +                }
        +                return `Noto‘g‘ri kirish: kutilgan ${expected}, qabul qilingan ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Noto‘g‘ri kirish: kutilgan ${locales_uz_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Noto‘g‘ri variant: quyidagilardan biri kutilgan ${locales_uz_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Juda katta: kutilgan ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()} ${sizing.unit} ${sizing.verb}`;
        +                return `Juda katta: kutilgan ${issue.origin ?? "qiymat"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit} ${sizing.verb}`;
        +                }
        +                return `Juda kichik: kutilgan ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Noto‘g‘ri satr: "${_issue.prefix}" bilan boshlanishi kerak`;
        +                if (_issue.format === "ends_with")
        +                    return `Noto‘g‘ri satr: "${_issue.suffix}" bilan tugashi kerak`;
        +                if (_issue.format === "includes")
        +                    return `Noto‘g‘ri satr: "${_issue.includes}" ni o‘z ichiga olishi kerak`;
        +                if (_issue.format === "regex")
        +                    return `Noto‘g‘ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;
        +                return `Noto‘g‘ri ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Noto‘g‘ri raqam: ${issue.divisor} ning karralisi bo‘lishi kerak`;
        +            case "unrecognized_keys":
        +                return `Noma’lum kalit${issue.keys.length > 1 ? "lar" : ""}: ${locales_uz_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} dagi kalit noto‘g‘ri`;
        +            case "invalid_union":
        +                return "Noto‘g‘ri kirish";
        +            case "invalid_element":
        +                return `${issue.origin} da noto‘g‘ri qiymat`;
        +            default:
        +                return `Noto‘g‘ri kirish`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_uz() {
        +    return {
        +        localeError: locales_uz_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/vi.js
        +/* unused harmony import specifier */ var locales_vi_util;
        +
        +const locales_vi_error = () => {
        +    const Sizable = {
        +        string: { unit: "ký tự", verb: "có" },
        +        file: { unit: "byte", verb: "có" },
        +        array: { unit: "phần tử", verb: "có" },
        +        set: { unit: "phần tử", verb: "có" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "đầu vào",
        +        email: "địa chỉ email",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ngày giờ ISO",
        +        date: "ngày ISO",
        +        time: "giờ ISO",
        +        duration: "khoảng thời gian ISO",
        +        ipv4: "địa chỉ IPv4",
        +        ipv6: "địa chỉ IPv6",
        +        cidrv4: "dải IPv4",
        +        cidrv6: "dải IPv6",
        +        base64: "chuỗi mã hóa base64",
        +        base64url: "chuỗi mã hóa base64url",
        +        json_string: "chuỗi JSON",
        +        e164: "số E.164",
        +        jwt: "JWT",
        +        template_literal: "đầu vào",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "số",
        +        array: "mảng",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_vi_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Đầu vào không hợp lệ: mong đợi instanceof ${issue.expected}, nhận được ${received}`;
        +                }
        +                return `Đầu vào không hợp lệ: mong đợi ${expected}, nhận được ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Đầu vào không hợp lệ: mong đợi ${locales_vi_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${locales_vi_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Quá lớn: mong đợi ${issue.origin ?? "giá trị"} ${sizing.verb} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "phần tử"}`;
        +                return `Quá lớn: mong đợi ${issue.origin ?? "giá trị"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `Quá nhỏ: mong đợi ${issue.origin} ${sizing.verb} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `Quá nhỏ: mong đợi ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Chuỗi không hợp lệ: phải bắt đầu bằng "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Chuỗi không hợp lệ: phải kết thúc bằng "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Chuỗi không hợp lệ: phải bao gồm "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Chuỗi không hợp lệ: phải khớp với mẫu ${_issue.pattern}`;
        +                return `${FormatDictionary[_issue.format] ?? issue.format} không hợp lệ`;
        +            }
        +            case "not_multiple_of":
        +                return `Số không hợp lệ: phải là bội số của ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Khóa không được nhận dạng: ${locales_vi_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Khóa không hợp lệ trong ${issue.origin}`;
        +            case "invalid_union":
        +                return "Đầu vào không hợp lệ";
        +            case "invalid_element":
        +                return `Giá trị không hợp lệ trong ${issue.origin}`;
        +            default:
        +                return `Đầu vào không hợp lệ`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_vi() {
        +    return {
        +        localeError: locales_vi_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/zh-CN.js
        +/* unused harmony import specifier */ var locales_zh_CN_util;
        +
        +const locales_zh_CN_error = () => {
        +    const Sizable = {
        +        string: { unit: "字符", verb: "包含" },
        +        file: { unit: "字节", verb: "包含" },
        +        array: { unit: "项", verb: "包含" },
        +        set: { unit: "项", verb: "包含" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "输入",
        +        email: "电子邮件",
        +        url: "URL",
        +        emoji: "表情符号",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO日期时间",
        +        date: "ISO日期",
        +        time: "ISO时间",
        +        duration: "ISO时长",
        +        ipv4: "IPv4地址",
        +        ipv6: "IPv6地址",
        +        cidrv4: "IPv4网段",
        +        cidrv6: "IPv6网段",
        +        base64: "base64编码字符串",
        +        base64url: "base64url编码字符串",
        +        json_string: "JSON字符串",
        +        e164: "E.164号码",
        +        jwt: "JWT",
        +        template_literal: "输入",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "数字",
        +        array: "数组",
        +        null: "空值(null)",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_zh_CN_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `无效输入:期望 instanceof ${issue.expected},实际接收 ${received}`;
        +                }
        +                return `无效输入:期望 ${expected},实际接收 ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `无效输入:期望 ${locales_zh_CN_util.stringifyPrimitive(issue.values[0])}`;
        +                return `无效选项:期望以下之一 ${locales_zh_CN_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `数值过大:期望 ${issue.origin ?? "值"} ${adj}${issue.maximum.toString()} ${sizing.unit ?? "个元素"}`;
        +                return `数值过大:期望 ${issue.origin ?? "值"} ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `数值过小:期望 ${issue.origin} ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `数值过小:期望 ${issue.origin} ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `无效字符串:必须以 "${_issue.prefix}" 开头`;
        +                if (_issue.format === "ends_with")
        +                    return `无效字符串:必须以 "${_issue.suffix}" 结尾`;
        +                if (_issue.format === "includes")
        +                    return `无效字符串:必须包含 "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `无效字符串:必须满足正则表达式 ${_issue.pattern}`;
        +                return `无效${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `无效数字:必须是 ${issue.divisor} 的倍数`;
        +            case "unrecognized_keys":
        +                return `出现未知的键(key): ${locales_zh_CN_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `${issue.origin} 中的键(key)无效`;
        +            case "invalid_union":
        +                return "无效输入";
        +            case "invalid_element":
        +                return `${issue.origin} 中包含无效值(value)`;
        +            default:
        +                return `无效输入`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_zh_CN() {
        +    return {
        +        localeError: locales_zh_CN_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/zh-TW.js
        +/* unused harmony import specifier */ var locales_zh_TW_util;
        +
        +const locales_zh_TW_error = () => {
        +    const Sizable = {
        +        string: { unit: "字元", verb: "擁有" },
        +        file: { unit: "位元組", verb: "擁有" },
        +        array: { unit: "項目", verb: "擁有" },
        +        set: { unit: "項目", verb: "擁有" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "輸入",
        +        email: "郵件地址",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "ISO 日期時間",
        +        date: "ISO 日期",
        +        time: "ISO 時間",
        +        duration: "ISO 期間",
        +        ipv4: "IPv4 位址",
        +        ipv6: "IPv6 位址",
        +        cidrv4: "IPv4 範圍",
        +        cidrv6: "IPv6 範圍",
        +        base64: "base64 編碼字串",
        +        base64url: "base64url 編碼字串",
        +        json_string: "JSON 字串",
        +        e164: "E.164 數值",
        +        jwt: "JWT",
        +        template_literal: "輸入",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_zh_TW_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `無效的輸入值:預期為 instanceof ${issue.expected},但收到 ${received}`;
        +                }
        +                return `無效的輸入值:預期為 ${expected},但收到 ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `無效的輸入值:預期為 ${locales_zh_TW_util.stringifyPrimitive(issue.values[0])}`;
        +                return `無效的選項:預期為以下其中之一 ${locales_zh_TW_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `數值過大:預期 ${issue.origin ?? "值"} 應為 ${adj}${issue.maximum.toString()} ${sizing.unit ?? "個元素"}`;
        +                return `數值過大:預期 ${issue.origin ?? "值"} 應為 ${adj}${issue.maximum.toString()}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing) {
        +                    return `數值過小:預期 ${issue.origin} 應為 ${adj}${issue.minimum.toString()} ${sizing.unit}`;
        +                }
        +                return `數值過小:預期 ${issue.origin} 應為 ${adj}${issue.minimum.toString()}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with") {
        +                    return `無效的字串:必須以 "${_issue.prefix}" 開頭`;
        +                }
        +                if (_issue.format === "ends_with")
        +                    return `無效的字串:必須以 "${_issue.suffix}" 結尾`;
        +                if (_issue.format === "includes")
        +                    return `無效的字串:必須包含 "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `無效的字串:必須符合格式 ${_issue.pattern}`;
        +                return `無效的 ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `無效的數字:必須為 ${issue.divisor} 的倍數`;
        +            case "unrecognized_keys":
        +                return `無法識別的鍵值${issue.keys.length > 1 ? "們" : ""}:${locales_zh_TW_util.joinValues(issue.keys, "、")}`;
        +            case "invalid_key":
        +                return `${issue.origin} 中有無效的鍵值`;
        +            case "invalid_union":
        +                return "無效的輸入值";
        +            case "invalid_element":
        +                return `${issue.origin} 中有無效的值`;
        +            default:
        +                return `無效的輸入值`;
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_zh_TW() {
        +    return {
        +        localeError: locales_zh_TW_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/yo.js
        +/* unused harmony import specifier */ var locales_yo_util;
        +
        +const locales_yo_error = () => {
        +    const Sizable = {
        +        string: { unit: "àmi", verb: "ní" },
        +        file: { unit: "bytes", verb: "ní" },
        +        array: { unit: "nkan", verb: "ní" },
        +        set: { unit: "nkan", verb: "ní" },
        +    };
        +    function getSizing(origin) {
        +        return Sizable[origin] ?? null;
        +    }
        +    const FormatDictionary = {
        +        regex: "ẹ̀rọ ìbáwọlé",
        +        email: "àdírẹ́sì ìmẹ́lì",
        +        url: "URL",
        +        emoji: "emoji",
        +        uuid: "UUID",
        +        uuidv4: "UUIDv4",
        +        uuidv6: "UUIDv6",
        +        nanoid: "nanoid",
        +        guid: "GUID",
        +        cuid: "cuid",
        +        cuid2: "cuid2",
        +        ulid: "ULID",
        +        xid: "XID",
        +        ksuid: "KSUID",
        +        datetime: "àkókò ISO",
        +        date: "ọjọ́ ISO",
        +        time: "àkókò ISO",
        +        duration: "àkókò tó pé ISO",
        +        ipv4: "àdírẹ́sì IPv4",
        +        ipv6: "àdírẹ́sì IPv6",
        +        cidrv4: "àgbègbè IPv4",
        +        cidrv6: "àgbègbè IPv6",
        +        base64: "ọ̀rọ̀ tí a kọ́ ní base64",
        +        base64url: "ọ̀rọ̀ base64url",
        +        json_string: "ọ̀rọ̀ JSON",
        +        e164: "nọ́mbà E.164",
        +        jwt: "JWT",
        +        template_literal: "ẹ̀rọ ìbáwọlé",
        +    };
        +    const TypeDictionary = {
        +        nan: "NaN",
        +        number: "nọ́mbà",
        +        array: "akopọ",
        +    };
        +    return (issue) => {
        +        switch (issue.code) {
        +            case "invalid_type": {
        +                const expected = TypeDictionary[issue.expected] ?? issue.expected;
        +                const receivedType = locales_yo_util.parsedType(issue.input);
        +                const received = TypeDictionary[receivedType] ?? receivedType;
        +                if (/^[A-Z]/.test(issue.expected)) {
        +                    return `Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${issue.expected}, àmọ̀ a rí ${received}`;
        +                }
        +                return `Ìbáwọlé aṣìṣe: a ní láti fi ${expected}, àmọ̀ a rí ${received}`;
        +            }
        +            case "invalid_value":
        +                if (issue.values.length === 1)
        +                    return `Ìbáwọlé aṣìṣe: a ní láti fi ${locales_yo_util.stringifyPrimitive(issue.values[0])}`;
        +                return `Àṣàyàn aṣìṣe: yan ọ̀kan lára ${locales_yo_util.joinValues(issue.values, "|")}`;
        +            case "too_big": {
        +                const adj = issue.inclusive ? "<=" : "<";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Tó pọ̀ jù: a ní láti jẹ́ pé ${issue.origin ?? "iye"} ${sizing.verb} ${adj}${issue.maximum} ${sizing.unit}`;
        +                return `Tó pọ̀ jù: a ní láti jẹ́ ${adj}${issue.maximum}`;
        +            }
        +            case "too_small": {
        +                const adj = issue.inclusive ? ">=" : ">";
        +                const sizing = getSizing(issue.origin);
        +                if (sizing)
        +                    return `Kéré ju: a ní láti jẹ́ pé ${issue.origin} ${sizing.verb} ${adj}${issue.minimum} ${sizing.unit}`;
        +                return `Kéré ju: a ní láti jẹ́ ${adj}${issue.minimum}`;
        +            }
        +            case "invalid_format": {
        +                const _issue = issue;
        +                if (_issue.format === "starts_with")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${_issue.prefix}"`;
        +                if (_issue.format === "ends_with")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${_issue.suffix}"`;
        +                if (_issue.format === "includes")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${_issue.includes}"`;
        +                if (_issue.format === "regex")
        +                    return `Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${_issue.pattern}`;
        +                return `Aṣìṣe: ${FormatDictionary[_issue.format] ?? issue.format}`;
        +            }
        +            case "not_multiple_of":
        +                return `Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${issue.divisor}`;
        +            case "unrecognized_keys":
        +                return `Bọtìnì àìmọ̀: ${locales_yo_util.joinValues(issue.keys, ", ")}`;
        +            case "invalid_key":
        +                return `Bọtìnì aṣìṣe nínú ${issue.origin}`;
        +            case "invalid_union":
        +                return "Ìbáwọlé aṣìṣe";
        +            case "invalid_element":
        +                return `Iye aṣìṣe nínú ${issue.origin}`;
        +            default:
        +                return "Ìbáwọlé aṣìṣe";
        +        }
        +    };
        +};
        +/* harmony default export */ function locales_yo() {
        +    return {
        +        localeError: locales_yo_error(),
        +    };
        +}
        +
        +;// ./node_modules/zod/v4/locales/index.js
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +;// ./node_modules/zod/v4/core/registries.js
        +var core_registries_a;
        +const registries_$output = Symbol("ZodOutput");
        +const registries_$input = Symbol("ZodInput");
        +class registries_$ZodRegistry {
        +    constructor() {
        +        this._map = new WeakMap();
        +        this._idmap = new Map();
        +    }
        +    add(schema, ..._meta) {
        +        const meta = _meta[0];
        +        this._map.set(schema, meta);
        +        if (meta && typeof meta === "object" && "id" in meta) {
        +            this._idmap.set(meta.id, schema);
        +        }
        +        return this;
        +    }
        +    clear() {
        +        this._map = new WeakMap();
        +        this._idmap = new Map();
        +        return this;
        +    }
        +    remove(schema) {
        +        const meta = this._map.get(schema);
        +        if (meta && typeof meta === "object" && "id" in meta) {
        +            this._idmap.delete(meta.id);
        +        }
        +        this._map.delete(schema);
        +        return this;
        +    }
        +    get(schema) {
        +        // return this._map.get(schema) as any;
        +        // inherit metadata
        +        const p = schema._zod.parent;
        +        if (p) {
        +            const pm = { ...(this.get(p) ?? {}) };
        +            delete pm.id; // do not inherit id
        +            const f = { ...pm, ...this._map.get(schema) };
        +            return Object.keys(f).length ? f : undefined;
        +        }
        +        return this._map.get(schema);
        +    }
        +    has(schema) {
        +        return this._map.has(schema);
        +    }
        +}
        +// registries
        +function registries_registry() {
        +    return new registries_$ZodRegistry();
        +}
        +(core_registries_a = globalThis).__zod_globalRegistry ?? (core_registries_a.__zod_globalRegistry = registries_registry());
        +const registries_globalRegistry = globalThis.__zod_globalRegistry;
        +
        +;// ./node_modules/zod/v4/core/api.js
        +/* unused harmony import specifier */ var api_schemas;
        +/* unused harmony import specifier */ var core_api_util;
        +
        +
        +
        +
        +// @__NO_SIDE_EFFECTS__
        +function api_string(Class, params) {
        +    return new Class({
        +        type: "string",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_coercedString(Class, params) {
        +    return new Class({
        +        type: "string",
        +        coerce: true,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_email(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "email",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_guid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "guid",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_uuid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_uuidv4(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        version: "v4",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_uuidv6(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        version: "v6",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_uuidv7(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "uuid",
        +        check: "string_format",
        +        abort: false,
        +        version: "v7",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_url(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "url",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function core_api_emoji(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "emoji",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_nanoid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "nanoid",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_cuid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cuid",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_cuid2(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cuid2",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_ulid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ulid",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_xid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "xid",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_ksuid(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ksuid",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_ipv4(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ipv4",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_ipv6(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "ipv6",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_mac(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "mac",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_cidrv4(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cidrv4",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_cidrv6(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "cidrv6",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_base64(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "base64",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_base64url(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "base64url",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_e164(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "e164",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_jwt(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "jwt",
        +        check: "string_format",
        +        abort: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const api_TimePrecision = {
        +    Any: null,
        +    Minute: -1,
        +    Second: 0,
        +    Millisecond: 3,
        +    Microsecond: 6,
        +};
        +// @__NO_SIDE_EFFECTS__
        +function api_isoDateTime(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "datetime",
        +        check: "string_format",
        +        offset: false,
        +        local: false,
        +        precision: null,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_isoDate(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "date",
        +        check: "string_format",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_isoTime(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "time",
        +        check: "string_format",
        +        precision: null,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_isoDuration(Class, params) {
        +    return new Class({
        +        type: "string",
        +        format: "duration",
        +        check: "string_format",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_number(Class, params) {
        +    return new Class({
        +        type: "number",
        +        checks: [],
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_coercedNumber(Class, params) {
        +    return new Class({
        +        type: "number",
        +        coerce: true,
        +        checks: [],
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_int(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "safeint",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_float32(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "float32",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_float64(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "float64",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_int32(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "int32",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_uint32(Class, params) {
        +    return new Class({
        +        type: "number",
        +        check: "number_format",
        +        abort: false,
        +        format: "uint32",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_boolean(Class, params) {
        +    return new Class({
        +        type: "boolean",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_coercedBoolean(Class, params) {
        +    return new Class({
        +        type: "boolean",
        +        coerce: true,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_bigint(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_coercedBigint(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        coerce: true,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_int64(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        check: "bigint_format",
        +        abort: false,
        +        format: "int64",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_uint64(Class, params) {
        +    return new Class({
        +        type: "bigint",
        +        check: "bigint_format",
        +        abort: false,
        +        format: "uint64",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_symbol(Class, params) {
        +    return new Class({
        +        type: "symbol",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function core_api_undefined(Class, params) {
        +    return new Class({
        +        type: "undefined",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function core_api_null(Class, params) {
        +    return new Class({
        +        type: "null",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_any(Class) {
        +    return new Class({
        +        type: "any",
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_unknown(Class) {
        +    return new Class({
        +        type: "unknown",
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_never(Class, params) {
        +    return new Class({
        +        type: "never",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_void(Class, params) {
        +    return new Class({
        +        type: "void",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_date(Class, params) {
        +    return new Class({
        +        type: "date",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_coercedDate(Class, params) {
        +    return new Class({
        +        type: "date",
        +        coerce: true,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_nan(Class, params) {
        +    return new Class({
        +        type: "nan",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_lt(value, params) {
        +    return new checks_$ZodCheckLessThan({
        +        check: "less_than",
        +        ...util_normalizeParams(params),
        +        value,
        +        inclusive: false,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_lte(value, params) {
        +    return new checks_$ZodCheckLessThan({
        +        check: "less_than",
        +        ...util_normalizeParams(params),
        +        value,
        +        inclusive: true,
        +    });
        +}
        +
        +// @__NO_SIDE_EFFECTS__
        +function api_gt(value, params) {
        +    return new checks_$ZodCheckGreaterThan({
        +        check: "greater_than",
        +        ...util_normalizeParams(params),
        +        value,
        +        inclusive: false,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_gte(value, params) {
        +    return new checks_$ZodCheckGreaterThan({
        +        check: "greater_than",
        +        ...util_normalizeParams(params),
        +        value,
        +        inclusive: true,
        +    });
        +}
        +
        +// @__NO_SIDE_EFFECTS__
        +function api_positive(params) {
        +    return api_gt(0, params);
        +}
        +// negative
        +// @__NO_SIDE_EFFECTS__
        +function api_negative(params) {
        +    return api_lt(0, params);
        +}
        +// nonpositive
        +// @__NO_SIDE_EFFECTS__
        +function api_nonpositive(params) {
        +    return api_lte(0, params);
        +}
        +// nonnegative
        +// @__NO_SIDE_EFFECTS__
        +function api_nonnegative(params) {
        +    return api_gte(0, params);
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_multipleOf(value, params) {
        +    return new checks_$ZodCheckMultipleOf({
        +        check: "multiple_of",
        +        ...util_normalizeParams(params),
        +        value,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_maxSize(maximum, params) {
        +    return new checks_$ZodCheckMaxSize({
        +        check: "max_size",
        +        ...util_normalizeParams(params),
        +        maximum,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_minSize(minimum, params) {
        +    return new checks_$ZodCheckMinSize({
        +        check: "min_size",
        +        ...util_normalizeParams(params),
        +        minimum,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_size(size, params) {
        +    return new checks_$ZodCheckSizeEquals({
        +        check: "size_equals",
        +        ...util_normalizeParams(params),
        +        size,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_maxLength(maximum, params) {
        +    const ch = new checks_$ZodCheckMaxLength({
        +        check: "max_length",
        +        ...util_normalizeParams(params),
        +        maximum,
        +    });
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_minLength(minimum, params) {
        +    return new checks_$ZodCheckMinLength({
        +        check: "min_length",
        +        ...util_normalizeParams(params),
        +        minimum,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_length(length, params) {
        +    return new checks_$ZodCheckLengthEquals({
        +        check: "length_equals",
        +        ...util_normalizeParams(params),
        +        length,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_regex(pattern, params) {
        +    return new checks_$ZodCheckRegex({
        +        check: "string_format",
        +        format: "regex",
        +        ...util_normalizeParams(params),
        +        pattern,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_lowercase(params) {
        +    return new checks_$ZodCheckLowerCase({
        +        check: "string_format",
        +        format: "lowercase",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_uppercase(params) {
        +    return new checks_$ZodCheckUpperCase({
        +        check: "string_format",
        +        format: "uppercase",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_includes(includes, params) {
        +    return new checks_$ZodCheckIncludes({
        +        check: "string_format",
        +        format: "includes",
        +        ...util_normalizeParams(params),
        +        includes,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_startsWith(prefix, params) {
        +    return new checks_$ZodCheckStartsWith({
        +        check: "string_format",
        +        format: "starts_with",
        +        ...util_normalizeParams(params),
        +        prefix,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_endsWith(suffix, params) {
        +    return new checks_$ZodCheckEndsWith({
        +        check: "string_format",
        +        format: "ends_with",
        +        ...util_normalizeParams(params),
        +        suffix,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_property(property, schema, params) {
        +    return new checks_$ZodCheckProperty({
        +        check: "property",
        +        property,
        +        schema,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_mime(types, params) {
        +    return new checks_$ZodCheckMimeType({
        +        check: "mime_type",
        +        mime: types,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_overwrite(tx) {
        +    return new checks_$ZodCheckOverwrite({
        +        check: "overwrite",
        +        tx,
        +    });
        +}
        +// normalize
        +// @__NO_SIDE_EFFECTS__
        +function api_normalize(form) {
        +    return api_overwrite((input) => input.normalize(form));
        +}
        +// trim
        +// @__NO_SIDE_EFFECTS__
        +function api_trim() {
        +    return api_overwrite((input) => input.trim());
        +}
        +// toLowerCase
        +// @__NO_SIDE_EFFECTS__
        +function api_toLowerCase() {
        +    return api_overwrite((input) => input.toLowerCase());
        +}
        +// toUpperCase
        +// @__NO_SIDE_EFFECTS__
        +function api_toUpperCase() {
        +    return api_overwrite((input) => input.toUpperCase());
        +}
        +// slugify
        +// @__NO_SIDE_EFFECTS__
        +function api_slugify() {
        +    return api_overwrite((input) => util_slugify(input));
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_array(Class, element, params) {
        +    return new Class({
        +        type: "array",
        +        element,
        +        // get element() {
        +        //   return element;
        +        // },
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_union(Class, options, params) {
        +    return new Class({
        +        type: "union",
        +        options,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +function api_xor(Class, options, params) {
        +    return new Class({
        +        type: "union",
        +        options,
        +        inclusive: false,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_discriminatedUnion(Class, discriminator, options, params) {
        +    return new Class({
        +        type: "union",
        +        options,
        +        discriminator,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_intersection(Class, left, right) {
        +    return new Class({
        +        type: "intersection",
        +        left,
        +        right,
        +    });
        +}
        +// export function _tuple(
        +//   Class: util.SchemaClass,
        +//   items: [],
        +//   params?: string | $ZodTupleParams
        +// ): schemas.$ZodTuple<[], null>;
        +// @__NO_SIDE_EFFECTS__
        +function api_tuple(Class, items, _paramsOrRest, _params) {
        +    const hasRest = _paramsOrRest instanceof api_schemas.$ZodType;
        +    const params = hasRest ? _params : _paramsOrRest;
        +    const rest = hasRest ? _paramsOrRest : null;
        +    return new Class({
        +        type: "tuple",
        +        items,
        +        rest,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_record(Class, keyType, valueType, params) {
        +    return new Class({
        +        type: "record",
        +        keyType,
        +        valueType,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_map(Class, keyType, valueType, params) {
        +    return new Class({
        +        type: "map",
        +        keyType,
        +        valueType,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_set(Class, valueType, params) {
        +    return new Class({
        +        type: "set",
        +        valueType,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_enum(Class, values, params) {
        +    const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
        +    // if (Array.isArray(values)) {
        +    //   for (const value of values) {
        +    //     entries[value] = value;
        +    //   }
        +    // } else {
        +    //   Object.assign(entries, values);
        +    // }
        +    // const entries: util.EnumLike = {};
        +    // for (const val of values) {
        +    //   entries[val] = val;
        +    // }
        +    return new Class({
        +        type: "enum",
        +        entries,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.
        + *
        + * ```ts
        + * enum Colors { red, green, blue }
        + * z.enum(Colors);
        + * ```
        + */
        +function api_nativeEnum(Class, entries, params) {
        +    return new Class({
        +        type: "enum",
        +        entries,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_literal(Class, value, params) {
        +    return new Class({
        +        type: "literal",
        +        values: Array.isArray(value) ? value : [value],
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_file(Class, params) {
        +    return new Class({
        +        type: "file",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_transform(Class, fn) {
        +    return new Class({
        +        type: "transform",
        +        transform: fn,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_optional(Class, innerType) {
        +    return new Class({
        +        type: "optional",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_nullable(Class, innerType) {
        +    return new Class({
        +        type: "nullable",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_default(Class, innerType, defaultValue) {
        +    return new Class({
        +        type: "default",
        +        innerType,
        +        get defaultValue() {
        +            return typeof defaultValue === "function" ? defaultValue() : core_api_util.shallowClone(defaultValue);
        +        },
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_nonoptional(Class, innerType, params) {
        +    return new Class({
        +        type: "nonoptional",
        +        innerType,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_success(Class, innerType) {
        +    return new Class({
        +        type: "success",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_catch(Class, innerType, catchValue) {
        +    return new Class({
        +        type: "catch",
        +        innerType,
        +        catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_pipe(Class, in_, out) {
        +    return new Class({
        +        type: "pipe",
        +        in: in_,
        +        out,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_readonly(Class, innerType) {
        +    return new Class({
        +        type: "readonly",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_templateLiteral(Class, parts, params) {
        +    return new Class({
        +        type: "template_literal",
        +        parts,
        +        ...core_api_util.normalizeParams(params),
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_lazy(Class, getter) {
        +    return new Class({
        +        type: "lazy",
        +        getter,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_promise(Class, innerType) {
        +    return new Class({
        +        type: "promise",
        +        innerType,
        +    });
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_custom(Class, fn, _params) {
        +    const norm = util_normalizeParams(_params);
        +    norm.abort ?? (norm.abort = true); // default to abort:false
        +    const schema = new Class({
        +        type: "custom",
        +        check: "custom",
        +        fn: fn,
        +        ...norm,
        +    });
        +    return schema;
        +}
        +// same as _custom but defaults to abort:false
        +// @__NO_SIDE_EFFECTS__
        +function api_refine(Class, fn, _params) {
        +    const schema = new Class({
        +        type: "custom",
        +        check: "custom",
        +        fn: fn,
        +        ...util_normalizeParams(_params),
        +    });
        +    return schema;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_superRefine(fn) {
        +    const ch = api_check((payload) => {
        +        payload.addIssue = (issue) => {
        +            if (typeof issue === "string") {
        +                payload.issues.push(core_util_issue(issue, payload.value, ch._zod.def));
        +            }
        +            else {
        +                // for Zod 3 backwards compatibility
        +                const _issue = issue;
        +                if (_issue.fatal)
        +                    _issue.continue = false;
        +                _issue.code ?? (_issue.code = "custom");
        +                _issue.input ?? (_issue.input = payload.value);
        +                _issue.inst ?? (_issue.inst = ch);
        +                _issue.continue ?? (_issue.continue = !ch._zod.def.abort); // abort is always undefined, so this is always true...
        +                payload.issues.push(core_util_issue(_issue));
        +            }
        +        };
        +        return fn(payload.value, payload);
        +    });
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_check(fn, params) {
        +    const ch = new checks_$ZodCheck({
        +        check: "custom",
        +        ...util_normalizeParams(params),
        +    });
        +    ch._zod.check = fn;
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_describe(description) {
        +    const ch = new checks_$ZodCheck({ check: "describe" });
        +    ch._zod.onattach = [
        +        (inst) => {
        +            const existing = registries_globalRegistry.get(inst) ?? {};
        +            registries_globalRegistry.add(inst, { ...existing, description });
        +        },
        +    ];
        +    ch._zod.check = () => { }; // no-op check
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_meta(metadata) {
        +    const ch = new checks_$ZodCheck({ check: "meta" });
        +    ch._zod.onattach = [
        +        (inst) => {
        +            const existing = registries_globalRegistry.get(inst) ?? {};
        +            registries_globalRegistry.add(inst, { ...existing, ...metadata });
        +        },
        +    ];
        +    ch._zod.check = () => { }; // no-op check
        +    return ch;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_stringbool(Classes, _params) {
        +    const params = util_normalizeParams(_params);
        +    let truthyArray = params.truthy ?? ["true", "1", "yes", "on", "y", "enabled"];
        +    let falsyArray = params.falsy ?? ["false", "0", "no", "off", "n", "disabled"];
        +    if (params.case !== "sensitive") {
        +        truthyArray = truthyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
        +        falsyArray = falsyArray.map((v) => (typeof v === "string" ? v.toLowerCase() : v));
        +    }
        +    const truthySet = new Set(truthyArray);
        +    const falsySet = new Set(falsyArray);
        +    const _Codec = Classes.Codec ?? schemas_$ZodCodec;
        +    const _Boolean = Classes.Boolean ?? schemas_$ZodBoolean;
        +    const _String = Classes.String ?? schemas_$ZodString;
        +    const stringSchema = new _String({ type: "string", error: params.error });
        +    const booleanSchema = new _Boolean({ type: "boolean", error: params.error });
        +    const codec = new _Codec({
        +        type: "pipe",
        +        in: stringSchema,
        +        out: booleanSchema,
        +        transform: ((input, payload) => {
        +            let data = input;
        +            if (params.case !== "sensitive")
        +                data = data.toLowerCase();
        +            if (truthySet.has(data)) {
        +                return true;
        +            }
        +            else if (falsySet.has(data)) {
        +                return false;
        +            }
        +            else {
        +                payload.issues.push({
        +                    code: "invalid_value",
        +                    expected: "stringbool",
        +                    values: [...truthySet, ...falsySet],
        +                    input: payload.value,
        +                    inst: codec,
        +                    continue: false,
        +                });
        +                return {};
        +            }
        +        }),
        +        reverseTransform: ((input, _payload) => {
        +            if (input === true) {
        +                return truthyArray[0] || "true";
        +            }
        +            else {
        +                return falsyArray[0] || "false";
        +            }
        +        }),
        +        error: params.error,
        +    });
        +    return codec;
        +}
        +// @__NO_SIDE_EFFECTS__
        +function api_stringFormat(Class, format, fnOrRegex, _params = {}) {
        +    const params = util_normalizeParams(_params);
        +    const def = {
        +        ...util_normalizeParams(_params),
        +        check: "string_format",
        +        type: "string",
        +        format,
        +        fn: typeof fnOrRegex === "function" ? fnOrRegex : (val) => fnOrRegex.test(val),
        +        ...params,
        +    };
        +    if (fnOrRegex instanceof RegExp) {
        +        def.pattern = fnOrRegex;
        +    }
        +    const inst = new Class(def);
        +    return inst;
        +}
        +
        +;// ./node_modules/zod/v4/core/to-json-schema.js
        +
        +// function initializeContext(inputs: JSONSchemaGeneratorParams): ToJSONSchemaContext {
        +//   return {
        +//     processor: inputs.processor,
        +//     metadataRegistry: inputs.metadata ?? globalRegistry,
        +//     target: inputs.target ?? "draft-2020-12",
        +//     unrepresentable: inputs.unrepresentable ?? "throw",
        +//   };
        +// }
        +function to_json_schema_initializeContext(params) {
        +    // Normalize target: convert old non-hyphenated versions to hyphenated versions
        +    let target = params?.target ?? "draft-2020-12";
        +    if (target === "draft-4")
        +        target = "draft-04";
        +    if (target === "draft-7")
        +        target = "draft-07";
        +    return {
        +        processors: params.processors ?? {},
        +        metadataRegistry: params?.metadata ?? registries_globalRegistry,
        +        target,
        +        unrepresentable: params?.unrepresentable ?? "throw",
        +        override: params?.override ?? (() => { }),
        +        io: params?.io ?? "output",
        +        counter: 0,
        +        seen: new Map(),
        +        cycles: params?.cycles ?? "ref",
        +        reused: params?.reused ?? "inline",
        +        external: params?.external ?? undefined,
        +    };
        +}
        +function core_to_json_schema_process(schema, ctx, _params = { path: [], schemaPath: [] }) {
        +    var _a;
        +    const def = schema._zod.def;
        +    // check for schema in seens
        +    const seen = ctx.seen.get(schema);
        +    if (seen) {
        +        seen.count++;
        +        // check if cycle
        +        const isCycle = _params.schemaPath.includes(schema);
        +        if (isCycle) {
        +            seen.cycle = _params.path;
        +        }
        +        return seen.schema;
        +    }
        +    // initialize
        +    const result = { schema: {}, count: 1, cycle: undefined, path: _params.path };
        +    ctx.seen.set(schema, result);
        +    // custom method overrides default behavior
        +    const overrideSchema = schema._zod.toJSONSchema?.();
        +    if (overrideSchema) {
        +        result.schema = overrideSchema;
        +    }
        +    else {
        +        const params = {
        +            ..._params,
        +            schemaPath: [..._params.schemaPath, schema],
        +            path: _params.path,
        +        };
        +        if (schema._zod.processJSONSchema) {
        +            schema._zod.processJSONSchema(ctx, result.schema, params);
        +        }
        +        else {
        +            const _json = result.schema;
        +            const processor = ctx.processors[def.type];
        +            if (!processor) {
        +                throw new Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);
        +            }
        +            processor(schema, ctx, _json, params);
        +        }
        +        const parent = schema._zod.parent;
        +        if (parent) {
        +            // Also set ref if processor didn't (for inheritance)
        +            if (!result.ref)
        +                result.ref = parent;
        +            core_to_json_schema_process(parent, ctx, params);
        +            ctx.seen.get(parent).isParent = true;
        +        }
        +    }
        +    // metadata
        +    const meta = ctx.metadataRegistry.get(schema);
        +    if (meta)
        +        Object.assign(result.schema, meta);
        +    if (ctx.io === "input" && to_json_schema_isTransforming(schema)) {
        +        // examples/defaults only apply to output type of pipe
        +        delete result.schema.examples;
        +        delete result.schema.default;
        +    }
        +    // set prefault as default
        +    if (ctx.io === "input" && result.schema._prefault)
        +        (_a = result.schema).default ?? (_a.default = result.schema._prefault);
        +    delete result.schema._prefault;
        +    // pulling fresh from ctx.seen in case it was overwritten
        +    const _result = ctx.seen.get(schema);
        +    return _result.schema;
        +}
        +function to_json_schema_extractDefs(ctx, schema
        +// params: EmitParams
        +) {
        +    // iterate over seen map;
        +    const root = ctx.seen.get(schema);
        +    if (!root)
        +        throw new Error("Unprocessed schema. This is a bug in Zod.");
        +    // Track ids to detect duplicates across different schemas
        +    const idToSchema = new Map();
        +    for (const entry of ctx.seen.entries()) {
        +        const id = ctx.metadataRegistry.get(entry[0])?.id;
        +        if (id) {
        +            const existing = idToSchema.get(id);
        +            if (existing && existing !== entry[0]) {
        +                throw new Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);
        +            }
        +            idToSchema.set(id, entry[0]);
        +        }
        +    }
        +    // returns a ref to the schema
        +    // defId will be empty if the ref points to an external schema (or #)
        +    const makeURI = (entry) => {
        +        // comparing the seen objects because sometimes
        +        // multiple schemas map to the same seen object.
        +        // e.g. lazy
        +        // external is configured
        +        const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions";
        +        if (ctx.external) {
        +            const externalId = ctx.external.registry.get(entry[0])?.id; // ?? "__shared";// `__schema${ctx.counter++}`;
        +            // check if schema is in the external registry
        +            const uriGenerator = ctx.external.uri ?? ((id) => id);
        +            if (externalId) {
        +                return { ref: uriGenerator(externalId) };
        +            }
        +            // otherwise, add to __shared
        +            const id = entry[1].defId ?? entry[1].schema.id ?? `schema${ctx.counter++}`;
        +            entry[1].defId = id; // set defId so it will be reused if needed
        +            return { defId: id, ref: `${uriGenerator("__shared")}#/${defsSegment}/${id}` };
        +        }
        +        if (entry[1] === root) {
        +            return { ref: "#" };
        +        }
        +        // self-contained schema
        +        const uriPrefix = `#`;
        +        const defUriPrefix = `${uriPrefix}/${defsSegment}/`;
        +        const defId = entry[1].schema.id ?? `__schema${ctx.counter++}`;
        +        return { defId, ref: defUriPrefix + defId };
        +    };
        +    // stored cached version in `def` property
        +    // remove all properties, set $ref
        +    const extractToDef = (entry) => {
        +        // if the schema is already a reference, do not extract it
        +        if (entry[1].schema.$ref) {
        +            return;
        +        }
        +        const seen = entry[1];
        +        const { ref, defId } = makeURI(entry);
        +        seen.def = { ...seen.schema };
        +        // defId won't be set if the schema is a reference to an external schema
        +        // or if the schema is the root schema
        +        if (defId)
        +            seen.defId = defId;
        +        // wipe away all properties except $ref
        +        const schema = seen.schema;
        +        for (const key in schema) {
        +            delete schema[key];
        +        }
        +        schema.$ref = ref;
        +    };
        +    // throw on cycles
        +    // break cycles
        +    if (ctx.cycles === "throw") {
        +        for (const entry of ctx.seen.entries()) {
        +            const seen = entry[1];
        +            if (seen.cycle) {
        +                throw new Error("Cycle detected: " +
        +                    `#/${seen.cycle?.join("/")}/` +
        +                    '\n\nSet the `cycles` parameter to `"ref"` to resolve cyclical schemas with defs.');
        +            }
        +        }
        +    }
        +    // extract schemas into $defs
        +    for (const entry of ctx.seen.entries()) {
        +        const seen = entry[1];
        +        // convert root schema to # $ref
        +        if (schema === entry[0]) {
        +            extractToDef(entry); // this has special handling for the root schema
        +            continue;
        +        }
        +        // extract schemas that are in the external registry
        +        if (ctx.external) {
        +            const ext = ctx.external.registry.get(entry[0])?.id;
        +            if (schema !== entry[0] && ext) {
        +                extractToDef(entry);
        +                continue;
        +            }
        +        }
        +        // extract schemas with `id` meta
        +        const id = ctx.metadataRegistry.get(entry[0])?.id;
        +        if (id) {
        +            extractToDef(entry);
        +            continue;
        +        }
        +        // break cycles
        +        if (seen.cycle) {
        +            // any
        +            extractToDef(entry);
        +            continue;
        +        }
        +        // extract reused schemas
        +        if (seen.count > 1) {
        +            if (ctx.reused === "ref") {
        +                extractToDef(entry);
        +                // biome-ignore lint:
        +                continue;
        +            }
        +        }
        +    }
        +}
        +function to_json_schema_finalize(ctx, schema) {
        +    const root = ctx.seen.get(schema);
        +    if (!root)
        +        throw new Error("Unprocessed schema. This is a bug in Zod.");
        +    // flatten refs - inherit properties from parent schemas
        +    const flattenRef = (zodSchema) => {
        +        const seen = ctx.seen.get(zodSchema);
        +        // already processed
        +        if (seen.ref === null)
        +            return;
        +        const schema = seen.def ?? seen.schema;
        +        const _cached = { ...schema };
        +        const ref = seen.ref;
        +        seen.ref = null; // prevent infinite recursion
        +        if (ref) {
        +            flattenRef(ref);
        +            const refSeen = ctx.seen.get(ref);
        +            const refSchema = refSeen.schema;
        +            // merge referenced schema into current
        +            if (refSchema.$ref && (ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0")) {
        +                // older drafts can't combine $ref with other properties
        +                schema.allOf = schema.allOf ?? [];
        +                schema.allOf.push(refSchema);
        +            }
        +            else {
        +                Object.assign(schema, refSchema);
        +            }
        +            // restore child's own properties (child wins)
        +            Object.assign(schema, _cached);
        +            const isParentRef = zodSchema._zod.parent === ref;
        +            // For parent chain, child is a refinement - remove parent-only properties
        +            if (isParentRef) {
        +                for (const key in schema) {
        +                    if (key === "$ref" || key === "allOf")
        +                        continue;
        +                    if (!(key in _cached)) {
        +                        delete schema[key];
        +                    }
        +                }
        +            }
        +            // When ref was extracted to $defs, remove properties that match the definition
        +            if (refSchema.$ref && refSeen.def) {
        +                for (const key in schema) {
        +                    if (key === "$ref" || key === "allOf")
        +                        continue;
        +                    if (key in refSeen.def && JSON.stringify(schema[key]) === JSON.stringify(refSeen.def[key])) {
        +                        delete schema[key];
        +                    }
        +                }
        +            }
        +        }
        +        // If parent was extracted (has $ref), propagate $ref to this schema
        +        // This handles cases like: readonly().meta({id}).describe()
        +        // where processor sets ref to innerType but parent should be referenced
        +        const parent = zodSchema._zod.parent;
        +        if (parent && parent !== ref) {
        +            // Ensure parent is processed first so its def has inherited properties
        +            flattenRef(parent);
        +            const parentSeen = ctx.seen.get(parent);
        +            if (parentSeen?.schema.$ref) {
        +                schema.$ref = parentSeen.schema.$ref;
        +                // De-duplicate with parent's definition
        +                if (parentSeen.def) {
        +                    for (const key in schema) {
        +                        if (key === "$ref" || key === "allOf")
        +                            continue;
        +                        if (key in parentSeen.def && JSON.stringify(schema[key]) === JSON.stringify(parentSeen.def[key])) {
        +                            delete schema[key];
        +                        }
        +                    }
        +                }
        +            }
        +        }
        +        // execute overrides
        +        ctx.override({
        +            zodSchema: zodSchema,
        +            jsonSchema: schema,
        +            path: seen.path ?? [],
        +        });
        +    };
        +    for (const entry of [...ctx.seen.entries()].reverse()) {
        +        flattenRef(entry[0]);
        +    }
        +    const result = {};
        +    if (ctx.target === "draft-2020-12") {
        +        result.$schema = "https://json-schema.org/draft/2020-12/schema";
        +    }
        +    else if (ctx.target === "draft-07") {
        +        result.$schema = "http://json-schema.org/draft-07/schema#";
        +    }
        +    else if (ctx.target === "draft-04") {
        +        result.$schema = "http://json-schema.org/draft-04/schema#";
        +    }
        +    else if (ctx.target === "openapi-3.0") {
        +        // OpenAPI 3.0 schema objects should not include a $schema property
        +    }
        +    else {
        +        // Arbitrary string values are allowed but won't have a $schema property set
        +    }
        +    if (ctx.external?.uri) {
        +        const id = ctx.external.registry.get(schema)?.id;
        +        if (!id)
        +            throw new Error("Schema is missing an `id` property");
        +        result.$id = ctx.external.uri(id);
        +    }
        +    Object.assign(result, root.def ?? root.schema);
        +    // build defs object
        +    const defs = ctx.external?.defs ?? {};
        +    for (const entry of ctx.seen.entries()) {
        +        const seen = entry[1];
        +        if (seen.def && seen.defId) {
        +            defs[seen.defId] = seen.def;
        +        }
        +    }
        +    // set definitions in result
        +    if (ctx.external) {
        +    }
        +    else {
        +        if (Object.keys(defs).length > 0) {
        +            if (ctx.target === "draft-2020-12") {
        +                result.$defs = defs;
        +            }
        +            else {
        +                result.definitions = defs;
        +            }
        +        }
        +    }
        +    try {
        +        // this "finalizes" this schema and ensures all cycles are removed
        +        // each call to finalize() is functionally independent
        +        // though the seen map is shared
        +        const finalized = JSON.parse(JSON.stringify(result));
        +        Object.defineProperty(finalized, "~standard", {
        +            value: {
        +                ...schema["~standard"],
        +                jsonSchema: {
        +                    input: to_json_schema_createStandardJSONSchemaMethod(schema, "input", ctx.processors),
        +                    output: to_json_schema_createStandardJSONSchemaMethod(schema, "output", ctx.processors),
        +                },
        +            },
        +            enumerable: false,
        +            writable: false,
        +        });
        +        return finalized;
        +    }
        +    catch (_err) {
        +        throw new Error("Error converting schema to JSON.");
        +    }
        +}
        +function to_json_schema_isTransforming(_schema, _ctx) {
        +    const ctx = _ctx ?? { seen: new Set() };
        +    if (ctx.seen.has(_schema))
        +        return false;
        +    ctx.seen.add(_schema);
        +    const def = _schema._zod.def;
        +    if (def.type === "transform")
        +        return true;
        +    if (def.type === "array")
        +        return to_json_schema_isTransforming(def.element, ctx);
        +    if (def.type === "set")
        +        return to_json_schema_isTransforming(def.valueType, ctx);
        +    if (def.type === "lazy")
        +        return to_json_schema_isTransforming(def.getter(), ctx);
        +    if (def.type === "promise" ||
        +        def.type === "optional" ||
        +        def.type === "nonoptional" ||
        +        def.type === "nullable" ||
        +        def.type === "readonly" ||
        +        def.type === "default" ||
        +        def.type === "prefault") {
        +        return to_json_schema_isTransforming(def.innerType, ctx);
        +    }
        +    if (def.type === "intersection") {
        +        return to_json_schema_isTransforming(def.left, ctx) || to_json_schema_isTransforming(def.right, ctx);
        +    }
        +    if (def.type === "record" || def.type === "map") {
        +        return to_json_schema_isTransforming(def.keyType, ctx) || to_json_schema_isTransforming(def.valueType, ctx);
        +    }
        +    if (def.type === "pipe") {
        +        return to_json_schema_isTransforming(def.in, ctx) || to_json_schema_isTransforming(def.out, ctx);
        +    }
        +    if (def.type === "object") {
        +        for (const key in def.shape) {
        +            if (to_json_schema_isTransforming(def.shape[key], ctx))
        +                return true;
        +        }
        +        return false;
        +    }
        +    if (def.type === "union") {
        +        for (const option of def.options) {
        +            if (to_json_schema_isTransforming(option, ctx))
        +                return true;
        +        }
        +        return false;
        +    }
        +    if (def.type === "tuple") {
        +        for (const item of def.items) {
        +            if (to_json_schema_isTransforming(item, ctx))
        +                return true;
        +        }
        +        if (def.rest && to_json_schema_isTransforming(def.rest, ctx))
        +            return true;
        +        return false;
        +    }
        +    return false;
        +}
        +/**
        + * Creates a toJSONSchema method for a schema instance.
        + * This encapsulates the logic of initializing context, processing, extracting defs, and finalizing.
        + */
        +const to_json_schema_createToJSONSchemaMethod = (schema, processors = {}) => (params) => {
        +    const ctx = to_json_schema_initializeContext({ ...params, processors });
        +    core_to_json_schema_process(schema, ctx);
        +    to_json_schema_extractDefs(ctx, schema);
        +    return to_json_schema_finalize(ctx, schema);
        +};
        +const to_json_schema_createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) => {
        +    const { libraryOptions, target } = params ?? {};
        +    const ctx = to_json_schema_initializeContext({ ...(libraryOptions ?? {}), target, io, processors });
        +    core_to_json_schema_process(schema, ctx);
        +    to_json_schema_extractDefs(ctx, schema);
        +    return to_json_schema_finalize(ctx, schema);
        +};
        +
        +;// ./node_modules/zod/v4/core/json-schema-processors.js
        +/* unused harmony import specifier */ var core_json_schema_processors_initializeContext;
        +/* unused harmony import specifier */ var core_json_schema_processors_process;
        +/* unused harmony import specifier */ var core_json_schema_processors_extractDefs;
        +/* unused harmony import specifier */ var core_json_schema_processors_finalize;
        +
        +
        +const json_schema_processors_formatMap = {
        +    guid: "uuid",
        +    url: "uri",
        +    datetime: "date-time",
        +    json_string: "json-string",
        +    regex: "", // do not set
        +};
        +// ==================== SIMPLE TYPE PROCESSORS ====================
        +const json_schema_processors_stringProcessor = (schema, ctx, _json, _params) => {
        +    const json = _json;
        +    json.type = "string";
        +    const { minimum, maximum, format, patterns, contentEncoding } = schema._zod
        +        .bag;
        +    if (typeof minimum === "number")
        +        json.minLength = minimum;
        +    if (typeof maximum === "number")
        +        json.maxLength = maximum;
        +    // custom pattern overrides format
        +    if (format) {
        +        json.format = json_schema_processors_formatMap[format] ?? format;
        +        if (json.format === "")
        +            delete json.format; // empty format is not valid
        +        // JSON Schema format: "time" requires a full time with offset or Z
        +        // z.iso.time() does not include timezone information, so format: "time" should never be used
        +        if (format === "time") {
        +            delete json.format;
        +        }
        +    }
        +    if (contentEncoding)
        +        json.contentEncoding = contentEncoding;
        +    if (patterns && patterns.size > 0) {
        +        const regexes = [...patterns];
        +        if (regexes.length === 1)
        +            json.pattern = regexes[0].source;
        +        else if (regexes.length > 1) {
        +            json.allOf = [
        +                ...regexes.map((regex) => ({
        +                    ...(ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0"
        +                        ? { type: "string" }
        +                        : {}),
        +                    pattern: regex.source,
        +                })),
        +            ];
        +        }
        +    }
        +};
        +const json_schema_processors_numberProcessor = (schema, ctx, _json, _params) => {
        +    const json = _json;
        +    const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
        +    if (typeof format === "string" && format.includes("int"))
        +        json.type = "integer";
        +    else
        +        json.type = "number";
        +    if (typeof exclusiveMinimum === "number") {
        +        if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
        +            json.minimum = exclusiveMinimum;
        +            json.exclusiveMinimum = true;
        +        }
        +        else {
        +            json.exclusiveMinimum = exclusiveMinimum;
        +        }
        +    }
        +    if (typeof minimum === "number") {
        +        json.minimum = minimum;
        +        if (typeof exclusiveMinimum === "number" && ctx.target !== "draft-04") {
        +            if (exclusiveMinimum >= minimum)
        +                delete json.minimum;
        +            else
        +                delete json.exclusiveMinimum;
        +        }
        +    }
        +    if (typeof exclusiveMaximum === "number") {
        +        if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
        +            json.maximum = exclusiveMaximum;
        +            json.exclusiveMaximum = true;
        +        }
        +        else {
        +            json.exclusiveMaximum = exclusiveMaximum;
        +        }
        +    }
        +    if (typeof maximum === "number") {
        +        json.maximum = maximum;
        +        if (typeof exclusiveMaximum === "number" && ctx.target !== "draft-04") {
        +            if (exclusiveMaximum <= maximum)
        +                delete json.maximum;
        +            else
        +                delete json.exclusiveMaximum;
        +        }
        +    }
        +    if (typeof multipleOf === "number")
        +        json.multipleOf = multipleOf;
        +};
        +const json_schema_processors_booleanProcessor = (_schema, _ctx, json, _params) => {
        +    json.type = "boolean";
        +};
        +const json_schema_processors_bigintProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("BigInt cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_symbolProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Symbols cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_nullProcessor = (_schema, ctx, json, _params) => {
        +    if (ctx.target === "openapi-3.0") {
        +        json.type = "string";
        +        json.nullable = true;
        +        json.enum = [null];
        +    }
        +    else {
        +        json.type = "null";
        +    }
        +};
        +const json_schema_processors_undefinedProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Undefined cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_voidProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Void cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_neverProcessor = (_schema, _ctx, json, _params) => {
        +    json.not = {};
        +};
        +const json_schema_processors_anyProcessor = (_schema, _ctx, _json, _params) => {
        +    // empty schema accepts anything
        +};
        +const json_schema_processors_unknownProcessor = (_schema, _ctx, _json, _params) => {
        +    // empty schema accepts anything
        +};
        +const json_schema_processors_dateProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Date cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_enumProcessor = (schema, _ctx, json, _params) => {
        +    const def = schema._zod.def;
        +    const values = util_getEnumValues(def.entries);
        +    // Number enums can have both string and number values
        +    if (values.every((v) => typeof v === "number"))
        +        json.type = "number";
        +    if (values.every((v) => typeof v === "string"))
        +        json.type = "string";
        +    json.enum = values;
        +};
        +const json_schema_processors_literalProcessor = (schema, ctx, json, _params) => {
        +    const def = schema._zod.def;
        +    const vals = [];
        +    for (const val of def.values) {
        +        if (val === undefined) {
        +            if (ctx.unrepresentable === "throw") {
        +                throw new Error("Literal `undefined` cannot be represented in JSON Schema");
        +            }
        +            else {
        +                // do not add to vals
        +            }
        +        }
        +        else if (typeof val === "bigint") {
        +            if (ctx.unrepresentable === "throw") {
        +                throw new Error("BigInt literals cannot be represented in JSON Schema");
        +            }
        +            else {
        +                vals.push(Number(val));
        +            }
        +        }
        +        else {
        +            vals.push(val);
        +        }
        +    }
        +    if (vals.length === 0) {
        +        // do nothing (an undefined literal was stripped)
        +    }
        +    else if (vals.length === 1) {
        +        const val = vals[0];
        +        json.type = val === null ? "null" : typeof val;
        +        if (ctx.target === "draft-04" || ctx.target === "openapi-3.0") {
        +            json.enum = [val];
        +        }
        +        else {
        +            json.const = val;
        +        }
        +    }
        +    else {
        +        if (vals.every((v) => typeof v === "number"))
        +            json.type = "number";
        +        if (vals.every((v) => typeof v === "string"))
        +            json.type = "string";
        +        if (vals.every((v) => typeof v === "boolean"))
        +            json.type = "boolean";
        +        if (vals.every((v) => v === null))
        +            json.type = "null";
        +        json.enum = vals;
        +    }
        +};
        +const json_schema_processors_nanProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("NaN cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_templateLiteralProcessor = (schema, _ctx, json, _params) => {
        +    const _json = json;
        +    const pattern = schema._zod.pattern;
        +    if (!pattern)
        +        throw new Error("Pattern not found in template literal");
        +    _json.type = "string";
        +    _json.pattern = pattern.source;
        +};
        +const json_schema_processors_fileProcessor = (schema, _ctx, json, _params) => {
        +    const _json = json;
        +    const file = {
        +        type: "string",
        +        format: "binary",
        +        contentEncoding: "binary",
        +    };
        +    const { minimum, maximum, mime } = schema._zod.bag;
        +    if (minimum !== undefined)
        +        file.minLength = minimum;
        +    if (maximum !== undefined)
        +        file.maxLength = maximum;
        +    if (mime) {
        +        if (mime.length === 1) {
        +            file.contentMediaType = mime[0];
        +            Object.assign(_json, file);
        +        }
        +        else {
        +            Object.assign(_json, file); // shared props at root
        +            _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs
        +        }
        +    }
        +    else {
        +        Object.assign(_json, file);
        +    }
        +};
        +const json_schema_processors_successProcessor = (_schema, _ctx, json, _params) => {
        +    json.type = "boolean";
        +};
        +const json_schema_processors_customProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Custom types cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_functionProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Function types cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_transformProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Transforms cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_mapProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Map cannot be represented in JSON Schema");
        +    }
        +};
        +const json_schema_processors_setProcessor = (_schema, ctx, _json, _params) => {
        +    if (ctx.unrepresentable === "throw") {
        +        throw new Error("Set cannot be represented in JSON Schema");
        +    }
        +};
        +// ==================== COMPOSITE TYPE PROCESSORS ====================
        +const json_schema_processors_arrayProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    const { minimum, maximum } = schema._zod.bag;
        +    if (typeof minimum === "number")
        +        json.minItems = minimum;
        +    if (typeof maximum === "number")
        +        json.maxItems = maximum;
        +    json.type = "array";
        +    json.items = core_to_json_schema_process(def.element, ctx, { ...params, path: [...params.path, "items"] });
        +};
        +const json_schema_processors_objectProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    json.type = "object";
        +    json.properties = {};
        +    const shape = def.shape;
        +    for (const key in shape) {
        +        json.properties[key] = core_to_json_schema_process(shape[key], ctx, {
        +            ...params,
        +            path: [...params.path, "properties", key],
        +        });
        +    }
        +    // required keys
        +    const allKeys = new Set(Object.keys(shape));
        +    const requiredKeys = new Set([...allKeys].filter((key) => {
        +        const v = def.shape[key]._zod;
        +        if (ctx.io === "input") {
        +            return v.optin === undefined;
        +        }
        +        else {
        +            return v.optout === undefined;
        +        }
        +    }));
        +    if (requiredKeys.size > 0) {
        +        json.required = Array.from(requiredKeys);
        +    }
        +    // catchall
        +    if (def.catchall?._zod.def.type === "never") {
        +        // strict
        +        json.additionalProperties = false;
        +    }
        +    else if (!def.catchall) {
        +        // regular
        +        if (ctx.io === "output")
        +            json.additionalProperties = false;
        +    }
        +    else if (def.catchall) {
        +        json.additionalProperties = core_to_json_schema_process(def.catchall, ctx, {
        +            ...params,
        +            path: [...params.path, "additionalProperties"],
        +        });
        +    }
        +};
        +const json_schema_processors_unionProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches)
        +    // This includes both z.xor() and discriminated unions
        +    const isExclusive = def.inclusive === false;
        +    const options = def.options.map((x, i) => core_to_json_schema_process(x, ctx, {
        +        ...params,
        +        path: [...params.path, isExclusive ? "oneOf" : "anyOf", i],
        +    }));
        +    if (isExclusive) {
        +        json.oneOf = options;
        +    }
        +    else {
        +        json.anyOf = options;
        +    }
        +};
        +const json_schema_processors_intersectionProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    const a = core_to_json_schema_process(def.left, ctx, {
        +        ...params,
        +        path: [...params.path, "allOf", 0],
        +    });
        +    const b = core_to_json_schema_process(def.right, ctx, {
        +        ...params,
        +        path: [...params.path, "allOf", 1],
        +    });
        +    const isSimpleIntersection = (val) => "allOf" in val && Object.keys(val).length === 1;
        +    const allOf = [
        +        ...(isSimpleIntersection(a) ? a.allOf : [a]),
        +        ...(isSimpleIntersection(b) ? b.allOf : [b]),
        +    ];
        +    json.allOf = allOf;
        +};
        +const json_schema_processors_tupleProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    json.type = "array";
        +    const prefixPath = ctx.target === "draft-2020-12" ? "prefixItems" : "items";
        +    const restPath = ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
        +    const prefixItems = def.items.map((x, i) => core_to_json_schema_process(x, ctx, {
        +        ...params,
        +        path: [...params.path, prefixPath, i],
        +    }));
        +    const rest = def.rest
        +        ? core_to_json_schema_process(def.rest, ctx, {
        +            ...params,
        +            path: [...params.path, restPath, ...(ctx.target === "openapi-3.0" ? [def.items.length] : [])],
        +        })
        +        : null;
        +    if (ctx.target === "draft-2020-12") {
        +        json.prefixItems = prefixItems;
        +        if (rest) {
        +            json.items = rest;
        +        }
        +    }
        +    else if (ctx.target === "openapi-3.0") {
        +        json.items = {
        +            anyOf: prefixItems,
        +        };
        +        if (rest) {
        +            json.items.anyOf.push(rest);
        +        }
        +        json.minItems = prefixItems.length;
        +        if (!rest) {
        +            json.maxItems = prefixItems.length;
        +        }
        +    }
        +    else {
        +        json.items = prefixItems;
        +        if (rest) {
        +            json.additionalItems = rest;
        +        }
        +    }
        +    // length
        +    const { minimum, maximum } = schema._zod.bag;
        +    if (typeof minimum === "number")
        +        json.minItems = minimum;
        +    if (typeof maximum === "number")
        +        json.maxItems = maximum;
        +};
        +const json_schema_processors_recordProcessor = (schema, ctx, _json, params) => {
        +    const json = _json;
        +    const def = schema._zod.def;
        +    json.type = "object";
        +    // For looseRecord with regex patterns, use patternProperties
        +    // This correctly represents "only validate keys matching the pattern" semantics
        +    // and composes well with allOf (intersections)
        +    const keyType = def.keyType;
        +    const keyBag = keyType._zod.bag;
        +    const patterns = keyBag?.patterns;
        +    if (def.mode === "loose" && patterns && patterns.size > 0) {
        +        // Use patternProperties for looseRecord with regex patterns
        +        const valueSchema = core_to_json_schema_process(def.valueType, ctx, {
        +            ...params,
        +            path: [...params.path, "patternProperties", "*"],
        +        });
        +        json.patternProperties = {};
        +        for (const pattern of patterns) {
        +            json.patternProperties[pattern.source] = valueSchema;
        +        }
        +    }
        +    else {
        +        // Default behavior: use propertyNames + additionalProperties
        +        if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") {
        +            json.propertyNames = core_to_json_schema_process(def.keyType, ctx, {
        +                ...params,
        +                path: [...params.path, "propertyNames"],
        +            });
        +        }
        +        json.additionalProperties = core_to_json_schema_process(def.valueType, ctx, {
        +            ...params,
        +            path: [...params.path, "additionalProperties"],
        +        });
        +    }
        +    // Add required for keys with discrete values (enum, literal, etc.)
        +    const keyValues = keyType._zod.values;
        +    if (keyValues) {
        +        const validKeyValues = [...keyValues].filter((v) => typeof v === "string" || typeof v === "number");
        +        if (validKeyValues.length > 0) {
        +            json.required = validKeyValues;
        +        }
        +    }
        +};
        +const json_schema_processors_nullableProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    const inner = core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    if (ctx.target === "openapi-3.0") {
        +        seen.ref = def.innerType;
        +        json.nullable = true;
        +    }
        +    else {
        +        json.anyOf = [inner, { type: "null" }];
        +    }
        +};
        +const json_schema_processors_nonoptionalProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +};
        +const json_schema_processors_defaultProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    json.default = JSON.parse(JSON.stringify(def.defaultValue));
        +};
        +const json_schema_processors_prefaultProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    if (ctx.io === "input")
        +        json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
        +};
        +const json_schema_processors_catchProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    let catchValue;
        +    try {
        +        catchValue = def.catchValue(undefined);
        +    }
        +    catch {
        +        throw new Error("Dynamic catch values are not supported in JSON Schema");
        +    }
        +    json.default = catchValue;
        +};
        +const json_schema_processors_pipeProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    const innerType = ctx.io === "input" ? (def.in._zod.def.type === "transform" ? def.out : def.in) : def.out;
        +    core_to_json_schema_process(innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = innerType;
        +};
        +const json_schema_processors_readonlyProcessor = (schema, ctx, json, params) => {
        +    const def = schema._zod.def;
        +    core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +    json.readOnly = true;
        +};
        +const json_schema_processors_promiseProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +};
        +const json_schema_processors_optionalProcessor = (schema, ctx, _json, params) => {
        +    const def = schema._zod.def;
        +    core_to_json_schema_process(def.innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = def.innerType;
        +};
        +const json_schema_processors_lazyProcessor = (schema, ctx, _json, params) => {
        +    const innerType = schema._zod.innerType;
        +    core_to_json_schema_process(innerType, ctx, params);
        +    const seen = ctx.seen.get(schema);
        +    seen.ref = innerType;
        +};
        +// ==================== ALL PROCESSORS ====================
        +const json_schema_processors_allProcessors = {
        +    string: json_schema_processors_stringProcessor,
        +    number: json_schema_processors_numberProcessor,
        +    boolean: json_schema_processors_booleanProcessor,
        +    bigint: json_schema_processors_bigintProcessor,
        +    symbol: json_schema_processors_symbolProcessor,
        +    null: json_schema_processors_nullProcessor,
        +    undefined: json_schema_processors_undefinedProcessor,
        +    void: json_schema_processors_voidProcessor,
        +    never: json_schema_processors_neverProcessor,
        +    any: json_schema_processors_anyProcessor,
        +    unknown: json_schema_processors_unknownProcessor,
        +    date: json_schema_processors_dateProcessor,
        +    enum: json_schema_processors_enumProcessor,
        +    literal: json_schema_processors_literalProcessor,
        +    nan: json_schema_processors_nanProcessor,
        +    template_literal: json_schema_processors_templateLiteralProcessor,
        +    file: json_schema_processors_fileProcessor,
        +    success: json_schema_processors_successProcessor,
        +    custom: json_schema_processors_customProcessor,
        +    function: json_schema_processors_functionProcessor,
        +    transform: json_schema_processors_transformProcessor,
        +    map: json_schema_processors_mapProcessor,
        +    set: json_schema_processors_setProcessor,
        +    array: json_schema_processors_arrayProcessor,
        +    object: json_schema_processors_objectProcessor,
        +    union: json_schema_processors_unionProcessor,
        +    intersection: json_schema_processors_intersectionProcessor,
        +    tuple: json_schema_processors_tupleProcessor,
        +    record: json_schema_processors_recordProcessor,
        +    nullable: json_schema_processors_nullableProcessor,
        +    nonoptional: json_schema_processors_nonoptionalProcessor,
        +    default: json_schema_processors_defaultProcessor,
        +    prefault: json_schema_processors_prefaultProcessor,
        +    catch: json_schema_processors_catchProcessor,
        +    pipe: json_schema_processors_pipeProcessor,
        +    readonly: json_schema_processors_readonlyProcessor,
        +    promise: json_schema_processors_promiseProcessor,
        +    optional: json_schema_processors_optionalProcessor,
        +    lazy: json_schema_processors_lazyProcessor,
        +};
        +function json_schema_processors_toJSONSchema(input, params) {
        +    if ("_idmap" in input) {
        +        // Registry case
        +        const registry = input;
        +        const ctx = core_json_schema_processors_initializeContext({ ...params, processors: json_schema_processors_allProcessors });
        +        const defs = {};
        +        // First pass: process all schemas to build the seen map
        +        for (const entry of registry._idmap.entries()) {
        +            const [_, schema] = entry;
        +            core_json_schema_processors_process(schema, ctx);
        +        }
        +        const schemas = {};
        +        const external = {
        +            registry,
        +            uri: params?.uri,
        +            defs,
        +        };
        +        // Update the context with external configuration
        +        ctx.external = external;
        +        // Second pass: emit each schema
        +        for (const entry of registry._idmap.entries()) {
        +            const [key, schema] = entry;
        +            core_json_schema_processors_extractDefs(ctx, schema);
        +            schemas[key] = core_json_schema_processors_finalize(ctx, schema);
        +        }
        +        if (Object.keys(defs).length > 0) {
        +            const defsSegment = ctx.target === "draft-2020-12" ? "$defs" : "definitions";
        +            schemas.__shared = {
        +                [defsSegment]: defs,
        +            };
        +        }
        +        return { schemas };
        +    }
        +    // Single schema case
        +    const ctx = core_json_schema_processors_initializeContext({ ...params, processors: json_schema_processors_allProcessors });
        +    core_json_schema_processors_process(input, ctx);
        +    core_json_schema_processors_extractDefs(ctx, input);
        +    return core_json_schema_processors_finalize(ctx, input);
        +}
        +
        +;// ./node_modules/zod/v4/core/json-schema-generator.js
        +/* unused harmony import specifier */ var core_json_schema_generator_allProcessors;
        +/* unused harmony import specifier */ var core_json_schema_generator_initializeContext;
        +/* unused harmony import specifier */ var core_json_schema_generator_process;
        +/* unused harmony import specifier */ var core_json_schema_generator_extractDefs;
        +/* unused harmony import specifier */ var core_json_schema_generator_finalize;
        +
        +
        +/**
        + * Legacy class-based interface for JSON Schema generation.
        + * This class wraps the new functional implementation to provide backward compatibility.
        + *
        + * @deprecated Use the `toJSONSchema` function instead for new code.
        + *
        + * @example
        + * ```typescript
        + * // Legacy usage (still supported)
        + * const gen = new JSONSchemaGenerator({ target: "draft-07" });
        + * gen.process(schema);
        + * const result = gen.emit(schema);
        + *
        + * // Preferred modern usage
        + * const result = toJSONSchema(schema, { target: "draft-07" });
        + * ```
        + */
        +class json_schema_generator_JSONSchemaGenerator {
        +    /** @deprecated Access via ctx instead */
        +    get metadataRegistry() {
        +        return this.ctx.metadataRegistry;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get target() {
        +        return this.ctx.target;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get unrepresentable() {
        +        return this.ctx.unrepresentable;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get override() {
        +        return this.ctx.override;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get io() {
        +        return this.ctx.io;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get counter() {
        +        return this.ctx.counter;
        +    }
        +    set counter(value) {
        +        this.ctx.counter = value;
        +    }
        +    /** @deprecated Access via ctx instead */
        +    get seen() {
        +        return this.ctx.seen;
        +    }
        +    constructor(params) {
        +        // Normalize target for internal context
        +        let normalizedTarget = params?.target ?? "draft-2020-12";
        +        if (normalizedTarget === "draft-4")
        +            normalizedTarget = "draft-04";
        +        if (normalizedTarget === "draft-7")
        +            normalizedTarget = "draft-07";
        +        this.ctx = core_json_schema_generator_initializeContext({
        +            processors: core_json_schema_generator_allProcessors,
        +            target: normalizedTarget,
        +            ...(params?.metadata && { metadata: params.metadata }),
        +            ...(params?.unrepresentable && { unrepresentable: params.unrepresentable }),
        +            ...(params?.override && { override: params.override }),
        +            ...(params?.io && { io: params.io }),
        +        });
        +    }
        +    /**
        +     * Process a schema to prepare it for JSON Schema generation.
        +     * This must be called before emit().
        +     */
        +    process(schema, _params = { path: [], schemaPath: [] }) {
        +        return core_json_schema_generator_process(schema, this.ctx, _params);
        +    }
        +    /**
        +     * Emit the final JSON Schema after processing.
        +     * Must call process() first.
        +     */
        +    emit(schema, _params) {
        +        // Apply emit params to the context
        +        if (_params) {
        +            if (_params.cycles)
        +                this.ctx.cycles = _params.cycles;
        +            if (_params.reused)
        +                this.ctx.reused = _params.reused;
        +            if (_params.external)
        +                this.ctx.external = _params.external;
        +        }
        +        core_json_schema_generator_extractDefs(this.ctx, schema);
        +        const result = core_json_schema_generator_finalize(this.ctx, schema);
        +        // Strip ~standard property to match old implementation's return type
        +        const { "~standard": _, ...plainResult } = result;
        +        return plainResult;
        +    }
        +}
        +
        +;// ./node_modules/zod/v4/core/index.js
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +;// ./node_modules/zod/v4/classic/checks.js
        +
        +
        +;// ./node_modules/zod/v4/classic/iso.js
        +
        +
        +const iso_ZodISODateTime = /*@__PURE__*/ core_$constructor("ZodISODateTime", (inst, def) => {
        +    schemas_$ZodISODateTime.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_iso_datetime(params) {
        +    return api_isoDateTime(iso_ZodISODateTime, params);
        +}
        +const iso_ZodISODate = /*@__PURE__*/ core_$constructor("ZodISODate", (inst, def) => {
        +    schemas_$ZodISODate.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_iso_date(params) {
        +    return api_isoDate(iso_ZodISODate, params);
        +}
        +const iso_ZodISOTime = /*@__PURE__*/ core_$constructor("ZodISOTime", (inst, def) => {
        +    schemas_$ZodISOTime.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_iso_time(params) {
        +    return api_isoTime(iso_ZodISOTime, params);
        +}
        +const iso_ZodISODuration = /*@__PURE__*/ core_$constructor("ZodISODuration", (inst, def) => {
        +    schemas_$ZodISODuration.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_iso_duration(params) {
        +    return api_isoDuration(iso_ZodISODuration, params);
        +}
        +
        +;// ./node_modules/zod/v4/classic/errors.js
        +
        +
        +
        +const classic_errors_initializer = (inst, issues) => {
        +    errors_$ZodError.init(inst, issues);
        +    inst.name = "ZodError";
        +    Object.defineProperties(inst, {
        +        format: {
        +            value: (mapper) => errors_formatError(inst, mapper),
        +            // enumerable: false,
        +        },
        +        flatten: {
        +            value: (mapper) => errors_flattenError(inst, mapper),
        +            // enumerable: false,
        +        },
        +        addIssue: {
        +            value: (issue) => {
        +                inst.issues.push(issue);
        +                inst.message = JSON.stringify(inst.issues, util_jsonStringifyReplacer, 2);
        +            },
        +            // enumerable: false,
        +        },
        +        addIssues: {
        +            value: (issues) => {
        +                inst.issues.push(...issues);
        +                inst.message = JSON.stringify(inst.issues, util_jsonStringifyReplacer, 2);
        +            },
        +            // enumerable: false,
        +        },
        +        isEmpty: {
        +            get() {
        +                return inst.issues.length === 0;
        +            },
        +            // enumerable: false,
        +        },
        +    });
        +    // Object.defineProperty(inst, "isEmpty", {
        +    //   get() {
        +    //     return inst.issues.length === 0;
        +    //   },
        +    // });
        +};
        +const errors_ZodError = core_$constructor("ZodError", classic_errors_initializer);
        +const errors_ZodRealError = core_$constructor("ZodError", classic_errors_initializer, {
        +    Parent: Error,
        +});
        +// /** @deprecated Use `z.core.$ZodErrorMapCtx` instead. */
        +// export type ErrorMapCtx = core.$ZodErrorMapCtx;
        +
        +;// ./node_modules/zod/v4/classic/parse.js
        +
        +
        +const v4_classic_parse_parse = /* @__PURE__ */ core_parse_parse(errors_ZodRealError);
        +const classic_parse_parseAsync = /* @__PURE__ */ core_parse_parseAsync(errors_ZodRealError);
        +const classic_parse_safeParse = /* @__PURE__ */ core_parse_safeParse(errors_ZodRealError);
        +const classic_parse_safeParseAsync = /* @__PURE__ */ core_parse_safeParseAsync(errors_ZodRealError);
        +// Codec functions
        +const classic_parse_encode = /* @__PURE__ */ core_parse_encode(errors_ZodRealError);
        +const classic_parse_decode = /* @__PURE__ */ core_parse_decode(errors_ZodRealError);
        +const classic_parse_encodeAsync = /* @__PURE__ */ core_parse_encodeAsync(errors_ZodRealError);
        +const classic_parse_decodeAsync = /* @__PURE__ */ core_parse_decodeAsync(errors_ZodRealError);
        +const classic_parse_safeEncode = /* @__PURE__ */ core_parse_safeEncode(errors_ZodRealError);
        +const classic_parse_safeDecode = /* @__PURE__ */ core_parse_safeDecode(errors_ZodRealError);
        +const classic_parse_safeEncodeAsync = /* @__PURE__ */ core_parse_safeEncodeAsync(errors_ZodRealError);
        +const classic_parse_safeDecodeAsync = /* @__PURE__ */ core_parse_safeDecodeAsync(errors_ZodRealError);
        +
        +;// ./node_modules/zod/v4/classic/schemas.js
        +
        +
        +
        +
        +
        +
        +
        +const schemas_ZodType = /*@__PURE__*/ core_$constructor("ZodType", (inst, def) => {
        +    schemas_$ZodType.init(inst, def);
        +    Object.assign(inst["~standard"], {
        +        jsonSchema: {
        +            input: to_json_schema_createStandardJSONSchemaMethod(inst, "input"),
        +            output: to_json_schema_createStandardJSONSchemaMethod(inst, "output"),
        +        },
        +    });
        +    inst.toJSONSchema = to_json_schema_createToJSONSchemaMethod(inst, {});
        +    inst.def = def;
        +    inst.type = def.type;
        +    Object.defineProperty(inst, "_def", { value: def });
        +    // base methods
        +    inst.check = (...checks) => {
        +        return inst.clone(util_mergeDefs(def, {
        +            checks: [
        +                ...(def.checks ?? []),
        +                ...checks.map((ch) => typeof ch === "function" ? { _zod: { check: ch, def: { check: "custom" }, onattach: [] } } : ch),
        +            ],
        +        }), {
        +            parent: true,
        +        });
        +    };
        +    inst.with = inst.check;
        +    inst.clone = (def, params) => util_clone(inst, def, params);
        +    inst.brand = () => inst;
        +    inst.register = ((reg, meta) => {
        +        reg.add(inst, meta);
        +        return inst;
        +    });
        +    // parsing
        +    inst.parse = (data, params) => v4_classic_parse_parse(inst, data, params, { callee: inst.parse });
        +    inst.safeParse = (data, params) => classic_parse_safeParse(inst, data, params);
        +    inst.parseAsync = async (data, params) => classic_parse_parseAsync(inst, data, params, { callee: inst.parseAsync });
        +    inst.safeParseAsync = async (data, params) => classic_parse_safeParseAsync(inst, data, params);
        +    inst.spa = inst.safeParseAsync;
        +    // encoding/decoding
        +    inst.encode = (data, params) => classic_parse_encode(inst, data, params);
        +    inst.decode = (data, params) => classic_parse_decode(inst, data, params);
        +    inst.encodeAsync = async (data, params) => classic_parse_encodeAsync(inst, data, params);
        +    inst.decodeAsync = async (data, params) => classic_parse_decodeAsync(inst, data, params);
        +    inst.safeEncode = (data, params) => classic_parse_safeEncode(inst, data, params);
        +    inst.safeDecode = (data, params) => classic_parse_safeDecode(inst, data, params);
        +    inst.safeEncodeAsync = async (data, params) => classic_parse_safeEncodeAsync(inst, data, params);
        +    inst.safeDecodeAsync = async (data, params) => classic_parse_safeDecodeAsync(inst, data, params);
        +    // refinements
        +    inst.refine = (check, params) => inst.check(schemas_refine(check, params));
        +    inst.superRefine = (refinement) => inst.check(schemas_superRefine(refinement));
        +    inst.overwrite = (fn) => inst.check(api_overwrite(fn));
        +    // wrappers
        +    inst.optional = () => schemas_optional(inst);
        +    inst.exactOptional = () => schemas_exactOptional(inst);
        +    inst.nullable = () => schemas_nullable(inst);
        +    inst.nullish = () => schemas_optional(schemas_nullable(inst));
        +    inst.nonoptional = (params) => schemas_nonoptional(inst, params);
        +    inst.array = () => schemas_array(inst);
        +    inst.or = (arg) => schemas_union([inst, arg]);
        +    inst.and = (arg) => schemas_intersection(inst, arg);
        +    inst.transform = (tx) => schemas_pipe(inst, schemas_transform(tx));
        +    inst.default = (def) => classic_schemas_default(inst, def);
        +    inst.prefault = (def) => schemas_prefault(inst, def);
        +    // inst.coalesce = (def, params) => coalesce(inst, def, params);
        +    inst.catch = (params) => classic_schemas_catch(inst, params);
        +    inst.pipe = (target) => schemas_pipe(inst, target);
        +    inst.readonly = () => schemas_readonly(inst);
        +    // meta
        +    inst.describe = (description) => {
        +        const cl = inst.clone();
        +        registries_globalRegistry.add(cl, { description });
        +        return cl;
        +    };
        +    Object.defineProperty(inst, "description", {
        +        get() {
        +            return registries_globalRegistry.get(inst)?.description;
        +        },
        +        configurable: true,
        +    });
        +    inst.meta = (...args) => {
        +        if (args.length === 0) {
        +            return registries_globalRegistry.get(inst);
        +        }
        +        const cl = inst.clone();
        +        registries_globalRegistry.add(cl, args[0]);
        +        return cl;
        +    };
        +    // helpers
        +    inst.isOptional = () => inst.safeParse(undefined).success;
        +    inst.isNullable = () => inst.safeParse(null).success;
        +    inst.apply = (fn) => fn(inst);
        +    return inst;
        +});
        +/** @internal */
        +const schemas_ZodString = /*@__PURE__*/ core_$constructor("_ZodString", (inst, def) => {
        +    schemas_$ZodString.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_stringProcessor(inst, ctx, json, params);
        +    const bag = inst._zod.bag;
        +    inst.format = bag.format ?? null;
        +    inst.minLength = bag.minimum ?? null;
        +    inst.maxLength = bag.maximum ?? null;
        +    // validations
        +    inst.regex = (...args) => inst.check(api_regex(...args));
        +    inst.includes = (...args) => inst.check(api_includes(...args));
        +    inst.startsWith = (...args) => inst.check(api_startsWith(...args));
        +    inst.endsWith = (...args) => inst.check(api_endsWith(...args));
        +    inst.min = (...args) => inst.check(api_minLength(...args));
        +    inst.max = (...args) => inst.check(api_maxLength(...args));
        +    inst.length = (...args) => inst.check(api_length(...args));
        +    inst.nonempty = (...args) => inst.check(api_minLength(1, ...args));
        +    inst.lowercase = (params) => inst.check(api_lowercase(params));
        +    inst.uppercase = (params) => inst.check(api_uppercase(params));
        +    // transforms
        +    inst.trim = () => inst.check(api_trim());
        +    inst.normalize = (...args) => inst.check(api_normalize(...args));
        +    inst.toLowerCase = () => inst.check(api_toLowerCase());
        +    inst.toUpperCase = () => inst.check(api_toUpperCase());
        +    inst.slugify = () => inst.check(api_slugify());
        +});
        +const classic_schemas_ZodString = /*@__PURE__*/ core_$constructor("ZodString", (inst, def) => {
        +    schemas_$ZodString.init(inst, def);
        +    schemas_ZodString.init(inst, def);
        +    inst.email = (params) => inst.check(api_email(schemas_ZodEmail, params));
        +    inst.url = (params) => inst.check(api_url(schemas_ZodURL, params));
        +    inst.jwt = (params) => inst.check(api_jwt(schemas_ZodJWT, params));
        +    inst.emoji = (params) => inst.check(core_api_emoji(schemas_ZodEmoji, params));
        +    inst.guid = (params) => inst.check(api_guid(schemas_ZodGUID, params));
        +    inst.uuid = (params) => inst.check(api_uuid(schemas_ZodUUID, params));
        +    inst.uuidv4 = (params) => inst.check(api_uuidv4(schemas_ZodUUID, params));
        +    inst.uuidv6 = (params) => inst.check(api_uuidv6(schemas_ZodUUID, params));
        +    inst.uuidv7 = (params) => inst.check(api_uuidv7(schemas_ZodUUID, params));
        +    inst.nanoid = (params) => inst.check(api_nanoid(schemas_ZodNanoID, params));
        +    inst.guid = (params) => inst.check(api_guid(schemas_ZodGUID, params));
        +    inst.cuid = (params) => inst.check(api_cuid(schemas_ZodCUID, params));
        +    inst.cuid2 = (params) => inst.check(api_cuid2(schemas_ZodCUID2, params));
        +    inst.ulid = (params) => inst.check(api_ulid(schemas_ZodULID, params));
        +    inst.base64 = (params) => inst.check(api_base64(schemas_ZodBase64, params));
        +    inst.base64url = (params) => inst.check(api_base64url(schemas_ZodBase64URL, params));
        +    inst.xid = (params) => inst.check(api_xid(schemas_ZodXID, params));
        +    inst.ksuid = (params) => inst.check(api_ksuid(schemas_ZodKSUID, params));
        +    inst.ipv4 = (params) => inst.check(api_ipv4(schemas_ZodIPv4, params));
        +    inst.ipv6 = (params) => inst.check(api_ipv6(schemas_ZodIPv6, params));
        +    inst.cidrv4 = (params) => inst.check(api_cidrv4(schemas_ZodCIDRv4, params));
        +    inst.cidrv6 = (params) => inst.check(api_cidrv6(schemas_ZodCIDRv6, params));
        +    inst.e164 = (params) => inst.check(api_e164(schemas_ZodE164, params));
        +    // iso
        +    inst.datetime = (params) => inst.check(classic_iso_datetime(params));
        +    inst.date = (params) => inst.check(classic_iso_date(params));
        +    inst.time = (params) => inst.check(classic_iso_time(params));
        +    inst.duration = (params) => inst.check(classic_iso_duration(params));
        +});
        +function classic_schemas_string(params) {
        +    return api_string(classic_schemas_ZodString, params);
        +}
        +const schemas_ZodStringFormat = /*@__PURE__*/ core_$constructor("ZodStringFormat", (inst, def) => {
        +    schemas_$ZodStringFormat.init(inst, def);
        +    schemas_ZodString.init(inst, def);
        +});
        +const schemas_ZodEmail = /*@__PURE__*/ core_$constructor("ZodEmail", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodEmail.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_email(params) {
        +    return api_email(schemas_ZodEmail, params);
        +}
        +const schemas_ZodGUID = /*@__PURE__*/ core_$constructor("ZodGUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodGUID.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_guid(params) {
        +    return api_guid(schemas_ZodGUID, params);
        +}
        +const schemas_ZodUUID = /*@__PURE__*/ core_$constructor("ZodUUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodUUID.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_uuid(params) {
        +    return api_uuid(schemas_ZodUUID, params);
        +}
        +function schemas_uuidv4(params) {
        +    return api_uuidv4(schemas_ZodUUID, params);
        +}
        +// ZodUUIDv6
        +function schemas_uuidv6(params) {
        +    return api_uuidv6(schemas_ZodUUID, params);
        +}
        +// ZodUUIDv7
        +function schemas_uuidv7(params) {
        +    return api_uuidv7(schemas_ZodUUID, params);
        +}
        +const schemas_ZodURL = /*@__PURE__*/ core_$constructor("ZodURL", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodURL.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function schemas_url(params) {
        +    return api_url(schemas_ZodURL, params);
        +}
        +function schemas_httpUrl(params) {
        +    return api_url(schemas_ZodURL, {
        +        protocol: /^https?$/,
        +        hostname: regexes_domain,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodEmoji = /*@__PURE__*/ core_$constructor("ZodEmoji", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodEmoji.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_emoji(params) {
        +    return core_api_emoji(schemas_ZodEmoji, params);
        +}
        +const schemas_ZodNanoID = /*@__PURE__*/ core_$constructor("ZodNanoID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodNanoID.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_nanoid(params) {
        +    return api_nanoid(schemas_ZodNanoID, params);
        +}
        +const schemas_ZodCUID = /*@__PURE__*/ core_$constructor("ZodCUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodCUID.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_cuid(params) {
        +    return api_cuid(schemas_ZodCUID, params);
        +}
        +const schemas_ZodCUID2 = /*@__PURE__*/ core_$constructor("ZodCUID2", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodCUID2.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_cuid2(params) {
        +    return api_cuid2(schemas_ZodCUID2, params);
        +}
        +const schemas_ZodULID = /*@__PURE__*/ core_$constructor("ZodULID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodULID.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_ulid(params) {
        +    return api_ulid(schemas_ZodULID, params);
        +}
        +const schemas_ZodXID = /*@__PURE__*/ core_$constructor("ZodXID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodXID.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_xid(params) {
        +    return api_xid(schemas_ZodXID, params);
        +}
        +const schemas_ZodKSUID = /*@__PURE__*/ core_$constructor("ZodKSUID", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodKSUID.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_ksuid(params) {
        +    return api_ksuid(schemas_ZodKSUID, params);
        +}
        +const schemas_ZodIPv4 = /*@__PURE__*/ core_$constructor("ZodIPv4", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodIPv4.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_ipv4(params) {
        +    return api_ipv4(schemas_ZodIPv4, params);
        +}
        +const schemas_ZodMAC = /*@__PURE__*/ core_$constructor("ZodMAC", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodMAC.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_mac(params) {
        +    return api_mac(schemas_ZodMAC, params);
        +}
        +const schemas_ZodIPv6 = /*@__PURE__*/ core_$constructor("ZodIPv6", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodIPv6.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_ipv6(params) {
        +    return api_ipv6(schemas_ZodIPv6, params);
        +}
        +const schemas_ZodCIDRv4 = /*@__PURE__*/ core_$constructor("ZodCIDRv4", (inst, def) => {
        +    schemas_$ZodCIDRv4.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_cidrv4(params) {
        +    return api_cidrv4(schemas_ZodCIDRv4, params);
        +}
        +const schemas_ZodCIDRv6 = /*@__PURE__*/ core_$constructor("ZodCIDRv6", (inst, def) => {
        +    schemas_$ZodCIDRv6.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_cidrv6(params) {
        +    return api_cidrv6(schemas_ZodCIDRv6, params);
        +}
        +const schemas_ZodBase64 = /*@__PURE__*/ core_$constructor("ZodBase64", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodBase64.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_base64(params) {
        +    return api_base64(schemas_ZodBase64, params);
        +}
        +const schemas_ZodBase64URL = /*@__PURE__*/ core_$constructor("ZodBase64URL", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodBase64URL.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_base64url(params) {
        +    return api_base64url(schemas_ZodBase64URL, params);
        +}
        +const schemas_ZodE164 = /*@__PURE__*/ core_$constructor("ZodE164", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodE164.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function classic_schemas_e164(params) {
        +    return api_e164(schemas_ZodE164, params);
        +}
        +const schemas_ZodJWT = /*@__PURE__*/ core_$constructor("ZodJWT", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodJWT.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function schemas_jwt(params) {
        +    return api_jwt(schemas_ZodJWT, params);
        +}
        +const schemas_ZodCustomStringFormat = /*@__PURE__*/ core_$constructor("ZodCustomStringFormat", (inst, def) => {
        +    // ZodStringFormat.init(inst, def);
        +    schemas_$ZodCustomStringFormat.init(inst, def);
        +    schemas_ZodStringFormat.init(inst, def);
        +});
        +function schemas_stringFormat(format, fnOrRegex, _params = {}) {
        +    return api_stringFormat(schemas_ZodCustomStringFormat, format, fnOrRegex, _params);
        +}
        +function classic_schemas_hostname(_params) {
        +    return api_stringFormat(schemas_ZodCustomStringFormat, "hostname", regexes_hostname, _params);
        +}
        +function classic_schemas_hex(_params) {
        +    return api_stringFormat(schemas_ZodCustomStringFormat, "hex", regexes_hex, _params);
        +}
        +function schemas_hash(alg, params) {
        +    const enc = params?.enc ?? "hex";
        +    const format = `${alg}_${enc}`;
        +    const regex = core_regexes_namespaceObject[format];
        +    if (!regex)
        +        throw new Error(`Unrecognized hash format: ${format}`);
        +    return api_stringFormat(schemas_ZodCustomStringFormat, format, regex, params);
        +}
        +const schemas_ZodNumber = /*@__PURE__*/ core_$constructor("ZodNumber", (inst, def) => {
        +    schemas_$ZodNumber.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_numberProcessor(inst, ctx, json, params);
        +    inst.gt = (value, params) => inst.check(api_gt(value, params));
        +    inst.gte = (value, params) => inst.check(api_gte(value, params));
        +    inst.min = (value, params) => inst.check(api_gte(value, params));
        +    inst.lt = (value, params) => inst.check(api_lt(value, params));
        +    inst.lte = (value, params) => inst.check(api_lte(value, params));
        +    inst.max = (value, params) => inst.check(api_lte(value, params));
        +    inst.int = (params) => inst.check(classic_schemas_int(params));
        +    inst.safe = (params) => inst.check(classic_schemas_int(params));
        +    inst.positive = (params) => inst.check(api_gt(0, params));
        +    inst.nonnegative = (params) => inst.check(api_gte(0, params));
        +    inst.negative = (params) => inst.check(api_lt(0, params));
        +    inst.nonpositive = (params) => inst.check(api_lte(0, params));
        +    inst.multipleOf = (value, params) => inst.check(api_multipleOf(value, params));
        +    inst.step = (value, params) => inst.check(api_multipleOf(value, params));
        +    // inst.finite = (params) => inst.check(core.finite(params));
        +    inst.finite = () => inst;
        +    const bag = inst._zod.bag;
        +    inst.minValue =
        +        Math.max(bag.minimum ?? Number.NEGATIVE_INFINITY, bag.exclusiveMinimum ?? Number.NEGATIVE_INFINITY) ?? null;
        +    inst.maxValue =
        +        Math.min(bag.maximum ?? Number.POSITIVE_INFINITY, bag.exclusiveMaximum ?? Number.POSITIVE_INFINITY) ?? null;
        +    inst.isInt = (bag.format ?? "").includes("int") || Number.isSafeInteger(bag.multipleOf ?? 0.5);
        +    inst.isFinite = true;
        +    inst.format = bag.format ?? null;
        +});
        +function classic_schemas_number(params) {
        +    return api_number(schemas_ZodNumber, params);
        +}
        +const schemas_ZodNumberFormat = /*@__PURE__*/ core_$constructor("ZodNumberFormat", (inst, def) => {
        +    schemas_$ZodNumberFormat.init(inst, def);
        +    schemas_ZodNumber.init(inst, def);
        +});
        +function classic_schemas_int(params) {
        +    return api_int(schemas_ZodNumberFormat, params);
        +}
        +function schemas_float32(params) {
        +    return api_float32(schemas_ZodNumberFormat, params);
        +}
        +function schemas_float64(params) {
        +    return api_float64(schemas_ZodNumberFormat, params);
        +}
        +function schemas_int32(params) {
        +    return api_int32(schemas_ZodNumberFormat, params);
        +}
        +function schemas_uint32(params) {
        +    return api_uint32(schemas_ZodNumberFormat, params);
        +}
        +const schemas_ZodBoolean = /*@__PURE__*/ core_$constructor("ZodBoolean", (inst, def) => {
        +    schemas_$ZodBoolean.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_booleanProcessor(inst, ctx, json, params);
        +});
        +function classic_schemas_boolean(params) {
        +    return api_boolean(schemas_ZodBoolean, params);
        +}
        +const schemas_ZodBigInt = /*@__PURE__*/ core_$constructor("ZodBigInt", (inst, def) => {
        +    schemas_$ZodBigInt.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_bigintProcessor(inst, ctx, json, params);
        +    inst.gte = (value, params) => inst.check(api_gte(value, params));
        +    inst.min = (value, params) => inst.check(api_gte(value, params));
        +    inst.gt = (value, params) => inst.check(api_gt(value, params));
        +    inst.gte = (value, params) => inst.check(api_gte(value, params));
        +    inst.min = (value, params) => inst.check(api_gte(value, params));
        +    inst.lt = (value, params) => inst.check(api_lt(value, params));
        +    inst.lte = (value, params) => inst.check(api_lte(value, params));
        +    inst.max = (value, params) => inst.check(api_lte(value, params));
        +    inst.positive = (params) => inst.check(api_gt(BigInt(0), params));
        +    inst.negative = (params) => inst.check(api_lt(BigInt(0), params));
        +    inst.nonpositive = (params) => inst.check(api_lte(BigInt(0), params));
        +    inst.nonnegative = (params) => inst.check(api_gte(BigInt(0), params));
        +    inst.multipleOf = (value, params) => inst.check(api_multipleOf(value, params));
        +    const bag = inst._zod.bag;
        +    inst.minValue = bag.minimum ?? null;
        +    inst.maxValue = bag.maximum ?? null;
        +    inst.format = bag.format ?? null;
        +});
        +function classic_schemas_bigint(params) {
        +    return api_bigint(schemas_ZodBigInt, params);
        +}
        +const schemas_ZodBigIntFormat = /*@__PURE__*/ core_$constructor("ZodBigIntFormat", (inst, def) => {
        +    schemas_$ZodBigIntFormat.init(inst, def);
        +    schemas_ZodBigInt.init(inst, def);
        +});
        +// int64
        +function schemas_int64(params) {
        +    return api_int64(schemas_ZodBigIntFormat, params);
        +}
        +// uint64
        +function schemas_uint64(params) {
        +    return api_uint64(schemas_ZodBigIntFormat, params);
        +}
        +const schemas_ZodSymbol = /*@__PURE__*/ core_$constructor("ZodSymbol", (inst, def) => {
        +    schemas_$ZodSymbol.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_symbolProcessor(inst, ctx, json, params);
        +});
        +function schemas_symbol(params) {
        +    return api_symbol(schemas_ZodSymbol, params);
        +}
        +const schemas_ZodUndefined = /*@__PURE__*/ core_$constructor("ZodUndefined", (inst, def) => {
        +    schemas_$ZodUndefined.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_undefinedProcessor(inst, ctx, json, params);
        +});
        +function classic_schemas_undefined(params) {
        +    return core_api_undefined(schemas_ZodUndefined, params);
        +}
        +
        +const schemas_ZodNull = /*@__PURE__*/ core_$constructor("ZodNull", (inst, def) => {
        +    schemas_$ZodNull.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_nullProcessor(inst, ctx, json, params);
        +});
        +function classic_schemas_null(params) {
        +    return core_api_null(schemas_ZodNull, params);
        +}
        +
        +const schemas_ZodAny = /*@__PURE__*/ core_$constructor("ZodAny", (inst, def) => {
        +    schemas_$ZodAny.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_anyProcessor(inst, ctx, json, params);
        +});
        +function schemas_any() {
        +    return api_any(schemas_ZodAny);
        +}
        +const schemas_ZodUnknown = /*@__PURE__*/ core_$constructor("ZodUnknown", (inst, def) => {
        +    schemas_$ZodUnknown.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_unknownProcessor(inst, ctx, json, params);
        +});
        +function schemas_unknown() {
        +    return api_unknown(schemas_ZodUnknown);
        +}
        +const schemas_ZodNever = /*@__PURE__*/ core_$constructor("ZodNever", (inst, def) => {
        +    schemas_$ZodNever.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_neverProcessor(inst, ctx, json, params);
        +});
        +function schemas_never(params) {
        +    return api_never(schemas_ZodNever, params);
        +}
        +const schemas_ZodVoid = /*@__PURE__*/ core_$constructor("ZodVoid", (inst, def) => {
        +    schemas_$ZodVoid.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_voidProcessor(inst, ctx, json, params);
        +});
        +function classic_schemas_void(params) {
        +    return api_void(schemas_ZodVoid, params);
        +}
        +
        +const schemas_ZodDate = /*@__PURE__*/ core_$constructor("ZodDate", (inst, def) => {
        +    schemas_$ZodDate.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_dateProcessor(inst, ctx, json, params);
        +    inst.min = (value, params) => inst.check(api_gte(value, params));
        +    inst.max = (value, params) => inst.check(api_lte(value, params));
        +    const c = inst._zod.bag;
        +    inst.minDate = c.minimum ? new Date(c.minimum) : null;
        +    inst.maxDate = c.maximum ? new Date(c.maximum) : null;
        +});
        +function classic_schemas_date(params) {
        +    return api_date(schemas_ZodDate, params);
        +}
        +const schemas_ZodArray = /*@__PURE__*/ core_$constructor("ZodArray", (inst, def) => {
        +    schemas_$ZodArray.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_arrayProcessor(inst, ctx, json, params);
        +    inst.element = def.element;
        +    inst.min = (minLength, params) => inst.check(api_minLength(minLength, params));
        +    inst.nonempty = (params) => inst.check(api_minLength(1, params));
        +    inst.max = (maxLength, params) => inst.check(api_maxLength(maxLength, params));
        +    inst.length = (len, params) => inst.check(api_length(len, params));
        +    inst.unwrap = () => inst.element;
        +});
        +function schemas_array(element, params) {
        +    return api_array(schemas_ZodArray, element, params);
        +}
        +// .keyof
        +function schemas_keyof(schema) {
        +    const shape = schema._zod.def.shape;
        +    return classic_schemas_enum(Object.keys(shape));
        +}
        +const classic_schemas_ZodObject = /*@__PURE__*/ core_$constructor("ZodObject", (inst, def) => {
        +    schemas_$ZodObjectJIT.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_objectProcessor(inst, ctx, json, params);
        +    util_defineLazy(inst, "shape", () => {
        +        return def.shape;
        +    });
        +    inst.keyof = () => classic_schemas_enum(Object.keys(inst._zod.def.shape));
        +    inst.catchall = (catchall) => inst.clone({ ...inst._zod.def, catchall: catchall });
        +    inst.passthrough = () => inst.clone({ ...inst._zod.def, catchall: schemas_unknown() });
        +    inst.loose = () => inst.clone({ ...inst._zod.def, catchall: schemas_unknown() });
        +    inst.strict = () => inst.clone({ ...inst._zod.def, catchall: schemas_never() });
        +    inst.strip = () => inst.clone({ ...inst._zod.def, catchall: undefined });
        +    inst.extend = (incoming) => {
        +        return util_extend(inst, incoming);
        +    };
        +    inst.safeExtend = (incoming) => {
        +        return util_safeExtend(inst, incoming);
        +    };
        +    inst.merge = (other) => util_merge(inst, other);
        +    inst.pick = (mask) => util_pick(inst, mask);
        +    inst.omit = (mask) => util_omit(inst, mask);
        +    inst.partial = (...args) => util_partial(classic_schemas_ZodOptional, inst, args[0]);
        +    inst.required = (...args) => util_required(schemas_ZodNonOptional, inst, args[0]);
        +});
        +function schemas_object(shape, params) {
        +    const def = {
        +        type: "object",
        +        shape: shape ?? {},
        +        ...util_normalizeParams(params),
        +    };
        +    return new classic_schemas_ZodObject(def);
        +}
        +// strictObject
        +function schemas_strictObject(shape, params) {
        +    return new classic_schemas_ZodObject({
        +        type: "object",
        +        shape,
        +        catchall: schemas_never(),
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// looseObject
        +function schemas_looseObject(shape, params) {
        +    return new classic_schemas_ZodObject({
        +        type: "object",
        +        shape,
        +        catchall: schemas_unknown(),
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodUnion = /*@__PURE__*/ core_$constructor("ZodUnion", (inst, def) => {
        +    schemas_$ZodUnion.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_unionProcessor(inst, ctx, json, params);
        +    inst.options = def.options;
        +});
        +function schemas_union(options, params) {
        +    return new schemas_ZodUnion({
        +        type: "union",
        +        options: options,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodXor = /*@__PURE__*/ core_$constructor("ZodXor", (inst, def) => {
        +    schemas_ZodUnion.init(inst, def);
        +    schemas_$ZodXor.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_unionProcessor(inst, ctx, json, params);
        +    inst.options = def.options;
        +});
        +/** Creates an exclusive union (XOR) where exactly one option must match.
        + * Unlike regular unions that succeed when any option matches, xor fails if
        + * zero or more than one option matches the input. */
        +function schemas_xor(options, params) {
        +    return new schemas_ZodXor({
        +        type: "union",
        +        options: options,
        +        inclusive: false,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodDiscriminatedUnion = /*@__PURE__*/ core_$constructor("ZodDiscriminatedUnion", (inst, def) => {
        +    schemas_ZodUnion.init(inst, def);
        +    schemas_$ZodDiscriminatedUnion.init(inst, def);
        +});
        +function schemas_discriminatedUnion(discriminator, options, params) {
        +    // const [options, params] = args;
        +    return new schemas_ZodDiscriminatedUnion({
        +        type: "union",
        +        options,
        +        discriminator,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodIntersection = /*@__PURE__*/ core_$constructor("ZodIntersection", (inst, def) => {
        +    schemas_$ZodIntersection.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_intersectionProcessor(inst, ctx, json, params);
        +});
        +function schemas_intersection(left, right) {
        +    return new schemas_ZodIntersection({
        +        type: "intersection",
        +        left: left,
        +        right: right,
        +    });
        +}
        +const schemas_ZodTuple = /*@__PURE__*/ core_$constructor("ZodTuple", (inst, def) => {
        +    schemas_$ZodTuple.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_tupleProcessor(inst, ctx, json, params);
        +    inst.rest = (rest) => inst.clone({
        +        ...inst._zod.def,
        +        rest: rest,
        +    });
        +});
        +function schemas_tuple(items, _paramsOrRest, _params) {
        +    const hasRest = _paramsOrRest instanceof schemas_$ZodType;
        +    const params = hasRest ? _params : _paramsOrRest;
        +    const rest = hasRest ? _paramsOrRest : null;
        +    return new schemas_ZodTuple({
        +        type: "tuple",
        +        items: items,
        +        rest,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodRecord = /*@__PURE__*/ core_$constructor("ZodRecord", (inst, def) => {
        +    schemas_$ZodRecord.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_recordProcessor(inst, ctx, json, params);
        +    inst.keyType = def.keyType;
        +    inst.valueType = def.valueType;
        +});
        +function schemas_record(keyType, valueType, params) {
        +    return new schemas_ZodRecord({
        +        type: "record",
        +        keyType,
        +        valueType: valueType,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +// type alksjf = core.output;
        +function schemas_partialRecord(keyType, valueType, params) {
        +    const k = util_clone(keyType);
        +    k._zod.values = undefined;
        +    return new schemas_ZodRecord({
        +        type: "record",
        +        keyType: k,
        +        valueType: valueType,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +function schemas_looseRecord(keyType, valueType, params) {
        +    return new schemas_ZodRecord({
        +        type: "record",
        +        keyType,
        +        valueType: valueType,
        +        mode: "loose",
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodMap = /*@__PURE__*/ core_$constructor("ZodMap", (inst, def) => {
        +    schemas_$ZodMap.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_mapProcessor(inst, ctx, json, params);
        +    inst.keyType = def.keyType;
        +    inst.valueType = def.valueType;
        +    inst.min = (...args) => inst.check(api_minSize(...args));
        +    inst.nonempty = (params) => inst.check(api_minSize(1, params));
        +    inst.max = (...args) => inst.check(api_maxSize(...args));
        +    inst.size = (...args) => inst.check(api_size(...args));
        +});
        +function schemas_map(keyType, valueType, params) {
        +    return new schemas_ZodMap({
        +        type: "map",
        +        keyType: keyType,
        +        valueType: valueType,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodSet = /*@__PURE__*/ core_$constructor("ZodSet", (inst, def) => {
        +    schemas_$ZodSet.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_setProcessor(inst, ctx, json, params);
        +    inst.min = (...args) => inst.check(api_minSize(...args));
        +    inst.nonempty = (params) => inst.check(api_minSize(1, params));
        +    inst.max = (...args) => inst.check(api_maxSize(...args));
        +    inst.size = (...args) => inst.check(api_size(...args));
        +});
        +function schemas_set(valueType, params) {
        +    return new schemas_ZodSet({
        +        type: "set",
        +        valueType: valueType,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodEnum = /*@__PURE__*/ core_$constructor("ZodEnum", (inst, def) => {
        +    schemas_$ZodEnum.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_enumProcessor(inst, ctx, json, params);
        +    inst.enum = def.entries;
        +    inst.options = Object.values(def.entries);
        +    const keys = new Set(Object.keys(def.entries));
        +    inst.extract = (values, params) => {
        +        const newEntries = {};
        +        for (const value of values) {
        +            if (keys.has(value)) {
        +                newEntries[value] = def.entries[value];
        +            }
        +            else
        +                throw new Error(`Key ${value} not found in enum`);
        +        }
        +        return new schemas_ZodEnum({
        +            ...def,
        +            checks: [],
        +            ...util_normalizeParams(params),
        +            entries: newEntries,
        +        });
        +    };
        +    inst.exclude = (values, params) => {
        +        const newEntries = { ...def.entries };
        +        for (const value of values) {
        +            if (keys.has(value)) {
        +                delete newEntries[value];
        +            }
        +            else
        +                throw new Error(`Key ${value} not found in enum`);
        +        }
        +        return new schemas_ZodEnum({
        +            ...def,
        +            checks: [],
        +            ...util_normalizeParams(params),
        +            entries: newEntries,
        +        });
        +    };
        +});
        +function classic_schemas_enum(values, params) {
        +    const entries = Array.isArray(values) ? Object.fromEntries(values.map((v) => [v, v])) : values;
        +    return new schemas_ZodEnum({
        +        type: "enum",
        +        entries,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +
        +/** @deprecated This API has been merged into `z.enum()`. Use `z.enum()` instead.
        + *
        + * ```ts
        + * enum Colors { red, green, blue }
        + * z.enum(Colors);
        + * ```
        + */
        +function schemas_nativeEnum(entries, params) {
        +    return new schemas_ZodEnum({
        +        type: "enum",
        +        entries,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodLiteral = /*@__PURE__*/ core_$constructor("ZodLiteral", (inst, def) => {
        +    schemas_$ZodLiteral.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_literalProcessor(inst, ctx, json, params);
        +    inst.values = new Set(def.values);
        +    Object.defineProperty(inst, "value", {
        +        get() {
        +            if (def.values.length > 1) {
        +                throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");
        +            }
        +            return def.values[0];
        +        },
        +    });
        +});
        +function schemas_literal(value, params) {
        +    return new schemas_ZodLiteral({
        +        type: "literal",
        +        values: Array.isArray(value) ? value : [value],
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodFile = /*@__PURE__*/ core_$constructor("ZodFile", (inst, def) => {
        +    schemas_$ZodFile.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_fileProcessor(inst, ctx, json, params);
        +    inst.min = (size, params) => inst.check(api_minSize(size, params));
        +    inst.max = (size, params) => inst.check(api_maxSize(size, params));
        +    inst.mime = (types, params) => inst.check(api_mime(Array.isArray(types) ? types : [types], params));
        +});
        +function classic_schemas_file(params) {
        +    return api_file(schemas_ZodFile, params);
        +}
        +const schemas_ZodTransform = /*@__PURE__*/ core_$constructor("ZodTransform", (inst, def) => {
        +    schemas_$ZodTransform.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_transformProcessor(inst, ctx, json, params);
        +    inst._zod.parse = (payload, _ctx) => {
        +        if (_ctx.direction === "backward") {
        +            throw new core_$ZodEncodeError(inst.constructor.name);
        +        }
        +        payload.addIssue = (issue) => {
        +            if (typeof issue === "string") {
        +                payload.issues.push(core_util_issue(issue, payload.value, def));
        +            }
        +            else {
        +                // for Zod 3 backwards compatibility
        +                const _issue = issue;
        +                if (_issue.fatal)
        +                    _issue.continue = false;
        +                _issue.code ?? (_issue.code = "custom");
        +                _issue.input ?? (_issue.input = payload.value);
        +                _issue.inst ?? (_issue.inst = inst);
        +                // _issue.continue ??= true;
        +                payload.issues.push(core_util_issue(_issue));
        +            }
        +        };
        +        const output = def.transform(payload.value, payload);
        +        if (output instanceof Promise) {
        +            return output.then((output) => {
        +                payload.value = output;
        +                return payload;
        +            });
        +        }
        +        payload.value = output;
        +        return payload;
        +    };
        +});
        +function schemas_transform(fn) {
        +    return new schemas_ZodTransform({
        +        type: "transform",
        +        transform: fn,
        +    });
        +}
        +const classic_schemas_ZodOptional = /*@__PURE__*/ core_$constructor("ZodOptional", (inst, def) => {
        +    schemas_$ZodOptional.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_optionalProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_optional(innerType) {
        +    return new classic_schemas_ZodOptional({
        +        type: "optional",
        +        innerType: innerType,
        +    });
        +}
        +const schemas_ZodExactOptional = /*@__PURE__*/ core_$constructor("ZodExactOptional", (inst, def) => {
        +    schemas_$ZodExactOptional.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_optionalProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_exactOptional(innerType) {
        +    return new schemas_ZodExactOptional({
        +        type: "optional",
        +        innerType: innerType,
        +    });
        +}
        +const schemas_ZodNullable = /*@__PURE__*/ core_$constructor("ZodNullable", (inst, def) => {
        +    schemas_$ZodNullable.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_nullableProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_nullable(innerType) {
        +    return new schemas_ZodNullable({
        +        type: "nullable",
        +        innerType: innerType,
        +    });
        +}
        +// nullish
        +function classic_schemas_nullish(innerType) {
        +    return schemas_optional(schemas_nullable(innerType));
        +}
        +const classic_schemas_ZodDefault = /*@__PURE__*/ core_$constructor("ZodDefault", (inst, def) => {
        +    schemas_$ZodDefault.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_defaultProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +    inst.removeDefault = inst.unwrap;
        +});
        +function classic_schemas_default(innerType, defaultValue) {
        +    return new classic_schemas_ZodDefault({
        +        type: "default",
        +        innerType: innerType,
        +        get defaultValue() {
        +            return typeof defaultValue === "function" ? defaultValue() : util_shallowClone(defaultValue);
        +        },
        +    });
        +}
        +const schemas_ZodPrefault = /*@__PURE__*/ core_$constructor("ZodPrefault", (inst, def) => {
        +    schemas_$ZodPrefault.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_prefaultProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_prefault(innerType, defaultValue) {
        +    return new schemas_ZodPrefault({
        +        type: "prefault",
        +        innerType: innerType,
        +        get defaultValue() {
        +            return typeof defaultValue === "function" ? defaultValue() : util_shallowClone(defaultValue);
        +        },
        +    });
        +}
        +const schemas_ZodNonOptional = /*@__PURE__*/ core_$constructor("ZodNonOptional", (inst, def) => {
        +    schemas_$ZodNonOptional.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_nonoptionalProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_nonoptional(innerType, params) {
        +    return new schemas_ZodNonOptional({
        +        type: "nonoptional",
        +        innerType: innerType,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodSuccess = /*@__PURE__*/ core_$constructor("ZodSuccess", (inst, def) => {
        +    schemas_$ZodSuccess.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_successProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_success(innerType) {
        +    return new schemas_ZodSuccess({
        +        type: "success",
        +        innerType: innerType,
        +    });
        +}
        +const schemas_ZodCatch = /*@__PURE__*/ core_$constructor("ZodCatch", (inst, def) => {
        +    schemas_$ZodCatch.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_catchProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +    inst.removeCatch = inst.unwrap;
        +});
        +function classic_schemas_catch(innerType, catchValue) {
        +    return new schemas_ZodCatch({
        +        type: "catch",
        +        innerType: innerType,
        +        catchValue: (typeof catchValue === "function" ? catchValue : () => catchValue),
        +    });
        +}
        +
        +const schemas_ZodNaN = /*@__PURE__*/ core_$constructor("ZodNaN", (inst, def) => {
        +    schemas_$ZodNaN.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_nanProcessor(inst, ctx, json, params);
        +});
        +function schemas_nan(params) {
        +    return api_nan(schemas_ZodNaN, params);
        +}
        +const schemas_ZodPipe = /*@__PURE__*/ core_$constructor("ZodPipe", (inst, def) => {
        +    schemas_$ZodPipe.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_pipeProcessor(inst, ctx, json, params);
        +    inst.in = def.in;
        +    inst.out = def.out;
        +});
        +function schemas_pipe(in_, out) {
        +    return new schemas_ZodPipe({
        +        type: "pipe",
        +        in: in_,
        +        out: out,
        +        // ...util.normalizeParams(params),
        +    });
        +}
        +const schemas_ZodCodec = /*@__PURE__*/ core_$constructor("ZodCodec", (inst, def) => {
        +    schemas_ZodPipe.init(inst, def);
        +    schemas_$ZodCodec.init(inst, def);
        +});
        +function schemas_codec(in_, out, params) {
        +    return new schemas_ZodCodec({
        +        type: "pipe",
        +        in: in_,
        +        out: out,
        +        transform: params.decode,
        +        reverseTransform: params.encode,
        +    });
        +}
        +const schemas_ZodReadonly = /*@__PURE__*/ core_$constructor("ZodReadonly", (inst, def) => {
        +    schemas_$ZodReadonly.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_readonlyProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_readonly(innerType) {
        +    return new schemas_ZodReadonly({
        +        type: "readonly",
        +        innerType: innerType,
        +    });
        +}
        +const schemas_ZodTemplateLiteral = /*@__PURE__*/ core_$constructor("ZodTemplateLiteral", (inst, def) => {
        +    schemas_$ZodTemplateLiteral.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_templateLiteralProcessor(inst, ctx, json, params);
        +});
        +function schemas_templateLiteral(parts, params) {
        +    return new schemas_ZodTemplateLiteral({
        +        type: "template_literal",
        +        parts,
        +        ...util_normalizeParams(params),
        +    });
        +}
        +const schemas_ZodLazy = /*@__PURE__*/ core_$constructor("ZodLazy", (inst, def) => {
        +    schemas_$ZodLazy.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_lazyProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.getter();
        +});
        +function schemas_lazy(getter) {
        +    return new schemas_ZodLazy({
        +        type: "lazy",
        +        getter: getter,
        +    });
        +}
        +const schemas_ZodPromise = /*@__PURE__*/ core_$constructor("ZodPromise", (inst, def) => {
        +    schemas_$ZodPromise.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_promiseProcessor(inst, ctx, json, params);
        +    inst.unwrap = () => inst._zod.def.innerType;
        +});
        +function schemas_promise(innerType) {
        +    return new schemas_ZodPromise({
        +        type: "promise",
        +        innerType: innerType,
        +    });
        +}
        +const schemas_ZodFunction = /*@__PURE__*/ core_$constructor("ZodFunction", (inst, def) => {
        +    schemas_$ZodFunction.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_functionProcessor(inst, ctx, json, params);
        +});
        +function schemas_function(params) {
        +    return new schemas_ZodFunction({
        +        type: "function",
        +        input: Array.isArray(params?.input) ? schemas_tuple(params?.input) : (params?.input ?? schemas_array(schemas_unknown())),
        +        output: params?.output ?? schemas_unknown(),
        +    });
        +}
        +
        +const schemas_ZodCustom = /*@__PURE__*/ core_$constructor("ZodCustom", (inst, def) => {
        +    schemas_$ZodCustom.init(inst, def);
        +    schemas_ZodType.init(inst, def);
        +    inst._zod.processJSONSchema = (ctx, json, params) => json_schema_processors_customProcessor(inst, ctx, json, params);
        +});
        +// custom checks
        +function schemas_check(fn) {
        +    const ch = new checks_$ZodCheck({
        +        check: "custom",
        +        // ...util.normalizeParams(params),
        +    });
        +    ch._zod.check = fn;
        +    return ch;
        +}
        +function schemas_custom(fn, _params) {
        +    return api_custom(schemas_ZodCustom, fn ?? (() => true), _params);
        +}
        +function schemas_refine(fn, _params = {}) {
        +    return api_refine(schemas_ZodCustom, fn, _params);
        +}
        +// superRefine
        +function schemas_superRefine(fn) {
        +    return api_superRefine(fn);
        +}
        +// Re-export describe and meta from core
        +const classic_schemas_describe = api_describe;
        +const classic_schemas_meta = api_meta;
        +function schemas_instanceof(cls, params = {}) {
        +    const inst = new schemas_ZodCustom({
        +        type: "custom",
        +        check: "custom",
        +        fn: (data) => data instanceof cls,
        +        abort: true,
        +        ...util_normalizeParams(params),
        +    });
        +    inst._zod.bag.Class = cls;
        +    // Override check to emit invalid_type instead of custom
        +    inst._zod.check = (payload) => {
        +        if (!(payload.value instanceof cls)) {
        +            payload.issues.push({
        +                code: "invalid_type",
        +                expected: cls.name,
        +                input: payload.value,
        +                inst,
        +                path: [...(inst._zod.def.path ?? [])],
        +            });
        +        }
        +    };
        +    return inst;
        +}
        +
        +// stringbool
        +const schemas_stringbool = (...args) => api_stringbool({
        +    Codec: schemas_ZodCodec,
        +    Boolean: schemas_ZodBoolean,
        +    String: classic_schemas_ZodString,
        +}, ...args);
        +function classic_schemas_json(params) {
        +    const jsonSchema = schemas_lazy(() => {
        +        return schemas_union([classic_schemas_string(params), classic_schemas_number(), classic_schemas_boolean(), classic_schemas_null(), schemas_array(jsonSchema), schemas_record(classic_schemas_string(), jsonSchema)]);
        +    });
        +    return jsonSchema;
        +}
        +// preprocess
        +// /** @deprecated Use `z.pipe()` and `z.transform()` instead. */
        +function schemas_preprocess(fn, schema) {
        +    return schemas_pipe(schemas_transform(fn), schema);
        +}
        +
        +;// ./node_modules/zod/v4/classic/compat.js
        +/* unused harmony import specifier */ var compat_core;
        +// Zod 3 compat layer
        +
        +/** @deprecated Use the raw string literal codes instead, e.g. "invalid_type". */
        +const compat_ZodIssueCode = {
        +    invalid_type: "invalid_type",
        +    too_big: "too_big",
        +    too_small: "too_small",
        +    invalid_format: "invalid_format",
        +    not_multiple_of: "not_multiple_of",
        +    unrecognized_keys: "unrecognized_keys",
        +    invalid_union: "invalid_union",
        +    invalid_key: "invalid_key",
        +    invalid_element: "invalid_element",
        +    invalid_value: "invalid_value",
        +    custom: "custom",
        +};
        +
        +/** @deprecated Use `z.config(params)` instead. */
        +function compat_setErrorMap(map) {
        +    compat_core.config({
        +        customError: map,
        +    });
        +}
        +/** @deprecated Use `z.config()` instead. */
        +function compat_getErrorMap() {
        +    return compat_core.config().customError;
        +}
        +/** @deprecated Do not use. Stub definition, only included for zod-to-json-schema compatibility. */
        +var compat_ZodFirstPartyTypeKind;
        +(function (ZodFirstPartyTypeKind) {
        +})(compat_ZodFirstPartyTypeKind || (compat_ZodFirstPartyTypeKind = {}));
        +
        +;// ./node_modules/zod/v4/classic/from-json-schema.js
        +/* unused harmony import specifier */ var classic_from_json_schema_globalRegistry;
        +
        +
        +
        +
        +// Local z object to avoid circular dependency with ../index.js
        +const from_json_schema_z = {
        +    ...v4_classic_schemas_namespaceObject,
        +    ...v4_classic_checks_namespaceObject,
        +    iso: classic_iso_namespaceObject,
        +};
        +// Keys that are recognized and handled by the conversion logic
        +const from_json_schema_RECOGNIZED_KEYS = new Set([
        +    // Schema identification
        +    "$schema",
        +    "$ref",
        +    "$defs",
        +    "definitions",
        +    // Core schema keywords
        +    "$id",
        +    "id",
        +    "$comment",
        +    "$anchor",
        +    "$vocabulary",
        +    "$dynamicRef",
        +    "$dynamicAnchor",
        +    // Type
        +    "type",
        +    "enum",
        +    "const",
        +    // Composition
        +    "anyOf",
        +    "oneOf",
        +    "allOf",
        +    "not",
        +    // Object
        +    "properties",
        +    "required",
        +    "additionalProperties",
        +    "patternProperties",
        +    "propertyNames",
        +    "minProperties",
        +    "maxProperties",
        +    // Array
        +    "items",
        +    "prefixItems",
        +    "additionalItems",
        +    "minItems",
        +    "maxItems",
        +    "uniqueItems",
        +    "contains",
        +    "minContains",
        +    "maxContains",
        +    // String
        +    "minLength",
        +    "maxLength",
        +    "pattern",
        +    "format",
        +    // Number
        +    "minimum",
        +    "maximum",
        +    "exclusiveMinimum",
        +    "exclusiveMaximum",
        +    "multipleOf",
        +    // Already handled metadata
        +    "description",
        +    "default",
        +    // Content
        +    "contentEncoding",
        +    "contentMediaType",
        +    "contentSchema",
        +    // Unsupported (error-throwing)
        +    "unevaluatedItems",
        +    "unevaluatedProperties",
        +    "if",
        +    "then",
        +    "else",
        +    "dependentSchemas",
        +    "dependentRequired",
        +    // OpenAPI
        +    "nullable",
        +    "readOnly",
        +]);
        +function from_json_schema_detectVersion(schema, defaultTarget) {
        +    const $schema = schema.$schema;
        +    if ($schema === "https://json-schema.org/draft/2020-12/schema") {
        +        return "draft-2020-12";
        +    }
        +    if ($schema === "http://json-schema.org/draft-07/schema#") {
        +        return "draft-7";
        +    }
        +    if ($schema === "http://json-schema.org/draft-04/schema#") {
        +        return "draft-4";
        +    }
        +    // Use defaultTarget if provided, otherwise default to draft-2020-12
        +    return defaultTarget ?? "draft-2020-12";
        +}
        +function from_json_schema_resolveRef(ref, ctx) {
        +    if (!ref.startsWith("#")) {
        +        throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
        +    }
        +    const path = ref.slice(1).split("/").filter(Boolean);
        +    // Handle root reference "#"
        +    if (path.length === 0) {
        +        return ctx.rootSchema;
        +    }
        +    const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
        +    if (path[0] === defsKey) {
        +        const key = path[1];
        +        if (!key || !ctx.defs[key]) {
        +            throw new Error(`Reference not found: ${ref}`);
        +        }
        +        return ctx.defs[key];
        +    }
        +    throw new Error(`Reference not found: ${ref}`);
        +}
        +function from_json_schema_convertBaseSchema(schema, ctx) {
        +    // Handle unsupported features
        +    if (schema.not !== undefined) {
        +        // Special case: { not: {} } represents never
        +        if (typeof schema.not === "object" && Object.keys(schema.not).length === 0) {
        +            return from_json_schema_z.never();
        +        }
        +        throw new Error("not is not supported in Zod (except { not: {} } for never)");
        +    }
        +    if (schema.unevaluatedItems !== undefined) {
        +        throw new Error("unevaluatedItems is not supported");
        +    }
        +    if (schema.unevaluatedProperties !== undefined) {
        +        throw new Error("unevaluatedProperties is not supported");
        +    }
        +    if (schema.if !== undefined || schema.then !== undefined || schema.else !== undefined) {
        +        throw new Error("Conditional schemas (if/then/else) are not supported");
        +    }
        +    if (schema.dependentSchemas !== undefined || schema.dependentRequired !== undefined) {
        +        throw new Error("dependentSchemas and dependentRequired are not supported");
        +    }
        +    // Handle $ref
        +    if (schema.$ref) {
        +        const refPath = schema.$ref;
        +        if (ctx.refs.has(refPath)) {
        +            return ctx.refs.get(refPath);
        +        }
        +        if (ctx.processing.has(refPath)) {
        +            // Circular reference - use lazy
        +            return from_json_schema_z.lazy(() => {
        +                if (!ctx.refs.has(refPath)) {
        +                    throw new Error(`Circular reference not resolved: ${refPath}`);
        +                }
        +                return ctx.refs.get(refPath);
        +            });
        +        }
        +        ctx.processing.add(refPath);
        +        const resolved = from_json_schema_resolveRef(refPath, ctx);
        +        const zodSchema = from_json_schema_convertSchema(resolved, ctx);
        +        ctx.refs.set(refPath, zodSchema);
        +        ctx.processing.delete(refPath);
        +        return zodSchema;
        +    }
        +    // Handle enum
        +    if (schema.enum !== undefined) {
        +        const enumValues = schema.enum;
        +        // Special case: OpenAPI 3.0 null representation { type: "string", nullable: true, enum: [null] }
        +        if (ctx.version === "openapi-3.0" &&
        +            schema.nullable === true &&
        +            enumValues.length === 1 &&
        +            enumValues[0] === null) {
        +            return from_json_schema_z.null();
        +        }
        +        if (enumValues.length === 0) {
        +            return from_json_schema_z.never();
        +        }
        +        if (enumValues.length === 1) {
        +            return from_json_schema_z.literal(enumValues[0]);
        +        }
        +        // Check if all values are strings
        +        if (enumValues.every((v) => typeof v === "string")) {
        +            return from_json_schema_z.enum(enumValues);
        +        }
        +        // Mixed types - use union of literals
        +        const literalSchemas = enumValues.map((v) => from_json_schema_z.literal(v));
        +        if (literalSchemas.length < 2) {
        +            return literalSchemas[0];
        +        }
        +        return from_json_schema_z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);
        +    }
        +    // Handle const
        +    if (schema.const !== undefined) {
        +        return from_json_schema_z.literal(schema.const);
        +    }
        +    // Handle type
        +    const type = schema.type;
        +    if (Array.isArray(type)) {
        +        // Expand type array into anyOf union
        +        const typeSchemas = type.map((t) => {
        +            const typeSchema = { ...schema, type: t };
        +            return from_json_schema_convertBaseSchema(typeSchema, ctx);
        +        });
        +        if (typeSchemas.length === 0) {
        +            return from_json_schema_z.never();
        +        }
        +        if (typeSchemas.length === 1) {
        +            return typeSchemas[0];
        +        }
        +        return from_json_schema_z.union(typeSchemas);
        +    }
        +    if (!type) {
        +        // No type specified - empty schema (any)
        +        return from_json_schema_z.any();
        +    }
        +    let zodSchema;
        +    switch (type) {
        +        case "string": {
        +            let stringSchema = from_json_schema_z.string();
        +            // Apply format using .check() with Zod format functions
        +            if (schema.format) {
        +                const format = schema.format;
        +                // Map common formats to Zod check functions
        +                if (format === "email") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.email());
        +                }
        +                else if (format === "uri" || format === "uri-reference") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.url());
        +                }
        +                else if (format === "uuid" || format === "guid") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.uuid());
        +                }
        +                else if (format === "date-time") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.iso.datetime());
        +                }
        +                else if (format === "date") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.iso.date());
        +                }
        +                else if (format === "time") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.iso.time());
        +                }
        +                else if (format === "duration") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.iso.duration());
        +                }
        +                else if (format === "ipv4") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.ipv4());
        +                }
        +                else if (format === "ipv6") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.ipv6());
        +                }
        +                else if (format === "mac") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.mac());
        +                }
        +                else if (format === "cidr") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.cidrv4());
        +                }
        +                else if (format === "cidr-v6") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.cidrv6());
        +                }
        +                else if (format === "base64") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.base64());
        +                }
        +                else if (format === "base64url") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.base64url());
        +                }
        +                else if (format === "e164") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.e164());
        +                }
        +                else if (format === "jwt") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.jwt());
        +                }
        +                else if (format === "emoji") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.emoji());
        +                }
        +                else if (format === "nanoid") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.nanoid());
        +                }
        +                else if (format === "cuid") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.cuid());
        +                }
        +                else if (format === "cuid2") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.cuid2());
        +                }
        +                else if (format === "ulid") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.ulid());
        +                }
        +                else if (format === "xid") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.xid());
        +                }
        +                else if (format === "ksuid") {
        +                    stringSchema = stringSchema.check(from_json_schema_z.ksuid());
        +                }
        +                // Note: json-string format is not currently supported by Zod
        +                // Custom formats are ignored - keep as plain string
        +            }
        +            // Apply constraints
        +            if (typeof schema.minLength === "number") {
        +                stringSchema = stringSchema.min(schema.minLength);
        +            }
        +            if (typeof schema.maxLength === "number") {
        +                stringSchema = stringSchema.max(schema.maxLength);
        +            }
        +            if (schema.pattern) {
        +                // JSON Schema patterns are not implicitly anchored (match anywhere in string)
        +                stringSchema = stringSchema.regex(new RegExp(schema.pattern));
        +            }
        +            zodSchema = stringSchema;
        +            break;
        +        }
        +        case "number":
        +        case "integer": {
        +            let numberSchema = type === "integer" ? from_json_schema_z.number().int() : from_json_schema_z.number();
        +            // Apply constraints
        +            if (typeof schema.minimum === "number") {
        +                numberSchema = numberSchema.min(schema.minimum);
        +            }
        +            if (typeof schema.maximum === "number") {
        +                numberSchema = numberSchema.max(schema.maximum);
        +            }
        +            if (typeof schema.exclusiveMinimum === "number") {
        +                numberSchema = numberSchema.gt(schema.exclusiveMinimum);
        +            }
        +            else if (schema.exclusiveMinimum === true && typeof schema.minimum === "number") {
        +                numberSchema = numberSchema.gt(schema.minimum);
        +            }
        +            if (typeof schema.exclusiveMaximum === "number") {
        +                numberSchema = numberSchema.lt(schema.exclusiveMaximum);
        +            }
        +            else if (schema.exclusiveMaximum === true && typeof schema.maximum === "number") {
        +                numberSchema = numberSchema.lt(schema.maximum);
        +            }
        +            if (typeof schema.multipleOf === "number") {
        +                numberSchema = numberSchema.multipleOf(schema.multipleOf);
        +            }
        +            zodSchema = numberSchema;
        +            break;
        +        }
        +        case "boolean": {
        +            zodSchema = from_json_schema_z.boolean();
        +            break;
        +        }
        +        case "null": {
        +            zodSchema = from_json_schema_z.null();
        +            break;
        +        }
        +        case "object": {
        +            const shape = {};
        +            const properties = schema.properties || {};
        +            const requiredSet = new Set(schema.required || []);
        +            // Convert properties - mark optional ones
        +            for (const [key, propSchema] of Object.entries(properties)) {
        +                const propZodSchema = from_json_schema_convertSchema(propSchema, ctx);
        +                // If not in required array, make it optional
        +                shape[key] = requiredSet.has(key) ? propZodSchema : propZodSchema.optional();
        +            }
        +            // Handle propertyNames
        +            if (schema.propertyNames) {
        +                const keySchema = from_json_schema_convertSchema(schema.propertyNames, ctx);
        +                const valueSchema = schema.additionalProperties && typeof schema.additionalProperties === "object"
        +                    ? from_json_schema_convertSchema(schema.additionalProperties, ctx)
        +                    : from_json_schema_z.any();
        +                // Case A: No properties (pure record)
        +                if (Object.keys(shape).length === 0) {
        +                    zodSchema = from_json_schema_z.record(keySchema, valueSchema);
        +                    break;
        +                }
        +                // Case B: With properties (intersection of object and looseRecord)
        +                const objectSchema = from_json_schema_z.object(shape).passthrough();
        +                const recordSchema = from_json_schema_z.looseRecord(keySchema, valueSchema);
        +                zodSchema = from_json_schema_z.intersection(objectSchema, recordSchema);
        +                break;
        +            }
        +            // Handle patternProperties
        +            if (schema.patternProperties) {
        +                // patternProperties: keys matching pattern must satisfy corresponding schema
        +                // Use loose records so non-matching keys pass through
        +                const patternProps = schema.patternProperties;
        +                const patternKeys = Object.keys(patternProps);
        +                const looseRecords = [];
        +                for (const pattern of patternKeys) {
        +                    const patternValue = from_json_schema_convertSchema(patternProps[pattern], ctx);
        +                    const keySchema = from_json_schema_z.string().regex(new RegExp(pattern));
        +                    looseRecords.push(from_json_schema_z.looseRecord(keySchema, patternValue));
        +                }
        +                // Build intersection: object schema + all pattern property records
        +                const schemasToIntersect = [];
        +                if (Object.keys(shape).length > 0) {
        +                    // Use passthrough so patternProperties can validate additional keys
        +                    schemasToIntersect.push(from_json_schema_z.object(shape).passthrough());
        +                }
        +                schemasToIntersect.push(...looseRecords);
        +                if (schemasToIntersect.length === 0) {
        +                    zodSchema = from_json_schema_z.object({}).passthrough();
        +                }
        +                else if (schemasToIntersect.length === 1) {
        +                    zodSchema = schemasToIntersect[0];
        +                }
        +                else {
        +                    // Chain intersections: (A & B) & C & D ...
        +                    let result = from_json_schema_z.intersection(schemasToIntersect[0], schemasToIntersect[1]);
        +                    for (let i = 2; i < schemasToIntersect.length; i++) {
        +                        result = from_json_schema_z.intersection(result, schemasToIntersect[i]);
        +                    }
        +                    zodSchema = result;
        +                }
        +                break;
        +            }
        +            // Handle additionalProperties
        +            // In JSON Schema, additionalProperties defaults to true (allow any extra properties)
        +            // In Zod, objects strip unknown keys by default, so we need to handle this explicitly
        +            const objectSchema = from_json_schema_z.object(shape);
        +            if (schema.additionalProperties === false) {
        +                // Strict mode - no extra properties allowed
        +                zodSchema = objectSchema.strict();
        +            }
        +            else if (typeof schema.additionalProperties === "object") {
        +                // Extra properties must match the specified schema
        +                zodSchema = objectSchema.catchall(from_json_schema_convertSchema(schema.additionalProperties, ctx));
        +            }
        +            else {
        +                // additionalProperties is true or undefined - allow any extra properties (passthrough)
        +                zodSchema = objectSchema.passthrough();
        +            }
        +            break;
        +        }
        +        case "array": {
        +            // TODO: uniqueItems is not supported
        +            // TODO: contains/minContains/maxContains are not supported
        +            // Check if this is a tuple (prefixItems or items as array)
        +            const prefixItems = schema.prefixItems;
        +            const items = schema.items;
        +            if (prefixItems && Array.isArray(prefixItems)) {
        +                // Tuple with prefixItems (draft-2020-12)
        +                const tupleItems = prefixItems.map((item) => from_json_schema_convertSchema(item, ctx));
        +                const rest = items && typeof items === "object" && !Array.isArray(items)
        +                    ? from_json_schema_convertSchema(items, ctx)
        +                    : undefined;
        +                if (rest) {
        +                    zodSchema = from_json_schema_z.tuple(tupleItems).rest(rest);
        +                }
        +                else {
        +                    zodSchema = from_json_schema_z.tuple(tupleItems);
        +                }
        +                // Apply minItems/maxItems constraints to tuples
        +                if (typeof schema.minItems === "number") {
        +                    zodSchema = zodSchema.check(from_json_schema_z.minLength(schema.minItems));
        +                }
        +                if (typeof schema.maxItems === "number") {
        +                    zodSchema = zodSchema.check(from_json_schema_z.maxLength(schema.maxItems));
        +                }
        +            }
        +            else if (Array.isArray(items)) {
        +                // Tuple with items array (draft-7)
        +                const tupleItems = items.map((item) => from_json_schema_convertSchema(item, ctx));
        +                const rest = schema.additionalItems && typeof schema.additionalItems === "object"
        +                    ? from_json_schema_convertSchema(schema.additionalItems, ctx)
        +                    : undefined; // additionalItems: false means no rest, handled by default tuple behavior
        +                if (rest) {
        +                    zodSchema = from_json_schema_z.tuple(tupleItems).rest(rest);
        +                }
        +                else {
        +                    zodSchema = from_json_schema_z.tuple(tupleItems);
        +                }
        +                // Apply minItems/maxItems constraints to tuples
        +                if (typeof schema.minItems === "number") {
        +                    zodSchema = zodSchema.check(from_json_schema_z.minLength(schema.minItems));
        +                }
        +                if (typeof schema.maxItems === "number") {
        +                    zodSchema = zodSchema.check(from_json_schema_z.maxLength(schema.maxItems));
        +                }
        +            }
        +            else if (items !== undefined) {
        +                // Regular array
        +                const element = from_json_schema_convertSchema(items, ctx);
        +                let arraySchema = from_json_schema_z.array(element);
        +                // Apply constraints
        +                if (typeof schema.minItems === "number") {
        +                    arraySchema = arraySchema.min(schema.minItems);
        +                }
        +                if (typeof schema.maxItems === "number") {
        +                    arraySchema = arraySchema.max(schema.maxItems);
        +                }
        +                zodSchema = arraySchema;
        +            }
        +            else {
        +                // No items specified - array of any
        +                zodSchema = from_json_schema_z.array(from_json_schema_z.any());
        +            }
        +            break;
        +        }
        +        default:
        +            throw new Error(`Unsupported type: ${type}`);
        +    }
        +    // Apply metadata
        +    if (schema.description) {
        +        zodSchema = zodSchema.describe(schema.description);
        +    }
        +    if (schema.default !== undefined) {
        +        zodSchema = zodSchema.default(schema.default);
        +    }
        +    return zodSchema;
        +}
        +function from_json_schema_convertSchema(schema, ctx) {
        +    if (typeof schema === "boolean") {
        +        return schema ? from_json_schema_z.any() : from_json_schema_z.never();
        +    }
        +    // Convert base schema first (ignoring composition keywords)
        +    let baseSchema = from_json_schema_convertBaseSchema(schema, ctx);
        +    const hasExplicitType = schema.type || schema.enum !== undefined || schema.const !== undefined;
        +    // Process composition keywords LAST (they can appear together)
        +    // Handle anyOf - wrap base schema with union
        +    if (schema.anyOf && Array.isArray(schema.anyOf)) {
        +        const options = schema.anyOf.map((s) => from_json_schema_convertSchema(s, ctx));
        +        const anyOfUnion = from_json_schema_z.union(options);
        +        baseSchema = hasExplicitType ? from_json_schema_z.intersection(baseSchema, anyOfUnion) : anyOfUnion;
        +    }
        +    // Handle oneOf - exclusive union (exactly one must match)
        +    if (schema.oneOf && Array.isArray(schema.oneOf)) {
        +        const options = schema.oneOf.map((s) => from_json_schema_convertSchema(s, ctx));
        +        const oneOfUnion = from_json_schema_z.xor(options);
        +        baseSchema = hasExplicitType ? from_json_schema_z.intersection(baseSchema, oneOfUnion) : oneOfUnion;
        +    }
        +    // Handle allOf - wrap base schema with intersection
        +    if (schema.allOf && Array.isArray(schema.allOf)) {
        +        if (schema.allOf.length === 0) {
        +            baseSchema = hasExplicitType ? baseSchema : from_json_schema_z.any();
        +        }
        +        else {
        +            let result = hasExplicitType ? baseSchema : from_json_schema_convertSchema(schema.allOf[0], ctx);
        +            const startIdx = hasExplicitType ? 0 : 1;
        +            for (let i = startIdx; i < schema.allOf.length; i++) {
        +                result = from_json_schema_z.intersection(result, from_json_schema_convertSchema(schema.allOf[i], ctx));
        +            }
        +            baseSchema = result;
        +        }
        +    }
        +    // Handle nullable (OpenAPI 3.0)
        +    if (schema.nullable === true && ctx.version === "openapi-3.0") {
        +        baseSchema = from_json_schema_z.nullable(baseSchema);
        +    }
        +    // Handle readOnly
        +    if (schema.readOnly === true) {
        +        baseSchema = from_json_schema_z.readonly(baseSchema);
        +    }
        +    // Collect metadata: core schema keywords and unrecognized keys
        +    const extraMeta = {};
        +    // Core schema keywords that should be captured as metadata
        +    const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"];
        +    for (const key of coreMetadataKeys) {
        +        if (key in schema) {
        +            extraMeta[key] = schema[key];
        +        }
        +    }
        +    // Content keywords - store as metadata
        +    const contentMetadataKeys = ["contentEncoding", "contentMediaType", "contentSchema"];
        +    for (const key of contentMetadataKeys) {
        +        if (key in schema) {
        +            extraMeta[key] = schema[key];
        +        }
        +    }
        +    // Unrecognized keys (custom metadata)
        +    for (const key of Object.keys(schema)) {
        +        if (!from_json_schema_RECOGNIZED_KEYS.has(key)) {
        +            extraMeta[key] = schema[key];
        +        }
        +    }
        +    if (Object.keys(extraMeta).length > 0) {
        +        ctx.registry.add(baseSchema, extraMeta);
        +    }
        +    return baseSchema;
        +}
        +/**
        + * Converts a JSON Schema to a Zod schema. This function should be considered semi-experimental. It's behavior is liable to change. */
        +function from_json_schema_fromJSONSchema(schema, params) {
        +    // Handle boolean schemas
        +    if (typeof schema === "boolean") {
        +        return schema ? from_json_schema_z.any() : from_json_schema_z.never();
        +    }
        +    const version = from_json_schema_detectVersion(schema, params?.defaultTarget);
        +    const defs = (schema.$defs || schema.definitions || {});
        +    const ctx = {
        +        version,
        +        defs,
        +        refs: new Map(),
        +        processing: new Set(),
        +        rootSchema: schema,
        +        registry: params?.registry ?? classic_from_json_schema_globalRegistry,
        +    };
        +    return from_json_schema_convertSchema(schema, ctx);
        +}
        +
        +;// ./node_modules/zod/v4/classic/coerce.js
        +/* unused harmony import specifier */ var classic_coerce_core;
        +/* unused harmony import specifier */ var classic_coerce_schemas;
        +
        +
        +function classic_coerce_string(params) {
        +    return classic_coerce_core._coercedString(classic_coerce_schemas.ZodString, params);
        +}
        +function classic_coerce_number(params) {
        +    return classic_coerce_core._coercedNumber(classic_coerce_schemas.ZodNumber, params);
        +}
        +function classic_coerce_boolean(params) {
        +    return classic_coerce_core._coercedBoolean(classic_coerce_schemas.ZodBoolean, params);
        +}
        +function classic_coerce_bigint(params) {
        +    return classic_coerce_core._coercedBigint(classic_coerce_schemas.ZodBigInt, params);
        +}
        +function classic_coerce_date(params) {
        +    return classic_coerce_core._coercedDate(classic_coerce_schemas.ZodDate, params);
        +}
        +
        +;// ./node_modules/zod/v4/classic/external.js
        +
        +
        +
        +
        +
        +
        +// zod-specified
        +
        +
        +core_config(v4_locales_en());
        +
        +
        +
        +
        +// iso
        +// must be exported from top-level
        +// https://github.com/colinhacks/zod/issues/4491
        +
        +
        +
        +
        +;// ./dist/zod_schema.js
        +
        +const CommonLanguageCodeSchema = classic_schemas_enum([
        +    'en', 'pt',
        +    'bg', 'cs', 'da', 'de', 'el', 'es', 'et', 'fi', 'fr',
        +    'hu', 'id', 'it', 'ja', 'ko', 'lt', 'lv', 'nb', 'nl',
        +    'pl', 'ro', 'ru', 'sk', 'sl', 'sv', 'tr', 'uk', 'zh'
        +]);
        +const TargetLanguageCodeSchema = schemas_union([CommonLanguageCodeSchema, classic_schemas_enum(['en-GB', 'en-US', 'pt-BR', 'pt-PT'])]);
        +const SourceGlossaryLanguageCode = classic_schemas_enum(['de', 'en', 'es', 'fr', 'ja']);
        +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX3NjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy96b2Rfc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFdkIsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzQyxJQUFJLEVBQUUsSUFBSTtJQUNWLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTtJQUNwRCxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUk7SUFDcEQsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO0NBQ3ZELENBQUMsQ0FBQTtBQUlGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBSyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFHN0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBIn0=
        +// EXTERNAL MODULE: ./node_modules/clean-css/index.js
        +var clean_css = __webpack_require__(2796);
        +;// ./node_modules/entities/lib/esm/generated/decode-data-html.js
        +// Generated using scripts/write-decode-map.ts
        +/* harmony default export */ const decode_data_html = (new Uint16Array(
        +// prettier-ignore
        +"\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\ud835\udd04rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\ud835\udd38plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\ud835\udc9cign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\ud835\udd05pf;\uc000\ud835\udd39eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\ud835\udc9ep\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\ud835\udd07\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\ud835\udd3b\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\ud835\udc9frok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\ud835\udd08rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\ud835\udd3csilon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\ud835\udd09lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\ud835\udd3dAll;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\ud835\udd0a;\u62d9pf;\uc000\ud835\udd3eeater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\ud835\udca2;\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\ud835\udd40a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\ud835\udd0dpf;\uc000\ud835\udd41\u01e3\u07c7\0\u07ccr;\uc000\ud835\udca5rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\ud835\udd0epf;\uc000\ud835\udd42cr;\uc000\ud835\udca6\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\ud835\udd0f\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\ud835\udd43er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\ud835\udd10nusPlus;\u6213pf;\uc000\ud835\udd44c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\ud835\udd11\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\ud835\udca9ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\ud835\udd12rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\ud835\udd46enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\ud835\udcaaash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\ud835\udd13i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\ud835\udcab;\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b\"\u4022r;\uc000\ud835\udd14pf;\u611acr;\uc000\ud835\udcac\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\ud835\udd16ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\ud835\udd4a\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\ud835\udcaear;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\ud835\udd17\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\ud835\udd4bipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\ud835\udcafrok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\ud835\udd18rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\ud835\udd4c\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\ud835\udcb0ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\ud835\udd19pf;\uc000\ud835\udd4dcr;\uc000\ud835\udcb1dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\ud835\udd1apf;\uc000\ud835\udd4ecr;\uc000\ud835\udcb2\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\ud835\udd1b;\u439epf;\uc000\ud835\udd4fcr;\uc000\ud835\udcb3\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\ud835\udd1cpf;\uc000\ud835\udd50cr;\uc000\ud835\udcb4ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\ud835\udcb5\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\ud835\udd1erave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\ud835\udd52\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\ud835\udcb6;\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\ud835\udd1fg\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\ud835\udd53\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\ud835\udcb7mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\ud835\udd20\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\ud835\udd54o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\ud835\udcb8\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\ud835\udd21ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\ud835\udd55\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\ud835\udcb9;\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\ud835\udd22\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\ud835\udd56\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\ud835\udd23lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\ud835\udd57\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\ud835\udcbb\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\ud835\udd24\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\ud835\udd58\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\ud835\udd25s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\ud835\udd59bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\ud835\udcbdas\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\ud835\udd26rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\ud835\udd5aa;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\ud835\udcben\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\ud835\udd27ath;\u4237pf;\uc000\ud835\udd5b\u01e3\u23ec\0\u23f1r;\uc000\ud835\udcbfrcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\ud835\udd28reen;\u4138cy;\u4445cy;\u445cpf;\uc000\ud835\udd5ccr;\uc000\ud835\udcc0\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\ud835\udd29\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\ud835\udd5dus;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\ud835\udcc1m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\ud835\udd2ao;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\ud835\udd5e\u0100ct\u28f8\u28fdr;\uc000\ud835\udcc2pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\ud835\udd2b\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\ud835\udd5f\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\ud835\udcc3ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\ud835\udd2c\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\ud835\udd60\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\ud835\udd2d\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\ud835\udd61nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\ud835\udcc5;\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\ud835\udd2epf;\uc000\ud835\udd62rime;\u6057cr;\uc000\ud835\udcc6\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\ud835\udd2f\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\ud835\udd63us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\ud835\udcc7\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\ud835\udd30\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\ud835\udd64a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\ud835\udcc8tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\ud835\udd31\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\ud835\udd65rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\ud835\udcc9;\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\ud835\udd32rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\ud835\udd66\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\ud835\udcca\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\ud835\udd33tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\ud835\udd67ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\ud835\udccb\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\ud835\udd34pf;\uc000\ud835\udd68\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\ud835\udccc\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\ud835\udd35\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\ud835\udd69im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\ud835\udccd\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\ud835\udd36cy;\u4457pf;\uc000\ud835\udd6acr;\uc000\ud835\udcce\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\ud835\udd37cy;\u4436grarr;\u61ddpf;\uc000\ud835\udd6bcr;\uc000\ud835\udccf\u0100jn\u3b85\u3b87;\u600dj;\u600c"
        +    .split("")
        +    .map((c) => c.charCodeAt(0))));
        +//# sourceMappingURL=decode-data-html.js.map
        +;// ./node_modules/entities/lib/esm/generated/decode-data-xml.js
        +// Generated using scripts/write-decode-map.ts
        +/* harmony default export */ const decode_data_xml = (new Uint16Array(
        +// prettier-ignore
        +"\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022"
        +    .split("")
        +    .map((c) => c.charCodeAt(0))));
        +//# sourceMappingURL=decode-data-xml.js.map
        +;// ./node_modules/entities/lib/esm/decode_codepoint.js
        +// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134
        +var decode_codepoint_a;
        +const decodeMap = new Map([
        +    [0, 65533],
        +    // C1 Unicode control character reference replacements
        +    [128, 8364],
        +    [130, 8218],
        +    [131, 402],
        +    [132, 8222],
        +    [133, 8230],
        +    [134, 8224],
        +    [135, 8225],
        +    [136, 710],
        +    [137, 8240],
        +    [138, 352],
        +    [139, 8249],
        +    [140, 338],
        +    [142, 381],
        +    [145, 8216],
        +    [146, 8217],
        +    [147, 8220],
        +    [148, 8221],
        +    [149, 8226],
        +    [150, 8211],
        +    [151, 8212],
        +    [152, 732],
        +    [153, 8482],
        +    [154, 353],
        +    [155, 8250],
        +    [156, 339],
        +    [158, 382],
        +    [159, 376],
        +]);
        +/**
        + * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.
        + */
        +const fromCodePoint = 
        +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins
        +(decode_codepoint_a = String.fromCodePoint) !== null && decode_codepoint_a !== void 0 ? decode_codepoint_a : function (codePoint) {
        +    let output = "";
        +    if (codePoint > 0xffff) {
        +        codePoint -= 0x10000;
        +        output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
        +        codePoint = 0xdc00 | (codePoint & 0x3ff);
        +    }
        +    output += String.fromCharCode(codePoint);
        +    return output;
        +};
        +/**
        + * Replace the given code point with a replacement character if it is a
        + * surrogate or is outside the valid range. Otherwise return the code
        + * point unchanged.
        + */
        +function replaceCodePoint(codePoint) {
        +    var _a;
        +    if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {
        +        return 0xfffd;
        +    }
        +    return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;
        +}
        +/**
        + * Replace the code point if relevant, then convert it to a string.
        + *
        + * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.
        + * @param codePoint The code point to decode.
        + * @returns The decoded code point.
        + */
        +function decodeCodePoint(codePoint) {
        +    return fromCodePoint(replaceCodePoint(codePoint));
        +}
        +//# sourceMappingURL=decode_codepoint.js.map
        +;// ./node_modules/entities/lib/esm/decode.js
        +
        +
        +
        +// Re-export for use by eg. htmlparser2
        +
        +
        +var CharCodes;
        +(function (CharCodes) {
        +    CharCodes[CharCodes["NUM"] = 35] = "NUM";
        +    CharCodes[CharCodes["SEMI"] = 59] = "SEMI";
        +    CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS";
        +    CharCodes[CharCodes["ZERO"] = 48] = "ZERO";
        +    CharCodes[CharCodes["NINE"] = 57] = "NINE";
        +    CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";
        +    CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";
        +    CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";
        +    CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z";
        +    CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A";
        +    CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F";
        +    CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z";
        +})(CharCodes || (CharCodes = {}));
        +/** Bit that needs to be set to convert an upper case ASCII character to lower case */
        +const TO_LOWER_BIT = 0b100000;
        +var BinTrieFlags;
        +(function (BinTrieFlags) {
        +    BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
        +    BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH";
        +    BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
        +})(BinTrieFlags || (BinTrieFlags = {}));
        +function decode_isNumber(code) {
        +    return code >= CharCodes.ZERO && code <= CharCodes.NINE;
        +}
        +function isHexadecimalCharacter(code) {
        +    return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||
        +        (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));
        +}
        +function isAsciiAlphaNumeric(code) {
        +    return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||
        +        (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||
        +        decode_isNumber(code));
        +}
        +/**
        + * Checks if the given character is a valid end character for an entity in an attribute.
        + *
        + * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
        + * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
        + */
        +function isEntityInAttributeInvalidEnd(code) {
        +    return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);
        +}
        +var EntityDecoderState;
        +(function (EntityDecoderState) {
        +    EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart";
        +    EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart";
        +    EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal";
        +    EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex";
        +    EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity";
        +})(EntityDecoderState || (EntityDecoderState = {}));
        +var DecodingMode;
        +(function (DecodingMode) {
        +    /** Entities in text nodes that can end with any character. */
        +    DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy";
        +    /** Only allow entities terminated with a semicolon. */
        +    DecodingMode[DecodingMode["Strict"] = 1] = "Strict";
        +    /** Entities in attributes have limitations on ending characters. */
        +    DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute";
        +})(DecodingMode || (DecodingMode = {}));
        +/**
        + * Token decoder with support of writing partial entities.
        + */
        +class EntityDecoder {
        +    constructor(
        +    /** The tree used to decode entities. */
        +    decodeTree, 
        +    /**
        +     * The function that is called when a codepoint is decoded.
        +     *
        +     * For multi-byte named entities, this will be called multiple times,
        +     * with the second codepoint, and the same `consumed` value.
        +     *
        +     * @param codepoint The decoded codepoint.
        +     * @param consumed The number of bytes consumed by the decoder.
        +     */
        +    emitCodePoint, 
        +    /** An object that is used to produce errors. */
        +    errors) {
        +        this.decodeTree = decodeTree;
        +        this.emitCodePoint = emitCodePoint;
        +        this.errors = errors;
        +        /** The current state of the decoder. */
        +        this.state = EntityDecoderState.EntityStart;
        +        /** Characters that were consumed while parsing an entity. */
        +        this.consumed = 1;
        +        /**
        +         * The result of the entity.
        +         *
        +         * Either the result index of a numeric entity, or the codepoint of a
        +         * numeric entity.
        +         */
        +        this.result = 0;
        +        /** The current index in the decode tree. */
        +        this.treeIndex = 0;
        +        /** The number of characters that were consumed in excess. */
        +        this.excess = 1;
        +        /** The mode in which the decoder is operating. */
        +        this.decodeMode = DecodingMode.Strict;
        +    }
        +    /** Resets the instance to make it reusable. */
        +    startEntity(decodeMode) {
        +        this.decodeMode = decodeMode;
        +        this.state = EntityDecoderState.EntityStart;
        +        this.result = 0;
        +        this.treeIndex = 0;
        +        this.excess = 1;
        +        this.consumed = 1;
        +    }
        +    /**
        +     * Write an entity to the decoder. This can be called multiple times with partial entities.
        +     * If the entity is incomplete, the decoder will return -1.
        +     *
        +     * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
        +     * entity is incomplete, and resume when the next string is written.
        +     *
        +     * @param string The string containing the entity (or a continuation of the entity).
        +     * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
        +     * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
        +     */
        +    write(str, offset) {
        +        switch (this.state) {
        +            case EntityDecoderState.EntityStart: {
        +                if (str.charCodeAt(offset) === CharCodes.NUM) {
        +                    this.state = EntityDecoderState.NumericStart;
        +                    this.consumed += 1;
        +                    return this.stateNumericStart(str, offset + 1);
        +                }
        +                this.state = EntityDecoderState.NamedEntity;
        +                return this.stateNamedEntity(str, offset);
        +            }
        +            case EntityDecoderState.NumericStart: {
        +                return this.stateNumericStart(str, offset);
        +            }
        +            case EntityDecoderState.NumericDecimal: {
        +                return this.stateNumericDecimal(str, offset);
        +            }
        +            case EntityDecoderState.NumericHex: {
        +                return this.stateNumericHex(str, offset);
        +            }
        +            case EntityDecoderState.NamedEntity: {
        +                return this.stateNamedEntity(str, offset);
        +            }
        +        }
        +    }
        +    /**
        +     * Switches between the numeric decimal and hexadecimal states.
        +     *
        +     * Equivalent to the `Numeric character reference state` in the HTML spec.
        +     *
        +     * @param str The string containing the entity (or a continuation of the entity).
        +     * @param offset The current offset.
        +     * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
        +     */
        +    stateNumericStart(str, offset) {
        +        if (offset >= str.length) {
        +            return -1;
        +        }
        +        if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {
        +            this.state = EntityDecoderState.NumericHex;
        +            this.consumed += 1;
        +            return this.stateNumericHex(str, offset + 1);
        +        }
        +        this.state = EntityDecoderState.NumericDecimal;
        +        return this.stateNumericDecimal(str, offset);
        +    }
        +    addToNumericResult(str, start, end, base) {
        +        if (start !== end) {
        +            const digitCount = end - start;
        +            this.result =
        +                this.result * Math.pow(base, digitCount) +
        +                    parseInt(str.substr(start, digitCount), base);
        +            this.consumed += digitCount;
        +        }
        +    }
        +    /**
        +     * Parses a hexadecimal numeric entity.
        +     *
        +     * Equivalent to the `Hexademical character reference state` in the HTML spec.
        +     *
        +     * @param str The string containing the entity (or a continuation of the entity).
        +     * @param offset The current offset.
        +     * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
        +     */
        +    stateNumericHex(str, offset) {
        +        const startIdx = offset;
        +        while (offset < str.length) {
        +            const char = str.charCodeAt(offset);
        +            if (decode_isNumber(char) || isHexadecimalCharacter(char)) {
        +                offset += 1;
        +            }
        +            else {
        +                this.addToNumericResult(str, startIdx, offset, 16);
        +                return this.emitNumericEntity(char, 3);
        +            }
        +        }
        +        this.addToNumericResult(str, startIdx, offset, 16);
        +        return -1;
        +    }
        +    /**
        +     * Parses a decimal numeric entity.
        +     *
        +     * Equivalent to the `Decimal character reference state` in the HTML spec.
        +     *
        +     * @param str The string containing the entity (or a continuation of the entity).
        +     * @param offset The current offset.
        +     * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
        +     */
        +    stateNumericDecimal(str, offset) {
        +        const startIdx = offset;
        +        while (offset < str.length) {
        +            const char = str.charCodeAt(offset);
        +            if (decode_isNumber(char)) {
        +                offset += 1;
        +            }
        +            else {
        +                this.addToNumericResult(str, startIdx, offset, 10);
        +                return this.emitNumericEntity(char, 2);
        +            }
        +        }
        +        this.addToNumericResult(str, startIdx, offset, 10);
        +        return -1;
        +    }
        +    /**
        +     * Validate and emit a numeric entity.
        +     *
        +     * Implements the logic from the `Hexademical character reference start
        +     * state` and `Numeric character reference end state` in the HTML spec.
        +     *
        +     * @param lastCp The last code point of the entity. Used to see if the
        +     *               entity was terminated with a semicolon.
        +     * @param expectedLength The minimum number of characters that should be
        +     *                       consumed. Used to validate that at least one digit
        +     *                       was consumed.
        +     * @returns The number of characters that were consumed.
        +     */
        +    emitNumericEntity(lastCp, expectedLength) {
        +        var _a;
        +        // Ensure we consumed at least one digit.
        +        if (this.consumed <= expectedLength) {
        +            (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
        +            return 0;
        +        }
        +        // Figure out if this is a legit end of the entity
        +        if (lastCp === CharCodes.SEMI) {
        +            this.consumed += 1;
        +        }
        +        else if (this.decodeMode === DecodingMode.Strict) {
        +            return 0;
        +        }
        +        this.emitCodePoint(replaceCodePoint(this.result), this.consumed);
        +        if (this.errors) {
        +            if (lastCp !== CharCodes.SEMI) {
        +                this.errors.missingSemicolonAfterCharacterReference();
        +            }
        +            this.errors.validateNumericCharacterReference(this.result);
        +        }
        +        return this.consumed;
        +    }
        +    /**
        +     * Parses a named entity.
        +     *
        +     * Equivalent to the `Named character reference state` in the HTML spec.
        +     *
        +     * @param str The string containing the entity (or a continuation of the entity).
        +     * @param offset The current offset.
        +     * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
        +     */
        +    stateNamedEntity(str, offset) {
        +        const { decodeTree } = this;
        +        let current = decodeTree[this.treeIndex];
        +        // The mask is the number of bytes of the value, including the current byte.
        +        let valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
        +        for (; offset < str.length; offset++, this.excess++) {
        +            const char = str.charCodeAt(offset);
        +            this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
        +            if (this.treeIndex < 0) {
        +                return this.result === 0 ||
        +                    // If we are parsing an attribute
        +                    (this.decodeMode === DecodingMode.Attribute &&
        +                        // We shouldn't have consumed any characters after the entity,
        +                        (valueLength === 0 ||
        +                            // And there should be no invalid characters.
        +                            isEntityInAttributeInvalidEnd(char)))
        +                    ? 0
        +                    : this.emitNotTerminatedNamedEntity();
        +            }
        +            current = decodeTree[this.treeIndex];
        +            valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
        +            // If the branch is a value, store it and continue
        +            if (valueLength !== 0) {
        +                // If the entity is terminated by a semicolon, we are done.
        +                if (char === CharCodes.SEMI) {
        +                    return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
        +                }
        +                // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.
        +                if (this.decodeMode !== DecodingMode.Strict) {
        +                    this.result = this.treeIndex;
        +                    this.consumed += this.excess;
        +                    this.excess = 0;
        +                }
        +            }
        +        }
        +        return -1;
        +    }
        +    /**
        +     * Emit a named entity that was not terminated with a semicolon.
        +     *
        +     * @returns The number of characters consumed.
        +     */
        +    emitNotTerminatedNamedEntity() {
        +        var _a;
        +        const { result, decodeTree } = this;
        +        const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
        +        this.emitNamedEntityData(result, valueLength, this.consumed);
        +        (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
        +        return this.consumed;
        +    }
        +    /**
        +     * Emit a named entity.
        +     *
        +     * @param result The index of the entity in the decode tree.
        +     * @param valueLength The number of bytes in the entity.
        +     * @param consumed The number of characters consumed.
        +     *
        +     * @returns The number of characters consumed.
        +     */
        +    emitNamedEntityData(result, valueLength, consumed) {
        +        const { decodeTree } = this;
        +        this.emitCodePoint(valueLength === 1
        +            ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH
        +            : decodeTree[result + 1], consumed);
        +        if (valueLength === 3) {
        +            // For multi-byte values, we need to emit the second byte.
        +            this.emitCodePoint(decodeTree[result + 2], consumed);
        +        }
        +        return consumed;
        +    }
        +    /**
        +     * Signal to the parser that the end of the input was reached.
        +     *
        +     * Remaining data will be emitted and relevant errors will be produced.
        +     *
        +     * @returns The number of characters consumed.
        +     */
        +    end() {
        +        var _a;
        +        switch (this.state) {
        +            case EntityDecoderState.NamedEntity: {
        +                // Emit a named entity if we have one.
        +                return this.result !== 0 &&
        +                    (this.decodeMode !== DecodingMode.Attribute ||
        +                        this.result === this.treeIndex)
        +                    ? this.emitNotTerminatedNamedEntity()
        +                    : 0;
        +            }
        +            // Otherwise, emit a numeric entity if we have one.
        +            case EntityDecoderState.NumericDecimal: {
        +                return this.emitNumericEntity(0, 2);
        +            }
        +            case EntityDecoderState.NumericHex: {
        +                return this.emitNumericEntity(0, 3);
        +            }
        +            case EntityDecoderState.NumericStart: {
        +                (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
        +                return 0;
        +            }
        +            case EntityDecoderState.EntityStart: {
        +                // Return 0 if we have no entity.
        +                return 0;
        +            }
        +        }
        +    }
        +}
        +/**
        + * Creates a function that decodes entities in a string.
        + *
        + * @param decodeTree The decode tree.
        + * @returns A function that decodes entities in a string.
        + */
        +function getDecoder(decodeTree) {
        +    let ret = "";
        +    const decoder = new EntityDecoder(decodeTree, (str) => (ret += fromCodePoint(str)));
        +    return function decodeWithTrie(str, decodeMode) {
        +        let lastIndex = 0;
        +        let offset = 0;
        +        while ((offset = str.indexOf("&", offset)) >= 0) {
        +            ret += str.slice(lastIndex, offset);
        +            decoder.startEntity(decodeMode);
        +            const len = decoder.write(str, 
        +            // Skip the "&"
        +            offset + 1);
        +            if (len < 0) {
        +                lastIndex = offset + decoder.end();
        +                break;
        +            }
        +            lastIndex = offset + len;
        +            // If `len` is 0, skip the current `&` and continue.
        +            offset = len === 0 ? lastIndex + 1 : lastIndex;
        +        }
        +        const result = ret + str.slice(lastIndex);
        +        // Make sure we don't keep a reference to the final string.
        +        ret = "";
        +        return result;
        +    };
        +}
        +/**
        + * Determines the branch of the current node that is taken given the current
        + * character. This function is used to traverse the trie.
        + *
        + * @param decodeTree The trie.
        + * @param current The current node.
        + * @param nodeIdx The index right after the current node and its value.
        + * @param char The current character.
        + * @returns The index of the next node, or -1 if no branch is taken.
        + */
        +function determineBranch(decodeTree, current, nodeIdx, char) {
        +    const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;
        +    const jumpOffset = current & BinTrieFlags.JUMP_TABLE;
        +    // Case 1: Single branch encoded in jump offset
        +    if (branchCount === 0) {
        +        return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;
        +    }
        +    // Case 2: Multiple branches encoded in jump table
        +    if (jumpOffset) {
        +        const value = char - jumpOffset;
        +        return value < 0 || value >= branchCount
        +            ? -1
        +            : decodeTree[nodeIdx + value] - 1;
        +    }
        +    // Case 3: Multiple branches encoded in dictionary
        +    // Binary search for the character.
        +    let lo = nodeIdx;
        +    let hi = lo + branchCount - 1;
        +    while (lo <= hi) {
        +        const mid = (lo + hi) >>> 1;
        +        const midVal = decodeTree[mid];
        +        if (midVal < char) {
        +            lo = mid + 1;
        +        }
        +        else if (midVal > char) {
        +            hi = mid - 1;
        +        }
        +        else {
        +            return decodeTree[mid + branchCount];
        +        }
        +    }
        +    return -1;
        +}
        +const htmlDecoder = getDecoder(decode_data_html);
        +const xmlDecoder = getDecoder(decode_data_xml);
        +/**
        + * Decodes an HTML string.
        + *
        + * @param str The string to decode.
        + * @param mode The decoding mode.
        + * @returns The decoded string.
        + */
        +function decodeHTML(str, mode = DecodingMode.Legacy) {
        +    return htmlDecoder(str, mode);
        +}
        +/**
        + * Decodes an HTML string in an attribute.
        + *
        + * @param str The string to decode.
        + * @returns The decoded string.
        + */
        +function decodeHTMLAttribute(str) {
        +    return htmlDecoder(str, DecodingMode.Attribute);
        +}
        +/**
        + * Decodes an HTML string, requiring all entities to be terminated by a semicolon.
        + *
        + * @param str The string to decode.
        + * @returns The decoded string.
        + */
        +function decodeHTMLStrict(str) {
        +    return htmlDecoder(str, DecodingMode.Strict);
        +}
        +/**
        + * Decodes an XML string, requiring all entities to be terminated by a semicolon.
        + *
        + * @param str The string to decode.
        + * @returns The decoded string.
        + */
        +function decodeXML(str) {
        +    return xmlDecoder(str, DecodingMode.Strict);
        +}
        +//# sourceMappingURL=decode.js.map
        +;// ./node_modules/entities/lib/esm/generated/encode-html.js
        +// Generated using scripts/write-encode-map.ts
        +function restoreDiff(arr) {
        +    for (let i = 1; i < arr.length; i++) {
        +        arr[i][0] += arr[i - 1][0] + 1;
        +    }
        +    return arr;
        +}
        +// prettier-ignore
        +/* harmony default export */ const encode_html = (new Map(/* #__PURE__ */ restoreDiff([[9, "	"], [0, "
        "], [22, "!"], [0, """], [0, "#"], [0, "$"], [0, "%"], [0, "&"], [0, "'"], [0, "("], [0, ")"], [0, "*"], [0, "+"], [0, ","], [1, "."], [0, "/"], [10, ":"], [0, ";"], [0, { v: "<", n: 8402, o: "<⃒" }], [0, { v: "=", n: 8421, o: "=⃥" }], [0, { v: ">", n: 8402, o: ">⃒" }], [0, "?"], [0, "@"], [26, "["], [0, "\"], [0, "]"], [0, "^"], [0, "_"], [0, "`"], [5, { n: 106, o: "fj" }], [20, "{"], [0, "|"], [0, "}"], [34, " "], [0, "¡"], [0, "¢"], [0, "£"], [0, "¤"], [0, "¥"], [0, "¦"], [0, "§"], [0, "¨"], [0, "©"], [0, "ª"], [0, "«"], [0, "¬"], [0, "­"], [0, "®"], [0, "¯"], [0, "°"], [0, "±"], [0, "²"], [0, "³"], [0, "´"], [0, "µ"], [0, "¶"], [0, "·"], [0, "¸"], [0, "¹"], [0, "º"], [0, "»"], [0, "¼"], [0, "½"], [0, "¾"], [0, "¿"], [0, "À"], [0, "Á"], [0, "Â"], [0, "Ã"], [0, "Ä"], [0, "Å"], [0, "Æ"], [0, "Ç"], [0, "È"], [0, "É"], [0, "Ê"], [0, "Ë"], [0, "Ì"], [0, "Í"], [0, "Î"], [0, "Ï"], [0, "Ð"], [0, "Ñ"], [0, "Ò"], [0, "Ó"], [0, "Ô"], [0, "Õ"], [0, "Ö"], [0, "×"], [0, "Ø"], [0, "Ù"], [0, "Ú"], [0, "Û"], [0, "Ü"], [0, "Ý"], [0, "Þ"], [0, "ß"], [0, "à"], [0, "á"], [0, "â"], [0, "ã"], [0, "ä"], [0, "å"], [0, "æ"], [0, "ç"], [0, "è"], [0, "é"], [0, "ê"], [0, "ë"], [0, "ì"], [0, "í"], [0, "î"], [0, "ï"], [0, "ð"], [0, "ñ"], [0, "ò"], [0, "ó"], [0, "ô"], [0, "õ"], [0, "ö"], [0, "÷"], [0, "ø"], [0, "ù"], [0, "ú"], [0, "û"], [0, "ü"], [0, "ý"], [0, "þ"], [0, "ÿ"], [0, "Ā"], [0, "ā"], [0, "Ă"], [0, "ă"], [0, "Ą"], [0, "ą"], [0, "Ć"], [0, "ć"], [0, "Ĉ"], [0, "ĉ"], [0, "Ċ"], [0, "ċ"], [0, "Č"], [0, "č"], [0, "Ď"], [0, "ď"], [0, "Đ"], [0, "đ"], [0, "Ē"], [0, "ē"], [2, "Ė"], [0, "ė"], [0, "Ę"], [0, "ę"], [0, "Ě"], [0, "ě"], [0, "Ĝ"], [0, "ĝ"], [0, "Ğ"], [0, "ğ"], [0, "Ġ"], [0, "ġ"], [0, "Ģ"], [1, "Ĥ"], [0, "ĥ"], [0, "Ħ"], [0, "ħ"], [0, "Ĩ"], [0, "ĩ"], [0, "Ī"], [0, "ī"], [2, "Į"], [0, "į"], [0, "İ"], [0, "ı"], [0, "IJ"], [0, "ij"], [0, "Ĵ"], [0, "ĵ"], [0, "Ķ"], [0, "ķ"], [0, "ĸ"], [0, "Ĺ"], [0, "ĺ"], [0, "Ļ"], [0, "ļ"], [0, "Ľ"], [0, "ľ"], [0, "Ŀ"], [0, "ŀ"], [0, "Ł"], [0, "ł"], [0, "Ń"], [0, "ń"], [0, "Ņ"], [0, "ņ"], [0, "Ň"], [0, "ň"], [0, "ʼn"], [0, "Ŋ"], [0, "ŋ"], [0, "Ō"], [0, "ō"], [2, "Ő"], [0, "ő"], [0, "Œ"], [0, "œ"], [0, "Ŕ"], [0, "ŕ"], [0, "Ŗ"], [0, "ŗ"], [0, "Ř"], [0, "ř"], [0, "Ś"], [0, "ś"], [0, "Ŝ"], [0, "ŝ"], [0, "Ş"], [0, "ş"], [0, "Š"], [0, "š"], [0, "Ţ"], [0, "ţ"], [0, "Ť"], [0, "ť"], [0, "Ŧ"], [0, "ŧ"], [0, "Ũ"], [0, "ũ"], [0, "Ū"], [0, "ū"], [0, "Ŭ"], [0, "ŭ"], [0, "Ů"], [0, "ů"], [0, "Ű"], [0, "ű"], [0, "Ų"], [0, "ų"], [0, "Ŵ"], [0, "ŵ"], [0, "Ŷ"], [0, "ŷ"], [0, "Ÿ"], [0, "Ź"], [0, "ź"], [0, "Ż"], [0, "ż"], [0, "Ž"], [0, "ž"], [19, "ƒ"], [34, "Ƶ"], [63, "ǵ"], [65, "ȷ"], [142, "ˆ"], [0, "ˇ"], [16, "˘"], [0, "˙"], [0, "˚"], [0, "˛"], [0, "˜"], [0, "˝"], [51, "̑"], [127, "Α"], [0, "Β"], [0, "Γ"], [0, "Δ"], [0, "Ε"], [0, "Ζ"], [0, "Η"], [0, "Θ"], [0, "Ι"], [0, "Κ"], [0, "Λ"], [0, "Μ"], [0, "Ν"], [0, "Ξ"], [0, "Ο"], [0, "Π"], [0, "Ρ"], [1, "Σ"], [0, "Τ"], [0, "Υ"], [0, "Φ"], [0, "Χ"], [0, "Ψ"], [0, "Ω"], [7, "α"], [0, "β"], [0, "γ"], [0, "δ"], [0, "ε"], [0, "ζ"], [0, "η"], [0, "θ"], [0, "ι"], [0, "κ"], [0, "λ"], [0, "μ"], [0, "ν"], [0, "ξ"], [0, "ο"], [0, "π"], [0, "ρ"], [0, "ς"], [0, "σ"], [0, "τ"], [0, "υ"], [0, "φ"], [0, "χ"], [0, "ψ"], [0, "ω"], [7, "ϑ"], [0, "ϒ"], [2, "ϕ"], [0, "ϖ"], [5, "Ϝ"], [0, "ϝ"], [18, "ϰ"], [0, "ϱ"], [3, "ϵ"], [0, "϶"], [10, "Ё"], [0, "Ђ"], [0, "Ѓ"], [0, "Є"], [0, "Ѕ"], [0, "І"], [0, "Ї"], [0, "Ј"], [0, "Љ"], [0, "Њ"], [0, "Ћ"], [0, "Ќ"], [1, "Ў"], [0, "Џ"], [0, "А"], [0, "Б"], [0, "В"], [0, "Г"], [0, "Д"], [0, "Е"], [0, "Ж"], [0, "З"], [0, "И"], [0, "Й"], [0, "К"], [0, "Л"], [0, "М"], [0, "Н"], [0, "О"], [0, "П"], [0, "Р"], [0, "С"], [0, "Т"], [0, "У"], [0, "Ф"], [0, "Х"], [0, "Ц"], [0, "Ч"], [0, "Ш"], [0, "Щ"], [0, "Ъ"], [0, "Ы"], [0, "Ь"], [0, "Э"], [0, "Ю"], [0, "Я"], [0, "а"], [0, "б"], [0, "в"], [0, "г"], [0, "д"], [0, "е"], [0, "ж"], [0, "з"], [0, "и"], [0, "й"], [0, "к"], [0, "л"], [0, "м"], [0, "н"], [0, "о"], [0, "п"], [0, "р"], [0, "с"], [0, "т"], [0, "у"], [0, "ф"], [0, "х"], [0, "ц"], [0, "ч"], [0, "ш"], [0, "щ"], [0, "ъ"], [0, "ы"], [0, "ь"], [0, "э"], [0, "ю"], [0, "я"], [1, "ё"], [0, "ђ"], [0, "ѓ"], [0, "є"], [0, "ѕ"], [0, "і"], [0, "ї"], [0, "ј"], [0, "љ"], [0, "њ"], [0, "ћ"], [0, "ќ"], [1, "ў"], [0, "џ"], [7074, " "], [0, " "], [0, " "], [0, " "], [1, " "], [0, " "], [0, " "], [0, " "], [0, "​"], [0, "‌"], [0, "‍"], [0, "‎"], [0, "‏"], [0, "‐"], [2, "–"], [0, "—"], [0, "―"], [0, "‖"], [1, "‘"], [0, "’"], [0, "‚"], [1, "“"], [0, "”"], [0, "„"], [1, "†"], [0, "‡"], [0, "•"], [2, "‥"], [0, "…"], [9, "‰"], [0, "‱"], [0, "′"], [0, "″"], [0, "‴"], [0, "‵"], [3, "‹"], [0, "›"], [3, "‾"], [2, "⁁"], [1, "⁃"], [0, "⁄"], [10, "⁏"], [7, "⁗"], [7, { v: " ", n: 8202, o: "  " }], [0, "⁠"], [0, "⁡"], [0, "⁢"], [0, "⁣"], [72, "€"], [46, "⃛"], [0, "⃜"], [37, "ℂ"], [2, "℅"], [4, "ℊ"], [0, "ℋ"], [0, "ℌ"], [0, "ℍ"], [0, "ℎ"], [0, "ℏ"], [0, "ℐ"], [0, "ℑ"], [0, "ℒ"], [0, "ℓ"], [1, "ℕ"], [0, "№"], [0, "℗"], [0, "℘"], [0, "ℙ"], [0, "ℚ"], [0, "ℛ"], [0, "ℜ"], [0, "ℝ"], [0, "℞"], [3, "™"], [1, "ℤ"], [2, "℧"], [0, "ℨ"], [0, "℩"], [2, "ℬ"], [0, "ℭ"], [1, "ℯ"], [0, "ℰ"], [0, "ℱ"], [1, "ℳ"], [0, "ℴ"], [0, "ℵ"], [0, "ℶ"], [0, "ℷ"], [0, "ℸ"], [12, "ⅅ"], [0, "ⅆ"], [0, "ⅇ"], [0, "ⅈ"], [10, "⅓"], [0, "⅔"], [0, "⅕"], [0, "⅖"], [0, "⅗"], [0, "⅘"], [0, "⅙"], [0, "⅚"], [0, "⅛"], [0, "⅜"], [0, "⅝"], [0, "⅞"], [49, "←"], [0, "↑"], [0, "→"], [0, "↓"], [0, "↔"], [0, "↕"], [0, "↖"], [0, "↗"], [0, "↘"], [0, "↙"], [0, "↚"], [0, "↛"], [1, { v: "↝", n: 824, o: "↝̸" }], [0, "↞"], [0, "↟"], [0, "↠"], [0, "↡"], [0, "↢"], [0, "↣"], [0, "↤"], [0, "↥"], [0, "↦"], [0, "↧"], [1, "↩"], [0, "↪"], [0, "↫"], [0, "↬"], [0, "↭"], [0, "↮"], [1, "↰"], [0, "↱"], [0, "↲"], [0, "↳"], [1, "↵"], [0, "↶"], [0, "↷"], [2, "↺"], [0, "↻"], [0, "↼"], [0, "↽"], [0, "↾"], [0, "↿"], [0, "⇀"], [0, "⇁"], [0, "⇂"], [0, "⇃"], [0, "⇄"], [0, "⇅"], [0, "⇆"], [0, "⇇"], [0, "⇈"], [0, "⇉"], [0, "⇊"], [0, "⇋"], [0, "⇌"], [0, "⇍"], [0, "⇎"], [0, "⇏"], [0, "⇐"], [0, "⇑"], [0, "⇒"], [0, "⇓"], [0, "⇔"], [0, "⇕"], [0, "⇖"], [0, "⇗"], [0, "⇘"], [0, "⇙"], [0, "⇚"], [0, "⇛"], [1, "⇝"], [6, "⇤"], [0, "⇥"], [15, "⇵"], [7, "⇽"], [0, "⇾"], [0, "⇿"], [0, "∀"], [0, "∁"], [0, { v: "∂", n: 824, o: "∂̸" }], [0, "∃"], [0, "∄"], [0, "∅"], [1, "∇"], [0, "∈"], [0, "∉"], [1, "∋"], [0, "∌"], [2, "∏"], [0, "∐"], [0, "∑"], [0, "−"], [0, "∓"], [0, "∔"], [1, "∖"], [0, "∗"], [0, "∘"], [1, "√"], [2, "∝"], [0, "∞"], [0, "∟"], [0, { v: "∠", n: 8402, o: "∠⃒" }], [0, "∡"], [0, "∢"], [0, "∣"], [0, "∤"], [0, "∥"], [0, "∦"], [0, "∧"], [0, "∨"], [0, { v: "∩", n: 65024, o: "∩︀" }], [0, { v: "∪", n: 65024, o: "∪︀" }], [0, "∫"], [0, "∬"], [0, "∭"], [0, "∮"], [0, "∯"], [0, "∰"], [0, "∱"], [0, "∲"], [0, "∳"], [0, "∴"], [0, "∵"], [0, "∶"], [0, "∷"], [0, "∸"], [1, "∺"], [0, "∻"], [0, { v: "∼", n: 8402, o: "∼⃒" }], [0, { v: "∽", n: 817, o: "∽̱" }], [0, { v: "∾", n: 819, o: "∾̳" }], [0, "∿"], [0, "≀"], [0, "≁"], [0, { v: "≂", n: 824, o: "≂̸" }], [0, "≃"], [0, "≄"], [0, "≅"], [0, "≆"], [0, "≇"], [0, "≈"], [0, "≉"], [0, "≊"], [0, { v: "≋", n: 824, o: "≋̸" }], [0, "≌"], [0, { v: "≍", n: 8402, o: "≍⃒" }], [0, { v: "≎", n: 824, o: "≎̸" }], [0, { v: "≏", n: 824, o: "≏̸" }], [0, { v: "≐", n: 824, o: "≐̸" }], [0, "≑"], [0, "≒"], [0, "≓"], [0, "≔"], [0, "≕"], [0, "≖"], [0, "≗"], [1, "≙"], [0, "≚"], [1, "≜"], [2, "≟"], [0, "≠"], [0, { v: "≡", n: 8421, o: "≡⃥" }], [0, "≢"], [1, { v: "≤", n: 8402, o: "≤⃒" }], [0, { v: "≥", n: 8402, o: "≥⃒" }], [0, { v: "≦", n: 824, o: "≦̸" }], [0, { v: "≧", n: 824, o: "≧̸" }], [0, { v: "≨", n: 65024, o: "≨︀" }], [0, { v: "≩", n: 65024, o: "≩︀" }], [0, { v: "≪", n: new Map(/* #__PURE__ */ restoreDiff([[824, "≪̸"], [7577, "≪⃒"]])) }], [0, { v: "≫", n: new Map(/* #__PURE__ */ restoreDiff([[824, "≫̸"], [7577, "≫⃒"]])) }], [0, "≬"], [0, "≭"], [0, "≮"], [0, "≯"], [0, "≰"], [0, "≱"], [0, "≲"], [0, "≳"], [0, "≴"], [0, "≵"], [0, "≶"], [0, "≷"], [0, "≸"], [0, "≹"], [0, "≺"], [0, "≻"], [0, "≼"], [0, "≽"], [0, "≾"], [0, { v: "≿", n: 824, o: "≿̸" }], [0, "⊀"], [0, "⊁"], [0, { v: "⊂", n: 8402, o: "⊂⃒" }], [0, { v: "⊃", n: 8402, o: "⊃⃒" }], [0, "⊄"], [0, "⊅"], [0, "⊆"], [0, "⊇"], [0, "⊈"], [0, "⊉"], [0, { v: "⊊", n: 65024, o: "⊊︀" }], [0, { v: "⊋", n: 65024, o: "⊋︀" }], [1, "⊍"], [0, "⊎"], [0, { v: "⊏", n: 824, o: "⊏̸" }], [0, { v: "⊐", n: 824, o: "⊐̸" }], [0, "⊑"], [0, "⊒"], [0, { v: "⊓", n: 65024, o: "⊓︀" }], [0, { v: "⊔", n: 65024, o: "⊔︀" }], [0, "⊕"], [0, "⊖"], [0, "⊗"], [0, "⊘"], [0, "⊙"], [0, "⊚"], [0, "⊛"], [1, "⊝"], [0, "⊞"], [0, "⊟"], [0, "⊠"], [0, "⊡"], [0, "⊢"], [0, "⊣"], [0, "⊤"], [0, "⊥"], [1, "⊧"], [0, "⊨"], [0, "⊩"], [0, "⊪"], [0, "⊫"], [0, "⊬"], [0, "⊭"], [0, "⊮"], [0, "⊯"], [0, "⊰"], [1, "⊲"], [0, "⊳"], [0, { v: "⊴", n: 8402, o: "⊴⃒" }], [0, { v: "⊵", n: 8402, o: "⊵⃒" }], [0, "⊶"], [0, "⊷"], [0, "⊸"], [0, "⊹"], [0, "⊺"], [0, "⊻"], [1, "⊽"], [0, "⊾"], [0, "⊿"], [0, "⋀"], [0, "⋁"], [0, "⋂"], [0, "⋃"], [0, "⋄"], [0, "⋅"], [0, "⋆"], [0, "⋇"], [0, "⋈"], [0, "⋉"], [0, "⋊"], [0, "⋋"], [0, "⋌"], [0, "⋍"], [0, "⋎"], [0, "⋏"], [0, "⋐"], [0, "⋑"], [0, "⋒"], [0, "⋓"], [0, "⋔"], [0, "⋕"], [0, "⋖"], [0, "⋗"], [0, { v: "⋘", n: 824, o: "⋘̸" }], [0, { v: "⋙", n: 824, o: "⋙̸" }], [0, { v: "⋚", n: 65024, o: "⋚︀" }], [0, { v: "⋛", n: 65024, o: "⋛︀" }], [2, "⋞"], [0, "⋟"], [0, "⋠"], [0, "⋡"], [0, "⋢"], [0, "⋣"], [2, "⋦"], [0, "⋧"], [0, "⋨"], [0, "⋩"], [0, "⋪"], [0, "⋫"], [0, "⋬"], [0, "⋭"], [0, "⋮"], [0, "⋯"], [0, "⋰"], [0, "⋱"], [0, "⋲"], [0, "⋳"], [0, "⋴"], [0, { v: "⋵", n: 824, o: "⋵̸" }], [0, "⋶"], [0, "⋷"], [1, { v: "⋹", n: 824, o: "⋹̸" }], [0, "⋺"], [0, "⋻"], [0, "⋼"], [0, "⋽"], [0, "⋾"], [6, "⌅"], [0, "⌆"], [1, "⌈"], [0, "⌉"], [0, "⌊"], [0, "⌋"], [0, "⌌"], [0, "⌍"], [0, "⌎"], [0, "⌏"], [0, "⌐"], [1, "⌒"], [0, "⌓"], [1, "⌕"], [0, "⌖"], [5, "⌜"], [0, "⌝"], [0, "⌞"], [0, "⌟"], [2, "⌢"], [0, "⌣"], [9, "⌭"], [0, "⌮"], [7, "⌶"], [6, "⌽"], [1, "⌿"], [60, "⍼"], [51, "⎰"], [0, "⎱"], [2, "⎴"], [0, "⎵"], [0, "⎶"], [37, "⏜"], [0, "⏝"], [0, "⏞"], [0, "⏟"], [2, "⏢"], [4, "⏧"], [59, "␣"], [164, "Ⓢ"], [55, "─"], [1, "│"], [9, "┌"], [3, "┐"], [3, "└"], [3, "┘"], [3, "├"], [7, "┤"], [7, "┬"], [7, "┴"], [7, "┼"], [19, "═"], [0, "║"], [0, "╒"], [0, "╓"], [0, "╔"], [0, "╕"], [0, "╖"], [0, "╗"], [0, "╘"], [0, "╙"], [0, "╚"], [0, "╛"], [0, "╜"], [0, "╝"], [0, "╞"], [0, "╟"], [0, "╠"], [0, "╡"], [0, "╢"], [0, "╣"], [0, "╤"], [0, "╥"], [0, "╦"], [0, "╧"], [0, "╨"], [0, "╩"], [0, "╪"], [0, "╫"], [0, "╬"], [19, "▀"], [3, "▄"], [3, "█"], [8, "░"], [0, "▒"], [0, "▓"], [13, "□"], [8, "▪"], [0, "▫"], [1, "▭"], [0, "▮"], [2, "▱"], [1, "△"], [0, "▴"], [0, "▵"], [2, "▸"], [0, "▹"], [3, "▽"], [0, "▾"], [0, "▿"], [2, "◂"], [0, "◃"], [6, "◊"], [0, "○"], [32, "◬"], [2, "◯"], [8, "◸"], [0, "◹"], [0, "◺"], [0, "◻"], [0, "◼"], [8, "★"], [0, "☆"], [7, "☎"], [49, "♀"], [1, "♂"], [29, "♠"], [2, "♣"], [1, "♥"], [0, "♦"], [3, "♪"], [2, "♭"], [0, "♮"], [0, "♯"], [163, "✓"], [3, "✗"], [8, "✠"], [21, "✶"], [33, "❘"], [25, "❲"], [0, "❳"], [84, "⟈"], [0, "⟉"], [28, "⟦"], [0, "⟧"], [0, "⟨"], [0, "⟩"], [0, "⟪"], [0, "⟫"], [0, "⟬"], [0, "⟭"], [7, "⟵"], [0, "⟶"], [0, "⟷"], [0, "⟸"], [0, "⟹"], [0, "⟺"], [1, "⟼"], [2, "⟿"], [258, "⤂"], [0, "⤃"], [0, "⤄"], [0, "⤅"], [6, "⤌"], [0, "⤍"], [0, "⤎"], [0, "⤏"], [0, "⤐"], [0, "⤑"], [0, "⤒"], [0, "⤓"], [2, "⤖"], [2, "⤙"], [0, "⤚"], [0, "⤛"], [0, "⤜"], [0, "⤝"], [0, "⤞"], [0, "⤟"], [0, "⤠"], [2, "⤣"], [0, "⤤"], [0, "⤥"], [0, "⤦"], [0, "⤧"], [0, "⤨"], [0, "⤩"], [0, "⤪"], [8, { v: "⤳", n: 824, o: "⤳̸" }], [1, "⤵"], [0, "⤶"], [0, "⤷"], [0, "⤸"], [0, "⤹"], [2, "⤼"], [0, "⤽"], [7, "⥅"], [2, "⥈"], [0, "⥉"], [0, "⥊"], [0, "⥋"], [2, "⥎"], [0, "⥏"], [0, "⥐"], [0, "⥑"], [0, "⥒"], [0, "⥓"], [0, "⥔"], [0, "⥕"], [0, "⥖"], [0, "⥗"], [0, "⥘"], [0, "⥙"], [0, "⥚"], [0, "⥛"], [0, "⥜"], [0, "⥝"], [0, "⥞"], [0, "⥟"], [0, "⥠"], [0, "⥡"], [0, "⥢"], [0, "⥣"], [0, "⥤"], [0, "⥥"], [0, "⥦"], [0, "⥧"], [0, "⥨"], [0, "⥩"], [0, "⥪"], [0, "⥫"], [0, "⥬"], [0, "⥭"], [0, "⥮"], [0, "⥯"], [0, "⥰"], [0, "⥱"], [0, "⥲"], [0, "⥳"], [0, "⥴"], [0, "⥵"], [0, "⥶"], [1, "⥸"], [0, "⥹"], [1, "⥻"], [0, "⥼"], [0, "⥽"], [0, "⥾"], [0, "⥿"], [5, "⦅"], [0, "⦆"], [4, "⦋"], [0, "⦌"], [0, "⦍"], [0, "⦎"], [0, "⦏"], [0, "⦐"], [0, "⦑"], [0, "⦒"], [0, "⦓"], [0, "⦔"], [0, "⦕"], [0, "⦖"], [3, "⦚"], [1, "⦜"], [0, "⦝"], [6, "⦤"], [0, "⦥"], [0, "⦦"], [0, "⦧"], [0, "⦨"], [0, "⦩"], [0, "⦪"], [0, "⦫"], [0, "⦬"], [0, "⦭"], [0, "⦮"], [0, "⦯"], [0, "⦰"], [0, "⦱"], [0, "⦲"], [0, "⦳"], [0, "⦴"], [0, "⦵"], [0, "⦶"], [0, "⦷"], [1, "⦹"], [1, "⦻"], [0, "⦼"], [1, "⦾"], [0, "⦿"], [0, "⧀"], [0, "⧁"], [0, "⧂"], [0, "⧃"], [0, "⧄"], [0, "⧅"], [3, "⧉"], [3, "⧍"], [0, "⧎"], [0, { v: "⧏", n: 824, o: "⧏̸" }], [0, { v: "⧐", n: 824, o: "⧐̸" }], [11, "⧜"], [0, "⧝"], [0, "⧞"], [4, "⧣"], [0, "⧤"], [0, "⧥"], [5, "⧫"], [8, "⧴"], [1, "⧶"], [9, "⨀"], [0, "⨁"], [0, "⨂"], [1, "⨄"], [1, "⨆"], [5, "⨌"], [0, "⨍"], [2, "⨐"], [0, "⨑"], [0, "⨒"], [0, "⨓"], [0, "⨔"], [0, "⨕"], [0, "⨖"], [0, "⨗"], [10, "⨢"], [0, "⨣"], [0, "⨤"], [0, "⨥"], [0, "⨦"], [0, "⨧"], [1, "⨩"], [0, "⨪"], [2, "⨭"], [0, "⨮"], [0, "⨯"], [0, "⨰"], [0, "⨱"], [1, "⨳"], [0, "⨴"], [0, "⨵"], [0, "⨶"], [0, "⨷"], [0, "⨸"], [0, "⨹"], [0, "⨺"], [0, "⨻"], [0, "⨼"], [2, "⨿"], [0, "⩀"], [1, "⩂"], [0, "⩃"], [0, "⩄"], [0, "⩅"], [0, "⩆"], [0, "⩇"], [0, "⩈"], [0, "⩉"], [0, "⩊"], [0, "⩋"], [0, "⩌"], [0, "⩍"], [2, "⩐"], [2, "⩓"], [0, "⩔"], [0, "⩕"], [0, "⩖"], [0, "⩗"], [0, "⩘"], [1, "⩚"], [0, "⩛"], [0, "⩜"], [0, "⩝"], [1, "⩟"], [6, "⩦"], [3, "⩪"], [2, { v: "⩭", n: 824, o: "⩭̸" }], [0, "⩮"], [0, "⩯"], [0, { v: "⩰", n: 824, o: "⩰̸" }], [0, "⩱"], [0, "⩲"], [0, "⩳"], [0, "⩴"], [0, "⩵"], [1, "⩷"], [0, "⩸"], [0, "⩹"], [0, "⩺"], [0, "⩻"], [0, "⩼"], [0, { v: "⩽", n: 824, o: "⩽̸" }], [0, { v: "⩾", n: 824, o: "⩾̸" }], [0, "⩿"], [0, "⪀"], [0, "⪁"], [0, "⪂"], [0, "⪃"], [0, "⪄"], [0, "⪅"], [0, "⪆"], [0, "⪇"], [0, "⪈"], [0, "⪉"], [0, "⪊"], [0, "⪋"], [0, "⪌"], [0, "⪍"], [0, "⪎"], [0, "⪏"], [0, "⪐"], [0, "⪑"], [0, "⪒"], [0, "⪓"], [0, "⪔"], [0, "⪕"], [0, "⪖"], [0, "⪗"], [0, "⪘"], [0, "⪙"], [0, "⪚"], [2, "⪝"], [0, "⪞"], [0, "⪟"], [0, "⪠"], [0, { v: "⪡", n: 824, o: "⪡̸" }], [0, { v: "⪢", n: 824, o: "⪢̸" }], [1, "⪤"], [0, "⪥"], [0, "⪦"], [0, "⪧"], [0, "⪨"], [0, "⪩"], [0, "⪪"], [0, "⪫"], [0, { v: "⪬", n: 65024, o: "⪬︀" }], [0, { v: "⪭", n: 65024, o: "⪭︀" }], [0, "⪮"], [0, { v: "⪯", n: 824, o: "⪯̸" }], [0, { v: "⪰", n: 824, o: "⪰̸" }], [2, "⪳"], [0, "⪴"], [0, "⪵"], [0, "⪶"], [0, "⪷"], [0, "⪸"], [0, "⪹"], [0, "⪺"], [0, "⪻"], [0, "⪼"], [0, "⪽"], [0, "⪾"], [0, "⪿"], [0, "⫀"], [0, "⫁"], [0, "⫂"], [0, "⫃"], [0, "⫄"], [0, { v: "⫅", n: 824, o: "⫅̸" }], [0, { v: "⫆", n: 824, o: "⫆̸" }], [0, "⫇"], [0, "⫈"], [2, { v: "⫋", n: 65024, o: "⫋︀" }], [0, { v: "⫌", n: 65024, o: "⫌︀" }], [2, "⫏"], [0, "⫐"], [0, "⫑"], [0, "⫒"], [0, "⫓"], [0, "⫔"], [0, "⫕"], [0, "⫖"], [0, "⫗"], [0, "⫘"], [0, "⫙"], [0, "⫚"], [0, "⫛"], [8, "⫤"], [1, "⫦"], [0, "⫧"], [0, "⫨"], [0, "⫩"], [1, "⫫"], [0, "⫬"], [0, "⫭"], [0, "⫮"], [0, "⫯"], [0, "⫰"], [0, "⫱"], [0, "⫲"], [0, "⫳"], [9, { v: "⫽", n: 8421, o: "⫽⃥" }], [44343, { n: new Map(/* #__PURE__ */ restoreDiff([[56476, "𝒜"], [1, "𝒞"], [0, "𝒟"], [2, "𝒢"], [2, "𝒥"], [0, "𝒦"], [2, "𝒩"], [0, "𝒪"], [0, "𝒫"], [0, "𝒬"], [1, "𝒮"], [0, "𝒯"], [0, "𝒰"], [0, "𝒱"], [0, "𝒲"], [0, "𝒳"], [0, "𝒴"], [0, "𝒵"], [0, "𝒶"], [0, "𝒷"], [0, "𝒸"], [0, "𝒹"], [1, "𝒻"], [1, "𝒽"], [0, "𝒾"], [0, "𝒿"], [0, "𝓀"], [0, "𝓁"], [0, "𝓂"], [0, "𝓃"], [1, "𝓅"], [0, "𝓆"], [0, "𝓇"], [0, "𝓈"], [0, "𝓉"], [0, "𝓊"], [0, "𝓋"], [0, "𝓌"], [0, "𝓍"], [0, "𝓎"], [0, "𝓏"], [52, "𝔄"], [0, "𝔅"], [1, "𝔇"], [0, "𝔈"], [0, "𝔉"], [0, "𝔊"], [2, "𝔍"], [0, "𝔎"], [0, "𝔏"], [0, "𝔐"], [0, "𝔑"], [0, "𝔒"], [0, "𝔓"], [0, "𝔔"], [1, "𝔖"], [0, "𝔗"], [0, "𝔘"], [0, "𝔙"], [0, "𝔚"], [0, "𝔛"], [0, "𝔜"], [1, "𝔞"], [0, "𝔟"], [0, "𝔠"], [0, "𝔡"], [0, "𝔢"], [0, "𝔣"], [0, "𝔤"], [0, "𝔥"], [0, "𝔦"], [0, "𝔧"], [0, "𝔨"], [0, "𝔩"], [0, "𝔪"], [0, "𝔫"], [0, "𝔬"], [0, "𝔭"], [0, "𝔮"], [0, "𝔯"], [0, "𝔰"], [0, "𝔱"], [0, "𝔲"], [0, "𝔳"], [0, "𝔴"], [0, "𝔵"], [0, "𝔶"], [0, "𝔷"], [0, "𝔸"], [0, "𝔹"], [1, "𝔻"], [0, "𝔼"], [0, "𝔽"], [0, "𝔾"], [1, "𝕀"], [0, "𝕁"], [0, "𝕂"], [0, "𝕃"], [0, "𝕄"], [1, "𝕆"], [3, "𝕊"], [0, "𝕋"], [0, "𝕌"], [0, "𝕍"], [0, "𝕎"], [0, "𝕏"], [0, "𝕐"], [1, "𝕒"], [0, "𝕓"], [0, "𝕔"], [0, "𝕕"], [0, "𝕖"], [0, "𝕗"], [0, "𝕘"], [0, "𝕙"], [0, "𝕚"], [0, "𝕛"], [0, "𝕜"], [0, "𝕝"], [0, "𝕞"], [0, "𝕟"], [0, "𝕠"], [0, "𝕡"], [0, "𝕢"], [0, "𝕣"], [0, "𝕤"], [0, "𝕥"], [0, "𝕦"], [0, "𝕧"], [0, "𝕨"], [0, "𝕩"], [0, "𝕪"], [0, "𝕫"]])) }], [8906, "ff"], [0, "fi"], [0, "fl"], [0, "ffi"], [0, "ffl"]])));
        +//# sourceMappingURL=encode-html.js.map
        +;// ./node_modules/entities/lib/esm/escape.js
        +const xmlReplacer = /["&'<>$\x80-\uFFFF]/g;
        +const xmlCodeMap = new Map([
        +    [34, """],
        +    [38, "&"],
        +    [39, "'"],
        +    [60, "<"],
        +    [62, ">"],
        +]);
        +// For compatibility with node < 4, we wrap `codePointAt`
        +const getCodePoint = 
        +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
        +String.prototype.codePointAt != null
        +    ? (str, index) => str.codePointAt(index)
        +    : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
        +        (c, index) => (c.charCodeAt(index) & 0xfc00) === 0xd800
        +            ? (c.charCodeAt(index) - 0xd800) * 0x400 +
        +                c.charCodeAt(index + 1) -
        +                0xdc00 +
        +                0x10000
        +            : c.charCodeAt(index);
        +/**
        + * Encodes all non-ASCII characters, as well as characters not valid in XML
        + * documents using XML entities.
        + *
        + * If a character has no equivalent entity, a
        + * numeric hexadecimal reference (eg. `ü`) will be used.
        + */
        +function encodeXML(str) {
        +    let ret = "";
        +    let lastIdx = 0;
        +    let match;
        +    while ((match = xmlReplacer.exec(str)) !== null) {
        +        const i = match.index;
        +        const char = str.charCodeAt(i);
        +        const next = xmlCodeMap.get(char);
        +        if (next !== undefined) {
        +            ret += str.substring(lastIdx, i) + next;
        +            lastIdx = i + 1;
        +        }
        +        else {
        +            ret += `${str.substring(lastIdx, i)}&#x${getCodePoint(str, i).toString(16)};`;
        +            // Increase by 1 if we have a surrogate pair
        +            lastIdx = xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);
        +        }
        +    }
        +    return ret + str.substr(lastIdx);
        +}
        +/**
        + * Encodes all non-ASCII characters, as well as characters not valid in XML
        + * documents using numeric hexadecimal reference (eg. `ü`).
        + *
        + * Have a look at `escapeUTF8` if you want a more concise output at the expense
        + * of reduced transportability.
        + *
        + * @param data String to escape.
        + */
        +const esm_escape_escape = (/* unused pure expression or super */ null && (encodeXML));
        +/**
        + * Creates a function that escapes all characters matched by the given regular
        + * expression using the given map of characters to escape to their entities.
        + *
        + * @param regex Regular expression to match characters to escape.
        + * @param map Map of characters to escape to their entities.
        + *
        + * @returns Function that escapes all characters matched by the given regular
        + * expression using the given map of characters to escape to their entities.
        + */
        +function getEscaper(regex, map) {
        +    return function escape(data) {
        +        let match;
        +        let lastIdx = 0;
        +        let result = "";
        +        while ((match = regex.exec(data))) {
        +            if (lastIdx !== match.index) {
        +                result += data.substring(lastIdx, match.index);
        +            }
        +            // We know that this character will be in the map.
        +            result += map.get(match[0].charCodeAt(0));
        +            // Every match will be of length 1
        +            lastIdx = match.index + 1;
        +        }
        +        return result + data.substring(lastIdx);
        +    };
        +}
        +/**
        + * Encodes all characters not valid in XML documents using XML entities.
        + *
        + * Note that the output will be character-set dependent.
        + *
        + * @param data String to escape.
        + */
        +const escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap);
        +/**
        + * Encodes all characters that have to be escaped in HTML attributes,
        + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
        + *
        + * @param data String to escape.
        + */
        +const escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([
        +    [34, """],
        +    [38, "&"],
        +    [160, " "],
        +]));
        +/**
        + * Encodes all characters that have to be escaped in HTML text,
        + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
        + *
        + * @param data String to escape.
        + */
        +const escapeText = getEscaper(/[&<>\u00A0]/g, new Map([
        +    [38, "&"],
        +    [60, "<"],
        +    [62, ">"],
        +    [160, " "],
        +]));
        +//# sourceMappingURL=escape.js.map
        +;// ./node_modules/entities/lib/esm/encode.js
        +/* unused harmony import specifier */ var htmlTrie;
        +/* unused harmony import specifier */ var encode_xmlReplacer;
        +/* unused harmony import specifier */ var encode_getCodePoint;
        +
        +
        +const htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;
        +/**
        + * Encodes all characters in the input using HTML entities. This includes
        + * characters that are valid ASCII characters in HTML documents, such as `#`.
        + *
        + * To get a more compact output, consider using the `encodeNonAsciiHTML`
        + * function, which will only encode characters that are not valid in HTML
        + * documents, as well as non-ASCII characters.
        + *
        + * If a character has no equivalent entity, a numeric hexadecimal reference
        + * (eg. `ü`) will be used.
        + */
        +function encodeHTML(data) {
        +    return encodeHTMLTrieRe(htmlReplacer, data);
        +}
        +/**
        + * Encodes all non-ASCII characters, as well as characters not valid in HTML
        + * documents using HTML entities. This function will not encode characters that
        + * are valid in HTML documents, such as `#`.
        + *
        + * If a character has no equivalent entity, a numeric hexadecimal reference
        + * (eg. `ü`) will be used.
        + */
        +function encodeNonAsciiHTML(data) {
        +    return encodeHTMLTrieRe(encode_xmlReplacer, data);
        +}
        +function encodeHTMLTrieRe(regExp, str) {
        +    let ret = "";
        +    let lastIdx = 0;
        +    let match;
        +    while ((match = regExp.exec(str)) !== null) {
        +        const i = match.index;
        +        ret += str.substring(lastIdx, i);
        +        const char = str.charCodeAt(i);
        +        let next = htmlTrie.get(char);
        +        if (typeof next === "object") {
        +            // We are in a branch. Try to match the next char.
        +            if (i + 1 < str.length) {
        +                const nextChar = str.charCodeAt(i + 1);
        +                const value = typeof next.n === "number"
        +                    ? next.n === nextChar
        +                        ? next.o
        +                        : undefined
        +                    : next.n.get(nextChar);
        +                if (value !== undefined) {
        +                    ret += value;
        +                    lastIdx = regExp.lastIndex += 1;
        +                    continue;
        +                }
        +            }
        +            next = next.v;
        +        }
        +        // We might have a tree node without a value; skip and use a numeric entity.
        +        if (next !== undefined) {
        +            ret += next;
        +            lastIdx = i + 1;
        +        }
        +        else {
        +            const cp = encode_getCodePoint(str, i);
        +            ret += `&#x${cp.toString(16)};`;
        +            // Increase by 1 if we have a surrogate pair
        +            lastIdx = regExp.lastIndex += Number(cp !== char);
        +        }
        +    }
        +    return ret + str.substr(lastIdx);
        +}
        +//# sourceMappingURL=encode.js.map
        +;// ./node_modules/entities/lib/esm/index.js
        +/* unused harmony import specifier */ var esm_decodeHTML;
        +/* unused harmony import specifier */ var esm_decodeXML;
        +/* unused harmony import specifier */ var esm_DecodingMode;
        +/* unused harmony import specifier */ var esm_encodeNonAsciiHTML;
        +/* unused harmony import specifier */ var esm_encodeHTML;
        +/* unused harmony import specifier */ var esm_escapeUTF8;
        +/* unused harmony import specifier */ var esm_escapeAttribute;
        +/* unused harmony import specifier */ var esm_escapeText;
        +/* unused harmony import specifier */ var esm_encodeXML;
        +
        +
        +
        +/** The level of entities to support. */
        +var EntityLevel;
        +(function (EntityLevel) {
        +    /** Support only XML entities. */
        +    EntityLevel[EntityLevel["XML"] = 0] = "XML";
        +    /** Support HTML entities, which are a superset of XML entities. */
        +    EntityLevel[EntityLevel["HTML"] = 1] = "HTML";
        +})(EntityLevel || (EntityLevel = {}));
        +var EncodingMode;
        +(function (EncodingMode) {
        +    /**
        +     * The output is UTF-8 encoded. Only characters that need escaping within
        +     * XML will be escaped.
        +     */
        +    EncodingMode[EncodingMode["UTF8"] = 0] = "UTF8";
        +    /**
        +     * The output consists only of ASCII characters. Characters that need
        +     * escaping within HTML, and characters that aren't ASCII characters will
        +     * be escaped.
        +     */
        +    EncodingMode[EncodingMode["ASCII"] = 1] = "ASCII";
        +    /**
        +     * Encode all characters that have an equivalent entity, as well as all
        +     * characters that are not ASCII characters.
        +     */
        +    EncodingMode[EncodingMode["Extensive"] = 2] = "Extensive";
        +    /**
        +     * Encode all characters that have to be escaped in HTML attributes,
        +     * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
        +     */
        +    EncodingMode[EncodingMode["Attribute"] = 3] = "Attribute";
        +    /**
        +     * Encode all characters that have to be escaped in HTML text,
        +     * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
        +     */
        +    EncodingMode[EncodingMode["Text"] = 4] = "Text";
        +})(EncodingMode || (EncodingMode = {}));
        +/**
        + * Decodes a string with entities.
        + *
        + * @param data String to decode.
        + * @param options Decoding options.
        + */
        +function esm_decode(data, options = EntityLevel.XML) {
        +    const level = typeof options === "number" ? options : options.level;
        +    if (level === EntityLevel.HTML) {
        +        const mode = typeof options === "object" ? options.mode : undefined;
        +        return esm_decodeHTML(data, mode);
        +    }
        +    return esm_decodeXML(data);
        +}
        +/**
        + * Decodes a string with entities. Does not allow missing trailing semicolons for entities.
        + *
        + * @param data String to decode.
        + * @param options Decoding options.
        + * @deprecated Use `decode` with the `mode` set to `Strict`.
        + */
        +function decodeStrict(data, options = EntityLevel.XML) {
        +    var _a;
        +    const opts = typeof options === "number" ? { level: options } : options;
        +    (_a = opts.mode) !== null && _a !== void 0 ? _a : (opts.mode = esm_DecodingMode.Strict);
        +    return esm_decode(data, opts);
        +}
        +/**
        + * Encodes a string with entities.
        + *
        + * @param data String to encode.
        + * @param options Encoding options.
        + */
        +function esm_encode(data, options = EntityLevel.XML) {
        +    const opts = typeof options === "number" ? { level: options } : options;
        +    // Mode `UTF8` just escapes XML entities
        +    if (opts.mode === EncodingMode.UTF8)
        +        return esm_escapeUTF8(data);
        +    if (opts.mode === EncodingMode.Attribute)
        +        return esm_escapeAttribute(data);
        +    if (opts.mode === EncodingMode.Text)
        +        return esm_escapeText(data);
        +    if (opts.level === EntityLevel.HTML) {
        +        if (opts.mode === EncodingMode.ASCII) {
        +            return esm_encodeNonAsciiHTML(data);
        +        }
        +        return esm_encodeHTML(data);
        +    }
        +    // ASCII and Extensive are equivalent
        +    return esm_encodeXML(data);
        +}
        +
        +
        +
        +//# sourceMappingURL=index.js.map
        +// EXTERNAL MODULE: ./node_modules/relateurl/lib/index.js
        +var relateurl_lib = __webpack_require__(10781);
        +;// ./node_modules/terser/lib/utils/index.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +function characters(str) {
        +    return str.split("");
        +}
        +
        +function member(name, array) {
        +    return array.includes(name);
        +}
        +
        +class DefaultsError extends Error {
        +    constructor(msg, defs) {
        +        super();
        +
        +        this.name = "DefaultsError";
        +        this.message = msg;
        +        this.defs = defs;
        +    }
        +}
        +
        +function utils_defaults(args, defs, croak) {
        +    if (args === true) {
        +        args = {};
        +    } else if (args != null && typeof args === "object") {
        +        args = {...args};
        +    }
        +
        +    const ret = args || {};
        +
        +    if (croak) for (const i in ret) if (HOP(ret, i) && !HOP(defs, i)) {
        +        throw new DefaultsError("`" + i + "` is not a supported option", defs);
        +    }
        +
        +    for (const i in defs) if (HOP(defs, i)) {
        +        if (!args || !HOP(args, i)) {
        +            ret[i] = defs[i];
        +        } else if (i === "ecma") {
        +            let ecma = args[i] | 0;
        +            if (ecma > 5 && ecma < 2015) ecma += 2009;
        +            ret[i] = ecma;
        +        } else {
        +            ret[i] = (args && HOP(args, i)) ? args[i] : defs[i];
        +        }
        +    }
        +
        +    return ret;
        +}
        +
        +function noop() {}
        +function return_false() { return false; }
        +function return_true() { return true; }
        +function return_this() { return this; }
        +function return_null() { return null; }
        +
        +var MAP = (function() {
        +    function MAP(a, tw, allow_splicing = true) {
        +        const new_a = [];
        +
        +        for (let i = 0; i < a.length; ++i) {
        +            let item = a[i];
        +            let ret = item.transform(tw, allow_splicing);
        +
        +            if (ret instanceof AST_Node) {
        +                new_a.push(ret);
        +            } else if (ret instanceof Splice) {
        +                new_a.push(...ret.v);
        +            }
        +        }
        +
        +        return new_a;
        +    }
        +
        +    MAP.splice = function(val) { return new Splice(val); };
        +    MAP.skip = {};
        +    function Splice(val) { this.v = val; }
        +    return MAP;
        +})();
        +
        +function make_node(ctor, orig, props) {
        +    if (!props) props = {};
        +    if (orig) {
        +        if (!props.start) props.start = orig.start;
        +        if (!props.end) props.end = orig.end;
        +    }
        +    return new ctor(props);
        +}
        +
        +/** Makes a `void 0` expression. Use instead of AST_Undefined which may conflict
        + * with an existing variable called `undefined` */
        +function make_void_0(orig) {
        +    return make_node(AST_UnaryPrefix, orig, {
        +        operator: "void",
        +        expression: make_node(AST_Number, orig, { value: 0 })
        +    });
        +}
        +
        +function push_uniq(array, el) {
        +    if (!array.includes(el))
        +        array.push(el);
        +}
        +
        +function string_template(text, props) {
        +    return text.replace(/{(.+?)}/g, function(str, p) {
        +        return props && props[p];
        +    });
        +}
        +
        +function remove(array, el) {
        +    for (var i = array.length; --i >= 0;) {
        +        if (array[i] === el) array.splice(i, 1);
        +    }
        +}
        +
        +function mergeSort(array, cmp) {
        +    if (array.length < 2) return array.slice();
        +    function merge(a, b) {
        +        var r = [], ai = 0, bi = 0, i = 0;
        +        while (ai < a.length && bi < b.length) {
        +            cmp(a[ai], b[bi]) <= 0
        +                ? r[i++] = a[ai++]
        +                : r[i++] = b[bi++];
        +        }
        +        if (ai < a.length) r.push.apply(r, a.slice(ai));
        +        if (bi < b.length) r.push.apply(r, b.slice(bi));
        +        return r;
        +    }
        +    function _ms(a) {
        +        if (a.length <= 1)
        +            return a;
        +        var m = Math.floor(a.length / 2), left = a.slice(0, m), right = a.slice(m);
        +        left = _ms(left);
        +        right = _ms(right);
        +        return merge(left, right);
        +    }
        +    return _ms(array);
        +}
        +
        +function makePredicate(words) {
        +    if (!Array.isArray(words)) words = words.split(" ");
        +
        +    return new Set(words.sort());
        +}
        +
        +function map_add(map, key, value) {
        +    if (map.has(key)) {
        +        map.get(key).push(value);
        +    } else {
        +        map.set(key, [ value ]);
        +    }
        +}
        +
        +function map_from_object(obj) {
        +    var map = new Map();
        +    for (var key in obj) {
        +        if (HOP(obj, key) && key.charAt(0) === "$") {
        +            map.set(key.substr(1), obj[key]);
        +        }
        +    }
        +    return map;
        +}
        +
        +function map_to_object(map) {
        +    var obj = Object.create(null);
        +    map.forEach(function (value, key) {
        +        obj["$" + key] = value;
        +    });
        +    return obj;
        +}
        +
        +function HOP(obj, prop) {
        +    return Object.prototype.hasOwnProperty.call(obj, prop);
        +}
        +
        +function keep_name(keep_setting, name) {
        +    return keep_setting === true
        +        || (keep_setting instanceof RegExp && keep_setting.test(name));
        +}
        +
        +var lineTerminatorEscape = {
        +    "\0": "0",
        +    "\n": "n",
        +    "\r": "r",
        +    "\u2028": "u2028",
        +    "\u2029": "u2029",
        +};
        +function regexp_source_fix(source) {
        +    // V8 does not escape line terminators in regexp patterns in node 12
        +    // We'll also remove literal \0
        +    return source.replace(/[\0\n\r\u2028\u2029]/g, function (match, offset) {
        +        var escaped = source[offset - 1] == "\\"
        +            && (source[offset - 2] != "\\"
        +            || /(?:^|[^\\])(?:\\{2})*$/.test(source.slice(0, offset - 1)));
        +        return (escaped ? "" : "\\") + lineTerminatorEscape[match];
        +    });
        +}
        +
        +// Subset of regexps that is not going to cause regexp based DDOS
        +// https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS
        +const re_safe_regexp = /^[\\/|\0\s\w^$.[\]()]*$/;
        +
        +/** Check if the regexp is safe for Terser to create without risking a RegExp DOS */
        +const regexp_is_safe = (source) => re_safe_regexp.test(source);
        +
        +const all_flags = "dgimsuyv";
        +function sort_regexp_flags(flags) {
        +    const existing_flags = new Set(flags.split(""));
        +    let out = "";
        +    for (const flag of all_flags) {
        +        if (existing_flags.has(flag)) {
        +            out += flag;
        +            existing_flags.delete(flag);
        +        }
        +    }
        +    if (existing_flags.size) {
        +        // Flags Terser doesn't know about
        +        existing_flags.forEach(flag => { out += flag; });
        +    }
        +    return out;
        +}
        +
        +function has_annotation(node, annotation) {
        +    return node._annotations & annotation;
        +}
        +
        +function set_annotation(node, annotation) {
        +    node._annotations |= annotation;
        +}
        +
        +function clear_annotation(node, annotation) {
        +    node._annotations &= ~annotation;
        +}
        +
        +
        +
        +;// ./node_modules/terser/lib/parse.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +    Parser based on parse-js (http://marijn.haverbeke.nl/parse-js/).
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +var LATEST_RAW = "";  // Only used for numbers and template strings
        +var TEMPLATE_RAWS = new Map();  // Raw template strings
        +
        +var KEYWORDS = "break case catch class const continue debugger default delete do else export extends finally for function if in instanceof let new return switch throw try typeof var void while with";
        +var KEYWORDS_ATOM = "false null true";
        +var RESERVED_WORDS = "enum import super this " + KEYWORDS_ATOM + " " + KEYWORDS;
        +var ALL_RESERVED_WORDS = "implements interface package private protected public static " + RESERVED_WORDS;
        +var KEYWORDS_BEFORE_EXPRESSION = "return new delete throw else case yield await";
        +
        +KEYWORDS = makePredicate(KEYWORDS);
        +RESERVED_WORDS = makePredicate(RESERVED_WORDS);
        +KEYWORDS_BEFORE_EXPRESSION = makePredicate(KEYWORDS_BEFORE_EXPRESSION);
        +KEYWORDS_ATOM = makePredicate(KEYWORDS_ATOM);
        +ALL_RESERVED_WORDS = makePredicate(ALL_RESERVED_WORDS);
        +
        +var OPERATOR_CHARS = makePredicate(characters("+-*&%=<>!?|~^"));
        +
        +var RE_HEX_NUMBER = /^0x[0-9a-f]+$/i;
        +var RE_OCT_NUMBER = /^0[0-7]+$/;
        +var RE_ES6_OCT_NUMBER = /^0o[0-7]+$/i;
        +var RE_BIN_NUMBER = /^0b[01]+$/i;
        +var RE_DEC_NUMBER = /^\d*\.?\d*(?:e[+-]?\d*(?:\d\.?|\.?\d)\d*)?$/i;
        +var RE_BIG_INT = /^(0[xob])?[0-9a-f]+n$/i;
        +
        +var RE_KEYWORD_RELATIONAL_OPERATORS = /in(?:stanceof)?/y;
        +
        +var OPERATORS = makePredicate([
        +    "in",
        +    "instanceof",
        +    "typeof",
        +    "new",
        +    "void",
        +    "delete",
        +    "++",
        +    "--",
        +    "+",
        +    "-",
        +    "!",
        +    "~",
        +    "&",
        +    "|",
        +    "^",
        +    "*",
        +    "**",
        +    "/",
        +    "%",
        +    ">>",
        +    "<<",
        +    ">>>",
        +    "<",
        +    ">",
        +    "<=",
        +    ">=",
        +    "==",
        +    "===",
        +    "!=",
        +    "!==",
        +    "?",
        +    "=",
        +    "+=",
        +    "-=",
        +    "||=",
        +    "&&=",
        +    "??=",
        +    "/=",
        +    "*=",
        +    "**=",
        +    "%=",
        +    ">>=",
        +    "<<=",
        +    ">>>=",
        +    "|=",
        +    "^=",
        +    "&=",
        +    "&&",
        +    "??",
        +    "||",
        +]);
        +
        +var WHITESPACE_CHARS = makePredicate(characters(" \u00a0\n\r\t\f\u000b\u200b\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\uFEFF"));
        +
        +var NEWLINE_CHARS = makePredicate(characters("\n\r\u2028\u2029"));
        +
        +var PUNC_AFTER_EXPRESSION = makePredicate(characters(";]),:"));
        +
        +var PUNC_BEFORE_EXPRESSION = makePredicate(characters("[{(,;:"));
        +
        +var PUNC_CHARS = makePredicate(characters("[]{}(),;:"));
        +
        +/* -----[ Tokenizer ]----- */
        +
        +// surrogate safe regexps adapted from https://github.com/mathiasbynens/unicode-8.0.0/tree/89b412d8a71ecca9ed593d9e9fa073ab64acfebe/Binary_Property
        +var UNICODE = {
        +    ID_Start: /[$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,
        +    ID_Continue: /(?:[$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF])+/,
        +};
        +
        +function get_full_char(str, pos) {
        +    if (is_surrogate_pair_head(str.charCodeAt(pos))) {
        +        if (is_surrogate_pair_tail(str.charCodeAt(pos + 1))) {
        +            return str.charAt(pos) + str.charAt(pos + 1);
        +        }
        +    } else if (is_surrogate_pair_tail(str.charCodeAt(pos))) {
        +        if (is_surrogate_pair_head(str.charCodeAt(pos - 1))) {
        +            return str.charAt(pos - 1) + str.charAt(pos);
        +        }
        +    }
        +    return str.charAt(pos);
        +}
        +
        +function get_full_char_code(str, pos) {
        +    // https://en.wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates
        +    if (is_surrogate_pair_head(str.charCodeAt(pos))) {
        +        return 0x10000 + (str.charCodeAt(pos) - 0xd800 << 10) + str.charCodeAt(pos + 1) - 0xdc00;
        +    }
        +    return str.charCodeAt(pos);
        +}
        +
        +function get_full_char_length(str) {
        +    var surrogates = 0;
        +
        +    for (var i = 0; i < str.length; i++) {
        +        if (is_surrogate_pair_head(str.charCodeAt(i)) && is_surrogate_pair_tail(str.charCodeAt(i + 1))) {
        +            surrogates++;
        +            i++;
        +        }
        +    }
        +
        +    return str.length - surrogates;
        +}
        +
        +function from_char_code(code) {
        +    // Based on https://github.com/mathiasbynens/String.fromCodePoint/blob/master/fromcodepoint.js
        +    if (code > 0xFFFF) {
        +        code -= 0x10000;
        +        return (String.fromCharCode((code >> 10) + 0xD800) +
        +            String.fromCharCode((code % 0x400) + 0xDC00));
        +    }
        +    return String.fromCharCode(code);
        +}
        +
        +function is_surrogate_pair_head(code) {
        +    return code >= 0xd800 && code <= 0xdbff;
        +}
        +
        +function is_surrogate_pair_tail(code) {
        +    return code >= 0xdc00 && code <= 0xdfff;
        +}
        +
        +function is_digit(code) {
        +    return code >= 48 && code <= 57;
        +}
        +
        +function is_identifier_start(ch) {
        +    return UNICODE.ID_Start.test(ch);
        +}
        +
        +function is_identifier_char(ch) {
        +    return UNICODE.ID_Continue.test(ch);
        +}
        +
        +const BASIC_IDENT = /^[a-z_$][a-z0-9_$]*$/i;
        +
        +function is_basic_identifier_string(str) {
        +    return BASIC_IDENT.test(str);
        +}
        +
        +function is_identifier_string(str, allow_surrogates) {
        +    if (BASIC_IDENT.test(str)) {
        +        return true;
        +    }
        +    if (!allow_surrogates && /[\ud800-\udfff]/.test(str)) {
        +        return false;
        +    }
        +    var match = UNICODE.ID_Start.exec(str);
        +    if (!match || match.index !== 0) {
        +        return false;
        +    }
        +
        +    str = str.slice(match[0].length);
        +    if (!str) {
        +        return true;
        +    }
        +
        +    match = UNICODE.ID_Continue.exec(str);
        +    return !!match && match[0].length === str.length;
        +}
        +
        +function parse_js_number(num, allow_e = true) {
        +    if (!allow_e && num.includes("e")) {
        +        return NaN;
        +    }
        +    if (RE_HEX_NUMBER.test(num)) {
        +        return parseInt(num.substr(2), 16);
        +    } else if (RE_OCT_NUMBER.test(num)) {
        +        return parseInt(num.substr(1), 8);
        +    } else if (RE_ES6_OCT_NUMBER.test(num)) {
        +        return parseInt(num.substr(2), 8);
        +    } else if (RE_BIN_NUMBER.test(num)) {
        +        return parseInt(num.substr(2), 2);
        +    } else if (RE_DEC_NUMBER.test(num)) {
        +        return parseFloat(num);
        +    } else {
        +        var val = parseFloat(num);
        +        if (val == num) return val;
        +    }
        +}
        +
        +class JS_Parse_Error extends Error {
        +    constructor(message, filename, line, col, pos) {
        +        super();
        +
        +        this.name = "SyntaxError";
        +        this.message = message;
        +        this.filename = filename;
        +        this.line = line;
        +        this.col = col;
        +        this.pos = pos;
        +    }
        +}
        +
        +function js_error(message, filename, line, col, pos) {
        +    throw new JS_Parse_Error(message, filename, line, col, pos);
        +}
        +
        +function is_token(token, type, val) {
        +    return token.type == type && (val == null || token.value == val);
        +}
        +
        +var EX_EOF = {};
        +
        +function tokenizer($TEXT, filename, html5_comments, shebang) {
        +    var S = {
        +        text            : $TEXT,
        +        filename        : filename,
        +        pos             : 0,
        +        tokpos          : 0,
        +        line            : 1,
        +        tokline         : 0,
        +        col             : 0,
        +        tokcol          : 0,
        +        newline_before  : false,
        +        regex_allowed   : false,
        +        brace_counter   : 0,
        +        template_braces : [],
        +        comments_before : [],
        +        directives      : {},
        +        directive_stack : []
        +    };
        +
        +    function peek() { return get_full_char(S.text, S.pos); }
        +
        +    // Used because parsing ?. involves a lookahead for a digit
        +    function is_option_chain_op() {
        +        const must_be_dot = S.text.charCodeAt(S.pos + 1) === 46;
        +        if (!must_be_dot) return false;
        +
        +        const cannot_be_digit = S.text.charCodeAt(S.pos + 2);
        +        return cannot_be_digit < 48 || cannot_be_digit > 57;
        +    }
        +
        +    function next(signal_eof, in_string) {
        +        var ch = get_full_char(S.text, S.pos++);
        +        if (signal_eof && !ch)
        +            throw EX_EOF;
        +        if (NEWLINE_CHARS.has(ch)) {
        +            S.newline_before = S.newline_before || !in_string;
        +            ++S.line;
        +            S.col = 0;
        +            if (ch == "\r" && peek() == "\n") {
        +                // treat a \r\n sequence as a single \n
        +                ++S.pos;
        +                ch = "\n";
        +            }
        +        } else {
        +            if (ch.length > 1) {
        +                ++S.pos;
        +                ++S.col;
        +            }
        +            ++S.col;
        +        }
        +        return ch;
        +    }
        +
        +    function forward(i) {
        +        while (i--) next();
        +    }
        +
        +    function looking_at(str) {
        +        return S.text.substr(S.pos, str.length) == str;
        +    }
        +
        +    function find_eol() {
        +        var text = S.text;
        +        for (var i = S.pos, n = S.text.length; i < n; ++i) {
        +            var ch = text[i];
        +            if (NEWLINE_CHARS.has(ch))
        +                return i;
        +        }
        +        return -1;
        +    }
        +
        +    function find(what, signal_eof) {
        +        var pos = S.text.indexOf(what, S.pos);
        +        if (signal_eof && pos == -1) throw EX_EOF;
        +        return pos;
        +    }
        +
        +    function start_token() {
        +        S.tokline = S.line;
        +        S.tokcol = S.col;
        +        S.tokpos = S.pos;
        +    }
        +
        +    var prev_was_dot = false;
        +    var previous_token = null;
        +    function token(type, value, is_comment) {
        +        S.regex_allowed = ((type == "operator" && !UNARY_POSTFIX.has(value)) ||
        +                           (type == "keyword" && KEYWORDS_BEFORE_EXPRESSION.has(value)) ||
        +                           (type == "punc" && PUNC_BEFORE_EXPRESSION.has(value))) ||
        +                           (type == "arrow");
        +        if (type == "punc" && (value == "." || value == "?.")) {
        +            prev_was_dot = true;
        +        } else if (!is_comment) {
        +            prev_was_dot = false;
        +        }
        +        const line     = S.tokline;
        +        const col      = S.tokcol;
        +        const pos      = S.tokpos;
        +        const nlb      = S.newline_before;
        +        const file     = filename;
        +        let comments_before = [];
        +        let comments_after  = [];
        +
        +        if (!is_comment) {
        +            comments_before = S.comments_before;
        +            comments_after = S.comments_before = [];
        +        }
        +        S.newline_before = false;
        +        const tok = new AST_Token(type, value, line, col, pos, nlb, comments_before, comments_after, file);
        +
        +        if (!is_comment) previous_token = tok;
        +        return tok;
        +    }
        +
        +    function skip_whitespace() {
        +        while (WHITESPACE_CHARS.has(peek()))
        +            next();
        +    }
        +
        +    function peek_next_token_start_or_newline() {
        +        var pos = S.pos;
        +        for (var in_multiline_comment = false; pos < S.text.length; ) {
        +            var ch = get_full_char(S.text, pos);
        +            if (NEWLINE_CHARS.has(ch)) {
        +                return { char: ch, pos: pos };
        +            } else if (in_multiline_comment) {
        +                if (ch == "*" && get_full_char(S.text, pos + 1) == "/") {
        +                    pos += 2;
        +                    in_multiline_comment = false;
        +                } else {
        +                    pos++;
        +                }
        +            } else if (!WHITESPACE_CHARS.has(ch)) {
        +                if (ch == "/") {
        +                    var next_ch = get_full_char(S.text, pos + 1);
        +                    if (next_ch == "/") {
        +                        pos = find_eol();
        +                        return { char: get_full_char(S.text, pos), pos: pos };
        +                    } else if (next_ch == "*") {
        +                        in_multiline_comment = true;
        +                        pos += 2;
        +                        continue;
        +                    }
        +                }
        +                return { char: ch, pos: pos };
        +            } else {
        +                pos++;
        +            }
        +        }
        +        return { char: null, pos: pos };
        +    }
        +
        +    function ch_starts_binding_identifier(ch, pos) {
        +        if (ch == "\\") {
        +            return true;
        +        } else if (is_identifier_start(ch)) {
        +            RE_KEYWORD_RELATIONAL_OPERATORS.lastIndex = pos;
        +            if (RE_KEYWORD_RELATIONAL_OPERATORS.test(S.text)) {
        +                var after = get_full_char(S.text, RE_KEYWORD_RELATIONAL_OPERATORS.lastIndex);
        +                if (!is_identifier_char(after) && after != "\\") {
        +                    // "in" or "instanceof" are keywords, not binding identifiers
        +                    return false; 
        +                }
        +            }
        +            return true;
        +        }
        +        return false;
        +    }
        +
        +    function read_while(pred) {
        +        var ret = "", ch, i = 0;
        +        while ((ch = peek()) && pred(ch, i++))
        +            ret += next();
        +        return ret;
        +    }
        +
        +    function parse_error(err) {
        +        js_error(err, filename, S.tokline, S.tokcol, S.tokpos);
        +    }
        +
        +    function read_num(prefix) {
        +        var has_e = false, after_e = false, has_x = false, has_dot = prefix == ".", is_big_int = false, numeric_separator = false;
        +        var num = read_while(function(ch, i) {
        +            if (is_big_int) return false;
        +
        +            var code = ch.charCodeAt(0);
        +            switch (code) {
        +              case 95: // _
        +                return (numeric_separator = true);
        +              case 98: case 66: // bB
        +                return (has_x = true); // Can occur in hex sequence, don't return false yet
        +              case 111: case 79: // oO
        +              case 120: case 88: // xX
        +                return has_x ? false : (has_x = true);
        +              case 101: case 69: // eE
        +                return has_x ? true : has_e ? false : (has_e = after_e = true);
        +              case 45: // -
        +                return after_e || (i == 0 && !prefix);
        +              case 43: // +
        +                return after_e;
        +              case (after_e = false, 46): // .
        +                return (!has_dot && !has_x && !has_e) ? (has_dot = true) : false;
        +              case 110: // n
        +                is_big_int = true;
        +                return true;
        +            }
        +
        +            return (
        +                code >= 48 && code <= 57 // 0-9
        +                || code >= 97 && code <= 102 // a-f
        +                || code >= 65 && code <= 70 // A-F
        +            );
        +        });
        +        if (prefix) num = prefix + num;
        +
        +        LATEST_RAW = num;
        +
        +        if (RE_OCT_NUMBER.test(num) && next_token.has_directive("use strict")) {
        +            parse_error("Legacy octal literals are not allowed in strict mode");
        +        }
        +        if (numeric_separator) {
        +            if (num.endsWith("_")) {
        +                parse_error("Numeric separators are not allowed at the end of numeric literals");
        +            } else if (num.includes("__")) {
        +                parse_error("Only one underscore is allowed as numeric separator");
        +            }
        +            num = num.replace(/_/g, "");
        +        }
        +        if (is_big_int) {
        +            const without_n = num.slice(0, -1);
        +            const allow_e = RE_HEX_NUMBER.test(without_n);
        +            const valid = parse_js_number(without_n, allow_e);
        +            if (!has_dot && RE_BIG_INT.test(num) && !isNaN(valid))
        +                return token("big_int", without_n);
        +            parse_error("Invalid or unexpected token");
        +        }
        +        var valid = parse_js_number(num);
        +        if (!isNaN(valid)) {
        +            return token("num", valid);
        +        } else {
        +            parse_error("Invalid syntax: " + num);
        +        }
        +    }
        +
        +    function is_octal(ch) {
        +        return ch >= "0" && ch <= "7";
        +    }
        +
        +    function read_escaped_char(in_string, strict_hex, template_string) {
        +        var ch = next(true, in_string);
        +        switch (ch.charCodeAt(0)) {
        +          case 110 : return "\n";
        +          case 114 : return "\r";
        +          case 116 : return "\t";
        +          case 98  : return "\b";
        +          case 118 : return "\u000b"; // \v
        +          case 102 : return "\f";
        +          case 120 : return String.fromCharCode(hex_bytes(2, strict_hex)); // \x
        +          case 117 : // \u
        +            if (peek() == "{") {
        +                next(true);
        +                if (peek() === "}")
        +                    parse_error("Expecting hex-character between {}");
        +                while (peek() == "0") next(true); // No significance
        +                var result, length = find("}", true) - S.pos;
        +                // Avoid 32 bit integer overflow (1 << 32 === 1)
        +                // We know first character isn't 0 and thus out of range anyway
        +                if (length > 6 || (result = hex_bytes(length, strict_hex)) > 0x10FFFF) {
        +                    parse_error("Unicode reference out of bounds");
        +                }
        +                next(true);
        +                return from_char_code(result);
        +            }
        +            return String.fromCharCode(hex_bytes(4, strict_hex));
        +          case 10  : return ""; // newline
        +          case 13  :            // \r
        +            if (peek() == "\n") { // DOS newline
        +                next(true, in_string);
        +                return "";
        +            }
        +        }
        +        if (is_octal(ch)) {
        +            if (template_string && strict_hex) {
        +                const represents_null_character = ch === "0" && !is_octal(peek());
        +                if (!represents_null_character) {
        +                    parse_error("Octal escape sequences are not allowed in template strings");
        +                }
        +            }
        +            return read_octal_escape_sequence(ch, strict_hex);
        +        }
        +        return ch;
        +    }
        +
        +    function read_octal_escape_sequence(ch, strict_octal) {
        +        // Read
        +        var p = peek();
        +        if (p >= "0" && p <= "7") {
        +            ch += next(true);
        +            if (ch[0] <= "3" && (p = peek()) >= "0" && p <= "7")
        +                ch += next(true);
        +        }
        +
        +        // Parse
        +        if (ch === "0") return "\0";
        +        if (ch.length > 0 && next_token.has_directive("use strict") && strict_octal)
        +            parse_error("Legacy octal escape sequences are not allowed in strict mode");
        +        return String.fromCharCode(parseInt(ch, 8));
        +    }
        +
        +    function hex_bytes(n, strict_hex) {
        +        var num = 0;
        +        for (; n > 0; --n) {
        +            if (!strict_hex && isNaN(parseInt(peek(), 16))) {
        +                return parseInt(num, 16) || "";
        +            }
        +            var digit = next(true);
        +            if (isNaN(parseInt(digit, 16)))
        +                parse_error("Invalid hex-character pattern in string");
        +            num += digit;
        +        }
        +        return parseInt(num, 16);
        +    }
        +
        +    var read_string = with_eof_error("Unterminated string constant", function() {
        +        const start_pos = S.pos;
        +        var quote = next(), ret = [];
        +        for (;;) {
        +            var ch = next(true, true);
        +            if (ch == "\\") ch = read_escaped_char(true, true);
        +            else if (ch == "\r" || ch == "\n") parse_error("Unterminated string constant");
        +            else if (ch == quote) break;
        +            ret.push(ch);
        +        }
        +        var tok = token("string", ret.join(""));
        +        LATEST_RAW = S.text.slice(start_pos, S.pos);
        +        tok.quote = quote;
        +        return tok;
        +    });
        +
        +    var read_template_characters = with_eof_error("Unterminated template", function(begin) {
        +        if (begin) {
        +            S.template_braces.push(S.brace_counter);
        +        }
        +        var content = "", raw = "", ch, tok;
        +        next(true, true);
        +        while ((ch = next(true, true)) != "`") {
        +            if (ch == "\r") {
        +                if (peek() == "\n") ++S.pos;
        +                ch = "\n";
        +            } else if (ch == "$" && peek() == "{") {
        +                next(true, true);
        +                S.brace_counter++;
        +                tok = token(begin ? "template_head" : "template_cont", content);
        +                TEMPLATE_RAWS.set(tok, raw);
        +                tok.template_end = false;
        +                return tok;
        +            }
        +
        +            raw += ch;
        +            if (ch == "\\") {
        +                var tmp = S.pos;
        +                var prev_is_tag = previous_token && (previous_token.type === "name" || previous_token.type === "punc" && (previous_token.value === ")" || previous_token.value === "]"));
        +                ch = read_escaped_char(true, !prev_is_tag, true);
        +                raw += S.text.substr(tmp, S.pos - tmp);
        +            }
        +
        +            content += ch;
        +        }
        +        S.template_braces.pop();
        +        tok = token(begin ? "template_head" : "template_cont", content);
        +        TEMPLATE_RAWS.set(tok, raw);
        +        tok.template_end = true;
        +        return tok;
        +    });
        +
        +    function skip_line_comment(type) {
        +        var regex_allowed = S.regex_allowed;
        +        var i = find_eol(), ret;
        +        if (i == -1) {
        +            ret = S.text.substr(S.pos);
        +            S.pos = S.text.length;
        +        } else {
        +            ret = S.text.substring(S.pos, i);
        +            S.pos = i;
        +        }
        +        S.col = S.tokcol + (S.pos - S.tokpos);
        +        S.comments_before.push(token(type, ret, true));
        +        S.regex_allowed = regex_allowed;
        +        return next_token;
        +    }
        +
        +    var skip_multiline_comment = with_eof_error("Unterminated multiline comment", function() {
        +        var regex_allowed = S.regex_allowed;
        +        var i = find("*/", true);
        +        var text = S.text.substring(S.pos, i).replace(/\r\n|\r|\u2028|\u2029/g, "\n");
        +        // update stream position
        +        forward(get_full_char_length(text) /* text length doesn't count \r\n as 2 char while S.pos - i does */ + 2);
        +        S.comments_before.push(token("comment2", text, true));
        +        S.newline_before = S.newline_before || text.includes("\n");
        +        S.regex_allowed = regex_allowed;
        +        return next_token;
        +    });
        +
        +    var read_name = function () {
        +        let start = S.pos, end = start - 1, ch = "c";
        +
        +        while (
        +            (ch = S.text.charAt(++end))
        +            && (ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z")
        +        );
        +
        +        // 0x7F is very rare in actual code, so we compare it to "~" (0x7E)
        +        if (end > start + 1 && ch && ch !== "\\" && !is_identifier_char(ch) && ch <= "~") {
        +            S.pos += end - start;
        +            S.col += end - start;
        +            return S.text.slice(start, S.pos);
        +        }
        +
        +        return read_name_hard();
        +    };
        +
        +    var read_name_hard = with_eof_error("Unterminated identifier name", function() {
        +        var name = [], ch, escaped = false;
        +        var read_escaped_identifier_char = function() {
        +            escaped = true;
        +            next();
        +            if (peek() !== "u") {
        +                parse_error("Expecting UnicodeEscapeSequence -- uXXXX or u{XXXX}");
        +            }
        +            return read_escaped_char(false, true);
        +        };
        +
        +        // Read first character (ID_Start)
        +        if ((ch = peek()) === "\\") {
        +            ch = read_escaped_identifier_char();
        +            if (!is_identifier_start(ch)) {
        +                parse_error("First identifier char is an invalid identifier char");
        +            }
        +        } else if (is_identifier_start(ch)) {
        +            next();
        +        } else {
        +            return "";
        +        }
        +
        +        name.push(ch);
        +
        +        // Read ID_Continue
        +        while ((ch = peek()) != null) {
        +            if ((ch = peek()) === "\\") {
        +                ch = read_escaped_identifier_char();
        +                if (!is_identifier_char(ch)) {
        +                    parse_error("Invalid escaped identifier char");
        +                }
        +            } else {
        +                if (!is_identifier_char(ch)) {
        +                    break;
        +                }
        +                next();
        +            }
        +            name.push(ch);
        +        }
        +        const name_str = name.join("");
        +        if (RESERVED_WORDS.has(name_str) && escaped) {
        +            parse_error("Escaped characters are not allowed in keywords");
        +        }
        +        return name_str;
        +    });
        +
        +    var read_regexp = with_eof_error("Unterminated regular expression", function(source) {
        +        var prev_backslash = false, ch, in_class = false;
        +        while ((ch = next(true))) if (NEWLINE_CHARS.has(ch)) {
        +            parse_error("Unexpected line terminator");
        +        } else if (prev_backslash) {
        +            if (/^[\u0000-\u007F]$/.test(ch)) {
        +                source += "\\" + ch;
        +            } else {
        +                // Remove the useless slash before the escape, but only for characters that won't be added to regexp syntax
        +                source += ch;
        +            }
        +            prev_backslash = false;
        +        } else if (ch == "[") {
        +            in_class = true;
        +            source += ch;
        +        } else if (ch == "]" && in_class) {
        +            in_class = false;
        +            source += ch;
        +        } else if (ch == "/" && !in_class) {
        +            break;
        +        } else if (ch == "\\") {
        +            prev_backslash = true;
        +        } else {
        +            source += ch;
        +        }
        +        const flags = read_name();
        +        return token("regexp", "/" + source + "/" + flags);
        +    });
        +
        +    function read_operator(prefix) {
        +        function grow(op) {
        +            if (!peek()) return op;
        +            var bigger = op + peek();
        +            if (OPERATORS.has(bigger)) {
        +                next();
        +                return grow(bigger);
        +            } else {
        +                return op;
        +            }
        +        }
        +        return token("operator", grow(prefix || next()));
        +    }
        +
        +    function handle_slash() {
        +        next();
        +        switch (peek()) {
        +          case "/":
        +            next();
        +            return skip_line_comment("comment1");
        +          case "*":
        +            next();
        +            return skip_multiline_comment();
        +        }
        +        return S.regex_allowed ? read_regexp("") : read_operator("/");
        +    }
        +
        +    function handle_eq_sign() {
        +        next();
        +        if (peek() === ">") {
        +            next();
        +            return token("arrow", "=>");
        +        } else {
        +            return read_operator("=");
        +        }
        +    }
        +
        +    function handle_dot() {
        +        next();
        +        if (is_digit(peek().charCodeAt(0))) {
        +            return read_num(".");
        +        }
        +        if (peek() === ".") {
        +            next();  // Consume second dot
        +            next();  // Consume third dot
        +            return token("expand", "...");
        +        }
        +
        +        return token("punc", ".");
        +    }
        +
        +    function read_word() {
        +        var word = read_name();
        +        if (prev_was_dot) return token("name", word);
        +        return KEYWORDS_ATOM.has(word) ? token("atom", word)
        +            : !KEYWORDS.has(word) ? token("name", word)
        +            : OPERATORS.has(word) ? token("operator", word)
        +            : token("keyword", word);
        +    }
        +
        +    function read_private_word() {
        +        next();
        +        return token("privatename", read_name());
        +    }
        +
        +    function with_eof_error(eof_error, cont) {
        +        return function(x) {
        +            try {
        +                return cont(x);
        +            } catch(ex) {
        +                if (ex === EX_EOF) parse_error(eof_error);
        +                else throw ex;
        +            }
        +        };
        +    }
        +
        +    function next_token(force_regexp) {
        +        if (force_regexp != null)
        +            return read_regexp(force_regexp);
        +        if (shebang && S.pos == 0 && looking_at("#!")) {
        +            start_token();
        +            forward(2);
        +            skip_line_comment("comment5");
        +        }
        +        for (;;) {
        +            skip_whitespace();
        +            start_token();
        +            if (html5_comments) {
        +                if (looking_at("") && S.newline_before) {
        +                    forward(3);
        +                    skip_line_comment("comment4");
        +                    continue;
        +                }
        +            }
        +            var ch = peek();
        +            if (!ch) return token("eof");
        +            var code = ch.charCodeAt(0);
        +            switch (code) {
        +              case 34: case 39: return read_string();
        +              case 46: return handle_dot();
        +              case 47: {
        +                  var tok = handle_slash();
        +                  if (tok === next_token) continue;
        +                  return tok;
        +              }
        +              case 61: return handle_eq_sign();
        +              case 63: {
        +                  if (!is_option_chain_op()) break;  // Handled below
        +
        +                  next(); // ?
        +                  next(); // .
        +
        +                  return token("punc", "?.");
        +              }
        +              case 96: return read_template_characters(true);
        +              case 123:
        +                S.brace_counter++;
        +                break;
        +              case 125:
        +                S.brace_counter--;
        +                if (S.template_braces.length > 0
        +                    && S.template_braces[S.template_braces.length - 1] === S.brace_counter)
        +                    return read_template_characters(false);
        +                break;
        +            }
        +            if (is_digit(code)) return read_num();
        +            if (PUNC_CHARS.has(ch)) return token("punc", next());
        +            if (OPERATOR_CHARS.has(ch)) return read_operator();
        +            if (code == 92 || is_identifier_start(ch)) return read_word();
        +            if (code == 35) return read_private_word();
        +            break;
        +        }
        +        parse_error("Unexpected character '" + ch + "'");
        +    }
        +
        +    next_token.next = next;
        +    next_token.peek = peek;
        +
        +    next_token.context = function(nc) {
        +        if (nc) S = nc;
        +        return S;
        +    };
        +
        +    next_token.add_directive = function(directive) {
        +        S.directive_stack[S.directive_stack.length - 1].push(directive);
        +
        +        if (S.directives[directive] === undefined) {
        +            S.directives[directive] = 1;
        +        } else {
        +            S.directives[directive]++;
        +        }
        +    };
        +
        +    next_token.push_directives_stack = function() {
        +        S.directive_stack.push([]);
        +    };
        +
        +    next_token.pop_directives_stack = function() {
        +        var directives = S.directive_stack[S.directive_stack.length - 1];
        +
        +        for (var i = 0; i < directives.length; i++) {
        +            S.directives[directives[i]]--;
        +        }
        +
        +        S.directive_stack.pop();
        +    };
        +
        +    next_token.has_directive = function(directive) {
        +        return S.directives[directive] > 0;
        +    };
        +
        +    next_token.peek_next_token_start_or_newline = peek_next_token_start_or_newline;
        +    next_token.ch_starts_binding_identifier = ch_starts_binding_identifier;
        +
        +    return next_token;
        +
        +}
        +
        +/* -----[ Parser (constants) ]----- */
        +
        +var UNARY_PREFIX = makePredicate([
        +    "typeof",
        +    "void",
        +    "delete",
        +    "--",
        +    "++",
        +    "!",
        +    "~",
        +    "-",
        +    "+"
        +]);
        +
        +var UNARY_POSTFIX = makePredicate([ "--", "++" ]);
        +
        +var ASSIGNMENT = makePredicate([ "=", "+=", "-=", "??=", "&&=", "||=", "/=", "*=", "**=", "%=", ">>=", "<<=", ">>>=", "|=", "^=", "&=" ]);
        +
        +var LOGICAL_ASSIGNMENT = makePredicate([ "??=", "&&=", "||=" ]);
        +
        +var PRECEDENCE = (function(a, ret) {
        +    for (var i = 0; i < a.length; ++i) {
        +        for (const op of a[i]) {
        +            ret[op] = i + 1;
        +        }
        +    }
        +    return ret;
        +})(
        +    [
        +        ["||"],
        +        ["??"],
        +        ["&&"],
        +        ["|"],
        +        ["^"],
        +        ["&"],
        +        ["==", "===", "!=", "!=="],
        +        ["<", ">", "<=", ">=", "in", "instanceof"],
        +        [">>", "<<", ">>>"],
        +        ["+", "-"],
        +        ["*", "/", "%"],
        +        ["**"]
        +    ],
        +    {}
        +);
        +
        +var ATOMIC_START_TOKEN = makePredicate([ "atom", "num", "big_int", "string", "regexp", "name"]);
        +
        +/* -----[ Parser ]----- */
        +
        +function lib_parse_parse($TEXT, options) {
        +    // maps start tokens to count of comments found outside of their parens
        +    // Example: /* I count */ ( /* I don't */ foo() )
        +    // Useful because comments_before property of call with parens outside
        +    // contains both comments inside and outside these parens. Used to find the
        +    // right #__PURE__ comments for an expression
        +    const outer_comments_before_counts = new WeakMap();
        +
        +    options = utils_defaults(options, {
        +        bare_returns   : false,
        +        ecma           : null,  // Legacy
        +        expression     : false,
        +        filename       : null,
        +        html5_comments : true,
        +        module         : false,
        +        shebang        : true,
        +        strict         : false,
        +        toplevel       : null,
        +    }, true);
        +
        +    var S = {
        +        input         : (typeof $TEXT == "string"
        +                         ? tokenizer($TEXT, options.filename,
        +                                     options.html5_comments, options.shebang)
        +                         : $TEXT),
        +        token         : null,
        +        prev          : null,
        +        peeked        : null,
        +        in_function   : 0,
        +        in_async      : -1,
        +        in_generator  : -1,
        +        in_directives : true,
        +        in_loop       : 0,
        +        labels        : []
        +    };
        +
        +    S.token = next();
        +
        +    function is(type, value) {
        +        return is_token(S.token, type, value);
        +    }
        +
        +    function peek() { return S.peeked || (S.peeked = S.input()); }
        +
        +    function next() {
        +        S.prev = S.token;
        +
        +        if (!S.peeked) peek();
        +        S.token = S.peeked;
        +        S.peeked = null;
        +        S.in_directives = S.in_directives && (
        +            S.token.type == "string" || is("punc", ";")
        +        );
        +        return S.token;
        +    }
        +
        +    function prev() {
        +        return S.prev;
        +    }
        +
        +    function croak(msg, line, col, pos) {
        +        var ctx = S.input.context();
        +        js_error(msg,
        +                 ctx.filename,
        +                 line != null ? line : ctx.tokline,
        +                 col != null ? col : ctx.tokcol,
        +                 pos != null ? pos : ctx.tokpos);
        +    }
        +
        +    function token_error(token, msg) {
        +        croak(msg, token.line, token.col);
        +    }
        +
        +    function unexpected(token) {
        +        if (token == null)
        +            token = S.token;
        +        token_error(token, "Unexpected token: " + token.type + " (" + token.value + ")");
        +    }
        +
        +    function expect_token(type, val) {
        +        if (is(type, val)) {
        +            return next();
        +        }
        +        token_error(S.token, "Unexpected token " + S.token.type + " «" + S.token.value + "»" + ", expected " + type + " «" + val + "»");
        +    }
        +
        +    function expect(punc) { return expect_token("punc", punc); }
        +
        +    function has_newline_before(token) {
        +        return token.nlb || !token.comments_before.every((comment) => !comment.nlb);
        +    }
        +
        +    function can_insert_semicolon() {
        +        return !options.strict
        +            && (is("eof") || is("punc", "}") || has_newline_before(S.token));
        +    }
        +
        +    function is_in_generator() {
        +        return S.in_generator === S.in_function;
        +    }
        +
        +    function is_in_async() {
        +        return S.in_async === S.in_function;
        +    }
        +
        +    function can_await() {
        +        return (
        +            S.in_async === S.in_function
        +            || S.in_function === 0 && S.input.has_directive("use strict")
        +        );
        +    }
        +
        +    function semicolon(optional) {
        +        if (is("punc", ";")) next();
        +        else if (!optional && !can_insert_semicolon()) unexpected();
        +    }
        +
        +    function parenthesised() {
        +        expect("(");
        +        var exp = expression(true);
        +        expect(")");
        +        return exp;
        +    }
        +
        +    function embed_tokens(parser) {
        +        return function _embed_tokens_wrapper(...args) {
        +            const start = S.token;
        +            const expr = parser(...args);
        +            expr.start = start;
        +            expr.end = prev();
        +            return expr;
        +        };
        +    }
        +
        +    function handle_regexp() {
        +        if (is("operator", "/") || is("operator", "/=")) {
        +            S.peeked = null;
        +            S.token = S.input(S.token.value.substr(1)); // force regexp
        +        }
        +    }
        +
        +    var statement = embed_tokens(function statement(is_export_default, is_for_body, is_if_body) {
        +        handle_regexp();
        +        switch (S.token.type) {
        +          case "string":
        +            if (S.in_directives) {
        +                var token = peek();
        +                if (!LATEST_RAW.includes("\\")
        +                    && (is_token(token, "punc", ";")
        +                        || is_token(token, "punc", "}")
        +                        || has_newline_before(token)
        +                        || is_token(token, "eof"))) {
        +                    S.input.add_directive(S.token.value);
        +                } else {
        +                    S.in_directives = false;
        +                }
        +            }
        +            var dir = S.in_directives, stat = simple_statement();
        +            return dir && stat.body instanceof AST_String ? new AST_Directive(stat.body) : stat;
        +          case "template_head":
        +          case "num":
        +          case "big_int":
        +          case "regexp":
        +          case "operator":
        +          case "atom":
        +            return simple_statement();
        +
        +          case "name":
        +            if (S.token.value == "async" && is_token(peek(), "keyword", "function")) {
        +                next();
        +                next();
        +                if (is_for_body) {
        +                    croak("functions are not allowed as the body of a loop");
        +                }
        +                return function_(AST_Defun, false, true, is_export_default);
        +            }
        +            if (S.token.value == "import" && !is_token(peek(), "punc", "(") && !is_token(peek(), "punc", ".")) {
        +                next();
        +                var node = import_statement();
        +                semicolon();
        +                return node;
        +            }
        +            if (S.token.value == "using" && is_token(peek(), "name") && !has_newline_before(peek())) {
        +                next();
        +                var node = using_();
        +                semicolon();
        +                return node;
        +            }
        +            if (S.token.value == "await" && can_await() && is_token(peek(), "name", "using") && !has_newline_before(peek())) {
        +                var next_next = S.input.peek_next_token_start_or_newline();
        +                if (S.input.ch_starts_binding_identifier(next_next.char, next_next.pos)) {
        +                    next();
        +                    // The "using" token will be consumed by the await_using_ function.
        +                    var node = await_using_();
        +                    semicolon();
        +                    return node;
        +                }
        +            }
        +            return is_token(peek(), "punc", ":")
        +                ? labeled_statement()
        +                : simple_statement();
        +
        +          case "privatename":
        +            if(!S.in_class)
        +              croak("Private field must be used in an enclosing class");
        +            return simple_statement();
        +
        +          case "punc":
        +            switch (S.token.value) {
        +              case "{":
        +                return new AST_BlockStatement({
        +                    start : S.token,
        +                    body  : block_(),
        +                    end   : prev()
        +                });
        +              case "[":
        +              case "(":
        +                return simple_statement();
        +              case ";":
        +                S.in_directives = false;
        +                next();
        +                return new AST_EmptyStatement();
        +              default:
        +                unexpected();
        +            }
        +
        +          case "keyword":
        +            switch (S.token.value) {
        +              case "break":
        +                next();
        +                return break_cont(AST_Break);
        +
        +              case "continue":
        +                next();
        +                return break_cont(AST_Continue);
        +
        +              case "debugger":
        +                next();
        +                semicolon();
        +                return new AST_Debugger();
        +
        +              case "do":
        +                next();
        +                var body = in_loop(statement);
        +                expect_token("keyword", "while");
        +                var condition = parenthesised();
        +                semicolon(true);
        +                return new AST_Do({
        +                    body      : body,
        +                    condition : condition
        +                });
        +
        +              case "while":
        +                next();
        +                return new AST_While({
        +                    condition : parenthesised(),
        +                    body      : in_loop(function() { return statement(false, true); })
        +                });
        +
        +              case "for":
        +                next();
        +                return for_();
        +
        +              case "class":
        +                next();
        +                if (is_for_body) {
        +                    croak("classes are not allowed as the body of a loop");
        +                }
        +                if (is_if_body) {
        +                    croak("classes are not allowed as the body of an if");
        +                }
        +                return class_(AST_DefClass, is_export_default);
        +
        +              case "function":
        +                next();
        +                if (is_for_body) {
        +                    croak("functions are not allowed as the body of a loop");
        +                }
        +                return function_(AST_Defun, false, false, is_export_default);
        +
        +              case "if":
        +                next();
        +                return if_();
        +
        +              case "return":
        +                if (S.in_function == 0 && !options.bare_returns)
        +                    croak("'return' outside of function");
        +                next();
        +                var value = null;
        +                if (is("punc", ";")) {
        +                    next();
        +                } else if (!can_insert_semicolon()) {
        +                    value = expression(true);
        +                    semicolon();
        +                }
        +                return new AST_Return({
        +                    value: value
        +                });
        +
        +              case "switch":
        +                next();
        +                return new AST_Switch({
        +                    expression : parenthesised(),
        +                    body       : in_loop(switch_body_)
        +                });
        +
        +              case "throw":
        +                next();
        +                if (has_newline_before(S.token))
        +                    croak("Illegal newline after 'throw'");
        +                var value = expression(true);
        +                semicolon();
        +                return new AST_Throw({
        +                    value: value
        +                });
        +
        +              case "try":
        +                next();
        +                return try_();
        +
        +              case "var":
        +                next();
        +                var node = var_();
        +                semicolon();
        +                return node;
        +
        +              case "let":
        +                next();
        +                var node = let_();
        +                semicolon();
        +                return node;
        +
        +              case "const":
        +                next();
        +                var node = const_();
        +                semicolon();
        +                return node;
        +
        +              case "with":
        +                if (S.input.has_directive("use strict")) {
        +                    croak("Strict mode may not include a with statement");
        +                }
        +                next();
        +                return new AST_With({
        +                    expression : parenthesised(),
        +                    body       : statement()
        +                });
        +
        +              case "export":
        +                if (!is_token(peek(), "punc", "(")) {
        +                    next();
        +                    var node = export_statement();
        +                    if (is("punc", ";")) semicolon();
        +                    return node;
        +                }
        +            }
        +        }
        +        unexpected();
        +    });
        +
        +    function labeled_statement() {
        +        var label = as_symbol(AST_Label);
        +        if (label.name === "await" && is_in_async()) {
        +            token_error(S.prev, "await cannot be used as label inside async function");
        +        }
        +        if (S.labels.some((l) => l.name === label.name)) {
        +            // ECMA-262, 12.12: An ECMAScript program is considered
        +            // syntactically incorrect if it contains a
        +            // LabelledStatement that is enclosed by a
        +            // LabelledStatement with the same Identifier as label.
        +            croak("Label " + label.name + " defined twice");
        +        }
        +        expect(":");
        +        S.labels.push(label);
        +        var stat = statement();
        +        S.labels.pop();
        +        if (!(stat instanceof AST_IterationStatement)) {
        +            // check for `continue` that refers to this label.
        +            // those should be reported as syntax errors.
        +            // https://github.com/mishoo/UglifyJS2/issues/287
        +            label.references.forEach(function(ref) {
        +                if (ref instanceof AST_Continue) {
        +                    ref = ref.label.start;
        +                    croak("Continue label `" + label.name + "` refers to non-IterationStatement.",
        +                          ref.line, ref.col, ref.pos);
        +                }
        +            });
        +        }
        +        return new AST_LabeledStatement({ body: stat, label: label });
        +    }
        +
        +    function simple_statement(tmp) {
        +        return new AST_SimpleStatement({ body: (tmp = expression(true), semicolon(), tmp) });
        +    }
        +
        +    function break_cont(type) {
        +        var label = null, ldef;
        +        if (!can_insert_semicolon()) {
        +            label = as_symbol(AST_LabelRef, true);
        +        }
        +        if (label != null) {
        +            ldef = S.labels.find((l) => l.name === label.name);
        +            if (!ldef)
        +                croak("Undefined label " + label.name);
        +            label.thedef = ldef;
        +        } else if (S.in_loop == 0)
        +            croak(type.TYPE + " not inside a loop or switch");
        +        semicolon();
        +        var stat = new type({ label: label });
        +        if (ldef) ldef.references.push(stat);
        +        return stat;
        +    }
        +
        +    function for_() {
        +        var for_await_error = "`for await` invalid in this context";
        +        var await_tok = S.token;
        +        if (await_tok.type == "name" && await_tok.value == "await") {
        +            if (!can_await()) {
        +                token_error(await_tok, for_await_error);
        +            }
        +            next();
        +        } else {
        +            await_tok = false;
        +        }
        +        expect("(");
        +        var init = null;
        +        if (!is("punc", ";")) {
        +            init =
        +                is("keyword", "var") ? (next(), var_(true)) :
        +                is("keyword", "let") ? (next(), let_(true)) :
        +                is("keyword", "const") ? (next(), const_(true)) :
        +                is("name", "using") && is_token(peek(), "name") && (peek().value != "of" || S.input.peek_next_token_start_or_newline().char == "=") ? (next(), using_(true)) :
        +                is("name", "await") && can_await() && is_token(peek(), "name", "using") ? (next(), await_using_(true)) :
        +                                       expression(true, true);
        +            var is_in = is("operator", "in");
        +            var is_of = is("name", "of");
        +            if (await_tok && !is_of) {
        +                token_error(await_tok, for_await_error);
        +            }
        +            if (is_in || is_of) {
        +                if (init instanceof AST_DefinitionsLike) {
        +                    if (init.definitions.length > 1)
        +                        token_error(init.start, "Only one variable declaration allowed in for..in loop");
        +                    if (is_in && init instanceof AST_Using) {
        +                        token_error(init.start, "Invalid using declaration in for..in loop");
        +                    }
        +                } else if (!(is_assignable(init) || (init = to_destructuring(init)) instanceof AST_Destructuring)) {
        +                    token_error(init.start, "Invalid left-hand side in for..in loop");
        +                }
        +                next();
        +                if (is_in) {
        +                    return for_in(init);
        +                } else {
        +                    return for_of(init, !!await_tok);
        +                }
        +            }
        +        } else if (await_tok) {
        +            token_error(await_tok, for_await_error);
        +        }
        +        return regular_for(init);
        +    }
        +
        +    function regular_for(init) {
        +        expect(";");
        +        var test = is("punc", ";") ? null : expression(true);
        +        expect(";");
        +        var step = is("punc", ")") ? null : expression(true);
        +        expect(")");
        +        return new AST_For({
        +            init      : init,
        +            condition : test,
        +            step      : step,
        +            body      : in_loop(function() { return statement(false, true); })
        +        });
        +    }
        +
        +    function for_of(init, is_await) {
        +        var lhs = init instanceof AST_DefinitionsLike ? init.definitions[0].name : null;
        +        var obj = expression(true);
        +        expect(")");
        +        return new AST_ForOf({
        +            await  : is_await,
        +            init   : init,
        +            name   : lhs,
        +            object : obj,
        +            body   : in_loop(function() { return statement(false, true); })
        +        });
        +    }
        +
        +    function for_in(init) {
        +        var obj = expression(true);
        +        expect(")");
        +        return new AST_ForIn({
        +            init   : init,
        +            object : obj,
        +            body   : in_loop(function() { return statement(false, true); })
        +        });
        +    }
        +
        +    var arrow_function = function(start, argnames, is_async) {
        +        if (has_newline_before(S.token)) {
        +            croak("Unexpected newline before arrow (=>)");
        +        }
        +
        +        expect_token("arrow", "=>");
        +
        +        var body = _function_body(is("punc", "{"), false, is_async);
        +
        +        return new AST_Arrow({
        +            start    : start,
        +            end      : body.end,
        +            async    : is_async,
        +            argnames : argnames,
        +            body     : body
        +        });
        +    };
        +
        +    var function_ = function(ctor, is_generator, is_async, is_export_default) {
        +        var in_statement = ctor === AST_Defun;
        +        if (is("operator", "*")) {
        +            is_generator = true;
        +            next();
        +        }
        +
        +        var name = is("name") ? as_symbol(in_statement ? AST_SymbolDefun : AST_SymbolLambda) : null;
        +        if (in_statement && !name) {
        +            if (is_export_default) {
        +                ctor = AST_Function;
        +            } else {
        +                unexpected();
        +            }
        +        }
        +
        +        if (name && ctor !== AST_Accessor && !(name instanceof AST_SymbolDeclaration))
        +            unexpected(prev());
        +
        +        var args = [];
        +        var body = _function_body(true, is_generator, is_async, name, args);
        +        return new ctor({
        +            start : args.start,
        +            end   : body.end,
        +            is_generator: is_generator,
        +            async : is_async,
        +            name  : name,
        +            argnames: args,
        +            body  : body
        +        });
        +    };
        +
        +    class UsedParametersTracker {
        +        constructor(is_parameter, strict, duplicates_ok = false) {
        +            this.is_parameter = is_parameter;
        +            this.duplicates_ok = duplicates_ok;
        +            this.parameters = new Set();
        +            this.duplicate = null;
        +            this.default_assignment = false;
        +            this.spread = false;
        +            this.strict_mode = !!strict;
        +        }
        +        add_parameter(token) {
        +            if (this.parameters.has(token.value)) {
        +                if (this.duplicate === null) {
        +                    this.duplicate = token;
        +                }
        +                this.check_strict();
        +            } else {
        +                this.parameters.add(token.value);
        +                if (this.is_parameter) {
        +                    switch (token.value) {
        +                      case "arguments":
        +                      case "eval":
        +                      case "yield":
        +                        if (this.strict_mode) {
        +                            token_error(token, "Unexpected " + token.value + " identifier as parameter inside strict mode");
        +                        }
        +                        break;
        +                      default:
        +                        if (RESERVED_WORDS.has(token.value)) {
        +                            unexpected();
        +                        }
        +                    }
        +                }
        +            }
        +        }
        +        mark_default_assignment(token) {
        +            if (this.default_assignment === false) {
        +                this.default_assignment = token;
        +            }
        +        }
        +        mark_spread(token) {
        +            if (this.spread === false) {
        +                this.spread = token;
        +            }
        +        }
        +        mark_strict_mode() {
        +            this.strict_mode = true;
        +        }
        +        is_strict() {
        +            return this.default_assignment !== false || this.spread !== false || this.strict_mode;
        +        }
        +        check_strict() {
        +            if (this.is_strict() && this.duplicate !== null && !this.duplicates_ok) {
        +                token_error(this.duplicate, "Parameter " + this.duplicate.value + " was used already");
        +            }
        +        }
        +    }
        +
        +    function parameters(params) {
        +        var used_parameters = new UsedParametersTracker(true, S.input.has_directive("use strict"));
        +
        +        expect("(");
        +
        +        while (!is("punc", ")")) {
        +            var param = parameter(used_parameters);
        +            params.push(param);
        +
        +            if (!is("punc", ")")) {
        +                expect(",");
        +            }
        +
        +            if (param instanceof AST_Expansion) {
        +                break;
        +            }
        +        }
        +
        +        next();
        +    }
        +
        +    function parameter(used_parameters, symbol_type) {
        +        var param;
        +        var expand = false;
        +        if (used_parameters === undefined) {
        +            used_parameters = new UsedParametersTracker(true, S.input.has_directive("use strict"));
        +        }
        +        if (is("expand", "...")) {
        +            expand = S.token;
        +            used_parameters.mark_spread(S.token);
        +            next();
        +        }
        +        param = binding_element(used_parameters, symbol_type);
        +
        +        if (is("operator", "=") && expand === false) {
        +            used_parameters.mark_default_assignment(S.token);
        +            next();
        +            param = new AST_DefaultAssign({
        +                start: param.start,
        +                left: param,
        +                operator: "=",
        +                right: expression(false),
        +                end: S.token
        +            });
        +        }
        +
        +        if (expand !== false) {
        +            if (!is("punc", ")")) {
        +                unexpected();
        +            }
        +            param = new AST_Expansion({
        +                start: expand,
        +                expression: param,
        +                end: expand
        +            });
        +        }
        +        used_parameters.check_strict();
        +
        +        return param;
        +    }
        +
        +    function binding_element(used_parameters, symbol_type) {
        +        var elements = [];
        +        var first = true;
        +        var is_expand = false;
        +        var expand_token;
        +        var first_token = S.token;
        +        if (used_parameters === undefined) {
        +            const strict = S.input.has_directive("use strict");
        +            const duplicates_ok = symbol_type === AST_SymbolVar;
        +            used_parameters = new UsedParametersTracker(false, strict, duplicates_ok);
        +        }
        +        symbol_type = symbol_type === undefined ? AST_SymbolFunarg : symbol_type;
        +        if (is("punc", "[")) {
        +            next();
        +            while (!is("punc", "]")) {
        +                if (first) {
        +                    first = false;
        +                } else {
        +                    expect(",");
        +                }
        +
        +                if (is("expand", "...")) {
        +                    is_expand = true;
        +                    expand_token = S.token;
        +                    used_parameters.mark_spread(S.token);
        +                    next();
        +                }
        +                if (is("punc")) {
        +                    switch (S.token.value) {
        +                      case ",":
        +                        elements.push(new AST_Hole({
        +                            start: S.token,
        +                            end: S.token
        +                        }));
        +                        continue;
        +                      case "]": // Trailing comma after last element
        +                        break;
        +                      case "[":
        +                      case "{":
        +                        elements.push(binding_element(used_parameters, symbol_type));
        +                        break;
        +                      default:
        +                        unexpected();
        +                    }
        +                } else if (is("name")) {
        +                    used_parameters.add_parameter(S.token);
        +                    elements.push(as_symbol(symbol_type));
        +                } else {
        +                    croak("Invalid function parameter");
        +                }
        +                if (is("operator", "=") && is_expand === false) {
        +                    used_parameters.mark_default_assignment(S.token);
        +                    next();
        +                    elements[elements.length - 1] = new AST_DefaultAssign({
        +                        start: elements[elements.length - 1].start,
        +                        left: elements[elements.length - 1],
        +                        operator: "=",
        +                        right: expression(false),
        +                        end: S.token
        +                    });
        +                }
        +                if (is_expand) {
        +                    if (!is("punc", "]")) {
        +                        croak("Rest element must be last element");
        +                    }
        +                    elements[elements.length - 1] = new AST_Expansion({
        +                        start: expand_token,
        +                        expression: elements[elements.length - 1],
        +                        end: expand_token
        +                    });
        +                }
        +            }
        +            expect("]");
        +            used_parameters.check_strict();
        +            return new AST_Destructuring({
        +                start: first_token,
        +                names: elements,
        +                is_array: true,
        +                end: prev()
        +            });
        +        } else if (is("punc", "{")) {
        +            next();
        +            while (!is("punc", "}")) {
        +                if (first) {
        +                    first = false;
        +                } else {
        +                    expect(",");
        +                }
        +                if (is("expand", "...")) {
        +                    is_expand = true;
        +                    expand_token = S.token;
        +                    used_parameters.mark_spread(S.token);
        +                    next();
        +                }
        +                if (is("name") && (is_token(peek(), "punc") || is_token(peek(), "operator")) && [",", "}", "="].includes(peek().value)) {
        +                    used_parameters.add_parameter(S.token);
        +                    var start = prev();
        +                    var value = as_symbol(symbol_type);
        +                    if (is_expand) {
        +                        elements.push(new AST_Expansion({
        +                            start: expand_token,
        +                            expression: value,
        +                            end: value.end,
        +                        }));
        +                    } else {
        +                        elements.push(new AST_ObjectKeyVal({
        +                            start: start,
        +                            key: value.name,
        +                            value: value,
        +                            end: value.end,
        +                        }));
        +                    }
        +                } else if (is("punc", "}")) {
        +                    continue; // Allow trailing hole
        +                } else {
        +                    var property_token = S.token;
        +                    var property = as_property_name();
        +                    if (property === null) {
        +                        unexpected(prev());
        +                    } else if (prev().type === "name" && !is("punc", ":")) {
        +                        elements.push(new AST_ObjectKeyVal({
        +                            start: prev(),
        +                            key: property,
        +                            value: new symbol_type({
        +                                start: prev(),
        +                                name: property,
        +                                end: prev()
        +                            }),
        +                            end: prev()
        +                        }));
        +                    } else {
        +                        expect(":");
        +                        elements.push(new AST_ObjectKeyVal({
        +                            start: property_token,
        +                            quote: property_token.quote,
        +                            key: property,
        +                            value: binding_element(used_parameters, symbol_type),
        +                            end: prev()
        +                        }));
        +                    }
        +                }
        +                if (is_expand) {
        +                    if (!is("punc", "}")) {
        +                        croak("Rest element must be last element");
        +                    }
        +                } else if (is("operator", "=")) {
        +                    used_parameters.mark_default_assignment(S.token);
        +                    next();
        +                    elements[elements.length - 1].value = new AST_DefaultAssign({
        +                        start: elements[elements.length - 1].value.start,
        +                        left: elements[elements.length - 1].value,
        +                        operator: "=",
        +                        right: expression(false),
        +                        end: S.token
        +                    });
        +                }
        +            }
        +            expect("}");
        +            used_parameters.check_strict();
        +            return new AST_Destructuring({
        +                start: first_token,
        +                names: elements,
        +                is_array: false,
        +                end: prev()
        +            });
        +        } else if (is("name")) {
        +            used_parameters.add_parameter(S.token);
        +            return as_symbol(symbol_type);
        +        } else {
        +            croak("Invalid function parameter");
        +        }
        +    }
        +
        +    function params_or_seq_(allow_arrows, maybe_sequence) {
        +        var spread_token;
        +        var invalid_sequence;
        +        var trailing_comma;
        +        var a = [];
        +        expect("(");
        +        while (!is("punc", ")")) {
        +            if (spread_token) unexpected(spread_token);
        +            if (is("expand", "...")) {
        +                spread_token = S.token;
        +                if (maybe_sequence) invalid_sequence = S.token;
        +                next();
        +                a.push(new AST_Expansion({
        +                    start: prev(),
        +                    expression: expression(),
        +                    end: S.token,
        +                }));
        +            } else {
        +                a.push(expression());
        +            }
        +            if (!is("punc", ")")) {
        +                expect(",");
        +                if (is("punc", ")")) {
        +                    trailing_comma = prev();
        +                    if (maybe_sequence) invalid_sequence = trailing_comma;
        +                }
        +            }
        +        }
        +        expect(")");
        +        if (allow_arrows && is("arrow", "=>")) {
        +            if (spread_token && trailing_comma) unexpected(trailing_comma);
        +        } else if (invalid_sequence) {
        +            unexpected(invalid_sequence);
        +        }
        +        return a;
        +    }
        +
        +    function _function_body(block, generator, is_async, name, args) {
        +        var loop = S.in_loop;
        +        var labels = S.labels;
        +        var current_generator = S.in_generator;
        +        var current_async = S.in_async;
        +        ++S.in_function;
        +        if (generator)
        +            S.in_generator = S.in_function;
        +        if (is_async)
        +            S.in_async = S.in_function;
        +        if (args) parameters(args);
        +        if (block)
        +            S.in_directives = true;
        +        S.in_loop = 0;
        +        S.labels = [];
        +        if (block) {
        +            S.input.push_directives_stack();
        +            var a = block_();
        +            if (name) _verify_symbol(name);
        +            if (args) args.forEach(_verify_symbol);
        +            S.input.pop_directives_stack();
        +        } else {
        +            var a = [new AST_Return({
        +                start: S.token,
        +                value: expression(false),
        +                end: S.token
        +            })];
        +        }
        +        --S.in_function;
        +        S.in_loop = loop;
        +        S.labels = labels;
        +        S.in_generator = current_generator;
        +        S.in_async = current_async;
        +        return a;
        +    }
        +
        +    function _await_expression() {
        +        // Previous token must be "await" and not be interpreted as an identifier
        +        if (!can_await()) {
        +            croak("Unexpected await expression outside async function",
        +                S.prev.line, S.prev.col, S.prev.pos);
        +        }
        +        // the await expression is parsed as a unary expression in Babel
        +        return new AST_Await({
        +            start: prev(),
        +            end: S.token,
        +            expression : maybe_unary(true),
        +        });
        +    }
        +
        +    function _yield_expression() {
        +        var start = S.token;
        +        var star = false;
        +        var has_expression = true;
        +
        +        // Attempt to get expression or star (and then the mandatory expression)
        +        // behind yield on the same line.
        +        //
        +        // If nothing follows on the same line of the yieldExpression,
        +        // it should default to the value `undefined` for yield to return.
        +        // In that case, the `undefined` stored as `null` in ast.
        +        //
        +        // Note 1: It isn't allowed for yield* to close without an expression
        +        // Note 2: If there is a nlb between yield and star, it is interpret as
        +        //         yield   *
        +        if (
        +            can_insert_semicolon()
        +            || is("punc") && PUNC_AFTER_EXPRESSION.has(S.token.value)
        +            || is("template_cont")
        +        ) {
        +            has_expression = false;
        +        } else if (is("operator", "*")) {
        +            star = true;
        +            next();
        +        }
        +
        +        return new AST_Yield({
        +            start      : start,
        +            is_star    : star,
        +            expression : has_expression ? expression() : null,
        +            end        : prev()
        +        });
        +    }
        +
        +    function if_() {
        +        var cond = parenthesised(), body = statement(false, false, true), belse = null;
        +        if (is("keyword", "else")) {
        +            next();
        +            belse = statement(false, false, true);
        +        }
        +        return new AST_If({
        +            condition   : cond,
        +            body        : body,
        +            alternative : belse
        +        });
        +    }
        +
        +    function block_() {
        +        expect("{");
        +        var a = [];
        +        while (!is("punc", "}")) {
        +            if (is("eof")) unexpected();
        +            a.push(statement());
        +        }
        +        next();
        +        return a;
        +    }
        +
        +    function switch_body_() {
        +        expect("{");
        +        var a = [], cur = null, branch = null, tmp;
        +        while (!is("punc", "}")) {
        +            if (is("eof")) unexpected();
        +            if (is("keyword", "case")) {
        +                if (branch) branch.end = prev();
        +                cur = [];
        +                branch = new AST_Case({
        +                    start      : (tmp = S.token, next(), tmp),
        +                    expression : expression(true),
        +                    body       : cur
        +                });
        +                a.push(branch);
        +                expect(":");
        +            } else if (is("keyword", "default")) {
        +                if (branch) branch.end = prev();
        +                cur = [];
        +                branch = new AST_Default({
        +                    start : (tmp = S.token, next(), expect(":"), tmp),
        +                    body  : cur
        +                });
        +                a.push(branch);
        +            } else {
        +                if (!cur) unexpected();
        +                cur.push(statement());
        +            }
        +        }
        +        if (branch) branch.end = prev();
        +        next();
        +        return a;
        +    }
        +
        +    function try_() {
        +        var body, bcatch = null, bfinally = null;
        +        body = new AST_TryBlock({
        +            start : S.token,
        +            body  : block_(),
        +            end   : prev(),
        +        });
        +        if (is("keyword", "catch")) {
        +            var start = S.token;
        +            next();
        +            if (is("punc", "{")) {
        +                var name = null;
        +            } else {
        +                expect("(");
        +                var name = parameter(undefined, AST_SymbolCatch);
        +                expect(")");
        +            }
        +            bcatch = new AST_Catch({
        +                start   : start,
        +                argname : name,
        +                body    : block_(),
        +                end     : prev()
        +            });
        +        }
        +        if (is("keyword", "finally")) {
        +            var start = S.token;
        +            next();
        +            bfinally = new AST_Finally({
        +                start : start,
        +                body  : block_(),
        +                end   : prev()
        +            });
        +        }
        +        if (!bcatch && !bfinally)
        +            croak("Missing catch/finally blocks");
        +        return new AST_Try({
        +            body     : body,
        +            bcatch   : bcatch,
        +            bfinally : bfinally
        +        });
        +    }
        +
        +    /**
        +     * var
        +     *   vardef1 = 2,
        +     *   vardef2 = 3;
        +     */
        +    function vardefs(no_in, kind) {
        +        var var_defs = [];
        +        var def;
        +        for (;;) {
        +            var sym_type =
        +                kind === "var" ? AST_SymbolVar :
        +                kind === "const" ? AST_SymbolConst :
        +                kind === "let" ? AST_SymbolLet :
        +                kind === "using" ? AST_SymbolUsing :
        +                kind === "await using" ? AST_SymbolUsing : null;
        +            var def_type = kind === "using" || kind === "await using" ? AST_UsingDef : AST_VarDef;
        +            // var { a } = b
        +            if (is("punc", "{") || is("punc", "[")) {
        +                def = new def_type({
        +                    start: S.token,
        +                    name: binding_element(undefined, sym_type),
        +                    value: is("operator", "=") ? (expect_token("operator", "="), expression(false, no_in)) : null,
        +                    end: prev()
        +                });
        +            } else {
        +                def = new def_type({
        +                    start : S.token,
        +                    name  : as_symbol(sym_type),
        +                    value : is("operator", "=")
        +                        ? (next(), expression(false, no_in))
        +                        : !no_in && (kind === "const" || kind === "using" || kind === "await using")
        +                            ? croak("Missing initializer in " + kind + " declaration") : null,
        +                    end   : prev()
        +                });
        +                if (def.name.name == "import") croak("Unexpected token: import");
        +            }
        +            var_defs.push(def);
        +            if (!is("punc", ","))
        +                break;
        +            next();
        +        }
        +        return var_defs;
        +    }
        +
        +    var var_ = function(no_in) {
        +        return new AST_Var({
        +            start       : prev(),
        +            definitions : vardefs(no_in, "var"),
        +            end         : prev()
        +        });
        +    };
        +
        +    var let_ = function(no_in) {
        +        return new AST_Let({
        +            start       : prev(),
        +            definitions : vardefs(no_in, "let"),
        +            end         : prev()
        +        });
        +    };
        +
        +    var const_ = function(no_in) {
        +        return new AST_Const({
        +            start       : prev(),
        +            definitions : vardefs(no_in, "const"),
        +            end         : prev()
        +        });
        +    };
        +
        +    var using_ = function(no_in) {
        +        return new AST_Using({
        +            start       : prev(),
        +            await       : false,
        +            definitions : vardefs(no_in, "using"),
        +            end         : prev()
        +        });
        +    };
        +
        +    var await_using_ = function(no_in) {
        +        // Assumption: When await_using_ is called, only the `await` token has been consumed.
        +        return new AST_Using({
        +            start       : prev(),
        +            await       : true,
        +            definitions : (next(), vardefs(no_in, "await using")),
        +            end         : prev()
        +        });
        +    };
        +
        +    var new_ = function(allow_calls) {
        +        var start = S.token;
        +        expect_token("operator", "new");
        +        if (is("punc", ".")) {
        +            next();
        +            expect_token("name", "target");
        +            return subscripts(new AST_NewTarget({
        +                start : start,
        +                end   : prev()
        +            }), allow_calls);
        +        }
        +        var newexp = expr_atom(false), args;
        +        if (is("punc", "(")) {
        +            next();
        +            args = expr_list(")", true);
        +        } else {
        +            args = [];
        +        }
        +        var call = new AST_New({
        +            start      : start,
        +            expression : newexp,
        +            args       : args,
        +            end        : prev()
        +        });
        +        annotate(call);
        +        return subscripts(call, allow_calls);
        +    };
        +
        +    function as_atom_node() {
        +        var tok = S.token, ret;
        +        switch (tok.type) {
        +          case "name":
        +            ret = _make_symbol(AST_SymbolRef);
        +            break;
        +          case "num":
        +            if (tok.value === Infinity) {
        +                // very large float values are parsed as Infinity
        +                ret = new AST_Infinity({
        +                    start: tok,
        +                    end: tok,
        +                });
        +            } else {
        +                ret = new AST_Number({
        +                    start: tok,
        +                    end: tok,
        +                    value: tok.value,
        +                    raw: LATEST_RAW
        +                });
        +            }
        +            break;
        +          case "big_int":
        +            ret = new AST_BigInt({
        +                start: tok,
        +                end: tok,
        +                value: tok.value,
        +                raw: LATEST_RAW,
        +            });
        +            break;
        +          case "string":
        +            ret = new AST_String({
        +                start : tok,
        +                end   : tok,
        +                value : tok.value,
        +                quote : tok.quote
        +            });
        +            annotate(ret);
        +            break;
        +          case "regexp":
        +            const [_, source, flags] = tok.value.match(/^\/(.*)\/(\w*)$/);
        +
        +            ret = new AST_RegExp({ start: tok, end: tok, value: { source, flags } });
        +            break;
        +          case "atom":
        +            switch (tok.value) {
        +              case "false":
        +                ret = new AST_False({ start: tok, end: tok });
        +                break;
        +              case "true":
        +                ret = new AST_True({ start: tok, end: tok });
        +                break;
        +              case "null":
        +                ret = new AST_Null({ start: tok, end: tok });
        +                break;
        +            }
        +            break;
        +        }
        +        next();
        +        return ret;
        +    }
        +
        +    function to_fun_args(ex, default_seen_above) {
        +        var insert_default = function(ex, default_value) {
        +            if (default_value) {
        +                return new AST_DefaultAssign({
        +                    start: ex.start,
        +                    left: ex,
        +                    operator: "=",
        +                    right: default_value,
        +                    end: default_value.end
        +                });
        +            }
        +            return ex;
        +        };
        +        if (ex instanceof AST_Object) {
        +            return insert_default(new AST_Destructuring({
        +                start: ex.start,
        +                end: ex.end,
        +                is_array: false,
        +                names: ex.properties.map(prop => to_fun_args(prop))
        +            }), default_seen_above);
        +        } else if (ex instanceof AST_ObjectKeyVal) {
        +            ex.value = to_fun_args(ex.value);
        +            return insert_default(ex, default_seen_above);
        +        } else if (ex instanceof AST_Hole) {
        +            return ex;
        +        } else if (ex instanceof AST_Destructuring) {
        +            ex.names = ex.names.map(name => to_fun_args(name));
        +            return insert_default(ex, default_seen_above);
        +        } else if (ex instanceof AST_SymbolRef) {
        +            return insert_default(new AST_SymbolFunarg({
        +                name: ex.name,
        +                start: ex.start,
        +                end: ex.end
        +            }), default_seen_above);
        +        } else if (ex instanceof AST_Expansion) {
        +            ex.expression = to_fun_args(ex.expression);
        +            return insert_default(ex, default_seen_above);
        +        } else if (ex instanceof AST_Array) {
        +            return insert_default(new AST_Destructuring({
        +                start: ex.start,
        +                end: ex.end,
        +                is_array: true,
        +                names: ex.elements.map(elm => to_fun_args(elm))
        +            }), default_seen_above);
        +        } else if (ex instanceof AST_Assign) {
        +            return insert_default(to_fun_args(ex.left, ex.right), default_seen_above);
        +        } else if (ex instanceof AST_DefaultAssign) {
        +            ex.left = to_fun_args(ex.left);
        +            return ex;
        +        } else {
        +            croak("Invalid function parameter", ex.start.line, ex.start.col);
        +        }
        +    }
        +
        +    var expr_atom = function(allow_calls, allow_arrows) {
        +        if (is("operator", "new")) {
        +            return new_(allow_calls);
        +        }
        +        if (is("name", "import") && is_token(peek(), "punc", ".")) {
        +            return import_meta(allow_calls);
        +        }
        +        var start = S.token;
        +        var peeked;
        +        var async = is("name", "async")
        +            && (peeked = peek()).value != "["
        +            && peeked.type != "arrow"
        +            && as_atom_node();
        +        if (is("punc")) {
        +            switch (S.token.value) {
        +              case "(":
        +                if (async && !allow_calls) break;
        +                var exprs = params_or_seq_(allow_arrows, !async);
        +                if (allow_arrows && is("arrow", "=>")) {
        +                    return arrow_function(start, exprs.map(e => to_fun_args(e)), !!async);
        +                }
        +                var ex = async ? new AST_Call({
        +                    expression: async,
        +                    args: exprs
        +                }) : to_expr_or_sequence(start, exprs);
        +                if (ex.start) {
        +                    const outer_comments_before = start.comments_before.length;
        +                    outer_comments_before_counts.set(start, outer_comments_before);
        +                    ex.start.comments_before.unshift(...start.comments_before);
        +                    start.comments_before = ex.start.comments_before;
        +                    if (outer_comments_before == 0 && start.comments_before.length > 0) {
        +                        var comment = start.comments_before[0];
        +                        if (!comment.nlb) {
        +                            comment.nlb = start.nlb;
        +                            start.nlb = false;
        +                        }
        +                    }
        +                    start.comments_after = ex.start.comments_after;
        +                }
        +                ex.start = start;
        +                var end = prev();
        +                if (ex.end) {
        +                    end.comments_before = ex.end.comments_before;
        +                    ex.end.comments_after.push(...end.comments_after);
        +                    end.comments_after = ex.end.comments_after;
        +                }
        +                ex.end = end;
        +                if (ex instanceof AST_Call) annotate(ex);
        +                return subscripts(ex, allow_calls);
        +              case "[":
        +                return subscripts(array_(), allow_calls);
        +              case "{":
        +                return subscripts(object_or_destructuring_(), allow_calls);
        +            }
        +            if (!async) unexpected();
        +        }
        +        if (allow_arrows && is("name") && is_token(peek(), "arrow")) {
        +            var param = new AST_SymbolFunarg({
        +                name: S.token.value,
        +                start: start,
        +                end: start,
        +            });
        +            next();
        +            return arrow_function(start, [param], !!async);
        +        }
        +        if (is("keyword", "function")) {
        +            next();
        +            var func = function_(AST_Function, false, !!async);
        +            func.start = start;
        +            func.end = prev();
        +            return subscripts(func, allow_calls);
        +        }
        +        if (async) return subscripts(async, allow_calls);
        +        if (is("keyword", "class")) {
        +            next();
        +            var cls = class_(AST_ClassExpression);
        +            cls.start = start;
        +            cls.end = prev();
        +            return subscripts(cls, allow_calls);
        +        }
        +        if (is("template_head")) {
        +            return subscripts(template_string(), allow_calls);
        +        }
        +        if (ATOMIC_START_TOKEN.has(S.token.type)) {
        +            return subscripts(as_atom_node(), allow_calls);
        +        }
        +        unexpected();
        +    };
        +
        +    function template_string() {
        +        var segments = [], start = S.token;
        +
        +        segments.push(new AST_TemplateSegment({
        +            start: S.token,
        +            raw: TEMPLATE_RAWS.get(S.token),
        +            value: S.token.value,
        +            end: S.token
        +        }));
        +
        +        while (!S.token.template_end) {
        +            next();
        +            handle_regexp();
        +            segments.push(expression(true));
        +
        +            segments.push(new AST_TemplateSegment({
        +                start: S.token,
        +                raw: TEMPLATE_RAWS.get(S.token),
        +                value: S.token.value,
        +                end: S.token
        +            }));
        +        }
        +        next();
        +
        +        return new AST_TemplateString({
        +            start: start,
        +            segments: segments,
        +            end: S.token
        +        });
        +    }
        +
        +    function expr_list(closing, allow_trailing_comma, allow_empty) {
        +        var first = true, a = [];
        +        while (!is("punc", closing)) {
        +            if (first) first = false; else expect(",");
        +            if (allow_trailing_comma && is("punc", closing)) break;
        +            if (is("punc", ",") && allow_empty) {
        +                a.push(new AST_Hole({ start: S.token, end: S.token }));
        +            } else if (is("expand", "...")) {
        +                next();
        +                a.push(new AST_Expansion({start: prev(), expression: expression(),end: S.token}));
        +            } else {
        +                a.push(expression(false));
        +            }
        +        }
        +        next();
        +        return a;
        +    }
        +
        +    var array_ = embed_tokens(function() {
        +        expect("[");
        +        return new AST_Array({
        +            elements: expr_list("]", !options.strict, true)
        +        });
        +    });
        +
        +    var create_accessor = embed_tokens((is_generator, is_async) => {
        +        return function_(AST_Accessor, is_generator, is_async);
        +    });
        +
        +    var object_or_destructuring_ = embed_tokens(function object_or_destructuring_() {
        +        var start = S.token, first = true, a = [];
        +        expect("{");
        +        while (!is("punc", "}")) {
        +            if (first) first = false; else expect(",");
        +            if (!options.strict && is("punc", "}"))
        +                // allow trailing comma
        +                break;
        +
        +            start = S.token;
        +            if (start.type == "expand") {
        +                next();
        +                a.push(new AST_Expansion({
        +                    start: start,
        +                    expression: expression(false),
        +                    end: prev(),
        +                }));
        +                continue;
        +            }
        +            if(is("privatename")) {
        +                croak("private fields are not allowed in an object");
        +            }
        +            var name = as_property_name();
        +            var value;
        +
        +            // Check property and fetch value
        +            if (!is("punc", ":")) {
        +                var concise = object_or_class_property(name, start);
        +                if (concise) {
        +                    a.push(concise);
        +                    continue;
        +                }
        +
        +                value = new AST_SymbolRef({
        +                    start: prev(),
        +                    name: name,
        +                    end: prev()
        +                });
        +            } else if (name === null) {
        +                unexpected(prev());
        +            } else {
        +                next(); // `:` - see first condition
        +                value = expression(false);
        +            }
        +
        +            // Check for default value and alter value accordingly if necessary
        +            if (is("operator", "=")) {
        +                next();
        +                value = new AST_Assign({
        +                    start: start,
        +                    left: value,
        +                    operator: "=",
        +                    right: expression(false),
        +                    logical: false,
        +                    end: prev()
        +                });
        +            }
        +
        +            // Create property
        +            const kv = new AST_ObjectKeyVal({
        +                start: start,
        +                quote: start.quote,
        +                key: name,
        +                value: value,
        +                end: prev()
        +            });
        +            a.push(annotate(kv));
        +        }
        +        next();
        +        return new AST_Object({ properties: a });
        +    });
        +
        +    function class_(KindOfClass, is_export_default) {
        +        var start, method, class_name, extends_, properties = [];
        +
        +        S.input.push_directives_stack(); // Push directive stack, but not scope stack
        +        S.input.add_directive("use strict");
        +
        +        if (S.token.type == "name" && S.token.value != "extends") {
        +            class_name = as_symbol(KindOfClass === AST_DefClass ? AST_SymbolDefClass : AST_SymbolClass);
        +        }
        +
        +        if (KindOfClass === AST_DefClass && !class_name) {
        +            if (is_export_default) {
        +                KindOfClass = AST_ClassExpression;
        +            } else {
        +                unexpected();
        +            }
        +        }
        +
        +        if (S.token.value == "extends") {
        +            next();
        +            extends_ = expression(true);
        +        }
        +
        +        expect("{");
        +        // mark in class feild,
        +        const save_in_class = S.in_class;
        +        S.in_class = true;
        +        while (is("punc", ";")) { next(); }  // Leading semicolons are okay in class bodies.
        +        while (!is("punc", "}")) {
        +            start = S.token;
        +            method = object_or_class_property(as_property_name(), start, true);
        +            if (!method) { unexpected(); }
        +            properties.push(method);
        +            while (is("punc", ";")) { next(); }
        +        }
        +        // mark in class feild,
        +        S.in_class = save_in_class;
        +
        +        S.input.pop_directives_stack();
        +
        +        next();
        +
        +        return new KindOfClass({
        +            start: start,
        +            name: class_name,
        +            extends: extends_,
        +            properties: properties,
        +            end: prev(),
        +        });
        +    }
        +
        +    function object_or_class_property(name, start, is_class) {
        +        const get_symbol_ast = (name, SymbolClass) => {
        +            if (typeof name === "string") {
        +                return new SymbolClass({ start, name, end: prev() });
        +            } else if (name === null) {
        +                unexpected();
        +            }
        +            return name;
        +        };
        +
        +        var is_private = prev().type === "privatename";
        +        const is_not_method_start = () =>
        +            !is("punc", "(") && !is("punc", ",") && !is("punc", "}") && !is("punc", ";") && !is("operator", "=") && !is_private;
        +
        +        var is_async = false;
        +        var is_static = false;
        +        var is_generator = false;
        +        var accessor_type = null;
        +
        +        if (is_class && name === "static" && is_not_method_start()) {
        +            const static_block = class_static_block();
        +            if (static_block != null) {
        +                return static_block;
        +            }
        +            is_static = true;
        +            name = as_property_name();
        +        }
        +        if (name === "async" && is_not_method_start()) {
        +            is_async = true;
        +            name = as_property_name();
        +        }
        +        if (prev().type === "operator" && prev().value === "*") {
        +            is_generator = true;
        +            name = as_property_name();
        +        }
        +        if ((name === "get" || name === "set") && is_not_method_start()) {
        +            accessor_type = name;
        +            name = as_property_name();
        +        }
        +        if (!is_private && prev().type === "privatename") {
        +            is_private = true;
        +        }
        +
        +        const property_token = prev();
        +
        +        if (accessor_type != null) {
        +            if (!is_private) {
        +                const AccessorClass = accessor_type === "get"
        +                    ? AST_ObjectGetter
        +                    : AST_ObjectSetter;
        +
        +                name = get_symbol_ast(name, AST_SymbolMethod);
        +                return annotate(new AccessorClass({
        +                    start,
        +                    static: is_static,
        +                    key: name,
        +                    quote: name instanceof AST_SymbolMethod ? property_token.quote : undefined,
        +                    value: create_accessor(),
        +                    end: prev()
        +                }));
        +            } else {
        +                const AccessorClass = accessor_type === "get"
        +                    ? AST_PrivateGetter
        +                    : AST_PrivateSetter;
        +
        +                return annotate(new AccessorClass({
        +                    start,
        +                    static: is_static,
        +                    key: get_symbol_ast(name, AST_SymbolMethod),
        +                    value: create_accessor(),
        +                    end: prev(),
        +                }));
        +            }
        +        }
        +
        +        if (is("punc", "(")) {
        +            name = get_symbol_ast(name, AST_SymbolMethod);
        +            const AST_MethodVariant = is_private
        +                ? AST_PrivateMethod
        +                : AST_ConciseMethod;
        +            var node = new AST_MethodVariant({
        +                start       : start,
        +                static      : is_static,
        +                key         : name,
        +                quote       : name instanceof AST_SymbolMethod ?
        +                              property_token.quote : undefined,
        +                value       : create_accessor(is_generator, is_async),
        +                end         : prev()
        +            });
        +            return annotate(node);
        +        }
        +
        +        if (is_class) {
        +            const AST_SymbolVariant = is_private
        +                ? AST_SymbolPrivateProperty
        +                : AST_SymbolClassProperty;
        +            const AST_ClassPropertyVariant = is_private
        +                ? AST_ClassPrivateProperty
        +                : AST_ClassProperty;
        +
        +            const key = get_symbol_ast(name, AST_SymbolVariant);
        +            const quote = key instanceof AST_SymbolClassProperty
        +                ? property_token.quote
        +                : undefined;
        +            if (is("operator", "=")) {
        +                next();
        +                return annotate(
        +                    new AST_ClassPropertyVariant({
        +                        start,
        +                        static: is_static,
        +                        quote,
        +                        key,
        +                        value: expression(false),
        +                        end: prev()
        +                    })
        +                );
        +            } else if (
        +                is("name")
        +                || is("privatename")
        +                || is("punc", "[")
        +                || is("operator", "*")
        +                || is("punc", ";")
        +                || is("punc", "}")
        +                || is("string")
        +                || is("num")
        +                || is("big_int")
        +            ) {
        +                return annotate(
        +                    new AST_ClassPropertyVariant({
        +                        start,
        +                        static: is_static,
        +                        quote,
        +                        key,
        +                        end: prev()
        +                    })
        +                );
        +            }
        +        }
        +    }
        +
        +    function class_static_block() {
        +        if (!is("punc", "{")) {
        +            return null;
        +        }
        +
        +        const start = S.token;
        +        const body = [];
        +
        +        next();
        +
        +        while (!is("punc", "}")) {
        +            body.push(statement());
        +        }
        +
        +        next();
        +
        +        return new AST_ClassStaticBlock({ start, body, end: prev() });
        +    }
        +
        +    function maybe_import_attributes() {
        +        if (
        +            (is("keyword", "with") || is("name", "assert"))
        +            && !has_newline_before(S.token)
        +        ) {
        +            next();
        +            return object_or_destructuring_();
        +        }
        +        return null;
        +    }
        +
        +    function import_statement() {
        +        var start = prev();
        +
        +        var imported_name;
        +        var imported_names;
        +        if (is("name")) {
        +            imported_name = as_symbol(AST_SymbolImport);
        +        }
        +
        +        if (is("punc", ",")) {
        +            next();
        +        }
        +
        +        imported_names = map_names(true);
        +
        +        if (imported_names || imported_name) {
        +            expect_token("name", "from");
        +        }
        +        var mod_str = S.token;
        +        if (mod_str.type !== "string") {
        +            unexpected();
        +        }
        +        next();
        +
        +        const attributes = maybe_import_attributes();
        +
        +        return new AST_Import({
        +            start,
        +            imported_name,
        +            imported_names,
        +            module_name: new AST_String({
        +                start: mod_str,
        +                value: mod_str.value,
        +                quote: mod_str.quote,
        +                end: mod_str,
        +            }),
        +            attributes,
        +            end: S.token,
        +        });
        +    }
        +
        +    function import_meta(allow_calls) {
        +        var start = S.token;
        +        expect_token("name", "import");
        +        expect_token("punc", ".");
        +        expect_token("name", "meta");
        +        return subscripts(new AST_ImportMeta({
        +            start: start,
        +            end: prev()
        +        }), allow_calls);
        +    }
        +
        +    function map_name(is_import) {
        +        function make_symbol(type, quote) {
        +            return new type({
        +                name: as_property_name(),
        +                quote: quote || undefined,
        +                start: prev(),
        +                end: prev()
        +            });
        +        }
        +
        +        var foreign_type = is_import ? AST_SymbolImportForeign : AST_SymbolExportForeign;
        +        var type = is_import ? AST_SymbolImport : AST_SymbolExport;
        +        var start = S.token;
        +        var foreign_name;
        +        var name;
        +
        +        if (is_import) {
        +            foreign_name = make_symbol(foreign_type, start.quote);
        +        } else {
        +            name = make_symbol(type, start.quote);
        +        }
        +        if (is("name", "as")) {
        +            next();  // The "as" word
        +            if (is_import) {
        +                name = make_symbol(type);
        +            } else {
        +                foreign_name = make_symbol(foreign_type, S.token.quote);
        +            }
        +        } else {
        +            if (is_import) {
        +                name = new type(foreign_name);
        +            } else {
        +                foreign_name = new foreign_type(name);
        +            }
        +        }
        +
        +        return new AST_NameMapping({
        +            start: start,
        +            foreign_name: foreign_name,
        +            name: name,
        +            end: prev(),
        +        });
        +    }
        +
        +    function map_nameAsterisk(is_import, import_or_export_foreign_name) {
        +        var foreign_type = is_import ? AST_SymbolImportForeign : AST_SymbolExportForeign;
        +        var type = is_import ? AST_SymbolImport : AST_SymbolExport;
        +        var start = S.token;
        +        var name, foreign_name;
        +        var end = prev();
        +
        +        if (is_import) {
        +            name = import_or_export_foreign_name;
        +        } else {
        +            foreign_name = import_or_export_foreign_name;
        +        }
        +
        +        name = name || new type({
        +            start: start,
        +            name: "*",
        +            end: end,
        +        });
        +
        +        foreign_name = foreign_name || new foreign_type({
        +            start: start,
        +            name: "*",
        +            end: end,
        +        });
        +
        +        return new AST_NameMapping({
        +            start: start,
        +            foreign_name: foreign_name,
        +            name: name,
        +            end: end,
        +        });
        +    }
        +
        +    function map_names(is_import) {
        +        var names;
        +        if (is("punc", "{")) {
        +            next();
        +            names = [];
        +            while (!is("punc", "}")) {
        +                names.push(map_name(is_import));
        +                if (is("punc", ",")) {
        +                    next();
        +                }
        +            }
        +            next();
        +        } else if (is("operator", "*")) {
        +            var name;
        +            next();
        +            if (is("name", "as")) {
        +                next();  // The "as" word
        +                name = is_import ? as_symbol(AST_SymbolImport) : as_symbol_or_string(AST_SymbolExportForeign);
        +            }
        +            names = [map_nameAsterisk(is_import, name)];
        +        }
        +        return names;
        +    }
        +
        +    function export_statement() {
        +        var start = S.token;
        +        var is_default;
        +        var exported_names;
        +
        +        if (is("keyword", "default")) {
        +            is_default = true;
        +            next();
        +        } else if (exported_names = map_names(false)) {
        +            if (is("name", "from")) {
        +                next();
        +
        +                var mod_str = S.token;
        +                if (mod_str.type !== "string") {
        +                    unexpected();
        +                }
        +                next();
        +
        +                const attributes = maybe_import_attributes();
        +
        +                return new AST_Export({
        +                    start: start,
        +                    is_default: is_default,
        +                    exported_names: exported_names,
        +                    module_name: new AST_String({
        +                        start: mod_str,
        +                        value: mod_str.value,
        +                        quote: mod_str.quote,
        +                        end: mod_str,
        +                    }),
        +                    end: prev(),
        +                    attributes
        +                });
        +            } else {
        +                return new AST_Export({
        +                    start: start,
        +                    is_default: is_default,
        +                    exported_names: exported_names,
        +                    end: prev(),
        +                });
        +            }
        +        }
        +
        +        var node;
        +        var exported_value;
        +        var exported_definition;
        +        if (is("punc", "{")
        +            || is_default
        +                && (is("keyword", "class") || is("keyword", "function"))
        +                && is_token(peek(), "punc")) {
        +            exported_value = expression(false);
        +            semicolon();
        +        } else if ((node = statement(is_default)) instanceof AST_Definitions && is_default) {
        +            unexpected(node.start);
        +        } else if (
        +            node instanceof AST_Definitions
        +            || node instanceof AST_Defun
        +            || node instanceof AST_DefClass
        +        ) {
        +            exported_definition = node;
        +        } else if (
        +            node instanceof AST_ClassExpression
        +            || node instanceof AST_Function
        +        ) {
        +            exported_value = node;
        +        } else if (node instanceof AST_SimpleStatement) {
        +            exported_value = node.body;
        +        } else {
        +            unexpected(node.start);
        +        }
        +
        +        return new AST_Export({
        +            start: start,
        +            is_default: is_default,
        +            exported_value: exported_value,
        +            exported_definition: exported_definition,
        +            end: prev(),
        +            attributes: null
        +        });
        +    }
        +
        +    function as_property_name() {
        +        var tmp = S.token;
        +        switch (tmp.type) {
        +          case "punc":
        +            if (tmp.value === "[") {
        +                next();
        +                var ex = expression(false);
        +                expect("]");
        +                return ex;
        +            } else unexpected(tmp);
        +          case "operator":
        +            if (tmp.value === "*") {
        +                next();
        +                return null;
        +            }
        +            if (!["delete", "in", "instanceof", "new", "typeof", "void"].includes(tmp.value)) {
        +                unexpected(tmp);
        +            }
        +            /* falls through */
        +          case "name":
        +          case "privatename":
        +          case "string":
        +          case "keyword":
        +          case "atom":
        +            next();
        +            return tmp.value;
        +          case "num":
        +          case "big_int":
        +            next();
        +            return "" + tmp.value;
        +          default:
        +            unexpected(tmp);
        +        }
        +    }
        +
        +    function as_name() {
        +        var tmp = S.token;
        +        if (tmp.type != "name" && tmp.type != "privatename") unexpected();
        +        next();
        +        return tmp.value;
        +    }
        +
        +    function _make_symbol(type) {
        +        var name = S.token.value;
        +        return new (name == "this" ? AST_This :
        +                    name == "super" ? AST_Super :
        +                    type)({
        +            name  : String(name),
        +            start : S.token,
        +            end   : S.token
        +        });
        +    }
        +
        +    function _verify_symbol(sym) {
        +        var name = sym.name;
        +        if (is_in_generator() && name == "yield") {
        +            token_error(sym.start, "Yield cannot be used as identifier inside generators");
        +        }
        +        if (S.input.has_directive("use strict")) {
        +            if (name == "yield") {
        +                token_error(sym.start, "Unexpected yield identifier inside strict mode");
        +            }
        +            if (sym instanceof AST_SymbolDeclaration && (name == "arguments" || name == "eval")) {
        +                token_error(sym.start, "Unexpected " + name + " in strict mode");
        +            }
        +        }
        +    }
        +
        +    function as_symbol(type, noerror) {
        +        if (!is("name")) {
        +            if (!noerror) croak("Name expected");
        +            return null;
        +        }
        +        var sym = _make_symbol(type);
        +        _verify_symbol(sym);
        +        next();
        +        return sym;
        +    }
        +
        +    function as_symbol_or_string(type) {
        +        if (!is("name")) {
        +            if (!is("string")) {
        +                croak("Name or string expected");
        +            }
        +            var tok = S.token;
        +            var ret = new type({
        +                start : tok,
        +                end   : tok,
        +                name : tok.value,
        +                quote : tok.quote
        +            });
        +            next();
        +            return ret;
        +        }
        +        var sym = _make_symbol(type);
        +        _verify_symbol(sym);
        +        next();
        +        return sym;
        +    }
        +
        +    // Annotate AST_Call, AST_Lambda or AST_New with the special comments
        +    function annotate(node, before_token = node.start) {
        +        var comments = before_token.comments_before;
        +        const comments_outside_parens = outer_comments_before_counts.get(before_token);
        +        var i = comments_outside_parens != null ? comments_outside_parens : comments.length;
        +        while (--i >= 0) {
        +            var comment = comments[i];
        +            if (/[@#]__/.test(comment.value)) {
        +                if (/[@#]__PURE__/.test(comment.value)) {
        +                    set_annotation(node, _PURE);
        +                    break;
        +                }
        +                if (/[@#]__INLINE__/.test(comment.value)) {
        +                    set_annotation(node, _INLINE);
        +                    break;
        +                }
        +                if (/[@#]__NOINLINE__/.test(comment.value)) {
        +                    set_annotation(node, _NOINLINE);
        +                    break;
        +                }
        +                if (/[@#]__KEY__/.test(comment.value)) {
        +                    set_annotation(node, _KEY);
        +                    break;
        +                }
        +                if (/[@#]__MANGLE_PROP__/.test(comment.value)) {
        +                    set_annotation(node, _MANGLEPROP);
        +                    break;
        +                }
        +            }
        +        }
        +        return node;
        +    }
        +
        +    var subscripts = function(expr, allow_calls, is_chain) {
        +        var start = expr.start;
        +        if (is("punc", ".")) {
        +            next();
        +            if(is("privatename") && !S.in_class) 
        +                croak("Private field must be used in an enclosing class");
        +            const AST_DotVariant = is("privatename") ? AST_DotHash : AST_Dot;
        +            return annotate(subscripts(new AST_DotVariant({
        +                start      : start,
        +                expression : expr,
        +                optional   : false,
        +                property   : as_name(),
        +                end        : prev()
        +            }), allow_calls, is_chain));
        +        }
        +        if (is("punc", "[")) {
        +            next();
        +            var prop = expression(true);
        +            expect("]");
        +            return annotate(subscripts(new AST_Sub({
        +                start      : start,
        +                expression : expr,
        +                optional   : false,
        +                property   : prop,
        +                end        : prev()
        +            }), allow_calls, is_chain));
        +        }
        +        if (allow_calls && is("punc", "(")) {
        +            next();
        +            var call = new AST_Call({
        +                start      : start,
        +                expression : expr,
        +                optional   : false,
        +                args       : call_args(),
        +                end        : prev()
        +            });
        +            annotate(call);
        +            return subscripts(call, true, is_chain);
        +        }
        +
        +        // Optional chain
        +        if (is("punc", "?.")) {
        +            next();
        +
        +            let chain_contents;
        +
        +            if (allow_calls && is("punc", "(")) {
        +                next();
        +
        +                const call = new AST_Call({
        +                    start,
        +                    optional: true,
        +                    expression: expr,
        +                    args: call_args(),
        +                    end: prev()
        +                });
        +                annotate(call);
        +
        +                chain_contents = subscripts(call, true, true);
        +            } else if (is("name") || is("privatename")) {
        +                if(is("privatename") && !S.in_class) 
        +                    croak("Private field must be used in an enclosing class");
        +                const AST_DotVariant = is("privatename") ? AST_DotHash : AST_Dot;
        +                chain_contents = annotate(subscripts(new AST_DotVariant({
        +                    start,
        +                    expression: expr,
        +                    optional: true,
        +                    property: as_name(),
        +                    end: prev()
        +                }), allow_calls, true));
        +            } else if (is("punc", "[")) {
        +                next();
        +                const property = expression(true);
        +                expect("]");
        +                chain_contents = annotate(subscripts(new AST_Sub({
        +                    start,
        +                    expression: expr,
        +                    optional: true,
        +                    property,
        +                    end: prev()
        +                }), allow_calls, true));
        +            }
        +
        +            if (!chain_contents) unexpected();
        +
        +            if (chain_contents instanceof AST_Chain) return chain_contents;
        +
        +            return new AST_Chain({
        +                start,
        +                expression: chain_contents,
        +                end: prev()
        +            });
        +        }
        +
        +        if (is("template_head")) {
        +            if (is_chain) {
        +                // a?.b`c` is a syntax error
        +                unexpected();
        +            }
        +
        +            return subscripts(new AST_PrefixedTemplateString({
        +                start: start,
        +                prefix: expr,
        +                template_string: template_string(),
        +                end: prev()
        +            }), allow_calls);
        +        }
        +        return expr;
        +    };
        +
        +    function call_args() {
        +        var args = [];
        +        while (!is("punc", ")")) {
        +            if (is("expand", "...")) {
        +                next();
        +                args.push(new AST_Expansion({
        +                    start: prev(),
        +                    expression: expression(false),
        +                    end: prev()
        +                }));
        +            } else {
        +                args.push(expression(false));
        +            }
        +            if (!is("punc", ")")) {
        +                expect(",");
        +            }
        +        }
        +        next();
        +        return args;
        +    }
        +
        +    var maybe_unary = function(allow_calls, allow_arrows) {
        +        var start = S.token;
        +        if (start.type == "name" && start.value == "await" && can_await()) {
        +            next();
        +            return _await_expression();
        +        }
        +        if (is("operator") && UNARY_PREFIX.has(start.value)) {
        +            next();
        +            handle_regexp();
        +            var ex = make_unary(AST_UnaryPrefix, start, maybe_unary(allow_calls));
        +            ex.start = start;
        +            ex.end = prev();
        +            return ex;
        +        }
        +        var val = expr_atom(allow_calls, allow_arrows);
        +        while (is("operator") && UNARY_POSTFIX.has(S.token.value) && !has_newline_before(S.token)) {
        +            if (val instanceof AST_Arrow) unexpected();
        +            val = make_unary(AST_UnaryPostfix, S.token, val);
        +            val.start = start;
        +            val.end = S.token;
        +            next();
        +        }
        +        return val;
        +    };
        +
        +    function make_unary(ctor, token, expr) {
        +        var op = token.value;
        +        switch (op) {
        +          case "++":
        +          case "--":
        +            if (!is_assignable(expr))
        +                croak("Invalid use of " + op + " operator", token.line, token.col, token.pos);
        +            break;
        +          case "delete":
        +            if (expr instanceof AST_SymbolRef && S.input.has_directive("use strict"))
        +                croak("Calling delete on expression not allowed in strict mode", expr.start.line, expr.start.col, expr.start.pos);
        +            break;
        +        }
        +        return new ctor({ operator: op, expression: expr });
        +    }
        +
        +    var expr_op = function(left, min_prec, no_in) {
        +        var op = is("operator") ? S.token.value : null;
        +        if (op == "in" && no_in) op = null;
        +        if (op == "**" && left instanceof AST_UnaryPrefix
        +            /* unary token in front not allowed - parenthesis required */
        +            && !is_token(left.start, "punc", "(")
        +            && left.operator !== "--" && left.operator !== "++")
        +                unexpected(left.start);
        +        var prec = op != null ? PRECEDENCE[op] : null;
        +        if (prec != null && (prec > min_prec || (op === "**" && min_prec === prec))) {
        +            next();
        +            var right = expr_ops(no_in, prec, true);
        +            return expr_op(new AST_Binary({
        +                start    : left.start,
        +                left     : left,
        +                operator : op,
        +                right    : right,
        +                end      : right.end
        +            }), min_prec, no_in);
        +        }
        +        return left;
        +    };
        +
        +    function expr_ops(no_in, min_prec, allow_calls, allow_arrows) {
        +        // maybe_unary won't return us a AST_SymbolPrivateProperty
        +        if (!no_in && min_prec < PRECEDENCE["in"] && is("privatename")) {
        +            if(!S.in_class) {
        +                croak("Private field must be used in an enclosing class");
        +            }
        +
        +            const start = S.token;
        +            const key = new AST_SymbolPrivateProperty({
        +                start,
        +                name: start.value,
        +                end: start
        +            });
        +            next();
        +            expect_token("operator", "in");
        +
        +            const private_in = new AST_PrivateIn({
        +                start,
        +                key,
        +                value: expr_ops(no_in, PRECEDENCE["in"], true),
        +                end: prev()
        +            });
        +
        +            return expr_op(private_in, 0, no_in);
        +        } else {
        +            return expr_op(maybe_unary(allow_calls, allow_arrows), min_prec, no_in);
        +        }
        +    }
        +
        +    var maybe_conditional = function(no_in) {
        +        var start = S.token;
        +        var expr = expr_ops(no_in, 0, true, true);
        +        if (is("operator", "?")) {
        +            next();
        +            var yes = expression(false);
        +            expect(":");
        +            return new AST_Conditional({
        +                start       : start,
        +                condition   : expr,
        +                consequent  : yes,
        +                alternative : expression(false, no_in),
        +                end         : prev()
        +            });
        +        }
        +        return expr;
        +    };
        +
        +    function is_assignable(expr) {
        +        return expr instanceof AST_PropAccess || expr instanceof AST_SymbolRef;
        +    }
        +
        +    function to_destructuring(node) {
        +        if (node instanceof AST_Object) {
        +            node = new AST_Destructuring({
        +                start: node.start,
        +                names: node.properties.map(to_destructuring),
        +                is_array: false,
        +                end: node.end
        +            });
        +        } else if (node instanceof AST_Array) {
        +            var names = [];
        +
        +            for (var i = 0; i < node.elements.length; i++) {
        +                // Only allow expansion as last element
        +                if (node.elements[i] instanceof AST_Expansion) {
        +                    if (i + 1 !== node.elements.length) {
        +                        token_error(node.elements[i].start, "Spread must the be last element in destructuring array");
        +                    }
        +                    node.elements[i].expression = to_destructuring(node.elements[i].expression);
        +                }
        +
        +                names.push(to_destructuring(node.elements[i]));
        +            }
        +
        +            node = new AST_Destructuring({
        +                start: node.start,
        +                names: names,
        +                is_array: true,
        +                end: node.end
        +            });
        +        } else if (node instanceof AST_ObjectProperty) {
        +            node.value = to_destructuring(node.value);
        +        } else if (node instanceof AST_Assign) {
        +            node = new AST_DefaultAssign({
        +                start: node.start,
        +                left: node.left,
        +                operator: "=",
        +                right: node.right,
        +                end: node.end
        +            });
        +        }
        +        return node;
        +    }
        +
        +    // In ES6, AssignmentExpression can also be an ArrowFunction
        +    var maybe_assign = function(no_in) {
        +        handle_regexp();
        +        var start = S.token;
        +
        +        if (start.type == "name" && start.value == "yield") {
        +            if (is_in_generator()) {
        +                next();
        +                return _yield_expression();
        +            } else if (S.input.has_directive("use strict")) {
        +                token_error(S.token, "Unexpected yield identifier inside strict mode");
        +            }
        +        }
        +
        +        var left = maybe_conditional(no_in);
        +        var val = S.token.value;
        +
        +        if (is("operator") && ASSIGNMENT.has(val)) {
        +            if (is_assignable(left) || (left = to_destructuring(left)) instanceof AST_Destructuring) {
        +                next();
        +
        +                return new AST_Assign({
        +                    start    : start,
        +                    left     : left,
        +                    operator : val,
        +                    right    : maybe_assign(no_in),
        +                    logical  : LOGICAL_ASSIGNMENT.has(val),
        +                    end      : prev()
        +                });
        +            }
        +            croak("Invalid assignment");
        +        }
        +        return left;
        +    };
        +
        +    var to_expr_or_sequence = function(start, exprs) {
        +        if (exprs.length === 1) {
        +            return exprs[0];
        +        } else if (exprs.length > 1) {
        +            return new AST_Sequence({ start, expressions: exprs, end: peek() });
        +        } else {
        +            croak("Invalid parenthesized expression");
        +        }
        +    };
        +
        +    var expression = function(commas, no_in) {
        +        var start = S.token;
        +        var exprs = [];
        +        while (true) {
        +            exprs.push(maybe_assign(no_in));
        +            if (!commas || !is("punc", ",")) break;
        +            next();
        +            commas = true;
        +        }
        +        return to_expr_or_sequence(start, exprs);
        +    };
        +
        +    function in_loop(cont) {
        +        ++S.in_loop;
        +        var ret = cont();
        +        --S.in_loop;
        +        return ret;
        +    }
        +
        +    if (options.expression) {
        +        return expression(true);
        +    }
        +
        +    return (function parse_toplevel() {
        +        var start = S.token;
        +        var body = [];
        +        S.input.push_directives_stack();
        +        if (options.module) S.input.add_directive("use strict");
        +        while (!is("eof")) {
        +            body.push(statement());
        +        }
        +        S.input.pop_directives_stack();
        +        var end = prev();
        +        var toplevel = options.toplevel;
        +        if (toplevel) {
        +            toplevel.body = toplevel.body.concat(body);
        +            toplevel.end = end;
        +        } else {
        +            toplevel = new AST_Toplevel({ start: start, body: body, end: end });
        +        }
        +        TEMPLATE_RAWS = new Map();
        +        return toplevel;
        +    })();
        +
        +}
        +
        +
        +
        +;// ./node_modules/terser/lib/ast.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +function DEFNODE(type, props, ctor, methods, base = AST_Node) {
        +    if (!props) props = [];
        +    else props = props.split(/\s+/);
        +    var self_props = props;
        +    if (base && base.PROPS)
        +        props = props.concat(base.PROPS);
        +    const proto = base && Object.create(base.prototype);
        +    if (proto) {
        +        ctor.prototype = proto;
        +        ctor.BASE = base;
        +    }
        +    if (base) base.SUBCLASSES.push(ctor);
        +    ctor.prototype.CTOR = ctor;
        +    ctor.prototype.constructor = ctor;
        +    ctor.PROPS = props || null;
        +    ctor.SELF_PROPS = self_props;
        +    ctor.SUBCLASSES = [];
        +    if (type) {
        +        ctor.prototype.TYPE = ctor.TYPE = type;
        +    }
        +    if (methods) for (let i in methods) if (HOP(methods, i)) {
        +        if (i[0] === "$") {
        +            ctor[i.substr(1)] = methods[i];
        +        } else {
        +            ctor.prototype[i] = methods[i];
        +        }
        +    }
        +    ctor.DEFMETHOD = function(name, method) {
        +        this.prototype[name] = method;
        +    };
        +    return ctor;
        +}
        +
        +const has_tok_flag = (tok, flag) => Boolean(tok.flags & flag);
        +const set_tok_flag = (tok, flag, truth) => {
        +    if (truth) {
        +        tok.flags |= flag;
        +    } else {
        +        tok.flags &= ~flag;
        +    }
        +};
        +
        +const TOK_FLAG_NLB          = 0b0001;
        +const TOK_FLAG_QUOTE_SINGLE = 0b0010;
        +const TOK_FLAG_QUOTE_EXISTS = 0b0100;
        +const TOK_FLAG_TEMPLATE_END = 0b1000;
        +
        +class AST_Token {
        +    constructor(type, value, line, col, pos, nlb, comments_before, comments_after, file) {
        +        this.flags = (nlb ? 1 : 0);
        +
        +        this.type = type;
        +        this.value = value;
        +        this.line = line;
        +        this.col = col;
        +        this.pos = pos;
        +        this.comments_before = comments_before;
        +        this.comments_after = comments_after;
        +        this.file = file;
        +
        +        Object.seal(this);
        +    }
        +
        +    // Return a string summary of the token for node.js console.log
        +    [Symbol.for("nodejs.util.inspect.custom")](_depth, options) {
        +        const special = str => options.stylize(str, "special");
        +        const quote = typeof this.value === "string" && this.value.includes("`") ? "'" : "`";
        +        const value = `${quote}${this.value}${quote}`;
        +        return `${special("[AST_Token")} ${value} at ${this.line}:${this.col}${special("]")}`;
        +    }
        +
        +    get nlb() {
        +        return has_tok_flag(this, TOK_FLAG_NLB);
        +    }
        +
        +    set nlb(new_nlb) {
        +        set_tok_flag(this, TOK_FLAG_NLB, new_nlb);
        +    }
        +
        +    get quote() {
        +        return !has_tok_flag(this, TOK_FLAG_QUOTE_EXISTS)
        +            ? ""
        +            : (has_tok_flag(this, TOK_FLAG_QUOTE_SINGLE) ? "'" : '"');
        +    }
        +
        +    set quote(quote_type) {
        +        set_tok_flag(this, TOK_FLAG_QUOTE_SINGLE, quote_type === "'");
        +        set_tok_flag(this, TOK_FLAG_QUOTE_EXISTS, !!quote_type);
        +    }
        +
        +    get template_end() {
        +        return has_tok_flag(this, TOK_FLAG_TEMPLATE_END);
        +    }
        +
        +    set template_end(new_template_end) {
        +        set_tok_flag(this, TOK_FLAG_TEMPLATE_END, new_template_end);
        +    }
        +}
        +
        +var AST_Node = DEFNODE("Node", "start end", function AST_Node(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    _clone: function(deep) {
        +        if (deep) {
        +            var self = this.clone();
        +            return self.transform(new TreeTransformer(function(node) {
        +                if (node !== self) {
        +                    return node.clone(true);
        +                }
        +            }));
        +        }
        +        return new this.CTOR(this);
        +    },
        +    clone: function(deep) {
        +        return this._clone(deep);
        +    },
        +    $documentation: "Base class of all AST nodes",
        +    $propdoc: {
        +        start: "[AST_Token] The first token of this node",
        +        end: "[AST_Token] The last token of this node"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this);
        +    },
        +    walk: function(visitor) {
        +        return this._walk(visitor); // not sure the indirection will be any help
        +    },
        +    _children_backwards: () => {}
        +}, null);
        +
        +/* -----[ statements ]----- */
        +
        +var AST_Statement = DEFNODE("Statement", null, function AST_Statement(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class of all statements",
        +});
        +
        +var AST_Debugger = DEFNODE("Debugger", null, function AST_Debugger(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Represents a debugger statement",
        +}, AST_Statement);
        +
        +var AST_Directive = DEFNODE("Directive", "value quote", function AST_Directive(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.quote = props.quote;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Represents a directive, like \"use strict\";",
        +    $propdoc: {
        +        value: "[string] The value of this directive as a plain string (it's not an AST_String!)",
        +        quote: "[string] the original quote character"
        +    },
        +}, AST_Statement);
        +
        +var AST_SimpleStatement = DEFNODE("SimpleStatement", "body", function AST_SimpleStatement(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A statement consisting of an expression, i.e. a = 1 + 2",
        +    $propdoc: {
        +        body: "[AST_Node] an expression node (should not be instanceof AST_Statement)"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.body._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.body);
        +    }
        +}, AST_Statement);
        +
        +function walk_body(node, visitor) {
        +    const body = node.body;
        +    for (var i = 0, len = body.length; i < len; i++) {
        +        body[i]._walk(visitor);
        +    }
        +}
        +
        +function clone_block_scope(deep) {
        +    var clone = this._clone(deep);
        +    if (this.block_scope) {
        +        clone.block_scope = this.block_scope.clone();
        +    }
        +    return clone;
        +}
        +
        +var AST_Block = DEFNODE("Block", "body block_scope", function AST_Block(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A body of statements (usually braced)",
        +    $propdoc: {
        +        body: "[AST_Statement*] an array of statements",
        +        block_scope: "[AST_Scope] the block scope"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            walk_body(this, visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.body.length;
        +        while (i--) push(this.body[i]);
        +    },
        +    clone: clone_block_scope
        +}, AST_Statement);
        +
        +var AST_BlockStatement = DEFNODE("BlockStatement", null, function AST_BlockStatement(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A block statement",
        +}, AST_Block);
        +
        +var AST_EmptyStatement = DEFNODE("EmptyStatement", null, function AST_EmptyStatement(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The empty statement (empty block or simply a semicolon)"
        +}, AST_Statement);
        +
        +var AST_StatementWithBody = DEFNODE("StatementWithBody", "body", function AST_StatementWithBody(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for all statements that contain one nested body: `For`, `ForIn`, `Do`, `While`, `With`",
        +    $propdoc: {
        +        body: "[AST_Statement] the body; this should always be present, even if it's an AST_EmptyStatement"
        +    }
        +}, AST_Statement);
        +
        +var AST_LabeledStatement = DEFNODE("LabeledStatement", "label", function AST_LabeledStatement(props) {
        +    if (props) {
        +        this.label = props.label;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Statement with a label",
        +    $propdoc: {
        +        label: "[AST_Label] a label definition"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.label._walk(visitor);
        +            this.body._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.body);
        +        push(this.label);
        +    },
        +    clone: function(deep) {
        +        var node = this._clone(deep);
        +        if (deep) {
        +            var label = node.label;
        +            var def = this.label;
        +            node.walk(new TreeWalker(function(node) {
        +                if (node instanceof AST_LoopControl
        +                    && node.label && node.label.thedef === def) {
        +                    node.label.thedef = label;
        +                    label.references.push(node);
        +                }
        +            }));
        +        }
        +        return node;
        +    }
        +}, AST_StatementWithBody);
        +
        +var AST_IterationStatement = DEFNODE(
        +    "IterationStatement",
        +    "block_scope",
        +    function AST_IterationStatement(props) {
        +        if (props) {
        +            this.block_scope = props.block_scope;
        +            this.body = props.body;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "Internal class.  All loops inherit from it.",
        +        $propdoc: {
        +            block_scope: "[AST_Scope] the block scope for this iteration statement."
        +        },
        +        clone: clone_block_scope
        +    },
        +    AST_StatementWithBody
        +);
        +
        +var AST_DWLoop = DEFNODE("DWLoop", "condition", function AST_DWLoop(props) {
        +    if (props) {
        +        this.condition = props.condition;
        +        this.block_scope = props.block_scope;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for do/while statements",
        +    $propdoc: {
        +        condition: "[AST_Node] the loop condition.  Should not be instanceof AST_Statement"
        +    }
        +}, AST_IterationStatement);
        +
        +var AST_Do = DEFNODE("Do", null, function AST_Do(props) {
        +    if (props) {
        +        this.condition = props.condition;
        +        this.block_scope = props.block_scope;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `do` statement",
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.body._walk(visitor);
        +            this.condition._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.condition);
        +        push(this.body);
        +    }
        +}, AST_DWLoop);
        +
        +var AST_While = DEFNODE("While", null, function AST_While(props) {
        +    if (props) {
        +        this.condition = props.condition;
        +        this.block_scope = props.block_scope;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `while` statement",
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.condition._walk(visitor);
        +            this.body._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.body);
        +        push(this.condition);
        +    },
        +}, AST_DWLoop);
        +
        +var AST_For = DEFNODE("For", "init condition step", function AST_For(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.condition = props.condition;
        +        this.step = props.step;
        +        this.block_scope = props.block_scope;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `for` statement",
        +    $propdoc: {
        +        init: "[AST_Node?] the `for` initialization code, or null if empty",
        +        condition: "[AST_Node?] the `for` termination clause, or null if empty",
        +        step: "[AST_Node?] the `for` update clause, or null if empty"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            if (this.init) this.init._walk(visitor);
        +            if (this.condition) this.condition._walk(visitor);
        +            if (this.step) this.step._walk(visitor);
        +            this.body._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.body);
        +        if (this.step) push(this.step);
        +        if (this.condition) push(this.condition);
        +        if (this.init) push(this.init);
        +    },
        +}, AST_IterationStatement);
        +
        +var AST_ForIn = DEFNODE("ForIn", "init object", function AST_ForIn(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.object = props.object;
        +        this.block_scope = props.block_scope;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `for ... in` statement",
        +    $propdoc: {
        +        init: "[AST_Node] the `for/in` initialization code",
        +        object: "[AST_Node] the object that we're looping through"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.init._walk(visitor);
        +            this.object._walk(visitor);
        +            this.body._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.body);
        +        if (this.object) push(this.object);
        +        if (this.init) push(this.init);
        +    },
        +}, AST_IterationStatement);
        +
        +var AST_ForOf = DEFNODE("ForOf", "await", function AST_ForOf(props) {
        +    if (props) {
        +        this.await = props.await;
        +        this.init = props.init;
        +        this.object = props.object;
        +        this.block_scope = props.block_scope;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `for ... of` statement",
        +}, AST_ForIn);
        +
        +var AST_With = DEFNODE("With", "expression", function AST_With(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `with` statement",
        +    $propdoc: {
        +        expression: "[AST_Node] the `with` expression"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +            this.body._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.body);
        +        push(this.expression);
        +    },
        +}, AST_StatementWithBody);
        +
        +/* -----[ scope and functions ]----- */
        +
        +var AST_Scope = DEFNODE(
        +    "Scope",
        +    "variables uses_with uses_eval parent_scope enclosed cname",
        +    function AST_Scope(props) {
        +        if (props) {
        +            this.variables = props.variables;
        +            this.uses_with = props.uses_with;
        +            this.uses_eval = props.uses_eval;
        +            this.parent_scope = props.parent_scope;
        +            this.enclosed = props.enclosed;
        +            this.cname = props.cname;
        +            this.body = props.body;
        +            this.block_scope = props.block_scope;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "Base class for all statements introducing a lexical scope",
        +        $propdoc: {
        +            variables: "[Map/S] a map of name -> SymbolDef for all variables/functions defined in this scope",
        +            uses_with: "[boolean/S] tells whether this scope uses the `with` statement",
        +            uses_eval: "[boolean/S] tells whether this scope contains a direct call to the global `eval`",
        +            parent_scope: "[AST_Scope?/S] link to the parent scope",
        +            enclosed: "[SymbolDef*/S] a list of all symbol definitions that are accessed from this scope or any subscopes",
        +            cname: "[integer/S] current index for mangling variables (used internally by the mangler)",
        +        },
        +        get_defun_scope: function() {
        +            var self = this;
        +            while (self.is_block_scope()) {
        +                self = self.parent_scope;
        +            }
        +            return self;
        +        },
        +        clone: function(deep, toplevel) {
        +            var node = this._clone(deep);
        +            if (deep && this.variables && toplevel && !this._block_scope) {
        +                node.figure_out_scope({}, {
        +                    toplevel: toplevel,
        +                    parent_scope: this.parent_scope
        +                });
        +            } else {
        +                if (this.variables) node.variables = new Map(this.variables);
        +                if (this.enclosed) node.enclosed = this.enclosed.slice();
        +                if (this._block_scope) node._block_scope = this._block_scope;
        +            }
        +            return node;
        +        },
        +        pinned: function() {
        +            return this.uses_eval || this.uses_with;
        +        }
        +    },
        +    AST_Block
        +);
        +
        +var AST_Toplevel = DEFNODE("Toplevel", "globals", function AST_Toplevel(props) {
        +    if (props) {
        +        this.globals = props.globals;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The toplevel scope",
        +    $propdoc: {
        +        globals: "[Map/S] a map of name -> SymbolDef for all undeclared names",
        +    },
        +    wrap_commonjs: function(name) {
        +        var body = this.body;
        +        var wrapped_tl = "(function(exports){'$ORIG';})(typeof " + name + "=='undefined'?(" + name + "={}):" + name + ");";
        +        wrapped_tl = lib_parse_parse(wrapped_tl);
        +        wrapped_tl = wrapped_tl.transform(new TreeTransformer(function(node) {
        +            if (node instanceof AST_Directive && node.value == "$ORIG") {
        +                return MAP.splice(body);
        +            }
        +        }));
        +        return wrapped_tl;
        +    },
        +    wrap_enclose: function(args_values) {
        +        if (typeof args_values != "string") args_values = "";
        +        var index = args_values.indexOf(":");
        +        if (index < 0) index = args_values.length;
        +        var body = this.body;
        +        return lib_parse_parse([
        +            "(function(",
        +            args_values.slice(0, index),
        +            '){"$ORIG"})(',
        +            args_values.slice(index + 1),
        +            ")"
        +        ].join("")).transform(new TreeTransformer(function(node) {
        +            if (node instanceof AST_Directive && node.value == "$ORIG") {
        +                return MAP.splice(body);
        +            }
        +        }));
        +    }
        +}, AST_Scope);
        +
        +var AST_Expansion = DEFNODE("Expansion", "expression", function AST_Expansion(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An expandible argument, such as ...rest, a splat, such as [1,2,...all], or an expansion in a variable declaration, such as var [first, ...rest] = list",
        +    $propdoc: {
        +        expression: "[AST_Node] the thing to be expanded"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression.walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.expression);
        +    },
        +});
        +
        +var AST_Lambda = DEFNODE(
        +    "Lambda",
        +    "name argnames uses_arguments is_generator async",
        +    function AST_Lambda(props) {
        +        if (props) {
        +            this.name = props.name;
        +            this.argnames = props.argnames;
        +            this.uses_arguments = props.uses_arguments;
        +            this.is_generator = props.is_generator;
        +            this.async = props.async;
        +            this.variables = props.variables;
        +            this.uses_with = props.uses_with;
        +            this.uses_eval = props.uses_eval;
        +            this.parent_scope = props.parent_scope;
        +            this.enclosed = props.enclosed;
        +            this.cname = props.cname;
        +            this.body = props.body;
        +            this.block_scope = props.block_scope;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "Base class for functions",
        +        $propdoc: {
        +            name: "[AST_SymbolDeclaration?] the name of this function",
        +            argnames: "[AST_SymbolFunarg|AST_Destructuring|AST_Expansion|AST_DefaultAssign*] array of function arguments, destructurings, or expanding arguments",
        +            uses_arguments: "[boolean/S] tells whether this function accesses the arguments array",
        +            is_generator: "[boolean] is this a generator method",
        +            async: "[boolean] is this method async",
        +        },
        +        args_as_names: function () {
        +            var out = [];
        +            for (var i = 0; i < this.argnames.length; i++) {
        +                if (this.argnames[i] instanceof AST_Destructuring) {
        +                    out.push(...this.argnames[i].all_symbols());
        +                } else {
        +                    out.push(this.argnames[i]);
        +                }
        +            }
        +            return out;
        +        },
        +        _walk: function(visitor) {
        +            return visitor._visit(this, function() {
        +                if (this.name) this.name._walk(visitor);
        +                var argnames = this.argnames;
        +                for (var i = 0, len = argnames.length; i < len; i++) {
        +                    argnames[i]._walk(visitor);
        +                }
        +                walk_body(this, visitor);
        +            });
        +        },
        +        _children_backwards(push) {
        +            let i = this.body.length;
        +            while (i--) push(this.body[i]);
        +
        +            i = this.argnames.length;
        +            while (i--) push(this.argnames[i]);
        +
        +            if (this.name) push(this.name);
        +        },
        +        is_braceless() {
        +            return this.body[0] instanceof AST_Return && this.body[0].value;
        +        },
        +        // Default args and expansion don't count, so .argnames.length doesn't cut it
        +        length_property() {
        +            let length = 0;
        +
        +            for (const arg of this.argnames) {
        +                if (arg instanceof AST_SymbolFunarg || arg instanceof AST_Destructuring) {
        +                    length++;
        +                }
        +            }
        +
        +            return length;
        +        }
        +    },
        +    AST_Scope
        +);
        +
        +var AST_Accessor = DEFNODE("Accessor", null, function AST_Accessor(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.argnames = props.argnames;
        +        this.uses_arguments = props.uses_arguments;
        +        this.is_generator = props.is_generator;
        +        this.async = props.async;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A setter/getter function.  The `name` property is always null."
        +}, AST_Lambda);
        +
        +var AST_Function = DEFNODE("Function", null, function AST_Function(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.argnames = props.argnames;
        +        this.uses_arguments = props.uses_arguments;
        +        this.is_generator = props.is_generator;
        +        this.async = props.async;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A function expression"
        +}, AST_Lambda);
        +
        +var AST_Arrow = DEFNODE("Arrow", null, function AST_Arrow(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.argnames = props.argnames;
        +        this.uses_arguments = props.uses_arguments;
        +        this.is_generator = props.is_generator;
        +        this.async = props.async;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An ES6 Arrow function ((a) => b)"
        +}, AST_Lambda);
        +
        +var AST_Defun = DEFNODE("Defun", null, function AST_Defun(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.argnames = props.argnames;
        +        this.uses_arguments = props.uses_arguments;
        +        this.is_generator = props.is_generator;
        +        this.async = props.async;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A function definition"
        +}, AST_Lambda);
        +
        +/* -----[ DESTRUCTURING ]----- */
        +var AST_Destructuring = DEFNODE("Destructuring", "names is_array", function AST_Destructuring(props) {
        +    if (props) {
        +        this.names = props.names;
        +        this.is_array = props.is_array;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A destructuring of several names. Used in destructuring assignment and with destructuring function argument names",
        +    $propdoc: {
        +        "names": "[AST_Node*] Array of properties or elements",
        +        "is_array": "[Boolean] Whether the destructuring represents an object or array"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.names.forEach(function(name) {
        +                name._walk(visitor);
        +            });
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.names.length;
        +        while (i--) push(this.names[i]);
        +    },
        +    all_symbols: function() {
        +        var out = [];
        +        walk(this, node => {
        +            if (node instanceof AST_SymbolDeclaration) {
        +                out.push(node);
        +            }
        +            if (node instanceof AST_Lambda) {
        +                return true;
        +            }
        +        });
        +        return out;
        +    }
        +});
        +
        +var AST_PrefixedTemplateString = DEFNODE(
        +    "PrefixedTemplateString",
        +    "template_string prefix",
        +    function AST_PrefixedTemplateString(props) {
        +        if (props) {
        +            this.template_string = props.template_string;
        +            this.prefix = props.prefix;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "A templatestring with a prefix, such as String.raw`foobarbaz`",
        +        $propdoc: {
        +            template_string: "[AST_TemplateString] The template string",
        +            prefix: "[AST_Node] The prefix, which will get called."
        +        },
        +        _walk: function(visitor) {
        +            return visitor._visit(this, function () {
        +                this.prefix._walk(visitor);
        +                this.template_string._walk(visitor);
        +            });
        +        },
        +        _children_backwards(push) {
        +            push(this.template_string);
        +            push(this.prefix);
        +        },
        +    }
        +);
        +
        +var AST_TemplateString = DEFNODE("TemplateString", "segments", function AST_TemplateString(props) {
        +    if (props) {
        +        this.segments = props.segments;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A template string literal",
        +    $propdoc: {
        +        segments: "[AST_Node*] One or more segments, starting with AST_TemplateSegment. AST_Node may follow AST_TemplateSegment, but each AST_Node must be followed by AST_TemplateSegment."
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.segments.forEach(function(seg) {
        +                seg._walk(visitor);
        +            });
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.segments.length;
        +        while (i--) push(this.segments[i]);
        +    }
        +});
        +
        +var AST_TemplateSegment = DEFNODE("TemplateSegment", "value raw", function AST_TemplateSegment(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.raw = props.raw;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A segment of a template string literal",
        +    $propdoc: {
        +        value: "Content of the segment",
        +        raw: "Raw source of the segment",
        +    }
        +});
        +
        +/* -----[ JUMPS ]----- */
        +
        +var AST_Jump = DEFNODE("Jump", null, function AST_Jump(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for “jumps” (for now that's `return`, `throw`, `break` and `continue`)"
        +}, AST_Statement);
        +
        +/** Base class for “exits” (`return` and `throw`) */
        +var AST_Exit = DEFNODE("Exit", "value", function AST_Exit(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for “exits” (`return` and `throw`)",
        +    $propdoc: {
        +        value: "[AST_Node?] the value returned or thrown by this statement; could be null for AST_Return"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, this.value && function() {
        +            this.value._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.value) push(this.value);
        +    },
        +}, AST_Jump);
        +
        +var AST_Return = DEFNODE("Return", null, function AST_Return(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `return` statement"
        +}, AST_Exit);
        +
        +var AST_Throw = DEFNODE("Throw", null, function AST_Throw(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `throw` statement"
        +}, AST_Exit);
        +
        +var AST_LoopControl = DEFNODE("LoopControl", "label", function AST_LoopControl(props) {
        +    if (props) {
        +        this.label = props.label;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for loop control statements (`break` and `continue`)",
        +    $propdoc: {
        +        label: "[AST_LabelRef?] the label, or null if none",
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, this.label && function() {
        +            this.label._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.label) push(this.label);
        +    },
        +}, AST_Jump);
        +
        +var AST_Break = DEFNODE("Break", null, function AST_Break(props) {
        +    if (props) {
        +        this.label = props.label;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `break` statement"
        +}, AST_LoopControl);
        +
        +var AST_Continue = DEFNODE("Continue", null, function AST_Continue(props) {
        +    if (props) {
        +        this.label = props.label;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `continue` statement"
        +}, AST_LoopControl);
        +
        +var AST_Await = DEFNODE("Await", "expression", function AST_Await(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An `await` statement",
        +    $propdoc: {
        +        expression: "[AST_Node] the mandatory expression being awaited",
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.expression);
        +    },
        +});
        +
        +var AST_Yield = DEFNODE("Yield", "expression is_star", function AST_Yield(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.is_star = props.is_star;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `yield` statement",
        +    $propdoc: {
        +        expression: "[AST_Node?] the value returned or thrown by this statement; could be null (representing undefined) but only when is_star is set to false",
        +        is_star: "[Boolean] Whether this is a yield or yield* statement"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, this.expression && function() {
        +            this.expression._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.expression) push(this.expression);
        +    }
        +});
        +
        +/* -----[ IF ]----- */
        +
        +var AST_If = DEFNODE("If", "condition alternative", function AST_If(props) {
        +    if (props) {
        +        this.condition = props.condition;
        +        this.alternative = props.alternative;
        +        this.body = props.body;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `if` statement",
        +    $propdoc: {
        +        condition: "[AST_Node] the `if` condition",
        +        alternative: "[AST_Statement?] the `else` part, or null if not present"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.condition._walk(visitor);
        +            this.body._walk(visitor);
        +            if (this.alternative) this.alternative._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.alternative) {
        +            push(this.alternative);
        +        }
        +        push(this.body);
        +        push(this.condition);
        +    }
        +}, AST_StatementWithBody);
        +
        +/* -----[ SWITCH ]----- */
        +
        +var AST_Switch = DEFNODE("Switch", "expression", function AST_Switch(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `switch` statement",
        +    $propdoc: {
        +        expression: "[AST_Node] the `switch` “discriminant”"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +            walk_body(this, visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.body.length;
        +        while (i--) push(this.body[i]);
        +        push(this.expression);
        +    }
        +}, AST_Block);
        +
        +var AST_SwitchBranch = DEFNODE("SwitchBranch", null, function AST_SwitchBranch(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for `switch` branches",
        +}, AST_Block);
        +
        +var AST_Default = DEFNODE("Default", null, function AST_Default(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `default` switch branch",
        +}, AST_SwitchBranch);
        +
        +var AST_Case = DEFNODE("Case", "expression", function AST_Case(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `case` switch branch",
        +    $propdoc: {
        +        expression: "[AST_Node] the `case` expression"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +            walk_body(this, visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.body.length;
        +        while (i--) push(this.body[i]);
        +        push(this.expression);
        +    },
        +}, AST_SwitchBranch);
        +
        +/* -----[ EXCEPTIONS ]----- */
        +
        +var AST_Try = DEFNODE("Try", "body bcatch bfinally", function AST_Try(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.bcatch = props.bcatch;
        +        this.bfinally = props.bfinally;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `try` statement",
        +    $propdoc: {
        +        body: "[AST_TryBlock] the try block",
        +        bcatch: "[AST_Catch?] the catch block, or null if not present",
        +        bfinally: "[AST_Finally?] the finally block, or null if not present"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.body._walk(visitor);
        +            if (this.bcatch) this.bcatch._walk(visitor);
        +            if (this.bfinally) this.bfinally._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.bfinally) push(this.bfinally);
        +        if (this.bcatch) push(this.bcatch);
        +        push(this.body);
        +    },
        +}, AST_Statement);
        +
        +var AST_TryBlock = DEFNODE("TryBlock", null, function AST_TryBlock(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `try` block of a try statement"
        +}, AST_Block);
        +
        +var AST_Catch = DEFNODE("Catch", "argname", function AST_Catch(props) {
        +    if (props) {
        +        this.argname = props.argname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `catch` node; only makes sense as part of a `try` statement",
        +    $propdoc: {
        +        argname: "[AST_SymbolCatch|AST_Destructuring|AST_Expansion|AST_DefaultAssign] symbol for the exception"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            if (this.argname) this.argname._walk(visitor);
        +            walk_body(this, visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.body.length;
        +        while (i--) push(this.body[i]);
        +        if (this.argname) push(this.argname);
        +    },
        +}, AST_Block);
        +
        +var AST_Finally = DEFNODE("Finally", null, function AST_Finally(props) {
        +    if (props) {
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `finally` node; only makes sense as part of a `try` statement"
        +}, AST_Block);
        +
        +/* -----[ VAR/CONST ]----- */
        +
        +var AST_DefinitionsLike = DEFNODE("DefinitionsLike", "definitions", function AST_DefinitionsLike(props) {
        +    if (props) {
        +        this.definitions = props.definitions;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for variable definitions and `using`",
        +    $propdoc: {
        +        definitions: "[AST_VarDef*|AST_UsingDef*] array of variable definitions"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            var definitions = this.definitions;
        +            for (var i = 0, len = definitions.length; i < len; i++) {
        +                definitions[i]._walk(visitor);
        +            }
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.definitions.length;
        +        while (i--) push(this.definitions[i]);
        +    },
        +}, AST_Statement);
        +
        +var AST_Definitions = DEFNODE("Definitions", null, function AST_Definitions(props) {
        +    if (props) {
        +        this.definitions = props.definitions;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for `var` or `const` nodes (variable declarations/initializations)",
        +}, AST_DefinitionsLike);
        +
        +var AST_Var = DEFNODE("Var", null, function AST_Var(props) {
        +    if (props) {
        +        this.definitions = props.definitions;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `var` statement"
        +}, AST_Definitions);
        +
        +var AST_Let = DEFNODE("Let", null, function AST_Let(props) {
        +    if (props) {
        +        this.definitions = props.definitions;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `let` statement"
        +}, AST_Definitions);
        +
        +var AST_Const = DEFNODE("Const", null, function AST_Const(props) {
        +    if (props) {
        +        this.definitions = props.definitions;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `const` statement"
        +}, AST_Definitions);
        +
        +var AST_Using = DEFNODE("Using", "await", function AST_Using(props) {
        +    if (props) {
        +        this.await = props.await;
        +        this.definitions = props.definitions;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `using` statement",
        +    $propdoc: {
        +        await: "[boolean] Whether it's `await using`"
        +    },
        +}, AST_DefinitionsLike);
        +
        +var AST_VarDefLike = DEFNODE("VarDefLike", "name value", function AST_VarDefLike(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A name=value pair in a variable definition statement or `using`",
        +    $propdoc: {
        +        name: "[AST_Destructuring|AST_SymbolDeclaration] name of the variable",
        +        value: "[AST_Node?] initializer, or null of there's no initializer"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.name._walk(visitor);
        +            if (this.value) this.value._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.value) push(this.value);
        +        push(this.name);
        +    },
        +    declarations_as_names() {
        +        if (this.name instanceof AST_SymbolDeclaration) {
        +            return [this.name];
        +        } else {
        +            return this.name.all_symbols();
        +        }
        +    }
        +});
        +
        +var AST_VarDef = DEFNODE("VarDef", null, function AST_VarDef(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A variable declaration; only appears in a AST_Definitions node",
        +}, AST_VarDefLike);
        +
        +var AST_UsingDef = DEFNODE("UsingDef", null, function AST_UsingDef(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Like VarDef but specific to AST_Using",
        +}, AST_VarDefLike);
        +
        +var AST_NameMapping = DEFNODE("NameMapping", "foreign_name name", function AST_NameMapping(props) {
        +    if (props) {
        +        this.foreign_name = props.foreign_name;
        +        this.name = props.name;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The part of the export/import statement that declare names from a module.",
        +    $propdoc: {
        +        foreign_name: "[AST_SymbolExportForeign|AST_SymbolImportForeign] The name being exported/imported (as specified in the module)",
        +        name: "[AST_SymbolExport|AST_SymbolImport] The name as it is visible to this module."
        +    },
        +    _walk: function (visitor) {
        +        return visitor._visit(this, function() {
        +            this.foreign_name._walk(visitor);
        +            this.name._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.name);
        +        push(this.foreign_name);
        +    },
        +});
        +
        +var AST_Import = DEFNODE(
        +    "Import",
        +    "imported_name imported_names module_name attributes",
        +    function AST_Import(props) {
        +        if (props) {
        +            this.imported_name = props.imported_name;
        +            this.imported_names = props.imported_names;
        +            this.module_name = props.module_name;
        +            this.attributes = props.attributes;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "An `import` statement",
        +        $propdoc: {
        +            imported_name: "[AST_SymbolImport] The name of the variable holding the module's default export.",
        +            imported_names: "[AST_NameMapping*] The names of non-default imported variables",
        +            module_name: "[AST_String] String literal describing where this module came from",
        +            attributes: "[AST_Object?] The import attributes (with {...})"
        +        },
        +        _walk: function(visitor) {
        +            return visitor._visit(this, function() {
        +                if (this.imported_name) {
        +                    this.imported_name._walk(visitor);
        +                }
        +                if (this.imported_names) {
        +                    this.imported_names.forEach(function(name_import) {
        +                        name_import._walk(visitor);
        +                    });
        +                }
        +                this.module_name._walk(visitor);
        +            });
        +        },
        +        _children_backwards(push) {
        +            push(this.module_name);
        +            if (this.imported_names) {
        +                let i = this.imported_names.length;
        +                while (i--) push(this.imported_names[i]);
        +            }
        +            if (this.imported_name) push(this.imported_name);
        +        },
        +    }
        +);
        +
        +var AST_ImportMeta = DEFNODE("ImportMeta", null, function AST_ImportMeta(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A reference to import.meta",
        +});
        +
        +var AST_Export = DEFNODE(
        +    "Export",
        +    "exported_definition exported_value is_default exported_names module_name attributes",
        +    function AST_Export(props) {
        +        if (props) {
        +            this.exported_definition = props.exported_definition;
        +            this.exported_value = props.exported_value;
        +            this.is_default = props.is_default;
        +            this.exported_names = props.exported_names;
        +            this.module_name = props.module_name;
        +            this.attributes = props.attributes;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "An `export` statement",
        +        $propdoc: {
        +            exported_definition: "[AST_Defun|AST_Definitions|AST_DefClass?] An exported definition",
        +            exported_value: "[AST_Node?] An exported value",
        +            exported_names: "[AST_NameMapping*?] List of exported names",
        +            module_name: "[AST_String?] Name of the file to load exports from",
        +            is_default: "[Boolean] Whether this is the default exported value of this module",
        +            attributes: "[AST_Object?] The import attributes"
        +        },
        +        _walk: function (visitor) {
        +            return visitor._visit(this, function () {
        +                if (this.exported_definition) {
        +                    this.exported_definition._walk(visitor);
        +                }
        +                if (this.exported_value) {
        +                    this.exported_value._walk(visitor);
        +                }
        +                if (this.exported_names) {
        +                    this.exported_names.forEach(function(name_export) {
        +                        name_export._walk(visitor);
        +                    });
        +                }
        +                if (this.module_name) {
        +                    this.module_name._walk(visitor);
        +                }
        +            });
        +        },
        +        _children_backwards(push) {
        +            if (this.module_name) push(this.module_name);
        +            if (this.exported_names) {
        +                let i = this.exported_names.length;
        +                while (i--) push(this.exported_names[i]);
        +            }
        +            if (this.exported_value) push(this.exported_value);
        +            if (this.exported_definition) push(this.exported_definition);
        +        }
        +    },
        +    AST_Statement
        +);
        +
        +/* -----[ OTHER ]----- */
        +
        +var AST_Call = DEFNODE(
        +    "Call",
        +    "expression args optional _annotations",
        +    function AST_Call(props) {
        +        if (props) {
        +            this.expression = props.expression;
        +            this.args = props.args;
        +            this.optional = props.optional;
        +            this._annotations = props._annotations;
        +            this.start = props.start;
        +            this.end = props.end;
        +            this.initialize();
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "A function call expression",
        +        $propdoc: {
        +            expression: "[AST_Node] expression to invoke as function",
        +            args: "[AST_Node*] array of arguments",
        +            optional: "[boolean] whether this is an optional call (IE ?.() )",
        +            _annotations: "[number] bitfield containing information about the call"
        +        },
        +        initialize() {
        +            if (this._annotations == null) this._annotations = 0;
        +        },
        +        _walk(visitor) {
        +            return visitor._visit(this, function() {
        +                var args = this.args;
        +                for (var i = 0, len = args.length; i < len; i++) {
        +                    args[i]._walk(visitor);
        +                }
        +                this.expression._walk(visitor);  // TODO why do we need to crawl this last?
        +            });
        +        },
        +        _children_backwards(push) {
        +            let i = this.args.length;
        +            while (i--) push(this.args[i]);
        +            push(this.expression);
        +        },
        +    }
        +);
        +
        +var AST_New = DEFNODE("New", null, function AST_New(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.args = props.args;
        +        this.optional = props.optional;
        +        this._annotations = props._annotations;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this.initialize();
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An object instantiation.  Derives from a function call since it has exactly the same properties"
        +}, AST_Call);
        +
        +var AST_Sequence = DEFNODE("Sequence", "expressions", function AST_Sequence(props) {
        +    if (props) {
        +        this.expressions = props.expressions;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A sequence expression (comma-separated expressions)",
        +    $propdoc: {
        +        expressions: "[AST_Node*] array of expressions (at least two)"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expressions.forEach(function(node) {
        +                node._walk(visitor);
        +            });
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.expressions.length;
        +        while (i--) push(this.expressions[i]);
        +    },
        +});
        +
        +var AST_PropAccess = DEFNODE(
        +    "PropAccess",
        +    "expression property optional",
        +    function AST_PropAccess(props) {
        +        if (props) {
        +            this.expression = props.expression;
        +            this.property = props.property;
        +            this.optional = props.optional;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "Base class for property access expressions, i.e. `a.foo` or `a[\"foo\"]`",
        +        $propdoc: {
        +            expression: "[AST_Node] the “container” expression",
        +            property: "[AST_Node|string] the property to access.  For AST_Dot & AST_DotHash this is always a plain string, while for AST_Sub it's an arbitrary AST_Node",
        +
        +            optional: "[boolean] whether this is an optional property access (IE ?.)"
        +        }
        +    }
        +);
        +
        +var AST_Dot = DEFNODE("Dot", "quote", function AST_Dot(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.expression = props.expression;
        +        this.property = props.property;
        +        this.optional = props.optional;
        +        this._annotations = props._annotations;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A dotted property access expression",
        +    $propdoc: {
        +        quote: "[string] the original quote character when transformed from AST_Sub",
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.expression);
        +    },
        +}, AST_PropAccess);
        +
        +var AST_DotHash = DEFNODE("DotHash", "", function AST_DotHash(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.property = props.property;
        +        this.optional = props.optional;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A dotted property access to a private property",
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.expression);
        +    },
        +}, AST_PropAccess);
        +
        +var AST_Sub = DEFNODE("Sub", null, function AST_Sub(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.property = props.property;
        +        this.optional = props.optional;
        +        this._annotations = props._annotations;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Index-style property access, i.e. `a[\"foo\"]`",
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +            this.property._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.property);
        +        push(this.expression);
        +    },
        +}, AST_PropAccess);
        +
        +var AST_Chain = DEFNODE("Chain", "expression", function AST_Chain(props) {
        +    if (props) {
        +        this.expression = props.expression;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A chain expression like a?.b?.(c)?.[d]",
        +    $propdoc: {
        +        expression: "[AST_Call|AST_Dot|AST_DotHash|AST_Sub] chain element."
        +    },
        +    _walk: function (visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.expression);
        +    },
        +});
        +
        +var AST_Unary = DEFNODE("Unary", "operator expression", function AST_Unary(props) {
        +    if (props) {
        +        this.operator = props.operator;
        +        this.expression = props.expression;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for unary expressions",
        +    $propdoc: {
        +        operator: "[string] the operator",
        +        expression: "[AST_Node] expression that this unary operator applies to"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.expression._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.expression);
        +    },
        +});
        +
        +var AST_UnaryPrefix = DEFNODE("UnaryPrefix", null, function AST_UnaryPrefix(props) {
        +    if (props) {
        +        this.operator = props.operator;
        +        this.expression = props.expression;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Unary prefix expression, i.e. `typeof i` or `++i`"
        +}, AST_Unary);
        +
        +var AST_UnaryPostfix = DEFNODE("UnaryPostfix", null, function AST_UnaryPostfix(props) {
        +    if (props) {
        +        this.operator = props.operator;
        +        this.expression = props.expression;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Unary postfix expression, i.e. `i++`"
        +}, AST_Unary);
        +
        +var AST_Binary = DEFNODE("Binary", "operator left right", function AST_Binary(props) {
        +    if (props) {
        +        this.operator = props.operator;
        +        this.left = props.left;
        +        this.right = props.right;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Binary expression, i.e. `a + b`",
        +    $propdoc: {
        +        left: "[AST_Node] left-hand side expression",
        +        operator: "[string] the operator",
        +        right: "[AST_Node] right-hand side expression"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.left._walk(visitor);
        +            this.right._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.right);
        +        push(this.left);
        +    },
        +});
        +
        +var AST_Conditional = DEFNODE(
        +    "Conditional",
        +    "condition consequent alternative",
        +    function AST_Conditional(props) {
        +        if (props) {
        +            this.condition = props.condition;
        +            this.consequent = props.consequent;
        +            this.alternative = props.alternative;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "Conditional expression using the ternary operator, i.e. `a ? b : c`",
        +        $propdoc: {
        +            condition: "[AST_Node]",
        +            consequent: "[AST_Node]",
        +            alternative: "[AST_Node]"
        +        },
        +        _walk: function(visitor) {
        +            return visitor._visit(this, function() {
        +                this.condition._walk(visitor);
        +                this.consequent._walk(visitor);
        +                this.alternative._walk(visitor);
        +            });
        +        },
        +        _children_backwards(push) {
        +            push(this.alternative);
        +            push(this.consequent);
        +            push(this.condition);
        +        },
        +    }
        +);
        +
        +var AST_Assign = DEFNODE("Assign", "logical", function AST_Assign(props) {
        +    if (props) {
        +        this.logical = props.logical;
        +        this.operator = props.operator;
        +        this.left = props.left;
        +        this.right = props.right;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An assignment expression — `a = b + 5`",
        +    $propdoc: {
        +        logical: "Whether it's a logical assignment"
        +    }
        +}, AST_Binary);
        +
        +var AST_DefaultAssign = DEFNODE("DefaultAssign", null, function AST_DefaultAssign(props) {
        +    if (props) {
        +        this.operator = props.operator;
        +        this.left = props.left;
        +        this.right = props.right;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A default assignment expression like in `(a = 3) => a`"
        +}, AST_Binary);
        +
        +/* -----[ LITERALS ]----- */
        +
        +var AST_Array = DEFNODE("Array", "elements", function AST_Array(props) {
        +    if (props) {
        +        this.elements = props.elements;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An array literal",
        +    $propdoc: {
        +        elements: "[AST_Node*] array of elements"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            var elements = this.elements;
        +            for (var i = 0, len = elements.length; i < len; i++) {
        +                elements[i]._walk(visitor);
        +            }
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.elements.length;
        +        while (i--) push(this.elements[i]);
        +    },
        +});
        +
        +var AST_Object = DEFNODE("Object", "properties", function AST_Object(props) {
        +    if (props) {
        +        this.properties = props.properties;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An object literal",
        +    $propdoc: {
        +        properties: "[AST_ObjectProperty*] array of properties"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            var properties = this.properties;
        +            for (var i = 0, len = properties.length; i < len; i++) {
        +                properties[i]._walk(visitor);
        +            }
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.properties.length;
        +        while (i--) push(this.properties[i]);
        +    },
        +});
        +
        +/* -----[ OBJECT/CLASS PROPERTIES ]----- */
        +
        +/**
        + * Everything inside the curly braces of an object/class is a subclass of AST_ObjectProperty, except for AST_ClassStaticBlock.
        + **/
        +var AST_ObjectProperty = DEFNODE("ObjectProperty", "key value", function AST_ObjectProperty(props) {
        +    if (props) {
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this._annotations = props._annotations;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for literal object properties",
        +    $propdoc: {
        +        key: "[string|AST_Node] property name. For ObjectKeyVal this is a string. For getters, setters and computed property this is an AST_Node.",
        +        value: "[AST_Node] property value.  For getters, setters and methods this is an AST_Accessor."
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            if (this.key instanceof AST_Node)
        +                this.key._walk(visitor);
        +            this.value._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.value);
        +        if (this.key instanceof AST_Node) push(this.key);
        +    },
        +});
        +
        +var AST_ObjectKeyVal = DEFNODE("ObjectKeyVal", "quote", function AST_ObjectKeyVal(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this._annotations = props._annotations;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A key: value object property",
        +    $propdoc: {
        +        quote: "[string] the original quote character"
        +    },
        +    computed_key() {
        +        return this.key instanceof AST_Node;
        +    }
        +}, AST_ObjectProperty);
        +
        +var AST_PrivateSetter = DEFNODE("PrivateSetter", "static", function AST_PrivateSetter(props) {
        +    if (props) {
        +        this.static = props.static;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $propdoc: {
        +        static: "[boolean] whether this is a static private setter"
        +    },
        +    $documentation: "A private setter property",
        +    computed_key() {
        +        return false;
        +    }
        +}, AST_ObjectProperty);
        +
        +var AST_PrivateGetter = DEFNODE("PrivateGetter", "static", function AST_PrivateGetter(props) {
        +    if (props) {
        +        this.static = props.static;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $propdoc: {
        +        static: "[boolean] whether this is a static private getter"
        +    },
        +    $documentation: "A private getter property",
        +    computed_key() {
        +        return false;
        +    }
        +}, AST_ObjectProperty);
        +
        +var AST_ObjectSetter = DEFNODE("ObjectSetter", "quote static", function AST_ObjectSetter(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.static = props.static;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this._annotations = props._annotations;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $propdoc: {
        +        quote: "[string|undefined] the original quote character, if any",
        +        static: "[boolean] whether this is a static setter (classes only)"
        +    },
        +    $documentation: "An object setter property",
        +    computed_key() {
        +        return !(this.key instanceof AST_SymbolMethod);
        +    }
        +}, AST_ObjectProperty);
        +
        +var AST_ObjectGetter = DEFNODE("ObjectGetter", "quote static", function AST_ObjectGetter(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.static = props.static;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this._annotations = props._annotations;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $propdoc: {
        +        quote: "[string|undefined] the original quote character, if any",
        +        static: "[boolean] whether this is a static getter (classes only)"
        +    },
        +    $documentation: "An object getter property",
        +    computed_key() {
        +        return !(this.key instanceof AST_SymbolMethod);
        +    }
        +}, AST_ObjectProperty);
        +
        +var AST_ConciseMethod = DEFNODE("ConciseMethod", "quote static", function AST_ConciseMethod(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.static = props.static;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this._annotations = props._annotations;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $propdoc: {
        +        quote: "[string|undefined] the original quote character, if any",
        +        static: "[boolean] is this method static (classes only)",
        +    },
        +    $documentation: "An ES6 concise method inside an object or class",
        +    computed_key() {
        +        return !(this.key instanceof AST_SymbolMethod);
        +    }
        +}, AST_ObjectProperty);
        +
        +var AST_PrivateMethod = DEFNODE("PrivateMethod", "static", function AST_PrivateMethod(props) {
        +    if (props) {
        +        this.static = props.static;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A private class method inside a class",
        +    $propdoc: {
        +        static: "[boolean] is this a static private method",
        +    },
        +    computed_key() {
        +        return false;
        +    },
        +}, AST_ObjectProperty);
        +
        +var AST_Class = DEFNODE("Class", "name extends properties", function AST_Class(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.extends = props.extends;
        +        this.properties = props.properties;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $propdoc: {
        +        name: "[AST_SymbolClass|AST_SymbolDefClass?] optional class name.",
        +        extends: "[AST_Node]? optional parent class",
        +        properties: "[AST_ObjectProperty|AST_ClassStaticBlock]* array of properties or static blocks"
        +    },
        +    $documentation: "An ES6 class",
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            if (this.name) {
        +                this.name._walk(visitor);
        +            }
        +            if (this.extends) {
        +                this.extends._walk(visitor);
        +            }
        +            this.properties.forEach((prop) => prop._walk(visitor));
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.properties.length;
        +        while (i--) push(this.properties[i]);
        +        if (this.extends) push(this.extends);
        +        if (this.name) push(this.name);
        +    },
        +    /** go through the bits that are executed instantly, not when the class is `new`'d. Doesn't walk the name. */
        +    visit_nondeferred_class_parts(visitor) {
        +        if (this.extends) {
        +            this.extends._walk(visitor);
        +        }
        +        this.properties.forEach((prop) => {
        +            if (prop instanceof AST_ClassStaticBlock) {
        +                prop._walk(visitor);
        +                return;
        +            }
        +            if (prop.computed_key()) {
        +                visitor.push(prop);
        +                prop.key._walk(visitor);
        +                visitor.pop();
        +            }
        +            if (
        +                prop instanceof AST_ClassPrivateProperty && prop.static && prop.value
        +                || prop instanceof AST_ClassProperty && prop.static && prop.value
        +            ) {
        +                visitor.push(prop);
        +                prop.value._walk(visitor);
        +                visitor.pop();
        +            }
        +        });
        +    },
        +    /** go through the bits that are executed later, when the class is `new`'d or a static method is called */
        +    visit_deferred_class_parts(visitor) {
        +        this.properties.forEach((prop) => {
        +            if (
        +                prop instanceof AST_ConciseMethod
        +                || prop instanceof AST_PrivateMethod
        +            ) {
        +                prop.walk(visitor);
        +            } else if (
        +                prop instanceof AST_ClassProperty && !prop.static && prop.value
        +                || prop instanceof AST_ClassPrivateProperty && !prop.static && prop.value
        +            ) {
        +                visitor.push(prop);
        +                prop.value._walk(visitor);
        +                visitor.pop();
        +            }
        +        });
        +    },
        +    is_self_referential: function() {
        +        const this_id = this.name && this.name.definition().id;
        +        let found = false;
        +        let class_this = true;
        +        this.visit_nondeferred_class_parts(new TreeWalker((node, descend) => {
        +            if (found) return true;
        +            if (node instanceof AST_This) return (found = class_this);
        +            if (node instanceof AST_SymbolRef) return (found = node.definition().id === this_id);
        +            if (node instanceof AST_Lambda && !(node instanceof AST_Arrow)) {
        +                const class_this_save = class_this;
        +                class_this = false;
        +                descend();
        +                class_this = class_this_save;
        +                return true;
        +            }
        +        }));
        +        return found;
        +    },
        +}, AST_Scope /* TODO a class might have a scope but it's not a scope */);
        +
        +var AST_ClassProperty = DEFNODE("ClassProperty", "static quote", function AST_ClassProperty(props) {
        +    if (props) {
        +        this.static = props.static;
        +        this.quote = props.quote;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this._annotations = props._annotations;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A class property",
        +    $propdoc: {
        +        static: "[boolean] whether this is a static key",
        +        quote: "[string] which quote is being used"
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            if (this.key instanceof AST_Node)
        +                this.key._walk(visitor);
        +            if (this.value instanceof AST_Node)
        +                this.value._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.value instanceof AST_Node) push(this.value);
        +        if (this.key instanceof AST_Node) push(this.key);
        +    },
        +    computed_key() {
        +        return !(this.key instanceof AST_SymbolClassProperty);
        +    }
        +}, AST_ObjectProperty);
        +
        +var AST_ClassPrivateProperty = DEFNODE("ClassPrivateProperty", "", function AST_ClassPrivateProperty(props) {
        +    if (props) {
        +        this.static = props.static;
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A class property for a private property",
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            if (this.value instanceof AST_Node)
        +                this.value._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        if (this.value instanceof AST_Node) push(this.value);
        +    },
        +    computed_key() {
        +        return false;
        +    },
        +}, AST_ObjectProperty);
        +
        +var AST_PrivateIn = DEFNODE("PrivateIn", "key value", function AST_PrivateIn(props) {
        +    if (props) {
        +        this.key = props.key;
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "An `in` binop when the key is private, eg #x in this",
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            this.key._walk(visitor);
        +            this.value._walk(visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        push(this.value);
        +        push(this.key);
        +    },
        +});
        +
        +var AST_DefClass = DEFNODE("DefClass", null, function AST_DefClass(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.extends = props.extends;
        +        this.properties = props.properties;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A class definition",
        +}, AST_Class);
        +
        +var AST_ClassStaticBlock = DEFNODE("ClassStaticBlock", "body block_scope", function AST_ClassStaticBlock (props) {
        +    this.body = props.body;
        +    this.block_scope = props.block_scope;
        +    this.start = props.start;
        +    this.end = props.end;
        +}, {
        +    $documentation: "A block containing statements to be executed in the context of the class",
        +    $propdoc: {
        +        body: "[AST_Statement*] an array of statements",
        +    },
        +    _walk: function(visitor) {
        +        return visitor._visit(this, function() {
        +            walk_body(this, visitor);
        +        });
        +    },
        +    _children_backwards(push) {
        +        let i = this.body.length;
        +        while (i--) push(this.body[i]);
        +    },
        +    clone: clone_block_scope,
        +    computed_key() {
        +        return false;
        +    },
        +}, AST_Scope);
        +
        +var AST_ClassExpression = DEFNODE("ClassExpression", null, function AST_ClassExpression(props) {
        +    if (props) {
        +        this.name = props.name;
        +        this.extends = props.extends;
        +        this.properties = props.properties;
        +        this.variables = props.variables;
        +        this.uses_with = props.uses_with;
        +        this.uses_eval = props.uses_eval;
        +        this.parent_scope = props.parent_scope;
        +        this.enclosed = props.enclosed;
        +        this.cname = props.cname;
        +        this.body = props.body;
        +        this.block_scope = props.block_scope;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A class expression."
        +}, AST_Class);
        +
        +var AST_Symbol = DEFNODE("Symbol", "scope name thedef", function AST_Symbol(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $propdoc: {
        +        name: "[string] name of this symbol",
        +        scope: "[AST_Scope/S] the current scope (not necessarily the definition scope)",
        +        thedef: "[SymbolDef/S] the definition of this symbol"
        +    },
        +    $documentation: "Base class for all symbols"
        +});
        +
        +var AST_NewTarget = DEFNODE("NewTarget", null, function AST_NewTarget(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A reference to new.target"
        +});
        +
        +var AST_SymbolDeclaration = DEFNODE("SymbolDeclaration", "init", function AST_SymbolDeclaration(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A declaration symbol (symbol in var/const, function name or argument, symbol in catch)",
        +}, AST_Symbol);
        +
        +var AST_SymbolVar = DEFNODE("SymbolVar", null, function AST_SymbolVar(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol defining a variable",
        +}, AST_SymbolDeclaration);
        +
        +var AST_SymbolBlockDeclaration = DEFNODE(
        +    "SymbolBlockDeclaration",
        +    null,
        +    function AST_SymbolBlockDeclaration(props) {
        +        if (props) {
        +            this.init = props.init;
        +            this.scope = props.scope;
        +            this.name = props.name;
        +            this.thedef = props.thedef;
        +            this.start = props.start;
        +            this.end = props.end;
        +        }
        +
        +        this.flags = 0;
        +    },
        +    {
        +        $documentation: "Base class for block-scoped declaration symbols"
        +    },
        +    AST_SymbolDeclaration
        +);
        +
        +var AST_SymbolConst = DEFNODE("SymbolConst", null, function AST_SymbolConst(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A constant declaration"
        +}, AST_SymbolBlockDeclaration);
        +
        +var AST_SymbolUsing = DEFNODE("SymbolUsing", null, function AST_SymbolUsing(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A `using` declaration"
        +}, AST_SymbolBlockDeclaration);
        +
        +var AST_SymbolLet = DEFNODE("SymbolLet", null, function AST_SymbolLet(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A block-scoped `let` declaration"
        +}, AST_SymbolBlockDeclaration);
        +
        +var AST_SymbolFunarg = DEFNODE("SymbolFunarg", null, function AST_SymbolFunarg(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol naming a function argument",
        +}, AST_SymbolVar);
        +
        +var AST_SymbolDefun = DEFNODE("SymbolDefun", null, function AST_SymbolDefun(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol defining a function",
        +}, AST_SymbolDeclaration);
        +
        +var AST_SymbolMethod = DEFNODE("SymbolMethod", null, function AST_SymbolMethod(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol in an object defining a method",
        +}, AST_Symbol);
        +
        +var AST_SymbolClassProperty = DEFNODE("SymbolClassProperty", null, function AST_SymbolClassProperty(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol for a class property",
        +}, AST_Symbol);
        +
        +var AST_SymbolLambda = DEFNODE("SymbolLambda", null, function AST_SymbolLambda(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol naming a function expression",
        +}, AST_SymbolDeclaration);
        +
        +var AST_SymbolDefClass = DEFNODE("SymbolDefClass", null, function AST_SymbolDefClass(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol naming a class's name in a class declaration. Lexically scoped to its containing scope, and accessible within the class."
        +}, AST_SymbolBlockDeclaration);
        +
        +var AST_SymbolClass = DEFNODE("SymbolClass", null, function AST_SymbolClass(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol naming a class's name. Lexically scoped to the class."
        +}, AST_SymbolDeclaration);
        +
        +var AST_SymbolCatch = DEFNODE("SymbolCatch", null, function AST_SymbolCatch(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol naming the exception in catch",
        +}, AST_SymbolBlockDeclaration);
        +
        +var AST_SymbolImport = DEFNODE("SymbolImport", null, function AST_SymbolImport(props) {
        +    if (props) {
        +        this.init = props.init;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol referring to an imported name",
        +}, AST_SymbolBlockDeclaration);
        +
        +var AST_SymbolImportForeign = DEFNODE("SymbolImportForeign", "quote", function AST_SymbolImportForeign(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A symbol imported from a module, but it is defined in the other module, and its real name is irrelevant for this module's purposes",
        +}, AST_Symbol);
        +
        +var AST_Label = DEFNODE("Label", "references", function AST_Label(props) {
        +    if (props) {
        +        this.references = props.references;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this.initialize();
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol naming a label (declaration)",
        +    $propdoc: {
        +        references: "[AST_LoopControl*] a list of nodes referring to this label"
        +    },
        +    initialize: function() {
        +        this.references = [];
        +        this.thedef = this;
        +    }
        +}, AST_Symbol);
        +
        +var AST_SymbolRef = DEFNODE("SymbolRef", null, function AST_SymbolRef(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Reference to some symbol (not definition/declaration)",
        +}, AST_Symbol);
        +
        +var AST_SymbolExport = DEFNODE("SymbolExport", "quote", function AST_SymbolExport(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Symbol referring to a name to export",
        +}, AST_SymbolRef);
        +
        +var AST_SymbolExportForeign = DEFNODE("SymbolExportForeign", "quote", function AST_SymbolExportForeign(props) {
        +    if (props) {
        +        this.quote = props.quote;
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A symbol exported from this module, but it is used in the other module, and its real name is irrelevant for this module's purposes",
        +}, AST_Symbol);
        +
        +var AST_LabelRef = DEFNODE("LabelRef", null, function AST_LabelRef(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Reference to a label symbol",
        +}, AST_Symbol);
        +
        +var AST_SymbolPrivateProperty = DEFNODE("SymbolPrivateProperty", null, function AST_SymbolPrivateProperty(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A symbol that refers to a private property",
        +}, AST_Symbol);
        +
        +var AST_This = DEFNODE("This", null, function AST_This(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `this` symbol",
        +}, AST_Symbol);
        +
        +var AST_Super = DEFNODE("Super", null, function AST_Super(props) {
        +    if (props) {
        +        this.scope = props.scope;
        +        this.name = props.name;
        +        this.thedef = props.thedef;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `super` symbol",
        +}, AST_This);
        +
        +var AST_Constant = DEFNODE("Constant", null, function AST_Constant(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for all constants",
        +    getValue: function() {
        +        return this.value;
        +    }
        +});
        +
        +var AST_String = DEFNODE("String", "value quote", function AST_String(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.quote = props.quote;
        +        this.start = props.start;
        +        this.end = props.end;
        +        this._annotations = props._annotations;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A string literal",
        +    $propdoc: {
        +        value: "[string] the contents of this string",
        +        quote: "[string] the original quote character"
        +    }
        +}, AST_Constant);
        +
        +var AST_Number = DEFNODE("Number", "value raw", function AST_Number(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.raw = props.raw;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A number literal",
        +    $propdoc: {
        +        value: "[number] the numeric value",
        +        raw: "[string] numeric value as string"
        +    }
        +}, AST_Constant);
        +
        +var AST_BigInt = DEFNODE("BigInt", "value raw", function AST_BigInt(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.raw = props.raw;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A big int literal",
        +    $propdoc: {
        +        value: "[string] big int value, represented as a string",
        +        raw: "[string] the original format preserved"
        +    }
        +}, AST_Constant);
        +
        +var AST_RegExp = DEFNODE("RegExp", "value", function AST_RegExp(props) {
        +    if (props) {
        +        this.value = props.value;
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A regexp literal",
        +    $propdoc: {
        +        value: "[RegExp] the actual regexp",
        +    }
        +}, AST_Constant);
        +
        +var AST_Atom = DEFNODE("Atom", null, function AST_Atom(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for atoms",
        +}, AST_Constant);
        +
        +var AST_Null = DEFNODE("Null", null, function AST_Null(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `null` atom",
        +    value: null
        +}, AST_Atom);
        +
        +var AST_NaN = DEFNODE("NaN", null, function AST_NaN(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The impossible value",
        +    value: 0/0
        +}, AST_Atom);
        +
        +var AST_Undefined = DEFNODE("Undefined", null, function AST_Undefined(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `undefined` value",
        +    value: (function() {}())
        +}, AST_Atom);
        +
        +var AST_Hole = DEFNODE("Hole", null, function AST_Hole(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "A hole in an array",
        +    value: (function() {}())
        +}, AST_Atom);
        +
        +var AST_Infinity = DEFNODE("Infinity", null, function AST_Infinity(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `Infinity` value",
        +    value: 1/0
        +}, AST_Atom);
        +
        +var AST_Boolean = DEFNODE("Boolean", null, function AST_Boolean(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "Base class for booleans",
        +}, AST_Atom);
        +
        +var AST_False = DEFNODE("False", null, function AST_False(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `false` atom",
        +    value: false
        +}, AST_Boolean);
        +
        +var AST_True = DEFNODE("True", null, function AST_True(props) {
        +    if (props) {
        +        this.start = props.start;
        +        this.end = props.end;
        +    }
        +
        +    this.flags = 0;
        +}, {
        +    $documentation: "The `true` atom",
        +    value: true
        +}, AST_Boolean);
        +
        +/* -----[ Walk function ]---- */
        +
        +/**
        + * Walk nodes in depth-first search fashion.
        + * Callback can return `walk_abort` symbol to stop iteration.
        + * It can also return `true` to stop iteration just for child nodes.
        + * Iteration can be stopped and continued by passing the `to_visit` argument,
        + * which is given to the callback in the second argument.
        + **/
        +function walk(node, cb, to_visit = [node]) {
        +    const push = to_visit.push.bind(to_visit);
        +    while (to_visit.length) {
        +        const node = to_visit.pop();
        +        const ret = cb(node, to_visit);
        +
        +        if (ret) {
        +            if (ret === walk_abort) return true;
        +            continue;
        +        }
        +
        +        node._children_backwards(push);
        +    }
        +    return false;
        +}
        +
        +/**
        + * Walks an AST node and its children.
        + *
        + * {cb} can return `walk_abort` to interrupt the walk.
        + *
        + * @param node
        + * @param cb {(node, info: { parent: (nth) => any }) => (boolean | undefined)}
        + *
        + * @returns {boolean} whether the walk was aborted
        + *
        + * @example
        + * const found_some_cond = walk_parent(my_ast_node, (node, { parent }) => {
        + *   if (some_cond(node, parent())) return walk_abort
        + * });
        + */
        +function walk_parent(node, cb, initial_stack) {
        +    const to_visit = [node];
        +    const push = to_visit.push.bind(to_visit);
        +    const stack = initial_stack ? initial_stack.slice() : [];
        +    const parent_pop_indices = [];
        +
        +    let current;
        +
        +    const info = {
        +        parent: (n = 0) => {
        +            if (n === -1) {
        +                return current;
        +            }
        +
        +            // [ p1 p0 ] [ 1 0 ]
        +            if (initial_stack && n >= stack.length) {
        +                n -= stack.length;
        +                return initial_stack[
        +                    initial_stack.length - (n + 1)
        +                ];
        +            }
        +
        +            return stack[stack.length - (1 + n)];
        +        },
        +    };
        +
        +    while (to_visit.length) {
        +        current = to_visit.pop();
        +
        +        while (
        +            parent_pop_indices.length &&
        +            to_visit.length == parent_pop_indices[parent_pop_indices.length - 1]
        +        ) {
        +            stack.pop();
        +            parent_pop_indices.pop();
        +        }
        +
        +        const ret = cb(current, info);
        +
        +        if (ret) {
        +            if (ret === walk_abort) return true;
        +            continue;
        +        }
        +
        +        const visit_length = to_visit.length;
        +
        +        current._children_backwards(push);
        +
        +        // Push only if we're going to traverse the children
        +        if (to_visit.length > visit_length) {
        +            stack.push(current);
        +            parent_pop_indices.push(visit_length - 1);
        +        }
        +    }
        +
        +    return false;
        +}
        +
        +const walk_abort = Symbol("abort walk");
        +
        +/* -----[ TreeWalker ]----- */
        +
        +class TreeWalker {
        +    constructor(callback) {
        +        this.visit = callback;
        +        this.stack = [];
        +        this.directives = Object.create(null);
        +    }
        +
        +    _visit(node, descend) {
        +        this.push(node);
        +        var ret = this.visit(node, descend ? function() {
        +            descend.call(node);
        +        } : noop);
        +        if (!ret && descend) {
        +            descend.call(node);
        +        }
        +        this.pop();
        +        return ret;
        +    }
        +
        +    parent(n) {
        +        return this.stack[this.stack.length - 2 - (n || 0)];
        +    }
        +
        +    push(node) {
        +        if (node instanceof AST_Lambda) {
        +            this.directives = Object.create(this.directives);
        +        } else if (node instanceof AST_Directive && !this.directives[node.value]) {
        +            this.directives[node.value] = node;
        +        } else if (node instanceof AST_Class) {
        +            this.directives = Object.create(this.directives);
        +            if (!this.directives["use strict"]) {
        +                this.directives["use strict"] = node;
        +            }
        +        }
        +        this.stack.push(node);
        +    }
        +
        +    pop() {
        +        var node = this.stack.pop();
        +        if (node instanceof AST_Lambda || node instanceof AST_Class) {
        +            this.directives = Object.getPrototypeOf(this.directives);
        +        }
        +    }
        +
        +    self() {
        +        return this.stack[this.stack.length - 1];
        +    }
        +
        +    find_parent(type) {
        +        var stack = this.stack;
        +        for (var i = stack.length; --i >= 0;) {
        +            var x = stack[i];
        +            if (x instanceof type) return x;
        +        }
        +    }
        +
        +    is_within_loop() {
        +        let i = this.stack.length - 1;
        +        let child = this.stack[i];
        +        while (i--) {
        +            const node = this.stack[i];
        +
        +            if (node instanceof AST_Lambda) return false;
        +            if (
        +                node instanceof AST_IterationStatement
        +                // exclude for-loop bits that only run once
        +                && !((node instanceof AST_For) && child === node.init)
        +                && !((node instanceof AST_ForIn || node instanceof AST_ForOf) && child === node.object)
        +            ) {
        +                return true;
        +            }
        +
        +            child = node;
        +        }
        +
        +        return false;
        +    }
        +
        +    find_scope() {
        +        var stack = this.stack;
        +        for (var i = stack.length; --i >= 0;) {
        +            const p = stack[i];
        +            if (p instanceof AST_Toplevel) return p;
        +            if (p instanceof AST_Lambda) return p;
        +            if (p.block_scope) return p.block_scope;
        +        }
        +    }
        +
        +    has_directive(type) {
        +        var dir = this.directives[type];
        +        if (dir) return dir;
        +        var node = this.stack[this.stack.length - 1];
        +        if (node instanceof AST_Scope && node.body) {
        +            for (var i = 0; i < node.body.length; ++i) {
        +                var st = node.body[i];
        +                if (!(st instanceof AST_Directive)) break;
        +                if (st.value == type) return st;
        +            }
        +        }
        +    }
        +
        +    loopcontrol_target(node) {
        +        var stack = this.stack;
        +        if (node.label) for (var i = stack.length; --i >= 0;) {
        +            var x = stack[i];
        +            if (x instanceof AST_LabeledStatement && x.label.name == node.label.name)
        +                return x.body;
        +        } else for (var i = stack.length; --i >= 0;) {
        +            var x = stack[i];
        +            if (x instanceof AST_IterationStatement
        +                || node instanceof AST_Break && x instanceof AST_Switch)
        +                return x;
        +        }
        +    }
        +}
        +
        +// Tree transformer helpers.
        +class TreeTransformer extends TreeWalker {
        +    constructor(before, after) {
        +        super();
        +        this.before = before;
        +        this.after = after;
        +    }
        +}
        +
        +const _PURE       = 0b00000001;
        +const _INLINE     = 0b00000010;
        +const _NOINLINE   = 0b00000100;
        +const _KEY        = 0b00001000;
        +const _MANGLEPROP = 0b00010000;
        +
        +
        +
        +;// ./node_modules/terser/lib/transform.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +function def_transform(node, descend) {
        +    node.DEFMETHOD("transform", function(tw, in_list) {
        +        let transformed = undefined;
        +        tw.push(this);
        +        if (tw.before) transformed = tw.before(this, descend, in_list);
        +        if (transformed === undefined) {
        +            transformed = this;
        +            descend(transformed, tw);
        +            if (tw.after) {
        +                const after_ret = tw.after(transformed, in_list);
        +                if (after_ret !== undefined) transformed = after_ret;
        +            }
        +        }
        +        tw.pop();
        +        return transformed;
        +    });
        +}
        +
        +def_transform(AST_Node, noop);
        +
        +def_transform(AST_LabeledStatement, function(self, tw) {
        +    self.label = self.label.transform(tw);
        +    self.body = self.body.transform(tw);
        +});
        +
        +def_transform(AST_SimpleStatement, function(self, tw) {
        +    self.body = self.body.transform(tw);
        +});
        +
        +def_transform(AST_Block, function(self, tw) {
        +    self.body = MAP(self.body, tw);
        +});
        +
        +def_transform(AST_Do, function(self, tw) {
        +    self.body = self.body.transform(tw);
        +    self.condition = self.condition.transform(tw);
        +});
        +
        +def_transform(AST_While, function(self, tw) {
        +    self.condition = self.condition.transform(tw);
        +    self.body = self.body.transform(tw);
        +});
        +
        +def_transform(AST_For, function(self, tw) {
        +    if (self.init) self.init = self.init.transform(tw);
        +    if (self.condition) self.condition = self.condition.transform(tw);
        +    if (self.step) self.step = self.step.transform(tw);
        +    self.body = self.body.transform(tw);
        +});
        +
        +def_transform(AST_ForIn, function(self, tw) {
        +    self.init = self.init.transform(tw);
        +    self.object = self.object.transform(tw);
        +    self.body = self.body.transform(tw);
        +});
        +
        +def_transform(AST_With, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +    self.body = self.body.transform(tw);
        +});
        +
        +def_transform(AST_Exit, function(self, tw) {
        +    if (self.value) self.value = self.value.transform(tw);
        +});
        +
        +def_transform(AST_LoopControl, function(self, tw) {
        +    if (self.label) self.label = self.label.transform(tw);
        +});
        +
        +def_transform(AST_If, function(self, tw) {
        +    self.condition = self.condition.transform(tw);
        +    self.body = self.body.transform(tw);
        +    if (self.alternative) self.alternative = self.alternative.transform(tw);
        +});
        +
        +def_transform(AST_Switch, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +    self.body = MAP(self.body, tw);
        +});
        +
        +def_transform(AST_Case, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +    self.body = MAP(self.body, tw);
        +});
        +
        +def_transform(AST_Try, function(self, tw) {
        +    self.body = self.body.transform(tw);
        +    if (self.bcatch) self.bcatch = self.bcatch.transform(tw);
        +    if (self.bfinally) self.bfinally = self.bfinally.transform(tw);
        +});
        +
        +def_transform(AST_Catch, function(self, tw) {
        +    if (self.argname) self.argname = self.argname.transform(tw);
        +    self.body = MAP(self.body, tw);
        +});
        +
        +def_transform(AST_DefinitionsLike, function(self, tw) {
        +    self.definitions = MAP(self.definitions, tw);
        +});
        +
        +def_transform(AST_VarDefLike, function(self, tw) {
        +    self.name = self.name.transform(tw);
        +    if (self.value) self.value = self.value.transform(tw);
        +});
        +
        +def_transform(AST_Destructuring, function(self, tw) {
        +    self.names = MAP(self.names, tw);
        +});
        +
        +def_transform(AST_Lambda, function(self, tw) {
        +    if (self.name) self.name = self.name.transform(tw);
        +    self.argnames = MAP(self.argnames, tw, /* allow_splicing */ false);
        +    if (self.body instanceof AST_Node) {
        +        self.body = self.body.transform(tw);
        +    } else {
        +        self.body = MAP(self.body, tw);
        +    }
        +});
        +
        +def_transform(AST_Call, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +    self.args = MAP(self.args, tw, /* allow_splicing */ false);
        +});
        +
        +def_transform(AST_Sequence, function(self, tw) {
        +    const result = MAP(self.expressions, tw);
        +    self.expressions = result.length
        +        ? result
        +        : [new AST_Number({ value: 0 })];
        +});
        +
        +def_transform(AST_PropAccess, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +});
        +
        +def_transform(AST_Sub, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +    self.property = self.property.transform(tw);
        +});
        +
        +def_transform(AST_Chain, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +});
        +
        +def_transform(AST_Yield, function(self, tw) {
        +    if (self.expression) self.expression = self.expression.transform(tw);
        +});
        +
        +def_transform(AST_Await, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +});
        +
        +def_transform(AST_Unary, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +});
        +
        +def_transform(AST_Binary, function(self, tw) {
        +    self.left = self.left.transform(tw);
        +    self.right = self.right.transform(tw);
        +});
        +
        +def_transform(AST_PrivateIn, function(self, tw) {
        +    self.key = self.key.transform(tw);
        +    self.value = self.value.transform(tw);
        +});
        +
        +def_transform(AST_Conditional, function(self, tw) {
        +    self.condition = self.condition.transform(tw);
        +    self.consequent = self.consequent.transform(tw);
        +    self.alternative = self.alternative.transform(tw);
        +});
        +
        +def_transform(AST_Array, function(self, tw) {
        +    self.elements = MAP(self.elements, tw);
        +});
        +
        +def_transform(AST_Object, function(self, tw) {
        +    self.properties = MAP(self.properties, tw);
        +});
        +
        +def_transform(AST_ObjectProperty, function(self, tw) {
        +    if (self.key instanceof AST_Node) {
        +        self.key = self.key.transform(tw);
        +    }
        +    if (self.value) self.value = self.value.transform(tw);
        +});
        +
        +def_transform(AST_Class, function(self, tw) {
        +    if (self.name) self.name = self.name.transform(tw);
        +    if (self.extends) self.extends = self.extends.transform(tw);
        +    self.properties = MAP(self.properties, tw);
        +});
        +
        +def_transform(AST_ClassStaticBlock, function(self, tw) {
        +    self.body = MAP(self.body, tw);
        +});
        +
        +def_transform(AST_Expansion, function(self, tw) {
        +    self.expression = self.expression.transform(tw);
        +});
        +
        +def_transform(AST_NameMapping, function(self, tw) {
        +    self.foreign_name = self.foreign_name.transform(tw);
        +    self.name = self.name.transform(tw);
        +});
        +
        +def_transform(AST_Import, function(self, tw) {
        +    if (self.imported_name) self.imported_name = self.imported_name.transform(tw);
        +    if (self.imported_names) MAP(self.imported_names, tw);
        +    self.module_name = self.module_name.transform(tw);
        +});
        +
        +def_transform(AST_Export, function(self, tw) {
        +    if (self.exported_definition) self.exported_definition = self.exported_definition.transform(tw);
        +    if (self.exported_value) self.exported_value = self.exported_value.transform(tw);
        +    if (self.exported_names) MAP(self.exported_names, tw);
        +    if (self.module_name) self.module_name = self.module_name.transform(tw);
        +});
        +
        +def_transform(AST_TemplateString, function(self, tw) {
        +    self.segments = MAP(self.segments, tw);
        +});
        +
        +def_transform(AST_PrefixedTemplateString, function(self, tw) {
        +    self.prefix = self.prefix.transform(tw);
        +    self.template_string = self.template_string.transform(tw);
        +});
        +
        +
        +;// ./node_modules/terser/lib/mozilla-ast.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +(function() {
        +
        +    var normalize_directives = function(body) {
        +        for (var i = 0; i < body.length; i++) {
        +            if (body[i] instanceof AST_Statement && body[i].body instanceof AST_String) {
        +                body[i] = new AST_Directive({
        +                    start: body[i].start,
        +                    end: body[i].end,
        +                    quote: '"',
        +                    value: body[i].body.value
        +                });
        +            } else {
        +                return body;
        +            }
        +        }
        +
        +        return body;
        +    };
        +
        +    function import_attributes_from_moz(attributes) {
        +        if (attributes && attributes.length > 0) {
        +            return new AST_Object({
        +                start: my_start_token(attributes),
        +                end: my_end_token(attributes),
        +                properties: attributes.map((attr) =>
        +                    new AST_ObjectKeyVal({
        +                        start: my_start_token(attr),
        +                        end: my_end_token(attr),
        +                        key: attr.key.name || attr.key.value,
        +                        value: from_moz(attr.value)
        +                    })
        +                )
        +            });
        +        }
        +        return null;
        +    }
        +
        +    var MOZ_TO_ME = {
        +        Program: function(M) {
        +            return new AST_Toplevel({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                body: normalize_directives(M.body.map(from_moz))
        +            });
        +        },
        +
        +        ArrayPattern: function(M) {
        +            return new AST_Destructuring({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                names: M.elements.map(function(elm) {
        +                    if (elm === null) {
        +                        return new AST_Hole();
        +                    }
        +                    return from_moz(elm);
        +                }),
        +                is_array: true
        +            });
        +        },
        +
        +        ObjectPattern: function(M) {
        +            return new AST_Destructuring({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                names: M.properties.map(from_moz),
        +                is_array: false
        +            });
        +        },
        +
        +        AssignmentPattern: function(M) {
        +            return new AST_DefaultAssign({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                left: from_moz(M.left),
        +                operator: "=",
        +                right: from_moz(M.right)
        +            });
        +        },
        +
        +        SpreadElement: function(M) {
        +            return new AST_Expansion({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.argument)
        +            });
        +        },
        +
        +        RestElement: function(M) {
        +            return new AST_Expansion({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.argument)
        +            });
        +        },
        +
        +        TemplateElement: function(M) {
        +            return new AST_TemplateSegment({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                value: M.value.cooked,
        +                raw: M.value.raw
        +            });
        +        },
        +
        +        TemplateLiteral: function(M) {
        +            var segments = [];
        +            for (var i = 0; i < M.quasis.length; i++) {
        +                segments.push(from_moz(M.quasis[i]));
        +                if (M.expressions[i]) {
        +                    segments.push(from_moz(M.expressions[i]));
        +                }
        +            }
        +            return new AST_TemplateString({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                segments: segments
        +            });
        +        },
        +
        +        TaggedTemplateExpression: function(M) {
        +            return new AST_PrefixedTemplateString({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                template_string: from_moz(M.quasi),
        +                prefix: from_moz(M.tag)
        +            });
        +        },
        +
        +        FunctionDeclaration: function(M) {
        +            return new AST_Defun({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                name: M.id && from_moz_symbol(AST_SymbolDefun, M.id),
        +                argnames: M.params.map(M => from_moz_pattern(M, AST_SymbolFunarg)),
        +                is_generator: M.generator,
        +                async: M.async,
        +                body: normalize_directives(from_moz(M.body).body)
        +            });
        +        },
        +
        +        FunctionExpression: function(M) {
        +            return from_moz_lambda(M, /*is_method=*/false);
        +        },
        +
        +        ArrowFunctionExpression: function(M) {
        +            const body = M.body.type === "BlockStatement"
        +                ? from_moz(M.body).body
        +                : [make_node(AST_Return, {}, { value: from_moz(M.body) })];
        +            return new AST_Arrow({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                argnames: M.params.map(p => from_moz_pattern(p, AST_SymbolFunarg)),
        +                body,
        +                async: M.async,
        +            });
        +        },
        +
        +        ExpressionStatement: function(M) {
        +            return new AST_SimpleStatement({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                body: from_moz(M.expression)
        +            });
        +        },
        +
        +        TryStatement: function(M) {
        +            var handlers = M.handlers || [M.handler];
        +            if (handlers.length > 1 || M.guardedHandlers && M.guardedHandlers.length) {
        +                throw new Error("Multiple catch clauses are not supported.");
        +            }
        +            return new AST_Try({
        +                start    : my_start_token(M),
        +                end      : my_end_token(M),
        +                body     : new AST_TryBlock(from_moz(M.block)),
        +                bcatch   : from_moz(handlers[0]),
        +                bfinally : M.finalizer ? new AST_Finally(from_moz(M.finalizer)) : null
        +            });
        +        },
        +
        +        Property: function(M) {
        +            if (M.kind == "init" && !M.method) {
        +                var args = {
        +                    start    : my_start_token(M.key || M.value),
        +                    end      : my_end_token(M.value),
        +                    key      : M.computed
        +                                ? from_moz(M.key)
        +                                : M.key.name || String(M.key.value),
        +                    quote    : from_moz_quote(M.key, M.computed),
        +                    static   : false, // always an object
        +                    value    : from_moz(M.value)
        +                };
        +
        +                return new AST_ObjectKeyVal(args);
        +            } else {
        +                var value = from_moz_lambda(M.value, /*is_method=*/true);
        +                var args = {
        +                    start    : my_start_token(M.key || M.value),
        +                    end      : my_end_token(M.value),
        +                    key      : M.computed
        +                                ? from_moz(M.key)
        +                                : from_moz_symbol(AST_SymbolMethod, M.key),
        +                    quote    : from_moz_quote(M.key, M.computed),
        +                    static   : false, // always an object
        +                    value,
        +                };
        +
        +                if (M.kind == "get") return new AST_ObjectGetter(args);
        +                if (M.kind == "set") return new AST_ObjectSetter(args);
        +                if (M.method) return new AST_ConciseMethod(args);
        +            }
        +        },
        +
        +        MethodDefinition: function(M) {
        +            const is_private = M.key.type === "PrivateIdentifier";
        +            const key = M.computed ? from_moz(M.key) : new AST_SymbolMethod({ name: M.key.name || String(M.key.value) });
        +
        +            var args = {
        +                start    : my_start_token(M),
        +                end      : my_end_token(M),
        +                key,
        +                quote    : from_moz_quote(M.key, M.computed),
        +                value    : from_moz_lambda(M.value, /*is_method=*/true),
        +                static   : M.static,
        +            };
        +            if (M.kind == "get") {
        +                return new (is_private ? AST_PrivateGetter : AST_ObjectGetter)(args);
        +            }
        +            if (M.kind == "set") {
        +                return new (is_private ? AST_PrivateSetter : AST_ObjectSetter)(args);
        +            }
        +            return new (is_private ? AST_PrivateMethod : AST_ConciseMethod)(args);
        +        },
        +
        +        FieldDefinition: function(M) {
        +            let key;
        +            if (M.computed) {
        +                key = from_moz(M.key);
        +            } else {
        +                if (M.key.type !== "Identifier") throw new Error("Non-Identifier key in FieldDefinition");
        +                key = from_moz(M.key);
        +            }
        +            return new AST_ClassProperty({
        +                start    : my_start_token(M),
        +                end      : my_end_token(M),
        +                quote    : from_moz_quote(M.key, M.computed),
        +                key,
        +                value    : from_moz(M.value),
        +                static   : M.static,
        +            });
        +        },
        +
        +        PropertyDefinition: function(M) {
        +            let key;
        +            if (M.computed) {
        +                key = from_moz(M.key);
        +            } else if (M.key.type === "PrivateIdentifier") {
        +                return new AST_ClassPrivateProperty({
        +                    start    : my_start_token(M),
        +                    end      : my_end_token(M),
        +                    key      : from_moz(M.key),
        +                    value    : from_moz(M.value),
        +                    static   : M.static,
        +                });
        +            } else {
        +                key = from_moz_symbol(AST_SymbolClassProperty, M.key);
        +            }
        +
        +            return new AST_ClassProperty({
        +                start    : my_start_token(M),
        +                end      : my_end_token(M),
        +                quote    : from_moz_quote(M.key, M.computed),
        +                key,
        +                value    : from_moz(M.value),
        +                static   : M.static,
        +            });
        +        },
        +
        +        PrivateIdentifier: function (M) {
        +            return new AST_SymbolPrivateProperty({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                name: M.name
        +            });
        +        },
        +
        +        StaticBlock: function(M) {
        +            return new AST_ClassStaticBlock({
        +                start : my_start_token(M),
        +                end   : my_end_token(M),
        +                body  : M.body.map(from_moz),
        +            });
        +        },
        +
        +        ArrayExpression: function(M) {
        +            return new AST_Array({
        +                start    : my_start_token(M),
        +                end      : my_end_token(M),
        +                elements : M.elements.map(function(elem) {
        +                    return elem === null ? new AST_Hole() : from_moz(elem);
        +                })
        +            });
        +        },
        +
        +        ObjectExpression: function(M) {
        +            return new AST_Object({
        +                start      : my_start_token(M),
        +                end        : my_end_token(M),
        +                properties : M.properties.map(function(prop) {
        +                    if (prop.type === "SpreadElement") {
        +                        return from_moz(prop);
        +                    }
        +                    prop.type = "Property";
        +                    return from_moz(prop);
        +                })
        +            });
        +        },
        +
        +        SequenceExpression: function(M) {
        +            return new AST_Sequence({
        +                start      : my_start_token(M),
        +                end        : my_end_token(M),
        +                expressions: M.expressions.map(from_moz)
        +            });
        +        },
        +
        +        MemberExpression: function(M) {
        +            if (M.property.type === "PrivateIdentifier") {
        +                return new AST_DotHash({
        +                    start      : my_start_token(M),
        +                    end        : my_end_token(M),
        +                    property   : M.property.name,
        +                    expression : from_moz(M.object),
        +                    optional   : M.optional || false
        +                });
        +            }
        +            return new (M.computed ? AST_Sub : AST_Dot)({
        +                start      : my_start_token(M),
        +                end        : my_end_token(M),
        +                property   : M.computed ? from_moz(M.property) : M.property.name,
        +                expression : from_moz(M.object),
        +                optional   : M.optional || false
        +            });
        +        },
        +
        +        ChainExpression: function(M) {
        +            return new AST_Chain({
        +                start      : my_start_token(M),
        +                end        : my_end_token(M),
        +                expression : from_moz(M.expression)
        +            });
        +        },
        +
        +        SwitchCase: function(M) {
        +            return new (M.test ? AST_Case : AST_Default)({
        +                start      : my_start_token(M),
        +                end        : my_end_token(M),
        +                expression : from_moz(M.test),
        +                body       : M.consequent.map(from_moz)
        +            });
        +        },
        +
        +        VariableDeclaration: function(M) {
        +            let decl_type;
        +            let defs_type = AST_VarDef;
        +            let sym_type;
        +            let await_using = false;
        +            if (M.kind === "const") {
        +                decl_type = AST_Const;
        +                sym_type = AST_SymbolConst;
        +            } else if (M.kind === "let") {
        +                decl_type = AST_Let;
        +                sym_type = AST_SymbolLet;
        +            } else if (M.kind === "using") {
        +                decl_type = AST_Using;
        +                defs_type = AST_UsingDef;
        +                sym_type = AST_SymbolUsing;
        +            } else if (M.kind === "await using") {
        +                decl_type = AST_Using;
        +                defs_type = AST_UsingDef;
        +                sym_type = AST_SymbolUsing;
        +                await_using = true;
        +            } else {
        +                decl_type = AST_Var;
        +                sym_type = AST_SymbolVar;
        +            }
        +            const definitions = M.declarations.map(M => {
        +                return new defs_type({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    name: from_moz_pattern(M.id, sym_type),
        +                    value: from_moz(M.init),
        +                });
        +            });
        +            return new decl_type({
        +                start       : my_start_token(M),
        +                end         : my_end_token(M),
        +                definitions : definitions,
        +                await       : await_using,
        +            });
        +        },
        +
        +        ImportDeclaration: function(M) {
        +            var imported_name = null;
        +            var imported_names = null;
        +            M.specifiers.forEach(function (specifier) {
        +                if (specifier.type === "ImportSpecifier" || specifier.type === "ImportNamespaceSpecifier") {
        +                    if (!imported_names) { imported_names = []; }
        +                    imported_names.push(from_moz(specifier));
        +                } else if (specifier.type === "ImportDefaultSpecifier") {
        +                    imported_name = from_moz(specifier);
        +                }
        +            });
        +            return new AST_Import({
        +                start       : my_start_token(M),
        +                end         : my_end_token(M),
        +                imported_name: imported_name,
        +                imported_names : imported_names,
        +                module_name : from_moz(M.source),
        +                attributes: import_attributes_from_moz(M.attributes || M.assertions)
        +            });
        +        },
        +
        +        ImportSpecifier: function(M) {
        +            return new AST_NameMapping({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                foreign_name: from_moz_symbol(AST_SymbolImportForeign, M.imported, M.imported.type === "Literal"),
        +                name: from_moz_symbol(AST_SymbolImport, M.local)
        +            });
        +        },
        +
        +        ImportDefaultSpecifier: function(M) {
        +            return from_moz_symbol(AST_SymbolImport, M.local);
        +        },
        +
        +        ImportNamespaceSpecifier: function(M) {
        +            return new AST_NameMapping({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                foreign_name: new AST_SymbolImportForeign({ name: "*" }),
        +                name: from_moz_symbol(AST_SymbolImport, M.local)
        +            });
        +        },
        +
        +        ImportExpression: function(M) {
        +            const args = [from_moz(M.source)];
        +            if (M.options) {
        +                args.push(from_moz(M.options));
        +            }
        +            return new AST_Call({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz({
        +                    type: "Identifier",
        +                    name: "import"
        +                }),
        +                optional: false,
        +                args
        +            });
        +        },
        +
        +        ExportAllDeclaration: function(M) {
        +            var foreign_name = M.exported == null ?
        +                new AST_SymbolExportForeign({ name: "*" }) :
        +                from_moz_symbol(AST_SymbolExportForeign, M.exported, M.exported.type === "Literal");
        +            return new AST_Export({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                exported_names: [
        +                    new AST_NameMapping({
        +                        start: my_start_token(M),
        +                        end: my_end_token(M),
        +                        name: new AST_SymbolExport({ name: "*" }),
        +                        foreign_name: foreign_name
        +                    })
        +                ],
        +                module_name: from_moz(M.source),
        +                attributes: import_attributes_from_moz(M.attributes || M.assertions)
        +            });
        +        },
        +
        +        ExportNamedDeclaration: function(M) {
        +            if (M.declaration) {
        +                // export const, export function, ...
        +                return new AST_Export({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    exported_definition: from_moz(M.declaration),
        +                    exported_names: null,
        +                    module_name: null,
        +                    attributes: null,
        +                });
        +            } else {
        +                return new AST_Export({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    exported_definition: null,
        +                    exported_names: M.specifiers && M.specifiers.length ? M.specifiers.map(from_moz) : [],
        +                    module_name: from_moz(M.source),
        +                    attributes: import_attributes_from_moz(M.attributes || M.assertions),
        +                });
        +            }
        +        },
        +
        +        ExportDefaultDeclaration: function(M) {
        +            return new AST_Export({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                exported_value: from_moz(M.declaration),
        +                is_default: true
        +            });
        +        },
        +
        +        ExportSpecifier: function(M) {
        +            return new AST_NameMapping({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                foreign_name: from_moz_symbol(AST_SymbolExportForeign, M.exported, M.exported.type === "Literal"),
        +                name: from_moz_symbol(AST_SymbolExport, M.local, M.local.type === "Literal"),
        +            });
        +        },
        +
        +        Literal: function(M) {
        +            var val = M.value, args = {
        +                start  : my_start_token(M),
        +                end    : my_end_token(M)
        +            };
        +            var rx = M.regex;
        +            if (rx && rx.pattern) {
        +                // RegExpLiteral as per ESTree AST spec
        +                args.value = {
        +                    source: rx.pattern,
        +                    flags: rx.flags
        +                };
        +                return new AST_RegExp(args);
        +            } else if (rx) {
        +                // support legacy RegExp
        +                const rx_source = M.raw || val;
        +                const match = rx_source.match(/^\/(.*)\/(\w*)$/);
        +                if (!match) throw new Error("Invalid regex source " + rx_source);
        +                const [_, source, flags] = match;
        +                args.value = { source, flags };
        +                return new AST_RegExp(args);
        +            }
        +            const bi = typeof M.value === "bigint" ? M.value.toString() : M.bigint;
        +            if (typeof bi === "string") {
        +                args.value = bi;
        +                args.raw = M.raw;
        +                return new AST_BigInt(args);
        +            }
        +            if (val === null) return new AST_Null(args);
        +            switch (typeof val) {
        +              case "string":
        +                args.quote = "\"";
        +                args.value = val;
        +                return new AST_String(args);
        +              case "number":
        +                args.value = val;
        +                args.raw = M.raw || val.toString();
        +                return new AST_Number(args);
        +              case "boolean":
        +                return new (val ? AST_True : AST_False)(args);
        +            }
        +        },
        +
        +        MetaProperty: function(M) {
        +            if (M.meta.name === "new" && M.property.name === "target") {
        +                return new AST_NewTarget({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M)
        +                });
        +            } else if (M.meta.name === "import" && M.property.name === "meta") {
        +                return new AST_ImportMeta({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M)
        +                });
        +            }
        +        },
        +
        +        Identifier: function(M) {
        +            return new AST_SymbolRef({
        +                start : my_start_token(M),
        +                end   : my_end_token(M),
        +                name  : M.name
        +            });
        +        },
        +
        +        EmptyStatement: function(M) {
        +            return new AST_EmptyStatement({
        +                start: my_start_token(M),
        +                end: my_end_token(M)
        +            });
        +        },
        +
        +        BlockStatement: function(M) {
        +            return new AST_BlockStatement({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                body: M.body.map(from_moz)
        +            });
        +        },
        +
        +        IfStatement: function(M) {
        +            return new AST_If({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                condition: from_moz(M.test),
        +                body: from_moz(M.consequent),
        +                alternative: from_moz(M.alternate)
        +            });
        +        },
        +
        +        LabeledStatement: function(M) {
        +            try {
        +                const label = from_moz_symbol(AST_Label, M.label);
        +                FROM_MOZ_LABELS.push(label);
        +
        +                const stat = new AST_LabeledStatement({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    label,
        +                    body: from_moz(M.body)
        +                });
        +
        +                return stat;
        +            } finally {
        +                FROM_MOZ_LABELS.pop();
        +            }
        +        },
        +
        +        BreakStatement: function(M) {
        +            return new AST_Break({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                label: from_moz_label_ref(M.label),
        +            });
        +        },
        +
        +        ContinueStatement: function(M) {
        +            return new AST_Continue({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                label: from_moz_label_ref(M.label),
        +            });
        +        },
        +
        +        WithStatement: function(M) {
        +            return new AST_With({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.object),
        +                body: from_moz(M.body)
        +            });
        +        },
        +
        +        SwitchStatement: function(M) {
        +            return new AST_Switch({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.discriminant),
        +                body: M.cases.map(from_moz)
        +            });
        +        },
        +
        +        ReturnStatement: function(M) {
        +            return new AST_Return({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                value: from_moz(M.argument)
        +            });
        +        },
        +
        +        ThrowStatement: function(M) {
        +            return new AST_Throw({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                value: from_moz(M.argument)
        +            });
        +        },
        +
        +        WhileStatement: function(M) {
        +            return new AST_While({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                condition: from_moz(M.test),
        +                body: from_moz(M.body)
        +            });
        +        },
        +
        +        DoWhileStatement: function(M) {
        +            return new AST_Do({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                condition: from_moz(M.test),
        +                body: from_moz(M.body)
        +            });
        +        },
        +
        +        ForStatement: function(M) {
        +            return new AST_For({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                init: from_moz(M.init),
        +                condition: from_moz(M.test),
        +                step: from_moz(M.update),
        +                body: from_moz(M.body)
        +            });
        +        },
        +
        +        ForInStatement: function(M) {
        +            return new AST_ForIn({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                init: from_moz(M.left),
        +                object: from_moz(M.right),
        +                body: from_moz(M.body)
        +            });
        +        },
        +
        +        ForOfStatement: function(M) {
        +            return new AST_ForOf({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                init: from_moz(M.left),
        +                object: from_moz(M.right),
        +                body: from_moz(M.body),
        +                await: M.await
        +            });
        +        },
        +
        +        AwaitExpression: function(M) {
        +            return new AST_Await({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.argument)
        +            });
        +        },
        +
        +        YieldExpression: function(M) {
        +            return new AST_Yield({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.argument),
        +                is_star: M.delegate
        +            });
        +        },
        +
        +        DebuggerStatement: function(M) {
        +            return new AST_Debugger({
        +                start: my_start_token(M),
        +                end: my_end_token(M)
        +            });
        +        },
        +
        +        CatchClause: function(M) {
        +            return new AST_Catch({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                argname: M.param ? from_moz_pattern(M.param, AST_SymbolCatch) : null,
        +                body: from_moz(M.body).body
        +            });
        +        },
        +
        +        ThisExpression: function(M) {
        +            return new AST_This({
        +                start: my_start_token(M),
        +                name: "this",
        +                end: my_end_token(M)
        +            });
        +        },
        +
        +        Super: function(M) {
        +            return new AST_Super({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                name: "super",
        +            });
        +        },
        +
        +        BinaryExpression: function(M) {
        +            if (M.left.type === "PrivateIdentifier") {
        +                return new AST_PrivateIn({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    key: new AST_SymbolPrivateProperty({
        +                        start: my_start_token(M.left),
        +                        end: my_end_token(M.left),
        +                        name: M.left.name
        +                    }),
        +                    value: from_moz(M.right),
        +                });
        +            }
        +            return new AST_Binary({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                operator: M.operator,
        +                left: from_moz(M.left),
        +                right: from_moz(M.right)
        +            });
        +        },
        +
        +        LogicalExpression: function(M) {
        +            return new AST_Binary({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                operator: M.operator,
        +                left: from_moz(M.left),
        +                right: from_moz(M.right)
        +            });
        +        },
        +
        +        AssignmentExpression: function(M) {
        +            return new AST_Assign({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                operator: M.operator,
        +                logical: M.operator === "??=" || M.operator === "&&=" || M.operator === "||=",
        +                left: from_moz(M.left),
        +                right: from_moz(M.right)
        +            });
        +        },
        +
        +        ConditionalExpression: function(M) {
        +            return new AST_Conditional({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                condition: from_moz(M.test),
        +                consequent: from_moz(M.consequent),
        +                alternative: from_moz(M.alternate)
        +            });
        +        },
        +
        +        NewExpression: function(M) {
        +            return new AST_New({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.callee),
        +                args: M.arguments.map(from_moz)
        +            });
        +        },
        +
        +        CallExpression: function(M) {
        +            return new AST_Call({
        +                start: my_start_token(M),
        +                end: my_end_token(M),
        +                expression: from_moz(M.callee),
        +                optional: M.optional,
        +                args: M.arguments.map(from_moz)
        +            });
        +        }
        +    };
        +
        +    MOZ_TO_ME.UpdateExpression =
        +    MOZ_TO_ME.UnaryExpression = function To_Moz_Unary(M) {
        +        var prefix = "prefix" in M ? M.prefix
        +            : M.type == "UnaryExpression" ? true : false;
        +        return new (prefix ? AST_UnaryPrefix : AST_UnaryPostfix)({
        +            start      : my_start_token(M),
        +            end        : my_end_token(M),
        +            operator   : M.operator,
        +            expression : from_moz(M.argument)
        +        });
        +    };
        +
        +    MOZ_TO_ME.ClassDeclaration =
        +    MOZ_TO_ME.ClassExpression = function From_Moz_Class(M) {
        +        return new (M.type === "ClassDeclaration" ? AST_DefClass : AST_ClassExpression)({
        +            start    : my_start_token(M),
        +            end      : my_end_token(M),
        +            name     : M.id && from_moz_symbol(M.type === "ClassDeclaration" ? AST_SymbolDefClass : AST_SymbolClass, M.id),
        +            extends  : from_moz(M.superClass),
        +            properties: M.body.body.map(from_moz)
        +        });
        +    };
        +
        +    def_to_moz(AST_EmptyStatement, function To_Moz_EmptyStatement() {
        +        return {
        +            type: "EmptyStatement"
        +        };
        +    });
        +    def_to_moz(AST_BlockStatement, function To_Moz_BlockStatement(M) {
        +        return {
        +            type: "BlockStatement",
        +            body: M.body.map(to_moz)
        +        };
        +    });
        +    def_to_moz(AST_If, function To_Moz_IfStatement(M) {
        +        return {
        +            type: "IfStatement",
        +            test: to_moz(M.condition),
        +            consequent: to_moz(M.body),
        +            alternate: to_moz(M.alternative)
        +        };
        +    });
        +    def_to_moz(AST_LabeledStatement, function To_Moz_LabeledStatement(M) {
        +        return {
        +            type: "LabeledStatement",
        +            label: to_moz(M.label),
        +            body: to_moz(M.body)
        +        };
        +    });
        +    def_to_moz(AST_Break, function To_Moz_BreakStatement(M) {
        +        return {
        +            type: "BreakStatement",
        +            label: to_moz(M.label)
        +        };
        +    });
        +    def_to_moz(AST_Continue, function To_Moz_ContinueStatement(M) {
        +        return {
        +            type: "ContinueStatement",
        +            label: to_moz(M.label)
        +        };
        +    });
        +    def_to_moz(AST_With, function To_Moz_WithStatement(M) {
        +        return {
        +            type: "WithStatement",
        +            object: to_moz(M.expression),
        +            body: to_moz(M.body)
        +        };
        +    });
        +    def_to_moz(AST_Switch, function To_Moz_SwitchStatement(M) {
        +        return {
        +            type: "SwitchStatement",
        +            discriminant: to_moz(M.expression),
        +            cases: M.body.map(to_moz)
        +        };
        +    });
        +    def_to_moz(AST_Return, function To_Moz_ReturnStatement(M) {
        +        return {
        +            type: "ReturnStatement",
        +            argument: to_moz(M.value)
        +        };
        +    });
        +    def_to_moz(AST_Throw, function To_Moz_ThrowStatement(M) {
        +        return {
        +            type: "ThrowStatement",
        +            argument: to_moz(M.value)
        +        };
        +    });
        +    def_to_moz(AST_While, function To_Moz_WhileStatement(M) {
        +        return {
        +            type: "WhileStatement",
        +            test: to_moz(M.condition),
        +            body: to_moz(M.body)
        +        };
        +    });
        +    def_to_moz(AST_Do, function To_Moz_DoWhileStatement(M) {
        +        return {
        +            type: "DoWhileStatement",
        +            test: to_moz(M.condition),
        +            body: to_moz(M.body)
        +        };
        +    });
        +    def_to_moz(AST_For, function To_Moz_ForStatement(M) {
        +        return {
        +            type: "ForStatement",
        +            init: to_moz(M.init),
        +            test: to_moz(M.condition),
        +            update: to_moz(M.step),
        +            body: to_moz(M.body)
        +        };
        +    });
        +    def_to_moz(AST_ForIn, function To_Moz_ForInStatement(M) {
        +        return {
        +            type: "ForInStatement",
        +            left: to_moz(M.init),
        +            right: to_moz(M.object),
        +            body: to_moz(M.body)
        +        };
        +    });
        +    def_to_moz(AST_ForOf, function To_Moz_ForOfStatement(M) {
        +        return {
        +            type: "ForOfStatement",
        +            left: to_moz(M.init),
        +            right: to_moz(M.object),
        +            body: to_moz(M.body),
        +            await: M.await
        +        };
        +    });
        +    def_to_moz(AST_Await, function To_Moz_AwaitExpression(M) {
        +        return {
        +            type: "AwaitExpression",
        +            argument: to_moz(M.expression)
        +        };
        +    });
        +    def_to_moz(AST_Yield, function To_Moz_YieldExpression(M) {
        +        return {
        +            type: "YieldExpression",
        +            argument: to_moz(M.expression),
        +            delegate: M.is_star
        +        };
        +    });
        +    def_to_moz(AST_Debugger, function To_Moz_DebuggerStatement() {
        +        return {
        +            type: "DebuggerStatement"
        +        };
        +    });
        +    def_to_moz(AST_VarDefLike, function To_Moz_VariableDeclarator(M) {
        +        return {
        +            type: "VariableDeclarator",
        +            id: to_moz(M.name),
        +            init: to_moz(M.value)
        +        };
        +    });
        +
        +    def_to_moz(AST_This, function To_Moz_ThisExpression() {
        +        return {
        +            type: "ThisExpression"
        +        };
        +    });
        +    def_to_moz(AST_Super, function To_Moz_Super() {
        +        return {
        +            type: "Super"
        +        };
        +    });
        +    def_to_moz(AST_Conditional, function To_Moz_ConditionalExpression(M) {
        +        return {
        +            type: "ConditionalExpression",
        +            test: to_moz(M.condition),
        +            consequent: to_moz(M.consequent),
        +            alternate: to_moz(M.alternative)
        +        };
        +    });
        +    def_to_moz(AST_New, function To_Moz_NewExpression(M) {
        +        return {
        +            type: "NewExpression",
        +            callee: to_moz(M.expression),
        +            arguments: M.args.map(to_moz)
        +        };
        +    });
        +    def_to_moz(AST_Call, function To_Moz_CallExpression(M) {
        +        if (M.expression instanceof AST_SymbolRef && M.expression.name === "import") {
        +            const [source, options] = M.args.map(to_moz);
        +            return {
        +                type: "ImportExpression",
        +                source,
        +                options: options || null
        +            };
        +        }
        +
        +        return {
        +            type: "CallExpression",
        +            callee: to_moz(M.expression),
        +            optional: M.optional,
        +            arguments: M.args.map(to_moz)
        +        };
        +    });
        +
        +    def_to_moz(AST_Toplevel, function To_Moz_Program(M) {
        +        return to_moz_scope("Program", M);
        +    });
        +
        +    def_to_moz(AST_Expansion, function To_Moz_Spread(M) {
        +        return {
        +            type: to_moz_in_destructuring() ? "RestElement" : "SpreadElement",
        +            argument: to_moz(M.expression)
        +        };
        +    });
        +
        +    def_to_moz(AST_PrefixedTemplateString, function To_Moz_TaggedTemplateExpression(M) {
        +        return {
        +            type: "TaggedTemplateExpression",
        +            tag: to_moz(M.prefix),
        +            quasi: to_moz(M.template_string)
        +        };
        +    });
        +
        +    def_to_moz(AST_TemplateString, function To_Moz_TemplateLiteral(M) {
        +        var quasis = [];
        +        var expressions = [];
        +        for (var i = 0; i < M.segments.length; i++) {
        +            if (i % 2 !== 0) {
        +                expressions.push(to_moz(M.segments[i]));
        +            } else {
        +                quasis.push({
        +                    type: "TemplateElement",
        +                    value: {
        +                        raw: M.segments[i].raw,
        +                        cooked: M.segments[i].value
        +                    },
        +                    tail: i === M.segments.length - 1
        +                });
        +            }
        +        }
        +        return {
        +            type: "TemplateLiteral",
        +            quasis: quasis,
        +            expressions: expressions
        +        };
        +    });
        +
        +    def_to_moz(AST_Defun, function To_Moz_FunctionDeclaration(M) {
        +        return {
        +            type: "FunctionDeclaration",
        +            id: to_moz(M.name),
        +            params: M.argnames.map(to_moz_pattern),
        +            generator: M.is_generator,
        +            async: M.async,
        +            body: to_moz_scope("BlockStatement", M)
        +        };
        +    });
        +
        +    def_to_moz(AST_Function, function To_Moz_FunctionExpression(M) {
        +        return {
        +            type: "FunctionExpression",
        +            id: to_moz(M.name),
        +            params: M.argnames.map(to_moz_pattern),
        +            generator: M.is_generator || false,
        +            async: M.async || false,
        +            body: to_moz_scope("BlockStatement", M)
        +        };
        +    });
        +
        +    def_to_moz(AST_Arrow, function To_Moz_ArrowFunctionExpression(M) {
        +        var body = M.body.length === 1 && M.body[0] instanceof AST_Return && M.body[0].value
        +            ? to_moz(M.body[0].value)
        +            : {
        +                type: "BlockStatement",
        +                body: M.body.map(to_moz)
        +            };
        +        return {
        +            type: "ArrowFunctionExpression",
        +            params: M.argnames.map(to_moz_pattern),
        +            async: M.async,
        +            body: body,
        +        };
        +    });
        +
        +    def_to_moz(AST_Destructuring, function To_Moz_ObjectPattern(M) {
        +        if (M.is_array) {
        +            return {
        +                type: "ArrayPattern",
        +                elements: M.names.map(
        +                    M => M instanceof AST_Hole ? null : to_moz_pattern(M)
        +                ),
        +            };
        +        }
        +        return {
        +            type: "ObjectPattern",
        +            properties: M.names.map(M => {
        +                if (M instanceof AST_ObjectKeyVal) {
        +                    var computed = M.computed_key();
        +                    const [shorthand, key] = to_moz_property_key(M.key, computed, M.quote, M.value);
        +
        +                    return {
        +                        type: "Property",
        +                        computed,
        +                        kind: "init",
        +                        key: key,
        +                        method: false,
        +                        shorthand,
        +                        value: to_moz_pattern(M.value)
        +                    };
        +                } else {
        +                    return to_moz_pattern(M);
        +                }
        +            }),
        +        };
        +    });
        +
        +    def_to_moz(AST_DefaultAssign, function To_Moz_AssignmentExpression(M) {
        +        return {
        +            type: "AssignmentPattern",
        +            left: to_moz_pattern(M.left),
        +            right: to_moz(M.right),
        +        };
        +    });
        +
        +    def_to_moz(AST_Directive, function To_Moz_Directive(M) {
        +        return {
        +            type: "ExpressionStatement",
        +            expression: {
        +                type: "Literal",
        +                value: M.value,
        +                raw: M.print_to_string()
        +            },
        +            directive: M.value
        +        };
        +    });
        +
        +    def_to_moz(AST_SimpleStatement, function To_Moz_ExpressionStatement(M) {
        +        return {
        +            type: "ExpressionStatement",
        +            expression: to_moz(M.body)
        +        };
        +    });
        +
        +    def_to_moz(AST_SwitchBranch, function To_Moz_SwitchCase(M) {
        +        return {
        +            type: "SwitchCase",
        +            test: to_moz(M.expression),
        +            consequent: M.body.map(to_moz)
        +        };
        +    });
        +
        +    def_to_moz(AST_Try, function To_Moz_TryStatement(M) {
        +        return {
        +            type: "TryStatement",
        +            block: to_moz_block(M.body),
        +            handler: to_moz(M.bcatch),
        +            guardedHandlers: [],
        +            finalizer: to_moz(M.bfinally)
        +        };
        +    });
        +
        +    def_to_moz(AST_Catch, function To_Moz_CatchClause(M) {
        +        return {
        +            type: "CatchClause",
        +            param: M.argname != null ? to_moz_pattern(M.argname) : null,
        +            body: to_moz_block(M)
        +        };
        +    });
        +
        +    def_to_moz(AST_DefinitionsLike, function To_Moz_VariableDeclaration(M) {
        +        return {
        +            type: "VariableDeclaration",
        +            kind:
        +                M instanceof AST_Const ? "const" :
        +                M instanceof AST_Let ? "let" :
        +                M instanceof AST_Using ? (M.await ? "await using" : "using") :
        +                "var",
        +            declarations: M.definitions.map(to_moz)
        +        };
        +    });
        +
        +    function import_attributes_to_moz(attribute) {
        +        const import_attributes = [];
        +        if (attribute) {
        +            for (const { key, value } of attribute.properties) {
        +                const key_moz = is_basic_identifier_string(key)
        +                    ? { type: "Identifier", name: key }
        +                    : { type: "Literal", value: key, raw: JSON.stringify(key) };
        +                import_attributes.push({
        +                    type: "ImportAttribute",
        +                    key: key_moz,
        +                    value: to_moz(value)
        +                });
        +            }
        +        }
        +        return import_attributes;
        +    }
        +
        +    def_to_moz(AST_Export, function To_Moz_ExportDeclaration(M) {
        +        if (M.exported_names) {
        +            var first_exported = M.exported_names[0];
        +            if (first_exported && first_exported.name.name === "*" && !first_exported.name.quote) {
        +                var foreign_name = first_exported.foreign_name;
        +                var exported = foreign_name.name === "*" && !foreign_name.quote
        +                    ? null
        +                    : to_moz(foreign_name);
        +                return {
        +                    type: "ExportAllDeclaration",
        +                    source: to_moz(M.module_name),
        +                    exported: exported,
        +                    attributes: import_attributes_to_moz(M.attributes)
        +                };
        +            }
        +            return {
        +                type: "ExportNamedDeclaration",
        +                specifiers: M.exported_names.map(function (name_mapping) {
        +                    return {
        +                        type: "ExportSpecifier",
        +                        exported: to_moz(name_mapping.foreign_name),
        +                        local: to_moz(name_mapping.name)
        +                    };
        +                }),
        +                declaration: to_moz(M.exported_definition),
        +                source: to_moz(M.module_name),
        +                attributes: import_attributes_to_moz(M.attributes)
        +            };
        +        }
        +
        +        if (M.is_default) {
        +            return {
        +                type: "ExportDefaultDeclaration",
        +                declaration: to_moz(M.exported_value || M.exported_definition),
        +            };
        +        } else {
        +            return {
        +                type: "ExportNamedDeclaration",
        +                declaration: to_moz(M.exported_value || M.exported_definition),
        +                specifiers: [],
        +                source: null,
        +            };
        +        }
        +    });
        +
        +    def_to_moz(AST_Import, function To_Moz_ImportDeclaration(M) {
        +        var specifiers = [];
        +        if (M.imported_name) {
        +            specifiers.push({
        +                type: "ImportDefaultSpecifier",
        +                local: to_moz(M.imported_name)
        +            });
        +        }
        +        if (M.imported_names) {
        +            var first_imported_foreign_name = M.imported_names[0].foreign_name;
        +            if (first_imported_foreign_name.name === "*" && !first_imported_foreign_name.quote) {
        +                specifiers.push({
        +                    type: "ImportNamespaceSpecifier",
        +                    local: to_moz(M.imported_names[0].name)
        +                });
        +            } else {
        +                M.imported_names.forEach(function(name_mapping) {
        +                    specifiers.push({
        +                        type: "ImportSpecifier",
        +                        local: to_moz(name_mapping.name),
        +                        imported: to_moz(name_mapping.foreign_name)
        +                    });
        +                });
        +            }
        +        }
        +        return {
        +            type: "ImportDeclaration",
        +            specifiers: specifiers,
        +            source: to_moz(M.module_name),
        +            attributes: import_attributes_to_moz(M.attributes)
        +        };
        +    });
        +
        +    def_to_moz(AST_ImportMeta, function To_Moz_MetaProperty() {
        +        return {
        +            type: "MetaProperty",
        +            meta: {
        +                type: "Identifier",
        +                name: "import"
        +            },
        +            property: {
        +                type: "Identifier",
        +                name: "meta"
        +            }
        +        };
        +    });
        +
        +    def_to_moz(AST_Sequence, function To_Moz_SequenceExpression(M) {
        +        return {
        +            type: "SequenceExpression",
        +            expressions: M.expressions.map(to_moz)
        +        };
        +    });
        +
        +    def_to_moz(AST_DotHash, function To_Moz_PrivateMemberExpression(M) {
        +        return {
        +            type: "MemberExpression",
        +            object: to_moz(M.expression),
        +            computed: false,
        +            property: {
        +                type: "PrivateIdentifier",
        +                name: M.property
        +            },
        +            optional: M.optional
        +        };
        +    });
        +
        +    def_to_moz(AST_PropAccess, function To_Moz_MemberExpression(M) {
        +        var isComputed = M instanceof AST_Sub;
        +        return {
        +            type: "MemberExpression",
        +            object: to_moz(M.expression),
        +            computed: isComputed,
        +            property: isComputed ? to_moz(M.property) : {type: "Identifier", name: M.property},
        +            optional: M.optional
        +        };
        +    });
        +
        +    def_to_moz(AST_Chain, function To_Moz_ChainExpression(M) {
        +        return {
        +            type: "ChainExpression",
        +            expression: to_moz(M.expression)
        +        };
        +    });
        +
        +    def_to_moz(AST_Unary, function To_Moz_Unary(M) {
        +        return {
        +            type: M.operator == "++" || M.operator == "--" ? "UpdateExpression" : "UnaryExpression",
        +            operator: M.operator,
        +            prefix: M instanceof AST_UnaryPrefix,
        +            argument: to_moz(M.expression)
        +        };
        +    });
        +
        +    def_to_moz(AST_Binary, function To_Moz_BinaryExpression(M) {
        +        if (M.operator == "=" && to_moz_in_destructuring()) {
        +            return {
        +                type: "AssignmentPattern",
        +                left: to_moz(M.left),
        +                right: to_moz(M.right)
        +            };
        +        }
        +
        +        const type = M.operator == "&&" || M.operator == "||" || M.operator === "??"
        +            ? "LogicalExpression"
        +            : "BinaryExpression";
        +
        +        return {
        +            type,
        +            left: to_moz(M.left),
        +            operator: M.operator,
        +            right: to_moz(M.right)
        +        };
        +    });
        +
        +    def_to_moz(AST_Assign, function To_Moz_AssignmentExpression(M) {
        +        return {
        +            type: "AssignmentExpression",
        +            operator: M.operator,
        +            left: to_moz(M.left),
        +            right: to_moz(M.right)
        +        };
        +    });
        +
        +    def_to_moz(AST_PrivateIn, function To_Moz_BinaryExpression_PrivateIn(M) {
        +        return {
        +            type: "BinaryExpression",
        +            left: { type: "PrivateIdentifier", name: M.key.name },
        +            operator: "in",
        +            right: to_moz(M.value),
        +        };
        +    });
        +
        +    def_to_moz(AST_Array, function To_Moz_ArrayExpression(M) {
        +        return {
        +            type: "ArrayExpression",
        +            elements: M.elements.map(to_moz)
        +        };
        +    });
        +
        +    def_to_moz(AST_Object, function To_Moz_ObjectExpression(M) {
        +        return {
        +            type: "ObjectExpression",
        +            properties: M.properties.map(to_moz)
        +        };
        +    });
        +
        +    def_to_moz(AST_ObjectProperty, function To_Moz_Property(M, parent) {
        +        var computed = M.computed_key();
        +        const [shorthand, key] = to_moz_property_key(M.key, computed, M.quote, M.value);
        +
        +        var kind;
        +        if (M instanceof AST_ObjectGetter) {
        +            kind = "get";
        +        } else
        +        if (M instanceof AST_ObjectSetter) {
        +            kind = "set";
        +        }
        +        if (M instanceof AST_PrivateGetter || M instanceof AST_PrivateSetter) {
        +            const kind = M instanceof AST_PrivateGetter ? "get" : "set";
        +            return {
        +                type: "MethodDefinition",
        +                computed: false,
        +                kind: kind,
        +                static: M.static,
        +                key: {
        +                    type: "PrivateIdentifier",
        +                    name: M.key.name
        +                },
        +                value: to_moz(M.value)
        +            };
        +        }
        +        if (M instanceof AST_ClassPrivateProperty) {
        +            return {
        +                type: "PropertyDefinition",
        +                key: {
        +                    type: "PrivateIdentifier",
        +                    name: M.key.name
        +                },
        +                value: to_moz(M.value),
        +                computed: false,
        +                static: M.static
        +            };
        +        }
        +        if (M instanceof AST_ClassProperty) {
        +            return {
        +                type: "PropertyDefinition",
        +                key,
        +                value: to_moz(M.value),
        +                computed,
        +                static: M.static
        +            };
        +        }
        +        if (parent instanceof AST_Class) {
        +            return {
        +                type: "MethodDefinition",
        +                computed: computed,
        +                kind: kind,
        +                static: M.static,
        +                key: to_moz(M.key),
        +                value: to_moz(M.value)
        +            };
        +        }
        +        return {
        +            type: "Property",
        +            computed: computed,
        +            method: false,
        +            shorthand,
        +            kind: kind,
        +            key: key,
        +            value: to_moz(M.value)
        +        };
        +    });
        +
        +    def_to_moz(AST_ObjectKeyVal, function To_Moz_Property(M) {
        +        var computed = M.computed_key();
        +        const [shorthand, key] = to_moz_property_key(M.key, computed, M.quote, M.value);
        +
        +        return {
        +            type: "Property",
        +            computed: computed,
        +            shorthand: shorthand,
        +            method: false,
        +            kind: "init",
        +            key: key,
        +            value: to_moz(M.value)
        +        };
        +    });
        +
        +    def_to_moz(AST_ConciseMethod, function To_Moz_MethodDefinition(M, parent) {
        +        const computed = M.computed_key();
        +        const [_always_false, key] = to_moz_property_key(M.key, computed, M.quote, M.value);
        +
        +        if (parent instanceof AST_Object) {
        +            return {
        +                type: "Property",
        +                kind: "init",
        +                computed,
        +                method: true,
        +                shorthand: false,
        +                key,
        +                value: to_moz(M.value),
        +            };
        +        }
        +
        +        return {
        +            type: "MethodDefinition",
        +            kind: !computed && M.key.name === "constructor" ? "constructor" : "method",
        +            computed,
        +            key,
        +            value: to_moz(M.value),
        +            static: M.static,
        +        };
        +    });
        +
        +    def_to_moz(AST_PrivateMethod, function To_Moz_MethodDefinition(M) {
        +        return {
        +            type: "MethodDefinition",
        +            kind: "method",
        +            key: { type: "PrivateIdentifier", name: M.key.name },
        +            value: to_moz(M.value),
        +            computed: false,
        +            static: M.static,
        +        };
        +    });
        +
        +    def_to_moz(AST_Class, function To_Moz_Class(M) {
        +        var type = M instanceof AST_ClassExpression ? "ClassExpression" : "ClassDeclaration";
        +        return {
        +            type: type,
        +            superClass: to_moz(M.extends),
        +            id: M.name ? to_moz(M.name) : null,
        +            body: {
        +                type: "ClassBody",
        +                body: M.properties.map(to_moz)
        +            }
        +        };
        +    });
        +
        +    def_to_moz(AST_ClassStaticBlock, function To_Moz_StaticBlock(M) {
        +        return {
        +            type: "StaticBlock",
        +            body: M.body.map(to_moz),
        +        };
        +    });
        +
        +    def_to_moz(AST_NewTarget, function To_Moz_MetaProperty() {
        +        return {
        +            type: "MetaProperty",
        +            meta: {
        +                type: "Identifier",
        +                name: "new"
        +            },
        +            property: {
        +                type: "Identifier",
        +                name: "target"
        +            }
        +        };
        +    });
        +
        +    def_to_moz(AST_Symbol, function To_Moz_Identifier(M, parent) {
        +        if (
        +            (M instanceof AST_SymbolMethod && parent.quote) ||
        +            ((
        +                M instanceof AST_SymbolImportForeign ||
        +                M instanceof AST_SymbolExportForeign ||
        +                M instanceof AST_SymbolExport
        +                ) && M.quote)
        +         ) {
        +            return {
        +                type: "Literal",
        +                value: M.name
        +            };
        +        }
        +        var def = M.definition();
        +        return {
        +            type: "Identifier",
        +            name: def ? def.mangled_name || def.name : M.name
        +        };
        +    });
        +
        +    def_to_moz(AST_RegExp, function To_Moz_RegExpLiteral(M) {
        +        const pattern = M.value.source;
        +        const flags = M.value.flags;
        +        return {
        +            type: "Literal",
        +            value: null,
        +            raw: M.print_to_string(),
        +            regex: { pattern, flags }
        +        };
        +    });
        +
        +    def_to_moz(AST_Constant, function To_Moz_Literal(M) {
        +        var value = M.value;
        +        return {
        +            type: "Literal",
        +            value: value,
        +            raw: M.raw || M.print_to_string()
        +        };
        +    });
        +
        +    def_to_moz(AST_Atom, function To_Moz_Atom(M) {
        +        return {
        +            type: "Identifier",
        +            name: String(M.value)
        +        };
        +    });
        +
        +    def_to_moz(AST_BigInt, M => ({
        +        type: "Literal",
        +        // value cannot be represented natively
        +        // see: https://github.com/estree/estree/blob/master/es2020.md#bigintliteral
        +        value: null,
        +        // `M.value` is a string that may be a hex number representation.
        +        // but "bigint" property should have only decimal digits
        +        bigint: typeof BigInt === "function" ? BigInt(M.value).toString() : M.value,
        +        raw: M.raw,
        +    }));
        +
        +    AST_Boolean.DEFMETHOD("to_mozilla_ast", AST_Constant.prototype.to_mozilla_ast);
        +    AST_Null.DEFMETHOD("to_mozilla_ast", AST_Constant.prototype.to_mozilla_ast);
        +    AST_Hole.DEFMETHOD("to_mozilla_ast", function To_Moz_ArrayHole() { return null; });
        +
        +    AST_Block.DEFMETHOD("to_mozilla_ast", AST_BlockStatement.prototype.to_mozilla_ast);
        +    AST_Lambda.DEFMETHOD("to_mozilla_ast", AST_Function.prototype.to_mozilla_ast);
        +
        +    /* -----[ tools ]----- */
        +
        +    function my_start_token(moznode) {
        +        var loc = moznode.loc, start = loc && loc.start;
        +        var range = moznode.range;
        +        return new AST_Token(
        +            "",
        +            "",
        +            start && start.line || 0,
        +            start && start.column || 0,
        +            range ? range [0] : moznode.start,
        +            false,
        +            [],
        +            [],
        +            loc && loc.source,
        +        );
        +    }
        +
        +    function my_end_token(moznode) {
        +        var loc = moznode.loc, end = loc && loc.end;
        +        var range = moznode.range;
        +        return new AST_Token(
        +            "",
        +            "",
        +            end && end.line || 0,
        +            end && end.column || 0,
        +            range ? range [0] : moznode.end,
        +            false,
        +            [],
        +            [],
        +            loc && loc.source,
        +        );
        +    }
        +
        +    var FROM_MOZ_LABELS = null;
        +
        +    function from_moz(node) {
        +        if (node == null) return null;
        +        return MOZ_TO_ME[node.type](node);
        +    }
        +
        +    function from_moz_quote(moz_key, computed) {
        +        if (!computed && moz_key.type === "Literal" && typeof moz_key.value === "string") {
        +            return '"';
        +        } else {
        +            return "";
        +        }
        +    }
        +
        +    function from_moz_symbol(symbol_type, M, has_quote) {
        +        return new symbol_type({
        +            start: my_start_token(M),
        +            quote: has_quote ? '"' : undefined,
        +            name: M.type === "Identifier" ? M.name : String(M.value),
        +            end: my_end_token(M),
        +        });
        +    }
        +
        +    function from_moz_lambda(M, is_method) {
        +        return new (is_method ? AST_Accessor : AST_Function)({
        +            start: my_start_token(M),
        +            end: my_end_token(M),
        +            name: M.id && from_moz_symbol(is_method ? AST_SymbolMethod : AST_SymbolLambda, M.id),
        +            argnames: M.params.map(M => from_moz_pattern(M, AST_SymbolFunarg)),
        +            is_generator: M.generator,
        +            async: M.async,
        +            body: normalize_directives(from_moz(M.body).body)
        +        });
        +    }
        +
        +    function from_moz_pattern(M, sym_type) {
        +        switch (M.type) {
        +            case "ObjectPattern":
        +                return new AST_Destructuring({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    names: M.properties.map(p => from_moz_pattern(p, sym_type)),
        +                    is_array: false
        +                });
        +
        +            case "Property":
        +                var key = M.key;
        +                var args = {
        +                    start    : my_start_token(key || M.value),
        +                    end      : my_end_token(M.value),
        +                    key      : key.type == "Identifier" ? key.name : String(key.value),
        +                    quote    : !M.computed && key.type === "Literal" && typeof key.value === "string"
        +                                ? '"'
        +                                : "",
        +                    value    : from_moz_pattern(M.value, sym_type)
        +                };
        +                if (M.computed) {
        +                    args.key = from_moz(M.key);
        +                }
        +                return new AST_ObjectKeyVal(args);
        +
        +            case "ArrayPattern":
        +                return new AST_Destructuring({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    names: M.elements.map(function(elm) {
        +                        if (elm === null) {
        +                            return new AST_Hole();
        +                        }
        +                        return from_moz_pattern(elm, sym_type);
        +                    }),
        +                    is_array: true
        +                });
        +
        +            case "SpreadElement":
        +            case "RestElement":
        +                return new AST_Expansion({
        +                    start: my_start_token(M),
        +                    end: my_end_token(M),
        +                    expression: from_moz_pattern(M.argument, sym_type),
        +                });
        +
        +            case "AssignmentPattern":
        +                return new AST_DefaultAssign({
        +                    start : my_start_token(M),
        +                    end   : my_end_token(M),
        +                    left  : from_moz_pattern(M.left, sym_type),
        +                    operator: "=",
        +                    right : from_moz(M.right),
        +                });
        +
        +            case "Identifier":
        +                return new sym_type({
        +                    start : my_start_token(M),
        +                    end   : my_end_token(M),
        +                    name  : M.name,
        +                });
        +
        +            default:
        +                throw new Error("Invalid node type for destructuring: " + M.type);
        +        }
        +    }
        +
        +    function from_moz_label_ref(m_label) {
        +        if (!m_label) return null;
        +
        +        const label = from_moz_symbol(AST_LabelRef, m_label);
        +
        +        let i = FROM_MOZ_LABELS.length;
        +        while (i--) {
        +            const label_origin = FROM_MOZ_LABELS[i];
        +
        +            if (label.name === label_origin.name) {
        +                label.thedef = label_origin;
        +                break;
        +            }
        +        }
        +
        +        return label;
        +    }
        +
        +    AST_Node.from_mozilla_ast = function(node) {
        +        var save_labels = FROM_MOZ_LABELS;
        +        FROM_MOZ_LABELS = [];
        +        var ast = from_moz(node);
        +        FROM_MOZ_LABELS = save_labels;
        +        return ast;
        +    };
        +
        +    function set_moz_loc(mynode, moznode) {
        +        var start = mynode.start;
        +        var end = mynode.end;
        +        if (!(start && end)) {
        +            return moznode;
        +        }
        +        if (start.pos != null && end.endpos != null) {
        +            moznode.range = [start.pos, end.endpos];
        +        }
        +        if (start.line) {
        +            moznode.loc = {
        +                start: {line: start.line, column: start.col},
        +                end: end.endline ? {line: end.endline, column: end.endcol} : null
        +            };
        +            if (start.file) {
        +                moznode.loc.source = start.file;
        +            }
        +        }
        +        return moznode;
        +    }
        +
        +    function def_to_moz(mytype, handler) {
        +        mytype.DEFMETHOD("to_mozilla_ast", function(parent) {
        +            return set_moz_loc(this, handler(this, parent));
        +        });
        +    }
        +
        +    var TO_MOZ_STACK = null;
        +
        +    function to_moz(node) {
        +        if (TO_MOZ_STACK === null) { TO_MOZ_STACK = []; }
        +        TO_MOZ_STACK.push(node);
        +        var ast = node != null ? node.to_mozilla_ast(TO_MOZ_STACK[TO_MOZ_STACK.length - 2]) : null;
        +        TO_MOZ_STACK.pop();
        +        if (TO_MOZ_STACK.length === 0) { TO_MOZ_STACK = null; }
        +        return ast;
        +    }
        +
        +    /** Object property keys can be number literals, string literals, or raw names. Additionally they can be shorthand. We decide that here. */
        +    function to_moz_property_key(key, computed = false, quote = false, value = null) {
        +        if (computed) {
        +            return [false, to_moz(key)];
        +        }
        +
        +        const key_name = typeof key === "string" ? key : key.name;
        +        let moz_key;
        +        if (quote) {
        +            moz_key = { type: "Literal", value: key_name, raw: JSON.stringify(key_name) };
        +        } else if ("" + +key_name === key_name && +key_name >= 0) {
        +            // representable as a number
        +            moz_key = { type: "Literal", value: +key_name, raw: JSON.stringify(+key_name) };
        +        } else {
        +            moz_key = { type: "Identifier", name: key_name };
        +        }
        +
        +        const shorthand =
        +            moz_key.type === "Identifier"
        +            && moz_key.name === key_name
        +            && (value instanceof AST_Symbol && value.name === key_name
        +                || value instanceof AST_DefaultAssign && value.left.name === key_name);
        +        return [shorthand, moz_key];
        +    }
        +
        +    function to_moz_pattern(node) {
        +        if (node instanceof AST_Expansion) {
        +            return {
        +                type: "RestElement",
        +                argument: to_moz_pattern(node.expression),
        +            };
        +        }
        +
        +        if ((
        +            node instanceof AST_Symbol
        +            || node instanceof AST_Destructuring
        +            || node instanceof AST_DefaultAssign
        +            || node instanceof AST_PropAccess
        +        )) {
        +            // Plain translation
        +            return to_moz(node);
        +        }
        +
        +        throw new Error(node.TYPE);
        +    }
        +
        +    function to_moz_in_destructuring() {
        +        var i = TO_MOZ_STACK.length;
        +        while (i--) {
        +            if (TO_MOZ_STACK[i] instanceof AST_Destructuring) {
        +                return true;
        +            }
        +        }
        +        return false;
        +    }
        +
        +    function to_moz_block(node) {
        +        return {
        +            type: "BlockStatement",
        +            body: node.body.map(to_moz)
        +        };
        +    }
        +
        +    function to_moz_scope(type, node) {
        +        var body = node.body.map(to_moz);
        +        if (node.body[0] instanceof AST_SimpleStatement && node.body[0].body instanceof AST_String) {
        +            body.unshift(to_moz(new AST_EmptyStatement(node.body[0])));
        +        }
        +        return {
        +            type: type,
        +            body: body
        +        };
        +    }
        +})();
        +
        +;// ./node_modules/terser/lib/utils/first_in_statement.js
        +
        +
        +// return true if the node at the top of the stack (that means the
        +// innermost node in the current output) is lexically the first in
        +// a statement.
        +function first_in_statement(stack) {
        +    let node = stack.parent(-1);
        +    for (let i = 0, p; p = stack.parent(i); i++) {
        +        if (p instanceof AST_Statement && p.body === node)
        +            return true;
        +        if ((p instanceof AST_Sequence && p.expressions[0] === node) ||
        +            (p.TYPE === "Call" && p.expression === node) ||
        +            (p instanceof AST_PrefixedTemplateString && p.prefix === node) ||
        +            (p instanceof AST_Dot && p.expression === node) ||
        +            (p instanceof AST_Sub && p.expression === node) ||
        +            (p instanceof AST_Chain && p.expression === node) ||
        +            (p instanceof AST_Conditional && p.condition === node) ||
        +            (p instanceof AST_Binary && p.left === node) ||
        +            (p instanceof AST_UnaryPostfix && p.expression === node)
        +        ) {
        +            node = p;
        +        } else {
        +            return false;
        +        }
        +    }
        +}
        +
        +// Returns whether the leftmost item in the expression is an object
        +function left_is_object(node) {
        +    if (node instanceof AST_Object) return true;
        +    if (node instanceof AST_Sequence) return left_is_object(node.expressions[0]);
        +    if (node.TYPE === "Call") return left_is_object(node.expression);
        +    if (node instanceof AST_PrefixedTemplateString) return left_is_object(node.prefix);
        +    if (node instanceof AST_Dot || node instanceof AST_Sub) return left_is_object(node.expression);
        +    if (node instanceof AST_Chain) return left_is_object(node.expression);
        +    if (node instanceof AST_Conditional) return left_is_object(node.condition);
        +    if (node instanceof AST_Binary) return left_is_object(node.left);
        +    if (node instanceof AST_UnaryPostfix) return left_is_object(node.expression);
        +    return false;
        +}
        +
        +
        +
        +;// ./node_modules/terser/lib/output.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +const CODE_LINE_BREAK = 10;
        +const CODE_SPACE = 32;
        +
        +const r_annotation = /[@#]__(PURE|INLINE|NOINLINE)__/;
        +
        +function is_some_comments(comment) {
        +    // multiline comment
        +    return (
        +        (comment.type === "comment2" || comment.type === "comment1")
        +        && /@preserve|@copyright|@lic|@cc_on|^\**!/i.test(comment.value)
        +    );
        +}
        +
        +const ROPE_COMMIT_WHEN = 8 * 1000;
        +class Rope {
        +    constructor() {
        +        this.committed = "";
        +        this.current = "";
        +    }
        +
        +    append(str) {
        +        /** When `this.current` is too long, commit it. */
        +        if (this.current.length > ROPE_COMMIT_WHEN) {
        +            this.committed += this.current + str;
        +            this.current = "";
        +        } else {
        +            this.current += str;
        +        }
        +    }
        +
        +    insertAt(char, index) {
        +        const { committed, current } = this;
        +        if (index < committed.length) {
        +            this.committed = committed.slice(0, index) + char + committed.slice(index);
        +        } else if (index === committed.length) {
        +            this.committed += char;
        +        } else {
        +            index -= committed.length;
        +            this.committed += current.slice(0, index) + char;
        +            this.current = current.slice(index);
        +        }
        +    }
        +
        +    charAt(index) {
        +        const { committed } = this;
        +        if (index < committed.length) return committed[index];
        +        return this.current[index - committed.length];
        +    }
        +
        +    charCodeAt(index) {
        +        const { committed } = this;
        +        if (index < committed.length) return committed.charCodeAt(index);
        +        return this.current.charCodeAt(index - committed.length);
        +    }
        +
        +    length() {
        +        return this.committed.length + this.current.length;
        +    }
        +
        +    expectDirective() {
        +        // /^$|[;{][\s\n]*$/
        +
        +        let ch, n = this.length();
        +
        +        if (n <= 0) return true;
        +
        +        // Skip N whitespace from the end
        +        while (
        +            (ch = this.charCodeAt(--n))
        +            && (ch == CODE_SPACE || ch == CODE_LINE_BREAK)
        +        );
        +
        +        // either ";", or "{", or the string ended
        +        return !ch || ch === 59 || ch === 123;
        +    }
        +
        +    hasNLB() {
        +        let n = this.length() - 1;
        +        while (n >= 0) {
        +            const code = this.charCodeAt(n--);
        +
        +            if (code === CODE_LINE_BREAK) return true;
        +            if (code !== CODE_SPACE) return false;
        +        }
        +        return true;
        +    }
        +
        +
        +    toString() {
        +        return this.committed + this.current;
        +    }
        +}
        +
        +function OutputStream(options) {
        +
        +    var readonly = !options;
        +    options = utils_defaults(options, {
        +        ascii_only           : false,
        +        beautify             : false,
        +        braces               : false,
        +        comments             : "some",
        +        ecma                 : 5,
        +        ie8                  : false,
        +        indent_level         : 4,
        +        indent_start         : 0,
        +        inline_script        : true,
        +        keep_numbers         : false,
        +        keep_quoted_props    : false,
        +        max_line_len         : false,
        +        preamble             : null,
        +        preserve_annotations : false,
        +        quote_keys           : false,
        +        quote_style          : 0,
        +        safari10             : false,
        +        semicolons           : true,
        +        shebang              : true,
        +        shorthand            : undefined,
        +        source_map           : null,
        +        webkit               : false,
        +        width                : 80,
        +        wrap_iife            : false,
        +        wrap_func_args       : false,
        +
        +        _destroy_ast         : false
        +    }, true);
        +
        +    if (options.shorthand === undefined)
        +        options.shorthand = options.ecma > 5;
        +
        +    // Convert comment option to RegExp if necessary and set up comments filter
        +    var comment_filter = return_false; // Default case, throw all comments away
        +    if (options.comments) {
        +        let comments = options.comments;
        +        if (typeof options.comments === "string" && /^\/.*\/[a-zA-Z]*$/.test(options.comments)) {
        +            var regex_pos = options.comments.lastIndexOf("/");
        +            comments = new RegExp(
        +                options.comments.substr(1, regex_pos - 1),
        +                options.comments.substr(regex_pos + 1)
        +            );
        +        }
        +        if (comments instanceof RegExp) {
        +            comment_filter = function(comment) {
        +                return comment.type != "comment5" && comments.test(comment.value);
        +            };
        +        } else if (typeof comments === "function") {
        +            comment_filter = function(comment) {
        +                return comment.type != "comment5" && comments(this, comment);
        +            };
        +        } else if (comments === "some") {
        +            comment_filter = is_some_comments;
        +        } else { // NOTE includes "all" option
        +            comment_filter = return_true;
        +        }
        +    }
        +
        +    if (options.preserve_annotations) {
        +        let prev_comment_filter = comment_filter;
        +        comment_filter = function (comment) {
        +            return r_annotation.test(comment.value) || prev_comment_filter.apply(this, arguments);
        +        };
        +    }
        +
        +    var indentation = 0;
        +    var current_col = 0;
        +    var current_line = 1;
        +    var current_pos = 0;
        +    var OUTPUT = new Rope();
        +    let printed_comments = new Set();
        +
        +    var to_utf8 = options.ascii_only ? function(str, identifier = false, regexp = false) {
        +        if (options.ecma >= 2015 && !options.safari10 && !regexp) {
        +            str = str.replace(/[\ud800-\udbff][\udc00-\udfff]/g, function(ch) {
        +                var code = get_full_char_code(ch, 0).toString(16);
        +                return "\\u{" + code + "}";
        +            });
        +        }
        +        return str.replace(/[\u0000-\u001f\u007f-\uffff]/g, function(ch) {
        +            var code = ch.charCodeAt(0).toString(16);
        +            if (code.length <= 2 && !identifier) {
        +                while (code.length < 2) code = "0" + code;
        +                return "\\x" + code;
        +            } else {
        +                while (code.length < 4) code = "0" + code;
        +                return "\\u" + code;
        +            }
        +        });
        +    } : function(str) {
        +        return str.replace(/[\ud800-\udbff][\udc00-\udfff]|([\ud800-\udbff]|[\udc00-\udfff])/g, function(match, lone) {
        +            if (lone) {
        +                return "\\u" + lone.charCodeAt(0).toString(16);
        +            }
        +            return match;
        +        });
        +    };
        +
        +    function make_string(str, quote) {
        +        var dq = 0, sq = 0;
        +        str = str.replace(/[\\\b\f\n\r\v\t\x22\x27\u2028\u2029\0\ufeff]/g,
        +          function(s, i) {
        +            switch (s) {
        +              case '"': ++dq; return '"';
        +              case "'": ++sq; return "'";
        +              case "\\": return "\\\\";
        +              case "\n": return "\\n";
        +              case "\r": return "\\r";
        +              case "\t": return "\\t";
        +              case "\b": return "\\b";
        +              case "\f": return "\\f";
        +              case "\x0B": return options.ie8 ? "\\x0B" : "\\v";
        +              case "\u2028": return "\\u2028";
        +              case "\u2029": return "\\u2029";
        +              case "\ufeff": return "\\ufeff";
        +              case "\0":
        +                  return /[0-9]/.test(get_full_char(str, i+1)) ? "\\x00" : "\\0";
        +            }
        +            return s;
        +        });
        +        function quote_single() {
        +            return "'" + str.replace(/\x27/g, "\\'") + "'";
        +        }
        +        function quote_double() {
        +            return '"' + str.replace(/\x22/g, '\\"') + '"';
        +        }
        +        function quote_template() {
        +            return "`" + str.replace(/`/g, "\\`") + "`";
        +        }
        +        str = to_utf8(str);
        +        if (quote === "`") return quote_template();
        +        switch (options.quote_style) {
        +          case 1:
        +            return quote_single();
        +          case 2:
        +            return quote_double();
        +          case 3:
        +            return quote == "'" ? quote_single() : quote_double();
        +          default:
        +            return dq > sq ? quote_single() : quote_double();
        +        }
        +    }
        +
        +    function encode_string(str, quote) {
        +        var ret = make_string(str, quote);
        +        if (options.inline_script) {
        +            ret = ret.replace(/<\x2f(script)([>\/\t\n\f\r ])/gi, "<\\/$1$2");
        +            ret = ret.replace(/\x3c!--/g, "\\x3c!--");
        +            ret = ret.replace(/--\x3e/g, "--\\x3e");
        +        }
        +        return ret;
        +    }
        +
        +    function make_name(name) {
        +        name = name.toString();
        +        name = to_utf8(name, true);
        +        return name;
        +    }
        +
        +    function make_indent(back) {
        +        return " ".repeat(options.indent_start + indentation - back * options.indent_level);
        +    }
        +
        +    /* -----[ beautification/minification ]----- */
        +
        +    var has_parens = false;
        +    var might_need_space = false;
        +    var might_need_semicolon = false;
        +    var might_add_newline = 0;
        +    var need_newline_indented = false;
        +    var need_space = false;
        +    var newline_insert = -1;
        +    var last = "";
        +    var mapping_token, mapping_name, mappings = options.source_map && [];
        +
        +    var do_add_mapping = mappings ? function() {
        +        mappings.forEach(function(mapping) {
        +            try {
        +                let { name, token } = mapping;
        +                if (name !== false) {
        +                    if (token.type == "name" || token.type === "privatename") {
        +                        name = token.value;
        +                    } else if (name instanceof AST_Symbol) {
        +                        name = token.type === "string" ? token.value : name.name;
        +                    }
        +                }
        +                options.source_map.add(
        +                    mapping.token.file,
        +                    mapping.line, mapping.col,
        +                    mapping.token.line, mapping.token.col,
        +                    is_basic_identifier_string(name) ? name : undefined
        +                );
        +            } catch(ex) {
        +                // Ignore bad mapping
        +            }
        +        });
        +        mappings = [];
        +    } : noop;
        +
        +    var ensure_line_len = options.max_line_len ? function() {
        +        if (current_col > options.max_line_len) {
        +            if (might_add_newline) {
        +                OUTPUT.insertAt("\n", might_add_newline);
        +                const len_after_newline = OUTPUT.length() - might_add_newline - 1;
        +                if (mappings) {
        +                    var delta = len_after_newline - current_col;
        +                    mappings.forEach(function(mapping) {
        +                        mapping.line++;
        +                        mapping.col += delta;
        +                    });
        +                }
        +                current_line++;
        +                current_pos++;
        +                current_col = len_after_newline;
        +            }
        +        }
        +        if (might_add_newline) {
        +            might_add_newline = 0;
        +            do_add_mapping();
        +        }
        +    } : noop;
        +
        +    var requireSemicolonChars = makePredicate("( [ + * / - , . `");
        +
        +    function print(str) {
        +        str = String(str);
        +        var ch = get_full_char(str, 0);
        +        if (need_newline_indented && ch) {
        +            need_newline_indented = false;
        +            if (ch !== "\n") {
        +                print("\n");
        +                indent();
        +            }
        +        }
        +        if (need_space && ch) {
        +            need_space = false;
        +            if (!/[\s;})]/.test(ch)) {
        +                space();
        +            }
        +        }
        +        newline_insert = -1;
        +        var prev = last.charAt(last.length - 1);
        +        if (might_need_semicolon) {
        +            might_need_semicolon = false;
        +
        +            if (prev === ":" && ch === "}" || (!ch || !";}".includes(ch)) && prev !== ";") {
        +                if (options.semicolons || requireSemicolonChars.has(ch)) {
        +                    OUTPUT.append(";");
        +                    current_col++;
        +                    current_pos++;
        +                } else {
        +                    ensure_line_len();
        +                    if (current_col > 0) {
        +                        OUTPUT.append("\n");
        +                        current_pos++;
        +                        current_line++;
        +                        current_col = 0;
        +                    }
        +
        +                    if (/^\s+$/.test(str)) {
        +                        // reset the semicolon flag, since we didn't print one
        +                        // now and might still have to later
        +                        might_need_semicolon = true;
        +                    }
        +                }
        +
        +                if (!options.beautify)
        +                    might_need_space = false;
        +            }
        +        }
        +
        +        if (might_need_space) {
        +            if ((is_identifier_char(prev)
        +                    && (is_identifier_char(ch) || ch == "\\"))
        +                || (ch == "/" && ch == prev)
        +                || ((ch == "+" || ch == "-") && ch == last)
        +            ) {
        +                OUTPUT.append(" ");
        +                current_col++;
        +                current_pos++;
        +            }
        +            might_need_space = false;
        +        }
        +
        +        if (mapping_token) {
        +            mappings.push({
        +                token: mapping_token,
        +                name: mapping_name,
        +                line: current_line,
        +                col: current_col
        +            });
        +            mapping_token = false;
        +            if (!might_add_newline) do_add_mapping();
        +        }
        +
        +        OUTPUT.append(str);
        +        has_parens = str[str.length - 1] == "(";
        +        current_pos += str.length;
        +        var a = str.split(/\r?\n/), n = a.length - 1;
        +        current_line += n;
        +        current_col += a[0].length;
        +        if (n > 0) {
        +            ensure_line_len();
        +            current_col = a[n].length;
        +        }
        +        last = str;
        +    }
        +
        +    var star = function() {
        +        print("*");
        +    };
        +
        +    var space = options.beautify ? function() {
        +        print(" ");
        +    } : function() {
        +        might_need_space = true;
        +    };
        +
        +    var indent = options.beautify ? function(half) {
        +        if (options.beautify) {
        +            print(make_indent(half ? 0.5 : 0));
        +        }
        +    } : noop;
        +
        +    var with_indent = options.beautify ? function(col, cont) {
        +        if (col === true) col = next_indent();
        +        var save_indentation = indentation;
        +        indentation = col;
        +        var ret = cont();
        +        indentation = save_indentation;
        +        return ret;
        +    } : function(col, cont) { return cont(); };
        +
        +    var newline = options.beautify ? function() {
        +        if (newline_insert < 0) return print("\n");
        +        if (OUTPUT.charAt(newline_insert) != "\n") {
        +            OUTPUT.insertAt("\n", newline_insert);
        +            current_pos++;
        +            current_line++;
        +        }
        +        newline_insert++;
        +    } : options.max_line_len ? function() {
        +        ensure_line_len();
        +        might_add_newline = OUTPUT.length();
        +    } : noop;
        +
        +    var semicolon = options.beautify ? function() {
        +        print(";");
        +    } : function() {
        +        might_need_semicolon = true;
        +    };
        +
        +    function force_semicolon() {
        +        might_need_semicolon = false;
        +        print(";");
        +    }
        +
        +    function next_indent() {
        +        return indentation + options.indent_level;
        +    }
        +
        +    function with_block(cont) {
        +        var ret;
        +        print("{");
        +        newline();
        +        with_indent(next_indent(), function() {
        +            ret = cont();
        +        });
        +        indent();
        +        print("}");
        +        return ret;
        +    }
        +
        +    function with_parens(cont) {
        +        print("(");
        +        //XXX: still nice to have that for argument lists
        +        //var ret = with_indent(current_col, cont);
        +        var ret = cont();
        +        print(")");
        +        return ret;
        +    }
        +
        +    function with_square(cont) {
        +        print("[");
        +        //var ret = with_indent(current_col, cont);
        +        var ret = cont();
        +        print("]");
        +        return ret;
        +    }
        +
        +    function comma() {
        +        print(",");
        +        space();
        +    }
        +
        +    function colon() {
        +        print(":");
        +        space();
        +    }
        +
        +    var add_mapping = mappings ? function(token, name) {
        +        mapping_token = token;
        +        mapping_name = name;
        +    } : noop;
        +
        +    function get() {
        +        if (might_add_newline) {
        +            ensure_line_len();
        +        }
        +        return OUTPUT.toString();
        +    }
        +
        +    function filter_comment(comment) {
        +        if (!options.preserve_annotations) {
        +            comment = comment.replace(r_annotation, " ");
        +        }
        +        if (/^\s*$/.test(comment)) {
        +            return "";
        +        }
        +        return comment.replace(/(<\s*\/\s*)(script)/i, "<\\/$2");
        +    }
        +
        +    function prepend_comments(node) {
        +        var self = this;
        +        var start = node.start;
        +        if (!start) return;
        +        var printed_comments = self.printed_comments;
        +
        +        // There cannot be a newline between return/yield and its value.
        +        const keyword_with_value = 
        +            node instanceof AST_Exit && node.value
        +            || (node instanceof AST_Await || node instanceof AST_Yield)
        +                && node.expression;
        +
        +        if (
        +            start.comments_before
        +            && printed_comments.has(start.comments_before)
        +        ) {
        +            if (keyword_with_value) {
        +                start.comments_before = [];
        +            } else {
        +                return;
        +            }
        +        }
        +
        +        var comments = start.comments_before;
        +        if (!comments) {
        +            comments = start.comments_before = [];
        +        }
        +        printed_comments.add(comments);
        +
        +        if (keyword_with_value) {
        +            var tw = new TreeWalker(function(node) {
        +                var parent = tw.parent();
        +                if (parent instanceof AST_Exit
        +                    || parent instanceof AST_Await
        +                    || parent instanceof AST_Yield
        +                    || parent instanceof AST_Binary && parent.left === node
        +                    || parent.TYPE == "Call" && parent.expression === node
        +                    || parent instanceof AST_Conditional && parent.condition === node
        +                    || parent instanceof AST_Dot && parent.expression === node
        +                    || parent instanceof AST_Sequence && parent.expressions[0] === node
        +                    || parent instanceof AST_Sub && parent.expression === node
        +                    || parent instanceof AST_UnaryPostfix) {
        +                    if (!node.start) return;
        +                    var text = node.start.comments_before;
        +                    if (text && !printed_comments.has(text)) {
        +                        printed_comments.add(text);
        +                        comments = comments.concat(text);
        +                    }
        +                } else {
        +                    return true;
        +                }
        +            });
        +            tw.push(node);
        +            keyword_with_value.walk(tw);
        +        }
        +
        +        if (current_pos == 0) {
        +            if (comments.length > 0 && options.shebang && comments[0].type === "comment5"
        +                && !printed_comments.has(comments[0])) {
        +                print("#!" + comments.shift().value + "\n");
        +                indent();
        +            }
        +            var preamble = options.preamble;
        +            if (preamble) {
        +                print(preamble.replace(/\r\n?|[\n\u2028\u2029]|\s*$/g, "\n"));
        +            }
        +        }
        +
        +        comments = comments.filter(comment_filter, node).filter(c => !printed_comments.has(c));
        +        if (comments.length == 0) return;
        +        var last_nlb = OUTPUT.hasNLB();
        +        comments.forEach(function(c, i) {
        +            printed_comments.add(c);
        +            if (!last_nlb) {
        +                if (c.nlb) {
        +                    print("\n");
        +                    indent();
        +                    last_nlb = true;
        +                } else if (i > 0) {
        +                    space();
        +                }
        +            }
        +
        +            if (/comment[134]/.test(c.type)) {
        +                var value = filter_comment(c.value);
        +                if (value) {
        +                    print("//" + value + "\n");
        +                    indent();
        +                }
        +                last_nlb = true;
        +            } else if (c.type == "comment2") {
        +                var value = filter_comment(c.value);
        +                if (value) {
        +                    print("/*" + value + "*/");
        +                }
        +                last_nlb = false;
        +            }
        +        });
        +        if (!last_nlb) {
        +            if (start.nlb) {
        +                print("\n");
        +                indent();
        +            } else {
        +                space();
        +            }
        +        }
        +    }
        +
        +    function append_comments(node, tail) {
        +        var self = this;
        +        var token = node.end;
        +        if (!token) return;
        +        var printed_comments = self.printed_comments;
        +        var comments = token[tail ? "comments_before" : "comments_after"];
        +        if (!comments || printed_comments.has(comments)) return;
        +        if (!(node instanceof AST_Statement || comments.every((c) =>
        +            !/comment[134]/.test(c.type)
        +        ))) return;
        +        printed_comments.add(comments);
        +        var insert = OUTPUT.length();
        +        comments.filter(comment_filter, node).forEach(function(c, i) {
        +            if (printed_comments.has(c)) return;
        +            printed_comments.add(c);
        +            need_space = false;
        +            if (need_newline_indented) {
        +                print("\n");
        +                indent();
        +                need_newline_indented = false;
        +            } else if (c.nlb && (i > 0 || !OUTPUT.hasNLB())) {
        +                print("\n");
        +                indent();
        +            } else if (i > 0 || !tail) {
        +                space();
        +            }
        +            if (/comment[134]/.test(c.type)) {
        +                const value = filter_comment(c.value);
        +                if (value) {
        +                    print("//" + value);
        +                }
        +                need_newline_indented = true;
        +            } else if (c.type == "comment2") {
        +                const value = filter_comment(c.value);
        +                if (value) {
        +                    print("/*" + value + "*/");
        +                }
        +                need_space = true;
        +            }
        +        });
        +        if (OUTPUT.length() > insert) newline_insert = insert;
        +    }
        +
        +    /**
        +     * When output.option("_destroy_ast") is enabled, destroy the function.
        +     * Call this after printing it.
        +     */
        +    const gc_scope =
        +      options["_destroy_ast"]
        +        ? function gc_scope(scope) {
        +            scope.body.length = 0;
        +            scope.argnames.length = 0;
        +        }
        +        : noop;
        +
        +    var stack = [];
        +    return {
        +        get             : get,
        +        toString        : get,
        +        indent          : indent,
        +        in_directive    : false,
        +        use_asm         : null,
        +        active_scope    : null,
        +        indentation     : function() { return indentation; },
        +        current_width   : function() { return current_col - indentation; },
        +        should_break    : function() { return options.width && this.current_width() >= options.width; },
        +        has_parens      : function() { return has_parens; },
        +        newline         : newline,
        +        print           : print,
        +        star            : star,
        +        space           : space,
        +        comma           : comma,
        +        colon           : colon,
        +        last            : function() { return last; },
        +        semicolon       : semicolon,
        +        force_semicolon : force_semicolon,
        +        to_utf8         : to_utf8,
        +        print_name      : function(name) { print(make_name(name)); },
        +        print_string    : function(str, quote, escape_directive) {
        +            var encoded = encode_string(str, quote);
        +            if (escape_directive === true && !encoded.includes("\\")) {
        +                // Insert semicolons to break directive prologue
        +                if (!OUTPUT.expectDirective()) {
        +                    force_semicolon();
        +                }
        +                force_semicolon();
        +            }
        +            print(encoded);
        +        },
        +        print_template_string_chars: function(str) {
        +            var encoded = encode_string(str, "`").replace(/\${/g, "\\${");
        +            return print(encoded.substr(1, encoded.length - 2));
        +        },
        +        encode_string   : encode_string,
        +        next_indent     : next_indent,
        +        with_indent     : with_indent,
        +        with_block      : with_block,
        +        with_parens     : with_parens,
        +        with_square     : with_square,
        +        add_mapping     : add_mapping,
        +        option          : function(opt) { return options[opt]; },
        +        gc_scope,
        +        printed_comments: printed_comments,
        +        prepend_comments: readonly ? noop : prepend_comments,
        +        append_comments : readonly || comment_filter === return_false ? noop : append_comments,
        +        line            : function() { return current_line; },
        +        col             : function() { return current_col; },
        +        pos             : function() { return current_pos; },
        +        push_node       : function(node) { stack.push(node); },
        +        pop_node        : function() { return stack.pop(); },
        +        parent          : function(n) {
        +            return stack[stack.length - 2 - (n || 0)];
        +        }
        +    };
        +
        +}
        +
        +/* -----[ code generators ]----- */
        +
        +(function() {
        +
        +    /* -----[ utils ]----- */
        +
        +    function DEFPRINT(nodetype, generator) {
        +        nodetype.DEFMETHOD("_codegen", generator);
        +    }
        +
        +    AST_Node.DEFMETHOD("print", function(output, force_parens) {
        +        var self = this, generator = self._codegen;
        +        if (self instanceof AST_Scope) {
        +            output.active_scope = self;
        +        } else if (!output.use_asm && self instanceof AST_Directive && self.value == "use asm") {
        +            output.use_asm = output.active_scope;
        +        }
        +        function doit() {
        +            output.prepend_comments(self);
        +            self.add_source_map(output);
        +            generator(self, output);
        +            output.append_comments(self);
        +        }
        +        output.push_node(self);
        +        if (force_parens || self.needs_parens(output)) {
        +            output.with_parens(doit);
        +        } else {
        +            doit();
        +        }
        +        output.pop_node();
        +        if (self === output.use_asm) {
        +            output.use_asm = null;
        +        }
        +    });
        +    AST_Node.DEFMETHOD("_print", AST_Node.prototype.print);
        +
        +    AST_Node.DEFMETHOD("print_to_string", function(options) {
        +        var output = OutputStream(options);
        +        this.print(output);
        +        return output.get();
        +    });
        +
        +    /* -----[ PARENTHESES ]----- */
        +
        +    function PARENS(nodetype, func) {
        +        if (Array.isArray(nodetype)) {
        +            nodetype.forEach(function(nodetype) {
        +                PARENS(nodetype, func);
        +            });
        +        } else {
        +            nodetype.DEFMETHOD("needs_parens", func);
        +        }
        +    }
        +
        +    PARENS(AST_Node, return_false);
        +
        +    // a function expression needs parens around it when it's provably
        +    // the first token to appear in a statement.
        +    PARENS(AST_Function, function(output) {
        +        if (!output.has_parens() && first_in_statement(output)) {
        +            return true;
        +        }
        +
        +        if (output.option("webkit")) {
        +            var p = output.parent();
        +            if (p instanceof AST_PropAccess && p.expression === this) {
        +                return true;
        +            }
        +        }
        +
        +        if (output.option("wrap_iife")) {
        +            var p = output.parent();
        +            if (p instanceof AST_Call && p.expression === this) {
        +                return true;
        +            }
        +        }
        +
        +        if (output.option("wrap_func_args")) {
        +            var p = output.parent();
        +            if (p instanceof AST_Call && p.args.includes(this)) {
        +                return true;
        +            }
        +        }
        +
        +        return false;
        +    });
        +
        +    PARENS(AST_Arrow, function(output) {
        +        var p = output.parent();
        +
        +        if (
        +            output.option("wrap_func_args")
        +            && p instanceof AST_Call
        +            && p.args.includes(this)
        +        ) {
        +            return true;
        +        }
        +        return p instanceof AST_PropAccess && p.expression === this
        +            || p instanceof AST_Conditional && p.condition === this;
        +    });
        +
        +    // same goes for an object literal (as in AST_Function), because
        +    // otherwise {...} would be interpreted as a block of code.
        +    PARENS(AST_Object, function(output) {
        +        return !output.has_parens() && first_in_statement(output);
        +    });
        +
        +    PARENS(AST_ClassExpression, first_in_statement);
        +
        +    PARENS(AST_Unary, function(output) {
        +        var p = output.parent();
        +        return p instanceof AST_PropAccess && p.expression === this
        +            || p instanceof AST_Call && p.expression === this
        +            || p instanceof AST_Binary
        +                && p.operator === "**"
        +                && this instanceof AST_UnaryPrefix
        +                && p.left === this
        +                && this.operator !== "++"
        +                && this.operator !== "--";
        +    });
        +
        +    PARENS(AST_Await, function(output) {
        +        var p = output.parent();
        +        return p instanceof AST_PropAccess && p.expression === this
        +            || p instanceof AST_Call && p.expression === this
        +            || p instanceof AST_Binary && p.operator === "**" && p.left === this
        +            || output.option("safari10") && p instanceof AST_UnaryPrefix;
        +    });
        +
        +    PARENS(AST_Sequence, function(output) {
        +        var p = output.parent();
        +        return p instanceof AST_Call                              // (foo, bar)() or foo(1, (2, 3), 4)
        +            || p instanceof AST_Unary                             // !(foo, bar, baz)
        +            || p instanceof AST_Binary                            // 1 + (2, 3) + 4 ==> 8
        +            || p instanceof AST_VarDefLike                        // var a = (1, 2), b = a + a; ==> b == 4
        +            || p instanceof AST_PropAccess && this !== p.property // (1, {foo:2}).foo, (1, {foo:2})["foo"], not foo[1, 2]
        +            || p instanceof AST_Array                             // [ 1, (2, 3), 4 ] ==> [ 1, 3, 4 ]
        +            || p instanceof AST_ObjectProperty                    // { foo: (1, 2) }.foo ==> 2
        +            || p instanceof AST_Conditional                       /* (false, true) ? (a = 10, b = 20) : (c = 30)
        +                                                                   * ==> 20 (side effect, set a := 10 and b := 20) */
        +            || p instanceof AST_Arrow                             // x => (x, x)
        +            || p instanceof AST_DefaultAssign                     // x => (x = (0, function(){}))
        +            || p instanceof AST_Expansion                         // [...(a, b)]
        +            || p instanceof AST_ForOf && this === p.object        // for (e of (foo, bar)) {}
        +            || p instanceof AST_Yield                             // yield (foo, bar)
        +            || p instanceof AST_Export                            // export default (foo, bar)
        +        ;
        +    });
        +
        +    PARENS(AST_Binary, function(output) {
        +        var p = output.parent();
        +        // (foo && bar)()
        +        if (p instanceof AST_Call && p.expression === this)
        +            return true;
        +        // typeof (foo && bar)
        +        if (p instanceof AST_Unary)
        +            return true;
        +        // (foo && bar)["prop"], (foo && bar).prop
        +        if (p instanceof AST_PropAccess && p.expression === this)
        +            return true;
        +        // this deals with precedence: 3 * (2 + 1)
        +        if (p instanceof AST_Binary) {
        +            const parent_op = p.operator;
        +            const op = this.operator;
        +
        +            // It is forbidden for ?? to be used with || or && without parens.
        +            if (op === "??" && (parent_op === "||" || parent_op === "&&")) {
        +                return true;
        +            }
        +            if (parent_op === "??" && (op === "||" || op === "&&")) {
        +                return true;
        +            }
        +
        +            const pp = PRECEDENCE[parent_op];
        +            const sp = PRECEDENCE[op];
        +            if (pp > sp
        +                || (pp == sp
        +                    && (this === p.right || parent_op == "**"))) {
        +                return true;
        +            }
        +        }
        +        if (p instanceof AST_PrivateIn) {
        +            const op = this.operator;
        +
        +            const pp = PRECEDENCE["in"];
        +            const sp = PRECEDENCE[op];
        +            if (pp > sp || (pp == sp && this === p.value)) {
        +                return true;
        +            }
        +        }
        +    });
        +
        +    PARENS(AST_PrivateIn, function(output) {
        +        var p = output.parent();
        +        // (#x in this)()
        +        if (p instanceof AST_Call && p.expression === this) {
        +            return true;
        +        }
        +        // typeof (#x in this)
        +        if (p instanceof AST_Unary) {
        +            return true;
        +        }
        +        // (#x in this)["prop"], (#x in this).prop
        +        if (p instanceof AST_PropAccess && p.expression === this) {
        +            return true;
        +        }
        +        // same precedence as regular in operator
        +        if (p instanceof AST_Binary) {
        +            const parent_op = p.operator;
        +
        +            const pp = PRECEDENCE[parent_op];
        +            const sp = PRECEDENCE["in"];
        +            if (pp > sp
        +                || (pp == sp
        +                    && (this === p.right || parent_op == "**"))) {
        +                return true;
        +            }
        +        }
        +        // rules are the same as binary in, but the class differs
        +        if (p instanceof AST_PrivateIn && this === p.value) {
        +            return true;
        +        }
        +    });
        +
        +    PARENS(AST_Yield, function(output) {
        +        var p = output.parent();
        +        // (yield 1) + (yield 2)
        +        // a = yield 3
        +        if (p instanceof AST_Binary && p.operator !== "=")
        +            return true;
        +        // (yield 1)()
        +        // new (yield 1)()
        +        if (p instanceof AST_Call && p.expression === this)
        +            return true;
        +        // (yield 1) ? yield 2 : yield 3
        +        if (p instanceof AST_Conditional && p.condition === this)
        +            return true;
        +        // -(yield 4)
        +        if (p instanceof AST_Unary)
        +            return true;
        +        // (yield x).foo
        +        // (yield x)['foo']
        +        if (p instanceof AST_PropAccess && p.expression === this)
        +            return true;
        +    });
        +
        +    PARENS(AST_Chain, function(output) {
        +        var p = output.parent();
        +        if (!(p instanceof AST_Call || p instanceof AST_PropAccess)) return false;
        +        return p.expression === this;
        +    });
        +
        +    PARENS(AST_PropAccess, function(output) {
        +        var p = output.parent();
        +        if (p instanceof AST_New && p.expression === this) {
        +            // i.e. new (foo.bar().baz)
        +            //
        +            // if there's one call into this subtree, then we need
        +            // parens around it too, otherwise the call will be
        +            // interpreted as passing the arguments to the upper New
        +            // expression.
        +            return walk(this, node => {
        +                if (node instanceof AST_Scope) return true;
        +                if (node instanceof AST_Call) {
        +                    return walk_abort;  // makes walk() return true.
        +                }
        +            });
        +        }
        +    });
        +
        +    PARENS(AST_Call, function(output) {
        +        var p = output.parent(), p1;
        +        if (p instanceof AST_New && p.expression === this
        +            || p instanceof AST_Export && p.is_default && this.expression instanceof AST_Function)
        +            return true;
        +
        +        // workaround for Safari bug.
        +        // https://bugs.webkit.org/show_bug.cgi?id=123506
        +        return this.expression instanceof AST_Function
        +            && p instanceof AST_PropAccess
        +            && p.expression === this
        +            && (p1 = output.parent(1)) instanceof AST_Assign
        +            && p1.left === p;
        +    });
        +
        +    PARENS(AST_New, function(output) {
        +        var p = output.parent();
        +        if (this.args.length === 0
        +            && (p instanceof AST_PropAccess // (new Date).getTime(), (new Date)["getTime"]()
        +                || p instanceof AST_Call && p.expression === this
        +                || p instanceof AST_PrefixedTemplateString && p.prefix === this)) // (new foo)(bar)
        +            return true;
        +    });
        +
        +    PARENS(AST_Number, function(output) {
        +        var p = output.parent();
        +        if (p instanceof AST_PropAccess && p.expression === this) {
        +            var value = this.getValue();
        +            if (value < 0 || /^0/.test(make_num(value))) {
        +                return true;
        +            }
        +        }
        +    });
        +
        +    PARENS(AST_BigInt, function(output) {
        +        var p = output.parent();
        +        if (p instanceof AST_PropAccess && p.expression === this) {
        +            var value = this.getValue();
        +            if (value.startsWith("-")) {
        +                return true;
        +            }
        +        }
        +    });
        +
        +    PARENS([ AST_Assign, AST_Conditional ], function(output) {
        +        var p = output.parent();
        +        // !(a = false) → true
        +        if (p instanceof AST_Unary)
        +            return true;
        +        // 1 + (a = 2) + 3 → 6, side effect setting a = 2
        +        if (p instanceof AST_Binary && !(p instanceof AST_Assign))
        +            return true;
        +        // (a = func)() —or— new (a = Object)()
        +        if (p instanceof AST_Call && p.expression === this)
        +            return true;
        +        // (a = foo) ? bar : baz
        +        if (p instanceof AST_Conditional && p.condition === this)
        +            return true;
        +        // (a = foo)["prop"] —or— (a = foo).prop
        +        if (p instanceof AST_PropAccess && p.expression === this)
        +            return true;
        +        // ({a, b} = {a: 1, b: 2}), a destructuring assignment
        +        if (this instanceof AST_Assign && this.left instanceof AST_Destructuring && this.left.is_array === false)
        +            return true;
        +    });
        +
        +    /* -----[ PRINTERS ]----- */
        +
        +    DEFPRINT(AST_Directive, function(self, output) {
        +        output.print_string(self.value, self.quote);
        +        output.semicolon();
        +    });
        +
        +    DEFPRINT(AST_Expansion, function (self, output) {
        +        output.print("...");
        +        self.expression.print(output);
        +    });
        +
        +    DEFPRINT(AST_Destructuring, function (self, output) {
        +        output.print(self.is_array ? "[" : "{");
        +        var len = self.names.length;
        +        self.names.forEach(function (name, i) {
        +            if (i > 0) output.comma();
        +            name.print(output);
        +            // If the final element is a hole, we need to make sure it
        +            // doesn't look like a trailing comma, by inserting an actual
        +            // trailing comma.
        +            if (i == len - 1 && name instanceof AST_Hole) output.comma();
        +        });
        +        output.print(self.is_array ? "]" : "}");
        +    });
        +
        +    DEFPRINT(AST_Debugger, function(self, output) {
        +        output.print("debugger");
        +        output.semicolon();
        +    });
        +
        +    /* -----[ statements ]----- */
        +
        +    function display_body(body, is_toplevel, output, allow_directives) {
        +        var last = body.length - 1;
        +        output.in_directive = allow_directives;
        +        body.forEach(function(stmt, i) {
        +            if (output.in_directive === true && !(stmt instanceof AST_Directive ||
        +                stmt instanceof AST_EmptyStatement ||
        +                (stmt instanceof AST_SimpleStatement && stmt.body instanceof AST_String)
        +            )) {
        +                output.in_directive = false;
        +            }
        +            if (!(stmt instanceof AST_EmptyStatement)) {
        +                output.indent();
        +                stmt.print(output);
        +                if (!(i == last && is_toplevel)) {
        +                    output.newline();
        +                    if (is_toplevel) output.newline();
        +                }
        +            }
        +            if (output.in_directive === true &&
        +                stmt instanceof AST_SimpleStatement &&
        +                stmt.body instanceof AST_String
        +            ) {
        +                output.in_directive = false;
        +            }
        +        });
        +        output.in_directive = false;
        +    }
        +
        +    AST_StatementWithBody.DEFMETHOD("_do_print_body", function(output) {
        +        print_maybe_braced_body(this.body, output);
        +    });
        +
        +    DEFPRINT(AST_Statement, function(self, output) {
        +        self.body.print(output);
        +        output.semicolon();
        +    });
        +    DEFPRINT(AST_Toplevel, function(self, output) {
        +        display_body(self.body, true, output, true);
        +        output.print("");
        +    });
        +    DEFPRINT(AST_LabeledStatement, function(self, output) {
        +        self.label.print(output);
        +        output.colon();
        +        self.body.print(output);
        +    });
        +    DEFPRINT(AST_SimpleStatement, function(self, output) {
        +        self.body.print(output);
        +        output.semicolon();
        +    });
        +    function print_braced_empty(self, output) {
        +        output.print("{");
        +        output.with_indent(output.next_indent(), function() {
        +            output.append_comments(self, true);
        +        });
        +        output.add_mapping(self.end);
        +        output.print("}");
        +    }
        +    function print_braced(self, output, allow_directives) {
        +        if (self.body.length > 0) {
        +            output.with_block(function() {
        +                display_body(self.body, false, output, allow_directives);
        +                output.add_mapping(self.end);
        +            });
        +        } else print_braced_empty(self, output);
        +    }
        +    DEFPRINT(AST_BlockStatement, function(self, output) {
        +        print_braced(self, output);
        +    });
        +    DEFPRINT(AST_EmptyStatement, function(self, output) {
        +        output.semicolon();
        +    });
        +    DEFPRINT(AST_Do, function(self, output) {
        +        output.print("do");
        +        output.space();
        +        make_block(self.body, output);
        +        output.space();
        +        output.print("while");
        +        output.space();
        +        output.with_parens(function() {
        +            self.condition.print(output);
        +        });
        +        output.semicolon();
        +    });
        +    DEFPRINT(AST_While, function(self, output) {
        +        output.print("while");
        +        output.space();
        +        output.with_parens(function() {
        +            self.condition.print(output);
        +        });
        +        output.space();
        +        self._do_print_body(output);
        +    });
        +    DEFPRINT(AST_For, function(self, output) {
        +        output.print("for");
        +        output.space();
        +        output.with_parens(function() {
        +            if (self.init) {
        +                if (self.init instanceof AST_DefinitionsLike) {
        +                    self.init.print(output);
        +                } else {
        +                    parenthesize_for_noin(self.init, output, true);
        +                }
        +                output.print(";");
        +                output.space();
        +            } else {
        +                output.print(";");
        +            }
        +            if (self.condition) {
        +                self.condition.print(output);
        +                output.print(";");
        +                output.space();
        +            } else {
        +                output.print(";");
        +            }
        +            if (self.step) {
        +                self.step.print(output);
        +            }
        +        });
        +        output.space();
        +        self._do_print_body(output);
        +    });
        +    DEFPRINT(AST_ForIn, function(self, output) {
        +        output.print("for");
        +        if (self.await) {
        +            output.space();
        +            output.print("await");
        +        }
        +        output.space();
        +        output.with_parens(function() {
        +            self.init.print(output);
        +            output.space();
        +            output.print(self instanceof AST_ForOf ? "of" : "in");
        +            output.space();
        +            self.object.print(output);
        +        });
        +        output.space();
        +        self._do_print_body(output);
        +    });
        +    DEFPRINT(AST_With, function(self, output) {
        +        output.print("with");
        +        output.space();
        +        output.with_parens(function() {
        +            self.expression.print(output);
        +        });
        +        output.space();
        +        self._do_print_body(output);
        +    });
        +
        +    /* -----[ functions ]----- */
        +    AST_Lambda.DEFMETHOD("_do_print", function(output, nokeyword) {
        +        var self = this;
        +        if (!nokeyword) {
        +            if (self.async) {
        +                output.print("async");
        +                output.space();
        +            }
        +            output.print("function");
        +            if (self.is_generator) {
        +                output.star();
        +            }
        +            if (self.name) {
        +                output.space();
        +            }
        +        }
        +        if (self.name instanceof AST_Symbol) {
        +            self.name.print(output);
        +        } else if (nokeyword && self.name instanceof AST_Node) {
        +            output.with_square(function() {
        +                self.name.print(output); // Computed method name
        +            });
        +        }
        +        output.with_parens(function() {
        +            self.argnames.forEach(function(arg, i) {
        +                if (i) output.comma();
        +                arg.print(output);
        +            });
        +        });
        +        output.space();
        +        print_braced(self, output, true);
        +    });
        +    DEFPRINT(AST_Lambda, function(self, output) {
        +        self._do_print(output);
        +        output.gc_scope(self);
        +    });
        +
        +    DEFPRINT(AST_PrefixedTemplateString, function(self, output) {
        +        var tag = self.prefix;
        +        var parenthesize_tag = tag instanceof AST_Lambda
        +            || tag instanceof AST_Binary
        +            || tag instanceof AST_Conditional
        +            || tag instanceof AST_Sequence
        +            || tag instanceof AST_Unary
        +            || tag instanceof AST_Dot && tag.expression instanceof AST_Object;
        +        if (parenthesize_tag) output.print("(");
        +        self.prefix.print(output);
        +        if (parenthesize_tag) output.print(")");
        +        self.template_string.print(output);
        +    });
        +    DEFPRINT(AST_TemplateString, function(self, output) {
        +        var is_tagged = output.parent() instanceof AST_PrefixedTemplateString;
        +
        +        output.print("`");
        +        for (var i = 0; i < self.segments.length; i++) {
        +            if (!(self.segments[i] instanceof AST_TemplateSegment)) {
        +                output.print("${");
        +                self.segments[i].print(output);
        +                output.print("}");
        +            } else if (is_tagged) {
        +                output.print(self.segments[i].raw);
        +            } else {
        +                output.print_template_string_chars(self.segments[i].value);
        +            }
        +        }
        +        output.print("`");
        +    });
        +    DEFPRINT(AST_TemplateSegment, function(self, output) {
        +        output.print_template_string_chars(self.value);
        +    });
        +
        +    AST_Arrow.DEFMETHOD("_do_print", function(output) {
        +        var self = this;
        +        var parent = output.parent();
        +        var needs_parens = (parent instanceof AST_Binary &&
        +                !(parent instanceof AST_Assign) &&
        +                !(parent instanceof AST_DefaultAssign)) ||
        +            parent instanceof AST_Unary ||
        +            (parent instanceof AST_Call && self === parent.expression);
        +        if (needs_parens) { output.print("("); }
        +        if (self.async) {
        +            output.print("async");
        +            output.space();
        +        }
        +        if (self.argnames.length === 1 && self.argnames[0] instanceof AST_Symbol) {
        +            self.argnames[0].print(output);
        +        } else {
        +            output.with_parens(function() {
        +                self.argnames.forEach(function(arg, i) {
        +                    if (i) output.comma();
        +                    arg.print(output);
        +                });
        +            });
        +        }
        +        output.space();
        +        output.print("=>");
        +        output.space();
        +        const first_statement = self.body[0];
        +        if (
        +            self.body.length === 1
        +            && first_statement instanceof AST_Return
        +        ) {
        +            const returned = first_statement.value;
        +            if (!returned) {
        +                output.print("{}");
        +            } else if (left_is_object(returned)) {
        +                output.print("(");
        +                returned.print(output);
        +                output.print(")");
        +            } else {
        +                returned.print(output);
        +            }
        +        } else {
        +            print_braced(self, output);
        +        }
        +        if (needs_parens) { output.print(")"); }
        +        output.gc_scope(self);
        +    });
        +
        +    /* -----[ exits ]----- */
        +    AST_Exit.DEFMETHOD("_do_print", function(output, kind) {
        +        output.print(kind);
        +        if (this.value) {
        +            output.space();
        +            const comments = this.value.start.comments_before;
        +            if (comments && comments.length && !output.printed_comments.has(comments)) {
        +                output.print("(");
        +                this.value.print(output);
        +                output.print(")");
        +            } else {
        +                this.value.print(output);
        +            }
        +        }
        +        output.semicolon();
        +    });
        +    DEFPRINT(AST_Return, function(self, output) {
        +        self._do_print(output, "return");
        +    });
        +    DEFPRINT(AST_Throw, function(self, output) {
        +        self._do_print(output, "throw");
        +    });
        +
        +    /* -----[ yield ]----- */
        +
        +    DEFPRINT(AST_Yield, function(self, output) {
        +        var star = self.is_star ? "*" : "";
        +        output.print("yield" + star);
        +        if (self.expression) {
        +            output.space();
        +            self.expression.print(output);
        +        }
        +    });
        +
        +    DEFPRINT(AST_Await, function(self, output) {
        +        output.print("await");
        +        output.space();
        +        var e = self.expression;
        +        var parens = !(
        +               e instanceof AST_Call
        +            || e instanceof AST_SymbolRef
        +            || e instanceof AST_PropAccess
        +            || e instanceof AST_Unary
        +            || e instanceof AST_Constant
        +            || e instanceof AST_Await
        +            || e instanceof AST_Object
        +        );
        +        if (parens) output.print("(");
        +        self.expression.print(output);
        +        if (parens) output.print(")");
        +    });
        +
        +    /* -----[ loop control ]----- */
        +    AST_LoopControl.DEFMETHOD("_do_print", function(output, kind) {
        +        output.print(kind);
        +        if (this.label) {
        +            output.space();
        +            this.label.print(output);
        +        }
        +        output.semicolon();
        +    });
        +    DEFPRINT(AST_Break, function(self, output) {
        +        self._do_print(output, "break");
        +    });
        +    DEFPRINT(AST_Continue, function(self, output) {
        +        self._do_print(output, "continue");
        +    });
        +
        +    /* -----[ if ]----- */
        +    function make_then(self, output) {
        +        var b = self.body;
        +        if (output.option("braces")
        +            || output.option("ie8") && b instanceof AST_Do)
        +            return make_block(b, output);
        +        // The squeezer replaces "block"-s that contain only a single
        +        // statement with the statement itself; technically, the AST
        +        // is correct, but this can create problems when we output an
        +        // IF having an ELSE clause where the THEN clause ends in an
        +        // IF *without* an ELSE block (then the outer ELSE would refer
        +        // to the inner IF).  This function checks for this case and
        +        // adds the block braces if needed.
        +        if (!b) return output.force_semicolon();
        +        while (true) {
        +            if (b instanceof AST_If) {
        +                if (!b.alternative) {
        +                    make_block(self.body, output);
        +                    return;
        +                }
        +                b = b.alternative;
        +            } else if (b instanceof AST_StatementWithBody) {
        +                b = b.body;
        +            } else break;
        +        }
        +        print_maybe_braced_body(self.body, output);
        +    }
        +    DEFPRINT(AST_If, function(self, output) {
        +        output.print("if");
        +        output.space();
        +        output.with_parens(function() {
        +            self.condition.print(output);
        +        });
        +        output.space();
        +        if (self.alternative) {
        +            make_then(self, output);
        +            output.space();
        +            output.print("else");
        +            output.space();
        +            if (self.alternative instanceof AST_If)
        +                self.alternative.print(output);
        +            else
        +                print_maybe_braced_body(self.alternative, output);
        +        } else {
        +            self._do_print_body(output);
        +        }
        +    });
        +
        +    /* -----[ switch ]----- */
        +    DEFPRINT(AST_Switch, function(self, output) {
        +        output.print("switch");
        +        output.space();
        +        output.with_parens(function() {
        +            self.expression.print(output);
        +        });
        +        output.space();
        +        var last = self.body.length - 1;
        +        if (last < 0) print_braced_empty(self, output);
        +        else output.with_block(function() {
        +            self.body.forEach(function(branch, i) {
        +                output.indent(true);
        +                branch.print(output);
        +                if (i < last && branch.body.length > 0)
        +                    output.newline();
        +            });
        +        });
        +    });
        +    AST_SwitchBranch.DEFMETHOD("_do_print_body", function(output) {
        +        output.newline();
        +        this.body.forEach(function(stmt) {
        +            output.indent();
        +            stmt.print(output);
        +            output.newline();
        +        });
        +    });
        +    DEFPRINT(AST_Default, function(self, output) {
        +        output.print("default:");
        +        self._do_print_body(output);
        +    });
        +    DEFPRINT(AST_Case, function(self, output) {
        +        output.print("case");
        +        output.space();
        +        self.expression.print(output);
        +        output.print(":");
        +        self._do_print_body(output);
        +    });
        +
        +    /* -----[ exceptions ]----- */
        +    DEFPRINT(AST_Try, function(self, output) {
        +        output.print("try");
        +        output.space();
        +        self.body.print(output);
        +        if (self.bcatch) {
        +            output.space();
        +            self.bcatch.print(output);
        +        }
        +        if (self.bfinally) {
        +            output.space();
        +            self.bfinally.print(output);
        +        }
        +    });
        +    DEFPRINT(AST_TryBlock, function(self, output) {
        +        print_braced(self, output);
        +    });
        +    DEFPRINT(AST_Catch, function(self, output) {
        +        output.print("catch");
        +        if (self.argname) {
        +            output.space();
        +            output.with_parens(function() {
        +                self.argname.print(output);
        +            });
        +        }
        +        output.space();
        +        print_braced(self, output);
        +    });
        +    DEFPRINT(AST_Finally, function(self, output) {
        +        output.print("finally");
        +        output.space();
        +        print_braced(self, output);
        +    });
        +
        +    /* -----[ var/const ]----- */
        +    AST_DefinitionsLike.DEFMETHOD("_do_print", function(output, kind) {
        +        output.print(kind);
        +        output.space();
        +        this.definitions.forEach(function(def, i) {
        +            if (i) output.comma();
        +            def.print(output);
        +        });
        +        var p = output.parent();
        +        var in_for = p instanceof AST_For || p instanceof AST_ForIn;
        +        var output_semicolon = !in_for || p && p.init !== this;
        +        if (output_semicolon)
        +            output.semicolon();
        +    });
        +    DEFPRINT(AST_Let, function(self, output) {
        +        self._do_print(output, "let");
        +    });
        +    DEFPRINT(AST_Var, function(self, output) {
        +        self._do_print(output, "var");
        +    });
        +    DEFPRINT(AST_Const, function(self, output) {
        +        self._do_print(output, "const");
        +    });
        +    DEFPRINT(AST_Using, function(self, output) {
        +        self._do_print(output, self.await ? "await using" : "using");
        +    });
        +    DEFPRINT(AST_Import, function(self, output) {
        +        output.print("import");
        +        output.space();
        +        if (self.imported_name) {
        +            self.imported_name.print(output);
        +        }
        +        if (self.imported_name && self.imported_names) {
        +            output.print(",");
        +            output.space();
        +        }
        +        if (self.imported_names) {
        +            if (self.imported_names.length === 1 &&
        +                self.imported_names[0].foreign_name.name === "*" &&
        +                !self.imported_names[0].foreign_name.quote) {
        +                self.imported_names[0].print(output);
        +            } else {
        +                output.print("{");
        +                self.imported_names.forEach(function (name_import, i) {
        +                    output.space();
        +                    name_import.print(output);
        +                    if (i < self.imported_names.length - 1) {
        +                        output.print(",");
        +                    }
        +                });
        +                output.space();
        +                output.print("}");
        +            }
        +        }
        +        if (self.imported_name || self.imported_names) {
        +            output.space();
        +            output.print("from");
        +            output.space();
        +        }
        +        self.module_name.print(output);
        +        if (self.attributes) {
        +            output.print("with");
        +            self.attributes.print(output);
        +        }
        +        output.semicolon();
        +    });
        +    DEFPRINT(AST_ImportMeta, function(self, output) {
        +        output.print("import.meta");
        +    });
        +
        +    DEFPRINT(AST_NameMapping, function(self, output) {
        +        var is_import = output.parent() instanceof AST_Import;
        +        var definition = self.name.definition();
        +        var foreign_name = self.foreign_name;
        +        var names_are_different =
        +            (definition && definition.mangled_name || self.name.name) !==
        +            foreign_name.name;
        +        if (!names_are_different &&
        +            foreign_name.name === "*" &&
        +            !!foreign_name.quote != !!self.name.quote) {
        +                // export * as "*"
        +            names_are_different = true;
        +        }
        +        var foreign_name_is_name = !foreign_name.quote;
        +        if (names_are_different) {
        +            if (is_import) {
        +                if (foreign_name_is_name) {
        +                    output.print(foreign_name.name);
        +                } else {
        +                    output.print_string(foreign_name.name, foreign_name.quote);
        +                }
        +            } else {
        +                if (!self.name.quote) {
        +                    self.name.print(output);
        +                } else {
        +                    output.print_string(self.name.name, self.name.quote);
        +                }
        +                
        +            }
        +            output.space();
        +            output.print("as");
        +            output.space();
        +            if (is_import) {
        +                self.name.print(output);
        +            } else {
        +                if (foreign_name_is_name) {
        +                    output.print(foreign_name.name);
        +                } else {
        +                    output.print_string(foreign_name.name, foreign_name.quote);
        +                }
        +            }
        +        } else {
        +            if (!self.name.quote) {
        +                self.name.print(output);
        +            } else {
        +                output.print_string(self.name.name, self.name.quote);
        +            }
        +        }
        +    });
        +
        +    DEFPRINT(AST_Export, function(self, output) {
        +        output.print("export");
        +        output.space();
        +        if (self.is_default) {
        +            output.print("default");
        +            output.space();
        +        }
        +        if (self.exported_names) {
        +            if (self.exported_names.length === 1 &&
        +                self.exported_names[0].name.name === "*" &&
        +                !self.exported_names[0].name.quote) {
        +                    self.exported_names[0].print(output);
        +            } else {
        +                output.print("{");
        +                self.exported_names.forEach(function(name_export, i) {
        +                    output.space();
        +                    name_export.print(output);
        +                    if (i < self.exported_names.length - 1) {
        +                        output.print(",");
        +                    }
        +                });
        +                output.space();
        +                output.print("}");
        +            }
        +        } else if (self.exported_value) {
        +            self.exported_value.print(output);
        +        } else if (self.exported_definition) {
        +            self.exported_definition.print(output);
        +            if (self.exported_definition instanceof AST_Definitions) return;
        +        }
        +        if (self.module_name) {
        +            output.space();
        +            output.print("from");
        +            output.space();
        +            self.module_name.print(output);
        +        }
        +        if (self.attributes) {
        +            output.print("with");
        +            self.attributes.print(output);
        +        }
        +        if (self.exported_value
        +                && !(self.exported_value instanceof AST_Defun ||
        +                    self.exported_value instanceof AST_Function ||
        +                    self.exported_value instanceof AST_Class)
        +            || self.module_name
        +            || self.exported_names
        +        ) {
        +            output.semicolon();
        +        }
        +    });
        +
        +    function parenthesize_for_noin(node, output, noin) {
        +        var parens = false;
        +        // need to take some precautions here:
        +        //    https://github.com/mishoo/UglifyJS2/issues/60
        +        if (noin) {
        +            parens = walk(node, node => {
        +                // Don't go into scopes -- except arrow functions:
        +                // https://github.com/terser/terser/issues/1019#issuecomment-877642607
        +                if (node instanceof AST_Scope && !(node instanceof AST_Arrow)) {
        +                    return true;
        +                }
        +                if (
        +                    node instanceof AST_Binary && node.operator == "in"
        +                    || node instanceof AST_PrivateIn
        +                ) {
        +                    return walk_abort;  // makes walk() return true
        +                }
        +            });
        +        }
        +        node.print(output, parens);
        +    }
        +
        +    DEFPRINT(AST_VarDefLike, function(self, output) {
        +        self.name.print(output);
        +        if (self.value) {
        +            output.space();
        +            output.print("=");
        +            output.space();
        +            var p = output.parent(1);
        +            var noin = p instanceof AST_For || p instanceof AST_ForIn;
        +            parenthesize_for_noin(self.value, output, noin);
        +        }
        +    });
        +
        +    /* -----[ other expressions ]----- */
        +    DEFPRINT(AST_Call, function(self, output) {
        +        self.expression.print(output);
        +        if (self instanceof AST_New && self.args.length === 0)
        +            return;
        +        if (self.expression instanceof AST_Call || self.expression instanceof AST_Lambda) {
        +            output.add_mapping(self.start);
        +        }
        +        if (self.optional) output.print("?.");
        +        output.with_parens(function() {
        +            self.args.forEach(function(expr, i) {
        +                if (i) output.comma();
        +                expr.print(output);
        +            });
        +        });
        +    });
        +    DEFPRINT(AST_New, function(self, output) {
        +        output.print("new");
        +        output.space();
        +        AST_Call.prototype._codegen(self, output);
        +    });
        +
        +    AST_Sequence.DEFMETHOD("_do_print", function(output) {
        +        this.expressions.forEach(function(node, index) {
        +            if (index > 0) {
        +                output.comma();
        +                if (output.should_break()) {
        +                    output.newline();
        +                    output.indent();
        +                }
        +            }
        +            node.print(output);
        +        });
        +    });
        +    DEFPRINT(AST_Sequence, function(self, output) {
        +        self._do_print(output);
        +        // var p = output.parent();
        +        // if (p instanceof AST_Statement) {
        +        //     output.with_indent(output.next_indent(), function(){
        +        //         self._do_print(output);
        +        //     });
        +        // } else {
        +        //     self._do_print(output);
        +        // }
        +    });
        +    DEFPRINT(AST_Dot, function(self, output) {
        +        var expr = self.expression;
        +        expr.print(output);
        +        var prop = self.property;
        +        var print_computed = ALL_RESERVED_WORDS.has(prop)
        +            ? output.option("ie8")
        +            : !is_identifier_string(
        +                prop,
        +                output.option("ecma") >= 2015 && !output.option("safari10")
        +            );
        +
        +        if (self.optional) output.print("?.");
        +
        +        if (print_computed) {
        +            output.print("[");
        +            output.add_mapping(self.end);
        +            output.print_string(prop);
        +            output.print("]");
        +        } else {
        +            if (expr instanceof AST_Number && expr.getValue() >= 0) {
        +                if (!/[xa-f.)]/i.test(output.last())) {
        +                    output.print(".");
        +                }
        +            }
        +            if (!self.optional) output.print(".");
        +            // the name after dot would be mapped about here.
        +            output.add_mapping(self.end);
        +            output.print_name(prop);
        +        }
        +    });
        +    DEFPRINT(AST_DotHash, function(self, output) {
        +        var expr = self.expression;
        +        expr.print(output);
        +        var prop = self.property;
        +
        +        if (self.optional) output.print("?");
        +        output.print(".#");
        +        output.add_mapping(self.end);
        +        output.print_name(prop);
        +    });
        +    DEFPRINT(AST_Sub, function(self, output) {
        +        self.expression.print(output);
        +        if (self.optional) output.print("?.");
        +        output.print("[");
        +        self.property.print(output);
        +        output.print("]");
        +    });
        +    DEFPRINT(AST_Chain, function(self, output) {
        +        self.expression.print(output);
        +    });
        +    DEFPRINT(AST_UnaryPrefix, function(self, output) {
        +        var op = self.operator;
        +        if (op === "--" && output.last().endsWith("!")) {
        +            // avoid printing "
        +            output.print(" ");
        +        } else {
        +            // the space is optional depending on "beautify"
        +            output.space();
        +        }
        +        output.print(op);
        +        output.space();
        +        self.right.print(output);
        +    });
        +    DEFPRINT(AST_Conditional, function(self, output) {
        +        self.condition.print(output);
        +        output.space();
        +        output.print("?");
        +        output.space();
        +        self.consequent.print(output);
        +        output.space();
        +        output.colon();
        +        self.alternative.print(output);
        +    });
        +
        +    /* -----[ literals ]----- */
        +    DEFPRINT(AST_Array, function(self, output) {
        +        output.with_square(function() {
        +            var a = self.elements, len = a.length;
        +            if (len > 0) output.space();
        +            a.forEach(function(exp, i) {
        +                if (i) output.comma();
        +                exp.print(output);
        +                // If the final element is a hole, we need to make sure it
        +                // doesn't look like a trailing comma, by inserting an actual
        +                // trailing comma.
        +                if (i === len - 1 && exp instanceof AST_Hole)
        +                  output.comma();
        +            });
        +            if (len > 0) output.space();
        +        });
        +    });
        +    DEFPRINT(AST_Object, function(self, output) {
        +        if (self.properties.length > 0) output.with_block(function() {
        +            self.properties.forEach(function(prop, i) {
        +                if (i) {
        +                    output.print(",");
        +                    output.newline();
        +                }
        +                output.indent();
        +                prop.print(output);
        +            });
        +            output.newline();
        +        });
        +        else print_braced_empty(self, output);
        +    });
        +    DEFPRINT(AST_Class, function(self, output) {
        +        output.print("class");
        +        output.space();
        +        if (self.name) {
        +            self.name.print(output);
        +            output.space();
        +        }
        +        if (self.extends) {
        +            var parens = (
        +                   !(self.extends instanceof AST_SymbolRef)
        +                && !(self.extends instanceof AST_PropAccess)
        +                && !(self.extends instanceof AST_ClassExpression)
        +                && !(self.extends instanceof AST_Function)
        +            );
        +            output.print("extends");
        +            if (parens) {
        +                output.print("(");
        +            } else {
        +                output.space();
        +            }
        +            self.extends.print(output);
        +            if (parens) {
        +                output.print(")");
        +            } else {
        +                output.space();
        +            }
        +        }
        +        if (self.properties.length > 0) output.with_block(function() {
        +            self.properties.forEach(function(prop, i) {
        +                if (i) {
        +                    output.newline();
        +                }
        +                output.indent();
        +                prop.print(output);
        +            });
        +            output.newline();
        +        });
        +        else output.print("{}");
        +    });
        +    DEFPRINT(AST_NewTarget, function(self, output) {
        +        output.print("new.target");
        +    });
        +
        +    /** Prints a prop name. Returns whether it can be used as a shorthand. */
        +    function print_property_name(key, quote, output) {
        +        if (output.option("quote_keys")) {
        +            output.print_string(key);
        +            return false;
        +        }
        +        if ("" + +key == key && key >= 0) {
        +            if (output.option("keep_numbers")) {
        +                output.print(key);
        +                return false;
        +            }
        +            output.print(make_num(key));
        +            return false;
        +        }
        +        var print_string = ALL_RESERVED_WORDS.has(key)
        +            ? output.option("ie8")
        +            : (
        +                output.option("ecma") < 2015 || output.option("safari10")
        +                    ? !is_basic_identifier_string(key)
        +                    : !is_identifier_string(key, true)
        +            );
        +        if (print_string || (quote && output.option("keep_quoted_props"))) {
        +            output.print_string(key, quote);
        +            return false;
        +        }
        +        output.print_name(key);
        +        return true;
        +    }
        +
        +    DEFPRINT(AST_ObjectKeyVal, function(self, output) {
        +        function get_name(self) {
        +            var def = self.definition();
        +            return def ? def.mangled_name || def.name : self.name;
        +        }
        +
        +        const try_shorthand = output.option("shorthand") && !(self.key instanceof AST_Node);
        +        if (
        +            try_shorthand
        +            && self.value instanceof AST_Symbol
        +            && get_name(self.value) === self.key
        +            && !ALL_RESERVED_WORDS.has(self.key)
        +        ) {
        +            const was_shorthand = print_property_name(self.key, self.quote, output);
        +            if (!was_shorthand) {
        +                output.colon();
        +                self.value.print(output);
        +            }
        +        } else if (
        +            try_shorthand
        +            && self.value instanceof AST_DefaultAssign
        +            && self.value.left instanceof AST_Symbol
        +            && get_name(self.value.left) === self.key
        +        ) {
        +            const was_shorthand = print_property_name(self.key, self.quote, output);
        +            if (!was_shorthand) {
        +                output.colon();
        +                self.value.left.print(output);
        +            }
        +            output.space();
        +            output.print("=");
        +            output.space();
        +            self.value.right.print(output);
        +        } else {
        +            if (!(self.key instanceof AST_Node)) {
        +                print_property_name(self.key, self.quote, output);
        +            } else {
        +                output.with_square(function() {
        +                    self.key.print(output);
        +                });
        +            }
        +            output.colon();
        +            self.value.print(output);
        +        }
        +    });
        +    DEFPRINT(AST_ClassPrivateProperty, (self, output) => {
        +        if (self.static) {
        +            output.print("static");
        +            output.space();
        +        }
        +
        +        output.print("#");
        +        
        +        print_property_name(self.key.name, undefined, output);
        +
        +        if (self.value) {
        +            output.print("=");
        +            self.value.print(output);
        +        }
        +
        +        output.semicolon();
        +    });
        +    DEFPRINT(AST_ClassProperty, (self, output) => {
        +        if (self.static) {
        +            output.print("static");
        +            output.space();
        +        }
        +
        +        if (self.key instanceof AST_SymbolClassProperty) {
        +            print_property_name(self.key.name, self.quote, output);
        +        } else {
        +            output.print("[");
        +            self.key.print(output);
        +            output.print("]");
        +        }
        +
        +        if (self.value) {
        +            output.print("=");
        +            self.value.print(output);
        +        }
        +
        +        output.semicolon();
        +    });
        +    AST_ObjectProperty.DEFMETHOD("_print_getter_setter", function(type, is_private, output) {
        +        var self = this;
        +        if (self.static) {
        +            output.print("static");
        +            output.space();
        +        }
        +        if (type) {
        +            output.print(type);
        +            output.space();
        +        }
        +        if (self.key instanceof AST_SymbolMethod) {
        +            if (is_private) output.print("#");
        +            print_property_name(self.key.name, self.quote, output);
        +            self.key.add_source_map(output);
        +        } else {
        +            output.with_square(function() {
        +                self.key.print(output);
        +            });
        +        }
        +        self.value._do_print(output, true);
        +    });
        +    DEFPRINT(AST_ObjectSetter, function(self, output) {
        +        self._print_getter_setter("set", false, output);
        +    });
        +    DEFPRINT(AST_ObjectGetter, function(self, output) {
        +        self._print_getter_setter("get", false, output);
        +    });
        +    DEFPRINT(AST_PrivateSetter, function(self, output) {
        +        self._print_getter_setter("set", true, output);
        +    });
        +    DEFPRINT(AST_PrivateGetter, function(self, output) {
        +        self._print_getter_setter("get", true, output);
        +    });
        +    DEFPRINT(AST_ConciseMethod, function(self, output) {
        +        var type;
        +        if (self.value.is_generator && self.value.async) {
        +            type = "async*";
        +        } else if (self.value.is_generator) {
        +            type = "*";
        +        } else if (self.value.async) {
        +            type = "async";
        +        }
        +        self._print_getter_setter(type, false, output);
        +    });
        +    DEFPRINT(AST_PrivateMethod, function(self, output) {
        +        var type;
        +        if (self.value.is_generator && self.value.async) {
        +            type = "async*";
        +        } else if (self.value.is_generator) {
        +            type = "*";
        +        } else if (self.value.async) {
        +            type = "async";
        +        }
        +        self._print_getter_setter(type, true, output);
        +    });
        +    DEFPRINT(AST_PrivateIn, function(self, output) {
        +        self.key.print(output);
        +        output.space();
        +        output.print("in");
        +        output.space();
        +        self.value.print(output);
        +    });
        +    DEFPRINT(AST_SymbolPrivateProperty, function(self, output) {
        +        output.print("#" + self.name);
        +    });
        +    DEFPRINT(AST_ClassStaticBlock, function (self, output) {
        +        output.print("static");
        +        output.space();
        +        print_braced(self, output);
        +    });
        +    AST_Symbol.DEFMETHOD("_do_print", function(output) {
        +        var def = this.definition();
        +        output.print_name(def ? def.mangled_name || def.name : this.name);
        +    });
        +    DEFPRINT(AST_Symbol, function (self, output) {
        +        self._do_print(output);
        +    });
        +    DEFPRINT(AST_Hole, noop);
        +    DEFPRINT(AST_This, function(self, output) {
        +        output.print("this");
        +    });
        +    DEFPRINT(AST_Super, function(self, output) {
        +        output.print("super");
        +    });
        +    DEFPRINT(AST_Constant, function(self, output) {
        +        output.print(self.getValue());
        +    });
        +    DEFPRINT(AST_String, function(self, output) {
        +        output.print_string(self.getValue(), self.quote, output.in_directive);
        +    });
        +    DEFPRINT(AST_Number, function(self, output) {
        +        if ((output.option("keep_numbers") || output.use_asm) && self.raw) {
        +            output.print(self.raw);
        +        } else {
        +            output.print(make_num(self.getValue()));
        +        }
        +    });
        +    DEFPRINT(AST_BigInt, function(self, output) {
        +        if (output.option("keep_numbers") && self.raw) {
        +            output.print(self.raw);
        +        } else {
        +            output.print(self.getValue() + "n");
        +        }
        +    });
        +
        +    const r_slash_script = /(<\s*\/\s*script)/i;
        +    const r_starts_with_script = /^\s*script/i;
        +    const slash_script_replace = (_, $1) => $1.replace("/", "\\/");
        +    DEFPRINT(AST_RegExp, function(self, output) {
        +        let { source, flags } = self.getValue();
        +        source = regexp_source_fix(source);
        +        flags = flags ? sort_regexp_flags(flags) : "";
        +
        +        // Avoid outputting end of script tag
        +        source = source.replace(r_slash_script, slash_script_replace);
        +        if (r_starts_with_script.test(source) && output.last().endsWith("<")) {
        +            output.print(" ");
        +        }
        +
        +        output.print(output.to_utf8(`/${source}/${flags}`, false, true));
        +
        +        const parent = output.parent();
        +        if (
        +            parent instanceof AST_Binary
        +            && /^\w/.test(parent.operator)
        +            && parent.left === self
        +        ) {
        +            output.print(" ");
        +        }
        +    });
        +
        +    /** if, for, while, may or may not have braces surrounding its body */
        +    function print_maybe_braced_body(stat, output) {
        +        if (output.option("braces")) {
        +            make_block(stat, output);
        +        } else {
        +            if (!stat || stat instanceof AST_EmptyStatement)
        +                output.force_semicolon();
        +            else if ((stat instanceof AST_DefinitionsLike && !(stat instanceof AST_Var)) || stat instanceof AST_Class)
        +                make_block(stat, output);
        +            else
        +                stat.print(output);
        +        }
        +    }
        +
        +    function best_of(a) {
        +        var best = a[0], len = best.length;
        +        for (var i = 1; i < a.length; ++i) {
        +            if (a[i].length < len) {
        +                best = a[i];
        +                len = best.length;
        +            }
        +        }
        +        return best;
        +    }
        +
        +    function make_num(num) {
        +        var str = num.toString(10).replace(/^0\./, ".").replace("e+", "e");
        +        var candidates = [ str ];
        +        if (Math.floor(num) === num) {
        +            if (num < 0) {
        +                candidates.push("-0x" + (-num).toString(16).toLowerCase());
        +            } else {
        +                candidates.push("0x" + num.toString(16).toLowerCase());
        +            }
        +        }
        +        var match, len, digits;
        +        if (match = /^\.0+/.exec(str)) {
        +            len = match[0].length;
        +            digits = str.slice(len);
        +            candidates.push(digits + "e-" + (digits.length + len - 1));
        +        } else if (match = /0+$/.exec(str)) {
        +            len = match[0].length;
        +            candidates.push(str.slice(0, -len) + "e" + len);
        +        } else if (match = /^(\d)\.(\d+)e(-?\d+)$/.exec(str)) {
        +            candidates.push(match[1] + match[2] + "e" + (match[3] - match[2].length));
        +        }
        +        return best_of(candidates);
        +    }
        +
        +    function make_block(stmt, output) {
        +        if (!stmt || stmt instanceof AST_EmptyStatement)
        +            output.print("{}");
        +        else if (stmt instanceof AST_BlockStatement)
        +            stmt.print(output);
        +        else output.with_block(function() {
        +            output.indent();
        +            stmt.print(output);
        +            output.newline();
        +        });
        +    }
        +
        +    /* -----[ source map generators ]----- */
        +
        +    function DEFMAP(nodetype, generator) {
        +        nodetype.forEach(function(nodetype) {
        +            nodetype.DEFMETHOD("add_source_map", generator);
        +        });
        +    }
        +
        +    DEFMAP([
        +        // We could easily add info for ALL nodes, but it seems to me that
        +        // would be quite wasteful, hence this noop in the base class.
        +        AST_Node,
        +        // since the label symbol will mark it
        +        AST_LabeledStatement,
        +        AST_Toplevel,
        +    ], noop);
        +
        +    // XXX: I'm not exactly sure if we need it for all of these nodes,
        +    // or if we should add even more.
        +    DEFMAP([
        +        AST_Array,
        +        AST_BlockStatement,
        +        AST_Catch,
        +        AST_Class,
        +        AST_Constant,
        +        AST_Debugger,
        +        AST_DefinitionsLike,
        +        AST_Directive,
        +        AST_Finally,
        +        AST_Jump,
        +        AST_Lambda,
        +        AST_New,
        +        AST_Object,
        +        AST_StatementWithBody,
        +        AST_Symbol,
        +        AST_Switch,
        +        AST_SwitchBranch,
        +        AST_TemplateString,
        +        AST_TemplateSegment,
        +        AST_Try,
        +    ], function(output) {
        +        output.add_mapping(this.start);
        +    });
        +
        +    DEFMAP([
        +        AST_ObjectGetter,
        +        AST_ObjectSetter,
        +        AST_PrivateGetter,
        +        AST_PrivateSetter,
        +        AST_ConciseMethod,
        +        AST_PrivateMethod,
        +    ], function(output) {
        +        output.add_mapping(this.start, false /*name handled below*/);
        +    });
        +
        +    DEFMAP([
        +        AST_SymbolMethod,
        +        AST_SymbolPrivateProperty
        +    ], function(output) {
        +        const tok_type = this.end && this.end.type;
        +        if (tok_type === "name" || tok_type === "privatename") {
        +            output.add_mapping(this.end, this.name);
        +        } else {
        +            output.add_mapping(this.end);
        +        }
        +    });
        +
        +    DEFMAP([ AST_ObjectProperty ], function(output) {
        +        output.add_mapping(this.start, this.key);
        +    });
        +})();
        +
        +
        +
        +;// ./node_modules/terser/lib/equivalent-to.js
        +
        +
        +const shallow_cmp = (node1, node2) => {
        +    return (
        +        node1 === null && node2 === null
        +        || node1.TYPE === node2.TYPE && node1.shallow_cmp(node2)
        +    );
        +};
        +
        +const equivalent_to = (tree1, tree2) => {
        +    if (!shallow_cmp(tree1, tree2)) return false;
        +    const walk_1_state = [tree1];
        +    const walk_2_state = [tree2];
        +
        +    const walk_1_push = walk_1_state.push.bind(walk_1_state);
        +    const walk_2_push = walk_2_state.push.bind(walk_2_state);
        +
        +    while (walk_1_state.length && walk_2_state.length) {
        +        const node_1 = walk_1_state.pop();
        +        const node_2 = walk_2_state.pop();
        +
        +        if (!shallow_cmp(node_1, node_2)) return false;
        +
        +        node_1._children_backwards(walk_1_push);
        +        node_2._children_backwards(walk_2_push);
        +
        +        if (walk_1_state.length !== walk_2_state.length) {
        +            // Different number of children
        +            return false;
        +        }
        +    }
        +
        +    return walk_1_state.length == 0 && walk_2_state.length == 0;
        +};
        +
        +const pass_through = () => true;
        +
        +AST_Node.prototype.shallow_cmp = function () {
        +    throw new Error("did not find a shallow_cmp function for " + this.constructor.name);
        +};
        +
        +AST_Debugger.prototype.shallow_cmp = pass_through;
        +
        +AST_Directive.prototype.shallow_cmp = function(other) {
        +    return this.value === other.value;
        +};
        +
        +AST_SimpleStatement.prototype.shallow_cmp = pass_through;
        +
        +AST_Block.prototype.shallow_cmp = pass_through;
        +
        +AST_EmptyStatement.prototype.shallow_cmp = pass_through;
        +
        +AST_LabeledStatement.prototype.shallow_cmp = function(other) {
        +    return this.label.name === other.label.name;
        +};
        +
        +AST_Do.prototype.shallow_cmp = pass_through;
        +
        +AST_While.prototype.shallow_cmp = pass_through;
        +
        +AST_For.prototype.shallow_cmp = function(other) {
        +    return (this.init == null ? other.init == null : this.init === other.init) && (this.condition == null ? other.condition == null : this.condition === other.condition) && (this.step == null ? other.step == null : this.step === other.step);
        +};
        +
        +AST_ForIn.prototype.shallow_cmp = pass_through;
        +
        +AST_ForOf.prototype.shallow_cmp = pass_through;
        +
        +AST_With.prototype.shallow_cmp = pass_through;
        +
        +AST_Toplevel.prototype.shallow_cmp = pass_through;
        +
        +AST_Expansion.prototype.shallow_cmp = pass_through;
        +
        +AST_Lambda.prototype.shallow_cmp = function(other) {
        +    return this.is_generator === other.is_generator && this.async === other.async;
        +};
        +
        +AST_Destructuring.prototype.shallow_cmp = function(other) {
        +    return this.is_array === other.is_array;
        +};
        +
        +AST_PrefixedTemplateString.prototype.shallow_cmp = pass_through;
        +
        +AST_TemplateString.prototype.shallow_cmp = pass_through;
        +
        +AST_TemplateSegment.prototype.shallow_cmp = function(other) {
        +    return this.value === other.value;
        +};
        +
        +AST_Jump.prototype.shallow_cmp = pass_through;
        +
        +AST_LoopControl.prototype.shallow_cmp = pass_through;
        +
        +AST_Await.prototype.shallow_cmp = pass_through;
        +
        +AST_Yield.prototype.shallow_cmp = function(other) {
        +    return this.is_star === other.is_star;
        +};
        +
        +AST_If.prototype.shallow_cmp = function(other) {
        +    return this.alternative == null ? other.alternative == null : this.alternative === other.alternative;
        +};
        +
        +AST_Switch.prototype.shallow_cmp = pass_through;
        +
        +AST_SwitchBranch.prototype.shallow_cmp = pass_through;
        +
        +AST_Try.prototype.shallow_cmp = function(other) {
        +    return (this.body === other.body) && (this.bcatch == null ? other.bcatch == null : this.bcatch === other.bcatch) && (this.bfinally == null ? other.bfinally == null : this.bfinally === other.bfinally);
        +};
        +
        +AST_Catch.prototype.shallow_cmp = function(other) {
        +    return this.argname == null ? other.argname == null : this.argname === other.argname;
        +};
        +
        +AST_Finally.prototype.shallow_cmp = pass_through;
        +
        +AST_DefinitionsLike.prototype.shallow_cmp = pass_through;
        +
        +AST_VarDefLike.prototype.shallow_cmp = function(other) {
        +    return this.value == null ? other.value == null : this.value === other.value;
        +};
        +
        +AST_NameMapping.prototype.shallow_cmp = pass_through;
        +
        +AST_Import.prototype.shallow_cmp = function(other) {
        +    return (this.imported_name == null ? other.imported_name == null : this.imported_name === other.imported_name) && (this.imported_names == null ? other.imported_names == null : this.imported_names === other.imported_names) && (this.attributes == null ? other.attributes == null : this.attributes === other.attributes);
        +};
        +
        +AST_ImportMeta.prototype.shallow_cmp = pass_through;
        +
        +AST_Export.prototype.shallow_cmp = function(other) {
        +    return (this.exported_definition == null ? other.exported_definition == null : this.exported_definition === other.exported_definition) && (this.exported_value == null ? other.exported_value == null : this.exported_value === other.exported_value) && (this.exported_names == null ? other.exported_names == null : this.exported_names === other.exported_names) && (this.attributes == null ? other.attributes == null : this.attributes === other.attributes) && this.module_name === other.module_name && this.is_default === other.is_default;
        +};
        +
        +AST_Call.prototype.shallow_cmp = pass_through;
        +
        +AST_Sequence.prototype.shallow_cmp = pass_through;
        +
        +AST_PropAccess.prototype.shallow_cmp = pass_through;
        +
        +AST_Chain.prototype.shallow_cmp = pass_through;
        +
        +AST_Dot.prototype.shallow_cmp = function(other) {
        +    return this.property === other.property;
        +};
        +
        +AST_DotHash.prototype.shallow_cmp = function(other) {
        +    return this.property === other.property;
        +};
        +
        +AST_Unary.prototype.shallow_cmp = function(other) {
        +    return this.operator === other.operator;
        +};
        +
        +AST_Binary.prototype.shallow_cmp = function(other) {
        +    return this.operator === other.operator;
        +};
        +
        +AST_PrivateIn.prototype.shallow_cmp = pass_through;
        +
        +AST_Conditional.prototype.shallow_cmp = pass_through;
        +
        +AST_Array.prototype.shallow_cmp = pass_through;
        +
        +AST_Object.prototype.shallow_cmp = pass_through;
        +
        +AST_ObjectProperty.prototype.shallow_cmp = pass_through;
        +
        +AST_ObjectKeyVal.prototype.shallow_cmp = function(other) {
        +    return this.key === other.key && this.quote === other.quote;
        +};
        +
        +AST_ObjectSetter.prototype.shallow_cmp = function(other) {
        +    return this.static === other.static;
        +};
        +
        +AST_ObjectGetter.prototype.shallow_cmp = function(other) {
        +    return this.static === other.static;
        +};
        +
        +AST_ConciseMethod.prototype.shallow_cmp = function(other) {
        +    return this.static === other.static;
        +};
        +
        +AST_PrivateMethod.prototype.shallow_cmp = function(other) {
        +    return this.static === other.static;
        +};
        +
        +AST_Class.prototype.shallow_cmp = function(other) {
        +    return (this.name == null ? other.name == null : this.name === other.name) && (this.extends == null ? other.extends == null : this.extends === other.extends);
        +};
        +
        +AST_ClassProperty.prototype.shallow_cmp = function(other) {
        +    return this.static === other.static
        +        && (typeof this.key === "string"
        +            ? this.key === other.key
        +            : true /* AST_Node handled elsewhere */);
        +};
        +
        +AST_ClassPrivateProperty.prototype.shallow_cmp = function(other) {
        +    return this.static === other.static;
        +};
        +
        +AST_Symbol.prototype.shallow_cmp = function(other) {
        +    return this.name === other.name;
        +};
        +
        +AST_NewTarget.prototype.shallow_cmp = pass_through;
        +
        +AST_This.prototype.shallow_cmp = pass_through;
        +
        +AST_Super.prototype.shallow_cmp = pass_through;
        +
        +AST_String.prototype.shallow_cmp = function(other) {
        +    return this.value === other.value;
        +};
        +
        +AST_Number.prototype.shallow_cmp = function(other) {
        +    return this.value === other.value;
        +};
        +
        +AST_BigInt.prototype.shallow_cmp = function(other) {
        +    return this.value === other.value;
        +};
        +
        +AST_RegExp.prototype.shallow_cmp = function (other) {
        +    return (
        +        this.value.flags === other.value.flags
        +        && this.value.source === other.value.source
        +    );
        +};
        +
        +AST_Atom.prototype.shallow_cmp = pass_through;
        +
        +;// ./node_modules/terser/lib/scope.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +const MASK_EXPORT_DONT_MANGLE = 1 << 0;
        +const MASK_EXPORT_WANT_MANGLE = 1 << 1;
        +
        +let function_defs = null;
        +let unmangleable_names = null;
        +/**
        + * When defined, there is a function declaration somewhere that's inside of a block.
        + * See https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#sec-block-level-function-declarations-web-legacy-compatibility-semantics
        +*/
        +let scopes_with_block_defuns = null;
        +
        +class SymbolDef {
        +    constructor(scope, orig, init) {
        +        this.name = orig.name;
        +        this.orig = [ orig ];
        +        this.init = init;
        +        this.eliminated = 0;
        +        this.assignments = 0;
        +        this.scope = scope;
        +        this.replaced = 0;
        +        this.global = false;
        +        this.export = 0;
        +        this.mangled_name = null;
        +        this.undeclared = false;
        +        this.id = SymbolDef.next_id++;
        +        this.chained = false;
        +        this.direct_access = false;
        +        this.escaped = 0;
        +        this.recursive_refs = 0;
        +        this.references = [];
        +        this.should_replace = undefined;
        +        this.single_use = false;
        +        this.fixed = false;
        +        Object.seal(this);
        +    }
        +    fixed_value() {
        +        if (!this.fixed || this.fixed instanceof AST_Node) return this.fixed;
        +        return this.fixed();
        +    }
        +    unmangleable(options) {
        +        if (!options) options = {};
        +
        +        if (
        +            function_defs &&
        +            function_defs.has(this.id) &&
        +            keep_name(options.keep_fnames, this.orig[0].name)
        +        ) return true;
        +
        +        return this.global && !options.toplevel
        +            || (this.export & MASK_EXPORT_DONT_MANGLE)
        +            || this.undeclared
        +            || !options.eval && this.scope.pinned()
        +            || (this.orig[0] instanceof AST_SymbolLambda
        +                  || this.orig[0] instanceof AST_SymbolDefun) && keep_name(options.keep_fnames, this.orig[0].name)
        +            || this.orig[0] instanceof AST_SymbolMethod
        +            || (this.orig[0] instanceof AST_SymbolClass
        +                  || this.orig[0] instanceof AST_SymbolDefClass) && keep_name(options.keep_classnames, this.orig[0].name);
        +    }
        +    mangle(options) {
        +        const cache = options.cache && options.cache.props;
        +        if (this.global && cache && cache.has(this.name)) {
        +            this.mangled_name = cache.get(this.name);
        +        } else if (!this.mangled_name && !this.unmangleable(options)) {
        +            var s = this.scope;
        +            var sym = this.orig[0];
        +            if (options.ie8 && sym instanceof AST_SymbolLambda)
        +                s = s.parent_scope;
        +            const redefinition = redefined_catch_def(this);
        +            this.mangled_name = redefinition
        +                ? redefinition.mangled_name || redefinition.name
        +                : s.next_mangled(options, this);
        +            if (this.global && cache) {
        +                cache.set(this.name, this.mangled_name);
        +            }
        +        }
        +    }
        +}
        +
        +SymbolDef.next_id = 1;
        +
        +function redefined_catch_def(def) {
        +    if (def.orig[0] instanceof AST_SymbolCatch
        +        && def.scope.is_block_scope()
        +    ) {
        +        return def.scope.get_defun_scope().variables.get(def.name);
        +    }
        +}
        +
        +AST_Scope.DEFMETHOD("figure_out_scope", function(options, { parent_scope = undefined, toplevel = this } = {}) {
        +    options = utils_defaults(options, {
        +        cache: null,
        +        ie8: false,
        +        safari10: false,
        +        module: false,
        +    });
        +
        +    if (!(toplevel instanceof AST_Toplevel)) {
        +        throw new Error("Invalid toplevel scope");
        +    }
        +
        +    // pass 1: setup scope chaining and handle definitions
        +    var scope = this.parent_scope = parent_scope;
        +    var labels = new Map();
        +    var defun = null;
        +    var in_destructuring = null;
        +    var for_scopes = [];
        +    var tw = new TreeWalker((node, descend) => {
        +        if (node.is_block_scope()) {
        +            const save_scope = scope;
        +            node.block_scope = scope = new AST_Scope(node);
        +            scope._block_scope = true;
        +            scope.init_scope_vars(save_scope);
        +            scope.uses_with = save_scope.uses_with;
        +            scope.uses_eval = save_scope.uses_eval;
        +
        +            if (options.safari10) {
        +                if (node instanceof AST_For || node instanceof AST_ForIn || node instanceof AST_ForOf) {
        +                    for_scopes.push(scope);
        +                }
        +            }
        +
        +            if (node instanceof AST_Switch) {
        +                // XXX: HACK! Ensure the switch expression gets the correct scope (the parent scope) and the body gets the contained scope
        +                // AST_Switch has a scope within the body, but it itself "is a block scope"
        +                // This means the switched expression has to belong to the outer scope
        +                // while the body inside belongs to the switch itself.
        +                // This is pretty nasty and warrants an AST change
        +                const the_block_scope = scope;
        +                scope = save_scope;
        +                node.expression.walk(tw);
        +                scope = the_block_scope;
        +                for (let i = 0; i < node.body.length; i++) {
        +                    node.body[i].walk(tw);
        +                }
        +            } else {
        +                descend();
        +            }
        +            scope = save_scope;
        +            return true;
        +        }
        +        if (node instanceof AST_Destructuring) {
        +            const save_destructuring = in_destructuring;
        +            in_destructuring = node;
        +            descend();
        +            in_destructuring = save_destructuring;
        +            return true;
        +        }
        +        if (node instanceof AST_Scope) {
        +            node.init_scope_vars(scope);
        +            var save_scope = scope;
        +            var save_defun = defun;
        +            var save_labels = labels;
        +            defun = scope = node;
        +            labels = new Map();
        +            descend();
        +            scope = save_scope;
        +            defun = save_defun;
        +            labels = save_labels;
        +            return true;        // don't descend again in TreeWalker
        +        }
        +        if (node instanceof AST_LabeledStatement) {
        +            var l = node.label;
        +            if (labels.has(l.name)) {
        +                throw new Error(string_template("Label {name} defined twice", l));
        +            }
        +            labels.set(l.name, l);
        +            descend();
        +            labels.delete(l.name);
        +            return true;        // no descend again
        +        }
        +        if (node instanceof AST_With) {
        +            for (var s = scope; s; s = s.parent_scope)
        +                s.uses_with = true;
        +            return;
        +        }
        +        if (node instanceof AST_Symbol) {
        +            node.scope = scope;
        +        }
        +        if (node instanceof AST_Label) {
        +            node.thedef = node;
        +            node.references = [];
        +        }
        +        if (node instanceof AST_SymbolLambda) {
        +            defun.def_function(node, node.name == "arguments" ? undefined : defun);
        +        } else if (node instanceof AST_SymbolDefun) {
        +            // Careful here, the scope where this should be defined is
        +            // the parent scope.  The reason is that we enter a new
        +            // scope when we encounter the AST_Defun node (which is
        +            // instanceof AST_Scope) but we get to the symbol a bit
        +            // later.
        +            const closest_scope = defun.parent_scope;
        +
        +            // In strict mode, function definitions are block-scoped
        +            node.scope = tw.directives["use strict"]
        +                ? closest_scope
        +                : closest_scope.get_defun_scope();
        +
        +            mark_export(node.scope.def_function(node, defun), 1);
        +        } else if (node instanceof AST_SymbolClass) {
        +            mark_export(defun.def_variable(node, defun), 1);
        +        } else if (node instanceof AST_SymbolImport) {
        +            scope.def_variable(node);
        +        } else if (node instanceof AST_SymbolDefClass) {
        +            // This deals with the name of the class being available
        +            // inside the class.
        +            mark_export((node.scope = defun.parent_scope).def_function(node, defun), 1);
        +        } else if (
        +            node instanceof AST_SymbolVar
        +            || node instanceof AST_SymbolLet
        +            || node instanceof AST_SymbolConst
        +            || node instanceof AST_SymbolUsing
        +            || node instanceof AST_SymbolCatch
        +        ) {
        +            var def;
        +            if (node instanceof AST_SymbolBlockDeclaration) {
        +                def = scope.def_variable(node, null);
        +            } else {
        +                def = defun.def_variable(node, node.TYPE == "SymbolVar" ? null : undefined);
        +            }
        +            if (!def.orig.every((sym) => {
        +                if (sym === node) return true;
        +                if (node instanceof AST_SymbolBlockDeclaration) {
        +                    return sym instanceof AST_SymbolLambda;
        +                }
        +                return !(sym instanceof AST_SymbolLet || sym instanceof AST_SymbolConst || sym instanceof AST_SymbolUsing);
        +            })) {
        +                js_error(
        +                    `"${node.name}" is redeclared`,
        +                    node.start.file,
        +                    node.start.line,
        +                    node.start.col,
        +                    node.start.pos
        +                );
        +            }
        +            if (!(node instanceof AST_SymbolFunarg)) mark_export(def, 2);
        +            if (defun !== scope) {
        +                node.mark_enclosed();
        +                var def = scope.find_variable(node);
        +                if (node.thedef !== def) {
        +                    node.thedef = def;
        +                    node.reference();
        +                }
        +            }
        +        } else if (node instanceof AST_LabelRef) {
        +            var sym = labels.get(node.name);
        +            if (!sym) throw new Error(string_template("Undefined label {name} [{line},{col}]", {
        +                name: node.name,
        +                line: node.start.line,
        +                col: node.start.col
        +            }));
        +            node.thedef = sym;
        +        }
        +        if (!(scope instanceof AST_Toplevel) && (node instanceof AST_Export || node instanceof AST_Import)) {
        +            js_error(
        +                `"${node.TYPE}" statement may only appear at the top level`,
        +                node.start.file,
        +                node.start.line,
        +                node.start.col,
        +                node.start.pos
        +            );
        +        }
        +    });
        +
        +    if (options.module) {
        +        tw.directives["use strict"] = true;
        +    }
        +
        +    this.walk(tw);
        +
        +    function mark_export(def, level) {
        +        if (in_destructuring) {
        +            var i = 0;
        +            do {
        +                level++;
        +            } while (tw.parent(i++) !== in_destructuring);
        +        }
        +        var node = tw.parent(level);
        +        if (def.export = node instanceof AST_Export ? MASK_EXPORT_DONT_MANGLE : 0) {
        +            var exported = node.exported_definition;
        +            if ((exported instanceof AST_Defun || exported instanceof AST_DefClass) && node.is_default) {
        +                def.export = MASK_EXPORT_WANT_MANGLE;
        +            }
        +        }
        +    }
        +
        +    // pass 2: find back references and eval
        +    const is_toplevel = this instanceof AST_Toplevel;
        +    if (is_toplevel) {
        +        this.globals = new Map();
        +    }
        +
        +    var tw = new TreeWalker(node => {
        +        if (node instanceof AST_LoopControl && node.label) {
        +            node.label.thedef.references.push(node);
        +            return true;
        +        }
        +        if (node instanceof AST_SymbolRef) {
        +            var name = node.name;
        +            if (name == "eval" && tw.parent() instanceof AST_Call) {
        +                for (var s = node.scope; s && !s.uses_eval; s = s.parent_scope) {
        +                    s.uses_eval = true;
        +                }
        +            }
        +            var sym;
        +            if (tw.parent() instanceof AST_NameMapping && tw.parent(1).module_name
        +                || !(sym = node.scope.find_variable(name))) {
        +
        +                sym = toplevel.def_global(node);
        +                if (node instanceof AST_SymbolExport) sym.export = MASK_EXPORT_DONT_MANGLE;
        +            } else if (sym.scope instanceof AST_Lambda && name == "arguments") {
        +                sym.scope.get_defun_scope().uses_arguments = true;
        +            }
        +            node.thedef = sym;
        +            node.reference();
        +            if (node.scope.is_block_scope()
        +                && !(sym.orig[0] instanceof AST_SymbolBlockDeclaration)) {
        +                node.scope = node.scope.get_defun_scope();
        +            }
        +            return true;
        +        }
        +        // ensure mangling works if catch reuses a scope variable
        +        var def;
        +        if (node instanceof AST_SymbolCatch && (def = redefined_catch_def(node.definition()))) {
        +            var s = node.scope;
        +            while (s) {
        +                push_uniq(s.enclosed, def);
        +                if (s === def.scope) break;
        +                s = s.parent_scope;
        +            }
        +        }
        +    });
        +    this.walk(tw);
        +
        +    // pass 3: work around IE8 and Safari catch scope bugs
        +    if (options.ie8 || options.safari10) {
        +        walk(this, node => {
        +            if (node instanceof AST_SymbolCatch) {
        +                var name = node.name;
        +                var refs = node.thedef.references;
        +                var scope = node.scope.get_defun_scope();
        +                var def = scope.find_variable(name)
        +                    || toplevel.globals.get(name)
        +                    || scope.def_variable(node);
        +                refs.forEach(function(ref) {
        +                    ref.thedef = def;
        +                    ref.reference();
        +                });
        +                node.thedef = def;
        +                node.reference();
        +                return true;
        +            }
        +        });
        +    }
        +
        +    // pass 4: add symbol definitions to loop scopes
        +    // Safari/Webkit bug workaround - loop init let variable shadowing argument.
        +    // https://github.com/mishoo/UglifyJS2/issues/1753
        +    // https://bugs.webkit.org/show_bug.cgi?id=171041
        +    if (options.safari10) {
        +        for (const scope of for_scopes) {
        +            scope.parent_scope.variables.forEach(function(def) {
        +                push_uniq(scope.enclosed, def);
        +            });
        +        }
        +    }
        +});
        +
        +AST_Toplevel.DEFMETHOD("def_global", function(node) {
        +    var globals = this.globals, name = node.name;
        +    if (globals.has(name)) {
        +        return globals.get(name);
        +    } else {
        +        var g = new SymbolDef(this, node);
        +        g.undeclared = true;
        +        g.global = true;
        +        globals.set(name, g);
        +        return g;
        +    }
        +});
        +
        +AST_Scope.DEFMETHOD("init_scope_vars", function(parent_scope) {
        +    this.variables = new Map();         // map name to AST_SymbolVar (variables defined in this scope; includes functions)
        +    this.uses_with = false;             // will be set to true if this or some nested scope uses the `with` statement
        +    this.uses_eval = false;             // will be set to true if this or nested scope uses the global `eval`
        +    this.parent_scope = parent_scope;   // the parent scope
        +    this.enclosed = [];                 // a list of variables from this or outer scope(s) that are referenced from this or inner scopes
        +    this.cname = -1;                    // the current index for mangling functions/variables
        +});
        +
        +AST_Scope.DEFMETHOD("conflicting_def", function (name) {
        +    return (
        +        this.enclosed.find(def => def.name === name)
        +        || this.variables.has(name)
        +        || (this.parent_scope && this.parent_scope.conflicting_def(name))
        +    );
        +});
        +
        +AST_Scope.DEFMETHOD("conflicting_def_shallow", function (name) {
        +    return (
        +        this.enclosed.find(def => def.name === name)
        +        || this.variables.has(name)
        +    );
        +});
        +
        +AST_Scope.DEFMETHOD("add_child_scope", function (scope) {
        +    // `scope` is going to be moved into `this` right now.
        +    // Update the required scopes' information
        +
        +    if (scope.parent_scope === this) return;
        +
        +    scope.parent_scope = this;
        +
        +    // Propagate to this.uses_arguments from arrow functions
        +    if ((scope instanceof AST_Arrow) && (this instanceof AST_Lambda && !this.uses_arguments)) {
        +        this.uses_arguments = walk(scope, node => {
        +            if (
        +                node instanceof AST_SymbolRef
        +                && node.scope instanceof AST_Lambda
        +                && node.name === "arguments"
        +            ) {
        +                return walk_abort;
        +            }
        +
        +            if (node instanceof AST_Lambda && !(node instanceof AST_Arrow)) {
        +                return true;
        +            }
        +        });
        +    }
        +
        +    this.uses_with = this.uses_with || scope.uses_with;
        +    this.uses_eval = this.uses_eval || scope.uses_eval;
        +
        +    const scope_ancestry = (() => {
        +        const ancestry = [];
        +        let cur = this;
        +        do {
        +            ancestry.push(cur);
        +        } while ((cur = cur.parent_scope));
        +        ancestry.reverse();
        +        return ancestry;
        +    })();
        +
        +    const new_scope_enclosed_set = new Set(scope.enclosed);
        +    const to_enclose = [];
        +    for (const scope_topdown of scope_ancestry) {
        +        to_enclose.forEach(e => push_uniq(scope_topdown.enclosed, e));
        +        for (const def of scope_topdown.variables.values()) {
        +            if (new_scope_enclosed_set.has(def)) {
        +                push_uniq(to_enclose, def);
        +                push_uniq(scope_topdown.enclosed, def);
        +            }
        +        }
        +    }
        +});
        +
        +function find_scopes_visible_from(scopes) {
        +    const found_scopes = new Set();
        +
        +    for (const scope of new Set(scopes)) {
        +        (function bubble_up(scope) {
        +            if (scope == null || found_scopes.has(scope)) return;
        +
        +            found_scopes.add(scope);
        +
        +            bubble_up(scope.parent_scope);
        +        })(scope);
        +    }
        +
        +    return [...found_scopes];
        +}
        +
        +// Creates a symbol during compression
        +AST_Scope.DEFMETHOD("create_symbol", function(SymClass, {
        +    source,
        +    tentative_name,
        +    scope,
        +    conflict_scopes = [scope],
        +    init = null
        +} = {}) {
        +    let symbol_name;
        +
        +    conflict_scopes = find_scopes_visible_from(conflict_scopes);
        +
        +    if (tentative_name) {
        +        // Implement hygiene (no new names are conflicting with existing names)
        +        tentative_name =
        +            symbol_name =
        +            tentative_name.replace(/(?:^[^a-z_$]|[^a-z0-9_$])/ig, "_");
        +
        +        let i = 0;
        +        while (conflict_scopes.find(s => s.conflicting_def_shallow(symbol_name))) {
        +            symbol_name = tentative_name + "$" + i++;
        +        }
        +    }
        +
        +    if (!symbol_name) {
        +        throw new Error("No symbol name could be generated in create_symbol()");
        +    }
        +
        +    const symbol = make_node(SymClass, source, {
        +        name: symbol_name,
        +        scope
        +    });
        +
        +    this.def_variable(symbol, init || null);
        +
        +    symbol.mark_enclosed();
        +
        +    return symbol;
        +});
        +
        +
        +AST_Node.DEFMETHOD("is_block_scope", return_false);
        +AST_Class.DEFMETHOD("is_block_scope", return_false);
        +AST_Lambda.DEFMETHOD("is_block_scope", return_false);
        +AST_Toplevel.DEFMETHOD("is_block_scope", return_false);
        +AST_SwitchBranch.DEFMETHOD("is_block_scope", return_false);
        +AST_Block.DEFMETHOD("is_block_scope", return_true);
        +AST_Scope.DEFMETHOD("is_block_scope", function () {
        +    return this._block_scope || false;
        +});
        +AST_IterationStatement.DEFMETHOD("is_block_scope", return_true);
        +
        +AST_Lambda.DEFMETHOD("init_scope_vars", function() {
        +    AST_Scope.prototype.init_scope_vars.apply(this, arguments);
        +    this.uses_arguments = false;
        +    this.def_variable(new AST_SymbolFunarg({
        +        name: "arguments",
        +        start: this.start,
        +        end: this.end
        +    }));
        +});
        +
        +AST_Arrow.DEFMETHOD("init_scope_vars", function() {
        +    AST_Scope.prototype.init_scope_vars.apply(this, arguments);
        +    this.uses_arguments = false;
        +});
        +
        +AST_Symbol.DEFMETHOD("mark_enclosed", function() {
        +    var def = this.definition();
        +    var s = this.scope;
        +    while (s) {
        +        push_uniq(s.enclosed, def);
        +        if (s === def.scope) break;
        +        s = s.parent_scope;
        +    }
        +});
        +
        +AST_Symbol.DEFMETHOD("reference", function() {
        +    this.definition().references.push(this);
        +    this.mark_enclosed();
        +});
        +
        +AST_Scope.DEFMETHOD("find_variable", function(name) {
        +    if (name instanceof AST_Symbol) name = name.name;
        +    return this.variables.get(name)
        +        || (this.parent_scope && this.parent_scope.find_variable(name));
        +});
        +
        +AST_Scope.DEFMETHOD("def_function", function(symbol, init) {
        +    var def = this.def_variable(symbol, init);
        +    if (!def.init || def.init instanceof AST_Defun) def.init = init;
        +    return def;
        +});
        +
        +AST_Scope.DEFMETHOD("def_variable", function(symbol, init) {
        +    var def = this.variables.get(symbol.name);
        +    if (def) {
        +        def.orig.push(symbol);
        +        if (def.init && (def.scope !== symbol.scope || def.init instanceof AST_Function)) {
        +            def.init = init;
        +        }
        +    } else {
        +        def = new SymbolDef(this, symbol, init);
        +        this.variables.set(symbol.name, def);
        +        def.global = !this.parent_scope;
        +    }
        +    return symbol.thedef = def;
        +});
        +
        +function next_mangled(scope, options) {
        +    let defun_scope;
        +    if (
        +        scopes_with_block_defuns
        +        && (defun_scope = scope.get_defun_scope())
        +        && scopes_with_block_defuns.has(defun_scope)
        +    ) {
        +        scope = defun_scope;
        +    }
        +
        +    var ext = scope.enclosed;
        +    var nth_identifier = options.nth_identifier;
        +    out: while (true) {
        +        var m = nth_identifier.get(++scope.cname);
        +        if (ALL_RESERVED_WORDS.has(m)) continue; // skip over "do"
        +
        +        // https://github.com/mishoo/UglifyJS2/issues/242 -- do not
        +        // shadow a name reserved from mangling.
        +        if (options.reserved.has(m)) continue;
        +
        +        // Functions with short names might collide with base54 output
        +        // and therefore cause collisions when keep_fnames is true.
        +        if (unmangleable_names && unmangleable_names.has(m)) continue out;
        +
        +        // we must ensure that the mangled name does not shadow a name
        +        // from some parent scope that is referenced in this or in
        +        // inner scopes.
        +        for (let i = ext.length; --i >= 0;) {
        +            const def = ext[i];
        +            const name = def.mangled_name || (def.unmangleable(options) && def.name);
        +            if (m == name) continue out;
        +        }
        +        return m;
        +    }
        +}
        +
        +AST_Scope.DEFMETHOD("next_mangled", function(options) {
        +    return next_mangled(this, options);
        +});
        +
        +AST_Toplevel.DEFMETHOD("next_mangled", function(options) {
        +    let name;
        +    const mangled_names = this.mangled_names;
        +    do {
        +        name = next_mangled(this, options);
        +    } while (mangled_names.has(name));
        +    return name;
        +});
        +
        +AST_Function.DEFMETHOD("next_mangled", function(options, def) {
        +    // #179, #326
        +    // in Safari strict mode, something like (function x(x){...}) is a syntax error;
        +    // a function expression's argument cannot shadow the function expression's name
        +
        +    var tricky_def = def.orig[0] instanceof AST_SymbolFunarg && this.name && this.name.definition();
        +
        +    // the function's mangled_name is null when keep_fnames is true
        +    var tricky_name = tricky_def ? tricky_def.mangled_name || tricky_def.name : null;
        +
        +    while (true) {
        +        var name = next_mangled(this, options);
        +        if (!tricky_name || tricky_name != name)
        +            return name;
        +    }
        +});
        +
        +AST_Symbol.DEFMETHOD("unmangleable", function(options) {
        +    var def = this.definition();
        +    return !def || def.unmangleable(options);
        +});
        +
        +// labels are always mangleable
        +AST_Label.DEFMETHOD("unmangleable", return_false);
        +
        +AST_Symbol.DEFMETHOD("unreferenced", function() {
        +    return !this.definition().references.length && !this.scope.pinned();
        +});
        +
        +AST_Symbol.DEFMETHOD("definition", function() {
        +    return this.thedef;
        +});
        +
        +AST_Symbol.DEFMETHOD("global", function() {
        +    return this.thedef.global;
        +});
        +
        +/**
        + * Format the mangler options (if any) into their appropriate types
        + */
        +function format_mangler_options(options) {
        +    options = utils_defaults(options, {
        +        eval        : false,
        +        nth_identifier : base54,
        +        ie8         : false,
        +        keep_classnames: false,
        +        keep_fnames : false,
        +        module      : false,
        +        reserved    : [],
        +        toplevel    : false,
        +    });
        +    if (options.module) options.toplevel = true;
        +    if (!Array.isArray(options.reserved)
        +        && !(options.reserved instanceof Set)
        +    ) {
        +        options.reserved = [];
        +    }
        +    options.reserved = new Set(options.reserved);
        +    // Never mangle arguments
        +    options.reserved.add("arguments");
        +    return options;
        +}
        +
        +AST_Toplevel.DEFMETHOD("mangle_names", function(options) {
        +    options = format_mangler_options(options);
        +    var nth_identifier = options.nth_identifier;
        +
        +    // We only need to mangle declaration nodes.  Special logic wired
        +    // into the code generator will display the mangled name if it's
        +    // present (and for AST_SymbolRef-s it'll use the mangled name of
        +    // the AST_SymbolDeclaration that it points to).
        +    var lname = -1;
        +    var to_mangle = [];
        +
        +    if (options.keep_fnames) {
        +        function_defs = new Set();
        +    }
        +
        +    const mangled_names = this.mangled_names = new Set();
        +    unmangleable_names = new Set();
        +
        +    if (options.cache) {
        +        this.globals.forEach(collect);
        +        if (options.cache.props) {
        +            options.cache.props.forEach(function(mangled_name) {
        +                mangled_names.add(mangled_name);
        +            });
        +        }
        +    }
        +
        +    var tw = new TreeWalker(function(node, descend) {
        +        if (node instanceof AST_LabeledStatement) {
        +            // lname is incremented when we get to the AST_Label
        +            var save_nesting = lname;
        +            descend();
        +            lname = save_nesting;
        +            return true;        // don't descend again in TreeWalker
        +        }
        +        if (
        +            node instanceof AST_Defun
        +            && !(tw.parent() instanceof AST_Scope)
        +        ) {
        +            scopes_with_block_defuns = scopes_with_block_defuns || new Set();
        +            scopes_with_block_defuns.add(node.parent_scope.get_defun_scope());
        +        }
        +        if (node instanceof AST_Scope) {
        +            node.variables.forEach(collect);
        +            return;
        +        }
        +        if (node.is_block_scope()) {
        +            node.block_scope.variables.forEach(collect);
        +            return;
        +        }
        +        if (
        +            function_defs
        +            && node instanceof AST_VarDef
        +            && node.value instanceof AST_Lambda
        +            && !node.value.name
        +            && keep_name(options.keep_fnames, node.name.name)
        +        ) {
        +            function_defs.add(node.name.definition().id);
        +            return;
        +        }
        +        if (node instanceof AST_Label) {
        +            let name;
        +            do {
        +                name = nth_identifier.get(++lname);
        +            } while (ALL_RESERVED_WORDS.has(name));
        +            node.mangled_name = name;
        +            return true;
        +        }
        +        if (!(options.ie8 || options.safari10) && node instanceof AST_SymbolCatch) {
        +            to_mangle.push(node.definition());
        +            return;
        +        }
        +    });
        +
        +    this.walk(tw);
        +
        +    if (options.keep_fnames || options.keep_classnames) {
        +        // Collect a set of short names which are unmangleable,
        +        // for use in avoiding collisions in next_mangled.
        +        to_mangle.forEach(def => {
        +            if (def.name.length < 6 && def.unmangleable(options)) {
        +                unmangleable_names.add(def.name);
        +            }
        +        });
        +    }
        +
        +    to_mangle.forEach(def => { def.mangle(options); });
        +
        +    function_defs = null;
        +    unmangleable_names = null;
        +    scopes_with_block_defuns = null;
        +
        +    function collect(symbol) {
        +        if (symbol.export & MASK_EXPORT_DONT_MANGLE) {
        +            unmangleable_names.add(symbol.name);
        +        } else if (!options.reserved.has(symbol.name)) {
        +            to_mangle.push(symbol);
        +        }
        +    }
        +});
        +
        +AST_Toplevel.DEFMETHOD("find_colliding_names", function(options) {
        +    const cache = options.cache && options.cache.props;
        +    const avoid = new Set();
        +    options.reserved.forEach(to_avoid);
        +    this.globals.forEach(add_def);
        +    this.walk(new TreeWalker(function(node) {
        +        if (node instanceof AST_Scope) node.variables.forEach(add_def);
        +        if (node instanceof AST_SymbolCatch) add_def(node.definition());
        +    }));
        +    return avoid;
        +
        +    function to_avoid(name) {
        +        avoid.add(name);
        +    }
        +
        +    function add_def(def) {
        +        var name = def.name;
        +        if (def.global && cache && cache.has(name)) name = cache.get(name);
        +        else if (!def.unmangleable(options)) return;
        +        to_avoid(name);
        +    }
        +});
        +
        +AST_Toplevel.DEFMETHOD("expand_names", function(options) {
        +    options = format_mangler_options(options);
        +    var nth_identifier = options.nth_identifier;
        +    if (nth_identifier.reset && nth_identifier.sort) {
        +        nth_identifier.reset();
        +        nth_identifier.sort();
        +    }
        +    var avoid = this.find_colliding_names(options);
        +    var cname = 0;
        +    this.globals.forEach(rename);
        +    this.walk(new TreeWalker(function(node) {
        +        if (node instanceof AST_Scope) node.variables.forEach(rename);
        +        if (node instanceof AST_SymbolCatch) rename(node.definition());
        +    }));
        +
        +    function next_name() {
        +        var name;
        +        do {
        +            name = nth_identifier.get(cname++);
        +        } while (avoid.has(name) || ALL_RESERVED_WORDS.has(name));
        +        return name;
        +    }
        +
        +    function rename(def) {
        +        if (def.global && options.cache) return;
        +        if (def.unmangleable(options)) return;
        +        if (options.reserved.has(def.name)) return;
        +        const redefinition = redefined_catch_def(def);
        +        const name = def.name = redefinition ? redefinition.name : next_name();
        +        def.orig.forEach(function(sym) {
        +            sym.name = name;
        +        });
        +        def.references.forEach(function(sym) {
        +            sym.name = name;
        +        });
        +    }
        +});
        +
        +AST_Node.DEFMETHOD("tail_node", return_this);
        +AST_Sequence.DEFMETHOD("tail_node", function() {
        +    return this.expressions[this.expressions.length - 1];
        +});
        +
        +AST_Toplevel.DEFMETHOD("compute_char_frequency", function(options) {
        +    options = format_mangler_options(options);
        +    var nth_identifier = options.nth_identifier;
        +    if (!nth_identifier.reset || !nth_identifier.consider || !nth_identifier.sort) {
        +        // If the identifier mangler is invariant, skip computing character frequency.
        +        return;
        +    }
        +    nth_identifier.reset();
        +
        +    try {
        +        AST_Node.prototype.print = function(stream, force_parens) {
        +            this._print(stream, force_parens);
        +            if (this instanceof AST_Symbol && !this.unmangleable(options)) {
        +                nth_identifier.consider(this.name, -1);
        +            } else if (options.properties) {
        +                if (this instanceof AST_DotHash) {
        +                    nth_identifier.consider("#" + this.property, -1);
        +                } else if (this instanceof AST_Dot) {
        +                    nth_identifier.consider(this.property, -1);
        +                } else if (this instanceof AST_Sub) {
        +                    skip_string(this.property);
        +                }
        +            }
        +        };
        +        nth_identifier.consider(this.print_to_string(), 1);
        +    } finally {
        +        AST_Node.prototype.print = AST_Node.prototype._print;
        +    }
        +    nth_identifier.sort();
        +
        +    function skip_string(node) {
        +        if (node instanceof AST_String) {
        +            nth_identifier.consider(node.value, -1);
        +        } else if (node instanceof AST_Conditional) {
        +            skip_string(node.consequent);
        +            skip_string(node.alternative);
        +        } else if (node instanceof AST_Sequence) {
        +            skip_string(node.tail_node());
        +        }
        +    }
        +});
        +
        +const base54 = (() => {
        +    const leading = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_".split("");
        +    const digits = "0123456789".split("");
        +    let chars;
        +    let frequency;
        +    function reset() {
        +        frequency = new Map();
        +        leading.forEach(function(ch) {
        +            frequency.set(ch, 0);
        +        });
        +        digits.forEach(function(ch) {
        +            frequency.set(ch, 0);
        +        });
        +    }
        +    function consider(str, delta) {
        +        for (var i = str.length; --i >= 0;) {
        +            frequency.set(str[i], frequency.get(str[i]) + delta);
        +        }
        +    }
        +    function compare(a, b) {
        +        return frequency.get(b) - frequency.get(a);
        +    }
        +    function sort() {
        +        chars = mergeSort(leading, compare).concat(mergeSort(digits, compare));
        +    }
        +    // Ensure this is in a usable initial state.
        +    reset();
        +    sort();
        +    function base54(num) {
        +        var ret = "", base = 54;
        +        num++;
        +        do {
        +            num--;
        +            ret += chars[num % base];
        +            num = Math.floor(num / base);
        +            base = 64;
        +        } while (num > 0);
        +        return ret;
        +    }
        +
        +    return {
        +        get: base54,
        +        consider,
        +        reset,
        +        sort
        +    };
        +})();
        +
        +
        +
        +;// ./node_modules/terser/lib/size.js
        +
        +
        +
        +let mangle_options = undefined;
        +AST_Node.prototype.size = function (compressor, stack) {
        +    mangle_options = compressor && compressor._mangle_options;
        +
        +    let size = 0;
        +    walk_parent(this, (node, info) => {
        +        size += node._size(info);
        +
        +        // Braceless arrow functions have fake "return" statements
        +        if (node instanceof AST_Arrow && node.is_braceless()) {
        +            size += node.body[0].value._size(info);
        +            return true;
        +        }
        +    }, stack || (compressor && compressor.stack));
        +
        +    // just to save a bit of memory
        +    mangle_options = undefined;
        +
        +    return size;
        +};
        +
        +AST_Node.prototype._size = () => 0;
        +
        +AST_Debugger.prototype._size = () => 8;
        +
        +AST_Directive.prototype._size = function () {
        +    // TODO string encoding stuff
        +    return 2 + this.value.length;
        +};
        +
        +/** Count commas/semicolons necessary to show a list of expressions/statements */
        +const list_overhead = (array) => array.length && array.length - 1;
        +
        +AST_Block.prototype._size = function () {
        +    return 2 + list_overhead(this.body);
        +};
        +
        +AST_Toplevel.prototype._size = function() {
        +    return list_overhead(this.body);
        +};
        +
        +AST_EmptyStatement.prototype._size = () => 1;
        +
        +AST_LabeledStatement.prototype._size = () => 2;  // x:
        +
        +AST_Do.prototype._size = () => 9;
        +
        +AST_While.prototype._size = () => 7;
        +
        +AST_For.prototype._size = () => 8;
        +
        +AST_ForIn.prototype._size = () => 8;
        +// AST_ForOf inherits ^
        +
        +AST_With.prototype._size = () => 6;
        +
        +AST_Expansion.prototype._size = () => 3;
        +
        +const lambda_modifiers = func =>
        +    (func.is_generator ? 1 : 0) + (func.async ? 6 : 0);
        +
        +AST_Accessor.prototype._size = function () {
        +    return lambda_modifiers(this) + 4 + list_overhead(this.argnames) + list_overhead(this.body);
        +};
        +
        +AST_Function.prototype._size = function (info) {
        +    const first = !!first_in_statement(info);
        +    return (first * 2) + lambda_modifiers(this) + 12 + list_overhead(this.argnames) + list_overhead(this.body);
        +};
        +
        +AST_Defun.prototype._size = function () {
        +    return lambda_modifiers(this) + 13 + list_overhead(this.argnames) + list_overhead(this.body);
        +};
        +
        +AST_Arrow.prototype._size = function () {
        +    let args_and_arrow = 2 + list_overhead(this.argnames);
        +
        +    if (
        +        !(
        +            this.argnames.length === 1
        +            && this.argnames[0] instanceof AST_Symbol
        +        )
        +    ) {
        +        args_and_arrow += 2; // parens around the args
        +    }
        +
        +    const body_overhead = this.is_braceless() ? 0 : list_overhead(this.body) + 2;
        +
        +    return lambda_modifiers(this) + args_and_arrow + body_overhead;
        +};
        +
        +AST_Destructuring.prototype._size = () => 2;
        +
        +AST_TemplateString.prototype._size = function () {
        +    return 2 + (Math.floor(this.segments.length / 2) * 3);  /* "${}" */
        +};
        +
        +AST_TemplateSegment.prototype._size = function () {
        +    return this.value.length;
        +};
        +
        +AST_Return.prototype._size = function () {
        +    return this.value ? 7 : 6;
        +};
        +
        +AST_Throw.prototype._size = () => 6;
        +
        +AST_Break.prototype._size = function () {
        +    return this.label ? 6 : 5;
        +};
        +
        +AST_Continue.prototype._size = function () {
        +    return this.label ? 9 : 8;
        +};
        +
        +AST_If.prototype._size = () => 4;
        +
        +AST_Switch.prototype._size = function () {
        +    return 8 + list_overhead(this.body);
        +};
        +
        +AST_Case.prototype._size = function () {
        +    return 5 + list_overhead(this.body);
        +};
        +
        +AST_Default.prototype._size = function () {
        +    return 8 + list_overhead(this.body);
        +};
        +
        +AST_Try.prototype._size = () => 3;
        +
        +AST_Catch.prototype._size = function () {
        +    let size = 7 + list_overhead(this.body);
        +    if (this.argname) {
        +        size += 2;
        +    }
        +    return size;
        +};
        +
        +AST_Finally.prototype._size = function () {
        +    return 7 + list_overhead(this.body);
        +};
        +
        +AST_Var.prototype._size = function () {
        +    return 4 + list_overhead(this.definitions);
        +};
        +
        +AST_Let.prototype._size = function () {
        +    return 4 + list_overhead(this.definitions);
        +};
        +
        +AST_Const.prototype._size = function () {
        +    return 6 + list_overhead(this.definitions);
        +};
        +
        +AST_Using.prototype._size = function () {
        +    const await_size = this.await ? 6 : 0;
        +    return await_size + 6 + list_overhead(this.definitions);
        +};
        +
        +AST_VarDefLike.prototype._size = function () {
        +    return this.value ? 1 : 0;
        +};
        +
        +AST_NameMapping.prototype._size = function () {
        +    // foreign name isn't mangled
        +    return this.name ? 4 : 0;
        +};
        +
        +AST_Import.prototype._size = function () {
        +    // import
        +    let size = 6;
        +
        +    if (this.imported_name) size += 1;
        +
        +    // from
        +    if (this.imported_name || this.imported_names) size += 5;
        +
        +    // braces, and the commas
        +    if (this.imported_names) {
        +        size += 2 + list_overhead(this.imported_names);
        +    }
        +
        +    return size;
        +};
        +
        +AST_ImportMeta.prototype._size = () => 11;
        +
        +AST_Export.prototype._size = function () {
        +    let size = 7 + (this.is_default ? 8 : 0);
        +
        +    if (this.exported_value) {
        +        size += this.exported_value._size();
        +    }
        +
        +    if (this.exported_names) {
        +        // Braces and commas
        +        size += 2 + list_overhead(this.exported_names);
        +    }
        +
        +    if (this.module_name) {
        +        // "from "
        +        size += 5;
        +    }
        +
        +    return size;
        +};
        +
        +AST_Call.prototype._size = function () {
        +    if (this.optional) {
        +        return 4 + list_overhead(this.args);
        +    }
        +    return 2 + list_overhead(this.args);
        +};
        +
        +AST_New.prototype._size = function () {
        +    return 6 + list_overhead(this.args);
        +};
        +
        +AST_Sequence.prototype._size = function () {
        +    return list_overhead(this.expressions);
        +};
        +
        +AST_Dot.prototype._size = function () {
        +    if (this.optional) {
        +        return this.property.length + 2;
        +    }
        +    return this.property.length + 1;
        +};
        +
        +AST_DotHash.prototype._size = function () {
        +    if (this.optional) {
        +        return this.property.length + 3;
        +    }
        +    return this.property.length + 2;
        +};
        +
        +AST_Sub.prototype._size = function () {
        +    return this.optional ? 4 : 2;
        +};
        +
        +AST_Unary.prototype._size = function () {
        +    if (this.operator === "typeof") return 7;
        +    if (this.operator === "void") return 5;
        +    return this.operator.length;
        +};
        +
        +AST_Binary.prototype._size = function (info) {
        +    if (this.operator === "in") return 4;
        +
        +    let size = this.operator.length;
        +
        +    if (
        +        (this.operator === "+" || this.operator === "-")
        +        && this.right instanceof AST_Unary && this.right.operator === this.operator
        +    ) {
        +        // 1+ +a > needs space between the +
        +        size += 1;
        +    }
        +
        +    if (this.needs_parens(info)) {
        +        size += 2;
        +    }
        +
        +    return size;
        +};
        +
        +AST_Conditional.prototype._size = () => 3;
        +
        +AST_Array.prototype._size = function () {
        +    return 2 + list_overhead(this.elements);
        +};
        +
        +AST_Object.prototype._size = function (info) {
        +    let base = 2;
        +    if (first_in_statement(info)) {
        +        base += 2; // parens
        +    }
        +    return base + list_overhead(this.properties);
        +};
        +
        +/*#__INLINE__*/
        +const key_size = key =>
        +    typeof key === "string" ? key.length : 0;
        +
        +AST_ObjectKeyVal.prototype._size = function () {
        +    return key_size(this.key) + 1;
        +};
        +
        +/*#__INLINE__*/
        +const static_size = is_static => is_static ? 7 : 0;
        +
        +AST_ObjectGetter.prototype._size = function () {
        +    return 5 + static_size(this.static) + key_size(this.key);
        +};
        +
        +AST_ObjectSetter.prototype._size = function () {
        +    return 5 + static_size(this.static) + key_size(this.key);
        +};
        +
        +AST_ConciseMethod.prototype._size = function () {
        +    return static_size(this.static) + key_size(this.key);
        +};
        +
        +AST_PrivateMethod.prototype._size = function () {
        +    return AST_ConciseMethod.prototype._size.call(this) + 1;
        +};
        +
        +AST_PrivateGetter.prototype._size = function () {
        +    return AST_ConciseMethod.prototype._size.call(this) + 4;
        +};
        +
        +AST_PrivateSetter.prototype._size = function () {
        +    return AST_ConciseMethod.prototype._size.call(this) + 4;
        +};
        +
        +AST_PrivateIn.prototype._size = function () {
        +    return 5; // "#", and " in "
        +};
        +
        +AST_Class.prototype._size = function () {
        +    return (
        +        (this.name ? 8 : 7)
        +        + (this.extends ? 8 : 0)
        +    );
        +};
        +
        +AST_ClassStaticBlock.prototype._size = function () {
        +    // "static{}" + semicolons
        +    return 8 + list_overhead(this.body);
        +};
        +
        +AST_ClassProperty.prototype._size = function () {
        +    return (
        +        static_size(this.static)
        +        + (typeof this.key === "string" ? this.key.length + 2 : 0)
        +        + (this.value ? 1 : 0)
        +    );
        +};
        +
        +AST_ClassPrivateProperty.prototype._size = function () {
        +    return AST_ClassProperty.prototype._size.call(this) + 1;
        +};
        +
        +AST_Symbol.prototype._size = function () {
        +    if (!(mangle_options && this.thedef && !this.thedef.unmangleable(mangle_options))) {
        +        return this.name.length;
        +    } else {
        +        return 1;
        +    }
        +};
        +
        +// TODO take propmangle into account
        +AST_SymbolClassProperty.prototype._size = function () {
        +    return this.name.length;
        +};
        +
        +AST_SymbolRef.prototype._size = AST_SymbolDeclaration.prototype._size = function () {
        +    if (this.name === "arguments") return 9;
        +
        +    return AST_Symbol.prototype._size.call(this);
        +};
        +
        +AST_NewTarget.prototype._size = () => 10;
        +
        +AST_SymbolImportForeign.prototype._size = function () {
        +    return this.name.length;
        +};
        +
        +AST_SymbolExportForeign.prototype._size = function () {
        +    return this.name.length;
        +};
        +
        +AST_This.prototype._size = () => 4;
        +
        +AST_Super.prototype._size = () => 5;
        +
        +AST_String.prototype._size = function () {
        +    return this.value.length + 2;
        +};
        +
        +AST_Number.prototype._size = function () {
        +    const { value } = this;
        +    if (value === 0) return 1;
        +    if (value > 0 && Math.floor(value) === value) {
        +        return Math.floor(Math.log10(value) + 1);
        +    }
        +    return value.toString().length;
        +};
        +
        +AST_BigInt.prototype._size = function () {
        +    return this.value.length;
        +};
        +
        +AST_RegExp.prototype._size = function () {
        +    return this.value.toString().length;
        +};
        +
        +AST_Null.prototype._size = () => 4;
        +
        +AST_NaN.prototype._size = () => 3;
        +
        +AST_Undefined.prototype._size = () => 6; // "void 0"
        +
        +AST_Hole.prototype._size = () => 0;  // comma is taken into account by list_overhead()
        +
        +AST_Infinity.prototype._size = () => 8;
        +
        +AST_True.prototype._size = () => 4;
        +
        +AST_False.prototype._size = () => 5;
        +
        +AST_Await.prototype._size = () => 6;
        +
        +AST_Yield.prototype._size = () => 6;
        +
        +;// ./node_modules/terser/lib/compress/compressor-flags.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +// bitfield flags to be stored in node.flags.
        +// These are set and unset during compression, and store information in the node without requiring multiple fields.
        +const UNUSED = 0b00000001;
        +const TRUTHY = 0b00000010;
        +const FALSY = 0b00000100;
        +const UNDEFINED = 0b00001000;
        +const INLINED = 0b00010000;
        +// Nodes to which values are ever written. Used when keep_assign is part of the unused option string.
        +const WRITE_ONLY = 0b00100000;
        +
        +// information specific to a single compression pass
        +const SQUEEZED = 0b0000000100000000;
        +const OPTIMIZED = 0b0000001000000000;
        +const TOP = 0b0000010000000000;
        +const CLEAR_BETWEEN_PASSES = SQUEEZED | OPTIMIZED | TOP;
        +
        +const has_flag = (node, flag) => node.flags & flag;
        +const set_flag = (node, flag) => { node.flags |= flag; };
        +const clear_flag = (node, flag) => { node.flags &= ~flag; };
        +
        +;// ./node_modules/terser/lib/compress/common.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +function merge_sequence(array, node) {
        +    if (node instanceof AST_Sequence) {
        +        array.push(...node.expressions);
        +    } else {
        +        array.push(node);
        +    }
        +    return array;
        +}
        +
        +function make_sequence(orig, expressions) {
        +    if (expressions.length == 1) return expressions[0];
        +    if (expressions.length == 0) throw new Error("trying to create a sequence with length zero!");
        +    return make_node(AST_Sequence, orig, {
        +        expressions: expressions.reduce(merge_sequence, [])
        +    });
        +}
        +
        +function make_empty_function(self) {
        +    return make_node(AST_Function, self, {
        +        uses_arguments: false,
        +        argnames: [],
        +        body: [],
        +        is_generator: false,
        +        async: false,
        +        variables: new Map(),
        +        uses_with: false,
        +        uses_eval: false,
        +        parent_scope: null,
        +        enclosed: [],
        +        cname: 0,
        +        block_scope: undefined,
        +    });
        +}
        +
        +function make_node_from_constant(val, orig) {
        +    switch (typeof val) {
        +      case "string":
        +        return make_node(AST_String, orig, {
        +            value: val
        +        });
        +      case "number":
        +        if (isNaN(val)) return make_node(AST_NaN, orig);
        +        if (isFinite(val)) {
        +            return 1 / val < 0 ? make_node(AST_UnaryPrefix, orig, {
        +                operator: "-",
        +                expression: make_node(AST_Number, orig, { value: -val })
        +            }) : make_node(AST_Number, orig, { value: val });
        +        }
        +        return val < 0 ? make_node(AST_UnaryPrefix, orig, {
        +            operator: "-",
        +            expression: make_node(AST_Infinity, orig)
        +        }) : make_node(AST_Infinity, orig);
        +      case "bigint":
        +        return make_node(AST_BigInt, orig, { value: val.toString() });
        +      case "boolean":
        +        return make_node(val ? AST_True : AST_False, orig);
        +      case "undefined":
        +        return make_void_0(orig);
        +      default:
        +        if (val === null) {
        +            return make_node(AST_Null, orig, { value: null });
        +        }
        +        if (val instanceof RegExp) {
        +            return make_node(AST_RegExp, orig, {
        +                value: {
        +                    source: regexp_source_fix(val.source),
        +                    flags: val.flags
        +                }
        +            });
        +        }
        +        throw new Error(string_template("Can't handle constant of type: {type}", {
        +            type: typeof val
        +        }));
        +    }
        +}
        +
        +function best_of_expression(ast1, ast2) {
        +    return ast1.size() > ast2.size() ? ast2 : ast1;
        +}
        +
        +function best_of_statement(ast1, ast2) {
        +    return best_of_expression(
        +        make_node(AST_SimpleStatement, ast1, {
        +            body: ast1
        +        }),
        +        make_node(AST_SimpleStatement, ast2, {
        +            body: ast2
        +        })
        +    ).body;
        +}
        +
        +/** Find which node is smaller, and return that */
        +function best_of(compressor, ast1, ast2) {
        +    if (first_in_statement(compressor)) {
        +        return best_of_statement(ast1, ast2);
        +    } else {
        +        return best_of_expression(ast1, ast2);
        +    }
        +}
        +
        +/** Simplify an object property's key, if possible */
        +function get_simple_key(key) {
        +    if (key instanceof AST_Constant) {
        +        return key.getValue();
        +    }
        +    if (key instanceof AST_UnaryPrefix
        +        && key.operator == "void"
        +        && key.expression instanceof AST_Constant) {
        +        return undefined;
        +    }
        +    return key;
        +}
        +
        +function read_property(obj, key) {
        +    key = get_simple_key(key);
        +    if (key instanceof AST_Node) return;
        +
        +    var value;
        +    if (obj instanceof AST_Array) {
        +        var elements = obj.elements;
        +        if (key == "length") return make_node_from_constant(elements.length, obj);
        +        if (typeof key == "number" && key in elements) value = elements[key];
        +    } else if (obj instanceof AST_Object) {
        +        key = "" + key;
        +        var props = obj.properties;
        +        for (var i = props.length; --i >= 0;) {
        +            var prop = props[i];
        +            if (!(prop instanceof AST_ObjectKeyVal)) return;
        +            if (!value && props[i].key === key) value = props[i].value;
        +        }
        +    }
        +
        +    return value instanceof AST_SymbolRef && value.fixed_value() || value;
        +}
        +
        +function has_break_or_continue(loop, parent) {
        +    var found = false;
        +    var tw = new TreeWalker(function(node) {
        +        if (found || node instanceof AST_Scope) return true;
        +        if (node instanceof AST_LoopControl && tw.loopcontrol_target(node) === loop) {
        +            return found = true;
        +        }
        +    });
        +    if (parent instanceof AST_LabeledStatement) tw.push(parent);
        +    tw.push(loop);
        +    loop.body.walk(tw);
        +    return found;
        +}
        +
        +// we shouldn't compress (1,func)(something) to
        +// func(something) because that changes the meaning of
        +// the func (becomes lexical instead of global).
        +function maintain_this_binding(parent, orig, val) {
        +    if (requires_sequence_to_maintain_binding(parent, orig, val)) {
        +        const zero = make_node(AST_Number, orig, { value: 0 });
        +        return make_sequence(orig, [ zero, val ]);
        +    } else {
        +        return val;
        +    }
        +}
        +
        +/** Detect (1, x.noThis)(), (0, eval)(), which need sequences */
        +function requires_sequence_to_maintain_binding(parent, orig, val) {
        +    return (
        +        parent instanceof AST_UnaryPrefix && parent.operator == "delete"
        +        || parent instanceof AST_Call && parent.expression === orig
        +            && (
        +                val instanceof AST_Chain
        +                || val instanceof AST_PropAccess
        +                || val instanceof AST_SymbolRef && val.name == "eval"
        +            )
        +    );
        +}
        +
        +function is_func_expr(node) {
        +    return node instanceof AST_Arrow || node instanceof AST_Function;
        +}
        +
        +/**
        + * Used to determine whether the node can benefit from negation.
        + * Not the case with arrow functions (you need an extra set of parens). */
        +function is_iife_call(node) {
        +    if (node.TYPE != "Call") return false;
        +    return node.expression instanceof AST_Function || is_iife_call(node.expression);
        +}
        +
        +function is_empty(thing) {
        +    if (thing === null) return true;
        +    if (thing instanceof AST_EmptyStatement) return true;
        +    if (thing instanceof AST_BlockStatement) return thing.body.length == 0;
        +    return false;
        +}
        +
        +const identifier_atom = makePredicate("Infinity NaN undefined");
        +function is_identifier_atom(node) {
        +    return node instanceof AST_Infinity
        +        || node instanceof AST_NaN
        +        || node instanceof AST_Undefined;
        +}
        +
        +/** Check if this is a SymbolRef node which has one def of a certain AST type */
        +function is_ref_of(ref, type) {
        +    if (!(ref instanceof AST_SymbolRef)) return false;
        +    var orig = ref.definition().orig;
        +    for (var i = orig.length; --i >= 0;) {
        +        if (orig[i] instanceof type) return true;
        +    }
        +}
        +
        +/**Can we turn { block contents... } into just the block contents ?
        + * Not if one of these is inside.
        + **/
        +function can_be_evicted_from_block(node) {
        +    return !(
        +        node instanceof AST_DefClass ||
        +        node instanceof AST_Defun ||
        +        node instanceof AST_Let ||
        +        node instanceof AST_Const ||
        +        node instanceof AST_Using ||
        +        node instanceof AST_Export ||
        +        node instanceof AST_Import
        +    );
        +}
        +
        +function as_statement_array(thing) {
        +    if (thing === null) return [];
        +    if (thing instanceof AST_BlockStatement) return thing.body;
        +    if (thing instanceof AST_EmptyStatement) return [];
        +    if (thing instanceof AST_Statement) return [ thing ];
        +    throw new Error("Can't convert thing to statement array");
        +}
        +
        +function is_reachable(scope_node, defs) {
        +    const find_ref = node => {
        +        if (node instanceof AST_SymbolRef && defs.includes(node.definition())) {
        +            return walk_abort;
        +        }
        +    };
        +
        +    return walk_parent(scope_node, (node, info) => {
        +        if (node instanceof AST_Scope && node !== scope_node) {
        +            var parent = info.parent();
        +
        +            if (
        +                parent instanceof AST_Call
        +                && parent.expression === node
        +                // Async/Generators aren't guaranteed to sync evaluate all of
        +                // their body steps, so it's possible they close over the variable.
        +                && !(node.async || node.is_generator)
        +            ) {
        +                return;
        +            }
        +
        +            if (walk(node, find_ref)) return walk_abort;
        +
        +            return true;
        +        }
        +    });
        +}
        +
        +/** Check if a ref refers to the name of a function/class it's defined within */
        +function is_recursive_ref(tw, def) {
        +    var node;
        +    for (var i = 0; node = tw.parent(i); i++) {
        +        if (node instanceof AST_Lambda || node instanceof AST_Class) {
        +            var name = node.name;
        +            if (name && name.definition() === def) {
        +                return true;
        +            }
        +        }
        +    }
        +    return false;
        +}
        +
        +// TODO this only works with AST_Defun, shouldn't it work for other ways of defining functions?
        +function retain_top_func(fn, compressor) {
        +    return compressor.top_retain
        +        && fn instanceof AST_Defun
        +        && has_flag(fn, TOP)
        +        && fn.name
        +        && compressor.top_retain(fn.name.definition());
        +}
        +
        +;// ./node_modules/terser/lib/compress/native-objects.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +// Lists of native methods, useful for `unsafe` option which assumes they exist.
        +// Note: Lots of methods and functions are missing here, in case they aren't pure
        +// or not available in all JS environments.
        +
        +function make_nested_lookup(obj) {
        +    const out = new Map();
        +    for (var key of Object.keys(obj)) {
        +        out.set(key, makePredicate(obj[key]));
        +    }
        +
        +    const does_have = (global_name, fname) => {
        +        const inner_map = out.get(global_name);
        +        return inner_map != null && inner_map.has(fname);
        +    };
        +    return does_have;
        +}
        +
        +// Objects which are safe to access without throwing or causing a side effect.
        +// Usually we'd check the `unsafe` option first but these are way too common for that
        +const pure_prop_access_globals = new Set([
        +    "Number",
        +    "String",
        +    "Array",
        +    "Object",
        +    "Function",
        +    "Promise",
        +]);
        +
        +const object_methods = [
        +    "constructor",
        +    "toString",
        +    "valueOf",
        +];
        +
        +const is_pure_native_method = make_nested_lookup({
        +    Array: [
        +        "at",
        +        "flat",
        +        "includes",
        +        "indexOf",
        +        "join",
        +        "lastIndexOf",
        +        "slice",
        +        ...object_methods,
        +    ],
        +    Boolean: object_methods,
        +    Function: object_methods,
        +    Number: [
        +        "toExponential",
        +        "toFixed",
        +        "toPrecision",
        +        ...object_methods,
        +    ],
        +    Object: object_methods,
        +    RegExp: [
        +        "test",
        +        ...object_methods,
        +    ],
        +    String: [
        +        "at",
        +        "charAt",
        +        "charCodeAt",
        +        "charPointAt",
        +        "concat",
        +        "endsWith",
        +        "fromCharCode",
        +        "fromCodePoint",
        +        "includes",
        +        "indexOf",
        +        "italics",
        +        "lastIndexOf",
        +        "localeCompare",
        +        "match",
        +        "matchAll",
        +        "normalize",
        +        "padStart",
        +        "padEnd",
        +        "repeat",
        +        "replace",
        +        "replaceAll",
        +        "search",
        +        "slice",
        +        "split",
        +        "startsWith",
        +        "substr",
        +        "substring",
        +        "repeat",
        +        "toLocaleLowerCase",
        +        "toLocaleUpperCase",
        +        "toLowerCase",
        +        "toUpperCase",
        +        "trim",
        +        "trimEnd",
        +        "trimStart",
        +        ...object_methods,
        +    ],
        +});
        +
        +const is_pure_native_fn = make_nested_lookup({
        +    Array: [
        +        "isArray",
        +    ],
        +    Math: [
        +        "abs",
        +        "acos",
        +        "asin",
        +        "atan",
        +        "ceil",
        +        "cos",
        +        "exp",
        +        "floor",
        +        "log",
        +        "round",
        +        "sin",
        +        "sqrt",
        +        "tan",
        +        "atan2",
        +        "pow",
        +        "max",
        +        "min",
        +    ],
        +    Number: [
        +        "isFinite",
        +        "isNaN",
        +    ],
        +    Object: [
        +        "create",
        +        "getOwnPropertyDescriptor",
        +        "getOwnPropertyNames",
        +        "getPrototypeOf",
        +        "isExtensible",
        +        "isFrozen",
        +        "isSealed",
        +        "hasOwn",
        +        "keys",
        +    ],
        +    String: [
        +        "fromCharCode",
        +    ],
        +});
        +
        +// Known numeric values which come with JS environments
        +const is_pure_native_value = make_nested_lookup({
        +    Math: [
        +        "E",
        +        "LN10",
        +        "LN2",
        +        "LOG2E",
        +        "LOG10E",
        +        "PI",
        +        "SQRT1_2",
        +        "SQRT2",
        +    ],
        +    Number: [
        +        "MAX_VALUE",
        +        "MIN_VALUE",
        +        "NaN",
        +        "NEGATIVE_INFINITY",
        +        "POSITIVE_INFINITY",
        +    ],
        +});
        +
        +;// ./node_modules/terser/lib/compress/inference.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +// Functions and methods to infer certain facts about expressions
        +// It's not always possible to be 100% sure about something just by static analysis,
        +// so `true` means yes, and `false` means maybe
        +
        +const is_undeclared_ref = (node) =>
        +    node instanceof AST_SymbolRef && node.definition().undeclared;
        +
        +const bitwise_binop = makePredicate("<<< >> << & | ^ ~");
        +const lazy_op = makePredicate("&& || ??");
        +const unary_side_effects = makePredicate("delete ++ --");
        +
        +// methods to determine whether an expression has a boolean result type
        +(function(def_is_boolean) {
        +    const unary_bool = makePredicate("! delete");
        +    const binary_bool = makePredicate("in instanceof == != === !== < <= >= >");
        +    def_is_boolean(AST_Node, return_false);
        +    def_is_boolean(AST_UnaryPrefix, function() {
        +        return unary_bool.has(this.operator);
        +    });
        +    def_is_boolean(AST_Binary, function() {
        +        return binary_bool.has(this.operator)
        +            || lazy_op.has(this.operator)
        +                && this.left.is_boolean()
        +                && this.right.is_boolean();
        +    });
        +    def_is_boolean(AST_Conditional, function() {
        +        return this.consequent.is_boolean() && this.alternative.is_boolean();
        +    });
        +    def_is_boolean(AST_Assign, function() {
        +        return this.operator == "=" && this.right.is_boolean();
        +    });
        +    def_is_boolean(AST_Sequence, function() {
        +        return this.tail_node().is_boolean();
        +    });
        +    def_is_boolean(AST_True, return_true);
        +    def_is_boolean(AST_False, return_true);
        +})(function(node, func) {
        +    node.DEFMETHOD("is_boolean", func);
        +});
        +
        +// methods to determine if an expression has a numeric result type
        +(function(def_is_number) {
        +    def_is_number(AST_Node, return_false);
        +    def_is_number(AST_Number, return_true);
        +    const unary = makePredicate("+ - ~ ++ --");
        +    def_is_number(AST_Unary, function(compressor) {
        +        return unary.has(this.operator) && this.expression.is_number(compressor);
        +    });
        +    const numeric_ops = makePredicate("- * / % & | ^ << >> >>>");
        +    def_is_number(AST_Binary, function(compressor) {
        +        if (this.operator === "+") {
        +            // Both sides need to be `number`. Or one is a `number` and the other is number-ish.
        +            return this.left.is_number(compressor) && this.right.is_number_or_bigint(compressor)
        +                || this.right.is_number(compressor) && this.left.is_number_or_bigint(compressor);
        +        } else if (numeric_ops.has(this.operator)) {
        +            return this.left.is_number(compressor) || this.right.is_number(compressor);
        +        } else {
        +            return false;
        +        }
        +    });
        +    def_is_number(AST_Assign, function(compressor) {
        +        return (this.operator === "=" || numeric_ops.has(this.operator.slice(0, -1)))
        +            && this.right.is_number(compressor);
        +    });
        +    def_is_number(AST_Sequence, function(compressor) {
        +        return this.tail_node().is_number(compressor);
        +    });
        +    def_is_number(AST_Conditional, function(compressor) {
        +        return this.consequent.is_number(compressor) && this.alternative.is_number(compressor);
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("is_number", func);
        +});
        +
        +// methods to determine if an expression returns a BigInt
        +(function(def_is_bigint) {
        +    def_is_bigint(AST_Node, return_false);
        +    def_is_bigint(AST_BigInt, return_true);
        +    const unary = makePredicate("+ - ~ ++ --");
        +    def_is_bigint(AST_Unary, function(compressor) {
        +        return unary.has(this.operator) && this.expression.is_bigint(compressor);
        +    });
        +    const numeric_ops = makePredicate("- * / % & | ^ << >>");
        +    def_is_bigint(AST_Binary, function(compressor) {
        +        if (this.operator === "+") {
        +            return this.left.is_bigint(compressor) && this.right.is_number_or_bigint(compressor)
        +                || this.right.is_bigint(compressor) && this.left.is_number_or_bigint(compressor);
        +        } else if (numeric_ops.has(this.operator)) {
        +            return this.left.is_bigint(compressor) || this.right.is_bigint(compressor);
        +        } else {
        +            return false;
        +        }
        +    });
        +    def_is_bigint(AST_Assign, function(compressor) {
        +        return (numeric_ops.has(this.operator.slice(0, -1)) || this.operator == "=")
        +            && this.right.is_bigint(compressor);
        +    });
        +    def_is_bigint(AST_Sequence, function(compressor) {
        +        return this.tail_node().is_bigint(compressor);
        +    });
        +    def_is_bigint(AST_Conditional, function(compressor) {
        +        return this.consequent.is_bigint(compressor) && this.alternative.is_bigint(compressor);
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("is_bigint", func);
        +});
        +
        +// methods to determine if an expression is a number or a bigint
        +(function(def_is_number_or_bigint) {
        +    def_is_number_or_bigint(AST_Node, return_false);
        +    def_is_number_or_bigint(AST_Number, return_true);
        +    def_is_number_or_bigint(AST_BigInt, return_true);
        +    const numeric_unary_ops = makePredicate("+ - ~ ++ --");
        +    def_is_number_or_bigint(AST_Unary, function(_compressor) {
        +        return numeric_unary_ops.has(this.operator);
        +    });
        +    const numeric_ops = makePredicate("- * / % & | ^ << >>");
        +    def_is_number_or_bigint(AST_Binary, function(compressor) {
        +        return this.operator === "+"
        +            ? this.left.is_number_or_bigint(compressor) && this.right.is_number_or_bigint(compressor)
        +            : numeric_ops.has(this.operator);
        +    });
        +    def_is_number_or_bigint(AST_Assign, function(compressor) {
        +        return numeric_ops.has(this.operator.slice(0, -1))
        +            || this.operator == "=" && this.right.is_number_or_bigint(compressor);
        +    });
        +    def_is_number_or_bigint(AST_Sequence, function(compressor) {
        +        return this.tail_node().is_number_or_bigint(compressor);
        +    });
        +    def_is_number_or_bigint(AST_Conditional, function(compressor) {
        +        return this.consequent.is_number_or_bigint(compressor) && this.alternative.is_number_or_bigint(compressor);
        +    });
        +}(function (node, func) {
        +    node.DEFMETHOD("is_number_or_bigint", func);
        +}));
        +
        +
        +// methods to determine if an expression is a 32 bit integer (IE results from bitwise ops, or is an integer constant fitting in that size
        +(function(def_is_32_bit_integer) {
        +    def_is_32_bit_integer(AST_Node, return_false);
        +    def_is_32_bit_integer(AST_Number, function(_compressor) {
        +        return this.value === (this.value | 0);
        +    });
        +    def_is_32_bit_integer(AST_UnaryPrefix, function(compressor) {
        +        return this.operator == "~" ? this.expression.is_number(compressor)
        +            : this.operator === "+" ? this.expression.is_32_bit_integer(compressor)
        +            : false;
        +    });
        +    def_is_32_bit_integer(AST_Binary, function(compressor) {
        +        return bitwise_binop.has(this.operator)
        +            && (this.left.is_number(compressor) || this.right.is_number(compressor));
        +    });
        +}(function (node, func) {
        +    node.DEFMETHOD("is_32_bit_integer", func);
        +}));
        +
        +// methods to determine if an expression has a string result type
        +(function(def_is_string) {
        +    def_is_string(AST_Node, return_false);
        +    def_is_string(AST_String, return_true);
        +    def_is_string(AST_TemplateString, return_true);
        +    def_is_string(AST_UnaryPrefix, function() {
        +        return this.operator == "typeof";
        +    });
        +    def_is_string(AST_Binary, function(compressor) {
        +        return this.operator == "+" &&
        +            (this.left.is_string(compressor) || this.right.is_string(compressor));
        +    });
        +    def_is_string(AST_Assign, function(compressor) {
        +        return (this.operator == "=" || this.operator == "+=") && this.right.is_string(compressor);
        +    });
        +    def_is_string(AST_Sequence, function(compressor) {
        +        return this.tail_node().is_string(compressor);
        +    });
        +    def_is_string(AST_Conditional, function(compressor) {
        +        return this.consequent.is_string(compressor) && this.alternative.is_string(compressor);
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("is_string", func);
        +});
        +
        +function is_undefined(node, compressor) {
        +    return (
        +        has_flag(node, UNDEFINED)
        +        || node instanceof AST_Undefined
        +        || node instanceof AST_UnaryPrefix
        +            && node.operator == "void"
        +            && !node.expression.has_side_effects(compressor)
        +    );
        +}
        +
        +// Is the node explicitly null or undefined.
        +function is_null_or_undefined(node, compressor) {
        +    let fixed;
        +    return (
        +        node instanceof AST_Null
        +        || is_undefined(node, compressor)
        +        || (
        +            node instanceof AST_SymbolRef
        +            && (fixed = node.definition().fixed) instanceof AST_Node
        +            && is_nullish(fixed, compressor)
        +        )
        +    );
        +}
        +
        +// Find out if this expression is optionally chained from a base-point that we
        +// can statically analyze as null or undefined.
        +function is_nullish_shortcircuited(node, compressor) {
        +    if (node instanceof AST_PropAccess || node instanceof AST_Call) {
        +        return (
        +            (node.optional && is_null_or_undefined(node.expression, compressor))
        +            || is_nullish_shortcircuited(node.expression, compressor)
        +        );
        +    }
        +    if (node instanceof AST_Chain) return is_nullish_shortcircuited(node.expression, compressor);
        +    return false;
        +}
        +
        +// Find out if something is == null, or can short circuit into nullish.
        +// Used to optimize ?. and ??
        +function is_nullish(node, compressor) {
        +    if (is_null_or_undefined(node, compressor)) return true;
        +    return is_nullish_shortcircuited(node, compressor);
        +}
        +
        +// Determine if expression might cause side effects
        +// If there's a possibility that a node may change something when it's executed, this returns true
        +(function(def_has_side_effects) {
        +    def_has_side_effects(AST_Node, return_true);
        +
        +    def_has_side_effects(AST_EmptyStatement, return_false);
        +    def_has_side_effects(AST_Constant, return_false);
        +    def_has_side_effects(AST_This, return_false);
        +
        +    function any(list, compressor) {
        +        for (var i = list.length; --i >= 0;)
        +            if (list[i].has_side_effects(compressor))
        +                return true;
        +        return false;
        +    }
        +
        +    def_has_side_effects(AST_Block, function(compressor) {
        +        return any(this.body, compressor);
        +    });
        +    def_has_side_effects(AST_Call, function(compressor) {
        +        if (
        +            !this.is_callee_pure(compressor)
        +            && (!this.expression.is_call_pure(compressor)
        +                || this.expression.has_side_effects(compressor))
        +        ) {
        +            return true;
        +        }
        +        return any(this.args, compressor);
        +    });
        +    def_has_side_effects(AST_Switch, function(compressor) {
        +        return this.expression.has_side_effects(compressor)
        +            || any(this.body, compressor);
        +    });
        +    def_has_side_effects(AST_Case, function(compressor) {
        +        return this.expression.has_side_effects(compressor)
        +            || any(this.body, compressor);
        +    });
        +    def_has_side_effects(AST_Try, function(compressor) {
        +        return this.body.has_side_effects(compressor)
        +            || this.bcatch && this.bcatch.has_side_effects(compressor)
        +            || this.bfinally && this.bfinally.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_If, function(compressor) {
        +        return this.condition.has_side_effects(compressor)
        +            || this.body && this.body.has_side_effects(compressor)
        +            || this.alternative && this.alternative.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_ImportMeta, return_false);
        +    def_has_side_effects(AST_LabeledStatement, function(compressor) {
        +        return this.body.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_SimpleStatement, function(compressor) {
        +        return this.body.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_Lambda, return_false);
        +    def_has_side_effects(AST_Class, function (compressor) {
        +        if (this.extends && this.extends.has_side_effects(compressor)) {
        +            return true;
        +        }
        +        return any(this.properties, compressor);
        +    });
        +    def_has_side_effects(AST_ClassStaticBlock, function(compressor) {
        +        return any(this.body, compressor);
        +    });
        +    def_has_side_effects(AST_Binary, function(compressor) {
        +        return this.left.has_side_effects(compressor)
        +            || this.right.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_Assign, return_true);
        +    def_has_side_effects(AST_Conditional, function(compressor) {
        +        return this.condition.has_side_effects(compressor)
        +            || this.consequent.has_side_effects(compressor)
        +            || this.alternative.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_Unary, function(compressor) {
        +        return unary_side_effects.has(this.operator)
        +            || this.expression.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_SymbolRef, function(compressor) {
        +        return !this.is_declared(compressor) && !pure_prop_access_globals.has(this.name);
        +    });
        +    def_has_side_effects(AST_SymbolClassProperty, return_false);
        +    def_has_side_effects(AST_SymbolDeclaration, return_false);
        +    def_has_side_effects(AST_Object, function(compressor) {
        +        return any(this.properties, compressor);
        +    });
        +    def_has_side_effects(AST_ObjectKeyVal, function(compressor) {
        +        return (
        +            this.computed_key() && this.key.has_side_effects(compressor)
        +            || this.value && this.value.has_side_effects(compressor)
        +        );
        +    });
        +    def_has_side_effects([
        +        AST_ClassProperty,
        +        AST_ClassPrivateProperty,
        +    ], function(compressor) {
        +        return (
        +            this.computed_key() && this.key.has_side_effects(compressor)
        +            || this.static && this.value && this.value.has_side_effects(compressor)
        +        );
        +    });
        +    def_has_side_effects([
        +        AST_PrivateMethod,
        +        AST_PrivateGetter,
        +        AST_PrivateSetter,
        +        AST_ConciseMethod,
        +        AST_ObjectGetter,
        +        AST_ObjectSetter,
        +    ], function(compressor) {
        +        return this.computed_key() && this.key.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_Array, function(compressor) {
        +        return any(this.elements, compressor);
        +    });
        +    def_has_side_effects(AST_Dot, function(compressor) {
        +        if (is_nullish(this, compressor)) {
        +            return this.expression.has_side_effects(compressor);
        +        }
        +        if (!this.optional && this.expression.may_throw_on_access(compressor)) {
        +            return true;
        +        }
        +
        +        return this.expression.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_Sub, function(compressor) {
        +        if (is_nullish(this, compressor)) {
        +            return this.expression.has_side_effects(compressor);
        +        }
        +        if (!this.optional && this.expression.may_throw_on_access(compressor)) {
        +            return true;
        +        }
        +
        +        var property = this.property.has_side_effects(compressor);
        +        if (property && this.optional) return true; // "?." is a condition
        +
        +        return property || this.expression.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_Chain, function (compressor) {
        +        return this.expression.has_side_effects(compressor);
        +    });
        +    def_has_side_effects(AST_Sequence, function(compressor) {
        +        return any(this.expressions, compressor);
        +    });
        +    def_has_side_effects(AST_Definitions, function(compressor) {
        +        return any(this.definitions, compressor);
        +    });
        +    def_has_side_effects(AST_VarDef, function() {
        +        return this.value != null;
        +    });
        +    def_has_side_effects(AST_TemplateSegment, return_false);
        +    def_has_side_effects(AST_TemplateString, function(compressor) {
        +        return any(this.segments, compressor);
        +    });
        +})(function(node_or_nodes, func) {
        +    for (const node of [].concat(node_or_nodes)) {
        +        node.DEFMETHOD("has_side_effects", func);
        +    }
        +});
        +
        +// determine if expression may throw
        +(function(def_may_throw) {
        +    def_may_throw(AST_Node, return_true);
        +
        +    def_may_throw(AST_Constant, return_false);
        +    def_may_throw(AST_EmptyStatement, return_false);
        +    def_may_throw(AST_Lambda, return_false);
        +    def_may_throw(AST_SymbolDeclaration, return_false);
        +    def_may_throw(AST_This, return_false);
        +    def_may_throw(AST_ImportMeta, return_false);
        +
        +    function any(list, compressor) {
        +        for (var i = list.length; --i >= 0;)
        +            if (list[i].may_throw(compressor))
        +                return true;
        +        return false;
        +    }
        +
        +    def_may_throw(AST_Class, function(compressor) {
        +        if (this.extends && this.extends.may_throw(compressor)) return true;
        +        return any(this.properties, compressor);
        +    });
        +    def_may_throw(AST_ClassStaticBlock, function (compressor) {
        +        return any(this.body, compressor);
        +    });
        +
        +    def_may_throw(AST_Array, function(compressor) {
        +        return any(this.elements, compressor);
        +    });
        +    def_may_throw(AST_Assign, function(compressor) {
        +        if (this.right.may_throw(compressor)) return true;
        +        if (!compressor.has_directive("use strict")
        +            && this.operator == "="
        +            && this.left instanceof AST_SymbolRef) {
        +            return false;
        +        }
        +        return this.left.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Binary, function(compressor) {
        +        return this.left.may_throw(compressor)
        +            || this.right.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Block, function(compressor) {
        +        return any(this.body, compressor);
        +    });
        +    def_may_throw(AST_Call, function(compressor) {
        +        if (is_nullish(this, compressor)) return false;
        +        if (any(this.args, compressor)) return true;
        +        if (this.is_callee_pure(compressor)) return false;
        +        if (this.expression.may_throw(compressor)) return true;
        +        return !(this.expression instanceof AST_Lambda)
        +            || any(this.expression.body, compressor);
        +    });
        +    def_may_throw(AST_Case, function(compressor) {
        +        return this.expression.may_throw(compressor)
        +            || any(this.body, compressor);
        +    });
        +    def_may_throw(AST_Conditional, function(compressor) {
        +        return this.condition.may_throw(compressor)
        +            || this.consequent.may_throw(compressor)
        +            || this.alternative.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Definitions, function(compressor) {
        +        return any(this.definitions, compressor);
        +    });
        +    def_may_throw(AST_If, function(compressor) {
        +        return this.condition.may_throw(compressor)
        +            || this.body && this.body.may_throw(compressor)
        +            || this.alternative && this.alternative.may_throw(compressor);
        +    });
        +    def_may_throw(AST_LabeledStatement, function(compressor) {
        +        return this.body.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Object, function(compressor) {
        +        return any(this.properties, compressor);
        +    });
        +    def_may_throw(AST_ObjectKeyVal, function(compressor) {
        +        return (
        +            this.computed_key() && this.key.may_throw(compressor)
        +            || this.value ? this.value.may_throw(compressor) : false
        +        );
        +    });
        +    def_may_throw([
        +        AST_ClassProperty,
        +        AST_ClassPrivateProperty,
        +    ], function(compressor) {
        +        return (
        +            this.computed_key() && this.key.may_throw(compressor)
        +            || this.static && this.value && this.value.may_throw(compressor)
        +        );
        +    });
        +    def_may_throw([
        +        AST_ConciseMethod,
        +        AST_ObjectGetter,
        +        AST_ObjectSetter,
        +    ], function(compressor) {
        +        return this.computed_key() && this.key.may_throw(compressor);
        +    });
        +    def_may_throw([
        +        AST_PrivateMethod,
        +        AST_PrivateGetter,
        +        AST_PrivateSetter,
        +    ], return_false);
        +    def_may_throw(AST_Return, function(compressor) {
        +        return this.value && this.value.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Sequence, function(compressor) {
        +        return any(this.expressions, compressor);
        +    });
        +    def_may_throw(AST_SimpleStatement, function(compressor) {
        +        return this.body.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Dot, function(compressor) {
        +        if (is_nullish(this, compressor)) return false;
        +        return !this.optional && this.expression.may_throw_on_access(compressor)
        +            || this.expression.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Sub, function(compressor) {
        +        if (is_nullish(this, compressor)) return false;
        +        return !this.optional && this.expression.may_throw_on_access(compressor)
        +            || this.expression.may_throw(compressor)
        +            || this.property.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Chain, function(compressor) {
        +        return this.expression.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Switch, function(compressor) {
        +        return this.expression.may_throw(compressor)
        +            || any(this.body, compressor);
        +    });
        +    def_may_throw(AST_SymbolRef, function(compressor) {
        +        return !this.is_declared(compressor) && !pure_prop_access_globals.has(this.name);
        +    });
        +    def_may_throw(AST_SymbolClassProperty, return_false);
        +    def_may_throw(AST_Try, function(compressor) {
        +        return this.bcatch ? this.bcatch.may_throw(compressor) : this.body.may_throw(compressor)
        +            || this.bfinally && this.bfinally.may_throw(compressor);
        +    });
        +    def_may_throw(AST_Unary, function(compressor) {
        +        if (this.operator == "typeof" && this.expression instanceof AST_SymbolRef)
        +            return false;
        +        return this.expression.may_throw(compressor);
        +    });
        +    def_may_throw(AST_VarDef, function(compressor) {
        +        if (!this.value) return false;
        +        return this.value.may_throw(compressor);
        +    });
        +})(function(node_or_nodes, func) {
        +    for (const node of [].concat(node_or_nodes)) {
        +        node.DEFMETHOD("may_throw", func);
        +    }
        +});
        +
        +// determine if expression is constant
        +(function(def_is_constant_expression) {
        +    function all_refs_local(scope) {
        +        let result = true;
        +        walk(this, node => {
        +            if (node instanceof AST_SymbolRef) {
        +                if (has_flag(this, INLINED)) {
        +                    result = false;
        +                    return walk_abort;
        +                }
        +                var def = node.definition();
        +                if (
        +                    member(def, this.enclosed)
        +                    && !this.variables.has(def.name)
        +                ) {
        +                    if (scope) {
        +                        var scope_def = scope.find_variable(node);
        +                        if (def.undeclared ? !scope_def : scope_def === def) {
        +                            result = "f";
        +                            return true;
        +                        }
        +                    }
        +                    result = false;
        +                    return walk_abort;
        +                }
        +                return true;
        +            }
        +            if (node instanceof AST_This && this instanceof AST_Arrow) {
        +                result = false;
        +                return walk_abort;
        +            }
        +        });
        +        return result;
        +    }
        +
        +    def_is_constant_expression(AST_Node, return_false);
        +    def_is_constant_expression(AST_Constant, return_true);
        +    def_is_constant_expression(AST_Class, function(scope) {
        +        if (this.extends && !this.extends.is_constant_expression(scope)) {
        +            return false;
        +        }
        +
        +        for (const prop of this.properties) {
        +            if (prop.computed_key() && !prop.key.is_constant_expression(scope)) {
        +                return false;
        +            }
        +            if (prop.static && prop.value && !prop.value.is_constant_expression(scope)) {
        +                return false;
        +            }
        +            if (prop instanceof AST_ClassStaticBlock) {
        +                return false;
        +            }
        +        }
        +
        +        return all_refs_local.call(this, scope);
        +    });
        +    def_is_constant_expression(AST_Lambda, all_refs_local);
        +    def_is_constant_expression(AST_Unary, function() {
        +        return this.expression.is_constant_expression();
        +    });
        +    def_is_constant_expression(AST_Binary, function() {
        +        return this.left.is_constant_expression()
        +            && this.right.is_constant_expression();
        +    });
        +    def_is_constant_expression(AST_Array, function() {
        +        return this.elements.every((l) => l.is_constant_expression());
        +    });
        +    def_is_constant_expression(AST_Object, function() {
        +        return this.properties.every((l) => l.is_constant_expression());
        +    });
        +    def_is_constant_expression(AST_ObjectProperty, function() {
        +        return !!(!(this.key instanceof AST_Node) && this.value && this.value.is_constant_expression());
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("is_constant_expression", func);
        +});
        +
        +
        +// may_throw_on_access()
        +// returns true if this node may be null, undefined or contain `AST_Accessor`
        +(function(def_may_throw_on_access) {
        +    AST_Node.DEFMETHOD("may_throw_on_access", function(compressor) {
        +        return !compressor.option("pure_getters")
        +            || this._dot_throw(compressor);
        +    });
        +
        +    function is_strict(compressor) {
        +        return /strict/.test(compressor.option("pure_getters"));
        +    }
        +
        +    def_may_throw_on_access(AST_Node, is_strict);
        +    def_may_throw_on_access(AST_Null, return_true);
        +    def_may_throw_on_access(AST_Undefined, return_true);
        +    def_may_throw_on_access(AST_Constant, return_false);
        +    def_may_throw_on_access(AST_Array, return_false);
        +    def_may_throw_on_access(AST_Object, function(compressor) {
        +        if (!is_strict(compressor)) return false;
        +        for (var i = this.properties.length; --i >=0;)
        +            if (this.properties[i]._dot_throw(compressor)) return true;
        +        return false;
        +    });
        +    // Do not be as strict with classes as we are with objects.
        +    // Hopefully the community is not going to abuse static getters and setters.
        +    // https://github.com/terser/terser/issues/724#issuecomment-643655656
        +    def_may_throw_on_access(AST_Class, return_false);
        +    def_may_throw_on_access(AST_ObjectProperty, return_false);
        +    def_may_throw_on_access(AST_ObjectGetter, return_true);
        +    def_may_throw_on_access(AST_Expansion, function(compressor) {
        +        return this.expression._dot_throw(compressor);
        +    });
        +    def_may_throw_on_access(AST_Function, return_false);
        +    def_may_throw_on_access(AST_Arrow, return_false);
        +    def_may_throw_on_access(AST_UnaryPostfix, return_false);
        +    def_may_throw_on_access(AST_UnaryPrefix, function() {
        +        return this.operator == "void";
        +    });
        +    def_may_throw_on_access(AST_Binary, function(compressor) {
        +        return (this.operator == "&&" || this.operator == "||" || this.operator == "??")
        +            && (this.left._dot_throw(compressor) || this.right._dot_throw(compressor));
        +    });
        +    def_may_throw_on_access(AST_Assign, function(compressor) {
        +        if (this.logical) return true;
        +
        +        return this.operator == "="
        +            && this.right._dot_throw(compressor);
        +    });
        +    def_may_throw_on_access(AST_Conditional, function(compressor) {
        +        return this.consequent._dot_throw(compressor)
        +            || this.alternative._dot_throw(compressor);
        +    });
        +    def_may_throw_on_access(AST_Dot, function(compressor) {
        +        if (!is_strict(compressor)) return false;
        +
        +        if (this.property == "prototype") {
        +            return !(
        +                this.expression instanceof AST_Function
        +                || this.expression instanceof AST_Class
        +            );
        +        }
        +        return true;
        +    });
        +    def_may_throw_on_access(AST_Chain, function(compressor) {
        +        return this.expression._dot_throw(compressor);
        +    });
        +    def_may_throw_on_access(AST_Sequence, function(compressor) {
        +        return this.tail_node()._dot_throw(compressor);
        +    });
        +    def_may_throw_on_access(AST_SymbolRef, function(compressor) {
        +        if (this.name === "arguments" && this.scope instanceof AST_Lambda) return false;
        +        if (has_flag(this, UNDEFINED)) return true;
        +        if (!is_strict(compressor)) return false;
        +        if (is_undeclared_ref(this) && this.is_declared(compressor)) return false;
        +        if (this.is_immutable()) return false;
        +        var fixed = this.fixed_value();
        +        return !fixed || fixed._dot_throw(compressor);
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("_dot_throw", func);
        +});
        +
        +function is_lhs(node, parent) {
        +    if (parent instanceof AST_Unary && unary_side_effects.has(parent.operator)) return parent.expression;
        +    if (parent instanceof AST_Assign && parent.left === node) return node;
        +    if (parent instanceof AST_ForIn && parent.init === node) return node;
        +}
        +
        +// method to negate an expression
        +(function(def_negate) {
        +    function basic_negation(exp) {
        +        return make_node(AST_UnaryPrefix, exp, {
        +            operator: "!",
        +            expression: exp
        +        });
        +    }
        +    function best(orig, alt, first_in_statement) {
        +        var negated = basic_negation(orig);
        +        if (first_in_statement) {
        +            var stat = make_node(AST_SimpleStatement, alt, {
        +                body: alt
        +            });
        +            return best_of_expression(negated, stat) === stat ? alt : negated;
        +        }
        +        return best_of_expression(negated, alt);
        +    }
        +    def_negate(AST_Node, function() {
        +        return basic_negation(this);
        +    });
        +    def_negate(AST_Statement, function() {
        +        throw new Error("Cannot negate a statement");
        +    });
        +    def_negate(AST_Function, function() {
        +        return basic_negation(this);
        +    });
        +    def_negate(AST_Class, function() {
        +        return basic_negation(this);
        +    });
        +    def_negate(AST_Arrow, function() {
        +        return basic_negation(this);
        +    });
        +    def_negate(AST_UnaryPrefix, function() {
        +        if (this.operator == "!")
        +            return this.expression;
        +        return basic_negation(this);
        +    });
        +    def_negate(AST_Sequence, function(compressor) {
        +        var expressions = this.expressions.slice();
        +        expressions.push(expressions.pop().negate(compressor));
        +        return make_sequence(this, expressions);
        +    });
        +    def_negate(AST_Conditional, function(compressor, first_in_statement) {
        +        var self = this.clone();
        +        self.consequent = self.consequent.negate(compressor);
        +        self.alternative = self.alternative.negate(compressor);
        +        return best(this, self, first_in_statement);
        +    });
        +    def_negate(AST_Binary, function(compressor, first_in_statement) {
        +        var self = this.clone(), op = this.operator;
        +        if (compressor.option("unsafe_comps")) {
        +            switch (op) {
        +              case "<=" : self.operator = ">"  ; return self;
        +              case "<"  : self.operator = ">=" ; return self;
        +              case ">=" : self.operator = "<"  ; return self;
        +              case ">"  : self.operator = "<=" ; return self;
        +            }
        +        }
        +        switch (op) {
        +          case "==" : self.operator = "!="; return self;
        +          case "!=" : self.operator = "=="; return self;
        +          case "===": self.operator = "!=="; return self;
        +          case "!==": self.operator = "==="; return self;
        +          case "&&":
        +            self.operator = "||";
        +            self.left = self.left.negate(compressor, first_in_statement);
        +            self.right = self.right.negate(compressor);
        +            return best(this, self, first_in_statement);
        +          case "||":
        +            self.operator = "&&";
        +            self.left = self.left.negate(compressor, first_in_statement);
        +            self.right = self.right.negate(compressor);
        +            return best(this, self, first_in_statement);
        +        }
        +        return basic_negation(this);
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("negate", function(compressor, first_in_statement) {
        +        return func.call(this, compressor, first_in_statement);
        +    });
        +});
        +
        +(function (def_bitwise_negate) {
        +    function basic_bitwise_negation(exp) {
        +        return make_node(AST_UnaryPrefix, exp, {
        +            operator: "~",
        +            expression: exp
        +        });
        +    }
        +
        +    def_bitwise_negate(AST_Node, function(_compressor) {
        +        return basic_bitwise_negation(this);
        +    });
        +
        +    def_bitwise_negate(AST_Number, function(_compressor) {
        +        const neg = ~this.value;
        +        if (neg.toString().length > this.value.toString().length) {
        +            return basic_bitwise_negation(this);
        +        }
        +        return make_node(AST_Number, this, { value: neg });
        +    });
        +
        +    def_bitwise_negate(AST_UnaryPrefix, function(compressor, in_32_bit_context) {
        +        if (
        +            this.operator == "~"
        +            && (
        +                this.expression.is_32_bit_integer(compressor) ||
        +                (in_32_bit_context != null ? in_32_bit_context : compressor.in_32_bit_context())
        +            )
        +        ) {
        +            return this.expression;
        +        } else {
        +            return basic_bitwise_negation(this);
        +        }
        +    });
        +})(function (node, func) {
        +    node.DEFMETHOD("bitwise_negate", func);
        +});
        +
        +// Is the callee of this function pure?
        +var global_pure_fns = makePredicate("Boolean decodeURI decodeURIComponent Date encodeURI encodeURIComponent Error escape EvalError isFinite isNaN Number Object parseFloat parseInt RangeError ReferenceError String SyntaxError TypeError unescape URIError");
        +AST_Call.DEFMETHOD("is_callee_pure", function(compressor) {
        +    if (compressor.option("unsafe")) {
        +        var expr = this.expression;
        +        var first_arg;
        +        if (
        +            expr.expression && expr.expression.name === "hasOwnProperty" &&
        +            (
        +                (first_arg = (this.args && this.args[0] && this.args[0].evaluate(compressor))) == null
        +                || first_arg.thedef && first_arg.thedef.undeclared
        +            )
        +        ) {
        +            return false;
        +        }
        +        if (is_undeclared_ref(expr) && global_pure_fns.has(expr.name)) return true;
        +        if (
        +            expr instanceof AST_Dot
        +            && is_undeclared_ref(expr.expression)
        +            && is_pure_native_fn(expr.expression.name, expr.property)
        +        ) {
        +            return true;
        +        }
        +    }
        +    if ((this instanceof AST_New) && compressor.option("pure_new")) {
        +        return true;
        +    }
        +    if (compressor.option("side_effects") && has_annotation(this, _PURE)) {
        +        return true;
        +    }
        +    return !compressor.pure_funcs(this);
        +});
        +
        +// If I call this, is it a pure function?
        +AST_Node.DEFMETHOD("is_call_pure", return_false);
        +AST_Dot.DEFMETHOD("is_call_pure", function(compressor) {
        +    if (!compressor.option("unsafe")) return;
        +    const expr = this.expression;
        +
        +    let native_obj;
        +    if (expr instanceof AST_Array) {
        +        native_obj = "Array";
        +    } else if (expr.is_boolean()) {
        +        native_obj = "Boolean";
        +    } else if (expr.is_number(compressor)) {
        +        native_obj = "Number";
        +    } else if (expr instanceof AST_RegExp) {
        +        native_obj = "RegExp";
        +    } else if (expr.is_string(compressor)) {
        +        native_obj = "String";
        +    } else if (!this.may_throw_on_access(compressor)) {
        +        native_obj = "Object";
        +    }
        +    return native_obj != null && is_pure_native_method(native_obj, this.property);
        +});
        +
        +// tell me if a statement aborts
        +const aborts = (thing) => thing && thing.aborts();
        +
        +(function(def_aborts) {
        +    def_aborts(AST_Statement, return_null);
        +    def_aborts(AST_Jump, return_this);
        +    function block_aborts() {
        +        for (var i = 0; i < this.body.length; i++) {
        +            if (aborts(this.body[i])) {
        +                return this.body[i];
        +            }
        +        }
        +        return null;
        +    }
        +    def_aborts(AST_Import, return_null);
        +    def_aborts(AST_BlockStatement, block_aborts);
        +    def_aborts(AST_SwitchBranch, block_aborts);
        +    def_aborts(AST_DefClass, function () {
        +        for (const prop of this.properties) {
        +            if (prop instanceof AST_ClassStaticBlock) {
        +                if (prop.aborts()) return prop;
        +            }
        +        }
        +        return null;
        +    });
        +    def_aborts(AST_ClassStaticBlock, block_aborts);
        +    def_aborts(AST_If, function() {
        +        return this.alternative && aborts(this.body) && aborts(this.alternative) && this;
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("aborts", func);
        +});
        +
        +AST_Node.DEFMETHOD("contains_this", function() {
        +    return walk(this, node => {
        +        if (node instanceof AST_This) return walk_abort;
        +        if (
        +            node !== this
        +            && node instanceof AST_Scope
        +            && !(node instanceof AST_Arrow)
        +        ) {
        +            return true;
        +        }
        +    });
        +});
        +
        +function is_modified(compressor, tw, node, value, level, immutable) {
        +    var parent = tw.parent(level);
        +    var lhs = is_lhs(node, parent);
        +    if (lhs) return lhs;
        +    if (!immutable
        +        && parent instanceof AST_Call
        +        && parent.expression === node
        +        && !(value instanceof AST_Arrow)
        +        && !(value instanceof AST_Class)
        +        && !parent.is_callee_pure(compressor)
        +        && (!(value instanceof AST_Function)
        +            || !(parent instanceof AST_New) && value.contains_this())) {
        +        return true;
        +    }
        +    if (parent instanceof AST_Array) {
        +        return is_modified(compressor, tw, parent, parent, level + 1);
        +    }
        +    if (parent instanceof AST_ObjectKeyVal && node === parent.value) {
        +        var obj = tw.parent(level + 1);
        +        return is_modified(compressor, tw, obj, obj, level + 2);
        +    }
        +    if (parent instanceof AST_PropAccess && parent.expression === node) {
        +        var prop = read_property(value, parent.property);
        +        return !immutable && is_modified(compressor, tw, parent, prop, level + 1);
        +    }
        +}
        +
        +/**
        + * Check if a node may be used by the expression it's in
        + * void (0, 1, {node}, 2) -> false
        + * console.log(0, {node}) -> true
        + */
        +function is_used_in_expression(tw) {
        +    for (let p = -1, node, parent; node = tw.parent(p), parent = tw.parent(p + 1); p++) {
        +        if (parent instanceof AST_Sequence) {
        +            const nth_expression = parent.expressions.indexOf(node);
        +            if (nth_expression !== parent.expressions.length - 1) {
        +                // Detect (0, x.noThis)() constructs
        +                const grandparent = tw.parent(p + 2);
        +                if (
        +                    parent.expressions.length > 2
        +                    || parent.expressions.length === 1
        +                    || !requires_sequence_to_maintain_binding(grandparent, parent, parent.expressions[1])
        +                ) {
        +                    return false;
        +                }
        +                return true;
        +            } else {
        +                continue;
        +            }
        +        }
        +        if (parent instanceof AST_Unary) {
        +            const op = parent.operator;
        +            if (op === "void") {
        +                return false;
        +            }
        +            if (op === "typeof" || op === "+" || op === "-" || op === "!" || op === "~") {
        +                continue;
        +            }
        +        }
        +        if (
        +            parent instanceof AST_SimpleStatement
        +            || parent instanceof AST_LabeledStatement
        +        ) {
        +            return false;
        +        }
        +        if (parent instanceof AST_Scope) {
        +            return false;
        +        }
        +        return true;
        +    }
        +
        +    return true;
        +}
        +
        +;// ./node_modules/terser/lib/compress/evaluate.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +// methods to evaluate a constant expression
        +
        +function def_eval(node, func) {
        +    node.DEFMETHOD("_eval", func);
        +}
        +
        +// Used to propagate a nullish short-circuit signal upwards through the chain.
        +const evaluate_nullish = Symbol("This AST_Chain is nullish");
        +
        +// If the node has been successfully reduced to a constant,
        +// then its value is returned; otherwise the element itself
        +// is returned.
        +// They can be distinguished as constant value is never a
        +// descendant of AST_Node.
        +AST_Node.DEFMETHOD("evaluate", function (compressor) {
        +    if (!compressor.option("evaluate"))
        +        return this;
        +    var val = this._eval(compressor, 1);
        +    if (!val || val instanceof RegExp)
        +        return val;
        +    if (typeof val == "function" || typeof val == "object" || val == evaluate_nullish)
        +        return this;
        +
        +    // Evaluated strings can be larger than the original expression
        +    if (typeof val === "string") {
        +        const unevaluated_size = this.size(compressor);
        +        if (val.length + 2 > unevaluated_size) return this;
        +    }
        +
        +    return val;
        +});
        +
        +var unaryPrefix = makePredicate("! ~ - + void");
        +AST_Node.DEFMETHOD("is_constant", function () {
        +    // Accomodate when compress option evaluate=false
        +    // as well as the common constant expressions !0 and -1
        +    if (this instanceof AST_Constant) {
        +        return !(this instanceof AST_RegExp);
        +    } else {
        +        return this instanceof AST_UnaryPrefix
        +            && unaryPrefix.has(this.operator)
        +            && (
        +                // `this.expression` may be an `AST_RegExp`,
        +                // so not only `.is_constant()`.
        +                this.expression instanceof AST_Constant
        +                || this.expression.is_constant()
        +            );
        +    }
        +});
        +
        +def_eval(AST_Statement, function () {
        +    throw new Error(string_template("Cannot evaluate a statement [{file}:{line},{col}]", this.start));
        +});
        +
        +def_eval(AST_Lambda, return_this);
        +def_eval(AST_Class, return_this);
        +def_eval(AST_Node, return_this);
        +def_eval(AST_Constant, function () {
        +    return this.getValue();
        +});
        +
        +const supports_bigint = typeof BigInt === "function";
        +def_eval(AST_BigInt, function () {
        +    if (supports_bigint) {
        +        return BigInt(this.value);
        +    } else {
        +        return this;
        +    }
        +});
        +
        +def_eval(AST_RegExp, function (compressor) {
        +    let evaluated = compressor.evaluated_regexps.get(this.value);
        +    if (evaluated === undefined && regexp_is_safe(this.value.source)) {
        +        try {
        +            const { source, flags } = this.value;
        +            evaluated = new RegExp(source, flags);
        +        } catch (e) {
        +            evaluated = null;
        +        }
        +        compressor.evaluated_regexps.set(this.value, evaluated);
        +    }
        +    return evaluated || this;
        +});
        +
        +def_eval(AST_TemplateString, function () {
        +    if (this.segments.length !== 1) return this;
        +    return this.segments[0].value;
        +});
        +
        +def_eval(AST_Function, function (compressor) {
        +    if (compressor.option("unsafe")) {
        +        var fn = function () { };
        +        fn.node = this;
        +        fn.toString = () => this.print_to_string();
        +        return fn;
        +    }
        +    return this;
        +});
        +
        +def_eval(AST_Array, function (compressor, depth) {
        +    if (compressor.option("unsafe")) {
        +        var elements = [];
        +        for (var i = 0, len = this.elements.length; i < len; i++) {
        +            var element = this.elements[i];
        +            var value = element._eval(compressor, depth);
        +            if (element === value)
        +                return this;
        +            elements.push(value);
        +        }
        +        return elements;
        +    }
        +    return this;
        +});
        +
        +def_eval(AST_Object, function (compressor, depth) {
        +    if (compressor.option("unsafe")) {
        +        var val = {};
        +        for (var i = 0, len = this.properties.length; i < len; i++) {
        +            var prop = this.properties[i];
        +            if (prop instanceof AST_Expansion)
        +                return this;
        +            var key = prop.key;
        +            if (key instanceof AST_Symbol) {
        +                key = key.name;
        +            } else if (key instanceof AST_Node) {
        +                key = key._eval(compressor, depth);
        +                if (key === prop.key)
        +                    return this;
        +            }
        +            if (typeof Object.prototype[key] === "function") {
        +                return this;
        +            }
        +            if (prop.value instanceof AST_Function)
        +                continue;
        +            val[key] = prop.value._eval(compressor, depth);
        +            if (val[key] === prop.value)
        +                return this;
        +        }
        +        return val;
        +    }
        +    return this;
        +});
        +
        +var non_converting_unary = makePredicate("! typeof void");
        +def_eval(AST_UnaryPrefix, function (compressor, depth) {
        +    var e = this.expression;
        +    if (compressor.option("typeofs")
        +        && this.operator == "typeof") {
        +        // Function would be evaluated to an array and so typeof would
        +        // incorrectly return 'object'. Hence making is a special case.
        +        if (e instanceof AST_Lambda
        +            || e instanceof AST_SymbolRef
        +            && e.fixed_value() instanceof AST_Lambda) {
        +            return typeof function () { };
        +        }
        +        if (
        +            (e instanceof AST_Object
        +                || e instanceof AST_Array
        +                || (e instanceof AST_SymbolRef
        +                    && (e.fixed_value() instanceof AST_Object
        +                        || e.fixed_value() instanceof AST_Array)))
        +            && !e.has_side_effects(compressor)
        +        ) {
        +            return typeof {};
        +        }
        +    }
        +    if (!non_converting_unary.has(this.operator))
        +        depth++;
        +    e = e._eval(compressor, depth);
        +    if (e === this.expression)
        +        return this;
        +    switch (this.operator) {
        +        case "!": return !e;
        +        case "typeof":
        +            // typeof  returns "object" or "function" on different platforms
        +            // so cannot evaluate reliably
        +            if (e instanceof RegExp)
        +                return this;
        +            return typeof e;
        +        case "void": return void e;
        +        case "~": return ~e;
        +        case "-": return -e;
        +        case "+": return +e;
        +    }
        +    return this;
        +});
        +
        +var non_converting_binary = makePredicate("&& || ?? === !==");
        +const identity_comparison = makePredicate("== != === !==");
        +const has_identity = value => typeof value === "object"
        +    || typeof value === "function"
        +    || typeof value === "symbol";
        +
        +def_eval(AST_Binary, function (compressor, depth) {
        +    if (!non_converting_binary.has(this.operator))
        +        depth++;
        +
        +    var left = this.left._eval(compressor, depth);
        +    if (left === this.left)
        +        return this;
        +    var right = this.right._eval(compressor, depth);
        +    if (right === this.right)
        +        return this;
        +
        +    if (left != null
        +        && right != null
        +        && identity_comparison.has(this.operator)
        +        && has_identity(left)
        +        && has_identity(right)
        +        && typeof left === typeof right) {
        +        // Do not compare by reference
        +        return this;
        +    }
        +
        +    // Do not mix BigInt and Number; Don't use `>>>` on BigInt or `/ 0n`
        +    if (
        +        (typeof left === "bigint") !== (typeof right === "bigint")
        +        || typeof left === "bigint"
        +            && (this.operator === ">>>"
        +                || this.operator === "/" && Number(right) === 0)
        +    ) {
        +        return this;
        +    }
        +
        +    var result;
        +    switch (this.operator) {
        +        case "&&": result = left && right; break;
        +        case "||": result = left || right; break;
        +        case "??": result = left != null ? left : right; break;
        +        case "|": result = left | right; break;
        +        case "&": result = left & right; break;
        +        case "^": result = left ^ right; break;
        +        case "+": result = left + right; break;
        +        case "*": result = left * right; break;
        +        case "**": result = left ** right; break;
        +        case "/": result = left / right; break;
        +        case "%": result = left % right; break;
        +        case "-": result = left - right; break;
        +        case "<<": result = left << right; break;
        +        case ">>": result = left >> right; break;
        +        case ">>>": result = left >>> right; break;
        +        case "==": result = left == right; break;
        +        case "===": result = left === right; break;
        +        case "!=": result = left != right; break;
        +        case "!==": result = left !== right; break;
        +        case "<": result = left < right; break;
        +        case "<=": result = left <= right; break;
        +        case ">": result = left > right; break;
        +        case ">=": result = left >= right; break;
        +        default:
        +            return this;
        +    }
        +    if (typeof result === "number" && isNaN(result) && compressor.find_parent(AST_With)) {
        +        // leave original expression as is
        +        return this;
        +    }
        +    return result;
        +});
        +
        +def_eval(AST_Conditional, function (compressor, depth) {
        +    var condition = this.condition._eval(compressor, depth);
        +    if (condition === this.condition)
        +        return this;
        +    var node = condition ? this.consequent : this.alternative;
        +    var value = node._eval(compressor, depth);
        +    return value === node ? this : value;
        +});
        +
        +// Set of AST_SymbolRef which are currently being evaluated.
        +// Avoids infinite recursion of ._eval()
        +const reentrant_ref_eval = new Set();
        +def_eval(AST_SymbolRef, function (compressor, depth) {
        +    if (reentrant_ref_eval.has(this))
        +        return this;
        +
        +    var fixed = this.fixed_value();
        +    if (!fixed)
        +        return this;
        +
        +    reentrant_ref_eval.add(this);
        +    const value = fixed._eval(compressor, depth);
        +    reentrant_ref_eval.delete(this);
        +
        +    if (value === fixed)
        +        return this;
        +
        +    if (value && typeof value == "object") {
        +        var escaped = this.definition().escaped;
        +        if (escaped && depth > escaped)
        +            return this;
        +    }
        +    return value;
        +});
        +
        +def_eval(AST_Chain, function (compressor, depth) {
        +    const evaluated = this.expression._eval(compressor, depth, /*ast_chain=*/true);
        +    return evaluated === evaluate_nullish
        +        ? undefined
        +        : evaluated === this.expression
        +          ? this
        +          : evaluated;
        +});
        +
        +const global_objs = { Array, Math, Number, Object, String };
        +
        +const regexp_flags = new Set([
        +    "dotAll",
        +    "global",
        +    "ignoreCase",
        +    "multiline",
        +    "sticky",
        +    "unicode",
        +]);
        +
        +def_eval(AST_PropAccess, function (compressor, depth, ast_chain) {
        +    let obj = (ast_chain || this.property === "length" || compressor.option("unsafe"))
        +        && this.expression._eval(compressor, depth + 1, ast_chain);
        +
        +    if (ast_chain) {
        +        if (obj === evaluate_nullish || (this.optional && obj == null)) return evaluate_nullish;
        +    }
        +
        +    // `.length` of strings and arrays is always safe
        +    if (this.property === "length") {
        +        if (typeof obj === "string") {
        +            return obj.length;
        +        }
        +
        +        const is_spreadless_array =
        +            obj instanceof AST_Array
        +            && obj.elements.every(el => !(el instanceof AST_Expansion));
        +
        +        if (
        +            is_spreadless_array
        +            && obj.elements.every(el => !el.has_side_effects(compressor))
        +        ) {
        +            return obj.elements.length;
        +        }
        +    }
        +
        +    if (compressor.option("unsafe")) {
        +        var key = this.property;
        +        if (key instanceof AST_Node) {
        +            key = key._eval(compressor, depth);
        +            if (key === this.property)
        +                return this;
        +        }
        +
        +        var exp = this.expression;
        +        if (is_undeclared_ref(exp)) {
        +            var aa;
        +            var first_arg = exp.name === "hasOwnProperty"
        +                && key === "call"
        +                && (aa = compressor.parent() && compressor.parent().args)
        +                && (aa && aa[0]
        +                    && aa[0].evaluate(compressor));
        +
        +            first_arg = first_arg instanceof AST_Dot ? first_arg.expression : first_arg;
        +
        +            if (first_arg == null || first_arg.thedef && first_arg.thedef.undeclared) {
        +                return this.clone();
        +            }
        +            if (!is_pure_native_value(exp.name, key))
        +                return this;
        +            obj = global_objs[exp.name];
        +        } else {
        +            if (obj instanceof RegExp) {
        +                if (key == "source") {
        +                    return regexp_source_fix(obj.source);
        +                } else if (key == "flags" || regexp_flags.has(key)) {
        +                    return obj[key];
        +                }
        +            }
        +            if (!obj || obj === exp || !HOP(obj, key))
        +                return this;
        +
        +            if (typeof obj == "function")
        +                switch (key) {
        +                    case "name":
        +                        return obj.node.name ? obj.node.name.name : "";
        +                    case "length":
        +                        return obj.node.length_property();
        +                    default:
        +                        return this;
        +                }
        +        }
        +        return obj[key];
        +    }
        +    return this;
        +});
        +
        +def_eval(AST_Call, function (compressor, depth, ast_chain) {
        +    var exp = this.expression;
        +
        +    if (ast_chain) {
        +        const callee = exp._eval(compressor, depth, ast_chain);
        +        if (callee === evaluate_nullish || (this.optional && callee == null)) return evaluate_nullish;
        +    }
        +
        +    if (compressor.option("unsafe") && exp instanceof AST_PropAccess) {
        +        var key = exp.property;
        +        if (key instanceof AST_Node) {
        +            key = key._eval(compressor, depth);
        +            if (typeof key !== "string" && typeof key !== "number")
        +                return this;
        +        }
        +        var val;
        +        var e = exp.expression;
        +        if (is_undeclared_ref(e)) {
        +            var first_arg = e.name === "hasOwnProperty" &&
        +                key === "call" &&
        +                (this.args[0] && this.args[0].evaluate(compressor));
        +
        +            first_arg = first_arg instanceof AST_Dot ? first_arg.expression : first_arg;
        +
        +            if ((first_arg == null || first_arg.thedef && first_arg.thedef.undeclared)) {
        +                return this.clone();
        +            }
        +            if (!is_pure_native_fn(e.name, key)) return this;
        +            val = global_objs[e.name];
        +        } else {
        +            val = e._eval(compressor, depth + 1, /* don't pass ast_chain (exponential work) */);
        +
        +            if (val === e || !val)
        +                return this;
        +            if (!is_pure_native_method(val.constructor.name, key))
        +                return this;
        +        }
        +        var args = [];
        +        for (var i = 0, len = this.args.length; i < len; i++) {
        +            var arg = this.args[i];
        +            var value = arg._eval(compressor, depth);
        +            if (arg === value)
        +                return this;
        +            if (arg instanceof AST_Lambda)
        +                return this;
        +            args.push(value);
        +        }
        +        try {
        +            return val[key].apply(val, args);
        +        } catch (ex) {
        +            // We don't really care
        +        }
        +    }
        +    return this;
        +});
        +
        +// Also a subclass of AST_Call
        +def_eval(AST_New, return_this);
        +
        +;// ./node_modules/terser/lib/compress/drop-side-effect-free.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +// AST_Node#drop_side_effect_free() gets called when we don't care about the value,
        +// only about side effects. We'll be defining this method for each node type in this module
        +//
        +// Examples:
        +// foo++ -> foo++
        +// 1 + func() -> func()
        +// 10 -> (nothing)
        +// knownPureFunc(foo++) -> foo++
        +
        +function def_drop_side_effect_free(node_or_nodes, func) {
        +    for (const node of [].concat(node_or_nodes)) {
        +        node.DEFMETHOD("drop_side_effect_free", func);
        +    }
        +}
        +
        +// Drop side-effect-free elements from an array of expressions.
        +// Returns an array of expressions with side-effects or null
        +// if all elements were dropped. Note: original array may be
        +// returned if nothing changed.
        +function trim(nodes, compressor, first_in_statement) {
        +    var len = nodes.length;
        +    if (!len)  return null;
        +
        +    var ret = [], changed = false;
        +    for (var i = 0; i < len; i++) {
        +        var node = nodes[i].drop_side_effect_free(compressor, first_in_statement);
        +        changed |= node !== nodes[i];
        +        if (node) {
        +            ret.push(node);
        +            first_in_statement = false;
        +        }
        +    }
        +    return changed ? ret.length ? ret : null : nodes;
        +}
        +
        +def_drop_side_effect_free(AST_Node, return_this);
        +def_drop_side_effect_free(AST_Constant, return_null);
        +def_drop_side_effect_free(AST_This, return_null);
        +
        +def_drop_side_effect_free(AST_Call, function (compressor, first_in_statement) {
        +    if (is_nullish_shortcircuited(this, compressor)) {
        +        return this.expression.drop_side_effect_free(compressor, first_in_statement);
        +    }
        +
        +    if (!this.is_callee_pure(compressor)) {
        +        if (this.expression.is_call_pure(compressor)) {
        +            var exprs = this.args.slice();
        +            exprs.unshift(this.expression.expression);
        +            exprs = trim(exprs, compressor, first_in_statement);
        +            return exprs && make_sequence(this, exprs);
        +        }
        +        if (is_func_expr(this.expression)
        +            && (!this.expression.name || !this.expression.name.definition().references.length)) {
        +            var node = this.clone();
        +            node.expression.process_expression(false, compressor);
        +            return node;
        +        }
        +        return this;
        +    }
        +
        +    var args = trim(this.args, compressor, first_in_statement);
        +    return args && make_sequence(this, args);
        +});
        +
        +def_drop_side_effect_free(AST_Accessor, return_null);
        +
        +def_drop_side_effect_free(AST_Function, return_null);
        +
        +def_drop_side_effect_free(AST_Arrow, return_null);
        +
        +def_drop_side_effect_free(AST_Class, function (compressor) {
        +    const with_effects = [];
        +
        +    if (this.is_self_referential() && this.has_side_effects(compressor)) {
        +        return this;
        +    }
        +
        +    const trimmed_extends = this.extends && this.extends.drop_side_effect_free(compressor);
        +    if (trimmed_extends) with_effects.push(trimmed_extends);
        +
        +    for (const prop of this.properties) {
        +        if (prop instanceof AST_ClassStaticBlock) {
        +            if (prop.has_side_effects(compressor)) {
        +                return this; // Be cautious about these
        +            }
        +        } else {
        +            const trimmed_prop = prop.drop_side_effect_free(compressor);
        +            if (trimmed_prop) with_effects.push(trimmed_prop);
        +        }
        +    }
        +
        +    if (!with_effects.length)
        +        return null;
        +
        +    const exprs = make_sequence(this, with_effects);
        +    if (this instanceof AST_DefClass) {
        +        // We want a statement
        +        return make_node(AST_SimpleStatement, this, { body: exprs });
        +    } else {
        +        return exprs;
        +    }
        +});
        +
        +def_drop_side_effect_free([
        +    AST_ClassProperty,
        +    AST_ClassPrivateProperty,
        +], function (compressor) {
        +    const key = this.computed_key() && this.key.drop_side_effect_free(compressor);
        +
        +    const value = this.static && this.value
        +        && this.value.drop_side_effect_free(compressor);
        +
        +    if (key && value)
        +        return make_sequence(this, [key, value]);
        +    return key || value || null;
        +});
        +
        +def_drop_side_effect_free(AST_Binary, function (compressor, first_in_statement) {
        +    var right = this.right.drop_side_effect_free(compressor);
        +    if (!right)
        +        return this.left.drop_side_effect_free(compressor, first_in_statement);
        +    if (lazy_op.has(this.operator)) {
        +        if (right === this.right)
        +            return this;
        +        var node = this.clone();
        +        node.right = right;
        +        return node;
        +    } else {
        +        var left = this.left.drop_side_effect_free(compressor, first_in_statement);
        +        if (!left)
        +            return this.right.drop_side_effect_free(compressor, first_in_statement);
        +        return make_sequence(this, [left, right]);
        +    }
        +});
        +
        +def_drop_side_effect_free(AST_Assign, function (compressor) {
        +    if (this.logical)
        +        return this;
        +
        +    var left = this.left;
        +    if (left.has_side_effects(compressor)
        +        || compressor.has_directive("use strict")
        +        && left instanceof AST_PropAccess
        +        && left.expression.is_constant()) {
        +        return this;
        +    }
        +    set_flag(this, WRITE_ONLY);
        +    while (left instanceof AST_PropAccess) {
        +        left = left.expression;
        +    }
        +    if (left.is_constant_expression(compressor.find_parent(AST_Scope))) {
        +        return this.right.drop_side_effect_free(compressor);
        +    }
        +    return this;
        +});
        +
        +def_drop_side_effect_free(AST_Conditional, function (compressor) {
        +    var consequent = this.consequent.drop_side_effect_free(compressor);
        +    var alternative = this.alternative.drop_side_effect_free(compressor);
        +    if (consequent === this.consequent && alternative === this.alternative)
        +        return this;
        +    if (!consequent)
        +        return alternative ? make_node(AST_Binary, this, {
        +            operator: "||",
        +            left: this.condition,
        +            right: alternative
        +        }) : this.condition.drop_side_effect_free(compressor);
        +    if (!alternative)
        +        return make_node(AST_Binary, this, {
        +            operator: "&&",
        +            left: this.condition,
        +            right: consequent
        +        });
        +    var node = this.clone();
        +    node.consequent = consequent;
        +    node.alternative = alternative;
        +    return node;
        +});
        +
        +def_drop_side_effect_free(AST_Unary, function (compressor, first_in_statement) {
        +    if (unary_side_effects.has(this.operator)) {
        +        if (!this.expression.has_side_effects(compressor)) {
        +            set_flag(this, WRITE_ONLY);
        +        } else {
        +            clear_flag(this, WRITE_ONLY);
        +        }
        +        return this;
        +    }
        +    if (this.operator == "typeof" && this.expression instanceof AST_SymbolRef)
        +        return null;
        +    var expression = this.expression.drop_side_effect_free(compressor, first_in_statement);
        +    if (first_in_statement && expression && is_iife_call(expression)) {
        +        if (expression === this.expression && this.operator == "!")
        +            return this;
        +        return expression.negate(compressor, first_in_statement);
        +    }
        +    return expression;
        +});
        +
        +def_drop_side_effect_free(AST_SymbolRef, function (compressor) {
        +    const safe_access = this.is_declared(compressor)
        +        || pure_prop_access_globals.has(this.name);
        +    return safe_access ? null : this;
        +});
        +
        +def_drop_side_effect_free(AST_Object, function (compressor, first_in_statement) {
        +    var values = trim(this.properties, compressor, first_in_statement);
        +    return values && make_sequence(this, values);
        +});
        +
        +def_drop_side_effect_free(AST_ObjectKeyVal, function (compressor, first_in_statement) {
        +    const computed_key = this.key instanceof AST_Node;
        +    const key = computed_key && this.key.drop_side_effect_free(compressor, first_in_statement);
        +    const value = this.value.drop_side_effect_free(compressor, first_in_statement);
        +    if (key && value) {
        +        return make_sequence(this, [key, value]);
        +    }
        +    return key || value;
        +});
        +
        +def_drop_side_effect_free([
        +    AST_ConciseMethod,
        +    AST_ObjectGetter,
        +    AST_ObjectSetter,
        +], function () {
        +    return this.computed_key() ? this.key : null;
        +});
        +
        +def_drop_side_effect_free([
        +    AST_PrivateMethod,
        +    AST_PrivateGetter,
        +    AST_PrivateSetter,
        +], function () {
        +    return null;
        +});
        +
        +def_drop_side_effect_free(AST_Array, function (compressor, first_in_statement) {
        +    var values = trim(this.elements, compressor, first_in_statement);
        +    return values && make_sequence(this, values);
        +});
        +
        +def_drop_side_effect_free(AST_Dot, function (compressor, first_in_statement) {
        +    if (is_nullish_shortcircuited(this, compressor)) {
        +        return this.expression.drop_side_effect_free(compressor, first_in_statement);
        +    }
        +    if (!this.optional && this.expression.may_throw_on_access(compressor)) {
        +        return this;
        +    }
        +
        +    return this.expression.drop_side_effect_free(compressor, first_in_statement);
        +});
        +
        +def_drop_side_effect_free(AST_Sub, function (compressor, first_in_statement) {
        +    if (is_nullish_shortcircuited(this, compressor)) {
        +        return this.expression.drop_side_effect_free(compressor, first_in_statement);
        +    }
        +    if (!this.optional && this.expression.may_throw_on_access(compressor)) {
        +        return this;
        +    }
        +
        +    var property = this.property.drop_side_effect_free(compressor);
        +    if (property && this.optional) return this;
        +
        +    var expression = this.expression.drop_side_effect_free(compressor, first_in_statement);
        +
        +    if (expression && property) return make_sequence(this, [expression, property]);
        +    return expression || property;
        +});
        +
        +def_drop_side_effect_free(AST_Chain, function (compressor, first_in_statement) {
        +    return this.expression.drop_side_effect_free(compressor, first_in_statement);
        +});
        +
        +def_drop_side_effect_free(AST_Sequence, function (compressor) {
        +    var last = this.tail_node();
        +    var expr = last.drop_side_effect_free(compressor);
        +    if (expr === last)
        +        return this;
        +    var expressions = this.expressions.slice(0, -1);
        +    if (expr)
        +        expressions.push(expr);
        +    if (!expressions.length) {
        +        return make_node(AST_Number, this, { value: 0 });
        +    }
        +    return make_sequence(this, expressions);
        +});
        +
        +def_drop_side_effect_free(AST_Expansion, function (compressor, first_in_statement) {
        +    return this.expression.drop_side_effect_free(compressor, first_in_statement);
        +});
        +
        +def_drop_side_effect_free(AST_TemplateSegment, return_null);
        +
        +def_drop_side_effect_free(AST_TemplateString, function (compressor) {
        +    var values = trim(this.segments, compressor, first_in_statement);
        +    return values && make_sequence(this, values);
        +});
        +
        +;// ./node_modules/terser/lib/compress/drop-unused.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +const r_keep_assign = /keep_assign/;
        +
        +/** Drop unused variables from this scope */
        +AST_Scope.DEFMETHOD("drop_unused", function(compressor) {
        +    if (!compressor.option("unused")) return;
        +    if (compressor.has_directive("use asm")) return;
        +    if (!this.variables) return; // not really a scope (eg: AST_Class)
        +
        +    var self = this;
        +    if (self.pinned()) return;
        +    var drop_funcs = !(self instanceof AST_Toplevel) || compressor.toplevel.funcs;
        +    var drop_vars = !(self instanceof AST_Toplevel) || compressor.toplevel.vars;
        +    const assign_as_unused = r_keep_assign.test(compressor.option("unused")) ? return_false : function(node) {
        +        if (node instanceof AST_Assign
        +            && !node.logical
        +            && (has_flag(node, WRITE_ONLY) || node.operator == "=")
        +        ) {
        +            return node.left;
        +        }
        +        if (node instanceof AST_Unary && has_flag(node, WRITE_ONLY)) {
        +            return node.expression;
        +        }
        +    };
        +    var in_use_ids = new Map();
        +    var fixed_ids = new Map();
        +    if (self instanceof AST_Toplevel && compressor.top_retain) {
        +        self.variables.forEach(function(def) {
        +            if (compressor.top_retain(def)) {
        +                in_use_ids.set(def.id, def);
        +            }
        +        });
        +    }
        +    var var_defs_by_id = new Map();
        +    var initializations = new Map();
        +
        +    // pass 1: find out which symbols are directly used in
        +    // this scope (not in nested scopes).
        +    var scope = this;
        +    var tw = new TreeWalker(function(node, descend) {
        +        if (node instanceof AST_Lambda && node.uses_arguments && !tw.has_directive("use strict")) {
        +            node.argnames.forEach(function(argname) {
        +                if (!(argname instanceof AST_SymbolDeclaration)) return;
        +                var def = argname.definition();
        +                in_use_ids.set(def.id, def);
        +            });
        +        }
        +        if (node === self) return;
        +        if (node instanceof AST_Class && node.has_side_effects(compressor)) {
        +            if (node.is_self_referential()) {
        +                descend();
        +            } else {
        +                node.visit_nondeferred_class_parts(tw);
        +            }
        +        }
        +        if (node instanceof AST_Defun || node instanceof AST_DefClass) {
        +            var node_def = node.name.definition();
        +            const in_export = tw.parent() instanceof AST_Export;
        +            if (in_export || !drop_funcs && scope === self) {
        +                if (node_def.global) {
        +                    in_use_ids.set(node_def.id, node_def);
        +                }
        +            }
        +
        +            map_add(initializations, node_def.id, node);
        +            return true; // don't go in nested scopes
        +        }
        +        // In the root scope, we drop things. In inner scopes, we just check for uses.
        +        const in_root_scope = scope === self;
        +        if (node instanceof AST_SymbolFunarg && in_root_scope) {
        +            map_add(var_defs_by_id, node.definition().id, node);
        +        }
        +        if (node instanceof AST_Definitions && in_root_scope) {
        +            const in_export = tw.parent() instanceof AST_Export;
        +            node.definitions.forEach(function(def) {
        +                if (def.name instanceof AST_SymbolVar) {
        +                    map_add(var_defs_by_id, def.name.definition().id, def);
        +                }
        +                if (in_export || !drop_vars) {
        +                    walk(def.name, node => {
        +                        if (node instanceof AST_SymbolDeclaration) {
        +                            const def = node.definition();
        +                            if (def.global) {
        +                                in_use_ids.set(def.id, def);
        +                            }
        +                        }
        +                    });
        +                }
        +                if (def.name instanceof AST_Destructuring) {
        +                    def.walk(tw);
        +                }
        +                if (def.name instanceof AST_SymbolDeclaration && def.value) {
        +                    var node_def = def.name.definition();
        +                    map_add(initializations, node_def.id, def.value);
        +                    if (!node_def.chained && def.name.fixed_value() === def.value) {
        +                        fixed_ids.set(node_def.id, def);
        +                    }
        +                    if (def.value.has_side_effects(compressor)) {
        +                        def.value.walk(tw);
        +                    }
        +                }
        +            });
        +            return true;
        +        }
        +        return scan_ref_scoped(node, descend);
        +    });
        +    self.walk(tw);
        +    // pass 2: for every used symbol we need to walk its
        +    // initialization code to figure out if it uses other
        +    // symbols (that may not be in_use).
        +    tw = new TreeWalker(scan_ref_scoped);
        +    in_use_ids.forEach(function (def) {
        +        var init = initializations.get(def.id);
        +        if (init) init.forEach(function(init) {
        +            init.walk(tw);
        +        });
        +    });
        +    // pass 3: we should drop declarations not in_use
        +    var tt = new TreeTransformer(
        +        function before(node, descend, in_list) {
        +            var parent = tt.parent();
        +            if (drop_vars) {
        +                const sym = assign_as_unused(node);
        +                if (sym instanceof AST_SymbolRef) {
        +                    var def = sym.definition();
        +                    var in_use = in_use_ids.has(def.id);
        +                    if (node instanceof AST_Assign) {
        +                        if (!in_use || fixed_ids.has(def.id) && fixed_ids.get(def.id) !== node) {
        +                            const assignee = node.right.transform(tt);
        +                            if (!in_use && !assignee.has_side_effects(compressor) && !is_used_in_expression(tt)) {
        +                                return in_list ? MAP.skip : make_node(AST_Number, node, { value: 0 });
        +                            }
        +                            return maintain_this_binding(parent, node, assignee);
        +                        }
        +                    } else if (!in_use) {
        +                        return in_list ? MAP.skip : make_node(AST_Number, node, { value: 0 });
        +                    }
        +                }
        +            }
        +            if (scope !== self) return;
        +            var def;
        +            if (node.name
        +                && (node instanceof AST_ClassExpression
        +                    && !keep_name(compressor.option("keep_classnames"), (def = node.name.definition()).name)
        +                || node instanceof AST_Function
        +                    && !keep_name(compressor.option("keep_fnames"), (def = node.name.definition()).name))) {
        +                // any declarations with same name will overshadow
        +                // name of this anonymous function and can therefore
        +                // never be used anywhere
        +                if (!in_use_ids.has(def.id) || def.orig.length > 1) node.name = null;
        +            }
        +            if (node instanceof AST_Lambda && !(node instanceof AST_Accessor)) {
        +                var trim =
        +                    !compressor.option("keep_fargs")
        +                    // Is this an IIFE that won't refer to its name?
        +                    || parent instanceof AST_Call
        +                        && parent.expression === node
        +                        && !node.pinned()
        +                        && (!node.name || node.name.unreferenced());
        +                for (var a = node.argnames, i = a.length; --i >= 0;) {
        +                    var sym = a[i];
        +                    if (sym instanceof AST_Expansion) {
        +                        sym = sym.expression;
        +                    }
        +                    if (sym instanceof AST_DefaultAssign) {
        +                        sym = sym.left;
        +                    }
        +                    // Do not drop destructuring arguments.
        +                    // They constitute a type assertion of sorts
        +                    if (
        +                        !(sym instanceof AST_Destructuring)
        +                        && !in_use_ids.has(sym.definition().id)
        +                    ) {
        +                        set_flag(sym, UNUSED);
        +                        if (trim) {
        +                            a.pop();
        +                        }
        +                    } else {
        +                        trim = false;
        +                    }
        +                }
        +            }
        +            if (node instanceof AST_DefClass && node !== self) {
        +                const def = node.name.definition();
        +                descend(node, this);
        +                const keep_class = def.global && !drop_funcs || in_use_ids.has(def.id);
        +                if (!keep_class) {
        +                    const kept = node.drop_side_effect_free(compressor);
        +                    if (kept == null) {
        +                        def.eliminated++;
        +                        return in_list ? MAP.skip : make_node(AST_EmptyStatement, node);
        +                    }
        +                    return kept;
        +                }
        +                return node;
        +            }
        +            if (node instanceof AST_Defun && node !== self) {
        +                const def = node.name.definition();
        +                const keep = def.global && !drop_funcs || in_use_ids.has(def.id);
        +                if (!keep) {
        +                    def.eliminated++;
        +                    return in_list ? MAP.skip : make_node(AST_EmptyStatement, node);
        +                }
        +            }
        +            if (node instanceof AST_Definitions && !(parent instanceof AST_ForIn && parent.init === node)) {
        +                var drop_block = !(parent instanceof AST_Toplevel) && !(node instanceof AST_Var);
        +                // place uninitialized names at the start
        +                var body = [], head = [], tail = [];
        +                // for unused names whose initialization has
        +                // side effects, we can cascade the init. code
        +                // into the next one, or next statement.
        +                var side_effects = [];
        +                node.definitions.forEach(function(def) {
        +                    if (def.value) def.value = def.value.transform(tt);
        +                    var is_destructure = def.name instanceof AST_Destructuring;
        +                    var sym = is_destructure
        +                        ? new SymbolDef(null, { name: "" }) /* fake SymbolDef */
        +                        : def.name.definition();
        +                    if (drop_block && sym.global) return tail.push(def);
        +                    if (!(drop_vars || drop_block)
        +                        || is_destructure
        +                            && (def.name.names.length
        +                                || def.name.is_array
        +                                || compressor.option("pure_getters") != true)
        +                        || in_use_ids.has(sym.id)
        +                    ) {
        +                        if (def.value && fixed_ids.has(sym.id) && fixed_ids.get(sym.id) !== def) {
        +                            def.value = def.value.drop_side_effect_free(compressor);
        +                        }
        +                        if (def.name instanceof AST_SymbolVar) {
        +                            var var_defs = var_defs_by_id.get(sym.id);
        +                            if (var_defs.length > 1 && (!def.value || sym.orig.indexOf(def.name) > sym.eliminated)) {
        +                                if (def.value) {
        +                                    var ref = make_node(AST_SymbolRef, def.name, def.name);
        +                                    sym.references.push(ref);
        +                                    var assign = make_node(AST_Assign, def, {
        +                                        operator: "=",
        +                                        logical: false,
        +                                        left: ref,
        +                                        right: def.value
        +                                    });
        +                                    if (fixed_ids.get(sym.id) === def) {
        +                                        fixed_ids.set(sym.id, assign);
        +                                    }
        +                                    side_effects.push(assign.transform(tt));
        +                                }
        +                                remove(var_defs, def);
        +                                sym.eliminated++;
        +                                return;
        +                            }
        +                        }
        +                        if (def.value) {
        +                            if (side_effects.length > 0) {
        +                                if (tail.length > 0) {
        +                                    side_effects.push(def.value);
        +                                    def.value = make_sequence(def.value, side_effects);
        +                                } else {
        +                                    body.push(make_node(AST_SimpleStatement, node, {
        +                                        body: make_sequence(node, side_effects)
        +                                    }));
        +                                }
        +                                side_effects = [];
        +                            }
        +                            tail.push(def);
        +                        } else {
        +                            head.push(def);
        +                        }
        +                    } else if (sym.orig[0] instanceof AST_SymbolCatch) {
        +                        var value = def.value && def.value.drop_side_effect_free(compressor);
        +                        if (value) side_effects.push(value);
        +                        def.value = null;
        +                        head.push(def);
        +                    } else {
        +                        var value = def.value && def.value.drop_side_effect_free(compressor);
        +                        if (value) {
        +                            side_effects.push(value);
        +                        }
        +                        sym.eliminated++;
        +                    }
        +                });
        +                if (head.length > 0 || tail.length > 0) {
        +                    node.definitions = head.concat(tail);
        +                    body.push(node);
        +                }
        +                if (side_effects.length > 0) {
        +                    body.push(make_node(AST_SimpleStatement, node, {
        +                        body: make_sequence(node, side_effects)
        +                    }));
        +                }
        +                switch (body.length) {
        +                  case 0:
        +                    return in_list ? MAP.skip : make_node(AST_EmptyStatement, node);
        +                  case 1:
        +                    return body[0];
        +                  default:
        +                    return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, { body });
        +                }
        +            }
        +            // certain combination of unused name + side effect leads to:
        +            //    https://github.com/mishoo/UglifyJS2/issues/44
        +            //    https://github.com/mishoo/UglifyJS2/issues/1830
        +            //    https://github.com/mishoo/UglifyJS2/issues/1838
        +            // that's an invalid AST.
        +            // We fix it at this stage by moving the `var` outside the `for`.
        +            if (node instanceof AST_For) {
        +                descend(node, this);
        +                var block;
        +                if (node.init instanceof AST_BlockStatement) {
        +                    block = node.init;
        +                    node.init = block.body.pop();
        +                    block.body.push(node);
        +                }
        +                if (node.init instanceof AST_SimpleStatement) {
        +                    node.init = node.init.body;
        +                } else if (is_empty(node.init)) {
        +                    node.init = null;
        +                }
        +                return !block ? node : in_list ? MAP.splice(block.body) : block;
        +            }
        +            if (node instanceof AST_LabeledStatement
        +                && node.body instanceof AST_For
        +            ) {
        +                descend(node, this);
        +                if (node.body instanceof AST_BlockStatement) {
        +                    var block = node.body;
        +                    node.body = block.body.pop();
        +                    block.body.push(node);
        +                    return in_list ? MAP.splice(block.body) : block;
        +                }
        +                return node;
        +            }
        +            if (node instanceof AST_BlockStatement) {
        +                descend(node, this);
        +                if (in_list && node.body.every(can_be_evicted_from_block)) {
        +                    return MAP.splice(node.body);
        +                }
        +                return node;
        +            }
        +            if (node instanceof AST_Scope && !(node instanceof AST_ClassStaticBlock)) {
        +                const save_scope = scope;
        +                scope = node;
        +                descend(node, this);
        +                scope = save_scope;
        +                return node;
        +            }
        +        },
        +        function after(node, in_list) {
        +            if (node instanceof AST_Sequence) {
        +                switch (node.expressions.length) {
        +                    case 0: return in_list ? MAP.skip : make_node(AST_Number, node, { value: 0 });
        +                    case 1: return node.expressions[0];
        +                }
        +            }
        +        }
        +    );
        +
        +    self.transform(tt);
        +
        +    function scan_ref_scoped(node, descend) {
        +        var node_def;
        +        const sym = assign_as_unused(node);
        +        if (sym instanceof AST_SymbolRef
        +            && !is_ref_of(node.left, AST_SymbolBlockDeclaration)
        +            && self.variables.get(sym.name) === (node_def = sym.definition())
        +        ) {
        +            if (node instanceof AST_Assign) {
        +                node.right.walk(tw);
        +                if (!node_def.chained && node.left.fixed_value() === node.right) {
        +                    fixed_ids.set(node_def.id, node);
        +                }
        +            }
        +            return true;
        +        }
        +        if (node instanceof AST_SymbolRef) {
        +            node_def = node.definition();
        +            if (!in_use_ids.has(node_def.id)) {
        +                in_use_ids.set(node_def.id, node_def);
        +                if (node_def.orig[0] instanceof AST_SymbolCatch) {
        +                    const redef = node_def.scope.is_block_scope()
        +                        && node_def.scope.get_defun_scope().variables.get(node_def.name);
        +                    if (redef) in_use_ids.set(redef.id, redef);
        +                }
        +            }
        +            return true;
        +        }
        +        if (node instanceof AST_Class) {
        +            descend();
        +            return true;
        +        }
        +        if (node instanceof AST_Scope && !(node instanceof AST_ClassStaticBlock)) {
        +            var save_scope = scope;
        +            scope = node;
        +            descend();
        +            scope = save_scope;
        +            return true;
        +        }
        +    }
        +});
        +
        +;// ./node_modules/terser/lib/compress/reduce-vars.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +/**
        + * Define the method AST_Node#reduce_vars, which goes through the AST in
        + * execution order to perform basic flow analysis
        + */
        +function def_reduce_vars(node, func) {
        +    node.DEFMETHOD("reduce_vars", func);
        +}
        +
        +def_reduce_vars(AST_Node, noop);
        +
        +/** Clear definition properties */
        +function reset_def(compressor, def) {
        +    def.assignments = 0;
        +    def.chained = false;
        +    def.direct_access = false;
        +    def.escaped = 0;
        +    def.recursive_refs = 0;
        +    def.references = [];
        +    def.single_use = undefined;
        +    if (
        +        def.scope.pinned()
        +        || (def.orig[0] instanceof AST_SymbolFunarg && def.scope.uses_arguments)
        +    ) {
        +        def.fixed = false;
        +    } else if (def.orig[0] instanceof AST_SymbolConst || !compressor.exposed(def)) {
        +        def.fixed = def.init;
        +    } else {
        +        def.fixed = false;
        +    }
        +}
        +
        +function reset_variables(tw, compressor, node) {
        +    node.variables.forEach(function(def) {
        +        reset_def(compressor, def);
        +        if (def.fixed === null) {
        +            tw.defs_to_safe_ids.set(def.id, tw.safe_ids);
        +            mark(tw, def, true);
        +        } else if (def.fixed) {
        +            tw.loop_ids.set(def.id, tw.in_loop);
        +            mark(tw, def, true);
        +        }
        +    });
        +}
        +
        +function reset_block_variables(compressor, node) {
        +    if (node.block_scope) node.block_scope.variables.forEach((def) => {
        +        reset_def(compressor, def);
        +    });
        +}
        +
        +function push(tw) {
        +    tw.safe_ids = Object.create(tw.safe_ids);
        +}
        +
        +function pop(tw) {
        +    tw.safe_ids = Object.getPrototypeOf(tw.safe_ids);
        +}
        +
        +function mark(tw, def, safe) {
        +    tw.safe_ids[def.id] = safe;
        +}
        +
        +function safe_to_read(tw, def) {
        +    if (def.single_use == "m") return false;
        +    if (tw.safe_ids[def.id]) {
        +        if (def.fixed == null) {
        +            var orig = def.orig[0];
        +            if (orig instanceof AST_SymbolFunarg || orig.name == "arguments") return false;
        +            def.fixed = make_void_0(orig);
        +        }
        +        return true;
        +    }
        +    return def.fixed instanceof AST_Defun;
        +}
        +
        +function safe_to_assign(tw, def, scope, value) {
        +    if (def.fixed === undefined) return true;
        +    let def_safe_ids;
        +    if (def.fixed === null
        +        && (def_safe_ids = tw.defs_to_safe_ids.get(def.id))
        +    ) {
        +        def_safe_ids[def.id] = false;
        +        tw.defs_to_safe_ids.delete(def.id);
        +        return true;
        +    }
        +    if (!HOP(tw.safe_ids, def.id)) return false;
        +    if (!safe_to_read(tw, def)) return false;
        +    if (def.fixed === false) return false;
        +    if (def.fixed != null && (!value || def.references.length > def.assignments)) return false;
        +    if (def.fixed instanceof AST_Defun) {
        +        return value instanceof AST_Node && def.fixed.parent_scope === scope;
        +    }
        +    return def.orig.every((sym) => {
        +        return !(sym instanceof AST_SymbolConst
        +            || sym instanceof AST_SymbolDefun
        +            || sym instanceof AST_SymbolLambda);
        +    });
        +}
        +
        +function ref_once(tw, compressor, def) {
        +    return compressor.option("unused")
        +        && !def.scope.pinned()
        +        && def.references.length - def.recursive_refs == 1
        +        && tw.loop_ids.get(def.id) === tw.in_loop;
        +}
        +
        +function is_immutable(value) {
        +    if (!value) return false;
        +    return value.is_constant()
        +        || value instanceof AST_Lambda
        +        || value instanceof AST_This;
        +}
        +
        +// A definition "escapes" when its value can leave the point of use.
        +// Example: `a = b || c`
        +// In this example, "b" and "c" are escaping, because they're going into "a"
        +//
        +// def.escaped is != 0 when it escapes.
        +//
        +// When greater than 1, it means that N chained properties will be read off
        +// of that def before an escape occurs. This is useful for evaluating
        +// property accesses, where you need to know when to stop.
        +function mark_escaped(tw, d, scope, node, value, level = 0, depth = 1) {
        +    var parent = tw.parent(level);
        +    if (value) {
        +        if (value.is_constant()) return;
        +        if (value instanceof AST_ClassExpression) return;
        +    }
        +
        +    if (
        +        parent instanceof AST_Assign && (parent.operator === "=" || parent.logical) && node === parent.right
        +        || parent instanceof AST_Call && (node !== parent.expression || parent instanceof AST_New)
        +        || parent instanceof AST_Exit && node === parent.value && node.scope !== d.scope
        +        || parent instanceof AST_VarDefLike && node === parent.value
        +        || parent instanceof AST_Yield && node === parent.value && node.scope !== d.scope
        +    ) {
        +        if (depth > 1 && !(value && value.is_constant_expression(scope))) depth = 1;
        +        if (!d.escaped || d.escaped > depth) d.escaped = depth;
        +        return;
        +    } else if (
        +        parent instanceof AST_Array
        +        || parent instanceof AST_Await
        +        || parent instanceof AST_Binary && lazy_op.has(parent.operator)
        +        || parent instanceof AST_Conditional && node !== parent.condition
        +        || parent instanceof AST_Expansion
        +        || parent instanceof AST_Sequence && node === parent.tail_node()
        +    ) {
        +        mark_escaped(tw, d, scope, parent, parent, level + 1, depth);
        +    } else if (parent instanceof AST_ObjectKeyVal && node === parent.value) {
        +        var obj = tw.parent(level + 1);
        +
        +        mark_escaped(tw, d, scope, obj, obj, level + 2, depth);
        +    } else if (parent instanceof AST_PropAccess && node === parent.expression) {
        +        value = read_property(value, parent.property);
        +
        +        mark_escaped(tw, d, scope, parent, value, level + 1, depth + 1);
        +        if (value) return;
        +    }
        +
        +    if (level > 0) return;
        +    if (parent instanceof AST_Sequence && node !== parent.tail_node()) return;
        +    if (parent instanceof AST_SimpleStatement) return;
        +
        +    d.direct_access = true;
        +}
        +
        +const suppress = node => walk(node, node => {
        +    if (!(node instanceof AST_Symbol)) return;
        +    var d = node.definition();
        +    if (!d) return;
        +    if (node instanceof AST_SymbolRef) d.references.push(node);
        +    d.fixed = false;
        +});
        +
        +def_reduce_vars(AST_Accessor, function(tw, descend, compressor) {
        +    push(tw);
        +    reset_variables(tw, compressor, this);
        +    descend();
        +    pop(tw);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Assign, function(tw, descend, compressor) {
        +    var node = this;
        +    if (node.left instanceof AST_Destructuring) {
        +        suppress(node.left);
        +        return;
        +    }
        +
        +    const finish_walk = () => {
        +        if (node.logical) {
        +            node.left.walk(tw);
        +
        +            push(tw);
        +            node.right.walk(tw);
        +            pop(tw);
        +
        +            return true;
        +        }
        +    };
        +
        +    var sym = node.left;
        +    if (!(sym instanceof AST_SymbolRef)) return finish_walk();
        +
        +    var def = sym.definition();
        +    var safe = safe_to_assign(tw, def, sym.scope, node.right);
        +    def.assignments++;
        +    if (!safe) return finish_walk();
        +
        +    var fixed = def.fixed;
        +    if (!fixed && node.operator != "=" && !node.logical) return finish_walk();
        +
        +    var eq = node.operator == "=";
        +    var value = eq ? node.right : node;
        +    if (is_modified(compressor, tw, node, value, 0)) return finish_walk();
        +
        +    def.references.push(sym);
        +
        +    if (!node.logical) {
        +        if (!eq) def.chained = true;
        +
        +        def.fixed = eq ? function() {
        +            return node.right;
        +        } : function() {
        +            return make_node(AST_Binary, node, {
        +                operator: node.operator.slice(0, -1),
        +                left: fixed instanceof AST_Node ? fixed : fixed(),
        +                right: node.right
        +            });
        +        };
        +    }
        +
        +    if (node.logical) {
        +        mark(tw, def, false);
        +        push(tw);
        +        node.right.walk(tw);
        +        pop(tw);
        +        return true;
        +    }
        +
        +    mark(tw, def, false);
        +    node.right.walk(tw);
        +    mark(tw, def, true);
        +
        +    mark_escaped(tw, def, sym.scope, node, value, 0, 1);
        +
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Binary, function(tw) {
        +    if (!lazy_op.has(this.operator)) return;
        +    this.left.walk(tw);
        +    push(tw);
        +    this.right.walk(tw);
        +    pop(tw);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Block, function(tw, descend, compressor) {
        +    reset_block_variables(compressor, this);
        +});
        +
        +def_reduce_vars(AST_Case, function(tw) {
        +    push(tw);
        +    this.expression.walk(tw);
        +    pop(tw);
        +    push(tw);
        +    walk_body(this, tw);
        +    pop(tw);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Class, function(tw, descend) {
        +    clear_flag(this, INLINED);
        +    push(tw);
        +    descend();
        +    pop(tw);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_ClassStaticBlock, function(tw, descend, compressor) {
        +    reset_block_variables(compressor, this);
        +});
        +
        +def_reduce_vars(AST_Conditional, function(tw) {
        +    this.condition.walk(tw);
        +    push(tw);
        +    this.consequent.walk(tw);
        +    pop(tw);
        +    push(tw);
        +    this.alternative.walk(tw);
        +    pop(tw);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Chain, function(tw, descend) {
        +    // Chains' conditions apply left-to-right, cumulatively.
        +    // If we walk normally we don't go in that order because we would pop before pushing again
        +    // Solution: AST_PropAccess and AST_Call push when they are optional, and never pop.
        +    // Then we pop everything when they are done being walked.
        +    const safe_ids = tw.safe_ids;
        +
        +    descend();
        +
        +    // Unroll back to start
        +    tw.safe_ids = safe_ids;
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Call, function (tw) {
        +    this.expression.walk(tw);
        +
        +    if (this.optional) {
        +        // Never pop -- it's popped at AST_Chain above
        +        push(tw);
        +    }
        +
        +    for (const arg of this.args) arg.walk(tw);
        +
        +    return true;
        +});
        +
        +def_reduce_vars(AST_PropAccess, function (tw) {
        +    if (!this.optional) return;
        +
        +    this.expression.walk(tw);
        +
        +    // Never pop -- it's popped at AST_Chain above
        +    push(tw);
        +
        +    if (this.property instanceof AST_Node) this.property.walk(tw);
        +
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Default, function(tw, descend) {
        +    push(tw);
        +    descend();
        +    pop(tw);
        +    return true;
        +});
        +
        +function mark_lambda(tw, descend, compressor) {
        +    clear_flag(this, INLINED);
        +    push(tw);
        +    reset_variables(tw, compressor, this);
        +
        +    var iife;
        +    if (!this.name
        +        && !this.uses_arguments
        +        && !this.pinned()
        +        && (iife = tw.parent()) instanceof AST_Call
        +        && iife.expression === this
        +        && !iife.args.some(arg => arg instanceof AST_Expansion)
        +        && this.argnames.every(arg_name => arg_name instanceof AST_Symbol)
        +    ) {
        +        // Virtually turn IIFE parameters into variable definitions:
        +        //   (function(a,b) {...})(c,d) => (function() {var a=c,b=d; ...})()
        +        // So existing transformation rules can work on them.
        +        this.argnames.forEach((arg, i) => {
        +            if (!arg.definition) return;
        +            var d = arg.definition();
        +            // Avoid setting fixed when there's more than one origin for a variable value
        +            if (d.orig.length > 1) return;
        +            if (d.fixed === undefined && (!this.uses_arguments || tw.has_directive("use strict"))) {
        +                d.fixed = function() {
        +                    return iife.args[i] || make_void_0(iife);
        +                };
        +                tw.loop_ids.set(d.id, tw.in_loop);
        +                mark(tw, d, true);
        +            } else {
        +                d.fixed = false;
        +            }
        +        });
        +    }
        +
        +    descend();
        +    pop(tw);
        +
        +    handle_defined_after_hoist(this);
        +
        +    return true;
        +}
        +
        +/**
        + * It's possible for a hoisted function to use something that's not defined yet. Example:
        + *
        + * hoisted();
        + * var defined_after = true;
        + * function hoisted() {
        + *   // use defined_after
        + * }
        + *
        + * Or even indirectly:
        + *
        + * B();
        + * var defined_after = true;
        + * function A() {
        + *   // use defined_after
        + * }
        + * function B() {
        + *   A();
        + * }
        + *
        + * Access a variable before declaration will either throw a ReferenceError
        + * (if the variable is declared with `let` or `const`),
        + * or get an `undefined` (if the variable is declared with `var`).
        + *
        + * If the variable is inlined into the function, the behavior will change.
        + *
        + * This function is called on the parent to disallow inlining of such variables,
        + */
        +function handle_defined_after_hoist(parent) {
        +    const defuns = [];
        +    walk(parent, node => {
        +        if (node === parent) return;
        +        if (node instanceof AST_Defun) {
        +            defuns.push(node);
        +            return true;
        +        }
        +        if (
        +            node instanceof AST_Scope
        +            || node instanceof AST_SimpleStatement
        +        ) return true;
        +    });
        +
        +    // `defun` id to array of `defun` it uses
        +    const defun_dependencies_map = new Map();
        +    // `defun` id to array of enclosing `def` that are used by the function
        +    const dependencies_map = new Map();
        +    // all symbol ids that will be tracked for read/write
        +    const symbols_of_interest = new Set();
        +    const defuns_of_interest = new Set();
        +
        +    for (const defun of defuns) {
        +        const fname_def = defun.name.definition();
        +        const enclosing_defs = [];
        +
        +        for (const def of defun.enclosed) {
        +            if (
        +                def.fixed === false
        +                || def === fname_def
        +                || def.scope.get_defun_scope() !== parent
        +            ) {
        +                continue;
        +            }
        +
        +            symbols_of_interest.add(def.id);
        +
        +            // found a reference to another function
        +            if (
        +                def.assignments === 0
        +                && def.orig.length === 1
        +                && def.orig[0] instanceof AST_SymbolDefun
        +            ) {
        +                defuns_of_interest.add(def.id);
        +                symbols_of_interest.add(def.id);
        +
        +                defuns_of_interest.add(fname_def.id);
        +                symbols_of_interest.add(fname_def.id);
        +
        +                if (!defun_dependencies_map.has(fname_def.id)) {
        +                    defun_dependencies_map.set(fname_def.id, []);
        +                }
        +                defun_dependencies_map.get(fname_def.id).push(def.id);
        +
        +                continue;
        +            }
        +
        +            enclosing_defs.push(def);
        +        }
        +
        +        if (enclosing_defs.length) {
        +            dependencies_map.set(fname_def.id, enclosing_defs);
        +            defuns_of_interest.add(fname_def.id);
        +            symbols_of_interest.add(fname_def.id);
        +        }
        +    }
        +
        +    // No defuns use outside constants
        +    if (!dependencies_map.size) {
        +        return;
        +    }
        +
        +    // Increment to count "symbols of interest" (defuns or defs) that we found.
        +    // These are tracked in AST order so we can check which is after which.
        +    let symbol_index = 1;
        +    // Map a defun ID to its first read (a `symbol_index`)
        +    const defun_first_read_map = new Map();
        +    // Map a symbol ID to its last write (a `symbol_index`)
        +    const symbol_last_write_map = new Map();
        +
        +    walk_parent(parent, (node, walk_info) => {
        +        if (node instanceof AST_Symbol && node.thedef) {
        +            const id = node.definition().id;
        +
        +            symbol_index++;
        +
        +            // Track last-writes to symbols
        +            if (symbols_of_interest.has(id)) {
        +                if (node instanceof AST_SymbolDeclaration || is_lhs(node, walk_info.parent())) {
        +                    symbol_last_write_map.set(id, symbol_index);
        +                }
        +            }
        +
        +            // Track first-reads of defuns (refined later)
        +            if (defuns_of_interest.has(id)) {
        +                if (!defun_first_read_map.has(id) && !is_recursive_ref(walk_info, id)) {
        +                    defun_first_read_map.set(id, symbol_index);
        +                }
        +            }
        +        }
        +    });
        +
        +    // Refine `defun_first_read_map` to be as high as possible
        +    for (const [defun, defun_first_read] of defun_first_read_map) {
        +        // Update all dependencies of `defun`
        +        const queue = new Set(defun_dependencies_map.get(defun));
        +        for (const enclosed_defun of queue) {
        +            let enclosed_defun_first_read = defun_first_read_map.get(enclosed_defun);
        +            if (enclosed_defun_first_read != null && enclosed_defun_first_read < defun_first_read) {
        +                continue;
        +            }
        +
        +            defun_first_read_map.set(enclosed_defun, defun_first_read);
        +
        +            for (const enclosed_enclosed_defun of defun_dependencies_map.get(enclosed_defun) || []) {
        +                queue.add(enclosed_enclosed_defun);
        +            }
        +        }
        +    }
        +
        +    // ensure write-then-read order, otherwise clear `fixed`
        +    // This is safe because last-writes (found_symbol_writes) are assumed to be as late as possible, and first-reads (defun_first_read_map) are assumed to be as early as possible.
        +    for (const [defun, defs] of dependencies_map) {
        +        const defun_first_read = defun_first_read_map.get(defun);
        +        if (defun_first_read === undefined) {
        +            continue;
        +        }
        +
        +        for (const def of defs) {
        +            if (def.fixed === false) {
        +                continue;
        +            }
        +
        +            let def_last_write = symbol_last_write_map.get(def.id) || 0;
        +
        +            if (defun_first_read < def_last_write) {
        +                def.fixed = false;
        +            }
        +        }
        +    }
        +}
        +
        +def_reduce_vars(AST_Lambda, mark_lambda);
        +
        +def_reduce_vars(AST_Do, function(tw, descend, compressor) {
        +    reset_block_variables(compressor, this);
        +    const saved_loop = tw.in_loop;
        +    tw.in_loop = this;
        +    push(tw);
        +    this.body.walk(tw);
        +    if (has_break_or_continue(this)) {
        +        pop(tw);
        +        push(tw);
        +    }
        +    this.condition.walk(tw);
        +    pop(tw);
        +    tw.in_loop = saved_loop;
        +    return true;
        +});
        +
        +def_reduce_vars(AST_For, function(tw, descend, compressor) {
        +    reset_block_variables(compressor, this);
        +    if (this.init) this.init.walk(tw);
        +    const saved_loop = tw.in_loop;
        +    tw.in_loop = this;
        +    push(tw);
        +    if (this.condition) this.condition.walk(tw);
        +    this.body.walk(tw);
        +    if (this.step) {
        +        if (has_break_or_continue(this)) {
        +            pop(tw);
        +            push(tw);
        +        }
        +        this.step.walk(tw);
        +    }
        +    pop(tw);
        +    tw.in_loop = saved_loop;
        +    return true;
        +});
        +
        +def_reduce_vars(AST_ForIn, function(tw, descend, compressor) {
        +    reset_block_variables(compressor, this);
        +    suppress(this.init);
        +    this.object.walk(tw);
        +    const saved_loop = tw.in_loop;
        +    tw.in_loop = this;
        +    push(tw);
        +    this.body.walk(tw);
        +    pop(tw);
        +    tw.in_loop = saved_loop;
        +    return true;
        +});
        +
        +def_reduce_vars(AST_If, function(tw) {
        +    this.condition.walk(tw);
        +    push(tw);
        +    this.body.walk(tw);
        +    pop(tw);
        +    if (this.alternative) {
        +        push(tw);
        +        this.alternative.walk(tw);
        +        pop(tw);
        +    }
        +    return true;
        +});
        +
        +def_reduce_vars(AST_LabeledStatement, function(tw) {
        +    push(tw);
        +    this.body.walk(tw);
        +    pop(tw);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_SymbolCatch, function() {
        +    this.definition().fixed = false;
        +});
        +
        +def_reduce_vars(AST_SymbolRef, function(tw, descend, compressor) {
        +    var d = this.definition();
        +    d.references.push(this);
        +    if (d.references.length == 1
        +        && !d.fixed
        +        && d.orig[0] instanceof AST_SymbolDefun) {
        +        tw.loop_ids.set(d.id, tw.in_loop);
        +    }
        +    var fixed_value;
        +    if (d.fixed === undefined || !safe_to_read(tw, d)) {
        +        d.fixed = false;
        +    } else if (d.fixed) {
        +        fixed_value = this.fixed_value();
        +        if (
        +            fixed_value instanceof AST_Lambda
        +            && is_recursive_ref(tw, d)
        +        ) {
        +            d.recursive_refs++;
        +        } else if (fixed_value
        +            && !compressor.exposed(d)
        +            && ref_once(tw, compressor, d)
        +        ) {
        +            d.single_use =
        +                fixed_value instanceof AST_Lambda && !fixed_value.pinned()
        +                || fixed_value instanceof AST_Class
        +                || d.scope === this.scope && fixed_value.is_constant_expression();
        +        } else {
        +            d.single_use = false;
        +        }
        +        if (is_modified(compressor, tw, this, fixed_value, 0, is_immutable(fixed_value))) {
        +            if (d.single_use) {
        +                d.single_use = "m";
        +            } else {
        +                d.fixed = false;
        +            }
        +        }
        +    }
        +    mark_escaped(tw, d, this.scope, this, fixed_value, 0, 1);
        +});
        +
        +def_reduce_vars(AST_Toplevel, function(tw, descend, compressor) {
        +    this.globals.forEach(function(def) {
        +        reset_def(compressor, def);
        +    });
        +    reset_variables(tw, compressor, this);
        +    descend();
        +    handle_defined_after_hoist(this);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Try, function(tw, descend, compressor) {
        +    reset_block_variables(compressor, this);
        +    push(tw);
        +    this.body.walk(tw);
        +    pop(tw);
        +    if (this.bcatch) {
        +        push(tw);
        +        this.bcatch.walk(tw);
        +        pop(tw);
        +    }
        +    if (this.bfinally) this.bfinally.walk(tw);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_Unary, function(tw) {
        +    var node = this;
        +    if (node.operator !== "++" && node.operator !== "--") return;
        +    var exp = node.expression;
        +    if (!(exp instanceof AST_SymbolRef)) return;
        +    var def = exp.definition();
        +    var safe = safe_to_assign(tw, def, exp.scope, true);
        +    def.assignments++;
        +    if (!safe) return;
        +    var fixed = def.fixed;
        +    if (!fixed) return;
        +    def.references.push(exp);
        +    def.chained = true;
        +    def.fixed = function() {
        +        return make_node(AST_Binary, node, {
        +            operator: node.operator.slice(0, -1),
        +            left: make_node(AST_UnaryPrefix, node, {
        +                operator: "+",
        +                expression: fixed instanceof AST_Node ? fixed : fixed()
        +            }),
        +            right: make_node(AST_Number, node, {
        +                value: 1
        +            })
        +        });
        +    };
        +    mark(tw, def, true);
        +    return true;
        +});
        +
        +def_reduce_vars(AST_VarDef, function(tw, descend) {
        +    var node = this;
        +    if (node.name instanceof AST_Destructuring) {
        +        suppress(node.name);
        +        return;
        +    }
        +    var d = node.name.definition();
        +    if (node.value) {
        +        if (safe_to_assign(tw, d, node.name.scope, node.value)) {
        +            d.fixed = function() {
        +                return node.value;
        +            };
        +            tw.loop_ids.set(d.id, tw.in_loop);
        +            mark(tw, d, false);
        +            descend();
        +            mark(tw, d, true);
        +            return true;
        +        } else {
        +            d.fixed = false;
        +        }
        +    }
        +});
        +
        +def_reduce_vars(AST_UsingDef, function() {
        +    suppress(this.name);
        +});
        +
        +def_reduce_vars(AST_While, function(tw, descend, compressor) {
        +    reset_block_variables(compressor, this);
        +    const saved_loop = tw.in_loop;
        +    tw.in_loop = this;
        +    push(tw);
        +    descend();
        +    pop(tw);
        +    tw.in_loop = saved_loop;
        +    return true;
        +});
        +
        +;// ./node_modules/terser/lib/compress/tighten-body.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +function loop_body(x) {
        +    if (x instanceof AST_IterationStatement) {
        +        return x.body instanceof AST_BlockStatement ? x.body : x;
        +    }
        +    return x;
        +}
        +
        +function is_lhs_read_only(lhs) {
        +    if (lhs instanceof AST_This) return true;
        +    if (lhs instanceof AST_SymbolRef) return lhs.definition().orig[0] instanceof AST_SymbolLambda;
        +    if (lhs instanceof AST_PropAccess) {
        +        lhs = lhs.expression;
        +        if (lhs instanceof AST_SymbolRef) {
        +            if (lhs.is_immutable()) return false;
        +            lhs = lhs.fixed_value();
        +        }
        +        if (!lhs) return true;
        +        if (lhs instanceof AST_RegExp) return false;
        +        if (lhs instanceof AST_Constant) return true;
        +        return is_lhs_read_only(lhs);
        +    }
        +    return false;
        +}
        +
        +/** var a = 1 --> var a*/
        +function remove_initializers(var_statement) {
        +    var decls = [];
        +    var_statement.definitions.forEach(function(def) {
        +        if (def.name instanceof AST_SymbolDeclaration) {
        +            def.value = null;
        +            decls.push(def);
        +        } else {
        +            def.declarations_as_names().forEach(name => {
        +                decls.push(make_node(AST_VarDef, def, {
        +                    name,
        +                    value: null
        +                }));
        +            });
        +        }
        +    });
        +    return decls.length ? make_node(AST_Var, var_statement, { definitions: decls }) : null;
        +}
        +
        +/** Called on code which won't be executed but has an effect outside of itself: `var`, `function` statements, `export`, `import`. */
        +function extract_from_unreachable_code(compressor, stat, target) {
        +    walk(stat, node => {
        +        if (node instanceof AST_Var) {
        +            const no_initializers = remove_initializers(node);
        +            if (no_initializers) target.push(no_initializers);
        +            return true;
        +        }
        +        if (
        +            node instanceof AST_Defun
        +            && (node === stat || !compressor.has_directive("use strict"))
        +        ) {
        +            target.push(node === stat ? node : make_node(AST_Var, node, {
        +                definitions: [
        +                    make_node(AST_VarDef, node, {
        +                        name: make_node(AST_SymbolVar, node.name, node.name),
        +                        value: null
        +                    })
        +                ]
        +            }));
        +            return true;
        +        }
        +        if (node instanceof AST_Export || node instanceof AST_Import) {
        +            target.push(node);
        +            return true;
        +        }
        +        if (node instanceof AST_Scope || node instanceof AST_Class) {
        +            // Do not go into nested scopes
        +            return true;
        +        }
        +    });
        +}
        +
        +/** Tighten a bunch of statements together, and perform statement-level optimization. */
        +function tighten_body(statements, compressor) {
        +    const nearest_scope = compressor.find_scope();
        +    const defun_scope = nearest_scope.get_defun_scope();
        +    const { in_loop, in_try } = find_loop_scope_try();
        +
        +    var CHANGED, max_iter = 10;
        +    do {
        +        CHANGED = false;
        +        eliminate_spurious_blocks(statements);
        +        if (compressor.option("dead_code")) {
        +            eliminate_dead_code(statements, compressor);
        +        }
        +        if (compressor.option("if_return")) {
        +            handle_if_return(statements, compressor);
        +        }
        +        if (compressor.sequences_limit > 0) {
        +            sequencesize(statements, compressor);
        +            sequencesize_2(statements, compressor);
        +        }
        +        if (compressor.option("join_vars")) {
        +            join_consecutive_vars(statements);
        +        }
        +        if (compressor.option("collapse_vars")) {
        +            collapse(statements, compressor);
        +        }
        +    } while (CHANGED && max_iter-- > 0);
        +
        +    function find_loop_scope_try() {
        +        var node = compressor.self(), level = 0, in_loop = false, in_try = false;
        +        do {
        +            if (node instanceof AST_IterationStatement) {
        +                in_loop = true;
        +            } else if (node instanceof AST_Scope) {
        +                break;
        +            } else if (node instanceof AST_TryBlock) {
        +                in_try = true;
        +            }
        +        } while (node = compressor.parent(level++));
        +
        +        return { in_loop, in_try };
        +    }
        +
        +    // Search from right to left for assignment-like expressions:
        +    // - `var a = x;`
        +    // - `a = x;`
        +    // - `++a`
        +    // For each candidate, scan from left to right for first usage, then try
        +    // to fold assignment into the site for compression.
        +    // Will not attempt to collapse assignments into or past code blocks
        +    // which are not sequentially executed, e.g. loops and conditionals.
        +    function collapse(statements, compressor) {
        +        if (nearest_scope.pinned() || defun_scope.pinned())
        +            return statements;
        +        var args;
        +        var candidates = [];
        +        var stat_index = statements.length;
        +        var scanner = new TreeTransformer(function (node) {
        +            if (abort)
        +                return node;
        +            // Skip nodes before `candidate` as quickly as possible
        +            if (!hit) {
        +                if (node !== hit_stack[hit_index])
        +                    return node;
        +                hit_index++;
        +                if (hit_index < hit_stack.length)
        +                    return handle_custom_scan_order(node);
        +                hit = true;
        +                stop_after = find_stop(node, 0);
        +                if (stop_after === node)
        +                    abort = true;
        +                return node;
        +            }
        +            // Stop immediately if these node types are encountered
        +            var parent = scanner.parent();
        +            if (node instanceof AST_Assign
        +                    && (node.logical || node.operator != "=" && lhs.equivalent_to(node.left))
        +                || node instanceof AST_Await
        +                || node instanceof AST_Using
        +                || node instanceof AST_Call && lhs instanceof AST_PropAccess && lhs.equivalent_to(node.expression)
        +                ||
        +                    (node instanceof AST_Call || node instanceof AST_PropAccess)
        +                    && node.optional
        +                || node instanceof AST_Debugger
        +                || node instanceof AST_Destructuring
        +                || node instanceof AST_Expansion
        +                    && node.expression instanceof AST_Symbol
        +                    && (
        +                        node.expression instanceof AST_This
        +                        || node.expression.definition().references.length > 1
        +                    )
        +                || node instanceof AST_IterationStatement && !(node instanceof AST_For)
        +                || node instanceof AST_LoopControl
        +                || node instanceof AST_Try
        +                || node instanceof AST_With
        +                || node instanceof AST_Yield
        +                || node instanceof AST_Export
        +                || node instanceof AST_Class
        +                || parent instanceof AST_For && node !== parent.init
        +                || !replace_all
        +                    && (
        +                        node instanceof AST_SymbolRef
        +                        && !node.is_declared(compressor)
        +                        && !pure_prop_access_globals.has(node)
        +                    )
        +                || node instanceof AST_SymbolRef
        +                    && parent instanceof AST_Call
        +                    && has_annotation(parent, _NOINLINE)
        +                || node instanceof AST_ObjectProperty && node.key instanceof AST_Node
        +            ) {
        +                abort = true;
        +                return node;
        +            }
        +            // Stop only if candidate is found within conditional branches
        +            if (!stop_if_hit && (!lhs_local || !replace_all)
        +                && (parent instanceof AST_Binary && lazy_op.has(parent.operator) && parent.left !== node
        +                    || parent instanceof AST_Conditional && parent.condition !== node
        +                    || parent instanceof AST_If && parent.condition !== node)) {
        +                stop_if_hit = parent;
        +            }
        +            // Replace variable with assignment when found
        +            if (
        +                can_replace
        +                && !(node instanceof AST_SymbolDeclaration)
        +                && lhs.equivalent_to(node)
        +                && !shadows(scanner.find_scope() || nearest_scope, lvalues)
        +            ) {
        +                if (stop_if_hit) {
        +                    abort = true;
        +                    return node;
        +                }
        +                if (is_lhs(node, parent)) {
        +                    if (value_def)
        +                        replaced++;
        +                    return node;
        +                } else {
        +                    replaced++;
        +                    if (value_def && candidate instanceof AST_VarDef)
        +                        return node;
        +                }
        +                CHANGED = abort = true;
        +                if (candidate instanceof AST_UnaryPostfix) {
        +                    return make_node(AST_UnaryPrefix, candidate, candidate);
        +                }
        +                if (candidate instanceof AST_VarDef) {
        +                    var def = candidate.name.definition();
        +                    var value = candidate.value;
        +                    if (def.references.length - def.replaced == 1 && !compressor.exposed(def)) {
        +                        def.replaced++;
        +                        if (funarg && is_identifier_atom(value)) {
        +                            return value.transform(compressor);
        +                        } else {
        +                            return maintain_this_binding(parent, node, value);
        +                        }
        +                    }
        +                    return make_node(AST_Assign, candidate, {
        +                        operator: "=",
        +                        logical: false,
        +                        left: make_node(AST_SymbolRef, candidate.name, candidate.name),
        +                        right: value
        +                    });
        +                }
        +                clear_flag(candidate, WRITE_ONLY);
        +                return candidate;
        +            }
        +            // These node types have child nodes that execute sequentially,
        +            // but are otherwise not safe to scan into or beyond them.
        +            var sym;
        +            if (node instanceof AST_Call
        +                || node instanceof AST_Exit
        +                && (side_effects || lhs instanceof AST_PropAccess || may_modify(lhs))
        +                || node instanceof AST_PropAccess
        +                && (side_effects || node.expression.may_throw_on_access(compressor))
        +                || node instanceof AST_SymbolRef
        +                && ((lvalues.has(node.name) && lvalues.get(node.name).modified) || side_effects && may_modify(node))
        +                || node instanceof AST_VarDef && node.value
        +                && (lvalues.has(node.name.name) || side_effects && may_modify(node.name))
        +                || node instanceof AST_Using
        +                || (sym = is_lhs(node.left, node))
        +                && (sym instanceof AST_PropAccess || lvalues.has(sym.name))
        +                || may_throw
        +                && (in_try ? node.has_side_effects(compressor) : side_effects_external(node))) {
        +                stop_after = node;
        +                if (node instanceof AST_Scope)
        +                    abort = true;
        +            }
        +            return handle_custom_scan_order(node);
        +        }, function (node) {
        +            if (abort)
        +                return;
        +            if (stop_after === node)
        +                abort = true;
        +            if (stop_if_hit === node)
        +                stop_if_hit = null;
        +        });
        +
        +        var multi_replacer = new TreeTransformer(function (node) {
        +            if (abort)
        +                return node;
        +            // Skip nodes before `candidate` as quickly as possible
        +            if (!hit) {
        +                if (node !== hit_stack[hit_index])
        +                    return node;
        +                hit_index++;
        +                if (hit_index < hit_stack.length)
        +                    return;
        +                hit = true;
        +                return node;
        +            }
        +            // Replace variable when found
        +            if (node instanceof AST_SymbolRef
        +                && node.name == def.name) {
        +                if (!--replaced)
        +                    abort = true;
        +                if (is_lhs(node, multi_replacer.parent()))
        +                    return node;
        +                def.replaced++;
        +                value_def.replaced--;
        +                return candidate.value;
        +            }
        +            // Skip (non-executed) functions and (leading) default case in switch statements
        +            if (node instanceof AST_Default || node instanceof AST_Scope)
        +                return node;
        +        });
        +
        +        while (--stat_index >= 0) {
        +            // Treat parameters as collapsible in IIFE, i.e.
        +            //   function(a, b){ ... }(x());
        +            // would be translated into equivalent assignments:
        +            //   var a = x(), b = undefined;
        +            if (stat_index == 0 && compressor.option("unused"))
        +                extract_args();
        +            // Find collapsible assignments
        +            var hit_stack = [];
        +            extract_candidates(statements[stat_index]);
        +            while (candidates.length > 0) {
        +                hit_stack = candidates.pop();
        +                var hit_index = 0;
        +                var candidate = hit_stack[hit_stack.length - 1];
        +                var value_def = null;
        +                var stop_after = null;
        +                var stop_if_hit = null;
        +                var lhs = get_lhs(candidate);
        +                if (!lhs || is_lhs_read_only(lhs) || lhs.has_side_effects(compressor))
        +                    continue;
        +                // Locate symbols which may execute code outside of scanning range
        +                var lvalues = get_lvalues(candidate);
        +                var lhs_local = is_lhs_local(lhs);
        +                if (lhs instanceof AST_SymbolRef) {
        +                    lvalues.set(lhs.name, { def: lhs.definition(), modified: false });
        +                }
        +                var side_effects = value_has_side_effects(candidate);
        +                var replace_all = replace_all_symbols();
        +                var may_throw = candidate.may_throw(compressor);
        +                var funarg = candidate.name instanceof AST_SymbolFunarg;
        +                var hit = funarg;
        +                var abort = false, replaced = 0, can_replace = !args || !hit;
        +                if (!can_replace) {
        +                    for (
        +                        let j = compressor.self().argnames.lastIndexOf(candidate.name) + 1;
        +                        !abort && j < args.length;
        +                        j++
        +                    ) {
        +                        args[j].transform(scanner);
        +                    }
        +                    can_replace = true;
        +                }
        +                for (var i = stat_index; !abort && i < statements.length; i++) {
        +                    statements[i].transform(scanner);
        +                }
        +                if (value_def) {
        +                    var def = candidate.name.definition();
        +                    if (abort && def.references.length - def.replaced > replaced)
        +                        replaced = false;
        +                    else {
        +                        abort = false;
        +                        hit_index = 0;
        +                        hit = funarg;
        +                        for (var i = stat_index; !abort && i < statements.length; i++) {
        +                            statements[i].transform(multi_replacer);
        +                        }
        +                        value_def.single_use = false;
        +                    }
        +                }
        +                if (replaced && !remove_candidate(candidate))
        +                    statements.splice(stat_index, 1);
        +            }
        +        }
        +
        +        function handle_custom_scan_order(node) {
        +            // Skip (non-executed) functions
        +            if (node instanceof AST_Scope)
        +                return node;
        +
        +            // Scan case expressions first in a switch statement
        +            if (node instanceof AST_Switch) {
        +                node.expression = node.expression.transform(scanner);
        +                for (var i = 0, len = node.body.length; !abort && i < len; i++) {
        +                    var branch = node.body[i];
        +                    if (branch instanceof AST_Case) {
        +                        if (!hit) {
        +                            if (branch !== hit_stack[hit_index])
        +                                continue;
        +                            hit_index++;
        +                        }
        +                        branch.expression = branch.expression.transform(scanner);
        +                        if (!replace_all)
        +                            break;
        +                    }
        +                }
        +                abort = true;
        +                return node;
        +            }
        +        }
        +
        +        function redefined_within_scope(def, scope) {
        +            if (def.global)
        +                return false;
        +            let cur_scope = def.scope;
        +            while (cur_scope && cur_scope !== scope) {
        +                if (cur_scope.variables.has(def.name)) {
        +                    return true;
        +                }
        +                cur_scope = cur_scope.parent_scope;
        +            }
        +            return false;
        +        }
        +
        +        function has_overlapping_symbol(fn, arg, fn_strict) {
        +            var found = false, scan_this = !(fn instanceof AST_Arrow);
        +            arg.walk(new TreeWalker(function (node, descend) {
        +                if (found)
        +                    return true;
        +                if (node instanceof AST_SymbolRef && (fn.variables.has(node.name) || redefined_within_scope(node.definition(), fn))) {
        +                    var s = node.definition().scope;
        +                    if (s !== defun_scope)
        +                        while (s = s.parent_scope) {
        +                            if (s === defun_scope)
        +                                return true;
        +                        }
        +                    return found = true;
        +                }
        +                if ((fn_strict || scan_this) && node instanceof AST_This) {
        +                    return found = true;
        +                }
        +                if (node instanceof AST_Scope && !(node instanceof AST_Arrow)) {
        +                    var prev = scan_this;
        +                    scan_this = false;
        +                    descend();
        +                    scan_this = prev;
        +                    return true;
        +                }
        +            }));
        +            return found;
        +        }
        +
        +        function arg_is_injectable(arg) {
        +            if (arg instanceof AST_Expansion) return false;
        +            const contains_await = walk(arg, (node) => {
        +                if (node instanceof AST_Await) return walk_abort;
        +            });
        +            if (contains_await) return false;
        +            return true;
        +        }
        +        function extract_args() {
        +            var iife, fn = compressor.self();
        +            if (is_func_expr(fn)
        +                && !fn.name
        +                && !fn.uses_arguments
        +                && !fn.pinned()
        +                && (iife = compressor.parent()) instanceof AST_Call
        +                && iife.expression === fn
        +                && iife.args.every(arg_is_injectable)
        +            ) {
        +                var fn_strict = compressor.has_directive("use strict");
        +                if (fn_strict && !member(fn_strict, fn.body))
        +                    fn_strict = false;
        +                var len = fn.argnames.length;
        +                args = iife.args.slice(len);
        +                var names = new Set();
        +                for (var i = len; --i >= 0;) {
        +                    var sym = fn.argnames[i];
        +                    var arg = iife.args[i];
        +                    // The following two line fix is a duplicate of the fix at
        +                    // https://github.com/terser/terser/commit/011d3eb08cefe6922c7d1bdfa113fc4aeaca1b75
        +                    // This might mean that these two pieces of code (one here in collapse_vars and another in reduce_vars
        +                    // Might be doing the exact same thing.
        +                    const def = sym.definition && sym.definition();
        +                    const is_reassigned = def && def.orig.length > 1;
        +                    if (is_reassigned)
        +                        continue;
        +                    args.unshift(make_node(AST_VarDef, sym, {
        +                        name: sym,
        +                        value: arg
        +                    }));
        +                    if (names.has(sym.name))
        +                        continue;
        +                    names.add(sym.name);
        +                    if (sym instanceof AST_Expansion) {
        +                        var elements = iife.args.slice(i);
        +                        if (elements.every((arg) => !has_overlapping_symbol(fn, arg, fn_strict)
        +                        )) {
        +                            candidates.unshift([make_node(AST_VarDef, sym, {
        +                                name: sym.expression,
        +                                value: make_node(AST_Array, iife, {
        +                                    elements: elements
        +                                })
        +                            })]);
        +                        }
        +                    } else {
        +                        if (!arg) {
        +                            arg = make_void_0(sym).transform(compressor);
        +                        } else if (arg instanceof AST_Lambda && arg.pinned()
        +                            || has_overlapping_symbol(fn, arg, fn_strict)) {
        +                            arg = null;
        +                        }
        +                        if (arg)
        +                            candidates.unshift([make_node(AST_VarDef, sym, {
        +                                name: sym,
        +                                value: arg
        +                            })]);
        +                    }
        +                }
        +            }
        +        }
        +
        +        function extract_candidates(expr) {
        +            hit_stack.push(expr);
        +            if (expr instanceof AST_Assign) {
        +                if (!expr.left.has_side_effects(compressor)
        +                    && !(expr.right instanceof AST_Chain)) {
        +                    candidates.push(hit_stack.slice());
        +                }
        +                extract_candidates(expr.right);
        +            } else if (expr instanceof AST_Binary) {
        +                extract_candidates(expr.left);
        +                extract_candidates(expr.right);
        +            } else if (expr instanceof AST_Call && !has_annotation(expr, _NOINLINE)) {
        +                extract_candidates(expr.expression);
        +                expr.args.forEach(extract_candidates);
        +            } else if (expr instanceof AST_Case) {
        +                extract_candidates(expr.expression);
        +            } else if (expr instanceof AST_Conditional) {
        +                extract_candidates(expr.condition);
        +                extract_candidates(expr.consequent);
        +                extract_candidates(expr.alternative);
        +            } else if (expr instanceof AST_Definitions) {
        +                var len = expr.definitions.length;
        +                // limit number of trailing variable definitions for consideration
        +                var i = len - 200;
        +                if (i < 0)
        +                    i = 0;
        +                for (; i < len; i++) {
        +                    extract_candidates(expr.definitions[i]);
        +                }
        +            } else if (expr instanceof AST_DWLoop) {
        +                extract_candidates(expr.condition);
        +                if (!(expr.body instanceof AST_Block)) {
        +                    extract_candidates(expr.body);
        +                }
        +            } else if (expr instanceof AST_Exit) {
        +                if (expr.value)
        +                    extract_candidates(expr.value);
        +            } else if (expr instanceof AST_For) {
        +                if (expr.init)
        +                    extract_candidates(expr.init);
        +                if (expr.condition)
        +                    extract_candidates(expr.condition);
        +                if (expr.step)
        +                    extract_candidates(expr.step);
        +                if (!(expr.body instanceof AST_Block)) {
        +                    extract_candidates(expr.body);
        +                }
        +            } else if (expr instanceof AST_ForIn) {
        +                extract_candidates(expr.object);
        +                if (!(expr.body instanceof AST_Block)) {
        +                    extract_candidates(expr.body);
        +                }
        +            } else if (expr instanceof AST_If) {
        +                extract_candidates(expr.condition);
        +                if (!(expr.body instanceof AST_Block)) {
        +                    extract_candidates(expr.body);
        +                }
        +                if (expr.alternative && !(expr.alternative instanceof AST_Block)) {
        +                    extract_candidates(expr.alternative);
        +                }
        +            } else if (expr instanceof AST_Sequence) {
        +                expr.expressions.forEach(extract_candidates);
        +            } else if (expr instanceof AST_SimpleStatement) {
        +                extract_candidates(expr.body);
        +            } else if (expr instanceof AST_Switch) {
        +                extract_candidates(expr.expression);
        +                expr.body.forEach(extract_candidates);
        +            } else if (expr instanceof AST_Unary) {
        +                if (expr.operator == "++" || expr.operator == "--") {
        +                    candidates.push(hit_stack.slice());
        +                }
        +            } else if (expr instanceof AST_VarDef) {
        +                if (expr.value && !(expr.value instanceof AST_Chain)) {
        +                    candidates.push(hit_stack.slice());
        +                    extract_candidates(expr.value);
        +                }
        +            }
        +            hit_stack.pop();
        +        }
        +
        +        function find_stop(node, level, write_only) {
        +            var parent = scanner.parent(level);
        +            if (parent instanceof AST_Assign) {
        +                if (write_only
        +                    && !parent.logical
        +                    && !(parent.left instanceof AST_PropAccess
        +                        || lvalues.has(parent.left.name))) {
        +                    return find_stop(parent, level + 1, write_only);
        +                }
        +                return node;
        +            }
        +            if (parent instanceof AST_Binary) {
        +                if (write_only && (!lazy_op.has(parent.operator) || parent.left === node)) {
        +                    return find_stop(parent, level + 1, write_only);
        +                }
        +                return node;
        +            }
        +            if (parent instanceof AST_Call)
        +                return node;
        +            if (parent instanceof AST_Case)
        +                return node;
        +            if (parent instanceof AST_Conditional) {
        +                if (write_only && parent.condition === node) {
        +                    return find_stop(parent, level + 1, write_only);
        +                }
        +                return node;
        +            }
        +            if (parent instanceof AST_Definitions) {
        +                return find_stop(parent, level + 1, true);
        +            }
        +            if (parent instanceof AST_Exit) {
        +                return write_only ? find_stop(parent, level + 1, write_only) : node;
        +            }
        +            if (parent instanceof AST_If) {
        +                if (write_only && parent.condition === node) {
        +                    return find_stop(parent, level + 1, write_only);
        +                }
        +                return node;
        +            }
        +            if (parent instanceof AST_IterationStatement)
        +                return node;
        +            if (parent instanceof AST_Sequence) {
        +                return find_stop(parent, level + 1, parent.tail_node() !== node);
        +            }
        +            if (parent instanceof AST_SimpleStatement) {
        +                return find_stop(parent, level + 1, true);
        +            }
        +            if (parent instanceof AST_Switch)
        +                return node;
        +            if (parent instanceof AST_VarDef)
        +                return node;
        +            return null;
        +        }
        +
        +        function mangleable_var(var_def) {
        +            var value = var_def.value;
        +            if (!(value instanceof AST_SymbolRef))
        +                return;
        +            if (value.name == "arguments")
        +                return;
        +            var def = value.definition();
        +            if (def.undeclared)
        +                return;
        +            return value_def = def;
        +        }
        +
        +        function get_lhs(expr) {
        +            if (expr instanceof AST_Assign && expr.logical) {
        +                return false;
        +            } else if (expr instanceof AST_VarDef && expr.name instanceof AST_SymbolDeclaration) {
        +                var def = expr.name.definition();
        +                if (!member(expr.name, def.orig))
        +                    return;
        +                var referenced = def.references.length - def.replaced;
        +                if (!referenced)
        +                    return;
        +                var declared = def.orig.length - def.eliminated;
        +                if (declared > 1 && !(expr.name instanceof AST_SymbolFunarg)
        +                    || (referenced > 1 ? mangleable_var(expr) : !compressor.exposed(def))) {
        +                    return make_node(AST_SymbolRef, expr.name, expr.name);
        +                }
        +            } else {
        +                const lhs = expr instanceof AST_Assign
        +                    ? expr.left
        +                    : expr.expression;
        +                return !is_ref_of(lhs, AST_SymbolConst)
        +                    && !is_ref_of(lhs, AST_SymbolLet)
        +                    && !is_ref_of(lhs, AST_SymbolUsing)
        +                    && lhs;
        +            }
        +        }
        +
        +        function get_rvalue(expr) {
        +            if (expr instanceof AST_Assign) {
        +                return expr.right;
        +            } else {
        +                return expr.value;
        +            }
        +        }
        +
        +        function get_lvalues(expr) {
        +            var lvalues = new Map();
        +            if (expr instanceof AST_Unary)
        +                return lvalues;
        +            var tw = new TreeWalker(function (node) {
        +                var sym = node;
        +                while (sym instanceof AST_PropAccess)
        +                    sym = sym.expression;
        +                if (sym instanceof AST_SymbolRef) {
        +                    const prev = lvalues.get(sym.name);
        +                    if (!prev || !prev.modified) {
        +                        lvalues.set(sym.name, {
        +                            def: sym.definition(),
        +                            modified: is_modified(compressor, tw, node, node, 0)
        +                        });
        +                    }
        +                }
        +            });
        +            get_rvalue(expr).walk(tw);
        +            return lvalues;
        +        }
        +
        +        function remove_candidate(expr) {
        +            if (expr.name instanceof AST_SymbolFunarg) {
        +                var iife = compressor.parent(), argnames = compressor.self().argnames;
        +                var index = argnames.indexOf(expr.name);
        +                if (index < 0) {
        +                    iife.args.length = Math.min(iife.args.length, argnames.length - 1);
        +                } else {
        +                    var args = iife.args;
        +                    if (args[index])
        +                        args[index] = make_node(AST_Number, args[index], {
        +                            value: 0
        +                        });
        +                }
        +                return true;
        +            }
        +            var found = false;
        +            return statements[stat_index].transform(new TreeTransformer(function (node, descend, in_list) {
        +                if (found)
        +                    return node;
        +                if (node === expr || node.body === expr) {
        +                    found = true;
        +                    if (node instanceof AST_VarDef) {
        +                        node.value = node.name instanceof AST_SymbolConst
        +                            ? make_void_0(node.value) // `const` always needs value.
        +                            : null;
        +                        return node;
        +                    }
        +                    return in_list ? MAP.skip : null;
        +                }
        +            }, function (node) {
        +                if (node instanceof AST_Sequence)
        +                    switch (node.expressions.length) {
        +                        case 0: return null;
        +                        case 1: return node.expressions[0];
        +                    }
        +            }));
        +        }
        +
        +        function is_lhs_local(lhs) {
        +            while (lhs instanceof AST_PropAccess)
        +                lhs = lhs.expression;
        +            return lhs instanceof AST_SymbolRef
        +                && lhs.definition().scope.get_defun_scope() === defun_scope
        +                && !(in_loop
        +                    && (lvalues.has(lhs.name)
        +                        || candidate instanceof AST_Unary
        +                        || (candidate instanceof AST_Assign
        +                            && !candidate.logical
        +                            && candidate.operator != "=")));
        +        }
        +
        +        function value_has_side_effects(expr) {
        +            if (expr instanceof AST_Unary)
        +                return unary_side_effects.has(expr.operator);
        +            return get_rvalue(expr).has_side_effects(compressor);
        +        }
        +
        +        function replace_all_symbols() {
        +            if (side_effects)
        +                return false;
        +            if (value_def)
        +                return true;
        +            if (lhs instanceof AST_SymbolRef) {
        +                var def = lhs.definition();
        +                if (def.references.length - def.replaced == (candidate instanceof AST_VarDef ? 1 : 2)) {
        +                    return true;
        +                }
        +            }
        +            return false;
        +        }
        +
        +        function may_modify(sym) {
        +            if (!sym.definition)
        +                return true; // AST_Destructuring
        +            var def = sym.definition();
        +            if (def.orig.length == 1 && def.orig[0] instanceof AST_SymbolDefun)
        +                return false;
        +            if (def.scope.get_defun_scope() !== defun_scope)
        +                return true;
        +            return def.references.some((ref) =>
        +                ref.scope.get_defun_scope() !== defun_scope
        +            );
        +        }
        +
        +        function side_effects_external(node, lhs) {
        +            if (node instanceof AST_Assign)
        +                return side_effects_external(node.left, true);
        +            if (node instanceof AST_Unary)
        +                return side_effects_external(node.expression, true);
        +            if (node instanceof AST_VarDef)
        +                return node.value && side_effects_external(node.value);
        +            if (lhs) {
        +                if (node instanceof AST_Dot)
        +                    return side_effects_external(node.expression, true);
        +                if (node instanceof AST_Sub)
        +                    return side_effects_external(node.expression, true);
        +                if (node instanceof AST_SymbolRef)
        +                    return node.definition().scope.get_defun_scope() !== defun_scope;
        +            }
        +            return false;
        +        }
        +
        +        /**
        +         * Will any of the pulled-in lvalues shadow a variable in newScope or parents?
        +         * similar to scope_encloses_variables_in_this_scope */
        +        function shadows(my_scope, lvalues) {
        +            for (const { def } of lvalues.values()) {
        +                const looked_up = my_scope.find_variable(def.name);
        +                if (looked_up) {
        +                    if (looked_up === def) continue;
        +                    return true;
        +                }
        +            }
        +            return false;
        +        }
        +    }
        +
        +    function eliminate_spurious_blocks(statements) {
        +        var seen_dirs = [];
        +        for (var i = 0; i < statements.length;) {
        +            var stat = statements[i];
        +            if (stat instanceof AST_BlockStatement && stat.body.every(can_be_evicted_from_block)) {
        +                CHANGED = true;
        +                eliminate_spurious_blocks(stat.body);
        +                statements.splice(i, 1, ...stat.body);
        +                i += stat.body.length;
        +            } else if (stat instanceof AST_EmptyStatement) {
        +                CHANGED = true;
        +                statements.splice(i, 1);
        +            } else if (stat instanceof AST_Directive) {
        +                if (seen_dirs.indexOf(stat.value) < 0) {
        +                    i++;
        +                    seen_dirs.push(stat.value);
        +                } else {
        +                    CHANGED = true;
        +                    statements.splice(i, 1);
        +                }
        +            } else
        +                i++;
        +        }
        +    }
        +
        +    function handle_if_return(statements, compressor) {
        +        var self = compressor.self();
        +        var multiple_if_returns = has_multiple_if_returns(statements);
        +        var in_lambda = self instanceof AST_Lambda;
        +        // Prevent extremely deep nesting
        +        // https://github.com/terser/terser/issues/1432
        +        // https://github.com/webpack/webpack/issues/17548
        +        const iteration_start = Math.min(statements.length, 500);
        +        for (var i = iteration_start; --i >= 0;) {
        +            var stat = statements[i];
        +            var j = next_index(i);
        +            var next = statements[j];
        +
        +            if (in_lambda && !next && stat instanceof AST_Return) {
        +                if (!stat.value) {
        +                    CHANGED = true;
        +                    statements.splice(i, 1);
        +                    continue;
        +                }
        +                if (stat.value instanceof AST_UnaryPrefix && stat.value.operator == "void") {
        +                    CHANGED = true;
        +                    statements[i] = make_node(AST_SimpleStatement, stat, {
        +                        body: stat.value.expression
        +                    });
        +                    continue;
        +                }
        +            }
        +
        +            if (stat instanceof AST_If) {
        +                let ab, new_else;
        +
        +                ab = aborts(stat.body);
        +                if (
        +                    can_merge_flow(ab)
        +                    && (new_else = as_statement_array_with_return(stat.body, ab))
        +                ) {
        +                    if (ab.label) {
        +                        remove(ab.label.thedef.references, ab);
        +                    }
        +                    CHANGED = true;
        +                    stat = stat.clone();
        +                    stat.condition = stat.condition.negate(compressor);
        +                    stat.body = make_node(AST_BlockStatement, stat, {
        +                        body: as_statement_array(stat.alternative).concat(extract_defuns())
        +                    });
        +                    stat.alternative = make_node(AST_BlockStatement, stat, {
        +                        body: new_else
        +                    });
        +                    statements[i] = stat.transform(compressor);
        +                    continue;
        +                }
        +
        +                ab = aborts(stat.alternative);
        +                if (
        +                    can_merge_flow(ab)
        +                    && (new_else = as_statement_array_with_return(stat.alternative, ab))
        +                ) {
        +                    if (ab.label) {
        +                        remove(ab.label.thedef.references, ab);
        +                    }
        +                    CHANGED = true;
        +                    stat = stat.clone();
        +                    stat.body = make_node(AST_BlockStatement, stat.body, {
        +                        body: as_statement_array(stat.body).concat(extract_defuns())
        +                    });
        +                    stat.alternative = make_node(AST_BlockStatement, stat.alternative, {
        +                        body: new_else
        +                    });
        +                    statements[i] = stat.transform(compressor);
        +                    continue;
        +                }
        +            }
        +
        +            if (stat instanceof AST_If && stat.body instanceof AST_Return) {
        +                var value = stat.body.value;
        +                //---
        +                // pretty silly case, but:
        +                // if (foo()) return; return; ==> foo(); return;
        +                if (!value && !stat.alternative
        +                    && (in_lambda && !next || next instanceof AST_Return && !next.value)) {
        +                    CHANGED = true;
        +                    statements[i] = make_node(AST_SimpleStatement, stat.condition, {
        +                        body: stat.condition
        +                    });
        +                    continue;
        +                }
        +                //---
        +                // if (foo()) return x; return y; ==> return foo() ? x : y;
        +                if (value && !stat.alternative && next instanceof AST_Return && next.value) {
        +                    CHANGED = true;
        +                    stat = stat.clone();
        +                    stat.alternative = next;
        +                    statements[i] = stat.transform(compressor);
        +                    statements.splice(j, 1);
        +                    continue;
        +                }
        +                //---
        +                // if (foo()) return x; [ return ; ] ==> return foo() ? x : undefined;
        +                if (value && !stat.alternative
        +                    && (!next && in_lambda && multiple_if_returns
        +                        || next instanceof AST_Return)) {
        +                    CHANGED = true;
        +                    stat = stat.clone();
        +                    stat.alternative = next || make_node(AST_Return, stat, {
        +                        value: null
        +                    });
        +                    statements[i] = stat.transform(compressor);
        +                    if (next)
        +                        statements.splice(j, 1);
        +                    continue;
        +                }
        +                //---
        +                // if (a) return b; if (c) return d; e; ==> return a ? b : c ? d : void e;
        +                //
        +                // if sequences is not enabled, this can lead to an endless loop (issue #866).
        +                // however, with sequences on this helps producing slightly better output for
        +                // the example code.
        +                var prev = statements[prev_index(i)];
        +                if (compressor.option("sequences") && in_lambda && !stat.alternative
        +                    && prev instanceof AST_If && prev.body instanceof AST_Return
        +                    && next_index(j) == statements.length && next instanceof AST_SimpleStatement) {
        +                    CHANGED = true;
        +                    stat = stat.clone();
        +                    stat.alternative = make_node(AST_BlockStatement, next, {
        +                        body: [
        +                            next,
        +                            make_node(AST_Return, next, {
        +                                value: null
        +                            })
        +                        ]
        +                    });
        +                    statements[i] = stat.transform(compressor);
        +                    statements.splice(j, 1);
        +                    continue;
        +                }
        +            }
        +        }
        +
        +        function has_multiple_if_returns(statements) {
        +            var n = 0;
        +            for (var i = statements.length; --i >= 0;) {
        +                var stat = statements[i];
        +                if (stat instanceof AST_If && stat.body instanceof AST_Return) {
        +                    if (++n > 1)
        +                        return true;
        +                }
        +            }
        +            return false;
        +        }
        +
        +        function is_return_void(value) {
        +            return !value || value instanceof AST_UnaryPrefix && value.operator == "void";
        +        }
        +
        +        function can_merge_flow(ab) {
        +            if (!ab)
        +                return false;
        +            for (var j = i + 1, len = statements.length; j < len; j++) {
        +                var stat = statements[j];
        +                if (stat instanceof AST_DefinitionsLike && !(stat instanceof AST_Var))
        +                    return false;
        +            }
        +            var lct = ab instanceof AST_LoopControl ? compressor.loopcontrol_target(ab) : null;
        +            return ab instanceof AST_Return && in_lambda && is_return_void(ab.value)
        +                || ab instanceof AST_Continue && self === loop_body(lct)
        +                || ab instanceof AST_Break && lct instanceof AST_BlockStatement && self === lct;
        +        }
        +
        +        function extract_defuns() {
        +            var tail = statements.slice(i + 1);
        +            statements.length = i + 1;
        +            return tail.filter(function (stat) {
        +                if (stat instanceof AST_Defun) {
        +                    statements.push(stat);
        +                    return false;
        +                }
        +                return true;
        +            });
        +        }
        +
        +        function as_statement_array_with_return(node, ab) {
        +            var body = as_statement_array(node);
        +            if (ab !== body[body.length - 1]) {
        +                return undefined;
        +            }
        +            body = body.slice(0, -1);
        +            if (!body.every(stat => can_be_evicted_from_block(stat))) {
        +                return undefined;
        +            }
        +            if (ab.value) {
        +                body.push(make_node(AST_SimpleStatement, ab.value, {
        +                    body: ab.value.expression
        +                }));
        +            }
        +            return body;
        +        }
        +
        +        function next_index(i) {
        +            for (var j = i + 1, len = statements.length; j < len; j++) {
        +                var stat = statements[j];
        +                if (!(stat instanceof AST_Var && declarations_only(stat))) {
        +                    break;
        +                }
        +            }
        +            return j;
        +        }
        +
        +        function prev_index(i) {
        +            for (var j = i; --j >= 0;) {
        +                var stat = statements[j];
        +                if (!(stat instanceof AST_Var && declarations_only(stat))) {
        +                    break;
        +                }
        +            }
        +            return j;
        +        }
        +    }
        +
        +    function eliminate_dead_code(statements, compressor) {
        +        var has_quit;
        +        var self = compressor.self();
        +        for (var i = 0, n = 0, len = statements.length; i < len; i++) {
        +            var stat = statements[i];
        +            if (stat instanceof AST_LoopControl) {
        +                var lct = compressor.loopcontrol_target(stat);
        +                if (stat instanceof AST_Break
        +                    && !(lct instanceof AST_IterationStatement)
        +                    && loop_body(lct) === self
        +                    || stat instanceof AST_Continue
        +                    && loop_body(lct) === self) {
        +                    if (stat.label) {
        +                        remove(stat.label.thedef.references, stat);
        +                    }
        +                } else {
        +                    statements[n++] = stat;
        +                }
        +            } else {
        +                statements[n++] = stat;
        +            }
        +            if (aborts(stat)) {
        +                has_quit = statements.slice(i + 1);
        +                break;
        +            }
        +        }
        +        statements.length = n;
        +        CHANGED = n != len;
        +        if (has_quit)
        +            has_quit.forEach(function (stat) {
        +                extract_from_unreachable_code(compressor, stat, statements);
        +            });
        +    }
        +
        +    function declarations_only(node) {
        +        return node.definitions.every((var_def) => !var_def.value);
        +    }
        +
        +    function sequencesize(statements, compressor) {
        +        if (statements.length < 2)
        +            return;
        +        var seq = [], n = 0;
        +        function push_seq() {
        +            if (!seq.length)
        +                return;
        +            var body = make_sequence(seq[0], seq);
        +            statements[n++] = make_node(AST_SimpleStatement, body, { body: body });
        +            seq = [];
        +        }
        +        for (var i = 0, len = statements.length; i < len; i++) {
        +            var stat = statements[i];
        +            if (stat instanceof AST_SimpleStatement) {
        +                if (seq.length >= compressor.sequences_limit)
        +                    push_seq();
        +                var body = stat.body;
        +                if (seq.length > 0)
        +                    body = body.drop_side_effect_free(compressor);
        +                if (body)
        +                    merge_sequence(seq, body);
        +            } else if (stat instanceof AST_Definitions && declarations_only(stat)
        +                || stat instanceof AST_Defun) {
        +                statements[n++] = stat;
        +            } else {
        +                push_seq();
        +                statements[n++] = stat;
        +            }
        +        }
        +        push_seq();
        +        statements.length = n;
        +        if (n != len)
        +            CHANGED = true;
        +    }
        +
        +    function to_simple_statement(block, decls) {
        +        if (!(block instanceof AST_BlockStatement))
        +            return block;
        +        var stat = null;
        +        for (var i = 0, len = block.body.length; i < len; i++) {
        +            var line = block.body[i];
        +            if (line instanceof AST_Var && declarations_only(line)) {
        +                decls.push(line);
        +            } else if (stat || line instanceof AST_DefinitionsLike && !(line instanceof AST_Var)) {
        +                return false;
        +            } else {
        +                stat = line;
        +            }
        +        }
        +        return stat;
        +    }
        +
        +    function sequencesize_2(statements, compressor) {
        +        function cons_seq(right) {
        +            n--;
        +            CHANGED = true;
        +            var left = prev.body;
        +            return make_sequence(left, [left, right]).transform(compressor);
        +        }
        +        var n = 0, prev;
        +        for (var i = 0; i < statements.length; i++) {
        +            var stat = statements[i];
        +            if (prev) {
        +                if (stat instanceof AST_Exit) {
        +                    stat.value = cons_seq(stat.value || make_void_0(stat).transform(compressor));
        +                } else if (stat instanceof AST_For) {
        +                    if (!(stat.init instanceof AST_DefinitionsLike)) {
        +                        const abort = walk(prev.body, node => {
        +                            if (node instanceof AST_Scope)
        +                                return true;
        +                            if (node instanceof AST_Binary
        +                                && node.operator === "in") {
        +                                return walk_abort;
        +                            }
        +                        });
        +                        if (!abort) {
        +                            if (stat.init)
        +                                stat.init = cons_seq(stat.init);
        +                            else {
        +                                stat.init = prev.body;
        +                                n--;
        +                                CHANGED = true;
        +                            }
        +                        }
        +                    }
        +                } else if (stat instanceof AST_ForIn) {
        +                    if (!(stat.init instanceof AST_DefinitionsLike) || stat.init instanceof AST_Var) {
        +                        stat.object = cons_seq(stat.object);
        +                    }
        +                } else if (stat instanceof AST_If) {
        +                    stat.condition = cons_seq(stat.condition);
        +                } else if (stat instanceof AST_Switch) {
        +                    stat.expression = cons_seq(stat.expression);
        +                } else if (stat instanceof AST_With) {
        +                    stat.expression = cons_seq(stat.expression);
        +                }
        +            }
        +            if (compressor.option("conditionals") && stat instanceof AST_If) {
        +                var decls = [];
        +                var body = to_simple_statement(stat.body, decls);
        +                var alt = to_simple_statement(stat.alternative, decls);
        +                if (body !== false && alt !== false && decls.length > 0) {
        +                    var len = decls.length;
        +                    decls.push(make_node(AST_If, stat, {
        +                        condition: stat.condition,
        +                        body: body || make_node(AST_EmptyStatement, stat.body),
        +                        alternative: alt
        +                    }));
        +                    decls.unshift(n, 1);
        +                    [].splice.apply(statements, decls);
        +                    i += len;
        +                    n += len + 1;
        +                    prev = null;
        +                    CHANGED = true;
        +                    continue;
        +                }
        +            }
        +            statements[n++] = stat;
        +            prev = stat instanceof AST_SimpleStatement ? stat : null;
        +        }
        +        statements.length = n;
        +    }
        +
        +    function join_object_assignments(defn, body) {
        +        if (!(defn instanceof AST_Definitions))
        +            return;
        +        var def = defn.definitions[defn.definitions.length - 1];
        +        if (!(def.value instanceof AST_Object))
        +            return;
        +        var exprs;
        +        if (body instanceof AST_Assign && !body.logical) {
        +            exprs = [body];
        +        } else if (body instanceof AST_Sequence) {
        +            exprs = body.expressions.slice();
        +        }
        +        if (!exprs)
        +            return;
        +        var trimmed = false;
        +        do {
        +            var node = exprs[0];
        +            if (!(node instanceof AST_Assign))
        +                break;
        +            if (node.operator != "=")
        +                break;
        +            if (!(node.left instanceof AST_PropAccess))
        +                break;
        +            var sym = node.left.expression;
        +            if (!(sym instanceof AST_SymbolRef))
        +                break;
        +            if (def.name.name != sym.name)
        +                break;
        +            if (!node.right.is_constant_expression(nearest_scope))
        +                break;
        +            var prop = node.left.property;
        +            if (prop instanceof AST_Node) {
        +                prop = prop.evaluate(compressor);
        +            }
        +            if (prop instanceof AST_Node)
        +                break;
        +            prop = "" + prop;
        +            var diff = compressor.option("ecma") < 2015
        +                && compressor.has_directive("use strict") ? function (node) {
        +                    return node.key != prop && (node.key && node.key.name != prop);
        +                } : function (node) {
        +                    return node.key && node.key.name != prop;
        +                };
        +            if (!def.value.properties.every(diff))
        +                break;
        +            var p = def.value.properties.filter(function (p) { return p.key === prop; })[0];
        +            if (!p) {
        +                def.value.properties.push(make_node(AST_ObjectKeyVal, node, {
        +                    key: prop,
        +                    value: node.right
        +                }));
        +            } else {
        +                p.value = new AST_Sequence({
        +                    start: p.start,
        +                    expressions: [p.value.clone(), node.right.clone()],
        +                    end: p.end
        +                });
        +            }
        +            exprs.shift();
        +            trimmed = true;
        +        } while (exprs.length);
        +        return trimmed && exprs;
        +    }
        +
        +    function join_consecutive_vars(statements) {
        +        var defs;
        +        for (var i = 0, j = -1, len = statements.length; i < len; i++) {
        +            var stat = statements[i];
        +            var prev = statements[j];
        +            if (stat instanceof AST_Definitions) {
        +                if (prev && prev.TYPE == stat.TYPE) {
        +                    prev.definitions = prev.definitions.concat(stat.definitions);
        +                    CHANGED = true;
        +                } else if (defs && defs.TYPE == stat.TYPE && declarations_only(stat)) {
        +                    defs.definitions = defs.definitions.concat(stat.definitions);
        +                    CHANGED = true;
        +                } else {
        +                    statements[++j] = stat;
        +                    defs = stat;
        +                }
        +            } else if (
        +                stat instanceof AST_Using
        +                && prev instanceof AST_Using
        +                && prev.await === stat.await
        +            ) {
        +                prev.definitions = prev.definitions.concat(stat.definitions);
        +            } else if (stat instanceof AST_Exit) {
        +                stat.value = extract_object_assignments(stat.value);
        +            } else if (stat instanceof AST_For) {
        +                var exprs = join_object_assignments(prev, stat.init);
        +                if (exprs) {
        +                    CHANGED = true;
        +                    stat.init = exprs.length ? make_sequence(stat.init, exprs) : null;
        +                    statements[++j] = stat;
        +                } else if (
        +                    prev instanceof AST_Var
        +                    && (!stat.init || stat.init.TYPE == prev.TYPE)
        +                ) {
        +                    if (stat.init) {
        +                        prev.definitions = prev.definitions.concat(stat.init.definitions);
        +                    }
        +                    stat.init = prev;
        +                    statements[j] = stat;
        +                    CHANGED = true;
        +                } else if (
        +                    defs instanceof AST_Var
        +                    && stat.init instanceof AST_Var
        +                    && declarations_only(stat.init)
        +                ) {
        +                    defs.definitions = defs.definitions.concat(stat.init.definitions);
        +                    stat.init = null;
        +                    statements[++j] = stat;
        +                    CHANGED = true;
        +                } else {
        +                    statements[++j] = stat;
        +                }
        +            } else if (stat instanceof AST_ForIn) {
        +                stat.object = extract_object_assignments(stat.object);
        +            } else if (stat instanceof AST_If) {
        +                stat.condition = extract_object_assignments(stat.condition);
        +            } else if (stat instanceof AST_SimpleStatement) {
        +                var exprs = join_object_assignments(prev, stat.body);
        +                if (exprs) {
        +                    CHANGED = true;
        +                    if (!exprs.length)
        +                        continue;
        +                    stat.body = make_sequence(stat.body, exprs);
        +                }
        +                statements[++j] = stat;
        +            } else if (stat instanceof AST_Switch) {
        +                stat.expression = extract_object_assignments(stat.expression);
        +            } else if (stat instanceof AST_With) {
        +                stat.expression = extract_object_assignments(stat.expression);
        +            } else {
        +                statements[++j] = stat;
        +            }
        +        }
        +        statements.length = j + 1;
        +
        +        function extract_object_assignments(value) {
        +            statements[++j] = stat;
        +            var exprs = join_object_assignments(prev, value);
        +            if (exprs) {
        +                CHANGED = true;
        +                if (exprs.length) {
        +                    return make_sequence(value, exprs);
        +                } else if (value instanceof AST_Sequence) {
        +                    return value.tail_node().left;
        +                } else {
        +                    return value.left;
        +                }
        +            }
        +            return value;
        +        }
        +    }
        +}
        +
        +;// ./node_modules/terser/lib/compress/inline.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +/**
        + * Module that contains the inlining logic.
        + *
        + * @module
        + *
        + * The stars of the show are `inline_into_symbolref` and `inline_into_call`.
        + */
        +
        +function within_array_or_object_literal(compressor) {
        +    var node, level = 0;
        +    while (node = compressor.parent(level++)) {
        +        if (node instanceof AST_Statement) return false;
        +        if (node instanceof AST_Array
        +            || node instanceof AST_ObjectKeyVal
        +            || node instanceof AST_Object) {
        +            return true;
        +        }
        +    }
        +    return false;
        +}
        +
        +function scope_encloses_variables_in_this_scope(scope, pulled_scope) {
        +    for (const enclosed of pulled_scope.enclosed) {
        +        if (pulled_scope.variables.has(enclosed.name)) {
        +            continue;
        +        }
        +        const looked_up = scope.find_variable(enclosed.name);
        +        if (looked_up) {
        +            if (looked_up === enclosed) continue;
        +            return true;
        +        }
        +    }
        +    return false;
        +}
        +
        +/**
        + * An extra check function for `top_retain` option, compare the length of const identifier
        + * and init value length and return true if init value is longer than identifier. for example:
        + * ```
        + * // top_retain: ["example"]
        + * const example = 100
        + * ```
        + * it will return false because length of "100" is short than identifier "example".
        + */
        +function is_const_symbol_short_than_init_value(def, fixed_value) {
        +    if (def.orig.length === 1 && fixed_value) {
        +        const init_value_length = fixed_value.size();
        +        const identifer_length = def.name.length;
        +        return init_value_length > identifer_length;
        +    }
        +    return true;
        +}
        +
        +function inline_into_symbolref(self, compressor) {
        +    if (compressor.in_computed_key()) return self;
        +
        +    const parent = compressor.parent();
        +    const def = self.definition();
        +    const nearest_scope = compressor.find_scope();
        +    let fixed = self.fixed_value();
        +    if (
        +        compressor.top_retain &&
        +        def.global && 
        +        compressor.top_retain(def) && 
        +        // when identifier is in top_retain option dose not mean we can always inline it.
        +        // if identifier name is longer then init value, we can replace it.
        +        is_const_symbol_short_than_init_value(def, fixed)
        +    ) {
        +        // keep it
        +        def.fixed = false;
        +        def.single_use = false;
        +        return self;
        +    }
        +
        +    if (dont_inline_lambda_in_loop(compressor, fixed)) return self;
        +
        +    let single_use = def.single_use
        +        && !(parent instanceof AST_Call
        +            && (parent.is_callee_pure(compressor))
        +                || has_annotation(parent, _NOINLINE))
        +        && !(parent instanceof AST_Export
        +            && fixed instanceof AST_Lambda
        +            && fixed.name);
        +
        +    if (single_use && fixed instanceof AST_Node) {
        +        single_use =
        +            !fixed.has_side_effects(compressor)
        +            && !fixed.may_throw(compressor);
        +    }
        +
        +    if (fixed instanceof AST_Class && def.scope !== self.scope) {
        +        return self;
        +    }
        +
        +    if (single_use && (fixed instanceof AST_Lambda || fixed instanceof AST_Class)) {
        +        if (retain_top_func(fixed, compressor)) {
        +            single_use = false;
        +        } else if (def.scope !== self.scope
        +            && (def.escaped == 1
        +                || has_flag(fixed, INLINED)
        +                || within_array_or_object_literal(compressor)
        +                || !compressor.option("reduce_funcs"))) {
        +            single_use = false;
        +        } else if (is_recursive_ref(compressor, def)) {
        +            single_use = false;
        +        } else if (def.scope !== self.scope || def.orig[0] instanceof AST_SymbolFunarg) {
        +            single_use = fixed.is_constant_expression(self.scope);
        +            if (single_use == "f") {
        +                var scope = self.scope;
        +                do {
        +                    if (scope instanceof AST_Defun || is_func_expr(scope)) {
        +                        set_flag(scope, INLINED);
        +                    }
        +                } while (scope = scope.parent_scope);
        +            }
        +        }
        +    }
        +
        +    if (single_use && (fixed instanceof AST_Lambda || fixed instanceof AST_Class)) {
        +        single_use =
        +            def.scope === self.scope
        +                && !scope_encloses_variables_in_this_scope(nearest_scope, fixed)
        +            || parent instanceof AST_Call
        +                && parent.expression === self
        +                && !scope_encloses_variables_in_this_scope(nearest_scope, fixed)
        +                && !(fixed.name && fixed.name.definition().recursive_refs > 0);
        +    }
        +
        +    if (single_use && fixed) {
        +        if (fixed instanceof AST_DefClass) {
        +            set_flag(fixed, SQUEEZED);
        +            fixed = make_node(AST_ClassExpression, fixed, fixed);
        +        }
        +        if (fixed instanceof AST_Defun) {
        +            set_flag(fixed, SQUEEZED);
        +            fixed = make_node(AST_Function, fixed, fixed);
        +        }
        +        if (def.recursive_refs > 0 && fixed.name instanceof AST_SymbolDefun) {
        +            const defun_def = fixed.name.definition();
        +            let lambda_def = fixed.variables.get(fixed.name.name);
        +            let name = lambda_def && lambda_def.orig[0];
        +            if (!(name instanceof AST_SymbolLambda)) {
        +                name = make_node(AST_SymbolLambda, fixed.name, fixed.name);
        +                name.scope = fixed;
        +                fixed.name = name;
        +                lambda_def = fixed.def_function(name);
        +            }
        +            walk(fixed, node => {
        +                if (node instanceof AST_SymbolRef && node.definition() === defun_def) {
        +                    node.thedef = lambda_def;
        +                    lambda_def.references.push(node);
        +                }
        +            });
        +        }
        +        if (
        +            (fixed instanceof AST_Lambda || fixed instanceof AST_Class)
        +            && fixed.parent_scope !== nearest_scope
        +        ) {
        +            fixed = fixed.clone(true, compressor.get_toplevel());
        +
        +            nearest_scope.add_child_scope(fixed);
        +        }
        +        return fixed.optimize(compressor);
        +    }
        +
        +    // multiple uses
        +    if (fixed) {
        +        let replace;
        +
        +        if (fixed instanceof AST_This) {
        +            if (!(def.orig[0] instanceof AST_SymbolFunarg)
        +                && def.references.every((ref) =>
        +                    def.scope === ref.scope
        +                )) {
        +                replace = fixed;
        +            }
        +        } else {
        +            var ev = fixed.evaluate(compressor);
        +            if (
        +                ev !== fixed
        +                && (compressor.option("unsafe_regexp") || !(ev instanceof RegExp))
        +            ) {
        +                replace = make_node_from_constant(ev, fixed);
        +            }
        +        }
        +
        +        if (replace) {
        +            const name_length = self.size(compressor);
        +            const replace_size = replace.size(compressor);
        +
        +            let overhead = 0;
        +            if (compressor.option("unused") && !compressor.exposed(def)) {
        +                overhead =
        +                    (name_length + 2 + fixed.size(compressor)) /
        +                    (def.references.length - def.assignments);
        +            }
        +
        +            if (replace_size <= name_length + overhead) {
        +                return replace;
        +            }
        +        }
        +    }
        +
        +    return self;
        +}
        +
        +function inline_into_call(self, compressor) {
        +    if (compressor.in_computed_key()) return self;
        +
        +    var exp = self.expression;
        +    var fn = exp;
        +    var simple_args = self.args.every((arg) => !(arg instanceof AST_Expansion));
        +
        +    if (compressor.option("reduce_vars")
        +        && fn instanceof AST_SymbolRef
        +        && !has_annotation(self, _NOINLINE)
        +    ) {
        +        const fixed = fn.fixed_value();
        +
        +        if (
        +            retain_top_func(fixed, compressor)
        +            || !compressor.toplevel.funcs && exp.definition().global
        +        ) {
        +            return self;
        +        }
        +
        +        fn = fixed;
        +    }
        +
        +    if (
        +        dont_inline_lambda_in_loop(compressor, fn)
        +        && !has_annotation(self, _INLINE)
        +    ) return self;
        +
        +    var is_func = fn instanceof AST_Lambda;
        +
        +    var stat = is_func && fn.body[0];
        +    var is_regular_func = is_func && !fn.is_generator && !fn.async;
        +    var can_inline = is_regular_func && compressor.option("inline") && !self.is_callee_pure(compressor);
        +    if (can_inline && stat instanceof AST_Return) {
        +        let returned = stat.value;
        +        if (!returned || returned.is_constant_expression()) {
        +            if (returned) {
        +                returned = returned.clone(true);
        +            } else {
        +                returned = make_void_0(self);
        +            }
        +            const args = self.args.concat(returned);
        +            return make_sequence(self, args).optimize(compressor);
        +        }
        +
        +        // optimize identity function
        +        if (
        +            fn.argnames.length === 1
        +            && (fn.argnames[0] instanceof AST_SymbolFunarg)
        +            && self.args.length < 2
        +            && !(self.args[0] instanceof AST_Expansion)
        +            && returned instanceof AST_SymbolRef
        +            && returned.name === fn.argnames[0].name
        +        ) {
        +            const replacement =
        +                (self.args[0] || make_void_0()).optimize(compressor);
        +
        +            let parent;
        +            if (
        +                replacement instanceof AST_PropAccess
        +                && (parent = compressor.parent()) instanceof AST_Call
        +                && parent.expression === self
        +            ) {
        +                // identity function was being used to remove `this`, like in
        +                //
        +                // id(bag.no_this)(...)
        +                //
        +                // Replace with a larger but more effish (0, bag.no_this) wrapper.
        +
        +                return make_sequence(self, [
        +                    make_node(AST_Number, self, { value: 0 }),
        +                    replacement
        +                ]);
        +            }
        +            // replace call with first argument or undefined if none passed
        +            return replacement;
        +        }
        +    }
        +
        +    if (can_inline) {
        +        var scope, in_loop, level = -1;
        +        let def;
        +        let returned_value;
        +        let nearest_scope;
        +        if (simple_args
        +            && !fn.uses_arguments
        +            && !(compressor.parent() instanceof AST_Class)
        +            && !(fn.name && fn instanceof AST_Function)
        +            && (returned_value = can_flatten_body(stat))
        +            && (exp === fn
        +                || has_annotation(self, _INLINE)
        +                || compressor.option("unused")
        +                    && (def = exp.definition()).references.length == 1
        +                    && !is_recursive_ref(compressor, def)
        +                    && fn.is_constant_expression(exp.scope))
        +            && !has_annotation(self, _PURE | _NOINLINE)
        +            && !fn.contains_this()
        +            && can_inject_symbols()
        +            && (nearest_scope = compressor.find_scope())
        +            && !scope_encloses_variables_in_this_scope(nearest_scope, fn)
        +            && !(function in_default_assign() {
        +                    // Due to the fact function parameters have their own scope
        +                    // which can't use `var something` in the function body within,
        +                    // we simply don't inline into DefaultAssign.
        +                    let i = 0;
        +                    let p;
        +                    while ((p = compressor.parent(i++))) {
        +                        if (p instanceof AST_DefaultAssign) return true;
        +                        if (p instanceof AST_Block) break;
        +                    }
        +                    return false;
        +                })()
        +            && !(scope instanceof AST_Class)
        +        ) {
        +            set_flag(fn, SQUEEZED);
        +            nearest_scope.add_child_scope(fn);
        +            return make_sequence(self, flatten_fn(returned_value)).optimize(compressor);
        +        }
        +    }
        +
        +    if (can_inline && has_annotation(self, _INLINE)) {
        +        set_flag(fn, SQUEEZED);
        +        fn = make_node(fn.CTOR === AST_Defun ? AST_Function : fn.CTOR, fn, fn);
        +        fn = fn.clone(true);
        +        fn.figure_out_scope({}, {
        +            parent_scope: compressor.find_scope(),
        +            toplevel: compressor.get_toplevel()
        +        });
        +
        +        return make_node(AST_Call, self, {
        +            expression: fn,
        +            args: self.args,
        +        }).optimize(compressor);
        +    }
        +
        +    const can_drop_this_call = is_regular_func && compressor.option("side_effects") && fn.body.every(is_empty);
        +    if (can_drop_this_call) {
        +        var args = self.args.concat(make_void_0(self));
        +        return make_sequence(self, args).optimize(compressor);
        +    }
        +
        +    if (compressor.option("negate_iife")
        +        && compressor.parent() instanceof AST_SimpleStatement
        +        && is_iife_call(self)) {
        +        return self.negate(compressor, true);
        +    }
        +
        +    var ev = self.evaluate(compressor);
        +    if (ev !== self) {
        +        ev = make_node_from_constant(ev, self).optimize(compressor);
        +        return best_of(compressor, ev, self);
        +    }
        +
        +    return self;
        +
        +    function return_value(stat) {
        +        if (!stat) return make_void_0(self);
        +        if (stat instanceof AST_Return) {
        +            if (!stat.value) return make_void_0(self);
        +            return stat.value.clone(true);
        +        }
        +        if (stat instanceof AST_SimpleStatement) {
        +            return make_node(AST_UnaryPrefix, stat, {
        +                operator: "void",
        +                expression: stat.body.clone(true)
        +            });
        +        }
        +    }
        +
        +    function can_flatten_body(stat) {
        +        var body = fn.body;
        +        var len = body.length;
        +        if (compressor.option("inline") < 3) {
        +            return len == 1 && return_value(stat);
        +        }
        +        stat = null;
        +        for (var i = 0; i < len; i++) {
        +            var line = body[i];
        +            if (line instanceof AST_Var) {
        +                if (stat && !line.definitions.every((var_def) =>
        +                    !var_def.value
        +                )) {
        +                    return false;
        +                }
        +            } else if (stat) {
        +                return false;
        +            } else if (!(line instanceof AST_EmptyStatement)) {
        +                stat = line;
        +            }
        +        }
        +        return return_value(stat);
        +    }
        +
        +    function can_inject_args(block_scoped, safe_to_inject) {
        +        for (var i = 0, len = fn.argnames.length; i < len; i++) {
        +            var arg = fn.argnames[i];
        +            if (arg instanceof AST_DefaultAssign) {
        +                if (has_flag(arg.left, UNUSED)) continue;
        +                return false;
        +            }
        +            if (arg instanceof AST_Destructuring) return false;
        +            if (arg instanceof AST_Expansion) {
        +                if (has_flag(arg.expression, UNUSED)) continue;
        +                return false;
        +            }
        +            if (has_flag(arg, UNUSED)) continue;
        +            if (!safe_to_inject
        +                || block_scoped.has(arg.name)
        +                || identifier_atom.has(arg.name)
        +                || scope.conflicting_def(arg.name)) {
        +                return false;
        +            }
        +            if (in_loop) in_loop.push(arg.definition());
        +        }
        +        return true;
        +    }
        +
        +    function can_inject_vars(block_scoped, safe_to_inject) {
        +        var len = fn.body.length;
        +        for (var i = 0; i < len; i++) {
        +            var stat = fn.body[i];
        +            if (!(stat instanceof AST_Var)) continue;
        +            if (!safe_to_inject) return false;
        +            for (var j = stat.definitions.length; --j >= 0;) {
        +                var name = stat.definitions[j].name;
        +                if (name instanceof AST_Destructuring
        +                    || block_scoped.has(name.name)
        +                    || identifier_atom.has(name.name)
        +                    || scope.conflicting_def(name.name)) {
        +                    return false;
        +                }
        +                if (in_loop) in_loop.push(name.definition());
        +            }
        +        }
        +        return true;
        +    }
        +
        +    function can_inject_symbols() {
        +        var block_scoped = new Set();
        +        do {
        +            scope = compressor.parent(++level);
        +            if (scope.is_block_scope() && scope.block_scope) {
        +                // TODO this is sometimes undefined during compression.
        +                // But it should always have a value!
        +                scope.block_scope.variables.forEach(function (variable) {
        +                    block_scoped.add(variable.name);
        +                });
        +            }
        +            if (scope instanceof AST_Catch) {
        +                // TODO can we delete? AST_Catch is a block scope.
        +                if (scope.argname) {
        +                    block_scoped.add(scope.argname.name);
        +                }
        +            } else if (scope instanceof AST_IterationStatement) {
        +                in_loop = [];
        +            } else if (scope instanceof AST_SymbolRef) {
        +                if (scope.fixed_value() instanceof AST_Scope) return false;
        +            }
        +        } while (!(scope instanceof AST_Scope));
        +
        +        var safe_to_inject = !(scope instanceof AST_Toplevel) || compressor.toplevel.vars;
        +        var inline = compressor.option("inline");
        +        if (!can_inject_vars(block_scoped, inline >= 3 && safe_to_inject)) return false;
        +        if (!can_inject_args(block_scoped, inline >= 2 && safe_to_inject)) return false;
        +        return !in_loop || in_loop.length == 0 || !is_reachable(fn, in_loop);
        +    }
        +
        +    function append_var(decls, expressions, name, value) {
        +        var def = name.definition();
        +
        +        // Name already exists, only when a function argument had the same name
        +        const already_appended = scope.variables.has(name.name);
        +        if (!already_appended) {
        +            scope.variables.set(name.name, def);
        +            scope.enclosed.push(def);
        +            decls.push(make_node(AST_VarDef, name, {
        +                name: name,
        +                value: null
        +            }));
        +        }
        +
        +        var sym = make_node(AST_SymbolRef, name, name);
        +        def.references.push(sym);
        +        if (value) expressions.push(make_node(AST_Assign, self, {
        +            operator: "=",
        +            logical: false,
        +            left: sym,
        +            right: value.clone()
        +        }));
        +    }
        +
        +    function flatten_args(decls, expressions) {
        +        var len = fn.argnames.length;
        +        for (var i = self.args.length; --i >= len;) {
        +            expressions.push(self.args[i]);
        +        }
        +        for (i = len; --i >= 0;) {
        +            var name = fn.argnames[i];
        +            var value = self.args[i];
        +            if (has_flag(name, UNUSED) || !name.name || scope.conflicting_def(name.name)) {
        +                if (value) expressions.push(value);
        +            } else {
        +                var symbol = make_node(AST_SymbolVar, name, name);
        +                name.definition().orig.push(symbol);
        +                if (!value && in_loop) value = make_void_0(self);
        +                append_var(decls, expressions, symbol, value);
        +            }
        +        }
        +        decls.reverse();
        +        expressions.reverse();
        +    }
        +
        +    function flatten_vars(decls, expressions) {
        +        var pos = expressions.length;
        +        for (var i = 0, lines = fn.body.length; i < lines; i++) {
        +            var stat = fn.body[i];
        +            if (!(stat instanceof AST_Var)) continue;
        +            for (var j = 0, defs = stat.definitions.length; j < defs; j++) {
        +                var var_def = stat.definitions[j];
        +                var name = var_def.name;
        +                append_var(decls, expressions, name, var_def.value);
        +                if (in_loop && fn.argnames.every((argname) =>
        +                    argname.name != name.name
        +                )) {
        +                    var def = fn.variables.get(name.name);
        +                    var sym = make_node(AST_SymbolRef, name, name);
        +                    def.references.push(sym);
        +                    expressions.splice(pos++, 0, make_node(AST_Assign, var_def, {
        +                        operator: "=",
        +                        logical: false,
        +                        left: sym,
        +                        right: make_void_0(name),
        +                    }));
        +                }
        +            }
        +        }
        +    }
        +
        +    function flatten_fn(returned_value) {
        +        var decls = [];
        +        var expressions = [];
        +        flatten_args(decls, expressions);
        +        flatten_vars(decls, expressions);
        +        expressions.push(returned_value);
        +
        +        if (decls.length) {
        +            const i = scope.body.indexOf(compressor.parent(level - 1)) + 1;
        +            scope.body.splice(i, 0, make_node(AST_Var, fn, {
        +                definitions: decls
        +            }));
        +        }
        +
        +        return expressions.map(exp => exp.clone(true));
        +    }
        +}
        +
        +/** prevent inlining functions into loops, for performance reasons */
        +function dont_inline_lambda_in_loop(compressor, maybe_lambda) {
        +    return (
        +        (maybe_lambda instanceof AST_Lambda || maybe_lambda instanceof AST_Class)
        +        && !!compressor.is_within_loop()
        +    );
        +}
        +
        +;// ./node_modules/terser/lib/compress/global-defs.js
        +
        +
        +
        +
        +
        +(function(def_find_defs) {
        +    function to_node(value, orig) {
        +        if (value instanceof AST_Node) {
        +            if (!(value instanceof AST_Constant)) {
        +                // Value may be a function, an array including functions and even a complex assign / block expression,
        +                // so it should never be shared in different places.
        +                // Otherwise wrong information may be used in the compression phase
        +                value = value.clone(true);
        +            }
        +            return make_node(value.CTOR, orig, value);
        +        }
        +        if (Array.isArray(value)) return make_node(AST_Array, orig, {
        +            elements: value.map(function(value) {
        +                return to_node(value, orig);
        +            })
        +        });
        +        if (value && typeof value == "object") {
        +            var props = [];
        +            for (var key in value) if (HOP(value, key)) {
        +                props.push(make_node(AST_ObjectKeyVal, orig, {
        +                    key: key,
        +                    value: to_node(value[key], orig)
        +                }));
        +            }
        +            return make_node(AST_Object, orig, {
        +                properties: props
        +            });
        +        }
        +        return make_node_from_constant(value, orig);
        +    }
        +
        +    AST_Toplevel.DEFMETHOD("resolve_defines", function(compressor) {
        +        if (!compressor.option("global_defs")) return this;
        +        this.figure_out_scope({ ie8: compressor.option("ie8") });
        +        return this.transform(new TreeTransformer(function(node) {
        +            var def = node._find_defs(compressor, "");
        +            if (!def) return;
        +            var level = 0, child = node, parent;
        +            while (parent = this.parent(level++)) {
        +                if (!(parent instanceof AST_PropAccess)) break;
        +                if (parent.expression !== child) break;
        +                child = parent;
        +            }
        +            if (is_lhs(child, parent)) {
        +                return;
        +            }
        +            return def;
        +        }));
        +    });
        +    def_find_defs(AST_Node, noop);
        +    def_find_defs(AST_Chain, function(compressor, suffix) {
        +        return this.expression._find_defs(compressor, suffix);
        +    });
        +    def_find_defs(AST_Dot, function(compressor, suffix) {
        +        return this.expression._find_defs(compressor, "." + this.property + suffix);
        +    });
        +    def_find_defs(AST_SymbolDeclaration, function() {
        +        if (!this.global()) return;
        +    });
        +    def_find_defs(AST_SymbolRef, function(compressor, suffix) {
        +        if (!this.global()) return;
        +        var defines = compressor.option("global_defs");
        +        var name = this.name + suffix;
        +        if (HOP(defines, name)) return to_node(defines[name], this);
        +    });
        +    def_find_defs(AST_ImportMeta, function(compressor, suffix) {
        +        var defines = compressor.option("global_defs");
        +        var name = "import.meta" + suffix;
        +        if (HOP(defines, name)) return to_node(defines[name], this);
        +    });
        +})(function(node, func) {
        +    node.DEFMETHOD("_find_defs", func);
        +});
        +
        +;// ./node_modules/terser/lib/compress/index.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +class Compressor extends TreeWalker {
        +    constructor(options, { false_by_default = false, mangle_options = false }) {
        +        super();
        +        if (options.defaults !== undefined && !options.defaults) false_by_default = true;
        +        this.options = utils_defaults(options, {
        +            arguments     : false,
        +            arrows        : !false_by_default,
        +            booleans      : !false_by_default,
        +            booleans_as_integers : false,
        +            collapse_vars : !false_by_default,
        +            comparisons   : !false_by_default,
        +            computed_props: !false_by_default,
        +            conditionals  : !false_by_default,
        +            dead_code     : !false_by_default,
        +            defaults      : true,
        +            directives    : !false_by_default,
        +            drop_console  : false,
        +            drop_debugger : !false_by_default,
        +            ecma          : 5,
        +            evaluate      : !false_by_default,
        +            expression    : false,
        +            global_defs   : false,
        +            hoist_funs    : false,
        +            hoist_props   : !false_by_default,
        +            hoist_vars    : false,
        +            ie8           : false,
        +            if_return     : !false_by_default,
        +            inline        : !false_by_default,
        +            join_vars     : !false_by_default,
        +            keep_classnames: false,
        +            keep_fargs    : true,
        +            keep_fnames   : false,
        +            keep_infinity : false,
        +            lhs_constants : !false_by_default,
        +            loops         : !false_by_default,
        +            module        : false,
        +            negate_iife   : !false_by_default,
        +            passes        : 1,
        +            properties    : !false_by_default,
        +            pure_getters  : !false_by_default && "strict",
        +            pure_funcs    : null,
        +            pure_new      : false,
        +            reduce_funcs  : !false_by_default,
        +            reduce_vars   : !false_by_default,
        +            sequences     : !false_by_default,
        +            side_effects  : !false_by_default,
        +            switches      : !false_by_default,
        +            top_retain    : null,
        +            toplevel      : !!(options && options["top_retain"]),
        +            typeofs       : !false_by_default,
        +            unsafe        : false,
        +            unsafe_arrows : false,
        +            unsafe_comps  : false,
        +            unsafe_Function: false,
        +            unsafe_math   : false,
        +            unsafe_symbols: false,
        +            unsafe_methods: false,
        +            unsafe_proto  : false,
        +            unsafe_regexp : false,
        +            unsafe_undefined: false,
        +            unused        : !false_by_default,
        +            warnings      : false  // legacy
        +        }, true);
        +        var global_defs = this.options["global_defs"];
        +        if (typeof global_defs == "object") for (var key in global_defs) {
        +            if (key[0] === "@" && HOP(global_defs, key)) {
        +                global_defs[key.slice(1)] = lib_parse_parse(global_defs[key], {
        +                    expression: true
        +                });
        +            }
        +        }
        +        if (this.options["inline"] === true) this.options["inline"] = 3;
        +        var pure_funcs = this.options["pure_funcs"];
        +        if (typeof pure_funcs == "function") {
        +            this.pure_funcs = pure_funcs;
        +        } else {
        +            this.pure_funcs = pure_funcs ? function(node) {
        +                return !pure_funcs.includes(node.expression.print_to_string());
        +            } : return_true;
        +        }
        +        var top_retain = this.options["top_retain"];
        +        if (top_retain instanceof RegExp) {
        +            this.top_retain = function(def) {
        +                return top_retain.test(def.name);
        +            };
        +        } else if (typeof top_retain == "function") {
        +            this.top_retain = top_retain;
        +        } else if (top_retain) {
        +            if (typeof top_retain == "string") {
        +                top_retain = top_retain.split(/,/);
        +            }
        +            this.top_retain = function(def) {
        +                return top_retain.includes(def.name);
        +            };
        +        }
        +        if (this.options["module"]) {
        +            this.directives["use strict"] = true;
        +            this.options["toplevel"] = true;
        +        }
        +        var toplevel = this.options["toplevel"];
        +        this.toplevel = typeof toplevel == "string" ? {
        +            funcs: /funcs/.test(toplevel),
        +            vars: /vars/.test(toplevel)
        +        } : {
        +            funcs: toplevel,
        +            vars: toplevel
        +        };
        +        var sequences = this.options["sequences"];
        +        this.sequences_limit = sequences == 1 ? 800 : sequences | 0;
        +        this.evaluated_regexps = new Map();
        +        this._toplevel = undefined;
        +        this._mangle_options = mangle_options
        +            ? format_mangler_options(mangle_options)
        +            : mangle_options;
        +    }
        +
        +    mangle_options() {
        +        var nth_identifier = this._mangle_options && this._mangle_options.nth_identifier || base54;
        +        var module = this._mangle_options && this._mangle_options.module || this.option("module");
        +        return { ie8: this.option("ie8"), nth_identifier, module };
        +    }
        +
        +    option(key) {
        +        return this.options[key];
        +    }
        +
        +    exposed(def) {
        +        if (def.export) return true;
        +        if (def.global) for (var i = 0, len = def.orig.length; i < len; i++)
        +            if (!this.toplevel[def.orig[i] instanceof AST_SymbolDefun ? "funcs" : "vars"])
        +                return true;
        +        return false;
        +    }
        +
        +    in_boolean_context() {
        +        if (!this.option("booleans")) return false;
        +        var self = this.self();
        +        for (var i = 0, p; p = this.parent(i); i++) {
        +            if (p instanceof AST_SimpleStatement
        +                || p instanceof AST_Conditional && p.condition === self
        +                || p instanceof AST_DWLoop && p.condition === self
        +                || p instanceof AST_For && p.condition === self
        +                || p instanceof AST_If && p.condition === self
        +                || p instanceof AST_UnaryPrefix && p.operator == "!" && p.expression === self) {
        +                return true;
        +            }
        +            if (
        +                p instanceof AST_Binary
        +                    && (
        +                        p.operator == "&&"
        +                        || p.operator == "||"
        +                        || p.operator == "??"
        +                    )
        +                || p instanceof AST_Conditional
        +                || p.tail_node() === self
        +            ) {
        +                self = p;
        +            } else {
        +                return false;
        +            }
        +        }
        +    }
        +
        +    /** True if compressor.self()'s result will be turned into a 32-bit integer.
        +     * ex:
        +     * ~{expr}
        +     * (1, 2, {expr}) | 0
        +     **/
        +    in_32_bit_context(other_operand_must_be_number) {
        +        if (!this.option("evaluate")) return false;
        +        var self = this.self();
        +        for (var i = 0, p; p = this.parent(i); i++) {
        +            if (p instanceof AST_Binary && bitwise_binop.has(p.operator)) {
        +                if (other_operand_must_be_number) {
        +                    return (self === p.left ? p.right : p.left).is_number(this);
        +                } else {
        +                    return true;
        +                }
        +            }
        +            if (p instanceof AST_UnaryPrefix) {
        +                return p.operator === "~";
        +            }
        +            if (
        +                p instanceof AST_Binary
        +                    && (
        +                        // Don't talk about p.left. Can change branch taken
        +                        p.operator == "&&" && p.right === self
        +                        || p.operator == "||" && p.right === self
        +                        || p.operator == "??" && p.right === self
        +                    )
        +                || p instanceof AST_Conditional && p.condition !== self
        +                || p.tail_node() === self
        +            ) {
        +                self = p;
        +            } else {
        +                return false;
        +            }
        +        }
        +    }
        +
        +    in_computed_key() {
        +        if (!this.option("evaluate")) return false;
        +        var self = this.self();
        +        for (var i = 0, p; p = this.parent(i); i++) {
        +            if (p instanceof AST_ObjectProperty && p.key === self) {
        +                return true;
        +            }
        +        }
        +        return false;
        +    }
        +
        +    get_toplevel() {
        +        return this._toplevel;
        +    }
        +
        +    compress(toplevel) {
        +        toplevel = toplevel.resolve_defines(this);
        +        this._toplevel = toplevel;
        +        if (this.option("expression")) {
        +            this._toplevel.process_expression(true);
        +        }
        +        var passes = +this.options.passes || 1;
        +        var min_count = 1 / 0;
        +        var stopping = false;
        +        var mangle = this.mangle_options();
        +        for (var pass = 0; pass < passes; pass++) {
        +            this._toplevel.figure_out_scope(mangle);
        +            if (pass === 0 && this.option("drop_console")) {
        +                // must be run before reduce_vars and compress pass
        +                this._toplevel = this._toplevel.drop_console(this.option("drop_console"));
        +            }
        +            if (pass > 0 || this.option("reduce_vars")) {
        +                this._toplevel.reset_opt_flags(this);
        +            }
        +            this._toplevel = this._toplevel.transform(this);
        +            if (passes > 1) {
        +                let count = 0;
        +                walk(this._toplevel, () => { count++; });
        +                if (count < min_count) {
        +                    min_count = count;
        +                    stopping = false;
        +                } else if (stopping) {
        +                    break;
        +                } else {
        +                    stopping = true;
        +                }
        +            }
        +        }
        +        if (this.option("expression")) {
        +            this._toplevel.process_expression(false);
        +        }
        +        toplevel = this._toplevel;
        +        this._toplevel = undefined;
        +        return toplevel;
        +    }
        +
        +    before(node, descend) {
        +        if (has_flag(node, SQUEEZED)) return node;
        +        var was_scope = false;
        +        if (node instanceof AST_Scope) {
        +            node = node.hoist_properties(this);
        +            node = node.hoist_declarations(this);
        +            was_scope = true;
        +        }
        +        // Before https://github.com/mishoo/UglifyJS2/pull/1602 AST_Node.optimize()
        +        // would call AST_Node.transform() if a different instance of AST_Node is
        +        // produced after def_optimize().
        +        // This corrupts TreeWalker.stack, which cause AST look-ups to malfunction.
        +        // Migrate and defer all children's AST_Node.transform() to below, which
        +        // will now happen after this parent AST_Node has been properly substituted
        +        // thus gives a consistent AST snapshot.
        +        descend(node, this);
        +        // Existing code relies on how AST_Node.optimize() worked, and omitting the
        +        // following replacement call would result in degraded efficiency of both
        +        // output and performance.
        +        descend(node, this);
        +        var opt = node.optimize(this);
        +        if (was_scope && opt instanceof AST_Scope) {
        +            opt.drop_unused(this);
        +            descend(opt, this);
        +        }
        +        if (opt === node) set_flag(opt, SQUEEZED);
        +        return opt;
        +    }
        +
        +    /** Alternative to plain is_lhs() which doesn't work within .optimize() */
        +    is_lhs() {
        +        const self = this.stack[this.stack.length - 1];
        +        const parent = this.stack[this.stack.length - 2];
        +        return is_lhs(self, parent);
        +    }
        +}
        +
        +
        +function def_optimize(node, optimizer) {
        +    node.DEFMETHOD("optimize", function(compressor) {
        +        var self = this;
        +        if (has_flag(self, OPTIMIZED)) return self;
        +        if (compressor.has_directive("use asm")) return self;
        +        var opt = optimizer(self, compressor);
        +        set_flag(opt, OPTIMIZED);
        +        return opt;
        +    });
        +}
        +
        +def_optimize(AST_Node, function(self) {
        +    return self;
        +});
        +
        +AST_Toplevel.DEFMETHOD("drop_console", function(options) {
        +    const isArray = Array.isArray(options);
        +    const tt = new TreeTransformer(function(self) {
        +        if (self.TYPE !== "Call") {
        +            return;
        +        }
        +
        +        var exp = self.expression;
        +
        +        if (!(exp instanceof AST_PropAccess)) {
        +            return;
        +        }
        +
        +        var name = exp.expression;
        +        var property = exp.property;
        +        var depth = 2;
        +        while (name.expression) {
        +            property = name.property;
        +            name = name.expression;
        +            depth++;
        +        }
        +
        +        if (isArray && !options.includes(property)) {
        +            return;
        +        }
        +
        +        if (is_undeclared_ref(name) && name.name == "console") {
        +            if (
        +                depth === 3
        +                && !["call", "apply"].includes(exp.property)
        +                && is_used_in_expression(tt)
        +            ) {
        +                // a (used) call to Function.prototype methods (eg: console.log.bind(console))
        +                // but not .call and .apply which would also return undefined.
        +                exp.expression = make_empty_function(self);
        +                set_flag(exp.expression, SQUEEZED);
        +                self.args = [];
        +            } else {
        +                return make_void_0(self);
        +            }
        +        }
        +    });
        +
        +    return this.transform(tt);
        +});
        +
        +AST_Node.DEFMETHOD("equivalent_to", function(node) {
        +    return equivalent_to(this, node);
        +});
        +
        +AST_Scope.DEFMETHOD("process_expression", function(insert, compressor) {
        +    var self = this;
        +    var tt = new TreeTransformer(function(node) {
        +        if (insert && node instanceof AST_SimpleStatement) {
        +            return make_node(AST_Return, node, {
        +                value: node.body
        +            });
        +        }
        +        if (!insert && node instanceof AST_Return) {
        +            if (compressor) {
        +                var value = node.value && node.value.drop_side_effect_free(compressor, true);
        +                return value
        +                    ? make_node(AST_SimpleStatement, node, { body: value })
        +                    : make_node(AST_EmptyStatement, node);
        +            }
        +            return make_node(AST_SimpleStatement, node, {
        +                body: node.value || make_void_0(node)
        +            });
        +        }
        +        if (node instanceof AST_Class || node instanceof AST_Lambda && node !== self) {
        +            return node;
        +        }
        +        if (node instanceof AST_Block) {
        +            var index = node.body.length - 1;
        +            if (index >= 0) {
        +                node.body[index] = node.body[index].transform(tt);
        +            }
        +        } else if (node instanceof AST_If) {
        +            node.body = node.body.transform(tt);
        +            if (node.alternative) {
        +                node.alternative = node.alternative.transform(tt);
        +            }
        +        } else if (node instanceof AST_With) {
        +            node.body = node.body.transform(tt);
        +        }
        +        return node;
        +    });
        +    self.transform(tt);
        +});
        +
        +AST_Toplevel.DEFMETHOD("reset_opt_flags", function(compressor) {
        +    const self = this;
        +    const reduce_vars = compressor.option("reduce_vars");
        +
        +    const preparation = new TreeWalker(function(node, descend) {
        +        clear_flag(node, CLEAR_BETWEEN_PASSES);
        +        if (reduce_vars) {
        +            if (compressor.top_retain
        +                && node instanceof AST_Defun  // Only functions are retained
        +                && preparation.parent() === self
        +            ) {
        +                set_flag(node, TOP);
        +            }
        +            return node.reduce_vars(preparation, descend, compressor);
        +        }
        +    });
        +    // Stack of look-up tables to keep track of whether a `SymbolDef` has been
        +    // properly assigned before use:
        +    // - `push()` & `pop()` when visiting conditional branches
        +    preparation.safe_ids = Object.create(null);
        +    preparation.in_loop = null;
        +    preparation.loop_ids = new Map();
        +    preparation.defs_to_safe_ids = new Map();
        +    self.walk(preparation);
        +});
        +
        +AST_Symbol.DEFMETHOD("fixed_value", function() {
        +    var fixed = this.thedef.fixed;
        +    if (!fixed || fixed instanceof AST_Node) return fixed;
        +    return fixed();
        +});
        +
        +AST_SymbolRef.DEFMETHOD("is_immutable", function() {
        +    var orig = this.definition().orig;
        +    return orig.length == 1 && orig[0] instanceof AST_SymbolLambda;
        +});
        +
        +function find_variable(compressor, name) {
        +    var scope, i = 0;
        +    while (scope = compressor.parent(i++)) {
        +        if (scope instanceof AST_Scope) break;
        +        if (scope instanceof AST_Catch && scope.argname) {
        +            scope = scope.argname.definition().scope;
        +            break;
        +        }
        +    }
        +    return scope.find_variable(name);
        +}
        +
        +var global_names = makePredicate("Array Boolean clearInterval clearTimeout console Date decodeURI decodeURIComponent encodeURI encodeURIComponent Error escape eval EvalError Function isFinite isNaN JSON Math Number parseFloat parseInt RangeError ReferenceError RegExp Object setInterval setTimeout String SyntaxError TypeError unescape URIError");
        +AST_SymbolRef.DEFMETHOD("is_declared", function(compressor) {
        +    return !this.definition().undeclared
        +        || compressor.option("unsafe") && global_names.has(this.name);
        +});
        +
        +/* -----[ optimizers ]----- */
        +
        +var directives = new Set(["use asm", "use strict"]);
        +def_optimize(AST_Directive, function(self, compressor) {
        +    if (compressor.option("directives")
        +        && (!directives.has(self.value) || compressor.has_directive(self.value) !== self)) {
        +        return make_node(AST_EmptyStatement, self);
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_Debugger, function(self, compressor) {
        +    if (compressor.option("drop_debugger"))
        +        return make_node(AST_EmptyStatement, self);
        +    return self;
        +});
        +
        +def_optimize(AST_LabeledStatement, function(self, compressor) {
        +    if (self.body instanceof AST_Break
        +        && compressor.loopcontrol_target(self.body) === self.body) {
        +        return make_node(AST_EmptyStatement, self);
        +    }
        +    return self.label.references.length == 0 ? self.body : self;
        +});
        +
        +def_optimize(AST_Block, function(self, compressor) {
        +    tighten_body(self.body, compressor);
        +    return self;
        +});
        +
        +function can_be_extracted_from_if_block(node) {
        +    return !(
        +        node instanceof AST_Const
        +        || node instanceof AST_Let
        +        || node instanceof AST_Using
        +        || node instanceof AST_Class
        +    );
        +}
        +
        +def_optimize(AST_BlockStatement, function(self, compressor) {
        +    tighten_body(self.body, compressor);
        +    switch (self.body.length) {
        +      case 1:
        +        if (!compressor.has_directive("use strict")
        +            && compressor.parent() instanceof AST_If
        +            && can_be_extracted_from_if_block(self.body[0])
        +            || can_be_evicted_from_block(self.body[0])) {
        +            return self.body[0];
        +        }
        +        break;
        +      case 0: return make_node(AST_EmptyStatement, self);
        +    }
        +    return self;
        +});
        +
        +function opt_AST_Lambda(self, compressor) {
        +    tighten_body(self.body, compressor);
        +    if (compressor.option("side_effects")
        +        && self.body.length == 1
        +        && self.body[0] === compressor.has_directive("use strict")) {
        +        self.body.length = 0;
        +    }
        +    return self;
        +}
        +def_optimize(AST_Lambda, opt_AST_Lambda);
        +
        +AST_Scope.DEFMETHOD("hoist_declarations", function(compressor) {
        +    var self = this;
        +    if (compressor.has_directive("use asm")) return self;
        +
        +    var hoist_funs = compressor.option("hoist_funs");
        +    var hoist_vars = compressor.option("hoist_vars");
        +
        +    if (hoist_funs || hoist_vars) {
        +        var dirs = [];
        +        var hoisted = [];
        +        var vars = new Map(), vars_found = 0, var_decl = 0;
        +        // let's count var_decl first, we seem to waste a lot of
        +        // space if we hoist `var` when there's only one.
        +        walk(self, node => {
        +            if (node instanceof AST_Scope && node !== self)
        +                return true;
        +            if (node instanceof AST_Var) {
        +                ++var_decl;
        +                return true;
        +            }
        +        });
        +        hoist_vars = hoist_vars && var_decl > 1;
        +        var tt = new TreeTransformer(
        +            function before(node) {
        +                if (node !== self) {
        +                    if (node instanceof AST_Directive) {
        +                        dirs.push(node);
        +                        return make_node(AST_EmptyStatement, node);
        +                    }
        +                    if (hoist_funs && node instanceof AST_Defun
        +                        && !(tt.parent() instanceof AST_Export)
        +                        && tt.parent() === self) {
        +                        hoisted.push(node);
        +                        return make_node(AST_EmptyStatement, node);
        +                    }
        +                    if (
        +                        hoist_vars
        +                        && node instanceof AST_Var
        +                        && !node.definitions.some(def => def.name instanceof AST_Destructuring)
        +                    ) {
        +                        node.definitions.forEach(function(def) {
        +                            vars.set(def.name.name, def);
        +                            ++vars_found;
        +                        });
        +                        var seq = node.to_assignments(compressor);
        +                        var p = tt.parent();
        +                        if (p instanceof AST_ForIn && p.init === node) {
        +                            if (seq == null) {
        +                                var def = node.definitions[0].name;
        +                                return make_node(AST_SymbolRef, def, def);
        +                            }
        +                            return seq;
        +                        }
        +                        if (p instanceof AST_For && p.init === node) {
        +                            return seq;
        +                        }
        +                        if (!seq) return make_node(AST_EmptyStatement, node);
        +                        return make_node(AST_SimpleStatement, node, {
        +                            body: seq
        +                        });
        +                    }
        +                    if (node instanceof AST_Scope)
        +                        return node; // to avoid descending in nested scopes
        +                }
        +            }
        +        );
        +        self = self.transform(tt);
        +        if (vars_found > 0) {
        +            // collect only vars which don't show up in self's arguments list
        +            var defs = [];
        +            const is_lambda = self instanceof AST_Lambda;
        +            const args_as_names = is_lambda ? self.args_as_names() : null;
        +            vars.forEach((def, name) => {
        +                if (is_lambda && args_as_names.some((x) => x.name === def.name.name)) {
        +                    vars.delete(name);
        +                } else {
        +                    def = def.clone();
        +                    def.value = null;
        +                    defs.push(def);
        +                    vars.set(name, def);
        +                }
        +            });
        +            if (defs.length > 0) {
        +                // try to merge in assignments
        +                for (var i = 0; i < self.body.length;) {
        +                    if (self.body[i] instanceof AST_SimpleStatement) {
        +                        var expr = self.body[i].body, sym, assign;
        +                        if (expr instanceof AST_Assign
        +                            && expr.operator == "="
        +                            && (sym = expr.left) instanceof AST_Symbol
        +                            && vars.has(sym.name)
        +                        ) {
        +                            var def = vars.get(sym.name);
        +                            if (def.value) break;
        +                            def.value = expr.right;
        +                            remove(defs, def);
        +                            defs.push(def);
        +                            self.body.splice(i, 1);
        +                            continue;
        +                        }
        +                        if (expr instanceof AST_Sequence
        +                            && (assign = expr.expressions[0]) instanceof AST_Assign
        +                            && assign.operator == "="
        +                            && (sym = assign.left) instanceof AST_Symbol
        +                            && vars.has(sym.name)
        +                        ) {
        +                            var def = vars.get(sym.name);
        +                            if (def.value) break;
        +                            def.value = assign.right;
        +                            remove(defs, def);
        +                            defs.push(def);
        +                            self.body[i].body = make_sequence(expr, expr.expressions.slice(1));
        +                            continue;
        +                        }
        +                    }
        +                    if (self.body[i] instanceof AST_EmptyStatement) {
        +                        self.body.splice(i, 1);
        +                        continue;
        +                    }
        +                    if (self.body[i] instanceof AST_BlockStatement) {
        +                        self.body.splice(i, 1, ...self.body[i].body);
        +                        continue;
        +                    }
        +                    break;
        +                }
        +                defs = make_node(AST_Var, self, {
        +                    definitions: defs
        +                });
        +                hoisted.push(defs);
        +            }
        +        }
        +        self.body = dirs.concat(hoisted, self.body);
        +    }
        +    return self;
        +});
        +
        +AST_Scope.DEFMETHOD("hoist_properties", function(compressor) {
        +    var self = this;
        +    if (!compressor.option("hoist_props") || compressor.has_directive("use asm")) return self;
        +    var top_retain = self instanceof AST_Toplevel && compressor.top_retain || return_false;
        +    var defs_by_id = new Map();
        +    var hoister = new TreeTransformer(function(node, descend) {
        +        if (node instanceof AST_VarDef) {
        +            const sym = node.name;
        +            let def;
        +            let value;
        +            if (sym.scope === self
        +                && !(sym instanceof AST_SymbolUsing)
        +                && (def = sym.definition()).escaped != 1
        +                && !def.assignments
        +                && !def.direct_access
        +                && !def.single_use
        +                && !compressor.exposed(def)
        +                && !top_retain(def)
        +                && (value = sym.fixed_value()) === node.value
        +                && value instanceof AST_Object
        +                && !value.properties.some(prop =>
        +                    prop instanceof AST_Expansion || prop.computed_key()
        +                )
        +            ) {
        +                descend(node, this);
        +                const defs = new Map();
        +                const assignments = [];
        +                value.properties.forEach(({ key, value }) => {
        +                    const scope = hoister.find_scope();
        +                    const symbol = self.create_symbol(sym.CTOR, {
        +                        source: sym,
        +                        scope,
        +                        conflict_scopes: new Set([
        +                            scope,
        +                            ...sym.definition().references.map(ref => ref.scope)
        +                        ]),
        +                        tentative_name: sym.name + "_" + key
        +                    });
        +
        +                    defs.set(String(key), symbol.definition());
        +
        +                    assignments.push(make_node(AST_VarDef, node, {
        +                        name: symbol,
        +                        value
        +                    }));
        +                });
        +                defs_by_id.set(def.id, defs);
        +                return MAP.splice(assignments);
        +            }
        +        } else if (node instanceof AST_PropAccess
        +            && node.expression instanceof AST_SymbolRef
        +        ) {
        +            const defs = defs_by_id.get(node.expression.definition().id);
        +            if (defs) {
        +                const def = defs.get(String(get_simple_key(node.property)));
        +                const sym = make_node(AST_SymbolRef, node, {
        +                    name: def.name,
        +                    scope: node.expression.scope,
        +                    thedef: def
        +                });
        +                sym.reference({});
        +                return sym;
        +            }
        +        }
        +    });
        +    return self.transform(hoister);
        +});
        +
        +def_optimize(AST_SimpleStatement, function(self, compressor) {
        +    if (compressor.option("side_effects")) {
        +        var body = self.body;
        +        var node = body.drop_side_effect_free(compressor, true);
        +        if (!node) {
        +            return make_node(AST_EmptyStatement, self);
        +        }
        +        if (node !== body) {
        +            return make_node(AST_SimpleStatement, self, { body: node });
        +        }
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_While, function(self, compressor) {
        +    return compressor.option("loops") ? make_node(AST_For, self, self).optimize(compressor) : self;
        +});
        +
        +def_optimize(AST_Do, function(self, compressor) {
        +    if (!compressor.option("loops")) return self;
        +    var cond = self.condition.tail_node().evaluate(compressor);
        +    if (!(cond instanceof AST_Node)) {
        +        if (cond) return make_node(AST_For, self, {
        +            body: make_node(AST_BlockStatement, self.body, {
        +                body: [
        +                    self.body,
        +                    make_node(AST_SimpleStatement, self.condition, {
        +                        body: self.condition
        +                    })
        +                ]
        +            })
        +        }).optimize(compressor);
        +        if (!has_break_or_continue(self, compressor.parent())) {
        +            return make_node(AST_BlockStatement, self.body, {
        +                body: [
        +                    self.body,
        +                    make_node(AST_SimpleStatement, self.condition, {
        +                        body: self.condition
        +                    })
        +                ]
        +            }).optimize(compressor);
        +        }
        +    }
        +    return self;
        +});
        +
        +function if_break_in_loop(self, compressor) {
        +    var first = self.body instanceof AST_BlockStatement ? self.body.body[0] : self.body;
        +    if (compressor.option("dead_code") && is_break(first)) {
        +        var body = [];
        +        if (self.init instanceof AST_Statement) {
        +            body.push(self.init);
        +        } else if (self.init) {
        +            body.push(make_node(AST_SimpleStatement, self.init, {
        +                body: self.init
        +            }));
        +        }
        +        if (self.condition) {
        +            body.push(make_node(AST_SimpleStatement, self.condition, {
        +                body: self.condition
        +            }));
        +        }
        +        extract_from_unreachable_code(compressor, self.body, body);
        +        return make_node(AST_BlockStatement, self, {
        +            body: body
        +        });
        +    }
        +    if (first instanceof AST_If) {
        +        if (is_break(first.body)) {
        +            if (self.condition) {
        +                self.condition = make_node(AST_Binary, self.condition, {
        +                    left: self.condition,
        +                    operator: "&&",
        +                    right: first.condition.negate(compressor),
        +                });
        +            } else {
        +                self.condition = first.condition.negate(compressor);
        +            }
        +            drop_it(first.alternative);
        +        } else if (is_break(first.alternative)) {
        +            if (self.condition) {
        +                self.condition = make_node(AST_Binary, self.condition, {
        +                    left: self.condition,
        +                    operator: "&&",
        +                    right: first.condition,
        +                });
        +            } else {
        +                self.condition = first.condition;
        +            }
        +            drop_it(first.body);
        +        }
        +    }
        +    return self;
        +
        +    function is_break(node) {
        +        return node instanceof AST_Break
        +            && compressor.loopcontrol_target(node) === compressor.self();
        +    }
        +
        +    function drop_it(rest) {
        +        rest = as_statement_array(rest);
        +        if (self.body instanceof AST_BlockStatement) {
        +            self.body = self.body.clone();
        +            self.body.body = rest.concat(self.body.body.slice(1));
        +            self.body = self.body.transform(compressor);
        +        } else {
        +            self.body = make_node(AST_BlockStatement, self.body, {
        +                body: rest
        +            }).transform(compressor);
        +        }
        +        self = if_break_in_loop(self, compressor);
        +    }
        +}
        +
        +def_optimize(AST_For, function(self, compressor) {
        +    if (!compressor.option("loops")) return self;
        +    if (compressor.option("side_effects") && self.init) {
        +        self.init = self.init.drop_side_effect_free(compressor);
        +    }
        +    if (self.condition) {
        +        var cond = self.condition.evaluate(compressor);
        +        if (!(cond instanceof AST_Node)) {
        +            if (cond) self.condition = null;
        +            else if (!compressor.option("dead_code")) {
        +                var orig = self.condition;
        +                self.condition = make_node_from_constant(cond, self.condition);
        +                self.condition = best_of_expression(self.condition.transform(compressor), orig);
        +            }
        +        }
        +        if (compressor.option("dead_code")) {
        +            if (cond instanceof AST_Node) cond = self.condition.tail_node().evaluate(compressor);
        +            if (!cond) {
        +                var body = [];
        +                extract_from_unreachable_code(compressor, self.body, body);
        +                if (self.init instanceof AST_Statement) {
        +                    body.push(self.init);
        +                } else if (self.init) {
        +                    body.push(make_node(AST_SimpleStatement, self.init, {
        +                        body: self.init
        +                    }));
        +                }
        +                body.push(make_node(AST_SimpleStatement, self.condition, {
        +                    body: self.condition
        +                }));
        +                return make_node(AST_BlockStatement, self, { body: body }).optimize(compressor);
        +            }
        +        }
        +    }
        +    return if_break_in_loop(self, compressor);
        +});
        +
        +def_optimize(AST_If, function(self, compressor) {
        +    if (is_empty(self.alternative)) self.alternative = null;
        +
        +    if (!compressor.option("conditionals")) return self;
        +    // if condition can be statically determined, drop
        +    // one of the blocks.  note, statically determined implies
        +    // “has no side effects”; also it doesn't work for cases like
        +    // `x && true`, though it probably should.
        +    var cond = self.condition.evaluate(compressor);
        +    if (!compressor.option("dead_code") && !(cond instanceof AST_Node)) {
        +        var orig = self.condition;
        +        self.condition = make_node_from_constant(cond, orig);
        +        self.condition = best_of_expression(self.condition.transform(compressor), orig);
        +    }
        +    if (compressor.option("dead_code")) {
        +        if (cond instanceof AST_Node) cond = self.condition.tail_node().evaluate(compressor);
        +        if (!cond) {
        +            var body = [];
        +            extract_from_unreachable_code(compressor, self.body, body);
        +            body.push(make_node(AST_SimpleStatement, self.condition, {
        +                body: self.condition
        +            }));
        +            if (self.alternative) body.push(self.alternative);
        +            return make_node(AST_BlockStatement, self, { body: body }).optimize(compressor);
        +        } else if (!(cond instanceof AST_Node)) {
        +            var body = [];
        +            body.push(make_node(AST_SimpleStatement, self.condition, {
        +                body: self.condition
        +            }));
        +            body.push(self.body);
        +            if (self.alternative) {
        +                extract_from_unreachable_code(compressor, self.alternative, body);
        +            }
        +            return make_node(AST_BlockStatement, self, { body: body }).optimize(compressor);
        +        }
        +    }
        +    var negated = self.condition.negate(compressor);
        +    var self_condition_length = self.condition.size();
        +    var negated_length = negated.size();
        +    var negated_is_best = negated_length < self_condition_length;
        +    if (self.alternative && negated_is_best) {
        +        negated_is_best = false; // because we already do the switch here.
        +        // no need to swap values of self_condition_length and negated_length
        +        // here because they are only used in an equality comparison later on.
        +        self.condition = negated;
        +        var tmp = self.body;
        +        self.body = self.alternative || make_node(AST_EmptyStatement, self);
        +        self.alternative = tmp;
        +    }
        +    if (is_empty(self.body) && is_empty(self.alternative)) {
        +        return make_node(AST_SimpleStatement, self.condition, {
        +            body: self.condition.clone()
        +        }).optimize(compressor);
        +    }
        +    if (self.body instanceof AST_SimpleStatement
        +        && self.alternative instanceof AST_SimpleStatement) {
        +        return make_node(AST_SimpleStatement, self, {
        +            body: make_node(AST_Conditional, self, {
        +                condition   : self.condition,
        +                consequent  : self.body.body,
        +                alternative : self.alternative.body
        +            })
        +        }).optimize(compressor);
        +    }
        +    if (is_empty(self.alternative) && self.body instanceof AST_SimpleStatement) {
        +        if (self_condition_length === negated_length && !negated_is_best
        +            && self.condition instanceof AST_Binary && self.condition.operator == "||") {
        +            // although the code length of self.condition and negated are the same,
        +            // negated does not require additional surrounding parentheses.
        +            // see https://github.com/mishoo/UglifyJS2/issues/979
        +            negated_is_best = true;
        +        }
        +        if (negated_is_best) return make_node(AST_SimpleStatement, self, {
        +            body: make_node(AST_Binary, self, {
        +                operator : "||",
        +                left     : negated,
        +                right    : self.body.body
        +            })
        +        }).optimize(compressor);
        +        return make_node(AST_SimpleStatement, self, {
        +            body: make_node(AST_Binary, self, {
        +                operator : "&&",
        +                left     : self.condition,
        +                right    : self.body.body
        +            })
        +        }).optimize(compressor);
        +    }
        +    if (self.body instanceof AST_EmptyStatement
        +        && self.alternative instanceof AST_SimpleStatement) {
        +        return make_node(AST_SimpleStatement, self, {
        +            body: make_node(AST_Binary, self, {
        +                operator : "||",
        +                left     : self.condition,
        +                right    : self.alternative.body
        +            })
        +        }).optimize(compressor);
        +    }
        +    if (self.body instanceof AST_Exit
        +        && self.alternative instanceof AST_Exit
        +        && self.body.TYPE == self.alternative.TYPE) {
        +        return make_node(self.body.CTOR, self, {
        +            value: make_node(AST_Conditional, self, {
        +                condition   : self.condition,
        +                consequent  : self.body.value || make_void_0(self.body),
        +                alternative : self.alternative.value || make_void_0(self.alternative),
        +            }).transform(compressor)
        +        }).optimize(compressor);
        +    }
        +    if (self.body instanceof AST_If
        +        && !self.body.alternative
        +        && !self.alternative) {
        +        self = make_node(AST_If, self, {
        +            condition: make_node(AST_Binary, self.condition, {
        +                operator: "&&",
        +                left: self.condition,
        +                right: self.body.condition
        +            }),
        +            body: self.body.body,
        +            alternative: null
        +        });
        +    }
        +    if (aborts(self.body)) {
        +        if (self.alternative) {
        +            var alt = self.alternative;
        +            self.alternative = null;
        +            return make_node(AST_BlockStatement, self, {
        +                body: [ self, alt ]
        +            }).optimize(compressor);
        +        }
        +    }
        +    if (aborts(self.alternative)) {
        +        var body = self.body;
        +        self.body = self.alternative;
        +        self.condition = negated_is_best ? negated : self.condition.negate(compressor);
        +        self.alternative = null;
        +        return make_node(AST_BlockStatement, self, {
        +            body: [ self, body ]
        +        }).optimize(compressor);
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_Switch, function(self, compressor) {
        +    if (!compressor.option("switches")) return self;
        +    var branch;
        +    var value = self.expression.evaluate(compressor);
        +    if (!(value instanceof AST_Node)) {
        +        var orig = self.expression;
        +        self.expression = make_node_from_constant(value, orig);
        +        self.expression = best_of_expression(self.expression.transform(compressor), orig);
        +    }
        +    if (!compressor.option("dead_code")) return self;
        +    if (value instanceof AST_Node) {
        +        value = self.expression.tail_node().evaluate(compressor);
        +    }
        +    var decl = [];
        +    var body = [];
        +    var default_branch;
        +    var exact_match;
        +    // - compress self.body into `body`
        +    // - find and deduplicate default branch
        +    // - find the exact match (`case 1234` inside `switch(1234)`)
        +    for (var i = 0, len = self.body.length; i < len && !exact_match; i++) {
        +        branch = self.body[i];
        +        if (branch instanceof AST_Default) {
        +            if (!default_branch) {
        +                default_branch = branch;
        +            } else {
        +                eliminate_branch(branch, body[body.length - 1]);
        +            }
        +        } else if (!(value instanceof AST_Node)) {
        +            var exp = branch.expression.evaluate(compressor);
        +            if (!(exp instanceof AST_Node) && exp !== value) {
        +                eliminate_branch(branch, body[body.length - 1]);
        +                continue;
        +            }
        +            if (exp instanceof AST_Node && !exp.has_side_effects(compressor)) {
        +                exp = branch.expression.tail_node().evaluate(compressor);
        +            }
        +            if (exp === value) {
        +                exact_match = branch;
        +                if (default_branch) {
        +                    var default_index = body.indexOf(default_branch);
        +                    body.splice(default_index, 1);
        +                    eliminate_branch(default_branch, body[default_index - 1]);
        +                    default_branch = null;
        +                }
        +            }
        +        }
        +        body.push(branch);
        +    }
        +    // i < len if we found an exact_match. eliminate the rest
        +    while (i < len) eliminate_branch(self.body[i++], body[body.length - 1]);
        +    self.body = body;
        +
        +    let default_or_exact = default_branch || exact_match;
        +    default_branch = null;
        +    exact_match = null;
        +
        +    // group equivalent branches so they will be located next to each other,
        +    // that way the next micro-optimization will merge them.
        +    // ** bail micro-optimization if not a simple switch case with breaks
        +    if (body.every((branch, i) =>
        +        (branch === default_or_exact || branch.expression instanceof AST_Constant)
        +        && (branch.body.length === 0 || aborts(branch) || body.length - 1 === i))
        +    ) {
        +        for (let i = 0; i < body.length; i++) {
        +            const branch = body[i];
        +            for (let j = i + 1; j < body.length; j++) {
        +                const next = body[j];
        +                if (next.body.length === 0) continue;
        +                const last_branch = j === (body.length - 1);
        +                const equivalentBranch = branches_equivalent(next, branch, false);
        +                if (equivalentBranch || (last_branch && branches_equivalent(next, branch, true))) {
        +                    if (!equivalentBranch && last_branch) {
        +                        next.body.push(make_node(AST_Break));
        +                    }
        +
        +                    // let's find previous siblings with inert fallthrough...
        +                    let x = j - 1;
        +                    let fallthroughDepth = 0;
        +                    while (x > i) {
        +                        if (is_inert_body(body[x--])) {
        +                            fallthroughDepth++;
        +                        } else {
        +                            break;
        +                        }
        +                    }
        +
        +                    const plucked = body.splice(j - fallthroughDepth, 1 + fallthroughDepth);
        +                    body.splice(i + 1, 0, ...plucked);
        +                    i += plucked.length;
        +                }
        +            }
        +        }
        +    }
        +
        +    // merge equivalent branches in a row
        +    for (let i = 0; i < body.length; i++) {
        +        let branch = body[i];
        +        if (branch.body.length === 0) continue;
        +        if (!aborts(branch)) continue;
        +
        +        for (let j = i + 1; j < body.length; i++, j++) {
        +            let next = body[j];
        +            if (next.body.length === 0) continue;
        +            if (
        +                branches_equivalent(next, branch, false)
        +                || (j === body.length - 1 && branches_equivalent(next, branch, true))
        +            ) {
        +                branch.body = [];
        +                branch = next;
        +                continue;
        +            }
        +            break;
        +        }
        +    }
        +
        +    // Prune any empty branches at the end of the switch statement.
        +    {
        +        let i = body.length - 1;
        +        for (; i >= 0; i--) {
        +            let bbody = body[i].body;
        +            while (is_break(bbody[bbody.length - 1], compressor)) bbody.pop();
        +            if (!is_inert_body(body[i])) break;
        +        }
        +        // i now points to the index of a branch that contains a body. By incrementing, it's
        +        // pointing to the first branch that's empty.
        +        i++;
        +        if (!default_or_exact || body.indexOf(default_or_exact) >= i) {
        +            // The default behavior is to do nothing. We can take advantage of that to
        +            // remove all case expressions that are side-effect free that also do
        +            // nothing, since they'll default to doing nothing. But we can't remove any
        +            // case expressions before one that would side-effect, since they may cause
        +            // the side-effect to be skipped.
        +            for (let j = body.length - 1; j >= i; j--) {
        +                let branch = body[j];
        +                if (branch === default_or_exact) {
        +                    default_or_exact = null;
        +                    eliminate_branch(body.pop());
        +                } else if (!branch.expression.has_side_effects(compressor)) {
        +                    eliminate_branch(body.pop());
        +                } else {
        +                    break;
        +                }
        +            }
        +        }
        +    }
        +
        +
        +    // Prune side-effect free branches that fall into default.
        +    DEFAULT: if (default_or_exact) {
        +        let default_index = body.indexOf(default_or_exact);
        +        let default_body_index = default_index;
        +        for (; default_body_index < body.length - 1; default_body_index++) {
        +            if (!is_inert_body(body[default_body_index])) break;
        +        }
        +        if (default_body_index < body.length - 1) {
        +            break DEFAULT;
        +        }
        +
        +        let side_effect_index = body.length - 1;
        +        for (; side_effect_index >= 0; side_effect_index--) {
        +            let branch = body[side_effect_index];
        +            if (branch === default_or_exact) continue;
        +            if (branch.expression.has_side_effects(compressor)) break;
        +        }
        +        // If the default behavior comes after any side-effect case expressions,
        +        // then we can fold all side-effect free cases into the default branch.
        +        // If the side-effect case is after the default, then any side-effect
        +        // free cases could prevent the side-effect from occurring.
        +        if (default_body_index > side_effect_index) {
        +            let prev_body_index = default_index - 1;
        +            for (; prev_body_index >= 0; prev_body_index--) {
        +                if (!is_inert_body(body[prev_body_index])) break;
        +            }
        +            let before = Math.max(side_effect_index, prev_body_index) + 1;
        +            let after = default_index;
        +            if (side_effect_index > default_index) {
        +                // If the default falls into the same body as a side-effect
        +                // case, then we need preserve that case and only prune the
        +                // cases after it.
        +                after = side_effect_index;
        +                body[side_effect_index].body = body[default_body_index].body;
        +            } else {
        +                // The default will be the last branch.
        +                default_or_exact.body = body[default_body_index].body;
        +            }
        +
        +            // Prune everything after the default (or last side-effect case)
        +            // until the next case with a body.
        +            body.splice(after + 1, default_body_index - after);
        +            // Prune everything before the default that falls into it.
        +            body.splice(before, default_index - before);
        +        }
        +    }
        +
        +    // See if we can remove the switch entirely if all cases (the default) fall into the same case body.
        +    DEFAULT: if (default_or_exact) {
        +        let i = body.findIndex(branch => !is_inert_body(branch));
        +        let caseBody;
        +        // `i` is equal to one of the following:
        +        // - `-1`, there is no body in the switch statement.
        +        // - `body.length - 1`, all cases fall into the same body.
        +        // - anything else, there are multiple bodies in the switch.
        +        if (i === body.length - 1) {
        +            // All cases fall into the case body.
        +            let branch = body[i];
        +            if (has_nested_break(self)) break DEFAULT;
        +
        +            // This is the last case body, and we've already pruned any breaks, so it's
        +            // safe to hoist.
        +            caseBody = make_node(AST_BlockStatement, branch, {
        +                body: branch.body
        +            });
        +            branch.body = [];
        +        } else if (i !== -1) {
        +            // If there are multiple bodies, then we cannot optimize anything.
        +            break DEFAULT;
        +        }
        +
        +        let sideEffect = body.find(
        +            branch => branch !== default_or_exact && branch.expression.has_side_effects(compressor)
        +        );
        +        // If no cases cause a side-effect, we can eliminate the switch entirely.
        +        if (!sideEffect) {
        +            return make_node(AST_BlockStatement, self, {
        +                body: decl.concat(
        +                    statement(self.expression),
        +                    default_or_exact.expression ? statement(default_or_exact.expression) : [],
        +                    caseBody || []
        +                )
        +            }).optimize(compressor);
        +        }
        +
        +        // If we're this far, either there was no body or all cases fell into the same body.
        +        // If there was no body, then we don't need a default branch (because the default is
        +        // do nothing). If there was a body, we'll extract it to after the switch, so the
        +        // switch's new default is to do nothing and we can still prune it.
        +        const default_index = body.indexOf(default_or_exact);
        +        body.splice(default_index, 1);
        +        default_or_exact = null;
        +
        +        if (caseBody) {
        +            // Recurse into switch statement one more time so that we can append the case body
        +            // outside of the switch. This recursion will only happen once since we've pruned
        +            // the default case.
        +            return make_node(AST_BlockStatement, self, {
        +                body: decl.concat(self, caseBody)
        +            }).optimize(compressor);
        +        }
        +        // If we fall here, there is a default branch somewhere, there are no case bodies,
        +        // and there's a side-effect somewhere. Just let the below paths take care of it.
        +    }
        +
        +    // Reintegrate `decl` (var statements)
        +    if (body.length > 0) {
        +        body[0].body = decl.concat(body[0].body);
        +    }
        +    if (body.length == 0) {
        +        return make_node(AST_BlockStatement, self, {
        +            body: decl.concat(statement(self.expression))
        +        }).optimize(compressor);
        +    }
        +
        +    if (body.length == 1 && !has_nested_break(self)) {
        +        // This is the last case body, and we've already pruned any breaks, so it's
        +        // safe to hoist.
        +        let branch = body[0];
        +        return make_node(AST_If, self, {
        +            condition: make_node(AST_Binary, self, {
        +                operator: "===",
        +                left: self.expression,
        +                right: branch.expression,
        +            }),
        +            body: make_node(AST_BlockStatement, branch, {
        +                body: branch.body
        +            }),
        +            alternative: null
        +        }).optimize(compressor);
        +    }
        +    if (body.length === 2 && default_or_exact && !has_nested_break(self)) {
        +        let branch = body[0] === default_or_exact ? body[1] : body[0];
        +        let exact_exp = default_or_exact.expression && statement(default_or_exact.expression);
        +        if (aborts(body[0])) {
        +            // Only the first branch body could have a break (at the last statement)
        +            let first = body[0];
        +            if (is_break(first.body[first.body.length - 1], compressor)) {
        +                first.body.pop();
        +            }
        +            return make_node(AST_If, self, {
        +                condition: make_node(AST_Binary, self, {
        +                    operator: "===",
        +                    left: self.expression,
        +                    right: branch.expression,
        +                }),
        +                body: make_node(AST_BlockStatement, branch, {
        +                    body: branch.body
        +                }),
        +                alternative: make_node(AST_BlockStatement, default_or_exact, {
        +                    body: [].concat(
        +                        exact_exp || [],
        +                        default_or_exact.body
        +                    )
        +                })
        +            }).optimize(compressor);
        +        }
        +        let operator = "===";
        +        let consequent = make_node(AST_BlockStatement, branch, {
        +            body: branch.body,
        +        });
        +        let always = make_node(AST_BlockStatement, default_or_exact, {
        +            body: [].concat(
        +                exact_exp || [],
        +                default_or_exact.body
        +            )
        +        });
        +        if (body[0] === default_or_exact) {
        +            operator = "!==";
        +            let tmp = always;
        +            always = consequent;
        +            consequent = tmp;
        +        }
        +        return make_node(AST_BlockStatement, self, {
        +            body: [
        +                make_node(AST_If, self, {
        +                    condition: make_node(AST_Binary, self, {
        +                        operator: operator,
        +                        left: self.expression,
        +                        right: branch.expression,
        +                    }),
        +                    body: consequent,
        +                    alternative: null,
        +                }),
        +                always,
        +            ],
        +        }).optimize(compressor);
        +    }
        +    return self;
        +
        +    function eliminate_branch(branch, prev) {
        +        if (prev && !aborts(prev)) {
        +            prev.body = prev.body.concat(branch.body);
        +        } else {
        +            extract_from_unreachable_code(compressor, branch, decl);
        +        }
        +    }
        +    function branches_equivalent(branch, prev, insertBreak) {
        +        let bbody = branch.body;
        +        let pbody = prev.body;
        +        if (insertBreak) {
        +            bbody = bbody.concat(make_node(AST_Break));
        +        }
        +        if (bbody.length !== pbody.length) return false;
        +        let bblock = make_node(AST_BlockStatement, branch, { body: bbody });
        +        let pblock = make_node(AST_BlockStatement, prev, { body: pbody });
        +        return bblock.equivalent_to(pblock);
        +    }
        +    function statement(body) {
        +        return make_node(AST_SimpleStatement, body, { body });
        +    }
        +    function has_nested_break(root) {
        +        let has_break = false;
        +
        +        let tw = new TreeWalker(node => {
        +            if (has_break) return true;
        +            if (node instanceof AST_Lambda) return true;
        +            if (node instanceof AST_SimpleStatement) return true;
        +            if (!is_break(node, tw)) return;
        +            let parent = tw.parent();
        +            if (
        +                parent instanceof AST_SwitchBranch
        +                && parent.body[parent.body.length - 1] === node
        +            ) {
        +                return;
        +            }
        +            has_break = true;
        +        });
        +        root.walk(tw);
        +        return has_break;
        +    }
        +    function is_break(node, stack) {
        +        return node instanceof AST_Break
        +            && stack.loopcontrol_target(node) === self;
        +    }
        +    function is_inert_body(branch) {
        +        return !aborts(branch) && !make_node(AST_BlockStatement, branch, {
        +            body: branch.body
        +        }).has_side_effects(compressor);
        +    }
        +});
        +
        +def_optimize(AST_Try, function(self, compressor) {
        +    if (self.bcatch && self.bfinally && self.bfinally.body.every(is_empty)) self.bfinally = null;
        +
        +    if (compressor.option("dead_code") && self.body.body.every(is_empty)) {
        +        var body = [];
        +        if (self.bcatch) {
        +            extract_from_unreachable_code(compressor, self.bcatch, body);
        +        }
        +        if (self.bfinally) body.push(...self.bfinally.body);
        +        return make_node(AST_BlockStatement, self, {
        +            body: body
        +        }).optimize(compressor);
        +    }
        +    return self;
        +});
        +
        +AST_Definitions.DEFMETHOD("to_assignments", function(compressor) {
        +    var reduce_vars = compressor.option("reduce_vars");
        +    var assignments = [];
        +
        +    for (const def of this.definitions) {
        +        if (def.value) {
        +            var name = make_node(AST_SymbolRef, def.name, def.name);
        +            assignments.push(make_node(AST_Assign, def, {
        +                operator : "=",
        +                logical: false,
        +                left     : name,
        +                right    : def.value
        +            }));
        +            if (reduce_vars) name.definition().fixed = false;
        +        }
        +        const thedef = def.name.definition();
        +        thedef.eliminated++;
        +        thedef.replaced--;
        +    }
        +
        +    if (assignments.length == 0) return null;
        +    return make_sequence(this, assignments);
        +});
        +
        +def_optimize(AST_Definitions, function(self) {
        +    if (self.definitions.length == 0) {
        +        return make_node(AST_EmptyStatement, self);
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_VarDef, function(self, compressor) {
        +    if (
        +        self.name instanceof AST_SymbolLet
        +        && self.value != null
        +        && is_undefined(self.value, compressor)
        +    ) {
        +        self.value = null;
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_Import, function(self) {
        +    return self;
        +});
        +
        +def_optimize(AST_Call, function(self, compressor) {
        +    var exp = self.expression;
        +    var fn = exp;
        +    inline_array_like_spread(self.args);
        +    var simple_args = self.args.every((arg) => !(arg instanceof AST_Expansion));
        +
        +    if (compressor.option("reduce_vars") && fn instanceof AST_SymbolRef) {
        +        fn = fn.fixed_value();
        +    }
        +
        +    var is_func = fn instanceof AST_Lambda;
        +
        +    if (is_func && fn.pinned()) return self;
        +
        +    if (compressor.option("unused")
        +        && simple_args
        +        && is_func
        +        && !fn.uses_arguments) {
        +        var pos = 0, last = 0;
        +        for (var i = 0, len = self.args.length; i < len; i++) {
        +            if (fn.argnames[i] instanceof AST_Expansion) {
        +                if (has_flag(fn.argnames[i].expression, UNUSED)) while (i < len) {
        +                    var node = self.args[i++].drop_side_effect_free(compressor);
        +                    if (node) {
        +                        self.args[pos++] = node;
        +                    }
        +                } else while (i < len) {
        +                    self.args[pos++] = self.args[i++];
        +                }
        +                last = pos;
        +                break;
        +            }
        +            var trim = i >= fn.argnames.length;
        +            if (trim || has_flag(fn.argnames[i], UNUSED)) {
        +                var node = self.args[i].drop_side_effect_free(compressor);
        +                if (node) {
        +                    self.args[pos++] = node;
        +                } else if (!trim) {
        +                    self.args[pos++] = make_node(AST_Number, self.args[i], {
        +                        value: 0
        +                    });
        +                    continue;
        +                }
        +            } else {
        +                self.args[pos++] = self.args[i];
        +            }
        +            last = pos;
        +        }
        +        self.args.length = last;
        +    }
        +
        +    if (
        +        exp instanceof AST_Dot
        +        && exp.expression instanceof AST_SymbolRef
        +        && exp.expression.name === "console"
        +        && exp.expression.definition().undeclared
        +        && exp.property === "assert"
        +    ) {
        +        const condition = self.args[0];
        +        if (condition) {
        +            const value = condition.evaluate(compressor);
        +    
        +            if (value === 1 || value === true) {
        +                return make_void_0(self).optimize(compressor);
        +            }
        +        }
        +    }    
        +
        +    if (compressor.option("unsafe") && !exp.contains_optional()) {
        +        if (exp instanceof AST_Dot && exp.start.value === "Array" && exp.property === "from" && self.args.length === 1) {
        +            const [argument] = self.args;
        +            if (argument instanceof AST_Array) {
        +                return make_node(AST_Array, argument, {
        +                    elements: argument.elements
        +                }).optimize(compressor);
        +            }
        +        }
        +        if (is_undeclared_ref(exp)) switch (exp.name) {
        +          case "Array":
        +            if (self.args.length != 1) {
        +                return make_node(AST_Array, self, {
        +                    elements: self.args
        +                }).optimize(compressor);
        +            } else if (self.args[0] instanceof AST_Number && self.args[0].value <= 11) {
        +                const elements = [];
        +                for (let i = 0; i < self.args[0].value; i++) elements.push(new AST_Hole);
        +                return new AST_Array({ elements });
        +            }
        +            break;
        +          case "Object":
        +            if (self.args.length == 0) {
        +                return make_node(AST_Object, self, {
        +                    properties: []
        +                });
        +            }
        +            break;
        +          case "String":
        +            if (self.args.length == 0) return make_node(AST_String, self, {
        +                value: ""
        +            });
        +            if (self.args.length <= 1) return make_node(AST_Binary, self, {
        +                left: self.args[0],
        +                operator: "+",
        +                right: make_node(AST_String, self, { value: "" })
        +            }).optimize(compressor);
        +            break;
        +          case "Number":
        +            if (self.args.length == 0) return make_node(AST_Number, self, {
        +                value: 0
        +            });
        +            if (self.args.length == 1 && compressor.option("unsafe_math")) {
        +                return make_node(AST_UnaryPrefix, self, {
        +                    expression: self.args[0],
        +                    operator: "+"
        +                }).optimize(compressor);
        +            }
        +            break;
        +          case "Symbol":
        +            if (self.args.length == 1 && self.args[0] instanceof AST_String && compressor.option("unsafe_symbols"))
        +                self.args.length = 0;
        +                break;
        +          case "Boolean":
        +            if (self.args.length == 0) return make_node(AST_False, self);
        +            if (self.args.length == 1) return make_node(AST_UnaryPrefix, self, {
        +                expression: make_node(AST_UnaryPrefix, self, {
        +                    expression: self.args[0],
        +                    operator: "!"
        +                }),
        +                operator: "!"
        +            }).optimize(compressor);
        +            break;
        +          case "RegExp":
        +            var params = [];
        +            if (self.args.length >= 1
        +                && self.args.length <= 2
        +                && self.args.every((arg) => {
        +                    var value = arg.evaluate(compressor);
        +                    params.push(value);
        +                    return arg !== value;
        +                })
        +                && regexp_is_safe(params[0])
        +            ) {
        +                let [ source, flags ] = params;
        +                source = regexp_source_fix(new RegExp(source).source);
        +                const rx = make_node(AST_RegExp, self, {
        +                    value: { source, flags }
        +                });
        +                if (rx._eval(compressor) !== rx) {
        +                    return rx;
        +                }
        +            }
        +            break;
        +        } else if (exp instanceof AST_Dot) switch(exp.property) {
        +          case "toString":
        +            if (self.args.length == 0 && !exp.expression.may_throw_on_access(compressor)) {
        +                return make_node(AST_Binary, self, {
        +                    left: make_node(AST_String, self, { value: "" }),
        +                    operator: "+",
        +                    right: exp.expression
        +                }).optimize(compressor);
        +            }
        +            break;
        +          case "join":
        +            if (exp.expression instanceof AST_Array) EXIT: {
        +                var separator;
        +                if (self.args.length > 0) {
        +                    separator = self.args[0].evaluate(compressor);
        +                    if (separator === self.args[0]) break EXIT; // not a constant
        +                }
        +                var elements = [];
        +                var consts = [];
        +                for (var i = 0, len = exp.expression.elements.length; i < len; i++) {
        +                    var el = exp.expression.elements[i];
        +                    if (el instanceof AST_Expansion) break EXIT;
        +                    var value = el.evaluate(compressor);
        +                    if (value !== el) {
        +                        consts.push(value);
        +                    } else {
        +                        if (consts.length > 0) {
        +                            elements.push(make_node(AST_String, self, {
        +                                value: consts.join(separator)
        +                            }));
        +                            consts.length = 0;
        +                        }
        +                        elements.push(el);
        +                    }
        +                }
        +                if (consts.length > 0) {
        +                    elements.push(make_node(AST_String, self, {
        +                        value: consts.join(separator)
        +                    }));
        +                }
        +                if (elements.length == 0) return make_node(AST_String, self, { value: "" });
        +                if (elements.length == 1) {
        +                    if (elements[0].is_string(compressor)) {
        +                        return elements[0];
        +                    }
        +                    return make_node(AST_Binary, elements[0], {
        +                        operator : "+",
        +                        left     : make_node(AST_String, self, { value: "" }),
        +                        right    : elements[0]
        +                    });
        +                }
        +                if (separator == "") {
        +                    var first;
        +                    if (elements[0].is_string(compressor)
        +                        || elements[1].is_string(compressor)) {
        +                        first = elements.shift();
        +                    } else {
        +                        first = make_node(AST_String, self, { value: "" });
        +                    }
        +                    return elements.reduce(function(prev, el) {
        +                        return make_node(AST_Binary, el, {
        +                            operator : "+",
        +                            left     : prev,
        +                            right    : el
        +                        });
        +                    }, first).optimize(compressor);
        +                }
        +                // need this awkward cloning to not affect original element
        +                // best_of will decide which one to get through.
        +                var node = self.clone();
        +                node.expression = node.expression.clone();
        +                node.expression.expression = node.expression.expression.clone();
        +                node.expression.expression.elements = elements;
        +                return best_of(compressor, self, node);
        +            }
        +            break;
        +          case "charAt":
        +            if (exp.expression.is_string(compressor)) {
        +                var arg = self.args[0];
        +                var index = arg ? arg.evaluate(compressor) : 0;
        +                if (index !== arg) {
        +                    return make_node(AST_Sub, exp, {
        +                        expression: exp.expression,
        +                        property: make_node_from_constant(index | 0, arg || exp)
        +                    }).optimize(compressor);
        +                }
        +            }
        +            break;
        +          case "apply":
        +            if (self.args.length == 2 && self.args[1] instanceof AST_Array) {
        +                var args = self.args[1].elements.slice();
        +                args.unshift(self.args[0]);
        +                return make_node(AST_Call, self, {
        +                    expression: make_node(AST_Dot, exp, {
        +                        expression: exp.expression,
        +                        optional: false,
        +                        property: "call"
        +                    }),
        +                    args: args
        +                }).optimize(compressor);
        +            }
        +            break;
        +          case "call":
        +            var func = exp.expression;
        +            if (func instanceof AST_SymbolRef) {
        +                func = func.fixed_value();
        +            }
        +            if (func instanceof AST_Lambda && !func.contains_this()) {
        +                return (self.args.length ? make_sequence(this, [
        +                    self.args[0],
        +                    make_node(AST_Call, self, {
        +                        expression: exp.expression,
        +                        args: self.args.slice(1)
        +                    })
        +                ]) : make_node(AST_Call, self, {
        +                    expression: exp.expression,
        +                    args: []
        +                })).optimize(compressor);
        +            }
        +            break;
        +        }
        +    }
        +
        +    if (compressor.option("unsafe_Function")
        +        && is_undeclared_ref(exp)
        +        && exp.name == "Function") {
        +        // new Function() => function(){}
        +        if (self.args.length == 0) return make_empty_function(self).optimize(compressor);
        +        if (self.args.every((x) => x instanceof AST_String)) {
        +            // quite a corner-case, but we can handle it:
        +            //   https://github.com/mishoo/UglifyJS2/issues/203
        +            // if the code argument is a constant, then we can minify it.
        +            try {
        +                var code = "n(function(" + self.args.slice(0, -1).map(function(arg) {
        +                    return arg.value;
        +                }).join(",") + "){" + self.args[self.args.length - 1].value + "})";
        +                var ast = lib_parse_parse(code);
        +                var mangle = compressor.mangle_options();
        +                ast.figure_out_scope(mangle);
        +                var comp = new Compressor(compressor.options, {
        +                    mangle_options: compressor._mangle_options
        +                });
        +                ast = ast.transform(comp);
        +                ast.figure_out_scope(mangle);
        +                ast.compute_char_frequency(mangle);
        +                ast.mangle_names(mangle);
        +                var fun;
        +                walk(ast, node => {
        +                    if (is_func_expr(node)) {
        +                        fun = node;
        +                        return walk_abort;
        +                    }
        +                });
        +                var code = OutputStream();
        +                AST_BlockStatement.prototype._codegen.call(fun, fun, code);
        +                self.args = [
        +                    make_node(AST_String, self, {
        +                        value: fun.argnames.map(function(arg) {
        +                            return arg.print_to_string();
        +                        }).join(",")
        +                    }),
        +                    make_node(AST_String, self.args[self.args.length - 1], {
        +                        value: code.get().replace(/^{|}$/g, "")
        +                    })
        +                ];
        +                return self;
        +            } catch (ex) {
        +                if (!(ex instanceof JS_Parse_Error)) {
        +                    throw ex;
        +                }
        +
        +                // Otherwise, it crashes at runtime. Or maybe it's nonstandard syntax.
        +            }
        +        }
        +    }
        +
        +    return inline_into_call(self, compressor);
        +});
        +
        +/** Does this node contain optional property access or optional call? */
        +AST_Node.DEFMETHOD("contains_optional", function() {
        +    if (
        +        this instanceof AST_PropAccess
        +        || this instanceof AST_Call
        +        || this instanceof AST_Chain
        +    ) {
        +        if (this.optional) {
        +            return true;
        +        } else {
        +            return this.expression.contains_optional();
        +        }
        +    } else {
        +        return false;
        +    }
        +});
        +
        +def_optimize(AST_New, function(self, compressor) {
        +    if (
        +        compressor.option("unsafe") &&
        +        is_undeclared_ref(self.expression) &&
        +        ["Object", "RegExp", "Function", "Error", "Array"].includes(self.expression.name)
        +    ) return make_node(AST_Call, self, self).transform(compressor);
        +    return self;
        +});
        +
        +def_optimize(AST_Sequence, function(self, compressor) {
        +    if (!compressor.option("side_effects")) return self;
        +    var expressions = [];
        +    filter_for_side_effects();
        +    var end = expressions.length - 1;
        +    trim_right_for_undefined();
        +    if (end == 0) {
        +        self = maintain_this_binding(compressor.parent(), compressor.self(), expressions[0]);
        +        if (!(self instanceof AST_Sequence)) self = self.optimize(compressor);
        +        return self;
        +    }
        +    self.expressions = expressions;
        +    return self;
        +
        +    function filter_for_side_effects() {
        +        var first = first_in_statement(compressor);
        +        var last = self.expressions.length - 1;
        +        self.expressions.forEach(function(expr, index) {
        +            if (index < last) expr = expr.drop_side_effect_free(compressor, first);
        +            if (expr) {
        +                merge_sequence(expressions, expr);
        +                first = false;
        +            }
        +        });
        +    }
        +
        +    function trim_right_for_undefined() {
        +        while (end > 0 && is_undefined(expressions[end], compressor)) end--;
        +        if (end < expressions.length - 1) {
        +            expressions[end] = make_node(AST_UnaryPrefix, self, {
        +                operator   : "void",
        +                expression : expressions[end]
        +            });
        +            expressions.length = end + 1;
        +        }
        +    }
        +});
        +
        +AST_Unary.DEFMETHOD("lift_sequences", function(compressor) {
        +    if (compressor.option("sequences")) {
        +        if (this.expression instanceof AST_Sequence) {
        +            var x = this.expression.expressions.slice();
        +            var e = this.clone();
        +            e.expression = x.pop();
        +            x.push(e);
        +            return make_sequence(this, x).optimize(compressor);
        +        }
        +    }
        +    return this;
        +});
        +
        +def_optimize(AST_UnaryPostfix, function(self, compressor) {
        +    return self.lift_sequences(compressor);
        +});
        +
        +def_optimize(AST_UnaryPrefix, function(self, compressor) {
        +    var e = self.expression;
        +    if (
        +        self.operator == "delete" &&
        +        !(
        +            e instanceof AST_SymbolRef ||
        +            e instanceof AST_PropAccess ||
        +            e instanceof AST_Chain ||
        +            is_identifier_atom(e)
        +        )
        +    ) {
        +        return make_sequence(self, [e, make_node(AST_True, self)]).optimize(compressor);
        +    }
        +    // Short-circuit common `void 0`
        +    if (self.operator === "void" && e instanceof AST_Number && e.value === 0) {
        +        return unsafe_undefined_ref(self, compressor) || self;
        +    }
        +    var seq = self.lift_sequences(compressor);
        +    if (seq !== self) {
        +        return seq;
        +    }
        +    if (compressor.option("side_effects") && self.operator == "void") {
        +        e = e.drop_side_effect_free(compressor);
        +        if (e) {
        +            self.expression = e;
        +            return self;
        +        } else {
        +            return make_void_0(self).optimize(compressor);
        +        }
        +    }
        +    if (compressor.in_boolean_context()) {
        +        switch (self.operator) {
        +          case "!":
        +            if (e instanceof AST_UnaryPrefix && e.operator == "!") {
        +                // !!foo ==> foo, if we're in boolean context
        +                return e.expression;
        +            }
        +            if (e instanceof AST_Binary) {
        +                self = best_of(compressor, self, e.negate(compressor, first_in_statement(compressor)));
        +            }
        +            break;
        +          case "typeof":
        +            // typeof always returns a non-empty string, thus it's
        +            // always true in booleans
        +            // And we don't need to check if it's undeclared, because in typeof, that's OK
        +            return (e instanceof AST_SymbolRef ? make_node(AST_True, self) : make_sequence(self, [
        +                e,
        +                make_node(AST_True, self)
        +            ])).optimize(compressor);
        +        }
        +    }
        +    if (self.operator == "-" && e instanceof AST_Infinity) {
        +        e = e.transform(compressor);
        +    }
        +    if (e instanceof AST_Binary
        +        && (self.operator == "+" || self.operator == "-")
        +        && (e.operator == "*" || e.operator == "/" || e.operator == "%")) {
        +        return make_node(AST_Binary, self, {
        +            operator: e.operator,
        +            left: make_node(AST_UnaryPrefix, e.left, {
        +                operator: self.operator,
        +                expression: e.left
        +            }),
        +            right: e.right
        +        });
        +    }
        +
        +    if (compressor.option("evaluate")) {
        +        // ~~x => x (in 32-bit context)
        +        // ~~{32 bit integer} => {32 bit integer}
        +        if (
        +            self.operator === "~"
        +            && self.expression instanceof AST_UnaryPrefix
        +            && self.expression.operator === "~"
        +            && (compressor.in_32_bit_context(false) || self.expression.expression.is_32_bit_integer(compressor))
        +        ) {
        +            return self.expression.expression;
        +        }
        +
        +        // ~(x ^ y) => x ^ ~y
        +        if (
        +            self.operator === "~"
        +            && e instanceof AST_Binary
        +            && e.operator === "^"
        +        ) {
        +            if (e.left instanceof AST_UnaryPrefix && e.left.operator === "~") {
        +                // ~(~x ^ y) => x ^ y
        +                e.left = e.left.bitwise_negate(compressor, true);
        +            } else {
        +                e.right = e.right.bitwise_negate(compressor, true);
        +            }
        +            return e;
        +        }
        +    }
        +
        +    if (
        +        self.operator != "-"
        +        // avoid infinite recursion of numerals
        +        || !(e instanceof AST_Number || e instanceof AST_Infinity || e instanceof AST_BigInt)
        +    ) {
        +        var ev = self.evaluate(compressor);
        +        if (ev !== self) {
        +            ev = make_node_from_constant(ev, self).optimize(compressor);
        +            return best_of(compressor, ev, self);
        +        }
        +    }
        +    return self;
        +});
        +
        +AST_Binary.DEFMETHOD("lift_sequences", function(compressor) {
        +    if (compressor.option("sequences")) {
        +        if (this.left instanceof AST_Sequence) {
        +            var x = this.left.expressions.slice();
        +            var e = this.clone();
        +            e.left = x.pop();
        +            x.push(e);
        +            return make_sequence(this, x).optimize(compressor);
        +        }
        +        if (this.right instanceof AST_Sequence && !this.left.has_side_effects(compressor)) {
        +            var assign = this.operator == "=" && this.left instanceof AST_SymbolRef;
        +            var x = this.right.expressions;
        +            var last = x.length - 1;
        +            for (var i = 0; i < last; i++) {
        +                if (!assign && x[i].has_side_effects(compressor)) break;
        +            }
        +            if (i == last) {
        +                x = x.slice();
        +                var e = this.clone();
        +                e.right = x.pop();
        +                x.push(e);
        +                return make_sequence(this, x).optimize(compressor);
        +            } else if (i > 0) {
        +                var e = this.clone();
        +                e.right = make_sequence(this.right, x.slice(i));
        +                x = x.slice(0, i);
        +                x.push(e);
        +                return make_sequence(this, x).optimize(compressor);
        +            }
        +        }
        +    }
        +    return this;
        +});
        +
        +var commutativeOperators = makePredicate("== === != !== * & | ^");
        +function is_object(node) {
        +    return node instanceof AST_Array
        +        || node instanceof AST_Lambda
        +        || node instanceof AST_Object
        +        || node instanceof AST_Class;
        +}
        +
        +def_optimize(AST_Binary, function(self, compressor) {
        +    function reversible() {
        +        return self.left.is_constant()
        +            || self.right.is_constant()
        +            || !self.left.has_side_effects(compressor)
        +                && !self.right.has_side_effects(compressor);
        +    }
        +    function reverse(op) {
        +        if (reversible()) {
        +            if (op) self.operator = op;
        +            var tmp = self.left;
        +            self.left = self.right;
        +            self.right = tmp;
        +        }
        +    }
        +    if (compressor.option("lhs_constants") && commutativeOperators.has(self.operator)) {
        +        if (self.right.is_constant()
        +            && !self.left.is_constant()) {
        +            // if right is a constant, whatever side effects the
        +            // left side might have could not influence the
        +            // result.  hence, force switch.
        +
        +            if (!(self.left instanceof AST_Binary
        +                  && PRECEDENCE[self.left.operator] >= PRECEDENCE[self.operator])) {
        +                reverse();
        +            }
        +        }
        +    }
        +    self = self.lift_sequences(compressor);
        +    if (compressor.option("comparisons")) switch (self.operator) {
        +      case "===":
        +      case "!==":
        +        var is_strict_comparison = true;
        +        if (
        +            (self.left.is_string(compressor) && self.right.is_string(compressor)) ||
        +            (self.left.is_number(compressor) && self.right.is_number(compressor)) ||
        +            (self.left.is_bigint(compressor) && self.right.is_bigint(compressor)) ||
        +            (self.left.is_boolean() && self.right.is_boolean()) ||
        +            self.left.equivalent_to(self.right)
        +        ) {
        +            self.operator = self.operator.substr(0, 2);
        +        }
        +
        +        // XXX: intentionally falling down to the next case
        +      case "==":
        +      case "!=":
        +        // void 0 == x => null == x
        +        if (!is_strict_comparison && is_undefined(self.left, compressor)) {
        +            self.left = make_node(AST_Null, self.left);
        +        // x == void 0 => x == null
        +        } else if (!is_strict_comparison && is_undefined(self.right, compressor)) {
        +            self.right = make_node(AST_Null, self.right);
        +        } else if (compressor.option("typeofs")
        +            // "undefined" == typeof x => undefined === x
        +            && self.left instanceof AST_String
        +            && self.left.value == "undefined"
        +            && self.right instanceof AST_UnaryPrefix
        +            && self.right.operator == "typeof") {
        +            var expr = self.right.expression;
        +            if (expr instanceof AST_SymbolRef ? expr.is_declared(compressor)
        +                : !(expr instanceof AST_PropAccess && compressor.option("ie8"))) {
        +                self.right = expr;
        +                self.left = make_void_0(self.left).optimize(compressor);
        +                if (self.operator.length == 2) self.operator += "=";
        +            }
        +        } else if (compressor.option("typeofs")
        +            // typeof x === "undefined" => x === undefined
        +            && self.left instanceof AST_UnaryPrefix
        +            && self.left.operator == "typeof"
        +            && self.right instanceof AST_String
        +            && self.right.value == "undefined") {
        +            var expr = self.left.expression;
        +            if (expr instanceof AST_SymbolRef ? expr.is_declared(compressor)
        +                : !(expr instanceof AST_PropAccess && compressor.option("ie8"))) {
        +                self.left = expr;
        +                self.right = make_void_0(self.right).optimize(compressor);
        +                if (self.operator.length == 2) self.operator += "=";
        +            }
        +        } else if (self.left instanceof AST_SymbolRef
        +            // obj !== obj => false
        +            && self.right instanceof AST_SymbolRef
        +            && self.left.definition() === self.right.definition()
        +            && is_object(self.left.fixed_value())) {
        +            return make_node(self.operator[0] == "=" ? AST_True : AST_False, self);
        +        } else if (self.left.is_32_bit_integer(compressor) && self.right.is_32_bit_integer(compressor)) {
        +            const not = node => make_node(AST_UnaryPrefix, node, {
        +                operator: "!",
        +                expression: node
        +            });
        +            const booleanify = (node, truthy) => {
        +                if (truthy) {
        +                    return compressor.in_boolean_context()
        +                        ? node
        +                        : not(not(node));
        +                } else {
        +                    return not(node);
        +                }
        +            };
        +
        +            // The only falsy 32-bit integer is 0
        +            if (self.left instanceof AST_Number && self.left.value === 0) {
        +                return booleanify(self.right, self.operator[0] === "!");
        +            }
        +            if (self.right instanceof AST_Number && self.right.value === 0) {
        +                return booleanify(self.left, self.operator[0] === "!");
        +            }
        +
        +            // Mask all-bits check
        +            // (x & 0xFF) != 0xFF => !(~x & 0xFF)
        +            let and_op, x, mask;
        +            if (
        +                (and_op =
        +                    self.left instanceof AST_Binary ? self.left
        +                    : self.right instanceof AST_Binary ? self.right : null)
        +                && (mask = and_op === self.left ? self.right : self.left)
        +                && and_op.operator === "&"
        +                && mask instanceof AST_Number
        +                && mask.is_32_bit_integer(compressor)
        +                && (x =
        +                    and_op.left.equivalent_to(mask) ? and_op.right
        +                    : and_op.right.equivalent_to(mask) ? and_op.left : null)
        +            ) {
        +                let optimized = booleanify(make_node(AST_Binary, self, {
        +                    operator: "&",
        +                    left: mask,
        +                    right: make_node(AST_UnaryPrefix, self, {
        +                        operator: "~",
        +                        expression: x
        +                    })
        +                }), self.operator[0] === "!");
        +
        +                return best_of(compressor, optimized, self);
        +            }
        +        }
        +        break;
        +      case "&&":
        +      case "||":
        +        var lhs = self.left;
        +        if (lhs.operator == self.operator) {
        +            lhs = lhs.right;
        +        }
        +        if (lhs instanceof AST_Binary
        +            && lhs.operator == (self.operator == "&&" ? "!==" : "===")
        +            && self.right instanceof AST_Binary
        +            && lhs.operator == self.right.operator
        +            && (is_undefined(lhs.left, compressor) && self.right.left instanceof AST_Null
        +                || lhs.left instanceof AST_Null && is_undefined(self.right.left, compressor))
        +            && !lhs.right.has_side_effects(compressor)
        +            && lhs.right.equivalent_to(self.right.right)) {
        +            var combined = make_node(AST_Binary, self, {
        +                operator: lhs.operator.slice(0, -1),
        +                left: make_node(AST_Null, self),
        +                right: lhs.right
        +            });
        +            if (lhs !== self.left) {
        +                combined = make_node(AST_Binary, self, {
        +                    operator: self.operator,
        +                    left: self.left.left,
        +                    right: combined
        +                });
        +            }
        +            return combined;
        +        }
        +        break;
        +    }
        +    if (self.operator == "+" && compressor.in_boolean_context()) {
        +        var ll = self.left.evaluate(compressor);
        +        var rr = self.right.evaluate(compressor);
        +        if (ll && typeof ll == "string") {
        +            return make_sequence(self, [
        +                self.right,
        +                make_node(AST_True, self)
        +            ]).optimize(compressor);
        +        }
        +        if (rr && typeof rr == "string") {
        +            return make_sequence(self, [
        +                self.left,
        +                make_node(AST_True, self)
        +            ]).optimize(compressor);
        +        }
        +    }
        +    if (compressor.option("comparisons") && self.is_boolean()) {
        +        if (!(compressor.parent() instanceof AST_Binary)
        +            || compressor.parent() instanceof AST_Assign) {
        +            var negated = make_node(AST_UnaryPrefix, self, {
        +                operator: "!",
        +                expression: self.negate(compressor, first_in_statement(compressor))
        +            });
        +            self = best_of(compressor, self, negated);
        +        }
        +        if (compressor.option("unsafe_comps")) {
        +            switch (self.operator) {
        +              case "<": reverse(">"); break;
        +              case "<=": reverse(">="); break;
        +            }
        +        }
        +    }
        +    if (self.operator == "+") {
        +        if (self.right instanceof AST_String
        +            && self.right.getValue() == ""
        +            && self.left.is_string(compressor)) {
        +            return self.left;
        +        }
        +        if (self.left instanceof AST_String
        +            && self.left.getValue() == ""
        +            && self.right.is_string(compressor)) {
        +            return self.right;
        +        }
        +        if (self.left instanceof AST_Binary
        +            && self.left.operator == "+"
        +            && self.left.left instanceof AST_String
        +            && self.left.left.getValue() == ""
        +            && self.right.is_string(compressor)) {
        +            self.left = self.left.right;
        +            return self;
        +        }
        +    }
        +    if (compressor.option("evaluate")) {
        +        switch (self.operator) {
        +          case "&&":
        +            var ll = has_flag(self.left, TRUTHY)
        +                ? true
        +                : has_flag(self.left, FALSY)
        +                    ? false
        +                    : self.left.evaluate(compressor);
        +            if (!ll) {
        +                return maintain_this_binding(compressor.parent(), compressor.self(), self.left).optimize(compressor);
        +            } else if (!(ll instanceof AST_Node)) {
        +                return make_sequence(self, [ self.left, self.right ]).optimize(compressor);
        +            }
        +            var rr = self.right.evaluate(compressor);
        +            if (!rr) {
        +                if (compressor.in_boolean_context()) {
        +                    return make_sequence(self, [
        +                        self.left,
        +                        make_node(AST_False, self)
        +                    ]).optimize(compressor);
        +                } else {
        +                    set_flag(self, FALSY);
        +                }
        +            } else if (!(rr instanceof AST_Node)) {
        +                var parent = compressor.parent();
        +                if (parent.operator == "&&" && parent.left === compressor.self() || compressor.in_boolean_context()) {
        +                    return self.left.optimize(compressor);
        +                }
        +            }
        +            // x || false && y ---> x ? y : false
        +            if (self.left.operator == "||") {
        +                var lr = self.left.right.evaluate(compressor);
        +                if (!lr) return make_node(AST_Conditional, self, {
        +                    condition: self.left.left,
        +                    consequent: self.right,
        +                    alternative: self.left.right
        +                }).optimize(compressor);
        +            }
        +            break;
        +          case "||":
        +            var ll = has_flag(self.left, TRUTHY)
        +              ? true
        +              : has_flag(self.left, FALSY)
        +                ? false
        +                : self.left.evaluate(compressor);
        +            if (!ll) {
        +                return make_sequence(self, [ self.left, self.right ]).optimize(compressor);
        +            } else if (!(ll instanceof AST_Node)) {
        +                return maintain_this_binding(compressor.parent(), compressor.self(), self.left).optimize(compressor);
        +            }
        +            var rr = self.right.evaluate(compressor);
        +            if (!rr) {
        +                var parent = compressor.parent();
        +                if (parent.operator == "||" && parent.left === compressor.self() || compressor.in_boolean_context()) {
        +                    return self.left.optimize(compressor);
        +                }
        +            } else if (!(rr instanceof AST_Node)) {
        +                if (compressor.in_boolean_context()) {
        +                    return make_sequence(self, [
        +                        self.left,
        +                        make_node(AST_True, self)
        +                    ]).optimize(compressor);
        +                } else {
        +                    set_flag(self, TRUTHY);
        +                }
        +            }
        +            if (self.left.operator == "&&") {
        +                var lr = self.left.right.evaluate(compressor);
        +                if (lr && !(lr instanceof AST_Node)) return make_node(AST_Conditional, self, {
        +                    condition: self.left.left,
        +                    consequent: self.left.right,
        +                    alternative: self.right
        +                }).optimize(compressor);
        +            }
        +            break;
        +          case "??":
        +            if (is_nullish(self.left, compressor)) {
        +                return self.right;
        +            }
        +
        +            var ll = self.left.evaluate(compressor);
        +            if (!(ll instanceof AST_Node)) {
        +                // if we know the value for sure we can simply compute right away.
        +                return ll == null ? self.right : self.left;
        +            }
        +
        +            if (compressor.in_boolean_context()) {
        +                const rr = self.right.evaluate(compressor);
        +                if (!(rr instanceof AST_Node) && !rr) {
        +                    return self.left;
        +                }
        +            }
        +        }
        +        var associative = true;
        +        switch (self.operator) {
        +          case "+":
        +            // (x + "foo") + "bar" => x + "foobar"
        +            if (self.right instanceof AST_Constant
        +                && self.left instanceof AST_Binary
        +                && self.left.operator == "+"
        +                && self.left.is_string(compressor)) {
        +                var binary = make_node(AST_Binary, self, {
        +                    operator: "+",
        +                    left: self.left.right,
        +                    right: self.right,
        +                });
        +                var r = binary.optimize(compressor);
        +                if (binary !== r) {
        +                    self = make_node(AST_Binary, self, {
        +                        operator: "+",
        +                        left: self.left.left,
        +                        right: r
        +                    });
        +                }
        +            }
        +            // (x + "foo") + ("bar" + y) => (x + "foobar") + y
        +            if (self.left instanceof AST_Binary
        +                && self.left.operator == "+"
        +                && self.left.is_string(compressor)
        +                && self.right instanceof AST_Binary
        +                && self.right.operator == "+"
        +                && self.right.is_string(compressor)) {
        +                var binary = make_node(AST_Binary, self, {
        +                    operator: "+",
        +                    left: self.left.right,
        +                    right: self.right.left,
        +                });
        +                var m = binary.optimize(compressor);
        +                if (binary !== m) {
        +                    self = make_node(AST_Binary, self, {
        +                        operator: "+",
        +                        left: make_node(AST_Binary, self.left, {
        +                            operator: "+",
        +                            left: self.left.left,
        +                            right: m
        +                        }),
        +                        right: self.right.right
        +                    });
        +                }
        +            }
        +            // a + -b => a - b
        +            if (self.right instanceof AST_UnaryPrefix
        +                && self.right.operator == "-"
        +                && self.left.is_number_or_bigint(compressor)) {
        +                self = make_node(AST_Binary, self, {
        +                    operator: "-",
        +                    left: self.left,
        +                    right: self.right.expression
        +                });
        +                break;
        +            }
        +            // -a + b => b - a
        +            if (self.left instanceof AST_UnaryPrefix
        +                && self.left.operator == "-"
        +                && reversible()
        +                && self.right.is_number_or_bigint(compressor)) {
        +                self = make_node(AST_Binary, self, {
        +                    operator: "-",
        +                    left: self.right,
        +                    right: self.left.expression
        +                });
        +                break;
        +            }
        +            // `foo${bar}baz` + 1 => `foo${bar}baz1`
        +            if (self.left instanceof AST_TemplateString) {
        +                var l = self.left;
        +                var r = self.right.evaluate(compressor);
        +                if (r != self.right) {
        +                    l.segments[l.segments.length - 1].value += String(r);
        +                    return l;
        +                }
        +            }
        +            // 1 + `foo${bar}baz` => `1foo${bar}baz`
        +            if (self.right instanceof AST_TemplateString) {
        +                var r = self.right;
        +                var l = self.left.evaluate(compressor);
        +                if (l != self.left) {
        +                    r.segments[0].value = String(l) + r.segments[0].value;
        +                    return r;
        +                }
        +            }
        +            // `1${bar}2` + `foo${bar}baz` => `1${bar}2foo${bar}baz`
        +            if (self.left instanceof AST_TemplateString
        +                && self.right instanceof AST_TemplateString) {
        +                var l = self.left;
        +                var segments = l.segments;
        +                var r = self.right;
        +                segments[segments.length - 1].value += r.segments[0].value;
        +                for (var i = 1; i < r.segments.length; i++) {
        +                    segments.push(r.segments[i]);
        +                }
        +                return l;
        +            }
        +          case "*":
        +            associative = compressor.option("unsafe_math");
        +          case "&":
        +          case "|":
        +          case "^":
        +            // a + +b => +b + a
        +            if (
        +                self.left.is_number_or_bigint(compressor)
        +                && self.right.is_number_or_bigint(compressor)
        +                && reversible()
        +                && !(self.left instanceof AST_Binary
        +                    && self.left.operator != self.operator
        +                    && PRECEDENCE[self.left.operator] >= PRECEDENCE[self.operator])) {
        +                var reversed = make_node(AST_Binary, self, {
        +                    operator: self.operator,
        +                    left: self.right,
        +                    right: self.left
        +                });
        +                if (self.right instanceof AST_Constant
        +                    && !(self.left instanceof AST_Constant)) {
        +                    self = best_of(compressor, reversed, self);
        +                } else {
        +                    self = best_of(compressor, self, reversed);
        +                }
        +            }
        +            if (associative && self.is_number_or_bigint(compressor)) {
        +                // a + (b + c) => (a + b) + c
        +                if (self.right instanceof AST_Binary
        +                    && self.right.operator == self.operator) {
        +                    self = make_node(AST_Binary, self, {
        +                        operator: self.operator,
        +                        left: make_node(AST_Binary, self.left, {
        +                            operator: self.operator,
        +                            left: self.left,
        +                            right: self.right.left,
        +                            start: self.left.start,
        +                            end: self.right.left.end
        +                        }),
        +                        right: self.right.right
        +                    });
        +                }
        +                // (n + 2) + 3 => 5 + n
        +                // (2 * n) * 3 => 6 + n
        +                if (self.right instanceof AST_Constant
        +                    && self.left instanceof AST_Binary
        +                    && self.left.operator == self.operator) {
        +                    if (self.left.left instanceof AST_Constant) {
        +                        self = make_node(AST_Binary, self, {
        +                            operator: self.operator,
        +                            left: make_node(AST_Binary, self.left, {
        +                                operator: self.operator,
        +                                left: self.left.left,
        +                                right: self.right,
        +                                start: self.left.left.start,
        +                                end: self.right.end
        +                            }),
        +                            right: self.left.right
        +                        });
        +                    } else if (self.left.right instanceof AST_Constant) {
        +                        self = make_node(AST_Binary, self, {
        +                            operator: self.operator,
        +                            left: make_node(AST_Binary, self.left, {
        +                                operator: self.operator,
        +                                left: self.left.right,
        +                                right: self.right,
        +                                start: self.left.right.start,
        +                                end: self.right.end
        +                            }),
        +                            right: self.left.left
        +                        });
        +                    }
        +                }
        +                // (a | 1) | (2 | d) => (3 | a) | b
        +                if (self.left instanceof AST_Binary
        +                    && self.left.operator == self.operator
        +                    && self.left.right instanceof AST_Constant
        +                    && self.right instanceof AST_Binary
        +                    && self.right.operator == self.operator
        +                    && self.right.left instanceof AST_Constant) {
        +                    self = make_node(AST_Binary, self, {
        +                        operator: self.operator,
        +                        left: make_node(AST_Binary, self.left, {
        +                            operator: self.operator,
        +                            left: make_node(AST_Binary, self.left.left, {
        +                                operator: self.operator,
        +                                left: self.left.right,
        +                                right: self.right.left,
        +                                start: self.left.right.start,
        +                                end: self.right.left.end
        +                            }),
        +                            right: self.left.left
        +                        }),
        +                        right: self.right.right
        +                    });
        +                }
        +            }
        +        }
        +
        +        // bitwise ops
        +        if (bitwise_binop.has(self.operator)) {
        +            // Use De Morgan's laws
        +            // z & (X | y)
        +            // => z & X (given y & z === 0)
        +            // => z & X | {y & z} (given y & z !== 0)
        +            let y, z, x_node, y_node, z_node = self.left;
        +            if (
        +                self.operator === "&"
        +                && self.right instanceof AST_Binary
        +                && self.right.operator === "|"
        +                && typeof (z = self.left.evaluate(compressor)) === "number"
        +            ) {
        +                if (typeof (y = self.right.right.evaluate(compressor)) === "number") {
        +                    // z & (X | y)
        +                    x_node = self.right.left;
        +                    y_node = self.right.right;
        +                } else if (typeof (y = self.right.left.evaluate(compressor)) === "number") {
        +                    // z & (y | X)
        +                    x_node = self.right.right;
        +                    y_node = self.right.left;
        +                }
        +
        +                if (x_node && y_node) {
        +                    if ((y & z) === 0) {
        +                        self = make_node(AST_Binary, self, {
        +                            operator: self.operator,
        +                            left: z_node,
        +                            right: x_node
        +                        });
        +                    } else {
        +                        const reordered_ops = make_node(AST_Binary, self, {
        +                            operator: "|",
        +                            left: make_node(AST_Binary, self, {
        +                                operator: "&",
        +                                left: x_node,
        +                                right: z_node
        +                            }),
        +                            right: make_node_from_constant(y & z, y_node),
        +                        });
        +
        +                        self = best_of(compressor, self, reordered_ops);
        +                    }
        +                }
        +            }
        +
        +            // x | x => 0 | x
        +            // x & x => 0 | x
        +            if (
        +                (self.operator === "|" || self.operator === "&")
        +                && self.left.equivalent_to(self.right)
        +                && !self.left.has_side_effects(compressor)
        +                && compressor.in_32_bit_context(true)
        +            ) {
        +                self.left = make_node(AST_Number, self, { value: 0 });
        +                self.operator = "|";
        +            }
        +
        +            // ~x ^ ~y => x ^ y
        +            if (
        +                self.operator === "^"
        +                && self.left instanceof AST_UnaryPrefix
        +                && self.left.operator === "~"
        +                && self.right instanceof AST_UnaryPrefix
        +                && self.right.operator === "~"
        +            ) {
        +                self = make_node(AST_Binary, self, {
        +                    operator: "^",
        +                    left: self.left.expression,
        +                    right: self.right.expression
        +                });
        +            }
        +
        +
        +            // Shifts that do nothing
        +            // {anything} >> 0 => {anything} | 0
        +            // {anything} << 0 => {anything} | 0
        +            if (
        +                (self.operator === "<<" || self.operator === ">>")
        +                && self.right instanceof AST_Number && self.right.value === 0
        +            ) {
        +                self.operator = "|";
        +            }
        +
        +            // Find useless to-bitwise conversions
        +            // {32 bit integer} | 0 => {32 bit integer}
        +            // {32 bit integer} ^ 0 => {32 bit integer}
        +            const zero_side = self.right instanceof AST_Number && self.right.value === 0 ? self.right
        +                : self.left instanceof AST_Number && self.left.value === 0 ? self.left
        +                : null;
        +            const non_zero_side = zero_side && (zero_side === self.right ? self.left : self.right);
        +            if (
        +                zero_side
        +                && (self.operator === "|" || self.operator === "^")
        +                && (non_zero_side.is_32_bit_integer(compressor) || compressor.in_32_bit_context(true))
        +            ) {
        +                return non_zero_side;
        +            }
        +
        +            // {anything} & 0 => 0
        +            if (
        +                zero_side
        +                && self.operator === "&"
        +                && !non_zero_side.has_side_effects(compressor)
        +                && non_zero_side.is_32_bit_integer(compressor)
        +            ) {
        +                return zero_side;
        +            }
        +
        +            // ~0 is all ones, as well as -1.
        +            // We can ellide some operations with it.
        +            const is_full_mask = (node) =>
        +                node instanceof AST_Number && node.value === -1
        +                ||
        +                    node instanceof AST_UnaryPrefix
        +                    && node.operator === "-"
        +                    && node.expression instanceof AST_Number
        +                    && node.expression.value === 1;
        +
        +            const full_mask = is_full_mask(self.right) ? self.right
        +                : is_full_mask(self.left) ? self.left
        +                : null;
        +            const other_side = (full_mask === self.right ? self.left : self.right);
        +
        +            // {32 bit integer} & -1 => {32 bit integer}
        +            if (
        +                full_mask
        +                && self.operator === "&"
        +                && (
        +                    other_side.is_32_bit_integer(compressor)
        +                    || compressor.in_32_bit_context(true)
        +                )
        +            ) {
        +                return other_side;
        +            }
        +
        +            // {anything} ^ -1 => ~{anything}
        +            if (
        +                full_mask
        +                && self.operator === "^"
        +                && (
        +                    other_side.is_32_bit_integer(compressor)
        +                    || compressor.in_32_bit_context(true)
        +                )
        +            ) {
        +                return other_side.bitwise_negate(compressor);
        +            }
        +        }
        +    }
        +    // x && (y && z)  ==>  x && y && z
        +    // x || (y || z)  ==>  x || y || z
        +    // x + ("y" + z)  ==>  x + "y" + z
        +    // "x" + (y + "z")==>  "x" + y + "z"
        +    if (self.right instanceof AST_Binary
        +        && self.right.operator == self.operator
        +        && (lazy_op.has(self.operator)
        +            || (self.operator == "+"
        +                && (self.right.left.is_string(compressor)
        +                    || (self.left.is_string(compressor)
        +                        && self.right.right.is_string(compressor)))))
        +    ) {
        +        self.left = make_node(AST_Binary, self.left, {
        +            operator : self.operator,
        +            left     : self.left.transform(compressor),
        +            right    : self.right.left.transform(compressor)
        +        });
        +        self.right = self.right.right.transform(compressor);
        +        return self.transform(compressor);
        +    }
        +    var ev = self.evaluate(compressor);
        +    if (ev !== self) {
        +        ev = make_node_from_constant(ev, self).optimize(compressor);
        +        return best_of(compressor, ev, self);
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_SymbolExport, function(self) {
        +    return self;
        +});
        +
        +def_optimize(AST_SymbolRef, function(self, compressor) {
        +    if (
        +        !compressor.option("ie8")
        +        && is_undeclared_ref(self)
        +        && !compressor.find_parent(AST_With)
        +    ) {
        +        switch (self.name) {
        +          case "undefined":
        +            return make_node(AST_Undefined, self).optimize(compressor);
        +          case "NaN":
        +            return make_node(AST_NaN, self).optimize(compressor);
        +          case "Infinity":
        +            return make_node(AST_Infinity, self).optimize(compressor);
        +        }
        +    }
        +
        +    if (compressor.option("reduce_vars") && !compressor.is_lhs()) {
        +        return inline_into_symbolref(self, compressor);
        +    } else {
        +        return self;
        +    }
        +});
        +
        +function is_atomic(lhs, self) {
        +    return lhs instanceof AST_SymbolRef || lhs.TYPE === self.TYPE;
        +}
        +
        +/** Apply the `unsafe_undefined` option: find a variable called `undefined` and turn `self` into a reference to it. */
        +function unsafe_undefined_ref(self, compressor) {
        +    if (compressor.option("unsafe_undefined")) {
        +        var undef = find_variable(compressor, "undefined");
        +        if (undef) {
        +            var ref = make_node(AST_SymbolRef, self, {
        +                name   : "undefined",
        +                scope  : undef.scope,
        +                thedef : undef
        +            });
        +            set_flag(ref, UNDEFINED);
        +            return ref;
        +        }
        +    }
        +    return null;
        +}
        +
        +def_optimize(AST_Undefined, function(self, compressor) {
        +    var symbolref = unsafe_undefined_ref(self, compressor);
        +    if (symbolref) return symbolref;
        +    var lhs = compressor.is_lhs();
        +    if (lhs && is_atomic(lhs, self)) return self;
        +    return make_void_0(self);
        +});
        +
        +def_optimize(AST_Infinity, function(self, compressor) {
        +    var lhs = compressor.is_lhs();
        +    if (lhs && is_atomic(lhs, self)) return self;
        +    if (
        +        compressor.option("keep_infinity")
        +        && !(lhs && !is_atomic(lhs, self))
        +        && !find_variable(compressor, "Infinity")
        +    ) {
        +        return self;
        +    }
        +    return make_node(AST_Binary, self, {
        +        operator: "/",
        +        left: make_node(AST_Number, self, {
        +            value: 1
        +        }),
        +        right: make_node(AST_Number, self, {
        +            value: 0
        +        })
        +    });
        +});
        +
        +def_optimize(AST_NaN, function(self, compressor) {
        +    var lhs = compressor.is_lhs();
        +    if (lhs && !is_atomic(lhs, self)
        +        || find_variable(compressor, "NaN")) {
        +        return make_node(AST_Binary, self, {
        +            operator: "/",
        +            left: make_node(AST_Number, self, {
        +                value: 0
        +            }),
        +            right: make_node(AST_Number, self, {
        +                value: 0
        +            })
        +        });
        +    }
        +    return self;
        +});
        +
        +const ASSIGN_OPS = makePredicate("+ - / * % >> << >>> | ^ &");
        +const ASSIGN_OPS_COMMUTATIVE = makePredicate("* | ^ &");
        +def_optimize(AST_Assign, function(self, compressor) {
        +    if (self.logical) {
        +        return self.lift_sequences(compressor);
        +    }
        +
        +    var def;
        +    // x = x ---> x
        +    if (
        +        self.operator === "="
        +        && self.left instanceof AST_SymbolRef
        +        && self.left.name !== "arguments"
        +        && !(def = self.left.definition()).undeclared
        +        && self.right.equivalent_to(self.left)
        +    ) {
        +        return self.right;
        +    }
        +
        +    if (compressor.option("dead_code")
        +        && self.left instanceof AST_SymbolRef
        +        && (def = self.left.definition()).scope === compressor.find_parent(AST_Lambda)) {
        +        var level = 0, node, parent = self;
        +        do {
        +            node = parent;
        +            parent = compressor.parent(level++);
        +            if (parent instanceof AST_Exit) {
        +                if (in_try(level, parent)) break;
        +                if (is_reachable(def.scope, [ def ])) break;
        +                if (self.operator == "=") return self.right;
        +                def.fixed = false;
        +                return make_node(AST_Binary, self, {
        +                    operator: self.operator.slice(0, -1),
        +                    left: self.left,
        +                    right: self.right
        +                }).optimize(compressor);
        +            }
        +        } while (parent instanceof AST_Binary && parent.right === node
        +            || parent instanceof AST_Sequence && parent.tail_node() === node);
        +    }
        +    self = self.lift_sequences(compressor);
        +
        +    if (self.operator == "=" && self.left instanceof AST_SymbolRef && self.right instanceof AST_Binary) {
        +        // x = expr1 OP expr2
        +        if (self.right.left instanceof AST_SymbolRef
        +            && self.right.left.name == self.left.name
        +            && ASSIGN_OPS.has(self.right.operator)) {
        +            // x = x - 2  --->  x -= 2
        +            self.operator = self.right.operator + "=";
        +            self.right = self.right.right;
        +        } else if (self.right.right instanceof AST_SymbolRef
        +            && self.right.right.name == self.left.name
        +            && ASSIGN_OPS_COMMUTATIVE.has(self.right.operator)
        +            && !self.right.left.has_side_effects(compressor)) {
        +            // x = 2 & x  --->  x &= 2
        +            self.operator = self.right.operator + "=";
        +            self.right = self.right.left;
        +        }
        +    }
        +    return self;
        +
        +    function in_try(level, node) {
        +        function may_assignment_throw() {
        +            const right = self.right;
        +            self.right = make_node(AST_Null, right);
        +            const may_throw = node.may_throw(compressor);
        +            self.right = right;
        +
        +            return may_throw;
        +        }
        +
        +        var stop_at = self.left.definition().scope.get_defun_scope();
        +        var parent;
        +        while ((parent = compressor.parent(level++)) !== stop_at) {
        +            if (parent instanceof AST_Try) {
        +                if (parent.bfinally) return true;
        +                if (parent.bcatch && may_assignment_throw()) return true;
        +            }
        +        }
        +    }
        +});
        +
        +def_optimize(AST_DefaultAssign, function(self, compressor) {
        +    if (!compressor.option("evaluate")) {
        +        return self;
        +    }
        +    var evaluateRight = self.right.evaluate(compressor);
        +
        +    // `[x = undefined] = foo` ---> `[x] = foo`
        +    // `(arg = undefined) => ...` ---> `(arg) => ...` (unless `keep_fargs`)
        +    // `((arg = undefined) => ...)()` ---> `((arg) => ...)()`
        +    let lambda, iife;
        +    if (evaluateRight === undefined) {
        +        if (
        +            (lambda = compressor.parent()) instanceof AST_Lambda
        +                ? (
        +                    compressor.option("keep_fargs") === false
        +                    || (iife = compressor.parent(1)).TYPE === "Call"
        +                        && iife.expression === lambda
        +                )
        +                : true
        +        ) {
        +            self = self.left;
        +        }
        +    } else if (evaluateRight !== self.right) {
        +        evaluateRight = make_node_from_constant(evaluateRight, self.right);
        +        self.right = best_of_expression(evaluateRight, self.right);
        +    }
        +
        +    return self;
        +});
        +
        +function is_nullish_check(check, check_subject, compressor) {
        +    if (check_subject.may_throw(compressor)) return false;
        +
        +    let nullish_side;
        +
        +    // foo == null
        +    if (
        +        check instanceof AST_Binary
        +        && check.operator === "=="
        +        // which side is nullish?
        +        && (
        +            (nullish_side = is_nullish(check.left, compressor) && check.left)
        +            || (nullish_side = is_nullish(check.right, compressor) && check.right)
        +        )
        +        // is the other side the same as the check_subject
        +        && (
        +            nullish_side === check.left
        +                ? check.right
        +                : check.left
        +        ).equivalent_to(check_subject)
        +    ) {
        +        return true;
        +    }
        +
        +    // foo === null || foo === undefined
        +    if (check instanceof AST_Binary && check.operator === "||") {
        +        let null_cmp;
        +        let undefined_cmp;
        +
        +        const find_comparison = cmp => {
        +            if (!(
        +                cmp instanceof AST_Binary
        +                && (cmp.operator === "===" || cmp.operator === "==")
        +            )) {
        +                return false;
        +            }
        +
        +            let found = 0;
        +            let defined_side;
        +
        +            if (cmp.left instanceof AST_Null) {
        +                found++;
        +                null_cmp = cmp;
        +                defined_side = cmp.right;
        +            }
        +            if (cmp.right instanceof AST_Null) {
        +                found++;
        +                null_cmp = cmp;
        +                defined_side = cmp.left;
        +            }
        +            if (is_undefined(cmp.left, compressor)) {
        +                found++;
        +                undefined_cmp = cmp;
        +                defined_side = cmp.right;
        +            }
        +            if (is_undefined(cmp.right, compressor)) {
        +                found++;
        +                undefined_cmp = cmp;
        +                defined_side = cmp.left;
        +            }
        +
        +            if (found !== 1) {
        +                return false;
        +            }
        +
        +            if (!defined_side.equivalent_to(check_subject)) {
        +                return false;
        +            }
        +
        +            return true;
        +        };
        +
        +        if (!find_comparison(check.left)) return false;
        +        if (!find_comparison(check.right)) return false;
        +
        +        if (null_cmp && undefined_cmp && null_cmp !== undefined_cmp) {
        +            return true;
        +        }
        +    }
        +
        +    return false;
        +}
        +
        +def_optimize(AST_Conditional, function(self, compressor) {
        +    if (!compressor.option("conditionals")) return self;
        +    // This looks like lift_sequences(), should probably be under "sequences"
        +    if (self.condition instanceof AST_Sequence) {
        +        var expressions = self.condition.expressions.slice();
        +        self.condition = expressions.pop();
        +        expressions.push(self);
        +        return make_sequence(self, expressions);
        +    }
        +    var cond = self.condition.evaluate(compressor);
        +    if (cond !== self.condition) {
        +        if (cond) {
        +            return maintain_this_binding(compressor.parent(), compressor.self(), self.consequent);
        +        } else {
        +            return maintain_this_binding(compressor.parent(), compressor.self(), self.alternative);
        +        }
        +    }
        +    var negated = cond.negate(compressor, first_in_statement(compressor));
        +    if (best_of(compressor, cond, negated) === negated) {
        +        self = make_node(AST_Conditional, self, {
        +            condition: negated,
        +            consequent: self.alternative,
        +            alternative: self.consequent
        +        });
        +    }
        +    var condition = self.condition;
        +    var consequent = self.consequent;
        +    var alternative = self.alternative;
        +    // x?x:y --> x||y
        +    if (condition instanceof AST_SymbolRef
        +        && consequent instanceof AST_SymbolRef
        +        && condition.definition() === consequent.definition()) {
        +        return make_node(AST_Binary, self, {
        +            operator: "||",
        +            left: condition,
        +            right: alternative
        +        });
        +    }
        +    // if (foo) exp = something; else exp = something_else;
        +    //                   |
        +    //                   v
        +    // exp = foo ? something : something_else;
        +    if (
        +        consequent instanceof AST_Assign
        +        && alternative instanceof AST_Assign
        +        && consequent.operator === alternative.operator
        +        && consequent.logical === alternative.logical
        +        && consequent.left.equivalent_to(alternative.left)
        +        && (!self.condition.has_side_effects(compressor)
        +            || consequent.operator == "="
        +                && !consequent.left.has_side_effects(compressor))
        +    ) {
        +        return make_node(AST_Assign, self, {
        +            operator: consequent.operator,
        +            left: consequent.left,
        +            logical: consequent.logical,
        +            right: make_node(AST_Conditional, self, {
        +                condition: self.condition,
        +                consequent: consequent.right,
        +                alternative: alternative.right
        +            })
        +        });
        +    }
        +    // x ? y(a) : y(b) --> y(x ? a : b)
        +    var arg_index;
        +    if (consequent instanceof AST_Call
        +        && alternative.TYPE === consequent.TYPE
        +        && consequent.args.length > 0
        +        && consequent.args.length == alternative.args.length
        +        && consequent.expression.equivalent_to(alternative.expression)
        +        && !self.condition.has_side_effects(compressor)
        +        && !consequent.expression.has_side_effects(compressor)
        +        && typeof (arg_index = single_arg_diff()) == "number") {
        +        var node = consequent.clone();
        +        node.args[arg_index] = make_node(AST_Conditional, self, {
        +            condition: self.condition,
        +            consequent: consequent.args[arg_index],
        +            alternative: alternative.args[arg_index]
        +        });
        +        return node;
        +    }
        +    // a ? b : c ? b : d --> (a || c) ? b : d
        +    if (alternative instanceof AST_Conditional
        +        && consequent.equivalent_to(alternative.consequent)) {
        +        return make_node(AST_Conditional, self, {
        +            condition: make_node(AST_Binary, self, {
        +                operator: "||",
        +                left: condition,
        +                right: alternative.condition
        +            }),
        +            consequent: consequent,
        +            alternative: alternative.alternative
        +        }).optimize(compressor);
        +    }
        +
        +    // a == null ? b : a -> a ?? b
        +    if (
        +        compressor.option("ecma") >= 2020 &&
        +        is_nullish_check(condition, alternative, compressor)
        +    ) {
        +        return make_node(AST_Binary, self, {
        +            operator: "??",
        +            left: alternative,
        +            right: consequent
        +        }).optimize(compressor);
        +    }
        +
        +    // a ? b : (c, b) --> (a || c), b
        +    if (alternative instanceof AST_Sequence
        +        && consequent.equivalent_to(alternative.expressions[alternative.expressions.length - 1])) {
        +        return make_sequence(self, [
        +            make_node(AST_Binary, self, {
        +                operator: "||",
        +                left: condition,
        +                right: make_sequence(self, alternative.expressions.slice(0, -1))
        +            }),
        +            consequent
        +        ]).optimize(compressor);
        +    }
        +    // a ? b : (c && b) --> (a || c) && b
        +    if (alternative instanceof AST_Binary
        +        && alternative.operator == "&&"
        +        && consequent.equivalent_to(alternative.right)) {
        +        return make_node(AST_Binary, self, {
        +            operator: "&&",
        +            left: make_node(AST_Binary, self, {
        +                operator: "||",
        +                left: condition,
        +                right: alternative.left
        +            }),
        +            right: consequent
        +        }).optimize(compressor);
        +    }
        +    // x?y?z:a:a --> x&&y?z:a
        +    if (consequent instanceof AST_Conditional
        +        && consequent.alternative.equivalent_to(alternative)) {
        +        return make_node(AST_Conditional, self, {
        +            condition: make_node(AST_Binary, self, {
        +                left: self.condition,
        +                operator: "&&",
        +                right: consequent.condition
        +            }),
        +            consequent: consequent.consequent,
        +            alternative: alternative
        +        });
        +    }
        +    // x ? y : y --> x, y
        +    if (consequent.equivalent_to(alternative)) {
        +        return make_sequence(self, [
        +            self.condition,
        +            consequent
        +        ]).optimize(compressor);
        +    }
        +    // x ? y || z : z --> x && y || z
        +    if (consequent instanceof AST_Binary
        +        && consequent.operator == "||"
        +        && consequent.right.equivalent_to(alternative)) {
        +        return make_node(AST_Binary, self, {
        +            operator: "||",
        +            left: make_node(AST_Binary, self, {
        +                operator: "&&",
        +                left: self.condition,
        +                right: consequent.left
        +            }),
        +            right: alternative
        +        }).optimize(compressor);
        +    }
        +
        +    const in_bool = compressor.in_boolean_context();
        +    if (is_true(self.consequent)) {
        +        if (is_false(self.alternative)) {
        +            // c ? true : false ---> !!c
        +            return booleanize(self.condition);
        +        }
        +        // c ? true : x ---> !!c || x
        +        return make_node(AST_Binary, self, {
        +            operator: "||",
        +            left: booleanize(self.condition),
        +            right: self.alternative
        +        });
        +    }
        +    if (is_false(self.consequent)) {
        +        if (is_true(self.alternative)) {
        +            // c ? false : true ---> !c
        +            return booleanize(self.condition.negate(compressor));
        +        }
        +        // c ? false : x ---> !c && x
        +        return make_node(AST_Binary, self, {
        +            operator: "&&",
        +            left: booleanize(self.condition.negate(compressor)),
        +            right: self.alternative
        +        });
        +    }
        +    if (is_true(self.alternative)) {
        +        // c ? x : true ---> !c || x
        +        return make_node(AST_Binary, self, {
        +            operator: "||",
        +            left: booleanize(self.condition.negate(compressor)),
        +            right: self.consequent
        +        });
        +    }
        +    if (is_false(self.alternative)) {
        +        // c ? x : false ---> !!c && x
        +        return make_node(AST_Binary, self, {
        +            operator: "&&",
        +            left: booleanize(self.condition),
        +            right: self.consequent
        +        });
        +    }
        +
        +    return self;
        +
        +    function booleanize(node) {
        +        if (node.is_boolean()) return node;
        +        // !!expression
        +        return make_node(AST_UnaryPrefix, node, {
        +            operator: "!",
        +            expression: node.negate(compressor)
        +        });
        +    }
        +
        +    // AST_True or !0
        +    function is_true(node) {
        +        return node instanceof AST_True
        +            || in_bool
        +                && node instanceof AST_Constant
        +                && node.getValue()
        +            || (node instanceof AST_UnaryPrefix
        +                && node.operator == "!"
        +                && node.expression instanceof AST_Constant
        +                && !node.expression.getValue());
        +    }
        +    // AST_False or !1
        +    function is_false(node) {
        +        return node instanceof AST_False
        +            || in_bool
        +                && node instanceof AST_Constant
        +                && !node.getValue()
        +            || (node instanceof AST_UnaryPrefix
        +                && node.operator == "!"
        +                && node.expression instanceof AST_Constant
        +                && node.expression.getValue());
        +    }
        +
        +    function single_arg_diff() {
        +        var a = consequent.args;
        +        var b = alternative.args;
        +        for (var i = 0, len = a.length; i < len; i++) {
        +            if (a[i] instanceof AST_Expansion) return;
        +            if (!a[i].equivalent_to(b[i])) {
        +                if (b[i] instanceof AST_Expansion) return;
        +                for (var j = i + 1; j < len; j++) {
        +                    if (a[j] instanceof AST_Expansion) return;
        +                    if (!a[j].equivalent_to(b[j])) return;
        +                }
        +                return i;
        +            }
        +        }
        +    }
        +});
        +
        +def_optimize(AST_Boolean, function(self, compressor) {
        +    if (compressor.in_boolean_context()) return make_node(AST_Number, self, {
        +        value: +self.value
        +    });
        +    var p = compressor.parent();
        +    if (compressor.option("booleans_as_integers")) {
        +        if (p instanceof AST_Binary && (p.operator == "===" || p.operator == "!==")) {
        +            p.operator = p.operator.replace(/=$/, "");
        +        }
        +        return make_node(AST_Number, self, {
        +            value: +self.value
        +        });
        +    }
        +    if (compressor.option("booleans")) {
        +        if (p instanceof AST_Binary && (p.operator == "=="
        +                                        || p.operator == "!=")) {
        +            return make_node(AST_Number, self, {
        +                value: +self.value
        +            });
        +        }
        +        return make_node(AST_UnaryPrefix, self, {
        +            operator: "!",
        +            expression: make_node(AST_Number, self, {
        +                value: 1 - self.value
        +            })
        +        });
        +    }
        +    return self;
        +});
        +
        +function safe_to_flatten(value, compressor) {
        +    if (value instanceof AST_SymbolRef) {
        +        value = value.fixed_value();
        +    }
        +    if (!value) return false;
        +    if (!(value instanceof AST_Lambda || value instanceof AST_Class)) return true;
        +    if (!(value instanceof AST_Lambda && value.contains_this())) return true;
        +    return compressor.parent() instanceof AST_New;
        +}
        +
        +AST_PropAccess.DEFMETHOD("flatten_object", function(key, compressor) {
        +    if (!compressor.option("properties")) return;
        +    if (key === "__proto__") return;
        +    if (this instanceof AST_DotHash) return;
        +
        +    var arrows = compressor.option("unsafe_arrows") && compressor.option("ecma") >= 2015;
        +    var expr = this.expression;
        +    if (expr instanceof AST_Object) {
        +        var props = expr.properties;
        +
        +        for (var i = props.length; --i >= 0;) {
        +            var prop = props[i];
        +
        +            if ("" + (prop instanceof AST_ConciseMethod ? prop.key.name : prop.key) == key) {
        +                const all_props_flattenable = props.every((p) =>
        +                    (p instanceof AST_ObjectKeyVal
        +                        || arrows && p instanceof AST_ConciseMethod && !p.value.is_generator
        +                    )
        +                    && !p.computed_key()
        +                );
        +
        +                if (!all_props_flattenable) return;
        +                if (!safe_to_flatten(prop.value, compressor)) return;
        +
        +                return make_node(AST_Sub, this, {
        +                    expression: make_node(AST_Array, expr, {
        +                        elements: props.map(function(prop) {
        +                            var v = prop.value;
        +                            if (v instanceof AST_Accessor) {
        +                                v = make_node(AST_Function, v, v);
        +                            }
        +
        +                            var k = prop.key;
        +                            if (k instanceof AST_Node && !(k instanceof AST_SymbolMethod)) {
        +                                return make_sequence(prop, [ k, v ]);
        +                            }
        +
        +                            return v;
        +                        })
        +                    }),
        +                    property: make_node(AST_Number, this, {
        +                        value: i
        +                    })
        +                });
        +            }
        +        }
        +    }
        +});
        +
        +def_optimize(AST_Sub, function(self, compressor) {
        +    var expr = self.expression;
        +    var prop = self.property;
        +    if (compressor.option("properties")) {
        +        var key = prop.evaluate(compressor);
        +        if (key !== prop) {
        +            if (typeof key == "string") {
        +                if (key == "undefined") {
        +                    key = undefined;
        +                } else {
        +                    var value = parseFloat(key);
        +                    if (value.toString() == key) {
        +                        key = value;
        +                    }
        +                }
        +            }
        +            prop = self.property = best_of_expression(
        +                prop,
        +                make_node_from_constant(key, prop).transform(compressor)
        +            );
        +            var property = "" + key;
        +            if (is_basic_identifier_string(property)
        +                && property.length <= prop.size() + 1) {
        +                return make_node(AST_Dot, self, {
        +                    expression: expr,
        +                    optional: self.optional,
        +                    property: property,
        +                    quote: prop.quote,
        +                }).optimize(compressor);
        +            }
        +        }
        +    }
        +    var fn;
        +    OPT_ARGUMENTS: if (compressor.option("arguments")
        +        && expr instanceof AST_SymbolRef
        +        && expr.name == "arguments"
        +        && expr.definition().orig.length == 1
        +        && (fn = expr.scope) instanceof AST_Lambda
        +        && fn.uses_arguments
        +        && !(fn instanceof AST_Arrow)
        +        && prop instanceof AST_Number) {
        +        var index = prop.getValue();
        +        var params = new Set();
        +        var argnames = fn.argnames;
        +        for (var n = 0; n < argnames.length; n++) {
        +            if (!(argnames[n] instanceof AST_SymbolFunarg)) {
        +                break OPT_ARGUMENTS; // destructuring parameter - bail
        +            }
        +            var param = argnames[n].name;
        +            if (params.has(param)) {
        +                break OPT_ARGUMENTS; // duplicate parameter - bail
        +            }
        +            params.add(param);
        +        }
        +        var argname = fn.argnames[index];
        +        if (argname && compressor.has_directive("use strict")) {
        +            var def = argname.definition();
        +            if (!compressor.option("reduce_vars") || def.assignments || def.orig.length > 1) {
        +                argname = null;
        +            }
        +        } else if (!argname && !compressor.option("keep_fargs") && index < fn.argnames.length + 5) {
        +            while (index >= fn.argnames.length) {
        +                argname = fn.create_symbol(AST_SymbolFunarg, {
        +                    source: fn,
        +                    scope: fn,
        +                    tentative_name: "argument_" + fn.argnames.length,
        +                });
        +                fn.argnames.push(argname);
        +            }
        +        }
        +        if (argname) {
        +            var sym = make_node(AST_SymbolRef, self, argname);
        +            sym.reference({});
        +            clear_flag(argname, UNUSED);
        +            return sym;
        +        }
        +    }
        +    if (compressor.is_lhs()) return self;
        +    if (key !== prop) {
        +        var sub = self.flatten_object(property, compressor);
        +        if (sub) {
        +            expr = self.expression = sub.expression;
        +            prop = self.property = sub.property;
        +        }
        +    }
        +    if (compressor.option("properties") && compressor.option("side_effects")
        +        && prop instanceof AST_Number && expr instanceof AST_Array) {
        +        var index = prop.getValue();
        +        var elements = expr.elements;
        +        var retValue = elements[index];
        +        FLATTEN: if (safe_to_flatten(retValue, compressor)) {
        +            var flatten = true;
        +            var values = [];
        +            for (var i = elements.length; --i > index;) {
        +                var value = elements[i].drop_side_effect_free(compressor);
        +                if (value) {
        +                    values.unshift(value);
        +                    if (flatten && value.has_side_effects(compressor)) flatten = false;
        +                }
        +            }
        +            if (retValue instanceof AST_Expansion) break FLATTEN;
        +            retValue = retValue instanceof AST_Hole ? make_void_0(retValue) : retValue;
        +            if (!flatten) values.unshift(retValue);
        +            while (--i >= 0) {
        +                var value = elements[i];
        +                if (value instanceof AST_Expansion) break FLATTEN;
        +                value = value.drop_side_effect_free(compressor);
        +                if (value) values.unshift(value);
        +                else index--;
        +            }
        +            if (flatten) {
        +                values.push(retValue);
        +                return make_sequence(self, values).optimize(compressor);
        +            } else return make_node(AST_Sub, self, {
        +                expression: make_node(AST_Array, expr, {
        +                    elements: values
        +                }),
        +                property: make_node(AST_Number, prop, {
        +                    value: index
        +                })
        +            });
        +        }
        +    }
        +    var ev = self.evaluate(compressor);
        +    if (ev !== self) {
        +        ev = make_node_from_constant(ev, self).optimize(compressor);
        +        return best_of(compressor, ev, self);
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_Chain, function (self, compressor) {
        +    if (is_nullish(self.expression, compressor)) {
        +        let parent = compressor.parent();
        +        // It's valid to delete a nullish optional chain, but if we optimized
        +        // this to `delete undefined` then it would appear to be a syntax error
        +        // when we try to optimize the delete. Thankfully, `delete 0` is fine.
        +        if (parent instanceof AST_UnaryPrefix && parent.operator === "delete") {
        +            return make_node_from_constant(0, self);
        +        }
        +        return make_void_0(self).optimize(compressor);
        +    }
        +    if (
        +        self.expression instanceof AST_PropAccess
        +        || self.expression instanceof AST_Call
        +    ) {
        +        return self;
        +    } else {
        +        // Keep the AST valid, in case the child swapped itself
        +        return self.expression;
        +    }
        +});
        +
        +def_optimize(AST_Dot, function(self, compressor) {
        +    const parent = compressor.parent();
        +    if (compressor.is_lhs()) return self;
        +    if (compressor.option("unsafe_proto")
        +        && self.expression instanceof AST_Dot
        +        && self.expression.property == "prototype") {
        +        var exp = self.expression.expression;
        +        if (is_undeclared_ref(exp)) switch (exp.name) {
        +          case "Array":
        +            self.expression = make_node(AST_Array, self.expression, {
        +                elements: []
        +            });
        +            break;
        +          case "Function":
        +            self.expression = make_empty_function(self.expression);
        +            break;
        +          case "Number":
        +            self.expression = make_node(AST_Number, self.expression, {
        +                value: 0
        +            });
        +            break;
        +          case "Object":
        +            self.expression = make_node(AST_Object, self.expression, {
        +                properties: []
        +            });
        +            break;
        +          case "RegExp":
        +            self.expression = make_node(AST_RegExp, self.expression, {
        +                value: { source: "t", flags: "" }
        +            });
        +            break;
        +          case "String":
        +            self.expression = make_node(AST_String, self.expression, {
        +                value: ""
        +            });
        +            break;
        +        }
        +    }
        +    if (!(parent instanceof AST_Call) || !has_annotation(parent, _NOINLINE)) {
        +        const sub = self.flatten_object(self.property, compressor);
        +        if (sub) return sub.optimize(compressor);
        +    }
        +
        +    if (self.expression instanceof AST_PropAccess
        +        && parent instanceof AST_PropAccess) {
        +        return self;
        +    }
        +
        +    let ev = self.evaluate(compressor);
        +    if (ev !== self) {
        +        ev = make_node_from_constant(ev, self).optimize(compressor);
        +        return best_of(compressor, ev, self);
        +    }
        +    return self;
        +});
        +
        +function literals_in_boolean_context(self, compressor) {
        +    if (compressor.in_boolean_context()) {
        +        return best_of(compressor, self, make_sequence(self, [
        +            self,
        +            make_node(AST_True, self)
        +        ]).optimize(compressor));
        +    }
        +    return self;
        +}
        +
        +function inline_array_like_spread(elements) {
        +    for (var i = 0; i < elements.length; i++) {
        +        var el = elements[i];
        +        if (el instanceof AST_Expansion) {
        +            var expr = el.expression;
        +            if (
        +                expr instanceof AST_Array
        +                && !expr.elements.some(elm => elm instanceof AST_Hole)
        +            ) {
        +                elements.splice(i, 1, ...expr.elements);
        +                // Step back one, as the element at i is now new.
        +                i--;
        +            }
        +            // In array-like spread, spreading a non-iterable value is TypeError.
        +            // We therefore can’t optimize anything else, unlike with object spread.
        +        }
        +    }
        +}
        +
        +def_optimize(AST_Array, function(self, compressor) {
        +    var optimized = literals_in_boolean_context(self, compressor);
        +    if (optimized !== self) {
        +        return optimized;
        +    }
        +    inline_array_like_spread(self.elements);
        +    return self;
        +});
        +
        +function inline_object_prop_spread(props) {
        +    for (var i = 0; i < props.length; i++) {
        +        var prop = props[i];
        +        if (prop instanceof AST_Expansion) {
        +            const expr = prop.expression;
        +            if (
        +                expr instanceof AST_Object
        +                && expr.properties.every(prop => prop instanceof AST_ObjectKeyVal)
        +            ) {
        +                props.splice(i, 1, ...expr.properties);
        +                // Step back one, as the property at i is now new.
        +                i--;
        +            } else if ((
        +                    // `expr.is_constant()` returns `false` for `AST_RegExp`, so need both.
        +                    expr instanceof AST_Constant
        +                    || expr.is_constant()
        +                ) && !(expr instanceof AST_String)) {
        +                // Unlike array-like spread, in object spread, spreading a
        +                // non-iterable value silently does nothing; it is thus safe
        +                // to remove. AST_String is the only iterable constant.
        +                props.splice(i, 1);
        +                i--;
        +            }
        +        }
        +    }
        +}
        +
        +def_optimize(AST_Object, function(self, compressor) {
        +    var optimized = literals_in_boolean_context(self, compressor);
        +    if (optimized !== self) {
        +        return optimized;
        +    }
        +    inline_object_prop_spread(self.properties);
        +    return self;
        +});
        +
        +def_optimize(AST_RegExp, literals_in_boolean_context);
        +
        +def_optimize(AST_Return, function(self, compressor) {
        +    if (self.value && is_undefined(self.value, compressor)) {
        +        self.value = null;
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_Arrow, opt_AST_Lambda);
        +
        +def_optimize(AST_Function, function(self, compressor) {
        +    self = opt_AST_Lambda(self, compressor);
        +    if (compressor.option("unsafe_arrows")
        +        && compressor.option("ecma") >= 2015
        +        && !self.name
        +        && !self.is_generator
        +        && !self.uses_arguments
        +        && !self.pinned()) {
        +        const uses_this = walk(self, node => {
        +            if (node instanceof AST_This) return walk_abort;
        +        });
        +        if (!uses_this) return make_node(AST_Arrow, self, self).optimize(compressor);
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_Class, function(self) {
        +    for (let i = 0; i < self.properties.length; i++) {
        +        const prop = self.properties[i];
        +        if (prop instanceof AST_ClassStaticBlock && prop.body.length == 0) {
        +            self.properties.splice(i, 1);
        +            i--;
        +        }
        +    }
        +
        +    return self;
        +});
        +
        +def_optimize(AST_ClassStaticBlock, function(self, compressor) {
        +    tighten_body(self.body, compressor);
        +    return self;
        +});
        +
        +def_optimize(AST_Yield, function(self, compressor) {
        +    if (self.expression && !self.is_star && is_undefined(self.expression, compressor)) {
        +        self.expression = null;
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_TemplateString, function(self, compressor) {
        +    if (
        +        !compressor.option("evaluate")
        +        || compressor.parent() instanceof AST_PrefixedTemplateString
        +    ) {
        +        return self;
        +    }
        +
        +    var segments = [];
        +    for (var i = 0; i < self.segments.length; i++) {
        +        var segment = self.segments[i];
        +        if (segment instanceof AST_Node) {
        +            var result = segment.evaluate(compressor);
        +            // Evaluate to constant value
        +            // Constant value shorter than ${segment}
        +            if (result !== segment && (result + "").length <= segment.size() + "${}".length) {
        +                // There should always be a previous and next segment if segment is a node
        +                segments[segments.length - 1].value = segments[segments.length - 1].value + result + self.segments[++i].value;
        +                continue;
        +            }
        +            // `before ${`innerBefore ${any} innerAfter`} after` => `before innerBefore ${any} innerAfter after`
        +            // TODO:
        +            // `before ${'test' + foo} after` => `before innerBefore ${any} innerAfter after`
        +            // `before ${foo + 'test} after` => `before innerBefore ${any} innerAfter after`
        +            if (segment instanceof AST_TemplateString) {
        +                var inners = segment.segments;
        +                segments[segments.length - 1].value += inners[0].value;
        +                for (var j = 1; j < inners.length; j++) {
        +                    segment = inners[j];
        +                    segments.push(segment);
        +                }
        +                continue;
        +            }
        +        }
        +        segments.push(segment);
        +    }
        +    self.segments = segments;
        +
        +    // `foo` => "foo"
        +    if (segments.length == 1) {
        +        return make_node(AST_String, self, segments[0]);
        +    }
        +
        +    if (
        +        segments.length === 3
        +        && segments[1] instanceof AST_Node
        +        && (
        +            segments[1].is_string(compressor)
        +            || segments[1].is_number_or_bigint(compressor)
        +            || is_nullish(segments[1], compressor)
        +            || compressor.option("unsafe")
        +        )
        +    ) {
        +        // `foo${bar}` => "foo" + bar
        +        if (segments[2].value === "") {
        +            return make_node(AST_Binary, self, {
        +                operator: "+",
        +                left: make_node(AST_String, self, {
        +                    value: segments[0].value,
        +                }),
        +                right: segments[1],
        +            });
        +        }
        +        // `${bar}baz` => bar + "baz"
        +        if (segments[0].value === "") {
        +            return make_node(AST_Binary, self, {
        +                operator: "+",
        +                left: segments[1],
        +                right: make_node(AST_String, self, {
        +                    value: segments[2].value,
        +                }),
        +            });
        +        }
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_PrefixedTemplateString, function(self) {
        +    return self;
        +});
        +
        +// ["p"]:1 ---> p:1
        +// [42]:1 ---> 42:1
        +function lift_key(self, compressor) {
        +    if (!compressor.option("computed_props")) return self;
        +    // save a comparison in the typical case
        +    if (!(self.key instanceof AST_Constant)) return self;
        +    // allow certain acceptable props as not all AST_Constants are true constants
        +    if (self.key instanceof AST_String || self.key instanceof AST_Number) {
        +        const key = self.key.value.toString();
        +
        +        if (key === "__proto__") return self;
        +        if (key == "constructor"
        +            && compressor.parent() instanceof AST_Class) return self;
        +        if (self instanceof AST_ObjectKeyVal) {
        +            self.quote = self.key.quote;
        +            self.key = key;
        +        } else if (self instanceof AST_ClassProperty) {
        +            self.quote = self.key.quote;
        +            self.key = make_node(AST_SymbolClassProperty, self.key, {
        +                name: key,
        +            });
        +        } else {
        +            self.quote = self.key.quote;
        +            self.key = make_node(AST_SymbolMethod, self.key, {
        +                name: key,
        +            });
        +        }
        +    }
        +    return self;
        +}
        +
        +def_optimize(AST_ObjectProperty, lift_key);
        +
        +def_optimize(AST_ConciseMethod, function(self, compressor) {
        +    lift_key(self, compressor);
        +    // p(){return x;} ---> p:()=>x
        +    if (compressor.option("arrows")
        +        && compressor.parent() instanceof AST_Object
        +        && !self.value.is_generator
        +        && !self.value.uses_arguments
        +        && !self.value.pinned()
        +        && self.value.body.length == 1
        +        && self.value.body[0] instanceof AST_Return
        +        && self.value.body[0].value
        +        && !self.value.contains_this()) {
        +        var arrow = make_node(AST_Arrow, self.value, self.value);
        +        arrow.async = self.value.async;
        +        arrow.is_generator = self.value.is_generator;
        +        return make_node(AST_ObjectKeyVal, self, {
        +            key: self.key instanceof AST_SymbolMethod ? self.key.name : self.key,
        +            value: arrow,
        +            quote: self.quote,
        +        });
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_ObjectKeyVal, function(self, compressor) {
        +    lift_key(self, compressor);
        +    // p:function(){} ---> p(){}
        +    // p:function*(){} ---> *p(){}
        +    // p:async function(){} ---> async p(){}
        +    // p:()=>{} ---> p(){}
        +    // p:async()=>{} ---> async p(){}
        +    var unsafe_methods = compressor.option("unsafe_methods");
        +    if (unsafe_methods
        +        && compressor.option("ecma") >= 2015
        +        && (!(unsafe_methods instanceof RegExp) || unsafe_methods.test(self.key + ""))) {
        +        var key = self.key;
        +        var value = self.value;
        +        var is_arrow_with_block = value instanceof AST_Arrow
        +            && Array.isArray(value.body)
        +            && !value.contains_this();
        +        if ((is_arrow_with_block || value instanceof AST_Function) && !value.name) {
        +            return make_node(AST_ConciseMethod, self, {
        +                key: key instanceof AST_Node ? key : make_node(AST_SymbolMethod, self, {
        +                    name: key,
        +                }),
        +                value: make_node(AST_Accessor, value, value),
        +                quote: self.quote,
        +            });
        +        }
        +    }
        +    return self;
        +});
        +
        +def_optimize(AST_Destructuring, function(self, compressor) {
        +    if (compressor.option("pure_getters") == true
        +        && compressor.option("unused")
        +        && !self.is_array
        +        && Array.isArray(self.names)
        +        && !is_destructuring_export_decl(compressor)
        +        && !(self.names[self.names.length - 1] instanceof AST_Expansion)) {
        +        var keep = [];
        +        for (var i = 0; i < self.names.length; i++) {
        +            var elem = self.names[i];
        +            if (!(elem instanceof AST_ObjectKeyVal
        +                && typeof elem.key == "string"
        +                && elem.value instanceof AST_SymbolDeclaration
        +                && !should_retain(compressor, elem.value.definition()))) {
        +                keep.push(elem);
        +            }
        +        }
        +        if (keep.length != self.names.length) {
        +            self.names = keep;
        +        }
        +    }
        +    return self;
        +
        +    function is_destructuring_export_decl(compressor) {
        +        var ancestors = [/^VarDef$/, /^(Const|Let|Var)$/, /^Export$/];
        +        for (var a = 0, p = 0, len = ancestors.length; a < len; p++) {
        +            var parent = compressor.parent(p);
        +            if (!parent) return false;
        +            if (a === 0 && parent.TYPE == "Destructuring") continue;
        +            if (!ancestors[a].test(parent.TYPE)) {
        +                return false;
        +            }
        +            a++;
        +        }
        +        return true;
        +    }
        +
        +    function should_retain(compressor, def) {
        +        if (def.references.length) return true;
        +        if (!def.global) return false;
        +        if (compressor.toplevel.vars) {
        +            if (compressor.top_retain) {
        +                return compressor.top_retain(def);
        +            }
        +            return false;
        +        }
        +        return true;
        +    }
        +});
        +
        +
        +
        +;// ./node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
        +// src/vlq.ts
        +var comma = ",".charCodeAt(0);
        +var semicolon = ";".charCodeAt(0);
        +var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
        +var intToChar = new Uint8Array(64);
        +var charToInt = new Uint8Array(128);
        +for (let i = 0; i < chars.length; i++) {
        +  const c = chars.charCodeAt(i);
        +  intToChar[i] = c;
        +  charToInt[c] = i;
        +}
        +function decodeInteger(reader, relative) {
        +  let value = 0;
        +  let shift = 0;
        +  let integer = 0;
        +  do {
        +    const c = reader.next();
        +    integer = charToInt[c];
        +    value |= (integer & 31) << shift;
        +    shift += 5;
        +  } while (integer & 32);
        +  const shouldNegate = value & 1;
        +  value >>>= 1;
        +  if (shouldNegate) {
        +    value = -2147483648 | -value;
        +  }
        +  return relative + value;
        +}
        +function encodeInteger(builder, num, relative) {
        +  let delta = num - relative;
        +  delta = delta < 0 ? -delta << 1 | 1 : delta << 1;
        +  do {
        +    let clamped = delta & 31;
        +    delta >>>= 5;
        +    if (delta > 0) clamped |= 32;
        +    builder.write(intToChar[clamped]);
        +  } while (delta > 0);
        +  return num;
        +}
        +function hasMoreVlq(reader, max) {
        +  if (reader.pos >= max) return false;
        +  return reader.peek() !== comma;
        +}
        +
        +// src/strings.ts
        +var bufLength = 1024 * 16;
        +var td = typeof TextDecoder !== "undefined" ? /* @__PURE__ */ new TextDecoder() : typeof Buffer !== "undefined" ? {
        +  decode(buf) {
        +    const out = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);
        +    return out.toString();
        +  }
        +} : {
        +  decode(buf) {
        +    let out = "";
        +    for (let i = 0; i < buf.length; i++) {
        +      out += String.fromCharCode(buf[i]);
        +    }
        +    return out;
        +  }
        +};
        +var StringWriter = class {
        +  constructor() {
        +    this.pos = 0;
        +    this.out = "";
        +    this.buffer = new Uint8Array(bufLength);
        +  }
        +  write(v) {
        +    const { buffer } = this;
        +    buffer[this.pos++] = v;
        +    if (this.pos === bufLength) {
        +      this.out += td.decode(buffer);
        +      this.pos = 0;
        +    }
        +  }
        +  flush() {
        +    const { buffer, out, pos } = this;
        +    return pos > 0 ? out + td.decode(buffer.subarray(0, pos)) : out;
        +  }
        +};
        +var StringReader = class {
        +  constructor(buffer) {
        +    this.pos = 0;
        +    this.buffer = buffer;
        +  }
        +  next() {
        +    return this.buffer.charCodeAt(this.pos++);
        +  }
        +  peek() {
        +    return this.buffer.charCodeAt(this.pos);
        +  }
        +  indexOf(char) {
        +    const { buffer, pos } = this;
        +    const idx = buffer.indexOf(char, pos);
        +    return idx === -1 ? buffer.length : idx;
        +  }
        +};
        +
        +// src/scopes.ts
        +var EMPTY = (/* unused pure expression or super */ null && ([]));
        +function decodeOriginalScopes(input) {
        +  const { length } = input;
        +  const reader = new StringReader(input);
        +  const scopes = [];
        +  const stack = [];
        +  let line = 0;
        +  for (; reader.pos < length; reader.pos++) {
        +    line = decodeInteger(reader, line);
        +    const column = decodeInteger(reader, 0);
        +    if (!hasMoreVlq(reader, length)) {
        +      const last = stack.pop();
        +      last[2] = line;
        +      last[3] = column;
        +      continue;
        +    }
        +    const kind = decodeInteger(reader, 0);
        +    const fields = decodeInteger(reader, 0);
        +    const hasName = fields & 1;
        +    const scope = hasName ? [line, column, 0, 0, kind, decodeInteger(reader, 0)] : [line, column, 0, 0, kind];
        +    let vars = EMPTY;
        +    if (hasMoreVlq(reader, length)) {
        +      vars = [];
        +      do {
        +        const varsIndex = decodeInteger(reader, 0);
        +        vars.push(varsIndex);
        +      } while (hasMoreVlq(reader, length));
        +    }
        +    scope.vars = vars;
        +    scopes.push(scope);
        +    stack.push(scope);
        +  }
        +  return scopes;
        +}
        +function encodeOriginalScopes(scopes) {
        +  const writer = new StringWriter();
        +  for (let i = 0; i < scopes.length; ) {
        +    i = _encodeOriginalScopes(scopes, i, writer, [0]);
        +  }
        +  return writer.flush();
        +}
        +function _encodeOriginalScopes(scopes, index, writer, state) {
        +  const scope = scopes[index];
        +  const { 0: startLine, 1: startColumn, 2: endLine, 3: endColumn, 4: kind, vars } = scope;
        +  if (index > 0) writer.write(comma);
        +  state[0] = encodeInteger(writer, startLine, state[0]);
        +  encodeInteger(writer, startColumn, 0);
        +  encodeInteger(writer, kind, 0);
        +  const fields = scope.length === 6 ? 1 : 0;
        +  encodeInteger(writer, fields, 0);
        +  if (scope.length === 6) encodeInteger(writer, scope[5], 0);
        +  for (const v of vars) {
        +    encodeInteger(writer, v, 0);
        +  }
        +  for (index++; index < scopes.length; ) {
        +    const next = scopes[index];
        +    const { 0: l, 1: c } = next;
        +    if (l > endLine || l === endLine && c >= endColumn) {
        +      break;
        +    }
        +    index = _encodeOriginalScopes(scopes, index, writer, state);
        +  }
        +  writer.write(comma);
        +  state[0] = encodeInteger(writer, endLine, state[0]);
        +  encodeInteger(writer, endColumn, 0);
        +  return index;
        +}
        +function decodeGeneratedRanges(input) {
        +  const { length } = input;
        +  const reader = new StringReader(input);
        +  const ranges = [];
        +  const stack = [];
        +  let genLine = 0;
        +  let definitionSourcesIndex = 0;
        +  let definitionScopeIndex = 0;
        +  let callsiteSourcesIndex = 0;
        +  let callsiteLine = 0;
        +  let callsiteColumn = 0;
        +  let bindingLine = 0;
        +  let bindingColumn = 0;
        +  do {
        +    const semi = reader.indexOf(";");
        +    let genColumn = 0;
        +    for (; reader.pos < semi; reader.pos++) {
        +      genColumn = decodeInteger(reader, genColumn);
        +      if (!hasMoreVlq(reader, semi)) {
        +        const last = stack.pop();
        +        last[2] = genLine;
        +        last[3] = genColumn;
        +        continue;
        +      }
        +      const fields = decodeInteger(reader, 0);
        +      const hasDefinition = fields & 1;
        +      const hasCallsite = fields & 2;
        +      const hasScope = fields & 4;
        +      let callsite = null;
        +      let bindings = EMPTY;
        +      let range;
        +      if (hasDefinition) {
        +        const defSourcesIndex = decodeInteger(reader, definitionSourcesIndex);
        +        definitionScopeIndex = decodeInteger(
        +          reader,
        +          definitionSourcesIndex === defSourcesIndex ? definitionScopeIndex : 0
        +        );
        +        definitionSourcesIndex = defSourcesIndex;
        +        range = [genLine, genColumn, 0, 0, defSourcesIndex, definitionScopeIndex];
        +      } else {
        +        range = [genLine, genColumn, 0, 0];
        +      }
        +      range.isScope = !!hasScope;
        +      if (hasCallsite) {
        +        const prevCsi = callsiteSourcesIndex;
        +        const prevLine = callsiteLine;
        +        callsiteSourcesIndex = decodeInteger(reader, callsiteSourcesIndex);
        +        const sameSource = prevCsi === callsiteSourcesIndex;
        +        callsiteLine = decodeInteger(reader, sameSource ? callsiteLine : 0);
        +        callsiteColumn = decodeInteger(
        +          reader,
        +          sameSource && prevLine === callsiteLine ? callsiteColumn : 0
        +        );
        +        callsite = [callsiteSourcesIndex, callsiteLine, callsiteColumn];
        +      }
        +      range.callsite = callsite;
        +      if (hasMoreVlq(reader, semi)) {
        +        bindings = [];
        +        do {
        +          bindingLine = genLine;
        +          bindingColumn = genColumn;
        +          const expressionsCount = decodeInteger(reader, 0);
        +          let expressionRanges;
        +          if (expressionsCount < -1) {
        +            expressionRanges = [[decodeInteger(reader, 0)]];
        +            for (let i = -1; i > expressionsCount; i--) {
        +              const prevBl = bindingLine;
        +              bindingLine = decodeInteger(reader, bindingLine);
        +              bindingColumn = decodeInteger(reader, bindingLine === prevBl ? bindingColumn : 0);
        +              const expression = decodeInteger(reader, 0);
        +              expressionRanges.push([expression, bindingLine, bindingColumn]);
        +            }
        +          } else {
        +            expressionRanges = [[expressionsCount]];
        +          }
        +          bindings.push(expressionRanges);
        +        } while (hasMoreVlq(reader, semi));
        +      }
        +      range.bindings = bindings;
        +      ranges.push(range);
        +      stack.push(range);
        +    }
        +    genLine++;
        +    reader.pos = semi + 1;
        +  } while (reader.pos < length);
        +  return ranges;
        +}
        +function encodeGeneratedRanges(ranges) {
        +  if (ranges.length === 0) return "";
        +  const writer = new StringWriter();
        +  for (let i = 0; i < ranges.length; ) {
        +    i = _encodeGeneratedRanges(ranges, i, writer, [0, 0, 0, 0, 0, 0, 0]);
        +  }
        +  return writer.flush();
        +}
        +function _encodeGeneratedRanges(ranges, index, writer, state) {
        +  const range = ranges[index];
        +  const {
        +    0: startLine,
        +    1: startColumn,
        +    2: endLine,
        +    3: endColumn,
        +    isScope,
        +    callsite,
        +    bindings
        +  } = range;
        +  if (state[0] < startLine) {
        +    catchupLine(writer, state[0], startLine);
        +    state[0] = startLine;
        +    state[1] = 0;
        +  } else if (index > 0) {
        +    writer.write(comma);
        +  }
        +  state[1] = encodeInteger(writer, range[1], state[1]);
        +  const fields = (range.length === 6 ? 1 : 0) | (callsite ? 2 : 0) | (isScope ? 4 : 0);
        +  encodeInteger(writer, fields, 0);
        +  if (range.length === 6) {
        +    const { 4: sourcesIndex, 5: scopesIndex } = range;
        +    if (sourcesIndex !== state[2]) {
        +      state[3] = 0;
        +    }
        +    state[2] = encodeInteger(writer, sourcesIndex, state[2]);
        +    state[3] = encodeInteger(writer, scopesIndex, state[3]);
        +  }
        +  if (callsite) {
        +    const { 0: sourcesIndex, 1: callLine, 2: callColumn } = range.callsite;
        +    if (sourcesIndex !== state[4]) {
        +      state[5] = 0;
        +      state[6] = 0;
        +    } else if (callLine !== state[5]) {
        +      state[6] = 0;
        +    }
        +    state[4] = encodeInteger(writer, sourcesIndex, state[4]);
        +    state[5] = encodeInteger(writer, callLine, state[5]);
        +    state[6] = encodeInteger(writer, callColumn, state[6]);
        +  }
        +  if (bindings) {
        +    for (const binding of bindings) {
        +      if (binding.length > 1) encodeInteger(writer, -binding.length, 0);
        +      const expression = binding[0][0];
        +      encodeInteger(writer, expression, 0);
        +      let bindingStartLine = startLine;
        +      let bindingStartColumn = startColumn;
        +      for (let i = 1; i < binding.length; i++) {
        +        const expRange = binding[i];
        +        bindingStartLine = encodeInteger(writer, expRange[1], bindingStartLine);
        +        bindingStartColumn = encodeInteger(writer, expRange[2], bindingStartColumn);
        +        encodeInteger(writer, expRange[0], 0);
        +      }
        +    }
        +  }
        +  for (index++; index < ranges.length; ) {
        +    const next = ranges[index];
        +    const { 0: l, 1: c } = next;
        +    if (l > endLine || l === endLine && c >= endColumn) {
        +      break;
        +    }
        +    index = _encodeGeneratedRanges(ranges, index, writer, state);
        +  }
        +  if (state[0] < endLine) {
        +    catchupLine(writer, state[0], endLine);
        +    state[0] = endLine;
        +    state[1] = 0;
        +  } else {
        +    writer.write(comma);
        +  }
        +  state[1] = encodeInteger(writer, endColumn, state[1]);
        +  return index;
        +}
        +function catchupLine(writer, lastLine, line) {
        +  do {
        +    writer.write(semicolon);
        +  } while (++lastLine < line);
        +}
        +
        +// src/sourcemap-codec.ts
        +function sourcemap_codec_decode(mappings) {
        +  const { length } = mappings;
        +  const reader = new StringReader(mappings);
        +  const decoded = [];
        +  let genColumn = 0;
        +  let sourcesIndex = 0;
        +  let sourceLine = 0;
        +  let sourceColumn = 0;
        +  let namesIndex = 0;
        +  do {
        +    const semi = reader.indexOf(";");
        +    const line = [];
        +    let sorted = true;
        +    let lastCol = 0;
        +    genColumn = 0;
        +    while (reader.pos < semi) {
        +      let seg;
        +      genColumn = decodeInteger(reader, genColumn);
        +      if (genColumn < lastCol) sorted = false;
        +      lastCol = genColumn;
        +      if (hasMoreVlq(reader, semi)) {
        +        sourcesIndex = decodeInteger(reader, sourcesIndex);
        +        sourceLine = decodeInteger(reader, sourceLine);
        +        sourceColumn = decodeInteger(reader, sourceColumn);
        +        if (hasMoreVlq(reader, semi)) {
        +          namesIndex = decodeInteger(reader, namesIndex);
        +          seg = [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex];
        +        } else {
        +          seg = [genColumn, sourcesIndex, sourceLine, sourceColumn];
        +        }
        +      } else {
        +        seg = [genColumn];
        +      }
        +      line.push(seg);
        +      reader.pos++;
        +    }
        +    if (!sorted) sort(line);
        +    decoded.push(line);
        +    reader.pos = semi + 1;
        +  } while (reader.pos <= length);
        +  return decoded;
        +}
        +function sort(line) {
        +  line.sort(sortComparator);
        +}
        +function sortComparator(a, b) {
        +  return a[0] - b[0];
        +}
        +function sourcemap_codec_encode(decoded) {
        +  const writer = new StringWriter();
        +  let sourcesIndex = 0;
        +  let sourceLine = 0;
        +  let sourceColumn = 0;
        +  let namesIndex = 0;
        +  for (let i = 0; i < decoded.length; i++) {
        +    const line = decoded[i];
        +    if (i > 0) writer.write(semicolon);
        +    if (line.length === 0) continue;
        +    let genColumn = 0;
        +    for (let j = 0; j < line.length; j++) {
        +      const segment = line[j];
        +      if (j > 0) writer.write(comma);
        +      genColumn = encodeInteger(writer, segment[0], genColumn);
        +      if (segment.length === 1) continue;
        +      sourcesIndex = encodeInteger(writer, segment[1], sourcesIndex);
        +      sourceLine = encodeInteger(writer, segment[2], sourceLine);
        +      sourceColumn = encodeInteger(writer, segment[3], sourceColumn);
        +      if (segment.length === 4) continue;
        +      namesIndex = encodeInteger(writer, segment[4], namesIndex);
        +    }
        +  }
        +  return writer.flush();
        +}
        +
        +//# sourceMappingURL=sourcemap-codec.mjs.map
        +
        +;// ./node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs
        +// Matches the scheme of a URL, eg "http://"
        +const schemeRegex = /^[\w+.-]+:\/\//;
        +/**
        + * Matches the parts of a URL:
        + * 1. Scheme, including ":", guaranteed.
        + * 2. User/password, including "@", optional.
        + * 3. Host, guaranteed.
        + * 4. Port, including ":", optional.
        + * 5. Path, including "/", optional.
        + * 6. Query, including "?", optional.
        + * 7. Hash, including "#", optional.
        + */
        +const urlRegex = /^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/;
        +/**
        + * File URLs are weird. They dont' need the regular `//` in the scheme, they may or may not start
        + * with a leading `/`, they can have a domain (but only if they don't start with a Windows drive).
        + *
        + * 1. Host, optional.
        + * 2. Path, which may include "/", guaranteed.
        + * 3. Query, including "?", optional.
        + * 4. Hash, including "#", optional.
        + */
        +const fileRegex = /^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;
        +function isAbsoluteUrl(input) {
        +    return schemeRegex.test(input);
        +}
        +function isSchemeRelativeUrl(input) {
        +    return input.startsWith('//');
        +}
        +function isAbsolutePath(input) {
        +    return input.startsWith('/');
        +}
        +function isFileUrl(input) {
        +    return input.startsWith('file:');
        +}
        +function isRelative(input) {
        +    return /^[.?#]/.test(input);
        +}
        +function parseAbsoluteUrl(input) {
        +    const match = urlRegex.exec(input);
        +    return makeUrl(match[1], match[2] || '', match[3], match[4] || '', match[5] || '/', match[6] || '', match[7] || '');
        +}
        +function parseFileUrl(input) {
        +    const match = fileRegex.exec(input);
        +    const path = match[2];
        +    return makeUrl('file:', '', match[1] || '', '', isAbsolutePath(path) ? path : '/' + path, match[3] || '', match[4] || '');
        +}
        +function makeUrl(scheme, user, host, port, path, query, hash) {
        +    return {
        +        scheme,
        +        user,
        +        host,
        +        port,
        +        path,
        +        query,
        +        hash,
        +        type: 7 /* Absolute */,
        +    };
        +}
        +function parseUrl(input) {
        +    if (isSchemeRelativeUrl(input)) {
        +        const url = parseAbsoluteUrl('http:' + input);
        +        url.scheme = '';
        +        url.type = 6 /* SchemeRelative */;
        +        return url;
        +    }
        +    if (isAbsolutePath(input)) {
        +        const url = parseAbsoluteUrl('http://foo.com' + input);
        +        url.scheme = '';
        +        url.host = '';
        +        url.type = 5 /* AbsolutePath */;
        +        return url;
        +    }
        +    if (isFileUrl(input))
        +        return parseFileUrl(input);
        +    if (isAbsoluteUrl(input))
        +        return parseAbsoluteUrl(input);
        +    const url = parseAbsoluteUrl('http://foo.com/' + input);
        +    url.scheme = '';
        +    url.host = '';
        +    url.type = input
        +        ? input.startsWith('?')
        +            ? 3 /* Query */
        +            : input.startsWith('#')
        +                ? 2 /* Hash */
        +                : 4 /* RelativePath */
        +        : 1 /* Empty */;
        +    return url;
        +}
        +function stripPathFilename(path) {
        +    // If a path ends with a parent directory "..", then it's a relative path with excess parent
        +    // paths. It's not a file, so we can't strip it.
        +    if (path.endsWith('/..'))
        +        return path;
        +    const index = path.lastIndexOf('/');
        +    return path.slice(0, index + 1);
        +}
        +function mergePaths(url, base) {
        +    normalizePath(base, base.type);
        +    // If the path is just a "/", then it was an empty path to begin with (remember, we're a relative
        +    // path).
        +    if (url.path === '/') {
        +        url.path = base.path;
        +    }
        +    else {
        +        // Resolution happens relative to the base path's directory, not the file.
        +        url.path = stripPathFilename(base.path) + url.path;
        +    }
        +}
        +/**
        + * The path can have empty directories "//", unneeded parents "foo/..", or current directory
        + * "foo/.". We need to normalize to a standard representation.
        + */
        +function normalizePath(url, type) {
        +    const rel = type <= 4 /* RelativePath */;
        +    const pieces = url.path.split('/');
        +    // We need to preserve the first piece always, so that we output a leading slash. The item at
        +    // pieces[0] is an empty string.
        +    let pointer = 1;
        +    // Positive is the number of real directories we've output, used for popping a parent directory.
        +    // Eg, "foo/bar/.." will have a positive 2, and we can decrement to be left with just "foo".
        +    let positive = 0;
        +    // We need to keep a trailing slash if we encounter an empty directory (eg, splitting "foo/" will
        +    // generate `["foo", ""]` pieces). And, if we pop a parent directory. But once we encounter a
        +    // real directory, we won't need to append, unless the other conditions happen again.
        +    let addTrailingSlash = false;
        +    for (let i = 1; i < pieces.length; i++) {
        +        const piece = pieces[i];
        +        // An empty directory, could be a trailing slash, or just a double "//" in the path.
        +        if (!piece) {
        +            addTrailingSlash = true;
        +            continue;
        +        }
        +        // If we encounter a real directory, then we don't need to append anymore.
        +        addTrailingSlash = false;
        +        // A current directory, which we can always drop.
        +        if (piece === '.')
        +            continue;
        +        // A parent directory, we need to see if there are any real directories we can pop. Else, we
        +        // have an excess of parents, and we'll need to keep the "..".
        +        if (piece === '..') {
        +            if (positive) {
        +                addTrailingSlash = true;
        +                positive--;
        +                pointer--;
        +            }
        +            else if (rel) {
        +                // If we're in a relativePath, then we need to keep the excess parents. Else, in an absolute
        +                // URL, protocol relative URL, or an absolute path, we don't need to keep excess.
        +                pieces[pointer++] = piece;
        +            }
        +            continue;
        +        }
        +        // We've encountered a real directory. Move it to the next insertion pointer, which accounts for
        +        // any popped or dropped directories.
        +        pieces[pointer++] = piece;
        +        positive++;
        +    }
        +    let path = '';
        +    for (let i = 1; i < pointer; i++) {
        +        path += '/' + pieces[i];
        +    }
        +    if (!path || (addTrailingSlash && !path.endsWith('/..'))) {
        +        path += '/';
        +    }
        +    url.path = path;
        +}
        +/**
        + * Attempts to resolve `input` URL/path relative to `base`.
        + */
        +function resolve_uri_resolve(input, base) {
        +    if (!input && !base)
        +        return '';
        +    const url = parseUrl(input);
        +    let inputType = url.type;
        +    if (base && inputType !== 7 /* Absolute */) {
        +        const baseUrl = parseUrl(base);
        +        const baseType = baseUrl.type;
        +        switch (inputType) {
        +            case 1 /* Empty */:
        +                url.hash = baseUrl.hash;
        +            // fall through
        +            case 2 /* Hash */:
        +                url.query = baseUrl.query;
        +            // fall through
        +            case 3 /* Query */:
        +            case 4 /* RelativePath */:
        +                mergePaths(url, baseUrl);
        +            // fall through
        +            case 5 /* AbsolutePath */:
        +                // The host, user, and port are joined, you can't copy one without the others.
        +                url.user = baseUrl.user;
        +                url.host = baseUrl.host;
        +                url.port = baseUrl.port;
        +            // fall through
        +            case 6 /* SchemeRelative */:
        +                // The input doesn't have a schema at least, so we need to copy at least that over.
        +                url.scheme = baseUrl.scheme;
        +        }
        +        if (baseType > inputType)
        +            inputType = baseType;
        +    }
        +    normalizePath(url, inputType);
        +    const queryHash = url.query + url.hash;
        +    switch (inputType) {
        +        // This is impossible, because of the empty checks at the start of the function.
        +        // case UrlType.Empty:
        +        case 2 /* Hash */:
        +        case 3 /* Query */:
        +            return queryHash;
        +        case 4 /* RelativePath */: {
        +            // The first char is always a "/", and we need it to be relative.
        +            const path = url.path.slice(1);
        +            if (!path)
        +                return queryHash || '.';
        +            if (isRelative(base || input) && !isRelative(path)) {
        +                // If base started with a leading ".", or there is no base and input started with a ".",
        +                // then we need to ensure that the relative path starts with a ".". We don't know if
        +                // relative starts with a "..", though, so check before prepending.
        +                return './' + path + queryHash;
        +            }
        +            return path + queryHash;
        +        }
        +        case 5 /* AbsolutePath */:
        +            return url.path + queryHash;
        +        default:
        +            return url.scheme + '//' + url.user + url.host + url.port + url.path + queryHash;
        +    }
        +}
        +
        +
        +//# sourceMappingURL=resolve-uri.mjs.map
        +
        +;// ./node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs
        +// src/trace-mapping.ts
        +
        +
        +// src/resolve.ts
        +
        +
        +// src/strip-filename.ts
        +function stripFilename(path) {
        +  if (!path) return "";
        +  const index = path.lastIndexOf("/");
        +  return path.slice(0, index + 1);
        +}
        +
        +// src/resolve.ts
        +function resolver(mapUrl, sourceRoot) {
        +  const from = stripFilename(mapUrl);
        +  const prefix = sourceRoot ? sourceRoot + "/" : "";
        +  return (source) => resolve_uri_resolve(prefix + (source || ""), from);
        +}
        +
        +// src/sourcemap-segment.ts
        +var COLUMN = 0;
        +var SOURCES_INDEX = 1;
        +var SOURCE_LINE = 2;
        +var SOURCE_COLUMN = 3;
        +var NAMES_INDEX = 4;
        +var REV_GENERATED_LINE = 1;
        +var REV_GENERATED_COLUMN = 2;
        +
        +// src/sort.ts
        +function maybeSort(mappings, owned) {
        +  const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
        +  if (unsortedIndex === mappings.length) return mappings;
        +  if (!owned) mappings = mappings.slice();
        +  for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
        +    mappings[i] = sortSegments(mappings[i], owned);
        +  }
        +  return mappings;
        +}
        +function nextUnsortedSegmentLine(mappings, start) {
        +  for (let i = start; i < mappings.length; i++) {
        +    if (!isSorted(mappings[i])) return i;
        +  }
        +  return mappings.length;
        +}
        +function isSorted(line) {
        +  for (let j = 1; j < line.length; j++) {
        +    if (line[j][COLUMN] < line[j - 1][COLUMN]) {
        +      return false;
        +    }
        +  }
        +  return true;
        +}
        +function sortSegments(line, owned) {
        +  if (!owned) line = line.slice();
        +  return line.sort(trace_mapping_sortComparator);
        +}
        +function trace_mapping_sortComparator(a, b) {
        +  return a[COLUMN] - b[COLUMN];
        +}
        +
        +// src/by-source.ts
        +function buildBySources(decoded, memos) {
        +  const sources = memos.map(() => []);
        +  for (let i = 0; i < decoded.length; i++) {
        +    const line = decoded[i];
        +    for (let j = 0; j < line.length; j++) {
        +      const seg = line[j];
        +      if (seg.length === 1) continue;
        +      const sourceIndex2 = seg[SOURCES_INDEX];
        +      const sourceLine = seg[SOURCE_LINE];
        +      const sourceColumn = seg[SOURCE_COLUMN];
        +      const source = sources[sourceIndex2];
        +      const segs = source[sourceLine] || (source[sourceLine] = []);
        +      segs.push([sourceColumn, i, seg[COLUMN]]);
        +    }
        +  }
        +  for (let i = 0; i < sources.length; i++) {
        +    const source = sources[i];
        +    for (let j = 0; j < source.length; j++) {
        +      const line = source[j];
        +      if (line) line.sort(trace_mapping_sortComparator);
        +    }
        +  }
        +  return sources;
        +}
        +
        +// src/binary-search.ts
        +var found = false;
        +function binarySearch(haystack, needle, low, high) {
        +  while (low <= high) {
        +    const mid = low + (high - low >> 1);
        +    const cmp = haystack[mid][COLUMN] - needle;
        +    if (cmp === 0) {
        +      found = true;
        +      return mid;
        +    }
        +    if (cmp < 0) {
        +      low = mid + 1;
        +    } else {
        +      high = mid - 1;
        +    }
        +  }
        +  found = false;
        +  return low - 1;
        +}
        +function upperBound(haystack, needle, index) {
        +  for (let i = index + 1; i < haystack.length; index = i++) {
        +    if (haystack[i][COLUMN] !== needle) break;
        +  }
        +  return index;
        +}
        +function lowerBound(haystack, needle, index) {
        +  for (let i = index - 1; i >= 0; index = i--) {
        +    if (haystack[i][COLUMN] !== needle) break;
        +  }
        +  return index;
        +}
        +function memoizedState() {
        +  return {
        +    lastKey: -1,
        +    lastNeedle: -1,
        +    lastIndex: -1
        +  };
        +}
        +function memoizedBinarySearch(haystack, needle, state, key) {
        +  const { lastKey, lastNeedle, lastIndex } = state;
        +  let low = 0;
        +  let high = haystack.length - 1;
        +  if (key === lastKey) {
        +    if (needle === lastNeedle) {
        +      found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
        +      return lastIndex;
        +    }
        +    if (needle >= lastNeedle) {
        +      low = lastIndex === -1 ? 0 : lastIndex;
        +    } else {
        +      high = lastIndex;
        +    }
        +  }
        +  state.lastKey = key;
        +  state.lastNeedle = needle;
        +  return state.lastIndex = binarySearch(haystack, needle, low, high);
        +}
        +
        +// src/types.ts
        +function trace_mapping_parse(map) {
        +  return typeof map === "string" ? JSON.parse(map) : map;
        +}
        +
        +// src/flatten-map.ts
        +var FlattenMap = function(map, mapUrl) {
        +  const parsed = trace_mapping_parse(map);
        +  if (!("sections" in parsed)) {
        +    return new TraceMap(parsed, mapUrl);
        +  }
        +  const mappings = [];
        +  const sources = [];
        +  const sourcesContent = [];
        +  const names = [];
        +  const ignoreList = [];
        +  recurse(
        +    parsed,
        +    mapUrl,
        +    mappings,
        +    sources,
        +    sourcesContent,
        +    names,
        +    ignoreList,
        +    0,
        +    0,
        +    Infinity,
        +    Infinity
        +  );
        +  const joined = {
        +    version: 3,
        +    file: parsed.file,
        +    names,
        +    sources,
        +    sourcesContent,
        +    mappings,
        +    ignoreList
        +  };
        +  return presortedDecodedMap(joined);
        +};
        +function recurse(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {
        +  const { sections } = input;
        +  for (let i = 0; i < sections.length; i++) {
        +    const { map, offset } = sections[i];
        +    let sl = stopLine;
        +    let sc = stopColumn;
        +    if (i + 1 < sections.length) {
        +      const nextOffset = sections[i + 1].offset;
        +      sl = Math.min(stopLine, lineOffset + nextOffset.line);
        +      if (sl === stopLine) {
        +        sc = Math.min(stopColumn, columnOffset + nextOffset.column);
        +      } else if (sl < stopLine) {
        +        sc = columnOffset + nextOffset.column;
        +      }
        +    }
        +    addSection(
        +      map,
        +      mapUrl,
        +      mappings,
        +      sources,
        +      sourcesContent,
        +      names,
        +      ignoreList,
        +      lineOffset + offset.line,
        +      columnOffset + offset.column,
        +      sl,
        +      sc
        +    );
        +  }
        +}
        +function addSection(input, mapUrl, mappings, sources, sourcesContent, names, ignoreList, lineOffset, columnOffset, stopLine, stopColumn) {
        +  const parsed = trace_mapping_parse(input);
        +  if ("sections" in parsed) return recurse(...arguments);
        +  const map = new TraceMap(parsed, mapUrl);
        +  const sourcesOffset = sources.length;
        +  const namesOffset = names.length;
        +  const decoded = decodedMappings(map);
        +  const { resolvedSources, sourcesContent: contents, ignoreList: ignores } = map;
        +  append(sources, resolvedSources);
        +  append(names, map.names);
        +  if (contents) append(sourcesContent, contents);
        +  else for (let i = 0; i < resolvedSources.length; i++) sourcesContent.push(null);
        +  if (ignores) for (let i = 0; i < ignores.length; i++) ignoreList.push(ignores[i] + sourcesOffset);
        +  for (let i = 0; i < decoded.length; i++) {
        +    const lineI = lineOffset + i;
        +    if (lineI > stopLine) return;
        +    const out = getLine(mappings, lineI);
        +    const cOffset = i === 0 ? columnOffset : 0;
        +    const line = decoded[i];
        +    for (let j = 0; j < line.length; j++) {
        +      const seg = line[j];
        +      const column = cOffset + seg[COLUMN];
        +      if (lineI === stopLine && column >= stopColumn) return;
        +      if (seg.length === 1) {
        +        out.push([column]);
        +        continue;
        +      }
        +      const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
        +      const sourceLine = seg[SOURCE_LINE];
        +      const sourceColumn = seg[SOURCE_COLUMN];
        +      out.push(
        +        seg.length === 4 ? [column, sourcesIndex, sourceLine, sourceColumn] : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]
        +      );
        +    }
        +  }
        +}
        +function append(arr, other) {
        +  for (let i = 0; i < other.length; i++) arr.push(other[i]);
        +}
        +function getLine(arr, index) {
        +  for (let i = arr.length; i <= index; i++) arr[i] = [];
        +  return arr[index];
        +}
        +
        +// src/trace-mapping.ts
        +var LINE_GTR_ZERO = "`line` must be greater than 0 (lines start at line 1)";
        +var COL_GTR_EQ_ZERO = "`column` must be greater than or equal to 0 (columns start at column 0)";
        +var LEAST_UPPER_BOUND = -1;
        +var GREATEST_LOWER_BOUND = 1;
        +var TraceMap = class {
        +  constructor(map, mapUrl) {
        +    const isString = typeof map === "string";
        +    if (!isString && map._decodedMemo) return map;
        +    const parsed = trace_mapping_parse(map);
        +    const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;
        +    this.version = version;
        +    this.file = file;
        +    this.names = names || [];
        +    this.sourceRoot = sourceRoot;
        +    this.sources = sources;
        +    this.sourcesContent = sourcesContent;
        +    this.ignoreList = parsed.ignoreList || parsed.x_google_ignoreList || void 0;
        +    const resolve = resolver(mapUrl, sourceRoot);
        +    this.resolvedSources = sources.map(resolve);
        +    const { mappings } = parsed;
        +    if (typeof mappings === "string") {
        +      this._encoded = mappings;
        +      this._decoded = void 0;
        +    } else if (Array.isArray(mappings)) {
        +      this._encoded = void 0;
        +      this._decoded = maybeSort(mappings, isString);
        +    } else if (parsed.sections) {
        +      throw new Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);
        +    } else {
        +      throw new Error(`invalid source map: ${JSON.stringify(parsed)}`);
        +    }
        +    this._decodedMemo = memoizedState();
        +    this._bySources = void 0;
        +    this._bySourceMemos = void 0;
        +  }
        +};
        +function cast(map) {
        +  return map;
        +}
        +function encodedMappings(map) {
        +  var _a, _b;
        +  return (_b = (_a = cast(map))._encoded) != null ? _b : _a._encoded = sourcemap_codec_encode(cast(map)._decoded);
        +}
        +function decodedMappings(map) {
        +  var _a;
        +  return (_a = cast(map))._decoded || (_a._decoded = sourcemap_codec_decode(cast(map)._encoded));
        +}
        +function traceSegment(map, line, column) {
        +  const decoded = decodedMappings(map);
        +  if (line >= decoded.length) return null;
        +  const segments = decoded[line];
        +  const index = traceSegmentInternal(
        +    segments,
        +    cast(map)._decodedMemo,
        +    line,
        +    column,
        +    GREATEST_LOWER_BOUND
        +  );
        +  return index === -1 ? null : segments[index];
        +}
        +function originalPositionFor(map, needle) {
        +  let { line, column, bias } = needle;
        +  line--;
        +  if (line < 0) throw new Error(LINE_GTR_ZERO);
        +  if (column < 0) throw new Error(COL_GTR_EQ_ZERO);
        +  const decoded = decodedMappings(map);
        +  if (line >= decoded.length) return OMapping(null, null, null, null);
        +  const segments = decoded[line];
        +  const index = traceSegmentInternal(
        +    segments,
        +    cast(map)._decodedMemo,
        +    line,
        +    column,
        +    bias || GREATEST_LOWER_BOUND
        +  );
        +  if (index === -1) return OMapping(null, null, null, null);
        +  const segment = segments[index];
        +  if (segment.length === 1) return OMapping(null, null, null, null);
        +  const { names, resolvedSources } = map;
        +  return OMapping(
        +    resolvedSources[segment[SOURCES_INDEX]],
        +    segment[SOURCE_LINE] + 1,
        +    segment[SOURCE_COLUMN],
        +    segment.length === 5 ? names[segment[NAMES_INDEX]] : null
        +  );
        +}
        +function generatedPositionFor(map, needle) {
        +  const { source, line, column, bias } = needle;
        +  return generatedPosition(map, source, line, column, bias || GREATEST_LOWER_BOUND, false);
        +}
        +function allGeneratedPositionsFor(map, needle) {
        +  const { source, line, column, bias } = needle;
        +  return generatedPosition(map, source, line, column, bias || LEAST_UPPER_BOUND, true);
        +}
        +function eachMapping(map, cb) {
        +  const decoded = decodedMappings(map);
        +  const { names, resolvedSources } = map;
        +  for (let i = 0; i < decoded.length; i++) {
        +    const line = decoded[i];
        +    for (let j = 0; j < line.length; j++) {
        +      const seg = line[j];
        +      const generatedLine = i + 1;
        +      const generatedColumn = seg[0];
        +      let source = null;
        +      let originalLine = null;
        +      let originalColumn = null;
        +      let name = null;
        +      if (seg.length !== 1) {
        +        source = resolvedSources[seg[1]];
        +        originalLine = seg[2] + 1;
        +        originalColumn = seg[3];
        +      }
        +      if (seg.length === 5) name = names[seg[4]];
        +      cb({
        +        generatedLine,
        +        generatedColumn,
        +        source,
        +        originalLine,
        +        originalColumn,
        +        name
        +      });
        +    }
        +  }
        +}
        +function sourceIndex(map, source) {
        +  const { sources, resolvedSources } = map;
        +  let index = sources.indexOf(source);
        +  if (index === -1) index = resolvedSources.indexOf(source);
        +  return index;
        +}
        +function sourceContentFor(map, source) {
        +  const { sourcesContent } = map;
        +  if (sourcesContent == null) return null;
        +  const index = sourceIndex(map, source);
        +  return index === -1 ? null : sourcesContent[index];
        +}
        +function isIgnored(map, source) {
        +  const { ignoreList } = map;
        +  if (ignoreList == null) return false;
        +  const index = sourceIndex(map, source);
        +  return index === -1 ? false : ignoreList.includes(index);
        +}
        +function presortedDecodedMap(map, mapUrl) {
        +  const tracer = new TraceMap(trace_mapping_clone(map, []), mapUrl);
        +  cast(tracer)._decoded = map.mappings;
        +  return tracer;
        +}
        +function decodedMap(map) {
        +  return trace_mapping_clone(map, decodedMappings(map));
        +}
        +function encodedMap(map) {
        +  return trace_mapping_clone(map, encodedMappings(map));
        +}
        +function trace_mapping_clone(map, mappings) {
        +  return {
        +    version: map.version,
        +    file: map.file,
        +    names: map.names,
        +    sourceRoot: map.sourceRoot,
        +    sources: map.sources,
        +    sourcesContent: map.sourcesContent,
        +    mappings,
        +    ignoreList: map.ignoreList || map.x_google_ignoreList
        +  };
        +}
        +function OMapping(source, line, column, name) {
        +  return { source, line, column, name };
        +}
        +function GMapping(line, column) {
        +  return { line, column };
        +}
        +function traceSegmentInternal(segments, memo, line, column, bias) {
        +  let index = memoizedBinarySearch(segments, column, memo, line);
        +  if (found) {
        +    index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
        +  } else if (bias === LEAST_UPPER_BOUND) index++;
        +  if (index === -1 || index === segments.length) return -1;
        +  return index;
        +}
        +function sliceGeneratedPositions(segments, memo, line, column, bias) {
        +  let min = traceSegmentInternal(segments, memo, line, column, GREATEST_LOWER_BOUND);
        +  if (!found && bias === LEAST_UPPER_BOUND) min++;
        +  if (min === -1 || min === segments.length) return [];
        +  const matchedColumn = found ? column : segments[min][COLUMN];
        +  if (!found) min = lowerBound(segments, matchedColumn, min);
        +  const max = upperBound(segments, matchedColumn, min);
        +  const result = [];
        +  for (; min <= max; min++) {
        +    const segment = segments[min];
        +    result.push(GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]));
        +  }
        +  return result;
        +}
        +function generatedPosition(map, source, line, column, bias, all) {
        +  var _a, _b;
        +  line--;
        +  if (line < 0) throw new Error(LINE_GTR_ZERO);
        +  if (column < 0) throw new Error(COL_GTR_EQ_ZERO);
        +  const { sources, resolvedSources } = map;
        +  let sourceIndex2 = sources.indexOf(source);
        +  if (sourceIndex2 === -1) sourceIndex2 = resolvedSources.indexOf(source);
        +  if (sourceIndex2 === -1) return all ? [] : GMapping(null, null);
        +  const bySourceMemos = (_a = cast(map))._bySourceMemos || (_a._bySourceMemos = sources.map(memoizedState));
        +  const generated = (_b = cast(map))._bySources || (_b._bySources = buildBySources(decodedMappings(map), bySourceMemos));
        +  const segments = generated[sourceIndex2][line];
        +  if (segments == null) return all ? [] : GMapping(null, null);
        +  const memo = bySourceMemos[sourceIndex2];
        +  if (all) return sliceGeneratedPositions(segments, memo, line, column, bias);
        +  const index = traceSegmentInternal(segments, memo, line, column, bias);
        +  if (index === -1) return GMapping(null, null);
        +  const segment = segments[index];
        +  return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);
        +}
        +
        +//# sourceMappingURL=trace-mapping.mjs.map
        +
        +;// ./node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs
        +// src/set-array.ts
        +var SetArray = class {
        +  constructor() {
        +    this._indexes = { __proto__: null };
        +    this.array = [];
        +  }
        +};
        +function gen_mapping_cast(set) {
        +  return set;
        +}
        +function gen_mapping_get(setarr, key) {
        +  return gen_mapping_cast(setarr)._indexes[key];
        +}
        +function put(setarr, key) {
        +  const index = gen_mapping_get(setarr, key);
        +  if (index !== void 0) return index;
        +  const { array, _indexes: indexes } = gen_mapping_cast(setarr);
        +  const length = array.push(key);
        +  return indexes[key] = length - 1;
        +}
        +function gen_mapping_remove(setarr, key) {
        +  const index = gen_mapping_get(setarr, key);
        +  if (index === void 0) return;
        +  const { array, _indexes: indexes } = gen_mapping_cast(setarr);
        +  for (let i = index + 1; i < array.length; i++) {
        +    const k = array[i];
        +    array[i - 1] = k;
        +    indexes[k]--;
        +  }
        +  indexes[key] = void 0;
        +  array.pop();
        +}
        +
        +// src/gen-mapping.ts
        +
        +
        +
        +// src/sourcemap-segment.ts
        +var gen_mapping_COLUMN = 0;
        +var gen_mapping_SOURCES_INDEX = 1;
        +var gen_mapping_SOURCE_LINE = 2;
        +var gen_mapping_SOURCE_COLUMN = 3;
        +var gen_mapping_NAMES_INDEX = 4;
        +
        +// src/gen-mapping.ts
        +var NO_NAME = -1;
        +var GenMapping = class {
        +  constructor({ file, sourceRoot } = {}) {
        +    this._names = new SetArray();
        +    this._sources = new SetArray();
        +    this._sourcesContent = [];
        +    this._mappings = [];
        +    this.file = file;
        +    this.sourceRoot = sourceRoot;
        +    this._ignoreList = new SetArray();
        +  }
        +};
        +function cast2(map) {
        +  return map;
        +}
        +function addSegment(map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
        +  return addSegmentInternal(
        +    false,
        +    map,
        +    genLine,
        +    genColumn,
        +    source,
        +    sourceLine,
        +    sourceColumn,
        +    name,
        +    content
        +  );
        +}
        +function addMapping(map, mapping) {
        +  return addMappingInternal(false, map, mapping);
        +}
        +var maybeAddSegment = (map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) => {
        +  return addSegmentInternal(
        +    true,
        +    map,
        +    genLine,
        +    genColumn,
        +    source,
        +    sourceLine,
        +    sourceColumn,
        +    name,
        +    content
        +  );
        +};
        +var maybeAddMapping = (map, mapping) => {
        +  return addMappingInternal(true, map, mapping);
        +};
        +function setSourceContent(map, source, content) {
        +  const {
        +    _sources: sources,
        +    _sourcesContent: sourcesContent
        +    // _originalScopes: originalScopes,
        +  } = cast2(map);
        +  const index = put(sources, source);
        +  sourcesContent[index] = content;
        +}
        +function setIgnore(map, source, ignore = true) {
        +  const {
        +    _sources: sources,
        +    _sourcesContent: sourcesContent,
        +    _ignoreList: ignoreList
        +    // _originalScopes: originalScopes,
        +  } = cast2(map);
        +  const index = put(sources, source);
        +  if (index === sourcesContent.length) sourcesContent[index] = null;
        +  if (ignore) put(ignoreList, index);
        +  else gen_mapping_remove(ignoreList, index);
        +}
        +function toDecodedMap(map) {
        +  const {
        +    _mappings: mappings,
        +    _sources: sources,
        +    _sourcesContent: sourcesContent,
        +    _names: names,
        +    _ignoreList: ignoreList
        +    // _originalScopes: originalScopes,
        +    // _generatedRanges: generatedRanges,
        +  } = cast2(map);
        +  removeEmptyFinalLines(mappings);
        +  return {
        +    version: 3,
        +    file: map.file || void 0,
        +    names: names.array,
        +    sourceRoot: map.sourceRoot || void 0,
        +    sources: sources.array,
        +    sourcesContent,
        +    mappings,
        +    // originalScopes,
        +    // generatedRanges,
        +    ignoreList: ignoreList.array
        +  };
        +}
        +function toEncodedMap(map) {
        +  const decoded = toDecodedMap(map);
        +  return Object.assign({}, decoded, {
        +    // originalScopes: decoded.originalScopes.map((os) => encodeOriginalScopes(os)),
        +    // generatedRanges: encodeGeneratedRanges(decoded.generatedRanges as GeneratedRange[]),
        +    mappings: sourcemap_codec_encode(decoded.mappings)
        +  });
        +}
        +function fromMap(input) {
        +  const map = new TraceMap(input);
        +  const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });
        +  putAll(cast2(gen)._names, map.names);
        +  putAll(cast2(gen)._sources, map.sources);
        +  cast2(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);
        +  cast2(gen)._mappings = decodedMappings(map);
        +  if (map.ignoreList) putAll(cast2(gen)._ignoreList, map.ignoreList);
        +  return gen;
        +}
        +function allMappings(map) {
        +  const out = [];
        +  const { _mappings: mappings, _sources: sources, _names: names } = cast2(map);
        +  for (let i = 0; i < mappings.length; i++) {
        +    const line = mappings[i];
        +    for (let j = 0; j < line.length; j++) {
        +      const seg = line[j];
        +      const generated = { line: i + 1, column: seg[gen_mapping_COLUMN] };
        +      let source = void 0;
        +      let original = void 0;
        +      let name = void 0;
        +      if (seg.length !== 1) {
        +        source = sources.array[seg[gen_mapping_SOURCES_INDEX]];
        +        original = { line: seg[gen_mapping_SOURCE_LINE] + 1, column: seg[gen_mapping_SOURCE_COLUMN] };
        +        if (seg.length === 5) name = names.array[seg[gen_mapping_NAMES_INDEX]];
        +      }
        +      out.push({ generated, source, original, name });
        +    }
        +  }
        +  return out;
        +}
        +function addSegmentInternal(skipable, map, genLine, genColumn, source, sourceLine, sourceColumn, name, content) {
        +  const {
        +    _mappings: mappings,
        +    _sources: sources,
        +    _sourcesContent: sourcesContent,
        +    _names: names
        +    // _originalScopes: originalScopes,
        +  } = cast2(map);
        +  const line = getIndex(mappings, genLine);
        +  const index = getColumnIndex(line, genColumn);
        +  if (!source) {
        +    if (skipable && skipSourceless(line, index)) return;
        +    return insert(line, index, [genColumn]);
        +  }
        +  gen_mapping_assert(sourceLine);
        +  gen_mapping_assert(sourceColumn);
        +  const sourcesIndex = put(sources, source);
        +  const namesIndex = name ? put(names, name) : NO_NAME;
        +  if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content != null ? content : null;
        +  if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
        +    return;
        +  }
        +  return insert(
        +    line,
        +    index,
        +    name ? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex] : [genColumn, sourcesIndex, sourceLine, sourceColumn]
        +  );
        +}
        +function gen_mapping_assert(_val) {
        +}
        +function getIndex(arr, index) {
        +  for (let i = arr.length; i <= index; i++) {
        +    arr[i] = [];
        +  }
        +  return arr[index];
        +}
        +function getColumnIndex(line, genColumn) {
        +  let index = line.length;
        +  for (let i = index - 1; i >= 0; index = i--) {
        +    const current = line[i];
        +    if (genColumn >= current[gen_mapping_COLUMN]) break;
        +  }
        +  return index;
        +}
        +function insert(array, index, value) {
        +  for (let i = array.length; i > index; i--) {
        +    array[i] = array[i - 1];
        +  }
        +  array[index] = value;
        +}
        +function removeEmptyFinalLines(mappings) {
        +  const { length } = mappings;
        +  let len = length;
        +  for (let i = len - 1; i >= 0; len = i, i--) {
        +    if (mappings[i].length > 0) break;
        +  }
        +  if (len < length) mappings.length = len;
        +}
        +function putAll(setarr, array) {
        +  for (let i = 0; i < array.length; i++) put(setarr, array[i]);
        +}
        +function skipSourceless(line, index) {
        +  if (index === 0) return true;
        +  const prev = line[index - 1];
        +  return prev.length === 1;
        +}
        +function skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex) {
        +  if (index === 0) return false;
        +  const prev = line[index - 1];
        +  if (prev.length === 1) return false;
        +  return sourcesIndex === prev[gen_mapping_SOURCES_INDEX] && sourceLine === prev[gen_mapping_SOURCE_LINE] && sourceColumn === prev[gen_mapping_SOURCE_COLUMN] && namesIndex === (prev.length === 5 ? prev[gen_mapping_NAMES_INDEX] : NO_NAME);
        +}
        +function addMappingInternal(skipable, map, mapping) {
        +  const { generated, source, original, name, content } = mapping;
        +  if (!source) {
        +    return addSegmentInternal(
        +      skipable,
        +      map,
        +      generated.line - 1,
        +      generated.column,
        +      null,
        +      null,
        +      null,
        +      null,
        +      null
        +    );
        +  }
        +  gen_mapping_assert(original);
        +  return addSegmentInternal(
        +    skipable,
        +    map,
        +    generated.line - 1,
        +    generated.column,
        +    source,
        +    original.line - 1,
        +    original.column,
        +    name,
        +    content
        +  );
        +}
        +
        +//# sourceMappingURL=gen-mapping.mjs.map
        +
        +;// ./node_modules/@jridgewell/source-map/dist/source-map.mjs
        +// src/source-map.ts
        +
        +
        +var SourceMapConsumer = class _SourceMapConsumer {
        +  constructor(map, mapUrl) {
        +    const trace = this._map = new FlattenMap(map, mapUrl);
        +    this.file = trace.file;
        +    this.names = trace.names;
        +    this.sourceRoot = trace.sourceRoot;
        +    this.sources = trace.resolvedSources;
        +    this.sourcesContent = trace.sourcesContent;
        +    this.version = trace.version;
        +  }
        +  static fromSourceMap(map, mapUrl) {
        +    if (map.toDecodedMap) {
        +      return new _SourceMapConsumer(map.toDecodedMap(), mapUrl);
        +    }
        +    return new _SourceMapConsumer(map.toJSON(), mapUrl);
        +  }
        +  get mappings() {
        +    return encodedMappings(this._map);
        +  }
        +  originalPositionFor(needle) {
        +    return originalPositionFor(this._map, needle);
        +  }
        +  generatedPositionFor(originalPosition) {
        +    return generatedPositionFor(this._map, originalPosition);
        +  }
        +  allGeneratedPositionsFor(originalPosition) {
        +    return allGeneratedPositionsFor(this._map, originalPosition);
        +  }
        +  hasContentsOfAllSources() {
        +    if (!this.sourcesContent || this.sourcesContent.length !== this.sources.length) {
        +      return false;
        +    }
        +    for (const content of this.sourcesContent) {
        +      if (content == null) {
        +        return false;
        +      }
        +    }
        +    return true;
        +  }
        +  sourceContentFor(source, nullOnMissing) {
        +    const sourceContent = sourceContentFor(this._map, source);
        +    if (sourceContent != null) {
        +      return sourceContent;
        +    }
        +    if (nullOnMissing) {
        +      return null;
        +    }
        +    throw new Error(`"${source}" is not in the SourceMap.`);
        +  }
        +  eachMapping(callback, context) {
        +    eachMapping(this._map, context ? callback.bind(context) : callback);
        +  }
        +  destroy() {
        +  }
        +};
        +var SourceMapGenerator = class _SourceMapGenerator {
        +  constructor(opts) {
        +    this._map = opts instanceof GenMapping ? opts : new GenMapping(opts);
        +  }
        +  static fromSourceMap(consumer) {
        +    return new _SourceMapGenerator(fromMap(consumer));
        +  }
        +  addMapping(mapping) {
        +    maybeAddMapping(this._map, mapping);
        +  }
        +  setSourceContent(source, content) {
        +    setSourceContent(this._map, source, content);
        +  }
        +  toJSON() {
        +    return toEncodedMap(this._map);
        +  }
        +  toString() {
        +    return JSON.stringify(this.toJSON());
        +  }
        +  toDecodedMap() {
        +    return toDecodedMap(this._map);
        +  }
        +};
        +
        +//# sourceMappingURL=source-map.mjs.map
        +
        +;// ./node_modules/terser/lib/sourcemap.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +
        +
        +
        +
        +// a small wrapper around source-map and @jridgewell/source-map
        +function* SourceMap(options) {
        +    options = utils_defaults(options, {
        +        file : null,
        +        root : null,
        +        orig : null,
        +        files: {},
        +    });
        +
        +    var orig_map;
        +    var generator = new SourceMapGenerator({
        +        file       : options.file,
        +        sourceRoot : options.root
        +    });
        +
        +    let sourcesContent = {__proto__: null};
        +    let files = options.files;
        +    for (var name in files) if (HOP(files, name)) {
        +        sourcesContent[name] = files[name];
        +    }
        +    if (options.orig) {
        +        // We support both @jridgewell/source-map (which has a sync
        +        // SourceMapConsumer) and source-map (which has an async
        +        // SourceMapConsumer).
        +        orig_map = yield new SourceMapConsumer(options.orig);
        +        if (orig_map.sourcesContent) {
        +            orig_map.sources.forEach(function(source, i) {
        +                var content = orig_map.sourcesContent[i];
        +                if (content) {
        +                    sourcesContent[source] = content;
        +                }
        +            });
        +        }
        +    }
        +
        +    function add(source, gen_line, gen_col, orig_line, orig_col, name) {
        +        let generatedPos = { line: gen_line, column: gen_col };
        +
        +        if (orig_map) {
        +            var info = orig_map.originalPositionFor({
        +                line: orig_line,
        +                column: orig_col
        +            });
        +            if (info.source === null) {
        +                generator.addMapping({
        +                    generated: generatedPos,
        +                    original: null,
        +                    source: null,
        +                    name: null
        +                });
        +                return;
        +            }
        +            source = info.source;
        +            orig_line = info.line;
        +            orig_col = info.column;
        +            name = info.name || name;
        +        }
        +        generator.addMapping({
        +            generated : generatedPos,
        +            original  : { line: orig_line, column: orig_col },
        +            source    : source,
        +            name      : name
        +        });
        +        generator.setSourceContent(source, sourcesContent[source]);
        +    }
        +
        +    function clean(map) {
        +        const allNull = map.sourcesContent && map.sourcesContent.every(c => c == null);
        +        if (allNull) delete map.sourcesContent;
        +        if (map.file === undefined) delete map.file;
        +        if (map.sourceRoot === undefined) delete map.sourceRoot;
        +        return map;
        +    }
        +
        +    function getDecoded() {
        +        if (!generator.toDecodedMap) return null;
        +        return clean(generator.toDecodedMap());
        +    }
        +
        +    function getEncoded() {
        +        return clean(generator.toJSON());
        +    }
        +
        +    function destroy() {
        +        // @jridgewell/source-map's SourceMapConsumer does not need to be
        +        // manually freed.
        +        if (orig_map && orig_map.destroy) orig_map.destroy();
        +    }
        +
        +    return {
        +        add,
        +        getDecoded,
        +        getEncoded,
        +        destroy,
        +    };
        +}
        +
        +
        +
        +;// ./node_modules/terser/tools/domprops.js
        +var domprops = [
        +    "$&",
        +    "$'",
        +    "$*",
        +    "$+",
        +    "$1",
        +    "$2",
        +    "$3",
        +    "$4",
        +    "$5",
        +    "$6",
        +    "$7",
        +    "$8",
        +    "$9",
        +    "$_",
        +    "$`",
        +    "$input",
        +    "-moz-animation",
        +    "-moz-animation-delay",
        +    "-moz-animation-direction",
        +    "-moz-animation-duration",
        +    "-moz-animation-fill-mode",
        +    "-moz-animation-iteration-count",
        +    "-moz-animation-name",
        +    "-moz-animation-play-state",
        +    "-moz-animation-timing-function",
        +    "-moz-appearance",
        +    "-moz-backface-visibility",
        +    "-moz-border-end",
        +    "-moz-border-end-color",
        +    "-moz-border-end-style",
        +    "-moz-border-end-width",
        +    "-moz-border-image",
        +    "-moz-border-start",
        +    "-moz-border-start-color",
        +    "-moz-border-start-style",
        +    "-moz-border-start-width",
        +    "-moz-box-align",
        +    "-moz-box-direction",
        +    "-moz-box-flex",
        +    "-moz-box-ordinal-group",
        +    "-moz-box-orient",
        +    "-moz-box-pack",
        +    "-moz-box-sizing",
        +    "-moz-float-edge",
        +    "-moz-font-feature-settings",
        +    "-moz-font-language-override",
        +    "-moz-force-broken-image-icon",
        +    "-moz-hyphens",
        +    "-moz-image-region",
        +    "-moz-margin-end",
        +    "-moz-margin-start",
        +    "-moz-orient",
        +    "-moz-osx-font-smoothing",
        +    "-moz-outline-radius",
        +    "-moz-outline-radius-bottomleft",
        +    "-moz-outline-radius-bottomright",
        +    "-moz-outline-radius-topleft",
        +    "-moz-outline-radius-topright",
        +    "-moz-padding-end",
        +    "-moz-padding-start",
        +    "-moz-perspective",
        +    "-moz-perspective-origin",
        +    "-moz-tab-size",
        +    "-moz-text-size-adjust",
        +    "-moz-transform",
        +    "-moz-transform-origin",
        +    "-moz-transform-style",
        +    "-moz-transition",
        +    "-moz-transition-delay",
        +    "-moz-transition-duration",
        +    "-moz-transition-property",
        +    "-moz-transition-timing-function",
        +    "-moz-user-focus",
        +    "-moz-user-input",
        +    "-moz-user-modify",
        +    "-moz-user-select",
        +    "-moz-window-dragging",
        +    "-webkit-align-content",
        +    "-webkit-align-items",
        +    "-webkit-align-self",
        +    "-webkit-animation",
        +    "-webkit-animation-delay",
        +    "-webkit-animation-direction",
        +    "-webkit-animation-duration",
        +    "-webkit-animation-fill-mode",
        +    "-webkit-animation-iteration-count",
        +    "-webkit-animation-name",
        +    "-webkit-animation-play-state",
        +    "-webkit-animation-timing-function",
        +    "-webkit-appearance",
        +    "-webkit-backface-visibility",
        +    "-webkit-background-clip",
        +    "-webkit-background-origin",
        +    "-webkit-background-size",
        +    "-webkit-border-bottom-left-radius",
        +    "-webkit-border-bottom-right-radius",
        +    "-webkit-border-image",
        +    "-webkit-border-radius",
        +    "-webkit-border-top-left-radius",
        +    "-webkit-border-top-right-radius",
        +    "-webkit-box-align",
        +    "-webkit-box-direction",
        +    "-webkit-box-flex",
        +    "-webkit-box-ordinal-group",
        +    "-webkit-box-orient",
        +    "-webkit-box-pack",
        +    "-webkit-box-shadow",
        +    "-webkit-box-sizing",
        +    "-webkit-clip-path",
        +    "-webkit-filter",
        +    "-webkit-flex",
        +    "-webkit-flex-basis",
        +    "-webkit-flex-direction",
        +    "-webkit-flex-flow",
        +    "-webkit-flex-grow",
        +    "-webkit-flex-shrink",
        +    "-webkit-flex-wrap",
        +    "-webkit-font-feature-settings",
        +    "-webkit-justify-content",
        +    "-webkit-line-clamp",
        +    "-webkit-mask",
        +    "-webkit-mask-clip",
        +    "-webkit-mask-composite",
        +    "-webkit-mask-image",
        +    "-webkit-mask-origin",
        +    "-webkit-mask-position",
        +    "-webkit-mask-position-x",
        +    "-webkit-mask-position-y",
        +    "-webkit-mask-repeat",
        +    "-webkit-mask-size",
        +    "-webkit-order",
        +    "-webkit-perspective",
        +    "-webkit-perspective-origin",
        +    "-webkit-text-fill-color",
        +    "-webkit-text-security",
        +    "-webkit-text-size-adjust",
        +    "-webkit-text-stroke",
        +    "-webkit-text-stroke-color",
        +    "-webkit-text-stroke-width",
        +    "-webkit-transform",
        +    "-webkit-transform-origin",
        +    "-webkit-transform-style",
        +    "-webkit-transition",
        +    "-webkit-transition-delay",
        +    "-webkit-transition-duration",
        +    "-webkit-transition-property",
        +    "-webkit-transition-timing-function",
        +    "-webkit-user-select",
        +    "@@iterator",
        +    "ABORT_ERR",
        +    "ACTIVE",
        +    "ACTIVE_ATTRIBUTES",
        +    "ACTIVE_TEXTURE",
        +    "ACTIVE_UNIFORMS",
        +    "ACTIVE_UNIFORM_BLOCKS",
        +    "ADDITION",
        +    "ALIASED_LINE_WIDTH_RANGE",
        +    "ALIASED_POINT_SIZE_RANGE",
        +    "ALL",
        +    "ALLOW_KEYBOARD_INPUT",
        +    "ALLPASS",
        +    "ALPHA",
        +    "ALPHA_BITS",
        +    "ALREADY_SIGNALED",
        +    "ALT_MASK",
        +    "ALWAYS",
        +    "ANY_SAMPLES_PASSED",
        +    "ANY_SAMPLES_PASSED_CONSERVATIVE",
        +    "ANY_TYPE",
        +    "ANY_UNORDERED_NODE_TYPE",
        +    "ARRAY_BUFFER",
        +    "ARRAY_BUFFER_BINDING",
        +    "ATTACHED_SHADERS",
        +    "ATTRIBUTE_NODE",
        +    "AT_TARGET",
        +    "AbortController",
        +    "AbortSignal",
        +    "AbsoluteOrientationSensor",
        +    "AbstractRange",
        +    "Accelerometer",
        +    "AddSearchProvider",
        +    "AggregateError",
        +    "AnalyserNode",
        +    "Animation",
        +    "AnimationEffect",
        +    "AnimationEvent",
        +    "AnimationPlaybackEvent",
        +    "AnimationTimeline",
        +    "AnonXMLHttpRequest",
        +    "Any",
        +    "AnyPermissions",
        +    "ApplicationCache",
        +    "ApplicationCacheErrorEvent",
        +    "Array",
        +    "ArrayBuffer",
        +    "ArrayType",
        +    "AsyncDisposableStack",
        +    "Atomics",
        +    "Attr",
        +    "Audio",
        +    "AudioBuffer",
        +    "AudioBufferSourceNode",
        +    "AudioContext",
        +    "AudioData",
        +    "AudioDecoder",
        +    "AudioDestinationNode",
        +    "AudioEncoder",
        +    "AudioListener",
        +    "AudioNode",
        +    "AudioParam",
        +    "AudioParamMap",
        +    "AudioProcessingEvent",
        +    "AudioScheduledSourceNode",
        +    "AudioSinkInfo",
        +    "AudioStreamTrack",
        +    "AudioWorklet",
        +    "AudioWorkletNode",
        +    "AuthenticatorAssertionResponse",
        +    "AuthenticatorAttestationResponse",
        +    "AuthenticatorResponse",
        +    "AutocompleteErrorEvent",
        +    "BACK",
        +    "BAD_BOUNDARYPOINTS_ERR",
        +    "BAD_REQUEST",
        +    "BANDPASS",
        +    "BLEND",
        +    "BLEND_COLOR",
        +    "BLEND_DST_ALPHA",
        +    "BLEND_DST_RGB",
        +    "BLEND_EQUATION",
        +    "BLEND_EQUATION_ALPHA",
        +    "BLEND_EQUATION_RGB",
        +    "BLEND_SRC_ALPHA",
        +    "BLEND_SRC_RGB",
        +    "BLUE",
        +    "BLUE_BITS",
        +    "BLUR",
        +    "BOOL",
        +    "BOOLEAN_TYPE",
        +    "BOOL_VEC2",
        +    "BOOL_VEC3",
        +    "BOOL_VEC4",
        +    "BOTH",
        +    "BROWSER_DEFAULT_WEBGL",
        +    "BUBBLING_PHASE",
        +    "BUFFER_SIZE",
        +    "BUFFER_USAGE",
        +    "BYTE",
        +    "BYTES_PER_ELEMENT",
        +    "BackgroundFetchManager",
        +    "BackgroundFetchRecord",
        +    "BackgroundFetchRegistration",
        +    "BarProp",
        +    "BarcodeDetector",
        +    "BaseAudioContext",
        +    "BaseHref",
        +    "BatteryManager",
        +    "BeforeInstallPromptEvent",
        +    "BeforeLoadEvent",
        +    "BeforeUnloadEvent",
        +    "BigInt",
        +    "BigInt64Array",
        +    "BigUint64Array",
        +    "BiquadFilterNode",
        +    "Blob",
        +    "BlobEvent",
        +    "Bluetooth",
        +    "BluetoothCharacteristicProperties",
        +    "BluetoothDevice",
        +    "BluetoothRemoteGATTCharacteristic",
        +    "BluetoothRemoteGATTDescriptor",
        +    "BluetoothRemoteGATTServer",
        +    "BluetoothRemoteGATTService",
        +    "BluetoothUUID",
        +    "Boolean",
        +    "BroadcastChannel",
        +    "BrowserCaptureMediaStreamTrack",
        +    "BrowserInfo",
        +    "ByteLengthQueuingStrategy",
        +    "CAPTURING_PHASE",
        +    "CCW",
        +    "CDATASection",
        +    "CDATA_SECTION_NODE",
        +    "CHANGE",
        +    "CHARSET_RULE",
        +    "CHECKING",
        +    "CLAMP_TO_EDGE",
        +    "CLICK",
        +    "CLOSED",
        +    "CLOSING",
        +    "COLOR",
        +    "COLOR_ATTACHMENT0",
        +    "COLOR_ATTACHMENT1",
        +    "COLOR_ATTACHMENT10",
        +    "COLOR_ATTACHMENT11",
        +    "COLOR_ATTACHMENT12",
        +    "COLOR_ATTACHMENT13",
        +    "COLOR_ATTACHMENT14",
        +    "COLOR_ATTACHMENT15",
        +    "COLOR_ATTACHMENT2",
        +    "COLOR_ATTACHMENT3",
        +    "COLOR_ATTACHMENT4",
        +    "COLOR_ATTACHMENT5",
        +    "COLOR_ATTACHMENT6",
        +    "COLOR_ATTACHMENT7",
        +    "COLOR_ATTACHMENT8",
        +    "COLOR_ATTACHMENT9",
        +    "COLOR_BUFFER_BIT",
        +    "COLOR_CLEAR_VALUE",
        +    "COLOR_WRITEMASK",
        +    "COMMENT_NODE",
        +    "COMPARE_REF_TO_TEXTURE",
        +    "COMPILE_STATUS",
        +    "COMPLETION_STATUS_KHR",
        +    "COMPRESSED_RGBA_S3TC_DXT1_EXT",
        +    "COMPRESSED_RGBA_S3TC_DXT3_EXT",
        +    "COMPRESSED_RGBA_S3TC_DXT5_EXT",
        +    "COMPRESSED_RGB_S3TC_DXT1_EXT",
        +    "COMPRESSED_TEXTURE_FORMATS",
        +    "COMPUTE",
        +    "CONDITION_SATISFIED",
        +    "CONFIGURATION_UNSUPPORTED",
        +    "CONNECTING",
        +    "CONSTANT_ALPHA",
        +    "CONSTANT_COLOR",
        +    "CONSTRAINT_ERR",
        +    "CONTEXT_LOST_WEBGL",
        +    "CONTROL_MASK",
        +    "COPY_DST",
        +    "COPY_READ_BUFFER",
        +    "COPY_READ_BUFFER_BINDING",
        +    "COPY_SRC",
        +    "COPY_WRITE_BUFFER",
        +    "COPY_WRITE_BUFFER_BINDING",
        +    "COUNTER_STYLE_RULE",
        +    "CSPViolationReportBody",
        +    "CSS",
        +    "CSS2Properties",
        +    "CSSAnimation",
        +    "CSSCharsetRule",
        +    "CSSConditionRule",
        +    "CSSContainerRule",
        +    "CSSCounterStyleRule",
        +    "CSSFontFaceRule",
        +    "CSSFontFeatureValuesRule",
        +    "CSSFontPaletteValuesRule",
        +    "CSSFunctionDeclarations",
        +    "CSSFunctionDescriptors",
        +    "CSSFunctionRule",
        +    "CSSGroupingRule",
        +    "CSSImageValue",
        +    "CSSImportRule",
        +    "CSSKeyframeRule",
        +    "CSSKeyframesRule",
        +    "CSSKeywordValue",
        +    "CSSLayerBlockRule",
        +    "CSSLayerStatementRule",
        +    "CSSMarginRule",
        +    "CSSMathClamp",
        +    "CSSMathInvert",
        +    "CSSMathMax",
        +    "CSSMathMin",
        +    "CSSMathNegate",
        +    "CSSMathProduct",
        +    "CSSMathSum",
        +    "CSSMathValue",
        +    "CSSMatrixComponent",
        +    "CSSMediaRule",
        +    "CSSMozDocumentRule",
        +    "CSSNameSpaceRule",
        +    "CSSNamespaceRule",
        +    "CSSNestedDeclarations",
        +    "CSSNumericArray",
        +    "CSSNumericValue",
        +    "CSSPageDescriptors",
        +    "CSSPageRule",
        +    "CSSPerspective",
        +    "CSSPositionTryDescriptors",
        +    "CSSPositionTryRule",
        +    "CSSPositionValue",
        +    "CSSPrimitiveValue",
        +    "CSSPropertyRule",
        +    "CSSRotate",
        +    "CSSRule",
        +    "CSSRuleList",
        +    "CSSScale",
        +    "CSSScopeRule",
        +    "CSSSkew",
        +    "CSSSkewX",
        +    "CSSSkewY",
        +    "CSSStartingStyleRule",
        +    "CSSStyleDeclaration",
        +    "CSSStyleProperties",
        +    "CSSStyleRule",
        +    "CSSStyleSheet",
        +    "CSSStyleValue",
        +    "CSSSupportsRule",
        +    "CSSTransformComponent",
        +    "CSSTransformValue",
        +    "CSSTransition",
        +    "CSSTranslate",
        +    "CSSUnitValue",
        +    "CSSUnknownRule",
        +    "CSSUnparsedValue",
        +    "CSSValue",
        +    "CSSValueList",
        +    "CSSVariableReferenceValue",
        +    "CSSVariablesDeclaration",
        +    "CSSVariablesRule",
        +    "CSSViewTransitionRule",
        +    "CSSViewportRule",
        +    "CSS_ATTR",
        +    "CSS_CM",
        +    "CSS_COUNTER",
        +    "CSS_CUSTOM",
        +    "CSS_DEG",
        +    "CSS_DIMENSION",
        +    "CSS_EMS",
        +    "CSS_EXS",
        +    "CSS_FILTER_BLUR",
        +    "CSS_FILTER_BRIGHTNESS",
        +    "CSS_FILTER_CONTRAST",
        +    "CSS_FILTER_CUSTOM",
        +    "CSS_FILTER_DROP_SHADOW",
        +    "CSS_FILTER_GRAYSCALE",
        +    "CSS_FILTER_HUE_ROTATE",
        +    "CSS_FILTER_INVERT",
        +    "CSS_FILTER_OPACITY",
        +    "CSS_FILTER_REFERENCE",
        +    "CSS_FILTER_SATURATE",
        +    "CSS_FILTER_SEPIA",
        +    "CSS_GRAD",
        +    "CSS_HZ",
        +    "CSS_IDENT",
        +    "CSS_IN",
        +    "CSS_INHERIT",
        +    "CSS_KHZ",
        +    "CSS_MATRIX",
        +    "CSS_MATRIX3D",
        +    "CSS_MM",
        +    "CSS_MS",
        +    "CSS_NUMBER",
        +    "CSS_PC",
        +    "CSS_PERCENTAGE",
        +    "CSS_PERSPECTIVE",
        +    "CSS_PRIMITIVE_VALUE",
        +    "CSS_PT",
        +    "CSS_PX",
        +    "CSS_RAD",
        +    "CSS_RECT",
        +    "CSS_RGBCOLOR",
        +    "CSS_ROTATE",
        +    "CSS_ROTATE3D",
        +    "CSS_ROTATEX",
        +    "CSS_ROTATEY",
        +    "CSS_ROTATEZ",
        +    "CSS_S",
        +    "CSS_SCALE",
        +    "CSS_SCALE3D",
        +    "CSS_SCALEX",
        +    "CSS_SCALEY",
        +    "CSS_SCALEZ",
        +    "CSS_SKEW",
        +    "CSS_SKEWX",
        +    "CSS_SKEWY",
        +    "CSS_STRING",
        +    "CSS_TRANSLATE",
        +    "CSS_TRANSLATE3D",
        +    "CSS_TRANSLATEX",
        +    "CSS_TRANSLATEY",
        +    "CSS_TRANSLATEZ",
        +    "CSS_UNKNOWN",
        +    "CSS_URI",
        +    "CSS_VALUE_LIST",
        +    "CSS_VH",
        +    "CSS_VMAX",
        +    "CSS_VMIN",
        +    "CSS_VW",
        +    "CULL_FACE",
        +    "CULL_FACE_MODE",
        +    "CURRENT_PROGRAM",
        +    "CURRENT_QUERY",
        +    "CURRENT_VERTEX_ATTRIB",
        +    "CUSTOM",
        +    "CW",
        +    "Cache",
        +    "CacheStorage",
        +    "CanvasCaptureMediaStream",
        +    "CanvasCaptureMediaStreamTrack",
        +    "CanvasGradient",
        +    "CanvasPattern",
        +    "CanvasRenderingContext2D",
        +    "CaptureController",
        +    "CaretPosition",
        +    "ChannelMergerNode",
        +    "ChannelSplitterNode",
        +    "ChapterInformation",
        +    "CharacterBoundsUpdateEvent",
        +    "CharacterData",
        +    "ClientRect",
        +    "ClientRectList",
        +    "Clipboard",
        +    "ClipboardEvent",
        +    "ClipboardItem",
        +    "CloseEvent",
        +    "CloseWatcher",
        +    "Collator",
        +    "ColorArray",
        +    "ColorValue",
        +    "CommandEvent",
        +    "Comment",
        +    "CompileError",
        +    "CompositionEvent",
        +    "CompressionStream",
        +    "Console",
        +    "ConstantSourceNode",
        +    "ContentVisibilityAutoStateChangeEvent",
        +    "ContextFilter",
        +    "ContextType",
        +    "Controllers",
        +    "ConvolverNode",
        +    "CookieChangeEvent",
        +    "CookieStore",
        +    "CookieStoreManager",
        +    "CountQueuingStrategy",
        +    "Counter",
        +    "CreateMonitor",
        +    "CreateType",
        +    "Credential",
        +    "CredentialsContainer",
        +    "CropTarget",
        +    "Crypto",
        +    "CryptoKey",
        +    "CustomElementRegistry",
        +    "CustomEvent",
        +    "CustomStateSet",
        +    "DATABASE_ERR",
        +    "DATA_CLONE_ERR",
        +    "DATA_ERR",
        +    "DBLCLICK",
        +    "DECR",
        +    "DECR_WRAP",
        +    "DELETE_STATUS",
        +    "DEPTH",
        +    "DEPTH24_STENCIL8",
        +    "DEPTH32F_STENCIL8",
        +    "DEPTH_ATTACHMENT",
        +    "DEPTH_BITS",
        +    "DEPTH_BUFFER_BIT",
        +    "DEPTH_CLEAR_VALUE",
        +    "DEPTH_COMPONENT",
        +    "DEPTH_COMPONENT16",
        +    "DEPTH_COMPONENT24",
        +    "DEPTH_COMPONENT32F",
        +    "DEPTH_FUNC",
        +    "DEPTH_RANGE",
        +    "DEPTH_STENCIL",
        +    "DEPTH_STENCIL_ATTACHMENT",
        +    "DEPTH_TEST",
        +    "DEPTH_WRITEMASK",
        +    "DEVICE_INELIGIBLE",
        +    "DIRECTION_DOWN",
        +    "DIRECTION_LEFT",
        +    "DIRECTION_RIGHT",
        +    "DIRECTION_UP",
        +    "DISABLED",
        +    "DISPATCH_REQUEST_ERR",
        +    "DITHER",
        +    "DOCUMENT_FRAGMENT_NODE",
        +    "DOCUMENT_NODE",
        +    "DOCUMENT_POSITION_CONTAINED_BY",
        +    "DOCUMENT_POSITION_CONTAINS",
        +    "DOCUMENT_POSITION_DISCONNECTED",
        +    "DOCUMENT_POSITION_FOLLOWING",
        +    "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC",
        +    "DOCUMENT_POSITION_PRECEDING",
        +    "DOCUMENT_TYPE_NODE",
        +    "DOMCursor",
        +    "DOMError",
        +    "DOMException",
        +    "DOMImplementation",
        +    "DOMImplementationLS",
        +    "DOMMatrix",
        +    "DOMMatrixReadOnly",
        +    "DOMParser",
        +    "DOMPoint",
        +    "DOMPointReadOnly",
        +    "DOMQuad",
        +    "DOMRect",
        +    "DOMRectList",
        +    "DOMRectReadOnly",
        +    "DOMRequest",
        +    "DOMSTRING_SIZE_ERR",
        +    "DOMSettableTokenList",
        +    "DOMStringList",
        +    "DOMStringMap",
        +    "DOMTokenList",
        +    "DOMTransactionEvent",
        +    "DOM_DELTA_LINE",
        +    "DOM_DELTA_PAGE",
        +    "DOM_DELTA_PIXEL",
        +    "DOM_INPUT_METHOD_DROP",
        +    "DOM_INPUT_METHOD_HANDWRITING",
        +    "DOM_INPUT_METHOD_IME",
        +    "DOM_INPUT_METHOD_KEYBOARD",
        +    "DOM_INPUT_METHOD_MULTIMODAL",
        +    "DOM_INPUT_METHOD_OPTION",
        +    "DOM_INPUT_METHOD_PASTE",
        +    "DOM_INPUT_METHOD_SCRIPT",
        +    "DOM_INPUT_METHOD_UNKNOWN",
        +    "DOM_INPUT_METHOD_VOICE",
        +    "DOM_KEY_LOCATION_JOYSTICK",
        +    "DOM_KEY_LOCATION_LEFT",
        +    "DOM_KEY_LOCATION_MOBILE",
        +    "DOM_KEY_LOCATION_NUMPAD",
        +    "DOM_KEY_LOCATION_RIGHT",
        +    "DOM_KEY_LOCATION_STANDARD",
        +    "DOM_VK_0",
        +    "DOM_VK_1",
        +    "DOM_VK_2",
        +    "DOM_VK_3",
        +    "DOM_VK_4",
        +    "DOM_VK_5",
        +    "DOM_VK_6",
        +    "DOM_VK_7",
        +    "DOM_VK_8",
        +    "DOM_VK_9",
        +    "DOM_VK_A",
        +    "DOM_VK_ACCEPT",
        +    "DOM_VK_ADD",
        +    "DOM_VK_ALT",
        +    "DOM_VK_ALTGR",
        +    "DOM_VK_AMPERSAND",
        +    "DOM_VK_ASTERISK",
        +    "DOM_VK_AT",
        +    "DOM_VK_ATTN",
        +    "DOM_VK_B",
        +    "DOM_VK_BACKSPACE",
        +    "DOM_VK_BACK_QUOTE",
        +    "DOM_VK_BACK_SLASH",
        +    "DOM_VK_BACK_SPACE",
        +    "DOM_VK_C",
        +    "DOM_VK_CANCEL",
        +    "DOM_VK_CAPS_LOCK",
        +    "DOM_VK_CIRCUMFLEX",
        +    "DOM_VK_CLEAR",
        +    "DOM_VK_CLOSE_BRACKET",
        +    "DOM_VK_CLOSE_CURLY_BRACKET",
        +    "DOM_VK_CLOSE_PAREN",
        +    "DOM_VK_COLON",
        +    "DOM_VK_COMMA",
        +    "DOM_VK_CONTEXT_MENU",
        +    "DOM_VK_CONTROL",
        +    "DOM_VK_CONVERT",
        +    "DOM_VK_CRSEL",
        +    "DOM_VK_CTRL",
        +    "DOM_VK_D",
        +    "DOM_VK_DECIMAL",
        +    "DOM_VK_DELETE",
        +    "DOM_VK_DIVIDE",
        +    "DOM_VK_DOLLAR",
        +    "DOM_VK_DOUBLE_QUOTE",
        +    "DOM_VK_DOWN",
        +    "DOM_VK_E",
        +    "DOM_VK_EISU",
        +    "DOM_VK_END",
        +    "DOM_VK_ENTER",
        +    "DOM_VK_EQUALS",
        +    "DOM_VK_EREOF",
        +    "DOM_VK_ESCAPE",
        +    "DOM_VK_EXCLAMATION",
        +    "DOM_VK_EXECUTE",
        +    "DOM_VK_EXSEL",
        +    "DOM_VK_F",
        +    "DOM_VK_F1",
        +    "DOM_VK_F10",
        +    "DOM_VK_F11",
        +    "DOM_VK_F12",
        +    "DOM_VK_F13",
        +    "DOM_VK_F14",
        +    "DOM_VK_F15",
        +    "DOM_VK_F16",
        +    "DOM_VK_F17",
        +    "DOM_VK_F18",
        +    "DOM_VK_F19",
        +    "DOM_VK_F2",
        +    "DOM_VK_F20",
        +    "DOM_VK_F21",
        +    "DOM_VK_F22",
        +    "DOM_VK_F23",
        +    "DOM_VK_F24",
        +    "DOM_VK_F25",
        +    "DOM_VK_F26",
        +    "DOM_VK_F27",
        +    "DOM_VK_F28",
        +    "DOM_VK_F29",
        +    "DOM_VK_F3",
        +    "DOM_VK_F30",
        +    "DOM_VK_F31",
        +    "DOM_VK_F32",
        +    "DOM_VK_F33",
        +    "DOM_VK_F34",
        +    "DOM_VK_F35",
        +    "DOM_VK_F36",
        +    "DOM_VK_F4",
        +    "DOM_VK_F5",
        +    "DOM_VK_F6",
        +    "DOM_VK_F7",
        +    "DOM_VK_F8",
        +    "DOM_VK_F9",
        +    "DOM_VK_FINAL",
        +    "DOM_VK_FRONT",
        +    "DOM_VK_G",
        +    "DOM_VK_GREATER_THAN",
        +    "DOM_VK_H",
        +    "DOM_VK_HANGUL",
        +    "DOM_VK_HANJA",
        +    "DOM_VK_HASH",
        +    "DOM_VK_HELP",
        +    "DOM_VK_HK_TOGGLE",
        +    "DOM_VK_HOME",
        +    "DOM_VK_HYPHEN_MINUS",
        +    "DOM_VK_I",
        +    "DOM_VK_INSERT",
        +    "DOM_VK_J",
        +    "DOM_VK_JUNJA",
        +    "DOM_VK_K",
        +    "DOM_VK_KANA",
        +    "DOM_VK_KANJI",
        +    "DOM_VK_L",
        +    "DOM_VK_LEFT",
        +    "DOM_VK_LEFT_TAB",
        +    "DOM_VK_LESS_THAN",
        +    "DOM_VK_M",
        +    "DOM_VK_META",
        +    "DOM_VK_MODECHANGE",
        +    "DOM_VK_MULTIPLY",
        +    "DOM_VK_N",
        +    "DOM_VK_NONCONVERT",
        +    "DOM_VK_NUMPAD0",
        +    "DOM_VK_NUMPAD1",
        +    "DOM_VK_NUMPAD2",
        +    "DOM_VK_NUMPAD3",
        +    "DOM_VK_NUMPAD4",
        +    "DOM_VK_NUMPAD5",
        +    "DOM_VK_NUMPAD6",
        +    "DOM_VK_NUMPAD7",
        +    "DOM_VK_NUMPAD8",
        +    "DOM_VK_NUMPAD9",
        +    "DOM_VK_NUM_LOCK",
        +    "DOM_VK_O",
        +    "DOM_VK_OEM_1",
        +    "DOM_VK_OEM_102",
        +    "DOM_VK_OEM_2",
        +    "DOM_VK_OEM_3",
        +    "DOM_VK_OEM_4",
        +    "DOM_VK_OEM_5",
        +    "DOM_VK_OEM_6",
        +    "DOM_VK_OEM_7",
        +    "DOM_VK_OEM_8",
        +    "DOM_VK_OEM_COMMA",
        +    "DOM_VK_OEM_MINUS",
        +    "DOM_VK_OEM_PERIOD",
        +    "DOM_VK_OEM_PLUS",
        +    "DOM_VK_OPEN_BRACKET",
        +    "DOM_VK_OPEN_CURLY_BRACKET",
        +    "DOM_VK_OPEN_PAREN",
        +    "DOM_VK_P",
        +    "DOM_VK_PA1",
        +    "DOM_VK_PAGEDOWN",
        +    "DOM_VK_PAGEUP",
        +    "DOM_VK_PAGE_DOWN",
        +    "DOM_VK_PAGE_UP",
        +    "DOM_VK_PAUSE",
        +    "DOM_VK_PERCENT",
        +    "DOM_VK_PERIOD",
        +    "DOM_VK_PIPE",
        +    "DOM_VK_PLAY",
        +    "DOM_VK_PLUS",
        +    "DOM_VK_PRINT",
        +    "DOM_VK_PRINTSCREEN",
        +    "DOM_VK_PROCESSKEY",
        +    "DOM_VK_PROPERITES",
        +    "DOM_VK_Q",
        +    "DOM_VK_QUESTION_MARK",
        +    "DOM_VK_QUOTE",
        +    "DOM_VK_R",
        +    "DOM_VK_REDO",
        +    "DOM_VK_RETURN",
        +    "DOM_VK_RIGHT",
        +    "DOM_VK_S",
        +    "DOM_VK_SCROLL_LOCK",
        +    "DOM_VK_SELECT",
        +    "DOM_VK_SEMICOLON",
        +    "DOM_VK_SEPARATOR",
        +    "DOM_VK_SHIFT",
        +    "DOM_VK_SLASH",
        +    "DOM_VK_SLEEP",
        +    "DOM_VK_SPACE",
        +    "DOM_VK_SUBTRACT",
        +    "DOM_VK_T",
        +    "DOM_VK_TAB",
        +    "DOM_VK_TILDE",
        +    "DOM_VK_U",
        +    "DOM_VK_UNDERSCORE",
        +    "DOM_VK_UNDO",
        +    "DOM_VK_UNICODE",
        +    "DOM_VK_UP",
        +    "DOM_VK_V",
        +    "DOM_VK_VOLUME_DOWN",
        +    "DOM_VK_VOLUME_MUTE",
        +    "DOM_VK_VOLUME_UP",
        +    "DOM_VK_W",
        +    "DOM_VK_WIN",
        +    "DOM_VK_WINDOW",
        +    "DOM_VK_WIN_ICO_00",
        +    "DOM_VK_WIN_ICO_CLEAR",
        +    "DOM_VK_WIN_ICO_HELP",
        +    "DOM_VK_WIN_OEM_ATTN",
        +    "DOM_VK_WIN_OEM_AUTO",
        +    "DOM_VK_WIN_OEM_BACKTAB",
        +    "DOM_VK_WIN_OEM_CLEAR",
        +    "DOM_VK_WIN_OEM_COPY",
        +    "DOM_VK_WIN_OEM_CUSEL",
        +    "DOM_VK_WIN_OEM_ENLW",
        +    "DOM_VK_WIN_OEM_FINISH",
        +    "DOM_VK_WIN_OEM_FJ_JISHO",
        +    "DOM_VK_WIN_OEM_FJ_LOYA",
        +    "DOM_VK_WIN_OEM_FJ_MASSHOU",
        +    "DOM_VK_WIN_OEM_FJ_ROYA",
        +    "DOM_VK_WIN_OEM_FJ_TOUROKU",
        +    "DOM_VK_WIN_OEM_JUMP",
        +    "DOM_VK_WIN_OEM_PA1",
        +    "DOM_VK_WIN_OEM_PA2",
        +    "DOM_VK_WIN_OEM_PA3",
        +    "DOM_VK_WIN_OEM_RESET",
        +    "DOM_VK_WIN_OEM_WSCTRL",
        +    "DOM_VK_X",
        +    "DOM_VK_XF86XK_ADD_FAVORITE",
        +    "DOM_VK_XF86XK_APPLICATION_LEFT",
        +    "DOM_VK_XF86XK_APPLICATION_RIGHT",
        +    "DOM_VK_XF86XK_AUDIO_CYCLE_TRACK",
        +    "DOM_VK_XF86XK_AUDIO_FORWARD",
        +    "DOM_VK_XF86XK_AUDIO_LOWER_VOLUME",
        +    "DOM_VK_XF86XK_AUDIO_MEDIA",
        +    "DOM_VK_XF86XK_AUDIO_MUTE",
        +    "DOM_VK_XF86XK_AUDIO_NEXT",
        +    "DOM_VK_XF86XK_AUDIO_PAUSE",
        +    "DOM_VK_XF86XK_AUDIO_PLAY",
        +    "DOM_VK_XF86XK_AUDIO_PREV",
        +    "DOM_VK_XF86XK_AUDIO_RAISE_VOLUME",
        +    "DOM_VK_XF86XK_AUDIO_RANDOM_PLAY",
        +    "DOM_VK_XF86XK_AUDIO_RECORD",
        +    "DOM_VK_XF86XK_AUDIO_REPEAT",
        +    "DOM_VK_XF86XK_AUDIO_REWIND",
        +    "DOM_VK_XF86XK_AUDIO_STOP",
        +    "DOM_VK_XF86XK_AWAY",
        +    "DOM_VK_XF86XK_BACK",
        +    "DOM_VK_XF86XK_BACK_FORWARD",
        +    "DOM_VK_XF86XK_BATTERY",
        +    "DOM_VK_XF86XK_BLUE",
        +    "DOM_VK_XF86XK_BLUETOOTH",
        +    "DOM_VK_XF86XK_BOOK",
        +    "DOM_VK_XF86XK_BRIGHTNESS_ADJUST",
        +    "DOM_VK_XF86XK_CALCULATOR",
        +    "DOM_VK_XF86XK_CALENDAR",
        +    "DOM_VK_XF86XK_CD",
        +    "DOM_VK_XF86XK_CLOSE",
        +    "DOM_VK_XF86XK_COMMUNITY",
        +    "DOM_VK_XF86XK_CONTRAST_ADJUST",
        +    "DOM_VK_XF86XK_COPY",
        +    "DOM_VK_XF86XK_CUT",
        +    "DOM_VK_XF86XK_CYCLE_ANGLE",
        +    "DOM_VK_XF86XK_DISPLAY",
        +    "DOM_VK_XF86XK_DOCUMENTS",
        +    "DOM_VK_XF86XK_DOS",
        +    "DOM_VK_XF86XK_EJECT",
        +    "DOM_VK_XF86XK_EXCEL",
        +    "DOM_VK_XF86XK_EXPLORER",
        +    "DOM_VK_XF86XK_FAVORITES",
        +    "DOM_VK_XF86XK_FINANCE",
        +    "DOM_VK_XF86XK_FORWARD",
        +    "DOM_VK_XF86XK_FRAME_BACK",
        +    "DOM_VK_XF86XK_FRAME_FORWARD",
        +    "DOM_VK_XF86XK_GAME",
        +    "DOM_VK_XF86XK_GO",
        +    "DOM_VK_XF86XK_GREEN",
        +    "DOM_VK_XF86XK_HIBERNATE",
        +    "DOM_VK_XF86XK_HISTORY",
        +    "DOM_VK_XF86XK_HOME_PAGE",
        +    "DOM_VK_XF86XK_HOT_LINKS",
        +    "DOM_VK_XF86XK_I_TOUCH",
        +    "DOM_VK_XF86XK_KBD_BRIGHTNESS_DOWN",
        +    "DOM_VK_XF86XK_KBD_BRIGHTNESS_UP",
        +    "DOM_VK_XF86XK_KBD_LIGHT_ON_OFF",
        +    "DOM_VK_XF86XK_LAUNCH0",
        +    "DOM_VK_XF86XK_LAUNCH1",
        +    "DOM_VK_XF86XK_LAUNCH2",
        +    "DOM_VK_XF86XK_LAUNCH3",
        +    "DOM_VK_XF86XK_LAUNCH4",
        +    "DOM_VK_XF86XK_LAUNCH5",
        +    "DOM_VK_XF86XK_LAUNCH6",
        +    "DOM_VK_XF86XK_LAUNCH7",
        +    "DOM_VK_XF86XK_LAUNCH8",
        +    "DOM_VK_XF86XK_LAUNCH9",
        +    "DOM_VK_XF86XK_LAUNCH_A",
        +    "DOM_VK_XF86XK_LAUNCH_B",
        +    "DOM_VK_XF86XK_LAUNCH_C",
        +    "DOM_VK_XF86XK_LAUNCH_D",
        +    "DOM_VK_XF86XK_LAUNCH_E",
        +    "DOM_VK_XF86XK_LAUNCH_F",
        +    "DOM_VK_XF86XK_LIGHT_BULB",
        +    "DOM_VK_XF86XK_LOG_OFF",
        +    "DOM_VK_XF86XK_MAIL",
        +    "DOM_VK_XF86XK_MAIL_FORWARD",
        +    "DOM_VK_XF86XK_MARKET",
        +    "DOM_VK_XF86XK_MEETING",
        +    "DOM_VK_XF86XK_MEMO",
        +    "DOM_VK_XF86XK_MENU_KB",
        +    "DOM_VK_XF86XK_MENU_PB",
        +    "DOM_VK_XF86XK_MESSENGER",
        +    "DOM_VK_XF86XK_MON_BRIGHTNESS_DOWN",
        +    "DOM_VK_XF86XK_MON_BRIGHTNESS_UP",
        +    "DOM_VK_XF86XK_MUSIC",
        +    "DOM_VK_XF86XK_MY_COMPUTER",
        +    "DOM_VK_XF86XK_MY_SITES",
        +    "DOM_VK_XF86XK_NEW",
        +    "DOM_VK_XF86XK_NEWS",
        +    "DOM_VK_XF86XK_OFFICE_HOME",
        +    "DOM_VK_XF86XK_OPEN",
        +    "DOM_VK_XF86XK_OPEN_URL",
        +    "DOM_VK_XF86XK_OPTION",
        +    "DOM_VK_XF86XK_PASTE",
        +    "DOM_VK_XF86XK_PHONE",
        +    "DOM_VK_XF86XK_PICTURES",
        +    "DOM_VK_XF86XK_POWER_DOWN",
        +    "DOM_VK_XF86XK_POWER_OFF",
        +    "DOM_VK_XF86XK_RED",
        +    "DOM_VK_XF86XK_REFRESH",
        +    "DOM_VK_XF86XK_RELOAD",
        +    "DOM_VK_XF86XK_REPLY",
        +    "DOM_VK_XF86XK_ROCKER_DOWN",
        +    "DOM_VK_XF86XK_ROCKER_ENTER",
        +    "DOM_VK_XF86XK_ROCKER_UP",
        +    "DOM_VK_XF86XK_ROTATE_WINDOWS",
        +    "DOM_VK_XF86XK_ROTATION_KB",
        +    "DOM_VK_XF86XK_ROTATION_PB",
        +    "DOM_VK_XF86XK_SAVE",
        +    "DOM_VK_XF86XK_SCREEN_SAVER",
        +    "DOM_VK_XF86XK_SCROLL_CLICK",
        +    "DOM_VK_XF86XK_SCROLL_DOWN",
        +    "DOM_VK_XF86XK_SCROLL_UP",
        +    "DOM_VK_XF86XK_SEARCH",
        +    "DOM_VK_XF86XK_SEND",
        +    "DOM_VK_XF86XK_SHOP",
        +    "DOM_VK_XF86XK_SPELL",
        +    "DOM_VK_XF86XK_SPLIT_SCREEN",
        +    "DOM_VK_XF86XK_STANDBY",
        +    "DOM_VK_XF86XK_START",
        +    "DOM_VK_XF86XK_STOP",
        +    "DOM_VK_XF86XK_SUBTITLE",
        +    "DOM_VK_XF86XK_SUPPORT",
        +    "DOM_VK_XF86XK_SUSPEND",
        +    "DOM_VK_XF86XK_TASK_PANE",
        +    "DOM_VK_XF86XK_TERMINAL",
        +    "DOM_VK_XF86XK_TIME",
        +    "DOM_VK_XF86XK_TOOLS",
        +    "DOM_VK_XF86XK_TOP_MENU",
        +    "DOM_VK_XF86XK_TO_DO_LIST",
        +    "DOM_VK_XF86XK_TRAVEL",
        +    "DOM_VK_XF86XK_USER1KB",
        +    "DOM_VK_XF86XK_USER2KB",
        +    "DOM_VK_XF86XK_USER_PB",
        +    "DOM_VK_XF86XK_UWB",
        +    "DOM_VK_XF86XK_VENDOR_HOME",
        +    "DOM_VK_XF86XK_VIDEO",
        +    "DOM_VK_XF86XK_VIEW",
        +    "DOM_VK_XF86XK_WAKE_UP",
        +    "DOM_VK_XF86XK_WEB_CAM",
        +    "DOM_VK_XF86XK_WHEEL_BUTTON",
        +    "DOM_VK_XF86XK_WLAN",
        +    "DOM_VK_XF86XK_WORD",
        +    "DOM_VK_XF86XK_WWW",
        +    "DOM_VK_XF86XK_XFER",
        +    "DOM_VK_XF86XK_YELLOW",
        +    "DOM_VK_XF86XK_ZOOM_IN",
        +    "DOM_VK_XF86XK_ZOOM_OUT",
        +    "DOM_VK_Y",
        +    "DOM_VK_Z",
        +    "DOM_VK_ZOOM",
        +    "DONE",
        +    "DONT_CARE",
        +    "DOWNLOADING",
        +    "DRAGDROP",
        +    "DRAW_BUFFER0",
        +    "DRAW_BUFFER1",
        +    "DRAW_BUFFER10",
        +    "DRAW_BUFFER11",
        +    "DRAW_BUFFER12",
        +    "DRAW_BUFFER13",
        +    "DRAW_BUFFER14",
        +    "DRAW_BUFFER15",
        +    "DRAW_BUFFER2",
        +    "DRAW_BUFFER3",
        +    "DRAW_BUFFER4",
        +    "DRAW_BUFFER5",
        +    "DRAW_BUFFER6",
        +    "DRAW_BUFFER7",
        +    "DRAW_BUFFER8",
        +    "DRAW_BUFFER9",
        +    "DRAW_FRAMEBUFFER",
        +    "DRAW_FRAMEBUFFER_BINDING",
        +    "DST_ALPHA",
        +    "DST_COLOR",
        +    "DYNAMIC_COPY",
        +    "DYNAMIC_DRAW",
        +    "DYNAMIC_READ",
        +    "DataChannel",
        +    "DataTransfer",
        +    "DataTransferItem",
        +    "DataTransferItemList",
        +    "DataView",
        +    "Date",
        +    "DateTimeFormat",
        +    "DecompressionStream",
        +    "DelayNode",
        +    "DelegatedInkTrailPresenter",
        +    "DeprecationReportBody",
        +    "DesktopNotification",
        +    "DesktopNotificationCenter",
        +    "Details",
        +    "DeviceLightEvent",
        +    "DeviceMotionEvent",
        +    "DeviceMotionEventAcceleration",
        +    "DeviceMotionEventRotationRate",
        +    "DeviceOrientationEvent",
        +    "DevicePosture",
        +    "DeviceProximityEvent",
        +    "DeviceStorage",
        +    "DeviceStorageChangeEvent",
        +    "DigitalCredential",
        +    "Directory",
        +    "DisplayNames",
        +    "DisposableStack",
        +    "Document",
        +    "DocumentFragment",
        +    "DocumentPictureInPicture",
        +    "DocumentPictureInPictureEvent",
        +    "DocumentTimeline",
        +    "DocumentType",
        +    "DragEvent",
        +    "Duration",
        +    "DurationFormat",
        +    "DynamicsCompressorNode",
        +    "E",
        +    "ELEMENT_ARRAY_BUFFER",
        +    "ELEMENT_ARRAY_BUFFER_BINDING",
        +    "ELEMENT_NODE",
        +    "EMPTY",
        +    "ENCODING_ERR",
        +    "ENDED",
        +    "END_TO_END",
        +    "END_TO_START",
        +    "ENTITY_NODE",
        +    "ENTITY_REFERENCE_NODE",
        +    "EPSILON",
        +    "EQUAL",
        +    "EQUALPOWER",
        +    "ERROR",
        +    "EXPONENTIAL_DISTANCE",
        +    "EditContext",
        +    "Element",
        +    "ElementInternals",
        +    "ElementQuery",
        +    "EncodedAudioChunk",
        +    "EncodedVideoChunk",
        +    "EnterPictureInPictureEvent",
        +    "Entity",
        +    "EntityReference",
        +    "Error",
        +    "ErrorEvent",
        +    "EvalError",
        +    "Event",
        +    "EventCounts",
        +    "EventException",
        +    "EventSource",
        +    "EventTarget",
        +    "Exception",
        +    "ExtensionContext",
        +    "ExtensionDisabledReason",
        +    "ExtensionInfo",
        +    "ExtensionInstallType",
        +    "ExtensionType",
        +    "External",
        +    "EyeDropper",
        +    "FASTEST",
        +    "FIDOSDK",
        +    "FILTER_ACCEPT",
        +    "FILTER_INTERRUPT",
        +    "FILTER_REJECT",
        +    "FILTER_SKIP",
        +    "FINISHED_STATE",
        +    "FIRST_ORDERED_NODE_TYPE",
        +    "FLOAT",
        +    "FLOAT_32_UNSIGNED_INT_24_8_REV",
        +    "FLOAT_MAT2",
        +    "FLOAT_MAT2x3",
        +    "FLOAT_MAT2x4",
        +    "FLOAT_MAT3",
        +    "FLOAT_MAT3x2",
        +    "FLOAT_MAT3x4",
        +    "FLOAT_MAT4",
        +    "FLOAT_MAT4x2",
        +    "FLOAT_MAT4x3",
        +    "FLOAT_VEC2",
        +    "FLOAT_VEC3",
        +    "FLOAT_VEC4",
        +    "FOCUS",
        +    "FONT_FACE_RULE",
        +    "FONT_FEATURE_VALUES_RULE",
        +    "FRAGMENT",
        +    "FRAGMENT_SHADER",
        +    "FRAGMENT_SHADER_DERIVATIVE_HINT",
        +    "FRAGMENT_SHADER_DERIVATIVE_HINT_OES",
        +    "FRAMEBUFFER",
        +    "FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",
        +    "FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",
        +    "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",
        +    "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",
        +    "FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",
        +    "FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",
        +    "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",
        +    "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",
        +    "FRAMEBUFFER_ATTACHMENT_RED_SIZE",
        +    "FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",
        +    "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",
        +    "FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",
        +    "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",
        +    "FRAMEBUFFER_BINDING",
        +    "FRAMEBUFFER_COMPLETE",
        +    "FRAMEBUFFER_DEFAULT",
        +    "FRAMEBUFFER_INCOMPLETE_ATTACHMENT",
        +    "FRAMEBUFFER_INCOMPLETE_DIMENSIONS",
        +    "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",
        +    "FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",
        +    "FRAMEBUFFER_UNSUPPORTED",
        +    "FRONT",
        +    "FRONT_AND_BACK",
        +    "FRONT_FACE",
        +    "FUNC_ADD",
        +    "FUNC_REVERSE_SUBTRACT",
        +    "FUNC_SUBTRACT",
        +    "FeaturePolicy",
        +    "FeaturePolicyViolationReportBody",
        +    "FederatedCredential",
        +    "Feed",
        +    "FeedEntry",
        +    "Fence",
        +    "FencedFrameConfig",
        +    "FetchLaterResult",
        +    "File",
        +    "FileError",
        +    "FileList",
        +    "FileReader",
        +    "FileSystem",
        +    "FileSystemDirectoryEntry",
        +    "FileSystemDirectoryHandle",
        +    "FileSystemDirectoryReader",
        +    "FileSystemEntry",
        +    "FileSystemFileEntry",
        +    "FileSystemFileHandle",
        +    "FileSystemHandle",
        +    "FileSystemObserver",
        +    "FileSystemWritableFileStream",
        +    "FinalizationRegistry",
        +    "FindInPage",
        +    "Float16Array",
        +    "Float32Array",
        +    "Float64Array",
        +    "FocusEvent",
        +    "FontData",
        +    "FontFace",
        +    "FontFaceSet",
        +    "FontFaceSetLoadEvent",
        +    "FormData",
        +    "FormDataEvent",
        +    "FragmentDirective",
        +    "Function",
        +    "GENERATE_MIPMAP_HINT",
        +    "GEQUAL",
        +    "GPU",
        +    "GPUAdapter",
        +    "GPUAdapterInfo",
        +    "GPUBindGroup",
        +    "GPUBindGroupLayout",
        +    "GPUBuffer",
        +    "GPUBufferUsage",
        +    "GPUCanvasContext",
        +    "GPUColorWrite",
        +    "GPUCommandBuffer",
        +    "GPUCommandEncoder",
        +    "GPUCompilationInfo",
        +    "GPUCompilationMessage",
        +    "GPUComputePassEncoder",
        +    "GPUComputePipeline",
        +    "GPUDevice",
        +    "GPUDeviceLostInfo",
        +    "GPUError",
        +    "GPUExternalTexture",
        +    "GPUInternalError",
        +    "GPUMapMode",
        +    "GPUOutOfMemoryError",
        +    "GPUPipelineError",
        +    "GPUPipelineLayout",
        +    "GPUQuerySet",
        +    "GPUQueue",
        +    "GPURenderBundle",
        +    "GPURenderBundleEncoder",
        +    "GPURenderPassEncoder",
        +    "GPURenderPipeline",
        +    "GPUSampler",
        +    "GPUShaderModule",
        +    "GPUShaderStage",
        +    "GPUSupportedFeatures",
        +    "GPUSupportedLimits",
        +    "GPUTexture",
        +    "GPUTextureUsage",
        +    "GPUTextureView",
        +    "GPUUncapturedErrorEvent",
        +    "GPUValidationError",
        +    "GREATER",
        +    "GREEN",
        +    "GREEN_BITS",
        +    "GainNode",
        +    "Gamepad",
        +    "GamepadAxisMoveEvent",
        +    "GamepadButton",
        +    "GamepadButtonEvent",
        +    "GamepadEvent",
        +    "GamepadHapticActuator",
        +    "GamepadPose",
        +    "Geolocation",
        +    "GeolocationCoordinates",
        +    "GeolocationPosition",
        +    "GeolocationPositionError",
        +    "GestureEvent",
        +    "GetInfo",
        +    "Global",
        +    "GravitySensor",
        +    "Gyroscope",
        +    "HALF_FLOAT",
        +    "HAVE_CURRENT_DATA",
        +    "HAVE_ENOUGH_DATA",
        +    "HAVE_FUTURE_DATA",
        +    "HAVE_METADATA",
        +    "HAVE_NOTHING",
        +    "HEADERS_RECEIVED",
        +    "HID",
        +    "HIDConnectionEvent",
        +    "HIDDEN",
        +    "HIDDevice",
        +    "HIDInputReportEvent",
        +    "HIERARCHY_REQUEST_ERR",
        +    "HIGHPASS",
        +    "HIGHSHELF",
        +    "HIGH_FLOAT",
        +    "HIGH_INT",
        +    "HORIZONTAL",
        +    "HORIZONTAL_AXIS",
        +    "HRTF",
        +    "HTMLAllCollection",
        +    "HTMLAnchorElement",
        +    "HTMLAppletElement",
        +    "HTMLAreaElement",
        +    "HTMLAudioElement",
        +    "HTMLBRElement",
        +    "HTMLBaseElement",
        +    "HTMLBaseFontElement",
        +    "HTMLBlockquoteElement",
        +    "HTMLBodyElement",
        +    "HTMLButtonElement",
        +    "HTMLCanvasElement",
        +    "HTMLCollection",
        +    "HTMLCommandElement",
        +    "HTMLContentElement",
        +    "HTMLDListElement",
        +    "HTMLDataElement",
        +    "HTMLDataListElement",
        +    "HTMLDetailsElement",
        +    "HTMLDialogElement",
        +    "HTMLDirectoryElement",
        +    "HTMLDivElement",
        +    "HTMLDocument",
        +    "HTMLElement",
        +    "HTMLEmbedElement",
        +    "HTMLFencedFrameElement",
        +    "HTMLFieldSetElement",
        +    "HTMLFontElement",
        +    "HTMLFormControlsCollection",
        +    "HTMLFormElement",
        +    "HTMLFrameElement",
        +    "HTMLFrameSetElement",
        +    "HTMLHRElement",
        +    "HTMLHeadElement",
        +    "HTMLHeadingElement",
        +    "HTMLHtmlElement",
        +    "HTMLIFrameElement",
        +    "HTMLImageElement",
        +    "HTMLInputElement",
        +    "HTMLIsIndexElement",
        +    "HTMLKeygenElement",
        +    "HTMLLIElement",
        +    "HTMLLabelElement",
        +    "HTMLLegendElement",
        +    "HTMLLinkElement",
        +    "HTMLMapElement",
        +    "HTMLMarqueeElement",
        +    "HTMLMediaElement",
        +    "HTMLMenuElement",
        +    "HTMLMenuItemElement",
        +    "HTMLMetaElement",
        +    "HTMLMeterElement",
        +    "HTMLModElement",
        +    "HTMLOListElement",
        +    "HTMLObjectElement",
        +    "HTMLOptGroupElement",
        +    "HTMLOptionElement",
        +    "HTMLOptionsCollection",
        +    "HTMLOutputElement",
        +    "HTMLParagraphElement",
        +    "HTMLParamElement",
        +    "HTMLPictureElement",
        +    "HTMLPreElement",
        +    "HTMLProgressElement",
        +    "HTMLPropertiesCollection",
        +    "HTMLQuoteElement",
        +    "HTMLScriptElement",
        +    "HTMLSelectElement",
        +    "HTMLSelectedContentElement",
        +    "HTMLShadowElement",
        +    "HTMLSlotElement",
        +    "HTMLSourceElement",
        +    "HTMLSpanElement",
        +    "HTMLStyleElement",
        +    "HTMLTableCaptionElement",
        +    "HTMLTableCellElement",
        +    "HTMLTableColElement",
        +    "HTMLTableElement",
        +    "HTMLTableRowElement",
        +    "HTMLTableSectionElement",
        +    "HTMLTemplateElement",
        +    "HTMLTextAreaElement",
        +    "HTMLTimeElement",
        +    "HTMLTitleElement",
        +    "HTMLTrackElement",
        +    "HTMLUListElement",
        +    "HTMLUnknownElement",
        +    "HTMLVideoElement",
        +    "HashChangeEvent",
        +    "Headers",
        +    "Highlight",
        +    "HighlightRegistry",
        +    "History",
        +    "Hz",
        +    "ICE_CHECKING",
        +    "ICE_CLOSED",
        +    "ICE_COMPLETED",
        +    "ICE_CONNECTED",
        +    "ICE_FAILED",
        +    "ICE_GATHERING",
        +    "ICE_WAITING",
        +    "IDBCursor",
        +    "IDBCursorWithValue",
        +    "IDBDatabase",
        +    "IDBDatabaseException",
        +    "IDBFactory",
        +    "IDBFileHandle",
        +    "IDBFileRequest",
        +    "IDBIndex",
        +    "IDBKeyRange",
        +    "IDBMutableFile",
        +    "IDBObjectStore",
        +    "IDBOpenDBRequest",
        +    "IDBRecord",
        +    "IDBRequest",
        +    "IDBTransaction",
        +    "IDBVersionChangeEvent",
        +    "IDLE",
        +    "IIRFilterNode",
        +    "IMPLEMENTATION_COLOR_READ_FORMAT",
        +    "IMPLEMENTATION_COLOR_READ_TYPE",
        +    "IMPORT_RULE",
        +    "INCR",
        +    "INCR_WRAP",
        +    "INDEX",
        +    "INDEX_SIZE_ERR",
        +    "INDIRECT",
        +    "INT",
        +    "INTERLEAVED_ATTRIBS",
        +    "INT_2_10_10_10_REV",
        +    "INT_SAMPLER_2D",
        +    "INT_SAMPLER_2D_ARRAY",
        +    "INT_SAMPLER_3D",
        +    "INT_SAMPLER_CUBE",
        +    "INT_VEC2",
        +    "INT_VEC3",
        +    "INT_VEC4",
        +    "INUSE_ATTRIBUTE_ERR",
        +    "INVALID_ACCESS_ERR",
        +    "INVALID_CHARACTER_ERR",
        +    "INVALID_ENUM",
        +    "INVALID_EXPRESSION_ERR",
        +    "INVALID_FRAMEBUFFER_OPERATION",
        +    "INVALID_INDEX",
        +    "INVALID_MODIFICATION_ERR",
        +    "INVALID_NODE_TYPE_ERR",
        +    "INVALID_OPERATION",
        +    "INVALID_STATE_ERR",
        +    "INVALID_VALUE",
        +    "INVERSE_DISTANCE",
        +    "INVERT",
        +    "IceCandidate",
        +    "IconInfo",
        +    "IdentityCredential",
        +    "IdentityCredentialError",
        +    "IdentityProvider",
        +    "IdleDeadline",
        +    "IdleDetector",
        +    "Image",
        +    "ImageBitmap",
        +    "ImageBitmapRenderingContext",
        +    "ImageCapture",
        +    "ImageData",
        +    "ImageDataType",
        +    "ImageDecoder",
        +    "ImageTrack",
        +    "ImageTrackList",
        +    "Infinity",
        +    "Ink",
        +    "InputDeviceCapabilities",
        +    "InputDeviceInfo",
        +    "InputEvent",
        +    "InputMethodContext",
        +    "InstallTrigger",
        +    "InstallTriggerImpl",
        +    "Instance",
        +    "Instant",
        +    "Int16Array",
        +    "Int32Array",
        +    "Int8Array",
        +    "IntegrityViolationReportBody",
        +    "Intent",
        +    "InterestEvent",
        +    "InternalError",
        +    "IntersectionObserver",
        +    "IntersectionObserverEntry",
        +    "Intl",
        +    "IsSearchProviderInstalled",
        +    "Iterator",
        +    "JSON",
        +    "JSTag",
        +    "KEEP",
        +    "KEYDOWN",
        +    "KEYFRAMES_RULE",
        +    "KEYFRAME_RULE",
        +    "KEYPRESS",
        +    "KEYUP",
        +    "KeyEvent",
        +    "Keyboard",
        +    "KeyboardEvent",
        +    "KeyboardLayoutMap",
        +    "KeyframeEffect",
        +    "LENGTHADJUST_SPACING",
        +    "LENGTHADJUST_SPACINGANDGLYPHS",
        +    "LENGTHADJUST_UNKNOWN",
        +    "LEQUAL",
        +    "LESS",
        +    "LINEAR",
        +    "LINEAR_DISTANCE",
        +    "LINEAR_MIPMAP_LINEAR",
        +    "LINEAR_MIPMAP_NEAREST",
        +    "LINES",
        +    "LINE_LOOP",
        +    "LINE_STRIP",
        +    "LINE_WIDTH",
        +    "LINK_STATUS",
        +    "LIVE",
        +    "LN10",
        +    "LN2",
        +    "LOADED",
        +    "LOADING",
        +    "LOG10E",
        +    "LOG2E",
        +    "LOWPASS",
        +    "LOWSHELF",
        +    "LOW_FLOAT",
        +    "LOW_INT",
        +    "LSException",
        +    "LSParserFilter",
        +    "LUMINANCE",
        +    "LUMINANCE_ALPHA",
        +    "LanguageCode",
        +    "LanguageDetector",
        +    "LargestContentfulPaint",
        +    "LaunchParams",
        +    "LaunchQueue",
        +    "LaunchType",
        +    "LayoutShift",
        +    "LayoutShiftAttribution",
        +    "LinearAccelerationSensor",
        +    "LinkError",
        +    "ListFormat",
        +    "LocalMediaStream",
        +    "Locale",
        +    "Location",
        +    "Lock",
        +    "LockManager",
        +    "MAP_READ",
        +    "MAP_WRITE",
        +    "MARGIN_RULE",
        +    "MAX",
        +    "MAX_3D_TEXTURE_SIZE",
        +    "MAX_ARRAY_TEXTURE_LAYERS",
        +    "MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND",
        +    "MAX_CLIENT_WAIT_TIMEOUT_WEBGL",
        +    "MAX_COLOR_ATTACHMENTS",
        +    "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",
        +    "MAX_COMBINED_TEXTURE_IMAGE_UNITS",
        +    "MAX_COMBINED_UNIFORM_BLOCKS",
        +    "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",
        +    "MAX_CUBE_MAP_TEXTURE_SIZE",
        +    "MAX_DRAW_BUFFERS",
        +    "MAX_ELEMENTS_INDICES",
        +    "MAX_ELEMENTS_VERTICES",
        +    "MAX_ELEMENT_INDEX",
        +    "MAX_FRAGMENT_INPUT_COMPONENTS",
        +    "MAX_FRAGMENT_UNIFORM_BLOCKS",
        +    "MAX_FRAGMENT_UNIFORM_COMPONENTS",
        +    "MAX_FRAGMENT_UNIFORM_VECTORS",
        +    "MAX_PROGRAM_TEXEL_OFFSET",
        +    "MAX_RENDERBUFFER_SIZE",
        +    "MAX_SAFE_INTEGER",
        +    "MAX_SAMPLES",
        +    "MAX_SERVER_WAIT_TIMEOUT",
        +    "MAX_TEXTURE_IMAGE_UNITS",
        +    "MAX_TEXTURE_LOD_BIAS",
        +    "MAX_TEXTURE_MAX_ANISOTROPY_EXT",
        +    "MAX_TEXTURE_SIZE",
        +    "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",
        +    "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",
        +    "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",
        +    "MAX_UNIFORM_BLOCK_SIZE",
        +    "MAX_UNIFORM_BUFFER_BINDINGS",
        +    "MAX_VALUE",
        +    "MAX_VARYING_COMPONENTS",
        +    "MAX_VARYING_VECTORS",
        +    "MAX_VERTEX_ATTRIBS",
        +    "MAX_VERTEX_OUTPUT_COMPONENTS",
        +    "MAX_VERTEX_TEXTURE_IMAGE_UNITS",
        +    "MAX_VERTEX_UNIFORM_BLOCKS",
        +    "MAX_VERTEX_UNIFORM_COMPONENTS",
        +    "MAX_VERTEX_UNIFORM_VECTORS",
        +    "MAX_VIEWPORT_DIMS",
        +    "MEDIA_ERR_ABORTED",
        +    "MEDIA_ERR_DECODE",
        +    "MEDIA_ERR_ENCRYPTED",
        +    "MEDIA_ERR_NETWORK",
        +    "MEDIA_ERR_SRC_NOT_SUPPORTED",
        +    "MEDIA_KEYERR_CLIENT",
        +    "MEDIA_KEYERR_DOMAIN",
        +    "MEDIA_KEYERR_HARDWARECHANGE",
        +    "MEDIA_KEYERR_OUTPUT",
        +    "MEDIA_KEYERR_SERVICE",
        +    "MEDIA_KEYERR_UNKNOWN",
        +    "MEDIA_RULE",
        +    "MEDIUM_FLOAT",
        +    "MEDIUM_INT",
        +    "META_MASK",
        +    "MIDIAccess",
        +    "MIDIConnectionEvent",
        +    "MIDIInput",
        +    "MIDIInputMap",
        +    "MIDIMessageEvent",
        +    "MIDIOutput",
        +    "MIDIOutputMap",
        +    "MIDIPort",
        +    "MIN",
        +    "MIN_PROGRAM_TEXEL_OFFSET",
        +    "MIN_SAFE_INTEGER",
        +    "MIN_VALUE",
        +    "MIRRORED_REPEAT",
        +    "MODE_ASYNCHRONOUS",
        +    "MODE_SYNCHRONOUS",
        +    "MODIFICATION",
        +    "MOUSEDOWN",
        +    "MOUSEDRAG",
        +    "MOUSEMOVE",
        +    "MOUSEOUT",
        +    "MOUSEOVER",
        +    "MOUSEUP",
        +    "MOZ_KEYFRAMES_RULE",
        +    "MOZ_KEYFRAME_RULE",
        +    "MOZ_SOURCE_CURSOR",
        +    "MOZ_SOURCE_ERASER",
        +    "MOZ_SOURCE_KEYBOARD",
        +    "MOZ_SOURCE_MOUSE",
        +    "MOZ_SOURCE_PEN",
        +    "MOZ_SOURCE_TOUCH",
        +    "MOZ_SOURCE_UNKNOWN",
        +    "MSGESTURE_FLAG_BEGIN",
        +    "MSGESTURE_FLAG_CANCEL",
        +    "MSGESTURE_FLAG_END",
        +    "MSGESTURE_FLAG_INERTIA",
        +    "MSGESTURE_FLAG_NONE",
        +    "MSPOINTER_TYPE_MOUSE",
        +    "MSPOINTER_TYPE_PEN",
        +    "MSPOINTER_TYPE_TOUCH",
        +    "MS_ASYNC_CALLBACK_STATUS_ASSIGN_DELEGATE",
        +    "MS_ASYNC_CALLBACK_STATUS_CANCEL",
        +    "MS_ASYNC_CALLBACK_STATUS_CHOOSEANY",
        +    "MS_ASYNC_CALLBACK_STATUS_ERROR",
        +    "MS_ASYNC_CALLBACK_STATUS_JOIN",
        +    "MS_ASYNC_OP_STATUS_CANCELED",
        +    "MS_ASYNC_OP_STATUS_ERROR",
        +    "MS_ASYNC_OP_STATUS_SUCCESS",
        +    "MS_MANIPULATION_STATE_ACTIVE",
        +    "MS_MANIPULATION_STATE_CANCELLED",
        +    "MS_MANIPULATION_STATE_COMMITTED",
        +    "MS_MANIPULATION_STATE_DRAGGING",
        +    "MS_MANIPULATION_STATE_INERTIA",
        +    "MS_MANIPULATION_STATE_PRESELECT",
        +    "MS_MANIPULATION_STATE_SELECTING",
        +    "MS_MANIPULATION_STATE_STOPPED",
        +    "MS_MEDIA_ERR_ENCRYPTED",
        +    "MS_MEDIA_KEYERR_CLIENT",
        +    "MS_MEDIA_KEYERR_DOMAIN",
        +    "MS_MEDIA_KEYERR_HARDWARECHANGE",
        +    "MS_MEDIA_KEYERR_OUTPUT",
        +    "MS_MEDIA_KEYERR_SERVICE",
        +    "MS_MEDIA_KEYERR_UNKNOWN",
        +    "Map",
        +    "Math",
        +    "MathMLElement",
        +    "MediaCapabilities",
        +    "MediaCapabilitiesInfo",
        +    "MediaController",
        +    "MediaDeviceInfo",
        +    "MediaDevices",
        +    "MediaElementAudioSourceNode",
        +    "MediaEncryptedEvent",
        +    "MediaError",
        +    "MediaKeyError",
        +    "MediaKeyEvent",
        +    "MediaKeyMessageEvent",
        +    "MediaKeyNeededEvent",
        +    "MediaKeySession",
        +    "MediaKeyStatusMap",
        +    "MediaKeySystemAccess",
        +    "MediaKeys",
        +    "MediaList",
        +    "MediaMetadata",
        +    "MediaQueryList",
        +    "MediaQueryListEvent",
        +    "MediaRecorder",
        +    "MediaRecorderErrorEvent",
        +    "MediaSession",
        +    "MediaSettingsRange",
        +    "MediaSource",
        +    "MediaSourceHandle",
        +    "MediaStream",
        +    "MediaStreamAudioDestinationNode",
        +    "MediaStreamAudioSourceNode",
        +    "MediaStreamEvent",
        +    "MediaStreamTrack",
        +    "MediaStreamTrackAudioSourceNode",
        +    "MediaStreamTrackAudioStats",
        +    "MediaStreamTrackEvent",
        +    "MediaStreamTrackGenerator",
        +    "MediaStreamTrackProcessor",
        +    "MediaStreamTrackVideoStats",
        +    "Memory",
        +    "MessageChannel",
        +    "MessageEvent",
        +    "MessagePort",
        +    "MessageSender",
        +    "Methods",
        +    "MimeType",
        +    "MimeTypeArray",
        +    "Module",
        +    "MouseEvent",
        +    "MouseScrollEvent",
        +    "MozAnimation",
        +    "MozAnimationDelay",
        +    "MozAnimationDirection",
        +    "MozAnimationDuration",
        +    "MozAnimationFillMode",
        +    "MozAnimationIterationCount",
        +    "MozAnimationName",
        +    "MozAnimationPlayState",
        +    "MozAnimationTimingFunction",
        +    "MozAppearance",
        +    "MozBackfaceVisibility",
        +    "MozBinding",
        +    "MozBorderBottomColors",
        +    "MozBorderEnd",
        +    "MozBorderEndColor",
        +    "MozBorderEndStyle",
        +    "MozBorderEndWidth",
        +    "MozBorderImage",
        +    "MozBorderLeftColors",
        +    "MozBorderRightColors",
        +    "MozBorderStart",
        +    "MozBorderStartColor",
        +    "MozBorderStartStyle",
        +    "MozBorderStartWidth",
        +    "MozBorderTopColors",
        +    "MozBoxAlign",
        +    "MozBoxDirection",
        +    "MozBoxFlex",
        +    "MozBoxOrdinalGroup",
        +    "MozBoxOrient",
        +    "MozBoxPack",
        +    "MozBoxSizing",
        +    "MozCSSKeyframeRule",
        +    "MozCSSKeyframesRule",
        +    "MozColumnCount",
        +    "MozColumnFill",
        +    "MozColumnGap",
        +    "MozColumnRule",
        +    "MozColumnRuleColor",
        +    "MozColumnRuleStyle",
        +    "MozColumnRuleWidth",
        +    "MozColumnWidth",
        +    "MozColumns",
        +    "MozContactChangeEvent",
        +    "MozFloatEdge",
        +    "MozFontFeatureSettings",
        +    "MozFontLanguageOverride",
        +    "MozForceBrokenImageIcon",
        +    "MozHyphens",
        +    "MozImageRegion",
        +    "MozMarginEnd",
        +    "MozMarginStart",
        +    "MozMmsEvent",
        +    "MozMmsMessage",
        +    "MozMobileMessageThread",
        +    "MozOSXFontSmoothing",
        +    "MozOrient",
        +    "MozOsxFontSmoothing",
        +    "MozOutlineRadius",
        +    "MozOutlineRadiusBottomleft",
        +    "MozOutlineRadiusBottomright",
        +    "MozOutlineRadiusTopleft",
        +    "MozOutlineRadiusTopright",
        +    "MozPaddingEnd",
        +    "MozPaddingStart",
        +    "MozPerspective",
        +    "MozPerspectiveOrigin",
        +    "MozPowerManager",
        +    "MozSettingsEvent",
        +    "MozSmsEvent",
        +    "MozSmsMessage",
        +    "MozStackSizing",
        +    "MozTabSize",
        +    "MozTextAlignLast",
        +    "MozTextDecorationColor",
        +    "MozTextDecorationLine",
        +    "MozTextDecorationStyle",
        +    "MozTextSizeAdjust",
        +    "MozTransform",
        +    "MozTransformOrigin",
        +    "MozTransformStyle",
        +    "MozTransition",
        +    "MozTransitionDelay",
        +    "MozTransitionDuration",
        +    "MozTransitionProperty",
        +    "MozTransitionTimingFunction",
        +    "MozUserFocus",
        +    "MozUserInput",
        +    "MozUserModify",
        +    "MozUserSelect",
        +    "MozWindowDragging",
        +    "MozWindowShadow",
        +    "MutationEvent",
        +    "MutationObserver",
        +    "MutationRecord",
        +    "MutedInfo",
        +    "MutedInfoReason",
        +    "NAMESPACE_ERR",
        +    "NAMESPACE_RULE",
        +    "NEAREST",
        +    "NEAREST_MIPMAP_LINEAR",
        +    "NEAREST_MIPMAP_NEAREST",
        +    "NEGATIVE_INFINITY",
        +    "NETWORK_EMPTY",
        +    "NETWORK_ERR",
        +    "NETWORK_IDLE",
        +    "NETWORK_LOADED",
        +    "NETWORK_LOADING",
        +    "NETWORK_NO_SOURCE",
        +    "NEVER",
        +    "NEW",
        +    "NEXT",
        +    "NEXT_NO_DUPLICATE",
        +    "NICEST",
        +    "NODE_AFTER",
        +    "NODE_BEFORE",
        +    "NODE_BEFORE_AND_AFTER",
        +    "NODE_INSIDE",
        +    "NONE",
        +    "NON_TRANSIENT_ERR",
        +    "NOTATION_NODE",
        +    "NOTCH",
        +    "NOTEQUAL",
        +    "NOT_ALLOWED_ERR",
        +    "NOT_FOUND_ERR",
        +    "NOT_READABLE_ERR",
        +    "NOT_SUPPORTED_ERR",
        +    "NO_DATA_ALLOWED_ERR",
        +    "NO_ERR",
        +    "NO_ERROR",
        +    "NO_MODIFICATION_ALLOWED_ERR",
        +    "NUMBER_TYPE",
        +    "NUM_COMPRESSED_TEXTURE_FORMATS",
        +    "NaN",
        +    "NamedNodeMap",
        +    "NavigateEvent",
        +    "Navigation",
        +    "NavigationActivation",
        +    "NavigationCurrentEntryChangeEvent",
        +    "NavigationDestination",
        +    "NavigationHistoryEntry",
        +    "NavigationPrecommitController",
        +    "NavigationPreloadManager",
        +    "NavigationTransition",
        +    "Navigator",
        +    "NavigatorLogin",
        +    "NavigatorManagedData",
        +    "NavigatorUAData",
        +    "NearbyLinks",
        +    "NetworkInformation",
        +    "Node",
        +    "NodeFilter",
        +    "NodeIterator",
        +    "NodeList",
        +    "NotRestoredReasonDetails",
        +    "NotRestoredReasons",
        +    "Notation",
        +    "Notification",
        +    "NotifyPaintEvent",
        +    "Now",
        +    "Number",
        +    "NumberFormat",
        +    "OBJECT_TYPE",
        +    "OBSOLETE",
        +    "OK",
        +    "ONE",
        +    "ONE_MINUS_CONSTANT_ALPHA",
        +    "ONE_MINUS_CONSTANT_COLOR",
        +    "ONE_MINUS_DST_ALPHA",
        +    "ONE_MINUS_DST_COLOR",
        +    "ONE_MINUS_SRC_ALPHA",
        +    "ONE_MINUS_SRC_COLOR",
        +    "OPEN",
        +    "OPENED",
        +    "OPENING",
        +    "ORDERED_NODE_ITERATOR_TYPE",
        +    "ORDERED_NODE_SNAPSHOT_TYPE",
        +    "OTHER_ERROR",
        +    "OTPCredential",
        +    "OUT_OF_MEMORY",
        +    "Object",
        +    "Observable",
        +    "OfflineAudioCompletionEvent",
        +    "OfflineAudioContext",
        +    "OfflineResourceList",
        +    "OffscreenCanvas",
        +    "OffscreenCanvasRenderingContext2D",
        +    "OnClickData",
        +    "OnInstalledReason",
        +    "OnPerformanceWarningCategory",
        +    "OnPerformanceWarningSeverity",
        +    "OnRestartRequiredReason",
        +    "Option",
        +    "OrientationSensor",
        +    "OscillatorNode",
        +    "OverconstrainedError",
        +    "OverflowEvent",
        +    "PACK_ALIGNMENT",
        +    "PACK_ROW_LENGTH",
        +    "PACK_SKIP_PIXELS",
        +    "PACK_SKIP_ROWS",
        +    "PAGE_RULE",
        +    "PARSE_ERR",
        +    "PATHSEG_ARC_ABS",
        +    "PATHSEG_ARC_REL",
        +    "PATHSEG_CLOSEPATH",
        +    "PATHSEG_CURVETO_CUBIC_ABS",
        +    "PATHSEG_CURVETO_CUBIC_REL",
        +    "PATHSEG_CURVETO_CUBIC_SMOOTH_ABS",
        +    "PATHSEG_CURVETO_CUBIC_SMOOTH_REL",
        +    "PATHSEG_CURVETO_QUADRATIC_ABS",
        +    "PATHSEG_CURVETO_QUADRATIC_REL",
        +    "PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS",
        +    "PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL",
        +    "PATHSEG_LINETO_ABS",
        +    "PATHSEG_LINETO_HORIZONTAL_ABS",
        +    "PATHSEG_LINETO_HORIZONTAL_REL",
        +    "PATHSEG_LINETO_REL",
        +    "PATHSEG_LINETO_VERTICAL_ABS",
        +    "PATHSEG_LINETO_VERTICAL_REL",
        +    "PATHSEG_MOVETO_ABS",
        +    "PATHSEG_MOVETO_REL",
        +    "PATHSEG_UNKNOWN",
        +    "PATH_EXISTS_ERR",
        +    "PEAKING",
        +    "PERMISSION_DENIED",
        +    "PERSISTENT",
        +    "PI",
        +    "PIXEL_PACK_BUFFER",
        +    "PIXEL_PACK_BUFFER_BINDING",
        +    "PIXEL_UNPACK_BUFFER",
        +    "PIXEL_UNPACK_BUFFER_BINDING",
        +    "PLAYING_STATE",
        +    "POINTS",
        +    "POLYGON_OFFSET_FACTOR",
        +    "POLYGON_OFFSET_FILL",
        +    "POLYGON_OFFSET_UNITS",
        +    "POSITION_UNAVAILABLE",
        +    "POSITIVE_INFINITY",
        +    "PREV",
        +    "PREV_NO_DUPLICATE",
        +    "PROCESSING_INSTRUCTION_NODE",
        +    "PageChangeEvent",
        +    "PageRevealEvent",
        +    "PageSettings",
        +    "PageSwapEvent",
        +    "PageTransitionEvent",
        +    "PaintRequest",
        +    "PaintRequestList",
        +    "PannerNode",
        +    "PasswordCredential",
        +    "Path2D",
        +    "PaymentAddress",
        +    "PaymentInstruments",
        +    "PaymentManager",
        +    "PaymentMethodChangeEvent",
        +    "PaymentRequest",
        +    "PaymentRequestUpdateEvent",
        +    "PaymentResponse",
        +    "Performance",
        +    "PerformanceElementTiming",
        +    "PerformanceEntry",
        +    "PerformanceEventTiming",
        +    "PerformanceLongAnimationFrameTiming",
        +    "PerformanceLongTaskTiming",
        +    "PerformanceMark",
        +    "PerformanceMeasure",
        +    "PerformanceNavigation",
        +    "PerformanceNavigationTiming",
        +    "PerformanceObserver",
        +    "PerformanceObserverEntryList",
        +    "PerformancePaintTiming",
        +    "PerformanceResourceTiming",
        +    "PerformanceScriptTiming",
        +    "PerformanceServerTiming",
        +    "PerformanceTiming",
        +    "PeriodicSyncManager",
        +    "PeriodicWave",
        +    "PermissionStatus",
        +    "Permissions",
        +    "PhotoCapabilities",
        +    "PictureInPictureEvent",
        +    "PictureInPictureWindow",
        +    "PlainDate",
        +    "PlainDateTime",
        +    "PlainMonthDay",
        +    "PlainTime",
        +    "PlainYearMonth",
        +    "PlatformArch",
        +    "PlatformInfo",
        +    "PlatformNaclArch",
        +    "PlatformOs",
        +    "Plugin",
        +    "PluginArray",
        +    "PluralRules",
        +    "PointerEvent",
        +    "PopStateEvent",
        +    "PopupBlockedEvent",
        +    "Port",
        +    "Presentation",
        +    "PresentationAvailability",
        +    "PresentationConnection",
        +    "PresentationConnectionAvailableEvent",
        +    "PresentationConnectionCloseEvent",
        +    "PresentationConnectionList",
        +    "PresentationReceiver",
        +    "PresentationRequest",
        +    "PressureObserver",
        +    "PressureRecord",
        +    "ProcessingInstruction",
        +    "Profiler",
        +    "ProgressEvent",
        +    "Promise",
        +    "PromiseRejectionEvent",
        +    "PropertyNodeList",
        +    "ProtectedAudience",
        +    "Proxy",
        +    "PublicKeyCredential",
        +    "PushManager",
        +    "PushSubscription",
        +    "PushSubscriptionOptions",
        +    "Q",
        +    "QUERY_RESOLVE",
        +    "QUERY_RESULT",
        +    "QUERY_RESULT_AVAILABLE",
        +    "QUOTA_ERR",
        +    "QUOTA_EXCEEDED_ERR",
        +    "QueryInterface",
        +    "QuotaExceededError",
        +    "R11F_G11F_B10F",
        +    "R16F",
        +    "R16I",
        +    "R16UI",
        +    "R32F",
        +    "R32I",
        +    "R32UI",
        +    "R8",
        +    "R8I",
        +    "R8UI",
        +    "R8_SNORM",
        +    "RASTERIZER_DISCARD",
        +    "READ",
        +    "READ_BUFFER",
        +    "READ_FRAMEBUFFER",
        +    "READ_FRAMEBUFFER_BINDING",
        +    "READ_ONLY",
        +    "READ_ONLY_ERR",
        +    "READ_WRITE",
        +    "RED",
        +    "RED_BITS",
        +    "RED_INTEGER",
        +    "REMOVAL",
        +    "RENDERBUFFER",
        +    "RENDERBUFFER_ALPHA_SIZE",
        +    "RENDERBUFFER_BINDING",
        +    "RENDERBUFFER_BLUE_SIZE",
        +    "RENDERBUFFER_DEPTH_SIZE",
        +    "RENDERBUFFER_GREEN_SIZE",
        +    "RENDERBUFFER_HEIGHT",
        +    "RENDERBUFFER_INTERNAL_FORMAT",
        +    "RENDERBUFFER_RED_SIZE",
        +    "RENDERBUFFER_SAMPLES",
        +    "RENDERBUFFER_STENCIL_SIZE",
        +    "RENDERBUFFER_WIDTH",
        +    "RENDERER",
        +    "RENDERING_INTENT_ABSOLUTE_COLORIMETRIC",
        +    "RENDERING_INTENT_AUTO",
        +    "RENDERING_INTENT_PERCEPTUAL",
        +    "RENDERING_INTENT_RELATIVE_COLORIMETRIC",
        +    "RENDERING_INTENT_SATURATION",
        +    "RENDERING_INTENT_UNKNOWN",
        +    "RENDER_ATTACHMENT",
        +    "REPEAT",
        +    "REPLACE",
        +    "RG",
        +    "RG16F",
        +    "RG16I",
        +    "RG16UI",
        +    "RG32F",
        +    "RG32I",
        +    "RG32UI",
        +    "RG8",
        +    "RG8I",
        +    "RG8UI",
        +    "RG8_SNORM",
        +    "RGB",
        +    "RGB10_A2",
        +    "RGB10_A2UI",
        +    "RGB16F",
        +    "RGB16I",
        +    "RGB16UI",
        +    "RGB32F",
        +    "RGB32I",
        +    "RGB32UI",
        +    "RGB565",
        +    "RGB5_A1",
        +    "RGB8",
        +    "RGB8I",
        +    "RGB8UI",
        +    "RGB8_SNORM",
        +    "RGB9_E5",
        +    "RGBA",
        +    "RGBA16F",
        +    "RGBA16I",
        +    "RGBA16UI",
        +    "RGBA32F",
        +    "RGBA32I",
        +    "RGBA32UI",
        +    "RGBA4",
        +    "RGBA8",
        +    "RGBA8I",
        +    "RGBA8UI",
        +    "RGBA8_SNORM",
        +    "RGBA_INTEGER",
        +    "RGBColor",
        +    "RGB_INTEGER",
        +    "RG_INTEGER",
        +    "ROTATION_CLOCKWISE",
        +    "ROTATION_COUNTERCLOCKWISE",
        +    "RTCCertificate",
        +    "RTCDTMFSender",
        +    "RTCDTMFToneChangeEvent",
        +    "RTCDataChannel",
        +    "RTCDataChannelEvent",
        +    "RTCDtlsTransport",
        +    "RTCEncodedAudioFrame",
        +    "RTCEncodedVideoFrame",
        +    "RTCError",
        +    "RTCErrorEvent",
        +    "RTCIceCandidate",
        +    "RTCIceTransport",
        +    "RTCPeerConnection",
        +    "RTCPeerConnectionIceErrorEvent",
        +    "RTCPeerConnectionIceEvent",
        +    "RTCRtpReceiver",
        +    "RTCRtpScriptTransform",
        +    "RTCRtpSender",
        +    "RTCRtpTransceiver",
        +    "RTCSctpTransport",
        +    "RTCSessionDescription",
        +    "RTCStatsReport",
        +    "RTCTrackEvent",
        +    "RadioNodeList",
        +    "Range",
        +    "RangeError",
        +    "RangeException",
        +    "ReadableByteStreamController",
        +    "ReadableStream",
        +    "ReadableStreamBYOBReader",
        +    "ReadableStreamBYOBRequest",
        +    "ReadableStreamDefaultController",
        +    "ReadableStreamDefaultReader",
        +    "RecordErrorEvent",
        +    "Rect",
        +    "ReferenceError",
        +    "Reflect",
        +    "RegExp",
        +    "RelativeOrientationSensor",
        +    "RelativeTimeFormat",
        +    "RemotePlayback",
        +    "Report",
        +    "ReportBody",
        +    "ReportingObserver",
        +    "Request",
        +    "RequestUpdateCheckStatus",
        +    "ResizeObserver",
        +    "ResizeObserverEntry",
        +    "ResizeObserverSize",
        +    "Response",
        +    "RestrictionTarget",
        +    "RuntimeError",
        +    "SAMPLER_2D",
        +    "SAMPLER_2D_ARRAY",
        +    "SAMPLER_2D_ARRAY_SHADOW",
        +    "SAMPLER_2D_SHADOW",
        +    "SAMPLER_3D",
        +    "SAMPLER_BINDING",
        +    "SAMPLER_CUBE",
        +    "SAMPLER_CUBE_SHADOW",
        +    "SAMPLES",
        +    "SAMPLE_ALPHA_TO_COVERAGE",
        +    "SAMPLE_BUFFERS",
        +    "SAMPLE_COVERAGE",
        +    "SAMPLE_COVERAGE_INVERT",
        +    "SAMPLE_COVERAGE_VALUE",
        +    "SAWTOOTH",
        +    "SCHEDULED_STATE",
        +    "SCISSOR_BOX",
        +    "SCISSOR_TEST",
        +    "SCROLL_PAGE_DOWN",
        +    "SCROLL_PAGE_UP",
        +    "SDP_ANSWER",
        +    "SDP_OFFER",
        +    "SDP_PRANSWER",
        +    "SECURITY_ERR",
        +    "SELECT",
        +    "SEPARATE_ATTRIBS",
        +    "SERIALIZE_ERR",
        +    "SEVERITY_ERROR",
        +    "SEVERITY_FATAL_ERROR",
        +    "SEVERITY_WARNING",
        +    "SHADER_COMPILER",
        +    "SHADER_TYPE",
        +    "SHADING_LANGUAGE_VERSION",
        +    "SHIFT_MASK",
        +    "SHORT",
        +    "SHOWING",
        +    "SHOW_ALL",
        +    "SHOW_ATTRIBUTE",
        +    "SHOW_CDATA_SECTION",
        +    "SHOW_COMMENT",
        +    "SHOW_DOCUMENT",
        +    "SHOW_DOCUMENT_FRAGMENT",
        +    "SHOW_DOCUMENT_TYPE",
        +    "SHOW_ELEMENT",
        +    "SHOW_ENTITY",
        +    "SHOW_ENTITY_REFERENCE",
        +    "SHOW_NOTATION",
        +    "SHOW_PROCESSING_INSTRUCTION",
        +    "SHOW_TEXT",
        +    "SIGNALED",
        +    "SIGNED_NORMALIZED",
        +    "SINE",
        +    "SOUNDFIELD",
        +    "SQLException",
        +    "SQRT1_2",
        +    "SQRT2",
        +    "SQUARE",
        +    "SRC_ALPHA",
        +    "SRC_ALPHA_SATURATE",
        +    "SRC_COLOR",
        +    "SRGB",
        +    "SRGB8",
        +    "SRGB8_ALPHA8",
        +    "START_TO_END",
        +    "START_TO_START",
        +    "STATIC_COPY",
        +    "STATIC_DRAW",
        +    "STATIC_READ",
        +    "STENCIL",
        +    "STENCIL_ATTACHMENT",
        +    "STENCIL_BACK_FAIL",
        +    "STENCIL_BACK_FUNC",
        +    "STENCIL_BACK_PASS_DEPTH_FAIL",
        +    "STENCIL_BACK_PASS_DEPTH_PASS",
        +    "STENCIL_BACK_REF",
        +    "STENCIL_BACK_VALUE_MASK",
        +    "STENCIL_BACK_WRITEMASK",
        +    "STENCIL_BITS",
        +    "STENCIL_BUFFER_BIT",
        +    "STENCIL_CLEAR_VALUE",
        +    "STENCIL_FAIL",
        +    "STENCIL_FUNC",
        +    "STENCIL_INDEX",
        +    "STENCIL_INDEX8",
        +    "STENCIL_PASS_DEPTH_FAIL",
        +    "STENCIL_PASS_DEPTH_PASS",
        +    "STENCIL_REF",
        +    "STENCIL_TEST",
        +    "STENCIL_VALUE_MASK",
        +    "STENCIL_WRITEMASK",
        +    "STORAGE",
        +    "STORAGE_BINDING",
        +    "STREAM_COPY",
        +    "STREAM_DRAW",
        +    "STREAM_READ",
        +    "STRING_TYPE",
        +    "STYLE_RULE",
        +    "SUBPIXEL_BITS",
        +    "SUPPORTS_RULE",
        +    "SVGAElement",
        +    "SVGAltGlyphDefElement",
        +    "SVGAltGlyphElement",
        +    "SVGAltGlyphItemElement",
        +    "SVGAngle",
        +    "SVGAnimateColorElement",
        +    "SVGAnimateElement",
        +    "SVGAnimateMotionElement",
        +    "SVGAnimateTransformElement",
        +    "SVGAnimatedAngle",
        +    "SVGAnimatedBoolean",
        +    "SVGAnimatedEnumeration",
        +    "SVGAnimatedInteger",
        +    "SVGAnimatedLength",
        +    "SVGAnimatedLengthList",
        +    "SVGAnimatedNumber",
        +    "SVGAnimatedNumberList",
        +    "SVGAnimatedPreserveAspectRatio",
        +    "SVGAnimatedRect",
        +    "SVGAnimatedString",
        +    "SVGAnimatedTransformList",
        +    "SVGAnimationElement",
        +    "SVGCircleElement",
        +    "SVGClipPathElement",
        +    "SVGColor",
        +    "SVGComponentTransferFunctionElement",
        +    "SVGCursorElement",
        +    "SVGDefsElement",
        +    "SVGDescElement",
        +    "SVGDiscardElement",
        +    "SVGDocument",
        +    "SVGElement",
        +    "SVGElementInstance",
        +    "SVGElementInstanceList",
        +    "SVGEllipseElement",
        +    "SVGException",
        +    "SVGFEBlendElement",
        +    "SVGFEColorMatrixElement",
        +    "SVGFEComponentTransferElement",
        +    "SVGFECompositeElement",
        +    "SVGFEConvolveMatrixElement",
        +    "SVGFEDiffuseLightingElement",
        +    "SVGFEDisplacementMapElement",
        +    "SVGFEDistantLightElement",
        +    "SVGFEDropShadowElement",
        +    "SVGFEFloodElement",
        +    "SVGFEFuncAElement",
        +    "SVGFEFuncBElement",
        +    "SVGFEFuncGElement",
        +    "SVGFEFuncRElement",
        +    "SVGFEGaussianBlurElement",
        +    "SVGFEImageElement",
        +    "SVGFEMergeElement",
        +    "SVGFEMergeNodeElement",
        +    "SVGFEMorphologyElement",
        +    "SVGFEOffsetElement",
        +    "SVGFEPointLightElement",
        +    "SVGFESpecularLightingElement",
        +    "SVGFESpotLightElement",
        +    "SVGFETileElement",
        +    "SVGFETurbulenceElement",
        +    "SVGFilterElement",
        +    "SVGFontElement",
        +    "SVGFontFaceElement",
        +    "SVGFontFaceFormatElement",
        +    "SVGFontFaceNameElement",
        +    "SVGFontFaceSrcElement",
        +    "SVGFontFaceUriElement",
        +    "SVGForeignObjectElement",
        +    "SVGGElement",
        +    "SVGGeometryElement",
        +    "SVGGlyphElement",
        +    "SVGGlyphRefElement",
        +    "SVGGradientElement",
        +    "SVGGraphicsElement",
        +    "SVGHKernElement",
        +    "SVGImageElement",
        +    "SVGLength",
        +    "SVGLengthList",
        +    "SVGLineElement",
        +    "SVGLinearGradientElement",
        +    "SVGMPathElement",
        +    "SVGMarkerElement",
        +    "SVGMaskElement",
        +    "SVGMatrix",
        +    "SVGMetadataElement",
        +    "SVGMissingGlyphElement",
        +    "SVGNumber",
        +    "SVGNumberList",
        +    "SVGPaint",
        +    "SVGPathElement",
        +    "SVGPathSeg",
        +    "SVGPathSegArcAbs",
        +    "SVGPathSegArcRel",
        +    "SVGPathSegClosePath",
        +    "SVGPathSegCurvetoCubicAbs",
        +    "SVGPathSegCurvetoCubicRel",
        +    "SVGPathSegCurvetoCubicSmoothAbs",
        +    "SVGPathSegCurvetoCubicSmoothRel",
        +    "SVGPathSegCurvetoQuadraticAbs",
        +    "SVGPathSegCurvetoQuadraticRel",
        +    "SVGPathSegCurvetoQuadraticSmoothAbs",
        +    "SVGPathSegCurvetoQuadraticSmoothRel",
        +    "SVGPathSegLinetoAbs",
        +    "SVGPathSegLinetoHorizontalAbs",
        +    "SVGPathSegLinetoHorizontalRel",
        +    "SVGPathSegLinetoRel",
        +    "SVGPathSegLinetoVerticalAbs",
        +    "SVGPathSegLinetoVerticalRel",
        +    "SVGPathSegList",
        +    "SVGPathSegMovetoAbs",
        +    "SVGPathSegMovetoRel",
        +    "SVGPatternElement",
        +    "SVGPoint",
        +    "SVGPointList",
        +    "SVGPolygonElement",
        +    "SVGPolylineElement",
        +    "SVGPreserveAspectRatio",
        +    "SVGRadialGradientElement",
        +    "SVGRect",
        +    "SVGRectElement",
        +    "SVGRenderingIntent",
        +    "SVGSVGElement",
        +    "SVGScriptElement",
        +    "SVGSetElement",
        +    "SVGStopElement",
        +    "SVGStringList",
        +    "SVGStyleElement",
        +    "SVGSwitchElement",
        +    "SVGSymbolElement",
        +    "SVGTRefElement",
        +    "SVGTSpanElement",
        +    "SVGTextContentElement",
        +    "SVGTextElement",
        +    "SVGTextPathElement",
        +    "SVGTextPositioningElement",
        +    "SVGTitleElement",
        +    "SVGTransform",
        +    "SVGTransformList",
        +    "SVGUnitTypes",
        +    "SVGUseElement",
        +    "SVGVKernElement",
        +    "SVGViewElement",
        +    "SVGViewSpec",
        +    "SVGZoomAndPan",
        +    "SVGZoomEvent",
        +    "SVG_ANGLETYPE_DEG",
        +    "SVG_ANGLETYPE_GRAD",
        +    "SVG_ANGLETYPE_RAD",
        +    "SVG_ANGLETYPE_UNKNOWN",
        +    "SVG_ANGLETYPE_UNSPECIFIED",
        +    "SVG_CHANNEL_A",
        +    "SVG_CHANNEL_B",
        +    "SVG_CHANNEL_G",
        +    "SVG_CHANNEL_R",
        +    "SVG_CHANNEL_UNKNOWN",
        +    "SVG_COLORTYPE_CURRENTCOLOR",
        +    "SVG_COLORTYPE_RGBCOLOR",
        +    "SVG_COLORTYPE_RGBCOLOR_ICCCOLOR",
        +    "SVG_COLORTYPE_UNKNOWN",
        +    "SVG_EDGEMODE_DUPLICATE",
        +    "SVG_EDGEMODE_NONE",
        +    "SVG_EDGEMODE_UNKNOWN",
        +    "SVG_EDGEMODE_WRAP",
        +    "SVG_FEBLEND_MODE_COLOR",
        +    "SVG_FEBLEND_MODE_COLOR_BURN",
        +    "SVG_FEBLEND_MODE_COLOR_DODGE",
        +    "SVG_FEBLEND_MODE_DARKEN",
        +    "SVG_FEBLEND_MODE_DIFFERENCE",
        +    "SVG_FEBLEND_MODE_EXCLUSION",
        +    "SVG_FEBLEND_MODE_HARD_LIGHT",
        +    "SVG_FEBLEND_MODE_HUE",
        +    "SVG_FEBLEND_MODE_LIGHTEN",
        +    "SVG_FEBLEND_MODE_LUMINOSITY",
        +    "SVG_FEBLEND_MODE_MULTIPLY",
        +    "SVG_FEBLEND_MODE_NORMAL",
        +    "SVG_FEBLEND_MODE_OVERLAY",
        +    "SVG_FEBLEND_MODE_SATURATION",
        +    "SVG_FEBLEND_MODE_SCREEN",
        +    "SVG_FEBLEND_MODE_SOFT_LIGHT",
        +    "SVG_FEBLEND_MODE_UNKNOWN",
        +    "SVG_FECOLORMATRIX_TYPE_HUEROTATE",
        +    "SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA",
        +    "SVG_FECOLORMATRIX_TYPE_MATRIX",
        +    "SVG_FECOLORMATRIX_TYPE_SATURATE",
        +    "SVG_FECOLORMATRIX_TYPE_UNKNOWN",
        +    "SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE",
        +    "SVG_FECOMPONENTTRANSFER_TYPE_GAMMA",
        +    "SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY",
        +    "SVG_FECOMPONENTTRANSFER_TYPE_LINEAR",
        +    "SVG_FECOMPONENTTRANSFER_TYPE_TABLE",
        +    "SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN",
        +    "SVG_FECOMPOSITE_OPERATOR_ARITHMETIC",
        +    "SVG_FECOMPOSITE_OPERATOR_ATOP",
        +    "SVG_FECOMPOSITE_OPERATOR_IN",
        +    "SVG_FECOMPOSITE_OPERATOR_LIGHTER",
        +    "SVG_FECOMPOSITE_OPERATOR_OUT",
        +    "SVG_FECOMPOSITE_OPERATOR_OVER",
        +    "SVG_FECOMPOSITE_OPERATOR_UNKNOWN",
        +    "SVG_FECOMPOSITE_OPERATOR_XOR",
        +    "SVG_INVALID_VALUE_ERR",
        +    "SVG_LENGTHTYPE_CM",
        +    "SVG_LENGTHTYPE_EMS",
        +    "SVG_LENGTHTYPE_EXS",
        +    "SVG_LENGTHTYPE_IN",
        +    "SVG_LENGTHTYPE_MM",
        +    "SVG_LENGTHTYPE_NUMBER",
        +    "SVG_LENGTHTYPE_PC",
        +    "SVG_LENGTHTYPE_PERCENTAGE",
        +    "SVG_LENGTHTYPE_PT",
        +    "SVG_LENGTHTYPE_PX",
        +    "SVG_LENGTHTYPE_UNKNOWN",
        +    "SVG_MARKERUNITS_STROKEWIDTH",
        +    "SVG_MARKERUNITS_UNKNOWN",
        +    "SVG_MARKERUNITS_USERSPACEONUSE",
        +    "SVG_MARKER_ORIENT_ANGLE",
        +    "SVG_MARKER_ORIENT_AUTO",
        +    "SVG_MARKER_ORIENT_AUTO_START_REVERSE",
        +    "SVG_MARKER_ORIENT_UNKNOWN",
        +    "SVG_MASKTYPE_ALPHA",
        +    "SVG_MASKTYPE_LUMINANCE",
        +    "SVG_MATRIX_NOT_INVERTABLE",
        +    "SVG_MEETORSLICE_MEET",
        +    "SVG_MEETORSLICE_SLICE",
        +    "SVG_MEETORSLICE_UNKNOWN",
        +    "SVG_MORPHOLOGY_OPERATOR_DILATE",
        +    "SVG_MORPHOLOGY_OPERATOR_ERODE",
        +    "SVG_MORPHOLOGY_OPERATOR_UNKNOWN",
        +    "SVG_PAINTTYPE_CURRENTCOLOR",
        +    "SVG_PAINTTYPE_NONE",
        +    "SVG_PAINTTYPE_RGBCOLOR",
        +    "SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR",
        +    "SVG_PAINTTYPE_UNKNOWN",
        +    "SVG_PAINTTYPE_URI",
        +    "SVG_PAINTTYPE_URI_CURRENTCOLOR",
        +    "SVG_PAINTTYPE_URI_NONE",
        +    "SVG_PAINTTYPE_URI_RGBCOLOR",
        +    "SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR",
        +    "SVG_PRESERVEASPECTRATIO_NONE",
        +    "SVG_PRESERVEASPECTRATIO_UNKNOWN",
        +    "SVG_PRESERVEASPECTRATIO_XMAXYMAX",
        +    "SVG_PRESERVEASPECTRATIO_XMAXYMID",
        +    "SVG_PRESERVEASPECTRATIO_XMAXYMIN",
        +    "SVG_PRESERVEASPECTRATIO_XMIDYMAX",
        +    "SVG_PRESERVEASPECTRATIO_XMIDYMID",
        +    "SVG_PRESERVEASPECTRATIO_XMIDYMIN",
        +    "SVG_PRESERVEASPECTRATIO_XMINYMAX",
        +    "SVG_PRESERVEASPECTRATIO_XMINYMID",
        +    "SVG_PRESERVEASPECTRATIO_XMINYMIN",
        +    "SVG_SPREADMETHOD_PAD",
        +    "SVG_SPREADMETHOD_REFLECT",
        +    "SVG_SPREADMETHOD_REPEAT",
        +    "SVG_SPREADMETHOD_UNKNOWN",
        +    "SVG_STITCHTYPE_NOSTITCH",
        +    "SVG_STITCHTYPE_STITCH",
        +    "SVG_STITCHTYPE_UNKNOWN",
        +    "SVG_TRANSFORM_MATRIX",
        +    "SVG_TRANSFORM_ROTATE",
        +    "SVG_TRANSFORM_SCALE",
        +    "SVG_TRANSFORM_SKEWX",
        +    "SVG_TRANSFORM_SKEWY",
        +    "SVG_TRANSFORM_TRANSLATE",
        +    "SVG_TRANSFORM_UNKNOWN",
        +    "SVG_TURBULENCE_TYPE_FRACTALNOISE",
        +    "SVG_TURBULENCE_TYPE_TURBULENCE",
        +    "SVG_TURBULENCE_TYPE_UNKNOWN",
        +    "SVG_UNIT_TYPE_OBJECTBOUNDINGBOX",
        +    "SVG_UNIT_TYPE_UNKNOWN",
        +    "SVG_UNIT_TYPE_USERSPACEONUSE",
        +    "SVG_WRONG_TYPE_ERR",
        +    "SVG_ZOOMANDPAN_DISABLE",
        +    "SVG_ZOOMANDPAN_MAGNIFY",
        +    "SVG_ZOOMANDPAN_UNKNOWN",
        +    "SYNC_CONDITION",
        +    "SYNC_FENCE",
        +    "SYNC_FLAGS",
        +    "SYNC_FLUSH_COMMANDS_BIT",
        +    "SYNC_GPU_COMMANDS_COMPLETE",
        +    "SYNC_STATUS",
        +    "SYNTAX_ERR",
        +    "SavedPages",
        +    "Scheduler",
        +    "Scheduling",
        +    "Screen",
        +    "ScreenDetailed",
        +    "ScreenDetails",
        +    "ScreenOrientation",
        +    "Script",
        +    "ScriptProcessorNode",
        +    "ScrollAreaEvent",
        +    "ScrollTimeline",
        +    "SecurityPolicyViolationEvent",
        +    "Segmenter",
        +    "Selection",
        +    "Sensor",
        +    "SensorErrorEvent",
        +    "Serial",
        +    "SerialPort",
        +    "ServiceWorker",
        +    "ServiceWorkerContainer",
        +    "ServiceWorkerRegistration",
        +    "SessionDescription",
        +    "Set",
        +    "ShadowRoot",
        +    "SharedArrayBuffer",
        +    "SharedStorage",
        +    "SharedStorageAppendMethod",
        +    "SharedStorageClearMethod",
        +    "SharedStorageDeleteMethod",
        +    "SharedStorageModifierMethod",
        +    "SharedStorageSetMethod",
        +    "SharedStorageWorklet",
        +    "SharedWorker",
        +    "SharingState",
        +    "SimpleGestureEvent",
        +    "SnapEvent",
        +    "SourceBuffer",
        +    "SourceBufferList",
        +    "SpeechGrammar",
        +    "SpeechGrammarList",
        +    "SpeechRecognition",
        +    "SpeechRecognitionErrorEvent",
        +    "SpeechRecognitionEvent",
        +    "SpeechRecognitionPhrase",
        +    "SpeechSynthesis",
        +    "SpeechSynthesisErrorEvent",
        +    "SpeechSynthesisEvent",
        +    "SpeechSynthesisUtterance",
        +    "SpeechSynthesisVoice",
        +    "StaticRange",
        +    "StereoPannerNode",
        +    "StopIteration",
        +    "Storage",
        +    "StorageBucket",
        +    "StorageBucketManager",
        +    "StorageEvent",
        +    "StorageManager",
        +    "String",
        +    "StructType",
        +    "StylePropertyMap",
        +    "StylePropertyMapReadOnly",
        +    "StyleSheet",
        +    "StyleSheetList",
        +    "SubmitEvent",
        +    "Subscriber",
        +    "SubtleCrypto",
        +    "Summarizer",
        +    "SuppressedError",
        +    "SuspendError",
        +    "Suspending",
        +    "Symbol",
        +    "SyncManager",
        +    "SyntaxError",
        +    "TAB_ID_NONE",
        +    "TAB_INDEX_NONE",
        +    "TEMPORARY",
        +    "TEXTPATH_METHODTYPE_ALIGN",
        +    "TEXTPATH_METHODTYPE_STRETCH",
        +    "TEXTPATH_METHODTYPE_UNKNOWN",
        +    "TEXTPATH_SPACINGTYPE_AUTO",
        +    "TEXTPATH_SPACINGTYPE_EXACT",
        +    "TEXTPATH_SPACINGTYPE_UNKNOWN",
        +    "TEXTURE",
        +    "TEXTURE0",
        +    "TEXTURE1",
        +    "TEXTURE10",
        +    "TEXTURE11",
        +    "TEXTURE12",
        +    "TEXTURE13",
        +    "TEXTURE14",
        +    "TEXTURE15",
        +    "TEXTURE16",
        +    "TEXTURE17",
        +    "TEXTURE18",
        +    "TEXTURE19",
        +    "TEXTURE2",
        +    "TEXTURE20",
        +    "TEXTURE21",
        +    "TEXTURE22",
        +    "TEXTURE23",
        +    "TEXTURE24",
        +    "TEXTURE25",
        +    "TEXTURE26",
        +    "TEXTURE27",
        +    "TEXTURE28",
        +    "TEXTURE29",
        +    "TEXTURE3",
        +    "TEXTURE30",
        +    "TEXTURE31",
        +    "TEXTURE4",
        +    "TEXTURE5",
        +    "TEXTURE6",
        +    "TEXTURE7",
        +    "TEXTURE8",
        +    "TEXTURE9",
        +    "TEXTURE_2D",
        +    "TEXTURE_2D_ARRAY",
        +    "TEXTURE_3D",
        +    "TEXTURE_BASE_LEVEL",
        +    "TEXTURE_BINDING",
        +    "TEXTURE_BINDING_2D",
        +    "TEXTURE_BINDING_2D_ARRAY",
        +    "TEXTURE_BINDING_3D",
        +    "TEXTURE_BINDING_CUBE_MAP",
        +    "TEXTURE_COMPARE_FUNC",
        +    "TEXTURE_COMPARE_MODE",
        +    "TEXTURE_CUBE_MAP",
        +    "TEXTURE_CUBE_MAP_NEGATIVE_X",
        +    "TEXTURE_CUBE_MAP_NEGATIVE_Y",
        +    "TEXTURE_CUBE_MAP_NEGATIVE_Z",
        +    "TEXTURE_CUBE_MAP_POSITIVE_X",
        +    "TEXTURE_CUBE_MAP_POSITIVE_Y",
        +    "TEXTURE_CUBE_MAP_POSITIVE_Z",
        +    "TEXTURE_IMMUTABLE_FORMAT",
        +    "TEXTURE_IMMUTABLE_LEVELS",
        +    "TEXTURE_MAG_FILTER",
        +    "TEXTURE_MAX_ANISOTROPY_EXT",
        +    "TEXTURE_MAX_LEVEL",
        +    "TEXTURE_MAX_LOD",
        +    "TEXTURE_MIN_FILTER",
        +    "TEXTURE_MIN_LOD",
        +    "TEXTURE_WRAP_R",
        +    "TEXTURE_WRAP_S",
        +    "TEXTURE_WRAP_T",
        +    "TEXT_NODE",
        +    "TIMEOUT",
        +    "TIMEOUT_ERR",
        +    "TIMEOUT_EXPIRED",
        +    "TIMEOUT_IGNORED",
        +    "TOO_LARGE_ERR",
        +    "TRANSACTION_INACTIVE_ERR",
        +    "TRANSFORM_FEEDBACK",
        +    "TRANSFORM_FEEDBACK_ACTIVE",
        +    "TRANSFORM_FEEDBACK_BINDING",
        +    "TRANSFORM_FEEDBACK_BUFFER",
        +    "TRANSFORM_FEEDBACK_BUFFER_BINDING",
        +    "TRANSFORM_FEEDBACK_BUFFER_MODE",
        +    "TRANSFORM_FEEDBACK_BUFFER_SIZE",
        +    "TRANSFORM_FEEDBACK_BUFFER_START",
        +    "TRANSFORM_FEEDBACK_PAUSED",
        +    "TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",
        +    "TRANSFORM_FEEDBACK_VARYINGS",
        +    "TRIANGLE",
        +    "TRIANGLES",
        +    "TRIANGLE_FAN",
        +    "TRIANGLE_STRIP",
        +    "TYPE_BACK_FORWARD",
        +    "TYPE_ERR",
        +    "TYPE_MISMATCH_ERR",
        +    "TYPE_NAVIGATE",
        +    "TYPE_RELOAD",
        +    "TYPE_RESERVED",
        +    "Tab",
        +    "TabStatus",
        +    "Table",
        +    "Tag",
        +    "TaskAttributionTiming",
        +    "TaskController",
        +    "TaskPriorityChangeEvent",
        +    "TaskSignal",
        +    "Temporal",
        +    "Text",
        +    "TextDecoder",
        +    "TextDecoderStream",
        +    "TextEncoder",
        +    "TextEncoderStream",
        +    "TextEvent",
        +    "TextFormat",
        +    "TextFormatUpdateEvent",
        +    "TextMetrics",
        +    "TextTrack",
        +    "TextTrackCue",
        +    "TextTrackCueList",
        +    "TextTrackList",
        +    "TextUpdateEvent",
        +    "TimeEvent",
        +    "TimeRanges",
        +    "ToggleEvent",
        +    "Touch",
        +    "TouchEvent",
        +    "TouchList",
        +    "TrackEvent",
        +    "TransformStream",
        +    "TransformStreamDefaultController",
        +    "TransitionEvent",
        +    "Translator",
        +    "TreeWalker",
        +    "TrustedHTML",
        +    "TrustedScript",
        +    "TrustedScriptURL",
        +    "TrustedTypePolicy",
        +    "TrustedTypePolicyFactory",
        +    "TypeError",
        +    "TypedObject",
        +    "U2F",
        +    "UIEvent",
        +    "UNCACHED",
        +    "UNIFORM",
        +    "UNIFORM_ARRAY_STRIDE",
        +    "UNIFORM_BLOCK_ACTIVE_UNIFORMS",
        +    "UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",
        +    "UNIFORM_BLOCK_BINDING",
        +    "UNIFORM_BLOCK_DATA_SIZE",
        +    "UNIFORM_BLOCK_INDEX",
        +    "UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",
        +    "UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",
        +    "UNIFORM_BUFFER",
        +    "UNIFORM_BUFFER_BINDING",
        +    "UNIFORM_BUFFER_OFFSET_ALIGNMENT",
        +    "UNIFORM_BUFFER_SIZE",
        +    "UNIFORM_BUFFER_START",
        +    "UNIFORM_IS_ROW_MAJOR",
        +    "UNIFORM_MATRIX_STRIDE",
        +    "UNIFORM_OFFSET",
        +    "UNIFORM_SIZE",
        +    "UNIFORM_TYPE",
        +    "UNKNOWN_ERR",
        +    "UNKNOWN_RULE",
        +    "UNMASKED_RENDERER_WEBGL",
        +    "UNMASKED_VENDOR_WEBGL",
        +    "UNORDERED_NODE_ITERATOR_TYPE",
        +    "UNORDERED_NODE_SNAPSHOT_TYPE",
        +    "UNPACK_ALIGNMENT",
        +    "UNPACK_COLORSPACE_CONVERSION_WEBGL",
        +    "UNPACK_FLIP_Y_WEBGL",
        +    "UNPACK_IMAGE_HEIGHT",
        +    "UNPACK_PREMULTIPLY_ALPHA_WEBGL",
        +    "UNPACK_ROW_LENGTH",
        +    "UNPACK_SKIP_IMAGES",
        +    "UNPACK_SKIP_PIXELS",
        +    "UNPACK_SKIP_ROWS",
        +    "UNSCHEDULED_STATE",
        +    "UNSENT",
        +    "UNSIGNALED",
        +    "UNSIGNED_BYTE",
        +    "UNSIGNED_INT",
        +    "UNSIGNED_INT_10F_11F_11F_REV",
        +    "UNSIGNED_INT_24_8",
        +    "UNSIGNED_INT_2_10_10_10_REV",
        +    "UNSIGNED_INT_5_9_9_9_REV",
        +    "UNSIGNED_INT_SAMPLER_2D",
        +    "UNSIGNED_INT_SAMPLER_2D_ARRAY",
        +    "UNSIGNED_INT_SAMPLER_3D",
        +    "UNSIGNED_INT_SAMPLER_CUBE",
        +    "UNSIGNED_INT_VEC2",
        +    "UNSIGNED_INT_VEC3",
        +    "UNSIGNED_INT_VEC4",
        +    "UNSIGNED_NORMALIZED",
        +    "UNSIGNED_SHORT",
        +    "UNSIGNED_SHORT_4_4_4_4",
        +    "UNSIGNED_SHORT_5_5_5_1",
        +    "UNSIGNED_SHORT_5_6_5",
        +    "UNSPECIFIED_EVENT_TYPE_ERR",
        +    "UPDATEREADY",
        +    "URIError",
        +    "URL",
        +    "URLPattern",
        +    "URLSearchParams",
        +    "URLUnencoded",
        +    "URL_MISMATCH_ERR",
        +    "USB",
        +    "USBAlternateInterface",
        +    "USBConfiguration",
        +    "USBConnectionEvent",
        +    "USBDevice",
        +    "USBEndpoint",
        +    "USBInTransferResult",
        +    "USBInterface",
        +    "USBIsochronousInTransferPacket",
        +    "USBIsochronousInTransferResult",
        +    "USBIsochronousOutTransferPacket",
        +    "USBIsochronousOutTransferResult",
        +    "USBOutTransferResult",
        +    "UTC",
        +    "Uint16Array",
        +    "Uint32Array",
        +    "Uint8Array",
        +    "Uint8ClampedArray",
        +    "UpdateFilter",
        +    "UpdatePropertyName",
        +    "UserActivation",
        +    "UserMessageHandler",
        +    "UserMessageHandlersNamespace",
        +    "UserProximityEvent",
        +    "VALIDATE_STATUS",
        +    "VALIDATION_ERR",
        +    "VARIABLES_RULE",
        +    "VENDOR",
        +    "VERSION",
        +    "VERSION_CHANGE",
        +    "VERSION_ERR",
        +    "VERTEX",
        +    "VERTEX_ARRAY_BINDING",
        +    "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",
        +    "VERTEX_ATTRIB_ARRAY_DIVISOR",
        +    "VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE",
        +    "VERTEX_ATTRIB_ARRAY_ENABLED",
        +    "VERTEX_ATTRIB_ARRAY_INTEGER",
        +    "VERTEX_ATTRIB_ARRAY_NORMALIZED",
        +    "VERTEX_ATTRIB_ARRAY_POINTER",
        +    "VERTEX_ATTRIB_ARRAY_SIZE",
        +    "VERTEX_ATTRIB_ARRAY_STRIDE",
        +    "VERTEX_ATTRIB_ARRAY_TYPE",
        +    "VERTEX_SHADER",
        +    "VERTICAL",
        +    "VERTICAL_AXIS",
        +    "VER_ERR",
        +    "VIEWPORT",
        +    "VIEWPORT_RULE",
        +    "VRDisplay",
        +    "VRDisplayCapabilities",
        +    "VRDisplayEvent",
        +    "VREyeParameters",
        +    "VRFieldOfView",
        +    "VRFrameData",
        +    "VRPose",
        +    "VRStageParameters",
        +    "VTTCue",
        +    "VTTRegion",
        +    "ValidityState",
        +    "VideoColorSpace",
        +    "VideoDecoder",
        +    "VideoEncoder",
        +    "VideoFrame",
        +    "VideoPlaybackQuality",
        +    "VideoStreamTrack",
        +    "ViewTimeline",
        +    "ViewTransition",
        +    "ViewTransitionTypeSet",
        +    "ViewType",
        +    "Viewport",
        +    "VirtualKeyboard",
        +    "VirtualKeyboardGeometryChangeEvent",
        +    "VisibilityStateEntry",
        +    "VisualViewport",
        +    "WAIT_FAILED",
        +    "WEBKIT_FILTER_RULE",
        +    "WEBKIT_KEYFRAMES_RULE",
        +    "WEBKIT_KEYFRAME_RULE",
        +    "WEBKIT_REGION_RULE",
        +    "WGSLLanguageFeatures",
        +    "WINDOW_ID_CURRENT",
        +    "WINDOW_ID_NONE",
        +    "WRITE",
        +    "WRONG_DOCUMENT_ERR",
        +    "WakeLock",
        +    "WakeLockSentinel",
        +    "WasmAnyRef",
        +    "WaveShaperNode",
        +    "WeakMap",
        +    "WeakRef",
        +    "WeakSet",
        +    "WebAssembly",
        +    "WebGL2RenderingContext",
        +    "WebGLActiveInfo",
        +    "WebGLBuffer",
        +    "WebGLContextEvent",
        +    "WebGLFramebuffer",
        +    "WebGLObject",
        +    "WebGLProgram",
        +    "WebGLQuery",
        +    "WebGLRenderbuffer",
        +    "WebGLRenderingContext",
        +    "WebGLSampler",
        +    "WebGLShader",
        +    "WebGLShaderPrecisionFormat",
        +    "WebGLSync",
        +    "WebGLTexture",
        +    "WebGLTransformFeedback",
        +    "WebGLUniformLocation",
        +    "WebGLVertexArray",
        +    "WebGLVertexArrayObject",
        +    "WebKitAnimationEvent",
        +    "WebKitBlobBuilder",
        +    "WebKitCSSFilterRule",
        +    "WebKitCSSFilterValue",
        +    "WebKitCSSKeyframeRule",
        +    "WebKitCSSKeyframesRule",
        +    "WebKitCSSMatrix",
        +    "WebKitCSSRegionRule",
        +    "WebKitCSSTransformValue",
        +    "WebKitDataCue",
        +    "WebKitGamepad",
        +    "WebKitMediaKeyError",
        +    "WebKitMediaKeyMessageEvent",
        +    "WebKitMediaKeySession",
        +    "WebKitMediaKeys",
        +    "WebKitMediaSource",
        +    "WebKitMutationObserver",
        +    "WebKitNamespace",
        +    "WebKitPlaybackTargetAvailabilityEvent",
        +    "WebKitPoint",
        +    "WebKitShadowRoot",
        +    "WebKitSourceBuffer",
        +    "WebKitSourceBufferList",
        +    "WebKitTransitionEvent",
        +    "WebSocket",
        +    "WebSocketError",
        +    "WebSocketStream",
        +    "WebTransport",
        +    "WebTransportBidirectionalStream",
        +    "WebTransportDatagramDuplexStream",
        +    "WebTransportError",
        +    "WebTransportReceiveStream",
        +    "WebTransportSendStream",
        +    "WebkitAlignContent",
        +    "WebkitAlignItems",
        +    "WebkitAlignSelf",
        +    "WebkitAnimation",
        +    "WebkitAnimationDelay",
        +    "WebkitAnimationDirection",
        +    "WebkitAnimationDuration",
        +    "WebkitAnimationFillMode",
        +    "WebkitAnimationIterationCount",
        +    "WebkitAnimationName",
        +    "WebkitAnimationPlayState",
        +    "WebkitAnimationTimingFunction",
        +    "WebkitAppearance",
        +    "WebkitBackfaceVisibility",
        +    "WebkitBackgroundClip",
        +    "WebkitBackgroundOrigin",
        +    "WebkitBackgroundSize",
        +    "WebkitBorderBottomLeftRadius",
        +    "WebkitBorderBottomRightRadius",
        +    "WebkitBorderImage",
        +    "WebkitBorderRadius",
        +    "WebkitBorderTopLeftRadius",
        +    "WebkitBorderTopRightRadius",
        +    "WebkitBoxAlign",
        +    "WebkitBoxDirection",
        +    "WebkitBoxFlex",
        +    "WebkitBoxOrdinalGroup",
        +    "WebkitBoxOrient",
        +    "WebkitBoxPack",
        +    "WebkitBoxShadow",
        +    "WebkitBoxSizing",
        +    "WebkitClipPath",
        +    "WebkitFilter",
        +    "WebkitFlex",
        +    "WebkitFlexBasis",
        +    "WebkitFlexDirection",
        +    "WebkitFlexFlow",
        +    "WebkitFlexGrow",
        +    "WebkitFlexShrink",
        +    "WebkitFlexWrap",
        +    "WebkitFontFeatureSettings",
        +    "WebkitJustifyContent",
        +    "WebkitLineClamp",
        +    "WebkitMask",
        +    "WebkitMaskClip",
        +    "WebkitMaskComposite",
        +    "WebkitMaskImage",
        +    "WebkitMaskOrigin",
        +    "WebkitMaskPosition",
        +    "WebkitMaskPositionX",
        +    "WebkitMaskPositionY",
        +    "WebkitMaskRepeat",
        +    "WebkitMaskSize",
        +    "WebkitOrder",
        +    "WebkitPerspective",
        +    "WebkitPerspectiveOrigin",
        +    "WebkitTextFillColor",
        +    "WebkitTextSecurity",
        +    "WebkitTextSizeAdjust",
        +    "WebkitTextStroke",
        +    "WebkitTextStrokeColor",
        +    "WebkitTextStrokeWidth",
        +    "WebkitTransform",
        +    "WebkitTransformOrigin",
        +    "WebkitTransformStyle",
        +    "WebkitTransition",
        +    "WebkitTransitionDelay",
        +    "WebkitTransitionDuration",
        +    "WebkitTransitionProperty",
        +    "WebkitTransitionTimingFunction",
        +    "WebkitUserSelect",
        +    "WheelEvent",
        +    "Window",
        +    "WindowControlsOverlay",
        +    "WindowControlsOverlayGeometryChangeEvent",
        +    "WindowState",
        +    "WindowType",
        +    "Worker",
        +    "Worklet",
        +    "WritableStream",
        +    "WritableStreamDefaultController",
        +    "WritableStreamDefaultWriter",
        +    "XMLDocument",
        +    "XMLHttpRequest",
        +    "XMLHttpRequestEventTarget",
        +    "XMLHttpRequestException",
        +    "XMLHttpRequestProgressEvent",
        +    "XMLHttpRequestUpload",
        +    "XMLSerializer",
        +    "XMLStylesheetProcessingInstruction",
        +    "XPathEvaluator",
        +    "XPathException",
        +    "XPathExpression",
        +    "XPathNSResolver",
        +    "XPathResult",
        +    "XRAnchor",
        +    "XRAnchorSet",
        +    "XRBoundedReferenceSpace",
        +    "XRCPUDepthInformation",
        +    "XRCamera",
        +    "XRDOMOverlayState",
        +    "XRDepthInformation",
        +    "XRFrame",
        +    "XRHand",
        +    "XRHitTestResult",
        +    "XRHitTestSource",
        +    "XRInputSource",
        +    "XRInputSourceArray",
        +    "XRInputSourceEvent",
        +    "XRInputSourcesChangeEvent",
        +    "XRJointPose",
        +    "XRJointSpace",
        +    "XRLayer",
        +    "XRLightEstimate",
        +    "XRLightProbe",
        +    "XRPose",
        +    "XRRay",
        +    "XRReferenceSpace",
        +    "XRReferenceSpaceEvent",
        +    "XRRenderState",
        +    "XRRigidTransform",
        +    "XRSession",
        +    "XRSessionEvent",
        +    "XRSpace",
        +    "XRSystem",
        +    "XRTransientInputHitTestResult",
        +    "XRTransientInputHitTestSource",
        +    "XRView",
        +    "XRViewerPose",
        +    "XRViewport",
        +    "XRWebGLBinding",
        +    "XRWebGLDepthInformation",
        +    "XRWebGLLayer",
        +    "XSLTProcessor",
        +    "ZERO",
        +    "ZonedDateTime",
        +    "ZoomSettings",
        +    "ZoomSettingsMode",
        +    "ZoomSettingsScope",
        +    "_XD0M_",
        +    "_YD0M_",
        +    "__REACT_DEVTOOLS_GLOBAL_HOOK__",
        +    "__brand",
        +    "__defineGetter__",
        +    "__defineSetter__",
        +    "__lookupGetter__",
        +    "__lookupSetter__",
        +    "__opera",
        +    "__proto__",
        +    "_browserjsran",
        +    "a",
        +    "aLink",
        +    "abbr",
        +    "abort",
        +    "aborted",
        +    "aboutConfigPrefs",
        +    "abs",
        +    "absolute",
        +    "acceleration",
        +    "accelerationIncludingGravity",
        +    "accelerator",
        +    "accent-color",
        +    "accentColor",
        +    "accept",
        +    "acceptCharset",
        +    "acceptNode",
        +    "access",
        +    "accessKey",
        +    "accessKeyLabel",
        +    "accuracy",
        +    "acos",
        +    "acosh",
        +    "action",
        +    "actionURL",
        +    "actions",
        +    "activated",
        +    "activation",
        +    "activationStart",
        +    "active",
        +    "activeCues",
        +    "activeElement",
        +    "activeSourceBuffers",
        +    "activeSourceCount",
        +    "activeTexture",
        +    "activeVRDisplays",
        +    "activeViewTransition",
        +    "activityLog",
        +    "actualBoundingBoxAscent",
        +    "actualBoundingBoxDescent",
        +    "actualBoundingBoxLeft",
        +    "actualBoundingBoxRight",
        +    "adAuctionComponents",
        +    "adAuctionHeaders",
        +    "adapterInfo",
        +    "add",
        +    "addAll",
        +    "addBehavior",
        +    "addCandidate",
        +    "addColorStop",
        +    "addCue",
        +    "addElement",
        +    "addEventListener",
        +    "addFilter",
        +    "addFromString",
        +    "addFromUri",
        +    "addIceCandidate",
        +    "addImport",
        +    "addListener",
        +    "addModule",
        +    "addNamed",
        +    "addPageRule",
        +    "addPath",
        +    "addPointer",
        +    "addRange",
        +    "addRegion",
        +    "addRule",
        +    "addSearchEngine",
        +    "addSourceBuffer",
        +    "addStream",
        +    "addTeardown",
        +    "addTextTrack",
        +    "addTrack",
        +    "addTransceiver",
        +    "addWakeLockListener",
        +    "added",
        +    "addedNodes",
        +    "additionalName",
        +    "additiveSymbols",
        +    "addons",
        +    "address",
        +    "addressLine",
        +    "addressModeU",
        +    "addressModeV",
        +    "addressModeW",
        +    "adopt",
        +    "adoptNode",
        +    "adoptedCallback",
        +    "adoptedStyleSheets",
        +    "adr",
        +    "advance",
        +    "after",
        +    "alarms",
        +    "album",
        +    "alert",
        +    "algorithm",
        +    "align",
        +    "align-content",
        +    "align-items",
        +    "align-self",
        +    "alignContent",
        +    "alignItems",
        +    "alignSelf",
        +    "alignmentBaseline",
        +    "alinkColor",
        +    "all",
        +    "allSettled",
        +    "allocationSize",
        +    "allow",
        +    "allowFullscreen",
        +    "allowPaymentRequest",
        +    "allowedDirections",
        +    "allowedFeatures",
        +    "allowedToPlay",
        +    "allowsFeature",
        +    "alpha",
        +    "alphaMode",
        +    "alphaToCoverageEnabled",
        +    "alphabeticBaseline",
        +    "alt",
        +    "altGraphKey",
        +    "altHtml",
        +    "altKey",
        +    "altLeft",
        +    "alternate",
        +    "alternateSetting",
        +    "alternates",
        +    "altitude",
        +    "altitudeAccuracy",
        +    "altitudeAngle",
        +    "amplitude",
        +    "ancestorOrigins",
        +    "anchor",
        +    "anchorName",
        +    "anchorNode",
        +    "anchorOffset",
        +    "anchorScope",
        +    "anchorSpace",
        +    "anchors",
        +    "and",
        +    "angle",
        +    "angularAcceleration",
        +    "angularVelocity",
        +    "animVal",
        +    "animate",
        +    "animated",
        +    "animatedInstanceRoot",
        +    "animatedNormalizedPathSegList",
        +    "animatedPathSegList",
        +    "animatedPoints",
        +    "animation",
        +    "animation-composition",
        +    "animation-delay",
        +    "animation-direction",
        +    "animation-duration",
        +    "animation-fill-mode",
        +    "animation-iteration-count",
        +    "animation-name",
        +    "animation-play-state",
        +    "animation-timing-function",
        +    "animationComposition",
        +    "animationDelay",
        +    "animationDirection",
        +    "animationDuration",
        +    "animationFillMode",
        +    "animationIterationCount",
        +    "animationName",
        +    "animationPlayState",
        +    "animationStartTime",
        +    "animationTimingFunction",
        +    "animationsPaused",
        +    "anniversary",
        +    "annotation",
        +    "antialias",
        +    "anticipatedRemoval",
        +    "any",
        +    "app",
        +    "appCodeName",
        +    "appMinorVersion",
        +    "appName",
        +    "appNotifications",
        +    "appVersion",
        +    "appearance",
        +    "append",
        +    "appendBuffer",
        +    "appendChild",
        +    "appendData",
        +    "appendItem",
        +    "appendMedium",
        +    "appendNamed",
        +    "appendRule",
        +    "appendStream",
        +    "appendWindowEnd",
        +    "appendWindowStart",
        +    "applets",
        +    "applicationCache",
        +    "applicationServerKey",
        +    "apply",
        +    "applyConstraints",
        +    "applyElement",
        +    "arc",
        +    "arcTo",
        +    "arch",
        +    "architecture",
        +    "archive",
        +    "areas",
        +    "arguments",
        +    "ariaActiveDescendantElement",
        +    "ariaAtomic",
        +    "ariaAutoComplete",
        +    "ariaBrailleLabel",
        +    "ariaBrailleRoleDescription",
        +    "ariaBusy",
        +    "ariaChecked",
        +    "ariaColCount",
        +    "ariaColIndex",
        +    "ariaColIndexText",
        +    "ariaColSpan",
        +    "ariaControlsElements",
        +    "ariaCurrent",
        +    "ariaDescribedByElements",
        +    "ariaDescription",
        +    "ariaDetailsElements",
        +    "ariaDisabled",
        +    "ariaErrorMessageElements",
        +    "ariaExpanded",
        +    "ariaFlowToElements",
        +    "ariaHasPopup",
        +    "ariaHidden",
        +    "ariaInvalid",
        +    "ariaKeyShortcuts",
        +    "ariaLabel",
        +    "ariaLabelledByElements",
        +    "ariaLevel",
        +    "ariaLive",
        +    "ariaModal",
        +    "ariaMultiLine",
        +    "ariaMultiSelectable",
        +    "ariaNotify",
        +    "ariaOrientation",
        +    "ariaOwnsElements",
        +    "ariaPlaceholder",
        +    "ariaPosInSet",
        +    "ariaPressed",
        +    "ariaReadOnly",
        +    "ariaRelevant",
        +    "ariaRequired",
        +    "ariaRoleDescription",
        +    "ariaRowCount",
        +    "ariaRowIndex",
        +    "ariaRowIndexText",
        +    "ariaRowSpan",
        +    "ariaSelected",
        +    "ariaSetSize",
        +    "ariaSort",
        +    "ariaValueMax",
        +    "ariaValueMin",
        +    "ariaValueNow",
        +    "ariaValueText",
        +    "arrayBuffer",
        +    "arrayLayerCount",
        +    "arrayStride",
        +    "artist",
        +    "artwork",
        +    "as",
        +    "asIntN",
        +    "asUintN",
        +    "ascentOverride",
        +    "asin",
        +    "asinh",
        +    "aspect",
        +    "aspect-ratio",
        +    "aspectRatio",
        +    "assert",
        +    "assign",
        +    "assignedElements",
        +    "assignedNodes",
        +    "assignedSlot",
        +    "async",
        +    "asyncDispose",
        +    "asyncIterator",
        +    "at",
        +    "atEnd",
        +    "atan",
        +    "atan2",
        +    "atanh",
        +    "atob",
        +    "attachEvent",
        +    "attachInternals",
        +    "attachShader",
        +    "attachShadow",
        +    "attachedElements",
        +    "attachments",
        +    "attack",
        +    "attestationObject",
        +    "attrChange",
        +    "attrName",
        +    "attributeChangedCallback",
        +    "attributeFilter",
        +    "attributeName",
        +    "attributeNamespace",
        +    "attributeOldValue",
        +    "attributeStyleMap",
        +    "attributes",
        +    "attribution",
        +    "attributionSrc",
        +    "audioBitrateMode",
        +    "audioBitsPerSecond",
        +    "audioTracks",
        +    "audioWorklet",
        +    "authenticatedSignedWrites",
        +    "authenticatorAttachment",
        +    "authenticatorData",
        +    "autoIncrement",
        +    "autobuffer",
        +    "autocapitalize",
        +    "autocomplete",
        +    "autocorrect",
        +    "autofocus",
        +    "automationRate",
        +    "autoplay",
        +    "availHeight",
        +    "availLeft",
        +    "availTop",
        +    "availWidth",
        +    "availability",
        +    "available",
        +    "averageLatency",
        +    "aversion",
        +    "ax",
        +    "axes",
        +    "axis",
        +    "ay",
        +    "azimuth",
        +    "azimuthAngle",
        +    "b",
        +    "back",
        +    "backdrop-filter",
        +    "backdropFilter",
        +    "backends",
        +    "backface-visibility",
        +    "backfaceVisibility",
        +    "background",
        +    "background-attachment",
        +    "background-blend-mode",
        +    "background-clip",
        +    "background-color",
        +    "background-image",
        +    "background-origin",
        +    "background-position",
        +    "background-position-x",
        +    "background-position-y",
        +    "background-repeat",
        +    "background-size",
        +    "backgroundAttachment",
        +    "backgroundBlendMode",
        +    "backgroundClip",
        +    "backgroundColor",
        +    "backgroundFetch",
        +    "backgroundImage",
        +    "backgroundOrigin",
        +    "backgroundPosition",
        +    "backgroundPositionX",
        +    "backgroundPositionY",
        +    "backgroundRepeat",
        +    "backgroundSize",
        +    "badInput",
        +    "badge",
        +    "balance",
        +    "baseArrayLayer",
        +    "baseFrequencyX",
        +    "baseFrequencyY",
        +    "baseLatency",
        +    "baseLayer",
        +    "baseMipLevel",
        +    "baseNode",
        +    "baseOffset",
        +    "basePalette",
        +    "baseURI",
        +    "baseVal",
        +    "baseline-source",
        +    "baselineShift",
        +    "baselineSource",
        +    "batchUpdate",
        +    "battery",
        +    "bday",
        +    "before",
        +    "beginComputePass",
        +    "beginElement",
        +    "beginElementAt",
        +    "beginOcclusionQuery",
        +    "beginPath",
        +    "beginQuery",
        +    "beginRenderPass",
        +    "beginTransformFeedback",
        +    "beginningOfPassWriteIndex",
        +    "behavior",
        +    "behaviorCookie",
        +    "behaviorPart",
        +    "behaviorUrns",
        +    "beta",
        +    "bezierCurveTo",
        +    "bgColor",
        +    "bgProperties",
        +    "bias",
        +    "big",
        +    "bigint64",
        +    "biguint64",
        +    "binaryType",
        +    "bind",
        +    "bindAttribLocation",
        +    "bindBuffer",
        +    "bindBufferBase",
        +    "bindBufferRange",
        +    "bindFramebuffer",
        +    "bindGroupLayouts",
        +    "bindRenderbuffer",
        +    "bindSampler",
        +    "bindTexture",
        +    "bindTransformFeedback",
        +    "bindVertexArray",
        +    "binding",
        +    "bitness",
        +    "blend",
        +    "blendColor",
        +    "blendEquation",
        +    "blendEquationSeparate",
        +    "blendFunc",
        +    "blendFuncSeparate",
        +    "blink",
        +    "blitFramebuffer",
        +    "blob",
        +    "block-size",
        +    "blockDirection",
        +    "blockSize",
        +    "blockedURI",
        +    "blockedURL",
        +    "blocking",
        +    "blockingDuration",
        +    "blue",
        +    "bluetooth",
        +    "blur",
        +    "body",
        +    "bodyUsed",
        +    "bold",
        +    "bookmarks",
        +    "booleanValue",
        +    "boost",
        +    "border",
        +    "border-block",
        +    "border-block-color",
        +    "border-block-end",
        +    "border-block-end-color",
        +    "border-block-end-style",
        +    "border-block-end-width",
        +    "border-block-start",
        +    "border-block-start-color",
        +    "border-block-start-style",
        +    "border-block-start-width",
        +    "border-block-style",
        +    "border-block-width",
        +    "border-bottom",
        +    "border-bottom-color",
        +    "border-bottom-left-radius",
        +    "border-bottom-right-radius",
        +    "border-bottom-style",
        +    "border-bottom-width",
        +    "border-collapse",
        +    "border-color",
        +    "border-end-end-radius",
        +    "border-end-start-radius",
        +    "border-image",
        +    "border-image-outset",
        +    "border-image-repeat",
        +    "border-image-slice",
        +    "border-image-source",
        +    "border-image-width",
        +    "border-inline",
        +    "border-inline-color",
        +    "border-inline-end",
        +    "border-inline-end-color",
        +    "border-inline-end-style",
        +    "border-inline-end-width",
        +    "border-inline-start",
        +    "border-inline-start-color",
        +    "border-inline-start-style",
        +    "border-inline-start-width",
        +    "border-inline-style",
        +    "border-inline-width",
        +    "border-left",
        +    "border-left-color",
        +    "border-left-style",
        +    "border-left-width",
        +    "border-radius",
        +    "border-right",
        +    "border-right-color",
        +    "border-right-style",
        +    "border-right-width",
        +    "border-spacing",
        +    "border-start-end-radius",
        +    "border-start-start-radius",
        +    "border-style",
        +    "border-top",
        +    "border-top-color",
        +    "border-top-left-radius",
        +    "border-top-right-radius",
        +    "border-top-style",
        +    "border-top-width",
        +    "border-width",
        +    "borderBlock",
        +    "borderBlockColor",
        +    "borderBlockEnd",
        +    "borderBlockEndColor",
        +    "borderBlockEndStyle",
        +    "borderBlockEndWidth",
        +    "borderBlockStart",
        +    "borderBlockStartColor",
        +    "borderBlockStartStyle",
        +    "borderBlockStartWidth",
        +    "borderBlockStyle",
        +    "borderBlockWidth",
        +    "borderBottom",
        +    "borderBottomColor",
        +    "borderBottomLeftRadius",
        +    "borderBottomRightRadius",
        +    "borderBottomStyle",
        +    "borderBottomWidth",
        +    "borderBoxSize",
        +    "borderCollapse",
        +    "borderColor",
        +    "borderColorDark",
        +    "borderColorLight",
        +    "borderEndEndRadius",
        +    "borderEndStartRadius",
        +    "borderImage",
        +    "borderImageOutset",
        +    "borderImageRepeat",
        +    "borderImageSlice",
        +    "borderImageSource",
        +    "borderImageWidth",
        +    "borderInline",
        +    "borderInlineColor",
        +    "borderInlineEnd",
        +    "borderInlineEndColor",
        +    "borderInlineEndStyle",
        +    "borderInlineEndWidth",
        +    "borderInlineStart",
        +    "borderInlineStartColor",
        +    "borderInlineStartStyle",
        +    "borderInlineStartWidth",
        +    "borderInlineStyle",
        +    "borderInlineWidth",
        +    "borderLeft",
        +    "borderLeftColor",
        +    "borderLeftStyle",
        +    "borderLeftWidth",
        +    "borderRadius",
        +    "borderRight",
        +    "borderRightColor",
        +    "borderRightStyle",
        +    "borderRightWidth",
        +    "borderSpacing",
        +    "borderStartEndRadius",
        +    "borderStartStartRadius",
        +    "borderStyle",
        +    "borderTop",
        +    "borderTopColor",
        +    "borderTopLeftRadius",
        +    "borderTopRightRadius",
        +    "borderTopStyle",
        +    "borderTopWidth",
        +    "borderWidth",
        +    "bottom",
        +    "bottomMargin",
        +    "bound",
        +    "boundElements",
        +    "boundingClientRect",
        +    "boundingHeight",
        +    "boundingLeft",
        +    "boundingRect",
        +    "boundingTop",
        +    "boundingWidth",
        +    "bounds",
        +    "boundsGeometry",
        +    "box-decoration-break",
        +    "box-shadow",
        +    "box-sizing",
        +    "boxDecorationBreak",
        +    "boxShadow",
        +    "boxSizing",
        +    "brand",
        +    "brands",
        +    "break-after",
        +    "break-before",
        +    "break-inside",
        +    "breakAfter",
        +    "breakBefore",
        +    "breakInside",
        +    "broadcast",
        +    "browser",
        +    "browserLanguage",
        +    "browserSettings",
        +    "browsingData",
        +    "browsingTopics",
        +    "btoa",
        +    "bubbles",
        +    "buffer",
        +    "bufferData",
        +    "bufferDepth",
        +    "bufferSize",
        +    "bufferSubData",
        +    "buffered",
        +    "bufferedAmount",
        +    "bufferedAmountLowThreshold",
        +    "buffers",
        +    "buildID",
        +    "buildNumber",
        +    "button",
        +    "buttonID",
        +    "buttons",
        +    "byobRequest",
        +    "byteLength",
        +    "byteOffset",
        +    "bytes",
        +    "bytesPerRow",
        +    "bytesWritten",
        +    "c",
        +    "cache",
        +    "caches",
        +    "call",
        +    "caller",
        +    "camera",
        +    "canBeFormatted",
        +    "canBeMounted",
        +    "canBeShared",
        +    "canConstructInDedicatedWorker",
        +    "canGoBack",
        +    "canGoForward",
        +    "canHaveChildren",
        +    "canHaveHTML",
        +    "canInsertDTMF",
        +    "canIntercept",
        +    "canLoadAdAuctionFencedFrame",
        +    "canLoadOpaqueURL",
        +    "canMakePayment",
        +    "canParse",
        +    "canPlayType",
        +    "canPresent",
        +    "canShare",
        +    "canTransition",
        +    "canTrickleIceCandidates",
        +    "cancel",
        +    "cancelAndHoldAtTime",
        +    "cancelAnimationFrame",
        +    "cancelBubble",
        +    "cancelIdleCallback",
        +    "cancelScheduledValues",
        +    "cancelVideoFrameCallback",
        +    "cancelWatchAvailability",
        +    "cancelable",
        +    "candidate",
        +    "canonicalUUID",
        +    "canvas",
        +    "cap",
        +    "capabilities",
        +    "caption",
        +    "caption-side",
        +    "captionSide",
        +    "captivePortal",
        +    "capture",
        +    "captureEvents",
        +    "captureStackTrace",
        +    "captureStream",
        +    "captureTab",
        +    "captureVisibleTab",
        +    "caret-color",
        +    "caretBidiLevel",
        +    "caretColor",
        +    "caretPositionFromPoint",
        +    "caretRangeFromPoint",
        +    "cast",
        +    "catch",
        +    "category",
        +    "cbrt",
        +    "cd",
        +    "ceil",
        +    "cellIndex",
        +    "cellPadding",
        +    "cellSpacing",
        +    "cells",
        +    "ch",
        +    "chOff",
        +    "chain",
        +    "challenge",
        +    "changeType",
        +    "changed",
        +    "changedTouches",
        +    "channel",
        +    "channelCount",
        +    "channelCountMode",
        +    "channelInterpretation",
        +    "chapterInfo",
        +    "char",
        +    "charAt",
        +    "charCode",
        +    "charCodeAt",
        +    "charIndex",
        +    "charLength",
        +    "characterBounds",
        +    "characterBoundsRangeStart",
        +    "characterData",
        +    "characterDataOldValue",
        +    "characterSet",
        +    "characterVariant",
        +    "characteristic",
        +    "charging",
        +    "chargingTime",
        +    "charset",
        +    "check",
        +    "checkDCE",
        +    "checkEnclosure",
        +    "checkFramebufferStatus",
        +    "checkIntersection",
        +    "checkValidity",
        +    "checkVisibility",
        +    "checked",
        +    "childElementCount",
        +    "childList",
        +    "childNodes",
        +    "children",
        +    "chrome",
        +    "ciphertext",
        +    "cite",
        +    "city",
        +    "claimInterface",
        +    "claimed",
        +    "classList",
        +    "className",
        +    "classid",
        +    "clear",
        +    "clearAppBadge",
        +    "clearAttributes",
        +    "clearBuffer",
        +    "clearBufferfi",
        +    "clearBufferfv",
        +    "clearBufferiv",
        +    "clearBufferuiv",
        +    "clearColor",
        +    "clearData",
        +    "clearDepth",
        +    "clearHalt",
        +    "clearImmediate",
        +    "clearInterval",
        +    "clearLiveSeekableRange",
        +    "clearMarks",
        +    "clearMaxGCPauseAccumulator",
        +    "clearMeasures",
        +    "clearOriginJoinedAdInterestGroups",
        +    "clearParameters",
        +    "clearRect",
        +    "clearResourceTimings",
        +    "clearShadow",
        +    "clearStencil",
        +    "clearTimeout",
        +    "clearValue",
        +    "clearWatch",
        +    "click",
        +    "clickCount",
        +    "clientDataJSON",
        +    "clientHeight",
        +    "clientInformation",
        +    "clientLeft",
        +    "clientRect",
        +    "clientRects",
        +    "clientTop",
        +    "clientWaitSync",
        +    "clientWidth",
        +    "clientX",
        +    "clientY",
        +    "clip",
        +    "clip-path",
        +    "clip-rule",
        +    "clipBottom",
        +    "clipLeft",
        +    "clipPath",
        +    "clipPathUnits",
        +    "clipRight",
        +    "clipRule",
        +    "clipTop",
        +    "clipboard",
        +    "clipboardData",
        +    "clonable",
        +    "clone",
        +    "cloneContents",
        +    "cloneNode",
        +    "cloneRange",
        +    "close",
        +    "closeCode",
        +    "closePath",
        +    "closed",
        +    "closedBy",
        +    "closest",
        +    "clz",
        +    "clz32",
        +    "cm",
        +    "cmp",
        +    "code",
        +    "codeBase",
        +    "codePointAt",
        +    "codeType",
        +    "codedHeight",
        +    "codedRect",
        +    "codedWidth",
        +    "colSpan",
        +    "collapse",
        +    "collapseToEnd",
        +    "collapseToStart",
        +    "collapsed",
        +    "collect",
        +    "collections",
        +    "colno",
        +    "color",
        +    "color-adjust",
        +    "color-interpolation",
        +    "color-interpolation-filters",
        +    "color-scheme",
        +    "colorAdjust",
        +    "colorAttachments",
        +    "colorDepth",
        +    "colorFormats",
        +    "colorInterpolation",
        +    "colorInterpolationFilters",
        +    "colorMask",
        +    "colorScheme",
        +    "colorSpace",
        +    "colorType",
        +    "cols",
        +    "column-count",
        +    "column-fill",
        +    "column-gap",
        +    "column-rule",
        +    "column-rule-color",
        +    "column-rule-style",
        +    "column-rule-width",
        +    "column-span",
        +    "column-width",
        +    "columnCount",
        +    "columnFill",
        +    "columnGap",
        +    "columnNumber",
        +    "columnRule",
        +    "columnRuleColor",
        +    "columnRuleStyle",
        +    "columnRuleWidth",
        +    "columnSpan",
        +    "columnWidth",
        +    "columns",
        +    "command",
        +    "commandForElement",
        +    "commands",
        +    "commit",
        +    "commitLoadTime",
        +    "commitPreferences",
        +    "commitStyles",
        +    "committed",
        +    "commonAncestorContainer",
        +    "compact",
        +    "compare",
        +    "compareBoundaryPoints",
        +    "compareDocumentPosition",
        +    "compareEndPoints",
        +    "compareExchange",
        +    "compareNode",
        +    "comparePoint",
        +    "compatMode",
        +    "compatible",
        +    "compile",
        +    "compileShader",
        +    "compileStreaming",
        +    "complete",
        +    "completed",
        +    "component",
        +    "componentFromPoint",
        +    "composed",
        +    "composedPath",
        +    "composite",
        +    "compositionEndOffset",
        +    "compositionStartOffset",
        +    "compressedTexImage2D",
        +    "compressedTexImage3D",
        +    "compressedTexSubImage2D",
        +    "compressedTexSubImage3D",
        +    "compute",
        +    "computedStyleMap",
        +    "concat",
        +    "conditionText",
        +    "coneInnerAngle",
        +    "coneOuterAngle",
        +    "coneOuterGain",
        +    "config",
        +    "configURL",
        +    "configurable",
        +    "configuration",
        +    "configurationName",
        +    "configurationValue",
        +    "configurations",
        +    "configure",
        +    "confirm",
        +    "confirmComposition",
        +    "confirmSiteSpecificTrackingException",
        +    "confirmWebWideTrackingException",
        +    "congestionControl",
        +    "connect",
        +    "connectEnd",
        +    "connectNative",
        +    "connectShark",
        +    "connectStart",
        +    "connected",
        +    "connectedCallback",
        +    "connectedMoveCallback",
        +    "connection",
        +    "connectionInfo",
        +    "connectionList",
        +    "connectionSpeed",
        +    "connectionState",
        +    "connections",
        +    "console",
        +    "consolidate",
        +    "constants",
        +    "constraint",
        +    "constrictionActive",
        +    "construct",
        +    "constructor",
        +    "contactID",
        +    "contain",
        +    "contain-intrinsic-block-size",
        +    "contain-intrinsic-height",
        +    "contain-intrinsic-inline-size",
        +    "contain-intrinsic-size",
        +    "contain-intrinsic-width",
        +    "containIntrinsicBlockSize",
        +    "containIntrinsicHeight",
        +    "containIntrinsicInlineSize",
        +    "containIntrinsicSize",
        +    "containIntrinsicWidth",
        +    "container",
        +    "container-name",
        +    "container-type",
        +    "containerId",
        +    "containerName",
        +    "containerQuery",
        +    "containerSrc",
        +    "containerType",
        +    "contains",
        +    "containsNode",
        +    "content",
        +    "content-visibility",
        +    "contentBoxSize",
        +    "contentDocument",
        +    "contentEditable",
        +    "contentEncoding",
        +    "contentHint",
        +    "contentOverflow",
        +    "contentRect",
        +    "contentScriptType",
        +    "contentStyleType",
        +    "contentType",
        +    "contentVisibility",
        +    "contentWindow",
        +    "context",
        +    "contextId",
        +    "contextIds",
        +    "contextMenu",
        +    "contextMenus",
        +    "contextType",
        +    "contextTypes",
        +    "contextmenu",
        +    "contextualIdentities",
        +    "continue",
        +    "continuePrimaryKey",
        +    "continuous",
        +    "control",
        +    "controlTransferIn",
        +    "controlTransferOut",
        +    "controller",
        +    "controls",
        +    "controlsList",
        +    "convertPointFromNode",
        +    "convertQuadFromNode",
        +    "convertRectFromNode",
        +    "convertToBlob",
        +    "convertToSpecifiedUnits",
        +    "cookie",
        +    "cookieEnabled",
        +    "cookieStore",
        +    "cookies",
        +    "coords",
        +    "copyBufferSubData",
        +    "copyBufferToBuffer",
        +    "copyBufferToTexture",
        +    "copyExternalImageToTexture",
        +    "copyFromChannel",
        +    "copyTexImage2D",
        +    "copyTexSubImage2D",
        +    "copyTexSubImage3D",
        +    "copyTextureToBuffer",
        +    "copyTextureToTexture",
        +    "copyTo",
        +    "copyToChannel",
        +    "copyWithin",
        +    "correspondingElement",
        +    "correspondingUseElement",
        +    "corruptedVideoFrames",
        +    "cos",
        +    "cosh",
        +    "count",
        +    "countReset",
        +    "counter-increment",
        +    "counter-reset",
        +    "counter-set",
        +    "counterIncrement",
        +    "counterReset",
        +    "counterSet",
        +    "country",
        +    "cpuClass",
        +    "cpuSleepAllowed",
        +    "cqb",
        +    "cqh",
        +    "cqi",
        +    "cqmax",
        +    "cqmin",
        +    "cqw",
        +    "create",
        +    "createAnalyser",
        +    "createAnchor",
        +    "createAnswer",
        +    "createAttribute",
        +    "createAttributeNS",
        +    "createAuctionNonce",
        +    "createBidirectionalStream",
        +    "createBindGroup",
        +    "createBindGroupLayout",
        +    "createBiquadFilter",
        +    "createBuffer",
        +    "createBufferSource",
        +    "createCDATASection",
        +    "createCSSStyleSheet",
        +    "createCaption",
        +    "createChannelMerger",
        +    "createChannelSplitter",
        +    "createCommandEncoder",
        +    "createComment",
        +    "createComputePipeline",
        +    "createComputePipelineAsync",
        +    "createConicGradient",
        +    "createConstantSource",
        +    "createContextualFragment",
        +    "createControlRange",
        +    "createConvolver",
        +    "createDTMFSender",
        +    "createDataChannel",
        +    "createDelay",
        +    "createDelayNode",
        +    "createDocument",
        +    "createDocumentFragment",
        +    "createDocumentType",
        +    "createDynamicsCompressor",
        +    "createElement",
        +    "createElementNS",
        +    "createEncodedStreams",
        +    "createEntityReference",
        +    "createEvent",
        +    "createEventObject",
        +    "createExpression",
        +    "createFramebuffer",
        +    "createFunction",
        +    "createGain",
        +    "createGainNode",
        +    "createHTML",
        +    "createHTMLDocument",
        +    "createIIRFilter",
        +    "createImageBitmap",
        +    "createImageData",
        +    "createIndex",
        +    "createJavaScriptNode",
        +    "createLinearGradient",
        +    "createMediaElementSource",
        +    "createMediaKeys",
        +    "createMediaStreamDestination",
        +    "createMediaStreamSource",
        +    "createMediaStreamTrackSource",
        +    "createMutableFile",
        +    "createNSResolver",
        +    "createNodeIterator",
        +    "createNotification",
        +    "createObjectStore",
        +    "createObjectURL",
        +    "createOffer",
        +    "createOscillator",
        +    "createPanner",
        +    "createPattern",
        +    "createPeriodicWave",
        +    "createPipelineLayout",
        +    "createPolicy",
        +    "createPopup",
        +    "createProcessingInstruction",
        +    "createProgram",
        +    "createQuery",
        +    "createQuerySet",
        +    "createRadialGradient",
        +    "createRange",
        +    "createRangeCollection",
        +    "createReader",
        +    "createRenderBundleEncoder",
        +    "createRenderPipeline",
        +    "createRenderPipelineAsync",
        +    "createRenderbuffer",
        +    "createSVGAngle",
        +    "createSVGLength",
        +    "createSVGMatrix",
        +    "createSVGNumber",
        +    "createSVGPathSegArcAbs",
        +    "createSVGPathSegArcRel",
        +    "createSVGPathSegClosePath",
        +    "createSVGPathSegCurvetoCubicAbs",
        +    "createSVGPathSegCurvetoCubicRel",
        +    "createSVGPathSegCurvetoCubicSmoothAbs",
        +    "createSVGPathSegCurvetoCubicSmoothRel",
        +    "createSVGPathSegCurvetoQuadraticAbs",
        +    "createSVGPathSegCurvetoQuadraticRel",
        +    "createSVGPathSegCurvetoQuadraticSmoothAbs",
        +    "createSVGPathSegCurvetoQuadraticSmoothRel",
        +    "createSVGPathSegLinetoAbs",
        +    "createSVGPathSegLinetoHorizontalAbs",
        +    "createSVGPathSegLinetoHorizontalRel",
        +    "createSVGPathSegLinetoRel",
        +    "createSVGPathSegLinetoVerticalAbs",
        +    "createSVGPathSegLinetoVerticalRel",
        +    "createSVGPathSegMovetoAbs",
        +    "createSVGPathSegMovetoRel",
        +    "createSVGPoint",
        +    "createSVGRect",
        +    "createSVGTransform",
        +    "createSVGTransformFromMatrix",
        +    "createSampler",
        +    "createScript",
        +    "createScriptProcessor",
        +    "createScriptURL",
        +    "createSession",
        +    "createShader",
        +    "createShaderModule",
        +    "createShadowRoot",
        +    "createStereoPanner",
        +    "createStyleSheet",
        +    "createTBody",
        +    "createTFoot",
        +    "createTHead",
        +    "createTask",
        +    "createTextNode",
        +    "createTextRange",
        +    "createTexture",
        +    "createTouch",
        +    "createTouchList",
        +    "createTransformFeedback",
        +    "createTreeWalker",
        +    "createUnidirectionalStream",
        +    "createVertexArray",
        +    "createView",
        +    "createWaveShaper",
        +    "createWorklet",
        +    "createWritable",
        +    "creationTime",
        +    "credentialless",
        +    "credentials",
        +    "criticalCHRestart",
        +    "cropTo",
        +    "crossOrigin",
        +    "crossOriginIsolated",
        +    "crypto",
        +    "csi",
        +    "csp",
        +    "cssFloat",
        +    "cssRules",
        +    "cssText",
        +    "cssValueType",
        +    "ctrlKey",
        +    "ctrlLeft",
        +    "cues",
        +    "cullFace",
        +    "cullMode",
        +    "currentCSSZoom",
        +    "currentDirection",
        +    "currentEntry",
        +    "currentLocalDescription",
        +    "currentNode",
        +    "currentPage",
        +    "currentRect",
        +    "currentRemoteDescription",
        +    "currentScale",
        +    "currentScreen",
        +    "currentScript",
        +    "currentSrc",
        +    "currentState",
        +    "currentStyle",
        +    "currentTarget",
        +    "currentTime",
        +    "currentTranslate",
        +    "currentView",
        +    "cursor",
        +    "curve",
        +    "customElements",
        +    "customError",
        +    "cx",
        +    "cy",
        +    "d",
        +    "data",
        +    "dataFld",
        +    "dataFormatAs",
        +    "dataLoss",
        +    "dataLossMessage",
        +    "dataPageSize",
        +    "dataSrc",
        +    "dataTransfer",
        +    "database",
        +    "databases",
        +    "datagrams",
        +    "dataset",
        +    "dateTime",
        +    "db",
        +    "debug",
        +    "debuggerEnabled",
        +    "declarativeNetRequest",
        +    "declare",
        +    "decode",
        +    "decodeAudioData",
        +    "decodeQueueSize",
        +    "decodeURI",
        +    "decodeURIComponent",
        +    "decodedBodySize",
        +    "decoding",
        +    "decodingInfo",
        +    "decreaseZoomLevel",
        +    "decrypt",
        +    "default",
        +    "defaultCharset",
        +    "defaultChecked",
        +    "defaultMuted",
        +    "defaultPlaybackRate",
        +    "defaultPolicy",
        +    "defaultPrevented",
        +    "defaultQueue",
        +    "defaultRequest",
        +    "defaultSelected",
        +    "defaultStatus",
        +    "defaultURL",
        +    "defaultValue",
        +    "defaultView",
        +    "defaultstatus",
        +    "defer",
        +    "define",
        +    "defineMagicFunction",
        +    "defineMagicVariable",
        +    "defineProperties",
        +    "defineProperty",
        +    "deg",
        +    "delay",
        +    "delayTime",
        +    "delegatesFocus",
        +    "delete",
        +    "deleteBuffer",
        +    "deleteCaption",
        +    "deleteCell",
        +    "deleteContents",
        +    "deleteData",
        +    "deleteDatabase",
        +    "deleteFramebuffer",
        +    "deleteFromDocument",
        +    "deleteIndex",
        +    "deleteMedium",
        +    "deleteObjectStore",
        +    "deleteProgram",
        +    "deleteProperty",
        +    "deleteQuery",
        +    "deleteRenderbuffer",
        +    "deleteRow",
        +    "deleteRule",
        +    "deleteSampler",
        +    "deleteShader",
        +    "deleteSync",
        +    "deleteTFoot",
        +    "deleteTHead",
        +    "deleteTexture",
        +    "deleteTransformFeedback",
        +    "deleteVertexArray",
        +    "deleted",
        +    "deliverChangeRecords",
        +    "deliveredFrames",
        +    "deliveredFramesDuration",
        +    "delivery",
        +    "deliveryInfo",
        +    "deliveryStatus",
        +    "deliveryTimestamp",
        +    "deliveryType",
        +    "delta",
        +    "deltaMode",
        +    "deltaX",
        +    "deltaY",
        +    "deltaZ",
        +    "dependentLocality",
        +    "deprecatedReplaceInURN",
        +    "deprecatedRunAdAuctionEnforcesKAnonymity",
        +    "deprecatedURNToURL",
        +    "depthActive",
        +    "depthBias",
        +    "depthBiasClamp",
        +    "depthBiasSlopeScale",
        +    "depthClearValue",
        +    "depthCompare",
        +    "depthDataFormat",
        +    "depthFailOp",
        +    "depthFar",
        +    "depthFunc",
        +    "depthLoadOp",
        +    "depthMask",
        +    "depthNear",
        +    "depthOrArrayLayers",
        +    "depthRange",
        +    "depthReadOnly",
        +    "depthStencil",
        +    "depthStencilAttachment",
        +    "depthStencilFormat",
        +    "depthStoreOp",
        +    "depthType",
        +    "depthUsage",
        +    "depthWriteEnabled",
        +    "deref",
        +    "deriveBits",
        +    "deriveKey",
        +    "descentOverride",
        +    "description",
        +    "deselectAll",
        +    "designMode",
        +    "desiredSize",
        +    "destination",
        +    "destinationURL",
        +    "destroy",
        +    "detach",
        +    "detachEvent",
        +    "detachShader",
        +    "detached",
        +    "detail",
        +    "details",
        +    "detect",
        +    "detectLanguage",
        +    "detune",
        +    "device",
        +    "deviceClass",
        +    "deviceId",
        +    "deviceMemory",
        +    "devicePixelContentBoxSize",
        +    "devicePixelRatio",
        +    "devicePosture",
        +    "deviceProtocol",
        +    "deviceSubclass",
        +    "deviceVersionMajor",
        +    "deviceVersionMinor",
        +    "deviceVersionSubminor",
        +    "deviceXDPI",
        +    "deviceYDPI",
        +    "devtools",
        +    "devtools_panels",
        +    "didTimeout",
        +    "difference",
        +    "diffuseConstant",
        +    "digest",
        +    "dimension",
        +    "dimensions",
        +    "dir",
        +    "dirName",
        +    "direction",
        +    "dirxml",
        +    "disable",
        +    "disablePictureInPicture",
        +    "disableRemotePlayback",
        +    "disableVertexAttribArray",
        +    "disabled",
        +    "discard",
        +    "discardedFrames",
        +    "dischargingTime",
        +    "disconnect",
        +    "disconnectShark",
        +    "disconnectedCallback",
        +    "dispatchEvent",
        +    "dispatchWorkgroups",
        +    "dispatchWorkgroupsIndirect",
        +    "display",
        +    "displayHeight",
        +    "displayId",
        +    "displayName",
        +    "displayWidth",
        +    "dispose",
        +    "disposeAsync",
        +    "disposed",
        +    "disposition",
        +    "distanceModel",
        +    "div",
        +    "divisor",
        +    "djsapi",
        +    "djsproxy",
        +    "dns",
        +    "doImport",
        +    "doNotTrack",
        +    "doScroll",
        +    "doctype",
        +    "document",
        +    "documentElement",
        +    "documentId",
        +    "documentIds",
        +    "documentLifecycle",
        +    "documentMode",
        +    "documentOrigin",
        +    "documentOrigins",
        +    "documentPictureInPicture",
        +    "documentURI",
        +    "documentURL",
        +    "documentUrl",
        +    "documentUrls",
        +    "dolphin",
        +    "dolphinGameCenter",
        +    "dolphininfo",
        +    "dolphinmeta",
        +    "dom",
        +    "domComplete",
        +    "domContentLoadedEventEnd",
        +    "domContentLoadedEventStart",
        +    "domInteractive",
        +    "domLoading",
        +    "domOverlayState",
        +    "domain",
        +    "domainLookupEnd",
        +    "domainLookupStart",
        +    "dominant-baseline",
        +    "dominantBaseline",
        +    "done",
        +    "dopplerFactor",
        +    "dotAll",
        +    "downDegrees",
        +    "downlink",
        +    "download",
        +    "downloadRequest",
        +    "downloadTotal",
        +    "downloaded",
        +    "downloads",
        +    "dpcm",
        +    "dpi",
        +    "dppx",
        +    "dragDrop",
        +    "draggable",
        +    "draw",
        +    "drawArrays",
        +    "drawArraysInstanced",
        +    "drawArraysInstancedANGLE",
        +    "drawBuffers",
        +    "drawCustomFocusRing",
        +    "drawElements",
        +    "drawElementsInstanced",
        +    "drawElementsInstancedANGLE",
        +    "drawFocusIfNeeded",
        +    "drawImage",
        +    "drawImageFromRect",
        +    "drawIndexed",
        +    "drawIndexedIndirect",
        +    "drawIndirect",
        +    "drawRangeElements",
        +    "drawSystemFocusRing",
        +    "drawingBufferColorSpace",
        +    "drawingBufferFormat",
        +    "drawingBufferHeight",
        +    "drawingBufferStorage",
        +    "drawingBufferWidth",
        +    "drop",
        +    "dropEffect",
        +    "droppedVideoFrames",
        +    "dropzone",
        +    "dstFactor",
        +    "dtmf",
        +    "dump",
        +    "dumpProfile",
        +    "duplex",
        +    "duplicate",
        +    "durability",
        +    "duration",
        +    "dvb",
        +    "dvh",
        +    "dvi",
        +    "dvmax",
        +    "dvmin",
        +    "dvname",
        +    "dvnum",
        +    "dvw",
        +    "dx",
        +    "dy",
        +    "dynamicId",
        +    "dynsrc",
        +    "e",
        +    "edgeMode",
        +    "editContext",
        +    "effect",
        +    "effectAllowed",
        +    "effectiveDirective",
        +    "effectiveType",
        +    "effects",
        +    "elapsedTime",
        +    "element",
        +    "elementFromPoint",
        +    "elementTiming",
        +    "elements",
        +    "elementsFromPoint",
        +    "elevation",
        +    "ellipse",
        +    "em",
        +    "emHeightAscent",
        +    "emHeightDescent",
        +    "email",
        +    "embeds",
        +    "emit",
        +    "emma",
        +    "empty",
        +    "empty-cells",
        +    "emptyCells",
        +    "emptyHTML",
        +    "emptyScript",
        +    "emulatedPosition",
        +    "enable",
        +    "enableBackground",
        +    "enableDelegations",
        +    "enableStyleSheetsForSet",
        +    "enableVertexAttribArray",
        +    "enabled",
        +    "enabledFeatures",
        +    "enabledPlugin",
        +    "encode",
        +    "encodeInto",
        +    "encodeQueueSize",
        +    "encodeURI",
        +    "encodeURIComponent",
        +    "encodedBodySize",
        +    "encoding",
        +    "encodingInfo",
        +    "encrypt",
        +    "enctype",
        +    "end",
        +    "endContainer",
        +    "endElement",
        +    "endElementAt",
        +    "endOcclusionQuery",
        +    "endOfPassWriteIndex",
        +    "endOfStream",
        +    "endOffset",
        +    "endQuery",
        +    "endTime",
        +    "endTransformFeedback",
        +    "ended",
        +    "endpoint",
        +    "endpointNumber",
        +    "endpoints",
        +    "endsWith",
        +    "enqueue",
        +    "enterKeyHint",
        +    "entities",
        +    "entries",
        +    "entry",
        +    "entryPoint",
        +    "entryType",
        +    "enumerable",
        +    "enumerate",
        +    "enumerateDevices",
        +    "enumerateEditable",
        +    "environmentBlendMode",
        +    "equals",
        +    "error",
        +    "errorCode",
        +    "errorDetail",
        +    "errorText",
        +    "escape",
        +    "estimate",
        +    "eval",
        +    "evaluate",
        +    "event",
        +    "eventCounts",
        +    "eventPhase",
        +    "events",
        +    "every",
        +    "ex",
        +    "exception",
        +    "exchange",
        +    "exec",
        +    "execCommand",
        +    "execCommandShowHelp",
        +    "execScript",
        +    "executeBundles",
        +    "executionStart",
        +    "exitFullscreen",
        +    "exitPictureInPicture",
        +    "exitPointerLock",
        +    "exitPresent",
        +    "exp",
        +    "expand",
        +    "expandEntityReferences",
        +    "expando",
        +    "expansion",
        +    "expectedContextLanguages",
        +    "expectedImprovement",
        +    "expectedInputLanguages",
        +    "experiments",
        +    "expiration",
        +    "expirationTime",
        +    "expires",
        +    "expiryDate",
        +    "explicitOriginalTarget",
        +    "expm1",
        +    "exponent",
        +    "exponentialRampToValueAtTime",
        +    "exportKey",
        +    "exports",
        +    "extend",
        +    "extension",
        +    "extensionTypes",
        +    "extensions",
        +    "extentNode",
        +    "extentOffset",
        +    "external",
        +    "externalResourcesRequired",
        +    "externalTexture",
        +    "extractContents",
        +    "extractable",
        +    "eye",
        +    "f",
        +    "f16round",
        +    "face",
        +    "factoryReset",
        +    "failOp",
        +    "failureReason",
        +    "fallback",
        +    "family",
        +    "familyName",
        +    "farthestViewportElement",
        +    "fastSeek",
        +    "fatal",
        +    "featureId",
        +    "featurePolicy",
        +    "featureSettings",
        +    "features",
        +    "fence",
        +    "fenceSync",
        +    "fetch",
        +    "fetchLater",
        +    "fetchPriority",
        +    "fetchStart",
        +    "fftSize",
        +    "fgColor",
        +    "fieldOfView",
        +    "file",
        +    "fileCreatedDate",
        +    "fileHandle",
        +    "fileModifiedDate",
        +    "fileName",
        +    "fileSize",
        +    "fileUpdatedDate",
        +    "filename",
        +    "files",
        +    "filesystem",
        +    "fill",
        +    "fill-opacity",
        +    "fill-rule",
        +    "fillJointRadii",
        +    "fillLightMode",
        +    "fillOpacity",
        +    "fillPoses",
        +    "fillRect",
        +    "fillRule",
        +    "fillStyle",
        +    "fillText",
        +    "filter",
        +    "filterResX",
        +    "filterResY",
        +    "filterUnits",
        +    "filters",
        +    "finalResponseHeadersStart",
        +    "finally",
        +    "find",
        +    "findIndex",
        +    "findLast",
        +    "findLastIndex",
        +    "findRule",
        +    "findText",
        +    "finish",
        +    "finishDocumentLoadTime",
        +    "finishLoadTime",
        +    "finished",
        +    "fireEvent",
        +    "firesTouchEvents",
        +    "first",
        +    "firstChild",
        +    "firstElementChild",
        +    "firstInterimResponseStart",
        +    "firstPage",
        +    "firstPaintAfterLoadTime",
        +    "firstPaintTime",
        +    "firstUIEventTimestamp",
        +    "fixed",
        +    "flags",
        +    "flat",
        +    "flatMap",
        +    "flex",
        +    "flex-basis",
        +    "flex-direction",
        +    "flex-flow",
        +    "flex-grow",
        +    "flex-shrink",
        +    "flex-wrap",
        +    "flexBasis",
        +    "flexDirection",
        +    "flexFlow",
        +    "flexGrow",
        +    "flexShrink",
        +    "flexWrap",
        +    "flip",
        +    "flipX",
        +    "flipY",
        +    "float",
        +    "float32",
        +    "float64",
        +    "flood-color",
        +    "flood-opacity",
        +    "floodColor",
        +    "floodOpacity",
        +    "floor",
        +    "flush",
        +    "focus",
        +    "focusNode",
        +    "focusOffset",
        +    "font",
        +    "font-family",
        +    "font-feature-settings",
        +    "font-kerning",
        +    "font-language-override",
        +    "font-optical-sizing",
        +    "font-palette",
        +    "font-size",
        +    "font-size-adjust",
        +    "font-stretch",
        +    "font-style",
        +    "font-synthesis",
        +    "font-synthesis-position",
        +    "font-synthesis-small-caps",
        +    "font-synthesis-style",
        +    "font-synthesis-weight",
        +    "font-variant",
        +    "font-variant-alternates",
        +    "font-variant-caps",
        +    "font-variant-east-asian",
        +    "font-variant-ligatures",
        +    "font-variant-numeric",
        +    "font-variant-position",
        +    "font-variation-settings",
        +    "font-weight",
        +    "fontBoundingBoxAscent",
        +    "fontBoundingBoxDescent",
        +    "fontFamily",
        +    "fontFeatureSettings",
        +    "fontKerning",
        +    "fontLanguageOverride",
        +    "fontOpticalSizing",
        +    "fontPalette",
        +    "fontSize",
        +    "fontSizeAdjust",
        +    "fontSmoothingEnabled",
        +    "fontStretch",
        +    "fontStyle",
        +    "fontSynthesis",
        +    "fontSynthesisPosition",
        +    "fontSynthesisSmallCaps",
        +    "fontSynthesisStyle",
        +    "fontSynthesisWeight",
        +    "fontVariant",
        +    "fontVariantAlternates",
        +    "fontVariantCaps",
        +    "fontVariantEastAsian",
        +    "fontVariantEmoji",
        +    "fontVariantLigatures",
        +    "fontVariantNumeric",
        +    "fontVariantPosition",
        +    "fontVariationSettings",
        +    "fontWeight",
        +    "fontcolor",
        +    "fontfaces",
        +    "fonts",
        +    "fontsize",
        +    "for",
        +    "forEach",
        +    "force",
        +    "forceFallbackAdapter",
        +    "forceRedraw",
        +    "forced-color-adjust",
        +    "forcedColorAdjust",
        +    "forcedStyleAndLayoutDuration",
        +    "forget",
        +    "form",
        +    "formAction",
        +    "formData",
        +    "formEnctype",
        +    "formMethod",
        +    "formNoValidate",
        +    "formTarget",
        +    "format",
        +    "formatToParts",
        +    "forms",
        +    "forward",
        +    "forwardWheel",
        +    "forwardX",
        +    "forwardY",
        +    "forwardZ",
        +    "foundation",
        +    "fr",
        +    "fragment",
        +    "fragmentDirective",
        +    "frame",
        +    "frameBorder",
        +    "frameCount",
        +    "frameElement",
        +    "frameId",
        +    "frameIds",
        +    "frameSpacing",
        +    "framebuffer",
        +    "framebufferHeight",
        +    "framebufferRenderbuffer",
        +    "framebufferTexture2D",
        +    "framebufferTextureLayer",
        +    "framebufferWidth",
        +    "frames",
        +    "freeSpace",
        +    "freeze",
        +    "frequency",
        +    "frequencyBinCount",
        +    "from",
        +    "fromAsync",
        +    "fromBase64",
        +    "fromCharCode",
        +    "fromCodePoint",
        +    "fromElement",
        +    "fromEntries",
        +    "fromFloat32Array",
        +    "fromFloat64Array",
        +    "fromHex",
        +    "fromMatrix",
        +    "fromPoint",
        +    "fromQuad",
        +    "fromRect",
        +    "frontFace",
        +    "fround",
        +    "fullName",
        +    "fullPath",
        +    "fullRange",
        +    "fullScreen",
        +    "fullVersionList",
        +    "fullscreen",
        +    "fullscreenElement",
        +    "fullscreenEnabled",
        +    "fx",
        +    "fy",
        +    "g",
        +    "gain",
        +    "gamepad",
        +    "gamma",
        +    "gap",
        +    "gatheringState",
        +    "gatt",
        +    "geckoProfiler",
        +    "genderIdentity",
        +    "generateCertificate",
        +    "generateKey",
        +    "generateMipmap",
        +    "generateRequest",
        +    "geolocation",
        +    "gestureObject",
        +    "get",
        +    "getAcceptLanguages",
        +    "getActiveAttrib",
        +    "getActiveUniform",
        +    "getActiveUniformBlockName",
        +    "getActiveUniformBlockParameter",
        +    "getActiveUniforms",
        +    "getAdjacentText",
        +    "getAll",
        +    "getAllKeys",
        +    "getAllRecords",
        +    "getAllResponseHeaders",
        +    "getAllowlistForFeature",
        +    "getAnimations",
        +    "getAsFile",
        +    "getAsFileSystemHandle",
        +    "getAsString",
        +    "getAttachedShaders",
        +    "getAttribLocation",
        +    "getAttribute",
        +    "getAttributeNS",
        +    "getAttributeNames",
        +    "getAttributeNode",
        +    "getAttributeNodeNS",
        +    "getAttributeType",
        +    "getAudioTracks",
        +    "getAuthenticatorData",
        +    "getAutoplayPolicy",
        +    "getAvailability",
        +    "getBBox",
        +    "getBackgroundPage",
        +    "getBadgeBackgroundColor",
        +    "getBadgeText",
        +    "getBadgeTextColor",
        +    "getBattery",
        +    "getBigInt64",
        +    "getBigUint64",
        +    "getBindGroupLayout",
        +    "getBlob",
        +    "getBookmark",
        +    "getBoundingClientRect",
        +    "getBounds",
        +    "getBoxQuads",
        +    "getBrowserInfo",
        +    "getBufferParameter",
        +    "getBufferSubData",
        +    "getByteFrequencyData",
        +    "getByteTimeDomainData",
        +    "getCSSCanvasContext",
        +    "getCTM",
        +    "getCameraImage",
        +    "getCandidateWindowClientRect",
        +    "getCanonicalLocales",
        +    "getCapabilities",
        +    "getCaptureHandle",
        +    "getChannelData",
        +    "getCharNumAtPosition",
        +    "getCharacteristic",
        +    "getCharacteristics",
        +    "getClientCapabilities",
        +    "getClientExtensionResults",
        +    "getClientRect",
        +    "getClientRects",
        +    "getCoalescedEvents",
        +    "getCompilationInfo",
        +    "getComposedRanges",
        +    "getCompositionAlternatives",
        +    "getComputedStyle",
        +    "getComputedTextLength",
        +    "getComputedTiming",
        +    "getConfiguration",
        +    "getConstraints",
        +    "getContext",
        +    "getContextAttributes",
        +    "getContexts",
        +    "getContributingSources",
        +    "getCounterValue",
        +    "getCueAsHTML",
        +    "getCueById",
        +    "getCurrent",
        +    "getCurrentPosition",
        +    "getCurrentTexture",
        +    "getCurrentTime",
        +    "getData",
        +    "getDatabaseNames",
        +    "getDate",
        +    "getDay",
        +    "getDefaultComputedStyle",
        +    "getDepthInMeters",
        +    "getDepthInformation",
        +    "getDescriptor",
        +    "getDescriptors",
        +    "getDestinationInsertionPoints",
        +    "getDevices",
        +    "getDirectory",
        +    "getDirectoryHandle",
        +    "getDisplayMedia",
        +    "getDistributedNodes",
        +    "getEditable",
        +    "getElementById",
        +    "getElementsByClassName",
        +    "getElementsByName",
        +    "getElementsByTagName",
        +    "getElementsByTagNameNS",
        +    "getEnclosureList",
        +    "getEndPositionOfChar",
        +    "getEntries",
        +    "getEntriesByName",
        +    "getEntriesByType",
        +    "getError",
        +    "getExtension",
        +    "getExtentOfChar",
        +    "getEyeParameters",
        +    "getFeature",
        +    "getFiberRoots",
        +    "getFile",
        +    "getFileHandle",
        +    "getFiles",
        +    "getFilesAndDirectories",
        +    "getFingerprints",
        +    "getFloat16",
        +    "getFloat32",
        +    "getFloat64",
        +    "getFloatFrequencyData",
        +    "getFloatTimeDomainData",
        +    "getFloatValue",
        +    "getFragDataLocation",
        +    "getFrameData",
        +    "getFrameId",
        +    "getFramebufferAttachmentParameter",
        +    "getFrequencyResponse",
        +    "getFullYear",
        +    "getGamepads",
        +    "getHTML",
        +    "getHeaderExtensionsToNegotiate",
        +    "getHighEntropyValues",
        +    "getHitTestResults",
        +    "getHitTestResultsForTransientInput",
        +    "getHours",
        +    "getIdentityAssertion",
        +    "getIds",
        +    "getImageData",
        +    "getIndexedParameter",
        +    "getInfo",
        +    "getInnerHTML",
        +    "getInstalledRelatedApps",
        +    "getInt16",
        +    "getInt32",
        +    "getInt8",
        +    "getInterestGroupAdAuctionData",
        +    "getInternalModuleRanges",
        +    "getInternalformatParameter",
        +    "getIntersectionList",
        +    "getItem",
        +    "getItems",
        +    "getJointPose",
        +    "getKey",
        +    "getKeyframes",
        +    "getLastFocused",
        +    "getLayers",
        +    "getLayoutMap",
        +    "getLightEstimate",
        +    "getLineDash",
        +    "getLocalCandidates",
        +    "getLocalParameters",
        +    "getLocalStreams",
        +    "getManagedConfiguration",
        +    "getManifest",
        +    "getMappedRange",
        +    "getMarks",
        +    "getMatchedCSSRules",
        +    "getMaxGCPauseSinceClear",
        +    "getMeasures",
        +    "getMessage",
        +    "getMetadata",
        +    "getMilliseconds",
        +    "getMinutes",
        +    "getModifierState",
        +    "getMonth",
        +    "getName",
        +    "getNamedItem",
        +    "getNamedItemNS",
        +    "getNativeFramebufferScaleFactor",
        +    "getNegotiatedHeaderExtensions",
        +    "getNestedConfigs",
        +    "getNotifications",
        +    "getNotifier",
        +    "getNumberOfChars",
        +    "getOffsetReferenceSpace",
        +    "getOrInsert",
        +    "getOrInsertComputed",
        +    "getOutputTimestamp",
        +    "getOverrideHistoryNavigationMode",
        +    "getOverrideStyle",
        +    "getOwnPropertyDescriptor",
        +    "getOwnPropertyDescriptors",
        +    "getOwnPropertyNames",
        +    "getOwnPropertySymbols",
        +    "getPackageDirectoryEntry",
        +    "getParameter",
        +    "getParameters",
        +    "getParent",
        +    "getPathData",
        +    "getPathSegAtLength",
        +    "getPathSegmentAtLength",
        +    "getPermissionWarningsByManifest",
        +    "getPhotoCapabilities",
        +    "getPhotoSettings",
        +    "getPlatformInfo",
        +    "getPointAtLength",
        +    "getPopup",
        +    "getPorts",
        +    "getPose",
        +    "getPredictedEvents",
        +    "getPreference",
        +    "getPreferenceDefault",
        +    "getPreferredCanvasFormat",
        +    "getPresentationAttribute",
        +    "getPreventDefault",
        +    "getPrimaryService",
        +    "getPrimaryServices",
        +    "getProgramInfoLog",
        +    "getProgramParameter",
        +    "getPropertyCSSValue",
        +    "getPropertyPriority",
        +    "getPropertyShorthand",
        +    "getPropertyType",
        +    "getPropertyValue",
        +    "getPrototypeOf",
        +    "getPublicKey",
        +    "getPublicKeyAlgorithm",
        +    "getQuery",
        +    "getQueryParameter",
        +    "getRGBColorValue",
        +    "getRandomValues",
        +    "getRangeAt",
        +    "getReader",
        +    "getReceivers",
        +    "getRectValue",
        +    "getReflectionCubeMap",
        +    "getRegistration",
        +    "getRegistrations",
        +    "getRemoteCandidates",
        +    "getRemoteCertificates",
        +    "getRemoteParameters",
        +    "getRemoteStreams",
        +    "getRenderbufferParameter",
        +    "getResponseHeader",
        +    "getRoot",
        +    "getRootNode",
        +    "getRotationOfChar",
        +    "getSVGDocument",
        +    "getSamplerParameter",
        +    "getScreenCTM",
        +    "getScreenDetails",
        +    "getSeconds",
        +    "getSelectedCandidatePair",
        +    "getSelection",
        +    "getSelf",
        +    "getSenders",
        +    "getService",
        +    "getSetCookie",
        +    "getSettings",
        +    "getShaderInfoLog",
        +    "getShaderParameter",
        +    "getShaderPrecisionFormat",
        +    "getShaderSource",
        +    "getSignals",
        +    "getSimpleDuration",
        +    "getSiteIcons",
        +    "getSources",
        +    "getSpeculativeParserUrls",
        +    "getStartPositionOfChar",
        +    "getStartTime",
        +    "getState",
        +    "getStats",
        +    "getStatusForPolicy",
        +    "getStorageUpdates",
        +    "getStreamById",
        +    "getStringValue",
        +    "getSubStringLength",
        +    "getSubscription",
        +    "getSubscriptions",
        +    "getSupportedConstraints",
        +    "getSupportedExtensions",
        +    "getSupportedFormats",
        +    "getSupportedZoomLevels",
        +    "getSyncParameter",
        +    "getSynchronizationSources",
        +    "getTags",
        +    "getTargetRanges",
        +    "getTexParameter",
        +    "getTextFormats",
        +    "getTime",
        +    "getTimezoneOffset",
        +    "getTiming",
        +    "getTitle",
        +    "getTitlebarAreaRect",
        +    "getTotalLength",
        +    "getTrackById",
        +    "getTracks",
        +    "getTransceivers",
        +    "getTransform",
        +    "getTransformFeedbackVarying",
        +    "getTransformToElement",
        +    "getTransports",
        +    "getType",
        +    "getTypeMapping",
        +    "getUILanguage",
        +    "getURL",
        +    "getUTCDate",
        +    "getUTCDay",
        +    "getUTCFullYear",
        +    "getUTCHours",
        +    "getUTCMilliseconds",
        +    "getUTCMinutes",
        +    "getUTCMonth",
        +    "getUTCSeconds",
        +    "getUint16",
        +    "getUint32",
        +    "getUint8",
        +    "getUniform",
        +    "getUniformBlockIndex",
        +    "getUniformIndices",
        +    "getUniformLocation",
        +    "getUserInfo",
        +    "getUserMedia",
        +    "getUserSettings",
        +    "getVRDisplays",
        +    "getValues",
        +    "getVarDate",
        +    "getVariableValue",
        +    "getVertexAttrib",
        +    "getVertexAttribOffset",
        +    "getVideoPlaybackQuality",
        +    "getVideoTracks",
        +    "getViewerPose",
        +    "getViewport",
        +    "getViews",
        +    "getVoices",
        +    "getWakeLockState",
        +    "getWriter",
        +    "getYear",
        +    "getZoom",
        +    "getZoomSettings",
        +    "givenName",
        +    "global",
        +    "globalAlpha",
        +    "globalCompositeOperation",
        +    "globalPrivacyControl",
        +    "globalThis",
        +    "glyphOrientationHorizontal",
        +    "glyphOrientationVertical",
        +    "glyphRef",
        +    "go",
        +    "goBack",
        +    "goForward",
        +    "gpu",
        +    "grabFrame",
        +    "grad",
        +    "gradientTransform",
        +    "gradientUnits",
        +    "grammars",
        +    "green",
        +    "grid",
        +    "grid-area",
        +    "grid-auto-columns",
        +    "grid-auto-flow",
        +    "grid-auto-rows",
        +    "grid-column",
        +    "grid-column-end",
        +    "grid-column-gap",
        +    "grid-column-start",
        +    "grid-gap",
        +    "grid-row",
        +    "grid-row-end",
        +    "grid-row-gap",
        +    "grid-row-start",
        +    "grid-template",
        +    "grid-template-areas",
        +    "grid-template-columns",
        +    "grid-template-rows",
        +    "gridArea",
        +    "gridAutoColumns",
        +    "gridAutoFlow",
        +    "gridAutoRows",
        +    "gridColumn",
        +    "gridColumnEnd",
        +    "gridColumnGap",
        +    "gridColumnStart",
        +    "gridGap",
        +    "gridRow",
        +    "gridRowEnd",
        +    "gridRowGap",
        +    "gridRowStart",
        +    "gridTemplate",
        +    "gridTemplateAreas",
        +    "gridTemplateColumns",
        +    "gridTemplateRows",
        +    "gripSpace",
        +    "group",
        +    "groupBy",
        +    "groupCollapsed",
        +    "groupEnd",
        +    "groupId",
        +    "groups",
        +    "grow",
        +    "growable",
        +    "guestProcessId",
        +    "guestRenderFrameRoutingId",
        +    "hadRecentInput",
        +    "hand",
        +    "handedness",
        +    "hangingBaseline",
        +    "hapticActuators",
        +    "hardwareConcurrency",
        +    "has",
        +    "hasAttribute",
        +    "hasAttributeNS",
        +    "hasAttributes",
        +    "hasBeenActive",
        +    "hasChildNodes",
        +    "hasComposition",
        +    "hasDynamicOffset",
        +    "hasEnrolledInstrument",
        +    "hasExtension",
        +    "hasExternalDisplay",
        +    "hasFeature",
        +    "hasFocus",
        +    "hasIndices",
        +    "hasInstance",
        +    "hasLayout",
        +    "hasOrientation",
        +    "hasOwn",
        +    "hasOwnProperty",
        +    "hasPointerCapture",
        +    "hasPosition",
        +    "hasPrivateToken",
        +    "hasReading",
        +    "hasRedemptionRecord",
        +    "hasRegExpGroups",
        +    "hasStorageAccess",
        +    "hasUAVisualTransition",
        +    "hasUnpartitionedCookieAccess",
        +    "hash",
        +    "hashChange",
        +    "head",
        +    "headers",
        +    "heading",
        +    "height",
        +    "hid",
        +    "hidden",
        +    "hide",
        +    "hideFocus",
        +    "hidePopover",
        +    "high",
        +    "highWaterMark",
        +    "highlight",
        +    "highlights",
        +    "highlightsFromPoint",
        +    "hint",
        +    "hints",
        +    "history",
        +    "honorificPrefix",
        +    "honorificSuffix",
        +    "horizontalOverflow",
        +    "host",
        +    "hostCandidate",
        +    "hostname",
        +    "href",
        +    "hrefTranslate",
        +    "hreflang",
        +    "hspace",
        +    "html5TagCheckInerface",
        +    "htmlFor",
        +    "htmlText",
        +    "httpEquiv",
        +    "httpRequestStatusCode",
        +    "hwTimestamp",
        +    "hyphenate-character",
        +    "hyphenateCharacter",
        +    "hyphenateLimitChars",
        +    "hyphens",
        +    "hypot",
        +    "i18n",
        +    "ic",
        +    "iccId",
        +    "iceConnectionState",
        +    "iceGatheringState",
        +    "iceTransport",
        +    "icon",
        +    "iconURL",
        +    "id",
        +    "identifier",
        +    "identity",
        +    "ideographicBaseline",
        +    "idle",
        +    "idpLoginUrl",
        +    "ignoreBOM",
        +    "ignoreCase",
        +    "ignoreDepthValues",
        +    "image",
        +    "image-orientation",
        +    "image-rendering",
        +    "imageHeight",
        +    "imageOrientation",
        +    "imageRendering",
        +    "imageSizes",
        +    "imageSmoothingEnabled",
        +    "imageSmoothingQuality",
        +    "imageSrcset",
        +    "imageWidth",
        +    "images",
        +    "ime-mode",
        +    "imeMode",
        +    "implementation",
        +    "importExternalTexture",
        +    "importKey",
        +    "importNode",
        +    "importStylesheet",
        +    "imports",
        +    "impp",
        +    "imul",
        +    "in",
        +    "in1",
        +    "in2",
        +    "inBandMetadataTrackDispatchType",
        +    "inIncognitoContext",
        +    "inRange",
        +    "includes",
        +    "incognito",
        +    "incomingBidirectionalStreams",
        +    "incomingHighWaterMark",
        +    "incomingMaxAge",
        +    "incomingUnidirectionalStreams",
        +    "increaseZoomLevel",
        +    "incremental",
        +    "indeterminate",
        +    "index",
        +    "indexNames",
        +    "indexOf",
        +    "indexedDB",
        +    "indicate",
        +    "indices",
        +    "inert",
        +    "inertiaDestinationX",
        +    "inertiaDestinationY",
        +    "info",
        +    "inherits",
        +    "init",
        +    "initAnimationEvent",
        +    "initBeforeLoadEvent",
        +    "initClipboardEvent",
        +    "initCloseEvent",
        +    "initCommandEvent",
        +    "initCompositionEvent",
        +    "initCustomEvent",
        +    "initData",
        +    "initDataType",
        +    "initDeviceMotionEvent",
        +    "initDeviceOrientationEvent",
        +    "initDragEvent",
        +    "initErrorEvent",
        +    "initEvent",
        +    "initFocusEvent",
        +    "initGestureEvent",
        +    "initHashChangeEvent",
        +    "initKeyEvent",
        +    "initKeyboardEvent",
        +    "initMSManipulationEvent",
        +    "initMessageEvent",
        +    "initMouseEvent",
        +    "initMouseScrollEvent",
        +    "initMouseWheelEvent",
        +    "initMutationEvent",
        +    "initNSMouseEvent",
        +    "initOverflowEvent",
        +    "initPageEvent",
        +    "initPageTransitionEvent",
        +    "initPointerEvent",
        +    "initPopStateEvent",
        +    "initProgressEvent",
        +    "initScrollAreaEvent",
        +    "initSimpleGestureEvent",
        +    "initStorageEvent",
        +    "initTextEvent",
        +    "initTimeEvent",
        +    "initTouchEvent",
        +    "initTransitionEvent",
        +    "initUIEvent",
        +    "initWebKitAnimationEvent",
        +    "initWebKitTransitionEvent",
        +    "initWebKitWheelEvent",
        +    "initWheelEvent",
        +    "initialTime",
        +    "initialValue",
        +    "initialize",
        +    "initiatorType",
        +    "inject",
        +    "ink",
        +    "inline-size",
        +    "inlineSize",
        +    "inlineVerticalFieldOfView",
        +    "inner",
        +    "innerHTML",
        +    "innerHeight",
        +    "innerText",
        +    "innerWidth",
        +    "input",
        +    "inputBuffer",
        +    "inputEncoding",
        +    "inputMethod",
        +    "inputMode",
        +    "inputQuota",
        +    "inputSource",
        +    "inputSources",
        +    "inputType",
        +    "inputs",
        +    "insertAdjacentElement",
        +    "insertAdjacentHTML",
        +    "insertAdjacentText",
        +    "insertBefore",
        +    "insertCell",
        +    "insertDTMF",
        +    "insertData",
        +    "insertDebugMarker",
        +    "insertItemBefore",
        +    "insertNode",
        +    "insertRow",
        +    "insertRule",
        +    "inset",
        +    "inset-block",
        +    "inset-block-end",
        +    "inset-block-start",
        +    "inset-inline",
        +    "inset-inline-end",
        +    "inset-inline-start",
        +    "insetBlock",
        +    "insetBlockEnd",
        +    "insetBlockStart",
        +    "insetInline",
        +    "insetInlineEnd",
        +    "insetInlineStart",
        +    "inspect",
        +    "install",
        +    "installing",
        +    "instanceRoot",
        +    "instantiate",
        +    "instantiateStreaming",
        +    "instruments",
        +    "int16",
        +    "int32",
        +    "int8",
        +    "integrity",
        +    "interactionCount",
        +    "interactionId",
        +    "interactionMode",
        +    "intercept",
        +    "interestForElement",
        +    "interfaceClass",
        +    "interfaceName",
        +    "interfaceNumber",
        +    "interfaceProtocol",
        +    "interfaceSubclass",
        +    "interfaces",
        +    "interimResults",
        +    "internalSubset",
        +    "interpretation",
        +    "intersection",
        +    "intersectionRatio",
        +    "intersectionRect",
        +    "intersectsNode",
        +    "interval",
        +    "invalidIteratorState",
        +    "invalidateFramebuffer",
        +    "invalidateSubFramebuffer",
        +    "inverse",
        +    "invertSelf",
        +    "invoker",
        +    "invokerType",
        +    "is",
        +    "is2D",
        +    "isActive",
        +    "isAllowedFileSchemeAccess",
        +    "isAllowedIncognitoAccess",
        +    "isAlternate",
        +    "isArray",
        +    "isAutoSelected",
        +    "isBingCurrentSearchDefault",
        +    "isBuffer",
        +    "isCandidateWindowVisible",
        +    "isChar",
        +    "isCollapsed",
        +    "isComposing",
        +    "isConcatSpreadable",
        +    "isConditionalMediationAvailable",
        +    "isConfigSupported",
        +    "isConnected",
        +    "isContentEditable",
        +    "isContentHandlerRegistered",
        +    "isContextLost",
        +    "isDefaultNamespace",
        +    "isDirectory",
        +    "isDisabled",
        +    "isDisjointFrom",
        +    "isEnabled",
        +    "isEqual",
        +    "isEqualNode",
        +    "isError",
        +    "isExtended",
        +    "isExtensible",
        +    "isExternalCTAP2SecurityKeySupported",
        +    "isFallbackAdapter",
        +    "isFile",
        +    "isFinite",
        +    "isFirstPersonObserver",
        +    "isFramebuffer",
        +    "isFrozen",
        +    "isGenerator",
        +    "isHTML",
        +    "isHistoryNavigation",
        +    "isId",
        +    "isIdentity",
        +    "isInjected",
        +    "isInputPending",
        +    "isInteger",
        +    "isInternal",
        +    "isIntersecting",
        +    "isLockFree",
        +    "isMap",
        +    "isMultiLine",
        +    "isNaN",
        +    "isOpen",
        +    "isPointInFill",
        +    "isPointInPath",
        +    "isPointInRange",
        +    "isPointInStroke",
        +    "isPrefAlternate",
        +    "isPresenting",
        +    "isPrimary",
        +    "isProgram",
        +    "isPropertyImplicit",
        +    "isProtocolHandlerRegistered",
        +    "isPrototypeOf",
        +    "isQuery",
        +    "isRawJSON",
        +    "isRenderbuffer",
        +    "isSafeInteger",
        +    "isSameEntry",
        +    "isSameNode",
        +    "isSampler",
        +    "isScript",
        +    "isScriptURL",
        +    "isSealed",
        +    "isSecureContext",
        +    "isSessionSupported",
        +    "isShader",
        +    "isSubsetOf",
        +    "isSupersetOf",
        +    "isSupported",
        +    "isSync",
        +    "isTextEdit",
        +    "isTexture",
        +    "isTransformFeedback",
        +    "isTrusted",
        +    "isTypeSupported",
        +    "isUserVerifyingPlatformAuthenticatorAvailable",
        +    "isVertexArray",
        +    "isView",
        +    "isVisible",
        +    "isWellFormed",
        +    "isochronousTransferIn",
        +    "isochronousTransferOut",
        +    "isolation",
        +    "italics",
        +    "item",
        +    "itemId",
        +    "itemProp",
        +    "itemRef",
        +    "itemScope",
        +    "itemType",
        +    "itemValue",
        +    "items",
        +    "iterateNext",
        +    "iterationComposite",
        +    "iterator",
        +    "javaEnabled",
        +    "jitterBufferTarget",
        +    "jobTitle",
        +    "join",
        +    "joinAdInterestGroup",
        +    "jointName",
        +    "json",
        +    "justify-content",
        +    "justify-items",
        +    "justify-self",
        +    "justifyContent",
        +    "justifyItems",
        +    "justifySelf",
        +    "k1",
        +    "k2",
        +    "k3",
        +    "k4",
        +    "kHz",
        +    "keepalive",
        +    "kernelMatrix",
        +    "kernelUnitLengthX",
        +    "kernelUnitLengthY",
        +    "kerning",
        +    "key",
        +    "keyCode",
        +    "keyFor",
        +    "keyIdentifier",
        +    "keyLightEnabled",
        +    "keyLocation",
        +    "keyPath",
        +    "keyStatuses",
        +    "keySystem",
        +    "keyText",
        +    "keyUsage",
        +    "keyboard",
        +    "keys",
        +    "keytype",
        +    "kind",
        +    "knee",
        +    "knownSources",
        +    "label",
        +    "labels",
        +    "lang",
        +    "language",
        +    "languages",
        +    "largeArcFlag",
        +    "last",
        +    "lastChild",
        +    "lastElementChild",
        +    "lastError",
        +    "lastEventId",
        +    "lastIndex",
        +    "lastIndexOf",
        +    "lastInputTime",
        +    "lastMatch",
        +    "lastMessageSubject",
        +    "lastMessageType",
        +    "lastModified",
        +    "lastModifiedDate",
        +    "lastPage",
        +    "lastParen",
        +    "lastState",
        +    "lastStyleSheetSet",
        +    "latency",
        +    "latitude",
        +    "launchQueue",
        +    "layerName",
        +    "layerX",
        +    "layerY",
        +    "layout",
        +    "layoutFlow",
        +    "layoutGrid",
        +    "layoutGridChar",
        +    "layoutGridLine",
        +    "layoutGridMode",
        +    "layoutGridType",
        +    "lbound",
        +    "leaveAdInterestGroup",
        +    "left",
        +    "leftContext",
        +    "leftDegrees",
        +    "leftMargin",
        +    "leftProjectionMatrix",
        +    "leftViewMatrix",
        +    "length",
        +    "lengthAdjust",
        +    "lengthComputable",
        +    "letter-spacing",
        +    "letterSpacing",
        +    "level",
        +    "lh",
        +    "lighting-color",
        +    "lightingColor",
        +    "limitingConeAngle",
        +    "limits",
        +    "line",
        +    "line-break",
        +    "line-height",
        +    "lineAlign",
        +    "lineBreak",
        +    "lineCap",
        +    "lineDashOffset",
        +    "lineGapOverride",
        +    "lineHeight",
        +    "lineJoin",
        +    "lineNum",
        +    "lineNumber",
        +    "linePos",
        +    "lineTo",
        +    "lineWidth",
        +    "linearAcceleration",
        +    "linearRampToValueAtTime",
        +    "linearVelocity",
        +    "lineno",
        +    "lines",
        +    "link",
        +    "linkColor",
        +    "linkProgram",
        +    "links",
        +    "list",
        +    "list-style",
        +    "list-style-image",
        +    "list-style-position",
        +    "list-style-type",
        +    "listStyle",
        +    "listStyleImage",
        +    "listStylePosition",
        +    "listStyleType",
        +    "listener",
        +    "listeners",
        +    "load",
        +    "loadEventEnd",
        +    "loadEventStart",
        +    "loadOp",
        +    "loadTime",
        +    "loadTimes",
        +    "loaded",
        +    "loading",
        +    "localDescription",
        +    "localName",
        +    "localService",
        +    "localStorage",
        +    "locale",
        +    "localeCompare",
        +    "location",
        +    "locationbar",
        +    "lock",
        +    "locked",
        +    "lockedFile",
        +    "locks",
        +    "lodMaxClamp",
        +    "lodMinClamp",
        +    "log",
        +    "log10",
        +    "log1p",
        +    "log2",
        +    "logicalXDPI",
        +    "logicalYDPI",
        +    "login",
        +    "loglevel",
        +    "longDesc",
        +    "longitude",
        +    "lookupNamespaceURI",
        +    "lookupPrefix",
        +    "loop",
        +    "loopEnd",
        +    "loopStart",
        +    "looping",
        +    "lost",
        +    "low",
        +    "lower",
        +    "lowerBound",
        +    "lowerOpen",
        +    "lowsrc",
        +    "lvb",
        +    "lvh",
        +    "lvi",
        +    "lvmax",
        +    "lvmin",
        +    "lvw",
        +    "m11",
        +    "m12",
        +    "m13",
        +    "m14",
        +    "m21",
        +    "m22",
        +    "m23",
        +    "m24",
        +    "m31",
        +    "m32",
        +    "m33",
        +    "m34",
        +    "m41",
        +    "m42",
        +    "m43",
        +    "m44",
        +    "magFilter",
        +    "makeXRCompatible",
        +    "managed",
        +    "management",
        +    "manifest",
        +    "manufacturer",
        +    "manufacturerName",
        +    "map",
        +    "mapAsync",
        +    "mapState",
        +    "mappedAtCreation",
        +    "mapping",
        +    "margin",
        +    "margin-block",
        +    "margin-block-end",
        +    "margin-block-start",
        +    "margin-bottom",
        +    "margin-inline",
        +    "margin-inline-end",
        +    "margin-inline-start",
        +    "margin-left",
        +    "margin-right",
        +    "margin-top",
        +    "marginBlock",
        +    "marginBlockEnd",
        +    "marginBlockStart",
        +    "marginBottom",
        +    "marginHeight",
        +    "marginInline",
        +    "marginInlineEnd",
        +    "marginInlineStart",
        +    "marginLeft",
        +    "marginRight",
        +    "marginTop",
        +    "marginWidth",
        +    "mark",
        +    "marker",
        +    "marker-end",
        +    "marker-mid",
        +    "marker-offset",
        +    "marker-start",
        +    "markerEnd",
        +    "markerHeight",
        +    "markerMid",
        +    "markerOffset",
        +    "markerStart",
        +    "markerUnits",
        +    "markerWidth",
        +    "marks",
        +    "mask",
        +    "mask-clip",
        +    "mask-composite",
        +    "mask-image",
        +    "mask-mode",
        +    "mask-origin",
        +    "mask-position",
        +    "mask-position-x",
        +    "mask-position-y",
        +    "mask-repeat",
        +    "mask-size",
        +    "mask-type",
        +    "maskClip",
        +    "maskComposite",
        +    "maskContentUnits",
        +    "maskImage",
        +    "maskMode",
        +    "maskOrigin",
        +    "maskPosition",
        +    "maskPositionX",
        +    "maskPositionY",
        +    "maskRepeat",
        +    "maskSize",
        +    "maskType",
        +    "maskUnits",
        +    "match",
        +    "matchAll",
        +    "matchMedia",
        +    "matchMedium",
        +    "matchPatterns",
        +    "matches",
        +    "math-depth",
        +    "math-style",
        +    "mathDepth",
        +    "mathShift",
        +    "mathStyle",
        +    "matrix",
        +    "matrixTransform",
        +    "max",
        +    "max-block-size",
        +    "max-height",
        +    "max-inline-size",
        +    "max-width",
        +    "maxActions",
        +    "maxAlternatives",
        +    "maxAnisotropy",
        +    "maxBindGroups",
        +    "maxBindGroupsPlusVertexBuffers",
        +    "maxBindingsPerBindGroup",
        +    "maxBlockSize",
        +    "maxBufferSize",
        +    "maxByteLength",
        +    "maxChannelCount",
        +    "maxChannels",
        +    "maxColorAttachmentBytesPerSample",
        +    "maxColorAttachments",
        +    "maxComputeInvocationsPerWorkgroup",
        +    "maxComputeWorkgroupSizeX",
        +    "maxComputeWorkgroupSizeY",
        +    "maxComputeWorkgroupSizeZ",
        +    "maxComputeWorkgroupStorageSize",
        +    "maxComputeWorkgroupsPerDimension",
        +    "maxConnectionsPerServer",
        +    "maxDatagramSize",
        +    "maxDecibels",
        +    "maxDistance",
        +    "maxDrawCount",
        +    "maxDynamicStorageBuffersPerPipelineLayout",
        +    "maxDynamicUniformBuffersPerPipelineLayout",
        +    "maxHeight",
        +    "maxInlineSize",
        +    "maxInterStageShaderComponents",
        +    "maxInterStageShaderVariables",
        +    "maxLayers",
        +    "maxLength",
        +    "maxMessageSize",
        +    "maxPacketLifeTime",
        +    "maxRetransmits",
        +    "maxSampledTexturesPerShaderStage",
        +    "maxSamplersPerShaderStage",
        +    "maxStorageBufferBindingSize",
        +    "maxStorageBuffersPerShaderStage",
        +    "maxStorageTexturesPerShaderStage",
        +    "maxTextureArrayLayers",
        +    "maxTextureDimension1D",
        +    "maxTextureDimension2D",
        +    "maxTextureDimension3D",
        +    "maxTouchPoints",
        +    "maxUniformBufferBindingSize",
        +    "maxUniformBuffersPerShaderStage",
        +    "maxValue",
        +    "maxVertexAttributes",
        +    "maxVertexBufferArrayStride",
        +    "maxVertexBuffers",
        +    "maxWidth",
        +    "maximumLatency",
        +    "measure",
        +    "measureInputUsage",
        +    "measureText",
        +    "media",
        +    "mediaCapabilities",
        +    "mediaDevices",
        +    "mediaElement",
        +    "mediaGroup",
        +    "mediaKeys",
        +    "mediaSession",
        +    "mediaStream",
        +    "mediaText",
        +    "meetOrSlice",
        +    "memory",
        +    "menubar",
        +    "menus",
        +    "menusChild",
        +    "menusInternal",
        +    "mergeAttributes",
        +    "message",
        +    "messageClass",
        +    "messageHandlers",
        +    "messageType",
        +    "messages",
        +    "metaKey",
        +    "metadata",
        +    "method",
        +    "methodDetails",
        +    "methodName",
        +    "mid",
        +    "mimeType",
        +    "mimeTypes",
        +    "min",
        +    "min-block-size",
        +    "min-height",
        +    "min-inline-size",
        +    "min-width",
        +    "minBindingSize",
        +    "minBlockSize",
        +    "minDecibels",
        +    "minFilter",
        +    "minHeight",
        +    "minInlineSize",
        +    "minLength",
        +    "minStorageBufferOffsetAlignment",
        +    "minUniformBufferOffsetAlignment",
        +    "minValue",
        +    "minWidth",
        +    "minimumLatency",
        +    "mipLevel",
        +    "mipLevelCount",
        +    "mipmapFilter",
        +    "miterLimit",
        +    "mix-blend-mode",
        +    "mixBlendMode",
        +    "mm",
        +    "mobile",
        +    "mode",
        +    "model",
        +    "modify",
        +    "module",
        +    "mount",
        +    "move",
        +    "moveBefore",
        +    "moveBy",
        +    "moveEnd",
        +    "moveFirst",
        +    "moveFocusDown",
        +    "moveFocusLeft",
        +    "moveFocusRight",
        +    "moveFocusUp",
        +    "moveInSuccession",
        +    "moveNext",
        +    "moveRow",
        +    "moveStart",
        +    "moveTo",
        +    "moveToBookmark",
        +    "moveToElementText",
        +    "moveToPoint",
        +    "movementX",
        +    "movementY",
        +    "mozAdd",
        +    "mozAnimationStartTime",
        +    "mozAnon",
        +    "mozApps",
        +    "mozAudioCaptured",
        +    "mozAudioChannelType",
        +    "mozAutoplayEnabled",
        +    "mozCancelAnimationFrame",
        +    "mozCancelFullScreen",
        +    "mozCancelRequestAnimationFrame",
        +    "mozCaptureStream",
        +    "mozCaptureStreamUntilEnded",
        +    "mozClearDataAt",
        +    "mozContact",
        +    "mozContacts",
        +    "mozCreateFileHandle",
        +    "mozCurrentTransform",
        +    "mozCurrentTransformInverse",
        +    "mozCursor",
        +    "mozDash",
        +    "mozDashOffset",
        +    "mozDecodedFrames",
        +    "mozExitPointerLock",
        +    "mozFillRule",
        +    "mozFragmentEnd",
        +    "mozFrameDelay",
        +    "mozFullScreen",
        +    "mozFullScreenElement",
        +    "mozFullScreenEnabled",
        +    "mozGetAll",
        +    "mozGetAllKeys",
        +    "mozGetAsFile",
        +    "mozGetDataAt",
        +    "mozGetMetadata",
        +    "mozGetUserMedia",
        +    "mozHasAudio",
        +    "mozHasItem",
        +    "mozHidden",
        +    "mozImageSmoothingEnabled",
        +    "mozIndexedDB",
        +    "mozInnerScreenX",
        +    "mozInnerScreenY",
        +    "mozInputSource",
        +    "mozIsTextField",
        +    "mozItem",
        +    "mozItemCount",
        +    "mozItems",
        +    "mozLength",
        +    "mozLockOrientation",
        +    "mozMatchesSelector",
        +    "mozMovementX",
        +    "mozMovementY",
        +    "mozOpaque",
        +    "mozOrientation",
        +    "mozPaintCount",
        +    "mozPaintedFrames",
        +    "mozParsedFrames",
        +    "mozPay",
        +    "mozPointerLockElement",
        +    "mozPresentedFrames",
        +    "mozPreservesPitch",
        +    "mozPressure",
        +    "mozPrintCallback",
        +    "mozRTCIceCandidate",
        +    "mozRTCPeerConnection",
        +    "mozRTCSessionDescription",
        +    "mozRemove",
        +    "mozRequestAnimationFrame",
        +    "mozRequestFullScreen",
        +    "mozRequestPointerLock",
        +    "mozSetDataAt",
        +    "mozSetImageElement",
        +    "mozSourceNode",
        +    "mozSrcObject",
        +    "mozSystem",
        +    "mozTCPSocket",
        +    "mozTextStyle",
        +    "mozTypesAt",
        +    "mozUnlockOrientation",
        +    "mozUserCancelled",
        +    "mozVisibilityState",
        +    "ms",
        +    "msAnimation",
        +    "msAnimationDelay",
        +    "msAnimationDirection",
        +    "msAnimationDuration",
        +    "msAnimationFillMode",
        +    "msAnimationIterationCount",
        +    "msAnimationName",
        +    "msAnimationPlayState",
        +    "msAnimationStartTime",
        +    "msAnimationTimingFunction",
        +    "msBackfaceVisibility",
        +    "msBlockProgression",
        +    "msCSSOMElementFloatMetrics",
        +    "msCaching",
        +    "msCachingEnabled",
        +    "msCancelRequestAnimationFrame",
        +    "msCapsLockWarningOff",
        +    "msClearImmediate",
        +    "msClose",
        +    "msContentZoomChaining",
        +    "msContentZoomFactor",
        +    "msContentZoomLimit",
        +    "msContentZoomLimitMax",
        +    "msContentZoomLimitMin",
        +    "msContentZoomSnap",
        +    "msContentZoomSnapPoints",
        +    "msContentZoomSnapType",
        +    "msContentZooming",
        +    "msConvertURL",
        +    "msCrypto",
        +    "msDoNotTrack",
        +    "msElementsFromPoint",
        +    "msElementsFromRect",
        +    "msExitFullscreen",
        +    "msExtendedCode",
        +    "msFillRule",
        +    "msFirstPaint",
        +    "msFlex",
        +    "msFlexAlign",
        +    "msFlexDirection",
        +    "msFlexFlow",
        +    "msFlexItemAlign",
        +    "msFlexLinePack",
        +    "msFlexNegative",
        +    "msFlexOrder",
        +    "msFlexPack",
        +    "msFlexPositive",
        +    "msFlexPreferredSize",
        +    "msFlexWrap",
        +    "msFlowFrom",
        +    "msFlowInto",
        +    "msFontFeatureSettings",
        +    "msFullscreenElement",
        +    "msFullscreenEnabled",
        +    "msGetInputContext",
        +    "msGetRegionContent",
        +    "msGetUntransformedBounds",
        +    "msGraphicsTrustStatus",
        +    "msGridColumn",
        +    "msGridColumnAlign",
        +    "msGridColumnSpan",
        +    "msGridColumns",
        +    "msGridRow",
        +    "msGridRowAlign",
        +    "msGridRowSpan",
        +    "msGridRows",
        +    "msHidden",
        +    "msHighContrastAdjust",
        +    "msHyphenateLimitChars",
        +    "msHyphenateLimitLines",
        +    "msHyphenateLimitZone",
        +    "msHyphens",
        +    "msImageSmoothingEnabled",
        +    "msImeAlign",
        +    "msIndexedDB",
        +    "msInterpolationMode",
        +    "msIsStaticHTML",
        +    "msKeySystem",
        +    "msKeys",
        +    "msLaunchUri",
        +    "msLockOrientation",
        +    "msManipulationViewsEnabled",
        +    "msMatchMedia",
        +    "msMatchesSelector",
        +    "msMaxTouchPoints",
        +    "msOrientation",
        +    "msOverflowStyle",
        +    "msPerspective",
        +    "msPerspectiveOrigin",
        +    "msPlayToDisabled",
        +    "msPlayToPreferredSourceUri",
        +    "msPlayToPrimary",
        +    "msPointerEnabled",
        +    "msRegionOverflow",
        +    "msReleasePointerCapture",
        +    "msRequestAnimationFrame",
        +    "msRequestFullscreen",
        +    "msSaveBlob",
        +    "msSaveOrOpenBlob",
        +    "msScrollChaining",
        +    "msScrollLimit",
        +    "msScrollLimitXMax",
        +    "msScrollLimitXMin",
        +    "msScrollLimitYMax",
        +    "msScrollLimitYMin",
        +    "msScrollRails",
        +    "msScrollSnapPointsX",
        +    "msScrollSnapPointsY",
        +    "msScrollSnapType",
        +    "msScrollSnapX",
        +    "msScrollSnapY",
        +    "msScrollTranslation",
        +    "msSetImmediate",
        +    "msSetMediaKeys",
        +    "msSetPointerCapture",
        +    "msTextCombineHorizontal",
        +    "msTextSizeAdjust",
        +    "msToBlob",
        +    "msTouchAction",
        +    "msTouchSelect",
        +    "msTraceAsyncCallbackCompleted",
        +    "msTraceAsyncCallbackStarting",
        +    "msTraceAsyncOperationCompleted",
        +    "msTraceAsyncOperationStarting",
        +    "msTransform",
        +    "msTransformOrigin",
        +    "msTransformStyle",
        +    "msTransition",
        +    "msTransitionDelay",
        +    "msTransitionDuration",
        +    "msTransitionProperty",
        +    "msTransitionTimingFunction",
        +    "msUnlockOrientation",
        +    "msUpdateAsyncCallbackRelation",
        +    "msUserSelect",
        +    "msVisibilityState",
        +    "msWrapFlow",
        +    "msWrapMargin",
        +    "msWrapThrough",
        +    "msWriteProfilerMark",
        +    "msZoom",
        +    "msZoomTo",
        +    "mt",
        +    "mul",
        +    "multiEntry",
        +    "multiSelectionObj",
        +    "multiline",
        +    "multiple",
        +    "multiply",
        +    "multiplySelf",
        +    "multisample",
        +    "multisampled",
        +    "mutableFile",
        +    "muted",
        +    "n",
        +    "nacl_arch",
        +    "name",
        +    "nameList",
        +    "nameProp",
        +    "namedItem",
        +    "namedRecordset",
        +    "names",
        +    "namespaceURI",
        +    "namespaces",
        +    "nativeApplication",
        +    "nativeMap",
        +    "nativeObjectCreate",
        +    "nativeSet",
        +    "nativeWeakMap",
        +    "naturalHeight",
        +    "naturalWidth",
        +    "navigate",
        +    "navigation",
        +    "navigationMode",
        +    "navigationPreload",
        +    "navigationStart",
        +    "navigationType",
        +    "navigator",
        +    "near",
        +    "nearestViewportElement",
        +    "negative",
        +    "negotiated",
        +    "netscape",
        +    "networkState",
        +    "networkStatus",
        +    "newScale",
        +    "newState",
        +    "newTranslate",
        +    "newURL",
        +    "newValue",
        +    "newValueSpecifiedUnits",
        +    "newVersion",
        +    "newhome",
        +    "next",
        +    "nextElementSibling",
        +    "nextHopProtocol",
        +    "nextNode",
        +    "nextPage",
        +    "nextSibling",
        +    "nickname",
        +    "noHref",
        +    "noModule",
        +    "noResize",
        +    "noShade",
        +    "noValidate",
        +    "noWrap",
        +    "node",
        +    "nodeName",
        +    "nodeType",
        +    "nodeValue",
        +    "nonce",
        +    "normDepthBufferFromNormView",
        +    "normalize",
        +    "normalizedPathSegList",
        +    "normandyAddonStudy",
        +    "notRestoredReasons",
        +    "notationName",
        +    "notations",
        +    "note",
        +    "noteGrainOn",
        +    "noteOff",
        +    "noteOn",
        +    "notifications",
        +    "notify",
        +    "now",
        +    "npnNegotiatedProtocol",
        +    "numOctaves",
        +    "number",
        +    "numberOfChannels",
        +    "numberOfFrames",
        +    "numberOfInputs",
        +    "numberOfItems",
        +    "numberOfOutputs",
        +    "numberValue",
        +    "oMatchesSelector",
        +    "object",
        +    "object-fit",
        +    "object-position",
        +    "objectFit",
        +    "objectPosition",
        +    "objectStore",
        +    "objectStoreNames",
        +    "objectType",
        +    "observe",
        +    "observedAttributes",
        +    "occlusionQuerySet",
        +    "of",
        +    "off",
        +    "offscreenBuffering",
        +    "offset",
        +    "offset-anchor",
        +    "offset-distance",
        +    "offset-path",
        +    "offset-position",
        +    "offset-rotate",
        +    "offsetAnchor",
        +    "offsetDistance",
        +    "offsetHeight",
        +    "offsetLeft",
        +    "offsetNode",
        +    "offsetParent",
        +    "offsetPath",
        +    "offsetPosition",
        +    "offsetRotate",
        +    "offsetTop",
        +    "offsetWidth",
        +    "offsetX",
        +    "offsetY",
        +    "ok",
        +    "oldState",
        +    "oldURL",
        +    "oldValue",
        +    "oldVersion",
        +    "olderShadowRoot",
        +    "omnibox",
        +    "on",
        +    "onActivated",
        +    "onAdded",
        +    "onAttached",
        +    "onBoundsChanged",
        +    "onBrowserUpdateAvailable",
        +    "onClicked",
        +    "onCommitFiberRoot",
        +    "onCommitFiberUnmount",
        +    "onConnect",
        +    "onConnectExternal",
        +    "onConnectNative",
        +    "onCreated",
        +    "onDetached",
        +    "onDisabled",
        +    "onEnabled",
        +    "onFocusChanged",
        +    "onHighlighted",
        +    "onInstalled",
        +    "onLine",
        +    "onMessage",
        +    "onMessageExternal",
        +    "onMoved",
        +    "onPerformanceWarning",
        +    "onPostCommitFiberRoot",
        +    "onRemoved",
        +    "onReplaced",
        +    "onRestartRequired",
        +    "onStartup",
        +    "onSubmittedWorkDone",
        +    "onSuspend",
        +    "onSuspendCanceled",
        +    "onUninstalled",
        +    "onUpdateAvailable",
        +    "onUpdated",
        +    "onUserScriptConnect",
        +    "onUserScriptMessage",
        +    "onUserSettingsChanged",
        +    "onZoomChange",
        +    "onabort",
        +    "onabsolutedeviceorientation",
        +    "onactivate",
        +    "onactive",
        +    "onaddsourcebuffer",
        +    "onaddstream",
        +    "onaddtrack",
        +    "onafterprint",
        +    "onafterscriptexecute",
        +    "onafterupdate",
        +    "onanimationcancel",
        +    "onanimationend",
        +    "onanimationiteration",
        +    "onanimationstart",
        +    "onappinstalled",
        +    "onaudioend",
        +    "onaudioprocess",
        +    "onaudiostart",
        +    "onautocomplete",
        +    "onautocompleteerror",
        +    "onauxclick",
        +    "onbeforeactivate",
        +    "onbeforecopy",
        +    "onbeforecut",
        +    "onbeforedeactivate",
        +    "onbeforeeditfocus",
        +    "onbeforeinput",
        +    "onbeforeinstallprompt",
        +    "onbeforematch",
        +    "onbeforepaste",
        +    "onbeforeprint",
        +    "onbeforescriptexecute",
        +    "onbeforetoggle",
        +    "onbeforeunload",
        +    "onbeforeupdate",
        +    "onbeforexrselect",
        +    "onbegin",
        +    "onblocked",
        +    "onblur",
        +    "onbounce",
        +    "onboundary",
        +    "onbufferedamountlow",
        +    "oncached",
        +    "oncancel",
        +    "oncandidatewindowhide",
        +    "oncandidatewindowshow",
        +    "oncandidatewindowupdate",
        +    "oncanplay",
        +    "oncanplaythrough",
        +    "oncapturehandlechange",
        +    "once",
        +    "oncellchange",
        +    "onchange",
        +    "oncharacterboundsupdate",
        +    "oncharacteristicvaluechanged",
        +    "onchargingchange",
        +    "onchargingtimechange",
        +    "onchecking",
        +    "onclick",
        +    "onclose",
        +    "onclosing",
        +    "oncommand",
        +    "oncompassneedscalibration",
        +    "oncomplete",
        +    "oncompositionend",
        +    "oncompositionstart",
        +    "onconnect",
        +    "onconnecting",
        +    "onconnectionavailable",
        +    "onconnectionstatechange",
        +    "oncontentvisibilityautostatechange",
        +    "oncontextlost",
        +    "oncontextmenu",
        +    "oncontextrestored",
        +    "oncontrollerchange",
        +    "oncontrolselect",
        +    "oncopy",
        +    "oncuechange",
        +    "oncurrententrychange",
        +    "oncurrentscreenchange",
        +    "oncut",
        +    "ondataavailable",
        +    "ondatachannel",
        +    "ondatasetchanged",
        +    "ondatasetcomplete",
        +    "ondblclick",
        +    "ondeactivate",
        +    "ondequeue",
        +    "ondevicechange",
        +    "ondevicelight",
        +    "ondevicemotion",
        +    "ondeviceorientation",
        +    "ondeviceorientationabsolute",
        +    "ondeviceproximity",
        +    "ondischargingtimechange",
        +    "ondisconnect",
        +    "ondisplay",
        +    "ondispose",
        +    "ondownloading",
        +    "ondownloadprogress",
        +    "ondrag",
        +    "ondragend",
        +    "ondragenter",
        +    "ondragexit",
        +    "ondragleave",
        +    "ondragover",
        +    "ondragstart",
        +    "ondrop",
        +    "ondurationchange",
        +    "onemptied",
        +    "onencrypted",
        +    "onend",
        +    "onended",
        +    "onenter",
        +    "onenterpictureinpicture",
        +    "onerror",
        +    "onerrorupdate",
        +    "onexit",
        +    "onfencedtreeclick",
        +    "onfilterchange",
        +    "onfinish",
        +    "onfocus",
        +    "onfocusin",
        +    "onfocusout",
        +    "onformdata",
        +    "onfreeze",
        +    "onfullscreenchange",
        +    "onfullscreenerror",
        +    "ongamepadconnected",
        +    "ongamepaddisconnected",
        +    "ongatheringstatechange",
        +    "ongattserverdisconnected",
        +    "ongeometrychange",
        +    "ongesturechange",
        +    "ongestureend",
        +    "ongesturestart",
        +    "ongotpointercapture",
        +    "onhashchange",
        +    "onhelp",
        +    "onicecandidate",
        +    "onicecandidateerror",
        +    "oniceconnectionstatechange",
        +    "onicegatheringstatechange",
        +    "oninactive",
        +    "oninput",
        +    "oninputreport",
        +    "oninputsourceschange",
        +    "oninvalid",
        +    "onkeydown",
        +    "onkeypress",
        +    "onkeystatuseschange",
        +    "onkeyup",
        +    "onlanguagechange",
        +    "onlayoutcomplete",
        +    "onleavepictureinpicture",
        +    "onlevelchange",
        +    "onload",
        +    "onloadT",
        +    "onloadeddata",
        +    "onloadedmetadata",
        +    "onloadend",
        +    "onloading",
        +    "onloadingdone",
        +    "onloadingerror",
        +    "onloadstart",
        +    "onlosecapture",
        +    "onlostpointercapture",
        +    "only",
        +    "onmanagedconfigurationchange",
        +    "onmark",
        +    "onmessage",
        +    "onmessageerror",
        +    "onmidimessage",
        +    "onmousedown",
        +    "onmouseenter",
        +    "onmouseleave",
        +    "onmousemove",
        +    "onmouseout",
        +    "onmouseover",
        +    "onmouseup",
        +    "onmousewheel",
        +    "onmove",
        +    "onmoveend",
        +    "onmovestart",
        +    "onmozfullscreenchange",
        +    "onmozfullscreenerror",
        +    "onmozorientationchange",
        +    "onmozpointerlockchange",
        +    "onmozpointerlockerror",
        +    "onmscontentzoom",
        +    "onmsfullscreenchange",
        +    "onmsfullscreenerror",
        +    "onmsgesturechange",
        +    "onmsgesturedoubletap",
        +    "onmsgestureend",
        +    "onmsgesturehold",
        +    "onmsgesturestart",
        +    "onmsgesturetap",
        +    "onmsgotpointercapture",
        +    "onmsinertiastart",
        +    "onmslostpointercapture",
        +    "onmsmanipulationstatechanged",
        +    "onmsneedkey",
        +    "onmsorientationchange",
        +    "onmspointercancel",
        +    "onmspointerdown",
        +    "onmspointerenter",
        +    "onmspointerhover",
        +    "onmspointerleave",
        +    "onmspointermove",
        +    "onmspointerout",
        +    "onmspointerover",
        +    "onmspointerup",
        +    "onmssitemodejumplistitemremoved",
        +    "onmsthumbnailclick",
        +    "onmute",
        +    "onnavigate",
        +    "onnavigateerror",
        +    "onnavigatesuccess",
        +    "onnegotiationneeded",
        +    "onnomatch",
        +    "onnoupdate",
        +    "onobsolete",
        +    "onoffline",
        +    "ononline",
        +    "onopen",
        +    "onorientationchange",
        +    "onpagechange",
        +    "onpagehide",
        +    "onpagereveal",
        +    "onpageshow",
        +    "onpageswap",
        +    "onpaste",
        +    "onpause",
        +    "onpayerdetailchange",
        +    "onpaymentmethodchange",
        +    "onplay",
        +    "onplaying",
        +    "onpluginstreamstart",
        +    "onpointercancel",
        +    "onpointerdown",
        +    "onpointerenter",
        +    "onpointerleave",
        +    "onpointerlockchange",
        +    "onpointerlockerror",
        +    "onpointermove",
        +    "onpointerout",
        +    "onpointerover",
        +    "onpointerrawupdate",
        +    "onpointerup",
        +    "onpopstate",
        +    "onprerenderingchange",
        +    "onprioritychange",
        +    "onprocessorerror",
        +    "onprogress",
        +    "onpropertychange",
        +    "onratechange",
        +    "onreading",
        +    "onreadystatechange",
        +    "onreflectionchange",
        +    "onrejectionhandled",
        +    "onrelease",
        +    "onremove",
        +    "onremovesourcebuffer",
        +    "onremovestream",
        +    "onremovetrack",
        +    "onrepeat",
        +    "onreset",
        +    "onresize",
        +    "onresizeend",
        +    "onresizestart",
        +    "onresourcetimingbufferfull",
        +    "onresult",
        +    "onresume",
        +    "onrowenter",
        +    "onrowexit",
        +    "onrowsdelete",
        +    "onrowsinserted",
        +    "onscreenschange",
        +    "onscroll",
        +    "onscrollend",
        +    "onscrollsnapchange",
        +    "onscrollsnapchanging",
        +    "onsearch",
        +    "onsecuritypolicyviolation",
        +    "onseeked",
        +    "onseeking",
        +    "onselect",
        +    "onselectedcandidatepairchange",
        +    "onselectend",
        +    "onselectionchange",
        +    "onselectstart",
        +    "onshippingaddresschange",
        +    "onshippingoptionchange",
        +    "onshow",
        +    "onsignalingstatechange",
        +    "onsinkchange",
        +    "onslotchange",
        +    "onsoundend",
        +    "onsoundstart",
        +    "onsourceclose",
        +    "onsourceclosed",
        +    "onsourceended",
        +    "onsourceopen",
        +    "onspeechend",
        +    "onspeechstart",
        +    "onsqueeze",
        +    "onsqueezeend",
        +    "onsqueezestart",
        +    "onstalled",
        +    "onstart",
        +    "onstatechange",
        +    "onstop",
        +    "onstorage",
        +    "onstoragecommit",
        +    "onsubmit",
        +    "onsuccess",
        +    "onsuspend",
        +    "onterminate",
        +    "ontextformatupdate",
        +    "ontextinput",
        +    "ontextupdate",
        +    "ontimeout",
        +    "ontimeupdate",
        +    "ontoggle",
        +    "ontonechange",
        +    "ontouchcancel",
        +    "ontouchend",
        +    "ontouchmove",
        +    "ontouchstart",
        +    "ontrack",
        +    "ontransitioncancel",
        +    "ontransitionend",
        +    "ontransitionrun",
        +    "ontransitionstart",
        +    "onuncapturederror",
        +    "onunhandledrejection",
        +    "onunload",
        +    "onunmute",
        +    "onupdate",
        +    "onupdateend",
        +    "onupdatefound",
        +    "onupdateready",
        +    "onupdatestart",
        +    "onupgradeneeded",
        +    "onuserproximity",
        +    "onversionchange",
        +    "onvisibilitychange",
        +    "onvoiceschanged",
        +    "onvolumechange",
        +    "onvrdisplayactivate",
        +    "onvrdisplayconnect",
        +    "onvrdisplaydeactivate",
        +    "onvrdisplaydisconnect",
        +    "onvrdisplaypresentchange",
        +    "onwaiting",
        +    "onwaitingforkey",
        +    "onwarning",
        +    "onwebkitanimationend",
        +    "onwebkitanimationiteration",
        +    "onwebkitanimationstart",
        +    "onwebkitcurrentplaybacktargetiswirelesschanged",
        +    "onwebkitfullscreenchange",
        +    "onwebkitfullscreenerror",
        +    "onwebkitkeyadded",
        +    "onwebkitkeyerror",
        +    "onwebkitkeymessage",
        +    "onwebkitneedkey",
        +    "onwebkitorientationchange",
        +    "onwebkitplaybacktargetavailabilitychanged",
        +    "onwebkitpointerlockchange",
        +    "onwebkitpointerlockerror",
        +    "onwebkitresourcetimingbufferfull",
        +    "onwebkittransitionend",
        +    "onwheel",
        +    "onzoom",
        +    "onzoomlevelchange",
        +    "opacity",
        +    "open",
        +    "openCursor",
        +    "openDatabase",
        +    "openKeyCursor",
        +    "openOptionsPage",
        +    "openOrClosedShadowRoot",
        +    "openPopup",
        +    "opened",
        +    "opener",
        +    "opera",
        +    "operation",
        +    "operationType",
        +    "operator",
        +    "opr",
        +    "optimum",
        +    "options",
        +    "or",
        +    "order",
        +    "orderX",
        +    "orderY",
        +    "ordered",
        +    "org",
        +    "organization",
        +    "orient",
        +    "orientAngle",
        +    "orientType",
        +    "orientation",
        +    "orientationX",
        +    "orientationY",
        +    "orientationZ",
        +    "origin",
        +    "originAgentCluster",
        +    "originalPolicy",
        +    "originalTarget",
        +    "ornaments",
        +    "orphans",
        +    "os",
        +    "oscpu",
        +    "outerHTML",
        +    "outerHeight",
        +    "outerText",
        +    "outerWidth",
        +    "outgoingHighWaterMark",
        +    "outgoingMaxAge",
        +    "outline",
        +    "outline-color",
        +    "outline-offset",
        +    "outline-style",
        +    "outline-width",
        +    "outlineColor",
        +    "outlineOffset",
        +    "outlineStyle",
        +    "outlineWidth",
        +    "outputBuffer",
        +    "outputChannelCount",
        +    "outputLanguage",
        +    "outputLatency",
        +    "outputs",
        +    "overallProgress",
        +    "overflow",
        +    "overflow-anchor",
        +    "overflow-block",
        +    "overflow-clip-margin",
        +    "overflow-inline",
        +    "overflow-wrap",
        +    "overflow-x",
        +    "overflow-y",
        +    "overflowAnchor",
        +    "overflowBlock",
        +    "overflowClipMargin",
        +    "overflowInline",
        +    "overflowWrap",
        +    "overflowX",
        +    "overflowY",
        +    "overlaysContent",
        +    "overrideColors",
        +    "overrideMimeType",
        +    "oversample",
        +    "overscroll-behavior",
        +    "overscroll-behavior-block",
        +    "overscroll-behavior-inline",
        +    "overscroll-behavior-x",
        +    "overscroll-behavior-y",
        +    "overscrollBehavior",
        +    "overscrollBehaviorBlock",
        +    "overscrollBehaviorInline",
        +    "overscrollBehaviorX",
        +    "overscrollBehaviorY",
        +    "ownKeys",
        +    "ownerDocument",
        +    "ownerElement",
        +    "ownerNode",
        +    "ownerRule",
        +    "ownerSVGElement",
        +    "owningElement",
        +    "p1",
        +    "p2",
        +    "p3",
        +    "p4",
        +    "packetSize",
        +    "packets",
        +    "pad",
        +    "padEnd",
        +    "padStart",
        +    "padding",
        +    "padding-block",
        +    "padding-block-end",
        +    "padding-block-start",
        +    "padding-bottom",
        +    "padding-inline",
        +    "padding-inline-end",
        +    "padding-inline-start",
        +    "padding-left",
        +    "padding-right",
        +    "padding-top",
        +    "paddingBlock",
        +    "paddingBlockEnd",
        +    "paddingBlockStart",
        +    "paddingBottom",
        +    "paddingInline",
        +    "paddingInlineEnd",
        +    "paddingInlineStart",
        +    "paddingLeft",
        +    "paddingRight",
        +    "paddingTop",
        +    "page",
        +    "page-break-after",
        +    "page-break-before",
        +    "page-break-inside",
        +    "page-orientation",
        +    "pageAction",
        +    "pageBreakAfter",
        +    "pageBreakBefore",
        +    "pageBreakInside",
        +    "pageCount",
        +    "pageLeft",
        +    "pageOrientation",
        +    "pageT",
        +    "pageTop",
        +    "pageX",
        +    "pageXOffset",
        +    "pageY",
        +    "pageYOffset",
        +    "pages",
        +    "paint-order",
        +    "paintOrder",
        +    "paintRequests",
        +    "paintTime",
        +    "paintType",
        +    "paintWorklet",
        +    "palette",
        +    "pan",
        +    "panningModel",
        +    "parameterData",
        +    "parameters",
        +    "parent",
        +    "parentElement",
        +    "parentNode",
        +    "parentRule",
        +    "parentStyleSheet",
        +    "parentTextEdit",
        +    "parentWindow",
        +    "parse",
        +    "parseAll",
        +    "parseCreationOptionsFromJSON",
        +    "parseFloat",
        +    "parseFromString",
        +    "parseHTMLUnsafe",
        +    "parseInt",
        +    "parseRequestOptionsFromJSON",
        +    "part",
        +    "participants",
        +    "passOp",
        +    "passive",
        +    "password",
        +    "pasteHTML",
        +    "path",
        +    "pathLength",
        +    "pathSegList",
        +    "pathSegType",
        +    "pathSegTypeAsLetter",
        +    "pathname",
        +    "pattern",
        +    "patternContentUnits",
        +    "patternMismatch",
        +    "patternTransform",
        +    "patternUnits",
        +    "pause",
        +    "pauseAnimations",
        +    "pauseDepthSensing",
        +    "pauseDuration",
        +    "pauseOnExit",
        +    "pauseProfilers",
        +    "pauseTransformFeedback",
        +    "paused",
        +    "payerEmail",
        +    "payerName",
        +    "payerPhone",
        +    "paymentManager",
        +    "pc",
        +    "pdfViewerEnabled",
        +    "peerIdentity",
        +    "pending",
        +    "pendingLocalDescription",
        +    "pendingRemoteDescription",
        +    "percent",
        +    "performance",
        +    "periodicSync",
        +    "permission",
        +    "permissionState",
        +    "permissions",
        +    "persist",
        +    "persisted",
        +    "persistentDeviceId",
        +    "personalbar",
        +    "perspective",
        +    "perspective-origin",
        +    "perspectiveOrigin",
        +    "phone",
        +    "phoneticFamilyName",
        +    "phoneticGivenName",
        +    "photo",
        +    "phrase",
        +    "phrases",
        +    "pictureInPictureChild",
        +    "pictureInPictureElement",
        +    "pictureInPictureEnabled",
        +    "pictureInPictureWindow",
        +    "ping",
        +    "pipeThrough",
        +    "pipeTo",
        +    "pitch",
        +    "pixelBottom",
        +    "pixelDepth",
        +    "pixelFormat",
        +    "pixelHeight",
        +    "pixelLeft",
        +    "pixelRight",
        +    "pixelStorei",
        +    "pixelTop",
        +    "pixelUnitToMillimeterX",
        +    "pixelUnitToMillimeterY",
        +    "pixelWidth",
        +    "pkcs11",
        +    "place-content",
        +    "place-items",
        +    "place-self",
        +    "placeContent",
        +    "placeItems",
        +    "placeSelf",
        +    "placeholder",
        +    "platform",
        +    "platformVersion",
        +    "platforms",
        +    "play",
        +    "playEffect",
        +    "playState",
        +    "playbackRate",
        +    "playbackState",
        +    "playbackTime",
        +    "played",
        +    "playoutDelayHint",
        +    "playsInline",
        +    "plugins",
        +    "pluginspage",
        +    "pname",
        +    "pointer-events",
        +    "pointerBeforeReferenceNode",
        +    "pointerEnabled",
        +    "pointerEvents",
        +    "pointerId",
        +    "pointerLockElement",
        +    "pointerType",
        +    "points",
        +    "pointsAtX",
        +    "pointsAtY",
        +    "pointsAtZ",
        +    "polygonOffset",
        +    "pop",
        +    "popDebugGroup",
        +    "popErrorScope",
        +    "popover",
        +    "popoverTargetAction",
        +    "popoverTargetElement",
        +    "populateMatrix",
        +    "popupWindowFeatures",
        +    "popupWindowName",
        +    "popupWindowURI",
        +    "port",
        +    "port1",
        +    "port2",
        +    "ports",
        +    "posBottom",
        +    "posHeight",
        +    "posLeft",
        +    "posRight",
        +    "posTop",
        +    "posWidth",
        +    "pose",
        +    "position",
        +    "position-anchor",
        +    "position-area",
        +    "positionAlign",
        +    "positionAnchor",
        +    "positionArea",
        +    "positionTry",
        +    "positionTryFallbacks",
        +    "positionVisibility",
        +    "positionX",
        +    "positionY",
        +    "positionZ",
        +    "postError",
        +    "postMessage",
        +    "postTask",
        +    "postalCode",
        +    "poster",
        +    "postscriptName",
        +    "pow",
        +    "powerEfficient",
        +    "powerOff",
        +    "powerPreference",
        +    "preMultiplySelf",
        +    "precision",
        +    "preferredReflectionFormat",
        +    "preferredStyleSheetSet",
        +    "preferredStylesheetSet",
        +    "prefix",
        +    "preload",
        +    "premultipliedAlpha",
        +    "prepend",
        +    "prerendering",
        +    "presentation",
        +    "presentationArea",
        +    "presentationStyle",
        +    "presentationTime",
        +    "preserveAlpha",
        +    "preserveAspectRatio",
        +    "preserveAspectRatioString",
        +    "preservesPitch",
        +    "pressed",
        +    "pressure",
        +    "prevValue",
        +    "preventDefault",
        +    "preventExtensions",
        +    "preventSilentAccess",
        +    "previousElementSibling",
        +    "previousNode",
        +    "previousPage",
        +    "previousPriority",
        +    "previousRect",
        +    "previousScale",
        +    "previousSibling",
        +    "previousTranslate",
        +    "primaries",
        +    "primaryKey",
        +    "primaryLightDirection",
        +    "primaryLightIntensity",
        +    "primitive",
        +    "primitiveType",
        +    "primitiveUnits",
        +    "principals",
        +    "print",
        +    "print-color-adjust",
        +    "printColorAdjust",
        +    "printPreview",
        +    "priority",
        +    "privacy",
        +    "privateKey",
        +    "privateToken",
        +    "probablySupportsContext",
        +    "probeSpace",
        +    "process",
        +    "processIceMessage",
        +    "processLocally",
        +    "processingEnd",
        +    "processingStart",
        +    "processorOptions",
        +    "product",
        +    "productId",
        +    "productName",
        +    "productSub",
        +    "profile",
        +    "profileEnd",
        +    "profiles",
        +    "projectionMatrix",
        +    "promise",
        +    "promising",
        +    "prompt",
        +    "properties",
        +    "propertyIsEnumerable",
        +    "propertyName",
        +    "protectedAudience",
        +    "protocol",
        +    "protocolLong",
        +    "prototype",
        +    "provider",
        +    "proxy",
        +    "pseudoClass",
        +    "pseudoElement",
        +    "pt",
        +    "publicId",
        +    "publicKey",
        +    "published",
        +    "pulse",
        +    "push",
        +    "pushDebugGroup",
        +    "pushErrorScope",
        +    "pushManager",
        +    "pushNotification",
        +    "pushState",
        +    "put",
        +    "putImageData",
        +    "px",
        +    "quadraticCurveTo",
        +    "qualifier",
        +    "quaternion",
        +    "query",
        +    "queryCommandEnabled",
        +    "queryCommandIndeterm",
        +    "queryCommandState",
        +    "queryCommandSupported",
        +    "queryCommandText",
        +    "queryCommandValue",
        +    "queryFeatureSupport",
        +    "queryLocalFonts",
        +    "queryPermission",
        +    "querySelector",
        +    "querySelectorAll",
        +    "querySet",
        +    "queue",
        +    "queueMicrotask",
        +    "quota",
        +    "quote",
        +    "quotes",
        +    "r",
        +    "r1",
        +    "r2",
        +    "race",
        +    "rad",
        +    "radiogroup",
        +    "radius",
        +    "radiusX",
        +    "radiusY",
        +    "random",
        +    "randomUUID",
        +    "range",
        +    "rangeCount",
        +    "rangeEnd",
        +    "rangeMax",
        +    "rangeMin",
        +    "rangeOffset",
        +    "rangeOverflow",
        +    "rangeParent",
        +    "rangeStart",
        +    "rangeUnderflow",
        +    "rate",
        +    "ratio",
        +    "raw",
        +    "rawId",
        +    "rawJSON",
        +    "rawValueToMeters",
        +    "rcap",
        +    "rch",
        +    "read",
        +    "readAsArrayBuffer",
        +    "readAsBinaryString",
        +    "readAsBlob",
        +    "readAsDataURL",
        +    "readAsText",
        +    "readBuffer",
        +    "readEntries",
        +    "readOnly",
        +    "readPixels",
        +    "readReportRequested",
        +    "readText",
        +    "readValue",
        +    "readable",
        +    "ready",
        +    "readyState",
        +    "reason",
        +    "reasons",
        +    "reboot",
        +    "receiveFeatureReport",
        +    "receivedAlert",
        +    "receiver",
        +    "receivers",
        +    "recipient",
        +    "recommendedViewportScale",
        +    "reconnect",
        +    "recordNumber",
        +    "recordsAvailable",
        +    "recordset",
        +    "rect",
        +    "red",
        +    "redEyeReduction",
        +    "redirect",
        +    "redirectCount",
        +    "redirectEnd",
        +    "redirectStart",
        +    "redirected",
        +    "reduce",
        +    "reduceRight",
        +    "reduction",
        +    "refDistance",
        +    "refX",
        +    "refY",
        +    "referenceNode",
        +    "referenceSpace",
        +    "referrer",
        +    "referrerPolicy",
        +    "refresh",
        +    "region",
        +    "regionAnchorX",
        +    "regionAnchorY",
        +    "regionId",
        +    "regions",
        +    "register",
        +    "registerContentHandler",
        +    "registerElement",
        +    "registerInternalModuleStart",
        +    "registerInternalModuleStop",
        +    "registerProperty",
        +    "registerProtocolHandler",
        +    "reject",
        +    "rel",
        +    "relList",
        +    "relatedAddress",
        +    "relatedNode",
        +    "relatedPort",
        +    "relatedTarget",
        +    "relayProtocol",
        +    "release",
        +    "releaseCapture",
        +    "releaseEvents",
        +    "releaseInterface",
        +    "releaseLock",
        +    "releasePointerCapture",
        +    "releaseShaderCompiler",
        +    "released",
        +    "reliability",
        +    "reliable",
        +    "reliableWrite",
        +    "reload",
        +    "rem",
        +    "remainingSpace",
        +    "remote",
        +    "remoteDescription",
        +    "remove",
        +    "removeAllRanges",
        +    "removeAttribute",
        +    "removeAttributeNS",
        +    "removeAttributeNode",
        +    "removeBehavior",
        +    "removeChild",
        +    "removeCue",
        +    "removeEntry",
        +    "removeEventListener",
        +    "removeFilter",
        +    "removeImport",
        +    "removeItem",
        +    "removeListener",
        +    "removeNamedItem",
        +    "removeNamedItemNS",
        +    "removeNode",
        +    "removeParameter",
        +    "removeProperty",
        +    "removeRange",
        +    "removeRegion",
        +    "removeRule",
        +    "removeSiteSpecificTrackingException",
        +    "removeSourceBuffer",
        +    "removeStream",
        +    "removeTrack",
        +    "removeVariable",
        +    "removeWakeLockListener",
        +    "removeWebWideTrackingException",
        +    "removed",
        +    "removedNodes",
        +    "renderBlockingStatus",
        +    "renderHeight",
        +    "renderStart",
        +    "renderState",
        +    "renderTime",
        +    "renderWidth",
        +    "renderbufferStorage",
        +    "renderbufferStorageMultisample",
        +    "renderedBuffer",
        +    "rendererInterfaces",
        +    "renderers",
        +    "renderingMode",
        +    "renotify",
        +    "repeat",
        +    "repetitionCount",
        +    "replace",
        +    "replaceAdjacentText",
        +    "replaceAll",
        +    "replaceChild",
        +    "replaceChildren",
        +    "replaceData",
        +    "replaceId",
        +    "replaceItem",
        +    "replaceNode",
        +    "replaceState",
        +    "replaceSync",
        +    "replaceTrack",
        +    "replaceWholeText",
        +    "replaceWith",
        +    "reportError",
        +    "reportEvent",
        +    "reportId",
        +    "reportOnly",
        +    "reportValidity",
        +    "request",
        +    "requestAdapter",
        +    "requestAdapterInfo",
        +    "requestAnimationFrame",
        +    "requestAutocomplete",
        +    "requestClose",
        +    "requestData",
        +    "requestDevice",
        +    "requestFrame",
        +    "requestFullscreen",
        +    "requestHitTestSource",
        +    "requestHitTestSourceForTransientInput",
        +    "requestId",
        +    "requestIdleCallback",
        +    "requestLightProbe",
        +    "requestMIDIAccess",
        +    "requestMediaKeySystemAccess",
        +    "requestPermission",
        +    "requestPictureInPicture",
        +    "requestPointerLock",
        +    "requestPort",
        +    "requestPresent",
        +    "requestPresenter",
        +    "requestReferenceSpace",
        +    "requestSession",
        +    "requestStart",
        +    "requestStorageAccess",
        +    "requestStorageAccessFor",
        +    "requestSubmit",
        +    "requestTime",
        +    "requestUpdateCheck",
        +    "requestVideoFrameCallback",
        +    "requestViewportScale",
        +    "requestWindow",
        +    "requested",
        +    "requestingWindow",
        +    "requireInteraction",
        +    "required",
        +    "requiredExtensions",
        +    "requiredFeatures",
        +    "requiredLimits",
        +    "reset",
        +    "resetLatency",
        +    "resetPose",
        +    "resetTransform",
        +    "resetZoomLevel",
        +    "resizable",
        +    "resize",
        +    "resizeBy",
        +    "resizeTo",
        +    "resolve",
        +    "resolveQuerySet",
        +    "resolveTarget",
        +    "resource",
        +    "respond",
        +    "respondWithNewView",
        +    "response",
        +    "responseBody",
        +    "responseEnd",
        +    "responseReady",
        +    "responseStart",
        +    "responseStatus",
        +    "responseText",
        +    "responseType",
        +    "responseURL",
        +    "responseXML",
        +    "restart",
        +    "restartAfterDelay",
        +    "restartIce",
        +    "restore",
        +    "restrictTo",
        +    "result",
        +    "resultIndex",
        +    "resultType",
        +    "results",
        +    "resume",
        +    "resumeDepthSensing",
        +    "resumeProfilers",
        +    "resumeTransformFeedback",
        +    "retry",
        +    "returnType",
        +    "returnValue",
        +    "rev",
        +    "reverse",
        +    "reversed",
        +    "revocable",
        +    "revokeObjectURL",
        +    "rex",
        +    "rgbColor",
        +    "ric",
        +    "right",
        +    "rightContext",
        +    "rightDegrees",
        +    "rightMargin",
        +    "rightProjectionMatrix",
        +    "rightViewMatrix",
        +    "rlh",
        +    "role",
        +    "rolloffFactor",
        +    "root",
        +    "rootBounds",
        +    "rootElement",
        +    "rootMargin",
        +    "rotate",
        +    "rotateAxisAngle",
        +    "rotateAxisAngleSelf",
        +    "rotateFromVector",
        +    "rotateFromVectorSelf",
        +    "rotateSelf",
        +    "rotation",
        +    "rotationAngle",
        +    "rotationRate",
        +    "round",
        +    "roundRect",
        +    "row-gap",
        +    "rowGap",
        +    "rowIndex",
        +    "rowSpan",
        +    "rows",
        +    "rowsPerImage",
        +    "rtcpTransport",
        +    "rtt",
        +    "ruby-align",
        +    "ruby-position",
        +    "rubyAlign",
        +    "rubyOverhang",
        +    "rubyPosition",
        +    "rules",
        +    "run",
        +    "runAdAuction",
        +    "runtime",
        +    "runtimeStyle",
        +    "rx",
        +    "ry",
        +    "s",
        +    "safari",
        +    "sameDocument",
        +    "sample",
        +    "sampleCount",
        +    "sampleCoverage",
        +    "sampleInterval",
        +    "sampleRate",
        +    "sampleType",
        +    "sampler",
        +    "samplerParameterf",
        +    "samplerParameteri",
        +    "sandbox",
        +    "save",
        +    "saveAsPDF",
        +    "saveData",
        +    "scale",
        +    "scale3d",
        +    "scale3dSelf",
        +    "scaleNonUniform",
        +    "scaleNonUniformSelf",
        +    "scaleSelf",
        +    "scheduler",
        +    "scheduling",
        +    "scheme",
        +    "scissor",
        +    "scope",
        +    "scopeName",
        +    "scoped",
        +    "screen",
        +    "screenBrightness",
        +    "screenEnabled",
        +    "screenLeft",
        +    "screenPixelToMillimeterX",
        +    "screenPixelToMillimeterY",
        +    "screenState",
        +    "screenTop",
        +    "screenX",
        +    "screenY",
        +    "screens",
        +    "scriptURL",
        +    "scripting",
        +    "scripts",
        +    "scroll",
        +    "scroll-behavior",
        +    "scroll-margin",
        +    "scroll-margin-block",
        +    "scroll-margin-block-end",
        +    "scroll-margin-block-start",
        +    "scroll-margin-bottom",
        +    "scroll-margin-inline",
        +    "scroll-margin-inline-end",
        +    "scroll-margin-inline-start",
        +    "scroll-margin-left",
        +    "scroll-margin-right",
        +    "scroll-margin-top",
        +    "scroll-padding",
        +    "scroll-padding-block",
        +    "scroll-padding-block-end",
        +    "scroll-padding-block-start",
        +    "scroll-padding-bottom",
        +    "scroll-padding-inline",
        +    "scroll-padding-inline-end",
        +    "scroll-padding-inline-start",
        +    "scroll-padding-left",
        +    "scroll-padding-right",
        +    "scroll-padding-top",
        +    "scroll-snap-align",
        +    "scroll-snap-stop",
        +    "scroll-snap-type",
        +    "scrollAmount",
        +    "scrollBehavior",
        +    "scrollBy",
        +    "scrollByLines",
        +    "scrollByPages",
        +    "scrollDelay",
        +    "scrollHeight",
        +    "scrollIntoView",
        +    "scrollIntoViewIfNeeded",
        +    "scrollLeft",
        +    "scrollLeftMax",
        +    "scrollMargin",
        +    "scrollMarginBlock",
        +    "scrollMarginBlockEnd",
        +    "scrollMarginBlockStart",
        +    "scrollMarginBottom",
        +    "scrollMarginInline",
        +    "scrollMarginInlineEnd",
        +    "scrollMarginInlineStart",
        +    "scrollMarginLeft",
        +    "scrollMarginRight",
        +    "scrollMarginTop",
        +    "scrollMaxX",
        +    "scrollMaxY",
        +    "scrollPadding",
        +    "scrollPaddingBlock",
        +    "scrollPaddingBlockEnd",
        +    "scrollPaddingBlockStart",
        +    "scrollPaddingBottom",
        +    "scrollPaddingInline",
        +    "scrollPaddingInlineEnd",
        +    "scrollPaddingInlineStart",
        +    "scrollPaddingLeft",
        +    "scrollPaddingRight",
        +    "scrollPaddingTop",
        +    "scrollRestoration",
        +    "scrollSnapAlign",
        +    "scrollSnapStop",
        +    "scrollSnapType",
        +    "scrollTo",
        +    "scrollTop",
        +    "scrollTopMax",
        +    "scrollWidth",
        +    "scrollX",
        +    "scrollY",
        +    "scrollbar-color",
        +    "scrollbar-gutter",
        +    "scrollbar-width",
        +    "scrollbar3dLightColor",
        +    "scrollbarArrowColor",
        +    "scrollbarBaseColor",
        +    "scrollbarColor",
        +    "scrollbarDarkShadowColor",
        +    "scrollbarFaceColor",
        +    "scrollbarGutter",
        +    "scrollbarHighlightColor",
        +    "scrollbarShadowColor",
        +    "scrollbarTrackColor",
        +    "scrollbarWidth",
        +    "scrollbars",
        +    "scrolling",
        +    "scrollingElement",
        +    "sctp",
        +    "sctpCauseCode",
        +    "sdp",
        +    "sdpLineNumber",
        +    "sdpMLineIndex",
        +    "sdpMid",
        +    "seal",
        +    "search",
        +    "searchBox",
        +    "searchBoxJavaBridge_",
        +    "searchParams",
        +    "sectionRowIndex",
        +    "secureConnectionStart",
        +    "securePaymentConfirmationAvailability",
        +    "security",
        +    "seed",
        +    "seek",
        +    "seekToNextFrame",
        +    "seekable",
        +    "seeking",
        +    "segments",
        +    "select",
        +    "selectAllChildren",
        +    "selectAlternateInterface",
        +    "selectAudioOutput",
        +    "selectConfiguration",
        +    "selectNode",
        +    "selectNodeContents",
        +    "selectNodes",
        +    "selectSingleNode",
        +    "selectSubString",
        +    "selectURL",
        +    "selected",
        +    "selectedIndex",
        +    "selectedOptions",
        +    "selectedStyleSheetSet",
        +    "selectedStylesheetSet",
        +    "selectedTrack",
        +    "selection",
        +    "selectionDirection",
        +    "selectionEnd",
        +    "selectionStart",
        +    "selector",
        +    "selectorText",
        +    "self",
        +    "send",
        +    "sendAsBinary",
        +    "sendBeacon",
        +    "sendFeatureReport",
        +    "sendMessage",
        +    "sendNativeMessage",
        +    "sendOrder",
        +    "sendReport",
        +    "sender",
        +    "sentAlert",
        +    "sentTimestamp",
        +    "separator",
        +    "serial",
        +    "serialNumber",
        +    "serializable",
        +    "serializeToString",
        +    "serverTiming",
        +    "service",
        +    "serviceWorker",
        +    "session",
        +    "sessionId",
        +    "sessionStorage",
        +    "sessions",
        +    "set",
        +    "setActionHandler",
        +    "setActive",
        +    "setAlpha",
        +    "setAppBadge",
        +    "setAttribute",
        +    "setAttributeNS",
        +    "setAttributeNode",
        +    "setAttributeNodeNS",
        +    "setAttributionReporting",
        +    "setBadgeBackgroundColor",
        +    "setBadgeText",
        +    "setBadgeTextColor",
        +    "setBaseAndExtent",
        +    "setBigInt64",
        +    "setBigUint64",
        +    "setBindGroup",
        +    "setBingCurrentSearchDefault",
        +    "setBlendConstant",
        +    "setCameraActive",
        +    "setCapture",
        +    "setCaptureHandleConfig",
        +    "setCodecPreferences",
        +    "setColor",
        +    "setCompositeOperation",
        +    "setConfiguration",
        +    "setConsumer",
        +    "setCurrentTime",
        +    "setCustomValidity",
        +    "setData",
        +    "setDate",
        +    "setDragImage",
        +    "setEnabled",
        +    "setEnd",
        +    "setEndAfter",
        +    "setEndBefore",
        +    "setEndPoint",
        +    "setExpires",
        +    "setFillColor",
        +    "setFilterRes",
        +    "setFloat16",
        +    "setFloat32",
        +    "setFloat64",
        +    "setFloatValue",
        +    "setFocusBehavior",
        +    "setFormValue",
        +    "setFromBase64",
        +    "setFromHex",
        +    "setFullYear",
        +    "setHTMLUnsafe",
        +    "setHeaderExtensionsToNegotiate",
        +    "setHeaderValue",
        +    "setHours",
        +    "setIcon",
        +    "setIdentityProvider",
        +    "setImmediate",
        +    "setIndexBuffer",
        +    "setInt16",
        +    "setInt32",
        +    "setInt8",
        +    "setInterval",
        +    "setItem",
        +    "setKeyframes",
        +    "setLineCap",
        +    "setLineDash",
        +    "setLineJoin",
        +    "setLineWidth",
        +    "setLiveSeekableRange",
        +    "setLocalDescription",
        +    "setMatrix",
        +    "setMatrixValue",
        +    "setMediaKeys",
        +    "setMicrophoneActive",
        +    "setMilliseconds",
        +    "setMinutes",
        +    "setMiterLimit",
        +    "setMonth",
        +    "setNamedItem",
        +    "setNamedItemNS",
        +    "setNonUserCodeExceptions",
        +    "setOrientToAngle",
        +    "setOrientToAuto",
        +    "setOrientation",
        +    "setOverrideHistoryNavigationMode",
        +    "setPaint",
        +    "setParameter",
        +    "setParameters",
        +    "setPathData",
        +    "setPeriodicWave",
        +    "setPipeline",
        +    "setPointerCapture",
        +    "setPopup",
        +    "setPosition",
        +    "setPositionState",
        +    "setPreference",
        +    "setPriority",
        +    "setPrivateToken",
        +    "setProperty",
        +    "setPrototypeOf",
        +    "setRGBColor",
        +    "setRGBColorICCColor",
        +    "setRadius",
        +    "setRangeText",
        +    "setRemoteDescription",
        +    "setReportEventDataForAutomaticBeacons",
        +    "setRequestHeader",
        +    "setResizable",
        +    "setResourceTimingBufferSize",
        +    "setRotate",
        +    "setScale",
        +    "setScissorRect",
        +    "setSeconds",
        +    "setSelectionRange",
        +    "setServerCertificate",
        +    "setShadow",
        +    "setSharedStorageContext",
        +    "setSignals",
        +    "setSinkId",
        +    "setSkewX",
        +    "setSkewY",
        +    "setStart",
        +    "setStartAfter",
        +    "setStartBefore",
        +    "setStatus",
        +    "setStdDeviation",
        +    "setStencilReference",
        +    "setStreams",
        +    "setStrictMode",
        +    "setStringValue",
        +    "setStrokeColor",
        +    "setSuggestResult",
        +    "setTargetAtTime",
        +    "setTargetValueAtTime",
        +    "setTime",
        +    "setTimeout",
        +    "setTitle",
        +    "setTransform",
        +    "setTranslate",
        +    "setUTCDate",
        +    "setUTCFullYear",
        +    "setUTCHours",
        +    "setUTCMilliseconds",
        +    "setUTCMinutes",
        +    "setUTCMonth",
        +    "setUTCSeconds",
        +    "setUint16",
        +    "setUint32",
        +    "setUint8",
        +    "setUninstallURL",
        +    "setUpdateUrlData",
        +    "setUri",
        +    "setValidity",
        +    "setValueAtTime",
        +    "setValueCurveAtTime",
        +    "setVariable",
        +    "setVelocity",
        +    "setVersion",
        +    "setVertexBuffer",
        +    "setViewport",
        +    "setYear",
        +    "setZoom",
        +    "setZoomSettings",
        +    "settingName",
        +    "settingValue",
        +    "sex",
        +    "shaderLocation",
        +    "shaderSource",
        +    "shadowBlur",
        +    "shadowColor",
        +    "shadowOffsetX",
        +    "shadowOffsetY",
        +    "shadowRoot",
        +    "shadowRootClonable",
        +    "shadowRootDelegatesFocus",
        +    "shadowRootMode",
        +    "shadowRootSerializable",
        +    "shape",
        +    "shape-image-threshold",
        +    "shape-margin",
        +    "shape-outside",
        +    "shape-rendering",
        +    "shapeImageThreshold",
        +    "shapeMargin",
        +    "shapeOutside",
        +    "shapeRendering",
        +    "share",
        +    "sharedContext",
        +    "sharedStorage",
        +    "sharedStorageWritable",
        +    "sheet",
        +    "shift",
        +    "shiftKey",
        +    "shiftLeft",
        +    "shippingAddress",
        +    "shippingOption",
        +    "shippingType",
        +    "show",
        +    "showDirectoryPicker",
        +    "showHelp",
        +    "showModal",
        +    "showModalDialog",
        +    "showModelessDialog",
        +    "showNotification",
        +    "showOpenFilePicker",
        +    "showPicker",
        +    "showPopover",
        +    "showSaveFilePicker",
        +    "sidebar",
        +    "sidebarAction",
        +    "sign",
        +    "signal",
        +    "signalAllAcceptedCredentials",
        +    "signalCurrentUserDetails",
        +    "signalUnknownCredential",
        +    "signalingState",
        +    "signature",
        +    "silent",
        +    "sin",
        +    "singleNodeValue",
        +    "sinh",
        +    "sinkId",
        +    "sittingToStandingTransform",
        +    "size",
        +    "sizeAdjust",
        +    "sizeToContent",
        +    "sizeX",
        +    "sizeZ",
        +    "sizes",
        +    "skewX",
        +    "skewXSelf",
        +    "skewY",
        +    "skewYSelf",
        +    "skipTransition",
        +    "skipped",
        +    "slice",
        +    "slope",
        +    "slot",
        +    "slotAssignment",
        +    "small",
        +    "smil",
        +    "smooth",
        +    "smoothingTimeConstant",
        +    "snapTargetBlock",
        +    "snapTargetInline",
        +    "snapToLines",
        +    "snapshotItem",
        +    "snapshotLength",
        +    "some",
        +    "sort",
        +    "sortingCode",
        +    "source",
        +    "sourceBuffer",
        +    "sourceBuffers",
        +    "sourceCapabilities",
        +    "sourceCharPosition",
        +    "sourceElement",
        +    "sourceFile",
        +    "sourceFunctionName",
        +    "sourceIndex",
        +    "sourceLanguage",
        +    "sourceMap",
        +    "sourceURL",
        +    "sources",
        +    "spacing",
        +    "span",
        +    "speak",
        +    "speakAs",
        +    "speaking",
        +    "species",
        +    "specified",
        +    "specularConstant",
        +    "specularExponent",
        +    "speechSynthesis",
        +    "speed",
        +    "speedOfSound",
        +    "spellcheck",
        +    "sphericalHarmonicsCoefficients",
        +    "splice",
        +    "split",
        +    "splitText",
        +    "spreadMethod",
        +    "sqrt",
        +    "src",
        +    "srcElement",
        +    "srcFactor",
        +    "srcFilter",
        +    "srcObject",
        +    "srcUrn",
        +    "srcdoc",
        +    "srclang",
        +    "srcset",
        +    "stack",
        +    "stackTraceLimit",
        +    "stacktrace",
        +    "stageParameters",
        +    "standalone",
        +    "standby",
        +    "start",
        +    "startContainer",
        +    "startE",
        +    "startIce",
        +    "startLoadTime",
        +    "startMessages",
        +    "startNotifications",
        +    "startOffset",
        +    "startProfiling",
        +    "startRendering",
        +    "startShark",
        +    "startTime",
        +    "startViewTransition",
        +    "startsWith",
        +    "state",
        +    "states",
        +    "stats",
        +    "status",
        +    "statusCode",
        +    "statusMessage",
        +    "statusText",
        +    "statusbar",
        +    "stdDeviationX",
        +    "stdDeviationY",
        +    "stencilBack",
        +    "stencilClearValue",
        +    "stencilFront",
        +    "stencilFunc",
        +    "stencilFuncSeparate",
        +    "stencilLoadOp",
        +    "stencilMask",
        +    "stencilMaskSeparate",
        +    "stencilOp",
        +    "stencilOpSeparate",
        +    "stencilReadMask",
        +    "stencilReadOnly",
        +    "stencilStoreOp",
        +    "stencilWriteMask",
        +    "step",
        +    "stepDown",
        +    "stepMismatch",
        +    "stepMode",
        +    "stepUp",
        +    "sticky",
        +    "stitchTiles",
        +    "stop",
        +    "stop-color",
        +    "stop-opacity",
        +    "stopColor",
        +    "stopImmediatePropagation",
        +    "stopNotifications",
        +    "stopOpacity",
        +    "stopProfiling",
        +    "stopPropagation",
        +    "stopShark",
        +    "stopped",
        +    "storage",
        +    "storageArea",
        +    "storageBuckets",
        +    "storageName",
        +    "storageStatus",
        +    "storageTexture",
        +    "store",
        +    "storeOp",
        +    "storeSiteSpecificTrackingException",
        +    "storeWebWideTrackingException",
        +    "stpVersion",
        +    "stream",
        +    "streamErrorCode",
        +    "streams",
        +    "stretch",
        +    "strike",
        +    "string",
        +    "stringValue",
        +    "stringify",
        +    "stripIndexFormat",
        +    "stroke",
        +    "stroke-dasharray",
        +    "stroke-dashoffset",
        +    "stroke-linecap",
        +    "stroke-linejoin",
        +    "stroke-miterlimit",
        +    "stroke-opacity",
        +    "stroke-width",
        +    "strokeDasharray",
        +    "strokeDashoffset",
        +    "strokeLinecap",
        +    "strokeLinejoin",
        +    "strokeMiterlimit",
        +    "strokeOpacity",
        +    "strokeRect",
        +    "strokeStyle",
        +    "strokeText",
        +    "strokeWidth",
        +    "structuredClone",
        +    "style",
        +    "styleAndLayoutStart",
        +    "styleFloat",
        +    "styleMap",
        +    "styleMedia",
        +    "styleSheet",
        +    "styleSheetSets",
        +    "styleSheets",
        +    "styleset",
        +    "stylistic",
        +    "sub",
        +    "subarray",
        +    "subgroupMaxSize",
        +    "subgroupMinSize",
        +    "subject",
        +    "submit",
        +    "submitFrame",
        +    "submitter",
        +    "subscribe",
        +    "substr",
        +    "substring",
        +    "substringData",
        +    "subtle",
        +    "subtree",
        +    "suffix",
        +    "suffixes",
        +    "sumPrecise",
        +    "summarize",
        +    "summarizeStreaming",
        +    "summary",
        +    "sup",
        +    "supported",
        +    "supportedContentEncodings",
        +    "supportedEntryTypes",
        +    "supportedValuesOf",
        +    "supports",
        +    "supportsFiber",
        +    "supportsSession",
        +    "supportsText",
        +    "suppressed",
        +    "surfaceScale",
        +    "surroundContents",
        +    "suspend",
        +    "suspendRedraw",
        +    "svb",
        +    "svh",
        +    "svi",
        +    "svmax",
        +    "svmin",
        +    "svw",
        +    "swapCache",
        +    "swapNode",
        +    "swash",
        +    "sweepFlag",
        +    "switchMap",
        +    "symbols",
        +    "symmetricDifference",
        +    "sync",
        +    "syntax",
        +    "sysexEnabled",
        +    "system",
        +    "systemCode",
        +    "systemId",
        +    "systemLanguage",
        +    "systemXDPI",
        +    "systemYDPI",
        +    "tBodies",
        +    "tFoot",
        +    "tHead",
        +    "tab",
        +    "tab-size",
        +    "tabId",
        +    "tabIds",
        +    "tabIndex",
        +    "tabSize",
        +    "table",
        +    "table-layout",
        +    "tableLayout",
        +    "tableValues",
        +    "tabs",
        +    "tag",
        +    "tagName",
        +    "tagUrn",
        +    "tags",
        +    "taintEnabled",
        +    "take",
        +    "takePhoto",
        +    "takeRecords",
        +    "takeUntil",
        +    "tan",
        +    "tangentialPressure",
        +    "tanh",
        +    "target",
        +    "targetAddressSpace",
        +    "targetElement",
        +    "targetLanguage",
        +    "targetRayMode",
        +    "targetRaySpace",
        +    "targetTouches",
        +    "targetURL",
        +    "targetX",
        +    "targetY",
        +    "targets",
        +    "tcpType",
        +    "tee",
        +    "tel",
        +    "telemetry",
        +    "terminate",
        +    "test",
        +    "texImage2D",
        +    "texImage3D",
        +    "texParameterf",
        +    "texParameteri",
        +    "texStorage2D",
        +    "texStorage3D",
        +    "texSubImage2D",
        +    "texSubImage3D",
        +    "text",
        +    "text-align",
        +    "text-align-last",
        +    "text-anchor",
        +    "text-combine-upright",
        +    "text-decoration",
        +    "text-decoration-color",
        +    "text-decoration-line",
        +    "text-decoration-skip-ink",
        +    "text-decoration-style",
        +    "text-decoration-thickness",
        +    "text-emphasis",
        +    "text-emphasis-color",
        +    "text-emphasis-position",
        +    "text-emphasis-style",
        +    "text-indent",
        +    "text-justify",
        +    "text-orientation",
        +    "text-overflow",
        +    "text-rendering",
        +    "text-shadow",
        +    "text-transform",
        +    "text-underline-offset",
        +    "text-underline-position",
        +    "text-wrap",
        +    "text-wrap-mode",
        +    "text-wrap-style",
        +    "textAlign",
        +    "textAlignLast",
        +    "textAnchor",
        +    "textAutospace",
        +    "textBaseline",
        +    "textCombineUpright",
        +    "textContent",
        +    "textDecoration",
        +    "textDecorationBlink",
        +    "textDecorationColor",
        +    "textDecorationInset",
        +    "textDecorationLine",
        +    "textDecorationLineThrough",
        +    "textDecorationNone",
        +    "textDecorationOverline",
        +    "textDecorationSkipInk",
        +    "textDecorationStyle",
        +    "textDecorationThickness",
        +    "textDecorationUnderline",
        +    "textEmphasis",
        +    "textEmphasisColor",
        +    "textEmphasisPosition",
        +    "textEmphasisStyle",
        +    "textIndent",
        +    "textJustify",
        +    "textJustifyTrim",
        +    "textKashida",
        +    "textKashidaSpace",
        +    "textLength",
        +    "textOrientation",
        +    "textOverflow",
        +    "textRendering",
        +    "textShadow",
        +    "textTracks",
        +    "textTransform",
        +    "textUnderlineOffset",
        +    "textUnderlinePosition",
        +    "textWrap",
        +    "textWrapMode",
        +    "textWrapStyle",
        +    "texture",
        +    "theme",
        +    "then",
        +    "threadId",
        +    "threshold",
        +    "thresholds",
        +    "throwIfAborted",
        +    "tiltX",
        +    "tiltY",
        +    "time",
        +    "timeEnd",
        +    "timeLog",
        +    "timeOrigin",
        +    "timeRemaining",
        +    "timeStamp",
        +    "timecode",
        +    "timeline",
        +    "timelineTime",
        +    "timeout",
        +    "timestamp",
        +    "timestampOffset",
        +    "timestampWrites",
        +    "timing",
        +    "title",
        +    "titlebarAreaRect",
        +    "tlsChannelId",
        +    "to",
        +    "toArray",
        +    "toBase64",
        +    "toBlob",
        +    "toDataURL",
        +    "toDateString",
        +    "toElement",
        +    "toExponential",
        +    "toFixed",
        +    "toFloat32Array",
        +    "toFloat64Array",
        +    "toGMTString",
        +    "toHex",
        +    "toISOString",
        +    "toJSON",
        +    "toLocaleDateString",
        +    "toLocaleFormat",
        +    "toLocaleLowerCase",
        +    "toLocaleString",
        +    "toLocaleTimeString",
        +    "toLocaleUpperCase",
        +    "toLowerCase",
        +    "toMatrix",
        +    "toMethod",
        +    "toPrecision",
        +    "toPrimitive",
        +    "toReversed",
        +    "toSdp",
        +    "toSorted",
        +    "toSource",
        +    "toSpliced",
        +    "toStaticHTML",
        +    "toString",
        +    "toStringTag",
        +    "toSum",
        +    "toTemporalInstant",
        +    "toTimeString",
        +    "toUTCString",
        +    "toUpperCase",
        +    "toWellFormed",
        +    "toggle",
        +    "toggleAttribute",
        +    "toggleLongPressEnabled",
        +    "togglePopover",
        +    "toggleReaderMode",
        +    "token",
        +    "tone",
        +    "toneBuffer",
        +    "tooLong",
        +    "tooShort",
        +    "toolbar",
        +    "top",
        +    "topMargin",
        +    "topSites",
        +    "topology",
        +    "total",
        +    "totalFrameDelay",
        +    "totalFrames",
        +    "totalFramesDuration",
        +    "totalVideoFrames",
        +    "touch-action",
        +    "touchAction",
        +    "touched",
        +    "touches",
        +    "trace",
        +    "track",
        +    "trackVisibility",
        +    "trackedAnchors",
        +    "tracks",
        +    "tran",
        +    "transaction",
        +    "transactions",
        +    "transceiver",
        +    "transfer",
        +    "transferControlToOffscreen",
        +    "transferFromImageBitmap",
        +    "transferImageBitmap",
        +    "transferIn",
        +    "transferOut",
        +    "transferSize",
        +    "transferToFixedLength",
        +    "transferToImageBitmap",
        +    "transform",
        +    "transform-box",
        +    "transform-origin",
        +    "transform-style",
        +    "transformBox",
        +    "transformFeedbackVaryings",
        +    "transformOrigin",
        +    "transformPoint",
        +    "transformString",
        +    "transformStyle",
        +    "transformToDocument",
        +    "transformToFragment",
        +    "transition",
        +    "transition-behavior",
        +    "transition-delay",
        +    "transition-duration",
        +    "transition-property",
        +    "transition-timing-function",
        +    "transitionBehavior",
        +    "transitionDelay",
        +    "transitionDuration",
        +    "transitionProperty",
        +    "transitionTimingFunction",
        +    "translate",
        +    "translateSelf",
        +    "translateStreaming",
        +    "translationX",
        +    "translationY",
        +    "transport",
        +    "traverseTo",
        +    "trim",
        +    "trimEnd",
        +    "trimLeft",
        +    "trimRight",
        +    "trimStart",
        +    "trueSpeed",
        +    "trunc",
        +    "truncate",
        +    "trustedTypes",
        +    "try",
        +    "turn",
        +    "twist",
        +    "type",
        +    "typeDetail",
        +    "typeMismatch",
        +    "typeMustMatch",
        +    "types",
        +    "u2f",
        +    "ubound",
        +    "uint16",
        +    "uint32",
        +    "uint8",
        +    "uint8Clamped",
        +    "unadjustedMovement",
        +    "unclippedDepth",
        +    "unconfigure",
        +    "undefined",
        +    "underlineStyle",
        +    "underlineThickness",
        +    "unescape",
        +    "uneval",
        +    "ungroup",
        +    "unicode",
        +    "unicode-bidi",
        +    "unicodeBidi",
        +    "unicodeRange",
        +    "unicodeSets",
        +    "uniform1f",
        +    "uniform1fv",
        +    "uniform1i",
        +    "uniform1iv",
        +    "uniform1ui",
        +    "uniform1uiv",
        +    "uniform2f",
        +    "uniform2fv",
        +    "uniform2i",
        +    "uniform2iv",
        +    "uniform2ui",
        +    "uniform2uiv",
        +    "uniform3f",
        +    "uniform3fv",
        +    "uniform3i",
        +    "uniform3iv",
        +    "uniform3ui",
        +    "uniform3uiv",
        +    "uniform4f",
        +    "uniform4fv",
        +    "uniform4i",
        +    "uniform4iv",
        +    "uniform4ui",
        +    "uniform4uiv",
        +    "uniformBlockBinding",
        +    "uniformMatrix2fv",
        +    "uniformMatrix2x3fv",
        +    "uniformMatrix2x4fv",
        +    "uniformMatrix3fv",
        +    "uniformMatrix3x2fv",
        +    "uniformMatrix3x4fv",
        +    "uniformMatrix4fv",
        +    "uniformMatrix4x2fv",
        +    "uniformMatrix4x3fv",
        +    "uninstallSelf",
        +    "union",
        +    "unique",
        +    "uniqueID",
        +    "uniqueNumber",
        +    "unit",
        +    "unitType",
        +    "units",
        +    "unloadEventEnd",
        +    "unloadEventStart",
        +    "unlock",
        +    "unmap",
        +    "unmount",
        +    "unobserve",
        +    "unpackColorSpace",
        +    "unpause",
        +    "unpauseAnimations",
        +    "unreadCount",
        +    "unregister",
        +    "unregisterContentHandler",
        +    "unregisterProtocolHandler",
        +    "unscopables",
        +    "unselectable",
        +    "unshift",
        +    "unsubscribe",
        +    "unsuspendRedraw",
        +    "unsuspendRedrawAll",
        +    "unwatch",
        +    "unwrapKey",
        +    "upDegrees",
        +    "upX",
        +    "upY",
        +    "upZ",
        +    "update",
        +    "updateAdInterestGroups",
        +    "updateCallbackDone",
        +    "updateCharacterBounds",
        +    "updateCommands",
        +    "updateControlBounds",
        +    "updateCurrentEntry",
        +    "updateIce",
        +    "updateInkTrailStartPoint",
        +    "updateInterval",
        +    "updatePlaybackRate",
        +    "updateRangeEnd",
        +    "updateRangeStart",
        +    "updateRenderState",
        +    "updateSelection",
        +    "updateSelectionBounds",
        +    "updateSettings",
        +    "updateText",
        +    "updateTiming",
        +    "updateViaCache",
        +    "updateWith",
        +    "updated",
        +    "updating",
        +    "upgrade",
        +    "upload",
        +    "uploadTotal",
        +    "uploaded",
        +    "upper",
        +    "upperBound",
        +    "upperOpen",
        +    "uri",
        +    "url",
        +    "urn",
        +    "urns",
        +    "usage",
        +    "usages",
        +    "usb",
        +    "usbVersionMajor",
        +    "usbVersionMinor",
        +    "usbVersionSubminor",
        +    "use",
        +    "useCurrentView",
        +    "useMap",
        +    "useProgram",
        +    "usedSpace",
        +    "user-select",
        +    "userActivation",
        +    "userAgent",
        +    "userAgentAllowsProtocol",
        +    "userAgentData",
        +    "userChoice",
        +    "userHandle",
        +    "userHint",
        +    "userInitiated",
        +    "userLanguage",
        +    "userSelect",
        +    "userState",
        +    "userVisibleOnly",
        +    "username",
        +    "usernameFragment",
        +    "utterance",
        +    "uuid",
        +    "v8BreakIterator",
        +    "vAlign",
        +    "vLink",
        +    "valid",
        +    "validate",
        +    "validateProgram",
        +    "validationMessage",
        +    "validity",
        +    "value",
        +    "valueAsDate",
        +    "valueAsNumber",
        +    "valueAsString",
        +    "valueInSpecifiedUnits",
        +    "valueMissing",
        +    "valueOf",
        +    "valueText",
        +    "valueType",
        +    "values",
        +    "variable",
        +    "variant",
        +    "variationSettings",
        +    "vb",
        +    "vector-effect",
        +    "vectorEffect",
        +    "velocityAngular",
        +    "velocityExpansion",
        +    "velocityX",
        +    "velocityY",
        +    "vendor",
        +    "vendorId",
        +    "vendorSub",
        +    "verify",
        +    "version",
        +    "vertex",
        +    "vertexAttrib1f",
        +    "vertexAttrib1fv",
        +    "vertexAttrib2f",
        +    "vertexAttrib2fv",
        +    "vertexAttrib3f",
        +    "vertexAttrib3fv",
        +    "vertexAttrib4f",
        +    "vertexAttrib4fv",
        +    "vertexAttribDivisor",
        +    "vertexAttribDivisorANGLE",
        +    "vertexAttribI4i",
        +    "vertexAttribI4iv",
        +    "vertexAttribI4ui",
        +    "vertexAttribI4uiv",
        +    "vertexAttribIPointer",
        +    "vertexAttribPointer",
        +    "vertical",
        +    "vertical-align",
        +    "verticalAlign",
        +    "verticalOverflow",
        +    "vh",
        +    "vi",
        +    "vibrate",
        +    "vibrationActuator",
        +    "videoBitsPerSecond",
        +    "videoHeight",
        +    "videoTracks",
        +    "videoWidth",
        +    "view",
        +    "viewBox",
        +    "viewBoxString",
        +    "viewDimension",
        +    "viewFormats",
        +    "viewTarget",
        +    "viewTargetString",
        +    "viewTransition",
        +    "viewTransitionClass",
        +    "viewTransitionName",
        +    "viewport",
        +    "viewportAnchorX",
        +    "viewportAnchorY",
        +    "viewportElement",
        +    "views",
        +    "violatedDirective",
        +    "virtualKeyboard",
        +    "virtualKeyboardPolicy",
        +    "visibility",
        +    "visibilityState",
        +    "visible",
        +    "visibleRect",
        +    "visualViewport",
        +    "vlinkColor",
        +    "vmax",
        +    "vmin",
        +    "voice",
        +    "voiceURI",
        +    "volume",
        +    "vrml",
        +    "vspace",
        +    "vw",
        +    "w",
        +    "wait",
        +    "waitAsync",
        +    "waitSync",
        +    "waiting",
        +    "wake",
        +    "wakeLock",
        +    "wand",
        +    "warmup",
        +    "warn",
        +    "wasAlternateProtocolAvailable",
        +    "wasClean",
        +    "wasDiscarded",
        +    "wasFetchedViaSpdy",
        +    "wasNpnNegotiated",
        +    "watch",
        +    "watchAvailability",
        +    "watchPosition",
        +    "webNavigation",
        +    "webRequest",
        +    "webdriver",
        +    "webkitAddKey",
        +    "webkitAlignContent",
        +    "webkitAlignItems",
        +    "webkitAlignSelf",
        +    "webkitAnimation",
        +    "webkitAnimationDelay",
        +    "webkitAnimationDirection",
        +    "webkitAnimationDuration",
        +    "webkitAnimationFillMode",
        +    "webkitAnimationIterationCount",
        +    "webkitAnimationName",
        +    "webkitAnimationPlayState",
        +    "webkitAnimationTimingFunction",
        +    "webkitAppearance",
        +    "webkitAudioContext",
        +    "webkitAudioDecodedByteCount",
        +    "webkitAudioPannerNode",
        +    "webkitBackfaceVisibility",
        +    "webkitBackground",
        +    "webkitBackgroundAttachment",
        +    "webkitBackgroundClip",
        +    "webkitBackgroundColor",
        +    "webkitBackgroundImage",
        +    "webkitBackgroundOrigin",
        +    "webkitBackgroundPosition",
        +    "webkitBackgroundPositionX",
        +    "webkitBackgroundPositionY",
        +    "webkitBackgroundRepeat",
        +    "webkitBackgroundSize",
        +    "webkitBackingStorePixelRatio",
        +    "webkitBorderBottomLeftRadius",
        +    "webkitBorderBottomRightRadius",
        +    "webkitBorderImage",
        +    "webkitBorderImageOutset",
        +    "webkitBorderImageRepeat",
        +    "webkitBorderImageSlice",
        +    "webkitBorderImageSource",
        +    "webkitBorderImageWidth",
        +    "webkitBorderRadius",
        +    "webkitBorderTopLeftRadius",
        +    "webkitBorderTopRightRadius",
        +    "webkitBoxAlign",
        +    "webkitBoxDirection",
        +    "webkitBoxFlex",
        +    "webkitBoxOrdinalGroup",
        +    "webkitBoxOrient",
        +    "webkitBoxPack",
        +    "webkitBoxShadow",
        +    "webkitBoxSizing",
        +    "webkitCancelAnimationFrame",
        +    "webkitCancelFullScreen",
        +    "webkitCancelKeyRequest",
        +    "webkitCancelRequestAnimationFrame",
        +    "webkitClearResourceTimings",
        +    "webkitClipPath",
        +    "webkitClosedCaptionsVisible",
        +    "webkitConvertPointFromNodeToPage",
        +    "webkitConvertPointFromPageToNode",
        +    "webkitCreateShadowRoot",
        +    "webkitCurrentFullScreenElement",
        +    "webkitCurrentPlaybackTargetIsWireless",
        +    "webkitDecodedFrameCount",
        +    "webkitDirectionInvertedFromDevice",
        +    "webkitDisplayingFullscreen",
        +    "webkitDroppedFrameCount",
        +    "webkitEnterFullScreen",
        +    "webkitEnterFullscreen",
        +    "webkitEntries",
        +    "webkitExitFullScreen",
        +    "webkitExitFullscreen",
        +    "webkitExitPointerLock",
        +    "webkitFilter",
        +    "webkitFlex",
        +    "webkitFlexBasis",
        +    "webkitFlexDirection",
        +    "webkitFlexFlow",
        +    "webkitFlexGrow",
        +    "webkitFlexShrink",
        +    "webkitFlexWrap",
        +    "webkitFontFeatureSettings",
        +    "webkitFullScreenKeyboardInputAllowed",
        +    "webkitFullscreenElement",
        +    "webkitFullscreenEnabled",
        +    "webkitGenerateKeyRequest",
        +    "webkitGetAsEntry",
        +    "webkitGetDatabaseNames",
        +    "webkitGetEntries",
        +    "webkitGetEntriesByName",
        +    "webkitGetEntriesByType",
        +    "webkitGetFlowByName",
        +    "webkitGetGamepads",
        +    "webkitGetImageDataHD",
        +    "webkitGetNamedFlows",
        +    "webkitGetRegionFlowRanges",
        +    "webkitGetUserMedia",
        +    "webkitHasClosedCaptions",
        +    "webkitHidden",
        +    "webkitIDBCursor",
        +    "webkitIDBDatabase",
        +    "webkitIDBDatabaseError",
        +    "webkitIDBDatabaseException",
        +    "webkitIDBFactory",
        +    "webkitIDBIndex",
        +    "webkitIDBKeyRange",
        +    "webkitIDBObjectStore",
        +    "webkitIDBRequest",
        +    "webkitIDBTransaction",
        +    "webkitImageSmoothingEnabled",
        +    "webkitIndexedDB",
        +    "webkitInitMessageEvent",
        +    "webkitIsFullScreen",
        +    "webkitJustifyContent",
        +    "webkitKeys",
        +    "webkitLineClamp",
        +    "webkitLineDashOffset",
        +    "webkitLockOrientation",
        +    "webkitMask",
        +    "webkitMaskClip",
        +    "webkitMaskComposite",
        +    "webkitMaskImage",
        +    "webkitMaskOrigin",
        +    "webkitMaskPosition",
        +    "webkitMaskPositionX",
        +    "webkitMaskPositionY",
        +    "webkitMaskRepeat",
        +    "webkitMaskSize",
        +    "webkitMatchesSelector",
        +    "webkitMediaStream",
        +    "webkitNotifications",
        +    "webkitOfflineAudioContext",
        +    "webkitOrder",
        +    "webkitOrientation",
        +    "webkitPeerConnection00",
        +    "webkitPersistentStorage",
        +    "webkitPerspective",
        +    "webkitPerspectiveOrigin",
        +    "webkitPointerLockElement",
        +    "webkitPostMessage",
        +    "webkitPreservesPitch",
        +    "webkitPutImageDataHD",
        +    "webkitRTCPeerConnection",
        +    "webkitRegionOverset",
        +    "webkitRelativePath",
        +    "webkitRequestAnimationFrame",
        +    "webkitRequestFileSystem",
        +    "webkitRequestFullScreen",
        +    "webkitRequestFullscreen",
        +    "webkitRequestPointerLock",
        +    "webkitResolveLocalFileSystemURL",
        +    "webkitSetMediaKeys",
        +    "webkitSetResourceTimingBufferSize",
        +    "webkitShadowRoot",
        +    "webkitShowPlaybackTargetPicker",
        +    "webkitSlice",
        +    "webkitSpeechGrammar",
        +    "webkitSpeechGrammarList",
        +    "webkitSpeechRecognition",
        +    "webkitSpeechRecognitionError",
        +    "webkitSpeechRecognitionEvent",
        +    "webkitStorageInfo",
        +    "webkitSupportsFullscreen",
        +    "webkitTemporaryStorage",
        +    "webkitTextFillColor",
        +    "webkitTextSecurity",
        +    "webkitTextSizeAdjust",
        +    "webkitTextStroke",
        +    "webkitTextStrokeColor",
        +    "webkitTextStrokeWidth",
        +    "webkitTransform",
        +    "webkitTransformOrigin",
        +    "webkitTransformStyle",
        +    "webkitTransition",
        +    "webkitTransitionDelay",
        +    "webkitTransitionDuration",
        +    "webkitTransitionProperty",
        +    "webkitTransitionTimingFunction",
        +    "webkitURL",
        +    "webkitUnlockOrientation",
        +    "webkitUserSelect",
        +    "webkitVideoDecodedByteCount",
        +    "webkitVisibilityState",
        +    "webkitWirelessVideoPlaybackDisabled",
        +    "webkitdirectory",
        +    "webkitdropzone",
        +    "webstore",
        +    "weight",
        +    "wgslLanguageFeatures",
        +    "whatToShow",
        +    "wheelDelta",
        +    "wheelDeltaX",
        +    "wheelDeltaY",
        +    "when",
        +    "whenDefined",
        +    "which",
        +    "white-space",
        +    "white-space-collapse",
        +    "whiteSpace",
        +    "whiteSpaceCollapse",
        +    "wholeText",
        +    "widows",
        +    "width",
        +    "will-change",
        +    "willChange",
        +    "willValidate",
        +    "window",
        +    "windowAttribution",
        +    "windowControlsOverlay",
        +    "windowId",
        +    "windowIds",
        +    "windows",
        +    "with",
        +    "withCredentials",
        +    "withResolvers",
        +    "word-break",
        +    "word-spacing",
        +    "word-wrap",
        +    "wordBreak",
        +    "wordSpacing",
        +    "wordWrap",
        +    "workerCacheLookupStart",
        +    "workerFinalSourceType",
        +    "workerMatchedSourceType",
        +    "workerRouterEvaluationStart",
        +    "workerStart",
        +    "worklet",
        +    "wow64",
        +    "wrap",
        +    "wrapKey",
        +    "writable",
        +    "writableAuxiliaries",
        +    "write",
        +    "writeBuffer",
        +    "writeMask",
        +    "writeText",
        +    "writeTexture",
        +    "writeTimestamp",
        +    "writeValue",
        +    "writeValueWithResponse",
        +    "writeValueWithoutResponse",
        +    "writeWithoutResponse",
        +    "writeln",
        +    "writing-mode",
        +    "writingMode",
        +    "writingSuggestions",
        +    "x",
        +    "x1",
        +    "x2",
        +    "xChannelSelector",
        +    "xmlEncoding",
        +    "xmlStandalone",
        +    "xmlVersion",
        +    "xmlbase",
        +    "xmllang",
        +    "xmlspace",
        +    "xor",
        +    "xr",
        +    "y",
        +    "y1",
        +    "y2",
        +    "yChannelSelector",
        +    "yandex",
        +    "yield",
        +    "z",
        +    "z-index",
        +    "zIndex",
        +    "zoom",
        +    "zoomAndPan",
        +    "zoomLevel",
        +    "zoomRectScreen",
        +];
        +
        +;// ./node_modules/terser/lib/propmangle.js
        +/***********************************************************************
        +
        +  A JavaScript tokenizer / parser / beautifier / compressor.
        +  https://github.com/mishoo/UglifyJS2
        +
        +  -------------------------------- (C) ---------------------------------
        +
        +                           Author: Mihai Bazon
        +                         
        +                       http://mihai.bazon.net/blog
        +
        +  Distributed under the BSD license:
        +
        +    Copyright 2012 (c) Mihai Bazon 
        +
        +    Redistribution and use in source and binary forms, with or without
        +    modification, are permitted provided that the following conditions
        +    are met:
        +
        +        * Redistributions of source code must retain the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer.
        +
        +        * Redistributions in binary form must reproduce the above
        +          copyright notice, this list of conditions and the following
        +          disclaimer in the documentation and/or other materials
        +          provided with the distribution.
        +
        +    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
        +    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        +    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
        +    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
        +    LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
        +    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
        +    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        +    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        +    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
        +    TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
        +    THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        +    SUCH DAMAGE.
        +
        + ***********************************************************************/
        +
        +
        +/* global global, self */
        +
        +
        +
        +
        +
        +
        +function find_builtins(reserved) {
        +    domprops.forEach(add);
        +
        +    // Compatibility fix for some standard defined globals not defined on every js environment
        +    var new_globals = ["Symbol", "Map", "Promise", "Proxy", "Reflect", "Set", "WeakMap", "WeakSet"];
        +    var objects = {};
        +    var global_ref = typeof global === "object" ? global : self;
        +
        +    new_globals.forEach(function (new_global) {
        +        objects[new_global] = global_ref[new_global] || function() {};
        +    });
        +
        +    [
        +        "null",
        +        "true",
        +        "false",
        +        "NaN",
        +        "Infinity",
        +        "-Infinity",
        +        "undefined",
        +    ].forEach(add);
        +    [ Object, Array, Function, Number,
        +      String, Boolean, Error, Math,
        +      Date, RegExp, objects.Symbol, ArrayBuffer,
        +      DataView, decodeURI, decodeURIComponent,
        +      encodeURI, encodeURIComponent, eval, EvalError,
        +      Float32Array, Float64Array, Int8Array, Int16Array,
        +      Int32Array, isFinite, isNaN, JSON, objects.Map, parseFloat,
        +      parseInt, objects.Promise, objects.Proxy, RangeError, ReferenceError,
        +      objects.Reflect, objects.Set, SyntaxError, TypeError, Uint8Array,
        +      Uint8ClampedArray, Uint16Array, Uint32Array, URIError,
        +      objects.WeakMap, objects.WeakSet
        +    ].forEach(function(ctor) {
        +        Object.getOwnPropertyNames(ctor).map(add);
        +        if (ctor.prototype) {
        +            Object.getOwnPropertyNames(ctor.prototype).map(add);
        +        }
        +    });
        +    function add(name) {
        +        reserved.add(name);
        +    }
        +}
        +
        +function reserve_quoted_keys(ast, reserved) {
        +    function add(name) {
        +        push_uniq(reserved, name);
        +    }
        +
        +    ast.walk(new TreeWalker(function(node) {
        +        if (node instanceof AST_ObjectKeyVal && node.quote) {
        +            add(node.key);
        +        } else if (node instanceof AST_ObjectProperty && node.quote) {
        +            add(node.key.name);
        +        } else if (node instanceof AST_Sub) {
        +            addStrings(node.property, add);
        +        }
        +    }));
        +}
        +
        +function addStrings(node, add) {
        +    node.walk(new TreeWalker(function(node) {
        +        if (node instanceof AST_Sequence) {
        +            addStrings(node.tail_node(), add);
        +        } else if (node instanceof AST_String) {
        +            add(node.value);
        +        } else if (node instanceof AST_Conditional) {
        +            addStrings(node.consequent, add);
        +            addStrings(node.alternative, add);
        +        }
        +        return true;
        +    }));
        +}
        +
        +function mangle_private_properties(ast, options) {
        +    var cprivate = -1;
        +    var private_cache = new Map();
        +    var nth_identifier = options.nth_identifier || base54;
        +
        +    ast =  ast.transform(new TreeTransformer(function(node) {
        +        if (
        +            node instanceof AST_ClassPrivateProperty
        +            || node instanceof AST_PrivateMethod
        +            || node instanceof AST_PrivateGetter
        +            || node instanceof AST_PrivateSetter
        +            || node instanceof AST_PrivateIn
        +        ) {
        +            node.key.name = mangle_private(node.key.name);
        +        } else if (node instanceof AST_DotHash) {
        +            node.property = mangle_private(node.property);
        +        }
        +    }));
        +    return ast;
        +
        +    function mangle_private(name) {
        +        let mangled = private_cache.get(name);
        +        if (!mangled) {
        +            mangled = nth_identifier.get(++cprivate);
        +            private_cache.set(name, mangled);
        +        }
        +
        +        return mangled;
        +    }
        +}
        +
        +function find_annotated_props(ast) {
        +    var annotated_props = new Set();
        +    walk(ast, node => {
        +        if (
        +            node instanceof AST_ClassPrivateProperty
        +            || node instanceof AST_PrivateMethod
        +            || node instanceof AST_PrivateGetter
        +            || node instanceof AST_PrivateSetter
        +            || node instanceof AST_DotHash
        +        ) {
        +            // handled by mangle_private_properties
        +        } else if (node instanceof AST_ObjectKeyVal) {
        +            if (typeof node.key == "string" && has_annotation(node, _MANGLEPROP)) {
        +                annotated_props.add(node.key);
        +            }
        +        } else if (node instanceof AST_ObjectProperty) {
        +            // setter or getter, since KeyVal is handled above
        +            if (has_annotation(node, _MANGLEPROP)) {
        +                annotated_props.add(node.key.name);
        +            }
        +        } else if (node instanceof AST_Dot) {
        +            if (has_annotation(node, _MANGLEPROP)) {
        +                annotated_props.add(node.property);
        +            }
        +        } else if (node instanceof AST_Sub) {
        +            if (node.property instanceof AST_String && has_annotation(node, _MANGLEPROP)) {
        +                annotated_props.add(node.property.value);
        +            }
        +        }
        +    });
        +    return annotated_props;
        +}
        +
        +function mangle_properties(ast, options, annotated_props = find_annotated_props(ast)) {
        +    options = utils_defaults(options, {
        +        builtins: false,
        +        cache: null,
        +        debug: false,
        +        keep_quoted: false,
        +        nth_identifier: base54,
        +        only_cache: false,
        +        regex: null,
        +        reserved: null,
        +        undeclared: false,
        +        only_annotated: false,
        +    }, true);
        +
        +    var nth_identifier = options.nth_identifier;
        +
        +    var reserved_option = options.reserved;
        +    if (!Array.isArray(reserved_option)) reserved_option = [reserved_option];
        +    var reserved = new Set(reserved_option);
        +    if (!options.builtins) find_builtins(reserved);
        +
        +    var cname = -1;
        +
        +    var cache;
        +    if (options.cache) {
        +        cache = options.cache.props;
        +    } else {
        +        cache = new Map();
        +    }
        +
        +    var only_annotated = options.only_annotated;
        +    var regex = options.regex && new RegExp(options.regex);
        +
        +    // note debug is either false (disabled), or a string of the debug suffix to use (enabled).
        +    // note debug may be enabled as an empty string, which is falsey. Also treat passing 'true'
        +    // the same as passing an empty string.
        +    var debug = options.debug !== false;
        +    var debug_name_suffix;
        +    if (debug) {
        +        debug_name_suffix = (options.debug === true ? "" : options.debug);
        +    }
        +
        +    var names_to_mangle = new Set();
        +    var unmangleable = new Set();
        +    // Track each already-mangled name to prevent nth_identifier from generating
        +    // the same name.
        +    cache.forEach((mangled_name) => unmangleable.add(mangled_name));
        +
        +    var keep_quoted = !!options.keep_quoted;
        +
        +    // step 1: find candidates to mangle
        +    ast.walk(new TreeWalker(function(node) {
        +        if (
        +            node instanceof AST_ClassPrivateProperty
        +            || node instanceof AST_PrivateMethod
        +            || node instanceof AST_PrivateGetter
        +            || node instanceof AST_PrivateSetter
        +            || node instanceof AST_DotHash
        +        ) {
        +            // handled by mangle_private_properties
        +        } else if (node instanceof AST_ObjectKeyVal) {
        +            if (typeof node.key == "string" && (!keep_quoted || !node.quote)) {
        +                add(node.key);
        +            }
        +        } else if (node instanceof AST_ObjectProperty) {
        +            // setter or getter, since KeyVal is handled above
        +            if (!keep_quoted || !node.quote) {
        +                add(node.key.name);
        +            }
        +        } else if (node instanceof AST_Dot) {
        +            var declared = !!options.undeclared;
        +            if (!declared) {
        +                var root = node;
        +                while (root.expression) {
        +                    root = root.expression;
        +                }
        +                declared = !(root.thedef && root.thedef.undeclared);
        +            }
        +            if (declared &&
        +                (!keep_quoted || !node.quote)) {
        +                add(node.property);
        +            }
        +        } else if (node instanceof AST_Sub) {
        +            if (!keep_quoted) {
        +                addStrings(node.property, add);
        +            }
        +        } else if (node instanceof AST_Call
        +            && node.expression.print_to_string() == "Object.defineProperty") {
        +            addStrings(node.args[1], add);
        +        } else if (node instanceof AST_Binary && node.operator === "in") {
        +            addStrings(node.left, add);
        +        } else if (node instanceof AST_String && has_annotation(node, _KEY)) {
        +            add(node.value);
        +        }
        +    }));
        +
        +    // step 2: transform the tree, renaming properties
        +    return ast.transform(new TreeTransformer(function(node) {
        +        if (
        +            node instanceof AST_ClassPrivateProperty
        +            || node instanceof AST_PrivateMethod
        +            || node instanceof AST_PrivateGetter
        +            || node instanceof AST_PrivateSetter
        +            || node instanceof AST_DotHash
        +        ) {
        +            // handled by mangle_private_properties
        +        } else if (node instanceof AST_ObjectKeyVal) {
        +            if (typeof node.key == "string" && (!keep_quoted || !node.quote)) {
        +                node.key = mangle(node.key);
        +            }
        +        } else if (node instanceof AST_ObjectProperty) {
        +            // setter, getter, method or class field
        +            if (!keep_quoted || !node.quote) {
        +                if (!node.computed_key()) {
        +                    node.key.name = mangle(node.key.name);
        +                }
        +            }
        +        } else if (node instanceof AST_Dot) {
        +            if (!keep_quoted || !node.quote) {
        +                node.property = mangle(node.property);
        +            }
        +        } else if (!keep_quoted && node instanceof AST_Sub) {
        +            node.property = mangleStrings(node.property);
        +        } else if (node instanceof AST_Call
        +            && node.expression.print_to_string() == "Object.defineProperty") {
        +            node.args[1] = mangleStrings(node.args[1]);
        +        } else if (node instanceof AST_Binary && node.operator === "in") {
        +            node.left = mangleStrings(node.left);
        +        } else if (node instanceof AST_String && has_annotation(node, _KEY)) {
        +            // Clear _KEY annotation to prevent double mangling
        +            clear_annotation(node, _KEY);
        +            node.value = mangle(node.value);
        +        }
        +    }));
        +
        +    // only function declarations after this line
        +
        +    function can_mangle(name) {
        +        if (unmangleable.has(name)) return false;
        +        if (reserved.has(name)) return false;
        +        if (options.only_cache) {
        +            return cache.has(name);
        +        }
        +        if (/^-?[0-9]+(\.[0-9]+)?(e[+-][0-9]+)?$/.test(name)) return false;
        +        return true;
        +    }
        +
        +    function should_mangle(name) {
        +        if (only_annotated && !annotated_props.has(name)) return false;
        +        if (regex && !regex.test(name)) {
        +            return annotated_props.has(name);
        +        }
        +        if (reserved.has(name)) return false;
        +        return cache.has(name)
        +            || names_to_mangle.has(name);
        +    }
        +
        +    function add(name) {
        +        if (can_mangle(name)) {
        +            names_to_mangle.add(name);
        +        }
        +
        +        if (!should_mangle(name)) {
        +            unmangleable.add(name);
        +        }
        +    }
        +
        +    function mangle(name) {
        +        if (!should_mangle(name)) {
        +            return name;
        +        }
        +
        +        var mangled = cache.get(name);
        +        if (!mangled) {
        +            if (debug) {
        +                // debug mode: use a prefix and suffix to preserve readability, e.g. o.foo -> o._$foo$NNN_.
        +                var debug_mangled = "_$" + name + "$" + debug_name_suffix + "_";
        +
        +                if (can_mangle(debug_mangled)) {
        +                    mangled = debug_mangled;
        +                }
        +            }
        +
        +            // either debug mode is off, or it is on and we could not use the mangled name
        +            if (!mangled) {
        +                do {
        +                    mangled = nth_identifier.get(++cname);
        +                } while (!can_mangle(mangled));
        +            }
        +
        +            cache.set(name, mangled);
        +        }
        +        return mangled;
        +    }
        +
        +    function mangleStrings(node) {
        +        return node.transform(new TreeTransformer(function(node) {
        +            if (node instanceof AST_Sequence) {
        +                var last = node.expressions.length - 1;
        +                node.expressions[last] = mangleStrings(node.expressions[last]);
        +            } else if (node instanceof AST_String) {
        +                // Clear _KEY annotation to prevent double mangling
        +                clear_annotation(node, _KEY);
        +                node.value = mangle(node.value);
        +            } else if (node instanceof AST_Conditional) {
        +                node.consequent = mangleStrings(node.consequent);
        +                node.alternative = mangleStrings(node.alternative);
        +            }
        +            return node;
        +        }));
        +    }
        +}
        +
        +
        +
        +;// ./node_modules/terser/lib/minify.js
        +
        +/* eslint-env browser, es6, node */
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +// to/from base64 functions
        +// Prefer built-in Buffer, if available, then use hack
        +// https://developer.mozilla.org/en-US/docs/Glossary/Base64#The_Unicode_Problem
        +var to_ascii = typeof Buffer !== "undefined"
        +    ? (b64) => Buffer.from(b64, "base64").toString()
        +    : (b64) => decodeURIComponent(escape(atob(b64)));
        +var to_base64 = typeof Buffer !== "undefined"
        +    ? (str) => Buffer.from(str).toString("base64")
        +    : (str) => btoa(unescape(encodeURIComponent(str)));
        +
        +function read_source_map(code) {
        +    var match = /(?:^|[^.])\/\/# sourceMappingURL=data:application\/json(;[\w=-]*)?;base64,([+/0-9A-Za-z]*=*)\s*$/.exec(code);
        +    if (!match) {
        +        console.warn("inline source map not found");
        +        return null;
        +    }
        +    return to_ascii(match[2]);
        +}
        +
        +function set_shorthand(name, options, keys) {
        +    if (options[name]) {
        +        keys.forEach(function(key) {
        +            if (options[key]) {
        +                if (typeof options[key] != "object") options[key] = {};
        +                if (!(name in options[key])) options[key][name] = options[name];
        +            }
        +        });
        +    }
        +}
        +
        +function init_cache(cache) {
        +    if (!cache) return;
        +    if (!("props" in cache)) {
        +        cache.props = new Map();
        +    } else if (!(cache.props instanceof Map)) {
        +        cache.props = map_from_object(cache.props);
        +    }
        +}
        +
        +function cache_to_json(cache) {
        +    return {
        +        props: map_to_object(cache.props)
        +    };
        +}
        +
        +function log_input(files, options, fs, debug_folder) {
        +    if (!(fs && fs.writeFileSync && fs.mkdirSync)) {
        +        return;
        +    }
        +
        +    try {
        +        fs.mkdirSync(debug_folder);
        +    } catch (e) {
        +        if (e.code !== "EEXIST") throw e;
        +    }
        +
        +    const log_path = `${debug_folder}/terser-debug-${(Math.random() * 9999999) | 0}.log`;
        +
        +    options = options || {};
        +
        +    const options_str = JSON.stringify(options, (_key, thing) => {
        +        if (typeof thing === "function") return "[Function " + thing.toString() + "]";
        +        if (thing instanceof RegExp) return "[RegExp " + thing.toString() + "]";
        +        return thing;
        +    }, 4);
        +
        +    const files_str = (file) => {
        +        if (typeof file === "object" && options.parse && options.parse.spidermonkey) {
        +            return JSON.stringify(file, null, 2);
        +        } else if (typeof file === "object") {
        +            return Object.keys(file)
        +                .map((key) => key + ": " + files_str(file[key]))
        +                .join("\n\n");
        +        } else if (typeof file === "string") {
        +            return "```\n" + file + "\n```";
        +        } else {
        +            return file; // What do?
        +        }
        +    };
        +
        +    fs.writeFileSync(log_path, "Options: \n" + options_str + "\n\nInput files:\n\n" + files_str(files) + "\n");
        +}
        +
        +function* minify_sync_or_async(files, options, _fs_module) {
        +    if (
        +        _fs_module
        +        && typeof process === "object"
        +        && process.env
        +        && typeof process.env.TERSER_DEBUG_DIR === "string"
        +    ) {
        +        log_input(files, options, _fs_module, process.env.TERSER_DEBUG_DIR);
        +    }
        +
        +    options = utils_defaults(options, {
        +        compress: {},
        +        ecma: undefined,
        +        enclose: false,
        +        ie8: false,
        +        keep_classnames: undefined,
        +        keep_fnames: false,
        +        mangle: {},
        +        module: false,
        +        nameCache: null,
        +        output: null,
        +        format: null,
        +        parse: {},
        +        rename: undefined,
        +        safari10: false,
        +        sourceMap: false,
        +        spidermonkey: false,
        +        timings: false,
        +        toplevel: false,
        +        warnings: false,
        +        wrap: false,
        +    }, true);
        +
        +    var timings = options.timings && {
        +        start: Date.now()
        +    };
        +    if (options.keep_classnames === undefined) {
        +        options.keep_classnames = options.keep_fnames;
        +    }
        +    if (options.rename === undefined) {
        +        options.rename = options.compress && options.mangle;
        +    }
        +    if (options.output && options.format) {
        +        throw new Error("Please only specify either output or format option, preferrably format.");
        +    }
        +    options.format = options.format || options.output || {};
        +    set_shorthand("ecma", options, [ "parse", "compress", "format" ]);
        +    set_shorthand("ie8", options, [ "compress", "mangle", "format" ]);
        +    set_shorthand("keep_classnames", options, [ "compress", "mangle" ]);
        +    set_shorthand("keep_fnames", options, [ "compress", "mangle" ]);
        +    set_shorthand("module", options, [ "parse", "compress", "mangle" ]);
        +    set_shorthand("safari10", options, [ "mangle", "format" ]);
        +    set_shorthand("toplevel", options, [ "compress", "mangle" ]);
        +    set_shorthand("warnings", options, [ "compress" ]); // legacy
        +    var quoted_props;
        +    if (options.mangle) {
        +        options.mangle = utils_defaults(options.mangle, {
        +            cache: options.nameCache && (options.nameCache.vars || {}),
        +            eval: false,
        +            ie8: false,
        +            keep_classnames: false,
        +            keep_fnames: false,
        +            module: false,
        +            nth_identifier: base54,
        +            properties: false,
        +            reserved: [],
        +            safari10: false,
        +            toplevel: false,
        +        }, true);
        +        if (options.mangle.properties) {
        +            if (typeof options.mangle.properties != "object") {
        +                options.mangle.properties = {};
        +            }
        +            if (options.mangle.properties.keep_quoted) {
        +                quoted_props = options.mangle.properties.reserved;
        +                if (!Array.isArray(quoted_props)) quoted_props = [];
        +                options.mangle.properties.reserved = quoted_props;
        +            }
        +            if (options.nameCache && !("cache" in options.mangle.properties)) {
        +                options.mangle.properties.cache = options.nameCache.props || {};
        +            }
        +        }
        +        init_cache(options.mangle.cache);
        +        init_cache(options.mangle.properties.cache);
        +    }
        +    if (options.sourceMap) {
        +        options.sourceMap = utils_defaults(options.sourceMap, {
        +            asObject: false,
        +            content: null,
        +            filename: null,
        +            includeSources: false,
        +            root: null,
        +            url: null,
        +        }, true);
        +    }
        +
        +    // -- Parse phase --
        +    if (timings) timings.parse = Date.now();
        +    var toplevel;
        +    if (files instanceof AST_Toplevel) {
        +        toplevel = files;
        +    } else {
        +        if (typeof files == "string" || (options.parse.spidermonkey && !Array.isArray(files))) {
        +            files = [ files ];
        +        }
        +        options.parse = options.parse || {};
        +        options.parse.toplevel = null;
        +
        +        if (options.parse.spidermonkey) {
        +            options.parse.toplevel = AST_Node.from_mozilla_ast(Object.keys(files).reduce(function(toplevel, name) {
        +                if (!toplevel) return files[name];
        +                toplevel.body = toplevel.body.concat(files[name].body);
        +                return toplevel;
        +            }, null));
        +        } else {
        +            delete options.parse.spidermonkey;
        +
        +            for (var name in files) if (HOP(files, name)) {
        +                options.parse.filename = name;
        +                options.parse.toplevel = lib_parse_parse(files[name], options.parse);
        +                if (options.sourceMap && options.sourceMap.content == "inline") {
        +                    if (Object.keys(files).length > 1)
        +                        throw new Error("inline source map only works with singular input");
        +                    options.sourceMap.content = read_source_map(files[name]);
        +                }
        +            }
        +        }
        +        if (options.parse.toplevel === null) {
        +            throw new Error("no source file given");
        +        }
        +
        +        toplevel = options.parse.toplevel;
        +    }
        +    if (quoted_props && options.mangle.properties.keep_quoted !== "strict") {
        +        reserve_quoted_keys(toplevel, quoted_props);
        +    }
        +    var annotated_props;
        +    if (options.mangle && options.mangle.properties) {
        +        annotated_props = find_annotated_props(toplevel);
        +    }
        +    if (options.wrap) {
        +        toplevel = toplevel.wrap_commonjs(options.wrap);
        +    }
        +    if (options.enclose) {
        +        toplevel = toplevel.wrap_enclose(options.enclose);
        +    }
        +    if (timings) timings.rename = Date.now();
        +    // disable rename on harmony due to expand_names bug in for-of loops
        +    // https://github.com/mishoo/UglifyJS2/issues/2794
        +    if (false) // removed by dead control flow
        +{}
        +
        +    // -- Compress phase --
        +    if (timings) timings.compress = Date.now();
        +    if (options.compress) {
        +        toplevel = new Compressor(options.compress, {
        +            mangle_options: options.mangle
        +        }).compress(toplevel);
        +    }
        +
        +    // -- Mangle phase --
        +    if (timings) timings.scope = Date.now();
        +    if (options.mangle) toplevel.figure_out_scope(options.mangle);
        +    if (timings) timings.mangle = Date.now();
        +    if (options.mangle) {
        +        toplevel.compute_char_frequency(options.mangle);
        +        toplevel.mangle_names(options.mangle);
        +        toplevel = mangle_private_properties(toplevel, options.mangle);
        +    }
        +    if (timings) timings.properties = Date.now();
        +    if (options.mangle && options.mangle.properties) {
        +        toplevel = mangle_properties(toplevel, options.mangle.properties, annotated_props);
        +    }
        +
        +    // Format phase
        +    if (timings) timings.format = Date.now();
        +    var result = {};
        +    if (options.format.ast) {
        +        result.ast = toplevel;
        +    }
        +    if (options.format.spidermonkey) {
        +        result.ast = toplevel.to_mozilla_ast();
        +    }
        +    let format_options;
        +    if (!HOP(options.format, "code") || options.format.code) {
        +        // Make a shallow copy so that we can modify without mutating the user's input.
        +        format_options = {...options.format};
        +        if (!format_options.ast) {
        +            // Destroy stuff to save RAM. (unless the deprecated `ast` option is on)
        +            format_options._destroy_ast = true;
        +
        +            walk(toplevel, node => {
        +                if (node instanceof AST_Scope) {
        +                    node.variables = undefined;
        +                    node.enclosed = undefined;
        +                    node.parent_scope = undefined;
        +                }
        +                if (node.block_scope) {
        +                    node.block_scope.variables = undefined;
        +                    node.block_scope.enclosed = undefined;
        +                    node.block_scope.parent_scope = undefined;
        +                }
        +            });
        +        }
        +
        +        if (options.sourceMap) {
        +            if (options.sourceMap.includeSources && files instanceof AST_Toplevel) {
        +                throw new Error("original source content unavailable");
        +            }
        +            format_options.source_map = yield* SourceMap({
        +                file: options.sourceMap.filename,
        +                orig: options.sourceMap.content,
        +                root: options.sourceMap.root,
        +                files: options.sourceMap.includeSources ? files : null,
        +            });
        +        }
        +        delete format_options.ast;
        +        delete format_options.code;
        +        delete format_options.spidermonkey;
        +        var stream = OutputStream(format_options);
        +        toplevel.print(stream);
        +        result.code = stream.get();
        +        if (options.sourceMap) {
        +            Object.defineProperty(result, "map", {
        +                configurable: true,
        +                enumerable: true,
        +                get() {
        +                    const map = format_options.source_map.getEncoded();
        +                    return (result.map = options.sourceMap.asObject ? map : JSON.stringify(map));
        +                },
        +                set(value) {
        +                    Object.defineProperty(result, "map", {
        +                        value,
        +                        writable: true,
        +                    });
        +                }
        +            });
        +            result.decoded_map = format_options.source_map.getDecoded();
        +            if (options.sourceMap.url == "inline") {
        +                var sourceMap = typeof result.map === "object" ? JSON.stringify(result.map) : result.map;
        +                result.code += "\n//# sourceMappingURL=data:application/json;charset=utf-8;base64," + to_base64(sourceMap);
        +            } else if (options.sourceMap.url) {
        +                result.code += "\n//# sourceMappingURL=" + options.sourceMap.url;
        +            }
        +        }
        +    }
        +    if (options.nameCache && options.mangle) {
        +        if (options.mangle.cache) options.nameCache.vars = cache_to_json(options.mangle.cache);
        +        if (options.mangle.properties && options.mangle.properties.cache) {
        +            options.nameCache.props = cache_to_json(options.mangle.properties.cache);
        +        }
        +    }
        +    if (format_options && format_options.source_map) {
        +        format_options.source_map.destroy();
        +    }
        +    if (timings) {
        +        timings.end = Date.now();
        +        result.timings = {
        +            parse: 1e-3 * (timings.rename - timings.parse),
        +            rename: 1e-3 * (timings.compress - timings.rename),
        +            compress: 1e-3 * (timings.scope - timings.compress),
        +            scope: 1e-3 * (timings.mangle - timings.scope),
        +            mangle: 1e-3 * (timings.properties - timings.mangle),
        +            properties: 1e-3 * (timings.format - timings.properties),
        +            format: 1e-3 * (timings.end - timings.format),
        +            total: 1e-3 * (timings.end - timings.start)
        +        };
        +    }
        +    return result;
        +}
        +
        +async function minify(files, options, _fs_module) {
        +    const gen = minify_sync_or_async(files, options, _fs_module);
        +
        +    let yielded;
        +    let val;
        +    do {
        +        val = gen.next(await yielded);
        +        yielded = val.value;
        +    } while (!val.done);
        +
        +    return val.value;
        +}
        +
        +function minify_sync(files, options, _fs_module) {
        +    const gen = minify_sync_or_async(files, options, _fs_module);
        +
        +    let yielded;
        +    let val;
        +    do {
        +        if (yielded && typeof yielded.then === "function") {
        +            throw new Error("minify_sync cannot be used with the legacy source-map module");
        +        }
        +        val = gen.next(yielded);
        +        yielded = val.value;
        +    } while (!val.done);
        +
        +    return val.value;
        +}
        +
        +
        +
        +;// ./node_modules/terser/lib/cli.js
        +/* unused harmony import specifier */ var _default_options;
        +/* unused harmony import specifier */ var cli_minify;
        +/* unused harmony import specifier */ var cli_parse;
        +/* unused harmony import specifier */ var cli_AST_Node;
        +/* unused harmony import specifier */ var cli_AST_Token;
        +/* unused harmony import specifier */ var cli_walk;
        +/* unused harmony import specifier */ var cli_AST_Assign;
        +/* unused harmony import specifier */ var cli_AST_Array;
        +/* unused harmony import specifier */ var cli_AST_RegExp;
        +/* unused harmony import specifier */ var cli_AST_Symbol;
        +/* unused harmony import specifier */ var cli_AST_PropAccess;
        +/* unused harmony import specifier */ var cli_AST_Sequence;
        +/* unused harmony import specifier */ var cli_AST_Constant;
        +/* unused harmony import specifier */ var cli_OutputStream;
        +
        +
        +
        +
        +
        +async function run_cli({ program, packageJson, fs, path }) {
        +    const skip_keys = new Set([ "cname", "parent_scope", "scope", "uses_eval", "uses_with" ]);
        +    var files = {};
        +    var options = {
        +        compress: false,
        +        mangle: false
        +    };
        +    const default_options = await _default_options();
        +    program.version(packageJson.name + " " + packageJson.version);
        +    program.parseArgv = program.parse;
        +    program.parse = undefined;
        +
        +    if (process.argv.includes("ast")) program.helpInformation = describe_ast;
        +    else if (process.argv.includes("options")) program.helpInformation = function() {
        +        var text = [];
        +        for (var option in default_options) {
        +            text.push("--" + (option === "sourceMap" ? "source-map" : option) + " options:");
        +            text.push(format_object(default_options[option]));
        +            text.push("");
        +        }
        +        return text.join("\n");
        +    };
        +
        +    program.option("-p, --parse ", "Specify parser options.", parse_js());
        +    program.option("-c, --compress [options]", "Enable compressor/specify compressor options.", parse_js());
        +    program.option("-m, --mangle [options]", "Mangle names/specify mangler options.", parse_js());
        +    program.option("--mangle-props [options]", "Mangle properties/specify mangler options.", parse_js());
        +    program.option("-f, --format [options]", "Format options.", parse_js());
        +    program.option("-b, --beautify [options]", "Alias for --format.", parse_js());
        +    program.option("-o, --output ", "Output file (default STDOUT).");
        +    program.option("--comments [filter]", "Preserve copyright comments in the output.");
        +    program.option("--config-file ", "Read minify() options from JSON file.");
        +    program.option("-d, --define [=value]", "Global definitions.", parse_js("define"));
        +    program.option("--ecma ", "Specify ECMAScript release: 5, 2015, 2016 or 2017...");
        +    program.option("-e, --enclose [arg[,...][:value[,...]]]", "Embed output in a big function with configurable arguments and values.");
        +    program.option("--ie8", "Support non-standard Internet Explorer 8.");
        +    program.option("--keep-classnames", "Do not mangle/drop class names.");
        +    program.option("--keep-fnames", "Do not mangle/drop function names. Useful for code relying on Function.prototype.name.");
        +    program.option("--module", "Input is an ES6 module");
        +    program.option("--name-cache ", "File to hold mangled name mappings.");
        +    program.option("--rename", "Force symbol expansion.");
        +    program.option("--no-rename", "Disable symbol expansion.");
        +    program.option("--safari10", "Support non-standard Safari 10.");
        +    program.option("--source-map [options]", "Enable source map/specify source map options.", parse_js());
        +    program.option("--timings", "Display operations run time on STDERR.");
        +    program.option("--toplevel", "Compress and/or mangle variables in toplevel scope.");
        +    program.option("--wrap ", "Embed everything as a function with “exports” corresponding to “name” globally.");
        +    program.arguments("[files...]").parseArgv(process.argv);
        +    if (program.configFile) {
        +        options = JSON.parse(read_file(program.configFile));
        +    }
        +    if (!program.output && program.sourceMap && program.sourceMap.url != "inline") {
        +        fatal("ERROR: cannot write source map to STDOUT");
        +    }
        +
        +    [
        +        "compress",
        +        "enclose",
        +        "ie8",
        +        "mangle",
        +        "module",
        +        "safari10",
        +        "sourceMap",
        +        "toplevel",
        +        "wrap"
        +    ].forEach(function(name) {
        +        if (name in program) {
        +            options[name] = program[name];
        +        }
        +    });
        +
        +    if ("ecma" in program) {
        +        if (program.ecma != (program.ecma | 0)) fatal("ERROR: ecma must be an integer");
        +        const ecma = program.ecma | 0;
        +        if (ecma > 5 && ecma < 2015)
        +            options.ecma = ecma + 2009;
        +        else
        +            options.ecma = ecma;
        +    }
        +    if (program.format || program.beautify) {
        +        const chosenOption = program.format || program.beautify;
        +        options.format = typeof chosenOption === "object" ? chosenOption : {};
        +    }
        +    if (program.comments) {
        +        if (typeof options.format != "object") options.format = {};
        +        options.format.comments = typeof program.comments == "string" ? (program.comments == "false" ? false : program.comments) : "some";
        +    }
        +    if (program.define) {
        +        if (typeof options.compress != "object") options.compress = {};
        +        if (typeof options.compress.global_defs != "object") options.compress.global_defs = {};
        +        for (var expr in program.define) {
        +            options.compress.global_defs[expr] = program.define[expr];
        +        }
        +    }
        +    if (program.keepClassnames) {
        +        options.keep_classnames = true;
        +    }
        +    if (program.keepFnames) {
        +        options.keep_fnames = true;
        +    }
        +    if (program.mangleProps) {
        +        if (program.mangleProps.domprops) {
        +            delete program.mangleProps.domprops;
        +        } else {
        +            if (typeof program.mangleProps != "object") program.mangleProps = {};
        +            if (!Array.isArray(program.mangleProps.reserved)) program.mangleProps.reserved = [];
        +        }
        +        if (typeof options.mangle != "object") options.mangle = {};
        +        options.mangle.properties = program.mangleProps;
        +    }
        +    if (program.nameCache) {
        +        options.nameCache = JSON.parse(read_file(program.nameCache, "{}"));
        +    }
        +    if (program.output == "ast") {
        +        options.format = {
        +            ast: true,
        +            code: false
        +        };
        +    }
        +    if (program.parse) {
        +        if (!program.parse.acorn && !program.parse.spidermonkey) {
        +            options.parse = program.parse;
        +        } else if (program.sourceMap && program.sourceMap.content == "inline") {
        +            fatal("ERROR: inline source map only works with built-in parser");
        +        }
        +    }
        +    if (~program.rawArgs.indexOf("--rename")) {
        +        options.rename = true;
        +    } else if (!program.rename) {
        +        options.rename = false;
        +    }
        +
        +    let convert_path = name => name;
        +    if (typeof program.sourceMap == "object" && "base" in program.sourceMap) {
        +        convert_path = function() {
        +            var base = program.sourceMap.base;
        +            delete options.sourceMap.base;
        +            return function(name) {
        +                return path.relative(base, name);
        +            };
        +        }();
        +    }
        +
        +    let filesList;
        +    if (options.files && options.files.length) {
        +        filesList = options.files;
        +
        +        delete options.files;
        +    } else if (program.args.length) {
        +        filesList = program.args;
        +    }
        +
        +    if (filesList) {
        +        simple_glob(filesList).forEach(function(name) {
        +            files[convert_path(name)] = read_file(name);
        +        });
        +    } else {
        +        await new Promise((resolve) => {
        +            var chunks = [];
        +            process.stdin.setEncoding("utf8");
        +            process.stdin.on("data", function(chunk) {
        +                chunks.push(chunk);
        +            }).on("end", function() {
        +                files = [ chunks.join("") ];
        +                resolve();
        +            });
        +            process.stdin.resume();
        +        });
        +    }
        +
        +    await run_cli();
        +
        +    function convert_ast(fn) {
        +        return cli_AST_Node.from_mozilla_ast(Object.keys(files).reduce(fn, null));
        +    }
        +
        +    async function run_cli() {
        +        var content = program.sourceMap && program.sourceMap.content;
        +        if (content && content !== "inline") {
        +            options.sourceMap.content = read_file(content, content);
        +        }
        +        if (program.timings) options.timings = true;
        +
        +        try {
        +            if (program.parse) {
        +                if (program.parse.acorn) {
        +                    files = convert_ast(function(toplevel, name) {
        +                        return require("acorn").parse(files[name], {
        +                            ecmaVersion: 2024,
        +                            locations: true,
        +                            program: toplevel,
        +                            sourceFile: name,
        +                            sourceType: options.module || program.parse.module ? "module" : "script"
        +                        });
        +                    });
        +                } else if (program.parse.spidermonkey) {
        +                    files = convert_ast(function(toplevel, name) {
        +                        var obj = JSON.parse(files[name]);
        +                        if (!toplevel) return obj;
        +                        toplevel.body = toplevel.body.concat(obj.body);
        +                        return toplevel;
        +                    });
        +                }
        +            }
        +        } catch (ex) {
        +            fatal(ex);
        +        }
        +
        +        let result;
        +        try {
        +            result = await cli_minify(files, options, fs);
        +        } catch (ex) {
        +            if (ex.name == "SyntaxError") {
        +                print_error("Parse error at " + ex.filename + ":" + ex.line + "," + ex.col);
        +                var col = ex.col;
        +                var lines = files[ex.filename].split(/\r?\n/);
        +                var line = lines[ex.line - 1];
        +                if (!line && !col) {
        +                    line = lines[ex.line - 2];
        +                    col = line.length;
        +                }
        +                if (line) {
        +                    var limit = 70;
        +                    if (col > limit) {
        +                        line = line.slice(col - limit);
        +                        col = limit;
        +                    }
        +                    print_error(line.slice(0, 80));
        +                    print_error(line.slice(0, col).replace(/\S/g, " ") + "^");
        +                }
        +            }
        +            if (ex.defs) {
        +                print_error("Supported options:");
        +                print_error(format_object(ex.defs));
        +            }
        +            fatal(ex);
        +            return;
        +        }
        +
        +        if (program.output == "ast") {
        +            if (!options.compress && !options.mangle) {
        +                result.ast.figure_out_scope({});
        +            }
        +            console.log(JSON.stringify(result.ast, function(key, value) {
        +                if (value) switch (key) {
        +                  case "thedef":
        +                    return symdef(value);
        +                  case "enclosed":
        +                    return value.length ? value.map(symdef) : undefined;
        +                  case "variables":
        +                  case "globals":
        +                    return value.size ? collect_from_map(value, symdef) : undefined;
        +                }
        +                if (skip_keys.has(key)) return;
        +                if (value instanceof cli_AST_Token) return;
        +                if (value instanceof Map) return;
        +                if (value instanceof cli_AST_Node) {
        +                    var result = {
        +                        _class: "AST_" + value.TYPE
        +                    };
        +                    if (value.block_scope) {
        +                        result.variables = value.block_scope.variables;
        +                        result.enclosed = value.block_scope.enclosed;
        +                    }
        +                    value.CTOR.PROPS.forEach(function(prop) {
        +                        if (prop !== "block_scope") {
        +                            result[prop] = value[prop];
        +                        }
        +                    });
        +                    return result;
        +                }
        +                return value;
        +            }, 2));
        +        } else if (program.output == "spidermonkey") {
        +            try {
        +                const minified = await cli_minify(
        +                    result.code,
        +                    {
        +                        compress: false,
        +                        mangle: false,
        +                        format: {
        +                            ast: true,
        +                            code: false
        +                        }
        +                    },
        +                    fs
        +                );
        +                console.log(JSON.stringify(minified.ast.to_mozilla_ast(), null, 2));
        +            } catch (ex) {
        +                fatal(ex);
        +                return;
        +            }
        +        } else if (program.output) {
        +            fs.mkdirSync(path.dirname(program.output), { recursive: true });
        +            fs.writeFileSync(program.output, result.code);
        +            if (options.sourceMap && options.sourceMap.url !== "inline" && result.map) {
        +                fs.writeFileSync(program.output + ".map", result.map);
        +            }
        +        } else {
        +            console.log(result.code);
        +        }
        +        if (program.nameCache) {
        +            fs.writeFileSync(program.nameCache, JSON.stringify(options.nameCache));
        +        }
        +        if (result.timings) for (var phase in result.timings) {
        +            print_error("- " + phase + ": " + result.timings[phase].toFixed(3) + "s");
        +        }
        +    }
        +
        +    function fatal(message) {
        +        if (message instanceof Error) message = message.stack.replace(/^\S*?Error:/, "ERROR:");
        +        print_error(message);
        +        process.exit(1);
        +    }
        +
        +    // A file glob function that only supports "*" and "?" wildcards in the basename.
        +    // Example: "foo/bar/*baz??.*.js"
        +    // Argument `glob` may be a string or an array of strings.
        +    // Returns an array of strings. Garbage in, garbage out.
        +    function simple_glob(glob) {
        +        if (Array.isArray(glob)) {
        +            return [].concat.apply([], glob.map(simple_glob));
        +        }
        +        if (glob && glob.match(/[*?]/)) {
        +            var dir = path.dirname(glob);
        +            try {
        +                var entries = fs.readdirSync(dir);
        +            } catch (ex) {}
        +            if (entries) {
        +                var pattern = "^" + path.basename(glob)
        +                    .replace(/[.+^$[\]\\(){}]/g, "\\$&")
        +                    .replace(/\*/g, "[^/\\\\]*")
        +                    .replace(/\?/g, "[^/\\\\]") + "$";
        +                var mod = process.platform === "win32" ? "i" : "";
        +                var rx = new RegExp(pattern, mod);
        +                var results = entries.filter(function(name) {
        +                    return rx.test(name);
        +                }).map(function(name) {
        +                    return path.join(dir, name);
        +                });
        +                if (results.length) return results;
        +            }
        +        }
        +        return [ glob ];
        +    }
        +
        +    function read_file(path, default_value) {
        +        try {
        +            return fs.readFileSync(path, "utf8");
        +        } catch (ex) {
        +            if ((ex.code == "ENOENT" || ex.code == "ENAMETOOLONG") && default_value != null) return default_value;
        +            fatal(ex);
        +        }
        +    }
        +
        +    function parse_js(flag) {
        +        return function(value, options) {
        +            options = options || {};
        +            try {
        +                cli_walk(cli_parse(value, { expression: true }), node => {
        +                    if (node instanceof cli_AST_Assign) {
        +                        var name = node.left.print_to_string();
        +                        var value = node.right;
        +                        if (flag) {
        +                            options[name] = value;
        +                        } else if (value instanceof cli_AST_Array) {
        +                            options[name] = value.elements.map(to_string);
        +                        } else if (value instanceof cli_AST_RegExp) {
        +                            value = value.value;
        +                            options[name] = new RegExp(value.source, value.flags);
        +                        } else {
        +                            options[name] = to_string(value);
        +                        }
        +                        return true;
        +                    }
        +                    if (node instanceof cli_AST_Symbol || node instanceof cli_AST_PropAccess) {
        +                        var name = node.print_to_string();
        +                        options[name] = true;
        +                        return true;
        +                    }
        +                    if (!(node instanceof cli_AST_Sequence)) throw node;
        +
        +                    function to_string(value) {
        +                        return value instanceof cli_AST_Constant ? value.getValue() : value.print_to_string({
        +                            quote_keys: true
        +                        });
        +                    }
        +                });
        +            } catch(ex) {
        +                if (flag) {
        +                    fatal("Error parsing arguments for '" + flag + "': " + value);
        +                } else {
        +                    options[value] = null;
        +                }
        +            }
        +            return options;
        +        };
        +    }
        +
        +    function symdef(def) {
        +        var ret = (1e6 + def.id) + " " + def.name;
        +        if (def.mangled_name) ret += " " + def.mangled_name;
        +        return ret;
        +    }
        +
        +    function collect_from_map(map, callback) {
        +        var result = [];
        +        map.forEach(function (def) {
        +            result.push(callback(def));
        +        });
        +        return result;
        +    }
        +
        +    function format_object(obj) {
        +        var lines = [];
        +        var padding = "";
        +        Object.keys(obj).map(function(name) {
        +            if (padding.length < name.length) padding = Array(name.length + 1).join(" ");
        +            return [ name, JSON.stringify(obj[name]) ];
        +        }).forEach(function(tokens) {
        +            lines.push("  " + tokens[0] + padding.slice(tokens[0].length - 2) + tokens[1]);
        +        });
        +        return lines.join("\n");
        +    }
        +
        +    function print_error(msg) {
        +        process.stderr.write(msg);
        +        process.stderr.write("\n");
        +    }
        +
        +    function describe_ast() {
        +        var out = cli_OutputStream({ beautify: true });
        +        function doitem(ctor) {
        +            out.print("AST_" + ctor.TYPE);
        +            const props = ctor.SELF_PROPS.filter(prop => !/^\$/.test(prop));
        +
        +            if (props.length > 0) {
        +                out.space();
        +                out.with_parens(function() {
        +                    props.forEach(function(prop, i) {
        +                        if (i) out.space();
        +                        out.print(prop);
        +                    });
        +                });
        +            }
        +
        +            if (ctor.documentation) {
        +                out.space();
        +                out.print_string(ctor.documentation);
        +            }
        +
        +            if (ctor.SUBCLASSES.length > 0) {
        +                out.space();
        +                out.with_block(function() {
        +                    ctor.SUBCLASSES.forEach(function(ctor) {
        +                        out.indent();
        +                        doitem(ctor);
        +                        out.newline();
        +                    });
        +                });
        +            }
        +        }
        +        doitem(cli_AST_Node);
        +        return out + "\n";
        +    }
        +}
        +
        +;// ./node_modules/terser/main.js
        +/* unused harmony import specifier */ var main_minify;
        +
        +
        +
        +
        +
        +
        +
        +async function main_default_options() {
        +    const defs = {};
        +
        +    Object.keys(infer_options({ 0: 0 })).forEach((component) => {
        +        const options = infer_options({
        +            [component]: {0: 0}
        +        });
        +
        +        if (options) defs[component] = options;
        +    });
        +    return defs;
        +}
        +
        +async function infer_options(options) {
        +    try {
        +        await main_minify("", options);
        +    } catch (error) {
        +        return error.defs;
        +    }
        +}
        +
        +;// ./node_modules/html-minifier-terser/src/utils.js
        +async function replaceAsync(str, regex, asyncFn) {
        +  const promises = [];
        +
        +  str.replace(regex, (match, ...args) => {
        +    const promise = asyncFn(match, ...args);
        +    promises.push(promise);
        +  });
        +
        +  const data = await Promise.all(promises);
        +  return str.replace(regex, () => data.shift());
        +}
        +
        +;// ./node_modules/html-minifier-terser/src/htmlparser.js
        +/*!
        + * HTML Parser By John Resig (ejohn.org)
        + * Modified by Juriy "kangax" Zaytsev
        + * Original code by Erik Arvidsson, Mozilla Public License
        + * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
        + */
        +
        +/*
        + * // Use like so:
        + * HTMLParser(htmlString, {
        + *     start: function(tag, attrs, unary) {},
        + *     end: function(tag) {},
        + *     chars: function(text) {},
        + *     comment: function(text) {}
        + * });
        + *
        + * // or to get an XML string:
        + * HTMLtoXML(htmlString);
        + *
        + * // or to get an XML DOM Document
        + * HTMLtoDOM(htmlString);
        + *
        + * // or to inject into an existing document/DOM node
        + * HTMLtoDOM(htmlString, document);
        + * HTMLtoDOM(htmlString, document.body);
        + *
        + */
        +
        +/* global ActiveXObject, DOMDocument */
        +
        +
        +
        +class CaseInsensitiveSet extends Set {
        +  has(str) {
        +    return super.has(str.toLowerCase());
        +  }
        +}
        +
        +// Regular Expressions for parsing tags and attributes
        +const singleAttrIdentifier = /([^\s"'<>/=]+)/;
        +const singleAttrAssigns = [/=/];
        +const singleAttrValues = [
        +  // attr value double quotes
        +  /"([^"]*)"+/.source,
        +  // attr value, single quotes
        +  /'([^']*)'+/.source,
        +  // attr value, no quotes
        +  /([^ \t\n\f\r"'`=<>]+)/.source
        +];
        +// https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName
        +const qnameCapture = (function () {
        +  // based on https://www.npmjs.com/package/ncname
        +  const combiningChar = '\\u0300-\\u0345\\u0360\\u0361\\u0483-\\u0486\\u0591-\\u05A1\\u05A3-\\u05B9\\u05BB-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u064B-\\u0652\\u0670\\u06D6-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0901-\\u0903\\u093C\\u093E-\\u094D\\u0951-\\u0954\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u0A02\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A70\\u0A71\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B43\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B82\\u0B83\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C01-\\u0C03\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C82\\u0C83\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D43\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EB9\\u0EBB\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86-\\u0F8B\\u0F90-\\u0F95\\u0F97\\u0F99-\\u0FAD\\u0FB1-\\u0FB7\\u0FB9\\u20D0-\\u20DC\\u20E1\\u302A-\\u302F\\u3099\\u309A';
        +  const digit = '0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE7-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29';
        +  const extender = '\\xB7\\u02D0\\u02D1\\u0387\\u0640\\u0E46\\u0EC6\\u3005\\u3031-\\u3035\\u309D\\u309E\\u30FC-\\u30FE';
        +  const letter = 'A-Za-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u0131\\u0134-\\u013E\\u0141-\\u0148\\u014A-\\u017E\\u0180-\\u01C3\\u01CD-\\u01F0\\u01F4\\u01F5\\u01FA-\\u0217\\u0250-\\u02A8\\u02BB-\\u02C1\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03CE\\u03D0-\\u03D6\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2-\\u03F3\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E-\\u0481\\u0490-\\u04C4\\u04C7\\u04C8\\u04CB\\u04CC\\u04D0-\\u04EB\\u04EE-\\u04F5\\u04F8\\u04F9\\u0531-\\u0556\\u0559\\u0561-\\u0586\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u063A\\u0641-\\u064A\\u0671-\\u06B7\\u06BA-\\u06BE\\u06C0-\\u06CE\\u06D0-\\u06D3\\u06D5\\u06E5\\u06E6\\u0905-\\u0939\\u093D\\u0958-\\u0961\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8B\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AE0\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B36-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB5\\u0BB7-\\u0BB9\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D60\\u0D61\\u0E01-\\u0E2E\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD\\u0EAE\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0F40-\\u0F47\\u0F49-\\u0F69\\u10A0-\\u10C5\\u10D0-\\u10F6\\u1100\\u1102\\u1103\\u1105-\\u1107\\u1109\\u110B\\u110C\\u110E-\\u1112\\u113C\\u113E\\u1140\\u114C\\u114E\\u1150\\u1154\\u1155\\u1159\\u115F-\\u1161\\u1163\\u1165\\u1167\\u1169\\u116D\\u116E\\u1172\\u1173\\u1175\\u119E\\u11A8\\u11AB\\u11AE\\u11AF\\u11B7\\u11B8\\u11BA\\u11BC-\\u11C2\\u11EB\\u11F0\\u11F9\\u1E00-\\u1E9B\\u1EA0-\\u1EF9\\u1F00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2126\\u212A\\u212B\\u212E\\u2180-\\u2182\\u3007\\u3021-\\u3029\\u3041-\\u3094\\u30A1-\\u30FA\\u3105-\\u312C\\u4E00-\\u9FA5\\uAC00-\\uD7A3';
        +  const ncname = '[' + letter + '_][' + letter + digit + '\\.\\-_' + combiningChar + extender + ']*';
        +  return '((?:' + ncname + '\\:)?' + ncname + ')';
        +})();
        +const startTagOpen = new RegExp('^<' + qnameCapture);
        +const startTagClose = /^\s*(\/?)>/;
        +const endTag = new RegExp('^<\\/' + qnameCapture + '[^>]*>');
        +const doctype = /^]+>/i;
        +
        +let IS_REGEX_CAPTURING_BROKEN = false;
        +'x'.replace(/x(.)?/g, function (m, g) {
        +  IS_REGEX_CAPTURING_BROKEN = g === '';
        +});
        +
        +// Empty Elements
        +const empty = new CaseInsensitiveSet(['area', 'base', 'basefont', 'br', 'col', 'embed', 'frame', 'hr', 'img', 'input', 'isindex', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']);
        +
        +// Inline Elements
        +const inline = new CaseInsensitiveSet(['a', 'abbr', 'acronym', 'applet', 'b', 'basefont', 'bdo', 'big', 'br', 'button', 'cite', 'code', 'del', 'dfn', 'em', 'font', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'label', 'map', 'noscript', 'object', 'q', 's', 'samp', 'script', 'select', 'small', 'span', 'strike', 'strong', 'sub', 'sup', 'svg', 'textarea', 'tt', 'u', 'var']);
        +
        +// Elements that you can, intentionally, leave open
        +// (and which close themselves)
        +const closeSelf = new CaseInsensitiveSet(['colgroup', 'dd', 'dt', 'li', 'option', 'p', 'td', 'tfoot', 'th', 'thead', 'tr', 'source']);
        +
        +// Attributes that have their values filled in disabled='disabled'
        +const fillAttrs = new CaseInsensitiveSet(['checked', 'compact', 'declare', 'defer', 'disabled', 'ismap', 'multiple', 'nohref', 'noresize', 'noshade', 'nowrap', 'readonly', 'selected']);
        +
        +// Special Elements (can contain anything)
        +const special = new CaseInsensitiveSet(['script', 'style']);
        +
        +// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3
        +// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
        +const nonPhrasing = new CaseInsensitiveSet(['address', 'article', 'aside', 'base', 'blockquote', 'body', 'caption', 'col', 'colgroup', 'dd', 'details', 'dialog', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'legend', 'li', 'menuitem', 'meta', 'ol', 'optgroup', 'option', 'param', 'rp', 'rt', 'source', 'style', 'summary', 'tbody', 'td', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul']);
        +
        +const reCache = {};
        +
        +function attrForHandler(handler) {
        +  let pattern = singleAttrIdentifier.source +
        +    '(?:\\s*(' + joinSingleAttrAssigns(handler) + ')' +
        +    '[ \\t\\n\\f\\r]*(?:' + singleAttrValues.join('|') + '))?';
        +  if (handler.customAttrSurround) {
        +    const attrClauses = [];
        +    for (let i = handler.customAttrSurround.length - 1; i >= 0; i--) {
        +      attrClauses[i] = '(?:' +
        +        '(' + handler.customAttrSurround[i][0].source + ')\\s*' +
        +        pattern +
        +        '\\s*(' + handler.customAttrSurround[i][1].source + ')' +
        +        ')';
        +    }
        +    attrClauses.push('(?:' + pattern + ')');
        +    pattern = '(?:' + attrClauses.join('|') + ')';
        +  }
        +  return new RegExp('^\\s*' + pattern);
        +}
        +
        +function joinSingleAttrAssigns(handler) {
        +  return singleAttrAssigns.concat(
        +    handler.customAttrAssign || []
        +  ).map(function (assign) {
        +    return '(?:' + assign.source + ')';
        +  }).join('|');
        +}
        +
        +class HTMLParser {
        +  constructor(html, handler) {
        +    this.html = html;
        +    this.handler = handler;
        +  }
        +
        +  async parse() {
        +    let html = this.html;
        +    const handler = this.handler;
        +
        +    const stack = []; let lastTag;
        +    const attribute = attrForHandler(handler);
        +    let last, prevTag, nextTag;
        +    while (html) {
        +      last = html;
        +      // Make sure we're not in a script or style element
        +      if (!lastTag || !special.has(lastTag)) {
        +        let textEnd = html.indexOf('<');
        +        if (textEnd === 0) {
        +          // Comment:
        +          if (/^');
        +
        +            if (commentEnd >= 0) {
        +              if (handler.comment) {
        +                await handler.comment(html.substring(4, commentEnd));
        +              }
        +              html = html.substring(commentEnd + 3);
        +              prevTag = '';
        +              continue;
        +            }
        +          }
        +
        +          // https://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
        +          if (/^');
        +
        +            if (conditionalEnd >= 0) {
        +              if (handler.comment) {
        +                await handler.comment(html.substring(2, conditionalEnd + 1), true /* non-standard */);
        +              }
        +              html = html.substring(conditionalEnd + 2);
        +              prevTag = '';
        +              continue;
        +            }
        +          }
        +
        +          // Doctype:
        +          const doctypeMatch = html.match(doctype);
        +          if (doctypeMatch) {
        +            if (handler.doctype) {
        +              handler.doctype(doctypeMatch[0]);
        +            }
        +            html = html.substring(doctypeMatch[0].length);
        +            prevTag = '';
        +            continue;
        +          }
        +
        +          // End tag:
        +          const endTagMatch = html.match(endTag);
        +          if (endTagMatch) {
        +            html = html.substring(endTagMatch[0].length);
        +            await replaceAsync(endTagMatch[0], endTag, parseEndTag);
        +            prevTag = '/' + endTagMatch[1].toLowerCase();
        +            continue;
        +          }
        +
        +          // Start tag:
        +          const startTagMatch = parseStartTag(html);
        +          if (startTagMatch) {
        +            html = startTagMatch.rest;
        +            await handleStartTag(startTagMatch);
        +            prevTag = startTagMatch.tagName.toLowerCase();
        +            continue;
        +          }
        +
        +          // Treat `<` as text
        +          if (handler.continueOnParseError) {
        +            textEnd = html.indexOf('<', 1);
        +          }
        +        }
        +
        +        let text;
        +        if (textEnd >= 0) {
        +          text = html.substring(0, textEnd);
        +          html = html.substring(textEnd);
        +        } else {
        +          text = html;
        +          html = '';
        +        }
        +
        +        // next tag
        +        let nextTagMatch = parseStartTag(html);
        +        if (nextTagMatch) {
        +          nextTag = nextTagMatch.tagName;
        +        } else {
        +          nextTagMatch = html.match(endTag);
        +          if (nextTagMatch) {
        +            nextTag = '/' + nextTagMatch[1];
        +          } else {
        +            nextTag = '';
        +          }
        +        }
        +
        +        if (handler.chars) {
        +          await handler.chars(text, prevTag, nextTag);
        +        }
        +        prevTag = '';
        +      } else {
        +        const stackedTag = lastTag.toLowerCase();
        +        const reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)]*>', 'i'));
        +
        +        html = await replaceAsync(html, reStackedTag, async (_, text) => {
        +          if (stackedTag !== 'script' && stackedTag !== 'style' && stackedTag !== 'noscript') {
        +            text = text
        +              .replace(//g, '$1')
        +              .replace(//g, '$1');
        +          }
        +
        +          if (handler.chars) {
        +            await handler.chars(text);
        +          }
        +
        +          return '';
        +        });
        +
        +        await parseEndTag('', stackedTag);
        +      }
        +
        +      if (html === last) {
        +        throw new Error('Parse Error: ' + html);
        +      }
        +    }
        +
        +    if (!handler.partialMarkup) {
        +      // Clean up any remaining tags
        +      await parseEndTag();
        +    }
        +
        +    function parseStartTag(input) {
        +      const start = input.match(startTagOpen);
        +      if (start) {
        +        const match = {
        +          tagName: start[1],
        +          attrs: []
        +        };
        +        input = input.slice(start[0].length);
        +        let end, attr;
        +        while (!(end = input.match(startTagClose)) && (attr = input.match(attribute))) {
        +          input = input.slice(attr[0].length);
        +          match.attrs.push(attr);
        +        }
        +        if (end) {
        +          match.unarySlash = end[1];
        +          match.rest = input.slice(end[0].length);
        +          return match;
        +        }
        +      }
        +    }
        +
        +    async function closeIfFound(tagName) {
        +      if (findTag(tagName) >= 0) {
        +        await parseEndTag('', tagName);
        +        return true;
        +      }
        +    }
        +
        +    async function handleStartTag(match) {
        +      const tagName = match.tagName;
        +      let unarySlash = match.unarySlash;
        +
        +      if (handler.html5) {
        +        if (lastTag === 'p' && nonPhrasing.has(tagName)) {
        +          await parseEndTag('', lastTag);
        +        } else if (tagName === 'tbody') {
        +          await closeIfFound('thead');
        +        } else if (tagName === 'tfoot') {
        +          if (!await closeIfFound('tbody')) {
        +            await closeIfFound('thead');
        +          }
        +        }
        +        if (tagName === 'col' && findTag('colgroup') < 0) {
        +          lastTag = 'colgroup';
        +          stack.push({ tag: lastTag, attrs: [] });
        +          if (handler.start) {
        +            await handler.start(lastTag, [], false, '');
        +          }
        +        }
        +      }
        +
        +      if (!handler.html5 && !inline.has(tagName)) {
        +        while (lastTag && inline.has(lastTag)) {
        +          await parseEndTag('', lastTag);
        +        }
        +      }
        +
        +      if (closeSelf.has(tagName) && lastTag === tagName) {
        +        await parseEndTag('', tagName);
        +      }
        +
        +      const unary = empty.has(tagName) || (tagName === 'html' && lastTag === 'head') || !!unarySlash;
        +
        +      const attrs = match.attrs.map(function (args) {
        +        let name, value, customOpen, customClose, customAssign, quote;
        +        const ncp = 7; // number of captured parts, scalar
        +
        +        // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778
        +        if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('""') === -1) {
        +          if (args[3] === '') { delete args[3]; }
        +          if (args[4] === '') { delete args[4]; }
        +          if (args[5] === '') { delete args[5]; }
        +        }
        +
        +        function populate(index) {
        +          customAssign = args[index];
        +          value = args[index + 1];
        +          if (typeof value !== 'undefined') {
        +            return '"';
        +          }
        +          value = args[index + 2];
        +          if (typeof value !== 'undefined') {
        +            return '\'';
        +          }
        +          value = args[index + 3];
        +          if (typeof value === 'undefined' && fillAttrs.has(name)) {
        +            value = name;
        +          }
        +          return '';
        +        }
        +
        +        let j = 1;
        +        if (handler.customAttrSurround) {
        +          for (let i = 0, l = handler.customAttrSurround.length; i < l; i++, j += ncp) {
        +            name = args[j + 1];
        +            if (name) {
        +              quote = populate(j + 2);
        +              customOpen = args[j];
        +              customClose = args[j + 6];
        +              break;
        +            }
        +          }
        +        }
        +
        +        if (!name && (name = args[j])) {
        +          quote = populate(j + 1);
        +        }
        +
        +        return {
        +          name,
        +          value,
        +          customAssign: customAssign || '=',
        +          customOpen: customOpen || '',
        +          customClose: customClose || '',
        +          quote: quote || ''
        +        };
        +      });
        +
        +      if (!unary) {
        +        stack.push({ tag: tagName, attrs });
        +        lastTag = tagName;
        +        unarySlash = '';
        +      }
        +
        +      if (handler.start) {
        +        await handler.start(tagName, attrs, unary, unarySlash);
        +      }
        +    }
        +
        +    function findTag(tagName) {
        +      let pos;
        +      const needle = tagName.toLowerCase();
        +      for (pos = stack.length - 1; pos >= 0; pos--) {
        +        if (stack[pos].tag.toLowerCase() === needle) {
        +          break;
        +        }
        +      }
        +      return pos;
        +    }
        +
        +    async function parseEndTag(tag, tagName) {
        +      let pos;
        +
        +      // Find the closest opened tag of the same type
        +      if (tagName) {
        +        pos = findTag(tagName);
        +      } else { // If no tag name is provided, clean shop
        +        pos = 0;
        +      }
        +
        +      if (pos >= 0) {
        +        // Close all the open elements, up the stack
        +        for (let i = stack.length - 1; i >= pos; i--) {
        +          if (handler.end) {
        +            handler.end(stack[i].tag, stack[i].attrs, i > pos || !tag);
        +          }
        +        }
        +
        +        // Remove the open elements from the stack
        +        stack.length = pos;
        +        lastTag = pos && stack[pos - 1].tag;
        +      } else if (tagName.toLowerCase() === 'br') {
        +        if (handler.start) {
        +          await handler.start(tagName, [], true, '');
        +        }
        +      } else if (tagName.toLowerCase() === 'p') {
        +        if (handler.start) {
        +          await handler.start(tagName, [], false, '', true);
        +        }
        +        if (handler.end) {
        +          handler.end(tagName, []);
        +        }
        +      }
        +    }
        +  }
        +}
        +
        +const HTMLtoXML = (html) => {
        +  let results = '';
        +
        +  const parser = new HTMLParser(html, {
        +    start: function (tag, attrs, unary) {
        +      results += '<' + tag;
        +
        +      for (let i = 0, len = attrs.length; i < len; i++) {
        +        results += ' ' + attrs[i].name + '="' + (attrs[i].value || '').replace(/"/g, '"') + '"';
        +      }
        +
        +      results += (unary ? '/' : '') + '>';
        +    },
        +    end: function (tag) {
        +      results += '';
        +    },
        +    chars: function (text) {
        +      results += text;
        +    },
        +    comment: function (text) {
        +      results += '';
        +    },
        +    ignore: function (text) {
        +      results += text;
        +    }
        +  });
        +
        +  parser.parse();
        +
        +  return results;
        +};
        +
        +const HTMLtoDOM = (html, doc) => {
        +  // There can be only one of these elements
        +  const one = {
        +    html: true,
        +    head: true,
        +    body: true,
        +    title: true
        +  };
        +
        +  // Enforce a structure for the document
        +  const structure = {
        +    link: 'head',
        +    base: 'head'
        +  };
        +
        +  if (doc) {
        +    doc = doc.ownerDocument || (doc.getOwnerDocument && doc.getOwnerDocument()) || doc;
        +  } else if (typeof DOMDocument !== 'undefined') {
        +    doc = new DOMDocument();
        +  } else if (typeof document !== 'undefined' && document.implementation && document.implementation.createDocument) {
        +    doc = document.implementation.createDocument('', '', null);
        +  } else if (typeof ActiveX !== 'undefined') {
        +    doc = new ActiveXObject('Msxml.DOMDocument');
        +  }
        +
        +  const elems = [];
        +  const documentElement = doc.documentElement || (doc.getDocumentElement && doc.getDocumentElement());
        +
        +  // If we're dealing with an empty document then we
        +  // need to pre-populate it with the HTML document structure
        +  if (!documentElement && doc.createElement) {
        +    (function () {
        +      const html = doc.createElement('html');
        +      const head = doc.createElement('head');
        +      head.appendChild(doc.createElement('title'));
        +      html.appendChild(head);
        +      html.appendChild(doc.createElement('body'));
        +      doc.appendChild(html);
        +    })();
        +  }
        +
        +  // Find all the unique elements
        +  if (doc.getElementsByTagName) {
        +    for (const i in one) {
        +      one[i] = doc.getElementsByTagName(i)[0];
        +    }
        +  }
        +
        +  // If we're working with a document, inject contents into
        +  // the body element
        +  let curParentNode = one.body;
        +
        +  const parser = new HTMLParser(html, {
        +    start: function (tagName, attrs, unary) {
        +      // If it's a pre-built element, then we can ignore
        +      // its construction
        +      if (one[tagName]) {
        +        curParentNode = one[tagName];
        +        return;
        +      }
        +
        +      const elem = doc.createElement(tagName);
        +
        +      for (const attr in attrs) {
        +        elem.setAttribute(attrs[attr].name, attrs[attr].value);
        +      }
        +
        +      if (structure[tagName] && typeof one[structure[tagName]] !== 'boolean') {
        +        one[structure[tagName]].appendChild(elem);
        +      } else if (curParentNode && curParentNode.appendChild) {
        +        curParentNode.appendChild(elem);
        +      }
        +
        +      if (!unary) {
        +        elems.push(elem);
        +        curParentNode = elem;
        +      }
        +    },
        +    end: function (/* tag */) {
        +      elems.length -= 1;
        +
        +      // Init the new parentNode
        +      curParentNode = elems[elems.length - 1];
        +    },
        +    chars: function (text) {
        +      curParentNode.appendChild(doc.createTextNode(text));
        +    },
        +    comment: function (/* text */) {
        +      // create comment node
        +    },
        +    ignore: function (/* text */) {
        +      // What to do here?
        +    }
        +  });
        +
        +  parser.parse();
        +
        +  return doc;
        +};
        +
        +;// ./node_modules/html-minifier-terser/src/tokenchain.js
        +class Sorter {
        +  sort(tokens, fromIndex = 0) {
        +    for (let i = 0, len = this.keys.length; i < len; i++) {
        +      const key = this.keys[i];
        +      const token = key.slice(1);
        +
        +      let index = tokens.indexOf(token, fromIndex);
        +
        +      if (index !== -1) {
        +        do {
        +          if (index !== fromIndex) {
        +            tokens.splice(index, 1);
        +            tokens.splice(fromIndex, 0, token);
        +          }
        +          fromIndex++;
        +        } while ((index = tokens.indexOf(token, fromIndex)) !== -1);
        +
        +        return this[key].sort(tokens, fromIndex);
        +      }
        +    }
        +    return tokens;
        +  }
        +}
        +
        +class TokenChain {
        +  add(tokens) {
        +    tokens.forEach((token) => {
        +      const key = '$' + token;
        +      if (!this[key]) {
        +        this[key] = [];
        +        this[key].processed = 0;
        +      }
        +      this[key].push(tokens);
        +    });
        +  }
        +
        +  createSorter() {
        +    const sorter = new Sorter();
        +
        +    sorter.keys = Object.keys(this).sort((j, k) => {
        +      const m = this[j].length;
        +      const n = this[k].length;
        +      return m < n ? 1 : m > n ? -1 : j < k ? -1 : j > k ? 1 : 0;
        +    }).filter((key) => {
        +      if (this[key].processed < this[key].length) {
        +        const token = key.slice(1);
        +        const chain = new TokenChain();
        +
        +        this[key].forEach((tokens) => {
        +          let index;
        +          while ((index = tokens.indexOf(token)) !== -1) {
        +            tokens.splice(index, 1);
        +          }
        +          tokens.forEach((token) => {
        +            this['$' + token].processed++;
        +          });
        +          chain.add(tokens.slice(0));
        +        });
        +        sorter[key] = chain.createSorter();
        +        return true;
        +      }
        +      return false;
        +    });
        +    return sorter;
        +  }
        +}
        +
        +/* harmony default export */ const tokenchain = (TokenChain);
        +
        +;// ./node_modules/html-minifier-terser/src/htmlminifier.js
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +function trimWhitespace(str) {
        +  return str && str.replace(/^[ \n\r\t\f]+/, '').replace(/[ \n\r\t\f]+$/, '');
        +}
        +
        +function collapseWhitespaceAll(str) {
        +  // Non-breaking space is specifically handled inside the replacer function here:
        +  return str && str.replace(/[ \n\r\t\f\xA0]+/g, function (spaces) {
        +    return spaces === '\t' ? '\t' : spaces.replace(/(^|\xA0+)[^\xA0]+/g, '$1 ');
        +  });
        +}
        +
        +function collapseWhitespace(str, options, trimLeft, trimRight, collapseAll) {
        +  let lineBreakBefore = ''; let lineBreakAfter = '';
        +
        +  if (options.preserveLineBreaks) {
        +    str = str.replace(/^[ \n\r\t\f]*?[\n\r][ \n\r\t\f]*/, function () {
        +      lineBreakBefore = '\n';
        +      return '';
        +    }).replace(/[ \n\r\t\f]*?[\n\r][ \n\r\t\f]*$/, function () {
        +      lineBreakAfter = '\n';
        +      return '';
        +    });
        +  }
        +
        +  if (trimLeft) {
        +    // Non-breaking space is specifically handled inside the replacer function here:
        +    str = str.replace(/^[ \n\r\t\f\xA0]+/, function (spaces) {
        +      const conservative = !lineBreakBefore && options.conservativeCollapse;
        +      if (conservative && spaces === '\t') {
        +        return '\t';
        +      }
        +      return spaces.replace(/^[^\xA0]+/, '').replace(/(\xA0+)[^\xA0]+/g, '$1 ') || (conservative ? ' ' : '');
        +    });
        +  }
        +
        +  if (trimRight) {
        +    // Non-breaking space is specifically handled inside the replacer function here:
        +    str = str.replace(/[ \n\r\t\f\xA0]+$/, function (spaces) {
        +      const conservative = !lineBreakAfter && options.conservativeCollapse;
        +      if (conservative && spaces === '\t') {
        +        return '\t';
        +      }
        +      return spaces.replace(/[^\xA0]+(\xA0+)/g, ' $1').replace(/[^\xA0]+$/, '') || (conservative ? ' ' : '');
        +    });
        +  }
        +
        +  if (collapseAll) {
        +    // strip non space whitespace then compress spaces to one
        +    str = collapseWhitespaceAll(str);
        +  }
        +
        +  return lineBreakBefore + str + lineBreakAfter;
        +}
        +
        +// non-empty tags that will maintain whitespace around them
        +const inlineTags = new Set(['a', 'abbr', 'acronym', 'b', 'bdi', 'bdo', 'big', 'button', 'cite', 'code', 'del', 'dfn', 'em', 'font', 'i', 'ins', 'kbd', 'label', 'mark', 'math', 'nobr', 'object', 'q', 'rp', 'rt', 'rtc', 'ruby', 's', 'samp', 'select', 'small', 'span', 'strike', 'strong', 'sub', 'sup', 'svg', 'textarea', 'time', 'tt', 'u', 'var']);
        +// non-empty tags that will maintain whitespace within them
        +const inlineTextTags = new Set(['a', 'abbr', 'acronym', 'b', 'big', 'del', 'em', 'font', 'i', 'ins', 'kbd', 'mark', 'nobr', 'rp', 's', 'samp', 'small', 'span', 'strike', 'strong', 'sub', 'sup', 'time', 'tt', 'u', 'var']);
        +// self-closing tags that will maintain whitespace around them
        +const selfClosingInlineTags = new Set(['comment', 'img', 'input', 'wbr']);
        +
        +function collapseWhitespaceSmart(str, prevTag, nextTag, options) {
        +  let trimLeft = prevTag && !selfClosingInlineTags.has(prevTag);
        +  if (trimLeft && !options.collapseInlineTagWhitespace) {
        +    trimLeft = prevTag.charAt(0) === '/' ? !inlineTags.has(prevTag.slice(1)) : !inlineTextTags.has(prevTag);
        +  }
        +  let trimRight = nextTag && !selfClosingInlineTags.has(nextTag);
        +  if (trimRight && !options.collapseInlineTagWhitespace) {
        +    trimRight = nextTag.charAt(0) === '/' ? !inlineTextTags.has(nextTag.slice(1)) : !inlineTags.has(nextTag);
        +  }
        +  return collapseWhitespace(str, options, trimLeft, trimRight, prevTag && nextTag);
        +}
        +
        +function isConditionalComment(text) {
        +  return /^\[if\s[^\]]+]|\[endif]$/.test(text);
        +}
        +
        +function isIgnoredComment(text, options) {
        +  for (let i = 0, len = options.ignoreCustomComments.length; i < len; i++) {
        +    if (options.ignoreCustomComments[i].test(text)) {
        +      return true;
        +    }
        +  }
        +  return false;
        +}
        +
        +function isEventAttribute(attrName, options) {
        +  const patterns = options.customEventAttributes;
        +  if (patterns) {
        +    for (let i = patterns.length; i--;) {
        +      if (patterns[i].test(attrName)) {
        +        return true;
        +      }
        +    }
        +    return false;
        +  }
        +  return /^on[a-z]{3,}$/.test(attrName);
        +}
        +
        +function canRemoveAttributeQuotes(value) {
        +  // https://mathiasbynens.be/notes/unquoted-attribute-values
        +  return /^[^ \t\n\f\r"'`=<>]+$/.test(value);
        +}
        +
        +function attributesInclude(attributes, attribute) {
        +  for (let i = attributes.length; i--;) {
        +    if (attributes[i].name.toLowerCase() === attribute) {
        +      return true;
        +    }
        +  }
        +  return false;
        +}
        +
        +function isAttributeRedundant(tag, attrName, attrValue, attrs) {
        +  attrValue = attrValue ? trimWhitespace(attrValue.toLowerCase()) : '';
        +
        +  return (
        +    (tag === 'script' &&
        +      attrName === 'language' &&
        +      attrValue === 'javascript') ||
        +
        +    (tag === 'form' &&
        +      attrName === 'method' &&
        +      attrValue === 'get') ||
        +
        +    (tag === 'input' &&
        +      attrName === 'type' &&
        +      attrValue === 'text') ||
        +
        +    (tag === 'script' &&
        +      attrName === 'charset' &&
        +      !attributesInclude(attrs, 'src')) ||
        +
        +    (tag === 'a' &&
        +      attrName === 'name' &&
        +      attributesInclude(attrs, 'id')) ||
        +
        +    (tag === 'area' &&
        +      attrName === 'shape' &&
        +      attrValue === 'rect')
        +  );
        +}
        +
        +// https://mathiasbynens.be/demo/javascript-mime-type
        +// https://developer.mozilla.org/en/docs/Web/HTML/Element/script#attr-type
        +const executableScriptsMimetypes = new Set([
        +  'text/javascript',
        +  'text/ecmascript',
        +  'text/jscript',
        +  'application/javascript',
        +  'application/x-javascript',
        +  'application/ecmascript',
        +  'module'
        +]);
        +
        +const keepScriptsMimetypes = new Set([
        +  'module'
        +]);
        +
        +function isScriptTypeAttribute(attrValue = '') {
        +  attrValue = trimWhitespace(attrValue.split(/;/, 2)[0]).toLowerCase();
        +  return attrValue === '' || executableScriptsMimetypes.has(attrValue);
        +}
        +
        +function keepScriptTypeAttribute(attrValue = '') {
        +  attrValue = trimWhitespace(attrValue.split(/;/, 2)[0]).toLowerCase();
        +  return keepScriptsMimetypes.has(attrValue);
        +}
        +
        +function isExecutableScript(tag, attrs) {
        +  if (tag !== 'script') {
        +    return false;
        +  }
        +  for (let i = 0, len = attrs.length; i < len; i++) {
        +    const attrName = attrs[i].name.toLowerCase();
        +    if (attrName === 'type') {
        +      return isScriptTypeAttribute(attrs[i].value);
        +    }
        +  }
        +  return true;
        +}
        +
        +function isStyleLinkTypeAttribute(attrValue = '') {
        +  attrValue = trimWhitespace(attrValue).toLowerCase();
        +  return attrValue === '' || attrValue === 'text/css';
        +}
        +
        +function isStyleSheet(tag, attrs) {
        +  if (tag !== 'style') {
        +    return false;
        +  }
        +  for (let i = 0, len = attrs.length; i < len; i++) {
        +    const attrName = attrs[i].name.toLowerCase();
        +    if (attrName === 'type') {
        +      return isStyleLinkTypeAttribute(attrs[i].value);
        +    }
        +  }
        +  return true;
        +}
        +
        +const isSimpleBoolean = new Set(['allowfullscreen', 'async', 'autofocus', 'autoplay', 'checked', 'compact', 'controls', 'declare', 'default', 'defaultchecked', 'defaultmuted', 'defaultselected', 'defer', 'disabled', 'enabled', 'formnovalidate', 'hidden', 'indeterminate', 'inert', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nohref', 'noresize', 'noshade', 'novalidate', 'nowrap', 'open', 'pauseonexit', 'readonly', 'required', 'reversed', 'scoped', 'seamless', 'selected', 'sortable', 'truespeed', 'typemustmatch', 'visible']);
        +const isBooleanValue = new Set(['true', 'false']);
        +
        +function isBooleanAttribute(attrName, attrValue) {
        +  return isSimpleBoolean.has(attrName) || (attrName === 'draggable' && !isBooleanValue.has(attrValue));
        +}
        +
        +function isUriTypeAttribute(attrName, tag) {
        +  return (
        +    (/^(?:a|area|link|base)$/.test(tag) && attrName === 'href') ||
        +    (tag === 'img' && /^(?:src|longdesc|usemap)$/.test(attrName)) ||
        +    (tag === 'object' && /^(?:classid|codebase|data|usemap)$/.test(attrName)) ||
        +    (tag === 'q' && attrName === 'cite') ||
        +    (tag === 'blockquote' && attrName === 'cite') ||
        +    ((tag === 'ins' || tag === 'del') && attrName === 'cite') ||
        +    (tag === 'form' && attrName === 'action') ||
        +    (tag === 'input' && (attrName === 'src' || attrName === 'usemap')) ||
        +    (tag === 'head' && attrName === 'profile') ||
        +    (tag === 'script' && (attrName === 'src' || attrName === 'for'))
        +  );
        +}
        +
        +function isNumberTypeAttribute(attrName, tag) {
        +  return (
        +    (/^(?:a|area|object|button)$/.test(tag) && attrName === 'tabindex') ||
        +    (tag === 'input' && (attrName === 'maxlength' || attrName === 'tabindex')) ||
        +    (tag === 'select' && (attrName === 'size' || attrName === 'tabindex')) ||
        +    (tag === 'textarea' && /^(?:rows|cols|tabindex)$/.test(attrName)) ||
        +    (tag === 'colgroup' && attrName === 'span') ||
        +    (tag === 'col' && attrName === 'span') ||
        +    ((tag === 'th' || tag === 'td') && (attrName === 'rowspan' || attrName === 'colspan'))
        +  );
        +}
        +
        +function isLinkType(tag, attrs, value) {
        +  if (tag !== 'link') {
        +    return false;
        +  }
        +  for (let i = 0, len = attrs.length; i < len; i++) {
        +    if (attrs[i].name === 'rel' && attrs[i].value === value) {
        +      return true;
        +    }
        +  }
        +}
        +
        +function isMediaQuery(tag, attrs, attrName) {
        +  return attrName === 'media' && (isLinkType(tag, attrs, 'stylesheet') || isStyleSheet(tag, attrs));
        +}
        +
        +const srcsetTags = new Set(['img', 'source']);
        +
        +function isSrcset(attrName, tag) {
        +  return attrName === 'srcset' && srcsetTags.has(tag);
        +}
        +
        +async function cleanAttributeValue(tag, attrName, attrValue, options, attrs) {
        +  if (isEventAttribute(attrName, options)) {
        +    attrValue = trimWhitespace(attrValue).replace(/^javascript:\s*/i, '');
        +    return options.minifyJS(attrValue, true);
        +  } else if (attrName === 'class') {
        +    attrValue = trimWhitespace(attrValue);
        +    if (options.sortClassName) {
        +      attrValue = options.sortClassName(attrValue);
        +    } else {
        +      attrValue = collapseWhitespaceAll(attrValue);
        +    }
        +    return attrValue;
        +  } else if (isUriTypeAttribute(attrName, tag)) {
        +    attrValue = trimWhitespace(attrValue);
        +    return isLinkType(tag, attrs, 'canonical') ? attrValue : options.minifyURLs(attrValue);
        +  } else if (isNumberTypeAttribute(attrName, tag)) {
        +    return trimWhitespace(attrValue);
        +  } else if (attrName === 'style') {
        +    attrValue = trimWhitespace(attrValue);
        +    if (attrValue) {
        +      if (/;$/.test(attrValue) && !/&#?[0-9a-zA-Z]+;$/.test(attrValue)) {
        +        attrValue = attrValue.replace(/\s*;$/, ';');
        +      }
        +      attrValue = await options.minifyCSS(attrValue, 'inline');
        +    }
        +    return attrValue;
        +  } else if (isSrcset(attrName, tag)) {
        +    // https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset
        +    attrValue = trimWhitespace(attrValue).split(/\s+,\s*|\s*,\s+/).map(function (candidate) {
        +      let url = candidate;
        +      let descriptor = '';
        +      const match = candidate.match(/\s+([1-9][0-9]*w|[0-9]+(?:\.[0-9]+)?x)$/);
        +      if (match) {
        +        url = url.slice(0, -match[0].length);
        +        const num = +match[1].slice(0, -1);
        +        const suffix = match[1].slice(-1);
        +        if (num !== 1 || suffix !== 'x') {
        +          descriptor = ' ' + num + suffix;
        +        }
        +      }
        +      return options.minifyURLs(url) + descriptor;
        +    }).join(', ');
        +  } else if (isMetaViewport(tag, attrs) && attrName === 'content') {
        +    attrValue = attrValue.replace(/\s+/g, '').replace(/[0-9]+\.[0-9]+/g, function (numString) {
        +      // "0.90000" -> "0.9"
        +      // "1.0" -> "1"
        +      // "1.0001" -> "1.0001" (unchanged)
        +      return (+numString).toString();
        +    });
        +  } else if (isContentSecurityPolicy(tag, attrs) && attrName.toLowerCase() === 'content') {
        +    return collapseWhitespaceAll(attrValue);
        +  } else if (options.customAttrCollapse && options.customAttrCollapse.test(attrName)) {
        +    attrValue = trimWhitespace(attrValue.replace(/ ?[\n\r]+ ?/g, '').replace(/\s{2,}/g, options.conservativeCollapse ? ' ' : ''));
        +  } else if (tag === 'script' && attrName === 'type') {
        +    attrValue = trimWhitespace(attrValue.replace(/\s*;\s*/g, ';'));
        +  } else if (isMediaQuery(tag, attrs, attrName)) {
        +    attrValue = trimWhitespace(attrValue);
        +    return options.minifyCSS(attrValue, 'media');
        +  }
        +  return attrValue;
        +}
        +
        +function isMetaViewport(tag, attrs) {
        +  if (tag !== 'meta') {
        +    return false;
        +  }
        +  for (let i = 0, len = attrs.length; i < len; i++) {
        +    if (attrs[i].name === 'name' && attrs[i].value === 'viewport') {
        +      return true;
        +    }
        +  }
        +}
        +
        +function isContentSecurityPolicy(tag, attrs) {
        +  if (tag !== 'meta') {
        +    return false;
        +  }
        +  for (let i = 0, len = attrs.length; i < len; i++) {
        +    if (attrs[i].name.toLowerCase() === 'http-equiv' && attrs[i].value.toLowerCase() === 'content-security-policy') {
        +      return true;
        +    }
        +  }
        +}
        +
        +function ignoreCSS(id) {
        +  return '/* clean-css ignore:start */' + id + '/* clean-css ignore:end */';
        +}
        +
        +// Wrap CSS declarations for CleanCSS > 3.x
        +// See https://github.com/jakubpawlowicz/clean-css/issues/418
        +function wrapCSS(text, type) {
        +  switch (type) {
        +    case 'inline':
        +      return '*{' + text + '}';
        +    case 'media':
        +      return '@media ' + text + '{a{top:0}}';
        +    default:
        +      return text;
        +  }
        +}
        +
        +function unwrapCSS(text, type) {
        +  let matches;
        +  switch (type) {
        +    case 'inline':
        +      matches = text.match(/^\*\{([\s\S]*)\}$/);
        +      break;
        +    case 'media':
        +      matches = text.match(/^@media ([\s\S]*?)\s*{[\s\S]*}$/);
        +      break;
        +  }
        +  return matches ? matches[1] : text;
        +}
        +
        +async function cleanConditionalComment(comment, options) {
        +  return options.processConditionalComments
        +    ? await replaceAsync(comment, /^(\[if\s[^\]]+]>)([\s\S]*?)( -1) {
        +      return await minifyHTML(text, options);
        +    }
        +  }
        +  return text;
        +}
        +
        +// Tag omission rules from https://html.spec.whatwg.org/multipage/syntax.html#optional-tags
        +// with the following deviations:
        +// - retain  if followed by